Creación de un Entorno chroot
De Wiki administradores
Voy a poneros aquí como usar un entorno de chroot para que podáis probar paquetes y scripts sin miedo a desconfigurar cosas de la red que están funcionando correctamente. Además, con esto tenéis un medio de que profesores de informática y alumnos de grado medio o superior puedan probar y aprender comandos de root, sin que sepan la contraseña de root y, lo mejor, sin que os preocupe lo más mínimo lo que vayan a hacer. A fin de cuentas se trata de crear un directorio donde se va a instalar un sistema debian base al que se le puede instalar el gnome y se le puede asignar una consola distinta. Yo lo tengo en todos los ordenadores (salvo el servidor) desde hace años. La verdad es que sólo lo uso yo, pero como es un directorio, pues se clona en todos los ordenadores. No molesta y puede ser útil en alguna ocasión. Cuando esté totalmente configurado, tendremos las consolas 1-6 para el sistema principal en modo texto, la consola 7 para el sistema principal en modo gráfico, la consola 8 para el chroot en modo texto, y la consola 9 para el chroot en modo gráfico. Para hacer esto hay que olvidarse momentáneamente de los repositorios de linex y poner los de debian, cuando todo esté instalado lo podemos volver a cambiar. Los paquetes que se instalan no modifican la configuración de linex. Quizás algún día se pueda crear el chroot con un sistema linex base, sin tener que recurrir a debian para "disfrazarlo" luego. De momento, y que yo sepa, esto es lo que hay.
Comenzamos.
1.Bajamos e instalamos el paquete debootstrap:
apt-get install debootstrap
2. Creamos un directorio en / del que colgará el sistema chroot:
mkdir /chroot
3. Instalamos el sistema debian base en el nuevo directorio:
debootstrap --arch i386 sarge /chroot/ http://ftp.debian.org/debian
debootstrap admite las opciones (después de --arch i386) --download-only que permite bajar solo los paquetes (para configurar en otro momento) y --print-debs para ver que paquetes se van a instalar.
En el caso de que queráis usar esto como método de prueba de nuevos paquetes, a lo mejor os conviene cambiar el sarge por sid. Yo lo tengo con sarge, actualmente.
4. En el fichero /etc/fstab del sistema principal montamos el proc del sistema chroot añadiendo la línea:
proc-chroot /chroot/proc proc none 0 0
Para no tener que reiniciar ejecutamos el comando:
mount /chroot/proc
5. En el sistema chroot configuramos el fichero /etc/hosts:
echo 127.0.0.1 localhost $(hostname) > /chroot/etc/hosts
6. Ya podemos acceder al sistema chroot (en modo texto):
chroot /chroot/ /bin/bash
En este punto, yo suelo poner la contraseña de root:
passwd
(Esta contraseña permitirá administrar sólo el sistema chroot, no el principal)
7. En estos momentos tenemos terminado el sistema de pruebas (aunque no hay gnome de momento), pero vamos a asignarle una consola para que sea más auténtico y no haya que utilizar el comando chroot /chroot/ /bin/bash para acceder a él. Yo le asigno siempre, como os decía antes la consola 8. Para hacerlo salimos del chroot:
exit
Vamos al fichero /etc/inittab (del sistema principal) y debajo de las líneas de las consolas (las que tienen la palabra respawn ) añadimos la siguiente:
8:23:respawn:chroot /chroot/ /sbin/getty 38400 tty8
A continuación reiniciamos init :
init q
A partir de ahora, cada vez que pulsemos ALT+F8 (o CTRL+ALT+F8 si estamos en el entorno gráfico) se nos abre la consola 8 y al meter el login accedemos al chroot. Fijaros que si dáis la contraseña de root del chroot no está comprometida la seguridad del sistema, porque sólo servirá en la consola 8 y cuando entre alguien a dicha consola lo que va a ver es un sistema cuyo directorio raíz es el /chroot del sistema principal, por lo que no hay forma de que nadie, intencionadamente o por error modifique la configuración del sistema principal.
8. Aún hay más. Instalación de gnome. (Esto puede llevar varias horas de descarga de paquetes)
Copiamos el fichero sources.list desde el sistema principal si no existe en el entorno chroot:
cp -a /etc/apt/sources.list /chroot/etc/apt/sources.list
En el chroot hacemos:
apt-get install gdm gnome x-window-system
9. Una vez instalado el entorno gráfico para evitar problemas de configuración, salimos de chroot, cogemos un archivo XF86Config-4 que nos funcione (por ejemplo el del sistema principal) y lo copiamos:
cp -a /etc/X11/XF86Config-4 /chroot/etc/X11/Xf86Config-4
10. Por último, entramos de nuevo en el chroot y editamos el fichero /etc/gdm/gdm.conf y sustituimos la línea:
0=standard vt7
por:
0=standard vt9
También podemos dar permiso al root para que entre con gdm (por defecto está desabilitado)
Hay que asegurarse que en el sistema principal, en el fichero gdm.conf tenemos activada la consola 7 para el entorno gráfico (0=standard vt7)
11. Entramos al entorno gráfico con el comando:
/etc/init.d/gdm start
Hemos terminado !. Tenemos las siguientes consolas:
tty1 hasta tty6 : entrono texto del sistema principal tty7 : entorno gráfico del sistema principal tty8: entorno texto del sistema chroot tty9: entorno gráfico del sistema chroot (ha de iniciarse con /etc/init.d/gdm start desde la consola 8)
