Создание пакетов при помощи 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




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

  1. Как же достали со своим sudo, нет у меня sudo, как и у большинства линуксоидов.

  2. >аноним пишет:

    >2010-10-10 в 7:21

    >

    >Как же достали со своим sudo, нет у меня sudo, как и у >большинства линуксоидов.

    Большинство линуксоедов это убунтоводы, у них судо есть.

  3. У меня есть судо и я доволен XD Хотя у некоторых нет sudo и это печально :(

  4. Не понимаю, чего плохого или хорошего в sudo? Я использую debian и захожу как под рутом, так и под sudo, если надо. Задачи разные бывают.

  5. В Ubuntu su никто не отменял,просто по умолчанию он не задействован.

    $ sudo passwd root ,вводим пароль и используем su.

  6. А те у кого нет sudo:

    # apt-get install sudo или # yum install sudo

    правим /etc/sudoers,вот оно и есть.

  7. >sudo не нужен.

    >Есть же su -c

    alias sudo='su -c'

    И больше не жалуйтесь на sudo в статьях.

Комментарии запрещены.