Ubuntu logo

Packaging Guide

10. Usar chroots

Si ejecuta una versión de Ubuntu pero trabaja en paquetes de otra versión, puede crear un ambiente para esa otra versión con un chroot

Un chroot le permite tener un sistema de archivos completo de otra distribución el cual puede funcionar normalmente. Esto evita la sobrecarga de ejecutar una maquina virtual

10.1. Crear un chroot

Use la orden debootstrap para crear un nuevo 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.

Puede trabajar dentro del chroot:

$ sudo chroot trusty

Dónde puede instalar o eliminar cualquier paquete que desee sin afectar a su sistema principal.

Quizás quiera copiar sus claves GPG/ssh y su configuración de Bazaar dentro del chroot de manera que pueda acceder y firmar paquetes directamente:

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

Para detener apt y otros programas que se quejan por la perdida de locales, puede instalar el paquete de idioma correspondiente:

$ apt-get install language-pack-en

Si quiere correr programas X necesita enlazar el directorio /tmp dentro del chroot, desde fuera del chroot ejecute:

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

Algunos programas pueden necesitar vincularse a /dev o /proc.

For more information on chroots see our Debootstrap Chroot wiki page.

10.2. Alternativas

SBuild is a system similar to PBuilder for creating an environment to run test package builds in. It closer matches that used by Launchpad for building packages but takes some more setup compared to PBuilder. See the Security Team Build Environment wiki page for a full explanation.

Full virtual machines can be useful for packaging and testing programs. TestDrive is a program to automate syncing and running daily ISO images, see the TestDrive wiki page for more information.

Puede configurar pbuilder para hacer una pausa cuando encuentre un error en la construcción. Copie C10shell desde /usr/share/doc/pbuilder/examples en un directorio y use el parámetro --hookdir= para apuntar a él.

Amazon’s EC2 cloud computers allow you to hire a computer paying a few US cents per hour, you can set up Ubuntu machines of any supported version and package on those. This is useful when you want to compile many packages at the same time or to overcome bandwidth restraints.