2. Packages, Tools and Repositories

Modern Linuxes are rapidly moving towards a world in which physical media are used for OS installation only, with updates being fetched and installed by tools querying Internet repositories. You'll need to know a bit about some of these tools and the repositories they get binary packages from.

Fedora packages are called RPMs. Each can be installed or uninstalled as a unit, and provides some application together with any support files it needs. Some packages depend on others — an application, for example, may require specific support libraries. Part of the job a package installation program does is to chase down those dependencies and install them before installing the main package.

Unfortunately, RPMs can clash with each other — for example, by wanting to put incompatible versions of a command or support file in place. A repository maintainer's main job is to make sure that (a) the RPMs in his collection don't clash with each other, and (b) all their dependencies are resolved either within his repository or some 'base' repository that he advertises depending on.

There is one base repository for Fedora Linux maintained by the Fedora project itself, and about half a dozen extension repositories that depend on that base. These extension or "third-party" repositories are where you will get your Damned Things; they are run by volunteers independent of the Fedora Project, often located in places outside the U.S. where they will be less exposed to predatory lawyers.

The extension repositories form cliques defined by who is compatible with who else. There is a lot of turbulence and politics around these cliques which, as an end user, you can largely ignore. The only reason for you to know about this at all is that you have to choose one clique in order to avoid clashes. In early 2006 there are, essentially, three cliques to choose from, as I'll describe later on.

First I need to introduce you to the tools you will need to fetch your Damned Things:

yum

yum (the Yellow Dog Updater, Modified), is a command-line tool that comes installed with Fedora Core. It will help you download updates from the Fedora repository, and from other repositories that carry Damned Things that Fedora won't.

pirut

This is a GUI wrapper around yum introduced in FC5. It's a slightly kinder, gentler way to use yum.

You also need to know about some repositories. Each is a collection of RPMs, divided into subcollections called 'channels'.

fedora.redhat.com

This is the basic Fedora repository. The RPMs in the 'stable' and 'updates' channels of this repo are what go on a Fedora CD-ROM. Historical note for readers of previous version of this document: the Red Hat repo now includes, in its 'extras' part, equivalents of the stuff that used to be at fedora.us.

RPMForge

A clique formed by all the major third-party RPM sites except livna and ATrpms. These packages are intended to extend the Fedora Core and Extras repositories, and the maintainers are careful not to clash with the Fedora repositories. The consortium includes freshrpms, Dag Wieers's repository, the Dries repository, NewRPMs and PlanetCCRMA. They're working towards merging their repositories, and already build with common source RPMS. Unfortunately, the RPMForge collection is known to have some serious clashes with livna and ATRPMs.

rpm.livna.org

A site, located outside the U.S. and beyond the reach of the DMCA, that specifically dedicated to providing Damned Things that Fedora Core and Extras won't carry. There is no official connection, and in fact the Fedora people won't mention livna in their web pages or documentation for fear of being slammed with a speech-suppressing lawsuit by the evil scumweasels at the DVDCCA, but the livna people track what Fedora does very closely. The livna repositories depend on the Fedora repositories. They clash with the RPMForge repositories.

http://macromedia.mplug.org/

The main source for packaged versions of Macromedia Flash. It's safe to use this RPM with any of the extension-repository cliques.

The three cliques I referred to earlier are RPMForge, livna (all by itself) and ATrpms (all by itself). With FC5 you can get all the multimedia support you theoretically need from livna, rather than using RPMforge as I advised in previous versions of this FAQ. I say 'theoretically' because, in fact, almost none of the video stuff actually works in FC5.

To enable access to livna, do this:


rpm -ivh http://rpm.livna.org/livna-release-5.rpm

This should drop a yum repo configuration file in /etc/yum.repos.d/