Ubuntu logo

Developer

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.

Criando um chroot

Use o comando debootstrap para criar um novo chroot:

$ sudo debootstrap oneiric oneiric/

Isto irá criar um diretório oneiric e instalará um sistema mínimo do oneiric dentro dele.

Se a sua versão de debootstrap não reconhece o Ubuntu Oneiric você pode tentar atualizar para a versão em backports.

Você pode então trabalhar dentro do chroot:

$ sudo chroot oneiric

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 oneiric/home/<username>
$ sudo cp -r ~/.gnupg ~/.ssh ~/.bazaar oneiric/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 oneiric/tmp
$ xhost +

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

Para mais informações sobre chroots veja o nosso Debootstrap Chroot wiki page.

Alternativas

SBuild é um sistema parecido com o PBuilder, que serve para a criação de um ambiente para rodar os testes de criação de pacotes. Ele se assemelha com o usado pelo Lauchpad para a construção de pacotes mas requer mais ajustes se comparado ao PBuilder. Veja the Security Team Build Environment wiki page para uma explicação detalhada.

Máquinas virtuais completas podem ser úteis para empacotamento e programas de testes. TestDrive é um programa para automatizar a sincronização e rodar imagens ISO diárias, veja the TestDrive wiki page para mais informações.

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.

EC2 cloud computers da Amazon lhe permite contratar um computador pagando alguns pouco centavos de dólar por hora, nela se pode configurar máquinas Ubuntu de qualquer versão suportada e pacote. Isto é util quando se quer compilar muitos pacotes ao mesmo tempo ou para superar restrições de banda.