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 f...
1 comment
[ 3.5 ms ] story [ 14.8 ms ] threadI 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 f...