January 20-22, 2012, Hilton Los Angeles Airport Hotel

Introduction to PC-BSD 9

Kris Moore


The PC-BSD has grown and matured greatly over the past several years to become the most popular BSD based desktop operating system. PC-BSD is built upon the popular FreeBSD operating system, but is not a fork. Instead PC-BSD maintains FreeBSD compatibility in every way, while expanding upon it with a variety of new tools and utilities for both casual desktop users, as well as advanced server administrators. One of the first things an end user will appreciate is the easy to use graphical installer. During the installation options are provided to install both the Desktop (PC-BSD) or Server (FreeBSD) all from the same media. Support for some of the advanced file-systems that FreeBSD offers are included, such as ZFS, UFS with journaling, Geom-based disk encryption, automatic disk-labeling and more. After setting up disk options, users are given a choice between a variety of open-source desktop environments, such as KDE, GNOME, XFCE, LXDE, WindowMaker, Fluxbox and more. Based upon the users selections, the desktop is installed with the relevant FreeBSD packages, along with the PC-BSD control panel and related tools. Among these are graphical utilities for setting up the display (xorg) configuration, network management, user data backups, firewall configuration, the AppCafe and more. At first glance a Linux desktop user may not notice the real differences between PC-BSD and a typical Linux distribution. Most of the same open-source software is available, such as LibreOffice, VirtualBox, Firefox and others, so that most desktop users can immediately become productive on their new desktop. However when we begin to dig deeper into the base operating system the differences will quickly become apparent. The FreeBSD base operation system is designed quite differently from a typical Linux distribution. Instead of just a kernel, with a variety of packages installed, FreeBSD includes both a complete kernel and base world environment which are tightly integrated into one operating system, which tends to be developed conservatively and not vary wildly from revision to revision, making it a very stable platform for application development and distribution. In addition to the differences between development, the BSD license itself is quite different from the various "flavors" of the GPL. Under the BSD license users and developers are granted ultimate freedom by being able to use the software in any way they see fit, and only requiring that the original copyright notice be kept intact. Another way in which PC-BSD is unique is the package management system it utilizes. The PBI (Push Button Installer) format provides users with a method of installing applications without the worry of dependency issues causing problems elsewhere on the system. PBIs are packaged with dependent libraries and files included, so that they can run independent of the other applications / libraries that the users desktop may be using. In version 9.0 of PC-BSD this format has been greatly improved with advanced library sharing between PBIs, which maintain their independent functionality, but still saves disk and runtime memory space. Due to the independent nature of the package management system, PC-BSD upgrades are performed in a much more conservative manner, with most system packages only being updated in the case of security concerns. This means that the typical desktop versions, such as KDE, Xorg and others will only be updated when upgrading to a new PC-BSD version, such as 9.0 -> 9.1. This has the effect of keeping the users desktop very stable during its lifetime and provide developers additional time to test and fix new bugs and regressions which crop up from newer versions of upstream packages. One powerful feature of FreeBSD in the server market is its ability to easily setup and run a large number of "jails", which are self-contained chroot environments that provide ultimate security, with a very minimal virtualization footprint. PC-BSD includes some several features based around this jail system, including the Warden, which is a graphical management utility and the "Port Jail" environment. The Warden allows users, in a easy to use graphical format, create, start, stop and remove jails from the users system, making it easy to setup multiple environments for services such as Apache, mysql, postfix, sendmail and others. The "Port Jail" system is unique to PC-BSD, and offers a way for users to build and run traditional FreeBSD packages from either "pkg_add" or the FreeBSD ports tree in a sandbox environment, without the risk of changing or breaking the installed desktop packages. All of these features combined into PC-BSD makes it an exciting desktop to install and learn about the BSD platform on. By continuing to expand the capabilities of its graphical utilities, the system has steadily become easier to use, and more accessible to the casual computing market, as well as more productive for developers and administrators.

Presentation Slides: