NFS bağlama noktasına monte edildiğinde sshfs nasıl (temiz) çıkarılabilir?


15

İş arkadaşımın /homedosya sunucumuzda paylaşılan bir masaüstü bilgisayarı var . sshfsDizüstü bilgisayarımda iyi çalışan başka bir SSH ana bilgisayarında belirli bir dizini monte etmek için bir Perl betiği geliştirdim .

Bilgisayarında komut dosyası sshfssondaki bağlantısını kesemez ve bağlama noktasını kirli bırakır. Yeniden başlatma dışında bağlantı noktasını kurtarmanın bir yolunu bulamadım. Bazı testlerden sonra kurulumlarımız arasındaki farkın onun /homeNFS'de olması olduğunu fark ettim . Onun /tmpiçinde kusursuz çalışıyor.

Bağlandıktan sonra, komut dosyası işlemi sırasında her şey yolunda. Öldürme Ama sshfssüreç o kadar listelenir <defunc>tarafından psana süreç (Perl script) çıkışları kadar. sshfsKabuk üzerinde ham bir komut çalıştırılırken sorun devam ediyor.

ls -dlBağlama noktası için bir çıktı şu şekilde görünür (hatırlandığı gibi - eldeki kabuk çıktısının gerçek bir kopyası yok):

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

(yalnızca çoğu bilgi için soru işaretleri, en azından tüm izin ayrıntıları)

Sshfs mount hala tarafından listeleniyor, mountancak bağlantıyı kaldırma işlemi , yaparken bile hata izninin reddedilmesi ile başarısız oluyor root.

Google'da arama yaptım, ancak ağ dosya sistemlerini çalıştırmak için yalnızca sshfs ve NFS arasında çok sayıda karşılaştırma buldum. NFS dizininde sshfs mount / unmount'u nasıl güvenli bir şekilde yapabilirim?

Yanıtlar:


38

Sshfs paylaşımını yürüterek:

 fusermount -u /path/to/sshfs/share

Bunu denedim ama izin verilmedi . Tabii ki, sıradan umountolmayan bir kullanıcı olarak çalıştırıldığında sıradan bir başarısız olmalıdır.
Daniel Böhmer

Büyük olasılıkla (herhangi bir yöntemle) bağlantısını kesememenizin nedeni, ev dizininin NFS'den root_squashseçenekle dışa aktarıldığı yerdir . Böylece, kökün kendi evinde otoritesi yoktur. Kapatabilirsiniz, root_squashancak muhtemelen başka bir yere monte etmek daha güvenlidir.
JFlo

2
Dizini bir yerde kullanıldığında her zaman, umountya da fusermount -uçalışmıyor , unutuyorum . Yani cddizinin dışarı kullanmadan önce fusermount -uveya kullanımlsof /my/local/mountpoint
Eli

16

Sadece bağlı klasör yoluna pkill kullanarak ve sonra montaj işlemini kullanarak işlemi öldürmek.

 pkill -kill -f "sshfs" && umount /path/to/sshfs/share

Bazen umount yerine "sudo umount -f" ya da "sudo umount -l" yapmak zorundayım.
fchen

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.