Adakah yang tahu cara memasang jalur SFTP jarak jauh melalui SSHFS sehingga Anda dapat bekerja dengan symlink? Ketika saya melakukan ini, semua symlink yang saya buat menunjuk ke file yang salah (bukan yang saya tautkan.) Semua symlink yang saya minati relatif (tidak absolut) sehingga memiliki mereka muncul persis seperti yang mereka lakukan pada mesin remote akan menjadi ideal.
Menggunakan sshfs dengan opsi mount standar, saya tidak dapat membuat symlink ke file lain di direktori saat ini:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test
Yang jelas salah, karena target tautan ada di direktori saat ini ( ./test
), tetapi di sini Anda dapat melihat bahwa sshfs membuat tautan /test
yang salah - target tautan /mnt/path/to/sshfs/mount/test
tidak /test
.
Dengan menambahkan transform_symlinks
opsi ketika saya me-mount sistem file sshfs, saya mendapatkan tautan relatif alih-alih dengan perintah yang sama, tetapi masih menunjuk ke tempat yang salah:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test
Di sini saya mencoba menautkan ke ./test
dalam direktori saat ini, tetapi sebaliknya saya mendapat tautan ke ../../../test
tiga level di atas!
Namun, menghubungkan dengan klien baris perintah SFTP sftp
alih-alih pemasangan dengan sshfs bekerja:
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
Jadi ini memberitahu saya server SFTP jauh berfungsi dengan baik (karena saya dapat membuat symlink dengan klien SFTP khusus), tetapi untuk beberapa alasan saya tidak dapat membuat symlink yang berfungsi meskipun sshfs.
Anehnya, ketika saya menggunakan sshfs untuk me-mount path pada server SSH yang menyediakan akses shell (sebagai lawan dari server SFTP-only) symlinks berfungsi dengan baik - saya dapat membuatnya dengan benar. Tampaknya hanya bermasalah ketika terhubung ke server khusus SFTP.
Apa yang saya lakukan salah? Apakah ada opsi khusus yang harus saya berikan ke sshfs ketika saya terhubung ke server SFTP untuk membuat symlink berfungsi?
ls -l
symlink pengujian Anda?sftp
dalam huruf kecil maksud saya antarmuka baris perintah SFTP, yaitu/usr/bin/sftp
. Contoh terakhir saya di posting adalah ketika saya membuat symlink menggunakan klien SFTP ini, seperti yang Anda minta.transform_symlinks
opsi, apa yang Anda lakukan di atas ssh mount dengantransform_symlinks
opsi, dan apa yang Anda lakukan dengan klien sftp. Symlinks berfungsi dengan normal pada SSHFS, jadi jawaban untuk kalimat pertama Anda adalah "tidak ada" - apakah Anda telah menemukan bug atau Anda tidak mengetik perintah yang benar, tetapi pelaporan Anda terlalu jelas untuk mengetahui apa yang salah.Jawaban:
Untuk mentransformasikan
/
symlink absolut jauh (dimulai dengan ) menjadi relatif kesshfs
titik mount, gunakanfollow_symlinks
opsi:The
transform_symlinks
pilihan tidak apa-apa bagi saya, lihat masalah ini .sumber
Saya telah melihat perilaku yang Anda jelaskan sebelumnya, tetapi mengujinya sekarang saya dapat membuat symlink dengan baik pada direktori yang dipasang sshfs:
Saya meningkatkan sshd pada remote sekitar 4 bulan yang lalu. Versi lama mungkin sudah beberapa tahun. Mungkin pembaruan memperbaiki masalah. Ini mungkin memberikan beberapa petunjuk tentang apa yang saya gunakan sekarang:
Saya belum melakukan apa pun untuk mengubah sshfs, kecuali apa yang dilakukan Ubuntu secara otomatis.
HTH.
sumber