How to get a full, complete list of installed apps

Asked by Bruce MacAlister

How do I get a full, complete list of installed apps? I have used Ubuntu Software Center, Software Sources and Synaptic Package Manager. Each gives most but not all the installed apps (software). I have also seen some terminal commands that give a few. Is there anything like the Windows and OSX GUI programs the let you view, add, or remove apps? Is there a directory-folder like Windows Program Files or OSX Applications Folder? Of course I then need to know how to add or remove them. I did terminal commands DOS in the 1980s and Unix in the 1990s, so if there's a modern GUI way to do it, please tell me what it is. BTW, I'm reading through Richard Peterson's e-book "Ubuntu 12.04 Desktop" where he describes several ways to deal with software. It's all very confusing.

Question information

English Edit question
Ubuntu unity Edit question
No assignee Edit question
Solved by:
Bruce MacAlister
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :

dpkg -l | grep ^ii | awk {'print $2'} | tee ~/Desktop/packages.txt

Quite simple really

Revision history for this message
Bruce MacAlister (w4bru) said :

Do I understand that there is no GUI way to do it, that only command line will do it? (This command string is not one of those things I will remeber a few months from now when I need to find my software installs.)

Revision history for this message
actionparsnip (andrew-woodhead666) said :

This is one way. Its fast and efficient. This post will last for as long as Launchpad is around so you can refer back to it later. Or make an alias or bash script with the command. If you actually look at the command you can use knowledge to reform the command yourself at a later date.

Revision history for this message
Manfred Hampl (m-hampl) said :

Software-Center and Synaptic package manager definitely show all packages, that are installed with the package management tools (i.e. that are delivered as .deb packages).
If you add a program by just copying the executable file somewhere, then you will not see it in these applications or a dpkg list.

This is not different from Windows, where the system settings - programs dialogue also is showing only those programs that were installed with the Windows installer program (and not some executable file that you have just copied somewhere).

What application do you have installed on your system, that you do not see listed with software center or synaptic?

Revision history for this message
Bruce MacAlister (w4bru) said :

Manfred thanks for offering your help. My objective is simple. As I tried to understand how Linux-Ubuntu works, I installed software on my first Ubuntu machine. Some of them did not work and I cannot figure out how to find them and how to remove them. The odd names so popular with Linux software makes this quite challenging. And their are all the corequisited packages that get installed in the process, unknown to me.

Basically I want to clean up this machine and not get myself into a mess with my new Ubuntu machine.

I have tried to use the Ubuntu Software Center to install everything. But there are some things it does not support. LibreOffice (LO) 4.1 with features I need is a example. I had to use the LO installation process to install 4.1 The Software Center supports only an out of date version of Chirp that does not support my radios so I had to use Chirp's instructions to install an up to date version. There are lots of standard amateur radio software that the Software Center does not support or only in an old version. I am now struggling with a Brother printer driver issue. All require the use of the antiquainted terminal command level interface. Some seem to require an unclear (to me) compile-and-link process that often did not to work.

My questions:
1. How do I track down what's installed and remove those unneeded and cluttering up my system?
2. Is there a way to install software not supported by the Ubuntu Software Center and keep track of what I installed?
3. Is there a way to find and then remove software not installed through the Ubuntu Software Center?
4. What is the best source of understanding about what is going on and instructions on installation and removal? (I bought the e-book on Ubuntu by Richard Peterson. I found it decriptive but not instructive.)

Revision history for this message
Manfred Hampl (m-hampl) said :

Congratulations, you are one of the rare persons able to express their problems and questions in a way that they are easy to understand and precisely formulated.

With your questions you are hitting a general problem in software installation - independent from using Ubuntu. It is about keeping an inventory of what files are there on a system.

Ubuntu is using Debian's method of packaging applications together for installation. The package management system keeps track of all (Debian-format) packages that are installed, including a list of all files belonging to these packages.
Software-center, synaptic, apt and dpkg use that inventory and can display a list of all packages that are installed.

For installing additional software the package management programs (software-center, synaptic and apt-get) check the configured sources for availability of packages.

If you now want to install software, you generally have the following options:
1. The software is available in the required version in the software sources selected by you -> just install with software-center etc., and the program will then also be listed as installed in software-center and synaptic
2. The software is not available in the standard sources, or not in the version required:
a. If you are able to find a repository in Debian's format with that software, you can add that repository to your list of software sources, and then you can restart with option 1 above. Examples for such additional software sources are PPAs (personal package archives).
b. If you find the software that you want to install in .deb format somewhere to download, you can install the software with "sudo dpkg -i packagefile.deb" or gdebi. Also in this case the package will then be listed in the package management programs as installed. Examples for software delivered as .deb files are some printer drivers.
c. If software is not available in .deb format, you cannot use the package management programs for installing, but you have to use the installer script that is delivered with that software. The package management system will then not be aware of this software, and consequently will not show it in the list of installed packages. Whilst deinstalling an installed Debian package is just a few key clicks in a package management program, there is no general instruction possible how to remove a program that has been installed manually. This very much depends on what the supplier has provided.

So back to your questions:

1. The package management system will list all installed Debian packages, but not any program installed manually.
If you issue a command to start a program, the system searches the directories listed in the PATH variable, whether it finds a file that is marked as executable in one of the directories.
You might search the directories in your path for executable files and cross check that against the files known by the package management programs. The remaining executables most probably then stem from manual installations.

2. You have to keep record about manually installed software yourself, the package management system will not do that. So the preferred way of software installation is always to find a .deb file.

3. see also item 1. above for hints how to find the executable files. For removing the manually installed software you have to refer to the respective suppliers, whether they have prepared instructions (or a script) for deinstallation.

4. (no idea).

The whole case is very similar to the problem that in Windows the system settings - programs dialogue also is showing only those programs that were installed with the Windows installer program, and not some executable file that you have just downloaded into a directory to be started with a doubleclick.

One more detail for the programs listed by you: For both libreoffice and chirp there are PPAs with quite current versions available on Launchpad that should make it easy to get that software installed in a way that the package management programs know about them.

Revision history for this message
Bruce MacAlister (w4bru) said :

Thank you Manfred. It seems I may have to install what I have on this machine on the new one using the how-to guidance you gave. The I'll have to wipe this machine clean and then reinstall Ubuntu and the software I need. It sounds like a job of several nights.

"apt and dpkg" are terms I have seen but know little about. I'll research the syntax and see if I can figure out how to use them. "PATH" is new to me so I will look that one .up as well.

I am still puzzled by the heavy dependence on the old command (terminal) interface by Ubuntu. That has virtually disappeared from Windows and Mac. I have use them on Windows only on tracing very difficult to diagnose network problems. It is like saying Assembler is the only language to program in. I loved Assembler but it is very unproductive and easy to forget how to code if you do not do it every day. It is fit only for device drivers.

Enough of my frustration and disappointment with Ubuntu. It performs well and is pretty clean so I will finish my conversion to it. Having support from folk like you makes it possible. Without that support I would have given up months ago and bought a Mac or (choke) a Win 8 machine.