DCHROOT(1)

NOM
dchroot - entrer dans un environnement de chroot.

RÉSUMÉ
dchroot [-h|--help | -V|--version | -l|--list | -i|--info | --config | --location] [--directory=répertoire] [-d|--preserve-environment] [-q|--quiet | -v|--verbose] [-c chroot|--chroot=chroot | --all] [COMMANDE [ ARG1 [ ARG2 [ ARGn]]]]

DESCRIPTION
dchroot autorise l'utilisateur à exécuter une commande ou un interpréteur de commande de connexion dans un environnement chrooté. Si aucune commande n'est précisée, un interpréteur de commande de connexion sera démarré dans le répertoire personnel de l'utilisateur dans le chroot.

La commande est un ou plusieurs arguments qui seront exécutés dans l'interpréteur de commandes par défaut de l'utilisateur en utilisant l'option -c. Par conséquent, du code shell peut être embarqué dans cet argument. Si de multiples options de commande sont utilisées, elles sont concaténées ensemble, séparées par des espaces. Les utilisateurs doivent faire attention aux problèmes de citation que cela présente, et doivent utiliser schroot si nécessaire, qui ne présente pas ces problèmes de citation.

Le répertoire dans lequel la commande ou l'interpréteur de commande de connexion sont exécutés dépend du contexte. Voir l'option --directory ci-dessous pour une description complète.

Cette version de dchroot est une encapsulation de compatibilité autour du programme schroot(1). Elle est fournie à des fins de rétro-compatibilité avec les options de ligne de commande de dchroot, mais schroot est recommandé pour des utilisations futures. Voyez la section “Incompatibilités” ci-dessous pour plus d'informations sur des incompatibilités connues avec des versions plus anciennes de dchroot.

Si aucun chroot n'est spécifié, le nom de chroot ou alias ‘default’ sera utilisé à la place.

OPTIONS
dchroot accepte les options suivantes :

  Options basiques

-h, --help
    Afficher un résumé de l'aide.

-a, --all
    Sélectionner tous les chroots.

-c, --chroot=chroot
    Spécifier un chroot à utiliser. Cette option peut être utilisée plusieurs fois pour spécifier plus d'un chroot, dans ce cas elle a un effet similaire à --all.

-l, --list
    Lister tous les chroots disponibles.

-i, --info
    Afficher des informations détaillées à propos des chroots spécifiés. Notez que les versions précédentes de dchroot n'incluent pas cette option.

-p, --path
    Afficher l'emplacement (chemin) des chroots sélectionnés.

--config
    Afficher la configuration des chroots spécifiés. C'est utile pour tester que la configuration utilisée est la même que celle du fichier de configuration. Tous les commentaires du fichier original sont omis. Notez que les versions précédentes de dchroot n'incluent pas cette option.

--directory=répertoire
    Se déplacer dans le répertoire dans le chroot avant d'exécuter la commande ou l'interpréteur de commande de connexion. Si le répertoire n'est pas disponible, dchroot se terminera par un état d'erreur.

    Le comportement par défaut est comme suit (tous les répertoires sont dans le chroot). Sauf si l'option --preserve-environment est utilisée pour préserver l'environnement, l'interpréteur de commande de connexion ou la commande sera exécuté dans le répertoire personnel de l'utilisateur, ou dans / si le répertoire personnel n'est pas disponible. Quand l'option --preserve-environment est utilisée, une exécution dans le répertoire courant sera utilisée, se rabattant sur / si non accessible. Si aucun des répertoires n'est disponible, dchroot se terminera par un état d'erreur.

-d, --preserve-environment
    Préserver l'environnement de l'utilisateur à l'intérieur de l'environnement de chroot. Par défaut, un environnement propre est utilisé ; cette option copie l'ensemble de l'environnement de l'utilisateur et le met en place dans la session.

-q, --quiet
    Afficher uniquement les messages essentiels.

-v, --verbose
    Afficher tous les messages. Notez que les versions précédentes de dchroot n'incluent pas cette option.

-V, --version
    Afficher les informations de version.

Notez que les versions précédentes de dchroot ne fournissent pas les options longues.

INCOMPATIBILITÉS

  Debian dchroot antérieur à la version 0.99.0

•   Les messages d'information sont formulés et formatés différemment.

•   su(1) n'est plus utilisé pour exécuter les commandes dans le chroot ; c'est effectué en interne par dchroot. Ce changement peut causer des différences subtiles. Si vous trouvez une incompatibilité, merci de le signaler pour qu'elle puisse être corrigée.

•   dchroot fournit un nombre restreint des fonctionnalités implémentées par schroot, mais c'est quand même schroot qui est au-dessous. Par conséquent dchroot est encore soumis aux vérifications de sécurité de schroot, incluant l'authentification et autorisation PAM et la gestion des sessions, par exemple, et par conséquent peut se comporter légèrement différemment des versions plus anciennes de dchroot dans certaines circonstances.

  Debian dchroot antérieur à la version 1.5.1

•   Cette version de dchroot utilise schroot.conf pour sauver la configuration pour les chroots disponibles, au lieu du fichier dchroot.conf utilisé historiquement. dchroot prend en charge la migration automatique de dchroot.conf vers le format de fichier par clé de schroot.conf avec l'option --config des versions 0.2.2 à 1.5.0 ; la prise en charge des formats plus anciens n'est plus disponible.

  dchroot DSA
