[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Do I need 'apt' directories, or can I delete them?



on Sat, Oct 28, 2000 at 07:48:10PM +0200, Gyulai Mihaly (gyulai@linuxfan.com) wrote:
> I just upgraded from 'slink' to 'potato'. Now my /root partition is
> full. Do I need the contents of the following directories, or may I
> delete them?
> 
>  /var/cache/apt  6 MB
>  /var/state/apt/lists  3.7 MB
>  /var/lib/dpkg/info  4.6 MB
>  /var/lib/dpkg/methods/multicd  1 MB

/var should be a seperate partition from your root, for a number of
reasons.  See attached for general suggestions.

-- 
Karsten M. Self <kmself@ix.netcom.com>     http://www.netcom.com/~kmself
 Evangelist, Opensales, Inc.                    http://www.opensales.org
  What part of "Gestalt" don't you understand?      There is no K5 cabal
   http://gestalt-system.sourceforge.net/        http://www.kuro5hin.org
Linux Partitioning mini-FAQ
------------------------------------------------------------------------
Karsten M. Self <kmself@ix.netcom.com>
Written:  Monday, September 18, 2000
Modified:  Saturday October  7, 2000
========================================================================


The following is my recommended partitioning for a typical
workstation/server Debian GNU/Linux x86 box.  You can also find useful
guidelines the the Filesystem Hierarchy Standard (FHS), part of the
debian-policy package, and the the Large Disk HOWTO.

Basic recommendation:

    /			50 - 100 MB
    /tmp		50 - 100 MB
    /var		200 - 500 MB
    /usr		1 - 2+  GB
    /usr/local		1 - 2+  GB
    /home	        remainder


Primary, Extended, & Logical partitions (x86 only):

    Linux really doesn't care.  MS WinXX prefers a single primary
    partition, though multiple primaries are possible as an undocumented
    feature.  Suit your preferences if you're multi-booting.  I tend to
    create three primary partitions, one extended, and the remainder
    physical.  / usually goes on the first partition and is marked
    bootable, though as with most things, you have other options.  YMMV.


Swap:

    I go with 3x physical RAM, in two or three separate swap partitions,
    to a maximum of 2 GB (x86 Linux can't handle more than 2GB RAM
    currently).  This is more swap than you'll probably want to be using
    on a typical basis (eg:  if you're filling *all* your swap,
    something's wrong).  OTOH, it also provides you a buffer when the
    system *does* go into a memory-overrun condition.  Typically, things
    will get so slow that you'll notice something's wrong.  The extra
    swap should buy you time to shut down the offending process(es).
    Other sources say to provide 2x physical RAM.  VA Linux configures
    its servers with 1x physical RAM.


How many partitions:

    Another religious issue.  I start with the scheme illustrated above
    because:

      o / needs to be mounted for the system to boot -- but other than
	/bin, /boot, /dev, /etc, /initrd, /lib, /root, and /sbin,
	other directory trees don't have to be mounted.  Increase your
	chances for a clean boot by reducing the inodes at risk.  You
	are also then able to mount other partitions nosuid and/or
	noexec and/or read-only, for additional security.  The entire
	partition can be duplicated elsewhere on- or off-line for
	additional security.

      o /tmp -- highly variable.  Don't risk your root partition,
	isolate this content.  Mount noexec and/or nosuid for added
	protection.

      o /var -- likewise, highly variable.  Mount noexec and/or nosuid
	for added protection.

      o /usr -- Largely stable.  Can be mounted read-only except for
	package upgrades.

      o /usr/local -- Largely stable, and not part of the packaging 
	system.  Can be mounted read-only, possibly nosuid.

      o /home -- Variable content, usually most sensitive data both in
	terms of security and integrity.  Can be mounted nosuid.

    At this point, you may choose to add additional partitions if
    desired to match local storage, application, or hardware needs
    and/or limitations.


Allocation variations:

    /:	A minimal installation can fit in 30 MB or less.  If you're
    using more than ~50 MB, you've probably included something in your
    root partition you don't need.  Variable, executable, suid, local.

    /tmp:  Values suggested should work for most systems.  /tmp is
    system temporary storage.  If you've got specific applications with
    very large temporary storage requirements (eg:  database, analytic
    tools, multimedia), you're better off allocating storage to these
    needs specifically.  Variable, non-executable, non-suid, local.

    /var:  if you're running extensive services (news, mail, website),
    you may want to increase this allotment significantly.  Often
    various /var/spool subdirectories become their own partitions.  Such
    partitions may consume hundreds of MBs to multiple GBs.  Variable,
    non-executable (?), non-suid, local.

    /usr:  A minimal installation can fit in a few hundred MB or less.
    Likewise, if you have to install *all* packages and docs, you may
    find 2GB is too thin, consider doubling the allocation.  Tune to
    your needs.  Variable, executable, suid, networkable.

    /usr/src, /usr/local/src: depending on space constraints and
    variability, you may want to create these as separate partitions.
    Variable, non-executable, non-suid, networkable.

    /usr/local:  This is where software installed directly by you, outside 
    of the Debian packaging system, goes.  Tarballs, binary non-deb
    installations, and locally built software.  Again, if you're
    installing lots of stuff or very large packages, you could easily
    utilize several GB of space.  Variable, executable, non-suid (?),
    networkable.

    OtherOS:  If you have a multi-boot system, you'll want to allocate
    space for other OSs as appropriate.  Tools such as VMWare and Samba
    may allow you to both run and access these partitions natively from
    within Linux.

    Sub-partitioning.  I'm running a set of (now) relatively small
    drives -- 2/2.4 GB each.  As a result I've split out several
    subdirectories of /usr and parked them on other partitions.  While
    this is possible, it's probably generally best *not* to subdivide
    your filesystems overly much -- it does increase system complexity
    and management.  Unless this is required by space constraints, I'd
    suggest not doing it.  But if you need the option, it's there.


Filesystem Layout

    The following are simply my preferences and/or recommendations.

    /opt -> /usr/local   I recommend creating /opt as a symlink to
    /usr/local as this rationalizes space and conforms to typical
    third-party application preferences.  Some apps like to go under
    /usr/local, others under /opt.  This link supports both
    transparently.

    /net  This is a mount point for networked drives.  Any SMB, NFS, or
    other partitions show up here.
    
    /mnt  The starting mount point for removable media and temporary
    mount points.  Usually contains /mnt/floppy, /mnt/cdrom, /mnt/zip,
    /mnt/jaz, etc.  Keeps your / partition cleaner and makes system
    backups a bit more rational.


My own current filesystems and utilization:

    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/root               152247     51652     92733  36% /
    /dev/sdb5               101089      3737     92133   4% /tmp
    /dev/sdb6               303344    233213     54470  82% /var
    /dev/hda5               495960    118804    351556  26% /var/spool/news
    /dev/sda5              1209572   1038000    110128  91% /usr
    /dev/sdb7              1517920   1240280    200532  87% /usr/local
    /dev/hda8               253775    156210     84463  65% /usr/doc
    /dev/hda6               249871    135434    101537  58% /usr/src
    /dev/sda7               585008    352004    203288  64% /home
    /dev/hda2              1007992    699120    257668  74% /mnt/misc1
    /dev/hdc                 47808     47808         0 100% /mnt/cdrom


Partition tables:

    Disk /dev/hda: 128 heads, 63 sectors, 620 cylinders
    Units = cylinders of 8064 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
    /dev/hda1   *         1        39    157216+   6  FAT16
    /dev/hda2            40       293   1024128   83  Linux
    /dev/hda3           294       332    157248   83  Linux
    /dev/hda4           333       620   1161216    5  Extended
    /dev/hda5           333       459    512032+  83  Linux
    /dev/hda6           460       523    258016+  83  Linux
    /dev/hda7           524       555    128992+  83  Linux
    /dev/hda8           556       620    262048+  83  Linux



    Disk /dev/sda: 255 heads, 63 sectors, 261 cylinders
    Units = cylinders of 16065 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
    /dev/sda1             1        17    136521   82  Linux swap
    /dev/sda2            18       261   1959930    5  Extended
    /dev/sda5            18       170   1228941   83  Linux
    /dev/sda6           171       187    136521   82  Linux swap
    /dev/sda7           188       261    594373+  83  Linux



    Disk /dev/sdb: 255 heads, 63 sectors, 261 cylinders
    Units = cylinders of 16065 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
    /dev/sdb1             1        17    136521   82  Linux swap
    /dev/sdb2            18       261   1959930    5  Extended
    /dev/sdb5            18        30    104391   83  Linux
    /dev/sdb6            31        69    313236   83  Linux
    /dev/sdb7            70       261   1542208+  83  Linux

Attachment: pgpOoN5E8zW4k.pgp
Description: PGP signature


Reply to: