Wpadłem ostatnio na problem, gdzie zamontowany system plików SSHFS nie chciał się odmontować.

Próbowałem odmontować go z wnętrza Nautilusa, klikając prawym przyciskiem myszy na mocowanie i wybierając Odmontuj, ale to się nie udało z komunikatem o błędzie. Błąd informował mnie, że nie można odmontować urządzenia i podawał powód „mount disagrees with the fstab”.

Następnie edytowałem fstab (sudo vi /etc/fstab) i wykomentowałem wpis dla urządzenia. Spróbowałem ponownie odmontować urządzenie w Nautilusie, ale tym razem powiedział mi, że nie mogę odmontować urządzenia, ponieważ nie jestem rootem i urządzenie nie było wymienione w fstab. Następnie odkomentowałem poprzednio skomentowaną linię i ponownie zapisałem plik.

Czas się ubrudzić. Próbowałem ręcznie uruchomić umount, ale się nie udało:

$ sudo umount /mnt/shareumount: /mnt/share: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))$ 

Teraz to się robiło osobiste, ponieważ poprzednie wiadomości nie mówiły nic o tym, że urządzenie jest w użyciu. Zamknąłem wszystkie aplikacje i spróbowałem ponownie. Ten sam komunikat o błędzie.

Postępowałem zgodnie z instrukcjami i uruchomiłem man lsof, a następnie man fuser, aby dowiedzieć się więcej o tych zalecanych poleceniach. fuser okazał się zwycięzcą.

fuser pozwala na uzyskanie szczegółowych informacji o procesach, które używają określonych plików lub gniazd. Oprócz uzyskania informacji, pozwala na zabicie procesów mających dostęp do pliku lub gniazda. To było dokładnie to, czego szukałem.

Po zapoznaniu się ze składnią fusera, wykonałem następujące polecenie:

$ sudo fuser -km /mnt/share/mnt/share/: 9004c$ 

To polecenie w zasadzie tłumaczy się na „znajdź każdy proces, który ma dostęp do punktu montowania /mnt/share i zabij go”. Ponieważ nie byłem pewien własności procesów, które zostaną zabite, uruchomiłem je z sudo, aby upewnić się, że wszystkie procesy mogą zostać zabite.

Odpowiedź /mnt/share/: 9004c oznacza, że proces o ID 9004 został zakończony.

Ponownie uruchomiłem:

$ sudo umount /mnt/share$ 

Ta komenda radośnie odpowiedziała, że nic, co jest dobrym znakiem, ponieważ oznacza, że polecenie umount się powiodło.

Wreszcie, wierzchowiec został odmontowany. Teraz, gdybym tylko mógł sobie przypomnieć, co próbowałem zrobić, gdy pojawił się ten problem…

Czy pomogłem Ci?

  • Wyślij mi napiwek przez Paypal.
  • Pomóż w hostingu tej strony, korzystając z mojego kodu polecającego Linode.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.