Ubuntu logo

Packaging Guide

10. Utilisation des environnements Chroots

Si vous utilisez une version d’Ubuntu, mais que vous travaillez sur les paquets pour une autre version, vous pouvez créer l’environnement de l’autre version avec un chroot.

Un environnement chroot vous permet d’avoir un système de fichiers complet d’une autre distribution avec lequel vous pouvez travailler tout à fait normalement. Il évite la surcharge engendrée par l’exécution d’une machine virtuelle complète.

10.1. Créer un environnement Chroot

Utilisez la commande debootstrap pour créer un nouvel environnement chroot:

$ sudo debootstrap trusty trusty/

This will create a directory trusty and install a minimal trusty system into it.

If your version of debootstrap does not know about Trusty you can try upgrading to the version in backports.

Vous pouvez alors travailler dans l’environnement chroot:

$ sudo chroot trusty

Où vous pouvez installer ou désinstaller le paquet que vous souhaitez sans affecter votre système principal.

Vous devriez copier vos clés GPG/ssh et votre configuration Bazaar dans l’environnement chroot de manière à accéder aux paquets et les signer directement:

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

Pour empêcher apt et d’autres programmes de se plaindre de l’absence d’informations linguistiques, vous pouvez installer les paquets linguistiques adéquats:

$ apt-get install language-pack-en

Si vous voulez exécuter des programmes X, vous devez lier le répertoire /tmp dans le chroot, en dehors de chroot, exécutez:

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

Certains programmes peuvent nécessiter que vous liez /dev ou /proc.

Pour plus d’informations sur chroot consultez notre page wiki debootstrap chroot.

10.2. Alternatives

SBuild est un système similaire à PBuilder pour la création d’un environnement d’exécution de tests de construction de paquets. Il correspond plus à celui utilisé par Launchpad pour créer des paquets, mais nécessite un peu plus de paramètres que PBuilder. Voir la page wiki de l’équipe de sécurité de construction d’ environnement pour une explication complète.

Les machines virtuelles complètes sont utiles pour tester et empaqueter les programmes. TestDrive est un programme automatisant la synchronisation et l’exécution quotidienne d’images ISO, reportez-vous à la page wiki TestDrive pour de plus amples informations.

Vous pouvez également configurer pbuilder pour marquer un arrêt lorsqu’il rencontre un échec de compilation. Copiez C10shell depuis /usr/share/doc/pbuilder/examples dans un répertoire et utilisez l’argument --hookdir= pour désigner ce dernier.

Les ordinateurs EC2 cloud d’Amazon vous permettent de louer un ordinateur contre quelques cents américains de l’heure, vous pourrez régler les machines Ubuntu pour toute version prise en charge ou tout paquet sur ces ordinateurs. Ceci est utile lorsque vous voulez compiler de nombreux paquets en même temps ou surmonter les contraintes de bande passante.