Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



schroot

schroot permet de gérer plus efficacement un environnement chroot. L'usage de ces deux outils (schroot et chroot) permet de créer un environnement virtualisé minimal. Puisque le système d'exploitation de l'environnement chroot partage le même noyau que le système « hôte », les ressources système (mémoire vive, processeur) sont moins sollicitées, mis à part l'utilisation du disque dur.

En terme de sécurité, schroot est moins robuste que les solutions de virtualisation régulières.

Voici un petit descriptif de l'arborescence de /etc/schroot :

  • chroot.d : On peut placer des fichiers de configuration supplémentaires dans ce répertoire qui seront lus de la même manière que schroot.conf
  • copyfiles-defaults : Les fichiers à copier à partir du système hôte dans l'environnement chroot
  • mount-defaults : Les systèmes de fichiers à monter à l'intérieur du chroot.
  • nssdatabases-defaults : Système de base de données NSS à copier dans le chroot.
  • schroot.conf : Définit chaque chroot à mettre en place
  • script-defaults : Script à exécuter par défaut lors du démarrage de l'environnement chroot
  • setup.d : Dossier qui possède des scripts de configuration
  • Création du répertoire :
    sudo mkdir /chroot
  • Installation d'une distribution (Ubuntu). Pour cela, on récupérera l'ensemble des paquets :
    sudo debootstrap --arch amd64 lucid /chroot/lucid http://us.archive.ubuntu.com/ubuntu/

    Ou

    sudo debootstrap --arch i386 lucid /chroot/lucid http://us.archive.ubuntu.com/ubuntu/
  • Configuration du fichier /etc/schroot/schroot.conf
    [lucid]
    description=lucid
    directory=/chroot/lucid
    root-groups=root
    root-users=root
    type=directory
  • Démarrer un environnement chroot :
    schroot -b -c lucid

Lors du démarrage du chroot, schroot nous donne l'identifiant du chroot, par exemple lucid-00e8c158-e183-48ad-8407-272808c6b0c6

  • S'identifier dans l'environnement schroot :
    schroot -r -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6
  • Stopper le chroot :
    schroot -e -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6

Nous allons installer un serveur LAMP dans un environnement chroot. Le système exploitation hôte sera une distribution ubuntu. Par contre le système inviter sera une distribution debian.

Configuration de schroot

  • Installation d'une distribution Debian. Pour cela, on récupérera l'ensemble des paquets :
debootstrap --arch amd64 lenny /chroot/lenny http://ftp.fr.debian.org/debian/
[lenny]
description=lenny
directory=/chroot/lenny
root-groups=root
root-users=root
type=directory
script-config=script-lenny
  • On crée le fichier script-lenny qui a la même structure et que se trouve dans répertoire que script-defaults
touch /etc/schroot/script-lenny
  • Puis, on édite le fichier /etc/schroot/script-lenny
# Default settings for chroot setup and exec scripts.
# See schroot-script-config(5) for further details.

# Filesystems to mount inside the chroot.
FSTAB="/etc/schroot/mount-lenny"
  • On copie le fichier /etc/schroot/mount-defaults
cp /etc/schroot/mount-defaults /etc/schroot/mount-lenny
  • On comment les lignes dont le montage ne doit pas s'effectuer
# mount.defaults: static file system information for chroots.
# Note that the mount point will be prefixed by the chroot path
# (CHROOT_PATH)
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
#procbususb      /proc/bus/usb   usbfs   defaults        0       0
/dev            /dev            none    rw,bind         0       0
/dev/pts        /dev/pts        none    rw,bind         0       0
/dev/shm        /dev/shm        none    rw,bind         0       0
#/home          /home           none    rw,bind         0       0
#/tmp           /tmp            none    rw,bind         0       0

Installation du serveur LAMP

Installation

sudo -s
schroot -b -c lenny
schroot -r -c lenny-00e8c158-e183-48ad-8407-272808c6b0c6
apt-get install apache2 mysql-server php5

Démarrage automatique du serveur lamp

Pour démarrer de façon automatique la chroot et tout les services que vous désiré, je vous propose le script téléchargeable ici


Contributeur principal : …

  • schroot.1288623831.txt.gz
  • Dernière modification: Le 01/11/2010, 16:03
  • par 92.150.247.55