I have problem with one deb repository (specifically medibuntu.org) today - synaptic is not able to find repository indexes (and they are really not there - maybe due to yesterday's changes).

So I have the errors flying all over the place. I could just remove that repository - but I simply do not remember which packages came from it, so just removing it could screw my updates on some crucial package.

So, my question is - how do I find, which installed packages can not be found in any repository?


aptitude can do this query for you, with the ~o ("o" for "obsolete") search:

aptitude search ~o

this lists the packages that can no longer be downloaded.

I don't think there's an apt-cache search equivalent, and I'm not sure about synaptic.

For more info on search terms with aptitude, check out the section on search terms in the aptitude reference guide.

  • Seems that medibuntu contained sun-java6 package :( Thanks for your help! – Rogach Mar 7 '12 at 7:05
  • Then this might be handy: help.ubuntu.com/community/Java – Jeremy Kerr Mar 7 '12 at 7:20
  • you mean I can not bother about updates? :) – Rogach Mar 7 '12 at 18:08
  • remember to escape the ~ in the shell! – Janus Troelsen Feb 24 '13 at 15:22
  • 1
    Ysangkok: only if you have a user with a username of o :) – Jeremy Kerr Feb 25 '13 at 5:09

Run Synaptic. In the lower left series of buttons, select "Status". The list above these buttons may have an entry "Installed (local or obsolete)". When selected, this will show you all packages that were either installed locally (eg. from a downloaded deb file) or were installed via a repository but aren't listed any more. (There's no real way for Synaptic to tell the difference, hence they're grouped together.)

If you don't have any local or obsolete packages, this entry will not be present, so don't worry :)

Not the answer you're looking for? Browse other questions tagged or ask your own question.