How do I get a list of obsolete packages?How to find what packages do not come from a repository?How to list installed packages in apt that are not backed by a repository?How can I tell whether I have unavailable versions installed?Find what packages are installed from a repositoryHow to get a summary of installed packages by repository and see differences from clean install?List installed packages that are no longer installable via repository?List packages by creation / modification (not install) date to find unmaintained onesRetrieve and delete obsoletes packagesKeep an Obsolete PackageHow to get a list of preinstalled packages?install/remove list of packages from command line with apt-getDowngrade all external packages to the official onesWhy installing packages without updates fails? Are original packages removed from repositories after update is available?Find which versions of Ubuntu a package in a 3rd-party repository is available for?

What is the rationale for single engine military aircraft?

Will a falling rod stay in contact with the frictionless floor?

If you're loaning yourself a mortgage, why must you pay interest? At the bank's posted rate?

In C#, is there a way to enforce behavior coupling in interface methods or is the fact that I am trying to do that a design smell?

In academic writing why do some recommend to avoid "announcing" the topic?

How much would we learn from observing an FTL starship fly by?

Why is a living creature being frozen in carbonite in “The Mandalorian” so common when it seemed so risky in “The Empire Strikes Back?”

How many flight hours do the first retiring A380s have?

What's the best way of typing the following 58 equations into LaTeX?

80s/90s sitcom with a girl who could stop time and spoke to her dad through a "gem thingy"

Why give an android emotions?

How does a human body spend energy on its organs?

Apollo CM heat shield burnt pattern around RCS thrusters

What stops one country from issuing another country's passports?

Baby's head always turned to one side: should I do anything?

What is the difference between normal mode and command line mode?

Students requesting to switch partners mid term

Is there any conceivable way to "turn off" a star?

Don't let this riddle put you in a foul mood

Not registering my US born child of 1 US parent as a US citizen

Router wont hold config

How to create a new file via touch if it is in a directory which doesn't exist?

Which Grows Faster: Factorial or Double Exponentiation

My passport's Machine Readable Zone is damaged. How do I deal with it?



How do I get a list of obsolete packages?


How to find what packages do not come from a repository?How to list installed packages in apt that are not backed by a repository?How can I tell whether I have unavailable versions installed?Find what packages are installed from a repositoryHow to get a summary of installed packages by repository and see differences from clean install?List installed packages that are no longer installable via repository?List packages by creation / modification (not install) date to find unmaintained onesRetrieve and delete obsoletes packagesKeep an Obsolete PackageHow to get a list of preinstalled packages?install/remove list of packages from command line with apt-getDowngrade all external packages to the official onesWhy installing packages without updates fails? Are original packages removed from repositories after update is available?Find which versions of Ubuntu a package in a 3rd-party repository is available for?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;









19


















I'm trying to figure out a way to get a list of the packages that are no longer available in the repositories that I have enabled. This workstation has been through quite a few versions of Ubuntu and has had many 3rd party repositories added and removed. I'd like to get a list of software that I have from these removed repositories, so I can clean it up or add back the appropriate repositories.










share|improve this question

















migrated from serverfault.com Jan 24 '12 at 19:43


