|By Chris Negus||
|February 28, 2006 09:00 AM EST||
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.
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).
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
- Linux & Games: Installing TransGaming's Latest Release, Cedega 4.0
- Migrating to Linux not easy for Windows users
- Migrating the Desktop from NT to Linux
- Sailing the Wine Dark Sea With Macromedia Fireworks MX
- Linux on the Desktop: Bringing Linux into the Corporate Environment
- How to install Neverwinter Nights on Linux
- Graphics Still the Hot Topic in Open Source .NET
- Fedora Software
- Novell Paying Microsoft Not to Sue
- Catching up with WINE