Thanks for the quick response.
>> FATAL ERROR:>> Both /lib/x86_64-linux-gnu/libpng12.so.0 and >> /usr/lib/x86_64-linux-gnu/libpng12.so.0 exist. > This is weird, because I see nothing in the package which would create > this link. I don't think that was due to usrmerge, I think it was related to me having both libpng12-0 and libpng16-16 installed (?). usrmerge only gets the blame for everything that happened afterwards. :) > You can boot from a live CD and chroot or add init=/bin/bash to the > kernel > command line. Then fix the libpng thing and keep running usrmerge > until it complets. Thanks for the hint. Adding init=/bin/bash (and changing a ro to rw) worked. I still had some problems to resolve after that: 1. I could not trivially run convert-usrmerge again. It failed because perl could not find libcrypt.so.1. LD_LIBRARY_PATH worked for that. The script completed, but reported a number of broken links. 2. On reboot, /sbin/init failed and the system panicked. ldd /usr/sbin/init revealed a number of missing libraries, eg librt.so.1. The issue was the same in every case. In /usr/lib/x86_64-linux-gnu, librt.so.1 was a circular symlink pointing to /usr/lib/x86_64-linux-gnu/librt.so.1. There was a librt.so.1.usrmerge-broken link pointing to librt-2.24.so, which was correct. So basically I had to rename all the *usrmerge-broken links. The full list of affected items was: libauparse.so.0.usrmerge-broken libnss_nis.so.2.usrmerge-broken libcap.so.2.usrmerge-broken libpam_misc.so.0.usrmerge-broken libext2fs.so.2.usrmerge-broken libply-splash-core.so.4.usrmerge-broken libgcrypt.so.20.usrmerge-broken libresolv.so.2.usrmerge-broken libhistory.so.5.usrmerge-broken librt.so.1.usrmerge-broken libnfsidmap.so.0.usrmerge-broken libsmartcols.so.1.usrmerge-broken libnss_compat.so.2.usrmerge-broken libudev.so.1.usrmerge-broken libnss_files.so.2.usrmerge-broken After fixing all these, the system seems ok again.