Translation(s): English - Français - Italiano - 日本語(Nihongo)

(!) ?Discussion

This page is about the ways to list the installed packages in a Debian system and how to create a file with this list. This file can be uploaded to the web (i.e. from other computer with Internet connection) to download new packages.

List all packages installed

With version and architecture information, and description, in a table:

dpkg-query -l

Package names only, one per line:

dpkg --get-selections | cut -f 1

List packages using a search pattern

It is possible to add a search pattern to list packages:

dpkg-query -l 'foo*'

Show status of all packages on the system

To check the status of all packages on your system:

dpkg -l | more

This will show all packages (1 line each) that are in various stages of install (this includes packages that were removed but not purged). To show only the installed:

dpkg -l | grep '^i'

to filter through grep to get results for "i"

You can also use:

apt-cache pkgnames

You can if you are using Debian Linux use dpkg command to list installed software:

dpkg --get-selections

And store the list installed software to a file called /backup/installed-software.log

dpkg --get-selections > /backup/installed-software.log

You can also find package information in the next directories (you can use mc or other FileManager to browse them):

Restore installed software

After re-installing base system you can immediately re-install all software. You need dselect:

apt-get install dselect

Then you have to type following commands:

dpkg --get-selections > /backup/installed-software.log
dpkg --set-selections < /backup/installed-software.log

Now your list is imported use apt-get, Synaptic or other PackageManagement tools. To install the package:

apt-get dselect-upgrade

All this with a single command:

aptitude install $(cat /backup/installed-software.log | awk '{print $1}')

See also