Как конвертировать пакет deb в udeb
В продолжение о том, как установить squid-deb-proxy-client через preseed / early_command, я хочу получить udeb из squid-deb-proxy-client
пакет. Из прочтения вики Debian кажется, что легко конвертировать обычный deb в udeb. Тем не менее, я не мог найти инструмент, который делает это для меня.
Поскольку я предполагаю, что мне также нужно преобразовать зависимости в udebs, я бы не хотел делать это вручную, поэтому мой вопрос:
Как удобно конвертировать обычные пакеты deb в udebs?
1 ответ
Во-первых, вы должны extract
содержание file.deb
с помощью dpkg -x
а также dpkg -e
,
Тогда вы должны создать file.udeb
с помощью debhelper
,
Debhelper
знает особые свойства file.udeb
и будет делать правильные вещи по умолчанию во время сборки.
Отредактировано июнь-01-2016:
Dpkg-deb - это инструмент манипулирования архивом пакетов Debian (.deb).
dpkg-deb -x, --extract archive directory
Извлекает дерево файловой системы из архива пакета в указанный каталог.
Используйте dpkg-deb -x для извлечения файлов из пакета foo.deb, как показано ниже:
dpkg-deb -x foo.deb /some-dir/debian
ls /some-dir/debian
foo
Debhelper используется, чтобы помочь вам собрать пакет Debian.
Предоставить коллекцию легко понятных инструментов, которые используются в debian/rules для автоматизации различных общих аспектов построения пакета.
Типичный файл debian/rules, который использует debhelper, будет вызывать несколько команд debhelper по очереди.
Примеры файлов правил, использующих debhelper, находятся в: /usr/share/doc/debhelper/examples/
Чтобы создать новый пакет Debian с помощью debhelper, вы можете просто скопировать один из файлов примеров правил и отредактировать его вручную.
По умолчанию все программы debhelper предполагают, что временным каталогом, используемым для сборки дерева файлов в пакете, является / some-dir / debian / package.
Чтобы создать udeb с помощью debhelper, добавьте "Package-Type: udeb" в раздел пакета в debian / control.
Debhelper попытается создать udebs, которые соответствуют политике установки Debian, сделав концы сгенерированных файлов пакетов заканчивающимися на.udeb, не устанавливая какую-либо документацию в udeb, пропуская сценарии preinst, postrm, prerm и config и т. Д.