Which BSD for an Experienced Linux User? 290
Bruce C asks: "I'm a software developer with 28 years commercial experience. Although my day job is mostly on Windows software, I've been using SuSE Linux for 6 years at home. Before that I worked on HP/UX. I've no pressing plans to abandon Linux, but I am interested in experimenting with a BSD style operating system. My current motivation is largely curiosity. Of course, I might end up being converted, but that isn't my intention. I'm wondering which of the various *BSD systems would be the 'best' introduction for a person like me. The workstation I'm planning to use is a generic beige box: Celeron 1.2, 768Mb RAM, 120 Gb IDE, with about 80Gb free. It's on a LAN, behind a firewall. The live CDs for FreeBSD (Freebsie), DragnoflyBSD, and NetBSD all booted and started on it. I haven't tried an OpenBSD CDROM. Which BSD should I pick?"
FreeBSD (Score:5, Informative)
Experiment (Score:3, Informative)
Re:All of them (Score:5, Informative)
To each his own, they are all great OSes, you will find one (or more) that you like.
OpenBSD strengths. (Score:5, Informative)
Easy Install (and perhaps one of the quickest I've ever seen)
Very Secure OS. (You mihgt just find the OS all of your future servers run)
Ports System. - Like other BSDs, the ports system is truly a marvel. Software installation could not be easier.
Good license standpoint - OpenBSD has a rather purist stance on the licenses for software they ship. It might seem extreme at first, but there is some good reasoning behind it.
Documentation - OpenBSD's offical FAQ is very helpfull and answered 99.9% of the questions I had as a beginner.
pretty much need to try them all (Score:5, Informative)
OpenBSD is probably the easiest. Most things are in a working configuration by default, they just need to be switched on. FreeBSD has more software and better performance, but it's never been worth it for me because you have to mess around with the kernel and stuff (We're not on Linux, after all). I had to manually enable modules to get things like sound and set all sorts of environment variables to get some of the ports to work right. On OpenBSD it pretty much works the first time you boot it if it's going to work at all. The security is a bonus, but mostly I like how little work it takes to maintain.
FreeBSD is a bit more up to date, and has more powerful features (I love jails). I usually fall back on it if I need one of the features.
I don't really see much point in NetBSD, but given the number of people that use it and like it it's probably worthwhile to take a look.
DragonFly is still close enough to FreeBSD in terms of user experience that you might be able to skip it if you don't like FreeBSD.
They're all pretty easy to install. Give 'em a shot.
Re:FreeBSD (Score:5, Informative)
BTW, I'd rewrite your instructions as:
Update your software collection: /usr/ports; make update
cd
portupgrade -ra
Install from source:
portinstall misc/screen
Install from binaries:
portinstall -PP misc/screen
Yes, I know that the first one is rarely that simple (although it can be, especially on relatively new machines). The second two are pretty representative, though.
Re:OpenBSD (Score:3, Informative)
FreeBSD, definitely. (Score:5, Informative)
Also, reading through the FreeBSD Handbook [freebsd.org] will answer almost any question that one could have regarding getting the system up and going.
Combine all of this with the extremely expansive collection of ported applications [freebsd.org] (it's often as easy as 'cd
Re:OpenBSD strengths. (Score:5, Informative)
Re:OpenBSD (Score:3, Informative)
What do you Like About Linux? (Score:5, Informative)
If you hate Linux for its complexity, bloat, unclean filesystem, and long for something cleaner, go with Open or Net, I prefer Open myself.
If you hate linux for all those things, but don't want to make any large steps, then again, FreeBSD, its the closest thing to a baby step you'll make.
All the BSD's rock, all of them are much cleaner, and more consistent than your average linux distro, which is, in my humble opinion, the best reason to move over to them.
Re:What do you want? (Score:5, Informative)
To suggest there is no difference is not only untrue, but vaguely insulting to the project.
It depends (Score:4, Informative)
It really depends on what the BSD is destined to do. For learning any one of those three will do really. The effective differences between their CLI, commands, toolbox, kernel interface and compilations, networking etc are negligible. In networking, well, OpenBSD has the excellent pf instead of the ipf, but for learning will feel the same nevertheless.
If used for anything beside learning, well, FreeBSD is featureful, and can make excellent use of your hardware, OpenBSD is extremely secure and simple, and makes for great firewalls and VPN servers, NetBSD is also real simple, and porting it around is easier than Linux, easiest among all OSes.
But even those differences are negligible. FreeBSD and NetBSD are also very secure, FreeBSD and OpenBSD are also portable etc. FreeBSD has the largest base and some apps will run natively on it but not the other BSDs. I think FreeBSD alone has nVidia drivers available for it among all BSDs. If you plan to encrypt the filesystem, encrypt data structures in the ram, keep code and data seperate in the ram enforced by the OS, use encryptions of many more bits, do fancy VPNNing, use OpenBSD. I personally have difficulty in choosing a BSD for any specific task because they are so similar despite what the developers say. So I just use OpenBSD because I'm Canadian.
Choosing a Linux distro is usually a better conversation with more reasons to choose one over the other. Please dont bring up Linux vs BSD, just search that term on google and read for the rest of your days.
Easy? Free*; Education? Open*; Experiment? Net* (Score:5, Informative)
OpenBSD would be great to learn on as it will definately push you into the documentation and get you used to some of the conventions used (slices v. partitions, startup scripts, etc.). I'd suggest you use an older or spare computer if you've got extra or can pick one up cheap. You could also just set aside space on those 80 gigs you've got. READ UP ON PARTITIONING, USE OF LARGE DRIVES, ETC. BEFORE YOU START ANYTHING!
Once you get some OpenBSD under your belt, put a box in service at your network connection (right behind you cable/DSL connection?) and learn to setup pf (packet filter - built in). Experiment with AltQ and get yourself a good firewall/NAT in place (junk the Linksys). Not too much trouble and the docs at OpenBSD - pf [openbsd.org] are quite good. Here you could experiment with adding a web server or MTA (if you don't have tons of boxen to keep your "real" services in some kind of dedicated DMZ). My home OpenBSD box forwards BitTorrent, Freenet, VNC and SSH to a variety of machines in my house. I also prioitize packets in the following order: 1st to tcp_ack_out, Vonage telephone, ssh_interactive, everything else, freenet, and finally ssh_bulk. Keeps my phone line crisp and prevents freenet from destroying my ssh sessions' latency. You can do this with other products but I've had a good time (and have learned quite a bit) constructing my
Then build youself a FreeBSD box. This should be cake. 5.x should install without a problem for you and you've got access to all the ports you could ever imagine. Your experience with OpenBSD will help you understand some of the differences you'll encounter. Makes a great desktop. OpenBSD will work fine as a desktop machine but I've never done it. Same for NetBSD I suppose. Give it a whirl. I'm sure you'll learn a ton and be quite happy with whatever you decide.
Don't short yourself on learning OpenBSD. It is awesome, security aware and has some wonderful features (need encrypted swap case the feds might knock down your door at any minute? check.). It may just serve all your needs and knowing it is surely going to be useful to either yourself or others in the future. Use it for utility and the ability to sleep at night with your data behind it. (still better go with RSA keys on sshd though). Check out http://undeadly.org/ [undeadly.org]
Don't short yourself either on checking out FreeBSD. I moved from Linux to "the beast" some 5 years ago and haven't looked back since. The 4.10 machine I use everyday has been up 168 days as of today. I had at shutdown the machine previous to that due to a scheduled power outage. It sits fully exposed on an unprotected IP and runs user apps, a web server and mail. Not a single problem in years. FreeBSD has certainly served me (and some clients of mine) well.
If you're a system developer or like playing with things at the driver level or experimenting with new code, new systems or want to put your toaster on the network, don't deny yourself a NetBSD 2.x install. Wonderful features at the leading edge. Very capable and I hope to get some more experience with it myself one day.
Learn OpenBSD. You won't regret it.
Re:FreeBSD (Score:5, Informative)
I think FreeBSD by far has the best centralized documentation anywhere (gentoo is good, too--I think they try hard to model after FBSD). Between the Handbook for general How-To's and the man pages for nitty-gritty, you can do almost everything without googling.
I keep trying to learn Debian, but every time I give up because it's hard to find good up-to-date information.
Re:OPENBSD!!! (Score:4, Informative)
Uhm, no. Everything in a base install, even if not turned on, has undergone a code audit... I'm fairly certain that the OpenBSD versions of sendmail, bind, and "the webserver formerly known as Apache" have all had many security-related patches applied, not all of which were accepted back into their respective main code branches.
Anyway, for a Cluefull User I highly recommend OpenBSD - the documentation kicks ass, and the user community is great at helping those that help themselves (i.e. as long as you've done your homework [catb.org], they've always been quick to help).
Re:FreeBSD (Score:4, Informative)
Anyway, although this is not the most important factor in deciding which OS to choose, it can still matter. I am very grateful to the FreeBSD user community for their patience to help out a noob like I was back when I tried it out. There is also a linux section on freebsdforums.org - and contrary to what some troll would have you believe, most freebsd users either run linux as well or don't care about linux at all. And if you are looking for positive linux reviews, you can find many of them on - surprise surprise - bsdforums (I read raves about mandrake, gentoo, etc.). I just thought that I'd mention this if someone had the same apprehension I had 1.5 years ago.
Re:What do you want? (Score:1, Informative)
That doesn't mean the audit is foolproof. But don't think in terms of black & white. The more the code is audited, the better it becomes.
There are also other things going on at the same time. For one, many services (like named) get chown'd and chroot'd by default. I believe this is still not the default behavior for quite a few Linux distros (I know debian doesn't do this, and they're one of the larges installed server base). Many other daemons have their own dedicated uid/gid. Check the
There is also lots of stuff going on at the kernel level to deal with buffer overflows, etc. Now of course Linux has stuff like this too, but unless it's managed by the distro, the user has to patch his kernel himeself and configure the grsecurity (or whatever patch) correctly. Whereas in obsd, it's already part of the kernel and there's no need to deal with it (unless you want to use the systrace ACL system, but that goes without saying). Incidentally, the fact that the kernel is highly audited makes a huge difference here. It minimizes the chances of exploiting a kernel bug and bypassing all these security mechanisms.
Try NetBSD first. (Score:2, Informative)
FreeBSD is also a good one to try. I don't like it as much, but that's mostly just personal preference. DragonFly looks interesting, but I haven't bothered with it yet. OpenBSD is, well, rudimentary at best - I've only ever encountered one thing it does that the others don't do (yet), and that's RFC2385 support, which I highly doubt you will care about. Other than that, it's crude, problematic, and mostly hype - NetBSD and FreeBSD are every bit as secure, possibly moreso.
Re:All of them (Score:3, Informative)
Between the NetBSD, FreeBSD, and OpenBSD systems, I'd add these thoughts:
a) Security isn't something you get out of a box.
If you think that it is, then I hope that
you're not running any boxes that I ever have
to rely upon!
b) Performance isseus are mostly transient if you
stay up to date.
c) Ease of use is subjective. I found the
FreeBSD install tool to be cumbsome and
unclear on the AMD64. I just wanted a base
system installed so that I could boot and
build from FrreBSD's pkgsrc-like source
package system (they call it "ports").
I had to goof around selecting and unselecting
stuff before the right things were all turned
on.
That said:
NetBSD is the only real choice if you require one of the platforms that only it supports. Or if you need to cross-build a slow Motorola 68K box from a fast AMD64. (The current benchmark superiority is nice, but not a long-term selling point.) Code cleanliness and the portable pkgsrc system that it uses (pkgsrc runs on FreeBSD, LINUX, Solaris,
OpenBSD supports a few ports, like the Motorola 88K (not to be confused with the 68K!) which no one else supports.
FreeBSD is the only BSD with mainline support for DRI. (But it fails on my AMD64 box, along with audio. I assume that they work more reliably on i386 hardware, but have not tried.) If you expect hardware accelerated OpenGL, and don't want to fool around with unsupported patches, FreeBSD is the only one that stands a chance for now.
If you just want to see what a BSD is like, probably the best thing to do is install all of them that you can.
(For the record: I mostly use NetBSD. I have installed FreeBSD/amd64, hoping to use it as a friendly alternative to GNU/LINUX for games and OpenGL, etc. Given that neither DRI nor audio work on this box for FreeBSD, I use NetBSD for audio and GNU/LINUX for games. I rarely boot FreeBSD.)
Re:OpenBSD strengths. (Score:2, Informative)
This is where OpenBSD really shines.
Jason.
Re:What do you want? (Score:3, Informative)
This clearly shows how uninformed you are. OpenBSD ships its own version of these tools in the base install, and the differences between the stock version and the OpenBSD version are sometimes big. named and dhcp use privilege separation for example, httpd is chrooted by default, etc. etc.
Your assumption that userland code isn't audited is also false. A large effort has gone into userland, and since auditing is a continuous process, it will go on.
Some examples: sometimes new classses of attacks are found, and a complete scan of the tree is done for the specific error. Some time ago the whole base tree has been cleaned wrt to strcpy, strcat and sprintf. No more unbounded string operations remain in the tree.
My view of the BSD's (Score:2, Informative)
A lot of people I know are impressed with OpenBSD's security and architecture. OpenBSD is also a major force behind some security things that Linux borrows, for example, my "apt-get install ssh" installed an SSH written by OpenSSH, which is associated with OpenBSD. If I was concerned with security, or wanted to get involved in kernel development, I might look at OpenBSD. Be that as it may, it seems like a niche, and is not as widely used as FreeBSD or necessarily aimed for a wide market.
NetBSD I am not very high on. It's thing is portability, and it has always been ahead of FreeBSD and OpenBSD, but sometimes even that has stalled, and it's one benefit hasn't been that impressive in comparison. Currently that is not true, but it seems cyclical. Unless you're interested in architecture portability, I'd avoid it. IMHO the best coders went to OpenBSD in the NetBSD/OpenBSD split. But if you need artchitecture portability above all, from time to time NetBSD shines in that area.
FreeBSD to me is the "Linux" of the BSD's. If I wanted security or to hack on the OS, I'd get OpenBSD, but otherwise, I'd get FreeBSD. I've been using FreeBSD and Linux since the mid 1990s, and although I'm more of a Linux person, I've always liked things about FreeBSD. One thing that I feel helps it propogate is I feel the install is easier than a lot of the big Linux distributions. In the mid 1990s, it used to support my crappy NE2000 compatible cards when Slackware Linux didn't, so I wound up installing FreeBSD for servers I originally was going to run Linux. In 2002 or so, I needed a UNIX on my Intel box which only had a 56K modem to do a network install - I got the floppies for FreeBSD, Red Hat and some other Linux distro I forget. Only FreeBSD was able to do the install. I've always thought their installation process was superb. I've also used FreeBSD as a desktop and a server and have been happy with it as both. I prefer Linux, but FreeBSD is a nice competitor to Linux, and some things, like installation, it seems to do better in.
Re:OPENBSD!!! (Score:2, Informative)
The Apache httpd diff is about 4000 lines. After the fork the diff is even larger as they are removing the unneeded apr layer.
Re:OpenBSD (Score:4, Informative)
Utter rubbish. Me, being a complete *nix idiot then (and still pretty clueless now) was able to install OpenBSD without a hitch, found drivers for my exotic hardware and had the best community support you could wish for. [lowendpc.com].
In addition to being a great, functional and secure OS, it also has a outspoken, intelligent leader who is not afraid to stir up controversy for his political or technical beliefs.
Go Theo!
Requiem for the FUD (Score:5, Informative)
But since I've seen that a 3-year-old post [slashdot.org] spreading FUD over BSD was modded up from "-1 Troll" to "+1 Funny", I thought that - at the risk of burning my karma - it was right to make available to the +1 readers an even funnier collection of *facts*.
FreeBSD:
FreeBSD, Stealth-Growth Open Source Project (Jun 2004) [internetnews.com]
"FreeBSD has dramatically increased its market penetration over the last year."
Nearly 2.5 Million Active Sites running FreeBSD (Jun 2004) [netcraft.com]
"[FreeBSD] has secured a strong foothold with the hosting community and continues to grow, gaining over a million hostnames and half a million active sites since July 2003."
What's New in the FreeBSD Network Stack (Sep 2004) [slashdot.org]
"FreeBSD can now route 1Mpps on a 2.8GHz Xeon whilst Linux can't do much more than 100kpps."
NetBSD:
NetBSD sets Internet2 Land Speed World Record (May 2004) [slashdot.org]
NetBSD again sets Internet2 Land Speed World Record (30 Sep 2004) [netbsd.org]
OpenBSD:
OpenBSD Widens Its Scope (Nov 2004) [eweek.com]
Review: OpenBSD 3.6 shows steady improvement (Nov 2004) [newsforge.com]
*BSD in general:
..and last but not least, we have the cutest mascot as well - undisputedly. ;) [keltia.net]
Deep study: The world's safest computing environment (Nov 2004) [mi2g.com]
"The world's safest and most secure 24/7 online computing environment - operating system plus applications - is proving to be the Open Source platform of BSD (Berkeley Software Distribution) and the Mac OS X based on Darwin."
--
Being able to read *other people's* source code is a nice thing, not a 'fundamental freedom'.
Re:What do you want? (Score:1, Informative)
Re:FreeBSD (Score:4, Informative)
Which brings us back to my statement:
If you can make a FreeBSD port of a program, then you can probably also get it to run on NetBSD or OpenBSD. However, the odds of any particular program already being ported to FreeBSD are significantly higher.Re:try darwin (Score:5, Informative)
I would suggest this excellent trilogy of articles about FreeBSD ports:
Ports Tricks [onlamp.com]
portupgrade [onlamp.com]
Cleaning and Customizing Your Ports [onlamp.com]
Together with the ports chapter on the FreeBSD Handbook [freebsd.org], they should pretty much cover anything you'd need to know to work with ports - they did for me.
And btw, as another poster already pointed out, the BSD section [onlamp.com] of Onlamp is a *great* source for BSD technical info.
I've also heard great things about NetBSD's pkgsrc [netbsd.org] system - I have to try it out some day.
--
Being able to read *other people's* source code is a nice thing, not a 'fundamental freedom'.
Re:FreeBSD (Score:2, Informative)
You have no clue what you are talking about. (Score:1, Informative)
And openbsd runs plenty by default, its netbsd that simply turns everything off and calls it security. If you haven't even tried openbsd, maybe you shouldn't be talking about what it does and doesn't do?