web-dev-qa-db-fra.com

Comment corriger cette erreur avec debootstrap dans Ubuntu Server 12.04.3?

Lors de l'utilisation de l'outil xen-create-image, une erreur est survenue lors du processus debootstrap.

Fonctionnement

root@xen/tmp# debootstrap --Arch AMD64 precise /tmp/ubuntu 
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id 630239CC130E1A7FD81A27B140976EAF437D05B5)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on http://us.archive.ubuntu.com/ubuntu...
I: Retrieving adduser

...
I: Extracting xz-utils...
I: Extracting zlib1g...
I: Installing core packages...
W: Failure trying to run: chroot /tmp/ubuntu dpkg --force-depends --install /var/cache/apt/archives/debconf_1.5.42ubuntu1_all.deb

Alors j'ai essayé de courir:

chroot/tmp/ubuntu dpkg --force-depend --install /var/cache/apt/archives/debconf_1.5.42ubuntu1_all.deb

De manière interactive.

root@xen:/# chroot /tmp/ubuntu dpkg --force-depends --install /var/cache/apt/archives/debconf_1.5.42ubuntu1_all.deb
(Reading database ... 1944 files and directories currently installed.)
Preparing to replace debconf 1.5.42ubuntu1 (using .../debconf_1.5.42ubuntu1_all.deb) ...
Illegal instruction (core dumped)
dpkg: warning: subprocess old pre-removal script returned error exit status 132
dpkg - trying script from the new package instead ...
Illegal instruction (core dumped)
dpkg: error processing /var/cache/apt/archives/debconf_1.5.42ubuntu1_all.deb (--install):
 subprocess new pre-removal script returned error exit status 132
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/Perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (@INC contains: /etc/Perl /usr/local/lib/Perl/5.14.2 /usr/local/share/Perl/5.14.2 /usr/lib/Perl5 /usr/share/Perl5 /usr/lib/Perl/5.14 /usr/share/Perl/5.14 /usr/local/lib/site_Perl .) at /usr/share/Perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Illegal instruction (core dumped)
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 132
Errors were encountered while processing:
 /var/cache/apt/archives/debconf_1.5.42ubuntu1_all.deb

La sortie: Instruction illégale (noyau vidé) semble impliquer un problème fondamental avec debconf ou quelque chose du genre. Existe-t-il un moyen de contourner ce problème pour que le script debootstrap s'exécute sans erreur?

6
Matt H

Essayer

apt-get install dialog

Je l'ai trouvé ici après avoir eu le même problème. (J'ai fait debootstrap wheezy --variant=minbase)

Alternativement, vous pouvez utiliser

export DEBIAN_FRONTEND=noninteractive

avant d'exécuter apt-get. Cela se repliera sur une interface de console en texte pur qui fonctionne également dans les scripts ou Dockerfiles.

11
Daniel Alder

J'ai eu le même problème deux fois maintenant et cela a été causé par un paquet foiré. L'exécution de la commande suivante dans terminal devrait résoudre les problèmes:

apt-get update && apt-get dist-upgrade
1
Marius Voila