
Всем приветЯ работаю над Banana Pi с Arch Linux
и в настоящее время пытаюсь добиться следующего:
- После того, как кто-то смонтировал зашифрованные ключевые файлы для моего внешнего хранилища, systemd будет использовать их и смонтировать внешнее хранилище.
- systemd должен запустить все службы, работающие на внешнем хранилище
- При выключении все должно быть остановлено перед размонтированием зашифрованного тома.
Через несколько часов это, наконец, сработало, и мне стало интересно, есть ли более простое решение:
/etc/systemd/система
luks.ключи.путь
[Unit]
Description=luks-keys found in /etc/luks-keys
[Path]
DirectoryNotEmpty=/etc/luks-keys/
[Install]
WantedBy=multi-user.target
luks.keys.service
[Unit]
Description=luks-keys availible
Conflicts=umount.target
Before=umount.target
[Service]
Type=simple
ExecStart=/usr/local/bin/storage
RemainAfterExit=yes
хранилище.цель
[Unit]
Description=Storage
Requires=basic.target
After=multi-user.target
Requisite=luks.keys.service
AllowIsolate=yes
./storage.target.wants/minidlna.service
[Unit]
Description=minidlna server
After=network.target
Requisite=luks.keys.service
[Service]
Type=forking
ExecStart=/usr/bin/minidlnad -P /run/minidlna/minidlna.pid
PIDFile=/run/minidlna/minidlna.pid
[Install]
WantedBy=storage.target
/usr/local/bin/хранилище
#!/bin/bash
systemclt isolate storage.target
cryptsetup --key-file /etc/luks-keys/storage1 luksOpen /dev/sda1 storage1
mount /dev/mapper/storage1 /mnt/storage1
Пи сапоги:
- systemd запускает multi-user.target
- активирует luks.keys.path, ожидая файлы в /etc/luks-keys
- файлы найдены
- luks.keys.service активируется и запускает storage.target
- другие службы начинаются
Перед размонтированием:
- systemctl пытается остановить luks.keys.service
- storage.target и другие службы останавливаются, потому что им нужен luks.keys.service
- luks.keys.service наконец останавливается и выключение продолжается с umount.target
Если этого невозможно добиться меньшими усилиями, я с радостью представлю ответ на вопрос:
Как настроить systemd для последующего монтирования зашифрованного тома с работающими на нем службами