У наступній статті ми збираємось поглянути на це як знайти та видалити непрацюючі символічні посилання в Ubuntu. Символічні посилання - це спосіб спростити управління системою Gnu / Linux. Вони використовуються як на серверах, так і на робочих станціях, де зв’язування з одного каталогу в інший використовується для передачі інформації в інше місце у дереві каталогів.
Un символічне посилання в системах Unix або Gnu / Linux, це вказує доступ до існуючого каталогу або файлу, який знаходиться в іншому місці в структурі каталогів. Зміни, зроблені за цим посиланням, будуть відображені в оригіналі, але навпаки, якщо посилання буде видалено, файл або каталог, на який воно посилається, не буде видалено. Іншим менш поширеним варіантом є використання жорсткого посилання (жорстке посилання). У цьому випадку видалення посилання спричиняє видалення файлу або каталогу, якщо це було останнє жорстке посилання на файл.
Перевага символічного посилання перед жорстким посиланням полягає в тому, що можна створювати символічні посилання, які вказують на об'єкти у файлових системах, знайдені на інших пристроях, або на розділи в тому ж пристрої. Команда, яка зазвичай використовується для управління посиланнями (і суворий, і символічний) ес ln.
Символьні посилання, інструмент для управління символічними посиланнями
Існує додаток під назвою символьні посилання у більшості сховищ 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
За допомогою цих простих кроків усі користувачі можуть легко знайти пошкоджені символічні посилання та видалити їх, перш ніж вони можуть спричинити проблеми.