Package: apt Version: 1.0.9.8.3 Severity: important Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these template lines *** -- Package-specific info: -- /etc/apt/preferences -- # D109394: See $MISC/linux-install/common/wheezy/etc/apt/preferences for # the reason why Pin-Priority for later releases is being left in # here even though they've been removed from etc/apt/sources.list # The idea of the Pin-Priority for later releases is to allow # people to install packages from those releases with apt-get -t <release>. # This is based on the file from squeeze so the Pin-Priority's are set # in a similar manner to squeeze. # We could have left that out or set APT::Default-Release # in apt.conf but let's keep it all in one place. Package: * Pin: release a=unstable Pin-Priority: 50 Package: * Pin: release n=jessie Pin-Priority: 990 Package: * Pin: release n=jessie-updates Pin-Priority: 990 Package: * Pin: release n=jessie-backports Pin-Priority: 980 -- (/etc/apt/sources.list present, but not submitted) -- -- System Information: Debian Release: 8.6 APT prefers stable-updates APT policy: (990, 'stable-updates'), (990, 'stable'), (500, 'oldstable-updates'), (500, 'oldoldstable'), (500, 'stable'), (500, 'oldstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.7.0-0.bpo.1-amd64 (SMP w/12 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages apt depends on: ii debian-archive-keyring 2014.3 ii gnupg 1.4.18-7+deb8u3 ii libapt-pkg4.12 1.0.9.8.3 ii libc6 2.19-18+deb8u6 ii libgcc1 1:4.9.2-10 ii libstdc++6 4.9.2-10 apt recommends no packages. Versions of packages apt suggests: pn apt-doc <none> ii aptitude 0.6.11-1+b1 ii dpkg-dev 1.17.27 ii python-apt 0.9.3.12 ii synaptic 0.81.2 ii wajig 2.17 -- no debconf information I've not included my host /etc/apt/sources.list etc, because this is occuring in a (Docker) container and these are the wrong ones. In brief. If I attempt to build a docker container using apt-get install , and that process kicks off a grub-probe. The probe fails (because we are in a container) not a surprise. However this causes apt-get install to loop, presumably in the grub specific setup scripts. Note apt-get install is being run with -y --allow-unauthenticated . I can work around the problem using: yes | apt-get install --force-yes --allow-unauthenticated -y lttng-modules-dkms || echo "Ignore failure, hope that's OK" The 'y' being piped in resolves it. In detail: docker build -t isbroken -f BrokenDockerfile . Sending build context to Docker daemon 347.6 kB Step 1 : FROM debian:wheezy ---> 337681dc4ec4 Step 2 : MAINTAINER gvetterl...@xxx.com ---> Using cache ---> 377d0e4374da Step 3 : COPY sources.list /etc/apt/sources.list.d/HSP.list ---> Using cache ---> e44be478c8f1 Step 4 : COPY 98localmirror /etc/apt/apt.conf.d/98localmirror ---> Using cache ---> 4b62b3256281 Step 5 : RUN apt-get update ---> Running in ffa7376b5160 ... < elided>..... debconf: falling back to frontend: Teletype Creating config file /etc/default/grub with new version grub-probe: error: cannot find a device for / (is /dev mounted?). grub-probe: error: cannot find a device for /boot (is /dev mounted?). grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?). Configuring grub-pc ------------------- You chose not to install GRUB to any devices. If you continue, the boot loader may not be properly configured, and when this computer next starts up it will use whatever was previously in the boot sector. If there is an earlier version of GRUB 2 in the boot sector, it may be unable to load modules or handle the current configuration file. If you are already using a different boot loader and want to carry on doing so, or if this is a special environment where you do not need a boot loader, then you should continue anyway. Otherwise, you should install GRUB somewhere. Continue without installing GRUB? Use of uninitialized value $_[1] in join or string at /usr/share/perl5/Debconf/DbDriver/Stack.pm line 111. grub-probe: error: cannot find a device for / (is /dev mounted?). grub-probe: error: cannot find a device for /boot (is /dev mounted?). grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?). Use of uninitialized value $_[1] in join or string at /usr/share/perl5/Debconf/DbDriver/Stack.pm line 111. You chose not to install GRUB to any devices. If you continue, the boot loader may not be properly configured, and when this computer next starts up it will use whatever was previously in the boot sector. If there is an earlier version of GRUB 2 in the boot sector, it may be unable to load modules or handle the current configuration file. If you are already using a different boot loader and want to carry on doing so, or if this is a special environment where you do not need a boot loader, then you should continue anyway. Otherwise, you should install GRUB somewhere. Continue without installing GRUB? grub-probe: error: cannot find a device for / (is /dev mounted?). grub-probe: error: cannot find a device for /boot (is /dev mounted?). grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?). Use of uninitialized value $_[1] in join or string at /usr/share/perl5/Debconf/DbDriver/Stack.pm line 111. You chose not to install GRUB to any devices. If you continue, the boot loader may not be properly configured, and when this computer next starts up it will use whatever was previously in the boot sector. If there is an earlier version of GRUB 2 in the boot sector, it may be unable to load modules or handle the current configuration file. .... This (above) is a cut-down-to-reproduce example: gvetterlein@lyster:~/work/obsidian-1.0/infrastructure/HSPbuild$ cat BrokenDockerfile FROM debian:wheezy COPY broken.sources.list /etc/apt/sources.list.d/typical.list COPY 98localmirror /etc/apt/apt.conf.d/98localmirror RUN apt-get update -y --allow-unauthenticated RUN apt-get dist-upgrade -y --allow-unauthenticated #RUN apt-get install -y --allow-unauthenticated lttng-modules-dkms RUN apt-get install -y --allow-unauthenticated grml-rescueboot ## This works around it: RUN yes | apt-get install --force-yes --allow-unauthenticated -y grml-rescueboot || echo "Ignore failure, hope that's OK" CMD [ "/bin/bash" ] gvetterlein@lyster:~/work/obsidian-1.0/infrastructure/HSPbuild$ cat broken.sources.list deb http://ftp.us.debian.org/debian/ wheezy main non-free contrib deb-src http://ftp.us.debian.org/debian/ wheezy main non-free contrib deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free gvetterlein@lyster:~/work/obsidian-1.0/infrastructure/HSPbuild$ gvetterlein@lyster:~/work/obsidian-1.0/infrastructure/HSPbuild$ cat 98localmirror Acquire { Check-Valid-Until "false"; } I originally hit this bug with another unrelated package in the apt-get install line, but it was on not inthe standrad repo. So I've produced this example with grml-rescueboot. I simply used that as a pakaged which provoked the grub-probe. To recap: I'm not expecting apt-get install ... grml-rescueboot to work. In reality the package in question was a long way down the dependency list. I'm just expecting it to complete (preferably with a zero return code) so I can complete the docker image build.