Estaba ejecutando un script que iteraba sobre todos los archivos en mi sistema Linux y creaba algunos metadatos sobre ellos, y arrojó un error cuando golpeó un enlace simbólico roto.
Soy nuevo en * nix, pero tengo la idea principal de vincular archivos y cómo los enlaces rotos llegan a existir. Hasta donde yo sé, son como el equivalente de la basura en la calle. Las cosas que un programa que estoy eliminando no eran lo suficientemente inteligentes como para decir que el administrador de paquetes existía y pertenecía a él, o algo que quedó atrás en una actualización. Al principio, comencé a modificar el script que estoy ejecutando para omitirlos, luego pensé, 'bueno, siempre podríamos eliminarlos mientras estamos aquí ...'
Estoy ejecutando Ubuntu 14.04 (Trusty Tahr). No veo ninguna razón para no hacerlo, pero antes de seguir adelante y ejecutar esto en mi sistema de desarrollo, ¿hay alguna razón por la que esta sea una idea terrible? ¿Los enlaces simbólicos rotos tienen algún propósito que desconozco?
Respuestas:
Hay muchas razones para los enlaces simbólicos rotos:
Resolución: elimine el enlace simbólico roto.
Resolución: encuentre el objetivo deseado y arregle el enlace.
Resolución: encuentre el objetivo deseado y corrija el enlace.
Resolución: ninguna, el enlace no está roto en todas partes.
Resolución: ninguna, el enlace no está roto para todos.
Resolución: ninguna. En este caso, eliminar el enlace sería perjudicial.
Si puede determinar que un enlace simbólico cae en la primera categoría, entonces, seguro, continúe y elimínelo. De lo contrario, abstenerse.
Un programa que atraviesa directorios de forma recursiva y se preocupa por el contenido de los archivos generalmente debe ignorar los enlaces simbólicos rotos.
fuente
No elimine ciegamente todos los enlaces simbólicos que cuelgan. Pueden existir solo para transportar cierta información, y pueden ser más seguros que los archivos normales, ya que la creación de un enlace simbólico es atómica.
Por ejemplo, Firefox crea un "bloqueo" de archivo de bloqueo que es un enlace simbólico cuyo valor tiene una forma como "dirección_IP: + PID".
fuente
Tanto el fnord como el servidor web de Gatling usan el sistema de archivos Unix como su base de datos de configuración (a diferencia de, por ejemplo, Microsoft IIS, que usa el registro de Windows, o Apache, que usa un archivo de configuración complejo para analizar).
Por ejemplo, los hosts virtuales son solo directorios, y crear un nuevo host virtual es tan simple como
¿Configurar qué archivos servir?
¿Configurar qué archivos ejecutar como CGI y cuáles servir?
Y por último (y relevante para esta pregunta): ¿configurar una redirección?
Ahora tendrá un enlace simbólico llamado
search.html
que apunta a ninguna parte, pero es crucial para el funcionamiento de su sitio.fuente
Un enlace simbólico puede apuntar a una ubicación aún vacía para forzar la creación en una ubicación o nombre de sistema de archivos específico.
Entonces no, no los elimine a ciegas.
fuente
Una desventaja significativa de eliminar enlaces simbólicos obsoletos es que pierdes la referencia a donde solían señalar, ¡lo cual puede ser muy valioso!
Digamos que tengo un enlace simbólico para un archivo llamado "
send_to
" que apunta/Users/myname/tmp
y supone que/Users/myname/tmp
no existe.Con el enlace simbólico, sé dónde estaba destinado el archivo . Por ejemplo, en este caso puedo ver que es un directorio temporal y si necesito "arreglarlo", debería considerar un directorio temporal como el destino.
Del mismo modo, un enlace "
my_config
" que apunta a/etc/conf_file
eso va 'mal' porque el nombreconf_file
ha sido renombrado como "archivo_confirmación" sigue siendo información útil. Si fue al/etc
directorio e hizo unals
y vio queconf_file
faltaba el archivo llamado peroconfirmation_file
estaba allí, es posible que tenga suficiente información para arreglar el enlace.fuente
Citando desde la línea de comandos de Linux (el mejor libro para principiantes de Linux, y puedes descargarlo gratis aquí ):
Entonces, no, no eliminaría los enlaces simbólicos, ya que sin duda será un dolor de cabeza seguir adelante, y corre el riesgo de dañar seriamente su sistema.
fuente