Table des matières

schroot

Introduction

Schroot permet aux utilisateurs d'exécuter des commandes ou des shells interactifs dans différents chroots.

Pré-requis

Installer les logiciels suivants :

apt-get install debootstrap schroot

Mise en place

En root créer le dossier :

mkdir /debception

Puis créer l'architecture d'une debian sid (32 bits) :

debootstrap --arch i386 sid /debception http://ftp.fr.debian.org/debian

Créer les mêmes utilisateurs que sur votre système d'origine :

grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd >> /debception/etc/passwd
grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group >> /debception/etc/group

On va « chrooter » sur la debian sid :

mount -t proc none /debception/proc
mount -o bind /dev /debception/dev
chroot /debception

Le shell

Si vous rencontrez l'erreur suivante :

 chroot: impossible d'exécuter la commande « /bin/zsh »: No such file or directory

Possible que vous utilisez un autre interpréteur de commande pour votre console, apparemment chroot utilise par défaut la console bash.

Faire alors :

chroot /debception /bin/bash

sid en chroot

Vous êtes sur debian sid ; mettre à jour le système :

apt-get update
apt-get full-upgrade

Pour avoir le système dans la langue de molière :

apt-get install locales
dpkg-reconfigure locales

choisir les Fr-fr

Par prévention, possible qu'il faille installer les paquets suivants :

apt-get install libcanberra-gtk3-module libcanberra-gtk0

gimp en sid

Installer Gimp 2.8 :

apt-get install gimp

Vous allez avoir de nombreux paquets à télécharger :-)

Quitter le chroot pour retourner sur votre système d'origine :

exit

Démarrage

Automatisation au démarrage de votre PC

Rajouter à la fin du ficher de votre fstab :

fin du fichier fstab
/home           /debception/home       none    bind            0       0
/tmp            /debception/tmp        none    bind            0       0
proc            /debception/proc       proc    defaults        0       0
/var/run        /debception/var/run    none    bind            0       0
/dev            /debception/dev        none    bind            0       0
Attention au “bindage” du /home. Des versions différentes d'une même appli sur l'hôte et le chroot pourraient apporter des problèmes. A noter qu'il est possible de “binder” un fichier seul, tel que:
/home/mon_user/.Xauthority   /media/debception/home/mon_user/.Xauthority  none  bind     0    0

Edit : c'est à vérifier. Sur Jessie cela ne semble plus fonctionner (un rêve de phlinux?). On peut donc envisager une copie de ce fichier dans le /home du chroot. Exemple:

/home/phlinux/.config/autostart
cp /home/mon_user/.Xauthority /media/debception/home/mon_user/.Xauthority &

Configuration

Montez-les avec la commande :

mount -a

Ajouter2) dans le fichier /etc/schroot/schroot.conf :

schroot.conf
[debception]
directory=/debception
users=votre_user

Remplacer votre_user par votre user d'origine

Test

L'heure de vérité.
Test :

schroot -c debception -p gimp-2.8

Si vous rencontrez cette erreur :

 gimp-2.8
 No protocol specified
 Impossible d'ouvrir l'affichage :

Avant de lancer la commande précédente, faites :

xhost +

Et voilà, bon amusement ^_^

Remerciements

À fran.b et Thuban des forums :

Inspiré du tuto :

Et bien sûr un krô merci de la part de df à [b]david96[/b] qui nous autorise à piocher dans son site là :

D'où vient ce tuto. :)

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !