LWN.net Logo

Distributions

News and Editorials

A look at rpath Linux

June 8, 2005

This article was contributed by Joe 'Zonker' Brockmeier.

Michael K. Johnson announced the 0.24 release of rpath Linux, formerly known as "Specifix Linux," last Thursday. This release includes 0.60.4 of the Conary Software Provisioning System. Conary is meant to replace package managers like RPM and dpkg.

We downloaded the rpath ISOs and took the distribution for a little test drive, and we e-mailed Johnson and chatted with him in the #conary channel on freenode.net about the distribution and Conary to find out what it has to offer over other packaging systems.

In terms of the rpath distribution itself, Johnson said that it wasn't particularly unique, apart from the Conary packaging system. "Because the whole point is to be quite 'vanilla' outside of Conary, rpath Linux's main unique feature is that it is built with Conary. (Even that is not quite unique, actually, since Foresight Linux exists and is built with Conary as a derivative of rpath Linux.)" The rpath distribution uses an Anaconda installer, and basically is a "vanilla" distribution with a GNOME 2.10 desktop and a lot of the applications you'd expect to see in a basic desktop distribution.

As the introduction to the Conary system explains, Conary is a packaging system that works like a Source Control Management (SCM) system. Everything is stored in a distributed repository, rather than package files. Components and packages in Conary are called "Troves." A source component may be built with different configurations and/or for different architectures. This is called a "flavor." A good example of this would be kernels built for SMP systems, or with different instruction sets. The SMP and UMP kernels would be different "flavors" of a component.

Versioning in Conary works a bit differently than with package systems like RPM and dpkg. For example, the RPM naming convention provides the name of the package, the version, the package release number, and the architecture. So the Abiword package for Fedora Core 3 is abiword-2.0.12-3.i386.rpm. Conary, on the other hand, names files according to the repository, the version number of the software, source revision number and binary revision number.

In practice, Conary's design allows one to install a package like Abiword and its dependencies without necessarily installing additional packages. For example, installing the Abiword "Trove" added the Enchant library component, but not the Enchant runtime or document components. Johnson also said that Conary makes it easy to install multiple versions of libraries. For example, users who run x86_64 should be able to easily install x86 and x86_64 versions of libraries.

Conary divides files up between components automatically (with manual overrides, of course) and the defaults make it easy to have multiple non-conflicting libraries installed on a system that supports them both. We simply build all packages with these default settings. Furthermore, Conary automatically checks for several problems that would break a multi-lib setup, and halts the build with errors if it sees them. This means that we don't have to have a special rebuild to make some core set of x86 libraries available on x86_64; instead, any of the x86 :lib components can install and function on x86_64. This is going to become more and more important now that both AMD and Intel's mainstream is entirely 64-bit x86_64.

Conary also works like an SCM in that one can rollback transactions. By running "conary rblist" one can see the recent commits to the system and one can also move backwards by running "conary rollback r.nnn" where "nnn" is the number of the revision. The list of commits to the system appears to start from the very beginning of the installation, so one could conceivably roll back quite a few changes rather easily. Note that rollbacks cannot be applied out of order, so one must progress backwards one rollback at a time.

The system can also be used to generate local changesets that can be committed to a local repository, and updated on other machines from that repository. This makes Conary interesting for system admins who need to customize software across a group of machines.

Conary also supports "branches" for development of Troves, so one may install a branch of an application and continue to follow that development tree rather than worrying about a conflict between versions of the application. If the main rpath distribution includes Firefox, for example, and there's an experimental version of Firefox in the "contrib" repository the user can install the experimental version from the contrib repository and then follow that branch of development without worrying about conflicts with the "official" version in the main repository. This also works with Conary flavors, so once one installs a specific flavor, that flavor will be installed when the user updates the package.

The rpath distribution also includes a Conary GUI application that serves as a browser for repositories, and which makes it easy to see what Troves are available for installation and so forth. It was easy to install Abiword and other applications from the Conary GUI, though the GUI works on the metaphor of applying updates rather than "installing" a package -- which might throw some users off. The Conary command-line tools took a bit of getting used to, but this is probably more a symptom of many years experience with RPM and dpkg, rather than a sign that Conary is overly complex. It's not quite as slick as APT or Yum just yet, but Johnson did say that work is still being done on Conary.

We also asked Johnson what the goals for rpath Linux were, and where rpath could "fit" in the already-crowded distribution market. According to Johnson, the problem is not that the market is too crowded, but that it's "crowded in the wrong way."

It is crowded with lots of little effectively unrelated operating system images, all different, and different in ways that aren't immediately obvious, easily discoverable, or even intentional. There's no real reason, for example, to think of every Knoppix derivative as a separate "distribution", except that the technology doesn't explicitly working with them as a set of related and interoperable sources of operating system data. With Conary and rpath Linux, we are separating the concepts of "distribution" and "installation image". The repository is the canonical source of the bits, not a set of ISO images. Why should it be hard to create a custom installation image that represents exactly what you want to install on your system? That's a trick question; the answer is that it shouldn't be! Doing that should not be counted as creating "another distribution".

