Я использую следующее $HOME/.pam_mount.conf.xml
для монтирования файловой системы контейнера LXC, когда я регистрирую на пути SSH:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<!--
See pam_mount.conf(5) for a description.
-->
<pam_mount>
<!-- debug should come before everything else,
since this file is still processed in a single pass
from top-to-bottom -->
<debug enable="0" />
<!-- Volume definitions -->
<volume
user="user" path="/dev/sda2" mountpoint="/var/lib/lxc/container"
fstype="crypt" options="exec,fsck" />
<volume
user="user" mountpoint="/home/user.orig"
path="/home/user" options="nosuid,nodev,bind" />
<volume
user="user" mountpoint="~"
path="/var/lib/lxc/container/rootfs/home/user"
options="nosuid,nodev,bind" />
<!-- pam_mount parameters: General tunables -->
</pam_mount>
Затем я запускаю контейнер LXC после входа в систему. Начиная с обновления яркой Ubuntu, контейнер /var/log/syslog
лавинно рассылается следующей последовательностью журнала:
Jun 1 21:09:43 container systemd[1]: Unit home-user.mount is bound to inactive unit dev-mapper-_dev_sda2.device. Stopping, too.
Jun 1 21:09:43 container systemd[1]: Unmounting /home/user...
Jun 1 21:09:44 container umount[5799]: umount: /home/user: target is busy
Jun 1 21:09:44 container umount[5799]: (In some cases useful info about processes that
Jun 1 21:09:44 container umount[5799]: use the device is found by lsof(8) or fuser(1).)
Jun 1 21:09:44 container systemd[1]: home-user.mount mount process exited, code=exited status=32
Jun 1 21:09:44 container systemd[1]: Failed unmounting /home/user.
Как я могу обратиться к этому? Разве там должен некоторым образом сказать systemd контейнера не управлять тем монтированием?
Это - известная проблема с systemd. Если устройство поднято в initramfs тогда, это получает SYSTEMD_STATUS=0 и всегда рассматривается как неактивное устройство. У меня есть та же проблема с пользовательским initramfs, который не имеет встроенного systemd. Я пытался найти, что некоторый путь онлайн делает udev и systemd знающим, что устройство на самом деле запущено, и измените его состояние, но это швы как тупик.
Многие сообщения я видел от devs, также являются обескураживающими, поскольку они не рассматривают это как проблему.