Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
schroot [Le 01/11/2010, 16:14]
zarkxe
schroot [Le 07/01/2023, 15:18] (Version actuelle)
Amiralgaby [Installation du serveur LAMP] utilisation de guillemets dans le script pour éviter les "words-splitting"
Ligne 30: Ligne 30:
   ​   ​
  
-===== Mise place d'un environnement chroot ===== +===== Mise en place d'un environnement chroot ===== 
-  * Création du répertoire :<​code>​sudo mkdir /​chroot</​code>​+  * Création du répertoire :<​code>​mkdir ​chroot</​code>​N'​importe quel répertoire peut faire l'​affaire. L'​exemple est donné avec le dossier **/chroot**, à changer à loisir. 
 + 
 +  * Installation d'une distribution (Ubuntu). Pour cela, on récupérera l'​ensemble des paquets. Pour du 64 bits :<​code>​sudo debootstrap --arch amd64 quantal /​chroot/​quantal http://​us.archive.ubuntu.com/​ubuntu/</​code>​Ou bien, pour installer l'​environnement en 32 bits :<​code>​sudo debootstrap --arch i386 quantal /​chroot/​quantal http://​us.archive.ubuntu.com/​ubuntu/</​code>​Après cela, le dossier **/​chroot/​quantal/​** contient l'​arborescence habituelle de la racine de la distribution Ubuntu Quantal Lynx 10.04. 
 + 
 +  * Pour conserver les logins utilisateurs,​ mots de passe, groupes etc du système hôte, ajouter ces lignes au fichier /​etc/​schroot/​default/​copyfiles :<​code>​ 
 +/​etc/​passwd 
 +/​etc/​shadow 
 +/​etc/​group 
 +/​etc/​sudoers 
 +/​etc/​hosts 
 +/​etc/​hostname 
 +</​code>​Pour conserver les dépôts de paquets (NE PAS FAIRE lorsque les distributions sont différentes...),​ ajouter cette ligne:<​code>​ 
 +/​etc/​apt/​sources.list 
 +</​code>​
  
-  * Installation d'une distribution (Ubuntu). Pour cela, on récupérera l'​ensemble des paquets :<​code>​sudo debootstrap --arch amd64 lucid /​chroot/​lucid http://​us.archive.ubuntu.com/​ubuntu/</​code>​Ou<​code>​sudo debootstrap --arch i386 lucid /​chroot/​lucid http://​us.archive.ubuntu.com/​ubuntu/</​code>​ 
  
   * [[:​tutoriel:​comment_modifier_un_fichier|Configuration du fichier]] **/​etc/​schroot/​schroot.conf**<​file>​   * [[:​tutoriel:​comment_modifier_un_fichier|Configuration du fichier]] **/​etc/​schroot/​schroot.conf**<​file>​
-[lucid+[quantal
-description=lucid +description=quantal 
-directory=/​chroot/​lucid+directory=/​chroot/​quantal 
 +users=user1,​user2,​...
 root-groups=root root-groups=root
 root-users=root root-users=root
 type=directory type=directory
-</​file>​ +aliases=default 
-===== Gestion du chroot ​===== +</​file>​Et remplacer "​user1",​ "​user2"​ par les utilisateurs ayant le droit d'​utiliser le chroot. La ligne peut être remplacée par "​groups=schroot"​ par exemple, en ajoutant les utilisateurs au groupe "​schroot"​. 
-  * Démarrer un environnement chroot :<​code>​schroot -b -c lucid</​code>​ +===== Utilisation courante ​===== 
-   +  * Pour se connecter dans un environnement chroot et avoir la main en ligne de commande :<​code>​schroot</​code>​ ou bien, si plusieurs environnements chroot sont installés :<​code>​schroot -c lucid</​code>​Pour quitter l'​environnement,​ utiliser les touches **Ctrl+d** ou bien la commande **exit**. 
-Lors du démarrage du chroot, schroot nous donne l'​identifiant du chroot, par exemple **lucid-00e8c158-e183-48ad-8407-272808c6b0c6**+ 
 +  * Démarrer un environnement chroot :<​code>​schroot -b -c lucid</​code>​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 :<​code>​schroot -r -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6</​code>​   * S'​identifier dans l'​environnement schroot :<​code>​schroot -r -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6</​code>​
Ligne 52: Ligne 66:
   * Stopper le chroot :<​code>​schroot -e -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6</​code>​   * Stopper le chroot :<​code>​schroot -e -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6</​code>​
  
-===== Exemple d'​utilisation =====+===== Exemple d'​utilisation ​avancée ​=====
  
-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 ​inviter ​sera une distribution ​debian.+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 ==== ==== Configuration de schroot ====
Ligne 61: Ligne 75:
   * Installation d'une distribution Debian. Pour cela, on récupérera l'​ensemble des paquets :   * 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/​+  debootstrap --arch amd64 squeeze ​/chroot/squeeze ​http://​ftp.fr.debian.org/​debian/​
  
   * [[:​tutoriel:​comment_modifier_un_fichier|Configuration du fichier]] **/​etc/​schroot/​schroot.conf**,​ on ajoute notre nouvelle distribution debian.   * [[:​tutoriel:​comment_modifier_un_fichier|Configuration du fichier]] **/​etc/​schroot/​schroot.conf**,​ on ajoute notre nouvelle distribution debian.
 <​file>​ <​file>​
-[lenny+[squeeze
-description=lenny +description=squeeze 
-directory=/​chroot/​lenny+directory=/​chroot/​squeeze
 root-groups=root root-groups=root
 root-users=root root-users=root
 type=directory type=directory
-script-config=script-lenny+script-config=script-squeeze
 </​file>​ </​file>​
  
-  * On crée le fichier script-lenny qui a la même structure et que se trouve dans répertoire que script-defaults+  * On crée le fichier script-squeeze ​qui a la même structure et qui se trouve dans répertoire que script-defaults
  
-  touch /​etc/​schroot/​script-lenny+  touch /​etc/​schroot/​script-squeeze
  
-  * Puis, on édite le fichier **/​etc/​schroot/​script-lenny**+  * Puis, on édite le fichier **/​etc/​schroot/​script-squeeze**
 <​file>​ <​file>​
 # Default settings for chroot setup and exec scripts. # Default settings for chroot setup and exec scripts.
Ligne 84: Ligne 98:
  
 # Filesystems to mount inside the chroot. # Filesystems to mount inside the chroot.
-FSTAB="/​etc/​schroot/​mount-lenny"+FSTAB="/​etc/​schroot/​mount-squeeze"
 </​file>​ </​file>​
   * On copie le fichier /​etc/​schroot/​mount-defaults   * On copie le fichier /​etc/​schroot/​mount-defaults
  
-  cp /​etc/​schroot/​mount-defaults /​etc/​schroot/​mount-lenny+  cp /​etc/​schroot/​mount-defaults /​etc/​schroot/​mount-squeeze
  
-  * On comment ​les lignes dont le montage ne doit pas s'​effectuer+  * On commente ​les lignes dont le montage ne doit pas s'​effectuer
 <​file>​ <​file>​
 # mount.defaults:​ static file system information for chroots. # mount.defaults:​ static file system information for chroots.
Ligne 117: Ligne 131:
 === Démarrage automatique du serveur lamp === === 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 ce script : +Pour démarrer de façon automatique la chroot et tout les services que vous désirez, je vous propose ce script :
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
Ligne 141: Ligne 155:
  SCHROOT_ID=$(schroot -b -c lenny)  SCHROOT_ID=$(schroot -b -c lenny)
  
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​mtab.sh  + schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​mtab.sh  
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​mysql start + schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​mysql start 
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​apache2 start + schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​apache2 start 
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​exim4 start+ schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​exim4 start
  
  mkdir /​tmp/​schroot/​  mkdir /​tmp/​schroot/​
- echo $SCHROOT_ID >  /​tmp/​schroot/​$NAMESCRIPT+ echo ​"$SCHROOT_ID" ​>  /​tmp/​schroot/​$NAMESCRIPT
  
  elif [ -e "/​tmp/​schroot/​$NAMESCRIPT"​ ]; then  elif [ -e "/​tmp/​schroot/​$NAMESCRIPT"​ ]; then
Ligne 158: Ligne 172:
  if [ -e "/​tmp/​schroot/​$NAMESCRIPT"​ ]; then  if [ -e "/​tmp/​schroot/​$NAMESCRIPT"​ ]; then
  SCHROOT_ID=$(cat /​tmp/​schroot/​$NAMESCRIPT)  SCHROOT_ID=$(cat /​tmp/​schroot/​$NAMESCRIPT)
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​mysql stop + schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​mysql stop 
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​apache2 stop + schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​apache2 stop 
- schroot -r -c $SCHROOT_ID /​etc/​init.d/​exim4 stop + schroot -r -c "$SCHROOT_ID" ​/​etc/​init.d/​exim4 stop 
- schroot -e -c $SCHROOT_ID+ schroot -e -c "$SCHROOT_ID"
  
  rm -R /​tmp/​schroot/​  rm -R /​tmp/​schroot/​
Ligne 178: Ligne 192:
  else  else
  log_end_msg 1  log_end_msg 1
- echo "You are no root !"+ echo "You are not root !"
   
  fi  fi
Ligne 190: Ligne 204:
  else  else
  log_end_msg 1  log_end_msg 1
- echo "You are no root !"+ echo "You are not root !"
  fi   fi 
  ;;  ;;
Ligne 202: Ligne 216:
  else  else
  log_end_msg 1  log_end_msg 1
- echo "You are no root !"+ echo "You are not root !"
  fi   fi 
  ;;  ;;
Ligne 215: Ligne 229:
  fi  fi
  else  else
- echo "You are no root !"+ echo "You are not root !"
  fi  fi
  ;;  ;;
Ligne 226: Ligne 240:
 ===== Voir aussi ===== ===== Voir aussi =====
   * [[chroot|chroot]]   * [[chroot|chroot]]
-  * **(fr)** [[http://​ftp.traduc.org/​doc-vf/​gazette-linux/​html/​2008/​150/​lg150-C.html|Virtualiser sans virtualiser]],​ article sur l'​usage de chroot et schroot+  * **(fr)** [[https://​ftp.traduc.org/​doc-vf/​gazette-linux/​html/​2008/​150/​lg150-C.html|Virtualiser sans virtualiser]],​ article sur l'​usage de chroot et schroot
   * **(fr)** [[http://​cepcasa.info/​apt/​debootstrap.html|Installer Debian depuis une distribution Debian avec debootstrap]]   * **(fr)** [[http://​cepcasa.info/​apt/​debootstrap.html|Installer Debian depuis une distribution Debian avec debootstrap]]
   * **(en)** [[http://​www.debian-administration.org/​articles/​566|schroot - chroot for any users]]   * **(en)** [[http://​www.debian-administration.org/​articles/​566|schroot - chroot for any users]]
  • schroot.1288624480.txt.gz
  • Dernière modification: Le 01/11/2010, 16:14
  • par zarkxe