HOWTO articles for migrating from Linux to FreeBSD, especially for pkg?

Mason Loring Bliss mason at
Mon Oct 20 23:15:30 UTC 2014

On Mon, Oct 20, 2014 at 06:21:58PM -0400, Allan Jude wrote:

> This thread is supposed to be about how to make it easier for people to
> migrate to FreeBSD from Linux. Not a discussion about forums vs mailing
> lists vs newsgroups.

I'm going to transition from being an avid Debian user who hates web fora to
an avid FreeBSD who hates web fora.

Anyway, my experience here is useful as I've got to be representative of a
number of people making the transition lately. It's been a relatively smooth
transition so far, with only a couple bugs and quirks in the way of my doing
everything I did with Debian.

Two things would be principally useful for people coming from Linux.

First, the handbook should be updated and corrected, as it's a good enough
resource that I've come to depend upon it, but I've hit snags that seem to
not reflect the current state of FreeBSD.

For instance, the page that talks about running buildworld and buildkernel
have some instructions that are evidently vestigal for root-on-ZFS people.

Another example, the documentation of Poudriere is hard to follow, presenting
a complex and idealized set-up rather than explaining to a new user what the
moving parts are and how it all works. I strongly suspect in that case that
people who need the Handbook won't easily follow that, and people who can
follow it don't need the Handbook per se, or that level of instruction.

Joe Armstrong talks about this process of picking an audience in his forward
to the second edition of his Erlang book:

The second thing that would be useful would be a series of cheat sheets for
various things. This can either be equivalent commands or equivalent systems.
Let new folks know that LUKS is GELI and that md-raid1 is gmirror and so
forth. Show common package handling commands for various Linux flavours and
map them to pkgng and ports. For instance, what's the equivalent of "yum
provides"? Or what do I do in place of "apt-cache search" or "zypper up" or

Other things in the grab bag... It's generally said that ports and pkgs
shouldn't mix, but there are at least a couple instances where it's

I bet roughly no one who installs Subversion wants the FreeBSD bug report
headers baked in by default, but there they are unless you rebuild from ports
with a non-default configuration.

If you want to watch DVDs on your FreeBSD workstation, it's necessary to
install libdvdcss, but you can't get it from pkgng because it's not there.
Again, you must build from ports.

I have nothing against ports, but people are warned off of mixing packages
and ports when clearly it's necessary sometimes.

Oh, here's one. I *was* horrified by ports at first, until someone told me
about "make config-recursive". It really makes me wonder why this isn't the
default. I remember giving up on FreeBSD when 9.x was new because I had to
build X from ports after the FreeBSD breach, and it seemed like the process
was going to take a couple days of stuttering stops and starts as random
packages I didn't want in some cases popped up between compiles. I learned
some mechanism for saying "just take the defaults" but what I know now is
that what I really wanted was "make config-recursive". Why, out of curiosity,
is it not the default? That would seem better than documenting it harder.

Ah, and one more for the grab bag. I strongly suspect that many folks coming
from Linux are going to bristle at the notion of using Sendmail. I used to
run it so I wasn't terribly bothered by it, but maybe pre-populating rc.conf
with obvious bits that people can see and turn off would be nice. OpenBSD has
a nice model of populating rc.conf and sysctl.conf fully, and it ends up
being a pleasant tool. Those awash in wonder, coming from Linux, can say,
"Look, it's all right here!"

Mason Loring Bliss             mason at            Ewige Blumenkraft!
(if awake 'sleep (aref #(sleep dream) (random 2))) -- Hamlet, Act III, Scene I

More information about the freebsd-current mailing list