En el següent article anem a fer una ullada a com trobar i eliminar els enllaços simbòlics trencats en Ubuntu. Els enllaços simbòlics són una forma de simplificar la gestió d'un sistema GNU / Linux. Aquests s'utilitzen tant en servidors com en estacions de treball, on la vinculació d'un directori a un altre s'usa perquè les aplicacions enviïn informació a un altre lloc en l'arbre de directoris.
Un enllaç simbòlic en sistemes Unix o GNU / Linux, indica un accés a un directori o arxiu existent que es troba en un lloc diferent dins de l'estructura de directoris. Una modificació realitzada utilitzant aquest enllaç es reflectirà en l'original, però per contra, si s'elimina l'enllaç, no es va a eliminar l'arxiu o directori a què fa referència. Una altra opció menys usual és utilitzar un enllaç dur (enllaç dur). En aquest cas, l'esborrat de l'enllaç provoca l'esborrat de l'arxiu o directori, si era l'últim enllaç dur a el fitxer.
Un avantatge de l'enllaç simbòlic enfront dels enllaços durs, és que es poden fer enllaços simbòlics que apuntin a objectes en sistemes d'arxius que es troben en altres dispositius, o particions dins el mateix dispositiu. La comanda utilitzat normalment per gestionar els enllaços (tant durs com simbòlics) és ln.
Symlinks, una eina per gestionar enllaços simbòlics
Hi ha una aplicació anomenada enllaços simbòlics en la majoria dels repositoris GNU / Linux. Aquesta és una senzilla utilitat de línia d'ordres, que proporcionarà resultats útils i opcions per gestionar els enllaços simbòlics. per poder instal·lar aquesta eina en Ubuntu, Tan sols haurem d'obrir una terminal (Ctrl + Alt + T) i executar la comanda:
sudo apt install symlinks
Amb symlinks podrem utilitzar diferents opcions per treballar amb els enllaços simbòlics. Entre elles podrem destacar l'opció -d, Que eliminarà els enllaços que es queden penjats. Una altra interessant de conèixer és l'opció -r, que farà de forma recursiva a través dels subdirectoris qualsevol opció que especifiquem a aquesta eina.
Un exemple bàsic
Per començar amb aquest exemple, primer anem a crear un enllaç simbòlic. Això podrem fer-ho prenent un arxiu existent i utilitzant la comanda ln per vincular-lo a un arxiu que encara no existeix. Els comandaments per crear aquest exemple serien els següents:
touch archivo-ejemplo.txt ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt
Després utilitzarem la comanda ls per comprovar que l'enllaç que acabem de crear ja existeix en el nostre sistema.
El següent que farem serà trencar l'enllaç simbòlic que acabem de crear.
rm archivo-ejemplo.txt
Tot i que acabem d'eliminar l'arxiu original, com es pot veure en l'anterior captura de pantalla, la comanda ls -l encara informa que l'enllaç segueix aquí. Aquí és és on resideix el problema, ja que aquest enllaç es quedaria penjat d'un arxiu que ja no existeix. Els arxius d'aquest exemple, també podrien estar en diferents directoris, el que podria fer que fos més difícil verificar si el fitxer original encara és allà.
Trobar i reparar enllaços simbòlics trencats
La forma d'arreglar els enllaços simbòlics trencats és simplement eliminar-los. És impossible recuperar-los, de manera que només necessitarem esborrar-los de l'arbre de l'directoris.
Per a la comprovar els enllaços simbòlics trencats utilitzarem l'eina symlinks. No tindrem més que utilitzar la següent comanda:
symlinks .
És important fixar-se en el punt (.) A la fi de la comanda, ja que indica el directori de treball actual. Això es pot canviar amb qualsevol ruta per indicar un directori en el qual estiguem intentant buscar. La comanda anterior ens mostrarà una sortida com la següent:
Indica que 'link-arxiu-ejemplo.txt'Està penjant i que l'enllaç simbòlic està trencat. Per eliminar només haurem d'utilitzar el mateix ordre d'abans, afegint-li l'opció -d:
symlinks -d .
La sortida que ens retornarà la terminal mostrarà alguna cosa similar a l'última vegada, però en aquesta ocasió també inclourà la línia 'suprimit'.
Seguint amb l'anterior exemple, si no haguéssim utilitzat l'últim comando, per buscar enllaços simbòlics trencats també podríem utilitzar find de la següent manera:
find . -xtype l
Com passava amb l'eina symlinks, el punt (.) Representa el directori de treball actual. per eliminar els enllaços simbòlics trencats, no tindrem més que afegir l'opció -esborrar com es mostra a continuació:
find . -xtype l -delete
Aquesta comanda no va mostrar cap resultat, però si ho executem de nou sense l'opció -esborra, No veurem res a la pantalla. Això serà un indicatiu que els enllaços simbòlics trencats, s'han eliminat.
Desinstal
Desinstal symlinks és tan senzill com instal·lar-lo. Només necessitarem obrir una terminal (Ctrl + Alt + T) i executar la comanda:
sudo apt remove symlinks
Amb aquests senzills passos, tots els usuaris podrem trobar fàcilment enllaços simbòlics trencats, i eliminar abans que puguin causar problemes.