Das Aufheben der Bereitstellung eines Geräts erzwingen, wie geht das?

8

Ich habe ein Blockgerät (interne Festplatte) gemountet, um zu sagen ~/HD, und ich versuche,

~# umount ~/HD

Es antwortet,

umount: device is busy.

Jetzt töte ich alle Prozesse manuell durch Untersuchen

~# fuser -m ~/HD

Ich stelle auch sicher, dass wirklich kein Prozess auf den ~/HDPfad zugreift

~# lsof | grep HD

Dennoch umount ~/HDsagt device is busyauch mit -fOption.

PS: Ich möchte die -lOption nicht verwenden umount, da das gemountete Gerät tatsächlich ein verschlüsseltes Mapper-Gerät ist, das wiederum erst dann ausgehängt wird, wenn das Mapper-Gerät eindeutig nicht gemountet ist.

Also im Grunde meine Frage ist , wie man wirklich zwingen , umountein Gerät zu trennen oder wie kann noch ein Gerät als markiert werden beschäftigt , während keine Prozesse sie zugreifen (oder zumindest fuserund lsofberichte es nicht) und was kann ich dagegen tun?

Ich bin auf Ubuntu 9.10 x64.

Vikrant Chaudhary
quelle
Verwandte: superuser.com/questions/73028
Ilari Kajaste

Antworten:

3

Dieses Verhalten wird angezeigt, wenn Sie in einem Unterverzeichnis von ~ / hd etwas anderes bereitgestellt haben. In diesem Fall zeigen weder Fixiereinheit noch lsof etwas an. Wenn Sie unter ~ / hd nichts gemountet haben ('mount' beantwortet diese Frage), bin ich mir nicht sicher, was ich überprüfen soll.

Larsks
quelle
Ich wähle Ihre Antwort als die beste aus, auch wenn dies nicht mein Zustand war, aber es kann anderen helfen. Ich kann auch keine bessere Antwort finden. ;)
Vikrant Chaudhary
5

Stellen Sie sicher, dass Ihr aktuelles Arbeitsverzeichnis (führen Sie 'pwd' aus) nicht unter ~ / hd steht. Wenn Sie sich derzeit in diesem Verzeichnis befinden, weigert sich umount, die Bereitstellung aufzuheben.

IvanGoneKrazy
quelle
3

Der Befehl lsof teilt Ihnen mit, welche Prozesse eine Datei offen halten.

kmarsh
quelle
2

Um aktive Prozesse / Benutzer zu finden, führen Sie Folgendes aus:

Fixiereinheit -u / path / to / mount

Führen Sie dann die folgenden Schritte aus, um sie zu entfernen:

Fixiereinheit -k / path / to / mount

schließlich umount das störende Gerät.

Lars Tackmann
quelle
Gefährlich. Verwenden Sie auch mit -M.
Tom Hale
1

Larsks schrieb: "Sie werden dieses Verhalten sehen, wenn Sie etwas anderes in ein Unterverzeichnis von ~ / hd gemountet haben. In diesem Fall zeigen weder Fixiereinheit noch lsof etwas an."

Wenn Sie lsof mit grep verwenden, wird die Verwendung des Unterverzeichnisses angezeigt - z. B. "lsof | grep HD".

Ich hatte das gleiche Problem wie das Originalposter und fand die Ursache mit dem obigen Befehl.

Pete
quelle
0

Haben Sie versucht, die Synchronisierung zu verwenden ?

Mit dem Befehl sync werden die Caches des Dateisystems geleert, indem die geänderten Blöcke auf die Festplatte geschrieben werden.

Jr. Hames
quelle
Es ist keine Synchronisierung erforderlich - umount leert den Cache nach Bedarf.
Kevin Panko
0

Wenn Sie es wirklich nur aushängen möchten, können Sie umount -f verwenden

vom Mann umount :

-f     Force unmount (in case of an unreachable NFS system).  (Requires kernel 2.1.116 or later.)
Lumpen
quelle
Funktioniert nicht, aber es ist nicht deine Schuld. Es ist Linus 'Schuld. :-(
Reinstate Monica
0

Ich konnte die Bereitstellung nicht aufheben, da ein Benutzer eine offene SMB-Sitzung hatte. Eine Überprüfung wert.

FreeSoftwareServer
quelle
1
Dies scheint eher ein Kommentar als eine Antwort auf eine 5 Jahre alte Frage zu sein.
Ramhound
Ich hatte weder den Repräsentanten noch werde ich mit Abstimmungen, aber spielt das Alter eine Rolle, wenn ein Beitrag ~ 21.000 Aufrufe hat? Hier führt mich Google heute und lsof | grep / mnt / disk hat mein Problem gelöst
FreeSoftwareServers
1
Ja; es ist wichtig, weil Kommentare keine Antworten sind. Sie können Ihre Antwort leicht bearbeiten und zu einer Antwort machen, aber derzeit scheint die Art und Weise, wie sie geschrieben ist, eher ein Kommentar zu sein. Eine Antwort beschreibt eine Lösung im Detail und beantwortet speziell die gestellte Frage. Wenn Sie nicht den Ruf haben, einen Kommentar als Antwort zu veröffentlichen, können Sie einen Kommentar nicht veröffentlichen.
Ramhound
Sicher, ich wollte es zu einem Kommentar machen, konnte es aber nicht, aber Sie verweisen auf die Tatsache, dass es 5 Jahre alt ist, als wäre es wichtig. Ich werde es dann aktualisieren ... und den ls grep Teil hinzufügen
FreeSoftwareServers
1
Alle Inhalte sind wichtig. Ihre Antwort brachte diese Frage auf die 1. Seite. Wenn Sie hilfreiche detaillierte Inhalte zu Fragen kommentieren möchten, kennen Sie die Antwort oder stellen detaillierte spezifische Fragen
Ramhound