I have an updater setup in SUSE 10.1 which seems to work now. There are a few gotchas though. I'd recommend only using the command line tools, as the graphical tools seem to crash too often, leaving the ZMD backend in an unknown state. Also, although it looks like you're supposed to be able to install and remove software without being the superuser, it doesn't seem to work, so I do everything as root (using su).
First you have to register your machine. You can use the graphical version in YaST, but that didn't work for me, so I used suse_register -n from the command line. (If I didn't use the '-n' option it kept killing my network connection somehow!)
Although you can add just about any URL using rug and it says that it has added the service okay, you have to make sure you use the correct URL otherwise strange things happen. Also, if you did use the graphical tools to add a service and used spaces in the service names, they won't work.
First I had to add update services to the updater, whatever it is called (ZMD?). Please note that the name of the KDE-3.5-supplementary service is important - it doesn't seem to work if you give it a different name.
rug sa --type zypp ftp://ftp.mirrorservice.org/sites/ftp.suse.com/pub/suse/update/10.1/ SUSE-Update
rug sa --type zypp ftp://ftp.gwdg.de/pub/linux/misc/packman/suse/10.1/ Packman
rug sa --type zypp ftp://ftp.mirrorservice.org/sites/ftp.suse.com/pub/suse/i386/supplementary/KDE/update_for_10.1/yast-source/ KDE-3.5-supplementary
rug sa --type zypp http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/ SUSE-Guru
You can list the services using rug sl.
Then you have to subscribe to these services:
rug sub SUSE-Update
rug sub Packman
rug sub KDE-3.5-supplementary
rug sub SUSE-Guru
You can list the subscriptions using rug ca.
You can type rug on its own to view a list of available commands. Some useful ones I've used are rug search package, rug install package, rug remove package, rug patches and rug update.
I find it useful to have another couple of shells open watching the tail of the zmd log files, just so I know whether something is happening or if it's all given up:
tail -f /var/log/zmd-backend.log
tail -f /var/log/zmd-messages.log
I haven't found an easy way of just getting rug to update a package to a newer version from another server. For example, I had Amarok 1.3 installed on my computer, and this morning I wanted to upgrade to version 1.4 from the Guru repository. The only way I found to do it was to remove the existing version and the install the new version by specifying the version number:
rug remove amarok amarok-helix amarok-libvisual amarok-xine
rug install amarok-1.4.0_0.3c amarok-helix-1.4.0_0.3c amarok-libvisual-1.4.0_0.3c amarok-xine-1.4.0_0.3c
If anyone knows a better way, please let me know.