Differences between revisions 8 and 9
Revision 8 as of 2012-03-10 08:37:34
Size: 3960
Editor: SamatJain
Comment: Add zram instructions
Revision 9 as of 2012-03-10 09:02:09
Size: 3960
Editor: SamatJain
Deletions are marked like this. Additions are marked like this.
Line 60: Line 60:
For Ubuntu systems, there's a [[|https://launchpad.net/~shnatsel/+archive/zramPPA with the zramswap-enabler package]]: For Ubuntu systems, there's a [[https://launchpad.net/~shnatsel/+archive/zram|PPA with the zramswap-enabler package]]:

Partitioning guidelines

Boot (/boot)

768 MB–1 GB, at minimum. This is enough to contain several kernels as well as a bootable ISO (i.e. grml) for use with grub2.

Root (/)

For servers, a 4 GB partition is more than adequate. Most of my servers have less than 1 GB utilization.

For desktops/laptops, 8 GB is adequate for a machine with a set purpose and just running a desktop environment, while doing no/minimal development.

For a development workstation 10 GB or more is good. I always run out of space attempting to install debug packages and/or compile large software collections, such as KDE.

Logs (/var)

Space requirements for /var are always increasing. At minimum, 4 GB. If /var and /tmp are merged, 6 GB.

Temp (/tmp)

For servers, I notice /tmp is not used often, and usually lies empty. When it does it used, the frequency of use is similar to /var. I'll usually merge tmp and var for this reason (i.e. remount /tmp under /var/tmp).

For desktops, 2-4G is usually fine. I usually aim for the minimum required to store a CD or DVD image when burning discs.


Using swap files

Instead of letting space go to waste in a swap partition, Linux can use a small swap file instead:

sudo dd if=/dev/zero of=/swap-file bs=1M count=255
sudo mkswap /swap-file
sudo swapon /swap-file

To automatically bring it up on reboot, place into fstab:

/swap-file none swap sw 0 0

(!) Note: The Linux kernel does not support sparse files as swap files. It's also best to create the swap file immediately after filesystem creation to insure a contigiuous file. Other than that, choice of filesystem does not matter. Reference on LKML.


The zram module (2.6.38+) lets you create an LZO-compressed block device in RAM. Derived from a project formally known as compcache, you can use these compressed devices for a compressed, RAM-based swapdisk.

To create a 4 GB device and use it as swap:

   1 echo $((4*2**30)) > /sys/block/zram0/disksize
   2 mkswap /dev/zram0
   3 swapon -p 60 /dev/zram0

For Ubuntu systems, there's a PPA with the zramswap-enabler package:

sudo add-apt-repository ppa:shnatsel/zram
sudo apt-get update
sudo apt-get install zramswap-enabler

Partition tables


Attacking the first sector (512 bytes) of a disk with dd will completely erase a partition table:

dd if=/dev/zero of=/dev/sdX bs=512 count=1

while attacking only the first 446 bytes will clear the MBR, uninstalling LILO or GRUB's stage 1:

dd if=/dev/zero of=/dev/sdX bs=446 count=1


Cloning partition table geometry is useful for setting up RAID arrays. You don't want to copy the sector from disk to disk directly, because this will duplicate partition GUIDs (which will cause headaches later).

sfdisk can duplicate an MBR partition table across disks:

sfdisk -d /dev/sda | sfdisk /dev/sdb

sgdisk (0.6.8 and above) can duplicate GPT partition tables across disks:

sgdisk -b - /dev/sda | sgdisk -l - -Gg /dev/sdb


file can be report information about a partition, particularly whether GRUB is installed. For example:

$ sudo file -s /dev/sda
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0xfd, active, starthead 1, startsector 63, 1493982 sectors; partition 2: ID=0xfd, starthead 0, startsector 1494045, 1463650020 sectors, code offset 0x63


SamatsWiki: CheatSheet/Partitioning (last edited 2019-06-29 03:11:26 by SamatJain)