installer failed missing dpkg_1.19.0.4ubuntu1_amd64.deb

Bug #1736309 reported by Jb
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
debootstrap (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Failure with daily:
Lubuntu Daily Alternate 2017 December 04
SHA256 hash of file .\lubuntu-18.04-alternate-amd64.iso:
bd8777489df3159c356879752bbc47e1805e4740d291fe4be6413afba10a6496

Installer fails with:
Warning: Failure trying to run: chroot /target dpkg-deb -f /var/cache/apt/archives/dpkg_1.19.0.4ubuntu1_amd64.deb

I switched to another virtual console with F2 and looked under /target/var/cache/apt and there's no such deb file.

I don't know when this stopped working, but I know the daily on 2017 November 11th worked fine.

Tags: iso-testing
Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/1736309

tags: added: iso-testing
Revision history for this message
Jb (jebsolutions) wrote :

Just an update.

The 64bit daily for 2017 December 4 fails.

But the *32bit* daily for 2017 December 4 installs fine.

Revision history for this message
Jb (jebsolutions) wrote :

Update #2 for 2017-December 05 isos:
Lubuntu Alternate 64 = fail
Lubuntu Desktop = works
Ubuntu Server = fails

Install breaks due to chroot failing.
Chroot fails because /target/lib64/ld-linux-x86-64.so.2 is not installed on target drive.

Not sure why that file is not copied over.

Lubuntu Alternate failing line:
chroot /target dpkg-deb -f /var/cache/apt/archives/dpkg_1.19.0.4ubuntu1_amd64.deb Version

The chroot error is "no such file or directory", but this is really because of missing /target/lib64/ld-linux-x86-64.so.2

Ubuntu server install halts at:
chroot: can't execute 'dpkg-divert': No such file or directory

If I open another terminal with f2:
cp /lib64/ld-linux-x86-64.so.2 /target/lib64

Then I can manually run the "chroot /target dpkg-deb -f /var/cache/apt/archives/dpkg_1.19.0.4ubuntu1_amd64.deb Version" on Lubuntu alternate without the "No such file or directory" error.

not sure how to debug further.

Revision history for this message
Jb (jebsolutions) wrote :

I tried to narrow the time frame where the problem starts:

Ubuntu Server Bionic Daily: 2017 - November 30th = works
Ubuntu Server Bionic Daily: 2017 - December 04th = fails

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in debootstrap (Ubuntu):
status: New → Confirmed
Revision history for this message
Jb (jebsolutions) wrote :

Can someone please try setting this environment variable to the install script and rebuilding the iso:

EXTRACT_UNSAFE_SYMLINKS=1

Why? Both "ar" and "tar" link to busybox. Busybox had a recent tar overwrite default change.

Revision history for this message
Jb (jebsolutions) wrote :

Lubuntu Alternate Workaround

... work around..

Basically...you manually replace tar symlink to busybox with real tar

On working *17.10* (18.04's closest relative) system do this BEFORE installing 18.04...

[replace /somewhere with ...a network share]

ldd /bin/tar

 linux-vdso.so.1 (ignore this one)
 cp /lib/x86_64-linux-gnu/libacl.so.1 /somewhere
 cp /lib/x86_64-linux-gnu/libselinux.so.1 /somewhere
 cp /lib/x86_64-linux-gnu/libc.so.6 /somewhere
 cp /lib/x86_64-linux-gnu/libattr.so.1 /somewhere
 cp /lib/x86_64-linux-gnu/libpcre.so.3 /somewhere
 cp /lib/x86_64-linux-gnu/libdl.so.2 /somewhere
 cp /lib/x86_64-linux-gnu/libpthread.so.0 /somewhere
 cp /bin/tar /somewhere

Also copy /somewhere/fix.sh (see end of this message)

Okay...so now /somewhere (i used a network share) has all the .so files and the binaries for tar.

Now boot the regular 18.04 Lubuntu Alternate iso.

When it bombs out Alt-F2 to switch to second console.

Mount /somewhere (I used network share)
mkdir /somewhere
mount -t cifs -ousername=whatever,password=whatever //server/share /somewhere
/somewhere/fix.sh

... script will silently setup everything...

switch back to main console. Control-Alt-f1.

Hit enter about 5 times to ignore errors and then retry the install...works. :)

also copy this script to /somewhere/fix.sh
------------------------------------------
#!/bin/sh
# copy files
cp /somewhere/libacl.so.1 /lib/x86_64-linux-gnu
cp /somewhere/libselinux.so.1 /lib/x86_64-linux-gnu
cp /somewhere/libc.so.6 /lib/x86_64-linux-gnu
cp /somewhere/libattr.so.1 /lib/x86_64-linux-gnu
cp /somewhere/libpcre.so.3 /lib/x86_64-linux-gnu
cp /somewhere/libdl.so.2 /lib/x86_64-linux-gnu
cp /somewhere/libpthread.so.0 /lib/x86_64-linux-gnu

cp /somewhere/libbfd-2.29.1-system.so /usr/lib/x86_64-linux-gnu/
#cp /somewhere/libc.so.6 /lib/x86_64-linux-gnu/
cp /somewhere/libz.so.1 /lib/x86_64-linux-gnu/
cp /somewhere/libdl.so.2 /lib/x86_64-linux-gnu/

# break symlink to ar and replace with real ar
#rm -rf /usr/bin/ar
#cp /somewhere/ar /usr/bin/arcopy
#
#cat <<"EOM_AR" > /bin/ar
##!/bin/sh
#echo $0 $* >> /test.log
#export EXTRACT_UNSAFE_SYMLINKS=1
#/usr/bin/arcopy $*
#EOM_AR
#
#chmod a+x /usr/bin/ar

#ar part works isn't needed

# break symlink to tar and replace with real tar + overwrite
rm -rf /bin/tar
cp /somewhere/tar /bin/tarcopy

cat <<"EOM_TAR" > /bin/tar
#!/bin/sh
echo $0 $* >> /test.log
if [ "$1" = "-k" ]; then
    /bin/tarcopy --overwrite $2 $3 $4 $5 $6 $7 $8 $9
else
 /bin/tarcopy $*
fi

EOM_TAR

chmod a+x /bin/tar

# fix existing /target/dev/* breaking reinstall attempt
rm -rf /target/dev*

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.