Miriam Ruiz
random thoughts on technology and life











{February 16, 2007}   Creando un entorno chroot para pruebas

A veces es interesante disponer de un entorno de pruebas en el que poder experimentar alegremente sin miedo a romper nada. En este ámbito puede ser bastante útil tener un entorno chroot en el que hacer cosas, separado del sistema operativo principal de esa máquina. Por supuesto, también se puede optar por usar una máquina virtual, pero esta opción tiene también sus pros y sus contras. En este texto quiero comentar brevemente como crear un entorno chroot de pruebas desde Debian de una forma sencilla.

En primer lugar, se puede usar el comando debootstrap o cdebootstrap para crear el árbol de directorios principal del chroot: “cdebootstrap (o debootstrap) SUITE TARGET [MIRROR]“, donde SUITE es cualquiera de las ya conocidas en Debian: sid, testing, stable, oldstable; TARGET representa el directorio donde queremos crear el chroot, y MIRROR es el repositorio del que obtendremos los paquetes para la instalación.

El segundo paso consiste en copiar dentro de este entorno chroot algunos archivos de configuración de nuestro sistema principal, como /etc/passwd, /etc/group, /etc/shadow, /etc/hosts, /etc/fstab y /etc/resolv.conf. Es importante además crear un archivo /etc/apt/sources.list con los repositorios fuentes que usaremos para actualizar nuestro sistema. Se puede crear además un archivo /etc/debian_chroot para que se muestre claramente en la línea de comandos que estamos dentro del entorno chroot.

El siguiente paso será hacer que ciertos directorios de nuestro entorno chroot sean los mismos que los de nuestro sistema principal: /home, /dev y tal vez también /tmp. También montaremos en su sitio los directorios especiales: /dev/pts (devpts), /sys (sysfs), /proc (proc) y /proc/bus/usb (usbfs).

A continuación entramos en el entorno chroot recién creado y añadimos y quitamos los paquetes que deseemos. Por ejemplo podemos añadir locales, xorg, xfce4 y xdm, y sustituir exim4 por esmtp-run.

Ya tenemos el entorno chroot creado. Para entrar en él no tenemos nada más que, como root, usar el comando chroot. Si queremos abrir un segundo servidor de X, dentro del chroot, lo haremos con “startx — :1″. Tal vez sea necesario reconfigurar éste. Si ese es el caso, lo mejor es, desde una consola (no desde las X), ejecutar dentro del chroot: “dpkg-reconfigure xserver-xorg“, y seguir los pasos.

Podemos hacer aún algo más, iniciar directamente el chroot desde una nueva consola virtual, por ejemplo la 9, añadiendo la línea “9:23:respawn:/usr/sbin/chroot /chroot_dir /sbin/getty 38400 tty9″ al archivo de configuración /etc/inittab de nuestro sistema principal (es decir, fuera del chroot), y reiniciando con “init q”. También podemos hacer que nos abra directamente el servidor de X en otra consola virtual, por ejemplo la 10, ejecutando el script de inicio de xdm (o similar: wdm, gdm, kdm) dentro del chroot, habiendo ajustado previamente su configuración en /etc/X11/xdm/Xservers

He creado un script con todos los pasos, para poder analizarlo con calma. Si alguien lo quiere se lo puede descargar de aquí.



kikorb says:

He añadido tu weblog a mi lista de enlaces “blogs de linux”. El mio es un modesto blog que trata de acercar a la gente a Ubuntu, enseñando a configurar sus máquinas con los drivers propietarios, a poner apache o un servidor FTP, a instalar VMWare y Windows o a poner el cubito del beryl.

Me ha sorprendido el grado de conocimiento que tienes de los sistemas debian (y del inglés xD ) por lo que te he añadido a mi lector RSS… buen trabajo.



Miry says:

Muchas gracias :)

A ver si poquito a poco vamos extendiendo el uso de Linux!



kikorb says:

Pues sí. El script está muy bien. No me he atrevido a usarlo directamente y lo he ido usando paso a paso, pero me ha funcionado.

La página de ChicasLinux no me agradó nada… me pareció un poco sosa y sin contenido, y usando la encuesta descrubres que el 66% de las visitas son de tíos… Me pareció una especie de página feminista que tenía como escusa el linux. Odio el machismo, pero tampoco comulgo con el feminismo. Misma dignidad para ambos, pero somos distintos. Ni mejores ni peores.

No sé. Tema agotado supongo este de los -ismos.

Gracias por el tuto!



Miry says:

Me alegra saber que tampoco a tí te ha dado problema. Yo en este sentido hago lo mismo que tú: cualquier cosa que haya que ejecutar como root la miro con lupa, por si acaso, así que evidentemente recomiendo que quien se baje el script no sea para ejecutarlo tal cual, sino para analizarlo y ejecutar los comandos a mano. En todo caso yo sí que lo he usado directamente (por algo soy yo la que lo he hecho, y si no me fío de mí misma…) y no me ha dado problemas.

Respecto al tema de ChicasLinux, me parece muy bien que no te guste, no tienes ninguna obligación de colaborar, apoyarla o seguirla. En todo caso diré un par de cosillas con respecto a tu comentario:

1) No es lo mismo machismo que feminismo, por mucho que se intenten poner a la misma altura. En todo caso lo contrario del machismo sería el hembrismo. Tal vez a ciertos sectores no les guste el término “feminismo” por diversas razones, unas más legítimas que otras, pero dada la cantidad de mujeres que han luchado e incluso muerto a lo largo de la historia por defender mis derechos bajo la bandera del feminismo, creo que es de justicia llevarla con orgullo, y eso hago.

Definiciones del diccionario de la RAE:

machismo:
1. m. Actitud de prepotencia de los varones respecto de las mujeres.

feminismo: (Del lat. femĭna, mujer, hembra, e -ismo).
1. m. Doctrina social favorable a la mujer, a quien concede capacidad y derechos reservados antes a los hombres.
2. m. Movimiento que exige para las mujeres iguales derechos que para los hombres.

2) Supongo que en el tema de la discriminación por género estaremos bastante de acuerdo en el fondo, aunque quizás diverjamos en las formas, la terminología o las vías para lograr la plena obtención de los mismos derechos para todas las personas, independientemente de su género, edad, raza o cualquier otro posible criterio discriminador. Si es así, respeto tu punto de vista aunque haya puntos en los que podamos no coincidir.

3) Respecto al 66% de visitas de chicos a la página de ChicasLinux, la verdad es que es algo que ocurre a menudo con ese tipo de movimientos, que hay bastantes chicos que se congregan alrededor. He escuchado muchas posibles explicaciones a ese hecho, unas más optimistas que otras, y aún no tengo una explicación sociológica al respecto que me convenza plenamente. Seguramente cada persona sea un mundo y tenga sus propias razones. En todo caso no creo que sea algo que se debiera preguntar a ChicasLinux, sino más bien a los chicos que entran.

4) Somos distintos, eso está claro. Todas las personas, de hecho, somos distintas independientemente de nuestro género. De todas formas esa expresión, “somos distintos, ni mejores ni peores”, la he visto usada tantas veces como excusa para justificar otras cosas, que me da yuyu simplemente con leerla en este contexto. Me gustaría perguntarte a qué te refieres exactamente al poner esa expresión en tu comentario, pero la verdad es que no estoy segura de querer saberlo, por si acaso.

Gracias por tus comentarios :)



kikorb says:

Gracias a ti por contestar mis comentarios. A lo que aduces arriba, también un par de aclaraciones.

1) Creo que las causas de que las visitas a chicaslinux sean mayoritariamente de hombres se debe a:
-> El porcentaje de personas que usa informática es favorable aunque poco a los hombres.
-> El porcentaje de personas que usa linux y es hombre es considerablemente mayor a favor de los hombres (sólo hay que ver el porcentaje de hombres frente a mujeres que estudia ingeniería informática en mi facultad)
-> Supongo que algún loco se meterá buscando fotos de tías restregando ordenadores con su culo o algo parecido… hay cada pirado por ahí.

2) La frase “somos distintos, ni mejores ni peores” debe entenderse tal y como se lee. No sé en qué casos la habrás visto emplear (me los puedo imaginar) pero el sentido es el que tiene: ni yo tengo la menstruación ni tú te afeitas diariamente. Ni afeitarme me hace mejor, ni soportar la regla te hace a ti mejor. Nos hace distintos (bendita variedad).

Si te preguntas si soy de los que creen que unos estamos más capacitados que otros para determinadas cosas… sí. Soy de los que piensan que en general las mujeres estáis más dotadas de cabeza que los hombres. Sobre todo para las matemáticas. A qué negar que también pienso que para picar en la mina están más dotados los hombres.

¿Significa eso que una mujer no puede picar en la mina? Por supuesto que no. Si demuestra ser tan buena o mejor que sus compañeros no sólo puede sino que debe, si lo quiere, picar en la mina.

¿Está la mujer más dotada para la casa? No. Bajo el somos distintos no se puede disimular la comodidad de muchos hombres (machistas) que no quieren echar una mano en sus casas.
Sí es cierto que la mujer tiene más tacto y más cariño en lo que pone. Por eso su papel en la educación y sobre todo a edades tempranas es primordial al del hombre. Quizá por eso quiso Dios que los tuvieseis vosotras.

