Instalar y configurar un entorno chroot de Archlinux

Es habitual que cuando queremos crear entornos seguros donde trabajar lo primero que se nos viene a la cabeza es utilizar una máquina virtual o virtualización hardware del sistema operativo, sin embargo existe otra alternativa que nos cambia / de posición manteniendo el uso de los recursos del sistema sin necesidad de virtualizar nada, a esto se llama chroot y hoy explicaré como configurar un chroot de Archlinux.

Lo primero que tenemos que hacer es descargar la imagen de bootstraping de archlinux

curl -O https://mirrors.kernel.org/archlinux/iso/latest/archlinux-bootstrap-2017.09.01-x86_64.tar.gz

 Lo siguiente que tenemos que hacer es descomprimir el fichero en la carpeta donde queremos tener nuestro sistema de chroot

tar xzf archlinux-bootstrap-2017.09.01-x86_64.tar.gz

Ahora ya tenemos todo el sistema descargado y empezamoscon la configuración. Todos los comandos siguientes se tendrán que hacer con permisos de root

  1. Montamos la carpeta 
    mount --bind /root.x86_64 /root.x86_64​
  2. Y ahora copiamos el contenido de resolv.conf de nuestro sistema al de chroot
    cp /etc/resolv.conf /root.x86_64/etc/​

Tras esto ya tenemos la configuración preliminar, ahora recomiendo introducir los siguientes comandos en un script para cada vez que quieras hacer chroot.

#!/bin/bash
#ruta donde tienes el sistema chroot
ruta=/turuta
if [ "$EUID" -eq 0 ];then #Ejecutar con permisos root
	mount -t proc /proc $ruta/proc
	mount --rbind /sys $ruta/sys
	mount --rbind /dev $ruta/dev
	mount --rbind /run $ruta/run #Solo si existe carpeta run
	chroot $ruta /bin/bash
	#Desmonta todo cuando chroot termine
	grep $ruta/proc /proc/mounts | cut -f2 -d" " | sort -r | xargs umount -n 2> /dev/null
	grep $ruta/sys /proc/mounts | cut -f2 -d" " | sort -r | xargs umount -n 2> /dev/null
	grep $ruta/dev /proc/mounts | cut -f2 -d" " | sort -r | xargs umount -n 2> /dev/null
	grep $ruta/run /proc/mounts | cut -f2 -d" " | sort -r | xargs umount -n 2> /dev/null
fi

Una vez ejecutado el comando chroot (o el script en su lugar) entraremos completamente en el entorno chroot, si queremos salir solamente tendremos que usar exit.

Ahora bien, lo que tenemos instalado no tiene mucha ulitidad por lo que tenemos que inicializar las claves para pacman (el gestor de paquetes) para poder empezar a instalar los paquetes que podamos necesitar. Son dos comandos simples.

pacman-key --init
pacman-key --populate archlinux

Si el fichero /etc/pacman.d/mirrorlist tiene todos los servidores comentados no podrás instalar nano (para editarlo y poner los que necesitas), en este caso recomiendo ejecutar antes de instalar los grupos base y base-devel el comando

echo "Server = http://mirrors.evowise.com/archlinux/$repo/os/$arch" >> /etc/pacman.d/mirrorlist

Luego ya instala todos los paquetes que necesites.

pacman -Syu base base-devel

Con todo esto ya tendrás lo necesario para empezar a trabajar con tu entorno chroot de Archlinux.

Fuentes
https://wiki.archlinux.org/index.php/Install_from_existing_Linux
https://unix.stackexchange.com/questions/120827/recursive-umount-after-rbind-mount 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *