Bei der Eingabe einer Chroot ist es manchmal erforderlich, / sys und / dev mit -rbind anstelle von -bind zu mounten, um sicherzustellen, dass sich beim Suchen alles an der richtigen Stelle befindet.
Das Problem tritt beim Aushängen auf.
Ein einfacher Umount schlägt immer fehl. Auch mit den Kindern scheint es in Gebrauch zu sein:
$ 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))
Eine andere mögliche Lösung besteht darin, die Mounts aus proc aufzulisten und die Mounts wie folgt umzuhängen:
$ grep /mnt/chroot/sys /proc/mounts | cut -f2 -d" " | sort -r | xargs umount
Dies schlägt jedoch ebenfalls fehl, da die rekursiven Mounts nicht tatsächlich im Mtab registriert sind:
/mnt/chroot/sys/kernel/security is not mounted (according to mtab)
Vielleicht besteht die Lösung darin, ein langsames Umount durchzuführen, aber das scheint mir ziemlich gefährlich zu sein.
Gibt es dafür einen besseren Weg, den ich verpasst habe?
mount
unmounting
Natecornell
quelle
quelle
/mnt/chroot/sys/kernel/security
an diesem Punkt montiert ist? Was ist die Ausgabe vongrep /sys/kernel/security /proc/mounts
?umount
braucht kein Argument, um in aufgeführt zu werden/etc/mtab
. Wenn Sie es bestehen-n
, wird die Datei überhaupt nicht geöffnet.Antworten:
Das hat bei mir korrekt funktioniert - /unix//a/264488/4319 :
Es war wichtig, die beiden ersten Befehle als zwei separate Befehle zu haben: nicht kombinieren
--rbind
und--make-rslave
in einem Aufruf von mount.Ohne
--make-rslave
war das Verhalten unerwünscht (und nicht erfolgreich):umount -l
würde auch die ursprünglichen alten Mountpoints beeinflussen,umount -R
würde von den ausgelasteten (offenen) Dateien unter den ursprünglichen alten Mountpunkten betroffen sein. (Sehr unerwartet ...)quelle
--rbind
mit--make-rslave
demselben Aufruf von mount zu kombinieren :mount --rbind --make-rslave /dev /mnt/test
Die Antwort geht an Gilles . Gilles bemerkte in den Fragenkommentaren, dass der '-n'-Schalter das mtab ignoriert und alle in / proc / mounts aufgelisteten Aktivitäten beendet.
Aus der Manpage:
Um meine Frage zu beantworten, wie ein --rbind-Mount entschlüsselt werden kann, ist dies der vollständige Befehl, der für mich funktioniert hat:
Merci, Gilles!
quelle
mount --rbind / /mnt && umount -n /mnt/dev/shm
(oder Punkte), ich versteheumount: /mnt/dev/shm: target is busy
.umount -l /mnt
bricht das System ab (z. B. sagt sudo nicht, dass stdin kein tty ist). Dies ist auf einem installierten Fedora-System. Ich denke, es ist ein altes Problem von mir: unix.stackexchange.com/questions/269695/…Seit util-linux v2.23 (25. April 2013)
umount
unterstützt der Befehl die-R, --recursive
Option.Folgendes steht auf der Manpage:
quelle
Dank dafür. Ich benutze dies in meinen Skripten, um den gesamten Chroot-Baum zu entladen: (Stellen Sie sicher, dass Sie $ MNT entsprechend einstellen)
quelle