Archive for the ‘BSD’ Category

Why I haven’t written a traditional distro review in a long time

September 24, 2008

Ah, the Linux (or BSD) distro review. They’re relatively easy to crank out, they bring the traffic in a major way (especially when the excellent Distrowatch links to you).

But do they mean much? Not really, I think.

Most of the time it’s the usual:

  • “Here’s what happened when I tried/failed/succeeded in installing Distro X on Hardware Y”
  • “The installer is good/bad/barbaric”
  • “Networking/printing/X was easy/hard/impossible to set up”
  • “Package management is like Debian/Red Hat/Slackware and is good/bad/barbaric”
  • “Repositories are big/small/good/bad”
  • “My favorite apps are present/absent/broken”
  • “The default desktop/menus/window manager are good/bad”
  • “The community is active/nonexistant/helpful/hostile”

And the list goes on. I feel like writing a shell script that can pose questions and crank out automatic distro reviews.

What’s harder to write — much harder than the quickie distro review — is a long-term review of a distro after a month or more of heavy use.

For one thing, most of us don’t want to spend long periods of time running distros we don’t like or aren’t familiar with.

And for any given user, most of the 300+ active distros out there won’t do anything for our hardware and work patterns that we don’t already get from the distros we’re currently using.

That’s not to say that the many, many dozens of distros out there should just give up and stop trying to do something better and different (even though what they’re doing is usually based on an existing distro and often doesn’t add much, if any value to what they’re already copying).

I’m just saying that after after a year and half of writing this kind of thing, I’m tired of both writing and reading quickie distro reviews that don’t really tell the potential user of a given distribution all that much that they can use in making their decision.

I’ve already done tons of posts on Debian Lenny, and almost every problem has been fixed at some point in the project’s long road from Testing to Stable.

So should I do another distro review on the installation, care and feeding of Debian Lenny when it finally does receive its Stable status?

Do I need to reinstall Ubuntu every six months and write about how that goes? OpenBSD?

Never mind that the development of OpenBSD is purposefully more evolutionary than revolutionary, or that a rolling release might be better/worse than one that comes out every six months or at some other regular (or not so much) interval.

I don’t quite know how to end this tortuous post except to say that I reserve the right to change my mind. Maybe I’m purposefully shoving my own head in the sand by not embracing your favorite distro (usually Slackware or Mandriva) and sticking to what’s been working for me (Ubuntu, Debian, OpenBSD, Puppy … and that’s about it these days).

Maybe it’s part of the evolution (or devolution) of me as a writer about technology, but right now I’m convinced that that there’s a better way to do all of this that doesn’t throw out free, open-source software in favor of what the average guy/gal is using (Windows/Mac) but also does more than preach to the same creaky choir, of which I myself am a warbling member.

Being more truthful, I won’t stop reading distro reviews, especially when they’re written by writers who know what they’re doing. But I plan to be a whole lot more careful about writing them. I’ve been thinking (and writing) for some time about why it’s more than time for me to stabilize my herd of machines and stop the endless process of cranking one distro after another onto their partitions.

The freedom to change distros like underwear, at more than one level, begins to detract from what a computer operating system is supposed to be for, which is getting stuff done. I guess I want things to be more about ends rather than means.

My latest warning against dual- and triple-booting Linux and BSDs

August 14, 2008

My advice is to avoid dual-booting, and especially triple-booting (or even more than that).

If you set up a box to dual-boot with two Linux distros, Linux and Windows, or even a BSD (OpenBSD, NetBSD, FreeBSD) and Linux, and you leave it alone, you’ll probably be OK.

But me, I’m testing things all the time, and lately I’ve been playing around with triple-booting on my Gateway Solo 1450 laptop. I’ve done this a lot, and I generally know how to do it so I don’t hose one partition or another.

But I slightly hosed something on the laptop last night.

I’ve been playing around with FreeBSD, trying to figure out why it sometimes manages my CPU fan extremely well but usually not at all.

I have FOUR primary partitions on the 30 GB hard drive. The first is Linux swap, the second is Ubuntu 8.04, the third Debian Lenny, and for a long time the fourth was just an empty Linux ext3 partition where I could stash files large and small.

I started throwing new OSes on it about a week or so ago. I had PC-BSD on there, FreeBSD, Debian Etch …

And last night I did another FreeBSD install. Now remember, I had FOUR primary partitions. As far as I know, no BSDs will install on a secondary partition. And in Linux, — again, as far as I know — you can only have four primary partitions. If you want more than that, you need to make one an ‘extended’ partition, and then you can fill that with a much larger number of secondary partitions (I’m not sure of the total number in Linux, but it’s a lot).

When I was installing FreeBSD to the fourth primary partition, I veered from my usual practice of installing it in a single FreeBSD partition and instead let the installer auto-partition the portion of the drive set aside for FreeBSD.

Long story short, I think I screwed something up.

I deleted the screwed-up FreeBSD partition and replaced it with another Linux ext3 partition, but that didn’t seem to “fix” whatever problem it is I’m having.

Debian Lenny boots fine. But Ubuntu 8.04 stalls in the middle. It eventually does boot, but there’s a stall of a few minutes in the boot sequence. I booted in recovery mode to see what was going on, and it does appear to be disk-related, but I’m not quite sure what to do about it. I already deleted the “offending” partition, but maybe I shouldn’t have replaced it (or so quickly before testing the other partitions)?

It’s been over six months since I hosed a whole box, so in the grand scheme of things I’m not doing too badly.

But I should really start following my own advice and stop dual-booting on what, for me at least, amount to “production machines,” which I rely on to get work done.

When experimenting, I need to swap whole drives instead, like I do with my VIA C3-based converted-thin client test box, which has three drives that are easily swapped via power and IDE cables that extend well outside the thin client’s small case.

I didn’t hose things so badly that I either lost files or can’t boot either of the two Linux distros on the box, but I really need to be more careful, especially when mixing BSDs and Linux.

When doing just that, incidentally, I’ve had a lot more success by installing the given BSD FIRST, then throwing Linux on the box after that.

What I think I’m going to do, when it comes to Linux anyway, is to have the first partition be swap, the second partition for the distro itself and the third partition for /home. That way I can theoretically swap in new distros and keep the same /home file (backing that up, of course).

Now I’m going to think of what to install on the Gateway Solo 1450 to single-boot it for awhile.

In search of the best OS for a 9-year-old laptop: Part VIII — Final thoughts (aka “Why?”)

August 5, 2008

You might ask why I’m spending so much time figuring out how to best configure a Compaq Armada 7770dmt — a laptop with an ancient 233MHz Pentium II MMX processor, feeble 144MB of RAM and smallish 3GB hard drive.

For one thing, I almost never abandon a machine that can be used. And this one definitely can be.

Plus, I like the Compaq. It has a nice screen and keyboard, I like the fact that its power supply is totally contained in the laptop case. The thing’s pretty solid.

And I remember my long search for a laptop. Just about everything I saw on the used market was overpriced and lacking essential parts (hard drive, power brick, CD drive, memory …) but still selling for too much.

When I found this laptop for $15 and only had to add a CD-ROM drive that cost an additional $10 and a WiFi card I already had, I was hooked.

The build quality of this 1999 Compaq is much better than my 2002 Gateway, and I expect the Gateway to die long before the Compaq.

And with Linux, I’ve learned that a nearly 10-year-old PC can be quite usable. That means This Old PC, with a faster Pentium II processor (333MHz), more RAM (256MB) and which uses cheaper desktop IDE drives — and which at 11 years old is even longer in the tooth than the Compaq — is also still quite usable.

The fact that I searched long and hard for one laptop, came up with nothing from Craigslist and eBay, but then ended up with two laptops within months, getting each for next to nothing, was an opportunity to learn about hardware, software and what it takes to get things done in a variety of operating systems (I’ve run many versions of Linux, plus FreeBSD — including offshoots DesktopBSD and PC-BSD, NetBSD, OpenBSD, a couple of projects based on OpenSolaris, and yes, even Windows).

Even if I had $500 or so to buy new laptops every couple of years — and believe me, I don’t, there’s a lot of nobility, fun and plain old value in keeping these PCs running. And running well.

I guess you could call it a hobby.

I could do a lot worse, no?


