I would like to know what causes Ubuntu and/or Synaptic to recognize a program as being installed.

  • Is there an equivalent of the Windows registry that an application has to have a entry in?
  • Does a program have to be installed from a .*deb package to be classified as installed and show up in Synaptic?
  • And where are files for an installed program usually kept? I know that configuration files are kept in /home/x/ but not much else.

1 Answer 1


dpkg, through apt or aptitude keeps a database of the installed software in /var/lib/dpkg/status.

You can learn more about this here.

My response is based on a response given in this forum discussion.

As @psusi pointed out, because apt and aptitude are merely front-ends to dpkg, it is actually dpkg that keeps track of packaging.

  • 2nd link (techbu) is broken.
    – josircg
    Commented May 12, 2015 at 21:48
  • APT is indeed a front-end to dpkg, but also adds a huge amount of functionality, such as the ability to connect to repositories and check for updated packages, to maintain a list of available packages etc. If all we had was dpkg we'd all be downloading our own .deb files and installing them manually, along with all their dependencies. That said, it is indeed dpkg that maintains the list of installed packages. APT is the layer on top of it that maintains the list of available packages and allows for their installation and dependency resolution. Commented May 14, 2015 at 1:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .