Переносим домашний каталог Debian sid на другой раздел диска
prolinux
Опубликован: | 2023-07-18T05:54:26.556687Z |
Отредактирован: | 2023-07-18T05:54:26.556687Z |
Статус: | публичный |
В этом обзоре уделим внимание "хомяку", так обычно называют домашний каталог пользователя просто потому, что хранится он в системном каталоге home. В свою очередь, системный каталог home может быть просто каталогом в корневой файловой системе, а может быть точкой монтирования и располагаться на другом разделе. Сейчас я покажу, как перенести домашние каталоги пользователей, а пользователей в системе может быть несколько, из корневой файловой системы на другой раздел диска.
Постановка задачи
В моём распоряжении имеется старенький лэптоп Acer, на который я установил операционную систему Debian sid в несколько приёмов. Стационарный диск компьютера разделён на два раздела, оба с файловой системой ext4. На первом разделе хранится корень операционной системы, а на втором разделе на данный момент не хранится ничего, и у него вообще отсутствует точка монтирования. Как видно на выхлопе lsblk, второй раздел диска не используется системой.
Совершенно естественно, мне хочется разместить на этом разделе системный каталог /home
. Домашний каталог текущего пользователя системы уже имеет внутри себя вложенные файлы и каталоги, в нём хранятся все настройки окружения рабочего стола и пользовательских программ. Это значит, что его нужно перенести на другой раздел без изменения. Этим я прямо сейчас и займусь.
Переносим данные
Осуществить задуманное можно двумя способами. Первый способ предполагает выполнение всех необходимых действий на базе установленной на стационарный диск компьютера операционной системы. Второй способ предполагает использование так называемой "живой" операционной системы, загруженной с внешнего накопителя.
Поскольку у меня есть собственная сборка "живой" системы Debian sid на флешке, в этой демонстрации я буду использовать именно её, но можно использовать любой официальный LiveCD любого вендора. Подключаю накопитель в USB-разъём и перезагружаю компьютер.
Давайте посмотрим на выхлоп lsblk уже под управлением "живой" операционной системы.
Как видно на снимке экрана, сразу после старта операционной системы оба раздела (sda1
и sda2
) стационарного HDD не имеют точки монтирования, а операционная система загружена с устройства sdb
.
Все необходимые действия требуют прав суперпользователя, я обычно предпочитаю стать в текущем терминале root-ом.
$ sudo -i
В этом терминале я и останусь вплоть до перезагрузки.
У меня есть два раздела (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
Сохраняю изменения и покидаю текстовый редактор. Вот как после всех трудов выглядит мой терминал.
Перезагружаем компьютер
Выключаю компьютер, вынимаю из разъёма USB "живую" флешку, жду минуту и вновь включаю компьютер. Сразу после загрузки операционной системы иду в терминал и смотрю на выхлоп lsblk.
На этот раз раздел sda2
имеет точку монтирования, и "хомяк" располагается на файловой системе этого раздела. Цель достигнута.