Назад | Перейти на главную страницу

Что такое «стандартная» компиляция из кода и установка заклинания?

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

Обычно это так.

./configure

Это (когда выполняется в каталоге, где находится ваш исходный код) создает Makefile с правилами, которые будут использоваться для сборки программы. Здесь вы можете изменить поведение компиляции (то есть скомпилировать программу с параметрами, не заданными по умолчанию).

make

Программа будет построена по правилам, указанным в Makefile.

make install

Обычно это выполняется от имени пользователя root (или с использованием sudo make install чтобы не входить в систему как root) и устанавливает скомпилированную программу в вашу систему.

[РЕДАКТИРОВАТЬ]

Так как Михай Лимбасан Обратите внимание, что обычно вы можете передать параметр --prefix в ./configure, чтобы определить, где будет установлена ​​программа. Если у вас есть необходимые разрешения в целевом каталоге, вам даже не нужно запускать make install с помощью sudo (или от имени пользователя root).

Например, если вы сделаете

--prefix=/home/username/whatever/directory/here

вы должны иметь возможность установить эту программу без прав root. Я должен отметить, что это ограничит использование программы теми, у кого есть привилегии выполнения в указанном вами каталоге. Поэтому, если вам нужна общесистемная установка, вам, вероятно, следует использовать решение по умолчанию (запуск make install с правами root).

Михай также напомнил, что вы можете удалить установленную программу, запустив

make uninstall

(опять же, как root или с помощью sudo, если вы использовали параметры по умолчанию в configure), но для этого требуется, чтобы вы сохраняли каталог сборки на месте после установки программы. То есть не рекомендуется удалять исходный каталог скомпилированной программы, чтобы вы могли удалить ее позже.

Я получаю исходный код приложения. Первое, что я делаю, это читаю довольно стандартный файл README / INSTALL. Обычно они говорят мне, что мне нужно делать. Они сообщают мне, какие зависимости я хочу установить перед компиляцией, чтобы получить все нужные мне функции. Они говорят мне, что мне нужно сделать, чтобы обеспечить установку.

less INSTALL
less README

Найдите 3-5 минут и прочтите эти документы, они могут сэкономить вам много времени.

  1. tar -xzvf package.tar.gz
  2. cd package /
  3. меньше УСТАНОВИТЬ
  4. ./configure --with-options
  5. делать
  6. сделать чек
  7. sudo make install
  8. очистить

Эти шаги предполагают, что пакет компилируется правильно, все зависимости соблюдены, а цель «проверки» существует и проходит.

для вашего ./configure вы можете сначала использовать ./configure --help, так как это покажет параметры конфигурации, которые можно передать в configure. Это будет особенно полезно, если у вас возникают проблемы с компиляцией или вы не хотите, чтобы пакет предоставлял какую-либо поддержку.

make check также иногда заменяется на make test. Я бы рекомендовал попробовать их на любом программном обеспечении, которое вы компилируете перед установкой.