Jak (czysto) odinstalować sshfs po zamontowaniu w punkcie montowania NFS?

15

Mój współpracownik ma komputer stacjonarny /homeudostępniony na naszym serwerze plików. Opracowałem skrypt Perla do sshfsmontażu określonego katalogu na innym hoście SSH, który działa dobrze na moim laptopie.

Na jego komputerze skrypt nie zsiada sshfsna końcu i pozostawia mountpoint nieczysty. Nie znalazłem innego sposobu na odzyskanie punktu montowania niż ponowne uruchomienie. Po kilku testach odkryłem, że różnica między naszymi konfiguracjami polega na tym, że jego /homedotyczy NFS. W jego /tmpprzypadku działa bezbłędnie.

Po zamontowaniu podczas operacji skryptowej wszystko jest w porządku. Ale po zabiciu sshfsprocesu jest on wyświetlany jako <defunc>, psdopóki proces nadrzędny (skrypt Perla) nie zakończy działania. Po uruchomieniu surowego sshfspolecenia w powłoce problem nadal występuje.

ls -dlWyjście do montowania wygląda tak (jak przypomniał - nie mam prawdziwą kopię wyjściu powłoki pod ręką):

? 1 ? ? 4096 Feb  9 15:37 file_archive/

(tylko znaki zapytania dla większości informacji, przynajmniej wszystkich szczegółów pozwolenia)

Podłączenie sshfs jest nadal wyświetlane przez, mountale odmontowanie kończy się niepowodzeniem, a odmowa dostępu do błędu jest odrzucana, nawet jeśli robi to jako root.

Przeszukałem Google, ale znalazłem tylko wiele porównań między sshfs i NFS dla działających sieciowych systemów plików. Jak mogę bezpiecznie podłączyć / odmontować sshfs w katalogu NFS?

Daniel Böhmer
źródło

Odpowiedzi:

38

Powinieneś być w stanie odmontować udział sshfs wykonując:

 fusermount -u /path/to/sshfs/share
CJ Travis
źródło
Próbowałem tego, ale odmówiono mi pozwolenia . Oczywiście zwykły użytkownik umountmusi zawieść, gdy działa jako użytkownik inny niż root.
Daniel Böhmer
Najprawdopodobniej powodem, dla którego nie można odmontować (żadną metodą), jest to, że jego domowy katalog jest montowany z NFS, gdzie jest eksportowany z root_squashopcją. Zatem root nie ma autorytetu w swoim rodzinnym reż. Możesz się wyłączyć, root_squashale prawdopodobnie bezpieczniej jest po prostu zamontować gdzie indziej.
JFlo,
2
Za każdym razem zapominam, że umountlub fusermount -unie działa, gdy katalog jest gdzieś używany. Więc cdwyjdź z katalogu przed użyciem fusermount -ulub użyciemlsof /my/local/mountpoint
eli
16

Wystarczy zabić proces za pomocą pkill, a następnie odinstalować ścieżkę zamontowanego folderu.

 pkill -kill -f "sshfs" && umount /path/to/sshfs/share
SAGAR
źródło
Czasami muszę zrobić „sudo umount -f” lub „sudo umount -l” zamiast umount.
fchen
0
sudo diskutil umount force ~/mount/

Wygląda na to, że to polecenie działa w systemie OS X.

Robert Mihai Ionas
źródło
6
Czy możesz rozszerzyć swoją odpowiedź, aby wyjaśnić, co robi ten kod i jak rozwiązuje problem? Niewyjaśniony kod jest odradzany , ponieważ nie uczy rozwiązania. Dzięki. z kolejki recenzji
fixer1234
To dotyczy OS X. Pytanie zadane dla systemu Linux.
Duncan X Simpson,