Блог ИТ склеротика. Создание пакетов при помощи Checkinstall

Страницы

Расширенный поиск в статьях блога

28 февраля 2012 г.

Создание пакетов при помощи Checkinstall


Checkinstall — это утилита, которая умеет создавать инсталяционные пакеты Debian, RPM или Slackware из исходных кодов, распространяемых в tgz-архивах. Это позволяет использовать для установки программного обеспечения средства штатного установщика пакетов в тех системах, для которых разработчики ПО не предоставляют соответствующие инсталляционные пакеты. В отличие от традиционного способа установки программного обеспечения из исходных кодов, такой метод позволяет менеджеру пакетов в вашей системе знать обо всём установленном ПО и корректно им управлять.

В этой статье подразумевается, что вы используете Debian-подобный дистрибутив, хотя всё описанное должно корректно работать в большинстве систем. Также подразумевается, что вы имеете некоторый опыт построения пакетов из исходных кодов.
Многие пользователи предпочитают устанавливать ПО, используя менеджер пакетов. На сегодняшний день система управления пакетами в Linux является весьма качественной и надёжной, делая процесс установки и управления программным обеспечением лёгким и приятным. Но что же делать, если нужного вам пакета нет в репозитариях вашей системы или версия, которая там есть, является устаревшей. В подобных ситуациях делать больше нечего, кроме как устанавливать нужное ПО из исходных кодов.
Построение и установка программы из исходных кодов обычно является простой, но вместе с тем, создаёт некоторые проблемы. Одной из первых таких проблем является то, что вы устанавливаете ПО в обход менеджера пакетов, который понятия не имеет о том, что вы устанавливаете в систему, поскольку об этом нет информации в его базе данных. Может даже получиться так, что у вас в системе будут установлены несколько различных версий одного и того же ПО, а это, в свою очередь, может доставить немало головной боли.
К счастью, существует инструмент, призванный помочь вам избежать беспорядка в системе.Checkinstall умеет создавать инсталляционные пакеты из скомпилированных исходных кодов программ. Полученные таким образом пакеты вы затем можете вполне «официально» устанавливать в систему штатными средствами. Более того, построенные при помощиCheckinstall пакеты вы можете раздавать другим пользователям, которым уже не потребуется выполнять компиляцию нужного ПО. Если вы уже знаете, как собрать программу из исходных кодов, то работа с Checkinstall не должна вызвать у вас каких-либо трудностей. В большинстве систем Checkinstall по умолчанию не установлена, так что перед тем, как её использовать, вам необходимо установить её при помощи менеджера пакетов вашей системы.
Обычно процесс сборки программы из исходных кодов начинается примерно так: скачивание архива с исходными кодами с сайта разработчика, распаковка исходных кодов, переход в распакованный каталог и выполнение команды:
./configure
После того, как процесс конфигурации успешно завершится, можно приступать к сборке программы:
make
Далее следует этап установки собранной программы в систему:
sudo make install
Однако последний шаг, устанавливающий программу в систему, проходит в обход менеджера пакетов и в будущем может вызвать неприятности. Вместо выполнения sudo make install, выполните следующее:
sudo checkinstall
и Checkinstall приступит к построение инсталляционного пакета, а также его установке в систему. Перед началом процесса построения пакета, вам будет задано несколько вопросов. Если вы хотите лишь установить пакет в вашей собственной системе, вы можете спокойно принять предложенные варианты ответов по умолчанию. Однако, если же вы строите пакет, который будет использоваться и в других системах, будет весьма неплохо, если заполните некоторые поля.
Также обратите внимание на то, что в период времени, когда Checkinstall будет производить установку пакета, в системе не должно быть запущенных  процессов менеджера пакетов.
Удивительно, но Checkinstall сегодня в большинстве дистрибутивов не является известной пользователям утилитой. Может потому, что у неё нет графического интерфейса?
По мотивам LinuxJournal.Com

.

Счетчик тИЦ и PR Яндекс.Метрика Msn bot last visit powered by MyPagerank.NetYahoo bot last visit powered by MyPagerank.Net ping fast  my blog, website, or RSS feed for Free