Gebroken symbolische koppelingen, hoe u ze kunt vinden en verwijderen uit Ubuntu

over verbroken symbolische links

In het volgende artikel gaan we het bekijken hoe u gebroken symlinks kunt vinden en verwijderen in Ubuntu. Symbolische koppelingen zijn een manier om het beheer van een GNU / Linux-systeem te vereenvoudigen. Deze worden gebruikt op zowel servers als werkstations, waar het linken van de ene directory naar de andere wordt gebruikt voor applicaties om informatie elders in de directorystructuur te verzenden.

Un symbolische link op Unix- of Gnu / Linux-systemen, geeft dit aan een toegang tot een bestaande directory of bestand dat zich op een andere plaats binnen de directorystructuur bevindt​ Een wijziging die met deze link wordt aangebracht, wordt weerspiegeld in het origineel, maar als de link wordt verwijderd, wordt het bestand of de map waarnaar het verwijst niet verwijderd. Een andere, minder gebruikelijke optie is om een ​​harde link (harde link​ In dit geval veroorzaakt het verwijderen van de link het verwijderen van het bestand of de directory, als dit de laatste harde link naar het bestand was.

Een voordeel van de symbolische koppeling ten opzichte van harde koppelingen is dat het mogelijk is om symbolische koppelingen te maken die verwijzen naar objecten in bestandssystemen die op andere apparaten zijn gevonden, of naar partities binnen hetzelfde apparaat. Het commando dat normaal wordt gebruikt om links te beheren (zowel hard als symbolisch) is ln.

Symlinks, een tool om symbolische links te beheren

Er is een applicatie genaamd symlinks in de meeste Gnu / Linux-opslagplaatsen. Dit is een eenvoudig hulpprogramma voor de opdrachtregel, dat biedt nuttige resultaten en opties om symbolische koppelingen te beheren​ Naar installeer deze tool op Ubuntu, we hoeven alleen een terminal te openen (Ctrl + Alt + T) en het commando uit te voeren:

installeer symlinks

sudo apt install symlinks

Met symlinks kunnen we verschillende opties gebruiken om met symbolische links te werken. Onder hen kunnen we de optie benadrukken -d, waardoor de links die blijven hangen, worden verwijderd​ Een ander interessant om te weten is de optie -r, die recursief door de submappen heen gaat, ongeacht de optie die we voor deze tool specificeren.

help symbolen

Een eenvoudig voorbeeld

Om met dit voorbeeld te beginnen, maken we eerst een symbolische link. We kunnen dit doen door te nemen een bestaand bestand en gebruik het ln commando om het te koppelen aan een bestand dat nog niet bestaat​ De opdrachten om dit voorbeeld te maken, zijn de volgende:

touch archivo-ejemplo.txt

ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt

Dan gaan we het commando gebruiken ls om te controleren of de link die we zojuist hebben gemaakt al in ons systeem bestaat.

link gemaakt

Het volgende dat we gaan doen is verbreek de symlink die we zojuist hebben gemaakt.

rm archivo-ejemplo.txt

gebroken link

Ook al hebben we zojuist het originele bestand verwijderd, zoals je kunt zien in de vorige schermafbeelding, het commando ls -l meldt nog steeds dat de link er nog steeds is​ Dit is waar het probleem zit, omdat deze link vastloopt in een bestand dat niet meer bestaat. De bestanden in dit voorbeeld kunnen ook in verschillende mappen staan, waardoor het moeilijker kan worden om te controleren of het originele bestand er nog is.

Zoek en repareer gebroken symbolische koppelingen

De manier om gebroken symlinks te herstellen, is door ze simpelweg te verwijderen​ Het is onmogelijk om ze terug te krijgen, dus we hebben het alleen nodig verwijder ze uit de directorystructuur.

naar controleer op gebroken symlinks. Laten we de symlinks tool gebruiken​ We hoeven alleen het volgende commando te gebruiken:

symlinks .

Het is belangrijk om aandacht te besteden aan het punt (.) aan het einde van het commando, omdat het de huidige werkdirectory aangeeft. Dit kan worden gewijzigd met elk pad om een ​​directory aan te geven waarin we proberen te zoeken​ Het vorige commando toont ons een uitvoer zoals de volgende:

zoek naar verbroken links

Geeft aan dat 'link-bestand-voorbeeld.txt'hangt en dat de symbolische link verbroken is. Om het te elimineren, hoeven we alleen hetzelfde commando als voorheen te gebruiken, door de optie toe te voegen -d:

het verwijderen van een gebroken link

symlinks -d .

De uitvoer die de terminal zal retourneren, laat iets zien dat lijkt op de vorige keer, maar deze keer zal het ook de regel bevatten 'verwijderde'.

Doorgaan met het vorige voorbeeld, als we het laatste commando niet hadden gebruikt, om te zoeken naar verbroken symbolische koppelingen, kunnen we ook find als volgt gebruiken:

hoe u verbroken links kunt vinden met find

find . -xtype l

Net als bij de symlinks-tool, de punt (.) vertegenwoordigt de huidige werkdirectory. Voor verwijder de verbroken symbolische links, we hoeven alleen de optie toe te voegen -verwijderen zoals hieronder wordt getoond:

find . -xtype l -delete

Dit commando zal geen resultaten laten zien, maar als we het opnieuw uitvoeren zonder de optie -delete, we zullen niets op het scherm zien. Dit is een indicatie dat de verbroken symbolische koppelingen zijn verwijderd.

uninstall

Verwijder symlinks het is net zo eenvoudig als het installeren. We hoeven alleen een terminal te openen (Ctrl + Alt + T) en het commando uit te voeren:

verwijder symlinks

sudo apt remove symlinks

Met deze eenvoudige stappen kunnen alle gebruikers vind gemakkelijk gebroken symlinks en verwijder ze voordat ze problemen kunnen veroorzaken.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.