Jargon Jam – Repo

Time for another quick Jargon Jam article, as it occurs to me I haven’t done one in a while. I’ve already talked about the words Linux and Distro, so in keeping with that theme I thought today I’d go for “repo”. A word I use a lot, and something new arrivals to the Linux may find confusing on their first encounter.

Repo

———————–

The term “repo” is simply an abbreviation of the word “repository”, a place where software packages are stored, ready to be searched and installed. This is a major difference in approach for many people coming over from a Windows platform. You’re natural instinct when you need a new program might be to search for a website and download a file from their to install it. This is incredibly insecure, and a common entry point for many of those nasty viruses you get as an unwanted bonus sometimes. In Linux you have a secure remote location where a massive selection of tried and tested software is ready and waiting. This is what we call a repository. You use tools on your system to search for the program you want, tick a box and install it. How easy is that? When you install something like Ubuntu for example, it comes with a list of default repos that the developers (in this case Canonical) have added. You can add additional repository locations to this list and expand the range of sofware available if you like; they’re just web addresses essentially. Many 3rd party software vendors provide their own repositories for the likes of Ubuntu, and other popular distributions. They maintain and keep the software up to date, so you don’t have to.

Repo Settings On Ubuntu

Another advantage of managing software this way is that everything on your system can be updated centrally. When the developers add an updated version of something to the repo, your automatic update checker will find it and notify you. It can then update all the necessary packages in one go. You might say “but Windows has automatic updates”, and it does, after a fashion. Only the core operating system itself is updated, all other software packages are responsible for managing their own updates. So you can have dozens of tools trying to do the same job and making a right mess. The same is true of Mac OS I’ve been told. With centalized repositories managed by trusted developers, you always have the latest software without any hassle. You still have the choice to go to a website and download a binary installer if you prefer, but I find repos much more elegant, convieneint and secure.

I hope that helps to demystify the term a bit for any newcomers. I did see a hilarious post comparing installing software on Windows to Linux recently, so I’ll leave you to enjoy that. Any comments or corrections please feel free to add them underneath and I’ll do my best to answer.

7 comments on “Jargon Jam – Repo”

In MacOS there are some core frameworks that do handle the upgrade hustle a per-app basis for third party apps. The GNU/Open/NEXT/Step-whatever method of bundled .app files is interesting, in that it apps are ready to be installed right away with no fussing over libraries, etc in most cases. A big problem I have with some repositories is that some software will take forever to get packaged for your particular distribution, for instance Ubuntu, which ran behind on packaging brand new versions of Firefox, OpenOffice, etc. In such cases, an easily installable file that can be downloaded from the website would be great, especially if it migrated profile settings etc. If I want to use a slightly more updated version of Firefox than the one in the repos, I either have to shuffle some things around to replace the standard version with a newer I download, or run them separately…

Have you checked out EtoileOS yet? It’s a project that’s helping to revitalize GNUStep and bring into the new age of computing! It’s sometimes nice not having to worry if Y low-level library’s recent update from x.7 to x.8 doesn’t break your system 🙁

@PSquid – That’s a shame. Have they said why this is? I mentioned Ubuntu purely because it’s a name new users may have heard of and can relate to. I wouldn’t hold up their repos as perfect be any means. I know they’re getting deep into Mono these days. Are they pushing MonoDevelop instead? That would be controversial

Thanks Edy, I haven’t tried EtoileOS but I should do. Good tip. You often mention all these problems you’ve had with low level libraries and such, I haven’t had any of that myself. Maybe I’m just lucky, or maybe you’re unlucky 😀 I’ve also installed newer versions of apps from sites like getdeb.net and it’s never caused a problem. Download the .deb and double click, same experience to other operating systems if that’s what you want. I know what you’re saying, that the deb file doesn’t contain absolutely everything to make the program run and your package manager will pull in the extra stuff. You’re right about that. So far it’s never been an issue for me, touch wood.

@Dan: Well, a simple example would be the BeautifulSoup Python module that the libre.fm last.fm profile scraper uses. A simple shift from an old beta to a newer beta completely broke it. Luckily, the Debian repos had the earlier beta still, so i was still able to use it somewhat. i had to dive into the package manager for that. That’s stuff that shouldn’t happen :-/

@Edy – I completely agree, that should never happen. It’s a mistake and things like that need to be avoided. The system isn’t perfect, individual errors happen at times but I do think the overall model is the right one. I love Libre.fm and have holey supported it here as you know. However, I couldn’t argue it was a core package to any Linux distribution at the moment. It hasn’t even been packaged in the way I’ve referred to here, it’s a Python script. It’s not installed through a repo. In time I’m sure it will be packaged, it’s a project with started less than 2 months ago. Let’s not lose sight of that. I appreciate your overall point and as I said I agree with it, any problems need to be fixed.

Great article, I think you explained the overall advantage of repos over the “hunt and install” methods of Windows and Mac.
@edythemighty: “Those things shouldn’t happen” You are right, but since the Ubuntu repos are controlled by humans, mistakes do happen. Nitpiking on one or two packages isn’t all that fair to the men and women who put in many hours making sure the other 19,998 packages work as well as possible.

One of the advantages of Archlinux (I know, I know) is the AUR, which allows you to find programs that others wanted or needed, but were not in the repo’s, and install them. It even does it in a way that pacman can keep control of it (though no updates unless you use some automatic script). I have found many good programs there. Including ones from the x86 repo that didn’t have an x86_64 version (skype).