Which BSD?
Poodle Fang asks: "After using Linux for a few years, I am now interested in trying out the free x86 BSDs. I have been reading that OpenBSD is focused on security and FreeBSD on performance, but is there really much of a difference in security and performance among the BSDs? Do any of the BSDs have any features that sets it apart from the others (for example, does one work better on laptops than the others?) How well do the Linux emulation libraries work? I am more concerned in the performance, stability and security than packaging or an easy install process. Any insights would be appreciated! "
Each BSD has it's own goals - OpenBSD for example aims to be the "secure" BSD, and is designed package by package to make sure the l335 h4x0rs out there would rather pull their fingernails out than try to bypass the security safeguards on your box.
Sooooo... maybe it might be better if you told us what you're looking for- you've asked a really open-ended question!
--
Well, it's not really emulation. It works perfectly, and pretty much runs Linux binaries as native binaries. It runs them about as fast as (or in some cases faster than) a Linux system.
As for the differences, FreeBSD supports more x86 hardware generally, while NetBSD supports more architectures. OpenBSD has better out-of-the-box security, but all the BSDs are quite good in security with a bit of tweaking and configuring. It mostly seems to be a matter of personal preference, though most home desktop users tend to pick FreeBSD.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Here's how I understand it.
;-)
;-)
OpenBSD has undergone a line-by-line professional security audit. It is focused entirely on security.
FreeBSD is the most mature of the BSDs on the i386 platform. It focuses mostly on that platform, although I believe that there is a sparc port as well now.
NetBSD's hook is that it is ported to everything including the kitchen sink. It ran well on the Vaxen and the Apollos that I came across not so long ago.
Based on user testimonial, the linux Binary emulation is extremely good for anything that isn't specifically tied to the kernel. i.e. you can't load kernel modules. I've seen somebody run StarOffice 5.0 on OpenBSD using the emulation.
I'm installing OpenBSD on a 486 tonite, so maybe I'll follow up with some more first-hand info soon.
25% Funny, 25% Insightful, 25% Informative, 25% Troll
FreeBSD is most definately not for beginners. If you are a win98 user go get yourself a copy of caldera 2.3. Pop the CD into your drive and less then a half hour later you will have a nice, slick linux system that you can play around with. Keep your win98 partition for running your current apps and try the apps in Linux. After using both of them for a while you may prefer linux. If you don't prefer it just wipe it out and all you are out is $30.00. I would recommend against getting a cheap bytes version unless you also buy some application CDs too. The commercial Caldera box comes with both Star office and Applixware and you can try them out to see if you like them.Most people use a computer mainly for word processing, spreadsheets, email and web browsing. You will find Linux very good at these functions.
If you have a fairly fast internet connection you can also download some images and do an over the internet install of RH6.1. Then go visit Anywhere office from applix and you can use their java based office suite for free. I think you will find it more then adequate for most of your needs.
Whereever you are there is probably a Linux users group, go to one of the meetings and you will find lots of friendly knowledgable people who are just dying to help you out. Good luck and welcome to the adventure.
War is necrophilia.
Everyone will have a different opinion, and they are all right. I'm going to offer my FreeBSD-slanted opinion as one view.
NetBSDCoke, original formula. Hard to argue with that. NetBSD has a long and noble history. The NetBSD team does a great job of covering the hardware world. No, not the WinTel hardware world, that's Linux. They cover platforms. By running on so many platforms it is a great platform if you have a lot of different (and/or old :-) sorts of hardware. Unfortunately, it is this platform compatability that slows their progress.
I have nothing bad to say about NetBSD. unfortunately, I have nothing good (feature wise) to say about it when it comes to getting real work done. Anything you buy these days has "better" choices that run on it. I will continue to be a big NetBSD supporter though, as it's the only choices for some of my older machines that still deserve a real operating system.
OpenBSDI'd tell you about it, but then I would have to kill you. :-) Actually, it's not that bad. OpenBSD is security focused, and so they do go a few extra steps in that direction. About 60% of what they do can be done on NetBSD simply by intelligently securing the box. The other 40% is good security add on work.
Most of the good stuff the OpenBSD folks come up with make it into the other BSD's and Linux shortly afterwards, although not all. I'm not sure on security alone OpenBSD is "better", assuming you have a clueful admin who understands the issues.
IMHO the best thing for the BSD community is if the OpenBSD guys and the NetBSD guys could get together. Unfortunately, the inability to do that is the very reason they are apart.
FreeBSDThe FreeBSD folks want to get real work done. Early on, that resulted in an Intel focus, as that was the only affordable platform available. Now the Alpha is included, and hopefully more soon. When they day is done though they are interested in bang-for-the buck, not on RC5 or quake, but applications like web, ftp, and news. Bread and butter network stuff, rooted deep in the Unix world.
This shows in several places. The VM subsystem they implemented several years back was one of the first of it's kind in the free OS world. The port subsystem is an efficient way to distribute and build tools that may still have compile-time dependancies and configuration without creating a packaging nightmare. The installer is simple, clean, fast, and good for the novice and the expert.
Put simply, FreeBSD makes the admin and the machine the most productive when trying to do Internet application "stuff".
LinuxI'll offer my Linux opinion, to complete my perspective. Linux wants to be everything to everybody. As such, it supports more "options" to everything. There are more device drivers, more supported file systems, and more "applications" than any other free unix. In many cases, this is good, but when it comes to getting real work done, it is questionable at best.
The quality of both some of the "supported" hardware and the drivers are to be questioned, but how are you to know what is good, and what is bad? The releases are more frequent, both to fix bugs, and introduce features. There are often all sorts of new things added you don't need that may affect what you're trying to do.
SummaryAny of them will probably do what you want. All of the BSD's have a very different structure than Linux, not only in code, but in how they are designed, built, and released. They all have core teams, rigid code review and testing procedures, and an emphasis on being correct rather than being first, best, or fastest. For the most part, if there is a feature in a released version, it works, reliably. Linux emulation on FreeBSD works like a dream. If RealPlayer G2 and acroread will run fine under it, anything will. The penality for this stability and reliability is that you're doing to have to pick from the "approved" hardware list, and do without some of the wizbang stuff.
Finally, I have one recommendation. Learn the way each OS wants you to do things. Unix is Unix, unless you're an admin or a programmer. The worst thing anyone switching OS's can do is try to impose one OS's / designers view on another. It's usually a poor fit. Just because one OS does something completely different than another does not automatically make it better or worse, what matters is what you are able to do with it at the end of the day.
Good luck with whatever you try.
.There are some serious differences between the different flavors of BSD, but for general purpose use one would almost never notice them.
/etc for example, the BSD's seem much better organized. The man system is but one small example, for primary documentation (just read Design and Implementation of the BSD Operating System for a great example of amazing kernel documentation) I've simply found nothing better among free software.
OpenBSD ships with heavy cryptography in the distribution, allowing one to choose Blowfish generated passwords instead of MD5 for example. They're allowed to do this because they code, integrate the distribution, and ship from Canada, where Draconian laws on exporting Open Source cryptography are non-existent. Taking advantage of this the OpenBSD project is also striving to update ssh-1.2.12, the last completely free version of ssh, to remove well known security problems, which will be known as OpenSSH.
The other two projects, NetBSD and FreeBSD each have separate slants, though neither offers direct strong cryptography in their distributions because both ship from within the United States. FreeBSD is tailored for use with x86 and now Alpha CPUs, while NetBSD is tailored for wide portability. This is why the NetBSD project states "Of course it runs NetBSD."
I've only slightly used FreeBSD, and many years back. However, my NAT box connected to a cablemodem runs OpenBSD, and I have several old Sun workstations which run NetBSD... I have to say I'm very pleased with both of these Operating Systems and would strongly recommend them to anyone with need of an OS for some specific purpose (like NAT service on a firewall, or to run old oddball hardware like my Sun3s, old VAXes, and the like). And they're very strong distributions with heavy development cycles... just recently the NetBSD project integrated in UVM, a completely new memory manager with distinct advantages from the stock VM described in the BSD Design and implementation Red Book.
Hell, they all make for excellent alternatives to Linux as well... though I personally prefer Linux on my desktop workstation, after having my previous IP-MASQ Linux system, also connected to the cablemodem, cracked using a well known named buffer overflow (yes it was my fault) I'm now convinced I don't want a Linux box sitting out on the open net. I feel much safer with OpenBSD for many reasons... not just because they include the cryptography but because they code audit, they by default run critical daemons without root privileges in chroot() jails, and the authors take great pains to distribute their system by default with the fewest services started as possible, unlike most Linux distributions.
And one last thing, not meant to inflame Linux Proponents since I gleefully run both systems in my house, the documentation in all the BSD distributions seems far superior to Linux DOCS. Linux may have more HOWTO's, and other informal documentation, but when it comes to finding canonical documentation, like in man5 for
I've been very pleased with the results
Although I haven't tried it personally*, everything I've seen and heard points to FreeBSD being the smallest leap from Linux. Once you get past the shallow stability/scalability/performance claims, the two aren't appreciably different.
As for the "emulation", I understand it is pretty good. A coworker of mine used to request Linux builds of a particular piece of software I maintained at work, because he was using it on a FreeBSD box, and I had a Linux box. It all worked without a hitch.
As for claims that some software runs faster, I'm sure it does. In general, software will run slightly differently, which includes some operations running faster and others running slower. FreeBSD and Linux are optimized differently -- this is an artifact of the fact that they're completely different implementations of the same basic POSIX and Unix APIs. I'm sure there's a class of problems that each is better at. Making a broad statement that X is faster than Y is pretty much pointless. (Even if Y is a Microsoft product. ;-) )
In the end, you really need to try out different flavors and find the one you're happiest with. If it seems like too much of a hassle, then perhaps that's a hint that the change won't do you much good.
--Joe(* Note: I did try to install FreeBSD once, but a bug in the Adaptec 7800 driver caused it to trash memory and crash before it even mounted the / partition. (This was a long time ago and I'm sure it's fixed by now. Linux and FreeBSD have been sharing their AIC7xxx code for awhile now.) Since I needed the machine for some hardcore simulation work, and since I already had a working Linux install, I didn't take the time to debug it then, and haven't gotten back around to it since. This isn't a black-mark against FreeBSD in my mind at all relative to Linux: Not only were the FreeBSD developers willing to help, but also my first Linux installs required similar sorts of hand-holding. The two worlds aren't that different. I've just been too lazy to try another Unix when I have something that works well enough for me.)
--
Program Intellivision!
from the author of The Complete FreeBSD:
if you peers are using bsd, use bsd. have no freinds? use linux instead
--
You're a cartoon of rebel! You're all like exaggerated version of yourself! - Gerard Jones
OpenBSD's security is wonderful, but correct me if i'm wrong, it's no *remote* root exploits?
:-)
I doubt anyone would be insane enough to make that claim with sincerity. OpenBSD does a good job by starting most daemons as normal users and then chroot() jailing the process, providing high quality blowfish cryptography support for passwords (try and run crack on that!), and just being careful with their code. They've done an extensive code audit looking for lack of bounds checking ala buffer overruns and other obvious exploits... strncpy() instead of strcpy() type fixes.
But this DOESN'T mean OpenBSD is completely and totally secure, nor does it mean it's been completely cleaned of remote root exploits. Never mind removing all Denial of Service exploits, or well hidden and unpredictable race conditions.
Such are the statements of fools...
I'll address just this point, never mind the rest *cough*.
Two reasons why this won't happen:
NetBSD 1.4 alpha
$uptime
11:35PM up 156 days, 3:04, 4 users, load averages: 1.21, 1.01, 0.69
NetBSD's stability looks fine here. :) 156 days w/ absolutely no signs of degradation. That's 156 days since the initial setup up the machine (i.e., after transferring data from a different-type filesystem and building a custom kernel), and my first experience with NetBSD. Of course, the FreeBSD box next to it has a similar uptime (as has the Linux box..)
I think it says something about all of them that the most limiting factor for uptime is the size of your UPS and eagerness to upgrade.
Regarding the original topic at hand, I think it really depends on how eager the poster is to jump head-first into a real unix environment. I personally think it's nice to learn it the hard way first, so you know the underlying principles and can easily pick up new flavors.
Of course, if you don't care about OS or having unix skills, the one with the easiest install and prettiest out-of-the-box desktop configuration would be the obvious choice, imho. The only 2 unices I've really used as workstation os's have been Linux and Solaris, though, so I can't really comment on how the BSD's compare.. (fwiw, Linux beats Solaris to a pulp in that department, and I suspect *BSD would, too)