Supongamos que tengo dos sistemas idénticos. En el primer sistema he creado un enlace simbólico. En el segundo, quiero copiar ese enlace simbólico a través de sftp y el enlace simbólico funcionará igual (es decir, si el enlace simbólico se vincula a /etc/
, después de copiarlo, solo se copiará el enlace simbólico y solo el enlace simbólico (no los archivos vinculados))
¿Alguna idea sobre cómo puedo hacer esto / si puedo hacer esto? Yo solamente quiero copiar el enlace simbólico, nada más; Solo la referencia.
sftp
No te dejaré hacer eso.rsync
can, as canssh cp ...
Respuestas:
Si sube el enlace simbólico, puede copiar el tarball en la máquina remota de la forma que desee. Cuando lo descomprimas, verás que solo has copiado el enlace simbólico y nada más. Por ejemplo:
Para probar esto, primero creé un archivo de texto.
Luego, cree un enlace simbólico al archivo y comprímalo en un tar gzip.
Transfiera este archivo a su otra máquina y luego descomprímalo:
Encontrará que el enlace simbólico está allí, pero no el archivo original al que apuntaba.
Por supuesto, si desea transferir tanto el archivo original como el enlace simbólico mientras conserva su relación, puede colocarlos en el tarball y ambos se transferirán, y el enlace simbólico aún debe apuntar correctamente al archivo original cuando descomprima el tarball en la ubicación de destino.
fuente
sftp
( linux.die.net/man/1/sftp )! Existe el comandosymlink
específicamente para lo que parece necesitar.No está claro cómo exactamente quiere lidiar con el enlace simbólico. Según tengo entendido, desea volver a crear el enlace simbólico en el otro sistema. Los enlaces simbólicos dependen del sistema de archivos, el protocolo utilizado para copiar archivos debe ser consciente de ello. Un buen ejemplo es usar
rsync
con la-a
opción.más específicamente, la
-l
opción, pero-a
es probablemente lo que quieres.Volverá a crear enlaces simbólicos sin arrastrar los objetivos (desreferenciar los enlaces).
fuente
sftp
recorrerá subdirectorios con el-r
interruptor, pero no seguirá enlaces simbólicos, ya que abstrae los sistemas de archivos.sftp
admite la creación de enlaces simbólicos en el host. Al menos debe intentar descargar simplemente el enlace simbólico (cuando el enlace simbólico es~/etc
->/etc/
hacerget etc
sin el arrastre/
) y ver qué pasa. Depende del FS del servidor y del cliente. Por favor edite su pregunta original en consecuencia!Sé que @polemon ya ha respondido esto.
Pero haciendo mi parte para una solución rápida.
Tuve que hacer man rsync para saber qué interruptor quiero usar ...
Sin embargo, en su caso, debe asegurarse de que los enlaces no estén rotos.
fuente
Una solución muy fácil (para el directorio de inicio):
o
p.ej
para proporcionar una ubicación .bashrc con enlace simbólico a otro destino (por ejemplo, red).
fuente
Las otras respuestas ya explican cómo transferir un enlace simbólico a otra máquina. Sin embargo, independientemente de cómo transfiera el enlace simbólico, no podrá usar este enlace simbólico para acceder a un archivo a
/etc/
través de FTP, SFTP, SCP, SSH o de otra manera. Estos servicios tienden a agruparse en un directorio determinado o, de lo contrario, no pueden proporcionar acceso a archivos que no se compartieron explícitamente. Por supuesto, siempre hay formas de hackear esto en sistemas más antiguos, pero tales vulnerabilidades tienden a ser reparadas y actualizadas tan pronto como se encuentran. Lo siento, no creo que lo que quieras hacer sea posible.fuente