Автоматическое монтирование дисков в Linux с fstab
В данной статье рассмотрим способ монтирования дисков с помощью fstab. Это вам пригодится если у вас несколько дисков в вашем компьютере, либо, вы установили систему на ssd диск и не создавали раздел home. В этом случае вы можете смонтировать ваш жесткий диск, где вы храните все информацию в каталог home используя при этом инструмент fstab. В использовании данного способа монтирования ваших дисков нет ни чего сложно, и вы в этом убедитесь прочитав данную статью. И так, давайте приступим к монтированию.
Монтирование дисков
Данное руководство монтирования дисков применимы к любому дистрибутиву Linux. Для монтирования дисков необходимо отредактировать файл /etc/fstab. Для этого будем использовать текстовой редактор nano, о котором вы можете прочитать в данной статье. И так, переходим в терминал и открываем файл fstab:
Для того что бы смонтировать диски, необходимо прописать в файл fstab примерно следующую информацию:
“/dev/nvme0n1 /home ext4 defaults 0 0”
Давайте разберемся что тут написано, первой строчкой идет диск, который мы хотим смонтировать “/dev/sda1”, узнать названия вашего диска можно выполнив команду “fdisk -l”. Далее указываем папку, куда хотим монтировать диск, в данном случае это “/home”. В примере же я буду монтировать в директорию “/Общедоступные”. Далее указываем файловую систему диска, в данном случае это “ext4”, указываем опции, в данном случае они по дефолту “defaults”, список опций будет ниже. И последние строчки “0 0” первый ноль отключает создание резервных копий, а второй отключает проверку диска:
Теперь сохраняем отредактированный файл fstab сочетанием клавиш “ctrl + o” нажимаем “Enter” и выходим из текстового редактора сочетанием клавиш “ctrl + x”. Проверяем правильность указанных настроек в файле fstab, для этого можно смонтировать диск вручную выполнив команду “mount”:
sudo mount /dev/nvme0n1p1 /home/cyber-x/Общедоступные
Где “/dev/nvme0n1p1” ваш жесткий диск, а “/home/cyber-x/Общедоступные” каталог куда вы монтируете диск.
Опции монтирования
Данные опции вы можете применять в файле fstab при монтировании дисков, тут все достаточно просто, в примере мы указывали опцию “default”, а вместо нее вы можете вписать опции из списка ниже:
- auto – Файловая система монтируется при загрузке автоматически или после выполнения команды ‘mount -a’.
- noauto – Файловая система может быть смонтирована только вручную.
- exec – Позволяет исполнять бинарные файлы на разделе диска. Установлено по умолчанию.
- noexec – Бинарные файлы не выполняются. Использование опции на корневой системе приведёт к её неработоспособности.
- ro – Монтирует файловую систему только для чтения.
- rw – Монтирует файловую систему для чтения/записи.
- sync – Все операции ввода-вывода должны выполняться синхронно.
- async – Все операции ввода-вывода должны выполняться асинхронно.
- user – Разрешает любому пользователю монтировать файловую систему. Применяет опции noexec, nosuid, nodev, если они не переопределены.
- nouser – Только суперпользователь может монтировать файловую систему. Используется по умолчанию.
- defaults – Использовать значения по умолчанию. Соответствует набору rw, suid, dev, exec, auto, nouser, async.
- suid – Разрешить операции с suid и sgid битами. В основном используются, чтобы позволить пользователям выполнять бинарные файлы со временно приобретёнными привилегиями для выполнения определённой задачи.
- nosuid – Запрещает операции с suid и sgid битами.
- nodev – Данная опция предполагает, что на монтируемой файловой системе не будут созданы файлы устройств (/dev). Корневой каталог и целевой каталог команды chroot всегда должны монтироваться с опцией dev или defaults.
- atime – Включает запись информации о последнем времени доступа (atime) при каждом чтении файла. Включено по умолчанию на Linux до v.2.6.29 включительно.
- noatime – Отключает запись информации о последнем времени доступа (atime) при каждом чтении файла.
- relatime – Включает запись информации о последнем времени доступа при чтении файла, если предыдущее время доступа (atime) меньше времени изменения файла (ctime). Включено по умолчанию на Linux начиная с v.2.6.30.
- notail – Отключает «упаковку хвостов файлов». Опция работает только с файловой системой ReiserFS.
- size – Используется для указания размера файловой системы. Опция работает только с файловой системой tmpfs.
- nofail – Используется в случае, если в fstab прописаны некоторые другие жёсткие диски, кроме основого (с системой, которая загружается), но в данный момент они физически не подключены к ПК. Чтобы при загрузке не выдавалась ошибка, приводящая к невозможности загрузки (система ищет по fstab отключенные диски, но не находит их), в строчках fstab-а с этими дисками и следует установить такой флаг – тогда эти диски будут проигнорированы при загрузке (до их подключения к ПК). При применении этого флага к подключенным дискам, никакого эффекта не наступает, флаг игнорируется.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
Как настроить автоматическое монтирование дисков в Linux
Обновлено: 09.02.2022 Опубликовано: 16.08.2016
Монтирование по имени диска
- /dev/sda1 — диск, который мы монтируем
- /db — каталог, в который монтируем диск
- xfs — файловая система
- defaults — стандартные опции. Полный их перечень можно посмотреть на Википеции.
- 0 0 — первый отключает создание резервных копий при помощи утилиты dump, второй отключает проверку диска.
Теперь создаем каталог, в который монтируем диск (в данном примере, /db):
И монтируем вручную диск, чтобы проверить правильность настроек fstab:
Должен появиться новый диск. Это можно проверить следующей командой
Монтирование по идентификатору
Данный способ не сильно отличается от монтирования по имени диска — вместо имени мы указываем идентификатор. Такой подход считается более надежным, так как при переподключении дисков к другим портам материнской платы может поменяться приоритет и, как следствие, имя устройства — это может привести к проблемам монтирования. UUID диска не меняется и поэтому, данная проблема при таком монтировании не страшна.
И так, смотрим идентификатор диска командой:
Мы получим ответ на подобие:
/dev/sdb: UUID=»3e53fc7e-a417-4fa5-b034-b227bea2474c» BLOCK_SIZE=»4096″ TYPE=»ext4″
/dev/sda1: UUID=»358f032e-3efb-42ab-b3ba-05ddc82fedfd» BLOCK_SIZE=»512″ TYPE=»xfs» PARTUUID=»0beca126-01″
* допустим, диск который мы хотим примонтировать — sda1. Его идентификатор 358f032e-3efb-42ab-b3ba-05ddc82fedfd.
Открываем на редактирование следующий файл:
и добавляем в него следующую строчку:
UUID=358f032e-3efb-42ab-b3ba-05ddc82fedfd /db xfs defaults 0 0
Монтирование можно проверить командой:
Пример монтирования сетевого диска
//192.168.0.1/network /mnt cifs user,rw,noauto,credentials=/root/.smbclient 0 0
* в данном примере выполняется монтировние общей папки network на сервере с IP-адресом 192.168.0.1 в каталог /mnt. В качестве сетевой файловой системы используется cifs (протокол SMB: сервер samba или общая папка Windows). Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, noauto: не монтировать автоматически при старте системы, credentials: файл, в котором написаны логин и пароль для подключения к общей папке.
Теперь создадим файл аутентификации (credentials):
и приведем его к следующему виду:
* username: имя пользоватля, password: пароль. Само собой, в вашем случае указываются свои данные.
Теперь вводим следующую команду:
Должна примонтироваться сетевая папка //192.168.0.1/network. Это можно проверить следующей командой: