ch'tite question sur le comportement de dpkg
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
Reply to: