E: dpkg was interrupted... run 'sudo dpkg --configure -a'
I was running an upgrade with the apt-get command, and it was taking an exceptionally long time because half way through my ISP hit me in the face with their fair usage policy.
After sitting outside & watching the rain for awhile my electronics regained consciousness, so I went back to complete the upgrade and my terminal scolds me with
"E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem."
The last bit of legible info was all this:
Installing (ri/RDoc) documention for (stuff and such)
ERROR: Could not find a valid gem 'watobo-0.9.8.724.gem' (>= 0) in any repository
rm: cannot remove `watobo-0.9.8.724.gem': No such file or directory
Setting up metasploit (4.3.0-bt1) ...
Upgrading Pre-Existing Installation...
/opt/metasploit/postgresql/scripts/ctl.sh : postgresql (pid 1191) already running
prosvc is running
metasploit is running
[*]
[*] Attempting to update the Metasploit Framework...
[*]
So on it goes for miles, talking about gem caches, rubies, & stuff I wish I had. All up until:
A lib/gemcache/ruby/1.9.1/gems/state_machine-1.1.2/gemfiles/active_record-2.1.2.gemfile.lock
...and there it has sat, all night. If I stop it, will I still get the dpkg error (on the off chance that I won't), or if so what do I need to to resume using apt-get commands and its Super Cow Powers?
Solution 1:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
This error is actually telling you exactly what is wrong: dpkg
was interrupted as a result the package was not configured correctly.
Run the command it tells you to sudo dpkg --configure -a
and it should be able to correct itself.
If it doesn't try running sudo apt-get install -f
(to fix broken packages) and then try running sudo dpkg --configure -a
again.
Just make sure you have internet access available so that you can download any dependencies.
These instructions may not work if by upgrade you meant apt-get dist-upgrade
if you were trying to do a distribution upgrade (e. g. 11.10 → 12.04) then you will need to edit your question to reflect that.
Solution 2:
I tried the solution of @TrailRider and didn't work for me. I solve it doing the following:
-
Delete the updates with:
cd /var/lib/dpkg/updates sudo rm *
-
Tried to update and upgrade:
sudo apt update sudo apt upgrade
-
I couldn't, it says that:
E: Could not get lock /var/lib/dpkg/lock
This means that some program is updating the system or installing a new software.
-
IMPORTANT: Check if some other process is locking
dpkg
files instead of deleting them immediately. Because if that is the case, you should wait for them to finish. -
Checking if some programs is locking
dpkg
files:ps aux | grep -i apt
If you have only one output, something that finishes like:
S+ 19:16 0:00 grep --color=auto -i apt
you are lucky. You could delete the
dpkg
lock files which you can double-check manually one by one with:sudo lsof /var/lib/dpkg/lock sudo lsof /var/lib/apt/lists/lock sudo lsof /var/cache/apt/archives/lock
To delete them use:
sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
-
Try again:
sudo dpkg --configure -a
It should work.
-
You should try to recover whatever you were installing at that moment with:
sudo apt update sudo apt upgrade
This should resume the process and keep everything stable.
That is how I fix it.
NOTE: I recommend you whatever you try to keep of track/log of what commands are you applying, this precaution will help other to help you if something goes wrong.