Previously:
In search of the best OS for a 9-year-old laptop: Part I — Puppy or Damn Small Linux
In search of the best OS for a 9-year-old laptop: Part II — OpenBSD or Debian?
In search of the best OS for a 9-year-old laptop: Part III — Browsers and wireless
In search of the best OS for a 9-year-old laptop: Part IV — Wolvix Cub is surprisingly strong
In search of the best OS for a 9-year-old laptop: Part V — Where I’m headed
In search of the best OS for a 9-year-old laptop: Part VI — Younger Puppies
In search of the best OS for a 9-year-old laptop: Part VII — Debian with Xfce and Fluxbox calls

Can you (easily) update a BSD system between releases? Or am I barking up the wrong (ports) tree?

April 24, 2008

Note: I originally wrote this post on 2/15/08. Today is 4/24/08. Since that time, I’ve looked into updating in the BSDs a bit further. In FreeBSD, it’s certainly possible to update both ports and packages.

In OpenBSD, the Errata for a give release shows you what needs to be fixed in the base system. The updates are easily available, but they do need to be compiled from source. What the OpenBSD team really wants you to do, it seems, is run the -current release, on which all ports can be updated from source. Sounds like a lot of compiling. Still, I might try it at some point.

Anyway, here is the “original” 2/15/08 entry:

While it’s pretty easy to install software from precompiled packages or from ports in OpenBSD, FreeBSD and NetBSD, I’ve hit a bit of a wall when it comes to keeping any of these systems up to date with periodic security and bug patches.

I don’t know if such updates are either not as necessary in the BSDs, even though my Linux boxes have a dozen or so of them every week, or that it’s just to hard to do for the average BSD user.

I see plenty of Web help on how to upgrade from one version of a BSD to another, but I don’t see anything that covers searching for periodically updated packages and updating an installation on, lets say, a weekly basis as security and bug problems arise and are presumably updated in the repositories of packages and ports.

