U sljedećem članku ćemo pogledati kako pronaći i ukloniti neispravne simboličke veze u Ubuntuu. Simboličke veze su način za pojednostavljenje upravljanja Gnu / Linux sistemom. Koriste se na poslužiteljima i radnim stanicama, gdje se povezivanje iz jednog direktorija u drugi koristi za slanje informacija negdje drugdje u stablu direktorija.
Un simbolična veza na Unix ili Gnu / Linux sistemima, to ukazuje pristup postojećem direktoriju ili datoteci koji se nalazi na drugom mjestu unutar strukture direktorija. Izmjena izvršena pomoću ove veze odrazit će se na originalu, ali naprotiv, ako se veza ukloni, datoteka ili direktorij na koji se odnosi neće se ukloniti. Druga rjeđa opcija je korištenje tvrde veze (tvrda veza). U ovom slučaju, brisanje veze uzrokuje brisanje datoteke ili direktorija, ako je to bila zadnja tvrda veza do datoteke.
Prednost simboličke veze u odnosu na tvrde veze je ta što je moguće napraviti simboličke veze koje upućuju na objekte u sistemima datoteka koji se nalaze na drugim uređajima ili na particije unutar istog uređaja. Naredba koja se obično koristi za upravljanje vezama (i grub i simboličan) je ln.
Simboli, alat za upravljanje simboličkim vezama
Postoji aplikacija koja se zove simboličke veze u većini Gnu / Linux spremišta. Ovo je jednostavan uslužni program naredbenog retka, koji pružit će korisne rezultate i opcije za upravljanje simboličkim vezama. To instalirajte ovaj alat na Ubuntu, morat ćemo samo otvoriti terminal (Ctrl + Alt + T) i izvršiti naredbu:
sudo apt install symlinks
Pomoću simboličkih veza možemo koristiti različite opcije za rad sa simboličkim vezama. Među njima možemo istaknuti opciju -d, koji će ukloniti veze koje su ostale visjeti. Još jednu zanimljivost za znati je opcija -r, koji će rekurzivno prolaziti kroz poddirektorijume bilo koju opciju koju odredimo ovom alatu.
Osnovni primjer
Za početak s ovim primjerom, kreirajmo prvo simboličku vezu. To možemo učiniti uzimanjem postojeću datoteku i pomoću naredbe ln za povezivanje s datotekom koja još ne postoji. Naredbe za kreiranje ovog primjera bile bi sljedeće:
touch archivo-ejemplo.txt ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt
Tada ćemo koristiti naredbu ls da provjerimo da veza koju smo upravo kreirali već postoji u našem sustavu.
Sljedeće što ćemo učiniti je prekinuti simboličku vezu koju smo upravo kreirali.
rm archivo-ejemplo.txt
Iako smo upravo izbrisali izvornu datoteku, kao što možete vidjeti na prethodnom snimku zaslona, naredba ls -l još uvijek izvještava da je veza još uvijek tamo. U tome je problem, jer bi ovaj link zapeo u datoteci koja više ne postoji. Datoteke u ovom primjeru također mogu biti u različitim direktorijima, što bi moglo otežati provjeru je li izvorna datoteka još uvijek tamo.
Pronađite i popravite prekinute simboličke veze
Način da popravite neispravne simboličke veze je jednostavno uklanjanje. Nemoguće ih je oporaviti, pa ćemo samo trebati izbrišite ih iz stabla direktorija.
para provjerite neispravne simboličke veze, poslužimo se alatom symlinks. Morat ćemo upotrijebiti samo sljedeću naredbu:
symlinks .
Važno je obratiti pažnju na poantu (.) na kraju naredbe, jer označava trenutni radni direktorij. Ovo se može promijeniti pomoću bilo koji put koji označava direktorij u kojem pokušavamo pretraživati. Prethodna naredba će nam pokazati izlaz poput sljedećeg:
Označava da 'link-file-example.txt'visi i da je simbolična veza prekinuta. Da bismo je eliminirali, morat ćemo upotrijebiti istu naredbu kao i prije, dodajući opciju -d:
symlinks -d .
Izlaz koji će terminal vratiti će pokazati nešto slično prošlom vremenu, ali ovaj put će uključiti i liniju 'izbrisano'.
Nastavljajući s prethodnim primjerom, ako nismo koristili posljednju naredbu, za pretragu prekinutih simboličkih veza mogli bismo koristiti i find kako slijedi:
find . -xtype l
Kao i kod alata za simbolične veze, točka (.) predstavlja trenutni radni direktorij. Za ukloniti neispravne simboličke veze, morat ćemo dodati samo opciju -izbrisati kao što je prikazano u nastavku:
find . -xtype l -delete
Ova naredba neće prikazati nikakve rezultate, ali ako je ponovo izvedemo bez opcije -izbriši, nećemo vidjeti ništa na ekranu. To će biti znak da su prekinute simboličke veze uklonjene.
Deinstaliraj
Deinstalirajte simboličke veze jednostavno je poput instaliranja. Trebat ćemo samo otvoriti terminal (Ctrl + Alt + T) i izvršiti naredbu:
sudo apt remove symlinks
Ovim jednostavnim koracima svi korisnici mogu lako pronađite prekinute simboličke veze i uklonite ih prije nego što mogu stvoriti probleme.