При входе в chroot иногда необходимо смонтировать / sys и / dev, используя -rbind вместо -bind, чтобы убедиться, что все находится на своем месте, когда кто-то идет искать.
Проблема возникает при размонтировании.
Простое размонтирование всегда терпит неудачу; с установленными детьми он, кажется, используется:
$ umount /mnt/chroot/sys
umount: /mnt/chroot/sys: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Другое возможное решение - перечислить монтирование из proc и размонтировать каждое из них следующим образом:
$ grep /mnt/chroot/sys /proc/mounts | cut -f2 -d" " | sort -r | xargs umount
Однако это также не помогает, потому что рекурсивное монтирование фактически не зарегистрировано в mtab:
/mnt/chroot/sys/kernel/security is not mounted (according to mtab)
Возможно, решение состоит в том, чтобы выполнить ленивый переход, но это кажется мне довольно опасным.
Есть ли лучший способ сделать это, что я пропустил?
/mnt/chroot/sys/kernel/security
установлен в этой точке? Какой выходgrep /sys/kernel/security /proc/mounts
?umount
не нуждается в аргументах для перечисления в/etc/mtab
. Если вы передадите его-n
, он вообще не откроет файл.