Ugh

Matts on 2002-04-07T19:41:21

Ugh just about sums up my weekend. I spent most of Saturday day, all of Saturday night, and almost all of Sunday, upgrading Ted, the computer that runs axkit.org.

This was problematic for a few reasons:

1. I could no longer get security updates for the version of Linux I was running (Mandrake 7.0). This upsets me a lot, but I guess you get what you pay for (yeah, I know MS also deprecates versions of their OS, so I guess the whole world sucks today ;-). The upshot is I needed to upgrade my entire OS.

2. I don't own a CD burner, so no CD upgrades. Must be a network upgrade.

3. I wanted to move to an "apt" capable distribution. urpmi is nice, up2date is nice. apt is just nicer.

4. I wanted to play with KDE3. I have this on my laptop and it makes me more productive. Really.

5. I wanted to do the update directly via apt. This worked OK on my laptop so it would work ok on my server, right?

6. All this with minimal downtime required.

I decided to go for a completely new Linux distribution - Conectiva Linux. They are the guys who ported apt to support rpm (instead of dpkg) and they're fully behind apt - to the point that their snapshot distribution is available via apt. So that's what I went for - Conectiva Snapshot. (oh, and Conectiva are so far the only guys who ship AxKit with their distro ;-)

So I installed apt and set about doing the upgrade. It took most of the day to download the 500 rpms that needed updating, then a good couple of hours sorting out the broken dependencies. Finally it installed everything. I did a lot of checks to make sure it would come back up, and rebooted. Up she came. But no X. Next time up everything seemed OK, and I installed some necessary bits and bobs to get X up. I got a few lock ups along the way, but I dismissed them as configuration issues that I would iron out.

Once I got X up, I discovered that I couldn't su. It just locked up solid. I tried from the console. Same thing. Then I tried logging on multiple times - and got lock ups once again. Eventually I found out that it was /bin/login locking up. An strace revealed it was going:

ioctl(0, SNDCTL_TMR_CONTINUE, {B38400 opost isig icanon echo ...}) = ? ERESTARTSYS (To be restarted)
--- SIGTTOU (Stopped (tty output)) ---
--- SIGTTOU (Stopped (tty output)) ---
Over and over and over ad-infinitum.

A search revealed very little - two people had the same problem but with different setups. Two. Bizarre. I'd never seen such strangeness. And I had no idea what SNDCTL_TMR_CONTINUE on STDOUT was supposed to do (there are no docs to be found on this).

I did everything to try and debug this. I installed different kernels (including the stable Red Hat linux 7.2 one). I re-installed RPMs. I recreated /dev. I tried to use devfs. It was truly horrible. In the end at 2am I slunk into bed without a clue how to fix it.

Of course, as always happens, I woke up with ideas. I completely cleaned out /etc/rc.d/rc.* and re-installed all the RPMs for those files. Reboot. It worked. IT WORKED!. Wooohooo! Actually I was too tired to celebrate that loudly, but whatever...

So after that I just had to get everything working again that wasn't RPM based: Perl, Apache, mod_perl, AxKit, qmail, firewall, tinydns, courier imapd, and a few other bits. Oh and of course make sure everything worked from both inside and outside the network.

Well it all took me way too long, but I'm very happy with the results. My desktop feels much faster - like a new computer. I'm now on Perl 5.6.1 (after all that time on 5.00503). And I'm running KDE3 here, which is nice to use.

After all that, our radiators have been making a hell of a racket lately. So I ventured up into the loft to check out the header tank. Needless to say it was full of crap. So I emptied it with a bucket (because I didn't want to send all the crap down the system) and now will have to get some radiator flush. My hands are now full of fibreglass splinters from moving the insulation around.

Ugh.


And now you know...

djberg96 on 2002-04-07T20:08:49

Why Windows will continue to remain the #1 desktop system. Your experience with bizarre startup/X/whatever problems are not uncommon with Linux, and I've had them myself.

That being said, I'm going to order Suse Linux 8.0 when it comes out on April 22nd (or maybe I'll just buy it at the store). Easy installation, KDE 3, the works. Dunno if it comes with AxKit or not, though. :)

Re:And now you know...

Matts on 2002-04-07T21:39:10

Windows can have the desktop market. I don't care. Frankly all forms of Unix are for advanced users, with the possible exception of Mac OS X, but I think you'll find you can't really do a complete "distro" or packaging system switch with OSX.

Personally though I've had exactly the same sorts of problems with various forms of Windows over the years. Only you don't really get a chance to debug it with Windows, so you're stuck with one option: reformat and start again. I don't know anyone who would do a major Windows OS upgrade without expecting to lose their filesystem if things go wrong. Linux is superior in that regard, but it's only relevant for advanced users.

On the flip side, I had a friend install the latest version of Linux Mandrake the other day. He's a hard core Windows guy, and always pulled my leg about running Linux. But the install and the subsequent usability of it changed his mind - he said it was easier to instlal than Windows XP, and even detected things like his USB scroll mouse.

Re:And now you know...

djberg96 on 2002-04-07T23:31:38

Oh, hey, don't get me wrong. I like Linux - I've had different flavors on my machine before (usually Mandrake), but usually something started to go wrong (usually X), and I'd get fed up and rip it off, or I just needed the disk space. You're right about the installation process - that has come a long way for Linux. I remember the first time I installed Slackware Linux back in '96. El Stinko.

I'm also intrigued with OSX as it seems to have the best of both worlds, though I would rather BeOS had done well instead. I'm waiting for the G5's (G5's where are you?) to make any serious decision.

As for Windows, I can't get rid of it simply because its the only OS so far that has drivers written for my peripherals. We'll see how Suse 8.0 does. If it *does* support my peripherals, Windows could seriously be relegated to a games-only OS for me.

