Comment trouver et supprimer les liens symboliques cassés sur Linux

Nov 12, 2024
Linux
Fatmawati Achmad Zaenuri / Shutterstock [dix]

Les liaisons symboliques sur Linux sont une caractéristique fantastique, mais elles peuvent devenir cassées et laissées de pointer sur rien. Voici comment localiser les liens symboliques brisés, les examiner et les supprimer de votre système si vous en avez besoin.

Liens symboliques 101

Liens symboliques , également appelé "liens soft" et "liens symboliques", constituent une forme de raccourcis pouvant indiquer des fichiers et des répertoires. Un lien symbolique ressemble à un fichier ou répertoire régulier dans une fenêtre de gestionnaire de fichiers. Il apparaît également comme une entrée dans une liste de fichiers dans une fenêtre de terminal. Le fichier ou le répertoire auquel les points symboliques peuvent être n'importe où dans l'arborescence du système de fichiers.

Par exemple, disons que vous avez un symbole symbolique dans votre répertoire de maison appelé "Dave-link" qui pointe vers un fichier appelé "Text-File.txt" situé ailleurs dans l'arborescence du système de fichiers. Les commandes que vous utilisez sur le symbole symbolique sont automatiquement appliquées au fichier auquel cela pointe. Si vous essayez d'utiliser chat ou moins Sur le Symlink, vous verrez en réalité le contenu du fichier "texte-fichier.txt".

Une installation Linux standard contient de nombreux liens symboliques. Même si vous ne créez aucun vous-même, le système d'exploitation les utilise. Les routines d'installation d'application utilisent souvent des liens symboliques pour signaler les fichiers exécutables. Lorsque le logiciel est mis à jour, le fichier binaire est remplacé par la nouvelle version et tous les symboles continuent de fonctionner comme avant, tant que le nom du nouveau fichier est identique à celui de l'ancien.

Nous pouvons facilement voir des liens symboliques en utilisant ls dans le répertoire racine. Certaines des entrées sont affichées dans une couleur différente sur notre Ubuntu 20.10 Machine à tester, ils sont affichés en bleu clair.

Nous tapons ce qui suit:

  LS /  

Nous pouvons faire un look plus profond en utilisant le à Option (longue liste). Nous tapons la commande suivante pour examiner toutes les entrées "lib" et l'entrée unique "bin":

 ls -l / lib * / bin 

Au début de chaque ligne est un "L", ce qui indique que l'article est un lien symbolique. Le texte après "- & gt;" montre à ce que le symbole du symbole pointe. Dans notre exemple, les objectifs sont tous des annuaires.

Les autorisations sont répertoriées comme lues, écrivez et exécutez le propriétaire, le groupe et d'autres. Ce sont des fausses entrées par défaut. Ils ne reflètent pas les autorisations réelles des objets auxquels le point symbolique. Ce sont les autorisations sur le fichier cible ou le répertoire qui prenant la priorité et sont honorés par le système de fichiers.

Symboles brisés

Un symbole symbolique est cassé (ou laissé pendling) lorsque le fichier auquel pointe les points est supprimé ou déplacé vers un autre endroit. Si une routine de désinstallation d'une application ne fonctionne pas correctement ou si elle est interrompue avant qu'elle ne finit pas, vous pourriez être laissé avec des liens symboliques brisés.

Si une personne supprime manuellement un fichier sans savoir que les symboles, ces symboles ne fonctionnent plus. Ils seront comme des panneaux routiers pointant vers une ville qui a été bulldozed.

Nous pouvons facilement voir ce comportement à l'aide d'un symbolique appelé "Bonjour" dans le répertoire actuel. Nous tapissons ce qui suit, en utilisant ls voir ça:

 LS -L 

Il pointe vers un programme appelé "HTG" dans un répertoire appelé "bin". Si nous "gèrent" le symboliste, il exécute le programme pour nous:

 ./ Bonjour 

Nous pouvons maintenant vérifier si c'est ce qui se passe en exécutant directement le programme:

 ../ bin / htg 

Comme prévu, nous avons la même réponse. Supprimons le fichier de programme:

 RM ../bin/htg

Maintenant, lorsque nous examinons le Symlink, nous voyons qu'il est listé en rouge car Linux sait qu'il est cassé. Cela nous dit également à ce qu'elle utilisait, nous pouvons donc remplacer le fichier, recompiler le programme ou faire tout ce qui est nécessaire pour réparer le lien symbolique.

Notez que si nous essayons d'exécuter le symbole symbolique, l'erreur que nous obtenons des références Le nom symbolique, plutôt que le nom du programme auquel les points Symlink.

Nous tapons ce qui suit:

 ./ Bonjour 

Trouver des symboles brisés

Versions la plus moderne de trouve avoir le Xtype option (type étendu), qui simplifie trouver des liens symboliques brisés . Nous allons utiliser le l drapeau Xtype , pour lui dire de rechercher des liens. À l'aide de trouve et Xtype comme suit, sans aucun des autres taper Drapeaux, forces Xtype Pour retourner des liens brisés:

 trouver. -xtype l 

Exécution de la commande dans notre répertoire de base de test trouve quelques-unes quelques symboles de symboles brisés. Notez que la recherche est récursive par défaut, de sorte qu'il recherche automatiquement tous les sous-répertoires.

Le "Bonjour" Symlink Nous avons cassé exprès est répertorié, comme prévu. L'un des autres liens symboliques est lié au navigateur Firefox et le reste est associé à des boutons-pression.

Si nous tuyons la sortie à travers toilettes avec le à Option (lignes), nous pouvons compter les lignes, ce qui est identique à compter les symboles brisés.

Nous tapons ce qui suit:

 trouver. -Xtype l | wc -l 

Nous sommes informés que nous avons 24 liaisons symbolistes brisés à rien.

Trouver, revoir, puis supprimer

Avant de vous précipiter et de supprimer tous les symboles brisés, regardez les résultats de la trouve commander. Voyez s'il y a une raison valable pour l'un des symboles brisés.

Parfois, le lien symbolique pourrait être le problème plutôt que le fichier cible. Si le lien symbolique a été créé de manière incorrecte, cela pourrait indiquer rien, mais la vraie cible est présente. La création du symbole du symbole serait la solution dans ce cas.

Il est également possible qu'un symbolique apparemment brisé soit utilisé comme autre chose, tel qu'un indicateur d'un verrou de fichier ou d'un autre indicateur Go / NO Go. Firefox fait cela; C'est ce que le premier symbole symbolique de notre liste est. Firefox n'est pas utilisé sur notre machine à tester, cependant, il est donc sûr pour nous de la supprimer.

Il est également possible que la cible ne soit présente que périodiquement, ce qui est le comportement attendu (et souhaité) de ce logiciel particulier. Peut-être que le fichier cible est copié à partir d'une autre machine ou du cloud, il effectue sa fonction et est ensuite supprimé à nouveau, seulement pour être remplacé par un programme différent du cycle suivant.

Le symboliste brisé pourrait également être un symptôme d'une installation logicielle qui a échoué. Dans ce cas, au lieu de supprimer le symbole symbolique, vous devez le réparer manuellement ou répéter l'installation.

Lorsque vous avez corrigé les liens brisés, vous devez continuer, répétez la commande pour effectuer la recherche. Les liens symboliques fixes doivent ensuite être absents des résultats de la recherche.

Pour l'amour de la sécurité, il est préférable de limiter vos déménagements symboliques à vos propres répertoires. Soyez extrêmement méfiant d'exécuter ces commandes en tant que root, ou sur des répertoires système.

Suppression des symboles brisés

Les -exec (Exécuter) option exécute des commandes sur le trouve Résultats de recherche. Nous allons utiliser rm supprimer chaque lien symbolique cassé. Les {} la chaîne est remplacée par le nom de chaque liaison symbolique brisée, car chacun est découvert par trouve .

Nous devons utiliser un point-virgule ( ; ) Pour mettre fin à la liste des commandes que nous voulons -exec courir. Nous allons utiliser une barre oblique inverse ( \ ) "échapper à" le point-virgule, il est donc traité comme faisant partie de la trouve commande plutôt que quelque chose Frapper devrait agir.

Nous tapons ce qui suit:

 trouver. -xtype l -exec rm {} \; 

Nous sommes retournés à l'invite de commande sans indication que tout s'est passé. Pour vérifier que les liens brisés ont été supprimés, nous répétons la commande pour les rechercher, comme suit:

 trouver. -xtype l 

Il n'y a pas de résultats correspondants, ce qui signifie que les symboles de symboles brisés ont été supprimés.

N'oubliez pas de passer en revue d'abord

Encore une fois, prenez toujours le temps d'examiner une liste de symboles avant d'exécuter la commande pour les supprimer. Vous pouvez éviter de supprimer tout ce que vous n'êtes pas sûr en exécutant la commande pour les supprimer dans les répertoires appropriés.

Par exemple, ci-dessus, nous aurions pu exécuter la commande dans le répertoire ".snap", puis supprimé manuellement le lien "Hello" solitaire. Cela aurait laissé le verrou de Firefox Soldink intact.


Linux - Most Popular Articles

Les meilleures distributions Linux sans SystemD

Linux Feb 24, 2025

BMJ / ShutterStock.com [dix] Quand les distributions Linux dominantes ont adopté systémique Les dissidents ont fourchu des distributions et ..


Comment faire pour utiliser les mots de passe dans les scripts Encrypted Bash

Linux Jun 30, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com [dix] Si vous êtes obligé d'utiliser un script Linux pour vous connecter à une ressource protégée par mot de..


Comment mettre à jour Arch Linux

Linux Jul 30, 2025

Projet Ubuntu [dix] Le temps est-il venu de mettre à jour votre système d'arche Linux? Que vous soyez sur une arche pure ou une distribution basée à u..


Quoi de neuf dans le système d'exploitation élémentaire 6 "ODIN"

Linux Aug 14, 2025

Elementary, Inc. [dix] Il y a beaucoup de distributions Linux (Distribution) que les gens prétendent sont de bons remplacements pour Windows ou MacOS. Mais il y..


Quoi de neuf dans Gnome 41?

Linux Sep 16, 2025

Environnement de bureau Linux GNOME 41 a été publié le 22 septembre 2021. Il est chaud sur les talons des changements de flux de travail paradigme paradigme de Gnome 40, Gn..


Quels sont les inconvénients du passage à Linux?

Linux Oct 27, 2025

Larry Ewing et la Gimp [dix] Linux évangélistes (comme moi) sont prompts à souligner les nombreux avantages du passage de Windows et Mac OS. Mais aucun..


Comment intégrer les applications et les scripts à un bureau Linux

Linux Oct 10, 2025

Sur Linux, une application sans fichier de bureau ne s'intègre pas à votre environnement de bureau. La plupart des applications en fournissent une, mais parfois vous devrez en créer une. C'e..


Comment définir une adresse IP statique dans Ubuntu

Linux Oct 17, 2025

Votre réseau domestique s'appuie sur les adresses IP pour acheminer les données entre les appareils, et parfois la reconnexion au réseau, une adresse d'un appareil peut changer. Voici commen..


Catégories