3) Feminismo. Gracias por traerme las definiciones de la RAE. Las conozco. Pero una cosa es lo que la RAE define y otra la realidad de un movimiento. En la actualidad el feminismo adolece de sentido. Salvo cuatro pirados que están en sus pueblos cuidando ovejas ya nadie piensa que un hombre sea mejor que una mujer para nada, en nada. Sin embargo, eso no es lo mismo que decir que las mujeres son igual de buenas que los hombres en todo. Cosas como la paridad me sacan de mis casillas. ¿Porqué tienen que ser, a dedo, la mitad de los ministros de este país mujeres? Con eso sólo se desprestigia a las mujeres que ocupan esos cargos. Imponer la paridad es como decir: “hasta ayer aquí había un hombre; ahora te ponemos a ti, tontita, porque tenemos que estar 50% 50%”
¿Dónde se ha visto mayor barbaridad? Si resulta que TODAS las personas que ocupan cartera en un gobierno ( o empresa, o organización) tienen que ser mujeres, porque han demostrado ser más competentes, que lo sean. Y si debe haber mayoría de hombres, que lo sean. Con la paridad no se premia el mérito, sino el sexo. Eso es una burrada. Puede haber un hombre más capacitado que tenga que ceder su sitio a una mujer por el hecho de serlo… Y AL REVÉS. Imagina que decepción para las feministas si llegasen a saber que una mujer más ocuparía un cargo, pero que lo ha cogido un hombre “gracias a la paridad”. Paridad: por Dios que atraso.



the swirl » Blog Archive » building a sane devel environment says:

[...] Miry has created a little nice script [ES] that will create a chroot enviroment – which would really suit my needs, as my everyday installation is really kluzged (and not really suitable for developent since it ain’t sid). [...]



Miry says:

Tambien puede tener sentido unir las caches de archivos de apt, poniendo algo parecido a esto en /etc/fstab:

/var/cache/apt/archives /chroot/var/cache/apt/archives none bind



Zara says:

hola miriam!

quizas un poco tarde desde que publicaste el gran scrpt y su descripción pero… tengo unas cuantas dudas que sin miramientos expongo;
->el nuevo chroot comparte home con el sistema “real”? me parece que si, y quizas es algo arriesgado si lo que queremos es meter ahi una testing o unstable, ¿no crees?
->hay que añadir el archivo /etc/apt/sources.list al nuevo chroot, si es un nuevo sistema, ¿no se supone que ya lo tiene, o es porque en tu caso tienes algun repositorio propio/especial/etc?

recuerdos!



Miry says:

Sí, puede ser algo arriesgado. En todo caso puedes quitar el bind del home y tener un home separado. La ventaja de compartir el mismo es sobre todo la comodidad, en este caso se trata de un chroot para pruebas, en mi caso pruebas de desarrollo de software. Ello me permite tener un sistema Debian Testing en mi máquina, por ejemplo, y poder probar mis desarrollos también en SID, o en Ubuntu, por ejemplo. Hay que andarse con cuidado, de todas formas, ya que como dices no estan aislados unos sistemas de otros. En alguna ocasión, jugando con scripts, me he cargado sin querer contenidos del home.

Respecto al /etc/apt/sources.list, creo recordar que debootstrap no lo añade al nuevo chroot, pero en todo caso yo si suelo personalizarlo luego. Es uno de los archivos que siempre acabo tocando en todos mis sistemas.



orfeos says:

Buenas miry, primero que nada felicitarte por excelente colaboración Gracias, en segundo lugar lo de q enlazar el chroot con el principal es demasiado arriesgado, yo prefiero colocar solo lo necesario en el chroot, bueno pero no importa entre gustos y colores ya sabes, pasaba por aqui buscando como hacer un repositorio en el localhost solo para el repositorio! Bueno gracias igual



Miry says:

Otro consejo, no olvideis poner: sudo ln -s /proc/mounts /etc/mtab ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494001 ), como root desde dentro del chroot



JoseM says:

Buenas tardes Miriam:
Ha llovido desde este post, pero estoy intentando hacer una debian live y estoy teniendo problemas a la hora de levantar las Xwindows en el entorno chroot que se crea tras hacer un lh bootstrap && lh chroot.

No es la primera vez que hago algo parecido, hará unos meses hice un debian live con lenny. Para ello, una vez creada toda la estructura de la debian live en el directorio chroot con los comandos antes mencionado. Bastaba con montar /dev, /sys y /proc con la opción bind, es decir:

mount –bind /dev /mnt/debianlive/chroot/dev
mount –bind /sys /mnt/debianlive/chroot/sys
mount –bind /proc /mnt/debianlive/chroot/proc

Tras realizar esto, hacía chroot en el directorio:

chroot /mnt/debianlive/chroot

y ya podía arrancar las Xwindows con startx : –1

El problema es que ahora con squeeze esto no me funciona

