A couple of weeks ago I decided to give Ubuntu a try. Why? Well, I’ve been recommending it to, and installing it for (none technical) people who are just getting started with Linux, while using Gentoo on my own systems, so I figured it was high time I gave it a try as my day-to-day distro. Rather than mess with my desktop, which is critical to my work/research, I opted to Ubuntu-ise my laptop - a ThinkPad T42. This machine gets used for the usual kind of stuff, but I also use it for (Java) development on occasion, so I need it to have things like the Sun JDK(s), Eclipse, Tomcat and JME Toolkits to work - preferably without too much hassle.
I’ve installed Ubuntu before, so I knew what to expect from the installer, but there was a problem. The CD drive on my laptop is somewhat broken, no doubt from years of abuse. It works some of the time, but produces (random) read errors which becomes a real problem when booting livecds. The usual install CD wouldn’t work, but I managed to get the ‘mini’ one to boot (this is likely since it’s only 8mb and the drive could just about handle that). This CD doesn’t include X so you get a text based installer, which although not as pretty as the graphical one, works just as well. Using the mini install CD has another upshot, the packages are fetched from the internet so you get the latest versions of everything straight of the bat. All of the hardware,including the wireless (ipw2200) worked straigh away, which impressed me slightly, but since I already knew it all worked I would have been sorely disappointed had it not.
With the system up and running without any trouble, I set about getting my development environment sorted. Ubuntu uses GCJ to provide Java support, which I’m sure is fine for some people, but I want multiple versions of the official Sun JDK (for various reasons). Installing one version of the JDK is easy enough, apt-get is a decent enough package manager, but it got a bit confusing once I started messing with multiple versions. Maybe it’s because I’m spoiled by Gentoo’s Java tools, but the way Ubuntu handles this seemed less organised than I’m used to.
Next I got Eclipse installed and running - or rather I tried. It installed fine, but kept crashing, with all manner of errors (mostly cryptic). Some of these crashes were consistent, like opening a web.xml file, while some were seemingly random. I spent some time searching forums and mailing lists, but despite finding many people who appeared to have similar problems there didn’t seem to be a solution. Eventually I gave up an used a binary package from eclipse.org, which worked fine. However, I was disappointed that Ubuntu couldn’t get Eclipse, which is a fairly widely used tool, right.
Next up was Tomcat. This installed fine, and appeared to start OK, yet the server would not respond. After a bit of digging I discovered this a known issue, caused by Tomcat’s logs being written to a named pipe, but this pipe is not properly created. Easy to fix (a simple ‘touch /the/pipe’ in the init script) - but this had me thinking “why has this not been fixed”? It’s not a new issue (judging by launchpad) but it seems sloppy for a distro which is meant to ‘just work’.
By this point I was beginning to have second thoughts about sticking with Ubuntu (this was only an experiment after all). I was further discouraged to find that many of the Java libraries and tools I use are simply not in the Ubuntu package repositories (e.g. XOM, Antenna). Granted these kinds of things are pretty simple to installed/maintain manually, but I like using portage since I don’t have to look out for updates.
I thought about it for a while, but ultimately I decided to go back to Gentoo. Maybe it’s because I’ve been a Gentoo use for so long (+3 years). Maybe it’s because I’m not the target audience for Ubuntu. Maybe I didn’t give it a fair chance (to be honest I don’t really have the time to). Either way, my Ubuntu experiment didn’t last long.
I should probably mention that in general I think Ubuntu is a great distro, despite having been pretty negative for the last few paragraphs. For the large part it does ‘just work’, and I shall continue to recommend it to people who want to give Linux a try.
It’s just that Gentoo works for me, and makes it easy to do what I want. Ubuntu doesn’t. Well, they do say it’s all about choice…
Tagged Linux