Tutorial Sheet: Using the Yum modules to ease systems and distro maintenance - Intro This will give the tutorial attendee an overview of what they will need to take best advantage of the information presented. - Audience requirements (personal) It's assumed the attendee will have good general knowledge of rpm-based package management and a working knowledge of programming in python. - Audience requirements (software) Systems running a linux distribution that can run yum 2.4.x ( preferrably 2.4.1) will make all of this a lot more clear. See below for information on how to get a cvs snapshot, as well. Finally, if you have ipython(http://ipython.scipy.org/) installed things are sometimes much easier to work with. This is not a requirement, just something nice. - Abstract Yum is a package management tool for rpm-based systems. It supports multiple architectures, multiple repositories and multiple interfaces. Widely used with Fedora Core, Centos, Yellowdog and other linux distributions. In the last year and a half Yum has gradually evolved a much more programmable library interface which has promoted a myriad of interfaces and tools. As well a plugin interface to allow users to easily add functionality to yum without modifying the source of the yum program has afforded more flexibility for systems administrators and end users in upgrading their systems. This tutorial covers a general discussion of yum followed by two specific tutorials covering developing a yum plugin and working with the yum library module to develop your own application. - Setting up/testing your laptop (if you're bringing one): If you're running Fedora Core 4 or CentOS 4.2 you don't need to do anything else. They have all the required packages already available in a default install. If not you just need to make sure you have: o rpm 4.3.x o rpm-python for the same version of rpm o python 2.3 or 2.4 and yum 2.4.x either installed or unarchived and added to your PYTHONPATH. o yum 2.4.x requires: urlgrabber, python-celementTree and python-sqlite - Dealing with access to repositories Since network access may be unknown or spotty you might want to have setup a directory-based yum repository and make it available to your yum configuration. - Materials - cvs snapshot http://linux.duke.edu/projects/yum/cvs.ptml - yum tarball http://linux.duke.edu/yum/download/2.4/yum-2.4.0.tar.gz - plugin links http://wiki.linux.duke.edu/YumPlugins http://linux.duke.edu/~skvidal/lca-yum-tutorial/plugins/ - yum-utils links http://linux.duke.edu/projects/yum/download/yum-utils/ cvs: http://devel.linux.duke.edu/cgi-bin/viewcvs.cgi/yum-utils/