Переносим точку монтирования home на новый раздел диска в Linux

webmaster

Опубликован:  2021-06-08T05:42:26.051063Z
Отредактирован:  2021-06-08T05:38:11.362305Z
1
0
0
Вы неавторизованы, рекомендую зарегистрироваться и авторизоваться.

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

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

1. Исходные данные

В моём распоряжении есть компьютер с Debian bullseye на борту.

5SeqsdFA5y.png

Как видно на снимке экрана, на жестком диске этого компьютера имеется один единственный раздел, на котором расположена корневая файловая система - /. И на текущий момент дисковое пространство корневой файловой системы занято более чем на 70%. Фактически, в текущем состоянии системы /home - это всего лишь каталог в файловой системе /.

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

2. Установка дополнительного жесткого диска

Поскольку основной жесткий диск компьютера достаточно мал по современным меркам, решено добавить второй жесткий диск аналогичного размера. После выполнения всех монтажных работ и первой загрузки компьютера стоит убедиться, что дополнительный диск системой определён. Включаю компьютер, дожидаюсь загрузки операционной системы и запускаю терминал. Команда lsblk покажет состояние всех подключенных носителей.

HZi6Ufh3TQ.png

Как видно на снимке экрана, система определила дополнительный жесткий диск как sdb, на диске отсутствует какая либо разметка, и в настоящий момент он, что совершенно естественно, системой не используется. Диск необходимо разметить, и сейчас самый благоприятный для этого момент. Для разметки диска можно использовать программу parted или gparted, если они до сих пор не установлены, следует установить их такой простой командой:

sudo apt install -y parted gparted

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

HYMYSSCMeO.png

Замечание: про parted мы уже не раз говорили в рамках этого блога в списках auriz.ru, все посвященные этой программе статьи можно отфильтровать по одноимённой метке - parted.

Конечно же диск можно разметить и с помощью gparted - этот вариант скорей всего будет предпочтительным для совсем новичков, эта программа тоже весьма эффективна и представляет интерес, я расскажу о своём опыте её использования чуть позже в этом блоге на auriz.ru.

bZ2yIE0rAB.png

Итак, у меня всё готово к переносу данных, чтобы система начала использовать новый диск, необходимо осознанно выполнить определённые действия, детальный разбор которых далее...

3. Вход суперпользователем

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

Вхожу как root при помощи sudo.

sudo -i

ierUNFGoIb.png

Обращаю внимание, что текст приглашения командной строки при этом изменился. Теперь можно придумать и задать суперпользователю системы новый пароль командой passwd.

passwd

STsVjRG8VW.png

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

Теперь, когда у root есть пароль, изменяю уровень исполнения операционной системы.

systemctl set-default multi-user.target

Z3ipKAd6sj.png

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

gUximfu4aa.png

Жму клавишу enter и оказываюсь в системе.

wexbuB4nbu.png

Замечательно! Впереди нас ждёт незабываемый опыт работы в голой консоли, об этом далее...

4. Перенос пользовательских данных на новый раздел

Чтобы перенести пользовательские файлы и каталоги на новый раздел, его необходимо смонтировать. Монтировать раздел в данном случае лучше всего в каталог /mnt, предварительно убедившись, что он пуст.

mount /dev/sdb1 /mnt

s349vMT4E7.png

Теперь следует посмотреть на содержимое каталога /home.

ls -l /home

uYb3k9X4Qj.png

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

mv  /home/newbie /mnt/
mv /home/debianeach /mnt/
mv /home/avm /mnt

57Mi6oM4tV.png

В зависимости от объёма хранящихся в этих каталогах данных, перенос может занять достаточно длительное время.

Замечание: если бы каталог /home располагался на отдельном разделе, в нём, кроме каталогов пользователей, находился бы ещё и каталог с именем lost+found, в нём хранится журнал файловой системы диска, в таком случае этот каталог не следует перемещать на новый раздел.

Когда процесс переноса файлов и каталогов завершен, следует посмотреть на содержимое каталогов /home и /mnt.

