Перенос /home на другой диск

00:12

после прочтения статьи об оптимальной разметке диска http://ubuntologia.ru/partitioning-recommendations, решил вынести /home на отдельный диск. Немного погуглив, напоролся на 2 статьи http://www.ubuntu4life.com/node/30 и http://www.psychocats.net/ubuntu/separatehome, которые были взяты мной за основу. Ниже, непосредственно, описан мой личный опыт, поэтому что то может не совпадать с исходными статьями. И так начнем:
Каким образом выделить диск и отформатировать в нужную вам файловую систему я пропущу, об этом есть статья на убунтологии http://ubuntologia.ru/prepare-computer.

Диск создан. Теперь создадим папку, в которую будем копировать наши файлы и примонтируем туда наш новосозданный диск. Для себя я выбрал ext3, а вы выбирайте на свой вкус. Соответственно, если вы выберете ext4 или что либо другое, то, необходимо будет внести соответствующие правки в команду.

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


ВНИМАНИЕ, у вас диск (sda4) может иметь другое название.
Перейдем в нашу домашнюю директорию и скопируем все содержимое

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


Обязательно убедитесь, что все скопировано правильно.
Теперь размонтируем диск

$sudo umount /mnt/newhome


Создадим бэкап, путем переноса всего содержимого.

$sudo mv /home /old_home


И так как папка перенеслась, создадим папку home по новой.

$sudo mkdir /home


Монтируем новый home

$sudo mount /dev/sda4 /home


Не забываем изменить sda4, согласно своего диска
Проверяем, все ли в порядке с нашим новым home
Теперь укажем, системе на новый /home
Открываем файл fstab вашим любимым тестовым редактором (в моем случае gedit).

sudo gedit /etc/fstab


И добавляем в конец эту строчку (не забываем заменить sda4 на свой)

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


Сохраняем и выходим.
Перед перезагрузкой убедитесь, что ваш новый /home примонтирован и работает.

Теперь самое время поговорить о подводных камнях.
После перезагрузки, вы столкнетесь с проблемой, права доступа будут нарушены. Ниже решение данной проблемы.
При загрузке системы, выбираем recovery mode, как на картинке

Затем

После чего вводим следующее

chown -R username:username /home/username
chmod 644 /home/username/.dmrc
chmod 644 /home/username/.ICEauthority
exit


Вместо username вводим свое имя пользователя
Последний шаг данной процедуры


Вот результат моих действий


Если все грузится нормально, и вы довольны результатом делаем последний рывок, а именно удаляем наш бэкап (но если не хотите, можете оставить все как есть)

sudo rm -rf /old_home



Все.
Еще раз обращаю внимание на то, что здесь полностью описан проделанный мною процесс. Я не испробовал на себе функцию восстановления бэкапа, который описан в конце статьи из второй ссылки.

(c)