Bonjour,

j' ai mis en place un chroot contenant une sarge dans un
environnement sous testing. Le debootstrap s' est passé sans problème.
Je cherche maintenant à pouvoir gérer les paquets installés dans le
chroot depuis l' extérieur. Voilà à quoi ressemble mon fichier de
configuration pour apt:
# apt-config dump
APT "";
APT::Architecture "i386";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Build-Essential:: "build-essential";
Dir "/var/gnouf";
Dir::State "var/lib/apt/";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::userstatus "status.user";
Dir::State::status "/var/gnouf/var/lib/dpkg/status";
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt/";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::vendorlist "vendors.list";
Dir::Etc::vendorparts "vendors.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::dpkg "/usr/bin/dpkg";
DPkg "";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
DPkg::options "";
DPkg::options:: "--instdir=/gnouf";
DPkg::options:: "--admindir=/var/gnouf/var/lib/dpkg";

/gnouf est la racine du chroot
/var/gnouf/etc/apt/ est la copie de /gnouf/etc/apt
/var/gnouf/var/lib/apt la copie de /gnouf/var/lib/apt
/var/gnouf/var/lib/dpkg la copie de /gnouf/var/lib/dpkg
/var/gnouf/var/cache/apt la copie de .... gagné!

C' est là que j' ai un problème avec dpkg:
# strace -f -e file apt-get install apt-doc
[...]
Paramétrage de apt-doc (0.5.28.6) ...
[...]
Process 3563 attached
Process 3562 suspended
[pid  3563] chroot("/gnouf")            = 0
[pid  3563] execve("nouf/var/lib/dpkg/info/apt-doc.postinst",
["nouf/var/lib/dpkg/info/apt-doc.p"..., "configure", ""], [/* 21 vars
*/]) = -1 ENOENT (No such file or directory)
[...]

Pour quelle (sans doute bonne) raison dpkg fait-il un chroot(instdir)?!?
Est-ce que j'ai loupé qquechose pour qu'il trouve quand même le
apt-doc.postinst?
Est-ce que ce que j'essaie de faire est une excellente idée mais
irréalisable?

Un grand merci à qui pourra m' éclairer.

Question subsidiaire:
pourquoi l' option Dir::State::status prend-elle un chemin absolu alors
que toutes les autres ont un chemin relatif à Dir?

Encore merci,
Vincent

Répondre à