Linked by Drumhellar on Wed 25th Sep 2013 22:02 UTC

I've been a big fan of FreeBSD since I first acquired 4.4 on 4 CDs. By that point, I had already spent a lot of time in Linux, but I was always put off by its instability and inconsistency. Once I had FreeBSD installed, it felt like a dream. Everything worked the way it was supposed to, and the consistency of its design meant even older documentation would be mostly applicable without having to figure out how my system was different. There is a reason why in the early days of the Internet, a huge portion of servers ran FreeBSD.

But, that was a while ago. Since then, Linux has matured greatly and has garnered a lot of momentum, becoming the dominant Unix platform. FreeBSD certainly hasn't stood still, however. The FreeBSD team has kept current with hardware support, new features, and a modern, performant design.

Thread beginning with comment 573413
To view parent comment, click here.
To read all comments associated with this story, please click here.
Member since:

The naming for the FreeBSD branches is a bit confusing right now as there are 3 separate naming conventions in use: -CURRENT/-STABLE/-RELEASE, RELENG_X/RELENG_X_Y both from the CVS days; base/head, base/stable, base/releng from the SVN switchover.

-CURRENT (aka base/head in svn terms) is where the most development occurs. This will become the next major (x.0) release of FreeBSD, at which point a new -STABLE branch is created.

-STABLE (aka base/stable/X in svn terms, where X is one of 8, 9, or soon 10) is the development tree for a specific major version of FreeBSD. Currently, there are 2 stable trees under development (for FreeBSD 8.x and 9.x) and a third will be created shortly (for FreeBSD 10.x). Most development that occurs here is merging features from -CURRENT/head, although some new features are developed directly in here. All minor releases (8.1 through 8.4; 9.1 through 9.2) are created from the -STABLE branch for that major version.

-RELEASE (aka base/releng/X.Y in svn terms) is really two separate things: a specific release as distributed on CDs which never changes (this is more commonly known as -RELEASE); a security branch that gets security updates as needed (this is more commonly known as -RELENG).

For an outsider, or someone who used FreeBSD a few years ago and just coming back to it, it's confusing as hell. ;) In another year or so, when 8.x is no longer supported and all CVS-related terms are gone, it will be much easier to understand. Do you want head (devel), stable (devel), or releng (user release)? ;)

It's also extremely confusing right now as there are two separate packaging systems in use (pkg_* and pkgNG) with different releases supporting different package tools. Thankfully, there will be proper pkgNG repos for 9.2 and 10.0 and all releases going forward, so one can easily ignore the old pkg_* tools starting now. Again, in another year or two, when 9.x is no longer support, it will be much simpler as pkg_* will be gone.

Edited 2013-09-26 23:06 UTC

Reply Parent Score: 3

J-freebsd_98 Member since:

#/# find /var/db/pkg -type d -name "p5*" | xargs -J % find -type f -name "+CONTENTS" -exec grep -H "5.12" {} \; | grep pm | gtr -s \/ "\n" | grep p5 | sort | uniq | xargs -J % portmaster -d -B -P -i -g % && yell || yell
I sort of dread the disappearance of +CONTENTS (etc) with the new packaging system (if I understand pkg(ng) fully enough); the seperate directory-as-its-database is much more forgiving to workarounds (pkg won't install conflicts? with v9, one can temporarily mv the old /var/db/pkg directory maybe, move it back...) not to mention the CLI above. It took all of a couple minutes to almost fully upgrade perl 5.12.x to 5.14.4 ... One could say "can't do that in... [other operating system] " and maybe not, if the new pkg(ng) does not have equivalent easily-crafted (pipes, etc) tools.
Otherwise, reading the first few posts in this thread (when there were just a few yesterday), I re-read them to discern that they were, in fact, generally positive.

Reply Parent Score: 2