Wymusić odmontowanie urządzenia, jak to zrobić?

8

Powiedziałem, że zamontowałem urządzenie blokowe (wewnętrzny dysk twardy) ~/HDi próbuję,

~# umount ~/HD

Odpowiada

umount: device is busy.

Teraz zabijam wszystkie procesy ręcznie, badając

~# fuser -m ~/HD

Upewniam się również, że tak naprawdę żaden proces nie ma dostępu do ~/HDścieżki

~# lsof | grep HD

Nadal umount ~/HDmówi device is busynawet z -fopcją.

PS: Nie chcę korzystać z -lopcji umount, ponieważ podłączone urządzenie jest tak naprawdę zaszyfrowanym urządzeniem mapującym, które z kolei nie zostanie odmontowane, chyba że urządzenie mapujące zostanie wyraźnie odmontowane.

Więc w zasadzie moje pytanie brzmi jak naprawdę zmusić umountodłączyć urządzenie lub jaki sposób urządzenie nadal być oznaczony jako zajęty podczas gdy żadne procesy dostępu do niego (lub przynajmniej fusera lsofnie go zgłosić) i co mogę z tym zrobić?

Jestem na Ubuntu 9.10 x64.

Vikrant Chaudhary
źródło
Powiązane: superuser.com/questions/73028
Ilari Kajaste

Odpowiedzi:

3

Zobaczysz to zachowanie, jeśli zamontowałeś coś innego w podkatalogu ~ / hd. W takim przypadku ani utrwalacz, ani lsof niczego nie pokażą. Jeśli nic nie zamontowałeś pod ~ / hd ('mount' odpowie na to pytanie), to nie jestem pewien, co sprawdzić.

Larsks
źródło
Wybieram twoją odpowiedź jako najlepszą, nawet to nie był mój warunek, ale może pomóc innym. Nie mogę też znaleźć lepszej odpowiedzi. ;)
Vikrant Chaudhary
5

Upewnij się, że bieżący katalog roboczy (uruchom „pwd”) nie znajduje się w katalogu ~ / hd. Jeśli aktualnie znajdujesz się w tym katalogu, umount odmówi odmontowania.

IvanGoneKrazy
źródło
3

Polecenie lsof powie ci, jakie procesy utrzymują otwarty plik.

kmarsh
źródło
2

aby zlokalizować aktywne procesy / użytkownicy wykonują:

fuser -u / path / to / mount

następnie wykonaj następujące czynności, aby je usunąć:

fuser -k / path / to / mount

na końcu zamontuj urządzenie naruszające prawo.

Lars Tackmann
źródło
Niebezpieczny. Używaj z -M.
Tom Hale,
1

Larsks napisał: „Zobaczysz to zachowanie, jeśli zamontowałeś coś innego w podkatalogu ~ / hd. W tym przypadku ani fuser, ani lsof niczego nie pokażą”.

Użycie lsof z grep spowoduje użycie podkatalogu - np. „Lsof | grep HD”.

Miałem ten sam problem, co oryginalny plakat i znalazłem przyczynę, korzystając z powyższego polecenia.

Pete
źródło
0

Próbowałeś użyć synchronizacji ?

Polecenie synchronizacji opróżnia pamięć podręczną systemu plików, wymuszając zapisanie zmienionych bloków na dysku.

Jr. Hames
źródło
Nie ma potrzeby synchronizacji - umount opróżni pamięć podręczną w razie potrzeby.
Kevin Panko
0

Jeśli naprawdę chcesz po prostu odmontować, możesz użyć umount -f

od człowieka umount :

-f     Force unmount (in case of an unreachable NFS system).  (Requires kernel 2.1.116 or later.)
łachmany
źródło
Nie działa, ale to nie twoja wina. To wina Linusa. :-(
peterh - Przywróć Monikę
0

Nie mogłem odmontować, ponieważ użytkownik miał otwartą sesję SMB. Warto sprawdzić.

FreeSoftwareServers
źródło
1
To bardziej przypomina komentarz niż odpowiedź na pięcioletnie pytanie.
Ramhound,
nie mam przedstawiciela ani nie mam negatywnych opinii, ale czy wiek ma znaczenie, gdy post ma ~ 21 000 wyświetleń? To miejsce, gdzie Google prowadzi mnie dzisiaj i lsof | grep / mnt / disk rozwiązał mój problem
FreeSoftwareServers
1
Tak; ma to znaczenie, ponieważ komentarze nie są odpowiedziami. Możesz łatwo edytować swoją odpowiedź i uczynić ją odpowiedzią, ale obecnie sposób, w jaki jest napisany, wydaje się bardziej komentarzem. Odpowiedź szczegółowo opisuje rozwiązanie i szczegółowo odpowiada na zadane pytanie. Nie masz reputacji, aby opublikować komentarz jako odpowiedź, nie jest to sposób, w jaki publikujesz komentarz.
Ramhound,
Jasne, że chciałem to skomentować, ale nie mogłem nie wspomnieć o tym, że ma on 5 lat, ponieważ jest to ważne. Zaktualizuję go wtedy ... i dodam część ls grep
FreeSoftwareServers
1
Cała zawartość jest ważna. Twoja odpowiedź przeniosła to pytanie na pierwszą stronę. Jeśli chcesz skomentować post pomocną szczegółową treść pytań, na które znasz odpowiedź lub zadaj szczegółowe pytania szczegółowe
Ramhound,