Как скомпилировать и установить программы из исходников

Как скомпилировать и установить программы из исходников

Это проблема, которая действительно ограничивает мое удовольствие от Linux. Если приложение не находится в репозитории или у него нет скрипта установщика, то мне действительно трудно понять, где и как установить приложение из исходного кода.

По сравнению с Windows, это просто. Вам (почти) необходимо использовать приложение-установщик, которое выполняет всю работу в Wizard. С Linux... не так много.

Есть ли у вас какие-либо советы или инструкции по этому поводу или есть ли какие-либо веб-сайты, которые подробно объясняют, как, зачем и куда устанавливать программы Linux из исходников?

решение1

Обычно у проекта есть веб-сайт с инструкциями по его сборке и установке. Сначала найдите его в Google.

В большинстве случаев вы будете делать одно из следующего:

  1. Загрузите tarball (файл tar.gz или tar.bz2), который представляет собой выпуск определенной версии исходного кода.
  2. Извлеките tarball с помощью команды, например, tar zxvf myapp.tar.gzдля gzip-архива или tar jxvf myapp.tar.bz2для bzip-архива
  3. перейдите в каталог, созданный выше
  4. бегать./configure && make && sudo make install

Или:

  1. Используйте git или svn или что-то еще, чтобы извлечь последнюю версию исходного кода из их официального репозитория исходного кода.
  2. перейдите в каталог, созданный выше
  3. бегать./autogen.sh && make && sudo make install

И configure, и autogen.sh принимают аргумент --prefix для указания места установки программного обеспечения. Я рекомендую проверитьКуда мне следует помещать программное обеспечение, которое я скомпилировал самостоятельно?для получения совета о лучшем месте для установки индивидуального программного обеспечения.

решение2

Я просто хочу добавить, что существуют менеджеры пакетов, которые компилируют пакеты из исходного кода и обрабатывают все зависимости пакетов, флаги и т. д.

В системах BSD это ports:Использование коллекции портов

В Debian apt-getменеджер пакетов также может выполнять установку из исходного кода:APT HOWTO: Работа с исходными пакетами(То же самое касается Ubuntu, Linux-mint и всего остального на основе Debian)

Дистрибутив Gentoo использует portageменеджер пакетов, который компилирует всю систему только из исходного кода:Введение в Портедж.

Slackware может компилировать пакеты, но я не знаю, есть ли там какой-нибудь менеджер пакетов для этого.. =)

В любом случае вы всегда можете скомпилировать пакеты вручную, как упомянул Сэнди выше =) Также должна быть возможность использовать менеджеры apt-getпакетов portageв любом другом дистрибутиве...

решение3

Я думаю, лучше всего просто прочитать документацию, прилагаемую к конкретной программе или приложению, которое вы хотите установить. Обычно в tarballs (архив исходного кода приложения, который вы обычно можете скачать) есть readme/README или, может быть, даже файлы INSTALL, чтобы прочитать и узнать, какой способ установки указанного приложения предпочтительнее. Короче говоря: RTFM ;)

решение4

Недавно я начал использовать "Checkinstall" при установке из исходников вне моего менеджера пакетов. Он создает "пакет" из стороннего tarball, который затем можно установить и управлять (и удалять) через инструменты вашего менеджера пакетов.

Ознакомьтесь с этой статьей -http://www.linuxjournal.com/content/using-checkinstall-build-packages-source

Связанный контент