Переносим домашний каталог Debian sid на другой раздел диска

prolinux

Опубликован:  2023-07-18T05:54:26.556687Z
Отредактирован:  2023-07-18T05:54:26.556687Z
Статус:  публичный
34
0
0

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

Постановка задачи

В моём распоряжении имеется старенький лэптоп Acer, на который я установил операционную систему Debian sid в несколько приёмов. Стационарный диск компьютера разделён на два раздела, оба с файловой системой ext4. На первом разделе хранится корень операционной системы, а на втором разделе на данный момент не хранится ничего, и у него вообще отсутствует точка монтирования. Как видно на выхлопе lsblk, второй раздел диска не используется системой.

gMCBOqycUQ.png

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

Переносим данные

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

Поскольку у меня есть собственная сборка "живой" системы Debian sid на флешке, в этой демонстрации я буду использовать именно её, но можно использовать любой официальный LiveCD любого вендора. Подключаю накопитель в USB-разъём и перезагружаю компьютер.

Давайте посмотрим на выхлоп lsblk уже под управлением "живой" операционной системы.

CHMNEi7Txg.png

Как видно на снимке экрана, сразу после старта операционной системы оба раздела (sda1 и sda2) стационарного HDD не имеют точки монтирования, а операционная система загружена с устройства sdb.

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

$ sudo -i

Aojo6qYPaV.png

В этом терминале я и останусь вплоть до перезагрузки.

У меня есть два раздела (sda1 и sda2), с первого я буду переносить данные на второй. Необходимо, чтобы оба раздела были смонтированы одновременно. Создаю в системной каталоге /mnt два новых каталога с соответствующими именами.

# mkdir /mnt/sda1 /mnt/sda2

Монтирую в только что созданные каталоги оба раздела, каждый раздел в соответствующий каталог.

# mount /dev/sda1 /mnt/sda1
# mount /dev/sda2 /mnt/sda2

Давайте посмотрим, что у нас есть в "хомяке".

# ls -1 /mnt/sda1/home
jazz

Из выхлопа этой команды я вижу, что в системном каталоге /home расположен каталог пользователя jazz - это единственный зарегистрированный в системе пользователь. Переношу этот каталог на диск sda2 - в точку монтирования /mnt/sda2 с помощью команды mv.

# mv /mnt/sda1/home/jazz /mnt/sda2/

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

Редактируем fstab

Поскольку домашние каталоги пользователей теперь хранятся на разделе sda2, необходимо создать для этого раздела соответствующую точку монтирования в файле fstab. Для этого мне необходим UUID раздела. И получить его можно программой blkid.

# blkid /dev/sda2
/dev/sda2: LABEL="homefs" UUID="d472d3c7-e051-47e3-b540-709c0e660d46" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="94bd6c95-02"

Копирую UUID в буфер обмена. Открываю файл fstab в текстовом редакторе NeoVim в этом же терминале, файл хранится во вложенном каталоге etc в точке монтирования /mnt/sda1.

# nvim /mnt/sda1/etc/fstab

Вписываю в этот файл единственную строчку.

UUID=d472d3c7-e051-47e3-b540-709c0e660d46 /home ext4 defaults 0 2

cAKeWCXcOv.png

Сохраняю изменения и покидаю текстовый редактор. Вот как после всех трудов выглядит мой терминал.

0hWImzsY9F.png

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

Выключаю компьютер, вынимаю из разъёма USB "живую" флешку, жду минуту и вновь включаю компьютер. Сразу после загрузки операционной системы иду в терминал и смотрю на выхлоп lsblk.

mMGDW0OWGJ.png

На этот раз раздел sda2 имеет точку монтирования, и "хомяк" располагается на файловой системе этого раздела. Цель достигнута.