Die einzige Möglichkeit, dies ordnungsgemäß auszuführen, besteht darin, zu versuchen, die Bereitstellung der CD in der VM aufzuheben.
Das allgemeine Verfahren, das ich normalerweise verwende, ist:
Überprüfen Sie, ob es überhaupt gemountet ist, vorzugsweise als root ausgeführt:
grep /dev/sr0 /proc/self/mounts
Wenn dadurch jeglicher Text ausgespuckt wird, ist die CD gemountet und möglicherweise in Gebrauch (ist jedoch noch nicht sicher zu entfernen, auch wenn sie nicht verwendet wird). Andernfalls können Sie davon ausgehen, dass sie nicht verwendet wird, es sei denn, Sie haben eine CD-Brenner-Software geöffnet .
Versuchen Sie, die Bereitstellung aufzuheben (muss als root erfolgen):
umount /dev/sr0
Wenn dies ohne Fehler gelingt, können Sie an diesem Punkt sicher sein, dass die CD nicht verwendet wird, und sie auf der Hypervisor-Seite sicher entfernen können. Wenn es klagt,
/dev/sr0
nicht montiert zu sein, überprüfen Sie den ersten Schritt erneut. Fahren Sie andernfalls mit dem nächsten Schritt fort.Finden Sie heraus, was verwendet wurde (muss auch als root ausgeführt werden, und Sie müssen möglicherweise den
fuser
Befehl installieren ):fuser -m $(grep /dev/sr0 /proc/self/mounts | cut -f 2)
Dadurch wird herausgefunden, wo es eingehängt ist, und dann wird für jede verwendete Datei eine Zeile ausgegeben, beginnend mit dem Namen der Datei, gefolgt von einer durch Leerzeichen getrennten Liste der PIDs, die die Datei verwenden. Sie können dann nachschlagen, zu welchen Prozessen diese PIDs in den meisten Systemüberwachungsprogrammen gehören
top
. Wenn Sie sich nicht darum kümmern, was sie sind, können Sie-k -TERM
vor dem-m
oben genannten Befehl hinzufügen, und es wird ein SIGTERM an alle Prozesse für Sie gesendet (dies entspricht dem Aufruf derkill
einzelnen PIDs). Wenn Sie alle erledigt haben, können Sie Schritt 2 wiederholen, und derumount
Befehl sollte funktionieren.
Beachten Sie, dass bei diesem Ansatz davon ausgegangen wird, dass keine Mount-Namespaces beteiligt sind. Dies ist normalerweise der Fall, wenn Sie keine Container verwenden (in diesem Fall müssen Sie möglicherweise alle diese Schritte in jedem laufenden Container ausführen).