Axkit only in Conectiva?

jbisbee on 2002-04-08T13:02:49

> oh, and Conectiva are so far the only guys who ship AxKit with their distro
That's not true. Debian has Axkit in both 'testing' and 'unstable'.

> apt-cache show axkit
Package: axkit
Priority: optional
Section: web
Installed-Size: 1000
Maintainer: Ardo van Rangelrooij
Architecture: i386
Version: 1.5-1
Depends: perlapi-5.6.1, perl (>= 5.6.1-7), libapache-mod-perl, libapache-filter-perl, libapache-requ est-perl, libcompress-zlib-perl, libdigest-md5-perl, liberror-perl, libhttp-ghttp-perl | libwww-perl , libstorable-perl, libxml-parser-perl, libxml-sablot-perl, libxml-xpath-perl, libc6 (>= 2.2.4-4), l ibxml2 (>= 2.4.0-1), zlib1g (>= 1:1.1.3)
Filename: pool/main/a/axkit/axkit_1.5-1_i386.deb
Size: 314612
MD5sum: 2a7691bd43f8d26cd3dd082b3e888871
Description: An XML Delivery Toolkit for Apache
AxKit is an XML Application Server for Apache. It provides
on-the-fly conversion from XML to any format, such as HTML, WAP or
text using either W3C standard techniques, or flexible custom code.
AxKit also uses a built-in Perl interpreter to provide some amazingly
powerful techniques for XML transformation.
.
The emphasis with AxKit is on separation of content from
presentation. The pipelining technique that AxKit uses allows
content to be converted to a presentable format in stages, allowing
certain platforms to see data differently to others. AxKit allows
web designers to focus on web site design, content developers to work
on a purely content basis, and webmasters to focus on their core
competencies.
.
AxKit is based on plugin components. This allows the web site
developer to create a completely custom XML Application Server based
around the AxKit API. AxKit can either automatically provide caching
facilities, or you can create your own cache handler, so that XML
transformations (which can be time consuming) only happen when
required.
.
The toolkit also provides ability to build component based web sites,
and dynamic content. Database integration is fully supported,
allowing either deliver of XML from a database, or XML generation
from a database query. Dynamic web components can be built using the
Perl language, making the possibilities as infinite as CGI scripts,
without the potential mess that CGI programming can cause.

Debian relies heavliy on Perl and you can find the most commonly used Perl modules an apt-get away. Matt, I know you don't like Debian, but I just wanted to let you know that they've included Axkit in their distro.

Re:Axkit only in Conectiva?

Matts on 2002-04-08T13:46:46

Ah, thats cool.

I think it's not that I don't like debian, but I don't like their installer. The concept of apt definitely has me won over.

Re:Axkit only in Conectiva?

prakash on 2002-04-08T19:28:00

Perhaps you should give it another chance.

I was reading your comments, and all through it, I was thinking how debian would have made your life easier. Granted that the installer might not be up to your expectations, but you are going to install the system just once. And you'll never have to reinstall again (just do incremental upgrades).

1. I could no longer get security updates for the version of Linux I was running (Mandrake 7.0). This upsets me a lot, but I guess you get what you pay for (yeah, I know MS also deprecates versions of their OS, so I guess the whole world sucks today ;-). The upshot is I needed to upgrade my entire OS.
Even if one is running the stable version of debian (which is outdated compared to other distributions), you will have no problem getting security updates (and with minimal fuss). And upgrading your system is as seamless as it can be.
2. I don't own a CD burner, so no CD upgrades. Must be a network upgrade.
Check.
3. I wanted to move to an "apt" capable distribution. urpmi is nice, up2date is nice. apt is just nicer.
Need I say more :-)
4. I wanted to play with KDE3. I have this on my laptop and it makes me more productive. Really.
This is one thing you probably won't get for a while in even in debian unstable. I believe unofficial packages are available (debianplanet.org should have some info). I don't follow KDE development that closely.
5. I wanted to do the update directly via apt. This worked OK on my laptop so it would work ok on my server, right?
No problems here.
6. All this with minimal downtime required.
.. and here.
So after that I just had to get everything working again that wasn't RPM based: Perl, Apache, mod_perl, AxKit, qmail, firewall, tinydns, courier imapd, and ...
All of these (with the exception of the firewall you wanted [gShield]) are packaged in debian (at least in unstable. Because of the licensing restrictions, qmail and tinydns are not packaged as precompiled binaries. Instead, the source is downloaded when you install the packages and a utility script is provided that will build the binary package and install it for you.

I don't want to sound like a preacher, but after a couple of years of rpm hell, I found debian and never looked back.

/prakash (happy debian user for more than three years)

PS: And, another thing I like about debian is the dh-make-perl. If you don't find a perl module packaged for debian, just give dh-make-perl the module name and it downloads it from CPAN and builds a debian package for you. It is not perfect, but in most cases you don't have to do anything except install the package. There's even a --install option, which does it for you, but I usually prefer to do the install separately. Very cool.

Re:Axkit only in Conectiva?

prakash on 2002-04-08T19:30:50

Oh, and for those rare occasions when the only possibility is to use rpms (for instance, the sybase openclient libs for Linux are rpms only), there is alien, which converts rpms to debs.

/prakash

Re:Axkit only in Conectiva?

Matts on 2002-04-08T19:52:44

All of this is fixed by porting apt to RPM though :-)

The biggest problem with switching Ted to debian would be you can't (easily) cross upgrade a system from RPM to DPKG. It just plain won't work as far as I can guess. So I picked the next best option. Actually maybe I picked the best option - I'll let you know :-)