This section describes some sample configurations. For a list of all available options please refer to the man page or use autoupd --help to get a list of all command line options.
# /etc/autoupdate.d/autoupdate.conf Verbose=1 Quiet=0 Warnings=1 RPMNameWarnings=1 DoUpdate=1 DoInstall=0 DoKernel=0 DoInitRD=1 DoBoot=1 DoDld=1 DoMerge=0 DoPurge=0 CleanUp=1 CleanUpKernel=1 #BootManager=lilo BootAddAsNew=0 KernelExt=smp,enterprise,bigmem,debug,BOOT Repackage=0 #QueryHeaders=1 #QueryDatabase=1 CheckSig=0 CheckGPG=0 Resolve=1 DldUseDB=1 BestMatch=1 RemoveBad=1 Recursive=0 UseLWP=0 #LWPProtocols=http,https DoLog=1 #LogFile= #PostUpdateScript=/sbin/SuSEconfig #PostDldScript= DefaultUser=anonymous DefaultPass=`echo autoupdate@`hostname -f`` DistVersion=`/etc/autoupdate.d/distversion.sh` ShellEscapes=0 UpdateDir=/var/spool/autoupdate RPMDir= DldMatch=0 MergeMatch=0 #Exclude=^k_ #Include=and
# /etc/autoupdate.d/redhat.dld Host=ftp.redhat.com DldAll=1 FTPRetry=2 FTPWait=10 DldRecursive=0 Passive=1 Dir=/pub/redhat/linux/updates/#DistVersion#/en/os//Just type autodld. This will download all new updates from ftp.redhat.com and upgrade your system. The double slash at the end of the ftp directory will make AutoUpdate check all sub directories corresponding to architectures suitable for your system (e.g., noarch, i386, i586 on a Pentium PC). Moreover, linking autodld to /etc/cron.daily will check for updates every day and you (root) will get a list of all rpms which have been upgraded via email.
Some remarks: CleanUp=1 will remove all rpms which have been upgraded. If you set it to CleanUp=0 and DoPurge=1 the latest version of each rpm will be kept. BestMatch=1 will ensure that only the rpm which matches your system best is fetched, that is, if you run it on an i686 it will only download the i686 kernel and not the i386 one. RemoveBad=1 will remove bad rpms (e.g., those from an incomplete download) before downloading any new ones. In addition, you can also use Exclude, Include patterns to control which packages should be considered during upgrade. Kernel packages will be handled separately, in particular, no exclude patterns are needed. Note, however, that excluded packages will still be downloaded (unless you use DldMatch=1), such that you know they are there. (Of course you can also set up patterns for each ftp site.)
# /etc/autoupdate.d/autoupdate.conf Verbose=0 Quiet=0 Warnings=1 DoUpdate=0 DoInstall=0 DoKernel=0 DoInitRD=1 DoBoot=1 DoDld=1 DoMerge=0 DoPurge=0 CleanUp=0 CleanUpKernel=1 BootAddAsNew=0 KernelExt=smp,enterprise CheckSig=1 CheckGPG=0 Resolve=1 BestMatch=0 RemoveBad=1 Recursive=0 #PostUpdateScript= #PostDldScript= DefaultUser=anonymous DefaultPass=`echo autoupdate@`hostname -f`` DistVersion=`cut -d" " -f5 /etc/redhat-release` ShellEscapes=0 UpdateDir=/usr/src/redhat-#DistVersion#/updates InstallDir=/usr/src/redhat-#DistVersion#/newrpms RPMDir=/usr/src/redhat-#DistVersion#/RedHat/RPMS DldMatch=0 MergeMatch=0In addition, I use DldAll=1 for the RedHat updates and DldAll=0 for all others (e.g, PowerTools).
From /etc/cron.daily I run
#!/bin/sh autodld --noverbose --distversion 7.1 autodld --noverbose --distversion 7.2on the server and
#!/bin/sh # Sleep some random time between 0 and 2 hours sleep $((RANDOM % 7200)) export HOME=/root RHDIR=/auto.mnt/redhat # Upgrade rpms autoupd --noverbose --kernel --updatedir $RHDIR/updates --rpmdir $RHDIR/RedHat/RPMS # Install new rpms autoins --noverbose --updatedir $RHDIR/newrpms --rpmdir $RHDIR/RedHat/RPMSon the clients, where /auto.mnt/redhat is the /usr/src/redhat-7.{1,2} directory (auto)mounted via nfs from the server. New rpms can be installed on all clients by copying them to the newrpms directory.
Finally, you can use the --merge option to replace all rpms in your distribution with the updated ones. Similarly, --purge will remove old versions from the updates directory.