oscartheduckin’ around

May 1, 2007

Why do I use Free/Open BSD?

Filed under: edgy eft, freebsd, openbsd, Personal, ubuntu, vmware — oscartheduck @ 2:30 am

I was sitting around and thinking, when it hit me that though I’m writing reasonably techie unix blog entries here, I haven’t covered why it is that I’m not writing a linux blog. Why did I become one of those snobbby BSD bastards?

The tale starts with a friend of mine. I was a SuSE user, back when it was SuSE not SUSE. And I was trying to install gaim from an .rpm package. And, lo, it was frustrating as hell. See, rpm is designed for people who like to insert their own eyeballs rectally; it’s painful to deal with. My friend says to me “Ah, but in FreeBSD all you’d have to do is pkg_add -r gaim and it’d all be solved for you.”

Now, I figured this was a magical sounding deal, so I promptly didn’t use FreeBSD. See, I knew the installer would be hard, and didn’t want to deal with it.

Instead, I installed libranet, a now defunct distro. Except that I got into linux when we were calling them flavours, so I think of it as a defunct flavour. I’d been using SuSE for about two or three years at this point, and though the default package install was all fine and it ran well, I still felt a stabbing pain in my chest when it came to installing from a downloaded .rpm file. And that isn’t good. I’d heard about debian (woody at the time) being a pain in the fucking ass to install, but simple to maintain, so I searched for something like “simple debian install” and discovered libranet. And it worked wonderfully.

The main issue with libranet was the proprietary systems managment tool, adminmenu. Updating from woody to sarge meant that adminmenu in the free version of libranet broke. There were two ways to fix it, either downgrade to woody or buy the newest version of libranet. This meant I was in crisis, because I didn’t want to do either of those, so I basically stopped using linux for a while.

I knew that I wanted to run linux, though, so I reinstalled SuSE. From the same old CDs. Ouch.

As soon as I started running into the same issues, I figured fuck it, I don’t need linux this badly.

I started a computer job not too long after that and got into virtual machines. I installed ubuntu, and was surprised at how lovely it was. I started using debian based distributions at work in VMs and at home in VMs, but didn’t do an install. I used enough that I got to figuring I liked Ubuntu best of all of them, so I stuck with that.

Eventually, I got tired of how hand-holdy ubuntu can be and started wondering about using other things. So I looked around, and my old friend was right there with me saying I should think about FreeBSD again. So I went home, installed it on my old P3 machine with 128MB RAM and noticed a couple of things. First, I didn’t have a gui by default, which I liked. I never use the gui on ubuntu, it just sits there looking pretty while I move around xterms. Second, it blistered. I mean, really was fucking fast.

I got to running this and that and intalled FreeBSD in virtual machines and started looking at OpenBSD too. I would like to go down categorically as saying that I really love using OpenBSD. It’s not as blistering as FreeBSD, but it makes the business of administering a server simple as hell. Install, it’s secure. Nothing else to do to make it secure, just keep up with patches.

The two BSDs were so… clean. Want something to start with a reboot? Add it to /etc/rc.conf or /etc/rc.conf.local depending on which of the two you’re running. Want to install something? pkg_add -r filename.

But let’s say you’ve got a slow computer, let’s say a P3. So you don’t want programs to be not-compiled for your platform, because you want every speed optimisation possible. There’s an automatic system for compiling from source code in BSD. Install the ports archive, which is a simple thing to do and is probably done on install for you, and then cd /usr/ports/packagename && make install clean and it’s done for you. It downloads the source code, compiles it and installs it.

That’s a gorgeous thing. A very gorgeous thing.

So, anyway, I saw these features and thought they were nice. And the more I was using the BSDs, the more I felt like they were doing unix in a way that made sense to me.

This is really illustrated if you ever try to install apache on FreeBSD, OpenBSD (where it’s preinstalled!) and debian. Debian is fucking horrible for an apache install.

So that’s why, I guess. BSD makes sense to me as a system. After several years of not very good linux experiences, but thinking that the flat file system concept with text files for everything was awesome, I discovered something that did it cleanly. And these days using linux feels sludgy and slow and not as well put together.

Which is not to say it’s without merits; of course it has a lot going for it. The init system for starting processes is interesting, but I think BSD does it better than system V. The linux advances on system V were very interesting in this area, though. But BSD is better 😉

Advertisements

2 Comments »

  1. So which BSD “variant” do you use the most and why? Nice article by the way.

    Comment by tom clancy — September 12, 2007 @ 2:24 am

  2. I’m exclusively using FreeBSD these days. It’s fast to install, fast to update, has a lot of packages.

    I still love OpenBSD, though, and am thinking about what I can use it for, but I’m looking to set up a cluster and don’t see any real reason to use it instead of FreeBSD.

    Comment by oscartheduck — September 13, 2007 @ 1:43 am


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: