dochroot: automate chroot environment

Esisteranno sicuramente altri modi per fare ciò che sto per descrivere, ma a me occorreva urgentemente perciò ho fatto prima a svilupparlo che a cercarlo.

La necessità di oggi era di creare qualcosa di automatico che potesse, dato un eseguibile, creare un ambiente chroot idoneo per farlo girare. Di solito faccio tutto a mano, copio eseguibile, risolvo dipendenze di librerie, monto i filesystem, ecc.

dochroot fa questo e altro in automatico.

$ dochroot

usage: dochroot options

This script setup chroot environment

OPTIONS:
   -h      		Show this message
   -c <chroot path>	Specify chroot environment path (default /tmp/chroot)
   -a <binary path>	Add executable to chroot environment (default /tmp/chroot)
   -d 			Delete chroot environment (default /tmp/chroot)
   -b			Bind filesystem (/sys, /proc, /dev) WARNING!! Only one bind per environment!

Ipotizziamo di voler avere una shell in chroot con ls e ifconfig, ecco come fare con dochroot:

$ dochroot -c /tmp/mychroot -a /bin/bash
Preparing environment...DONE
Copying files...DONE

La prima operazione di add inizializza anche la directory di chroot, quindi copia l’eseguibile di bash nel percorso opportuno.

$ dochroot -c /tmp/mychroot -a /bin/ls
Preparing environment...DONE
Copying files...DONE
$ dochroot -c /tmp/mychroot -a /sbin/ifconfig
Preparing environment...DONE
Copying files...DONE

Copia anche ls e ifconfig

$ dochroot -c /tmp/mychroot -b
Binding filesystems......DONE

L’operazione di bind richiederà permessi root (ottenuti tramite sudo).

Ora si è pronti per utilizzare l’ambiente appena creato:

$ sudo chroot /tmp/mychroot
bash-4.1# ls /dev
.....

Il progetto è reperibile su Gitorious: http://gitorious.org/dochroot/dochroot

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...