linux:chroot

Ceci est une ancienne révision du document !


Chroot

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 é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.

  • linux/chroot.1636909222.txt.gz
  • Dernière modification : 2021/11/14 18:00
  • de phsw