Troubleshooting zmd
From openSUSE
Contents |
rug can't add new unsigned repositories
If you're trying to add a custom repository and you got an error like this:
# rug sa --type=YUM http://foobar.com/sled-10-i586 foobar-sles Adding YUM service http://foobar.com/sled-10-i586... 33% ERROR: Could not add 'http://foobar.com/sled-10-i586': Failed to parse XML metadata: Unsigned file '/repodata/repomd.xml (file:/var/cache/zmd/web/files/foobar.com/sled-10-i586/)'
Solution 1: Have the repository cryptographically signed
For YUM repositories it is a very easy process, documented in Secure Installation Sources.
Solution 2: As root, run the next command
rug set security-level checksum
and then try to add it again. You will be able to see the repository and the catalog.
Note that this is insecure and allows remote attackers that are able to modify this repository or your internet access to run code on your machine.
Debugging
From time to time you may encounter problems or bugs with zmd. zmd has options that can facilitate tracking down the source of these problems.
zmd log files
The ZMD suite maintains two log files: zmd-messages.log and zmd-backend.log. The first of which is kept by the actual zmd process and the second is kept by the zypp helper programs. These files are usually kept in /var/log but may be elsewhere depending on your install prefix.
The file /var/log/messages also contains some zmd logging information which maybe helpful in troubleshooting zmd
zmd debugging preferences
There are a couple of preferences that would be of interest to anyone trying to obtain information pertaining to the cause of a bug. These are:
- log-exception-traces: This preferences tells zmd to record the origin of any exception thrown while executing. You may want this to be set to "True":
rug set log-exception-traces True
- log-level: This just tells zmd what degree of messages to log. You may want to set this to "debug":
rug set log-level debug
- log-soap-xml: This tells zmd to log all incoming soap xml calls, useful for debugging remote zmd operation. You may want to set this to "True":
rug set log-soap-xml True
- syslog-level: This is similar to "log-level" except this applies to the syslog. You may want to set this to "debug":
rug set syslog-level debug
To execute these commands you may need to be root or use sudo.
Note: to get a listing of the current settings type
rug get-prefs
Rebuild the zmd database
Sometimes there is nothing left to do but nuke and pave:
- Stop the
zen-updater(this is the panel icon/updater GUI)
killall zen-updater
- Stop
zmd
/etc/init.d/novell-zmd stop
- Remove the zmd database
rm -f /var/lib/zmd/zmd.db
- Restart
zmd
/etc/init.d/novell-zmd start
- Restart
zen-updater
zen-updater &
- Rebuild the RPM database
rpm --rebuilddb
Similar instructions can be found on the Novell ZMD troubleshooting tips page.

