Can FreeBSD give me what I want? reddit / BSD ---------------------------------------------------------------------- [deleted] · 2010-05-19 23:56 I've bounced around server operating systems for a while now, with the only real notable successes being Debian Linux when I was first learning my way around, and more recently CentOS Linux, which I've used for a while. I'm sick and tired of having outdated software, though, and have considered switching to Arch Linux, the distro I'm in love with, for my personal servers. I know it's not necessarily "built" to be a server distribution, but I can't be without having new software. So here's my question: I've been recommended to FreeBSD, and I'd like to know, does it provide what I'm looking for (an operating system that's easily configurable as a server but not filled with outdated software)? I know this seems like a contradiction of terms... If the answer is yes, where do I get started? I've half-tried to mess around with FreeBSD in the past and only ended up swimming in documentation. ---------------------------------------------------------------------- SageRaven · 2010-05-20 00:24 I heartily recommend FreeBSD. I use it for any server I can dictate the OS for. I've used it every day for 5+ years as my primary desktop OS. The base OS is tight and minimal, and the ports collection is *vast*, providing you with anything you'd ever want on a production server. The base install has everything you need and expect in a proper Unix environment (I mean *seriously* CentOS/Redhat? Making me install "man" or "nslookup" as a separate package? W.T.F?!?). The flat-file kernel config method is sweet and to the point. The ability to custom compile ports is handy. I use -O3 for *everything* -- excepting kernel and userland -- on my desktop with no stability issues, and it does make a difference. I use "-fstack- protector" (ProPolice stack protection) for anything running on an internet server. I try to trim the fat and configure out extraneous libraries. Ports is a gentoo ricer's heaven! Jails are a godsend. I put *everything* into its own jail. One for the DB server; one for the web server; one for the print server; one for the samba server. "ezjail" is your friend. "pf" is very nice, and I prefer it over iptables/ipchains or whatever the standard Linux firewall mechanism is today. ZFS is fun to play with, though I've never used it on a production server (no 64-bit servers with the RAM to make it sing). I do use it on my home desktop, though, and and pleased with its flexibility, though sometimes disappointed in its performance. The stock UFS is very solid, fairly peppy. Old-school folks prefer soft updates, but I'm a gjournal man myself for server filesystems that might otherwise take hours to fsck (I consider background fscks to be an ugly hack, thank-you-very-much). But the filesystem offerings of FreeBSD are a little dull compared to Linux. Grab a copy of 8.0 and play with it. Throw it on a VM or a test server. The online handbook from the FreeBSD site is pretty good. Go browse forums.freebsd.org for newbie FAQs. The mailing list archives are a great resource, as well. I was a Redhat/Fedora user for many years, and once I picked up FreeBSD for a project, I never looked back. My only sore spot with FreeBSD (and it's a mighty weak one), is that the developers have stuck with the last GPLv2 gcc version for the base system, which is v4.2.1. Now, since you can install v4.4/4.5/4.6 from ports (indeed, some ports install them in order to build), this isn't *too* much of an issue. But it would be nice to have a base system that enjoys the newer optimizations and CPU types (such as "amdfam10" for us Phenom users) of the newer versions. There is an ongoing effort to replace gcc with LLVM's "clang" for the base system. And while that would be nice, the thought of waiting 10 years for it to match gcc's maturity kinda pisses me off. But only a little. ---------------------------------------------------------------------- icantthinkofone · 2010-05-20 00:29 Just want to ditto everything you said as a long time FreeBSD user, too, it's my desktop and notebook system and wouldn't use anything else. ---------------------------------------------------------------------- [deleted] · 2010-05-20 01:30 So besides gcc being dated, most of the software available is up to date? ---------------------------------------------------------------------- mrjared · 2010-05-20 01:36 > I use -O3 for *everything* -- excepting kernel and userland -- I don't get it. What *do* you use -O3 for? ---------------------------------------------------------------------- SageRaven · 2010-05-20 01:49 Sorry, I guess I worded that poorly. I use O3 for all of my installed ports -- 674 at this very moment. ---------------------------------------------------------------------- SageRaven · 2010-05-20 01:53 The out-dated gcc is just for the base install. As I said, you can install any number of older and newer gcc versions via the ports or packages system. Ports (the build-from-source installation method) are generally more current than the binary packages. Some of the more obscure ports are a little dated, but I can't think of any major programs that lag significantly behind in revisions. ---------------------------------------------------------------------- 1esproc · 2010-05-20 02:25 >I can't be without having new software. Why? ---------------------------------------------------------------------- [deleted] · 2010-05-20 02:38 Personal preference I guess. While I appreciate having things that are super stable, I really haven't run into much trouble using bleeding edge (or close to it) software yet, and I love having the new features and bug/security fixes. ---------------------------------------------------------------------- galtthedestroyer · 2010-05-20 12:10 I agree with SageRaven. My short experience with FreeBSD was also great. Gentoo is also excellent as a server distro. I stopped using it as a desktop distro because it was such an ordeal to install every last little codec and configure everything by hand and such. But as a server distro it is second to none. Being "source based" it is more bleeding edge than the others ... or you can install whatever older version you want. for both Gentoo and FreeBSD, when you install things, it seems to "just work." and yes, ZFS is the best filesystem I have every used. It's why I tried FreeBSD in the first place. ---------------------------------------------------------------------- Ironfist · 2010-05-20 12:26 Do you actually use those features? Security updates are backported by Redhat as well. ---------------------------------------------------------------------- [deleted] · 2010-05-20 14:32 An example: I do a lot of Python development, and there are several differences between Python 2.4 (RedHat) and Python 2.6 (current) that are big convenience issues. I hate having to use the less convenient version, but I also hate the idea of having two Python binaries installed (yum, among others, is dependent on 2.4). You're right, though, I'm not pretending to use every bleeding edge experimental feature. ---------------------------------------------------------------------- bsdboy · 2010-05-20 14:55 As with any *nix system you can install what you wish. FreeBSD, and OpenBSD for that matter, doesn't make the greatest desktop in the world, but you would be hard pressed to find a better server OS imho. You must understand the idea of BSD to fully appreciate it. The goal isn't to have the latest and greatest userland software available, the goal is to do things correct and to make good code freely available to the world via the BSD license. If you do make the plunge keep in mind that it's not going to be 'easy' at first. It's not your traditional System V style linux box that you're used to. Things work differently, the GNU tools that you are used to aren't there by default, the built in tools are completely rewritten and may work differently. The good news is that the BSD documentation is incredibly useful, it's consistent, and it's all in the right place. Some disclaimers... once you learn to live with FreeBSD you will find yourself looking at Linux users tomorrow the same way as you look at Windows users today. Additionally you may feel the urge to go ahead and grow out that beard. :-) Can it give you what you want? I suppose that's up to you. If you're looking for the starting place, [it's right here.](http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/) ---------------------------------------------------------------------- krelian · 2010-05-20 15:12 I recommend checking http://www.freshports.org to see what is the latest version of your favorite port. Two things I will point out to save you time: - kde and gnome are lagging behind - If you really want to latest versions you are going to have to compile them yourself. Packages are not available as soon as a port is updated. ---------------------------------------------------------------------- o0o · 2010-05-20 20:27 FreeBSD isn't what you want if you want the latest cutting edge stuff, but it is if you want the stuff that actually works. ---------------------------------------------------------------------- Leonidas_from_XIV · 2010-05-20 21:16 I built my own backport of Python 2.6.5 for Debian Lenny and it works pretty well. The rest of the software is stuff I don't use so excessively that I would care about newer versions. At least for a server system. On the Desktop, I use Debian testing and Arch. Tried FreeBSD, but it just didn't fit me. Maybe it was just because I terribly disliked using make for package management. ---------------------------------------------------------------------- Ironfist · 2010-05-21 01:10 Yeah, I've had that issue with customers that needed python 2.5 or 2.6 installed, usually I just compile it from source and install it under /opt/ or something like that. CentOS 5 includes a newer version any way so it's not much of an issue. ---------------------------------------------------------------------- SageRaven · 2010-05-21 02:18 My biggest gripe w/ Gentoo was that the portage system appeared to force all-or-nothing updates. I couldn't simply update a *single* pacakge, but rather if I synced the tree, then everything that could be updated then *was* updated. Are there ways to update just an individual port? I still find FreeBSD ports to be the cleaner system. Gentoo, while kind of neat, seemed just way too chaotic for my tastes. ---------------------------------------------------------------------- galtthedestroyer · 2010-05-22 13:14 Sure. Instead of syncing, just upgrade the ones you want individually. Or, at any time, you can install or up/downgrade to any version you want by specifying it on the commandline. There's also a file where you can list programs with <, =, > symbols for version control. E. G. ( numbers completely made up) Perl < 4.0 ( never reached 4.0) firefox <= 9.0 ( stop before 9.0) ruby = 2.1 ( specific version) vlc >= 6.0 ( don't install untill 6 or later) this file is handy so you can still sync the rest of the system at your liesure. ---------------------------------------------------------------------- [deleted] · 2010-06-01 04:50 [deleted] ---------------------------------------------------------------------- [deleted] · 2010-06-01 04:55 first of all, centos is a turd. most of the userland is so out of date that it belongs in a museum. centos survives due to its core cadre of users who think redhat == linux but are too cheap to get the real mccoy. i also recall the project having some weird shit related to a project lead who absconded with some of the project's cash. that said, i can't recommend arch, which i use every day as a desktop system at work. arch is always cutting edge, and not always well tested. arch really drives home the notion that sometimes the cutting edge can leave you bleeding. i have had numerous instances of important things in arch going kaput. while i still use it, i can't recommend it for critical boxes. i use freebsd on every other box i have at home. its great, but to be certain it favors users who know what they are doing. i have used freebsd since 1995. i love it. if you want to use dtrace, zfs, libdispatch, clang etc all in one os....there's only one choice...freebsd. zfs and dtrace are huge game changers you might be interested in ubuntu for servers. its pretty well established and polished...supports recent packages while not being obsessed with being on the cutting edge. personally, if i had to run a linux on a server, i'd be using debian. on a server, i value stability over novelty. ---------------------------------------------------------------------- [deleted] · 2010-06-01 04:59 you can install any version of gcc from ports, and more importantly, freebsd is embracing llvm/clang in interesting ways that could end up being a huge differentiator as time goes on ---------------------------------------------------------------------- [deleted] · 2010-06-01 05:03 i can't recommend openbsd to anyone. its entire premise of being more secure is suspect at best...and it has the added issue of being the only open source os i know that crashes, still. and i've never seen a positive performance comparison for it. for example, i use a shell account at devio.us and even they had to roll back openbsd smp support....the thing just couldn't stay up. its 2010 and a free unix is having stability issues? i thank openbsd for openssh etc...but the os itself seems to have little value netbsd on the other hand seems to be kicking some ass lately and has the value of being slightly more obscure and elite ---------------------------------------------------------------------- joedonut · 2010-06-05 18:12 I've found their (OpenBSD) sparc32 and sparc64 support to be amongst the best. I'm not sure who if anyone among the Linuxes is still providing (any) support for that processor. (You do get it, right? If they're the only ones with active support, it is by definition the best.) I agree that the "more secure" claim is not what many hold it to be, however the minimalist base install I find quite reassuring. I do freely admit to bias however, and will plainly state it now: Solaris sucks. At my job I'm on Windows, HP-UX, Solaris, some rather custom Linuxes, some fairly generic RH-inspired linuxes, RH itself, ST-UX, and some original ATT Sys. V. Solaris is my next to last choice. If I thought I could sneak Cygwin onto the Windows box Solaris might be my last choice. That aside, I've never had opportunity to use OpenBSD in a MP environment, only Solaris. Which had wonderful support of course, but still sucks. ---------------------------------------------------------------------- bluGill · 2010-06-06 02:04 > if I synced the tree, then everything that could be updated then was updated. Are there ways to update just an individual port? Depends on what you mean. If by port you mean an actual application, no problem. However if you update a library (often because the point of the updated port is to use a new feature of the updated library), you have to update everything that uses that library. ---------------------------------------------------------------------- lasizoillo · 2010-06-07 19:43 $ sudo pkg_add -r portupgrade $ rehash No make is needed for package management even if you compile ports ;-) ---------------------------------------------------------------------- jon_k · 2010-09-20 07:25 Ever consider downloading Python [current] source and using source to stay on top?