Sunday, April 13, 2014

how to change home directory on linux

 Oh no creatorb, home folder is full :( i must move it, but how to do it? yeah like this...

Note: You can skip this step if you already has an existing external partition that you can use.
Assuming that your computer has only one hard disk and it contains only one partition. To create a new partition, you have to first obtain a Ubuntu Live CD/USB and boot into it. You can’t partition the hard disk when it is running.
Once you are booted into the Live session, open the app “GParted”. Select the hard disk from the list. It should be labelled something like “sda”.


You should see a number of entries in the list. Select the entry that corresponds to the main partition. It should be the one with the biggest file size and is either in the ext3 or ext4 filesystem format. Right click on it and select “Resize/Move”.


Set the size for the new partition in the “Free Space Following” field. The number is represented in MB, so if you want to set aside 10GB for the new partition, enter “10000″. You will notice that as you enter the number, the number in the “New Size” field will decrease accordingly. My usual practice is to set aside 10GB for the system files and allocate the rest to the Home partition. Click “Resize/Move”.


Back to the GParted main screen, you should now see a new “Unallocated” entry with the file size that you have set earlier. Right click on it and select “New”. Select “ext4″ as the filesystem and click “Add”.


Lastly. click the green check button to apply the changes. Depending on your hard disk size, the resizing process might take a long time


After the process is completed, you should see something like the screen below. Record down the new partition number.


Now shut down the live session, remove the live CD/USB and boot up the computer.
To migrate your current Home folder to an external partition, there are four things that you need to do:
  1. Mount the external partition onto a temporary Home location.
  2. Copy the files from your current Home folder to this temporary Home folder.
  3. Relocate the current Home folder
  4. Mount the new Home folder.

1. Create a temporary Home folder

Open a terminal and type the following:
sudo blkid
This will display the UID of all the partitions. Record down the UUID for the partition that you have created earlier.


Next, open the fstab file:
sudo nano /etc/fstab
and add the following line to the end of the file.
UUID=xxx-xxxxx-xxxxx   /media/home    ext4          nodev,nosuid       0       2
Replace the UUID with the UUID value of the external partition.


Save (Ctrl + o) and exit (ctrl + x) the file.
Next, create a mount point:
sudo mkdir /media/home
and reload the updated fstab.
sudo mount -a
You should now see a “home” folder in the Media directory.

2. Copy the files from your current Home folder to the new Home folder

The next thing we are going to do is to copy all the files from the current Home folder to the new Home folder. You can simply do a “Select all”, “Copy” and “Paste” to transfer all the files to the new Home folder. However, you might be missing out the hidden files and some of the file permissions might not be preserved. A more complete method would be using rsync.
sudo rsync -aXS /home/. /media/home/.

3. Relocate the current Home folder

Once we have set up the new Home folder, we need to remove the existing Home folder to make way for the new Home folder in the external partition. To do that, type the following commands in the terminal:
cd /
sudo mv /home /home_backup
sudo mkdir /home
What the above commands do is to move the existing Home folder to Home_backup, and create an empty Home folder for the new Home folder to mount to.

4. Mount the new Home folder

The last step to complete the migration is to mount the new Home folder as “/home”. To do that, we have to revisit the fstab file again.
sudo nano /etc/fstab
All you have to do is to change the “/media/home” to “/home”. Save and exit the file.


Lastly, reload the fstab file:
sudo mount -a
That’s it. You have now migrated your Home folder to an external partition.
Optional: removing the Home_backup folder
Once you are done with the migration, you can either use the old Home folder as a backup, or remove it to release the storage space. To remove it, use the command:
sudo rm -rf /home_backup

0 comments:

Post a Comment