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.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:phlinux:config:schroot-vraiment-transparent [07/01/2020 23:47] phlinux [Configuration] |
utilisateurs:phlinux:config:schroot-vraiment-transparent [29/05/2020 13:31] (Version actuelle) phlinux [Utilisation] |
||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
Tout se passe dans le dossier /etc/schroot, et donc en root. | Tout se passe dans le dossier /etc/schroot, et donc en root. | ||
- | 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".\n | + | 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 | + | |
+ | 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> | <file config schroot.conf> | ||
[sidchroot] | [sidchroot] | ||
Ligne 23: | Ligne 26: | ||
</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: | ||
Ligne 39: | 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 50: | 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. | + | |
+ | 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: | Ce qui donne par exemple: | ||
<file config fstab> | <file config fstab> | ||
Ligne 56: | Ligne 68: | ||
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. | Toujours dans le dossier "sidchroot" on peut utiliser le fichier "copyfiles" pour copier dans le chroot des fichiers du système hôte. | ||
- | Voir dans le wiki DF les fichiers inutiles à la construction du chroot mais requis par la suite. | + | |
Par exemple: | Par exemple: | ||
<file config copyfiles> | <file config copyfiles> | ||
Ligne 74: | Ligne 84: | ||
/etc/resolv.conf # utile/indispensable pour le réseau | /etc/resolv.conf # utile/indispensable pour le réseau | ||
</file> | </file> | ||
- | Et pis.....c'est tout. | + | 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 | ||