Linux hängt ein Gerät von einem Skript aus, das auf dem Gerät selbst ausgeführt wird
Frage
Ich habe ein gemountetes ISO-Image im Pfad:
/mnt/iso
In dieser ISO habe ich ein Installationsskript install.sh Ich führe das Installationsskript von der ISO aus und am Ende fragt das Skript den Benutzer, ob er die ISO selbst umounten möchte.Wenn der Benutzer "y" drückt, führt das Skript den folgenden Code aus:
cd /
umount /mnt/iso
echo "Installation completed!"
Leider tritt beim Versuch des Skripts, das umount auszuführen, ein Fehler auf
umount: /mnt/iso: device is busy
Ich nehme an, es liegt an der Tatsache, dass das virtuelle Gerät vom Skript selbst ausgelastet ist.Wie kann es funktionieren?Tnx
Lösung
Verwenden Sie die -l
oder --lazy
wechseln zu umount
dies führt zu einem Lazy Umount, bei dem es erst vollständig ausgehängt wird, wenn es nicht mehr verwendet wird.Die vollständige Beschreibung in der Handbuchseite (dies ist eine Linux-spezifische Option) lautet:
Faul aushängen.Trennen Sie das Dateisystem von der Dateisystemhierarchie bereinigen Sie jetzt alle Verweise auf das Dateisystem, sobald dies nicht der Fall ist nicht mehr beschäftigt.(Erfordert Kernel 2.4.11 oder höher.)
Andere Tipps
tomhs Lösung wird das Problem beheben, wenn Sie das neueste verwenden.Ansonsten ist der Kommentar von Simone Palazzo Ihre beste Wette.Sie stören etwas durch ein Skript in der Umgebung, in der Sie nicht montiert sind.Wenn Sie das Skript aus dem Stammverzeichnis ausführen, ist es erfolgreich.