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
Crear un chroot¶
Use la orden debootstrap para crear un nuevo chroot:
$ sudo debootstrap oneiric oneiric/
Esto creará el directorio oneiric e instalará un sistema mínimo en él.
Si su versión de debootstrap no reconoce oneiric puede intentar la actualización a la versión en backports.
Puede trabajar dentro del chroot:
$ sudo chroot oneiric
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 oneiric/home/<username>
$ sudo cp -r ~/.gnupg ~/.ssh ~/.bazaar oneiric/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 oneiric/tmp
$ xhost +
Algunos programas pueden necesitar vincularse a /dev o /proc.
Para más información sobre chroot revise la página de wiki Debootstrap Chroot wiki page
Alternativas¶
Sbuild es un sistema similar a Pbuilder para crear entornos donde pueda ejecutar pruebas de construcción de paquetes. Es más parecido al utilizado por Launchpad para construir paquetes pero lleva más tiempo configurarlo comparado con Pbuilder. Veasé the Security Team Build Environment wiki page para obtener una explicación más detallada.
La virtualización completa de máquinas puede ser útil para el empaquetado y prueba de programas. TestDrive es un programa para automatizar la sincronización y ejecución de imágenes ISO, revise la página wiki de TestDrive para más información.
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.
EC2 cloud computers de Amazon le permite contratar a un equipo pagando unos pocos centavos de dólar por hora, puede configurar máquinas Ubuntu de cualquier versión compatible y empaquetar en ellas. Esto es útil cuando se desea compilar varios paquetes al mismo tiempo o para superar las limitaciones de ancho de banda.