Иногда вы можете обнаружить пакет, доступный только в виде исходного кода. Чтобы использовать его, вам потребуется скомпилировать и установить его в вашей системе. Этот урок проведет вас через общий процесс компиляции из исходного кода.
Подготовка системы
Прежде чем что-либо компилировать, вам понадобятся необходимые инструменты. В системах на базе Debian, таких как Ubuntu, вы можете установить их одной командой.
sudo apt install build-essential
Пакет build-essential устанавливает набор инструментов для разработки программного обеспечения, включая компилятор GCC и утилиту make, которые необходимы для компиляции.
После установки инструментов распакуйте содержимое пакета с исходным кодом, который обычно представляет собой файл .tar.gz.
tar -xzvf package.tar.gz
Прежде чем продолжить, всегда проверяйте наличие файла README или INSTALL внутри распакованной директории. Эти файлы часто содержат конкретные инструкции или зависимости, необходимые для данного пакета.
Стандартный процесс сборки
Хотя разные разработчики могут использовать различные системы сборки, такие как cmake, наиболее традиционный метод включает трехэтапный процесс. Понимание этого является основой для изучения того, как собирать исходный код.
Сначала запустите скрипт configure. Этот скрипт проверяет вашу систему на наличие всех необходимых зависимостей и библиотек, которые требуются программному обеспечению для правильной сборки и запуска.
./configure
Префикс ./ указывает оболочке выполнить скрипт из текущей директории. Если скрипт сообщает об отсутствующих зависимостях, вы должны установить их, прежде чем продолжить.
Затем выполните команду make. Эта команда считывает файл с именем Makefile в директории, который содержит набор правил о том, как скомпилировать исходный код в исполняемые программы.
make
Наконец, чтобы установить программное обеспечение в вашу систему, вы обычно запускаете:
sudo make install
Эта команда копирует скомпилированные файлы в соответствующие системные каталоги, делая программное обеспечение доступным для использования.
Лучший способ установки
Хотя sudo make install работает, у него есть существенный недостаток: он не регистрирует программное обеспечение в системном менеджере пакетов. Это затрудняет отслеживание, обновление или чистую деинсталляцию пакета в будущем.
Гораздо лучший подход — использовать checkinstall. Этот инструмент запускает процесс установки, но вместо прямого копирования файлов он создает нативный системный пакет (например, файл .deb в Debian/Ubuntu) и устанавливает его.
sudo checkinstall
Использование checkinstall интегрирует скомпилированное программное обеспечение в вашу систему управления пакетами. Это означает, что вы можете легко удалить его позже с помощью apt или dpkg, как и любой другой пакет, установленный из официальных репозиториев. По этой причине вам всегда следует предпочитать checkinstall вместо make install.
Чтобы удалить пакет, установленный с помощью make install, вам нужно вернуться в директорию с исходниками и запустить sudo make uninstall, но это не всегда надежно.