Так что у меня просто был простой вопрос, который, вероятно, заставит меня выглядеть глупым, но я учусь
Когда я делаю
./configure --prefix/usr/bin/
Что делает префикс? Это просто установка пакета в это место
И может ответ дать более сложный ответ для сложной установки и подробно объяснить префиксы и опции, которые идут с ним.
Если бы я должен был запустить apt-get install, как бы я установить его в определенное место с префиксом
Я также видел
PREFIX=/tmp/installdir make
PREFIX=/tmp/installdir make install
Если префикс вызывается в ./configure, почему он всегда делается в этих двух примерах?
Заранее спасибо!
Ответы:
Когда вы устанавливаете программное обеспечение с помощью
make install
илиsudo make install
, разные файлы помещаются в разные каталоги. Исполняемые файлы, которые предоставляют команды, которые пользователь должен запускать, обычно идут вbin
каталог, библиотеки обычно идут вlib
каталог, справочные страницы обычно идут вman
каталог, и так далее.При запуске
./configure
, параметр позволяет указать , где эти каталоги . Он вызывается потому, что он позволяет вам указать префикс, который появляется в путях к каждому из каталогов, куда должны быть установлены файлы из создаваемой вами программы или библиотеки. Большинство сценариев поддерживают , и пропуск и просто запуск обычно эквивалентны .--prefix
--prefix
configure
--prefix
./configure
./configure --prefix=/usr/local
Чтобы ответить на этот вопрос более полно, я воспроизвел два раздела из моего ответа на Как установить tar-файл «глобально»? (на Unix и Linux ), которые конкретно решают этот вопрос:
источник
Он сообщает местоположение вещей, которые необходимы для настройки текущего пакета или программного обеспечения.
Как и в простом случае, он может определить местоположение библиотек ssl:
и он также сообщает, какие пакеты не нужно настраивать, чтобы сделать подходящие компиляции программы в соответствии с вашей системой:
Это просто дополнительные опции, чтобы сделать компиляцию подходящей для вашей системы. Это то, что я думаю. Поправьте меня, если это что-то еще.
--prefix=PREFIX
Опция устанавливает независимые от архитектуры файлыPREFIX
. Когда вы запускаетеmake install
команду, библиотеки помещаются вPREFIX/lib
каталог, исполняемые файлы вPREFIX/bin
каталог и так далее.Если этот аргумент не передан
configure
команде, тогда значением по умолчанию является/usr/local
.источник