12

I was browsing some questions here to find a solution to locating and removing broken packages. Being a relative novice I installed some PPAs designed for 11.10 on my 12.04 LTS machine. In terminal it suggested I try apt-get -f install which brought me to this question:

A big lesson learned for me, if anyone can help

5 Answers 5

29
  • Install the Synaptic Package Manager, either through the Software Center or by running this command in the Terminal:

     sudo apt-get install synaptic 
    
  • Open it by typing synaptic in the Unity dash and then hitting Enter.

  • Then follow this procedure:

    1. Select the "Status" category. This shows packages organized by status.
    2. Select "Broken dependencies" category from upper left pane.
    3. Select the broken packages. If the packages are more than one, select them all by pressing Ctrl+A.
    4. Then right-click on a selected package, and select the option "Mark for Complete Removal" in the menu.

    Screenshot showing "Mark for complete removal" on packages with broken dependencies

That's it. The broken packages are gone.

1
  • 4
    I don't have Broken dependencies in my status page.
    – Mark Deven
    Aug 15, 2019 at 12:44
6

Synaptic Package Manager (available in the Software Center) is a graphical tool for managing packages, and among many features it allows you to filter packages by their state. In few clicks, by selecting the desired category on the left panel, you will be presented with the list of packages that require fixing.

3

No downloads, no GUI needed:

You can list broken packages :

dpkg -l | grep ^..r 

r state (on the third field) means: reinst-required (package broken, reinstallation required)

dpkg fields explanation

To list and remove these packages:

dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done

(Answer copied from this thread.)

1

To clean up the packages you've installed from ppa, you should use ppa-purge, assumed the ppa is ppa:xorg-edger/ppa

  1. sudo apt-get install ppa-purge
  2. sudo apt-get update
  3. sudo ppa-purge ppa:xorg-edger/ppa
  4. it will prompt you a list of packages to remove and/or downgrade, if nothing look suspicious, answer Y and wait
  5. if you are lucky, it should finish with out error, else you'll need to do a sudo apt-get install -f

If after step 5 you still have errors, come back and update your question.

Good luck.

2
  • E: Unable to locate package ppa-purge
    – stiv
    Jun 3, 2015 at 0:08
  • I will second that.. ppa-purge does not exist. Aug 4, 2015 at 20:13
0

I have made a script for fixing broken packages. This searches for the broken packages in the /var/log/dist-upgrade/apt.log and then finds the package names then applies the specified command on them.

Take care about using this script, because sometimes some broken packages are system related and might make a new problem. so use install or upgrade command instead of remove command.

Get it from here

Download the script using the below command:

wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh

Then run it:

./fix-broken.sh

Also you can set the action you want to apply to broken packages like this:

./fix-broken (install|upgrade|remove)

The default action is remove.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .