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

Annunci

Prendere il treno dal terminale

Vorrei recensire alcuni programmini semplici nella loro stupidità, a volte divertenti, spesso inutili.

Oggi è il turno di sl. Si tratta di una utility per correggere gli errori di battitura di utenti a terminale. Nei sistemi Unix il comando che viene usato per stampare a video la lista dei file contenuti nella directory corrente è ls. A volte può capitare che per fretta o per errore ls si trasformi in sl. Tutto ciò può causare un trauma all’utente, ma ecco la soluzione:

$ sudo apt-get install sl

Vediamo allora come funziona questa nuova utilità. Il suo scopo è quello di educare l’utente ad un buon uso della tastiera e quindi a creare (nel caso di errore) un trauma ancora più grande! 🙂

In effetti ogni volta che viene lanciato, sl fa passare un simpatico trenino all’interno del nostro terminale. Se qualcuno provasse ad interrompere il viaggio del treno con il classico Ctrl-C dovrà purtroppo desistere, tale segnale infatti è disabilitato di default.

Ci sono alcune piccole opzioni che possono rendere il nostro treno più carino:

-a Nel treno c’è gente che grida aiuto!
-l Visualizza un treno più piccolo
-F Il treno va in salita
-e Viene abilitato il Ctrl-C

Non mi resta che augurarvi un felice e stressantissimo viaggio con sl il treno per terminali!