Entornos aislados en Ubuntu GNU/Linux con debootstrap y chroot

En caso de que necesitemos tener un entorno para ejecutar aplicaciones de otras versiones de nuestra actual Ubuntu o si necesitamos instalar herramientas de desarrollo sin “ensuciar” el sistema, podemos optar por soluciones complejas de virtualización o por debootstrap y chroot.

Con debootstrap crearemos un sistema base Ubuntu en un directorio de nuestro sistema de ficheros, primero tendremos que descargarnos la última versión del repositorio Ubuntu, por ejemplo:

wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.10ubuntu1~intrepid1_all.deb
sudo dpkg -i debootstrap_1.0.10ubuntu1~intrepid1_all.deb

Y a continuación preparamos el directorio:

sudo apt-get install debootstrap
sudo mkdir -p /var/chroot/intrepid/
sudo debootstrap --arch i386 intrepid  /var/chroot/intrepid/ http://archive.ubuntu.com/ubuntu/

En este ejemplo, en ‘/var/chroot/intrepid/’ tendremos instalado una Ubuntu mínima en su versión 8.10 (Intrepid Ibex). Para trabajar dentro de ella, con el usuario root podemos hacer un chroot:

xhost +localhost
sudo mount -o /dev /var/chroot/intrepid/dev/
sudo mount -o /proc /var/chroot/intrepid/proc/
sudo chroot /var/chroot/intrepid/ /bin/bash

La primera línea únicamente es necesaria si estamos en las X.org y vamos a ejecutar algún programa gráfico dentro del chroot. Los mount’s hacen que los directorios especiales /dev y /proc se encuentren duplicados dentro del chroot. Finalmente, el comando chroot cambia nuestra raiz y partir de ese instante en esa terminal la raiz del sistema ‘/’, corresponderá realmente a ‘/var/chroot/intrepid/’.

En consecuencia, ahora podremos cambiar ‘/etc/apt/sources.list’, actualizar el listado de aplicaciones con ‘apt-get update’ e instalar aquello que necesitemos sin realizar ningún cambio sobre el sistema real (todos los cambios solo tienen efecto dentro de ‘/var/chroot/intrepid/’).

Por otra parte, si necesitamos que los usuarios puedan hacer chroot podemos utilizar schroot: schroot – chroot for any users. Más trucos en el wiki de Ubuntu.

Leave a Reply

Your email address will not be published. Required fields are marked *