BSD, the more Unix-like OS

This is an interesting blog post looking at the BSD as a viable alternative to Linux. The BSDs are less hyped and are in some areas superior to Linux:

“The BSDs have been around for a long time – longer than Linux. But they have received much less attention than Linux in the press because they have fewer noisy supporters. Nevertheless, they continue to thrive, because of their similarities to, and differences from, Linux. Like Linux, the BSDs are free, fast and have a variety of software available for them. In addition, BSD kernels tend to be more stable than Linux kernels, BSDs run on a wider variety of hardware and have fewer security issues.

But where the BSDs tend to really shine is in networking. TCP/IP speed tests run on identical hardware often show the BSDs to be faster than Linux. While the Linux community has focused on enabling Linux to use more esoteric hardware, the BSD community has worked on making the network infrastructure faster and easier to extend. This has caused a number of network hardware vendors to use customized versions of BSDs, particularly NetBSD, as the internal operating systems of their commercial products.

As the lesser-known players in the free operating system market, the BSD development groups have had more opportunity to work on the core of their products. FreeBSD has the largest market of the BSDs and gets the most development interest. NetBSD runs on an incredible variety of CPUs, including some systems that leave even the fastest Intel chips in the dust. OpenBSD’s main focus is security, and it attracts developers for whom that is the main concern.

It is well known that many large Internet service providers use one of the BSDs (FreeBSD) to run their production mail and Web servers. It is common to find BSD-based Internet servers that have not crashed or been rebooted in years.

… any shop that is considering Linux should also take a look at the BSDs, particularly if they want stability and less excitement in their operating system.”

Source: (01/11/2007)

DesktopBSD Day 1

Jan Stedehouder has been reviewing PC-BSD for 30 days in September. Now (November) he’s using DesktopBSD for 30 days and writing about his experience on his blog:

  1. DesktopBSD Day 1 – Getting Started (part 1)
  2. DesktopBSD Day 1 – Getting Started (part 2)

The PC-BSD series was well written, balanced and fair. The PC-BSD has been following the series with great interest and have taken the feedback and suggestions to heart. I’m sure the DesktopBSD team will do the same.

A new day, a new month and a new challenge. For the next thirty days I will again plunge into the world of *BSD, this time using DesktopBSD. This is the second “30 days” series. For those who are interested, the first series was about PC-BSD and can be found here. My aim is to write everyday about my experiences with DesktopBSD, the pros and cons, the good and the bad, the smart and the stupid.

FreeNAS 0.686b1 Released

FreeNASToday the release of FreeNAS 0.686b1 has been anounced via the mailinglist. Version o.685RC2 has been skipped because all its improvements and fixes are also included in 0.686b1.

Download here

Majors changes:

  • Upgrade fusefs-ntfs to 1.1004.
  • Upgrade lighttpd to 1.4.18.
  • Upgrade netbsd-iscsi (iscsi-target) to 20070925.
  • Refactor GEOM-Eli implementation + WebGUI. Now it is possible to add existing encrypted disks and change passwords for a encrypted disk.
  • Improve device detection for configuration storage when booting from LiveCD.
  • Update zoneinfo files.
  • Add ‘System/Packages’ WebGUI page to administrate packages (only available in ‘full’ install mode).
  • Add LDAP Authentication.
  • Add email status report.
  • Add ‘Status/Report’ WebGUI page to administrate email status report.
  • Upgrade iSCSI Target to version 20070925.
  • Update ‘iSCSI Target’ WebGUI + services. Now it is possible to expand existing targets and define RAID0 and RAID1 devices. It is also possible to use disk devices as extents.
  • Refactor complete user/group management (code, services & WebGUI).
  • Add scheduled reboot feature.
  • Add ‘System/Advanced/Cron’ WebGUI to administrate additional cron jobs.

Continue reading

No more TextMaker for FreeBSD

According to SoftMaker president Martin Kotulla, the only commercial word processor available as a native FreeBSD application, TextMaker, will no longer support that platform as of the upcoming 2008 edition. There will of course be a Windows edition, and a native Linux edition (which should be able to run through the Linux binary compatibility software in FreeBSD), but the FreeBSD edition will not grow beyond TextMaker (and the full SoftMaker Office suite) 2006 unless there is more demand from FreeBSD users, and the operating system itself becomes easier to develop for.

TextMaker has been around in one form or another for almost 20 years, but the native FreeBSD port did not exist until shortly after the release of TextMaker 2002 when some FreeBSD users requested it. At the time, Kotulla publicly said that only two lines of the TextMaker code had to be changed in order to compile the source code for FreeBSD. Since then, so much has changed in both the SoftMaker Office code and the FreeBSD base system that the simplicity of a native port has been erased.

Source (29/10/2007)

meetBSD 2007 Conference, Warshaw

meetBSD is the biggest and the best technical conference in Poland devoted to open source solutions based on BSD systems
The meetBSD 2007 conference will take place in Warsaw from November 17th to 18th.

meetBSD is a periodic conference devoted to UNIX like operating systems with a strong emphasis towards BSD family, open source projects and people connected to them. The main principle of meetBSD is its strict technical character and high level of lectures. The conference is dedicated to BSD professionals as well as to people that would like to start their adventure in the “really free” world of BSD.

High level of lectures is being appreciated by both participants and organizers. Year by year meetBSD is getting bigger and more popular – also abroad. Organizers try to exploit that fact and that is the main reason for having more and more guests from foreign countries. Thanks to this participants have a chance of getting acquainted with the ideas, projects and people being directly involved in the development process of BSD.

