Имеется машина с арчем и зашифрованным luks контейнером (не содержащим ничего необходимого для нормальной загрузки, фактически папка с шарой ну и ещё кое какие данные). Требуется чтобы после старта система цеплялась к сети (dhcp ethernet), поднимала ssh сервер, и уже после этого, запрашивала пароль к зашифрованному диску. (пароль либо вводит специально обученный пользователь либо я подцепляюсь по ssh, сам монтирую контейнер и вручную догружаю систему) Раньше всё было реализовано достаточно банально, стандарный cryptsetup демон был выключен а в rc.local были прописаны комманды монтирования. То есть система грузилась обычным макаром до того момента как начинал отрабатывать rc.local потом останавливалась и ждала пароль. Если пароль вводил пользователь локально то она догружалась (ах да kdm тоже в rc.local был прописан). А если подключался я по ssh, то я монтировал раздел вручную, потом просто прибивал cryptsetup запущенный из rc.local и система опять же стартовала дальше в штатном режиме. Появился systemd и я решил сделать всё по науке, но руки видимо выросли из нижних полушарий мозга. В результате как написано в арчвики прописал демону cryptsetup зависимости от wicd и ssh.
[root@localhost system]# cat /usr/lib/systemd/system/sshd.socket
[Unit]
Wants=wicd.service
Requires=wicd.service
After=wicd.service
Conflicts=sshd.service
Wants=sshdgenkeys.service
[Socket]
ListenStream=22
Accept=yes
[Install]
WantedBy=sockets.target
[root@localhost system]# cat /usr/lib/systemd/system/cryptsetup.target
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Requires=wicd.service sshd.socket
After=wicd.service sshd.socket
Description=Encrypted Volumes
Documentation=man:systemd.special(7)