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.