Почему символические ссылки между файлами в папках имеют одинаковую глубину?

Я заметил, что в OS X папка /usr/local/Cellar содержит двоичные файлы, установленные с помощью Homebrew, и что /usr/local/opt имеет символические ссылки на кучу этих двоичных файлов. Я мало использовал символические ссылки, но, насколько я понимаю, их цель — создать ссылку в удобном месте на файл/папку, которая действует как копия этого файла/папки, без необходимости перемещать этот файл. /folder из исходного местоположения.

Итак, мои вопросы:

1) Правильно ли я понимаю символические ссылки? ^^

2) Если да ^^, зачем создавать символические ссылки в одной папке (/usr/local/opt) на двоичные файлы в другой папке (/usr/local/Cellar), которая находится в аналогичном месте/глубине файловой структуры? При каких обстоятельствах вы бы использовали эти символические ссылки, если вы не можете просто использовать двоичные файлы?

Спасибо!


person gkeenley    schedule 20.05.2019    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, поскольку он относится к apple.stackexchange.com (или, возможно, к unix.stackexchange.com)   -  person Joakim Danielson    schedule 20.05.2019


Ответы (1)


Homebrew хочет держать все в порядке, поэтому устанавливает все свои пакеты в одном месте (в подвале). Ожидается, что некоторые файлы инструментов, которые вы устанавливаете с помощью Homebrew, будут находиться в определенных местах (например, в /usr/local/opt). Здесь используется символическая ссылка, поэтому, когда вы обновляете пакет Homebrew в подвале, файлы, связанные в /usr/local/opt, также ссылаются на одну и ту же обновленную версию.

Также см. часто задаваемые вопросы о Homebrew. немного информации о подвале

person ikkentim    schedule 20.05.2019
comment
Привет @ikkentim, спасибо за ваш ответ. Ожидается, что некоторые файлы инструментов, которые вы устанавливаете с помощью Homebrew, будут находиться в определенных местах (например, в /usr/local/opt): правильно ли я понимаю, что хотя полные двоичные файлы находятся в /usr/local/Cellar, связаны только определенные файлы? с этими двоичными файлами, хранящимися в /usr/local/opt? Итак, у ОС есть определенные операции, для которых ей нужен тип файла в /usr/local/opt, а НЕ сами двоичные файлы, и поэтому она ищет в /usr/local/opt вместо /usr/local/Cellar? - person gkeenley; 20.05.2019
comment
Фактические файлы все еще находятся в подвале, но символические ссылки на них находятся в этом каталоге, поэтому, например, если ОС попытается найти определенную библиотеку (.dylib), она будет искать этот путь, потому что он добавлен в DYLD_LIBRARY_PATH iirc - person ikkentim; 21.05.2019