What is a “Repository”? January 4, 2010
In the process of helping new Linux users over on Ubuntu Forums, I see a lot of the same questions coming up again and again. Many of these questions can be traced back to one uber-question: “What is a ‘repository?’” Understanding the answer will clarify the “Windows Way” and “Linux Way” of finding and installing software. While I come from an Ubuntu background, these same concepts hold true for many other distributions (or “distros”) like Debian, Fedora, or Arch.
Let’s begin by describing what a repository is not: the Windows Way. How do Windows users get new software? The first “tier” is the software that comes pre-installed when you bought your computer: the operating system, web browser, system utilities, etc. The second tier is “boxed” commercial software you buy and install from a CD/DVD (Office, Photoshop, etc.). The third tier is software you install by downloading an .exe installer from a website. Software in tier 3 ranges from well-known commercial apps (Firefox, iTunes, OpenOffice) to obscure “shareware” (games, CD rippers, video converters). The 4th and lowest tier includes all sorts of malware and viruses, as well as pirated commercial applications.
In summary, the Windows Way is not really a “Way” at all. Software can come from a wide range of sources, and each application has its own installer. There is no unified mechanism for upgrading all of your apps together, or of resolving conflicts and dependencies. Depending on the choices you make and the risks you’re willing to take, you can have a stable Windows system or a “blue screen of death” Windows system.
Can Linux users follow the Windows Way as well? Yes, and it is easier than you may think. If you want the latest Firefox for Linux, you can simply go to the Mozilla Website and download it. (tar.bz2 is an archive format like .zip in Windows; in most Linux distributions, you can simply double-click the archive in your file manager to extract it.) Also, just about any Linux app can be “compiled” yourself using the source code from its developer. So, it is indeed possible to use Linux without ever touching a repository. But…
Most Linux distributions (and oftentimes, each separate release, such as Ubuntu 9.10) have one or more repositories or “repos”. A repository is a tested, secure (by way of a “key”), and easy-to-use software source. Repositories can be stored on a CD, DVD, or a local network server, but for most home Linux users, they are accessed through the Internet. Distributions include various tools for installing applications or “packages” from these repositories (Ubuntu has the Software Center, Synaptic package manager, and various terminal commands).
The Linux Way (as I see it) is to trust these repositories. This is a two-part process: First, use the repositories to maintain your system over time. If you run your update manager regularly, you’ll be up to date on bug fixes and security patches for every application on your system. Make sure you keep track of your repository’s expiration date (Ubuntu 9.10 reaches “end of life” in April 2012 for example) so you can upgrade to a newer release in time. Second, use the repositories as your default source for installing new applications. If the application you need is already in the repositories, installing it is usually an easy one-step process.
If you can’t find the application you need in the repositories, the first question you should ask is “why not?” Sometimes, it’s because the application is Windows-only! This doesn’t mean you can’t use Photoshop in Linux (there are ways), but the Linux Way is to find a free, open-source alternative. Check out GIMP for photo editing, or Rhythmbox as an iTunes replacement.
Other times, an application you need is available for Linux, but isn’t found in the repositories for your distro. It might be deliberately omitted (for example because it doesn’t fit the distro’s philosophy) or might simply not be on the distro developers’ radar screen (often the case for niche applications). Assuming that you trust the application’s developers, this is the one instance where I would recommend installing from outside the repositories. You can usually find instructions on the homepage for the application. It may be as simple as double-clicking a .deb, or may involve adding a third-party repository to your software sources (be very careful doing this, and be sure to get the key). I consider responsible use of third-party software to be compatible with the Linux Way.
A special case arises when the application you need is found in the official repositories, but it is an older version than you would like. A good example is the OpenOffice.org version (2.4) found in the current Long Term Support release of Ubuntu (which lacks compatibility with newer Microsoft formats). Stay tuned next week, and I’ll share my thoughts…
[...] more from the original source: Matthew Edward Liston » What is a “Repository”? By admin | category: ubuntu software | tags: from-these, include-various, [...]
[...] (This is part 2; the 1st part is here.) [...]
I dig your site!
Nice brief and this enter helped me alot in my college assignement. Say thank you you on your information.
I dig your site!
Hi, I’m very interested in Linux but Im a Super Newbie and I’m having trouble deciding on the right distribution for me (Havent you heard this a million times?) anyway here is my problem, I need a distribution that can switch between reading and writing in English and Japanese (Japanese Language Support) with out restarting the operating system.