Symlink'lerle çalışabilmeniz için SSHFS aracılığıyla uzak bir SFTP yolunun nasıl kurulacağını bilen var mı? Bunu yaptığımda, oluşturduğum tüm semboller yanlış dosyalara işaret ediyorlar (bağlantılı olduğumları değil.) İlgilendiğim tüm semboller göreceli (mutlak değil), bu yüzden tam olarak uzak makinede olduğu gibi görünmelerini sağlamak ideal olun.
Varsayılan bağlama seçenekleriyle sshfs kullanarak, geçerli dizindeki başka bir dosyaya sembolik bağlantı oluşturamıyorum:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test
Bağlantı hedefi geçerli dizinde ( ./test
) olduğu için açıkça yanlıştır, ancak burada sshfs'nin /test
yanlış olan bir bağlantı oluşturduğunu görebilirsiniz - bağlantı hedefi /mnt/path/to/sshfs/mount/test
değil /test
.
transform_symlinks
Ben sshfs dosya sistemi monte seçeneği ekleyerek, bunun yerine aynı komutla göreli bir bağlantı olsun, ama yine de yanlış yere işaret ediyor:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test
Burada ./test
geçerli dizinde bağlantı kurmaya çalıştım , ancak bunun yerine ../../../test
üç seviyeye kadar bir bağlantı aldım !
sftp
Ancak sshfs ile bağlanmak yerine SFTP istemcisi komut satırıyla bağlantı kurmak işe yarar:
sftp> open ...
sftp> symlink test test2
...
$ cd /mnt/path/to/sshfs/mount
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> test
Bu bana uzak SFTP sunucusunun iyi çalıştığını söylüyor (özel bir SFTP istemcisi ile semboller oluşturabildiğim için), ancak bazı nedenlerden dolayı sshfs ile herhangi bir çalışan sembol oluşturamıyorum.
Garip bir şekilde, bir SSH sunucusuna kabuk erişimi sağlayan bir yol bağlamak için sshfs kullandığımda (yalnızca SFTP sunucusunun aksine) semboller iyi çalışıyor - Onları doğru şekilde oluşturabilirim. Yalnızca salt SFTP sunucusuna bağlandığında sorunlu görünüyor.
Neyi yanlış yapıyorum? Sembolleri çalıştırmak için bir SFTP sunucusuna bağlanırken sshfs'ye geçmek zorunda olduğum özel bir seçenek var mı?
sftp
küçük harf dediğimde SFTP arabirimi, yani komut satırı demek /usr/bin/sftp
. Gönderideki son örneğim, istekte bulunduğunuz gibi bu SFTP istemcisini kullanarak symlink'i yaptığım.
transform_symlinks
seçenek olmadan bir sshfs montajı üzerinden ne yaptığınızı, transform_symlinks
seçenek ile bir ssh montajı üzerinden ne yaptığınızı ve bir sftp istemcisi ile ne yaptığınızı açıklığa kavuşturmak için yazınızı düzenleyin . Symlinks SSHFS üzerinden normal şekilde çalışır, bu nedenle ilk cümlenizin cevabı “hiçbir şey” dir - bir hatayla karşılaştınız veya doğru komutları yazmıyorsunuz, ancak raporunuz neyin yanlış olduğunu bilmiyor.
ls -l
test sembollerinizde çalıştırdığınızda ne gösterir ?