I’ve beeen a BSD boy for the last 3 or 4 years, before that I used redhat and it stank (this was around the 2.2 kernel heyday when the Thrash of Death was still a real problem).
Recently FreeBSD had been getting in my way for a number of reasons, none of which were really it’s fault:
- getting Centrino support is convoluted
- none of the boxen I support at work are BSD based
- too many third party apps only build on Linux – gumstix being the most recent example (no, I still haven’t bought one, but see later).
- there’s a lot of cool stuff that is extremely hard to get for FreeBSD
These days I don’t see the OS as anything other than a tool for maintaining what you run on it. If package management, good hardware support and stability are there, I’ll run anything that runs what I use.
Then the other day a Jiffy bag of Ubuntu CDs turned up, so I gave it a shot.
First off, the installer is extremely nice. Not nice in a ‘pretty mouse pointer’ way.
In a ‘I understand that a) you might have a wireless network you’d like to use to install and b) it might be in adhoc mode’ way.
I have NEVER seen any other OS be smart enough to offer that as an option.
Credit where it’s due, that’s a debian-installer feature, but I tried installing Sarge the other day and it didn’t know what a Centrino ipw2100 card was (fair enough, that’s a licensing thing) and didn’t seem to want to let me set my ESSID to anything other that NETGEAR (which is a bit unhelpful).
Anyway, I click through the defaults and had a nice GNOME desktop extremely quickly.
Pros so far:
- sudo by default is a Good Thing (despite the whole X issue thing)
- hotplug/gnome-volume-manager etc is fab,
- linux LVM is truly excellent. Think GEOM with docs
- apt-get is easily the second nicest packaging system on the planet
- when you find some obscure cutting edge software, it probably runs on your system
- linux has really nice module support. Plugging in stuff and having it found is not rocket science, and I don’t feel less of a man for not wanting to recompile a kernel everytime I get a new widget
- boot time is very fast. the ubuntu guys took it on and made some real improvements in that area.
- there are howtos and docs coming out of your ears. Freebsd base system doc is great, but the kernel has always lacked good entry level docs like these
- USB2 wireless device support? oh yes.
Few cons:
- gstreamer seems to be everywhere and strikes me as really shit, both in stability and decoder support, compared to (eg) mplayer
- some stuff is missing from apts radar unless you tell it to use obscure repos. Just uncommenting the universe repos gets you scary warning about unauthenticated packages.
- nautlius url support (for DAV-over-ssl, but even ftp) is highly buggy
- apt packages can take a bit long to get updated compared to FreeBSDs ports
- I miss not having the source to hand, whether or not I need it. Xen needs custom kernels and I don’t want to rely on someone elses debs to use it.
- Docs are a bit shambolic. ubuntu does piggyback heavily on Debian, and the differences aren’t clear. I’m reading Debian packaging howtos and wondering if I’m invalidating my warranty… Little things like the wiki SSL cert being signed by an untrusted CA add to the shabbiness feel.
- iptables. Truly the sendmail.cf of packet filters. Why in $DEITYs name can’t someone port PF? PF is nice. I don’t care how the internals are implemented, I just want a config file I can read. Gaaah.
But by and large, it’s great.
With my new found penguinophilia I want out and bought an NSLU2 - it’s ARM based, teeny and cheap (45 quid on ebay) so it’ll be a good training toy while I’m waiting for gumstix to get affordable ( 99 bucks went up to 57 quid this week. arse.) Also has two host USB2 ports which is a definite plus.
It’s in transit, so in the meanwhile I’ll read up on a few howto things
While I’m playing with network appliances I’m sorely tempted to get a WRT45G too. The NetBSD gateway I’m currently using takes far too long to boot. Not so sure about that one, I do like knowing what my firewall/gateway is up to. We’ll see.