Структура каталогов Unix: управление конфликтами имен файлов - PullRequest
4 голосов
/ 02 июля 2010

Обычно каждый раз, когда запускается `make install ', файлы не помещаются в определенный каталог, например / usr / prog1. Вместо этого файлы помещаются в каталоги, где файлы из других программ уже находятся в таких каталогах, как / usr / lib и / usr / bin. Я считаю, что это было обычной практикой с давних времен. Такая практика, безусловно, увеличивает вероятность конфликта имен файлов.

Поскольку мой поиск в Google не дал хорошего обсуждения по этому вопросу, мне интересно, что люди делают для управления конфликтами имен файлов? Они просто пробуют то или иное имя, и если что-то идет не так, пользователь регистрирует ошибку, а разработчик выбирает другое имя? Или они просто префиксами имен своих файлов? Кто-нибудь знает о хорошем обсуждении этого вопроса?

Ответы [ 2 ]

4 голосов
/ 02 июля 2010

Обычно люди выбирают имя, которое они хотят, и если что-то сталкивается, тогда проблема решается распределением.Вот что произошло с ack (ack в Debian, конвертер кандзи) и ack (ack-grep в Debian, утилита текстового поиска).Быстрый поиск в сети должен сказать вам, если имя используется где-то.Если он не доступен для поиска, он, вероятно, не включен во многие дистрибутивы, и это означает, что вы вряд ли будете конфликтовать.

3 голосов
/ 02 июля 2010

Обычно при компиляции программ вы можете указать префиксный путь, например, такой: ./configure --prefix=/usr/local/prog1 или ./configure --prefix=/opt/prog1 (используете ли вы /usr/local или /opt, на самом деле не имеет значения). Затем при запуске make install он поместит файлы по указанному пути префикса. Затем вы можете либо 1) добавить /opt/prog1/bin/ к вашему PATH, либо создать символическую ссылку на исполняемый файл в /usr/local/bin, который уже должен быть в вашем PATH.

Лучше всего использовать менеджер пакетов дистрибутивов.

...