collects stories and ideas from John Kelly

Back to Debian

A couple of weeks ago, my main workstation went insane. I put this down to the fact that I was running Debian unstable, which made it, well… unstable. I’d always had a lot of trouble with it. Occasionally, files would become corrupt (mostly apt’s status file), or programs would randomly segfault. The most hilarious instance being where fsck segfaulted on startup. Finally, after putting it off for too long and an hour or two of repeated crashes, I decided to force a full fsck.

I wish I hadn’t.

There were so many tragic errors. My /bin directory got wiped and replaced with a single shell script I’d written myself. My /home directory also got wiped and replaced with a 415-bit text file.

I wept and wept. And then went about the process of getting it back on-line.

The reason I chose to run Debian Unstable as opposed to, say, Debian Stable is because I liked the better choice of packages. Debian Stable is stuck with Gnome 2.4, whereas Debian Unstable is up to Gnome 2.6 (2.7 if you include the stuff from Experimental). But not wanting to risk killing my machine again, I decided to look elsewhere. The first thing that came to mind was fedora. I grabbed the isos from bittorrent and started installing.

Initially, I loved Fedora. Its crisp interface (much nicer than Debian thanks to the improvements in the Xorg that Fedora use) was very easy on the eyes, and the fact that everything just worked really scored big points with me. Between you and me, even the graphical boot screen made me go “Ooh”. For a while, I was pretty happy.

Until, that is, I tried to get it working the way I was comfortable, with the software I like.

It was then that I realised the simple beauty of Debian. For example, I compose my entries into this blog using BloGTK. To install it on Fedora was a matter of * Fire up a web browser * go to google * search for fedora blogtk * check a few false-hits * download the package * rpm -Uvh fedora_package.rpm * find out it was missing a few depencies * go to google * search for fedora dependcyname * download the package * …

Here’s me installing BloGTK on Debian: oasis:/home/johnke# apt-get install blogtk Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed:   libzvt2.0-0 python-glade2 python-gnome2 python2.3-glade2 python2.3-gnome2   python2.3-pyorbit Recommended packages:   aspell The following NEW packages will be installed:   blogtk libzvt2.0-0 python-glade2 python-gnome2 python2.3-glade2   python2.3-gnome2 python2.3-pyorbit 0 upgraded, 7 newly installed, 0 to remove and 10 not upgraded. Need to get 477kB of archives. After unpacking 2048kB of additional disk space will be used. Do you want to continue? \[Y/n] y

Do you see how simple that is?

I read somewhere that Fedora has its own apt-alike, called Yum, but I disliked this intensely. I asked it to install a particular piece of software, something trivial and without too many dependencies, and I watched as the machine sat there for a good ten minutes, calculating its depencies. Clearly this would not do.

So on Monday, I decided to switch back to Debian. This time, I swore I would be more careful, I would stay on stable for as long as I could. I think I lasted an hour or two before I was upgrading to unstable. And almost immediately, I was back to where I began - my apt was crashing randomly, programs were segfaulting for no reason. I went home on Monday night an unhappy bunny.

Yesterday, before I did anything else, I made sure I had all the latest packages, especially e2fsprogs and forced a full fsck on reboot with

shutdown -F now

It took a while (full fsck on a 120GB disk is about 10 minutes). But since then, I haven’t had an ounce of trouble. Of course, I’m touching wood with every part of me that isn’t needed for working right now, but I’m pretty hopeful about the stability of my unstable box.

I’m not much for morals, but I’d say that if there had to be a moral to this story, it would be: fsck regularly. Especially if you’ve just upgraded from stable to _unstable.