Sunday, December 17, 2006

Maybe it's just me, or maybe Linux is really not ready for the desktop

In preparation to moving to the new house, I decided it's time to pack. But not the physical stuff. First I was going to clean up the Augean stables of my data. In a gesture the futility (or just ill-timedness) of which is becoming more apparent day by day, I am trying to consolidate my data scattered around numerous partitions of numerous laptops. Some laptops I've used over the last, say, 4 years, had both Windows and Linux partitions. So right now I'm dealing with a total of 5 partitions. Many of them have the same identically named folders. Some files in those folders have the same names, but different sizes and dates. Other files are identical. Yet other files exist only on some laptops and not on others. All this bedlam has resulted from the fact that for many years I haven't thought of a good way to synchronize files between different computers. I still don't have a foolproof way to accomplish this, but at least I have thought of something that should work well enough. Or so I thought until yesterday.

Why it's not an easy problem for me, and how Linux makes it harder

It complicates matters that at some times in my life I've used Linux for daily computing needs, such as when I worked with Gimp for long periods of time. At those times I also stored other elements of the daily computing narrative -- mail, pictures, interesting articles saved from the net, on the Linux partition of the machine I was working on. Then, as I was getting more and more frustrated with Linux (see, for example, this entry), I would switch back to Windows, but I would not always copy the files over to the Windows partition of the machine. Or I would copy some files but not others. (And not just because I was lazy: Linux did not cooperate well on this task. Imagine this: you copy a directory from one location to another, and then find out that not all files in the directory got copied. About 1/4 of the files didn't make it over. Why? What's so special about the ones that were left behind? You pore over their names -- too long? Contain symbols that could be by some stretch of imagination interpreted as scpecial characters? No, nothing like that. Their dates, their extensions? Any pattern at all? Nope. SUSE had randomly decided to not copy some files when copying a directory. I first noticed this bug in SUSE 8.<something> , and later when I upgraded to 9.1, it still had it. This meant I could not copy all my directories from a Windows partition to a Linux partition in one operation. I had to descend down each directory tree, and select individual files and copy them that way! What tedium, what a stupid waste of time. No wonder I wasn't very diligent about maintaining my files synchronized.)

Then after a couple of years I acquired a new laptop, which again was partitioned into Windows and Linux, I copied over some files from the old laptop to the new, but not others, and the story repeated itself. Add to this a fact that I keep some of my personal data on my work laptop (yes, mea culpa, mea maxima culpa, but is there anyone who doesn't do that? :-) and it's easy to see how I got myself into an unbearable mess.

Finally I decided to bite the bullet and sort out this mess once and for all. I set out to review the data scattered over several laptops, determine the "definite" version of each file that may exist across several laptops with different date-time stamps, and to put all those files on a gigantic external hard drive. I may try to sell my old and slow laptop, if I can find a buyer, or just give away, keeping only the newest laptop (not so new anymore either). The external hard drive plugs into a USB port and therefore can be easily ported from a machine to a machine, hereby relieving me of a need to keep files synchronized between machines. So the files would live in just one place (with appropriate backups to other external hard drives, perhaps).

I thought it was a good solution, until Linux threw a proverbial wrench into it.

So I held my nose and got on with the job. First, I copied the data from the old laptop's Windows partition over to its Linux partition (can't do it the other way around: Windows does not see the Linux partition, nor do I remember my Windows password I stopped using 2 years ago. :-)) I sorted out file dates, times and sizes, and was able to satisfactorily determine the "definite" version of each file that was in doubt. So far, so good. Tedious, but... not so much more than scrubbing the bathroom. Given the choice between physical cleaning and data cleaning, I'm not sure which one I would choose.

Then I plugged in the USB hard drive into my old laptop, and was elated to see that Linux (SUSE 9.1, to be exact) recognized it and was able to read the data on it! This was more than I typically expect from Linux! So I proceeded to copy the files to the hard drive. Which was a slow process, because the hard drive, having been used before with my new laptop, already contained different versions of some of the files I was copying! So I hunkered down to sort out the "definite" versions of each file in doubt. I did not spend more than 15 minutes on this before my old laptop froze. The mouse stopped moving, the keyboard stopped reacting to keystrokes. My laptop went completely catatonic, and there was nothing left for me to do than to push the power button to shut it down.

I have experienced these out-of-the-blue laptop freezes before with Linux, and I always suspected that they were somehow caused by my unstable wireless connection at home. (Which is another tale of woe unto itself, mentioned in the post I linked to above.) My wireless signal flickers in an out of existence several times an hour, sometimes several times a minute. I was wondering if perhaps SUSE gets into a bad state trying to pick up the wireless connection. But this time I did not have the wireless card plugged in. This time I was using an ethernet cable, since I've given up on having wireless access on Linux long ago. So, just in case, I unplugged the ethernet cable and rebooted. Again, the laptop froze after just some 10 minutes. It barely made it through boot up!

Then I started to wonder if it was the USB hard drive, after all, that was causing this problem. I unplugged it, rebooted the lappy, and voila -- it's been stable for days. So it must be the USB driver, or something, that causes it to freeze. Wow. For all the highly praised Linux stability, for all the talk of how it puts Windows instability to shame, I must say USB devices never caused any of my Windows boxes to crash. Of course, my version of SUSE is 2-3 years old, and there may be better USB drivers for it now; (but then, a little voice whispers to me that Windows XP is 5 years old, and I never had to download new drivers for it!) Of course, a person who truly enjoys fixing such things would probably hunt down a better USB driver for Linux, but I'm not one of those people. I don't have days and weeks to spend on this. I just want to Get Things Done.

I almost long for the days when I used to complain that Linux can't see devices I plug in. It seems that things are worse when it can actually see them! :-)

And now I have a nice stable lappy, but I can't back up my files. :-) Well, I actually have a way -- I zipped up my files and ftp'd them over to my website. From there I'll copy them onto an external hard drive. How silly.

No comments: