BSD For Linux Users


Dru Lavigne
Chair, BSD Certification Group
SouthEast LinuxFest 2010
This presentation will cover...

What is this BSD you speak of? (frame of
reference)

How is it different? (will I like it?)

Release engineering? (behind the scenes)

Any features unique to BSD? (am I missing
out on anything cool?)

Books (some recommended reading)
What is this BSD you
     speak of?
aka What is this Linux
    you speak of?
kernel?
distro?
Ubuntu?
Back to BSD....

Since we only have 45 minutes.....


We'll start with an overview of the BSD
projects


Then concentrate on some differences
between the BSD and Linux way of doing
things
Back to BSD....
Differentiated by focus:
NetBSD: clean design and portability (57
supported platforms)
FreeBSD: production server stability and
application support (21,873 apps)
OpenBSD: security and dependable release
cycle
Dragonfly BSD: filesystem architecture
PC-BSD: anyone can install and use BSD
How is it different?
Gnome on Ubuntu vs.
KDE on PC-BSD
device names
startup (no runlevels)
one config file philosophy
kernel configuration
consistent layout (man hier)
BSD vs GNU switches
working examples
Release Engineering?
Release Engineering

Complete operating system, not kernel +
distro: one source for security advisories,
less likelihood of incompatible libraries
Integration of features not limited by
copyleft: e.g. drivers and features are built-
in
High “bus factor”
Consistent separation between operating
system and third party and between BSD
and GPL'd code
Release Engineering

●   commit bit indicates write permission to
    code repository
●   FreeBSD 425 commit bits
●   NetBSD 260 commit bits
●   OpenBSD 132 commit bits
●   plus thousands of contributors for
    software, docs, translations, bug fixes, etc
●   Linux has 1 committer, 1150 developers
Release Engineering

Principles used by the BSD projects reflect
their academic roots:
●   well defined process for earning a
    “commit bit” includes a period of working
    under a mentor
●   code repository from Day 1 and can
    trace original code back to CSRG days
●   no “leader”, instead well defined release
    engineering, security, and doc teams
Release Engineering

●   development occurs on CURRENT which is
    frozen in preparation for a RELEASE
●   nightly builds (operating system and
    apps) help ensure that upgrades and
    installs don't result in library
    incompatibilities (safe for production)
●   documentation considered as important
    as code
Features unique to
      BSD?
securelevels
FreeBSD jails
NetBSD build.sh
pkgsrc
PC-BSD PBIs
VuXML and portaudit




          or pkg_admin audit
          for pkgsrc systems
NetBSD veriexec
binary emulation
FreeBSD netgraph
ZFS support
FreeBSD dtrace suport
CARP
FreeBSD superpages
OpenBSM
FreeBSD snapshots
ALTQ
DragonFly HAMMER
Newest Features
Newest Features
Books:
BSD Hacks

Best of FreeBSD Basics

Definitive Guide to PC-BSD

Absolute BSD

Absolute FreeBSD

Absolute OpenBSD
Questions:



http://www.slideshare.net/dlavigne/
   self-2010-bsd-for-linux-users


           dru@osbr.ca


Stop by the BSD booth and say hi!

SELF 2010: BSD For Linux Users