Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I get the list of all packages installed on my Debian system (I know this one is easy)? And also a list of all packages marked as manual? I am thinking about system upgrade, but I can't remember all these things I installed over the years :)

share|improve this question
up vote 9 down vote accepted

Getting the list of installed packages is simple:

dpkg --get-selections | grep "[[:space:]]install$" >  installed_pkgs

You can later reinstall the packages in the list using this command:

dpkg --set-selections < installed_pkgs
sudo apt-get -u dselect-upgrade

If you've used aptitude exclusively to manually install packages, it is very easy to get a nice list of manually installed packages. Otherwise, this list will include both packages you installed, and their dependencies.

In either case, read through this article and comments for a coherent solution to generating the list of manually installed packages: Cleaning up a Debian GNU/Linux system.

You might find deborphan and debfoster of help in maintaining this list in future.

share|improve this answer
deborphan among other things returns diff and other essential packages though - so I wouldn't really recommend using it. – Grzenio Nov 13 '09 at 8:02
dpkg -l

to list all installed packages.

share|improve this answer

Here's how I would do it. As root, run the following:

dpkg --get-selections | sed 's/\t.*//' > packages-list.txt

This will produce a nice, clean list of installed packages, perfect for using with apt-get install.

Or a crude way to get a list of the packages you have manually installed with aptitude you can grep the logs with something like

zcat /var/log/aptitude.* | grep INSTALL] && cat /var/log/aptitude| grep INSTALL]

(But beware, installs with aot-get or dpkg will not get recorded here, plus logrotate might have archived part of the log, which this method will not pick up!)

share|improve this answer

dpkg -l will list installed packages, as suggested.

I suggest to use upgrade-system for package upgrade, as it (wrapping deborphan) will purge away old un-needed packages too. This takes your system reasonably both up-to-date and clean.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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