El error que obtengo es el siguiente:
hostname: Name or service not known
xauth: error in locking authority file /tmp/libgksu-6LvNTF/.Xauthority
xauth: error in locking authority file /tmp/libgksu-6LvNTF/.Xauthority
xauth: error in locking authority file /tmp/libgksu-6LvNTF/.Xauthority
xauth: error in locking authority file /tmp/libgksu-6LvNTF/.Xauthority
_XSERVTransSocketUNIXCreateListener: …SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running

Fatal server error:
Cannot establish any listening sockets – Make sure an X server isn’t already running

Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
Please also check the log file at “/var/log/Xorg.0.log” for additional information.

xinit: Server error.
xauth: error in locking authority file /tmp/libgksu-6LvNTF/.Xauthority

He probado a montar como bind los directorios /var y /tmp pero tampoco sirve de nada.

¿Se te ocurre que puede ser?

He visto por ahí que en las últimas versiones el control del Xserver ha dejado de estar en el xorg.conf y ha pasado a estar en HAL, pero resulta que no se puede ejecutar HAL en un entorno chrooted.

Bueno, pues eso, si te suena el problema o me puedes dar alguna pista te lo agradecería.

Un saludo y gracias



Miry says:

Hace un tiempo que no pruebo, pero si es cierto que es por lo de HAL, puedes intentar desactivarlo de la configuración de xorg, a ver si te funciona:

First you must modify /etc/X11/Xorg.conf with something like this :

Section “ServerFlags”
Option “AutoAddDevices” “False”
Option “AllowEmptyInput” “False”
EndSection

This disable the hal support, but if you want to have the keyboard and mice, you must install the following packages :

[1] http://www.larsen-b.com/Article/341.html



José María says:

Buenas noches Miriam:
Ante todo gracias por tu rápida respuesta. He probado lo que me comentas pero no ha habido suerte. Me he dado cuenta de una cosa, ejecuto lh_bootstrap && lh_chroot , tras lo cual ya tienes todo lo que será el sistema debian en un directorio llamado chroot.
Una vez hecho esto, ejecuto chroot en ese directorio y ya estoy en el sistema debialive que estoy creando. Pues bien, dentro de la jaula, si ejecuto dpkg-reconfigure xserver-xorg , no ocurre absolutamente nada.

si monto /deb, /sys y /proc con la opción –bind (que es lo que me servía cuando hice la debianlive con lenny), tampoco ocurre nada.

Pero si además monto /var, también como bind, entonces si me permite configurar la xserver-xorg por completo. Pero si después de eso aplico la configuración que me has comentado, sigo con el mismo problema.

No se si se te ocurre algo más, de todos modos, muchas gracias por tu ayuda y enhorabuena por tu blog, siendo sincero no me ha dado tiempo a leerlo mucho, pero se ve que te lo curras.

Un saludo y gracias



alfonso says:

Miriam, he querido hacer algo similar a lo que expones en tu nota, pero mi necesidad es crear el entorno chroot para pruebas pero con fedora core 2, mi sistema operativo base es ubuntu 9.04, me podrias orientar de favor, tendras algunas notas? Lei que con “rinse” se puede hacer algo así pero la version de fedora que acepta es a partir de la 4.
Un saludo y gracias de antemano.



Miry says:

Hola alfonso. La verdad es que no trasteo con Fedora desde hace mucho tiempo, así que no estoy segura de los pasos a dar para conseguir generar el entorno. En el peor de los casos, si tienes un sistema base mínimo ya preinstalado en alguna parte, puedes montarlo en un directorio y entrar como chroot aunque sea de una distribución diferente. Si no te sirve con chroot, otra opción de emulación ligera -aunque un poquito menos- que tendrías sería User Mode Linux (UML), en el caso de que tengas que usar una versión del kernel concreta.



alfonso says:

Hola Miriam, muchisimas gracias por responder tan pronto y de tus comentarios. La intención de instalar Fedora Core 2 en la laptop con Ubuntu 9.04 es que solo en FC2 he podido compilar unos programas con FlagShip V. 5.1.30 y principalmente porque FC2 no lo he podido instalar ya en la laptop, debido a que no me reconoce este los discos SATA.
Tengo instalado FC2 en una pc, de acuerdo a lo que mencionas y a lo que entendi:
1. Crear una imagen del disco duro de la pc con FC2
2. Montar esa imagen en un directorio en la laptop
3. Entrar como chroot
A lo que si no entendi es a lo de User Mode Linux (UML), pero voy a investigar sobre de ello, haber que resulta.
De mientras, por tu finísima atención muchas gracias.
Saludos.



Leave a Reply


about

This is a personal webpage that belongs to Miriam Ruiz.
If you want to contact her, you can do at:
webmistress(at)miriamruiz(dot)es.

pages
categories
archive
twitter
calendar
October 2014
M T W T F S S
« Jan    
 12345
6789101112
13141516171819
20212223242526
2728293031  
credits
WikiLeaks

La Lista de Sinde
en isoHunt