= OS Errata Management and Deployment = [[TracNav]] [[TOC(inline)]] Quattor can greatly help with OS errata deployment. QWG templates has a few specific features and tools to help managing them. == Downloading RPM Errata == RPM errata should normally be downloaded from the official public servers for the distribution you use. With Scientitific Linux it is possible to use `rsync` to syncrhonize a local directory with the official repository. The rsync official URL prefix is: * For SL4: {{{ rsync://rsync.scientificlinux.org/scientific/VERSION/ARCH/errata/SL/RPMS/ }}} * For SL5: {{{ rsync://rsync.scientificlinux.org/scientific/VERSION/ARCH/updates/security }}} GRIF tends to have a rather up-to-date mirror of these repositories that you can access with http at: {{{ http://quattorsrv.lal.in2p3.fr/packages/os/VERSION/errata }}} These are just suggestions, there are many way to synchronize with a reference repository, including YUM and a script provided by SCDB, [source:SCDB/trunk/utils/misc/sync-os-errata utils/misc/sync-os-errata], to do it in a cron job using `rsync` or `wget`. == Generating Templates for OS Errata == After downloading the RPM errata, it is necessary to generate a template that will be used for deploying them. This is done with SCDB script [source:SCDB/trunk/utils/misc/rpmErrata.pl utils/misc/rpmErrata.pl]. This script accept one argument which is the name of the local directory containing the errata and configured as a SCDB RPM repository. It will produce on stdout a template with a `pkg_ronly` entry for the last version of all RPMs found in the directory passed to the script. The output must be redirected to a template. For example, assuming your RPM errata for SL 4.7 x86_64 are located in directory `/www/htdocs/packages/os/sl470-x86_64/errata`, the command would be: {{{ utils/misc/rpmErrata.pl /www/htdocs/packages/os/sl470-x86_64/errata/ > cfg/os/sl470-x84_64/rpms/errata.tpl }}} In the resulting template, due to the specificities of upgrading kernels, kernel entries are commented out. See later for kernel upgrade specificities. As the template use `pkg_ronly()` SPMA function, the errata will be included in the configuration only if another version of the same package and architecture is already part of the configuration. ''Note: normally, the template generated can be used as it is without any manual edition. Because `pkg_ronly` only replaces a RPM already part of the configuration, this may not work in the very rare cases where a RPM is renamed. In this case, you need to manually update the template to replace `pkg_ronly` by `pkg_repl` (same arguments) and add a line for the old package name (only argument) with `pkg_del` to remove the old package. This is also necessary for kernel modules where the kernel version is part of the RPM name for the module.'' == Deploying OS Errata ==