Mar
07
2007

ZEN and YaST Updater Issues, openSUSE 10.2

Update, Dec 07: Have successfully removed ZENworks/zmd, solving all problems described herein. See post of 12-Dec-07.

My happiness with openSUSE 10.2 disappears when the Zen Updater runs. Every time it starts, does an update, restarts, etc, update-status (a compiled 64-bit executable, not a Perl or Python script) runs for 5-7 minutes with 99% cpu usage.

Others have complained about this problem, so it’s not just my installation. When I first wrote this, I had a couple of angry paragraphs about the ills of ZENworks and zmd. Since then, I located a more well-reasoned critique of ZENworks (complete with screen shots). It reviews openSUSE 10.1, but most everything still applies.

I started YaST, Software, Online Update Configuration. This turns out to be a canned task that accepts no user input and assigns you randomly to a SUSE update repository each time it runs. So I was moved from utah.edu to somewhere else (with a couple 6 minute update-status runs thrown in).

How shall I deal with ZENworks? First I read an article in SUSEWiki.org on Adding YaST Sources. This discussed how to use a local ISO file instead of the installation CD as the main package catalog, and pointed out a second, YaST update configuration screen: YaST, Software, Installation Source. This is the familiar YaST interface that allows one to configure all package and update repository catalogs.

A log of the various steps I tried (long and tedious, scroll down to the Conclusions):

  • YaST, Software, Installation Source.
  • Add, Media Type -> Local Directory.
  • I checked the ISO image box, browsed to my new /iso directory where I had placed the 10.2 ISO image.
  • YaST scanned the image and a new “Configured Software Catalog” appeared.
  • To test, I turned the Status Source Setting to Off for the DVD, left the “Synchronize with ZENworks option turned on, and clicked Finish.
  • A “synchronizing with ZENworks” info box appeared, so off to the kitchen for a snack during a few minutes of parse-metadata followed by another 6 minutes of update-status.
  • Started YaST, Software, Online Update (called YOU in SUSE 10). It suggested an update to Firefox 1.5.0.9, which I new was wrong because openSUSE 10.2 is on 2.0. Where did the problem come from: using YOU, or the ZEN reconfig that switched repositories?
  • Installation Source GUI confirms my ISO catalog and the osuosl.org update catalog are both 10.2. Software Management GUI shows the correct version of Firefox currently installed.
  • Noticed in the ZEN Software Updater, Configure, that one of the catalogs I had deleted with YaST still appeared. I removed it here also, and the process took only a few seconds! Something is different with update-status.
  • Lots of changes through two separate interfaces, so let’s reboot … update-status ran less than 2 min, but both zen-updater and YOU don’t present the correct pending updates.
  • Tar file of /var/lib/rpm, then rpm –initdb; rpm –rebuilddb to see if rebuilding the RPM database would fix things. The dates on the DB files were no different upon completion.
  • Hid the files, re-ran rpm, no new rpm databases appeared. Apparently rebuilddb is no longer functional. Replaced the files, now YaST Software Management looks normal again. ZEN’s database seems to be in /var/lib/zypp.
  • Perhaps the ZEN Management Daemon (zmd) is responsible. Crossing my fingers, I ran Online Update Configuration again. update-status completed in less than a minute. ZEN failed, saying that it had updated YaST (ftp.ale.org this time) but could not update ZEN. Indeed ZEN still retains the old update repository.
  • Started YOU, and the correct updates appear!
  • Accepted all updates, and they installed correctly, even the Nokia one that had choked ZEN, starting this problem in the first place. Also, new dates have appeared on all of the /var/lib/rpm database files, so they are apparently okay.
  • Read some Novell instructions and decided to add a third party repository packman.unixheads.com/suse/10.2 which now appears as a YUM repository. This triggered “synchronizing with ZENworks”; let’s see if the YUM update repository gets fixed.
  • The ZEN updater is now showing the exclamation point. It wants to update a bunch of packages that I don’t have installed, packages from packman apparently. I guess it thinks this is the update repository. I turned off packman in the configure screen.
  • update-status ran 3 minutes with packman added. So it appears that nothing was wrong with my system: ZEN is just cpu intensive.
  • YaST, Software Management now shows ksensor, which I know is from packman. Installation was successful.
  • YaST Online Updater is currently working fine with one update catalog and ZEN now presents only the local ISO catalog. Bad news. Options:
    • Keep re-running YaST Online Update Configuration until ZEN installs a catalog that both it and YaST accept. But I’m worried that I’ve broken ZEN somehow and it won’t accept any catalog.
    • Switch the panel updater applet from ZEN to YaST (an earlier post describes the controlling /etc/sysconfig option). Does this also turn off zmd?
    • Make no changes. See if the ZEN applet shows new updates. If not, periodically run YOU to check. Take further action in the event that YOU shows updates and ZEN does not.
  • I don’t know what process updates the rpm database and since rpm –rebuilddb was shown to have no effect, I’d better make sure to make a copy of the database before doing anything risky.

