- Автоматическое монтирование диска в Linux Ubuntu / Mint
- Шаг 1. Узнаем идентификаторы подключенных разделов
- Шаг 2. Оповещаем систему о новом разделе
- Шаг 3. Завершаем дело
- Шаг 4. Гуляем смело
- Вариант 2. Gnome Disk Utility
- Проблемы с удалением в корзину?
- Как настроить автоматическое монтирование дисков в Linux
- Пример монтирования сетевого диска
- Автоматическое монтирование fstab и systemd
- Как происходит монтирование?
- Автоматическое монтирование fstab
- Автоматическое монтирование в Systemd
- Выводы
Автоматическое монтирование диска в Linux Ubuntu / Mint
Так уж повелось, что по умолчанию Ubuntu монтирует только свой системный раздел, называя его «файловой системой». Остальные разделы (кроме флэшек и других подключаемых устройств) придется монтировать вручную. Нас такой расклад не устраивает и мы хотим иметь доступ к нашему второму (третьему, четвертому. ) разделу сразу после загрузки ОС.
Каждый раздел имеет свой UUID (Universally Unique Identifier), и мы будем подключать разделы с помощью него.
Шаг 1. Узнаем идентификаторы подключенных разделов
Получаем что-то примерно такое:
/dev/sda1: UUID=»b2098d42-3e3d-470c-8ddb-76f74f0f6d44″ TYPE=»ext4″
/dev/sda3: LABEL=»ntfs» UUID=»6798491F3EB8CFC8″ TYPE=»ntfs»
/dev/sda5: LABEL=»FAT32″ UUID=»1D7D-F985″ TYPE=»vfat»
/dev/sda6: LABEL=»ext3″ UUID=»a4f6af01-786f-4bdf-9405-d340fded6580″ TYPE=»ext3″
/dev/sda7: LABEL=»ext2″ UUID=»4b2c5e07-97db-4a65-9147-e6b0dceb1353″ TYPE=»ext2″
/dev/sda8: LABEL=»ext4″ UUID=»b74143c3-6679-4a3a-9a20-b608ba085170″ TYPE=»ext4″
Если Вашему разделу задан Label, то всё отлично, поиски необходимого не займут много времени. Например, нам нужен раздел «ntfs» с UUID «6798491F3EB8CFC8». Для определения UUID для раздела без Label придется воспользоваться программами типа gParted или стандартного менеджера дисков, здесь Вам помогут обозначения /dev/sdaX.
Если же Вам лень искать UUID, то можно воспользоваться порядковым номером: /dev/sda3. Минус такого подхода — порядковый номер может измениться при добавлении или переставлении дисков.
Шаг 2. Оповещаем систему о новом разделе
Вся информация по монтируемым разделам хранится в fstab:
sudo gedit /etc/fstab
Если у Вас не установлен gedit, то можете воспользоваться nano или любым другим текстовым редактором. В этом файле добавляем в конец строку:
UUID=»6798491F3EB8CFC8″ /media/isergium/ntfs ntfs-3g defaults,uid=1000 0 0
Монтировать разделы желательно в /media — так они продолжут распознаваться некоторыми проводниками (например, Nemo) как разделы. Для удобства все разделы можно монтировать в одну папку, например /media/*username* .
Приведённый выше формат действителен для NTFS. Обязательно убедитесь что пакет ntfs-3g установлен в Вашей системе. Он даёт много преимуществ перед использованием обычного ntfs , поэтому просто используйте его. Для других файловых систем рекомендованы другие параметры и обозначения:
NTFS | ntfs-3g | ntfs-3g defaults,uid=1000 0 0 |
FAT16, FAT32 | vfat | user,auto,fmask=0111,dmask=0000 |
Apple HFS | hfsplus | user,auto,file_umask=0177,dir_umask=0077,uid=1000 |
ext2 | ext2 | defaults |
ext3 | ext3 | |
ext4 | ext4 |
Не забудьте подставить свои значение UUID и путь монтирования.
Шаг 3. Завершаем дело
Осталось перезагрузиться или смонтировать несмонтированные диски:
Шаг 4. Гуляем смело
Вот и всё. Отныне для доступа к необходимым файлам не придется вручную монтировать разделы с ними.
Вариант 2. Gnome Disk Utility
В комментариях был предложен более удобный способ автоматического монтирования с помощью стандартной программы «Диски» (gnome-disks). Вот пример работы с ним на Elementary OS Freya (дистрибутив основан на Ubuntu 14.04):
Выбрать диск, выбрать раздел, нажать на кнопку с шестерёнками, в появившемся меню выбрать «Изменить параметры монтирования» («Edit Mount Options»). В настройках выключить верхний переключатель «Параметры автоматического подключения» («Automatic Mount Options»), включить «Подключение при запуске» («Mount at startup») и «Показывать в интерфейсе» («Show in user interface»). В «Идентифицировать как» («Identify as») лучше выбрать что-нибудь связанное с UUID. По желанию можно задать Тип файловой системы («Filesystem Type»), Точку подключения («Mount Point») и что-нибудь ещё.
После сохранения соответствующая запись появится в /etc/fstab:
UUID=3C1D4F9C296DA92C /mnt/3C1D4F9C296DA92C auto nosuid,nodev,nofail,x-gvfs-show 0 0
После перезагрузки и каждого следующего включения диск будет примонтирован автоматически:
Если программа «Диски» не была найдена, то её можно запустить из консоли:
Установить её можно из исходников или командой:
sudo apt-get install gnome-disk-utility
Проблемы с удалением в корзину?
Если при удалении файлов со смонтированных дисков выдаются ошибки вроде «не удалось переместить в корзину», «невозможно удалить в корзину» и подобные, то достаточно добавить в параметры монтирования параметр uid=1000 .
UUID=»6798491F3EB8CFC8″ /media/isergium/ntfs ntfs-3g defaults,uid=1000 0 0
Этот параметр устанавливает владельца примонтированного раздела, по умолчанию это (зависит от файловой системы) либо root, либо владелец процесса. Если Ваш UID иной (что маловероятно), то можете поискать свой в /etc/passwd и прописать его.
Вместо uid можно использовать gid — этот параметр установит группу владельцев. Обычно это тоже 1000, проверить можно в /etc/group.
Источник
Как настроить автоматическое монтирование дисков в Linux
Все настройки показаны на примере системы CentOS 7 и пременимы к любому дистрибутиву Linux.
Открываем на редактирование следующий файл:
и добавляем в него следующую строчку:
/dev/sda1 /db xfs defaults 0 0
Где:
/dev/sda1 — диск, который мы монтируем
/db — каталог, в который монтируем диск
xfs — файловая система
defaults — стандартные опции. Полный их перечень можно посмотреть на Википеции.
0 0 — первый отключает создание резервных копий при помощи утилиты dump, второй отключает проверку диска.
Теперь создаем каталог, в который монтируем диск (в данном примере, /db):
И монтируем вручную диск, чтобы проверить правильность настроек fstab:
Должен появиться новый диск. Это можно проверить следующей командой
Пример монтирования сетевого диска
//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. Это можно проверить следующей командой:
Источник
Автоматическое монтирование fstab и systemd
Как вы знаете, во время загрузки операционной системы Linux все используемые разделы собираются в единую корневую файловую систему. Все это выполняется системой инициализации и пользователь даже не замечает переходов между разделами. Например, домашний раздел монтируется в /home, загрузочный в /boot.
Но откуда система инициализации узнает о том, что и куда нужно монтировать? Все просто, она берет эти данные из файла /etc/fstab. В этой небольшой статье мы рассмотрим как выполняется автоматическое монтирование fstab, поговорим как это работает, а также рассмотрим основные опции монтирования файловых систем.
Как происходит монтирование?
Файловая система Linux очень сильно отличается от Windows, здесь нет дисков. Есть только корневая файловая система, которая строиться путем монтирования всех нужных разделов в подкаталоги корня.
Монтирование может быть выполнено вручную с помощью команды mount и мы об этом уже говорили. Но для инициализации системы нужно во время загрузки подключить все важные разделы с системными файлами, проверить их файловые системы на ошибки и сделать их готовыми к работе.
Все эти задачи выполняет система инициализации, независимо от того используете ли вы OpenRC или Systemd. Но сама система инициализации не знает куда монтировать тот или иной раздел. Для получения этой информации она использует конфигурационные файлы.
Системы инициализации, совместимые с SysVinit используют файл /etc/fstab. Новая система инициализации Systemd сохранила поддержку /etc/fstab для совместимости, но на самом деле работает с файлами юнитов *.mount. Во время загрузки файлы юнитов автоматически генерируются для всех записей /etc/fstab.
В этой статье мы рассмотрим как настроить автомонтирование разделов fstab, так и новый способ, с помощью systemd.
Автоматическое монтирование fstab
Каждая строчка в fstab описывает раздел, который нужно примонтировать к определенной точке монтирования. Мы можем указать файловую систему, опции монтирования, а также нужно ли проверять файловую систему на ошибки.
Сначала давайте рассмотрим синтаксис одной строчки fstab:
устройство точка_монтирования файловая_система опции резерв <0,1>проверка
Теперь подробнее рассмотрим что означает каждый пункт:
- Устройство — это раздел диска, который вам нужно примонтировать. Его можно указать в формате файла устройства Linux в каталоге /dev/, например, /dev/sda1 или с помощью уникального идентификатора UUID, тогда формат записи будет таким UUID=»XXXX-XXXX-XXXX-XXXX», также возможна запись с помощью метки, например, LABEL=home;
- Файловая система указывает в какой файловой системе нужно монтировать это устройство, например, ext4, ext3, ext2, btrfs;
- Точка монтирования — куда нужно примонтировать это устройство, например, /home, /boot, /mnt;
- Опции — параметры монтирования файловой системы, рассмотрим подробнее ниже;
- Проверка — указывает в какой очереди нужно проверять устройство на ошибки, 1 — в первую очередь, 2 — вторую, 0 — не проверять;
- Резерв — указывает нужно ли делать резервную копию раздела, может принимать значения только 0 и 1.
В основном с этими пунктам все должно быть понятно, интерес вызывают только опции монтирования fstab. Для разных файловых систем они могут немного отличаться, но есть стандартные. И поскольку чаще всего используются файловые системы семейства ext, то мы будем ориентироваться на них.
Начнем с общих для всех файловых систем опций:
- sync — записывать на диск все изменения сразу после того, как они были выполнены, не использовать кэширование для записываемых данных. Может понадобится для извлечения флешки без размонтирования, но сильно снижает производительность;
- async — использовать кэш при записи данных, увеличивает производительность, используется по умолчанию;
- atime — сохранять время последнего доступа к файлу;
- noatime — не сохранять время последнего доступа, полезно для ssd и флешек;
- relatime — обновлять время доступа только при изменении файла, необходимо для работы многих программ;
- norelatime — отключить relatime;
- strictatime — обновлять время доступа всегда, отключает действие предыдущих опций;
- auto — автоматически монтировать при загрузке, действие по умолчанию;
- noauto — не монтировать при загрузке;
- defaults — использовать опции монтирования fstab по умолчанию — rw,suid,dev,exec,auto,nouser,async;
- dev — интерпретировать блочные устройства;
- nodev — не интерпретировать блочные устройства;
- diratime — аналогично atime только для каталогов;
- dirnoatime — аналогично noatime, для каталогов;
- exec — разрешить выполнять программы на этом разделе;
- noexec — запретить выполнять программы на этом разделе;
- group — разрешить другим пользователям кроме root монтировать этот раздел, если их группа совпадает с указанной, обычно используется вместе с noauto;
- nofail — не сообщать об ошибках;
- mand — разрешить блокирование файловой системы, нужно для некоторых антивирусов;
- nomand — запретить блокирование файловой системы;
- suid — разрешить выполнение программ с флагом suid от имени другого пользователя;
- nosuid — игнорировать флаг suid;
- owner — разрешить указанному пользователю монтировать устройство;
- ro — монтировать только для чтения;
- rw — монтировать для чтения и записи;
- users — разрешить монтирование любому пользователю;
- umask — установить права доступа к файлам и папкам на этом разделе;
- uid — задает владельца каталога, по умолчанию root;
- gid — задает группу владельца каталога.
Когда мы рассмотрели всю теорию, настройка fstab не вызовет у вас проблем. Теперь давайте рассмотрим стандартное содержимое файла fstab, а также как выполняется монтирование. Вот так выглядит монтирование корня:
/dev/sda2 / ext4 defaults 0 1
Здесь в качестве корневой файловой системы будет монтироваться раздел /dev/sda2 с файловой системой ext4 и опциями по умолчанию defaults. Резервная копия не используется, и вообще, этот параметр не читается системой инициализации и сейчас нас не интересует. Для домашнего раздела все будет выглядеть очень похоже:
/dev/sda3 /home ext4 defaults,noexec 0 2
Только тут мы указали, что его нужно проверить вторым, а в опциях еще добавили, что программы оттуда выполнять нельзя. Более интересен пункт для дополнительного диска, на котором хранятся файлы:
/dev/sda4 /media/files/ ext4 noauto,users,rw 0 0
Тут мы указываем, что раздел не нужно монтировать во время загрузки, но его могут подключить любые пользователи в режиме для чтения и записи. Ни проверка ни резервная копия не выполняются. Для раздела подкачки файловая система указывается swap, а точка монтирования none:
/dev/sda5 none swap defaults 0 0
Также вы можете примонтировать немножко оперативной памяти:
tmpfs /tmp tmpfs nodev , nosuid , noexec , size=100M 0 0
Таким образом, мы примонтировали оперативную память в /tmp и теперь система будет работать немного быстрее. Вот что получилось:
/dev/sda2 / ext4 defaults 0 1
/dev/sda3 /home ext4 defaults,noexec 0 2
/dev/sda4 /media/files/ ext4 noauto,users,rw 0 0
/dev/sda5 none swap defaults 0 0
tmpfs /tmp tmpfs nodev,nosuid,noexec,size=100M 0 0
А теперь, как я и обещал рассмотрим как выполняется монтирование с помощью systemd.
Автоматическое монтирование в Systemd
Система инициализации Systemd анализирует /etc/fstab при загрузке и автоматически генерирует все нужные файлы юнитов на основе описанных там точек монтирования, а уже потом их загружает.
Вы можете посмотреть все созданные в systemd точки монтирования такой командой:
systemctl -l —type mount
Но нам ничего не мешает самим создать такой файл точки монтирования. Это очень просто, давайте рассмотрим синтаксис:
[Mount]
What=адрес_раздела
Where=точка монтирования
Type=файловая система
Options=опции монтирования
Например, для той же домашней папки автоматическое монтирование fstab будет выглядеть вот так, имя обязательно должно состоять из точки монтирования, в которой слеши заменены на дефис:
sudo vi /etc/systemd/system/home.mount
[Unit]
Description=Mount System Home Directory
[Mount]
What=/dev/sda3
Where=/home
Type=ext4
Options=defaults,noexec
Точно такой же файл может быть создан для любого устройства. Теперь для монтирования достаточно набрать:
sudo systemctl start home.mount
А чтобы добавить эту точку монтирования в автозагрузку выполните:
sudo systemctl enable home.mount
Вот и все теперь вы знаете не только как выполняется монтирование fstab, но и автоматическое монтирование в systemd.
Выводы
Как видите, редактирование fstab не так уж сложно, как может показаться на первый взгляд. С этим справиться даже новичок в Linux если изучить параметры fstab и синтаксис самого файла. Если у вас остались вопросы, спрашивайте в комментариях!
Источник