Как найти неработающие символические ссылки в Linux
Символические ссылки или символические ссылки — это способ упростить управление вашей системой Linux. Это довольно часто встречается на серверах или рабочих станциях, где привязка одного каталога к другому используется для того, чтобы приложения отправляли информацию в другое место в дереве каталогов без изменения конфигурации, что необходимо для поддержания работоспособности системы. Однако проблема с использованием символических ссылок заключается в том, что нет гарантии, что в этой ссылке всегда будут оба каталога. Здесь мы покажем вам, как найти и исправить неработающие символические ссылки в Linux.
В большинстве репозиториев есть невероятно полезное приложение, которое называется просто символическими ссылками. Это простая утилита командной строки, которая предоставит полезный вывод и параметры для удаления тех же неработающих символических ссылок.
Для его установки используйте следующие команды:
# Для дистрибутива на основе Debian / Ubuntu sudo apt install символические ссылки # Для Fedora / CentOS sudo dnf install символические ссылки
Есть несколько ключевых вариантов символических ссылок. Это -d, которая удаляет оборванные ссылки, и -r, которая рекурсивно выполняет любую указанную вами опцию через подкаталоги.
Вы также можете использовать встроенный в Linux инструмент поиска. Это менее удобный пример, но он полезен для изучения команды find и ее работы.
Нарушение символических ссылок
Сначала я создам символическую ссылку. Для этого нужно взять существующий файл и использовать команду ln, чтобы связать его с файлом, который еще не существует. Для меня это будет похоже на следующий пример.
touch test-file.txt ln -s test-file.txt связанный файл.txt
Вы можете увидеть с помощью команды ls, что ссылка существует.
Теперь я разорву эту символическую ссылку.
Вы можете видеть, что, хотя я удалил исходный файл, команда ls -l по-прежнему сообщает о ссылке. Здесь и возникает проблема. Эти файлы могут находиться в разных каталогах, что значительно затрудняет проверку наличия исходного файла.
Поиск и исправление неработающих символических ссылок
Способ исправить неработающие символические ссылки — просто удалить их. Их невозможно вернуть, поэтому вам просто нужно удалить их из дерева виртуальных каталогов.
Чтобы сообщить о неработающих символических ссылках с помощью инструмента символических ссылок, используйте следующую команду:
Обратите внимание «.» с указанием текущего рабочего каталога. Измените это для любого каталога, который вы пытаетесь найти. Результат может выглядеть так:
болтается: /home/jperkins/linked-file.txt -> test-file.txt
Это указывает на то, что «связанный файл.txt» болтается, а символическая ссылка не работает. Чтобы удалить их, используйте следующую команду:
Вывод будет похож на предыдущий, но также будет включать строку «удалено».
Чтобы исправить неработающие символические ссылки с помощью find, используйте следующую команду:
Еще раз обратите внимание, что «.» представляющий текущий рабочий каталог. Это сделает вывод менее удобным, но все равно будет полезным.
А для удаления добавьте опцию удаления.
Вы не получите никакого вывода для этого, но если вы запустите его снова без опции -delete, вы ничего не найдете.
Вот и все. Теперь вы можете легко найти неработающие символические ссылки и удалить их, прежде чем они вызовут новые проблемы. Есть и другие руководства по символическим ссылкам, которые вам стоит изучить. Вы также можете узнать больше о разнице между символической и жесткой ссылкой и о том, когда их следует использовать.
Связанный:
Эта статья полезна? да нет