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-upgradedirectory. There was no activity on
topshowed 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?