¿Alguien sabe cómo montar una ruta SFTP remota a través de SSHFS para que pueda trabajar con enlaces simbólicos? Cuando hago esto, todos los enlaces simbólicos que creo apuntan a los archivos incorrectos (no a los que vinculé). Todos los enlaces simbólicos que me interesan son relativos (no absolutos), por lo que aparecerán exactamente como lo hacen en la máquina remota. ser ideal
Al usar sshfs con las opciones de montaje predeterminadas, no puedo crear un enlace simbólico a otro archivo en el directorio actual:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test
Lo cual es obviamente incorrecto, ya que el destino del enlace está en el directorio actual ( ./test
), pero aquí puede ver que sshfs crea un enlace /test
incorrecto, el destino del enlace /mnt/path/to/sshfs/mount/test
no lo está /test
.
Al agregar la transform_symlinks
opción cuando monte el sistema de archivos sshfs, obtengo un enlace relativo en su lugar con el mismo comando, pero aún apunta al lugar incorrecto:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test
Aquí traté de vincularme ./test
en el directorio actual, ¡pero en su lugar obtuve un enlace a ../../../test
tres niveles arriba!
sftp
Sin embargo, conectarse con el cliente SFTP de línea de comandos en lugar de montar con sshfs funciona:
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
Esto me dice que el servidor SFTP remoto funciona bien (ya que puedo crear enlaces simbólicos con un cliente SFTP dedicado), pero por alguna razón no puedo crear enlaces simbólicos que funcionen a través de sshfs.
Por extraño que parezca, cuando uso sshfs para montar una ruta en un servidor SSH que proporciona acceso de shell (a diferencia de un servidor solo de SFTP), los enlaces simbólicos funcionan bien: puedo crearlos correctamente. Solo parece ser problemático cuando está conectado a un servidor solo de SFTP.
¿Qué estoy haciendo mal? ¿Hay una opción especial que debo pasar a sshfs cuando me conecto a un servidor SFTP para que funcionen los enlaces simbólicos?
ls -l
sus enlaces simbólicos de prueba?sftp
en minúsculas me refiero a la interfaz SFTP de la línea de comandos, es decir/usr/bin/sftp
. Mi último ejemplo en la publicación es cuando hago el enlace simbólico usando este cliente SFTP, tal como lo solicitas.transform_symlinks
opción, lo que está haciendo sobre un montaje ssh con latransform_symlinks
opción y lo que está haciendo con un cliente sftp. Los enlaces simbólicos funcionan normalmente a través de SSHFS, por lo que la respuesta a su primera oración es "nada": o ha encontrado un error o no está escribiendo los comandos correctos, pero su informe no es muy claro para saber qué está mal.Respuestas:
Para transformar los
/
enlaces simbólicos absolutos remotos (comenzando con ) para que sean relativos alsshfs
punto de montaje, use lafollow_symlinks
opción:La
transform_symlinks
opción no hace nada por mí, vea este problema .fuente
He visto el comportamiento que describiste antes, pero al probarlo ahora puedo crear enlaces simbólicos muy bien en un directorio montado en sshfs:
Actualicé sshd en el control remoto hace aproximadamente 4 meses. La versión anterior habría tenido varios años. Tal vez la actualización solucionó el problema. Esto puede dar alguna pista de lo que estoy usando ahora:
No he hecho nada para cambiar sshfs, excepto lo que Ubuntu hace automáticamente.
HTH
fuente