-   Linux - Newbie (
-   -   Understanding software, updates and repositories. (

elsmandino 04-26-2017 08:19 AM

Understanding software, updates and repositories.

Can anyone perhaps given me a bit of information on how Linux deals with software and updates etc. please?

I have read as much as I could on the subject and have become a bit confused.

As far as I can tell, distros come with standard repositories of hardware.

Therefore, if software is part of this repository, you can install it via


sudo apt-get install x
Once it is installed,


sudo apt-get update
will update the repository, indicating whether there are version of security updates are available.


sudo apt-get upgrade
will then apply these changes.

PPAs are non-official repositories that can be added, to offer additional software. Once installed, this additional software can also be updated via the update/upgrade commands.

Is all this correct so far?

If so, I have a few further questions:

1. I note that there is an additional way of installing software - via a binary package that you can download and install (similar to Windows). If I install software in this way, does it automatically get added to the repository list so the software can automatically be kept up-to-date?

2. When adding, repositories, I note that there tends to be a repository address that gets added to the repository list and also a key.

Examples if two programs that I am interested in but not in my official Debian repository:

TVHeadend -


Emby -

Am I correct in thinking, therefore, that:


echo "deb xenial stable-4.2" | sudo tee -a /etc/apt/sources.list


echo 'deb /' > /etc/apt/sources.list.d/emby-server.list
are the processes that are adding the additional repositories to my repository list and that


sudo apt-key adv --keyserver hkp:// --recv-keys 379CE192D401AB61


wget -nv -O Release.key
apt-key add - < Release.key

are two different methods of installing keys that ensure that only valid updates are made to the software?

hydrurga 04-26-2017 08:39 AM

Hi, elsmandino.

Your question is a bit complex (many questions in one), so I'll just answer one of them.

Firstly, all your comments refer to the Dpkg/APT package management system used by Debian and its derivatives (such as Ubuntu and Mint). There are other package management systems out there, such as RPM, used by other systems.

Have a read of this, you might find it useful:

For APT, to update your system's package database so that it knows which packages are available in the various repositories, you run:


sudo apt-get update
Then, you can either upgrade all packages that have newer versions with:


sudo apt-get upgrade
or install/upgrade a specific package with


sudo apt-get install package

jsbjsb001 04-26-2017 08:49 AM


hydrurga 04-26-2017 09:02 AM


Originally Posted by jsbjsb001 (Post 5702419)
Adding to what hydrurga has said, basically if it was not for software repositories, you would have to compile everything yourself, which would be difficult for people new to Linux, to do. Have a look at the following links for more info;

This isn't quite true.

Repositories basically provide a means of collecting packages together and allowing, in a secure manner, the installation of software (and dependencies) from the repository and the upgrading of software to newer versions held in the repository.

The alternative isn't only self-compilation. For example, you can download a package manually and install it. You can download a standalone (portable) program and run it. You can download software with its own installer which you then run on your machine. None of these require the use of a repository.

sundialsvcs 04-26-2017 09:11 AM

Also, some vendors provide their own repositories, with instructions to show you how to add them to the list of locations searched for packages and updates. When you have done this, the standard mechanisms now allow them to provide updates to their code, and to include dependency specifications referencing files in their and/or in public repositories.

Notice also that there is an ambiguity with regard to the word, "repository." Version control systems use the same term to have a different meaning.

All times are GMT -5. The time now is 10:59 AM.