hkdeVjJwe2.png

Как видно на снимке экрана выше, каталог /home теперь не имеет вложенных каталогов, а каталоги пользователей хранятся на новом разделе, в данный момент смонтированном в точку /mnt, режим пользовательских каталогов и принадлежность к одноимённому пользователю не изменились. Всё замечательно, раздел sdb1 можно отключить.

umount /dev/sdb1

KWAb5a01hY.png

Всё готово к правке файла fstab, об этом далее...

5. Создаём точку монтирования /home в файле fstab

Приступим к правке файла /etc/fstab, который определяет существующие в системе точки монтирования. Первым делом необходимо посмотреть UID существующих в системе разделов диска - это можно сделать с помощью команды blkid.

blkid

LA5oJ9l1VL.png

Поскольку работаю я в голой консоли, просто скопировать UID дисков в буфер обмена я не могу. Выписывать его на лист бумаги мне тоже не очень хочется, поэтому я просто направлю выхлоп blkid в конец файла /etc/fstab.

blkid >> /etc/fstab

FTjVEeT4VI.png

После этого открываю файл /etc/fstab в текстовом редакторе Nano.

nano /etc/fstab

agrkIBOBaN.png

Как видно на снимке экрана выше, корень в моей системе смонтирован по имени раздела, заодно я исправлю и эту неприятность. Начинаю править файл, в nano можно перемещать строчки с помощью клавиатурных сочетаний ctrl+k и ctrl+u. Вот что у меня получилось в итоге.

Li12GYyTNI.png

Сохраняю файл (ctrl+o) и покидаю текстовый редактор (ctrl+x). Новая точка монтирования создана. Следует проверить, что всё работает в полном соответствии с замыслом, монтирую все указанные в /etc/fstab точки монтирования.

mount -a

UFamF1q7xr.png

Теперь, если взглянуть на выхлоп lsblk, можно увидеть, что хомяк получил свой собственный отдельный раздел.

yqNmCyVjji.png

Возвращаю операционной системе соответствующий уровень исполнения.

systemctl set-default graphical.target

VOW0A5C9Br.png

И перезагружаю компьютер.

systemctl reboot

После перезагрузки меня встречает графический режим и привычный рабочий стол LXDE с прежними настройками. Проверяю свои файлы и каталоги, убеждаюсь, что всё на месте, и ничего не потерялось.

64WCZiXlwS.png

Обращаю внимание на размер свободного дискового пространства в корне системы - его вполне достаточно для установки пользовательских программ на каждый день.

6. Выводы и умозаключения

В результате приложенных усилий пользовательские данные (каталоги и файлы) перенесены на новый, отдельный раздел диска, хомяк получил новую точку монтирования, а в корневом разделе системы освободилось дисковое пространство, которое теперь можно использовать для установки в систему дополнительного программного обеспечения на каждый день. Цель демонстрации полностью достигнута.

7. Важная информация для постоянных читателей

Уважаемый читатель, списки auriz.ru не имеет спонсоров и финансирования, и чтобы выжить мы можем рассчитывать только на поддержку своих постоянных читателей и их пожертвования. Если вам оказалась полезна эта или другая статья этого сайта, и вы хотите больше интересных материалов на auriz.ru, поддержите нас рублём, ваша поддержка даст нам шанс выжить, оплатить продление домена и VDS, написать и опубликовать для вас другие интересные материалы.

Поддержать нас можно переводом любой приемлемой для вас суммы на мой кошелёк yoomoney. Важно помнить, что перевод на пять рублей - лучше, чем никакого перевода, а без вашей помощи проект почти наверняка загнётся и прекратит существование очень скоро.

Важное замечание: оригинальные статьи блогов auriz.ru являются авторским контентом и защищены авторским правом, не допускается копирование и тиражирование материалов сайта на других ресурсах сети или в печатных изданиях без согласования с автором блога и администратором этого сайта, не воруйте у нас оригинальные материалы, мы создаём их только и исключительно для читателей нашего сайта.

Комментарии: