Как смонтировать несколько папок (например, /home, /var) на другой (но тот же) раздел?

Вопрос или проблема

Допустим, я хотел бы оставить /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. Это поможет вам эффективно управлять местом на диске и организовать ваши данные.

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

Оцените материал
Добавить комментарий

Капча загружается...