During an upgrade from lucid (10.04) to precise (12.04), the X session froze, and I have been trying to recover the upgrade to get a stable system. I have performed the following steps:
Used ssh to log in to the stalled system over the network.
Checked the contents of the /var/log/dist-upgrade directory. There was no activity on main.log, apt.log or term.log.
top showed that process 'precise' was using about 3% CPU, but I could find no evidence that the upgrade process was still doing anything.
'dpkg' did not show up in top, but it came up with pgrep dpkg | xargs ps
Killed the 'dpkg' and 'precise' processes
Tried to recover the upgrade by running sudo fuser -vki /var/lib/dpkg/lock;sudo dpkg --configure -a. This was partially successful (some packages were configured), but failed with the message Processing was halted because there were too many errors. I ran the same command a few times, and each time some packages were configured but others failed.
Tried running sudo apt-get -f install. It fails with similar errors to dpkg.
The current situation is that dpkg --configure -a and sudo apt-get -f install fails with two kinds of error:
Dependency issues, e.g.:
dpkg: dependency problems prevent configuration of cifs-utils:
cifs-utils depends on samba-common; however:
Package samba-common is not configured yet.
dpkg: error processing cifs-utils (--configure):
dependency problems - leaving unconfigured
Resource conflict, e.g.:
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
Additionally, it seems there's reference to potential boot problems, so I'm not keen to reboot without fixing the install first:
dpkg: too many errors, stopping
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-25-generic
cryptsetup: WARNING: failed to detect canonical device of /dev/sda1
cryptsetup: WARNING: could not determine root device from /etc/fstab
So my question is, how to get a working install when dpkg --configure -a fails?