Introduction
Dans certain cas nous aimerions installer un service ou une application sans avoir d'incidence sur les services annexes d'une machine. On peut vouloir tester un outil, devoir utiliser une application sur une version particulière de notre distribution ou encore, dans notre cas, installer un serveur MySQL sur une machine Debian sur laquelle nous ne voulons pas influer.Pour ces cas - et bien d'autres encore - une solution existe : les chroots. Le chroot est un espace isolé du reste de l'environnement et possède ses propres bibliothèques, outils, applications, etc. Il peut communiquer avec le reste du monde, la machine hôte, etc. Mais il ne peut pas influer sur autre chose que lui-même.
Installation
Je vais donc vous décrire rapidement les commandes effectuées pour créer un chroot avec MySQL dedans. Pour des informations complémentaires je laisse les liens des tutoriels suivis dans le chapitre Liens de ce même article.Voici donc les étapes successives (faites sur une Debian Squeeze) :
- Installation de l'outil debootstrap
- Création d'un répertoire /srv/chroot/squeeze
- Initialisation de la variable CHROOT nécessaire à toutes les opérations
- Création du chroot
- Montage des répertoires importants
- Identification sur le chroot
- Mise à jour du chroot
- Installation des locales et de nano
- Modification de l'invite de commande pour savoir que nous sommes dans un chroot
- Sortie puis entrée dans le chroot pour vérifier la modification de l'invite de commande
- Installation de MySQL
- Édition du fichier de configuration de MySQL
- Redémarrage de MySQL
- Édition de la configuration MySQL côté machine hôte
- su - root
- apt-get install debootstrap
- mkdir -p /srv/chroot/squeeze
- CHROOT=/srv/chroot/squeeze
- debootstrap --arch i386 squeeze $CHROOT http://ftp.fr.debian.org/debian/
- mount -t proc proc $CHROOT/proc
- mount -t devpts devpts $CHROOT/dev/pts
- chroot $CHROOT /bin/bash --login
- apt-get update
- apt-get install locales nano
- dpkg-reconfigure locales
- echo "(CHROOT)" > /etc/debian_chroot
- exit
- chroot $CHROOT /bin/bash --login
- apt-get install mysql-server mysql-client php5-mysql
- nano /etc/mysql/my.cnf
bind-address = localhost
puis on redémarre le serveur MySQL :
- service mysql restart
- exit
- nano /etc/mysql/my.cnf
[client]
port = 3306
socket = /srv/chroot/squeeze/var/run/mysqld/mysqld.sock
puis plus loin dans le même fichier : bind-address = localhost
et on ajoute la ligne suivante : chroot = /srv/chroot/squeeze
Vous voilà désormais avec un chroot contenant MySQL !
Commentaires
Enregistrer un commentaire