Wednesday, May 13, 2009

Fedora and Ubuntu

I have always been a fan of Linux, since I first encountered it nearly a decade ago. The first Linux distro I ever installed on a machine myself was RedHat 6.2, and admittedly the RedHat line has since been my favorite. I've used nearly every update of it, even after it split into RHEL and Fedora Core. I've used Mandrake (now Mandriva), Debian, Ubuntu, YellowDog and SuSE. I've spent weeks installing and updating, recompiling and cracking and bootstrapping, and to me, it's heavenly. One does not truly utilize a computer until one has complete control over it. As the bumper sticker says, "got root?"
With the advent of the latest and greatest versions (and my brand-spanking-new laptop), I set out to wipe the Windows virus off my machine and replace it with something civilized. (Side note: you can't even buy new laptops with Windows XP, a moderately stable and configurable edition of Microsoft's dastardly OS, on them: it's only Vista now, and Vista is quite possibly the worst operating system ever invented. EVER. You can't even cleanly install Vista over itself. Try it, I dare you.)  I started with Fedora 10, aiming blissfully for my happy place.
One of the things I love about Fedora is the chance to configure things during installation. Yes, it means installation takes longer, but I would rather have control over programs, libraries, kernel headers, etc, before getting to even a base version of the OS. Additionally, installing from the DVD allows for the availability of more programs, instead of having to add repositories later; even random packages, like GEANT, ROOT and cernlib are available straight off the bat. I am also fond of the rpm package management system. After getting through the installation (the 64-bit edition), including a custom disk partitioning since I dislike Logical Volume Management, I had to do some shuffling to get the wireless card working. This was mainly due to my unnecessary fighting with the changeover from the old hardware management system to the new abstraction layer (so xorg.conf is gone - everything is very seamless, but also lacks transparency). I also configured the boot parameters, downloaded the non-open-source codecs required for movie watching and installed the codes I need for work. Everything seemed pretty smooth, until it came to watching TV online. The pages would load, but the video would never play. I tried every option available to me, every hack I could find, every flash and swf player and codec I could install. Nothing worked.
Eventually, the problem was discovered to be, not Linux, but 64-bit Linux. Adobe makes a flash player for Windows and one for 32-bit Linux, but with a 64-bit, dual-core machine, I was out of luck. I threw in my live CD, repartitioned the drive to allow 15 measly GB for Windows, and tried to install XP. Again, no go.
Vista operates within the confines of the new AHCI system. Linux can handle AHCI enabled or disabled. XP, on the other hand, can do nothing with AHCI. It has to be disabled. Ok, boot up into the BIOS, diable the offending interface, and - amazingly - Fedora still boots up as though nothing has changed (hooray for Linux!). Now to install XP: finally, the installation CD doesn't give me the blue screen of death, but it doesn't recognize the partition I made for it, either. The XP service pack 3 CD I've made still lacks the necessary drivers for the laptop's harddrive. I try to slipstream them in, but too many errors arise. I give up - I have other things to do. I wipe the harddrive and install Windows - still on 15 GB only - first. That configured, I go to reinstall Linux on the remaining space.
But this time, Fedora freaks out. It can't detect the wireless card, so it fails to correctly set up the necessary repositories, leaving me without a way of downloading the necessary drivers. I plug the machine into an ethernet bridge, but Fedora's installer can't see the outside world. I try several times, but to no avail. I throw my Ubuntu 9.04 live CD in to try and fix the problem. I end up installing Ubuntu 9.04. I end up absolutely loving it.
Ubuntu has always been designed to be user-friendly, and because of that, I disliked it. I always thought it was too far from the bleeding edge, that it took far too long to get it configured correctly because everything had to be done post-install. Perhaps I'm getting soft in my old age. But perhaps they really have it right this time.
The Ubuntu installer is, as they claim, user-friendly. But it immediately detected everything that I needed - the wireless card, the preexisting disk partitions, the Windows bootloader - and worked with it and around it. Starting up, I was able to open the Synaptics package manager and find, relatively easily, all of the extras that I would need, and I installed them (once I figured out that gfortran had replaced g77). Again, ROOT and GEANT came standard. The ability to turn off that eternally irritating "tap to click" was just two menus away.
So, I hate to admit it, but I'm sticking with Ubuntu for now. Maybe Fedora 11 will win me back.


  1. UPDATE:
    Ubuntu no longer carries g77 by default. Other packages, such as gfortran, f2c and fort77 have "replaced" it, but are not, in fact, replacements for it. This is my one major (and I mean major) problem with Ubuntu 9.04. I did, however, find an acceptable work-around:
    In /etc/apt/sources.list, add these lines after the universe repositories:

    deb hardy universe
    deb-src hardy universe
    deb hardy-updates universe
    deb-src hardy-updates universe

    Then, from a terminal, run sudo aptitude update, and sudo aptitude install g77. It will ask if an acceptable solution is to downgrade your current gcc version. I said yes. Now I can compile my scan codes again.

  2. Michael Kingsford GrayJune 10, 2009 at 5:46 AM

    Self-confessed Linux (and C & C++ for that matter) enthusiasts I, as a matter of course, exclude from my mission-critical projects, (be they military or those commercial applications that are potentially life-threatening), as well as ANY and all C, or C++ enthusiast programmers, who have consistently proven to be quite unreliable programmers in the long term, as their propensity for bizarrely cryptic variable naming and unneccessarily condensed code styles has been a bane of an effectively maintainable code base.

    And you might thank your lucky stars that I have done so, and have been privileged enough to have been able to pass on this C-wanker-free culture to the military.

    Go on: Use Linux and C for non-atom-bomb related activities.

    (I am interested if you present my post, a rational honest presentation of critical safety reality as it is).
    We shall see...

  3. @MKG - I'm interested to hear what you do use instead. Windows and Fortran? Java? (gasp) Pascal?
    Each programmer has his or her own style, just as each author has a slightly different approach to writing a novel. Perhaps the programmers who are applying for national defense jobs are a very specific type. Perhaps they think that cryptic coding will help national security (makes some sense, don't you think?). To be fair, anyone who has to try and decipher someone else's code won't have much luck (around here, we pass around fortran code, but in the end write our own because it's so difficult to understand code you didn't write yourself).
    Lots of "critical" applications use Linux. Airlines, for one, use Linux to run their in-flight entertainment (and when you're on a seven-hour flight, nothing is more critical than that! - wink, wink).


Think carefully before you post. I reserve the right to moderate any comments posted to my blog.