GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rekursives Umount nach Rbind-Mount?

Beim Betreten einer Chroot ist es manchmal notwendig, /sys und /dev mit -rbind statt -bind zu mounten, um sicherzustellen, dass alles am richtigen Platz ist, wenn jemand nachschaut.

Das Problem tritt beim Unmounten auf.

Ein einfaches umount schlägt immer fehl; mit den Kindern, die auch montiert sind, 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 von proc aufzulisten und diese wie folgt zu unmounten:

$ grep /mnt/chroot/sys /proc/mounts | cut -f2 -d" " | sort -r | xargs umount

Dies schlägt jedoch ebenfalls fehl, da die rekursiven Mounts nicht wirklich in der mtab registriert sind:

/mnt/chroot/sys/kernel/security is not mounted (according to mtab)

Vielleicht ist die Lösung, einen lazy umount durchzuführen, aber das scheint mir ziemlich gefährlich zu sein.

Gibt es dafür einen besseren Weg, den ich übersehen habe?

Akzeptierte Antwort:

Das hat bei mir richtig funktioniert – https://unix.stackexchange.com/a/264488/4319:

mount --rbind /dev /mnt/test
mount --make-rslave /mnt/test
umount -R /mnt/test

Es war wichtig, die beiden ersten Befehle als zwei separate Befehle zu verwenden:Kombinieren Sie nicht --rbind und --make-rslave in einem Aufruf von mount.

Ohne --make-rslave , das Verhalten war unerwünscht (und nicht erfolgreich):

  • umount -l würde sich auch auf die ursprünglichen alten Einhängepunkte auswirken
  • und umount -R von den ausgelasteten (offenen) Dateien unter den ursprünglichen alten Einhängepunkten betroffen wäre. (Sehr unerwartet…)

Linux
  1. Rekursives Mkdir?

  2. Binden Sie einen SFTP-Benutzer ein, nachdem Sie Chroot verwendet haben

  3. Mounts unter Linux binden

  4. So mounten und unmounten Sie Dateisysteme/Partitionen unter Linux (Mount/Umount-Befehlsbeispiele)

  5. So mounten und unmounten Sie ein Dateisystem unter Linux

So mounten / umounten Sie ein ISO-Image unter CentOS 8 / Rhel 8 Linux

mount-Befehlsbeispiele in Linux

mount:Befehl nicht gefunden

Dauerschleifengerät?

Was ist der Unterschied zwischen remount zu umount/mount?

Warum schlägt das Einbinden einer Datei nach dem Aufheben der Verknüpfung mit ENOENT fehl?