

Get started with FreeBSD: A brief intro for Linux users - emaste
http://www.infoworld.com/article/2858288/unix/intro-to-freebsd-for-linux-users.html

======
VLM
Whats the advantage of using 9.3 instead of 10.1?

I have about 20 yrs linux experience and a couple months freebsd (10.0, and
now 10.1). Here's my diff against the pretty good article:

I set up everything in /etc/rc.conf.d in separate files and don't touch
/etc/rc.conf. I have automation, you see, and its WAY simpler to CRUD an
entire file at a time than to automate editing the innards of one file. If
only sysctl.conf had a sysctl.conf.d directory... I like how PAM is set up on
freebsd which is yet a third way to split (or not split) config across files
in the filesystem. Perhaps that directory feature was added for rc.conf.d
sometime between the authors 9.3 and my 10.1.

I haven't found a reason/interest in using ports, I'm just pkg all the way. So
far. I haven't even begun to look into automating ports for puppet. I'd be
interested in anecdotes about that.

The article specifically lists not discussing the linux compatibility layer. I
assure readers that you get a most fascinating error message when you don't
have the linux layer installed (at least if using nvidia driver). Google saved
me of course. Something about the elf format not having a handler, which is
kinda a giveaway if you know nvidia driver runs under linux compatibility. If
you don't know freebsd has a linux compatibility layer, or that the nvidia
driver uses it, then its more entertaining.

Another pity is the article mentions ZFS but not why. Holy cow ZFS is cool. I
used LVM for many years (decades?) on linux for volume management (makes
physical drive upgrades trivial, snapshots, etc) and my mind was somewhat
blown at dynamic allocation. So at the pool level your space isn't allocated
until you actually use it. Very cool. Also very fast. Of course everything is
fast on a SSD...

Whats missing from the article is tricky stuff for current/former linux
admins.

Tricky stuff like my passwd comes from ldap and on the legacy linux boxes I
use /bin/bash as a shell so you can guess what happens the first time you
enable ldap on freebsd, where it doesn't keep bash in /bin. For better or
worse at least short term I put a symlink on the freebsd box. As the
conversion proceeds I will end up changing ldap to the freebsd home of bash
(/usr/local/bin/bash) and symlink the remaining linux boxes LOL.

Another tricky filesystem path amusement is there's some non-intuitive
funkiness like you install openafs so naturally the /etc/rc.conf.d file needs
to be named afsd or something like that. You can name the file openafs all you
want or whatever, it just won't work. There was some other aggravation.

Other symlink amusements, I had xmonad config with hardcoded paths to xmobar
or something (or was it trayer?) and seeing as all my machines have root on
AFS that made life entertaining for awhile.

PAM is close enough to linux to make you really complacent but beware, there
be dragons. Linux style PAM can have weird results on freebsd. For a good time
try ending a stanza (?) with a _sufficient and then try logging in with any
random password... it'll let you in. Its similar enough for you to let your
guard down, different enough to really shoot yourself in your foot. I suppose
if you're not doing LDAP / Kerberos / OpenAFS then you don't touch PAM so it
doesn't matter. (Oh and you know whats not fun about PAM on freebsd? No
libpam-afsd-session functionality... I want aklog run when I login, so I can
access my afs provided homedir. I believe the fix is something with the redhat
provided pam krb5 package which I haven't invested the time to fix.)

I jammed my pkg system nicely somehow awhile back and it refused to download
new package lists (pkg update did NOT download a new file although the old one
was valid, I can't install vim-5.18 or whatever when the archive only has
vim-5.40 avail, or something like that) I believe I moved the archive file
outta the way forcing it to download a new one and then all was well. So that
was interesting.

pkg also acts "weird" if you partially download a file, then control-C or
whatever and try to restart. apt-get on linux notices the length discrepancy
and redownloads. pkg freaks and won't try downloading a new copy of the
truncated pkg. I believe I fixed this with 'pkg clean' and trying a reinstall.

I installed 10.0, tried to upgrade to 10.1, crazy endless kernel panics. Well,
that was annoying. A bare metal reinstall of 10.1 worked. 5 or so minutes of
automation doing its thing, and everything was set up on the new 10.1 just
like it was on 10.0 to my surprise nothing really changed. I don't think I've
ever, in 20 years, experienced a debian upgrade failure other than hardware
related or systemd related... so that was "interesting" although harmless.

Sound "just works". If you're used to the linux style where either sound
doesn't work or a fresh install always sets the mixer volumes to all zeros,
you'll be pleasantly surprised with freebsd where it just boringly works.

It makes a heck of a great desktop. I've got my xmonad, my urxvt/bash, my
emacs, and my chromium and I need nothing else for a perfect desktop
environment. I'm looking forward to my conversion project for the server
infrastructure and everything is proceeding nicely so far...

