Cómo compartir Internet con chroot

written by uve 15 March 2011

chroot es un comando muy útil en algunas ocasiones. Este comando nos permite cambiar el directorio raíz. Es especialmente útil cuando tenemos varias distros instaladas y necesitamos ejecutar un comando en la otra distribución y no queremos (o podemos) reinciar. También se puede usar si estamos construyendo un sistema desde cero.

En este caso, voy a explicar cómo disponer de internet en la nueva raíz. En mi caso es por una razón sencilla. Instalé una versión más de Ubuntu en el portátil y debido a que tengo una Broadcom, no tenía wifi (ni posibilidad de conectarme por ethernet), con lo que tampoco podía instalar los paquetes necesarios.

Solución: arrancar con la distro que funciona, hacer un chroot en la nueva distro instalada (compartiendo internet) y hacer un apt-get.

$ sudo su
# mount --bind /proc /media/distro/proc
# mount --bind /sys /media/distro/sys
# mount --bind /dev /media/distro/dev
# mount --bind /etc/resolv.conf /media/distro/etc/resolv.conf
# chroot /media/distro/

Es posible que nos encontremos con un error al montar resolv.conf:

# mount --bind /etc/resolv.conf /media/distro/etc/resolv.conf
mount: mount point /media/distro/etc/resolv.conf does not exist
# echo "" > /media/distro/etc/resolv.conf

 

Tags

La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.