Cómo encontrar y reparar enlaces simbólicos rotos en Linux
¿Quiere saber más sobre la eliminación de enlaces simbólicos rotos en su sistema? Tal vez alguien le dijo cómo los enlaces simbólicos muertos ocupan espacio en su dispositivo de almacenamiento y ahora quiere deshacerse de ellos para siempre.
Afortunadamente, hay varias utilidades disponibles que puede descargar en su computadora Linux para administrar enlaces simbólicos. Estas herramientas también le ayudarán a encontrar enlaces blandos rotos y repararlos permanentemente.
Aquí discutiremos cómo puede informar y reparar enlaces simbólicos rotos en su sistema utilizando enlaces simbólicos y el comando de búsqueda .
¿Qué son los enlaces simbólicos y cómo puedo crear uno?
Generalmente, cada sistema informático tiene dos tipos de enlaces: enlaces blandos y enlaces duros. Los enlaces duros son entradas de directorio que vinculan un nombre específico con un archivo presente en su sistema. Estos son los archivos originales que se almacenan en una dirección particular en su almacenamiento.
Por otro lado, los enlaces suaves son cadenas de texto que vinculan dos directorios o archivos entre sí. Los atajos de programa son un gran ejemplo de enlaces simbólicos. Supongamos que el archivo A tiene un enlace simbólico con el archivo B. Esto significa que el archivo A almacenará la ruta absoluta o relativa al archivo B.
Para crear un enlace simbólico:
- Inicie la terminal presionando Ctrl + Alt + T en su teclado.
- Cree un nuevo archivo de texto llamado text.txt .
touch text.txt
- Vincula otro archivo de texto ( otro.txt ) con el archivo que acabas de crear ( text.txt ).
ln -s text.txt another.txt
Acaba de vincular dos archivos de texto diferentes mediante un enlace simbólico. El comando ln es la forma predeterminada de crear enlaces simbólicos en un sistema operativo basado en Linux. La -s en el comando mencionado anteriormente significa enlaces simbólicos.
El principal problema con los enlaces simbólicos es que, si elimina o mueve el archivo de destino, el enlace simbólico no se elimina automáticamente. En cambio, el enlace ahora apunta a un archivo que ni siquiera está presente en su sistema. Estos enlaces se conocen como enlaces colgantes, rotos, huérfanos o muertos.
Encontrar y reparar enlaces simbólicos rotos
Primero, debe confirmar que existe un enlace simbólico en el sistema. Puede hacerlo fácilmente usando el comando ll y grep .
ll | grep txt
El comando anterior enumerará todos los enlaces simbólicos asociados con archivos de texto en su directorio de trabajo actual.
Ahora, si tuviéramos que romper el enlace simbólico que hemos creado anteriormente eliminando el archivo de texto principal ( text.txt ):
rm text.txt
El enlace simbólico se romperá y no se eliminará de su sistema. Puede confirmar esto escribiendo ll | grep txt en su terminal de nuevo.
Aunque un par de enlaces simbólicos rotos no dañarán su computadora, esto puede convertirse gradualmente en mil en poco tiempo. Es por eso que es necesario monitorear los enlaces colgantes en su sistema.
La única forma de arreglar estos enlaces simbólicos rotos es eliminándolos. Su sistema contiene cientos de enlaces colgantes y nadie tiene tiempo para buscar estos enlaces manualmente. En tales casos, las herramientas y los comandos de Linux resultan realmente útiles.
Usando Symlinks
Symlinks es una poderosa utilidad que le proporciona todas las herramientas que necesita para administrar y reparar enlaces simbólicos rotos en su sistema. Dado que no está instalado en la mayoría de las distribuciones de Linux de forma predeterminada, tendrá que instalarlo manualmente.
Puede usar Pacman para instalar el paquete en Arch Linux :
sudo pacman -S symlinks
En Fedora:
sudo dnf install symlinks
En CentOS:
sudo yum install symlinks
En distribuciones basadas en Debian:
sudo apt-get install symlinks
Si está ejecutando Ubuntu, antes de instalar el paquete de enlaces simbólicos, deberá agregar el repositorio del universo a la lista de repositorios de su sistema.
sudo add-apt-repository universe
Una vez que haya instalado con éxito los enlaces simbólicos, debe comprobar si hay enlaces huérfanos en su sistema. Para hacerlo, ingrese:
symlinks .
El . El carácter (punto) se refiere al directorio de trabajo actual. Si desea informar enlaces simbólicos rotos en su directorio / home , puede hacerlo escribiendo:
symlinks /home
Si hay un enlace roto en su sistema, obtendrá un resultado parecido a esto.
dangling: /home/sharmadeepesh/another.txt -> test.txt
Para eliminar rápidamente el enlace simbólico informado, puede usar la marca -d con el comando predeterminado.
symlinks -d .
Para eliminar enlaces simbólicos colgantes en el directorio / home , ingrese:
symlinks -d /home
Esta vez, la salida no solo enumerará el enlace roto, sino que también informará que el enlace ahora se ha eliminado.
dangling: /home/sharmadeepesh/another.txt -> test.txt
deleted: /home/sharmadeepesh/another.txt -> test.txt
Para informar y eliminar enlaces simbólicos rotos en un directorio dado de forma recursiva, use la marca -dr con el comando predeterminado, donde d significa eliminar y r significa recursivo.
symlinks -dr .
Usando el comando Buscar
El comando de búsqueda viene preinstalado en todos los sistemas Linux. Como sugiere el nombre, puede buscar carpetas y archivos usando este comando. El comando de búsqueda también le permite informar y eliminar fácilmente enlaces inactivos en su sistema.
Para enumerar los enlaces simbólicos rotos en su directorio de trabajo actual, escriba:
find . -xtype l
Para encontrar enlaces rotos presentes en cualquier otro directorio de su sistema, simplemente reemplace el archivo . carácter (punto) con la ruta del directorio. El siguiente comando buscará enlaces rotos en el directorio / home .
find /home -xtype l
También puede enumerar los enlaces simbólicos rotos que no utiliza su sistema.
find . -xtype l ! -exec test -e {} ; -print
Para comprobar dónde apuntan estos enlaces rotos, utilice:
find . -xtype l -exec ls -l {} +
Dependiendo de la cantidad de enlaces simbólicos rotos en su sistema, obtendrá un resultado parecido a esto.
lrwxrwxrwx 1 root root 19 Feb 21 11:53 /home/sharmadeepesh/another.txt -> /home/sharmadeepesh/text.txt
Además, puede eliminar enlaces simbólicos rotos de una sola vez con el siguiente comando.
sudo find . -xtype l -delete
También hay una forma alternativa de eliminar enlaces muertos:
sudo find . -xtype l ! -exec test -e {} ; -delete
Gestión de enlaces simbólicos en Linux
Los enlaces simbólicos son importantes para un sistema Linux, ya que facilitan el proceso de resolución y gestión de rutas en su computadora. Pero si no se atiende, los enlaces simbólicos rotos pueden ocupar una gran parte del almacenamiento de su sistema y ni siquiera lo sabrá. En tales situaciones, entran en juego utilidades como enlaces simbólicos y find .
Si es un principiante y desea mejorar su experiencia en Linux, entonces aprender nuevos comandos de vez en cuando es el enfoque perfecto. Los usuarios deben saber qué comando necesitan para resolver una situación determinada de manera eficiente.