====== Chroot ====== * [[https://doc.ubuntu-fr.org/schroot]] * [[https://wiki.debian.org/Schroot]] * [[https://wiki.debian.org/SchrootPackaging]] * [[https://wiki.debian.org/fr/Debootstrap]] * [[https://kevingoodsell.github.io/2011-06-19/debian-chroots-with-schroot.html]] Installer les paquets ''schroot debootstrap''. Préparer le répertoire où créer le chroot : sudo mkdir buster sudo debootstrap --include=sudo,zsh,vim oldstable ./buster http://ftp.fr.debian.org/debian/ Commenter la ligne ''/tmp'' dans ''/etc/schroot/default/fstab''. Mettre dans ''/etc/schroot/default/copyfiles'' : /etc/resolv.conf /etc/passwd /etc/shadow /etc/group /etc/hosts /etc/hostname Éditer le fichier ''/etc/schroot/schroot.conf'' : [buster] description=Debian Buster (oldstable) directory=/media/linux/chroots/buster users=philippe type=directory Rentrer dans le chroot : schroot -p -c buster ''-p'' permet de propager les variables d'environnement dans le chroot. Une fois dans le chroot, si on souhaite avoir un encodage UTF-8 correct : sudo apt install locales sudo dpkg-reconfigure locales # Installer fr_FR.UTF-8 Cela fonctionne grâce à la variable d'environnement ''LANG'' qui vient du système hôte. Attention, le ''/home'' est bindé sur celui de l'hôte. Pour lister tous les schroots existants : schroot -l Pour lister les sessions existantes : schroot --all-sessions --list Pour terminer une sessions existante : schroot -e -c session:unstable-amd64-sbuild-df2b27bc-f0dd-4fb0-b9fa-a81cc5282766 ==== Système de fichiers en lecture seule ==== Pour éviter que les modifications apportées à un schroot soient persistées, il est possible de rajouter dans les configurations: union-type=overlay Dans ce cas, les modifications à persister doivent se faire dans le schroot ''source:'' correspondant à utiliser. Si on ne souhaite monter le ''/home'' de l'hôte dans le schroot, il est aussi possible de le retirer du fstab et de créer l'utilisateur dans le schroot source. ==== Changer le répertoire de travail ==== Par défaut, schroot fait des lectures et écritures dans le dossier ''/var/lib/schroot'', notamment pour les schroots en ''union-type=overlay''. Pour changer l'emplacement de ce dossier de travail, il est possible de remplacer tout simplement ''/var/lib/schroot'' par un lien symbolique vers le dossier désiré.