Простая сборка пакета из исходников

[:ru]

bashВ этой статье я разберу процесс сборки пакета из исходного кода. Иногда нужной программы нет в официальном репозитории или ее версия устарела. В этих случаях ее можно собрать из исходного кода. Это не так сложно, как кажется сначала.

Так как многие дистрибутивы Linux сейчас идут в комплекте с системой управления пакетами, я разберу оба варианта установки из исходников: без сборки пакета и с ней.

Подготовка к установке программы

1. Получение исходников

Для начала нам нужно получить сам исходный код программы (обычно он распространяется в виде tar.gz или tar.bz2 архивов.

Скачать архив можно командой

wget http://адрес

2. Распаковка архива

Распаковывать архивы мы тоже будем в консоли, так как это универсальный метод. В случае, когда внезапно отказывает графика и вы остаетесь наедине с консолью, лучше знать эти приемы. :)

Вот команды для распаковки распространенных форматов архивов:
1) Для простого tar архива (.tar)

tar -xf архив.tar

2) Для архива tar со сжатием gzip (.tar.gz)

tar -xzf архив.tar.gz

3) Для архива tar со сжатием bzip2 (.tar.bz2)

tar -xjf архив.tar.bz2

После распаковки рядом с архивом появится папка, название которой совпадает с названием архива. Уточнить ее название можно командой

ls -a

Теперь нам нужно перейти в только что распакованную папку командой

cd имя-папки

3. Подготовка исходников к сборке

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

./configure

Если какой-либо библиотеки не хватает, configure завершит свою работу с ошибкой. По тексту этой ошибки довольно легко найти решение в гугле. Чаще всего достаточно просто установить пакет с нужной библиотекой.

4. Компиляция программы

Теперь, когда все зависимости удовлетворены, можно приступить к компиляции программы. Это делается очень просто: достаточно лишь одной команды

make

Установка

После компиляции программа готова к установке. Можно установить ее двумя способами: один простой и не требует ничего кроме одной команды, и другой, требующий установки одного скрипта.

1. Простая установка без пакетов

Тут все просто. Установка происходит при помощи скрипта, прописанного разработчиком в Makefile. При запуске этого скрипта, он просто раскидывает все файлы этой программы по нужным папкам системы и все начинает работать.

Для установки программы при помощи этого способа, достаточно ввести одну команду:

sudo make install

Но у этого способа есть один огромный минус: программу, установленную так, нельзя никак удалить из системы, если разработчик не предусмотрел такую возможность! Даже если разработчик сделал скрипт удаления, вам все-равно придется хранить исходники, чтобы в будущем вычистить файлы этой программы из системы. Используйте этот способ только на свой страх и риск!

2. Сборка пакета

Про этот способ в интернете есть множество туториалов, объем которых отпугивает многих пользователей. В таких туториалах используется куча всяких инструментов и ручное редактирование файлов (на сколько я помню).

Настоящей целью данного поста является желание рассказать вам об очень простом скрипте для сборки пакетов: checkinstall.

Установить его можно при помощи менеджера пакетов. В системах, основанных на Debian установка будет выглядеть так:

sudo apt-get install checkinstall

Вместе с этим скриптом установятся все необходимые для сборки пакетов инструменты.

Теперь перейдем к самой установке программы. С этим скриптом сборка и установка пакетов становится намного проще. Просто вместо make install мы вводим

sudo checkinstall

Программа задаст несколько вопросов, относящихся к сборке. Можно изменить информацию о пакете, его версию и зависимости. Однако чаще всего достаточно просто на каждом вопросе нажать Enter, так как настройки по умолчанию уже подходят для большинства случаев.

После того, как сборка пакета завершится и программа установится, скрипт выведет команду для удаления этой программы в будущем. Команда имеет такой вид:

dpkg -r имя_пакета

Нам нужно запомнить имя пакета, чтобы программу можно было удалить в будущем.

Итог

При помощи checkinstall можно быстро и безопасно установить программу из исходного кода, не допустив при этом засорения системы. Вся установка в итоге сводится к вводу нескольких команд:

wget http://адрес #Скачиваем
tar -xzf архив.tar.gz #Распаковываем
cd имя-папки
./configure #Настраиваем
make #Компилируем
sudo checkinstal #Собираем и устанавлиеваем

