Ubuntu logo

Packaging Guide

4. Використання chroot-оточень

Якщо Ви користуєтеся однією з версій Ubuntu, але працюєте над пакунками для іншої версії, Ви можете створити середовище іншої версії за допомогою chroot.

Використання chroot дозволить Вам мати у розпорядженні повну файлову систему іншого дистрибутиву для зручності роботи. Це дозволяє уникнути затрат, пов’язаних з встановленням віртуальної машини.

4.1. Створення chroot

Використовуйте команду debootstrap, щоб створити новий chroot:

$ sudo debootstrap trusty trusty/

Це створить теку trusty і встановить мінімальний образ trusty у неї.

Якщо Ваша версія debootstrap не визначить Trusty, спробуйте оновитися до версії в backports.

Після цього Ви можете працювати всередині chroot:

$ sudo chroot trusty

Де можна встановити або вилучити будь-який пакунок, який Ви бажаєте, без шкоди для основної системи.

Ви можете скопіювати свої ключі GPG і SSH, а також конфігурацію Bazaar в chroot, щоб отримувати доступ й підписувати пакунки безпосередньо звідти:

$ sudo mkdir trusty/home/<username>
$ sudo cp -r ~/.gnupg ~/.ssh ~/.bazaar trusty/home/<username>

Щоб apt й інші проґрами не скаржилися на відсутні локалі, можна встановити відповідний мовний пакунок:

$ apt-get install language-pack-en

Якщо Вам потрібно запускати проґрами, що використовують X-сервер, Вам потрібно додати в chroot директорію /tmp, для цього ззовні chroot запустіть:

$ sudo mount -t none -o bind /tmp trusty/tmp
$ xhost +

Для деяких проґрам, можливо, знадобиться прив’язати /dev або /proc.

На сторінці Debootstrap Chroot вікі Ви знайдете детальнішу інформацію про chroot-оточення.

4.2. Альтернативи

SBuild – система, схожа на PBuilder, що використовується для створення оточення, у якому виконуються тестові збірки пакунку. Вона близька до тієї, яку використовує Launchpad для збірки пакунків, але її встановлення дещо складніше, ніж PBuilder. Повнішу інформацію можна знайти на вікісторінці Система Збірки Security Team.

Повні віртуальні машини можуть бути корисні для створення пакунків й тестування проґрам. TestDrive — це проґрама, яка дозволяє автоматизувати синхронізацію і запуск щоденних ISO-образів. Детальніше дивіться wiki-сторінку TestDrive.

Можна також налаштувати pbuilder так, щоб він призупинявся при виявленні помилки збірки. Скопіюйте C10shell з /usr/share/doc/pbuilder/examples у каталог й використовуйте аргумент --hookdir=, щоб вказати на нього.

Хмарний сервіс Amazon EC2 дозволить Вам придбати комп’ютер у хмарі, ціна за який – усього декілька центів на годину. Там Ви можете встановити Ubuntu будь-якої підтримуваної версії і працювати з пакунками віддалено, що дуже зручно, якщо потрібна збірка багатьох пакунків одночасно, або якщо потрібно подолати повільну швидкість Інтернет-під’єднання.