ORC Owl Logo 2  

Owl River Company

 
  Your IP is: 54.167.207.16

yumconf.php -- Yum automatic config file CGI redirector


Precis: This page describes yumconf.php, our add-on CGI Server redirector tool which selects a proper yum archive without end user Client intervention.

The yum update Client and Server side tool is an exciting approach to automating systems maintenance. It also provide a very capable maintenance tool for RPM based operating systems, such as Red Hat Linux, and our own Wings re-implementation of the GPL'd portions of their product line.

About yum Each operating system carries not only the issue of initial install, and major and 'point' version upgrades, but also the need for ongoing updates, to address functionality, or security issues. yum uses information embeded in a well-formed set of software archive, accessible by FTP, web, and other methods, to 'solve' the interdependencies in updating a local system.

At the Client: It does this resolution at the Client side, from a well-formed pre-built archive at a constellation of update Servers. As such it scales very well. Note: We use the qualifier 'well-formed' without definition -- while establishing an archive with yum-arch is straightforward, it is not trivial to maintian a proper and current constellation of update Servers securely and currently. We sell such services.

At the Server: This tool, yumconf.php, our redirector CGI script, provides the 'proper' configuration file to a remote yum Client, based upon the form of a HTTP query. The remote Client end can inspect such readily determinable values, such as Distribution maintainer, Version information, and computer host Serial number (assigned by a vendor to distinguish units shipped), and a cross check Enable key (again, assigned by a vendor to manage subscription information and thus, to permit Server side discernment of entitlement state to use a given class of archive).

Putting it together: The Client then generates a well-formed web view, and is returned an appropiate configuration to use in running a given yum session. This relies on the yum command line option -c to specify the configuration file to use, which is mentioned at: https://lists.dulug.duke.edu/pipermail/yum/2003-February/000562.html (local copy). It looks like this:
yum -c http://www.owlriver.com/support/yum/yumconf.php?ver=8.0 and some simple shell scripting can determine processor arch and RHL (and other Distribution) Major/Minor ver as well.

Back at the Server side, the CGI code reads that request, and dynamically returns an appropiate configuration file. A sample request looks like this:
http://www.owlriver.com/support/yum/yumconf.php?ver=8.0 More interestingly, if one manages multiple architectures, and a campus full of varying departments, each of which want a different archive of RPMs to point to, this can be done with this tool as well, by adding the 'arch' variable, or a 'group' indicator, respectively, to the query. Note: The provided files immediately below are NOT for production and do NOT point to live archives.
http://www.owlriver.com/support/yum/yumconf.php?ver=8.0&arch=sparc - or -
http://www.owlriver.com/support/yum/yumconf.php?ver=8.0&group=hephysics
Download: The "yumconf.php" code may be downloaded by choosing this link, or by using:
wget -O yumconf.php http://www.owlriver.com/support/yum/yumconf.phps at a command line on most *nix operating systems.

See also: yum is similar to, but less broad in source code scope, than apt of the Debian project. With our tool here, and other Owl River proprietary services in the Wings line, it becomes broader in management aspects, and more like Red Hat's 'up2date' style Server side commercial outsourced managed server offering,

License: Like that project, we choose to support the movement for quality and liberty in computer software, and release this copyrighted code under the Free Software Foundation General Program License ("GPL") ( local copy).

Other services: We sell a commercial service, both as to outsourcing the server side either on the public internet, or through a VPN network, for new installs and updates on a wide range of mainstream and niche Hardware Architectures, and Distributions; We also maintain and license a non-GPL proprietary variant which has cryptographically strong, and externally enforces access control. It also provides configurable logging, as is needed to meet so called HIPAA, or Gramm-Leach-Bliley traceability requirements.

File manifest: Description
yum.conf A sample yumconfiguration file
yum-7.3.conf A sample yumconfiguration file for Red Hat Linux version 7.3
yum-8.0.conf A sample yum configuration file for Red Hat Linux version 8.0
yumconf.php The code driving this redirection process
Note: the code may be downloaded by holding the 'shift' key with most browsers and saving the file.
tcpdump A tcpdump trace of the retrieval of the configuration file for Red Hat Linux version 8.0 using a pull of http://www.owlriver.com/support/yum/yumconf.php?ver=8.0 -- all the headers look fine.


Getting yum with Kickstart

Part of the process of getting to automated installation and upgrades, for maintenance purposes, or, say, for an antobuilder with a defined build environment, is to get yum in from the beginning of a host's life. This little tool getyum.php, a few files on the webserver providing the ks.cfg, and a few lines in a %post stanza of that file do the trick.

Extension of this script to retrieve and install other files as well, using, say, the MAC address as an index of the RPMs to pull with yum, are similarly easy.

See also: