Back to Blog

How to Fix Broken Packages on Ubuntu

How to Fix Broken Packages on Ubuntu
Command of the Day
sudo apt --fix-broken install

What it does: Attempts to correct a system with broken dependencies by downloading and installing missing dependency packages automatically.

Encountering a broken package or an interrupted installation is a common issue when managing an Ubuntu server. Whether an SSH connection dropped mid-upgrade, an external PPA introduced conflicting libraries, or a process locked /var/lib/dpkg/lock, broken packages can prevent you from installing new software or security updates.

In this guide, you will learn the exact sequence of troubleshooting steps to repair package management on your RivinCloud VPS.


1. The Universal Fix: apt --fix-broken install

If APT reports unmet dependencies or unsatisfied package versions, run:

sudo apt update
sudo apt --fix-broken install -y

This scans all installed packages, detects missing or misconfigured dependency trees, and automatically downloads and links the correct files.


2. Reconfiguring Interrupted DPKG Installations

If a package installation was aborted mid-way (such as during a server reboot or lost SSH connection), dpkg enters an unconfigured state:

dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

Run the following commands:

sudo dpkg --configure -a
sudo apt clean
sudo apt update
sudo apt upgrade -y

3. Resolving DPKG Lock Errors

When running apt, you may encounter: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

Step 1: Check if an Automatic Update is Running

Ubuntu runs background unattended-upgrades on boot:

ps aux | grep -i -E "apt|dpkg"

If a background upgrade is actively running, wait 2–3 minutes for it to finish safely.

Step 2: Remove Stale Lock Files (If Process is Stuck or Crashed)

If no active APT process exists:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a

4. Forcing Removal of a Corrupted Package

If a specific package is corrupted and refuses to install or uninstall:

Step 1: Force Removal with DPKG

sudo dpkg --remove --force-remove-reinstreq <package_name>

Step 2: Clear Corrupted Info Files

If dpkg still fails due to corrupted pre-remove or post-install scripts in /var/lib/dpkg/info:

sudo mv /var/lib/dpkg/info/<package_name>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <package_name>
sudo apt --fix-broken install

5. Cleaning Broken or Conflicting PPAs

Outdated or incompatible third-party repositories often cause unmet dependency loops.

Install ppa-purge to downgrade packages back to official Ubuntu versions:

sudo apt install ppa-purge -y
sudo ppa-purge ppa:problematic/ppa

Common Mistakes

  • Deleting lock files while an actual APT upgrade is active: This can corrupt package databases. Always verify active processes with ps aux | grep apt first.
  • Using --force-all blindly: Forcing package overrides can break core system libraries like glibc or systemd.

Troubleshooting

  • "Hash Sum mismatch" error: Indicates corrupted local package caches. Fix by clearing list caches:
    sudo rm -rf /var/lib/apt/lists/*
    sudo apt update
    

Best Practices

  • Always run sudo apt update before attempting apt --fix-broken install.
  • Avoid adding unverified or deprecated third-party PPAs on production servers.

Frequently Asked Questions

Why do package installations get interrupted?

Common causes include server reboots, closing an SSH terminal while an upgrade is compiling, or running out of disk space (df -h).


Conclusion

Fixing broken packages on Ubuntu is straightforward once you follow the systematic dpkg --configure -a and apt --fix-broken install workflow. Use these steps to restore your RivinCloud VPS to peak health!