Category Archives: Linux

Xen, LVM, and Grub

I ran into an interesting problem with my new server the other day.

Due to a hardware problem with an external USB hard drive, I had to reboot the XEN host.

I had to do the reboot remotely … so I couldn’t intervene if something went wrong.  Yes, you guessed it, something did go wrong.

When I finally got home I found the system trying to boot ‘bree’ … which is one of the XEN guest machines.

Continue reading

CentOS Upgrade

Well, I’m pretty pleased with CentOS so far.

I just completed a minor version upgrade (5.5 to 5.6) via yum and it went very smoothly.  This involved 3 virtual guest and one host (the guests run inside the host).

I had one small glitch with the RPM database on middle-earth.  Some dependencies were screwed up, but that was corrected by running yum clean all.

In order to speed things up, I’m going to be mirroring the most current CentOS package repository on middle-earth … that way I can get the updates done much quicker (installs too).

Of course I still have to move a bunch of the applications to the virtual machine’s.  I think I’m close to being able to retire gondor.  Moving rivendell is going to a major effort.

Temporary LIBXML2 solution

Ginny has been bugging me about the problem she’s been having posting to her blog from the iPhone and other third party tools that she uses.

The problem has been narrowed down to a bug in LIBXML2 that causes leading angle brackets “<” to be stripped off of posts when processed through the XMLRPC support in PHP.   I logged the issue in the WordPress bug tracker, and the consensus is that the problem started manifesting after an automatic update applied by Fedora 8.

Well, to solve the problem I’ve moved Ginny’s blog to a temporary server running in a base Fedora 8 install in a VMWare instance.   Luckily WordPress stores most of it’s content in the MySQL database (not the images, unfortunately).   A bit of NFS magic to mount the appropriate directory in the virtual system, and it’s working fine.   The server itself only has Apache, PHP, MySQL client, SSH, and a few other bits & pieces to keep it running.   No automatic updates, GUI, compilers, etc.

Once the bug is fixed (either WordPress, using a different XML processing mechanism, or LIBXML2) I’ll move her server back to the main server.

In the mean time, her blog is going to run in the virtual machine ‘Hobbittown’ (named because it’s small).

SpamAssassin problem on Fedora 6

Yesterday I found that the RPM database on my Fedora Core 6 linux system’s were corrupted and that the regularly running update process was failing (without telling me, unfortunately).

After fixing the RPM database problem (rm -f /var/lib/rpm/__db.* && rpm -vv --rebuilddb) and running the update (yum update), I found that SpamAssassin’s update process wasn’t working anymore.

root@rivendell ~]# sa-update
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Scalar/Util.pm line 30.

Apparently one of the updates that were applied in the mass update caused SpamAssassin to break.

The same problem occurred when I tried to test the SpamAssassin rules.

root@rivendell ~]# spamassassin --lint
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Scalar/Util.pm line 30.

A bit of research turned up this link.

Luckily the fix was fairly easy … just update the Scalar-List-Utils CPAN package …

perl -MCPAN -e 'install "G/GB/GBARR/Scalar-List-Utils-1.18.tar.gz"

… and everything worked fine again.

Upgrade Complete

Well, I finally got my Linux systems upgraded … both Rivendell & Gondor got upgraded to Fedora Core 6 this weekend.

There were a few minor glitches … but nothing that couldn’t be handled.

One thing that was kind of annoying is the fact that the Apache config (httpd.conf) was replaced on both servers (the original was backed up to a ‘rpmsave’ file). This, in itself, wasn’t that big a deal … but I wasn’t expecting it.

I have an idea for a good open source project … that could be incorporated into new distribution releases … an “Upgrade Impact Analysis” tool. It would evaluate your existing configuration, compare to what is known about a new distribution, and tell you what config files could be used without modification and which files would have to be reworked.

Another problem I had, which had me worried, was the fact that I couldn’t get ClamAV to rebuild. After a bit of research, I found that my linker configuration file ‘ld.so.conf’ had a ‘/usr/i486-linux-libc5/lib’ listed. This has to be left over from one of my older Redhat installs. The files in that directory are timestamped April 15th 1999. To be honest, I’m shocked I was able to build anything with that old code in the linkers configuration. Luckily, simply commenting that line out fixed the problem.

So far everything seems to be working OK, so I’m cautiously optimistic.