18

I want to have a list of all packages that are installed on my server, but the command

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

doesn't do anything! When I execute it there is no file called "package.list" in the root folder.

6 Answers6

22

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 ~
pwd

And that's it.

0R10N
  • 2,126
11

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.

Hibou57
  • 1,205
7

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"
3

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 :)

denuviel
  • 119
3

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
muru
  • 207,228
bigboy1
  • 31
1

try this, may work, it work for me.

dpkg -l
Yahya
  • 166