Systemd, как смонтировать устройство при загрузке, но отключить автомонтирование после загрузки

Кажется, я не нашел простого решения следующей проблемы:

У меня есть устройство, указанное в fstab, оно должно монтироваться при загрузке. Но если я вручную размонтирую/удалю устройство после загрузки и если я представлю устройство позже, systemd увидит устройство и автоматически смонтирует его.

Итак, как предотвратить последнее (например, поведение pre-systemd). Я не могу использовать noauto в /etc/fstab, так как это отключит монтирование при загрузке, которое я все еще хочу иметь.

Есть несколько способов обойти systemd для этой проблемы. Но я бы хотел, чтобы это было исправлено с помощью systemd.

После некоторого копания кажется, что генератор fstab systemd создает единицы устройства и единицы монтирования. Генератор, кажется, добавляет неявные значения к этому сгенерированному устройству, одно из них - «Хочет» к устройству монтирования. Вызывает зависимость между монтированием и устройством. Как я могу повлиять или переопределить генераторы systemd, чтобы он не создавал эту зависимость «Хочется» между устройством и монтированием?

показать dev-mapper-test.device |grep -i хочу Wants=mnt-test.mount

Но теперь сложная часть, даже если вы можете переопределить это «хочет», тогда запуск при загрузке будет отключен ...

Спасибо


person user2993813    schedule 24.10.2016    source источник
comment
Связано: systemd: невозможно отключить сгенерированный файл модуля   -  person Tom Hale    schedule 19.11.2017


Ответы (1)


Вы можете написать модуль systemd с типом = oneshot.

Type=oneshot: это полезно для сценариев, которые выполняют одно задание, а затем завершаются.

Пример:

[Unit]
Description=one_mount
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/mount /dev/partition /path/to/point
ExecStop=/usr/bin/umount /path/to/point

[Install]
WantedBy=multi-user.target
person Hardy Rust    schedule 24.10.2016
comment
Спасибо, а как переопределить сгенерированные юнит-файлы из fstab этим типом? - person user2993813; 25.10.2016