This question came from our site for system and network administrators.

























    19


















    I'm trying to figure out a way to get a list of the packages that are no longer available in the repositories that I have enabled. This workstation has been through quite a few versions of Ubuntu and has had many 3rd party repositories added and removed. I'd like to get a list of software that I have from these removed repositories, so I can clean it up or add back the appropriate repositories.










    share|improve this question

















    migrated from serverfault.com Jan 24 '12 at 19:43


    This question came from our site for system and network administrators.





















      19













      19









      19


      12






      I'm trying to figure out a way to get a list of the packages that are no longer available in the repositories that I have enabled. This workstation has been through quite a few versions of Ubuntu and has had many 3rd party repositories added and removed. I'd like to get a list of software that I have from these removed repositories, so I can clean it up or add back the appropriate repositories.










      share|improve this question
















      I'm trying to figure out a way to get a list of the packages that are no longer available in the repositories that I have enabled. This workstation has been through quite a few versions of Ubuntu and has had many 3rd party repositories added and removed. I'd like to get a list of software that I have from these removed repositories, so I can clean it up or add back the appropriate repositories.







      package-management






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 24 '12 at 21:19









      Jorge Castro

      61.3k110 gold badges430 silver badges624 bronze badges




      61.3k110 gold badges430 silver badges624 bronze badges










      asked Jan 24 '12 at 19:19









      SeanSean

      6361 gold badge5 silver badges9 bronze badges




      6361 gold badge5 silver badges9 bronze badges





      migrated from serverfault.com Jan 24 '12 at 19:43


      This question came from our site for system and network administrators.











      migrated from serverfault.com Jan 24 '12 at 19:43


      This question came from our site for system and network administrators.









      migrated from serverfault.com Jan 24 '12 at 19:43


      This question came from our site for system and network administrators.






















          7 Answers
          7






          active

          oldest

          votes


















          23



















          aptitude search '~o'


          Aptitude has some very powerful searching available. Unfortunately the syntax is a bit unwieldy and you have to dig past the manpage to find the documentation, but its worth it.



          apt-show-versions can also be helpful:



          apt-show-versions | grep 'No available version'





          share|improve this answer






















          • 1





            see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

            – Lluís
            Mar 8 '14 at 11:02











          • Another useful list is generated by apt-show-versions | grep "newer than version in archive"

            – Sean
            Jan 6 '17 at 14:40












          • I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

            – j riv
            Jun 17 '18 at 7:40


















          6



















          To get a list of apps that are not in a Registered Repository or PPA do this:



          sudo apt-get install apt-show-versions
          apt-show-versions | grep 'No available version'


          That should output text like this:



          app1 1.0.0.14 installed: No available version in archive
          app23 0.3.6 installed: No available version in archive
          app332 7.0.9377 installed: No available version in archive


          For me this worked and showed three apps I installed using DEB packages and weren't available in a Repo or PPA.



          Do remember though that it's impossible to check for all programs, only the ones that went through dpkg. For instance, some apps are installed by simply extracting them into the correct folders, or others use a standalone installer bin or script. So the best way is for you yourself to keep a list of apps you installed via any method other than APT.






          share|improve this answer

























          • Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

            – gertvdijk
            Jan 5 '13 at 21:37












          • aptitude calls these 'obsolete' packages. See chronitis comment above.

            – Henk Poley
            Mar 5 '13 at 16:54


















          5



















          If you have aptitude installed use,



          aptitude search '?obsolete'


          or its short form



          aptitude search '~o'


          Here it is a sample output



          i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
          id libdb4.7 - Berkeley v4.7 Database Libraries [runtime]
          i libudev0 - libudev shared library


          The first character of each line indicates the current state of the package. The most common states are:



          • p, meaning that no trace of the package exists on the system,

          • c, meaning that the package was deleted but its configuration files
            remain on the system,

          • i, meaning that the package is installed, and

          • v, meaning that the package is virtual.

          The second character indicates the stored action to be performed on the package, if any, otherwise a blank space is displayed.
          The most common actions are:



          • i, meaning that the package will be installed,

          • d, meaning that the package will be deleted, and

          • p, meaning that the package and its configuration files will be removed.

          If the third character is A, the package was automatically installed.



          For a complete list of the possible state and action flags, see the section Accessing Package Information in the aptitude reference guide.






          share|improve this answer






















          • 1





            aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

            – A.B.
            Jul 1 '15 at 18:28











          • could you add some detail on parsing the output?

            – Elder Geek
            Jul 2 '15 at 1:54











          • Is '?obsolete' different from '~o'?

            – Sean
            Jul 2 '15 at 18:20











          • @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

            – Demis Palma ツ
            Jul 2 '15 at 23:00











          • The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

            – Sean
            Jul 3 '15 at 19:29


















          2



















          You could use the following Bash one-liner:



          comm -23 <(dpkg-query -W -f '$db:Status-Abbrevt$Packagen' | grep '^.[^nc]' | cut -f2 | sort) <(apt-cache dumpavail | sed -rn 's/^Package: (.*)/1/p' | sort -u)


          No need to install extra packages for this, plus this is relatively fast. This will also find partially installed packages (but will not find those that have only configuration files remaining; that could be changed easily, though). Note: this does not care of which architecture the packages are.



          Even faster is to use modern apt:



           apt list --installed | awk -F/ '/[installed,local]/print $1'


          Yet another option is to run



          ubuntu-support-status --show-unsupported


          and read the obsolete package names under "No longer downloadable:" section.






          share|improve this answer



























          • ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

            – TamusJRoyce
            Sep 18 at 15:08






          • 1





            @TamusJRoyce, yes, I suppose so now after editing.

            – jarno
            Sep 18 at 16:18











          • I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

            – jarno
            Sep 19 at 9:47



















          1



















          More info to investigate.




          ubuntu-support-status
          echo "$(sudo apt-mark showmanual | wc -l) packages marked as 'manually installed'."


          ... ubuntu-support-status and apt-mark may require installation.






          share|improve this answer

























          • No need to use sudo with apt-mark showmanual.

            – jarno
            Sep 18 at 16:20











          • ubuntu-support-status lists the number of obsolete packages, but not the package names.

            – jarno
            Sep 18 at 16:47






          • 1





            Read the output of ubuntu-support-status --help

            – Hannu
            Sep 19 at 17:16












          • Oh, thanks for the hint.

            – jarno
            Sep 20 at 5:26


















          0



















          There may be a cleaner way, but off the top of my head you can do





          dpkg -l | cut -f 3 -d ' ' > installed
          xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
          diff installed available


          Cleanup the first few lines of the installed file: it will have headers.



          Bonus if anyone can fix my syntax highlighting...






          share|improve this answer




















          • 2





            if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

            – stew
            Jan 24 '12 at 19:46






          • 1





            also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

            – stew
            Jan 24 '12 at 19:54







          • 1





            @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

            – Jeff Ferland
            Jan 24 '12 at 19:59











          • @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

            – jarno
            Sep 18 at 5:32











          • Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

            – jarno
            Sep 18 at 16:56


















          0



















          As mentioned apt-get search is not a good method to check if a package is still available. Additional I've added everything to just one line:



          for i in `dpkg -l | grep '^i' | awk ' print $2 '`; do apt-cache show $i > /dev/null || echo $i; done





          share|improve this answer

























          • And why grep '^i'

            – A.B.
            Sep 22 '15 at 11:24











          • @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

            – jarno
            Sep 17 at 10:26












          • This is very slow

            – jarno
            Sep 17 at 11:42











          • apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

            – jarno
            Sep 21 at 10:18












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "89"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );














          draft saved

          draft discarded
















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f98223%2fhow-do-i-get-a-list-of-obsolete-packages%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown


























          7 Answers
          7






          active

          oldest

          votes








          7 Answers
          7






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          23



















          aptitude search '~o'


          Aptitude has some very powerful searching available. Unfortunately the syntax is a bit unwieldy and you have to dig past the manpage to find the documentation, but its worth it.



          apt-show-versions can also be helpful:



          apt-show-versions | grep 'No available version'





          share|improve this answer






















          • 1





            see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

            – Lluís
            Mar 8 '14 at 11:02











          • Another useful list is generated by apt-show-versions | grep "newer than version in archive"

            – Sean
            Jan 6 '17 at 14:40












          • I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

            – j riv
            Jun 17 '18 at 7:40















          23



















          aptitude search '~o'


          Aptitude has some very powerful searching available. Unfortunately the syntax is a bit unwieldy and you have to dig past the manpage to find the documentation, but its worth it.



          apt-show-versions can also be helpful:



          apt-show-versions | grep 'No available version'





          share|improve this answer






















          • 1





            see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

            – Lluís
            Mar 8 '14 at 11:02











          • Another useful list is generated by apt-show-versions | grep "newer than version in archive"

            – Sean
            Jan 6 '17 at 14:40












          • I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

            – j riv
            Jun 17 '18 at 7:40













          23















          23











          23









          aptitude search '~o'


          Aptitude has some very powerful searching available. Unfortunately the syntax is a bit unwieldy and you have to dig past the manpage to find the documentation, but its worth it.



          apt-show-versions can also be helpful:



          apt-show-versions | grep 'No available version'





          share|improve this answer
















          aptitude search '~o'


          Aptitude has some very powerful searching available. Unfortunately the syntax is a bit unwieldy and you have to dig past the manpage to find the documentation, but its worth it.



          apt-show-versions can also be helpful:



          apt-show-versions | grep 'No available version'






          share|improve this answer















          share|improve this answer




          share|improve this answer








          edited Jan 24 '12 at 19:57

























          answered Jan 24 '12 at 19:38









          stewstew

          3461 silver badge4 bronze badges




          3461 silver badge4 bronze badges










          • 1





            see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

            – Lluís
            Mar 8 '14 at 11:02











          • Another useful list is generated by apt-show-versions | grep "newer than version in archive"

            – Sean
            Jan 6 '17 at 14:40












          • I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

            – j riv
            Jun 17 '18 at 7:40












          • 1





            see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

            – Lluís
            Mar 8 '14 at 11:02











          • Another useful list is generated by apt-show-versions | grep "newer than version in archive"

            – Sean
            Jan 6 '17 at 14:40












          • I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

            – j riv
            Jun 17 '18 at 7:40







          1




          1





          see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

          – Lluís
          Mar 8 '14 at 11:02





          see a nice article about obsolete packages here: raphaelhertzog.com/2011/02/07/…

          – Lluís
          Mar 8 '14 at 11:02













          Another useful list is generated by apt-show-versions | grep "newer than version in archive"

          – Sean
          Jan 6 '17 at 14:40






          Another useful list is generated by apt-show-versions | grep "newer than version in archive"

          – Sean
          Jan 6 '17 at 14:40














          I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

          – j riv
          Jun 17 '18 at 7:40





          I think apt-show-versions is the best simply because the aptitude line is extremely counter-intuitive to remember. Every single time I need it I have to google it/look it up/save it/make a script/etc.

          – j riv
          Jun 17 '18 at 7:40













          6



















          To get a list of apps that are not in a Registered Repository or PPA do this:



          sudo apt-get install apt-show-versions
          apt-show-versions | grep 'No available version'


          That should output text like this:



          app1 1.0.0.14 installed: No available version in archive
          app23 0.3.6 installed: No available version in archive
          app332 7.0.9377 installed: No available version in archive


          For me this worked and showed three apps I installed using DEB packages and weren't available in a Repo or PPA.



          Do remember though that it's impossible to check for all programs, only the ones that went through dpkg. For instance, some apps are installed by simply extracting them into the correct folders, or others use a standalone installer bin or script. So the best way is for you yourself to keep a list of apps you installed via any method other than APT.






          share|improve this answer

























          • Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

            – gertvdijk
            Jan 5 '13 at 21:37












          • aptitude calls these 'obsolete' packages. See chronitis comment above.

            – Henk Poley
            Mar 5 '13 at 16:54















          6



















          To get a list of apps that are not in a Registered Repository or PPA do this:



          sudo apt-get install apt-show-versions
          apt-show-versions | grep 'No available version'


          That should output text like this:



          app1 1.0.0.14 installed: No available version in archive
          app23 0.3.6 installed: No available version in archive
          app332 7.0.9377 installed: No available version in archive


          For me this worked and showed three apps I installed using DEB packages and weren't available in a Repo or PPA.



          Do remember though that it's impossible to check for all programs, only the ones that went through dpkg. For instance, some apps are installed by simply extracting them into the correct folders, or others use a standalone installer bin or script. So the best way is for you yourself to keep a list of apps you installed via any method other than APT.






          share|improve this answer

























          • Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

            – gertvdijk
            Jan 5 '13 at 21:37












          • aptitude calls these 'obsolete' packages. See chronitis comment above.

            – Henk Poley
            Mar 5 '13 at 16:54













          6















          6











          6









          To get a list of apps that are not in a Registered Repository or PPA do this:



          sudo apt-get install apt-show-versions
          apt-show-versions | grep 'No available version'


          That should output text like this:



          app1 1.0.0.14 installed: No available version in archive
          app23 0.3.6 installed: No available version in archive
          app332 7.0.9377 installed: No available version in archive


          For me this worked and showed three apps I installed using DEB packages and weren't available in a Repo or PPA.



          Do remember though that it's impossible to check for all programs, only the ones that went through dpkg. For instance, some apps are installed by simply extracting them into the correct folders, or others use a standalone installer bin or script. So the best way is for you yourself to keep a list of apps you installed via any method other than APT.






          share|improve this answer














          To get a list of apps that are not in a Registered Repository or PPA do this:



          sudo apt-get install apt-show-versions
          apt-show-versions | grep 'No available version'


          That should output text like this:



          app1 1.0.0.14 installed: No available version in archive
          app23 0.3.6 installed: No available version in archive
          app332 7.0.9377 installed: No available version in archive


          For me this worked and showed three apps I installed using DEB packages and weren't available in a Repo or PPA.



          Do remember though that it's impossible to check for all programs, only the ones that went through dpkg. For instance, some apps are installed by simply extracting them into the correct folders, or others use a standalone installer bin or script. So the best way is for you yourself to keep a list of apps you installed via any method other than APT.







          share|improve this answer













          share|improve this answer




          share|improve this answer










          answered Dec 2 '12 at 4:24









          japzonejapzone

          1,2319 silver badges18 bronze badges




          1,2319 silver badges18 bronze badges















          • Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

            – gertvdijk
            Jan 5 '13 at 21:37












          • aptitude calls these 'obsolete' packages. See chronitis comment above.

            – Henk Poley
            Mar 5 '13 at 16:54

















          • Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

            – gertvdijk
            Jan 5 '13 at 21:37












          • aptitude calls these 'obsolete' packages. See chronitis comment above.

            – Henk Poley
            Mar 5 '13 at 16:54
















          Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

          – gertvdijk
          Jan 5 '13 at 21:37






          Works for all my local dpkg installed packages. One exception. It lists skype-bin, whereas apt-cache policy skype-bin clearly shows the Canonical partner repo. I'm not sure what is going on. Multiarch issue? Still +1 for apt-show-versions!

          – gertvdijk
          Jan 5 '13 at 21:37














          aptitude calls these 'obsolete' packages. See chronitis comment above.

          – Henk Poley
          Mar 5 '13 at 16:54





          aptitude calls these 'obsolete' packages. See chronitis comment above.

          – Henk Poley
          Mar 5 '13 at 16:54











          5



















          If you have aptitude installed use,



          aptitude search '?obsolete'


          or its short form



          aptitude search '~o'


          Here it is a sample output



          i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
          id libdb4.7 - Berkeley v4.7 Database Libraries [runtime]
          i libudev0 - libudev shared library


          The first character of each line indicates the current state of the package. The most common states are:



          • p, meaning that no trace of the package exists on the system,

          • c, meaning that the package was deleted but its configuration files
            remain on the system,

          • i, meaning that the package is installed, and

          • v, meaning that the package is virtual.

          The second character indicates the stored action to be performed on the package, if any, otherwise a blank space is displayed.
          The most common actions are:



          • i, meaning that the package will be installed,

          • d, meaning that the package will be deleted, and

          • p, meaning that the package and its configuration files will be removed.

          If the third character is A, the package was automatically installed.



          For a complete list of the possible state and action flags, see the section Accessing Package Information in the aptitude reference guide.






          share|improve this answer






















          • 1





            aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

            – A.B.
            Jul 1 '15 at 18:28











          • could you add some detail on parsing the output?

            – Elder Geek
            Jul 2 '15 at 1:54











          • Is '?obsolete' different from '~o'?

            – Sean
            Jul 2 '15 at 18:20











          • @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

            – Demis Palma ツ
            Jul 2 '15 at 23:00











          • The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

            – Sean
            Jul 3 '15 at 19:29















          5



















          If you have aptitude installed use,



          aptitude search '?obsolete'


          or its short form



          aptitude search '~o'


          Here it is a sample output



          i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
          id libdb4.7 - Berkeley v4.7 Database Libraries [runtime]
          i libudev0 - libudev shared library


          The first character of each line indicates the current state of the package. The most common states are:



          • p, meaning that no trace of the package exists on the system,

          • c, meaning that the package was deleted but its configuration files
            remain on the system,

          • i, meaning that the package is installed, and

          • v, meaning that the package is virtual.

          The second character indicates the stored action to be performed on the package, if any, otherwise a blank space is displayed.
          The most common actions are:



          • i, meaning that the package will be installed,

          • d, meaning that the package will be deleted, and

          • p, meaning that the package and its configuration files will be removed.

          If the third character is A, the package was automatically installed.



          For a complete list of the possible state and action flags, see the section Accessing Package Information in the aptitude reference guide.






          share|improve this answer






















          • 1





            aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

            – A.B.
            Jul 1 '15 at 18:28











          • could you add some detail on parsing the output?

            – Elder Geek
            Jul 2 '15 at 1:54











          • Is '?obsolete' different from '~o'?

            – Sean
            Jul 2 '15 at 18:20











          • @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

            – Demis Palma ツ
            Jul 2 '15 at 23:00











          • The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

            – Sean
            Jul 3 '15 at 19:29













          5















          5











          5









          If you have aptitude installed use,



          aptitude search '?obsolete'


          or its short form



          aptitude search '~o'


          Here it is a sample output



          i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
          id libdb4.7 - Berkeley v4.7 Database Libraries [runtime]
          i libudev0 - libudev shared library


          The first character of each line indicates the current state of the package. The most common states are:



          • p, meaning that no trace of the package exists on the system,

          • c, meaning that the package was deleted but its configuration files
            remain on the system,

          • i, meaning that the package is installed, and

          • v, meaning that the package is virtual.

          The second character indicates the stored action to be performed on the package, if any, otherwise a blank space is displayed.
          The most common actions are:



          • i, meaning that the package will be installed,

          • d, meaning that the package will be deleted, and

          • p, meaning that the package and its configuration files will be removed.

          If the third character is A, the package was automatically installed.



          For a complete list of the possible state and action flags, see the section Accessing Package Information in the aptitude reference guide.






          share|improve this answer
















          If you have aptitude installed use,



          aptitude search '?obsolete'


          or its short form



          aptitude search '~o'


          Here it is a sample output



          i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
          id libdb4.7 - Berkeley v4.7 Database Libraries [runtime]
          i libudev0 - libudev shared library


          The first character of each line indicates the current state of the package. The most common states are:



          • p, meaning that no trace of the package exists on the system,

          • c, meaning that the package was deleted but its configuration files
            remain on the system,

          • i, meaning that the package is installed, and

          • v, meaning that the package is virtual.

          The second character indicates the stored action to be performed on the package, if any, otherwise a blank space is displayed.
          The most common actions are:



          • i, meaning that the package will be installed,

          • d, meaning that the package will be deleted, and

          • p, meaning that the package and its configuration files will be removed.

          If the third character is A, the package was automatically installed.



          For a complete list of the possible state and action flags, see the section Accessing Package Information in the aptitude reference guide.







          share|improve this answer















          share|improve this answer




          share|improve this answer








          edited Jul 4 '15 at 10:07

























          answered Jul 1 '15 at 17:44









          Demis Palma ツDemis Palma ツ

          3914 silver badges9 bronze badges




          3914 silver badges9 bronze badges










          • 1





            aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

            – A.B.
            Jul 1 '15 at 18:28











          • could you add some detail on parsing the output?

            – Elder Geek
            Jul 2 '15 at 1:54











          • Is '?obsolete' different from '~o'?

            – Sean
            Jul 2 '15 at 18:20











          • @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

            – Demis Palma ツ
            Jul 2 '15 at 23:00











          • The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

            – Sean
            Jul 3 '15 at 19:29












          • 1





            aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

            – A.B.
            Jul 1 '15 at 18:28











          • could you add some detail on parsing the output?

            – Elder Geek
            Jul 2 '15 at 1:54











          • Is '?obsolete' different from '~o'?

            – Sean
            Jul 2 '15 at 18:20











          • @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

            – Demis Palma ツ
            Jul 2 '15 at 23:00











          • The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

            – Sean
            Jul 3 '15 at 19:29







          1




          1





          aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

          – A.B.
          Jul 1 '15 at 18:28





          aptitude search ?obsolete may work in bash, but you should use aptitude search '?obsolete'

          – A.B.
          Jul 1 '15 at 18:28













          could you add some detail on parsing the output?

          – Elder Geek
          Jul 2 '15 at 1:54





          could you add some detail on parsing the output?

          – Elder Geek
          Jul 2 '15 at 1:54













          Is '?obsolete' different from '~o'?

          – Sean
          Jul 2 '15 at 18:20





          Is '?obsolete' different from '~o'?

          – Sean
          Jul 2 '15 at 18:20













          @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

          – Demis Palma ツ
          Jul 2 '15 at 23:00





          @Sean No, they are not different. ~o is the short form for ?obsolete indeed.

          – Demis Palma ツ
          Jul 2 '15 at 23:00













          The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

          – Sean
          Jul 3 '15 at 19:29





          The quotes are parsed out by the shell. I think what A.B. meant is that you shouldn't pass weird character unescaped on the command line because you don't know what your shell is going to do with them.

          – Sean
          Jul 3 '15 at 19:29











          2



















          You could use the following Bash one-liner:



          comm -23 <(dpkg-query -W -f '$db:Status-Abbrevt$Packagen' | grep '^.[^nc]' | cut -f2 | sort) <(apt-cache dumpavail | sed -rn 's/^Package: (.*)/1/p' | sort -u)


          No need to install extra packages for this, plus this is relatively fast. This will also find partially installed packages (but will not find those that have only configuration files remaining; that could be changed easily, though). Note: this does not care of which architecture the packages are.



          Even faster is to use modern apt:



           apt list --installed | awk -F/ '/[installed,local]/print $1'


          Yet another option is to run



          ubuntu-support-status --show-unsupported


          and read the obsolete package names under "No longer downloadable:" section.






          share|improve this answer



























          • ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

            – TamusJRoyce
            Sep 18 at 15:08






          • 1





            @TamusJRoyce, yes, I suppose so now after editing.

            – jarno
            Sep 18 at 16:18











          • I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

            – jarno
            Sep 19 at 9:47
















          2



















          You could use the following Bash one-liner:



          comm -23 <(dpkg-query -W -f '$db:Status-Abbrevt$Packagen' | grep '^.[^nc]' | cut -f2 | sort) <(apt-cache dumpavail | sed -rn 's/^Package: (.*)/1/p' | sort -u)


          No need to install extra packages for this, plus this is relatively fast. This will also find partially installed packages (but will not find those that have only configuration files remaining; that could be changed easily, though). Note: this does not care of which architecture the packages are.



          Even faster is to use modern apt:



           apt list --installed | awk -F/ '/[installed,local]/print $1'


          Yet another option is to run



          ubuntu-support-status --show-unsupported


          and read the obsolete package names under "No longer downloadable:" section.






          share|improve this answer



























          • ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

            – TamusJRoyce
            Sep 18 at 15:08






          • 1





            @TamusJRoyce, yes, I suppose so now after editing.

            – jarno
            Sep 18 at 16:18











          • I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

            – jarno
            Sep 19 at 9:47














          2















          2











          2









          You could use the following Bash one-liner:



          comm -23 <(dpkg-query -W -f '$db:Status-Abbrevt$Packagen' | grep '^.[^nc]' | cut -f2 | sort) <(apt-cache dumpavail | sed -rn 's/^Package: (.*)/1/p' | sort -u)


          No need to install extra packages for this, plus this is relatively fast. This will also find partially installed packages (but will not find those that have only configuration files remaining; that could be changed easily, though). Note: this does not care of which architecture the packages are.



          Even faster is to use modern apt:



           apt list --installed | awk -F/ '/[installed,local]/print $1'


          Yet another option is to run



          ubuntu-support-status --show-unsupported


          and read the obsolete package names under "No longer downloadable:" section.






          share|improve this answer
















          You could use the following Bash one-liner:



          comm -23 <(dpkg-query -W -f '$db:Status-Abbrevt$Packagen' | grep '^.[^nc]' | cut -f2 | sort) <(apt-cache dumpavail | sed -rn 's/^Package: (.*)/1/p' | sort -u)


          No need to install extra packages for this, plus this is relatively fast. This will also find partially installed packages (but will not find those that have only configuration files remaining; that could be changed easily, though). Note: this does not care of which architecture the packages are.



          Even faster is to use modern apt:



           apt list --installed | awk -F/ '/[installed,local]/print $1'


          Yet another option is to run



          ubuntu-support-status --show-unsupported


          and read the obsolete package names under "No longer downloadable:" section.







          share|improve this answer















          share|improve this answer




          share|improve this answer








          edited Sep 19 at 20:29

























          answered Sep 17 at 22:32









          jarnojarno

          2,9453 gold badges24 silver badges54 bronze badges




          2,9453 gold badges24 silver badges54 bronze badges















          • ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

            – TamusJRoyce
            Sep 18 at 15:08






          • 1





            @TamusJRoyce, yes, I suppose so now after editing.

            – jarno
            Sep 18 at 16:18











          • I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

            – jarno
            Sep 19 at 9:47


















          • ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

            – TamusJRoyce
            Sep 18 at 15:08






          • 1





            @TamusJRoyce, yes, I suppose so now after editing.

            – jarno
            Sep 18 at 16:18











          • I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

            – jarno
            Sep 19 at 9:47

















          ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

          – TamusJRoyce
          Sep 18 at 15:08





          ‘apt list --manual-installed | grep -v cosmic‘ shows false positives. This answer is much better!

          – TamusJRoyce
          Sep 18 at 15:08




          1




          1





          @TamusJRoyce, yes, I suppose so now after editing.

          – jarno
          Sep 18 at 16:18





          @TamusJRoyce, yes, I suppose so now after editing.

          – jarno
          Sep 18 at 16:18













          I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

          – jarno
          Sep 19 at 9:47






          I made a request for feature of apt that would make getting the list easy here; you may mark that the bug affects you.

          – jarno
          Sep 19 at 9:47












          1



















          More info to investigate.




          ubuntu-support-status
          echo "$(sudo apt-mark showmanual | wc -l) packages marked as 'manually installed'."


          ... ubuntu-support-status and apt-mark may require installation.






          share|improve this answer

























          • No need to use sudo with apt-mark showmanual.

            – jarno
            Sep 18 at 16:20











          • ubuntu-support-status lists the number of obsolete packages, but not the package names.

            – jarno
            Sep 18 at 16:47






          • 1





            Read the output of ubuntu-support-status --help

            – Hannu
            Sep 19 at 17:16












          • Oh, thanks for the hint.

            – jarno
            Sep 20 at 5:26















          1



















          More info to investigate.




          ubuntu-support-status
          echo "$(sudo apt-mark showmanual | wc -l) packages marked as 'manually installed'."


          ... ubuntu-support-status and apt-mark may require installation.






          share|improve this answer

























          • No need to use sudo with apt-mark showmanual.

            – jarno
            Sep 18 at 16:20











          • ubuntu-support-status lists the number of obsolete packages, but not the package names.

            – jarno
            Sep 18 at 16:47






          • 1





            Read the output of ubuntu-support-status --help

            – Hannu
            Sep 19 at 17:16












          • Oh, thanks for the hint.

            – jarno
            Sep 20 at 5:26













          1















          1











          1









          More info to investigate.




          ubuntu-support-status
          echo "$(sudo apt-mark showmanual | wc -l) packages marked as 'manually installed'."


          ... ubuntu-support-status and apt-mark may require installation.






          share|improve this answer














          More info to investigate.




          ubuntu-support-status
          echo "$(sudo apt-mark showmanual | wc -l) packages marked as 'manually installed'."


          ... ubuntu-support-status and apt-mark may require installation.







          share|improve this answer













          share|improve this answer




          share|improve this answer










          answered Dec 15 '18 at 18:08









          HannuHannu

          2,93116 silver badges31 bronze badges




          2,93116 silver badges31 bronze badges















          • No need to use sudo with apt-mark showmanual.

            – jarno
            Sep 18 at 16:20











          • ubuntu-support-status lists the number of obsolete packages, but not the package names.

            – jarno
            Sep 18 at 16:47






          • 1





            Read the output of ubuntu-support-status --help

            – Hannu
            Sep 19 at 17:16












          • Oh, thanks for the hint.

            – jarno
            Sep 20 at 5:26

















          • No need to use sudo with apt-mark showmanual.

            – jarno
            Sep 18 at 16:20











          • ubuntu-support-status lists the number of obsolete packages, but not the package names.

            – jarno
            Sep 18 at 16:47






          • 1





            Read the output of ubuntu-support-status --help

            – Hannu
            Sep 19 at 17:16












          • Oh, thanks for the hint.

            – jarno
            Sep 20 at 5:26
















          No need to use sudo with apt-mark showmanual.

          – jarno
          Sep 18 at 16:20





          No need to use sudo with apt-mark showmanual.

          – jarno
          Sep 18 at 16:20













          ubuntu-support-status lists the number of obsolete packages, but not the package names.

          – jarno
          Sep 18 at 16:47





          ubuntu-support-status lists the number of obsolete packages, but not the package names.

          – jarno
          Sep 18 at 16:47




          1




          1





          Read the output of ubuntu-support-status --help

          – Hannu
          Sep 19 at 17:16






          Read the output of ubuntu-support-status --help

          – Hannu
          Sep 19 at 17:16














          Oh, thanks for the hint.

          – jarno
          Sep 20 at 5:26





          Oh, thanks for the hint.

          – jarno
          Sep 20 at 5:26











          0



















          There may be a cleaner way, but off the top of my head you can do





          dpkg -l | cut -f 3 -d ' ' > installed
          xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
          diff installed available


          Cleanup the first few lines of the installed file: it will have headers.



          Bonus if anyone can fix my syntax highlighting...






          share|improve this answer




















          • 2





            if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

            – stew
            Jan 24 '12 at 19:46






          • 1





            also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

            – stew
            Jan 24 '12 at 19:54







          • 1





            @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

            – Jeff Ferland
            Jan 24 '12 at 19:59











          • @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

            – jarno
            Sep 18 at 5:32











          • Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

            – jarno
            Sep 18 at 16:56















          0



















          There may be a cleaner way, but off the top of my head you can do





          dpkg -l | cut -f 3 -d ' ' > installed
          xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
          diff installed available


          Cleanup the first few lines of the installed file: it will have headers.



          Bonus if anyone can fix my syntax highlighting...






          share|improve this answer




















          • 2





            if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

            – stew
            Jan 24 '12 at 19:46






          • 1





            also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

            – stew
            Jan 24 '12 at 19:54







          • 1





            @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

            – Jeff Ferland
            Jan 24 '12 at 19:59











          • @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

            – jarno
            Sep 18 at 5:32











          • Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

            – jarno
            Sep 18 at 16:56













          0















          0











          0









          There may be a cleaner way, but off the top of my head you can do





          dpkg -l | cut -f 3 -d ' ' > installed
          xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
          diff installed available


          Cleanup the first few lines of the installed file: it will have headers.



          Bonus if anyone can fix my syntax highlighting...






          share|improve this answer














          There may be a cleaner way, but off the top of my head you can do





          dpkg -l | cut -f 3 -d ' ' > installed
          xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
          diff installed available


          Cleanup the first few lines of the installed file: it will have headers.



          Bonus if anyone can fix my syntax highlighting...







          share|improve this answer













          share|improve this answer




          share|improve this answer










          answered Jan 24 '12 at 19:30









          Jeff FerlandJeff Ferland

          1484 bronze badges




          1484 bronze badges










          • 2





            if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

            – stew
            Jan 24 '12 at 19:46






          • 1





            also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

            – stew
            Jan 24 '12 at 19:54







          • 1





            @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

            – Jeff Ferland
            Jan 24 '12 at 19:59











          • @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

            – jarno
            Sep 18 at 5:32











          • Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

            – jarno
            Sep 18 at 16:56












          • 2





            if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

            – stew
            Jan 24 '12 at 19:46






          • 1





            also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

            – stew
            Jan 24 '12 at 19:54







          • 1





            @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

            – Jeff Ferland
            Jan 24 '12 at 19:59











          • @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

            – jarno
            Sep 18 at 5:32











          • Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

            – jarno
            Sep 18 at 16:56







          2




          2





          if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

          – stew
          Jan 24 '12 at 19:46





          if you are going to use the output of dpkg -l to get a list of installed packages, you should limit the results to lines with 'i' in the second column, as dpkg will also list packages which are not installed (perhaps removed but not purged). as an example, altering your first command to be dpkg -l | grep '^.[^i]' | cut -f 3 -d ' ' it would return a list of packages, which are NOT installed. (but once were)

          – stew
          Jan 24 '12 at 19:46




          1




          1





          also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

          – stew
          Jan 24 '12 at 19:54






          also, apt-cache search someinstalledpackage will return something even if the package isn't available from a repo, so I don't believe this will work at all.

          – stew
          Jan 24 '12 at 19:54





          1




          1





          @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

          – Jeff Ferland
          Jan 24 '12 at 19:59





          @stew I'll leave this up here to see if anybody reaches conclusions, but your answer is definitely far better. +1 to you.

          – Jeff Ferland
          Jan 24 '12 at 19:59













          @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

          – jarno
          Sep 18 at 5:32





          @stew dpkg -l | grep '^.[^i]' | cut -f 3 -d ' 'also prints some header lines.

          – jarno
          Sep 18 at 5:32













          Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

          – jarno
          Sep 18 at 16:56





          Even if this answer worked, it would be very slow as it would run apt-cache search for each package separately.

          – jarno
          Sep 18 at 16:56











          0



















          As mentioned apt-get search is not a good method to check if a package is still available. Additional I've added everything to just one line:



          for i in `dpkg -l | grep '^i' | awk ' print $2 '`; do apt-cache show $i > /dev/null || echo $i; done





          share|improve this answer

























          • And why grep '^i'

            – A.B.
            Sep 22 '15 at 11:24











          • @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

            – jarno
            Sep 17 at 10:26












          • This is very slow

            – jarno
            Sep 17 at 11:42











          • apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

            – jarno
            Sep 21 at 10:18















          0



















          As mentioned apt-get search is not a good method to check if a package is still available. Additional I've added everything to just one line:



          for i in `dpkg -l | grep '^i' | awk ' print $2 '`; do apt-cache show $i > /dev/null || echo $i; done





          share|improve this answer

























          • And why grep '^i'

            – A.B.
            Sep 22 '15 at 11:24











          • @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

            – jarno
            Sep 17 at 10:26












          • This is very slow

            – jarno
            Sep 17 at 11:42











          • apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

            – jarno
            Sep 21 at 10:18













          0















          0











          0









          As mentioned apt-get search is not a good method to check if a package is still available. Additional I've added everything to just one line:



          for i in `dpkg -l | grep '^i' | awk ' print $2 '`; do apt-cache show $i > /dev/null || echo $i; done





          share|improve this answer














          As mentioned apt-get search is not a good method to check if a package is still available. Additional I've added everything to just one line:



          for i in `dpkg -l | grep '^i' | awk ' print $2 '`; do apt-cache show $i > /dev/null || echo $i; done






          share|improve this answer













          share|improve this answer




          share|improve this answer










          answered Sep 22 '15 at 10:25









          wofwof

          91 bronze badge




          91 bronze badge















          • And why grep '^i'

            – A.B.
            Sep 22 '15 at 11:24











          • @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

            – jarno
            Sep 17 at 10:26












          • This is very slow

            – jarno
            Sep 17 at 11:42











          • apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

            – jarno
            Sep 21 at 10:18

















          • And why grep '^i'

            – A.B.
            Sep 22 '15 at 11:24











          • @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

            – jarno
            Sep 17 at 10:26












          • This is very slow

            – jarno
            Sep 17 at 11:42











          • apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

            – jarno
            Sep 21 at 10:18
















          And why grep '^i'

          – A.B.
          Sep 22 '15 at 11:24





          And why grep '^i'

          – A.B.
          Sep 22 '15 at 11:24













          @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

          – jarno
          Sep 17 at 10:26






          @A.B. good point; that does not tell, if the package is installed, but that the package's desired action is to be installed. See man dpkg-query for more information.

          – jarno
          Sep 17 at 10:26














          This is very slow

          – jarno
          Sep 17 at 11:42





          This is very slow

          – jarno
          Sep 17 at 11:42













          apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

          – jarno
          Sep 21 at 10:18





          apt-cache show does is neither good for checking if the package is availabe. If you disable the respective repository, and no other enabled repository has it, it still shows the package.

          – jarno
          Sep 21 at 10:18


















          draft saved

          draft discarded















































          Thanks for contributing an answer to Ask Ubuntu!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f98223%2fhow-do-i-get-a-list-of-obsolete-packages%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown









          Popular posts from this blog

          Tamil (spriik) Luke uk diar | Nawigatjuun

          Align equal signs while including text over equalitiesAMS align: left aligned text/math plus multicolumn alignmentMultiple alignmentsAligning equations in multiple placesNumbering and aligning an equation with multiple columnsHow to align one equation with another multline equationUsing \ in environments inside the begintabularxNumber equations and preserving alignment of equal signsHow can I align equations to the left and to the right?Double equation alignment problem within align enviromentAligned within align: Why are they right-aligned?

          Training a classifier when some of the features are unknownWhy does Gradient Boosting regression predict negative values when there are no negative y-values in my training set?How to improve an existing (trained) classifier?What is effect when I set up some self defined predisctor variables?Why Matlab neural network classification returns decimal values on prediction dataset?Fitting and transforming text data in training, testing, and validation setsHow to quantify the performance of the classifier (multi-class SVM) using the test data?How do I control for some patients providing multiple samples in my training data?Training and Test setTraining a convolutional neural network for image denoising in MatlabShouldn't an autoencoder with #(neurons in hidden layer) = #(neurons in input layer) be “perfect”?