Ein leerer Ordner ohne Benutzer kann nicht mit rm -rf gelöscht werden.

Ein leerer Ordner ohne Benutzer kann nicht mit rm -rf gelöscht werden.

Dies ist eine Solaris-Maschine (Unix)

Ich habe einen Ordner mit einigen Unterordnern, aber darin befindet sich keine Datei.

root # ls -al `find trash`
trash:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxr-xr-x   9 ----     ----        1024 Oct  8 06:20 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 src

trash/src:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 tob

trash/src/tob:
total 4
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..

Ich versuche es zu entfernen, aber es schlägt fehl:

root # rm -rf trash
rm: Unable to remove directory trash/src/tob: File exists
rm: Unable to remove directory trash/src: File exists
rm: Unable to remove directory trash: File exists

Ich versuche, nach dem Einhängepunkt zu suchen, aber es schlägt fehl:

root # mount | grep `pwd`

Ich versuche, nach einem laufenden Prozess mit pwd zu suchen, aber es gelingt mir nicht:

root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:

Gibt es einen Hinweis, wie ich diesen Ordner löschen kann, ohne die Festplatte zu formatieren? Ich bin noch ein Unix-Neuling, also sagen Sie mir bitte auch den Befehl, wenn Sie weitere Informationen suchen.

Antwort1

Wahrscheinlich erstellt ein Prozess dietobDatei direkt, nachdem rm sie gelöscht hat.Hier ist ein Blog-Beitrag zum Umgang damit.

Durch das Entfernen dieser Datei wird sie lediglich durch eine andere ersetzt. Es gibt zwei Lösungen: Löschen Sie die Datei manuell auf dem NFS-Server oder (wenn Sie diesen Zugriffstyp nicht haben) beenden Sie den Prozess.

Wenn sich die Datei nicht auf NFS befindet, ist der Ratschlag, zu prüfen, welcher Prozess einen Handle für die Datei hat, und ihn zu beenden, weiterhin gültig. Prüfen Sie mit:

fuser -u <file>

Nachdem Sie den Prozess beendet haben, sollten Sie das Verzeichnis löschen können.

verwandte Informationen