Jak najít a odstranit Broken symbolických odkazů v systému Linux

Nov 12, 2024
Linux
FATMAWATI ACHMAD ZAENURI / Shutterstock

Symbolické odkazy na Linuxu jsou fantastická funkce, ale mohou se zlomit a levý ukazuje na nic. Zde je, jak najít rozbité symbolické odkazy, zkontrolovat je a odebrat je z vašeho systému, pokud potřebujete.

Symbolické odkazy 101.

Symbolické odkazy , nazývané také "Měkké odkazy" a "SymLinks", jsou formou zkratek, které mohou ukazovat na soubory a adresáře. Symlink vypadá jako pravidelný soubor nebo adresář v okně Správce souborů. Zobrazuje se také jako záznam v seznamu souborů v okně terminálu. Soubor nebo adresář, ke kterému mohou být body SymLink kdekoli v stromovém stromu souborů.

Například, řekněme, že máte sylník ve svém domovském adresáři s názvem "Dave-Link", který ukazuje na soubor s názvem "Text-file.txt" umístěný někde jinde v stromu souboru stromu. Příkazy, které používáte na symbolu, jsou automaticky aplikovány na soubor, do kterého to body. Pokud se pokusíte použít kočka nebo méně Na SymLink, budete skutečně zobrazit obsah souboru "text-file.txt".

Standardní instalace Linux obsahuje mnoho symbolů. I když nevytvoříte sami sebe, operační systém je používá. Instalační rutiny aplikace často používají symboly do bodu spustitelných souborů. Když je software aktualizován, binární soubor je nahrazen novou verzí a všechny symbolické odkazy pokračují v práci jako dříve, pokud je název nového souboru stejný jako starý.

Můžeme snadno vidět nějaké symbolické odkazy pomocí ls. v kořenovém adresáři. Některé položky jsou zobrazeny v jiném barvě Ubuntu 20.10. Zkušební stroj, jsou zobrazeny ve světle modré.

Zadáváme následující:

  LS /  

Můžeme vzít hlubší vzhled pomocí -l. (dlouhý výpis). Zadáváme následující příkaz se podívat na všechny položky "lib" a jeden "bin" vstup:

 ls -l / lib * / bin 

Na začátku každého řádku je "L," který označuje, že položka je sylinka. Text po "- & gt; ukazuje, jaký symbol odkazuje. V našem příkladu jsou cíle všechny adresáře.

Oprávnění jsou uvedena jako číst, psát a spustit pro majitele, skupinu a další. Jedná se o výchozí falešné záznamy. Oni neodrážejí skutečná oprávnění na objekty, ve kterých se Symlinks bod. Je to oprávnění na cílovém souboru nebo adresáři, který má přednost a jsou poctěny systémem souborů.

Rozbité symboly

Symlink je přerušen (nebo vlevo visí), když soubor, ve kterém IT body je vymazán nebo přesunut do jiného umístění. Pokud se rutina odinstalace aplikace nefunguje správně, nebo je přerušena dříve, než dokončí, můžete být ponecháni s rozbitými symbráty.

Pokud někdo ručně vymaže soubor bez znalosti Symlinks poukazuje na to, tyto symbolické odkazy již nebudou fungovat. Budou mít rádi dopravní značky ukazující na město, které bylo buldozed.

Toto chování můžeme snadno vidět pomocí symbolu s názvem "Hello" v aktuálním adresáři. Zadáváme následující použití ls. vidět to:

 LS -L 

Ukazuje na program nazvaný "htg" v adresáři s názvem "bin". Pokud "spustíme" Symlink, provede pro nás program:

 ./ Dobrý den 

Nyní můžeme zkontrolovat, zda je to, co se děje spuštěním programu přímo:

 ../ bin / htg 

Jak se očekávalo, dostaneme stejnou odpověď. Smazat soubor programu:

 rm ../bin/htg

Teď, když se podíváme na Symlink, vidíme, že je uveden v červené barvě, protože Linux ví, že je zlomený. To také říká, co to zvyklí, takže můžeme soubor nahradit, znovu zkompilovat program nebo dělat cokoliv je nutné k opravě sylový odkaz.

Všimněte si, že pokud se pokusíme spustit Symlink, chyba, kterou dostaneme odkazy na jméno sylanka, spíše než název programu, ke kterému Symlink body.

Zadáváme následující:

 ./ Dobrý den 

Nalezení rozbitých symbolů

Nejmodernější verze nalézt mít xtype. (rozšířený typ) možnost, což zjednodušuje zjištění rozdělené symlinks . Budeme používat l vlajka s xtype. , Se říct, že hledat odkazy. Použitím nalézt a xtype. takto, aniž by některý z druhého typ vlajky, síly xtype. vrátit nefunkční odkazy:

 najít. -xtype l 

Spuštění příkazu v našem testovacím domovském adresáři najde poměrně málo zlomených symbolické odkazy. Všimněte si, že je vyhledávání rekurzivní ve výchozím nastavení, takže vyhledá všechny podadresáře automaticky.

Dále jen „ahoj“ symlink rozešli jsme záměrně uveden, jak jsme očekávali. Jednou z dalších symbolické odkazy souvisí s prohlížečem Firefox, a zbytek jsou spojeny s patentky.

Budeme-li trubka výstup skrze toaleta s -l. Možnost (linky), můžeme počítat linky, což je stejné jako počítání rozbité symbolické odkazy.

Zadáváme následující:

 najít. -xtype l | wc -l 

Jsme informováni, že máme 24 zlomené symbolické odkazy směřující k ničemu.

Najít, recenze, a pak Remove

Předtím, než budete spěchat do a odstranit všechny rozbité symbolické odkazy, prohlédnout výsledky typu nalézt příkaz. Podívejte se, jestli tam je k tomu pádný důvod pro některý z rozbitých symbolické odkazy.

Někdy symlink by mohl být problém, spíše než cílový soubor. Pokud byl vytvořen symlink nesprávně to by mohlo ukazovat na nic, ale skutečným cílem je přítomen. Znovu vytvořit symbolický odkaz by oprava v tomto případě.

Je také možné, že zdánlivě zlomený symlink je používán jako něco jiného, ​​jako je indikátor zámku souboru nebo jiného go / no go indikátoru. Firefox to dělá; že to, co první symlink v našem seznamu je. Firefox není používán na našem testovacím stroji, i když, tak je to bezpečné pro nás jej odstranit.

Je také možné, že cíl je přítomen pouze periodicky, a to je očekávaný (a žádoucí) chování dané software. Možná, že cílový soubor je zkopírován z jiného počítače nebo oblaku, že plní svou funkci, a poté je opět odstraněn, jen aby byl nahrazen jiným programem v příštím cyklu.

Rozbité symlink může být také příznakem instalace softwaru, který selhal. V takovém případě se namísto vymazání symbolický odkaz, měli byste buď ručně opravit nebo zopakovat instalaci.

Když jste pevně na nefunkční odkazy, které potřebujete zachovat, opakujte příkaz k provedení vyhledávání. Pevné symlinks by pak měl chybět z výsledků vyhledávání.

Z bezpečnostních důvodů, je nejlepší omezit své symlink stěhování do svých vlastních adresářů. Být velmi opatrný na provoz těchto příkazů jako root, nebo na systémových adresářích.

Vyjmutí Broken symbolické odkazy

. \ T -exec (Spustit) volba spouští příkazy na straně nalézt Výsledky vyhledávání. Jedeme do užívání rm vymazat každou zlomenou symbolický odkaz. . \ T {} řetězec je nahrazen názvem každé rozbité symlink, protože každý z nich je objeven nalézt .

Musíme použít středník ( ; ) Ukončit seznam příkazů chceme -exec běžet. Budeme používat zpětné lomítko ( \ ) Na „útěku“ středník, takže je považován za součást nalézt Příkaz, spíše než něco praštit by měla jednat.

Zadáváme následující:

 najít. 
; -xtype l -exec rm {} \

Jsme se vrátil do příkazového řádku se žádné náznaky, že se něco stalo. Chcete-li ověřit, že nefunkční odkazy byly odstraněny, opakujeme povel podívat se na ně, a to následovně:

 najít. -xtype l 

K dispozici nejsou žádné odpovídající výsledky, což znamená, že rozbité symlinks byly odstraněny.

Pamatovat přezkoumat nejprve

Opět platí, že vždy mít čas na revizi seznamu symbolické odkazy před spuštěním příkazu k jejich odstranění. Můžete se vyhnout mazání jakéhokoliv si nejste jisti, spuštěním příkazu k jejich odstranění do příslušných adresářů.

Například výše, jsme mohli spustit příkaz v „.snap“ adresář a ručně odstranit osamělý „Hello“ symbolický odkaz. To by opustil zámek Firefox nalinkujte nedotčeny.


Linux - Nejoblíbenější články

Jak zamknout Mac pomocí terminálu

Linux Feb 16, 2025

Jednou z prvních pravidel kybernetické bezpečnosti je vždy zamknout počítač před odrazením od něj. I když to nemusí být nejrychlejší způsob, můžete uzamknout Apple Mac ..


Co je nového v GNOME 40?

Linux Jul 23, 2025

Nadace GNOME GNOME 40 má více než nové schéma číslování. Spolu se svým novým vzhledem přichází nový způsob práce. Staří vertikální metaf..


Co je nového v distribuci Debian 11 „Bullseye“

Linux Jul 22, 2025

Debian Je předek mnoho jiných linuxových distribucí, učinil vydání 11 k dispozici v testovací fázi. Jste vážení ctnosti modernizaci, nebo jste jen zvědaví o změn�..


Jak se odhlásit z MAC pomocí terminálu

Linux Aug 8, 2025

Apple usnadňuje odhlášení z MAC s možností v panelu menu ploše. Existuje však také pár příkazů, které můžete použít k odhlášení pomocí terminálu, jak budeme objevo..


KDE Connect konečně přichází na iPhone

Linux Oct 26, 2025

KDE. Pokud hledáte snadný způsob, jak si svůj iPhone hrát pěkný s vaším Desktop KDE. , dnes je váš šťastný den KDE Connect je konečně k d..


Jak stáhnout a nainstalovat Steam pro Linux

Linux Oct 9, 2025

Postmoderní studio / shutterstock.com Takže chcete vyzkoušet herní Linux ? V tomto článku se podívejme na to, jak nainstalovat Steam na jaké..


Jak nainstalovat Linux na M1 Mac S Apple křemíku

Linux Nov 11, 2024

Native Linux podpora pro novou architekturu APPLES ARRIGHTURE není dosud připravena, ale můžete spustit Linux na M1. , M1 Pro, nebo M1 Max pomocí a virtuální stroj ..


Jak vyjmenovat proměnné prostředí na Linuxu

Linux Oct 31, 2025

Na Linuxu mají proměnné prostředí důležité hodnoty a nastavení. Skripty, aplikace a skořápky tyto hodnoty čte, často na konfiguraci sebe sama nebo pro ovládání jejich chování...


Kategorie