Mój współpracownik ma komputer stacjonarny /home
udostępniony na naszym serwerze plików. Opracowałem skrypt Perla do sshfs
montażu określonego katalogu na innym hoście SSH, który działa dobrze na moim laptopie.
Na jego komputerze skrypt nie zsiada sshfs
na 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 /home
dotyczy NFS. W jego /tmp
przypadku działa bezbłędnie.
Po zamontowaniu podczas operacji skryptowej wszystko jest w porządku. Ale po zabiciu sshfs
procesu jest on wyświetlany jako <defunc>
, ps
dopóki proces nadrzędny (skrypt Perla) nie zakończy działania. Po uruchomieniu surowego sshfs
polecenia w powłoce problem nadal występuje.
ls -dl
Wyjś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, mount
ale 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?
umount
musi zawieść, gdy działa jako użytkownik inny niż root.root_squash
opcją. Zatem root nie ma autorytetu w swoim rodzinnym reż. Możesz się wyłączyć,root_squash
ale prawdopodobnie bezpieczniej jest po prostu zamontować gdzie indziej.umount
lubfusermount -u
nie działa, gdy katalog jest gdzieś używany. Więccd
wyjdź z katalogu przed użyciemfusermount -u
lub użyciemlsof /my/local/mountpoint
Wystarczy zabić proces za pomocą pkill, a następnie odinstalować ścieżkę zamontowanego folderu.
źródło
Wygląda na to, że to polecenie działa w systemie OS X.
źródło