Catch 22: need apt-utils to install apt-utils?

6

I was trying to install something else when I ran into this problem. So I tried to install apt-utils to solve it. But I couldn't install apt-utils, because well, my console tells me I don't have apt-utils:

root@napajohn:~# apt-get install apt-utils
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  apt-utils
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
3 not fully installed or removed.
Need to get 0 B/129 kB of archives.
After this operation, 365 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  apt-utils
Install these packages without verification [y/N]? y
debconf: delaying package configuration, since apt-utils is not installed
Setting up dash (0.5.5.1-7.4em1) ...
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 75.)
debconf: falling back to frontend: Readline
No diversion 'diversion of /usr/share/man/man1/sh.1.gz by dash', none removed.
This should never be reached
dpkg: error processing dash (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bash:
 bash depends on dash (>= 0.5.5.1-2.2); however:
  Package dash is not configured yet.
dpkg: error processing bash (--configure):
 dependency problems - leaving unconfigured
configured to not write apport reports
                                      configured to not write apport reports
                                                                            Errors were encountered while processing:
 dash
 bash
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@napajohn:~#

I've tried this: https://serverfault.com/questions/358943/what-does-debconf-delaying-package-configuration-since-apt-utils-is-not-insta

I've tried this but for me it doesn't include apt-utils: apt error: Could not perform immediate configuration on

After doing a good amount of web searching, I am still lost for ideas. Help appreciated!

Running:

root@napajohn:~# cat /etc/debian_version
6.0.3
root@napajohn:~# uname -a
Linux napajohn 2.6.34 #4 Mon Oct 31 16:41:13 EDT 2011 armv7l GNU/Linux
root@napajohn:~#

John E

Posted 2012-04-17T13:50:38.943

Reputation: 231

2Try dpkg-reconfigure -a or installing the wanted package with dpkg -i by downloading the .deb from the web interface to the Debian package archives. – Daniel Andersson – 2012-04-17T14:53:23.613

Thanks for the response, Daniel. I didn't see it right away. However, I've managed to get everything working. I can't submit an answer yet because of low reputation though. I will in 6 hours when it lets me. – John E – 2012-04-17T15:29:01.207

@JohnE this question would be appropriate for Super User or Unix and Linux. Either or. Since you figured it out and posted it here, we'll leave it here for now. – nhinkle – 2012-04-18T16:12:10.317

Answers

7

I have resolved this issue, thanks to this thread post: http://lists.debian.org/debian-embedded/2011/11/msg00037.html

The process I used:

root@napajohn:~# cat /var/lib/dpkg/info/dash.preinst
#!/bin/bash
set -e

divert() {
        dfile=$1
        ltarget=$2
        div=$(dpkg-divert --list $dfile)
        distrib=${3:-$dfile.distrib}
        temp=$dfile.tmp
        if [ -z "$div" ]; then
                # This differs from dpkg-divert's --rename because we
                # first make a copy of $dfile (the file being diverted)
                # in $distrib. Then, a symlink to $ltarget is forcibly created
                # from $dfile; this is performed in two stages with an
                # intermediate temporary file as ln -sf is not atomic.
                # dpkg-divert's --rename direct equivalent would be:
                # mv $dfile $distrib -- but we could end up without a symlink
                if [ -e $dfile ]; then
                        cp -dp $dfile $distrib
                fi
                ln -sf $ltarget $temp
                mv -f $temp $dfile
                dpkg-divert --package dash --divert $distrib --add $dfile
        fi
}

# Divert the following files if no diversion exists already
# It is currently used to prevent the files collision between bash and
# dash: they both provide the files in the package.
divert /bin/sh dash
divert /usr/share/man/man1/sh.1.gz dash.1.gz \
        /usr/share/man/man1/sh.distrib.1.gz
root@napajohn:~# /var/lib/dpkg/info/dash.preinst install
ln: creating symbolic link `/usr/share/man/man1/sh.1.gz.tmp': No such file or directory
root@napajohn:~# mkdir -p /usr/share/man/man1
root@napajohn:~# /var/lib/dpkg/info/dash.preinst install
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
root@napajohn:~# /var/lib/dpkg/info/dash.preinst install
root@napajohn:~# dpkg --configure -a
Setting up dash (0.5.5.1-7.4em1) ...
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 75.)
debconf: falling back to frontend: Readline
Setting up bash (4.1-3em1) ...
update-alternatives: error: alternative path /usr/share/man/man7/bash-builtins.7.gz doesn't exist.
root@napajohn:~# apt-get install dialog
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  dialog
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 0 B/183 kB of archives.
After this operation, 516 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  dialog
Install these packages without verification [y/N]? y
debconf: delaying package configuration, since apt-utils is not installed
tar: ./control: time stamp 2010-11-27 17:03:26 is 344105762.627135945 s in the future
tar: ./md5sums: time stamp 2010-11-27 17:03:26 is 344105762.625823689 s in the future
tar: .: time stamp 2010-11-27 17:03:26 is 344105762.625457478 s in the future
Selecting previously deselected package dialog.
(Reading database ... 9114 files and directories currently installed.)
Unpacking dialog (from .../dialog_1.1-20100428-1em1_armel.deb) ...
Setting up dialog (1.1-20100428-1em1) ...
root@napajohn:~# dpkg --configure -a
root@napajohn:~# apt-get install apt-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  apt-utils
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 0 B/129 kB of archives.
After this operation, 365 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  apt-utils
Install these packages without verification [y/N]? y
debconf: delaying package configuration, since apt-utils is not installed
tar: ./control: time stamp 2011-06-28 19:49:06 is 362518839.816741658 s in the future
tar: ./shlibs: time stamp 2011-04-15 21:43:32 is 356132105.815368367 s in the future
tar: ./postinst: time stamp 2011-04-15 21:43:32 is 356132105.814819051 s in the future
tar: ./md5sums: time stamp 2011-06-28 19:49:06 is 362518839.814361287 s in the future
tar: ./postrm: time stamp 2011-04-15 21:43:33 is 356132106.813903523 s in the future
tar: .: time stamp 2011-06-28 19:49:06 is 362518839.813598348 s in the future
Selecting previously deselected package apt-utils.
(Reading database ... 9123 files and directories currently installed.)
Unpacking apt-utils (from .../apt-utils_0.8.10.3+squeeze1em1_armel.deb) ...
Setting up apt-utils (0.8.10.3+squeeze1em1) ...
root@napajohn:~# echo Hoorah!
Hoorah!

John E

Posted 2012-04-17T13:50:38.943

Reputation: 231

1+1 for echo Hoorah!, even if ! normally yells at you. – Rob – 2012-04-18T15:07:29.153