As for now the following lecturers from abroad announced their presence:

  • Brooks Davis, FreeBSD Core Team member, (USA)
  • Christian Brueffer, FreeBSD committer, (Germany)
  • Philip Paeps, FreeBSD committer, (Belgia)
  • Matt Olander, iXsystems, (USA)
  • Kris Kennaway, FreeBSD committer, (Australia)

Lecturers from Poland:

  • Pawe? Jakub Dawidek, FreeBSD committer, (Warszawa)
  • Dominik Hamera, Jakub Klausa (Wroclaw)
  • Adam Bartman, Rafa? Grzebyk (Wroclaw)
  • Rafa? Jaworowski (Krakow)
  • Slawek Zak (Warszawa)
  • Jan Srzednicki (Krakow)

It is advised that you register as soon as possible if you’re interested since the number of participants is limited. In previous years all tickets were sold out before the official registration deadline!

For more details and registration please visit

FreeBSD Release Documentation Snapshot Page

I came accros this interesting page that holds snapshots of the FreeBSD release documentation, for the most recent versions back to version 4.5.

This page holds snapshots of the FreeBSD release documentation. The first released version of FreeBSD to use RELNOTESng was 4.4-RELEASE.

For each release, this page holds HTML, TXT, and PDF renderings for all supported architectures. These files generally contain the same content as what can be found on the various released distributions (e.g. floppy, CD-ROM, or FTP areas), except that the errata file has been updated to the latest version applicable to each release.

Snapshots of the release documentation (also in HTML, TXT, and PDF) for the CURRENT, 7-CURRENT, 6-STABLE, 5-STABLE, and 4-STABLE development branches are also provided here. Almost by definition, they are continually changing; typically they track the state of developments to within a week or so. The snapshots here are manually regenerated from the heads of the respective CVS branches on an irregular, but fairly frequent, basis.

Creating and Managing A Jailed Virtual Host in FreeBSD

It is possible to spawn a completely jailed second (or many!) operating system within a modern FreeBSD install. Doing so can be tricky, but here I will document the method that I have found works for me. The first most important resource about jails, is the man page, and many of the examples that you will see are basically straight following of the man page. Once you are done, each jail will operate as if its a complete independant operating system.

Scope Of This Document

This Howto article is intended to be a practical example, and I will start my host system with FreeBSD 6.2-RELEASE. The Install will be of the “minimal” variety, and for the first part of this document, we will not update the system with buildworld. After a jail is created, we will then update the host, and then update the jail. This will demonstrate a practical example of how to build, and then maintain a jail thru critical security releases.

Further instructions

Using daemontools (supervise) on FreeBSD

What is daemontools?

From the daemontools website:

daemontools is a collection of tools for managing UNIX services.

supervise monitors a service. It starts the service and restarts the service if it dies. Setting up a new service is easy: all supervise needs is a directory with a run script that runs the service.

At first when I was introduced to this tool at work, I thought “What a typical Linux-admin. FreeBSD’s rc. system is superior.” Despite my personal preferences, whatever software is used at work is what I have to use and learn to use, too. After getting a little more familiar with supervise, and installing it on a FreeBSD server, I was finally convinced that this may also have a place on FreeBSD machines.

Have you ever needed to know that a process is 100% sure to be running no matter what? Well, some of our applications need that extra little safety net, and you might too. Just right of the bat I can mention things like httpd, sshd, denyhosts, and syslog(-ng). While the theoretical risk of these applications crashing randomly and still being able to run again without any direct editing of some configuration file seems to be very low, in a production environment where loads are extremely high and all processes are pushed into a stage where their theoretical load-handling capacity is on the edge with what has practically been tested, this may happen to you – and you can’t afford the service being down until you figure out a way to fix it permanently.

Either way, if some application crashes in a recoverable manner, it’s most likely that either 1) supervise is still running and will try to revive the process or 2) your box is so broken, it doesn’t even matter that supervise is still running. It’s all about that extra little factor of reliability.

Convinced? Here’s the walkthrough

Portsnap; 3 years old. Happy birthday

Three years ago today, Colin Percival announced the availability of the first version of FreeBSD Portsnap. Almost a year later, in August 2005, Portsnap was added to the FreeBSD base system, and since then it has grown to four official mirrors and now supports almost 40 thousand users. Happy birthday Portsnap!

CVSup is slow, insecure, and a memory hog. However, until now it’s been the only option for keeping an up-to-date ports tree, and (thanks to all of the recent work on vuxml and portaudit) it has become quite obvious that keeping an up-to-date ports tree is very important.

To provide a secure, lightweight, and fast alternative to CVSup, I’ve written portsnap. As the name suggests, this is a system for building, *signing*, and distributing compressed snapshots of the ports tree, which can then be extracted into /usr/ports as needed.

Portsnap is:

  • Lightweight. It’s a 15kB shell script which uses under 50kB of other binaries.
  • Designed for frequent updating. Unlike CVSup, it doesn’t need to transmit a complete list of files in the ports tree each time it runs; in fact, if there are no updates available, it only needs to fetch a single file of 256 bytes.
  • Secure. Using code from FreeBSD Update, the ports snapshots are signed using a 2048-bit RSA key.
  • HTTP-only. That’s right, you don’t need to beg your network maintainer to allow outgoing connections on port 5999 any more. :-)

FreeBSD handbook chapter on how to use portsnap can be found here.