on Thu, Nov 02, 2000 at 12:37:21PM +0100, Jonathan Gift (jgift@wanadoo.fr) wrote: > Hi, > > Right now I have a dual boot system setup on a 5Gig drive. I gave W98SE > 2Gig, then set up Linux in the extended partitions with: > > /boot 15MB > /swap/100MB > / 2gig > /home 500MB > > The question I have is when I finally pull off Windows, how do I partition, > especially bearing in mind the present lilo's max hard disk size limits? Do > I set up /boot in the first partition then all the rest in the extended? Attached, my (frequently posted) partitioning FAQ. YMMV. See also the FSB (FileSystem Base) standard. -- Karsten M. Self <kmself@ix.netcom.com> http://www.netcom.com/~kmself Evangelist, Zelerate, Inc. http://www.zelerate.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:
pgpfwWtkiOUt7.pgp
Description: PGP signature