Création d'un environnement Chroot pour tester Centreon sans tout casser
pourquoi cette page ? Et bien, vous en avez marre de casser votre système a chaque installation ? L'utilisation de VM, bah ca vous gonfle... Voici le Chroot...
Petite info, j'utilise un Debian Lenny (testing)
Création de l'environnement
Pour cela, vous avez besoin du paquet debootstrap
aptitude install debootstrap
Utilisation de debootstrap pour la création de sont environnement
mkdir -p ~/chroot-env/etch sudo cdebootstrap etch ~/chroot-env/etch/
Il ne reste plus qu'a attendre...
Aller dans sont environnement Chroot
Ensuite, il nous faut aller dans notre environnement, mais pour celà il faut avoir accès au /dev et /proc. C'est un peu plus pratique pour récup le réseau, démarrer les services ...
Voici un petit script rapidement fait, a vous de l'adapter: go_chroot.sh
#!/bin/bash directory="~/chroot-env" #on test le nombre d'arguments if [ $# -ne 1 ] ; then cat << EOT Usage : $0 env etch : Debian stable version lenny : Debian testing version EOT exit 1 fi chroot=$1 if [ ! -d "$directory/$chroot" ] ; then echo "l'environnement chroot n'existe pas" exit 1 fi echo "-> environement chroot $chroot" #detection de la presence de /dev dans le chroot mount_dev=$(mount |grep "$directory" |cut -d" " -f1 | grep "^/dev$" ) if [ "$mount_dev" = "/dev" ] ; then echo "-> /dev deja monte" else echo "-> mount /dev" sudo mount --bind /dev $directory/$chroot/dev fi #detection de la presence de /proc dans le chroot mount_proc=$(mount |grep "$directory" |grep "/proc" | cut -d" " -f1 ) if [ "$mount_proc" = "/proc" ] ; then echo "-> /proc deja monte" else echo "-> mount /proc" sudo mount -t proc /proc $directory/$chroot/proc fi #go dans le chroot echo "-> go dans chroot" sudo chroot $directory/$chroot /bin/bash
Donc vous l'avez compris, il faut exécuter les deux commandes suivantes:
sudo mount --bind /dev ~/chroot-env/etch/dev sudo mount -t proc /proc ~/chroot-env/etch/proc
Installation des pré-requis
Maintenant, on est dans notre chroot. Et bien apt rules :)
aptitude update aptitude install mysql-server nagios2 php-pear lsb-release subversion-tools librrds-perl snmpd php5-snmp libsnmp-perl less vim rrdtool ssh php5-gd php5-mysql php5-ldap
On attend un petit moment ... et on supprime les paquets téléchargés
aptitude clean
= On backup...= Bah oui, on va pas tout refaire à chaque fois quand même.
On sort simplement du Chroot
exit
On "démonte" nos /dev et /proc
sudo umount ~/chroot-env/etch/dev sudo umount ~/chroot-env/etch/proc
Et on backup !!!
cd ~/chroot-env tar czf chroot-etch.tgz etch
Et voilà. :)
On test
Oui, j'ai oublié, ouvrez iceweasel (firefox) et http://localhost/
It works!
Vous pouvez simplement utilisez go_chroot.sh sur autant de console que vous le souhaité, pratique pour les tail -f.
Il ne vous reste plus qu'a tout casser :)
