Ich versuche, Zerofree zu verwenden, was die Antwort darauf zu sein scheint:Wie kann die VM-Größe reduziert werden?
Ich habe /dev/sda1 erfolgreich unmountet und Zerofree hat einwandfrei funktioniert und ca. 37 GB freigegeben.
Aber ich kann /dev/mapper/mypc-root scheinbar nicht umounten oder erneut als schreibgeschützt mounten, es heißt:
umount: / is busy
oder
mount: / is busy
Die verwendeten Befehle waren:
$ umount /dev/mapper/mypc-root
$ mount -no remount,ro -t ext2 /dev/mapper/mypc-root /
Ich befinde mich im Einzelbenutzermodus und habe ihn mit „init 1“ aufgerufen.
Der Gast-SO ist Ubuntu 12 mit verschlüsseltem LVM und Home.
Irgendwelche Ideen?
Antwort1
/
kann nicht vom System ausgehängt werden, da es /
vom System selbst verwendet wird (daher die angezeigte Meldung).
Sie müssen diesen Vorgang von einer Live-CD aus durchführen.
Antwort2
Dies passiert normalerweise, wenn Sie Dateien auf Ihrem Root-Dateisystem gelöscht haben, diese aber noch geöffnet sind. Ein Prozess behält einen Verweis auf die Datei bei und diese kann erst freigegeben werden, wenn sie geschlossen wird. Das Aktualisieren von Systembibliotheken ist eine Möglichkeit, eine solche Situation zu schaffen.
Da es unmöglich ist, dass ein Dateisystem in einem sauberen Zustand eine gelöschte, aber nicht freigegebene Datei enthält, lehnt der Kernel die erneute Bereitstellung des Dateisystems im schreibgeschützten Zustand ab.
Ein Neustart dieser Prozesse hilft. Dadurch kann der Kernel die Dateien freigeben und das Dateisystem kann sauber ausgehängt werden.
Eine andere Möglichkeit besteht darin, mit dem Schlüssel SysRq ein schreibgeschütztes erneutes Mounten zu erzwingen:
echo u > /proc/sysrq-trigger
Dies ist sicher, führt jedoch dazu, dass sich Kernel/fsck beim nächsten Mounten/Ausführen beschwert.
Antwort3
Sie könnten diesem Beitrag folgen: https://unix.stackexchange.com/questions/42015/mount-is-busy-when-trying-to-mount-as-read-only-so-that-i-can-run-zerofree
In meinem Fall wollte ich mir keine Gedanken über das Beenden von Prozessen machen. Da ich zwei virtuelle Maschinen in meiner VirtualBoX hatte, habe ich die Festplatte der VM, die ich komprimieren musste, auf meiner anderen VM gemountet und sie von dieser Maschine aus gelöscht.