Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
utilisateurs:phlinux:config:schroot-vraiment-transparent [07/01/2020 23:20] phlinux créée |
utilisateurs:phlinux:config:schroot-vraiment-transparent [29/05/2020 13:31] phlinux [Utilisation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Titre de Votre Tuto ====== | + | ====== Schrootez de la bonne manière ! ====== |
- | * Objet : du tuto FIXME | + | * Objet : Pas la peine de monter pour rien |
- | * Niveau requis : FIXME {{tag>débutant avisé}} | + | * Niveau requis : {{tag>débutant avisé}} |
- | * Commentaires : //Un peu de prétention à configurer schroot de la bonne manière // | + | * Commentaires : //plop, plop, plop// |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
Ligne 9: | Ligne 9: | ||
On démarre notre périple après avoir installé notre autre version de Debian (voir le wiki DF), ou quoi que ce soit d'autre, sur une partition dédiée. Pour cette page c'est une sid qui est prise en exemple. | On démarre notre périple après avoir installé notre autre version de Debian (voir le wiki DF), ou quoi que ce soit d'autre, sur une partition dédiée. Pour cette page c'est une sid qui est prise en exemple. | ||
===== Configuration===== | ===== Configuration===== | ||
- | Tout se passe dans le dossier /etc/schroot, et donc en root | + | Tout se passe dans le dossier /etc/schroot, et donc en root. |
- | <file schroot.conf> | + | |
+ | A noter que pour l'exemple du fichier principal ci-dessous, la valeur de la clé "type" ne doit pas être différente de "directory". | ||
+ | |||
+ | Quant à la clé "profile" elle désigne le répertoire de config qui sera lu par schroot. | ||
+ | |||
+ | Ici c'est le user "bidule" et son groupe du même nom qui va utiliser le chroot. | ||
+ | <file config schroot.conf> | ||
[sidchroot] | [sidchroot] | ||
- | # la valeur de la clé "type" ne doit pas être différente | ||
type=directory | type=directory | ||
directory=/media/sidchroot | directory=/media/sidchroot | ||
- | users=ph57 | + | users=bidule |
- | groups=ph57 | + | groups=bidule |
preserve-environment=true | preserve-environment=true | ||
- | # la clé "profile" désigne le répertoire de config qui sera lu par schroot | ||
profile=sidchroot | profile=sidchroot | ||
</file> | </file> | ||
- | Pour créer simplement le dossier "sidchroot" | + | Ensuite, selon l'utilisation du chroot on peut choisir comme modèle un des dossiers (sauf ceux de scripts). Tous comportent plus ou moins les mêmes fichiers mais avec des pré-configurations différentes. On peut aussi picorer dans chaque.... |
- | <code root>cp -r default sidchroot</code> | + | |
+ | Pour créer simplement le dossier "sidchroot" pour une session avec des appli graphiques. | ||
+ | <code root>cp -r desktop sidchroot</code> | ||
Dans le répertoire "sidchroot" on peut conserver le fichier "fstab" tel quel: | Dans le répertoire "sidchroot" on peut conserver le fichier "fstab" tel quel: | ||
- | <file fstab> | + | <file config fstab> |
# fstab: static file system information for chroots. | # fstab: static file system information for chroots. | ||
# Note that the mount point will be prefixed by the chroot path | # Note that the mount point will be prefixed by the chroot path | ||
Ligne 38: | Ligne 44: | ||
/home /home none rw,bind 0 0 | /home /home none rw,bind 0 0 | ||
/tmp /tmp none rw,bind 0 0 | /tmp /tmp none rw,bind 0 0 | ||
+ | |||
+ | # If you use gdm3, uncomment this line to allow Xauth to work | ||
+ | #/var/run/gdm3 /var/run/gdm3 none rw,bind 0 0 | ||
+ | # For PulseAudio and other desktop-related things | ||
+ | /var/lib/dbus /var/lib/dbus none rw,bind 0 0 | ||
# It may be desirable to have access to /run, especially if you wish | # It may be desirable to have access to /run, especially if you wish | ||
Ligne 49: | Ligne 60: | ||
</file> | </file> | ||
Mais phlinux n'aime pas "binder" le /home ni /sys. A noter que /run peut poser des problèmes comme il est indiqué dans les commentaires. | Mais phlinux n'aime pas "binder" le /home ni /sys. A noter que /run peut poser des problèmes comme il est indiqué dans les commentaires. | ||
- | De même que tout "fstab" on peut ajouter le montage de la racine (c'est à dire la partition de la distribution chrootée) et pourquoi pas une partition utile dans le chroot. Ce qui donne par exemple: | + | |
- | <file fstab> | + | De même que tout "fstab" on peut ajouter le montage de la racine (c'est à dire la partition de la distribution chrootée) et, pourquoi pas, une partition utile dans le chroot. |
+ | |||
+ | Ce qui donne par exemple: | ||
+ | <file config fstab> | ||
# <file system> <mount point> <type> <options> <dump> <pass> | # <file system> <mount point> <type> <options> <dump> <pass> | ||
UUID=xxxx41ef-13f6-xxxx-a484-9b1ec5fd6271 / ext4 defaults 0 0 | UUID=xxxx41ef-13f6-xxxx-a484-9b1ec5fd6271 / ext4 defaults 0 0 | ||
/proc /proc none rw,bind 0 0 | /proc /proc none rw,bind 0 0 | ||
- | #/sys /sys none rw,bind 0 0 | ||
/dev /dev none rw,bind 0 0 | /dev /dev none rw,bind 0 0 | ||
/dev/pts /dev/pts none rw,bind 0 0 | /dev/pts /dev/pts none rw,bind 0 0 | ||
- | #/home /home none rw,bind 0 0 | ||
/tmp /tmp none rw,bind 0 0 | /tmp /tmp none rw,bind 0 0 | ||
- | #/run /run none rw,bind 0 0 | + | /var/lib/dbus /var/lib/dbus none rw,bind 0 0 |
UUID=6c66xxxx-35c0-4336-xxxx-b14c2ddc2835 /media/stock ext3 defaults 0 0 | UUID=6c66xxxx-35c0-4336-xxxx-b14c2ddc2835 /media/stock ext3 defaults 0 0 | ||
</file> | </file> | ||
+ | Toujours dans le dossier "sidchroot" on peut utiliser le fichier "copyfiles" pour copier dans le chroot des fichiers du système hôte. | ||
+ | |||
+ | Par exemple: | ||
+ | <file config copyfiles> | ||
+ | # Files to copy into the chroot from the host system. | ||
+ | # | ||
+ | # <source and destination> | ||
+ | /home/bidule/.Xauthority # certainement indispensable pour des sessions en graphiques | ||
+ | /etc/resolv.conf # utile/indispensable pour le réseau | ||
+ | </file> | ||
+ | Enfin, vérifier le fichier "nssdatabases". Dans la liste des fichiers qui peuvent être copiés dans le chroot, beaucoup, voire tous, sont déjà présents suite à la construction de la distribution si on a suivi le wiki DF. Donc à commenter selon les besoins. | ||
+ | |||
+ | Et pis.....c'est tout. | ||
+ | |||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | Comme d'hab..... Sauf qu'avec cette configuration plus besoin de pré-monter la partition du chroot depuis l'hôte et de farcir son "fstab" avec des lignes de "bind", ni même d'écrire des scripts savants... Tout se fait au lancement de l'appli ou de l'accès au chroot par le login. | ||
+ | |||
+ | Quelques rappels de "classiques" avec l'exemple de sidchroot: | ||
+ | <code user>schroot -c sidchroot gimp</code> | ||
+ | <code user>schroot -c sidchroot /bin/bash</code> | ||
+ | Pour mettre à jour son chroot (petites variations d'options possibles suivant le $TERM utilisé): | ||
+ | <code user>$TERM -f -e schroot -c sidchroot -- /bin/bash -c "su -"</code> | ||
+ | Et une petite astuce qui peut servir pour passer une option à l'appli lancée: | ||
+ | <code user>schroot -c sidchroot -- mpv --playlist</code> | ||
+ | |||
+ | Les experts pourront peut être apporter la confirmation que cette config est également plus sécurisée car vraiment transparente. | ||
+ | |||
+ | A bientôt sur DF | ||