Pages

Thursday 2 February 2012

Move /home to it’s own partition Debian

First, create a partition of sufficient size for your “/home” directory. You may have to use that new hard drive, or adjust/resize the existing partition on your current hard-drive to do this. Let me skip those details.
Next, mount the new partition:

$mkdir /mnt/newhome
$sudo mount -t ext3 /dev/hda5 /mnt/newhome


(You have to change the “hda5″ in the above to the correct partition label for the new partition. Also, the above assumes that the new partition you created is formatted as an ext3 partition. Change the “ext3″ to whatever filesystem the drive is formatted to.)
Now, Copy files over:
Since the “/home” directory will have hardlinks, softlinks, files and nested directories, a regular copy (cp) may not do the job completely. Therefore, we use something we learn from the Debian archiving guide:

$cd /home/
$find . -depth -print0 | cpio --null --sparse -pvd /mnt/newhome/


Make sure everything copied over correctly. You might have to do some tweaking and honing to make sure you get it all right, just in case.
Next, unmount the new partition:

$sudo umount /mnt/newhome


Make way for the new “home”

$sudo mv /home /old_home

Since we moved /home to /old_home, there is no longer a /home directory. So first we should recreate a new /home by:

sudo mkdir /home


Mount the new home:

$sudo mount /dev/hda5 /home


(Again, you have to change “hda5″ to whatever the new partition’s label is.)
Cursorily verify that everything works right.
Now, you have to tell Debian to mount your new home when you boot. Add a line to the “/etc/fstab” file that looks like the following:

/dev/hda5 /home ext3 nodev,nosuid 0 2


(Here, change the partition label “hda5″ to the label of the new partition, and you may have to change “ext3″ to whatever filesystem you chose for your new “home”)
Once all this is done, and everything works fine, you can delete the “/old_home” directory by using:

$sudo rm -r /old_home


This for Complete Task :

Use the following
mkdir /mnt/newhome
sudo mount -t ext3 /dev/sda10 /mnt/newhome
cd /home/
find . -depth -print0 | cpio --null --sparse -pvd /mnt/newhome/
Next, unmount the new partition:
sudo umount /mnt/newhome
Then make way to the new home
sudo mv /home /old_home
sudo mkdir /home
Mount the new home:
sudo mount /dev/sda10 /home
Now, you have to tell Debian to mount your new home when you boot. Add a line to the “/etc/fstab” file that looks like the following:
/dev/hda5 /home ext3 nodev,nosuid 0 2
Sudo rm -r /old_home