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 03/06/2011, 17:36]
147.171.132.116 [Gestion du chroot]
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 
 +/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>​ </​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"​. 
 +===== 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 56: 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 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 78: 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 94: Ligne 104:
   cp /​etc/​schroot/​mount-defaults /​etc/​schroot/​mount-squeeze   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 121: 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 145: 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 162: 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 230: 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.1307115413.txt.gz
  • Dernière modification: Le 15/12/2011, 15:20
  • (modification externe)