deb пакеты (Как пересобрать deb-пакет).

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

К счастью, пересобрать (изменённый) пакет достаточно просто. Последовательность действий:

0. Убедиться, что в /etc/apt/sources.list есть подходящая запись deb-src; добавить, если нет. Добавляется примерно такая строчка:

deb-src http://ftp.ru.debian.org/debian/ testing main contrib non-free


в ней можно менять адрес зеркала, ветку (например, stable или unstable вместо testing) и разделы репозитория.

После этого надо сделать aptitude update. Перейти в каталог, в котором собираетесь собирать исходники.

1. Получить исходники пакета: apt-get source названиепакета. Здесь надо учитывать, что иногда из одного пакета с исходниками собирается несколько бинарных.

2. Скачать всё, что необходимо для сборки: apt-get build-dep название пакета

3. Перейти в каталог названиепакета-версия/

4. Поправить, что хочется, в исходниках. Отредактировать файл debian/changelog (см. документацию, как описывать изменения). Описывать изменения и менять номер версии пакета нужно, чтобы потом самому отличать свои пакеты от дистрибутивных.

5. Пересобрать пакет: fakeroot dpkg-buildpackage -us -uc
Savagex в комментария заметил, что тот же результат можно получить с помощью dpkg-buildpackage -rfakeroot.

На каталог выше должны появиться новые бинарные пакеты, готовые к установке.

Возможно, это не совсем идеологически верное описание и что-то важное я упустил (я не Debian-гуру). Кто знает лучше — пусть поправит. Однако такой способ вполне годится для личного использования.

Дополнение: анонимный читатель указал, что для пересборки пакета можно также воспользоваться программой pbuilder, которая позволяет производить сборку в «чистом окружении» и не засорять систему зависимостями для сборки (см. этап получения build-dep).

Операции с документом

Яндекс.Метрика Top.Mail.Ru