7

How do I see a list of packages I manually (really manually, as in I typed them in) installed?

I want to exclude packages that were installed as a result of being dependencies of other packages that I manually typed in.

For example, if I ran the command:

sudo apt-get install mysql-server

and as a result mysql-common was installed, I want to only see mysql-server in the list and not mysql-common.

I've searched for an answer and found many that were close but not exactly what I want.

Jorge Castro
  • 71,754

3 Answers3

17

It's much better to use apt-mark tool:

apt-mark showmanual

This is exactly what you want. You also can mark packages as manually installed or not and hold the packages on fixed versions.

Aleksei
  • 271
  • 2
  • 3
8

That do what you want:

cat /var/log/apt/history.log | grep -E 'apt(-get)? install '
rofrol
  • 210
  • 2
  • 9
wojox
  • 11,362
  • That's a very clever answer. The only flaw is the history is limited because of log rotation. This solution would be more robust if you went into the archived logs and pulled out those log entries as well. That being said, your idea sounds great. Thanks. –  Oct 04 '12 at 00:30
  • To accommodate log rotation you can search old log files too. Use $ zcat /var/log/apt/history.log.*.gz | grep 'apt-get install' – kaapstorm Nov 16 '13 at 17:12
  • zcat /var/log/apt/history.log.*.gz | grep 'apt-get install' did give me a list of things I installed but surely not the whole list. – To Do Apr 18 '14 at 08:43
  • Or, if you use apt to install things: cat /var/log/apt/history.log | grep 'apt install ' – nnyby Mar 22 '16 at 17:02
0

I've built a script using the idea of wojox. It creates file in your home directory with all packages in it.

https://github.com/PaperMountainStudio/list-manually-installed-packages

FK-VH
  • 188