Upload
dru-lavigne
View
105
Download
0
Tags:
Embed Size (px)
DESCRIPTION
My presentation for December OCLUG meeting.
Citation preview
BSD For Linux Users
Dru LavigneCommunity Manager, PC-BSD ProjectOCLUG, December 7, 2010
This presentation will cover...
What exactly is BSD?
How is it different from Linux?
Does release engineering matter?
Any features unique to BSD?
Additional Resources
What exactly is BSD?
aka What exactly is Linux?
kernel?
distro?
What is BSD?
Began as a series of patches and contributed applications for Unix from the University of Berkeley
Forked into several projects when Berkeley stopped working on BSD
Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable
http://oreilly.com/catalog/opensources/
book/kirkmck.html
What is BSD?
Projects originally differentiated by focus:
NetBSD: clean design and portability (57 supported platforms)
FreeBSD: production server stability and application support (22,431 apps)
OpenBSD: security and dependable release cycle
Dragonfly BSD: filesystem architecture
PC-BSD: anyone can install and use BSD
How is BSD different from Linux?
Gnome on Ubuntu
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 446 commit bits● NetBSD 264 commit bits● OpenBSD 132 commit bits● plus thousands of contributors for
software, docs, translations, bug fixes, etc● Linux has 1 committer, 638 maintainers
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
Automated Testing Framework
Non-GPLd Toolchain
Additional Resources
How the FreeBSD Project Workshttp://2007.asiabsdcon.org/papers/P08-slides.pdf
FreeBSD Developmenthttp://www.freebsd.org/projects/index.html
The NetBSD Wayhttp://www.fosslc.org/drupal/content/netbsd-way-0
NetBSD Developmenthttp://www.netbsd.org/developers/
Questions?
http://www.slideshare.net
/dlavigne/oclug-2010