Les machines exécutées par les Administrateurs Système Debian pour le projet Debian ont un paquet dchroot-dsa qui fourni une implémentation alternative de dchroot.

•   Toutes les incompatibilités ci-dessus s'appliquent.

•   Cette version de dchroot possède des options de ligne de commande incompatibles alors que certaines de ces options sont gérées ou ont des options équivalentes avec un nom différent, l'option -c n'est pas nécessaire pour spécifier un chroot et cette version de dchroot ne peut pas implémenter ce comportement de façon rétro-compatible (parce que si -c est omis, le chroot par défaut est utilisé). Le dchroot DSA utilise le premier argument non option comme chroot à utiliser, ne permettant l'utilisation que d'un seul chroot à la fois.

RÉPERTOIRES DE SUBSTITUTION

dchroot sélectionnera un répertoire approprié à utiliser à l'intérieur du chroot suivant si les options --directory ou --preserve-environment sont utilisées. Quand un répertoire est explicitement spécifié, seul un répertoire sera utilisé pour des raisons de sécurité et d'intégrité. Notez qu'à cause des multiples solutions de repli considérées pour les commandes, il est dangereux d'exécuter des commandes en utilisant dchroot ; utiliser schroot à la place. Les sous-sections suivantes listent les séquences de solutions de repli pour chaque cas. CWD est le répertoire de travail courant, DIR est le répertoire spécifié par --directory.

  Interpréteur de commande de connexion ou commande
Transition
(Hôte → Chroot) | Commentaire
CWD → passwd pw_dir | Comportement normal (si ni --directory ni --preserve-environment ne sont utilisés)
CWD → / | Si passwd pw_dir n'existe pas
FAIL | Si / n'existe pas

  --preserve-environment est utilisé
Transition
(Hôte → Chroot) | Commentaire
CWD → CWD | Comportement normal (si --preserve-environment est utilisé)
CWD → / | Si CWD n'existe pas
FAIL | Si / n'existe pas

  utilisation de --directory
Transition
(Hôte → Chroot) | Commentaire
CWD → DIR | Comportement normal
FAIL | Si CWD n'existe pas

Aucune solution de repli ne devrait exister en toute circonstance.

  Débogage

Notez que --debug=notice affichera la liste interne des répertoires de repli calculée pour la session.

EXEMPLES
    $ dchroot -l↵
    Available chroots: sarge [default], sid
    $ dchroot -p sid↵
    /srv/chroot/sid
    $ dchroot -q -c sid -- uname -smr↵
    Linux 2.6.16.17 ppc
    $ dchroot -q -c sid -- "uname -smr"↵
    Linux 2.6.16.17 ppc
    $ dchroot -q -c sid "ls -1 / | tac | head -n 4"↵
    var
    usr
    tmp
    sys
    $ dchroot -c sid↵
    I: [sid chroot] Running login shell: “/bin/bash”
    $

Utilisez -- pour autoriser les options débutant avec ‘-’ ou ‘--’ pour la commande à exécuter dans le chroot. Cela empêche qu'elles soient interprétées en tant qu'options de dchroot. Notez que la première ligne a été affichée sur l'erreur standard, et le reste sur la sortie standard. C'est intentionnel, pour que la sortie du programme exécuté dans le chroot puisse être redirigée à l'aide d'un pipe si besoin ; les données seront les mêmes que si la commande était exécutée directement sur le système hôte.

DÉPANNAGES
Si quelque chose ne fonctionne pas, et qu'il n'est pas facile de déterminer ce qui ne va pas à partir des messages d'erreur, vous pouvez utiliser l'option --debug=niveau pour activer les messages de débogage. Cela donnera un plus grand nombre d'informations. Les niveaux de débogage valables sont ‘none’, ‘notice’, ‘info’, ‘warning’ et ‘critical’ par ordre croissant de sévérité. Plus le niveau de sévérité est faible, plus il y a de sortie.

Si vous avez toujours des problèmes, les développeurs peuvent être contactés sur la liste de diffusion (en anglais) :
Debian buildd-tools Developers
<buildd-tools-devel@lists.alioth.debian.org>

BOGUES
Sur les architectures mips et mipsel, les noyaux Linux, jusqu'à la version 2.6.17 incluse, ont une prise en charge cassée des personality(2), qui a pour conséquence un échec de la mise en place des personnalités. Cela se manifeste par une erreur “Operation not permitted” (EPERM). Pour contourner ce problème, définissez personality à ‘undefined’ ou mettez à niveau votre noyau vers une version plus récente.

FICHIERS

/etc/schroot/schroot.conf
    Le fichier de configuration de schroot pour l'ensemble du système. Ce fichier doit être possédé par l'utilisateur root, et être non inscriptible par les autres.

AUTEURS
Roger Leigh.

L'implémentation de dchroot utilise les mêmes options de ligne de commande que le dchroot d'origine de David Kimdon <dwhedon@debian.org>, mais est une implémentation indépendante.

COPYRIGHT
Copyright © 2005-2012 Roger Leigh <rleigh@debian.org>

dchroot est un logiciel libre : vous pouvez le redistribuer et/ou le modifier aux conditions définies dans la licence publique générale GNU telle que publiée par la Free Software Foundation, version 2 ou, selon votre préférence, toute version ultérieure.

VOIR AUSSI
sbuild(1), schroot(1), chroot(2), schroot.conf(5), schroot-setup(5),