
Hola a todos,
Estoy trabajando en una Banana Pi con Arch Linux y actualmente estoy intentando lograr lo siguiente:
- Después de que alguien haya montado los archivos de claves cifrados para mi sistema de almacenamiento externo, los usaré y montaré el almacenamiento externo.
- systemd iniciará todos los servicios que operan en el almacenamiento externo.
- Al apagar, todo se detendrá antes de desmontar el volumen cifrado
Después de algunas horas finalmente funcionó y me pregunto si hay una solución menor:
/etc/systemd/sistema
luks.claves.ruta
[Unit]
Description=luks-keys found in /etc/luks-keys
[Path]
DirectoryNotEmpty=/etc/luks-keys/
[Install]
WantedBy=multi-user.target
luks.keys.servicio
[Unit]
Description=luks-keys availible
Conflicts=umount.target
Before=umount.target
[Service]
Type=simple
ExecStart=/usr/local/bin/storage
RemainAfterExit=yes
almacenamiento.objetivo
[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/almacenamiento
#!/bin/bash
systemclt isolate storage.target
cryptsetup --key-file /etc/luks-keys/storage1 luksOpen /dev/sda1 storage1
mount /dev/mapper/storage1 /mnt/storage1
Botas pi:
- systemd inicia multi-user.target
- activa luks.keys.path que espera archivos en /etc/luks-keys
- archivos encontrados
- luks.keys.service se activa e inicia Storage.target
- los otros servicios están comenzando
Antes de desmontar:
- systemctl intenta detener luks.keys.service
- Storage.target y los otros servicios se detienen porque necesitan luks.keys.service
- luks.keys.service finalmente se detiene y el apagado continúa con umount.target
Si no es posible lograr esto con menos trabajo, me complace presentar la respuesta a la pregunta:
Cómo configurar systemd para un volumen cifrado montado posteriormente con servicios trabajando en él