O, BSD users, correct me if I’m wrong — and I do hope that I am wrong. But with apt/Aptitude/Synaptic in Debian-based Linux distributions, rpm/Yum in Red Hat- and Suse-style systems, and upgradepkg (and slapt-get/Gslapt) in Slackware (with security announcements going to the mailing list and the http://www.slackware.com/security page) … need I go on?

The point is that almost all Linux installations are easily upgraded with precompiled binary packages. Gentoo … well, I won’t go there because I know it has its own BSD-like ports system, but I’ve never used it and don’t know how it works.

Again, the point is that all of these Linux distributions have me conditioned to expect — and to install — updates on a regular basis.

But what do I do with BSD? In OpenBSD, for instance, I’ve never even downloaded the ports tree. Everything I’ve installed has been a precompiled binary package for the i386 architecture. It’s very slick, works perfectly … but am I exposing myself to undue risk by running Firefox 2.0.0.6 instead of the newer 2.0.0.12? Is all that extra OpenBSD security for nought if I’m running applications rife with security holes?

I’m being completely serious. Is there something I’m missing here? Since OpenBSD, at least, updates the whole system every six months, am I OK to keep the same packages running until the next release? What does this say about BSD vs. Linux when it comes to security and bugs?

But wait. I did run DesktopBSD for awhile, and I remember that system having a GUI package manager that not only fetched new packages but upgraded those already installed.

So that’s what Matt Olander was talking about when he said that PC-BSD and DesktopBSD were working together to share technology when it came to package management.

As far as I’m concerned, I don’t need to do my updates in a GUI app. I’m perfectly OK with using the console. Just being able to do that updating is enough. That is, unless someone out there can convince me that Linux has conditioned me to think I need something that I really don’t.

Those on all sides of this issue, please enlighten me — and quickly.

Trying OpenSSH in Debian Etch … plus thoughts on security, sudo and nano vs. vi

March 4, 2008

I did a Debian Etch install on one of my test machine drives recently, and today I added the openssh-server package so I could play around with PuTTY and Xming.

Once I installed openssh-server (I used Synaptic, in case you were wondering), using PuTTY to start the connection, I was asked whether or not I expected the encryption key to change (I was, since this is the Debian install, not OpenBSD, which I’ve been using until now).

One bonus of using this Debian Etch install: The OpenBSD drive is noisy, which probably means it’s gonna go. The drive on which I installed Etch is much quieter. I probably need to get some newer, bigger drives … or a whole new test box, but that’s another story for another time.

Quirks in Debian Etch with openssh-server: I can run X apps, no problem. When I run:

$ nautilus &

… I get a huge window with the entire GNOME desktop, minus the toolbars. And I can’t close that window — Xming won’t let me, I think. X-ing it out doesn’t work. I had to kill the process in my PuTTY terminal. (Note: $ startx & does not work …)

Speaking of security: OpenBSD is known for its security above all else. Here’s how using openssl openssh (which was created by the OpenBSD team) differs — at my lowly level, anyway — between OpenBSD and Debian Etch:

In OpenBSD: The sshd server is included in the standard install. But it can’t be used until rootly powers are used to implement it. Running X over ssh is not allowed until the appropriate configuration changes are made. But root logins are allowed over ssh by default; the administrator, however, can choose to block root login (which I did).

In Debian: Debian installs without the ssh server installed. So without the administrator specifically installing openssh-server, nobody can ssh into the box. But once that package is installed, Debian automatically allows ssh logins — and X logins as well. As with OpenBSD in its default state, root logins are permitted over ssh until that feature is turned off in /etc/sshd_config.

I don’t understand all the lines in sshd_config, but I probably should get better acquainted with each and every one of them.

Speed? It could be the fact that this Debian Etch box has the GNOME desktop, and I’ve been running OpenBSD either from the console or the default Fvwm window manager, but everything happens a lot faster with the OpenBSD install (hardware is the same for both). I could modify Debian to boot to a console instead of GDM, and that might speed it up a bit (memory is 256 MB), but whatever the reason, thus far OpenBSD is a bit smoother. (Later, things seemed to run a bit better when I didn’t log in on the Debian box and hence didn’t have GNOME running).

More on security: If this box wasn’t just something for me to play with on the local network, the stakes would be a lot higher. I suppose not having sshd is pretty good security when compared to having sshd installed but not enabled. And I also suppose that installing sshd (openssh-server) means that you want to actually use it. But in the case of both OpenBSD and Debian, I wonder why root logins over SSH are enabled by default. If anything, I’d expect OpenBSD to disallow them until the administrator of the box decides to turn that feature on.

And since you can always use su or sudo (Ubuntu has conditioned me to like sudo, and I always add myself to the sudoers list with visudo, there’s really no reason for a root login over ssh.

Side note: Debian doesn’t automatically add the primary user to the sudoers list, something I always do because on many occasions I’d rather use sudo than su.

Ubuntu, by default, disables root logins entirely and only offers sudo. It makes setting root’s crontab a pain in the ass. I use sudo -i crontab -e to get into root’s crontab in Ubuntu.

Side note to a side note: While I can fake my way around vi, I like it when nano is the default editor and crontab -e brings up nano instead of vi. The one thing I don’t like about nano is that when you wrap text, actually linefeeds are inserted. At least in vi you can have the text break in the middle of a word without turning word wrap on (although you are able to do so if you want wrapped text). The one thing I like in X editors is the ability for text to look wrapped without actually being wrapped.

Debian Lenny, FreeBSD 7, OpenBSD and silencing CPU fans

March 3, 2008

Quick notes because I’ve got time for no more:

Debian Lenny: I hadn’t updated Debian Lenny in about a week. Bugs are getting fixed all over the place. The latest wave of upgrades includes a couple of fixes for the Epiphany browser, which as a result is running better than ever. Most of what I noticed was cosmetic, but it just adds to the excellent functionality that Lenny already offers users. If you’ve been worried about running Lenny instead of Etch, I think the time is right to move to Lenny as it makes its way from Testing to Stable.

Preload in Debian: After reading about preload in Linux Journal, I finally installed it. Preload is supposed to monitor what apps you use most and automatically load them into memory, adjusting if your application habits change. Since I tend to run the same apps a lot, and since I have plenty of memory, I’m anxious to see how well preload works.

FreeBSD and the need for speed: FreeBSD 7 is now beginning its life as a stable OS. It’s supposed to be up 15 percent faster than the fastest Linux kernels, up to 350 percent faster than FreeBSD 6x under normal loads, and up to 1,500 percent faster under heavy loads. I’m anxious to see how the hardware recognition performs. So far, I’ve had quite a bit of luck with DesktopBSD 1.6, which is based on FreeBSD 6, and I can only hope for better things with FreeBSD 7, which I plan to test soon.

OpenBSD update: I’ve been having a lot of fun — and learning quite a bit — with OpenBSD. I have the box on the local network, and I’ve been playing around with the ftp server, Apache Web server and with SSH. First I installed the PuTTY ssh client on my Windows XP box so I could connect from the XP box to the OpenBSD box. I could run any console program I wanted, and while it may not be a huge deal to the more experienced of you out there, it’s a huge deal for me.

I wanted to run X over SSH, so I made the appropriate changes in OpenBSD to allow X11 forwarding over SSH. Ahd with the help of my friends over at LXer, I found out about Xming, an X client for Windows.

It took me awhile to figure out that I had to enable X in PuTTY to make it work. Xming runs in the background on the Windows box, and when I open an X program from the PuTTY console:

$ rox &

… A window opens on my XP desktop with the OpenBSD X program in it (which, in the case of the line above, is the Rox-filer). Pretty slick. (The & after the app name makes the process run in the background. I had one snag: I couldn’t run the Dillo browser over SSH until I installed all the X fonts for Xming. There’s a way to just use Xming to enable the SSH session, but that hasn’t worked for me thus far. But since the PuTTY/Xming combination is working, that’s what I’m going with.

I’d like to run a full X session with a full window manager running in a window on my XP box, but besides being slower than running single apps, I get the feeling that such a thing isn’t exactly looked upon lovingly by the hard-core Unix geeks out there.

But being able to run any OpenBSD (or Linux) app on a network-connected box from a Windows-only PC is so totally cool that I should be sated in my dose of geekdom for the next week at least.

The $0 Laptop and its CPU fan discontents:
I’ve been working with controlling my Gateway Solo 1450’s CPU fan for months now. In Linux, I’ve had it controlled pretty well with a cron job, and in the case of Puppy a few added kernel modules.

But since then, I’ve come to realize that the cron job, which checked the CPU temperature every five minutes and turned the fan on or off depending on that temperature, is unnecessary.

All you need to do is turn the fan off at boot, and then ACPI will manage it just fine. This revelation comes after considerable work in the console, checking the temperature, running commands, running scripts and generally seeing what happens during the course of a computing session.

So I turned off my cron jobs, and now all I need to do is add the following line to /etc/rc.local:

echo 3 > /proc/acpi/fan/FAN0/state

That turns the fan off. I initially thought that only this line — echo 0 > /proc/acpi/fan/FAN0/state — would turn the CPU fan back on, but that is most definitely not the case. Once the fan is turned off with the “echo 3” command (which you can run from the console, just as you can the “echo 0” line), when the CPU gets warm, the fan turns on and then turns off when the CPU cools down.

So that one line added to /etc/rc.local is enough to get ACPI management of the fan working, at least in the Gateway Solo 1450.

Now there’s the matter of OpenBSD, FreeBSD and NetBSD and this same CPU fan. So far nothing has worked, but I will keep trying.

Debian Lenny, FreeBSD 7, OpenBSD and silencing CPU fans

March 3, 2008

Quick notes because I’ve got time for no more:

Debian Lenny: I hadn’t updated Debian Lenny in about a week. Bugs are getting fixed all over the place. The latest wave of upgrades includes a couple of fixes for the Epiphany browser, which as a result is running better than ever. Most of what I noticed was cosmetic, but it just adds to the excellent functionality that Lenny already offers users. If you’ve been worried about running Lenny instead of Etch, I think the time is right to move to Lenny as it makes its way from Testing to Stable.

Preload in Debian: After reading about preload in Linux Journal, I finally installed it. Preload is supposed to monitor what apps you use most and automatically load them into memory, adjusting if your application habits change. Since I tend to run the same apps a lot, and since I have plenty of memory, I’m anxious to see how well preload works.

FreeBSD and the need for speed: FreeBSD 7 is now beginning its life as a stable OS. It’s supposed to be up 15 percent faster than the fastest Linux kernels, up to 350 percent faster than FreeBSD 6x under normal loads, and up to 1,500 percent faster under heavy loads. I’m anxious to see how the hardware recognition performs. So far, I’ve had quite a bit of luck with DesktopBSD 1.6, which is based on FreeBSD 6, and I can only hope for better things with FreeBSD 7, which I plan to test soon.

OpenBSD update: I’ve been having a lot of fun — and learning quite a bit — with OpenBSD. I have the box on the local network, and I’ve been playing around with the ftp server, Apache Web server and with SSH. First I installed the PuTTY ssh client on my Windows XP box so I could connect from the XP box to the OpenBSD box. I could run any console program I wanted, and while it may not be a huge deal to the more experienced of you out there, it’s a huge deal for me.

I wanted to run X over SSH, so I made the appropriate changes in OpenBSD to allow X11 forwarding over SSH. Ahd with the help of my friends over at LXer, I found out about Xming, an X client for Windows.

It took me awhile to figure out that I had to enable X in PuTTY to make it work. Xming runs in the background on the Windows box, and when I open an X program from the PuTTY console:

$ rox &

… A window opens on my XP desktop with the OpenBSD X program in it (which, in the case of the line above, is the Rox-filer). Pretty slick. (The & after the app name makes the process run in the background. I had one snag: I couldn’t run the Dillo browser over SSH until I installed all the X fonts for Xming. There’s a way to just use Xming to enable the SSH session, but that hasn’t worked for me thus far. But since the PuTTY/Xming combination is working, that’s what I’m going with.

I’d like to run a full X session with a full window manager running in a window on my XP box, but besides being slower than running single apps, I get the feeling that such a thing isn’t exactly looked upon lovingly by the hard-core Unix geeks out there.

But being able to run any OpenBSD (or Linux) app on a network-connected box from a Windows-only PC is so totally cool that I should be sated in my dose of geekdom for the next week at least.

The $0 Laptop and its CPU fan discontents:
I’ve been working with controlling my Gateway Solo 1450’s CPU fan for months now. In Linux, I’ve had it controlled pretty well with a cron job, and in the case of Puppy a few added kernel modules.

But since then, I’ve come to realize that the cron job, which checked the CPU temperature every five minutes and turned the fan on or off depending on that temperature, is unnecessary.

All you need to do is turn the fan off at boot, and then ACPI will manage it just fine. This revelation comes after considerable work in the console, checking the temperature, running commands, running scripts and generally seeing what happens during the course of a computing session.

So I turned off my cron jobs, and now all I need to do is add the following line to /etc/rc.local:

echo 3 > /proc/acpi/fan/FAN0/state

That turns the fan off. I initially thought that only this line — echo 0 > /proc/acpi/fan/FAN0/state — would turn the CPU fan back on, but that is most definitely not the case. Once the fan is turned off with the “echo 3” command (which you can run from the console, just as you can the “echo 0” line), when the CPU gets warm, the fan turns on and then turns off when the CPU cools down.

So that one line added to /etc/rc.local is enough to get ACPI management of the fan working, at least in the Gateway Solo 1450.

Now there’s the matter of OpenBSD, FreeBSD and NetBSD and this same CPU fan. So far nothing has worked, but I will keep trying.

Strange things happening with my OpenBSD box, but excellent documentation saves the day

February 28, 2008

I haven’t hooked up my OpenBSD 4.2 drive and booted it for about a week. The last time I left the box, I was playing around with Apache, and I thought all was well.

Today I hook up the drive and boot OpenBSD.

First of all, instead of a console login, I get an XDM login. That’s strange. I don’t remember XDM ever showing up before.

Then Internet networking doesn’t work. I check all the networking settings. Everything is correct.

I can ping IP addresses on the local network, but nothing is working outside of that. Pinging google.com yields nothing. Since I can get local machines, I know it’s not a bad cable.

Back to the OpenBSD FAQ. Instead of doing ifconfig, I check all the files that hold network configuration info. Nothing.

To start networking manually, the FAQ says to do this:

# sh /etc/netstart

An error message comes up. There’s an error of some kind in /etc/rc.conf.

Now I know what happened. To start Apache automatically at boot, a line must be edited in /etc/rc.conf. I was trying it, and I must’ve screwed something up. As root, I edit the file. Sure enough, I had erroneously dropped a linefeed in the middle of the comment line to turn Apache on at boot.

I fixed the line, saved /etc/rc.conf and tried to start networking again from the command line.

It didn’t work.

I rebooted.

This time, I got my usual console login. I started X manually. And Internet networking worked.

I also configured an anonymous FTP server. I had to manually change the permissions of the directory and files to root, but everything worked as advertised.

That’s the strength of OpenBSD, as well as FreeBSD and NetBSD: the documentation is readable, comprehensive and up to date.

Over the past two days, I did a Debian Etch install in order to compare how all of this server configuration goes in Linux as opposed to OpenBSD.

And this is where the lack of documentation (even the man pages aren’t all that up-to-date). At least the apache2 man page for Debian told me about the apache2 command. When httpd and apachectl start did nothing, I was in a bit of a quandary. Luckily I figured out that apache2 start and apache2ctl start would both work. Oh yeah, and the config files aren’t where the Debian man page says they are. Instead of being in /usr/local/apache2/conf, they’re in /etc/apache2.

I did figure out how to change the default directory for Apache in Debian (editing /etc/apache2/sites-available/default does it).

Part of the problem was that I started with Apache version 1.3 in OpenBSD (which doesn’t include Apache 2 for licensing reasons) and had Apache 2.3 in Debian. And sure I don’t know quite what I’m doing, but this is all on a local network, not the wide-open Internet, so I’m a bit more free to experiment.

All this underscores the value of good documentation. And when it comes to some distros — Ubuntu, Red Hat and Suse — there are doorstop-thick books available. And the good ones are worth their weight in any precious metal you care to name. Luckily the BSDs have great online FAQs to help get you started. And since integration between the kernel, userland and other packages is so tight in the BSDs, and the need for documentation is that much greater, I’m damn glad it’s there.

Not that Linux doesn’t need something similar, but I don’t see any Linux distribution short of Gentoo providing documentation this comprehensive and finely tuned to its users.

Can anybody prove me wrong? I truly, sincerely hope so.

Strange things happening with my OpenBSD box, but excellent documentation saves the day

February 28, 2008

I haven’t hooked up my OpenBSD 4.2 drive and booted it for about a week. The last time I left the box, I was playing around with Apache, and I thought all was well.

Today I hook up the drive and boot OpenBSD.

First of all, instead of a console login, I get an XDM login. That’s strange. I don’t remember XDM ever showing up before.

Then Internet networking doesn’t work. I check all the networking settings. Everything is correct.

I can ping IP addresses on the local network, but nothing is working outside of that. Pinging google.com yields nothing. Since I can get local machines, I know it’s not a bad cable.

Back to the OpenBSD FAQ. Instead of doing ifconfig, I check all the files that hold network configuration info. Nothing.

To start networking manually, the FAQ says to do this:

# sh /etc/netstart

An error message comes up. There’s an error of some kind in /etc/rc.conf.

Now I know what happened. To start Apache automatically at boot, a line must be edited in /etc/rc.conf. I was trying it, and I must’ve screwed something up. As root, I edit the file. Sure enough, I had erroneously dropped a linefeed in the middle of the comment line to turn Apache on at boot.

I fixed the line, saved /etc/rc.conf and tried to start networking again from the command line.

It didn’t work.

I rebooted.

This time, I got my usual console login. I started X manually. And Internet networking worked.

I also configured an anonymous FTP server. I had to manually change the permissions of the directory and files to root, but everything worked as advertised.

That’s the strength of OpenBSD, as well as FreeBSD and NetBSD: the documentation is readable, comprehensive and up to date.

Over the past two days, I did a Debian Etch install in order to compare how all of this server configuration goes in Linux as opposed to OpenBSD.

And this is where the lack of documentation (even the man pages aren’t all that up-to-date). At least the apache2 man page for Debian told me about the apache2 command. When httpd and apachectl start did nothing, I was in a bit of a quandary. Luckily I figured out that apache2 start and apache2ctl start would both work. Oh yeah, and the config files aren’t where the Debian man page says they are. Instead of being in /usr/local/apache2/conf, they’re in /etc/apache2.

I did figure out how to change the default directory for Apache in Debian (editing /etc/apache2/sites-available/default does it).

Part of the problem was that I started with Apache version 1.3 in OpenBSD (which doesn’t include Apache 2 for licensing reasons) and had Apache 2.3 in Debian. And sure I don’t know quite what I’m doing, but this is all on a local network, not the wide-open Internet, so I’m a bit more free to experiment.

All this underscores the value of good documentation. And when it comes to some distros — Ubuntu, Red Hat and Suse — there are doorstop-thick books available. And the good ones are worth their weight in any precious metal you care to name. Luckily the BSDs have great online FAQs to help get you started. And since integration between the kernel, userland and other packages is so tight in the BSDs, and the need for documentation is that much greater, I’m damn glad it’s there.

Not that Linux doesn’t need something similar, but I don’t see any Linux distribution short of Gentoo providing documentation this comprehensive and finely tuned to its users.

Can anybody prove me wrong? I truly, sincerely hope so.

How important are software updates to you?

February 18, 2008

Getting my feet wet in OpenBSD has gotten me thinking about how different operating systems handle software updates — and how important security patches and bug fixes really are.

I’m thinking most of you will say they’re very important. If you have a Debian-based Linux system, for instance, there are updates available almost every day, both security- and bug-related.

Live CDs are different. Knopix 5.1.1 has been around a very long time — over a year at this point — and plenty of people are using it, even though it’s had no update of any kind in that period of time. But live-CD distros like Puppy Linux and Damn Small Linux have a new release every two or three months, and while the developers don’t patch every single conceivable thing, I imagine that quite a bit of upgrading is done over the course of, let’s say, six months.

OpenBSD, FreeBSD and NetBSD all offer apps in the form of ports, which are source files that you download and compile on your own machine, as well as precompiled binary packages for a variety of architectures (i386, powerpc, sparc, etc.). And the method for updating these ports and packages is something I’m still investigating.

m no expert yet, but I think the bulk of the updating for these BSD systems is done with ports through a CVS server. Taking OpenBSD as an example — especially because that’s what I’m running at the moment — there are precompiled binaries for OpenBSD 4.2 that haven’t changed since the version’s release. So if you point to the packages created for OpenBSD 4.2 in your PKG_PATH, you get Firefox 2.0.0.6.

But if you look in snapshots, OpenBSD has a 2.0.0.12 package for Firefox on i386 that was uploaded two days ago.

(A quick check of the NetBSD repository for binary packages yielded Firefox 2.0.0.11, as well as preliminary versions of Firefox 3, for NetBSD 4.0.

So is it better to stick with the 4.2 packages, or to use the newer “snapshot” packages?

I’ll give myself the answer: RTFM. While much is the same in the various BSD projects when compared to the hundreds of Linuxes out there, much is different — and in the service of user choice.

But when it comes to getting the latest versions of … well, everything, thus far I haven’t yet figured out if there’s a prebuilt script for updating binary packages en masse in OpenBSD and NetBSD. I know that FreeBSD has an app called freebsd-update that accomplishes this task, and I’m anxious to try it, but I’d like to know if I’m missing a similar utility in NetBSD and OpenBSD, or if the absence of this sort of tool is intentional.

My question: Am I compromising my OpenBSD system by running older precompiled binary apps? Does it really matter?

I’m conditioned by using Debian, Ubuntu and Slackware to expect updates on a continual basis and I wonder if I need to have the same level of vigilance with the BSDs. And should I be using ports instead of packages? While I’m on the subject, here’s a way to keep up with new ports for OpenBSD. And here’s the listing for Firefox.

Helpful site for OpenBSD: From OpenBSDSupport.org comes this page on how to replace Windows with OpenBSD. While it’s based on OpenBSD 3.7 instead of the current 4.2, and that makes some of the information out of date, there are more than a few tips that can be applied to the newer version.

Plugging into OpenBSD: I’ve just signed up for a bunch of OpenBSD mailing lists, but there’s also the OpenBSD Journal to help you keep up with what’s going on.

Summing up: So far I’m having a lot of fun looking into the BSD operating systems. I met networking and security instructor, as well as prolific author Dru Lavigne at SCALE 6X, and she’s going to send me a copy of her new book, “The Best of FreeBSD Basics,” which means I’ll be doing some work in FreeBSD in order to evaluate the book. In case you want your own copy, here it is on Amazon.