If you’ve ever seen the message “dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a’ to correct the problem,” it can be alarming — especially in the middle of an update. This post explains what that message means, how to fix it safely, and how to avoid it in the future.
Scenario: You’re upgrading Ubuntu 22.04. The power goes out mid-upgrade. After rebooting, you run sudo apt upgrade and see:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
Solution applied:
sudo dpkg --configure -a
# still fails with "cannot read status file"
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo dpkg --configure -a Fixing “dpkg was interrupted — you must manually
What Just Happened?
dpkg (Debian Package Manager) is the low-level engine behind apt, apt-get, and the Ubuntu Software Center. Unlike a simple file copy, installing a package involves unpacking files, running pre/post-installation scripts, updating databases, and configuring dependencies.
If that process is interrupted—by a power failure, a closed terminal window, a network timeout, or a Ctrl+C at the wrong moment—dpkg leaves a lock file behind. This lock tells the system: "I was in the middle of something critical. Do not proceed until I’m cleaned up."
The result? Every subsequent package operation fails with the same message. Solution applied: sudo dpkg --configure -a # still
Step 3: Update package lists and retry
sudo apt update
sudo dpkg --configure -a
Force removal of a broken package
As a last resort (use carefully):
sudo dpkg --remove --force-remove-reinstreq <package-name>
sudo apt install -f
Troubleshooting: When the Standard Fix Doesn't Work
Sometimes, the command sudo dpkg --configure -a runs but the error persists, or the command produces a new error. Here are advanced steps to resolve stubborn cases.
Common failures and fixes
-
Stuck or locked dpkg/apt (lock file errors) Force removal of a broken package As a
- Error: “Could not get lock /var/lib/dpkg/lock-frontend” or similar.
- Fix:
- Make sure no apt/dpkg process is running:
ps aux | egrep 'apt|dpkg'
- If none running, remove stale locks:
sudo rm /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
- Then run
sudo dpkg --configure -a again.
- Only remove locks if you confirmed no package process is active.
-
Broken packages / unmet dependencies
- Symptoms: dpkg reports specific packages failing to configure.
- Fixes:
- Retry configuration:
sudo dpkg --configure -a
- Fix dependencies:
sudo apt --fix-broken install
- Reinstall problem package:
sudo apt install --reinstall <package>
- Remove if irrecoverable:
sudo apt remove --purge <package> then reinstall.
-
Corrupted package database (rare)
- Symptoms: dpkg databases appear inconsistent or corrupted files in /var/lib/dpkg.
- Approach:
- Inspect status file:
less /var/lib/dpkg/status
- Restore from backup if available:
/var/backups/dpkg.status.*
- As last resort, edit status carefully or rebuild database; prefer restoring backup or reinstalling OS if unsure.
-
Out-of-space errors
- Symptom: “No space left on device” during configuration.
- Fix:
- Free space (clean caches, remove large unused files).
- Clean apt cache:
sudo apt clean
- Remove unused kernels / packages:
sudo apt autoremove --purge
- Then run
sudo dpkg --configure -a again.
Step 2: Clean up partial installs
sudo apt clean
sudo apt autoclean
Preventing dpkg interruptions
- Don’t abruptly power off or kill package operations.
- Avoid running multiple package tools simultaneously (apt, aptitude, Software Center).
- Keep adequate free disk space (especially /boot and root).
- Use unattended-upgrades carefully on production systems — test automatic upgrades before enabling widely.
- When using scripts to automate installs, check for exit statuses and wrap operations so dpkg can finish cleanly.