There’s more to open source than Linux. Mayank Sharma takes an excursion to test some BSD distros.
For the distro hoppers among us, a Linux distribution is just a collection of applications and utilities. We can be productive with any distro as long as it gives us access to our cherished and trusted tools. So how about a diversion into the land of the BSDs?
While they haven’t caught the fancy of the mainstream tech press, the BSDs are known for their robustness, reliability and security and are fairly popular with system administrators. That said, you can slap popular open source apps on top and use BSDs for everyday desktop computing tasks, such as browsing the web, listening to music, watching DVDs, playing games and reading PDFs. Also of note is their devoted community of developers and users.
The modern day BSDs that we have on test in this feature can be traced back to the 1970s. BSD stands for the Berkeley Software Distribution. It was the name of the toolkit of enhancements for UNIX that was created at the University of California, Berkeley. In contrast to UNIX, which was developed at Bell Labs, BSD was created by students and faculty at the University. BSD was distributed as a package of software enhancements for UNIX that made it useful in the real world, outside of a research laboratory. Over time, BSD evolved and replaced every part of UNIX and became a usable operating system in itself. The current stable of BSD distros are a family of OSes that are derived from the original.
The three most notable descendants in current use are FreeBSD, OpenBSD and NetBSD. The majority of current BSD OSes are open source and available for download for free under the BSD Licence, with Mac’s OS X being the most notable exception. In this group test we’ll evaluate the strengths of the most popular BSD distros and help you pick one that’s both easy to use and can be used for a wide variety of applications.
BSD vs Linux
Both Linux and the BSDs are free and open source, Unix-like operating systems, and use much of the same software. So what sets them apart from each other? For starters, Linux and BSD have a different lineage. Technically speaking, Linux is just a kernel. To produce a usable OS, each distro must glue a bunch of software on top of the kernel. On the other hand, a BSD project maintains the entire OS and not only the kernel. Another significant difference is the licensing. Linux uses the GPL, which requires that developers release the source code for their modifications. BSDs, in contrast use the BSD Licence which allows modifications to be kept under wraps if the developer so requires.
Popular products based on BSD
There are many open source as well as commercial products based on BSD, due to its technical prowess and permissive licensing. Popular open source products include NAS distros like FreeNAS and NAS4Free and firewall projects such as the embedded Monowall distro and its fork for regular computers, PFSense.
Then there’s the open source Darwin project by Apple, which produces the core components upon which the company’s proprietary OSes, OS X and iOS, are based. Darwin integrates a customised version of BSD. BSD is also used as the basis for the filesystems and networking of OS X.
There are other commercial products based on BSD by multinational hardware and software companies, such as Dell’s iSCSI SAN arrays. Silicon Graphics International also uses FreeBSD in its ArcFiniti MAID (Massive Array of Idle Drives) disk arrays and so does Sony in its PlayStation 3, PlayStation 4 and PlayStation Vita gaming consoles.
FreeBSD seems to be the most popular of the BSDs that is found powering both open source and proprietary products. Juniper Network’s JUNOS is based on FreeBSD, and is also used in the Netflix Open Connect appliance. FreeBSD also powers the popular messaging app, WhatsApp, and the project received $1 million recently from WhatsApp’s co-founder.
OpenBSD’s sole purpose is to be the most secure OS, which usually puts it at odds with convenience.
OpenBSD is regarded as one of the safest operating systems. Thanks to its rigorous code audit and security-first development model, it’s a popular option for security-conscious applications such as firewalls, intrusion-detection systems, and general-purpose servers. OpenBSD is designed for experienced users who know what they are getting themselves into and are willing to tussle with its peculiarities in order to get the job done. So although it doesn’t ship as a desktop out of the box, you can configure it as one if you’re willing to spend time getting used to it.
To get the distro on your machine you have to labour through its text-based installer. It’s well laid-out and presents each option with ample information, but does require a competent and knowledgeable operator. That said, the default options are sensible and it even suggests an auto-partitioning scheme, which is a definite aid for new users.
Build from scratch
Also, since it’s designed for specialised usage, OpenBSD’s hardware support focuses more on enterprise-grade and even virtual hardware. Still, unless you’ve got some exotic top-of-the line hardware or a brand-new device, you should be able to get it to work with OpenBSD. The developers keep adding drivers and have recently added a new touchpad driver that supports Broadcom multi-touch trackpads found on newer Apple MacBook, MacBook Pro, and MacBook Air laptops. OpenBSD now also supports AMD Radeon graphics cards thanks to code ported from FreeBSD.
After installation you get a fairly barebones (but incredibly fast) system with a handful of services enabled, and a minimal desktop running the FVWM window manager, if you’ve selected it during the installation. This base has all the tools you need to transform it into a dedicated server or a desktop.
The latest version of OpenBSD includes popular desktop software including KDE 4.13, Gnome 3.12, Xfce 4.10, Firefox 31, LibreOffice 4.1.6 and others. As expected, the thorough security vetting means that some of these are a couple of versions behind their latest iterations. OpenBSD is also popular for its documentation and you can find loads of information on the web that’ll help you transform this bare-bones OpenBSD install into a full-fledged desktop. Depending on how fast your internet connection lets you fetch packages from OpenBSD’s mirrors, you can set up a desktop in under an hour.
But all said and done, OpenBSD isn’t designed to be a comfortable desktop distro. It’s certainly possible to use it as desktop platform, but that isn’t a top priority for its developers. Unlike regular desktop distros, OpenBSD isn’t meant to make decisions on your behalf or make your life easier with automated routines. Rather, OpenBSD is designed to be secure and reliable, and this is something it’s very adept at. The fact that you can use such a system as a regular desktop is an additional benefit.
A stable OS with a rock-solid foundation and a security-first approach. 4/5
While the current release includes the Mate desktop, the developer is looking at alternatives for future releases.
Here’s a BSD that closely resembles a desktop Linux distro in form and function. GhostBSD is available for 32-bit and 64-bit machines both as ISO and IMG files for optical drives and flash disks respectively. Unlike most of the other BSDs on test here, GhostBSD boots straight into a live graphical desktop environment. Earlier versions of the OS shipped multiple desktops, but the current release is available with only the lightweight Mate desktop.
On the desktop, the live environment offers three different layouts. There’s the classic look, with the menu on top and a panel at the bottom; a minimalist view; and a layout with a simple dock at the bottom. Since GhostBSD is based on FreeBSD, it allows users to access FreeBSD’s repository of packages via its new command-line package manager, pkgng. However, GhostBSD doesn’t have a package management system of its own and also lacks a graphical app for installing packages, so like most others BSDs you can’t escape the command-line.
That said, in contrast to most other BSDs, GhostBSD includes a multilingual graphical installer, which offers an automated partitioning scheme if you wish GhostBSD to take over the entire disk. Unfortunately, the installer is pretty buggy and crashed several times without spitting any error messages.
Also, GhostBSD includes older versions of some apps, such as its Mate desktop. It includes Mate 1.6 while the latest version is 1.8. This version is available in its repositories, but again, upgrading it is easier for someone familiar with FreeBSD’s pkgng utility. GhostBSD is a good attempt at shipping a FreeBSD-based OS with the convenience of a familiar desktop. It’s lightweight and functional, but doesn’t really help new users escape the clutches of the command-line utilities.
Lightweight BSD loaded with apps that ships as a live desktop. 3/5
DragonFly BSD is a popular fork of FreeBSD that is now developed in a direction of its own and is considered one of the main BSD distros. The OS has diverged significantly from FreeBSD and is popular for its implementation of virtual kernels and a feature-rich 64-bit filesystem called HAMMER, which has built-in mirroring, instant crash recovery, and historic access functionality. It’s popular for its Sun ZFS-like features with a friendlier licence. However, since HAMMER doesn’t perform well on drives smaller than 50GB, DragonFly BSD’s installer also lets you use the BSD standard UFS filesystem.
The installation medium for the OS is available for 64-bit architectures only. The project releases an ISO image for optical drives and an IMG file for installing via USB. Both boot into a live environment and let you log in as root and check the compatibility of your hardware from the command line. Once you’re satisfied you can fire up the installer. DragonFly BSD also has a menu-driven text-based installer that’ll help you set up a single OS installation in a matter of minutes. There’s also a configuration tool that you must run through at the end of the install to set up key aspects of the system such as the networking options.
DragonFly BSD was started by Matt Dillon, who had earlier developed the Dice C compiler for the Amiga.
Like most BSDs, DragonFly doesn’t install a graphical desktop, but don’t underestimate its graphical prowess. The latest version of the OS supports GPUs from the Haswell family, and OpenGL acceleration is available out of the box on supported i915 and Radeon GPUs. There’s also a touchscreen driver for the Acer C720P notebook.
To set up a desktop environment like Xfce, KDE, Gnome or Mate, you’ll have to labour through the documentation available on the project’s website. Again, the saving grace is its support for binaries and third-party apps. DragonFly BSD uses FreeBSD Ports as a base for its own ports collection (called Delta Ports), and you can also install packages using FreeBSD’s pkgng. DragonFly BSD focuses more on the desktop users than some other BSDs, it still requires considerable dexterity on the command-line.
Though it doesn’t ignore desktop users, it’s best for stable server deployments. 3/5
True to its tagline, which reads “Of course it runs NetBSD”, this BSD distro that’s been around since the early 90s is very portable and runs on over 50 different hardware platforms across 15 processor architectures.
Another major feature of the OS is that unlike typical desktop Linux releases that come out about every six months, new NetBSD releases are fairly infrequent. This release schedule is preferred by its primary users, who wouldn’t want to pull down their servers for upgrades often. However, you aren’t necessarily stuck with outdated software, as its package management system, pkgsrc, tracks the latest version of upstream software. While it does give access to all kinds of software, the fact that it lacks a graphical package management app is rather limiting.
NetBSD uses an ncurses-based menu-driven installer, which is pretty simple to navigate and besides the partition management steps, shouldn’t pose any issues to experienced distro-hoppers. At the end of the installation, you’ll be asked to configure some essential aspects. Also, while the Full installation scheme installs the basic X window system components, it doesn’t include a graphical desktop.
NetBSD’s rock-solid foundation and portability were a big draw for NASA, which used it for a project on the International Space Station.
The default installation is pretty minimal. You’ll have to set up the package manager and then install the required packages. This isn’t much of a task thanks to NetBSD’s binary package, pkgin, using which you can install popular open source desktops and apps. A couple of years back there was news of a light-desktop initiative to quickly turn a NetBSD installation into a lightweight desktop based on LXDE and modelled after Lubuntu, but it seems to have died.
Furthermore, if you’re spoilt by graphical configuration tools on modern Linux distros, you wouldn’t get very far with NetBSD as it requires everything to be set up by hand. Editing files under
/etc to get the wireless card to connect bought back bittersweet memories. You’ll have to add users from the command line and also create mount points and mount optical discs manually. You’ll also have to get familiar with NetBSD’s use of the rc.d system to control services, which is similar to System V but without runlevels. In fact, you wouldn’t get very far with NetBSD without having first read through the very detailed NetBSD Guide. The project has extensive documentation and a detailed wiki that’ll help you get familiar with its peculiarities. NetBSD isn’t the easiest of OSes to get started with, but its vanilla approach makes it ideal for security-conscious users who like to be in charge of each and every component running inside their computer.
The open source distro that can run on everything from a toaster to the space station. 3/5
There’s a long list of BSD-based OSes that are under active development. ArchBSD is a lightweight operating system that aims to club the flexibility and philosophy of Arch Linux with BSD-based operating systems. Then there’s Debian GNU/kFreeBSD, which swaps out the Linux kernel and instead uses the FreeBSD kernel together with GNU-based userland utilities and glibc. It’s developed by the Debian project, which maintains two ports based on the FreeBSD kernel, ‘kfreebsd-i386’ and ‘kfreebsd-amd64’. Similarly, there’s Gentoo/FreeBSD, which is a subproject to port unique Gentoo features such as the Portage package management system to FreeBSD. There’s also the Evoke project, which produces a small live FreeBSD environment geared toward developers and system administrators.
FreeBSD is also the basis for the popular Monowall embedded firewall distro that provides a small image that users can put on CF cards. While you can use Monowall on a generic PC, the PFSense project produces a firewall designed for computers.
MidnightBSD is a FreeBSD fork that aims to create a desktop-friendly BSD operating system and has also forked FreeBSD’s ports package management system to create its own called mports. There are several NetBSD-based projects as well, such as the Jibbed bootable live CD. Another is BlackBSD, which is a live CD that includes a bunch of security tools such as Nmap, Nessus, Snort, Rapid7 and others.
FreeBSD vs PC-BSD
The Jedi and his prodigious padawan.
FreeBSD is the most used of the BSDs. The OS had its first release back in 1993. FreeBSD uses a text-based installer that is also used by several other derivatives as well. It’s feature-rich and extensive with adequate defaults to aid first-time users. The installer hands off to a post-installation configuration screen from where you can set up important aspects of your computer such as the network interfaces.
FreeBSD doesn’t install a graphical environment by default, but all the popular ones are available in the FreeBSD ports collection. Because of the ports collection, you can easily configure and use FreeBSD as a web server, mail server, or a firewall.
New users will have to follow the guides on the internet to turn their bare minimum FreeBSD install into something useful since there’s nothing intuitive about the process. In addition to pulling in packages you’ll also have to tweak configuration files. This might sound cumbersome, but is actually pretty straightforward and at the end produces a finely tuned aerodynamic system that does exactly what you want it to do and nothing else.
FreeBSD is all about DIY. Heck, you’ll even have to install the package management tool before pulling in packages!
Angels and daemons
FreeBSD’s popularity has spawned several derivatives. PC-BSD is one such descendant that’s made a name for itself by extending FreeBSD’s famed stability to everyday desktop users. PC-BSD employs a graphical installer that’s easy to navigate. It offers good defaults for new users as well as plenty of options for advanced users, especially in the disk partitioning step. By default the OS installs the KDE desktop on all machines that have more than 2GB of RAM and LXDE on those with less. The installer gives you access to full-featured desktops such as Gnome and Cinnamon as well as lightweight alternatives such as Xfce, Mate and even minuscule ones like Openbox and IceWM. You can also install additional components such as drivers for Nvidia cards, OpenJDK, the Chromium web browser and a lot more.
Post-installation, PC-BSD takes you through a series of steps to set up your computer. The OS also includes several custom tools to ease management. Its Control Panel app helps you manage different aspects of your installation, such as adding new users, configuring network connections, setting up the firewall and more. Then there’s the backup tool, called Life Preserver, which can sync to a remote FreeNAS system securely, using rsync and SSH.
PC-BSD also lets you manage installed apps and jails from a remote machine.
PC-BSD also has all the popular open source desktop apps that you can find on a typical Linux desktop distro. The Firefox browser is equipped to play Flash content and it includes the VLC media player to handle files in proprietary formats. PC-BSD uses FreeBSD’s ports and also publishes packages in its own push-button installer (PBI) file format, which you can install via its AppCafe graphical package manager. AppCafe is a very modern and user-friendly package manager. It displays latest releases, recommends apps and also lets you search for particular apps. The tool also lets you know when newer versions for installed apps are available.
Furthermore, if you wish to deploy a BSD-based server instead of a desktop, you can use the PC-BSD installer to setup TrueOS. This is basically a vanilla FreeBSD installation with a bunch of extra PC-BSD packages for easier management. One such tool is Warden, which is used for creating isolated instances of the OS that can each run different services such as the Apache web server, or the MySQL database server. These isolated instances are known as jails and are one of the best examples of FreeBSD’s technical superiority. PC-BSD’s Warden tool lets you manage these jails both graphically and from the command line.
FreeBSD The best enterprise-grade and proven BSD for your tuning pleasure. 4/5
PC-BSD Deliver the same open source goodness with a different base. 5/5
Despite them both being open source operating systems that share a lot of similar tools and utilities, finding a BSD replacement for Linux isn’t a straightforward task. It takes more effort to get the BSDs set up as a desktop or even as a production-ready server when compared to most Linux distributions. The process is involved and manual: Mandriva and Ubuntu put a huge amount of work into making Linux more accessible in the mid-2000s, but a similar change hasn’t happened yet in the BSD world.
While the BSDs all share a common ancestor, they have all diverged significantly over the years and have managed to create a niche for themselves. NetBSD is similar to FreeBSD in many ways, and the teams share developers and code. However, NetBSD’s main purpose is to provide an OS that can be ported to any hardware platform. Then there’s OpenBSD, which branched off from NetBSD with the goal of becoming the most secure BSD, even if that comes at the price of making it less user-friendly. Another popular FreeBSD-fork, DragonFly BSD, is popular for setting up virtual hosting environments on shared servers. GhostBSD is a nice attempt, but at its current stage it’s more of a teaser of what a FreeBSD-based lightweight desktop might look like.
FreeBSD has made a name for itself with its stability and is used by internet-oriented companies such as Yahoo and WhatsApp. If you’re willing to spend some time with it, you can use FreeBSD as a full-featured and stable desktop or development workstation. Its ports package management system has eased software installation considerably and has been adopted by several other BSD projects as well. FreeBSD also trumps the other BSDs with its strong community and extensive documentation.
PC-BSD is backed by iXsystems, a company that has strong ties with FreeBSD and also sponsors the development of FreeNAS.
But if you’re looking for point-and-click simplicity, there’s no better bet than PC-BSD. This operating system is as close as BSD can get to Linux. It offers the same functionality, convenience and applications that Linux users are used to. In addition to its skills on the desktop, you can also use it to power your servers. PC-BSD proudly exposes its FreeBSD base and makes it accessible to new users by adding convenient tools for the administrators.
Drop-in replacement for Linux on the desktop and on the servers.
Licence Simplified BSD
Put in a little time and effort to build a stable server or a functional desktop.
A usable lightweight desktop BSD.
Best suited for security-centric implementations.
5th DragonFly BSD
Licence Modified BSD
Its kernel enhancements make it ideal for stable server-centric deployments.
Licence Simplified BSD
The most portable BSD that you can use on virtually all kinds of hardware.
From Linux Voice issue 12. Click here to subscribe for more top-quality Linux learning every month!