Conclusions:

  • ZEN processes (zmd, parse-metadata, update-status) are cpu intensive. With no progress bar or feedback of any kind in zen-updater to show concerned users what’s happening, it’s easy to think “infinite loop” when cpu times skyrocket. But it’s probably just a catalog that takes a long time to process.
  • ZEN’s configuration of and interaction with YUM update catalogs is fragile. Running YaST, Online Update Configuration to assign a different update catalog is a good option to solve unexplained updater failures and error messages. Sometimes it must be run more than once. Consider it a ZEN reboot.

Current Status:

  • Both YaST and ZEN have accepted the switch from the DVD to the local ISO file that I installed. So I won’t ever need to load the DVD again. Excellent – will add this step to my Linux upgrade checklist.
  • I now better understand the repositories and DVDs. The retail package DVD (which is double layer) contains noarch, i586, and x86_64 packages for both oss and non-oss. My downloaded ISO DVD image is missing i586 packages. Online repositories have all architectures, but are split between oss and non-oss. I need a source for oss and non-oss i586 packages. Options:
    • Add two online i586 repositories. But update-status run times might return to 6 minutes.
    • Download the i586 DVD ISO image and install that locally.
  • Re-ran YaST Online Update Configuration, ZEN installed mirrors.usc.edu successfully such that both zen-updater and opensuseupdater report the same updates.
  • Switched the panel updater applet (/etc/sysconfig/sw_management) from the zlm (zen-updater) update manager to opensuse. The SUSE updater now appears (but only in KDE because the updater applet is part of KDE).
  • My updating process now looks like it did in SUSE 10.0: the GUI that resembles the package installer with the detailed progress log above and the double progress bars at the bottom. I left the “sync with ZEN” option turned on.

Other information related to package updating:

  • Offical openSUSE pages: Using the ZEN Updater, Package Repositories.
  • From a LinuxQuestions.org post:

    – only common lib is libzypp. For example I deleted all zmd/mono/rug (with exception of single libzypp) and I am using Yast/smart only.
    – rpm db is common to all package managers otherwise eat time you would use different PM different installed/not installed packages would be shown.

  • The SMART Package Updater was recommended by a forum post, but a detailed, multi-step installation process and co-existence with ZEN are concerns.
  • The Package Management Category at SUSEWiki.org is the source for several of the above links. Other links on Finding RPMs and Package Database Management might be helpful.

posted in opensuse, SUSE, SysAdmin, YaST by Bozzie

5 Comments to "ZEN and YaST Updater Issues, openSUSE 10.2"

  1. NeoArch wrote:

    I feel your pain. I detest Yast right now. Using Yum with Fedora is much easier.

  2. Alistair wrote:

    Sad!

    I found SuSE way back, (Version 7?? – 2.0.3? kernel) and thought it the best. I paid money for just about every 8.x and 8.x version and even 10.0! It was then, it all went wrong.

    10.2 is lovely to use – it really is! But the entire software installation and maintenance system is FUBAR, and it has been so since 10,0. I maintain two SUSE and three Kubuntu machines, and SUSE is a pain and Kubuntu is a dream, when it comes to installing and maintaining software. For a user, I think SUSE is better; for the administrator, Kubuntu is much better.

    Of course, SuSE was always enlightened in its support for ReiserFS and KDE. Now, SUSE appears to like Gnome and EXT3. Not for me and my users!

    So, where to go? Kubuntu is my best bet for now.

    A

  3. Alistair wrote:

    Should be:

    “just about every 8.x and 9.x version”

    rather than:

    “just about every 8.x and 8.x version”

    A

  4. Ricardo wrote:

    I definitely agree with most of you guys… having to deal with zenworks is a pain in the bu…,

    Currently I have triboot system (Open SUSE 10.2, Ubuntu 7.04 and Windows Xp) with the two linux distros sharing the /home directory and when it comes to a friendly windows-like interface Open SUSE is the way to go but if you want to update your system Ubuntu is way way way better. Faster and more reliable than trying to use the Zenworks thingy.

    A trick that works sometimes is updating via Yast. Go to Yast -> Software -> Online update. It works most of the time without complains (as opposite to zenworks).

  5. site wrote:

    hi

    will read it later

 
Powered by Wordpress and MySQL. Theme by openark.org