Ubuntu logo

Packaging Guide

10. Usando o chroot

Se você está executando uma versão do Ubuntu mas os pacotes que está trabalhando são de outras versões você pode criar um ambiente da outra versão com um chroot.

Um chroot lhe permite ter um sistema de arquivos completo a partir de outra distribuição, no qual se pode trabalhar normalmente. Isto evita a sobrecarga de uma máquina virtual inteira.

10.1. Criando um chroot

Use o comando debootstrap para criar um novo 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.

Você pode então trabalhar dentro do chroot:

$ sudo chroot trusty

Onde você pode instalar ou remover qualquer pacote que desejar sem afetar seu sistema principal.

Você pode querer copiar suas chaves GPG/SSH e configuração do Bazaar para dentro do chroot, então você pode acessar e assinar pacotes diretamente:

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

Para impedir que o apt e outros programas reclamem de falta de localizações, você deve instalar o pacote de linguagem relevante para você:

$ apt-get install language-pack-en

Se você quer executar programas X será necessário vincular o diretório /tmp com o chroot, de fora do chroot execute:

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

Alguns programas podem necessitar que os diretórios /dev ou /proc estejam vinculados com o chroot.

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.

Você também pode configurar o pbuilder para pausar quando ele vem através de uma falha de construção. Copie C10shell de /usr/share/doc/pbuilder/examples para dentro do diretório e use o argumento --hookdir= para apontá-lo.

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.