Автоматическое монтирование в Systemd

Материал из Записки на полях
Перейти к навигации Перейти к поиску

Система инициализации Systemd анализирует /etc/fstab при загрузке и автоматически генерирует все нужные файлы юнитов на основе описанных там точек монтирования, а уже потом их загружает.

Вы можете посмотреть все созданные в systemd точки монтирования такой командой:

systemctl -l --type mount
UNIT                                      LOAD   ACTIVE SUB     DESCRIPTION
-.mount                                   loaded active mounted /
dev-hugepages.mount                       loaded active mounted Huge Pages File System
dev-lxc-console.mount                     loaded active mounted /dev/lxc/console
dev-lxc-tty1.mount                        loaded active mounted /dev/lxc/tty1
dev-lxc-tty2.mount                        loaded active mounted /dev/lxc/tty2
dev-mqueue.mount                          loaded active mounted POSIX Message Queue File System
proc-cpuinfo.mount                        loaded active mounted /proc/cpuinfo
proc-diskstats.mount                      loaded active mounted /proc/diskstats
proc-meminfo.mount                        loaded active mounted /proc/meminfo
proc-stat.mount                           loaded active mounted /proc/stat
proc-swaps.mount                          loaded active mounted /proc/swaps
proc-sys-net.mount                        loaded active mounted /proc/sys/net
proc-sysrq\x2dtrigger.mount               loaded active mounted /proc/sysrq-trigger
proc-uptime.mount                         loaded active mounted /proc/uptime
run-user-1000.mount                       loaded active mounted /run/user/1000
sys-devices-virtual-net.mount             loaded active mounted /sys/devices/virtual/net
sys-fs-fuse-connections.mount             loaded active mounted FUSE Control File System
var-lib-nfs-rpc_pipefs.mount              loaded active mounted RPC Pipe File System

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

19 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Но нам ничего не мешает самим создать такой файл точки монтирования. Синтаксис:

[Unit]
Description=описание

[Mount]
What=адрес_раздела
Where=точка монтирования
Type=файловая система
Options=опции монтирования

[Install]
WantedBy=multi-user.target

Например, для того же домашнего каталога автоматическое монтирование 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

[Install]
WantedBy=multi-user.target

Точно такой же файл может быть создан для любого устройства. Теперь для монтирования достаточно набрать:

sudo systemctl start home.mount

А чтобы добавить эту точку монтирования в автозагрузку выполните:

sudo systemctl enable home.mount

Вот и все теперь вы знаете не только как выполняется монтирование fstab, но и автоматическое монтирование в systemd.

Источник