Welcome!

Linux Authors: Elizabeth White, Liz McMillan, Jason Bloomberg, Roger Strukhoff, Pat Romanski

Related Topics: Linux

Linux: Article

Fedora Software

Yum, Extras, and the Unfree

Excerpted in part from Red Hat Fedora and Enterprise Linux 4 Bible by Christopher Negus (Wiley Publishing, 2005)

In its Fedora Core Linux system, the Red Hat-sponsored Fedora Project aims to only include software that is Open Source and free of reasonable patent claims. As a result, at random intervals, an article or mailing list post will exclaim how Fedora sucks because it doesn't have xyz media player, certain file system support, or other favorite that's in some other Linux.

Despite the fact that Red Hat sometimes seems bent on making money, proponents of the free and Open Source software movement can feel relatively safe that no one will hide code or sue them for using Fedora Core. But if not having a piece of software that's in some other Linux (or Windows) system is keeping you from switching to Fedora, then there may be a simple answer. You might just need to know where to look and what to do.

Adding Software to Fedora
Fedora is a great foundation on which to build a free cutting-edge desktop or personal server system. With Fedora Core 4, Red Hat has finally done more with Fedora than make it a testbed for Red Hat Enterprise Linux. It has put tools and projects in place to let outside initiatives package and distribute almost any Open Source software for Fedora.

Of course, you can go straight to a software project site (try Sourceforge.net) to download and build the software you want yourself. But a lot of people prefer to have dependencies already worked out, a central mechanism for tracking bugs, and the ability to manage software with RPM tools. So, they look for software that's already in RPM format.

While the underlying RPM tools and database on a Fedora system are excellent for installing, querying, and removing individual packages, they weren't intended for working with software repositories. For Fedora, the tool of choice is the Yellow Dog Updater Modified more commonly referred to as yum.

There are several features that have made yum such an effective tool for getting and updating the software you use with Fedora:

  • Repositories: By configuring yum to look to online repositories for packages you request, you don't need to have the software package you want already on your hard disk or CD. Fedora Core 4 comes already configured to point to online repositories for Fedora Core and Fedora Extras (more on that later). So all you have to do is ask for any packages from those two areas with yum to have the packages you want downloaded and installed.
  • Dependencies: Not only does yum get the packages you request, but it also finds any dependent packages you need to get requested packages to work. So, request package A and yum asks you if you also want to install required packages B, C, and D as well. Say yes, and yum will download and install them all.
  • Updates and Upgrades: As security fixes and bug fixes become available, the Fedora Project adds updated packages to yum repositories. A single yum command can get the latest update for some or all of your packages. Yum also supports upgrades, where obsolete packages are removed.
While yum and software repositories (both official and unofficial sites) have been around for a while, the whole process only started working well in Fedora Core 4. That's because Red Hat put a good structure in place where added software can expand out from the Core.

Expanding from Fedora Core
The Fedora Project wants to keep Fedora Core to a reasonable size. So far, reasonable has meant four binary software CDs (although FC5 in testing has, at the moment, spilled over to five CDs). For those who want a reliable foundation and a set of CDs that can be distributed without costing too much (even four is a lot to include with a book), the approach makes sense.

But what about the software that's left out to make room for the latest whatever-is-starting-to-get-hot-for-enterprise software? Maybe you liked Abiword or ncftp and don't want to figure out how to get it and maintain it yourself when it moved out of Core. Most of those packages aren't gone...they've just moved into Fedora Extras.

Fedora Extras packages are available for FC3 and FC4. Both i386 and 64-bit Extras RPMs are available for both releases, while PowerPC versions are available for FC4 as well.

Fedora Core aims to include packages that fit in - in other words, software with localized user interface and accessibility support; software that integrates with other Fedora Core software, without duplicating functionality. As a result, Extras includes extra applications that duplicate stuff already in Core (such as window managers, audio players, and so on) or are more recreational (like games).

Because Fedora Extras, like Fedora Core, meets Fedora Project guidelines (Open Source and patent issues), yum in FC4 is pre-configured to grab packages from Fedora Extras. You must set up yum yourself to use outside repositories.

Yum for Fedora Core and Extras
With a connection to the Internet and Fedora Core 4 installed you can install any packages from Fedora Core or Extras using yum, with no additional configuration. Here's how to find out what's available:

  • Fedora Core: Open the Package Management utility by running system-config-packages (Desktop -> System Settings -> Add/Remove Packages). Next to each category of software, select Details to see which packages are and are not installed. Then install packages from an FC4 CD using that window or get packages using yum.
  • Fedora Extras: To find packages available for Fedora Extras, start at the Fedora Project wiki (http://fedoraproject/wiki/Extras). You can elect to see a list of packages for your Fedora release (FC3 or FC4) and architecture (i386, x86_64, or PPC).
If you encounter an RPM on the Web that doesn't describe the package available, you can use the rpm command to list its contents. Just copy and paste the address of the package to an rpm -qp -i command. For example:

# rpm -qp -i http://fedoraproject.org/extras/4/i386/clamav-0.87.1-1.fc4.i386.rpm

To install a package from Fedora Core or Extras, you need to run yum as the root user from a shell. Here's an example of yum to install the clamav package from Fedora Extras:

# yum install clamav

Select yes and clamav and dependent packages download and install. Instead of clamav, use any package name from the yum repositories. To check for updates to an installed package, use check-update:

# yum check-update clamav

If an update to the package is available, use yum with the update option as follows:

# yum update clamav

To check for updates for packages installed in Fedora - do this after you first install Fedora - type the following:

# yum check-update

If you want to update all the packages with available updates, type the following:

# yum update

Yum can also list available packages, as well as those that are already installed. To see a list of all packages available for download from the repositories you have set up, type:

# yum list | less

Adding less lets you scroll through the list (it could be long, depending on your repositories). This first lists installed packages, then packages still available from the repositories. Adding the -C option to yum uses cached repository information, which can make it run faster, but may not result in the latest information.

If you try to install a package and it fails with a message like "package xyzpackage needs xyzfile (not provided)" check for packages that include the missing file using the provides option:

# yum provides missingfile

With provides, yum searches your repositories for the file you entered (instead of missingfile) and returns the name of the packages that include that file. To search software descriptions in repositories for a particular string, use the search option. For example, this searches for arcade in any package description (you'll find some games with this search):

# yum search arcade

More Stories By Chris Negus

Chris Negus is the author of the best-selling Red Hat Linux Bible series, Red Hat Fedora and Enterprise Linux 4 Bible, Linux Toys II, Linux Bible 2006 Edition, and Linux Troubleshooting Bible.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.