Как я могу переместить домашний каталог в отдельный раздел?

22

Я хотел бы установить другой дистрибутив, но сохранить свой домашний каталог. Есть ли способ переместить домашний каталог в отдельный раздел? У меня нет внешнего жесткого диска для резервного копирования моих данных. Я хотел бы настроить мои разделы, как предложено здесь .

vanillaike
источник
1
Вы всегда можете перераспределить, а затем восстановить / home из резервной копии. У вас есть резервные копии, не так ли?
KeithB

Ответы:

13

Ваш вопрос нейтрален, поэтому, если я упомяну что-то конкретное, чего у вас нет, просто используйте эквивалент на вашей стороне.

Я действительно рекомендую вам купить внешний для резервных копий, поверьте мне, потеря ваших данных является худшим. Действуйте на свой страх и риск - но если вы не можете его получить, вот что вы можете сделать.

Что вам нужно

  • размер вашего / домашнего каталога
  • свободного места, больше, чем размер вашего / home каталога
  • инструмент для разбиения диска, я рекомендую gparted

Что делать

  • Проверьте размер вашего / home каталога (последний результат будет домашним итогом):

    du -h /home

  • Проверьте, достаточно ли у вас свободного места для нового раздела:

    df -h

  • Установить gparted

    sudo apt-get install gparted

Вам нужно больше свободного места, чем размер вашего / home каталога. Если у вас нет свободного места, вы не сможете создать этот новый раздел, и вам все равно придется перенести данные на внешний.

Если у вас есть место, используйте gparted, чтобы уменьшить существующий раздел, а затем создайте новый раздел с освобожденным нераспределенным пространством. Как только ваш новый раздел будет готов, обратите внимание, что это / dev / sdax (используйте, sudo fdisk -lчтобы увидеть это), и скопируйте в него ваши / home файлы.

Использование раздела в новом дистрибутиве

Вы упомянули установку другого дистрибутива, если вы планируете переопределить ваш текущий дистрибутив, то во время установки вам будет предложено настроить разделы. В этот момент вы можете указать этот раздел как / home, не форматировать его, и все будет хорошо, вы можете пропустить этот следующий раздел.

Однако, если вы хотите, чтобы ваш текущий дистрибутив работал с новым / домашним разделом, следуйте этому разделу:

Смонтируйте раздел в существующем дистрибутиве

Мы должны указать вашей ОС использовать раздел как ваш новый / home, мы делаем это в fstab, но сначала давайте найдем UUID этого нового раздела:

ls -l /dev/disk/by-uuid

Перекрестная ссылка на ваш новый раздел / sdax и скопируйте его UUID, мой выглядит так 3d866059-4b4c-4c71-a69c-213f0e4fbf32.

Резервное копирование fstab: sudo cp /etc/fstab /etc/fstab.bak Изменить fstab:sudoedit /etc/fstab

Идея состоит в том, чтобы добавить новую строку, которая монтирует раздел в / home. Используйте свой UUID, а не тот, который я публикую здесь;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

Сохраните и перезапустите, и проверьте, монтируется ли новый раздел в / home. Запустите df -hдля просмотра всех смонтированных разделов, / home теперь должен быть в этом списке.


Заметки

  • Это может быть хорошей идеей познакомиться с fstab, если вы не знаете его хорошо. Просто не торопитесь и думайте о каждом шаге.
  • Если вы устанавливаете новый дистрибутив и используете то же имя для входа, ваши старые / домашние файлы автоматически перейдут в ваше владение.
  • Это не тривиальная тема для освещения в одном посте, но я думаю, что получил большую ее часть. :)
инвертировать
источник
Я пытаюсь использовать gparted, но не могу изменить размер раздела /. Есть ли у вас какие-либо рекомендации по изменению размера корневого раздела? Я мог бы использовать Parted Magic, чтобы сделать это с живого компакт-диска.
vanillaike
1
Да, вам нужно сделать это с Live CD, потому что файловая система смонтирована на работающей ОС. Ubuntu Live CD, Knoppix или Parted Magic будут работать.
инвертировать
3

Название поста и ваш вопрос вызвали у меня некоторую путаницу. Вы хотите разделить свой homeна раздел, или вы просто хотите переустановить и сохранить то же самоеhome ?

Если все, что вам нужно, - это переустановить всю ОС, сохраняя при этом свою, homeтогда вы можете сделать резервную копию вашего homeфайла в месте, которое не будет затронуто установкой, а затем восстановить его после этого вместе с исправлением разрешения (используйте, chown -R username:groupnameчтобы убедиться в правильности владения ).

Если вы хотите следовать некоторым лучшим практикам и отделить свои, homeто вот руководство, которое вам нужно . Он написан для Ubuntu, но я думаю, что то же самое относится и к другим дистрибутивам.

phunehehe
источник
извините за путаницу. Я хотел бы разделить свой дом на перегородку
vanillaike
ПРЕДУПРЕЖДЕНИЕ. Ссылка в «исправлении разрешений» в настоящее время привязывает один к двум разным веб-сайтам, последний из которых предлагает установить Adobe Flash в очень хитрой реплике диалогового окна установщика.
user66001
Я удалил ссылку «разрешение исправления» и скопировал в совет из оригинальной статьи, которую я нашел в архиве .
Mattdm
2

Предполагая, что у вас уже есть отдельный раздел (и если у вас его нет, вы, вероятно, захотите использовать gparted или что-то подобное, чтобы создать его), вы просто делаете следующее (желательно как пользователь root):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

А затем предположим, что все работает так, как должно (войдите в систему как пользователь и проверьте)

 rm -rf /home/whatever.orig 

Это копирует весь каталог (и все содержимое) в целевую точку монтирования, переименовывает исходный домашний каталог (если что-то испортилось в процессе, тогда мы можем восстановить), создает символическую ссылку из нового местоположения в исходный дом директория (на которую все еще указывает (например, / etc / passwd)), затем, предполагая, что это сработало, удаляет созданную нами резервную копию, оставляя копию, которую мы поместили в целевую файловую систему.

Мэтт Симмонс
источник
Это на самом деле не используется в /homeкачестве точки монтирования для нового раздела. Это просто символическая ссылка.
Мэтью Flaschen
Это фактически одно и то же. То, что / home / username является символической ссылкой, не означает, что она не будет работать. Если вы хотите поместить все учетные записи пользователей в другой раздел, просто измените строку 'cp -R' на do / home вместо / home / username
Matt Simmons