Think more about a set of custom, interoperable operating system images instead of "distributions". Then you can pick the best operating system image without worrying about choosing a distribution putting you in a corner. Conary is the core technology which enables this view, and rpath Linux is a foundation or cornerstone.

He also said that the goal for rpath was "to make it a good distribution on which to base a derivative."

Ken VanDine joined the Conary community immediately after we announced Conary, and he quickly saw the potential Conary's new model provides. He then set to work on a derivative distribution called Foresight Linux which has about 20% changed or new content relative to rpath Linux...

Being a good source for derivative operating system images has some definite implications. rpath Linux must not be too heavily patched, because the more patches we apply to an upstream project, the less likely it is that some other patch (which someone building a derivative wants to apply in their derivative) will apply. The distribution needs to be functional and coherent, because otherwise who will want to use it as a source for their derivative work? It needs to be relatively current, because new patches aren't likely to apply easily to old source code.

Some people ask whether this approach will make "distribution hell" that much worse. Fortunately, the answer is, "no". When Conary is widely adopted (the only case that actually matters from this perspective), we'll have lots of interoperable slices, with rich dependencies that make it clear what actually interoperates. Already, rpath Linux users sometimes cherry-pick the bits that they want from the Foresight Linux repositories. Rich dependencies and explicit distribution and package inheritance will make this continue to work. Conary will mean that there are more customized installation images available, but will alleviate unnecessary incompatibilities by allowing derivatives to differ in distinctives only, and not drift apart into mutually-incompatible projects.

Obviously, Conary will achieve these goals by being adopted. Since Conary is currently in beta, and rpath Linux is in the last few stages of being alpha, I'm looking a little bit into the future here!

Conary is not limited to Linux systems. Johnson said that Conary should work "just fine on BSDs, and that they've had a report of successful Conary installation on Cygwin. The rpath distribution is probably not ready for production use, we ran into some spectacular Python errors using Conary after just a few updates and rollbacks, but the Conary package system is definitely worth a look. It should be interesting to see whether or not the Conary package system catches on. It has some worthwhile features, but it won't be easy to convert users who are already familiar (and have strong biases towards) existing packaging systems.

Comments (5 posted)

New Releases

Debian GNU/Linux 3.1 released

The Debian Project has announced (click below) the official release of Debian GNU/Linux version 3.1 (Sarge). "This release includes a number of up-to-date large software packages, such as the K Desktop Environment 3.3 (KDE), the GNOME desktop environment 2.8, the GNUstep desktop, XFree86 4.3.0, GIMP 2.2.6, Mozilla 1.7.8, Galeon 1.3.20, Mozilla Thunderbird 1.0.2, Firefox 1.0.4, PostgreSQL 7.4.7, MySQL 4.0.24 and 4.1.11a, GNU Compiler Collection 3.3.5 (GCC), Linux kernel versions 2.4.27 and 2.6.8, Apache 1.3.33 and 2.0.54, Samba 3.0.14, Python 2.3.5 and 2.4.1, Perl 5.8.4 and much more."

Full Story (comments: 17)

Debian GNU/Linux 3.0 r6

Version 3.0 r6 of Debian GNU/Linux 3.0 (woody) is out. "This is the sixth and final update of Debian GNU/Linux 3.0 (codename `woody') which mainly adds security updates to the stable release, along with a few corrections to serious problems."

Full Story (comments: none)

rpath Linux 0.24 released

rpath Linux, the distribution formerly known as Specifix Linux, has been released; it is available for the x86 and x86-64 architectures. Click below for details and download information.

Full Story (comments: none)

Alpha version of 64 Studio released for download

64 Studio Ltd., a company developing a collection of software for digital content creation on x86_64 hardware, has made an iso image for v0.2.0 alpha. This will install Debian Pure 64 with X.org, the Gnome desktop and an initial selection of creative applications including music, graphics and publishing tools.

Full Story (comments: 2)

Xandros Business Desktop 3.0 released

Xandros Business Desktop 3.0 is out. This distribution is being heavily pitched as a Windows replacement; it claims a high level of Windows interoperability and the ability to run many Windows programs.

Full Story (comments: 5)

Distribution News

Debian news

There is both good news and bad news in the Bits from GNU/kFreeBSD maintainer report. The good news is that the port is very nearly complete. The bad news is that one of its maintainers is quitting.

Arnaud Vandyck has this report on Debian Java in Sarge, which provides an overview of what has changed between Woody and Sarge.

A bug has been discovered in the 3.1r0 CD/DVD images. "new installs from these images will have a commented-out entry in /etc/apt/sources.list for "http://security.debian.org/ testing/updates" rather than an active entry for "http://security.debian.org/ stable/updates", and thus will not get security updates by default" You should read the release notes before that Woody upgrade or new Sarge install too.

Roberto C. Sanchez has announced a Debian Package Customization HOWTO. This looks like a good starting place if you want to customize your Debian installation.

Comments (none posted)

Draft Breezy release schedule available

A draft release schedule is available for Ubuntu's Breezy Badger. The final release is expected on October 13, 2005, with several milestones between here and there.

Full Story (comments: none)

