Yum appears to be a front-end written to both exploit Red Hat's rpm and make up for its shortcomings; namely rpm cannot do dependencies for itself, whereas yum can. Also yum can update groups of computers apparently, but I haven't explored that as yet.
Unfortunately the way it is installed it does not run nightly updates automatically! How did I discover this? For some reason I decided to check the status of the services for what was running and what wasn't, using '/sbin/services --status-all'. Apart from what I was looking for I noticed that the yum entry declared "Yum nightly update is disabled" telling me that the server wasn't going to keep itself up to date even though it is running all the time. This is similar to the situation with up2date, a more intelligent utility than rpm. My remedy for up2date was to write a tiny bash script:
#!/bin/bash
up2date --update
This I placed in the '/etc/cron.daily' directory so that it was run at the time set by cron for daily jobs, which is just after 4:00am.
A little digging around for yum showed me that things are a little more advanced with yum but not to the point of running it as a daily job from cron as a default; there is a script called yum.cron that is installed into the '/etc/cron.daily' directory, but with the automatic update being disabled nothing was happening - obviously! The $64k question of course was why? As an experiment I tried '/sbin/ service yum start' and was gratified to see that the service was now started, this being confirmed by using service's --status-all option immediately after by "Yum nightly update is enabled". But, after a reboot things were back to normal with yum nightly update disabled again! :-(
This paragraph is historical now, to actually remedy yum skip to the postscript at the bottom of the page. So the next step was to get yum starting automatically. Following a bit more digging around on newsgroups for info, an inspection of '/etc/rc.d/init.d' directory showed that there is a script called yum in it. But on checking '/etc/rc.d/rc3.d' and '/etc/rc.d/rc5.d' I discovered that while there were K (kill) symbolic links to it there were no S (start) links. So I placed a symbolic link 'S96yum' in to both rc3.d an rc5.d directories linked to the yum init script using 'ln -s S96yum ../init.d/yum'. Success! Upon reboot the status of yum was that nightly updates were enabled.
So now my Linux boxes that are running all the time all check for updates nightly. (I guess I ought to change the cron timings so they don't all do it at the same time!) :-(
P.S. If smartd is driving you mad by failing on startup because you are using v3 of VMWare or have "less than very new" hard disks, then use this command to turn it off. On my set up it is on by default in runlevels 2 - 5. Just run '/sbin/chkconfig --level 2345 smartd off'
POSTSCRIPT: I later found out that there is a much easier way that messing around with the rc.d sub-directories. I came across the command 'chkconfig'. At its simplest you enter '/sbin/chkconfig --list' and it tells you whether a service will be on (started at boot) or off (not started at boot). To set yum to run nightly updates you need to make sure that the it is configured to start in runlevels 3 and 5. The command is '/sbin/chkconfig --level 35 yum on'. Check it by '/sbin/chkconfig --list yum' and it will show you just the yum entry.