Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Символические ссылки

Когда мы посмотрим вокруг, мы, вероятно, увидим список каталогов с такой записью:



lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so

lrwxrwxrwx 1 root root 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so


Обратите внимание на то, что первая буква в списке - «l», а запись имеет два имени файла? Это особый вид файла, называемый символическая ссылка (также известный как мягкая ссылка or символическая ссылка). В большинстве Unix-подобных систем на файл можно ссылаться по нескольким именам. Хотя ценность этого может быть не очевидна, это действительно полезная функция.

Представьте себе такой сценарий: программе требуется использование какого-либо разделяемого ресурса, содержащегося в файле с именем «foo», но версия «foo» часто меняется. Было бы хорошо включить номер версии в имя файла, чтобы администратор или другая заинтересованная сторона могли видеть, какая версия «foo» установлена. Это представляет проблему. Если мы изменим имя общего ресурса, мы должны отследить каждую программу, которая может его использовать, и изменить ее, чтобы искать новое имя ресурса каждый раз, когда устанавливается новая версия ресурса. Это совсем не похоже на веселье.

Вот где символические ссылки спасают положение. Допустим, мы устанавливаем версию 2.6 программы «foo» с именем файла «foo-2.6», а затем создаем символическую ссылку с простым именем «foo», указывающую на «foo-2.6». Это означает, что когда программа открывает файл «foo», она фактически открывает файл «foo-2.6». Теперь все довольны. Программы, которые полагаются на «foo», могут его найти, и мы по-прежнему можем видеть, какая фактическая версия установлена. Когда пришло время обновиться до «foo-2.7», мы просто добавляем файл в нашу систему, удаляем символическую ссылку «foo» и создаем новую, указывающую на новую версию. Это не только решает проблему обновления версии, но также позволяет нам сохранить обе версии на нашей машине. Представьте, что в «foo-2.7» есть ошибка (черт побери этих разработчиков!), И нам нужно вернуться к старой версии.


Опять же, мы просто удаляем символическую ссылку, указывающую на новую версию, и создаем новую символическую ссылку, указывающую на старую версию.

Список каталогов выше (из / Lib каталог системы Fedora) показывает символическую ссылку «libc.so.6», которая указывает на файл общей библиотеки с именем «libc-2.6.so». Это означает, что программы, ищущие «libc.so.6», фактически получат файл «libc-2.6.so». В следующей главе мы узнаем, как создавать символические ссылки.


Лучшие облачные вычисления для ОС в OnWorks: