Login
Newsletter
Mi, 11. November 2009, 12:59

Medien erfolgreich entfernen

Nicht selten passiert es, dass ein Anwender nicht in der Lage ist, Medien mittels »umount« zu entfernen - die Befehle »lsof« und »fuser« leisten hier unschätzbare Hilfe.

Wer kennt es nicht: Schnell noch das Laufwerk aushängen und eine neue CD einlegen. Doch beharrlich weigert sich das System, die gewünschte Partition oder das Laufwerk aus der Dateisystemstruktur zu entfernen. Der Grund für die allseits bekannte Fehlermeldung: »umount: /DEVICE: device is busy« ist, dass ein Prozess immer noch auf die Struktur zugreift und so ein »umount« verhindert.

Abhilfe schaffen hier die Kommandos »lsof« und »fuser«. Während lsof Dateien (und Verzeichnisse) auflistet, die von Prozessen geöffnet wurden, identifiziert fuser Prozesse, die Dateien oder Sockets geöffnet haben. Will man also beispielsweise untersuchen, welcher Prozess einen »umount« von »/boot« verhindert, kann man das mittels »lsof /boot« erledigen:

# lsof /boot
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 12390 mlindner cwd DIR 8,1 4096 2 /boot

Ist der Prozess erst einmal identifiziert, kann er regulär beendet werden. Eine weitere Möglichkeit stellt der Befehl »fuser« dar:

# fuser /boot
/boot: 12390c

Die hier gezeigte Ausgabe listet die PID des Prozesses und eine Kennzeichnung der Nutzung auf. In unserem Fall bedeutet der Buchstabe »c«, dass es das aktuelle Arbeitsverzeichnis des Prozesses ist. Wer es ein wenig ausführlicher mag, kann fuser auch mit dem Parameter »-v« ausführen. Die Ausgabe würde dann wie folgt aussehen:

# fuser -v /boot
 USER PID ACCESS COMMAND
/boot: mlindner 12390 ..c.. bash

Eine weitere Funktion von fuser stellt die Möglichkeit dar, Prozesse, die auf ein bestimmtes Verzeichnis oder eine Datei zugreifen, automatisch zu beenden. In diesem Fall muss dem Programm die Option »-k« mitgegeben werden:

# fuser /boot
/boot: 12390c
# fuser -k /boot
/boot: 12390c

Kommentare (Insgesamt: 19 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten