Поиск по сайту:

Как обновить символическую ссылку Linux


Ссылки всегда были уникальной расширенной функцией файловых систем UNIX.

Пользователи UNIX и Linux находят множество применений для ссылок, особенно для символических ссылок. Один из способов использования символических ссылок — управление резервными копиями конфигурации различного ИТ-оборудования.

У меня есть структура каталогов, в которой хранится все, что связано с документацией, обновлениями и другими файлами для компьютеров и устройств в моей сети. Устройства могут включать маршрутизаторы, точки доступа, NAS-серверы и ноутбуки, часто разных марок и версий. Сами резервные копии конфигурации могут находиться глубоко в дереве каталогов, например. /home/alan/Documents/network/device/NetgearRL5000/config.

Чтобы упростить процесс резервного копирования, у меня дома есть каталог под названием Configuration. Я использую символические ссылки из этого каталога, чтобы указать на конкретный каталог устройства:

:~/Configuration/ $ ls -F1
Router@
Accesspoint@
NAS@

Примечание. Параметр -F команды ls добавляет к каждому имени файла специальные символы, обозначающие его тип. Как показано выше, символ @ указывает, что это ссылки.

Создание ссылки

Символическая ссылка Маршрутизатор указывает на каталог config моего Netgear RL5000. Команда для его создания: ln -s:

$ ln -s /home/alan/Documents/network/device/NetgearRL5000/config Router

Затем посмотрите и подтвердите с помощью ls -l:.

:~/Configuration/ $ ls -l
Router -> /home/alan/Documents/network/device/NetgearRL5000/config
NAS -> /home/alan/Documents/network/device/NFSBox/config
...

Преимущество заключается в том, что при обслуживании этого устройства я просто перехожу к ~/Configuration/Router.

Второе преимущество использования символической ссылки станет очевидным, если я решу заменить этот роутер на новую модель. Я мог бы переназначить старый маршрутизатор в качестве точки доступа. Поэтому его каталог не удаляется. Вместо этого у меня есть новый каталог, соответствующий новому маршрутизатору, возможно, ASUS DF-3760. Создаю каталог и подтверждаю его существование:

$ mkdir -p ~/Documents/network/device/ASUSDF-3760/config
:~/Documents/network/device/ $ ls
NetgearRL5000
ASUSDF-3760
NFSBox
...

Другим примером может быть наличие нескольких точек доступа в ваших офисах. Вы можете использовать символические ссылки для логического представления каждой из них либо с помощью общего имени, например ap1, ap2 и т. д., либо использовать описательные слова, например ap_floor2, ap_floor3 и т. д. Таким образом, поскольку физические устройства со временем меняются, вам не нужно постоянно обновлять какие-либо процессы, которые могут ими управлять, поскольку они скорее обращаются к ссылкам. чем фактические каталоги устройств.

Обновление ссылки

Поскольку мой основной маршрутизатор изменился, я хочу, чтобы символическая ссылка маршрутизатора указывала на его каталог. Я мог бы использовать команды rm и ln для удаления и создания новой символической ссылки, но есть способ сделать это за один шаг, используя только ln команда с несколькими опциями:

:~/Configuration/ $ ln -vfns ~/Documents/network/device/ASUSDF-3760/config/ Router
'Router' -> '/home/alan/Documents/network/device/ASUSDF-3760/config/'
:~/Configuration/ $ ls -l
Router -> /home/alan/Documents/network/device/ASUSDF-3760/config
NAS -> /home/alan/Documents/network/device/NFSBox/config

Параметры, согласно справочной странице, следующие:

-v, --verbose

вывести имя каждого связанного файла

-f, --force

удалить файл назначения (необходимо, поскольку ссылка уже существует)

-n, --no-разыменование

рассматривать LINK_NAME как обычный файл, если это символическая ссылка на каталог

-s, --symbolic

делайте символические ссылки вместо жестких ссылок

Заворачивать

Ссылки — одна из самых мощных функций файловых систем UNIX и Linux. Другие операционные системы пытались имитировать эту возможность, но они никогда не работали так же хорошо и не были такими же пригодными для использования из-за отсутствия фундаментальной структуры ссылок в их файловых системах.

Демонстрация выше — это лишь одна из многих возможностей воспользоваться ссылками для беспрепятственной навигации по постоянно меняющейся структуре каталогов в действующей производственной среде. Links обеспечивает гибкость, необходимую в организации, которая никогда не остается неизменной надолго.

Статьи по данной тематике: