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 29/05/2012, 14:33]
147.171.132.59 [Exemple d'utilisation]
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 31: Ligne 31:
  
 ===== Mise en place d'un environnement chroot ===== ===== Mise en place d'un environnement chroot =====
-  * Création du répertoire :<​code>​sudo mkdir /chroot</​code>​N'​importe quel répertoire peut faire l'​affaire. L'​exemple est donné avec **/​chroot**,​ à changer à loisir.+  * 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 lucid /chroot/lucid http://​us.archive.ubuntu.com/​ubuntu/</​code>​Ou bien, pour installer l'​environnement en 32 bits :<​code>​sudo debootstrap --arch i386 lucid /chroot/lucid http://​us.archive.ubuntu.com/​ubuntu/</​code>​Après cela, le dossier **/chroot/lucid/** contient l'​arborescence habituelle de la racine de la distribution Ubuntu ​Lucid Lynx 10.04.+  * 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 :<​code>​ +  * 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>​ 
-sudo cp /etc/passwd /etc/shadow /etc/group /​etc/​sudoers /etc/hosts /​etc/​hostname ​/​chroot/​lucid/​etc/​ +/etc/passwd 
-</​code>​Pour conserver les dépôts de paquets :<​code>​ +/etc/shadow 
-sudo cp /​etc/​apt/​sources.list ​/​chroot/​lucid/​etc/​apt/​+/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>​ </​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,​... users=user1,​user2,​...
 root-groups=root root-groups=root
Ligne 52: Ligne 57:
 aliases=default aliases=default
 </​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"​. </​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"​.
-===== Gestion du chroot ​=====+===== 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**.   * 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**.
  
Ligne 63: Ligne 68:
 ===== Exemple d'​utilisation avancée ===== ===== 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 invité 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 83: Ligne 88:
 </​file>​ </​file>​
  
-  * On crée le fichier script-squeeze 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-squeeze   touch /​etc/​schroot/​script-squeeze
Ligne 126: 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 150: 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 167: 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 235: 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.1338294834.txt.gz
  • Dernière modification: Le 29/05/2012, 14:33
  • par 147.171.132.59