From my understanding there are four ways to install packages:

  1. Build from source and install
  2. Install binary
  3. Install a deb file
  4. Install from repository

Are packages installed using all methods updated when running sudo apt-get update; sudo apt-get upgrade -y;?

My understanding is that this process only updates packages installed from repositories. Could a binary or source code installation have code in the installer to let the package manager know where to get future updates? Would this mean that the package manager can update binary / build from source installations too?

  • You forgot installation from a .deb package not in the repositories. I don't see how the manager would know anything about updates for binary or source built installations. It's my understanding that updates are discovered via querying the sources in your sources.lst (as in sudo apt update – Elder Geek Sep 17 '16 at 14:45
  • As long as it abides by Lintian rules it is possible lintian.debian.org Mind the "policy violations" though. That means even though it might be possible technically that it might not be acceptable from a security or a philosophical view. Video card drivers are 3rd party binaries the system will update when there are updates. – Rinzwind Sep 17 '16 at 15:44

In short, Your understanding is correct. Package managers only update those applications that

  1. come as a debian package,
  2. have a repository configured and
  3. the repository is still alive or active.

By package managers I'm referring to apt (or apt-get), aptitude, Synaptic package manager, Software Center etc.

To specifically answer your question -

  1. Build from source and install

Update requires re-building from source and reinstalling the application. Debian package managers have no knowledge of these applications. They don't get update by them.

There are debian-source packages that can be fetched from repositories through package managers like apt-get source and compiled to debian package. These are fetched and then built to produce a .deb file. Then those debian packages can be installed. They will get update if fulfilled the condition for a manually installed .deb file.

  1. Install a binary

I'm assuming, by this, you are referring to just copying some binary programs in your system to use. Like how rclone application is installed. Package managers have no knowledge of these applications and can't be updated using them.

  1. Install a deb file.

The conditions from the short answer apply here. If you install a deb file manually for which a repository is configured, these package can be updated through package managers. For example, if you had an already downloaded google-chrome .deb file and you installed it manually using dpkg and you have google chrome repository configured, then this package will get update, provided that other conditions are satisfied.

  1. Install from repository

This is very obvious. If the repository is alive these will get updates from package managers.

If you remove all repository sources, package managers would be unable to even update most core packages!

See apt-get manual page for details.

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.