Вопрос или проблема
Допустим, я хотел бы оставить /home
и /var
и, возможно, несколько других папок на одном отдельном разделе, но всё на одном разделе. Как мне этого добиться?
Я знаю, как можно разместить все эти папки на отдельных разделах с помощью команды mount
и редактирования fstab
, но как быть, если я хочу, чтобы они все находились на одном разделе, который отдельно от корневого раздела?
Пример. Допустим, у меня корень на /dev/sda1
, а /home
на /dev/sda2
. Проблем нет. Если бы я хотел /var
на /dev/sda3
, это бы не было проблемой. Но что, если я хочу, чтобы и /home
, и /var
находились на /dev/sda2
?
Я имею в виду, вы монтируете раздел в папку, так что вы могли бы, например, иметь это в fstab
:
/dev/sda1 /
/dev/sda2 /home
/dev/sda3 /var
Но я хочу, чтобы и /home
, и /var
находились на /dev/sda2
, в то время как всё остальное находится на /dev/sda1
. Я не вижу, как вопрос, отмеченный как дубликат, Переместить папку home на второй диск, отвечает на это.
Ответ или решение
Чтобы переместить несколько папок, таких как /home
и /var
, на один и тот же раздел, например, /dev/sda2
, вам необходимо создать отдельные каталоги в этом разделе и смонтировать их соответствующим образом. Это можно сделать следующим образом:
Этап 1: Подготовка раздела
Убедитесь, что ваш раздел /dev/sda2
отформатирован правильно (например, в файловой системе ext4). Если вы начинаете с пустого раздела, его необходимо отформатировать:
sudo mkfs.ext4 /dev/sda2
Этап 2: Создание каталогов для монтирования
Создайте необходимые каталоги, которые будут выступать в качестве точек монтирования для ваших папок. Вам нужно будет создать каталог для каждой папки, которую вы хотите разместить в /dev/sda2
.
sudo mkdir /mnt/sda2
sudo mount /dev/sda2 /mnt/sda2
sudo mkdir /mnt/sda2/home
sudo mkdir /mnt/sda2/var
Этап 3: Перемещение данных
Перед тем как монтировать папки на новое место, переместите данные из старых директорий в новые, чтобы избежать потери информации.
sudo rsync -av /home/ /mnt/sda2/home/
sudo rsync -av /var/ /mnt/sda2/var/
Этап 4: Настройка fstab
Теперь, когда данные перемещены, нужно изменить файл /etc/fstab
, чтобы автоматически монтировать эти каталоги при загрузке системы. Откройте файл в текстовом редакторе с правами суперпользователя:
sudo nano /etc/fstab
Добавьте следующие строки в конец файла:
/dev/sda2 /mnt/sda2 ext4 defaults 0 2
/mnt/sda2/home /home none bind 0 0
/mnt/sda2/var /var none bind 0 0
Этап 5: Перемещение каталога /mnt/sda2
в корень
Теперь нужно смонтировать один раздел и сделать его точкой выполнения для других каталогов. Сделайте это:
sudo mount -a
Эта команда смонтирует все файловые системы, указанные в /etc/fstab
. Проверьте, все ли смонтировалось правильно:
df -h
Этап 6: Проверка
Проверьте, что каталоги /home
и /var
теперь ссылаются на подкаталоги в /mnt/sda2
. Это можно сделать с помощью команды:
mount | grep /home
mount | grep /var
Вы должны увидеть, что обе директории повязаны с /mnt/sda2/home
и /mnt/sda2/var
.
Заключение
Теперь, когда вы хотите, чтобы папки /home
и /var
находились на одном разделе /dev/sda2
, вы можете без проблем использовать данную конфигурацию. При этом важно помнить, что при необходимости вы можете добавить больше каталогов, просто создавая дополнительные подкаталоги внутри /mnt/sda2
и монтируя их с помощью технологии binding. Это поможет вам эффективно управлять местом на диске и организовать ваши данные.
Если у вас возникнут какие-либо трудности или вопросы в дальнейшем, не стесняйтесь обращаться за помощью.