Since writing makes up a good part of my working week, I've previously called attention to productivity tools such as the LaTeX typesetting system and the GhostScript printing application. But today's find is altogether different. Though it?s not a desktop or server application per se, it can simplify Linux system management and provide business opportunities to Linux-related VARs and support organizations. And while it's been available in Linux circles for some time, newcomers may not know about it.
Simply called apt-get, this tool was developed to handle installations of the Debian Linux distribution. Even for normal functions, apt-get has always been superior to the package management offerings that come with non-Debian systems. On most Linux systems, if you want to install a new application that requires other "dependencies" to be installed first, you have to manually install the dependencies yourself. Even supposedly easier-to-use tools such as Kpackage don't automate the process of fetching dependencies, but apt-get does so nicely.
But apt-get's capabilities go far beyond simplifying installation. Most notable is an option that updates your system by comparing the release levels of the software on your system to those of a remote benchmark site. This process can be automated as much or as little as you like. For instance, you can choose to upgrade critical software--such as security--automatically, while being more selective about upgrading more conventional applications.
So why hasn't apt-get been in greater use?
Until recently, apt-get was closely tied to Debian?s software installation file format, which isn't compatible with the Red Hat Package Manager (RPM) format used by most commercial distributions. For that reason, apt-get has been generally unavailable--and unknown--to most Linux users and vendors. The dominance of RPM as a file format is likely to continue, as it?s likely that a version of it will be chosen to make up part of the Linux Standard Base specification.
(Note that I'm not passing judgment on the relative merits of the RPM file format relative to Debian's. Both do the job well. But it's important to note the often-blurred distinction between the file formats and the programs that manipulate them. In Red Hat's case, both the format and the programs are called RPM.)
The unavailability of apt-get for RPM was solved recently by an unexpected benefactor, the Brazilian Linux distributor Connectiva. A few months ago, Connectiva shipped its Linux 6.0 release to very positive reviews. To me, the distribution was OK, but one feature stood out. Connectiva had adapted apt-get for use with RPM, giving the company's distribution the combination of the popular RPM file format and apt-get?s powerful features and ease of use.
The availability of apt-get doesn't eliminate all RPM-related problems (most notably Red Hat's tendency to make gratuitous and backward-incompatible changes in the RPM format, often timed to coincide with Red Hat's own Linux releases). But it provides some badly needed extra flexibility to non-Debian users' abilities to manage their own systems.
The availability of apt-get for RPM files demonstrates a substantial strength of open source. The fact that apt-get was open source guaranteed that it could be ported. With the Debian creators publishing the source code to apt-get and Red Hat publishing the specifications of the RPM file format, all the porting material was available. Connectiva simply provided the initiative and programming resources.
Now that it's not hidden in Debian, apt-get easily allows any credible Linux integrator to offer its own version of the Red Hat Network or Ximian's Red Carpet service. Armed with apt-get, even a startup support provider can offer the kind of services once thought to require big-company portals.
This is exactly the kind of close support that business users need and that the Linux world needs to provide. I look forward to hearing how companies use this hidden gem to support their customers.