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 onmain.log
,apt.log
orterm.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 messageProcessing 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?
Best Answer
I managed to rescue the upgrade, although I am not 100% sure what it was that worked. Others might still benefit:
I managed to recover my X session by switching to a command-line terminal (Ctl+Alt+F2) and then back to the X terminal (Ctl+Alt+F7), which then asked me to login again. The system was unstable but worked. I was then able to close a couple of upgrade-related prompts.
It seems that the update manager did not disable PPA's, so I cleaned up
/etc/apt/sources.list.d/
(deleted all entries). It was suggested on IRC (#ubuntu) that I should use ppa-purge to clean up the PPA's, but in the end I simply deleted them.After this,
sudo apt-get update
andsudo apt-get -f install
cleared up most of the remaining issues, but there were still dependency problems withsamba
.I managed to fix samba by removing it (
sudo apt-get remove samba
) and reinstalling it (sudo apt-get install samba
).After this, the system was more-or-less stable. I had to also remove and reinstall unity after a restart, but otherwise it's been working well.