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](http://fedora.redhat.com/). 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
The following NEW packages will be installed:
blogtk libzvt2.0-0 python-glade2 python-gnome2 python2.3-glade2
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.