It’s not uncommon to run into an issue of broken packages in Ubuntu and other Debian-based distributions. Sometimes, when you upgrade the system or install a software package, you may encounter the ‘Sub-process /usr/bin/dpkg returned an error code’ error.
The crucial phrase in this error is /usr/bin/dpkg, which points to the dpkg package installer used in Linux. A package installer manages software, updates, and dependencies. If it becomes corrupted, any attempt to install new software can trigger this error message.
For example, a while back, I tried to upgrade to Ubuntu 22.04 and I bumped into the dpkg error as shown below.
Errors were encountered while processing: google-chrome-stable E: Sub-process /usr/bin/dpkg returned an error code (1)
This indicates that the google-chrome-stable package is either broken or corrupt. There are a few workarounds to this problem, so don’t throw in the towel yet or discard your system.
Fixing Sub-process /usr/bin/dpkg returned an error code (1)
Let’s address the issue with this broken package error. I’ll walk you through several methods, starting with the simpler ones. These initial steps are straightforward and don’t require much effort.
Method 1: Reconfiguring dpkg Package Database
One of the triggers of this error is a corrupted dpkg package database. This can be caused by the sudden interruption of the installation of a software package. Reconfiguring the database is one way to resolve this issue.
To do this, simply execute the command:
sudo dpkg --configure -a
This reconfigures the unpacked packages that were not installed during the installation process.
Method 2: Force Install the Troublesome Package
Sometimes, errors can occur during the installation of software packages. When such happens, you can force install the package using the -f
option as shown.
sudo apt install -f OR sudo apt install --fix-broken
The -f
option & --fix-broken
can be interchangeably used to fix broken dependencies resulting from an interrupted package or cached package download.
Method 3: Remove or Purge the Bad or Corrupted Software Package
If the first two solutions did not fix the problem, you can remove or purge the problematic software package as shown.
sudo apt remove --purge package_name
For example, in my case, purging the Google Chrome package fixed the issue.
sudo apt remove --purge google-chrome-stable
Then invoke the commands below to remove all the old, unused, and unnecessary packages which also frees up space on your hard drive.
sudo apt clean sudo apt autoremove
Method 4: Remove all the Files Associated with the Package
Lastly, you can manually remove all the files associated with the troublesome package. First, you need to find these files which are located in the /var/lib/dpkg/info directory as shown.
sudo ls -l /var/lib/dpkg/info | grep -i package_name
After listing the files, you can move them to the /tmp directory as shown
sudo mv /var/lib/dpkg/info/package-name.* /tmp
Alternatively, you can use the rm command to manually remove the files.
sudo rm -r /var/lib/dpkg/info/package-name.*
Finally, update the package lists as shown:
$ sudo apt update
You can thereafter give it another shot by reinstalling the software package.
Conclusion
This type of dpkg error points to an issue with the package installer usually caused by the interruption of an installation process or a corrupt dpkg database.
Any of the above-mentioned solutions should fix this error. If you have come this far, then we hope that the issue has been successfully resolved and that you were able to reinstall your software package.
If any of the methods worked for you, please specify which one resolved the issue. If you managed to fix this error using a different method, kindly share it to help others who might be experiencing the same issue.