Troubleshooting YUM, RPM, and Updates

InterWorx is still showing the old version number following an update, how do I fix this?

Whenever the InterWorx rpm’s are updated, a script is executed which performs any needed changes to your system, including updating the InterWorx version number in the iworx.ini file. This problem generally happens because that script failed for some reason.

To verify that this is indeed the problem please run the command rpm -qa | grep interworx

[root@iworx ~]# rpm -qa | grep interworx
interworx-siteworx-2.1.3-10.iworx
interworx-2.1.3-10.iworx
interworx-nodeworx-2.1.3-10.iworx

The rpm’s listed should be the curren version.

  DO NOT just edit the version number in the iworx.ini file to fix this problem as this is only one of many changes made by the upgrade script, and failure to make those changes will leave your server in an unstable state.

The best way to fix this problem is to FORCE upgrade the three InterWorx rpm’s, interworx, interworx-siteworx, and interworx-nodeworx. It is best to execute those in ONE COMMAND and in that order - interworx-nodeworx is the package which runs the update script.

e.g. -- no line breaks!

rpm -Uvh --Force http://updates.interworx.com/iworx/RPMS/noarch/interworx-2.1.3-10.iworx.noarch.rpm 
http://updates.interworx.com/iworx/RPMS/noarch/interworx-siteworx-2.1.3-10.iworx.noarch.rpm  
http://updates.interworx.com/iworx/RPMS/noarch/interworx-nodeworx-2.1.3-10.iworx.noarch.rpm 

  If you copy and paste this code please remember to substitute the version numbers for the most current versions.

How do I prevent a particular RPM package from being overwritten by an update?

  1. Open /etc/yum.conf
  2. Locate the line exclude= and make it exclude=packagename
  3. Save the file.

 Additional packages can be added to the liste separated by commas, e.g. exclude=package1,package2,package3

YUM isn't working. Help!

Are you running CentOS 3.4?

CentOS has changed it’s repository to make the update from CentOS 3.4 to 3.5 (and other incremental updates) automatic.

There was a glitch in this update which you may have encountered and may be repeated.

  1. cat /etc/redhat-release to verify your OS version
  2. rm /var/lib/rpm/__db* (removes your rpm database files, you may need to use rm -f )
  3. rpm --rebuilddb (recreates the yum database)
  4. yum erase zsh (uninstalls the package zsh)
  5. yum install zsh (reinstalls the package zsh)
  6. yum update (updates any needed packages)

In case you’re wondering, zsh is one of the misc. shells that are available, it’s not required. But there was some problem with yum not being able to update it because of an error in the 3.4 version of the zsh RPM. The result would be yum update always trying to update zsh, and it never succeeding, until you explicitly erase the old version and install the new version.

 If you receive the error: rpmdb: Program version 4.2 doesn’t match environment version - repeat the steps above.

In YUM, I'm getting the message "Package glibc-dummy-centos-3 needs glibc-common = 2.3.2-95.33, this is not available." What's wrong?

Below is the output i receive of ‘yum update’ to search for updated packages:

[root@heather domains]# yum update
/usr/lib/python2.2/site-packages/libxml2.py:1: 
RuntimeWarning: Python C API version mismatch for module libxml2mod: 
This Python has API version 1011, module libxml2mod has version 1012.
Gathering header information file(s) from server(s)
Server: CentOS 3 - Addons
Server: CentOS 3 - Base
Server: CentOS 3 - Extras
Server: InterWorx-CP - CentOS 3
Server: InterWorx-CP - Generic
Server: CentOS 3 - Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
....Unable to satisfy dependencies
Package glibc-dummy-centos-3 needs glibc-common = 2.3.2-95.33, this is not available. 

Make sure glibc* is in your yum exclude list in /etc/yum.conf and that may fix this. It’s a VPS specific issue and stems from Virtuozzo’s “dummy” packages not being directly updatable.

I am on a VPS instance. I'm running out of disk space but InterWorx says I'm hardly using any.

This happens on InterWorx users who installed InterWorx on a VPS that didn’t come with InterWorx bundled with it.

 The total size of all SiteWorx accounts on the SiteWorx accounts page is NOT your total disk space used. The main NodeWorx screen and the command df -h will show your actual usage.

Virtruozzo comes with a set template of packages installed with specific versions which are maintained by the server admin. These files are NOT counted toward your VPS instance quotas. If you get a vps bundled with InterWorx then InterWorx and the other packages it requires are included in the template and thus not counted. When you don’t then they are counted.

When InterWorx installs itself, it also installs many other packages which it requires to function, some of these are already installed and up to date and thus not reinstalled or updated. The remainder are installed by YUM when you install Iworx and thus count toward your disk quota. It is not unusual to use close to half of your VPS disk quota just using Iworx on an initial install.

From that point on every update YUM applies to the system uses more and more disk space. CentOS’s will automatically attempt to upgrade your distro with each point release. Virtuozzo does not do this immediately because SWSoft does not support the newest point releases of CentOS immediately.

When a distro update happens, YUM will still install all of the RPM‘s it can (except redhat-release the package which actually changes the distro info) so a lot of packages are installed at once and quickly fill up your quota. This is probably what is happening.

There are three solutions to this:

  1. Purchase a VPS from a provider who bundles InterWorx with their VPS‘s
  2. Purchase more disk space for your current VPS instance.
  3. Turn OS auto updates OFF in NodeWorx

We recommend 1 or 2 if at all feasible. Solution 3 should only be used as a temporary measure due to possible security concerns caused by out of date packages.

COPYRIGHT © InterWorx L.L.C. 2004-2008 PRIVACY POLICYEULA