I want to have a list of all packages that are installed on my server but the command dpkg --get-selections > ~/Package.list doesnt do anything! When i execute it there is no file called "package.list" in the root folder.

Please help me its urgent.

  • 1
    Unix, and Linux, has case-sensitive file systems. Package.list is not the same file as package.list. – Reinier Post Jul 17 '16 at 17:27

You have to run the same command (there's no need to run it as root)

dpkg --get-selections > ~/InstalledPackages.list

Then you can

cat ~/InstalledPackages.list

to see the content.

Now, if you are not sure how's ~ been processed, you can

cd ~

And that's it.

  • Well if i execute cat InstalledPackages.list i can see the file but with filezilla i am unable to find i want to export it to my pc – user180429 Aug 1 '13 at 11:09
  • I mean no disrespect, but maybe you're looking in the wrong directory. Try cd ~ and then pwd, just to make sure you're working in the right directory. If you're pointing FileZilla to the right directory and the file isn't there, then you must check permissions for your file and the parent directory. Easy way, move it to /tmp/ – 0R10N Aug 1 '13 at 11:18
  • alright i found it now thanks for the help! – user180429 Aug 1 '13 at 11:19
  • Glad to help :) – 0R10N Aug 1 '13 at 11:27
  • Is it safe to edit this Package.list? The reason is that I need to restore all packages on my fresh Ubuntu, but I am suspicious that some among these packages broke my system in the first place. Can I somehow edit them out? – Heisenberg Nov 18 '13 at 4:54

Use dpkg-query, this command is precisely intended to what you need: request on packages data‑base. A quick man dpkg-query will tell you more, however, you may try dpkg-query --list or dpkg-query -- show.


You said you've looked in the root folder, but with the "~" you are clearly pointing to the home folder. The root would be /Package.list, or -/Package.list. Check in the home folder.

EDIT: As I can see now, even though my answer was correct, it might have been unclear to a fresh user. I'm sorry for introducing additional confusion. @0R10N thanks for good example :)


If you would like to get the versions of some installed packages, you can pipe commands like this:

dpkg --get-selections | awk '/php/{print $1}' | xargs dpkg-query --show $1

your output would look like the following:

libapache2-mod-php5     5.3.2-1ubuntu4.29
php5-cli        5.3.2-1ubuntu4.29
php5-common     5.3.2-1ubuntu4.29
php5-gd 5.3.2-1ubuntu4.29
php5-mcrypt     5.3.2-0ubuntu1
php5-mysql      5.3.2-1ubuntu4.29
php5-xsl        5.3.2-1ubuntu4.29
phpmyadmin      4:3.3.2-1ubuntu1

What's with these answers lol all this question is asking is a simple dpkg output list,

 dpkg --list | less

 dpkg -l | more 

 dpkg-query -l | tail

 dpkg-query --list | head

 diff <(ps aux| grep x) <(pgrep x)

 apt-file list "package"

try this, may work, it work for me.

dpkg -l

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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