Section 5.1. A History of APT for RPM


5.1. A History of APT for RPM

One of the problems associated with RPMs is sometimes known as "dependency hell." This phenomenon is associated with failed attempts to install an RPM. You've probably seen messages specifying dependencies. You try to install that "dependency," but that fails because another package isn't installed. Frustration can reign when these messages continue for several levels. The developers behind what was Conectiva Linux "ported" apt to their RPM-based distribution because they wanted to make it easier to manage patches.

5.1.1. Reduced Dependency Trouble

In this book, we've explored some of the methods you can use to manage patches and upgrades on your Linux computers. Much of the work involves different techniques that can help you ensure that all package dependencies are satisfied.

It seems as though every distribution has a different method of patch management. Red Hat Enterprise Linux uses up2date on the Red Hat Network. Fedora uses up2date with yum, and is moving toward using pup with yum. While SUSE uses the YaST Online Update tool, it is moving to accommodate those who want to use the Smart package manager. Debian uses apt. The tool that is best for you depends on your distribution and experience. This book is designed to help you judge what is best for you and your network.

Unfortunately, some of these patch management tools have limited use. Until recently, YaST was limited by license to SUSE distributions. While it's available for other distributions, the up2date tool is closely associated with Red Hat. You can use the Red Hat Network to manage your patches only with a paid subscription to Red Hat Enterprise Linux.

5.1.2. The Conectiva Approach

When the developers of what was Conectiva (based in Brazil) wanted a Linux distribution, they wanted one with a recipe for commercial success. Red Hat and its RPM system was already more commercially successful than the Debian-based distributions.

One perceived weakness of the RPM system is how its installation and upgrade commands don't even look for, much less install or upgrade, any dependent packages. Options such as up2date did not yet exist. While the developers behind the former Conectiva Linux decided to base their distribution on an older version of Red Hat Linux, they had concerns about how to automate upgrades.

Several of the maintainers of apt live in Brazil. It was natural for Conectiva to look to them to help develop their update systems. To manage patches on Conectiva Linux, they developed a port of apt repositories for RPM-based distributions, known as apt4rpm. Conectiva has shared its work under the GPL, and work continues through the SourceForge project. For more information, see http://apt4rpm.sourceforge.net.

Note

Apt for RPM is the client; apt4rpm is the associated repository creation tool. For more information on the philosophy, see freshmeat.net/articles/view/182. Claudio Matsuoka's article on the subject, while dated, is still instructive.


Unfortunately, the apt4rpm software does not include all the features associated with apt on Debian-based distributions. RPMs are built somewhat differently. In most cases, they do not include the pre- and post-installation scripts that can help you configure a DEB package and get it running on your system immediately. While most RPM-based distributions save existing configuration files, that functionality is still less common than with a DEB package.

As of this writing, Conectiva is in the process of merging with Mandrake and Lycoris. The combined company is known as Mandriva, and the process of integrating their knowledge continues.

Conectiva repositories are straightforward. As suggested by Conectiva's version of /etc/apt/sources.list, two basic repositories have been configured: all and updates. As you can see, Conectiva commands have a similar format to those you see in the Debian version of /etc/apt/sources.list, as discussed in Chapter 4.

rpm [cncbr] ftp://ftp.conectiva.com/pub/conectiva 9/i386 all rpm-src [cncbr] ftp://ftp.conectiva.com/pub/conectiva 9/i386 all rpm [cncbr] ftp://atualizacoes.conectiva.com.br 9/i386 updates rpm-src [cncbr] ftp://atualizacoes.conectiva.com.br 9/i386 updates 


The differences are straightforward. Instead of deb and deb-src, which are associated with binary and source packages, Conectiva repository commands start with rpm and rpm-src. Conectiva repositories are digitally signed; the [cncbr] tells apt to look for the signature. As of this writing, it is supported through a mailing list available from http://distro.conectiva.com.br/mailman/listinfo/apt-rpm. With the merger, and the emergence of the Smart Package Manager, this list may be ending. But will the move of SUSE 10.0 to apt-rpm give it new life?

Note

Mandriva already has an excellent patch management tool, known as urpmi. I do not cover it in this book, because it is used only for Mandriva Linux. For more information on urpmi, see the related HOWTO at http://developer.skolelinux.no/~zerodogg/rpmhowto/RPM-HOWTO.html.


5.1.3. An Overview of apt for RPM-Based Distributions

There are several other RPM-based distributions that use apt. In many cases, apt is not the primary patch management system for the distribution. In some cases, developers have processed apt repositories for certain distributions and have made them available for public use. These distributions include the following:

Fedora supports the use of apt (at least as of Fedora Core 4). In support, several third-party groups have configured apt packages and repositories for this distribution. You can read more about this later in this chapter.

The Polish Linux Distribution, PLD, supports the use of apt along with its primary patch management system, known as poldek. For more information, see www.pld.org.pl.

Vine Linux, based in Japan, supports apt. For more information, see www.vinelinux.org. Originally derived from Red Hat Linux, upgrades are also supported with apt. An English language version of this Web site is available at www.vinelinux.org/index-en.html.

Alt Linux is a Russian language distribution that uses RPM packages and supports apt updates. For more information, see www.altlinux.ru. It is based on Mandrake and uses apt as its primary update system.

Yellowdog Linux is the distribution designed for the Power PC CPU closely associated with the Apple Macintosh. While they developed the yum commands that you'll learn about in Chapter 6, "Configuring a yum Client," and Chapter 7, "Setting Up a yum Repository," they also support the use of apt for updates.

Mandriva allows the use of apt as an option to its urpmi update system.

SUSE supports the use of apt. While YaST Online Update is the primary tool for managing patches on that distribution, SUSE has included apt for the first time in SUSE Linux Workstation 10.0. Several apt repository URLs are listed at http://linux01.gwdg.de/apt4rpm/home.html. You can read more about this later in this chapter.

There are several groups that support the use of apt. The developers behind freshrpms.net have configured apt repositories for Fedora, Yellowdog, and older versions of Red Hat Linux. For more information, see apt.freshrpms.net. Dag Wieers has created a number of apt and yum capable repositories. For more information, see http://dag.wieers.com/home-made/apt/.

Note

With recent improvements to yum, it's likely that the Fedora project will no longer support apt repositories starting with Fedora Core 5. Support may still be available from noted third parties, however.


A slightly out-of-date list of repositories for several RPM-based distributions is available as of this writing at http://apt4rpm.sourceforge.net/repos.html. In many cases, you may find up-to-date repositories at the servers indicated for the noted distributions. Some searching, some common-sense directory substitutions (e.g., SUSE version 10.1 for 10.0) as well as trial and error may be required. Interestingly enough, although Fedora appears to be moving away from apt, SUSE seems to be increasing support for the apt system. As of this writing, it appears they may also include support for yum repositoriesstarting with SUSE 10.1.



Linux(r) Patch Management(c) Keeping Linux(r) Systems Up To Date
Linux Patch Management: Keeping Linux Systems Up To Date
ISBN: 0132366754
EAN: 2147483647
Year: 2006
Pages: 80
Authors: Michael Jang

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net