How do you recover from a failed upgrade ('apt-get -f install' and 'dpkg --configure -a' fail)?

44,769

Solution 1

I managed to rescue the upgrade, although I am not 100% sure what it was that worked. Others might still benefit:

  1. 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.

  2. 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.

  3. After this, sudo apt-get update and sudo apt-get -f install cleared up most of the remaining issues, but there were still dependency problems with samba.

  4. 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.

Solution 2

I had this issue today trying to upgrade to 14.04. I noticed similar messages as:

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable

I used sudo fuser /var/cache/debconf/config.dat to figure out which process was stuck. Do notice that you have to find the exact file that is 'stuck'. Apparently some front end thing that didn't properly pop up but did lock the progress of the update. After killing that process I was able to resume patching the system with the regular commands.

Share:
44,769
rudivonstaden
Author by

rudivonstaden

Updated on September 18, 2022

Comments

  • rudivonstaden
    rudivonstaden over 1 year

    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:

    1. Used ssh to log in to the stalled system over the network.
    2. Checked the contents of the /var/log/dist-upgrade directory. There was no activity on main.log, apt.log or term.log.
    3. top showed that process 'precise' was using about 3% CPU, but I could find no evidence that the upgrade process was still doing anything.
    4. 'dpkg' did not show up in top, but it came up with pgrep dpkg | xargs ps
    5. Killed the 'dpkg' and 'precise' processes
    6. 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.
    7. 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:

    1. 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
      
    2. 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?

    • rudivonstaden
      rudivonstaden almost 12 years
      Have followed the steps at help.ubuntu.com/community/… but still have unresolved dependencies. Downloading ISO and will do a clean install.
  • Mikko Rantalainen
    Mikko Rantalainen over 2 years
    If sudo dpkg --configure -a causes system to reboot, you probably have hardware problems. I'd assume that PSU or RAM is faulty.