В следващата статия ще разгледаме как да намерите и премахнете счупени символни връзки в Ubuntu. Символните връзки са начин за опростяване на управлението на Gnu / Linux система. Те се използват както на сървъри, така и на работни станции, където свързването от една директория към друга се използва за приложения за изпращане на информация другаде в дървото на директориите.
Un символична връзка на Unix или Gnu / Linux системи, това показва достъп до съществуваща директория или файл, който е на различно място в структурата на директориите. Промяна, направена с помощта на тази връзка, ще бъде отразена в оригинала, но напротив, ако връзката бъде премахната, файлът или директорията, към която се отнася, няма да бъдат премахнати. Друг по-рядък вариант е използването на твърда връзка (твърда връзка). В този случай изтриването на връзката води до изтриването на файла или директорията, ако това е последната твърда връзка към файла.
Предимство на символната връзка пред твърдите връзки е, че е възможно да се направят символни връзки, които сочат към обекти във файловите системи, намерени на други устройства, или към дялове в същото устройство. Командата, която обикновено се използва за управление на връзки (както груби, така и символични) е ln.
Symlinks, инструмент за управление на символни връзки
Има приложение, наречено символни връзки в повечето хранилища на Gnu / Linux. Това е проста помощна програма за команден ред, която ще предостави полезни резултати и опции за управление на символни връзки. Да се инсталирайте този инструмент на Ubuntu, ще трябва само да отворим терминал (Ctrl + Alt + T) и да изпълним командата:
sudo apt install symlinks
Със символните връзки можем да използваме различни опции за работа със символни връзки. Сред тях можем да подчертаем опцията -d, което ще премахне останалите връзки. Друга интересна информация е опцията -r, което ще рекурсивно през поддиректориите, каквато и опция да посочим за този инструмент.
Основен пример
За да започнем с този пример, нека първо създадем символна връзка. Можем да направим това, като вземем съществуващ файл и с помощта на командата ln да го свържете с файл, който все още не съществува. Командите за създаване на този пример ще бъдат следните:
touch archivo-ejemplo.txt ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt
След това ще използваме командата ls за да проверим дали връзката, която току-що създадохме, вече съществува в нашата система.
Следващото нещо, което ще направим, е прекъснете символичната връзка, която току-що създадохме.
rm archivo-ejemplo.txt
Въпреки че току-що изтрихме оригиналния файл, както можете да видите на предишната екранна снимка, командата ls -l все още съобщава, че връзката все още е там. Тук се крие проблемът, тъй като тази връзка ще остане висяща от файл, който вече не съществува. Файловете в този пример също могат да бъдат в различни директории, което може да затрудни проверката дали оригиналният файл все още е там.
Намерете и поправете счупени символични връзки
Начинът за коригиране на счупени символни връзки е просто да ги премахнете. Невъзможно е да ги възстановим, така че ще ни трябва само изтрийте ги от дървото на директориите.
за проверете за счупени символни връзки нека използваме инструмента за символни връзки. Ще трябва да използваме само следната команда:
symlinks .
Важно е да се обърне внимание на въпроса (.) в края на командата, тъй като тя показва текущата работна директория. Това може да се промени с всеки път за посочване на директория, в която се опитваме да търсим. Предишната команда ще ни покаже резултат като следния:
Показва, че "link-file-example.txt'виси и символичната връзка е прекъсната. За да го премахнем, ще трябва само да използваме същата команда като преди, добавяйки опцията -d:
symlinks -d .
Изходът, който терминалът ще върне, ще покаже нещо подобно на последния път, но този път ще включва и реда "заличава".
Продължавайки с предишния пример, ако не бяхме използвали последната команда, за търсене на неработещи символични връзки също бихме могли да използваме find, както следва:
find . -xtype l
Както при инструмента за символни връзки, периодът (.) представлява текущата работна директория. За премахнете неработещите символни връзки, ще трябва само да добавим опцията -изтриване както е показано по-долу:
find . -xtype l -delete
Тази команда няма да покаже никакви резултати, но ако я изпълним отново без опцията -Изтрий, няма да видим нищо на екрана. Това ще е индикация, че счупените символични връзки са премахнати.
деинсталиране
Деинсталирайте символните връзки това е толкова просто, колкото да го инсталирате. Ще трябва само да отворим терминал (Ctrl + Alt + T) и да изпълним командата:
sudo apt remove symlinks
С тези прости стъпки всички потребители могат лесно да намерите счупени символни връзки и да ги премахнете, преди да могат да създадат проблеми.