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?

Odpowiedzi:


38

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

 fusermount -u /path/to/sshfs/share

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

Czasami muszę zrobić „sudo umount -f” lub „sudo umount -l” zamiast umount.
fchen

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.