Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| schroot [Le 31/10/2010, 15:23] – Remaniement de la description basé sur message de zarkxe sur la liste, correction de l'usage du mot chroot (n'étant pas un mot français, on n'en fait pas un participe passé...) Gemnoc | schroot [Le 12/02/2026, 18:46] (Version actuelle) – andykimpe | ||
|---|---|---|---|
| Ligne 30: | Ligne 30: | ||
| | | ||
| - | ===== Mise place d'un environnement chroot ===== | + | ===== Mise en place d'un environnement chroot ===== |
| - | * Création du répertoire :< | + | * Création du répertoire :< |
| + | |||
| + | * Installation d'une distribution (Ubuntu). Pour cela, on récupérera l' | ||
| + | |||
| + | * Pour conserver les logins utilisateurs, | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | / | ||
| + | </ | ||
| - | * Installation d'une distribution (Ubuntu). Pour cela, on récupérera l' | ||
| * [[: | * [[: | ||
| - | [lucid] | + | [noble] |
| - | description=lucid | + | description=noble |
| - | directory=/ | + | directory=/ |
| + | users=user1, | ||
| root-groups=root | root-groups=root | ||
| root-users=root | root-users=root | ||
| type=directory | type=directory | ||
| - | </ | + | aliases=default |
| - | ===== Gestion du chroot | + | </ |
| - | * Démarrer un environnement chroot :< | + | ===== Utilisation courante |
| - | + | * Pour se connecter dans un environnement chroot et avoir la main en ligne de commande :< | |
| - | Lors du démarrage du chroot, schroot nous donne l' | + | |
| + | * Démarrer un environnement chroot :< | ||
| * S' | * S' | ||
| * Stopper le chroot :< | * Stopper le chroot :< | ||
| - | + | ||
| + | ===== Exemple d' | ||
| + | |||
| + | Nous allons installer un serveur [[LAMP|LAMP]] dans un environnement chroot. Le système exploitation hôte sera une distribution ubuntu. Par contre le système invité sera une distribution Debian. | ||
| + | |||
| + | ==== Configuration de schroot ==== | ||
| + | |||
| + | |||
| + | * Installation d'une distribution Debian. Pour cela, on récupérera l' | ||
| + | |||
| + | debootstrap --arch amd64 squeeze / | ||
| + | |||
| + | * [[: | ||
| + | < | ||
| + | [squeeze] | ||
| + | description=squeeze | ||
| + | directory=/ | ||
| + | root-groups=root | ||
| + | root-users=root | ||
| + | type=directory | ||
| + | script-config=script-squeeze | ||
| + | </ | ||
| + | |||
| + | * On crée le fichier script-squeeze qui a la même structure et qui se trouve dans répertoire que script-defaults | ||
| + | |||
| + | touch / | ||
| + | |||
| + | * Puis, on édite le fichier **/ | ||
| + | < | ||
| + | # Default settings for chroot setup and exec scripts. | ||
| + | # See schroot-script-config(5) for further details. | ||
| + | |||
| + | # Filesystems to mount inside the chroot. | ||
| + | FSTAB="/ | ||
| + | </ | ||
| + | * On copie le fichier / | ||
| + | |||
| + | cp / | ||
| + | |||
| + | * On commente les lignes dont le montage ne doit pas s' | ||
| + | < | ||
| + | # mount.defaults: | ||
| + | # Note that the mount point will be prefixed by the chroot path | ||
| + | # (CHROOT_PATH) | ||
| + | # | ||
| + | # <file system> <mount point> | ||
| + | proc /proc | ||
| + | # | ||
| + | /dev /dev none rw, | ||
| + | / | ||
| + | / | ||
| + | #/ | ||
| + | #/tmp / | ||
| + | </ | ||
| + | |||
| + | ==== 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ésirez, je vous propose ce script : | ||
| + | <code bash> | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # File : / | ||
| + | # | ||
| + | # Auteur : Zarkxe | ||
| + | # | ||
| + | # Date create : Mon Nov 1 16:01:09 2010 | ||
| + | # Description : démarrer de façon automatique la chroot et tout les services | ||
| + | # que vous désiré | ||
| + | # | ||
| + | |||
| + | . / | ||
| + | |||
| + | NAMESCRIPT=" | ||
| + | |||
| + | do_start() { | ||
| + | |||
| + | if [ ! -e "/ | ||
| + | |||
| + | SCHROOT_ID=$(schroot -b -c lenny) | ||
| + | |||
| + | schroot -r -c " | ||
| + | schroot -r -c " | ||
| + | schroot -r -c " | ||
| + | schroot -r -c " | ||
| + | |||
| + | mkdir / | ||
| + | echo " | ||
| + | |||
| + | elif [ -e "/ | ||
| + | echo " | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | do_stop() { | ||
| + | |||
| + | if [ -e "/ | ||
| + | SCHROOT_ID=$(cat / | ||
| + | schroot -r -c " | ||
| + | schroot -r -c " | ||
| + | schroot -r -c " | ||
| + | schroot -e -c " | ||
| + | |||
| + | rm -R / | ||
| + | elif [ ! -e "/ | ||
| + | echo " | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | case $1 in | ||
| + | | ||
| + | log_daemon_msg " | ||
| + | if [[ $EUID = 0 ]] | ||
| + | then | ||
| + | do_start | ||
| + | log_end_msg 0 | ||
| + | else | ||
| + | log_end_msg 1 | ||
| + | echo "You are not root !" | ||
| + | |||
| + | fi | ||
| + | ;; | ||
| + | | ||
| + | log_daemon_msg | ||
| + | if [[ $EUID = 0 ]] | ||
| + | then | ||
| + | do_stop | ||
| + | log_end_msg 0 | ||
| + | else | ||
| + | log_end_msg 1 | ||
| + | echo "You are not root !" | ||
| + | fi | ||
| + | ;; | ||
| + | | ||
| + | log_daemon_msg | ||
| + | if [[ $EUID = 0 ]] | ||
| + | then | ||
| + | do_stop | ||
| + | do_start | ||
| + | log_end_msg 0 | ||
| + | else | ||
| + | log_end_msg 1 | ||
| + | echo "You are not root !" | ||
| + | fi | ||
| + | ;; | ||
| + | | ||
| + | if [[ $EUID = 0 ]] | ||
| + | then | ||
| + | if [ ! -e "/ | ||
| + | echo " | ||
| + | elif [ -e "/ | ||
| + | SCHROOT_ID=$(cat / | ||
| + | echo " | ||
| + | fi | ||
| + | else | ||
| + | echo "You are not root !" | ||
| + | fi | ||
| + | ;; | ||
| + | *) | ||
| + | log_daemon_msg | ||
| + | ;; | ||
| + | esac | ||
| + | </ | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| * [[chroot|chroot]] | * [[chroot|chroot]] | ||
| - | * **(fr)** [[http:// | + | * **(fr)** [[https:// |
| * **(fr)** [[http:// | * **(fr)** [[http:// | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