[:en]

bashВ этой статье я разберу процесс сборки пакета из исходного кода. Иногда нужной программы нет в официальном репозитории или ее версия устарела. В этих случаях ее можно собрать из исходного кода. Это не так сложно, как кажется сначала.

Так как многие дистрибутивы Linux сейчас идут в комплекте с системой управления пакетами, я разберу оба варианта установки из исходников: без сборки пакета и с ней.

Подготовка к установке программы

1. Получение исходников

Для начала нам нужно получить сам исходный код программы (обычно он распространяется в виде tar.gz или tar.bz2 архивов.

Скачать архив можно командой

wget http://адрес

2. Распаковка архива

Распаковывать архивы мы тоже будем в консоли, так как это универсальный метод. В случае, когда внезапно отказывает графика и вы остаетесь наедине с консолью, лучше знать эти приемы. :)

Вот команды для распаковки распространенных форматов архивов:
1) Для простого tar архива (.tar)

tar -xf архив.tar

2) Для архива tar со сжатием gzip (.tar.gz)

tar -xzf архив.tar.gz

3) Для архива tar со сжатием bzip2 (.tar.bz2)

tar -xjf архив.tar.bz2

После распаковки рядом с архивом появится папка, название которой совпадает с названием архива. Уточнить ее название можно командой

ls -a

Теперь нам нужно перейти в только что распакованную папку командой

cd имя-папки

3. Подготовка исходников к сборке

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

./configure

Если какой-либо библиотеки не хватает, configure завершит свою работу с ошибкой. По тексту этой ошибки довольно легко найти решение в гугле. Чаще всего достаточно просто установить пакет с нужной библиотекой.

4. Компиляция программы

Теперь, когда все зависимости удовлетворены, можно приступить к компиляции программы. Это делается очень просто: достаточно лишь одной команды

make

Установка

После компиляции программа готова к установке. Можно установить ее двумя способами: один простой и не требует ничего кроме одной команды, и другой, требующий установки одного скрипта.

1. Простая установка без пакетов

Тут все просто. Установка происходит при помощи скрипта, прописанного разработчиком в Makefile. При запуске этого скрипта, он просто раскидывает все файлы этой программы по нужным папкам системы и все начинает работать.

Для установки программы при помощи этого способа, достаточно ввести одну команду:

sudo make install

Но у этого способа есть один огромный минус: программу, установленную так, нельзя никак удалить из системы, если разработчик не предусмотрел такую возможность! Даже если разработчик сделал скрипт удаления, вам все-равно придется хранить исходники, чтобы в будущем вычистить файлы этой программы из системы. Используйте этот способ только на свой страх и риск!

2. Сборка пакета

Про этот способ в интернете есть множество туториалов, объем которых отпугивает многих пользователей. В таких туториалах используется куча всяких инструментов и ручное редактирование файлов (на сколько я помню).

Настоящей целью данного поста является желание рассказать вам об очень простом скрипте для сборки пакетов: checkinstall.

Установить его можно при помощи менеджера пакетов. В системах, основанных на Debian установка будет выглядеть так:

sudo apt-get install checkinstall

Вместе с этим скриптом установятся все необходимые для сборки пакетов инструменты.

Теперь перейдем к самой установке программы. С этим скриптом сборка и установка пакетов становится намного проще. Просто вместо make install мы вводим

sudo checkinstall

Программа задаст несколько вопросов, относящихся к сборке. Можно изменить информацию о пакете, его версию и зависимости. Однако чаще всего достаточно просто на каждом вопросе нажать Enter, так как настройки по умолчанию уже подходят для большинства случаев.

После того, как сборка пакета завершится и программа установится, скрипт выведет команду для удаления этой программы в будущем. Команда имеет такой вид:

dpkg -r имя_пакета

Нам нужно запомнить имя пакета, чтобы программу можно было удалить в будущем.

Итог

При помощи checkinstall можно быстро и безопасно установить программу из исходного кода, не допустив при этом засорения системы. Вся установка в итоге сводится к вводу нескольких команд:

wget http://адрес #Скачиваем
tar -xzf архив.tar.gz #Распаковываем
cd имя-папки
./configure #Настраиваем
make #Компилируем
sudo checkinstal #Собираем и устанавлиеваем

[:]