Yellow Dog Linux sticks with PowerPC

Apple has decided to started using Intel chips. See this eWeek article for more information. We have a response (click below) from Kai Staats, CEO of Terra Soft Solutions, Inc., provider of Yellow Dog Linux. "We remain a Linux development company with 100% focus on the Power Architecture (IBM, Freescale). We will not transition to support an x86/ia64 architecture."

Full Story (comments: 37)

Fedora news

The Fedora Project is participating in Google's Summer of Code. It is an opportunity for students to be paid for working on Fedora.

Fedora Core 4 has been postponed. It's now due out on June 13, 2005.

Comments (none posted)

Distribution Newsletters

Gentoo Weekly Newsletter

The Gentoo Weekly Newsletter the week of June 6, 2005 is out. This week's news includes the unmasking of Python 2.4, containment for the busybox glitch, Gentoo for Zaurus, developer of the week Bryan Østergaard aka kloeri and more.

Full Story (comments: none)

Fedora Documentation Steering Committee meeting minutes

Fedora Documentation Steering Committee (FDSCo) has released the minutes from the May 31, 2005 meeting. Items on the agenda included FC4 Release notes status, FC4 Installation Guide status, Documentation Guide thoughts, and Tools status.

The FDSCo meeting for June 7, 2005 looked at Release notes really completed, Installation Guide completed, and DOCG meeting tentative for 27 June.

Comments (none posted)

Mandriva Linux Community Newsletter #104

The Mandriva Linux Community Newsletter for June 3, 2005 is out. This edition covers the public release of Mandriva Linux Limited Edition 2005, LE2005 for PowerPC, a monthly payment option for Mandriva Club memberships, and more.

Full Story (comments: none)

DistroWatch Weekly, Issue 103

The DistroWatch Weekly for June 6, 2005 is out. "Amid obvious signs that the long-awaited new Debian stable release is about to be unleashed on the impatient public, the euphoria in the Debian land was spoilt last week by a truly sad news about the death of Libranet's founder and President Jon Danzig. Meanwhile, the Fedora users will have to wait another week before they can put their hands on the distribution's latest release - Fedora Core 4. GoboLinux is our featured distribution of the week and Robert Storey shows you how to configure SpamAssassin to kill off email from online pharmacies and other unscrupulous businesses."

Comments (none posted)

Minor distribution updates

Crash Recovery Kit for Linux 2.6.11.10 released

Version 2.6.11.10 of the Crash Recovery Kit for Linux is available for the X86_64/AMD64 architecture: "I want to announce here the availability of the Crash Recovery Kit for Linux 2.6.11.10 (X86_64/AMD64) with S.M.A.R.T. monitoring support using smartmontools 5.33 which also can monitor SATA drives using kernel 2.6.11.10." Also, a version for the i586 architecture is available.

Full Story (comments: none)

Package updates

Mandriva updates

Mandriva updates kdenetwork (MSN protocol changes for v10.1), lsb-release (LSB requirements for Corporate 3.0).

Comments (none posted)

Slackware updates

This week's updates for Slackware are centered around the kernel packages, with updates to the default 2.4.31 kernel and the 2.6.11.11 kernel in testing.

Full Story (comments: none)

Trustix Secure Linux Bugfix Advisory #2005-0027

Trustix Secure Linux Bugfix Advisory #2005-0027 covers various package fixes to apache, bittorrent, cyrus-imapd, mailman, mod_perl, mysql and zlib.

Full Story (comments: none)

Miscellaneous Articles

How to build your own Linux distribution (developerWorks)

developerWorks takes a look at Linux From Scratch and related projects. "Linux® From Scratch (LFS) and its descendants represent a new way to teach users how the Linux operating systems work. LFS is based on the assumption that compiling a complete operating system piece by piece not only teaches how the operating system works but also allows an independent operator to build systems for speed, footprint, or security."

Comments (none posted)

Distribution reviews

CD Linux Knoppix 3.9 with KDE 3.4 and OpenOffice 2.0 Beta (Heise Online)

Heise Online takes a look at the latest KNOPPIX release. "Knoppix 3.9 contains even more updates for the UNIX/Linux desktop KDE and the OpenOffice suite. Version 3.4 of KDE is now included, while beta version 2.0 of OpenOffice is included in Knoppix 3.9. In addition, all of the other software packages were tailored to the latest version of Debian/sid (the developer version of the Linux distribution from Debian)."

Comments (none posted)

My Workstation OS: Linux From Scratch (NewsForge)

NewsForge hears from a LFS fan. "LFS is probably the only Linux distribution in which building the system is as much part of the experience as working on it. LFS must be built alongside an existing Linux distribution. This allows you flexibility in choosing the best compiler options for a particular package. It lets you research packages on the Net or elsewhere throughly before installing them. You can revert to your existing system if something goes awry. For a tinkerer such as I, this is manna. When I built my system, I happily spent hours looking around, selecting packages and options to use on my system. The whole procedure entails an unbeatable learning experience in that you actually watch your system grow from the basic toolchain to a desktop."

Comments (none posted)

Page editor: Rebecca Sobol
Next page: Development>>

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.