
Pbuilder
pbuilder — это интересное средство, позволяющее нам создать архив, хранящий в себе образ свежеустановленной Debian или Ubuntu в минимальной комплектации — то есть, только с самыми необходимыми пакетами.
Настройка
Для начала создаем файл конфигурации ~/.pbuilderrc. Вот его примерное содержимое:
# названия дистрибутивов Ubuntu
#UBUNTU_SUITES=("karmic" "jaunty" "intrepid" "hardy" "gutsy")
#MIRRORSITE="http://mirror.yandex.ru/ubuntu/"# компоненты дистрибутива по умолчанию
COMPONENTS="main restricted universe multiverse"# выбираем дистрибутив для использования
: ${DIST:="$(lsb_release --short --codename)"}# а также архитектуру
: ${ARCH:="$(dpkg --print-architecture)"}# ну и давайте определим имя, которым мы будем обозначать отдельный образ
NAME="$DIST"
if [ -n "${ARCH}" ]; then
NAME="$NAME-$ARCH"
# следующая строчка нужна для того чтобы собирать под разные архитектуры
DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
fi# где мы будем создавать, а потом искать файл образа
BASETGZ="/home/andrey/build/pbuilder/$NAME-base.tgz"
DISTRIBUTION="$DIST"# и куда мы будем класть собранные пакеты
BUILDRESULT="/home/andrey/build/pbuilder/$DIST/result/"# тут у нас будет лежать кэш слитых из сети пакетов
APTCACHE="/home/andrey/build/pbuilder/$NAME/aptcache/"# а в это место будет распаковываться образ для сборки
BUILDPLACE="/home/andrey/build/pbuilder/build/"# еще можно раскомментировать следующие два параметра по необходимости:
# примонтировать каталог вашей системы в такой же каталог образа
#BINDMOUNTS="/var/cache/archive"
# подключить дополнительное зеркало помимо стандартного
#OTHERMIRROR="deb file:///var/cache/archive unstable main"
Файл конфигурации я взял здесь и закомментировал или удалил то что посчитал ненужным
Создание образа системы
Создать образ какой-нибудь системы можно например, так:
$ sudo ARCH=i386 DIST=jaunty pbuilder --create
Где i386 архитектура создаваемого образа, а jaunty название дистрибутива. Если вы собираете пакет под текущие дистрибутив и архитектуру то можно просто написать:
$ sudo pbuilder --create
Сборка пакетов
Для создания базового образа для архитектуры i386 под x86_64
/usr/sbin/pbuilder create --debootstrapopts --arch --debootstrapopts i386
sudo DIST=karmic ARCH=i386 linux32 /usr/sbin/pbuilder build mypaint_0.7.1-2.dsc
Ссылки
Сборка пакетов. Глава 3. Chroot. Mock. Pbuilder
Как собирать/бэкпорчить deb пакеты
Раздел полезных советов: Перекомпиляция пакета в Debian и Ub..
Стать мэинтейнером — часть пятая
Создание локального репозитария
ubuntu-вский apt-get update в pbuilder-е