Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better



Recommended Books

Recommended Links



User Groups




Selected Papers

Manpages and Reference

Random Findings


"I am a Windows user and I already find the various Linux distributions confusing. So why does BSD need to exist? All it does is confuse people."

1. BSD existed long before Linux did.

2. Because for some applications, it is better than Linux.

3. Because many people don't like the GPL licensing model.

4. Because people like to have choice. - Exploring the Future of Computing

While I'm using mostly Solaris at present, I've used both FreeBSD and Linux and have a very high opinion about FreeBSD stability, quality of the filesystem and speed. Lately the FreeBSD community seems to be making a concerted effort to market into newbie territory. This wasn't always the case. Actually FreeBSD's learning curve isn't much steeper than that of Linux, but it arguably starts a little bit higher up. E.g., everything you need to know about VESA modes may be in syscons(4), but that presupposes that you know enough to look there in the first place.

FreeBSD is a 4.4BSD Lite derivative which is based on the BSD research project from The University of California at Berkeley which began in 1977 and finished in June 1995 with the release of the majority of the source code for the BSD Operating System. From this code, three open source OS's appeared - the most popular being FreeBSD. Because of this firm academic background and Open Source nature, FreeBSD is arguably the fastest, most efficient and reliable Operating System in existence for ISPs, hence its major historical use: web serving. In fact, Yahoo! and HotMail both run on FreeBSD (if you don't believe me about Microsoft's Hotmail check, as does the worlds busiest FTP server (, which runs on a single 500Mhz Xeon processor FreeBSD machine. Here are Yahoo! co-founder David Filo's statement about his experiences with FreeBSD

Since the inception of Linux, FreeBSD has been getting more attention as an alternative to Linux, with a large proportion of the FreeBSD converts coming from Linux backgrounds in search of extra speed, stability and, what is equally or more important in modern world,  security. Due to this, FreeBSD become a true Linux alternative for advanced administrators with OpenBSD a distant second. To quote Marshall Kirk McKusick (head of the BSD project at Berkeley for 4.3 and 4.4BSD) "It's the pioneers that get the arrows in their backs, and it's the settlers that get the land. I'm more than happy to let Linux continue to be the open source pioneers."

The installation and use of FreeBSD is easy, the distribution itself is very well documented in "The FreeBSD Handbook", available on the projects website ( Additionally, there is a forum set up on FreeBSD Rocks! ( and many IRC channels and newsgroups on the Internet. Nicely configured FreeBSD system from the user standpoint is just more stable and more responsive equvalient of Linux: you can have the same (or very similar) applications set and the same desktop as in Linux.

The ports collection is one of the most commonly recognized positive points of all the 4.4BSD derivatives, and FreeBSD is no different. The idea that application is compiled as a part of installation experinced Recenssance with advent of modern CPUs, which in the past were availble only on most expensive servers.  In Linux world similar approach is used by only one distribution -- Gentoo. The emerge command provide compilcation and building of the application in a way similar to BSD.

BSD provide something like 10K different applications, games, daemons, servers and other services split up into 56 different categories. TO make this flawlessly compile and build is an impressive feat of organization on its own. If you wish to install a web server, all you have to do is find the port you wish to use and type ``make install''. After this, the machine will look for the files on your machine, download any files that you don't have that are necessary, patch them for known problems, compile them then install. Finally, the port will be added to the package database.

Customization of the core of Operating System is a lot less stressful task with FreeBSD than Linux. The kernel is much easier to compile, as you need to edit one text file, and type three commands, reboot, and you have a new kernel. Incidentally, it doesn't take long to compile the kernel under FreeBSD either, just 4 minutes first time and 3 minutes (or less) for subsequent recompiles (benchmarks done on an AMD K6-2 400, 128MB RAM).

FreeBSD first solved problem of light weight virtualization, it pioneered jails which served as a prototype for famous Solaris 10 zones (see Solaris Containers - Wikipedia). Jails were introduced in FreeBSD 4.X by Poul-Henning Kamp .  In short

FreeBSD jails mainly aim at three goals:

  1. Virtualization: Each jail is a virtual environment running on the host machine with its own files, processes, user and superuser accounts. From within a jailed process, the environment is (almost) indistinguishable from a real system.
  2. Security: Each jail is sealed from the others, thus providing an additional level of security.
  3. Ease of delegation: Thanks to the limited scope of a jail, it allows administrators to painlessly delegate several tasks which require superuser access without handing out complete control over the system.
See FreeBSD jail - Wikipedia for details. The jail subsystem has been significantly updated for FreeBSD 7.2, including support for multiple IPv4 and IPv6 addresses per jail and support for binding jails to specific CPUs.

One of the latest additions to FreeBSD is ``Linux Emulation'', which lets the FreeBSD Operating System run Linux applications including StarOffice for Linux, Oracle for Linux, Half-Life server for Linux.

So, why use FreeBSD? In short performance, stability and security. It is faster then Linux and better handl high loads. It has the fastest TCP/IP Stack implementation, the very well tested UFS filesystem. Second, it is a well organized project with only one distribution, not a large variety of different distributions which have common kernel. The package management services (the equivalent of the Windows registry) are well proven and tested, and doesn't break and lock like the RedHat RPM registry can.


Top Visited
Past week
Past month


Old News ;-)

[Jun 09, 2016] Microsoft has created its own FreeBSD. Repeat. Microsoft has created its own FreeBSD
Microsoft has published its own distribution of FreeBSD 10.3 in order to make the OS available and supported in Azure.

Jason Anderson, principal PM manager at Microsoft's Open Source Technology Center says Redmond "took on the work of building, testing, releasing and maintaining the image" so it could "ensure our customers have an enterprise SLA for their FreeBSD VMs running in Azure".

Microsoft did so "to remove that burden" from the FreeBSD Foundation, which relies on community contributions.

Redmond is not keeping its work on FreeBSD to itself: Anderson says "the majority of the investments we make at the kernel level to enable network and storage performance were up-streamed into the FreeBSD 10.3 release, so anyone who downloads a FreeBSD 10.3 image from the FreeBSD Foundation will get those investments from Microsoft built in to the OS."

Code will flow both ways: Anderson says "... our intent is to stay current and make available the latest releases shortly after they are released by the FreeBSD Release Engineering team. We are continuing to make investments to further tune performance on storage, as well as adding new Hyper-V features – stay tuned for more information on this!"

Microsoft says it will support its distribution when run in Azure.

Redmond's rationale for the release is that plenty of software vendors use FreeBSD as the OS for software appliances. That reasoning was behind Microsoft's 2012 decision to ensure FreeBSD could run as a guest OS under Hyper-V. In your own bit barns, your guest OSes are your own problem. Microsoft clearly decided it needed something more predictable for Azure, although it has in the past allowed custom FreeBSDs to run as cloudy VMs.

Of course Microsoft has also allowed Linux on Azure VMs for years, so news of the FreeBSD effort feels like an effort to ensure the platforms cloud users want are available rather than a startling embrace of open source to rank with Azure's don't-call-it-a-Linux-for-switches or the announcement of SQL Server for Linux.

But it's still just a little surprising to see Microsoft wade into development of FreeBSD: this is not your father's Microsoft.

One last thing: when Microsoft announced it would ensure FreeBSD runs on Hyper-V, NetApp was one of its collaborators. NetApp knows FreeBSD inside out, because Data ONTAP is built on it. But NetApp is absent from the vendors listed in Microsoft's announcement of its FreeBSD efforts. Which might put the kybosh on our imagined cloud-spanning software-defined NetApp rigs.

Linux Sucks! [Archive]

May 7th, 2009 | The FreeBSD Forums

Just watched this video:

very interesting and so true.


May 8th, 2009, 00:14

But fortunately if linux sucks then BSDs suck even better :)

May 8th, 2009, 03:42

The video was not even fun to watch. It is more a portrait of Linux community and its culture than anything else. For much better articles of what is really wrong with the Linux I warmly recommend

which is full of good readings.

For what is wrong with Unix (and Linux is not Unix unlike present BSDs which are descendants of the full blooded proprietary but open source Unix) I warmly recommend the following reading to younger users
Unix Haters Handbook which is actually written by very competent Unix

I personally have never understood the concept of an OS which is based on
plagiarism and reinventing things which were introduced in proprietary
Unix-es 20 years ago.


P.S. Just during this year I have given at least dozen of presentations using LaTeX class of presentations (Powerdot) and my trusted ThinkPad A20p loaded with the OpenBSD. I have never done anything else than what would typical Windows user do. Press Fn+F7 and get my presentation on the wall via LCD projector. But I guess being aware that typical LCD projectors are incapable of the resolutions higher than 1024x768
unlike my laptop which uses 1400x1050 is too much of reading to an average Linux user. No wonders then that expecting to change resolution
with xrandr -s before attempting Fn+F7 or God forbid launching another X server with xorg.conf file containing different modlines is too much to expect. Unix have found very simply solutions for those kinds of users.
We either give them older laptops like mine ThinkPad 390E which itself is not capable of the resolution higher than 1024x768 so Fn+F7 will always work
or even better solution called OS X. It actually has 10 times a market share of Linux and is really COOL thing. It cost money but the knowledge is far more expensive.


May 8th, 2009, 11:01

but fortunately if linux sucks then bsds suck even better :)

u r in wrong forums


May 8th, 2009, 11:49

Stupid video. No both BSD / Linux it does not sucks. FLOSS is all about choices. I made a choice and I can install any sound system I like. Don't want 6 month release cycle? Go get RHEL desktop with 5 year support. It works; our R & D center has over 50+ RHEL workstations running engineering apps.

Nothing to see here, move along...


May 8th, 2009, 14:02

u r in wrong forums

No, this is you who apparently is in wrong forum. You started this flame-igniting topic about linux on the forum which, I guess, is devoted to FreeBSD.

I noticed many BSD users hate linux, you probably too, so maybe there should be 'Linux Sucks' branch in this forum.

Anyway, maybe linux sucks in some ways, but so do BSDs. I also doubt xorg, xfce, KDE, Gnome and many others projects would be so intensively developed without linux, and please notice these projects are intensively used by FreeBSD users on desktop, too.


May 8th, 2009, 14:14

If 386BSD had been available when I started on Linux, Linux would probably never had happened.

If Linux wouldn't happen X would be developed for BSD, and probably at same speed, but let's not speculate

Every os has it's problems....


May 8th, 2009, 14:55

but let's not speculate

Yeah and please stop such stupid topics. I can't see them anymore, first Windows sucks again and again and now Linux sucks again and again. I do know why I'm using FreeBSD already, due quality and reliability.

If 386BSD had been available when I started on Linux

Nice quote, but Torvalds didn't know the Jolitzes. Because of less to none quality and reability, no real focus on future directions, no community-behaviour at all etc. FreeBSD was finally born (and NetBSD too).


May 8th, 2009, 15:01

No, this is you who apparently is in wrong forum. You started this flame-igniting topic about linux on the forum which, I guess, is devoted to FreeBSD.

I noticed many BSD users hate linux, you probably too, so maybe there should be 'Linux Sucks' branch in this forum.

Anyway, maybe linux sucks in some ways, but so do BSDs. I also doubt xorg, xfce, KDE, Gnome and many others projects would be so intensively developed without linux, and please notice these projects are intensively used by FreeBSD users on desktop, too.

Well sometimes it's of course childish behaviour, but most of the time it's just sort of a forward-defense against FUD (you know BSD is dying and so on). So hate isn't the proper term, it's more an 'we don't care'-attitude. Remember most FreeBSD users are coming from Linux to FreeBSD, vice versa is Linux gathering its fellows among former Windows users.


May 8th, 2009, 15:11

In all fairness: a video where a Linux user criticises Linux is probably quite rare, and I'm sure hardcore FreeBSD users derive some guilty pleasures from that. I don't think this topic was openend as a means to incite. It had some novelty value, at most.

Anyway: a bit outdated, but a reflection of how most of us view FreeBSD in a positive light:

Let's concentrate on why we favour FreeBSD. We all know why. And that we're right :-p


Linux Today - How Would GNU-Linux Users Be Affected by Yahoo-Microsoft Merger

Ati - Subject: Don't agree ( Feb 6, 2008, 01:17:11 )

I admit, I am not a huge fan of MS, but at the same time I don't like google either. MS sells itself, whereas google sells you... do remember this thing.

Second, your comment about the xen, well I have been working on Xen for 2 years, and it still is going very strong under Citrix. Please do not create unnecessary FUD. Hating MS and its allies is one thing, but please be realistic and ask the developers/users once making such comments.

Now the merger, it will have no dire impact on open source. I don't mean it will not have any, but the biggest looser (may be/seems to be) will be google not open source. Google is now becoming a cry baby just because this deal will try to monopolize the near google monopoly. Simple, change your home page from google to yahoo takes 30 seconds and if 40% internet users do it, google is history. MS-Yahoo can make it happen (and cannot make it happen right away if you look at their track record)

Frankly, I welcome that deal and want it to happen. It will have better effect on internet users. At least MS/yahoo do not retain our data and never supplied cookies that were supposed to expire in 2038. In EU google admitted its terms and use statements are vague.

So chill out dudes, welcome the competition which will make the world easier for us at the end.

[Nov 11, 2004] FreeBSD for Linux Users FreeBSD for Linux Users

by Dru Lavigne, author of BSD Hacks
Over the past year, I've had the opportunity to teach introductory Linux and BSD classes. Since BSD users primarily attended the Linux classes and the Linux users primarily attended the BSD classes, both groups had an interest in finding out more about their open source counterparts.

Students expected to find differences, but they often found the particulars surprising. Some of the commands they customarily used had different switches or were missing entirely, and certain features had totally different implementations.

In today's article, I'll cover some of the big-picture differences from the perspective of a Linux user being introduced to FreeBSD. In Part 2, I'll discuss command equivalents between Linux and FreeBSD.

SysV vs. BSD: Runlevels

Most introductory Unix courses start with the differences between SysV and BSD. Students, unimpressed by this fascinating bit of theoretical trivia, tend to jot down a few notes dutifully, and then wait patiently for the hands-on portion of the class. Within the hour, though, someone will make a panicked discovery and shout out, "Where are my runlevels?" There's an inevitable and incredulous follow-up of "What do you mean there aren't any runlevels?" and "Where'd all my startup scripts go?"

Herein lies one of the tangible design differences between a SysV system such as Linux and a BSD system. Both systems manage to start and run just fine--they just do it differently. It's equally difficult convincing a Linux user that a Unix administrator can achieve all of the functionality of runlevels without using runlevels as it is to convince a BSD user that it takes an entire subdirectory structure of symlinks to manage services.

While there are some variations in number, most Linux distros will provide runlevels representing shutdown, reboot, single user, multiuser with command line, and multiuser with GUI modes. The /etc/inittab describes these runlevels, and the telinit command allows administrators to tell the init process to change its current runlevel.

Editor's note: The commands described in the next paragraph work on every Linux system I can remember using.

A BSD system is also capable of each of these init states, though it does so without using the inittab file or the telinit command. To reboot, use reboot or shutdown -r. To halt the system, use halt or shutdown -h. To enter single-user mode on a running system, type shutdown now and press Enter when prompted to do so. To return to multiuser mode, type exit.

Whereas /etc/inittab sets the default runlevel on a Linux system, a BSD system uses /etc/ttys to determine whether the system will boot into multiuser command line or multiuser GUI. (Use the boot menu to select single-user mode at boot-up.) Like /etc/inittab, this file configures how many virtual terminals--those that accept keyboard input--to make available. The default configuration allows nine virtual terminals with the GUI residing on ttyv8 (accessible with Alt-F8). By default, the system boots into command-line mode and the user must type startx to start the GUI. However, if you miss having the system boot directly into a GUI login, edit /etc/ttys as the superuser and change the word off to on in the ttyv8 line.

Startup Scripts

On a Linux system, each runlevel has an associated subdirectory: rc0.d for runlevel 0, rc1.d for runlevel 1, and so on. Depending on the distribution, these subdirectories fall under either /etc or /etc/rc.d. Each subdirectory contains symlinks to startup scripts residing in /etc/init.d. The symlink names begin with either S (for start) or K (for kill) and tell init to act accordingly whenever the system enters that runlevel. After the letter comes a number that represents the order in which to run the scripts.

You won't find init.d or any of the runlevel subdirectories on a BSD system. Instead, the system startup scripts live in /etc/rc.d, and the startup scripts for third-party applications stay in /usr/local/etc/rc.d. Instead of using symbolic links beginning with S or K, a handful of scripts in /etc whose names start with rc control which scripts run at startup and shutdown. man rc gives the names of these scripts and describes their operation. As an admin, you'll leave most of those rc scripts as is. To configure which services start at boot-up, instead edit the one file /etc/rc.conf.

Most of the scripts found in Linux's /etc/init.d and BSD's /etc/rc.d share similar behavior. If you type only the script name, you'll receive a syntax message indicating which parameters you can send to that service. Here's an example from a FreeBSD 5.x system:

# /etc/rc.d/named
Usage: /etc/rc.d/named [fast|force] (start|stop|restart|rcvar|reload|status|poll)

You're probably unfamiliar with the rcvar parameter. It helps to determine the current /etc/rc.conf parameters of the service.

The Kernel

Instead of describing the design differences between a Linux and a FreeBSD kernel, I'll concentrate on the differences you'll encounter when recompiling a kernel.

The first thing you'll notice is the different method of numbering stable and unstable releases. Linux kernels use three numbers wherein:

To see which Linux kernel came with your distro, type uname -r.

In FreeBSD, the first number also refers to the major version number. As I write this, version 4 is the stable production release and version 5 is the new technology release. Both versions provide a development kernel known as CURRENT and various stable releases indicated by the second number. FreeBSD Release Engineering describes the release process in more detail.

The steps required to recompile a kernel also differ. Some Linux distros provide a mechanism to download Linux kernel source, or you can download it directly. After uncompressing the source, cd into your system's src directory and choose from one of three front ends available for modifying the kernel configuration file:

Each front end provides an explanation for each kernel configurable and allows you either to compile in that option statically or build it as a loadable module. Once you've saved your changes, use these commands to check for dependencies and to compile the kernel:

Editor's note: this is the process for a 2.4 kernel; the 2.6 kernel is simpler.

# make dep
# make clean
# make bzImage

If you've chosen to create modules, do these two commands next:

# make modules
# make modules_install

Finally, install the kernel and update your boot loader:

# make install

Always double-check the changes to your boot loader configuration file; I've found that make install doesn't always make the modifications required to boot successfully into the new kernel.

On a FreeBSD system, use /stand/sysinstall to download the kernel sources. Better yet, use cvsup to keep your kernel sources up to date.

Once you have the sources, make a copy of /usr/src/sys/i386/conf/GENERIC and use your favorite editor to prepend # (the comment character) to the options you don't want to configure into your kernel. Refer to a file called LINT or NOTES in that same directory to see what each option means and to research other options you may wish to add. Once you've saved your changes, compile and install the new kernel. In this example I've saved the file as NEWFILE. The commands are:

# cd /usr/src
# make buildkernel KERNCONF=NEWFILE
# make installkernel KERNCONF-NEWFILE

By default, this compiles all kernel options as modules. If you prefer to compile everything statically, include this line in your kernel configuration file:

makeoptions	MODULES_OVERRIDE=""

Installing Software

When it comes to installing software on an open source operating system, you usually have three choices available. The first is to install a precompiled binary. The advantage to this method is that it is very quick and usually painless, with the program and its dependencies recorded into a package management system. The disadvantage is that a precompiled binary may not be available for your particular operating system and architecture. If one is, keep in mind that it probably won't take advantage of your particular CPU's features and you will have no control over which features the distributor compiled into the binary. This usually isn't a big deal with desktop applications, but it can be for server applications.

Installing a precompiled binary in Linux depends upon which package management system came with your distro. Examples of popular package management system utilities are Red Hat's rpm, Debian's apt-get, and Gentoo's emerge. Some package management systems require you to find and download the binary and resolve dependency issues, while others fetch the binary and its dependencies for you.

Ease of use and syntax issues aside, having a package management system is always a good thing. It will maintain databases to keep track of which programs you have installed and which programs depend on which others. In theory, this should make it much easier to properly upgrade software without breaking dependencies and to monitor software for outstanding security patches. In reality, your mileage will vary with the package management system used, but it will still be much better than trying to remember what you installed and when.

FreeBSD provides a robust package management system. To install a precompiled binary in FreeBSD, use the pkg_add command with the remote fetch switch. For example, to install curl, type:

# pkg_add -r curl

If there are any missing dependencies available as a precompiled binary, the command will also download and install them for you.

If you prefer to select packages from an ncurses menu, use /stand/sysinstall and choose Configure, then Packages.

The second method for installing software is to compile the binary yourself using your system's package management system. This will track the program itself and all of its dependencies; you also have a pretty good guarantee that the compile should succeed for your CPU and operating system type. Compiling your own binary allows you to take advantage of the program's make options. The assumption is that you've taken the time to research the available options for the particular application you wish to compile. The disadvantage is that it takes time to compile a binary, depending on the size of the binary and how much CPU and RAM is on the compiling system.

As an example, if your distro supports RPMs, you can download and compile a source RPM. These end in src.rpm as opposed to something like i386.rpm. In FreeBSD, you instead use the ports collection. For example, to install Apache:

# cd /usr/ports/www/apache13
# make install clean

Of course, before issuing the make command, experienced admins read the Makefile in that directory to see which options to use for that compile.

The third method is to download and extract a source tarball. This method works on any Unix system but comes with a big disadvantage: the package management system in place usually cannot track the installed files. This means you have to remember what you installed, when you installed it, and what dependencies come with or rely on that program. It will also be very difficult to keep those programs up to date and to remember to check for security fixes on each program.

Sometimes this third method is a necessary evil. Perhaps you need to take advantage of a feature or security fix now and there currently isn't a precompiled binary or source RPM/port for that application for your operating system. Unless you really can't wait, however, you're better off waiting.


One of the biggest improvements to open source operating systems over the past few years has been the proliferation of quality online documentation. Linux has The Linux Documentation Project. While everything here obviously comes from the Linux perspective, many of the articles concern third-party shells or software that apply well to non-Linux systems.

FreeBSD has the FreeBSD Handbook and FreeBSD FAQ. These and other documentation resources also appear on FreeBSD systems in /usr/share/doc. Use cvsup to update them. The documentation describes pretty much anything you could ever want to do with a FreeBSD system.

One of the more noticeable differences between Linux distros and BSD systems is the quality of the man pages. An example that comes up in a Linux+ class is the man page for ls. For the exam, students need to know the -F. Here's the explanation from man ls on a Linux system:

-F, --classify
              append indicator (one of */=@|) to entries

Here's the explanation from a BSD system:

-F      Display a slash (`/') immediately after each pathname that is a
      directory, an asterisk (`*') after each that is executable, an at
      sign (`@') after each symbolic link, an equals sign (`=') after
      each socket, a percent sign (`%') after each whiteout, and a ver-
      tical bar (`|') after each that is a FIFO.

One of the lessons students learn is that if you don't find the information you want from a man page, see if there is a better man page! I've always had good luck with FreeBSD Hypertext Man Pages.

The other man page that students find helpful is man hier, as it describes the file system hierarchy or directory structure layout. This is always a good command to run whenever you find an unfamiliar Unix operating system.

In the next article, I'll move on to particular commands that differ between Linux and FreeBSD.

Dru Lavigne is an instructor at Marketbridge Technologies in Ottawa and the maintainer of the Open Protocol Resource.

FreeBSD, Stealth-Growth Open Source Project

June 11, 2004
FreeBSD, Stealth-Growth Open Source Project
By Sean Michael Kerner

Given the rapid growth of Linux in the technology industry, it might be easy to overlook other open source Unix variants.

But recent numbers from research outfit Netcraft show that past is prologue. FreeBSD (define), that other Unix variant, has dramatically increased its market penetration over the last year.

Call it the stealth-growth open source project. According to Netcraft, over one million new domains were hosted on FreeBSD over the last year, bringing the total number in its survey of companies using the Unix-variant OS to over 2.5 million.

FreeBSD also continues to show up on Netcraft's list of the most stable hosting providers on OS platforms. In its May 2004 survey, for example, Netcraft reported that four out of the top 10 hosts ran on FreeBSD. Linux also claimed four. Windows showed up on two of the 10.

But why hasn't FreeBSD become as widespread as Linux? The answers may lie in its history.

The FreeBSD Project is one of the earliest open source operating system projects, and is a direct descendent of the original open source BSD work performed at the University of California at Berkeley. There are currently three mainstream open source BSD variants, NetBSD, OpenBSD and FreeBSD. Apple's OS X (Darwin) is also based on FreeBSD.

"Being a non-profit and volunteer-driven organization, the FreeBSD Project doesn't have a large budget to pay for usage surveys, but I can say that the widespread use of FreeBSD by a broad range of industry Web hosts speaks to the strength of FreeBSD in the cluster server environment," FreeBSD Core Team member Robert Watson told

According to Open Source Development Labs (OSDL), which bills itself as a "center of gravity" for Linux development, FreeBSD is on a separate path compared to Linux.

"I don't think it's growing at Linux's expense," said Bill Weinberg, OSDL's open source architecture specialist. "The OSDL respects the BSD family as another family of open source operating systems. Linux actually inherits a lot of BSD code. We certainly look on it with a favorable light, but our mandate centers around Linux."

Weinberg noted that though the BSD community has been around longer than Linux, it is now much smaller than the Linux community, largely because of fragmentation of the Unix community and licensing.

Though he acknowledged that a FreeBSD license can be simple to deal with, he thinks the GPL (define) license, under which the Linux kernel is licensed, fosters a better sense of community.

"GPL and related licenses have held the community together and guaranteed that there is a continuity in the code," Weinberg said.

Stacy Quandt, analyst with Quandt Analytics, also sees the licensing angle as a factor in the growth of FreeBSD, albeit a little differently.

"Apple based MacOS X on a FreeBSD kernel due in large part to its reliability, and the ability to create an open source Darwin community around a proprietary product," Quandt told "At one time FreeBSD and Linux were comparable on the basis of performance and features," she said. "However, it was the issue of licensing and the reciprocity of the GNU General Public License and the industry logic that an operating system that was built by a community and not a single vendor is preferable" that altered the two projects' courses.

Quandt also contends that FreeBSD is not currently on the same level as Linux when it comes to supporting heavy enterprise workloads. "The community activity around Linux in the late 1990s and support from system vendors and large independent software vendors fueled key enhancements in Linux," Quandt said. "Improvements in symmetric multiprocessing (SMP) virtual memory, asynchronous I/O, a native POSIX thread library, as well as other features and support from multiple vendors [in Linux] made FreeBSD a less likely choice for enterprise workloads."

FreeBSD does, however, remain a factor in the infrastructure of the Internet itself, at least according to the founder of the ISC, the group that produces BIND, the dominant DNS (define) tool of the Internet.

"On the one hand we applaud Linux for coming out of nowhere so late in the game and creating a robust industry based on open source concepts," said Paul Vixie, board chairman for ISC. "Furthermore, ISC hosts the main Linux kernel distribution server [] as our way of helping the Linux community continue to thrive," he said.

"On the other hand we use FreeBSD exclusively for f-root (in 21 cities now, usually with three servers per city) and all of our other servers and internal development," Vixie explained. "We like the age of the platform. BSD has existed since the late 1970's and modern FreeBSD is extremely refined and mature."

The ISC also hosts the entire NetBSD project as well as an OpenBSD mirror and the only Ipv6-accessible FreeBSD mirror. In short, FreeBSD remains a critical part of the ISC's infrastructure.

"ISC could not exist in our current form without being able to leverage FreeBSD's strengths as we do," Vixie added.

As for FreeBSD, it has just released version 4.10, which Watson called the cumulative result of many years' work on FreeBSD 4.x and its predecessors. "It is arguably the most mature FreeBSD revision released to date," he said. "While it incorporates a carefully constrained set of new features, its focus remains providing a firm foundation for production use."

FreeBSD 5.x, which is the new technology development branch, is expected to become the new stable version of FreeBSD later this year.

"FreeBSD developers and consumers alike are extremely excited by the promise of FreeBSD 5-STABLE," Watson added, "and we won't let them down."

BSD Linux With a Twist

Christian Weisgerber
May 12, 2000

In recent years the enormous public success of the Linux movement has overshadowed the availability of other equally powerful and freely available Unix operating systems. This paper aims to introduce BSD as an alternative to Linux, to provide basic information, and to clear commonly encountered misconceptions.

Table of Contents

  1. Introduction and History
  2. Overview of Available Distributions
  3. The Development Model
  4. Integration
  5. Third-Party Software: Ports and Packages
  6. System Administration
  7. The File System
  8. Init
  9. Miscellaneous
  10. Conclusion

Introduction and History

Everybody has heard of Linux by now. What's this "BSD" thing? BSD stands for Berkeley Software Distribution. Originally developed by the Computer Systems Research Group (CSRG) at the University of California at Berkeley (UCB), BSD started out in late 1977 as a kit of additional software and patches to AT&T's UNIX version 6, which back then ran on the PDP-11 minicomputer. A description of those early days of the Unix community can be found in Peter H. Salus' book A Quarter Century of UNIX[1]. From these humble beginnings, BSD evolved over the course of 15 years into a standalone Unix operating system.

BSD has been exceedingly influential on Unix at large. Many features we nowadays take for granted were introduced on BSD and only later adopted by AT&T and other vendors: the (in)famous vi(1) screen editor, the termcap(5) terminal capability database and the curses(3) screen manipulation library, csh(1), job control, long file names, symbolic links, TCP/IP networking, the socket(2) interface, various r* utilities, ...

Eventually BSD was freed from the shackles of the AT&T UNIX source code license requirement as all the AT&T-copyrighted code was gradually replaced. In 1993, 4.4BSD was released as a complete open-source operating system. For a comprehensive history of BSD at the CSRG straight from the horse's mouth, people's motivations for their work, and the subsequent ugly legal battle with AT&T, I refer the interested reader to Kirk McKusick's paper "Twenty Years of Berkeley Unix"[2].

Today, BSD is a freely available, fully functional Unix operating system, whose detailed development history has become impossibly intricate[3]. Broadly speaking, it is technically equivalent to Linux, although less widely known.

Overview of Available Distributions

Since the CSRG shut down, several modern derivates of 4.4BSD have appeared, some of them wedded to commercial products.

Berkeley Software Design, Inc., was formed by former CSRG developers after their funding ran out, in order to continue the development of BSD in a commercial setting. BSD/OS has been available for multiple platforms, in particular i386 and sparc, and has mostly been marketed for embedded Internet applications.

In spring of 2000, BSDI merged with Walnut Creek CDROM, previously the main financial backer of the FreeBSD project (see below). BSD/OS will be continued as a separate product, however it is expected that eventually the BSD/OS and FreeBSD source trees will be largely merged.

is the open-source centerpiece of Apple's new operating system Mac OS X. Darwin implements a 4.4BSD personality and user land on top of a Mach microkernel, with FreeBSD as the main reference. Although primarily aimed at Apple's own ppc platform, the system is also being ported to i386.

The rest of this paper will deal exclusively with those BSD distributions that are available as free software. Although these ship with a variety of GNU tools, in particular the tool chain (compiler, assembler, linker), all core functionality is made available under the BSD license:

Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

    This product includes software developed by the University of California, Berkeley and its contributors.

  4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


Effective July 22, 1999, the third clause has been struck from the license requirements. Most post-Berkeley work now comes with an abbreviated license that abandons both the third and the fourth clauses. In particular, the BSD license allows the creation of derivative works that can be distributed in binary-only form.

has been optimized for the PC platform. This also includes easy installation and wide support for the veritable zoo of PC hardware. FreeBSD supports the i386 and alpha architectures, and interest in porting it to several other platforms has been expressed. FreeBSD enjoys the largest user base of all BSD distributions and powers the world's busiest WWW and FTP servers, and, respectively.
has a focus on clean design and portability. It supports more platforms than any other operating system. From small handhelds to large alpha servers, it runs on almost any machine anybody would want to use Unix on. At the latest count (early May) NetBSD had been ported to a total of 27 platforms utilizing ten different CPU families.
focuses on security and cryptography. The project split off from NetBSD in 1995 due to unsurmountable personal differences between Theo de Raadt and the rest of the NetBSD core team. At the time of writing, OpenBSD supported nine platforms (six CPU families), with several more under development or in the process of being resurrected. The OpenBSD team gained wide recognition with their creation of OpenSSH, a free implementation of the SSH suite of secure network connectivity tools.

So, how different are the three BSDs from each other? In practice, rather little. The degree of mutual difference is roughly comparable to that between separate Linux distributions, with the differences being smaller from a user and administrator's point of view, and larger in the internals. Although little advertised, there is a lot of code sharing between the individual projects, facilitated by the same licensing.

The three projects have extensive Web pages at, with basic information, FAQs and further documentation, archives of the rich mailing list cultures, and hypertext interfaces to the respective CVS trees. Releases of complete distributions can be downloaded from the net or bought on CD.

The Development Model

Contrary to what some Linux advocates claim, BSD development does not follow a cathedral model. It is hierarchically organized but not in any way closed. There are three tiers:

  1. Contributors submit code or documentation but don't have write access to the source tree. For their work to be included, it must be checked in by a committer.
  2. Committers are developers with write access to the source tree or, in CVS parlance, commit rights. Typically a committers works only on a selected part of the project, his area of responsibility.
  3. The core team guides the overall direction of the project and makes the final decisions in case of disagreement among developers. (OpenBSD doesn't have a formal core team, but Theo de Raadt serves as project leader.)

Note that this "rank" is based on the work done for the project. Anybody can be contributor. Send in a patch that gets committed, even if it corrects merely a typo in a man page, and there you are. People who contribute a lot or show particular competence for an area of the project will be promoted to committers, if only to save other committers from having to check in their work all the time. Core team members finally have shown exceptional amounts of contributions and technical skills, as well as some social ones.

FreeBSD maintains two branches, -CURRENT for development and -STABLE, which sees only bug fixes or incremental improvements that have been well tested. About three or four times a year a -RELEASE is produced, typically from the -STABLE branch. In between releases, snapshots are made available. Other than differing naming conventions for the branches, NetBSD has the same approach. OpenBSD only has a single branch with biannual releases. Errata (patches) to a release are subsequently published until the next one; meanwhile the source tree is in active development.


The key difference between BSD and Linux can be summarized in a single term: integration, meaning both a process and the result of this process.

Each BSD distribution is considered a single project. Linux distributions on the other hand are combined from a multitude of separate projects, many of which aren't even Linux-specific. There is a Linux kernel project led by Linus Torvalds. There are toolchain and C library projects. There are a host of different GNU projects that provide various tool collections. And so on.

On BSD, the developers are also the integrators. If somebody wanted to change the output of, say, ls -l, he would also feel responsible for taking care that any scripts in the system that depend on a particular format for the ls(1) output would also be adapted. In the Linux world, the system integrators who combine many different projects into a distribution are generally not developers of those projects. The resulting system integration of BSD is tighter. Man pages are more complete, programs interoperate better, there is a more consistent look and feel to the system.

Some often mentioned differences between BSD and Linux are merely the result of BSD's single project mindset: All of the base system is contained in a single CVS tree, i.e. all of it is under version control. From there, the complete source tree can be checked out and re-compiled in one go. This is generally known as make world, from the single command that can be used to rebuild the system. So far, no Linux distribution has been able to provide its source in a CVS tree, and in fact not even the Linux kernel is under proper version control, resulting in a rather cumbersome (from a BSD perspective) development process.

Another resulting difference is the clear demarcation between base system and additional software under BSD. Many Linux distributions now ship half a dozen CDs full of packages. There is little guidance which parts belong to the core system and which are optional, which have been rigorously tested and audited, and which were just added because the source was available on the net.

Third-Party Software: Ports and Packages

There is a wealth of Unix software freely available as source on the net. In fact, much of the software that is typically associated with Linux isn't specific to Linux at all, but can be built and run on any Unix system, including BSD. To facilitate the installation of this third-party software, BSD has the ports and packages system, which was originally introduced by FreeBSD. It has since been adopted in somewhat modified form by NetBSD and OpenBSD. (To avoid confusion with the "port" of the system to a different hardware platform, NetBSD has chosen to call ports "packages" and packages "pre-compiled packages". I'll stick with the FreeBSD terminology here.) At the time of writing, the software count supported by this framework was approximately 3300 for FreeBSD, 1300 for NetBSD, and 700 for OpenBSD. New ports are added daily.

A package is a piece of software, pre-compiled to run. It is equivalent to the packages used by Linux distributions, e.g. the popular RPM format. Technically, the distribution format used for BSD packages is a compressed tar ball (.tgz), which includes the files to be installed plus some additional meta information. For example, the contents of the FreeBSD xlogout-1.1.tgz package are these:


Packages are installed into a configurable ${PREFIX}, defaulting to /usr/local, /usr/X11R6, or /usr/pkg (NetBSD). Installation is registered into a database directory tree at /var/db/pkg/package. Package management is performed by a variety of pkg_* tools, such as pkg_add(1), pkg_delete(1), and pkg_info(1).

A port is the framework from which a package is created. Functionally, a port is equivalent to an SRPM, however, it doesn't contain the actual source tarball. Writing a port is equivalent to writing an RPM spec file. Ports are typically stored as /usr/ports/category/port (/usr/pkgsrc on NetBSD). A port skeleton consists of a small directory tree with several files. For transport purposes it is put into an archive using tar(1) or shar(1). Here is a trivial example, /usr/ports/x11/xlogout from FreeBSD:


BSD didn't create a new tool like rpm(1) to build ports, rather a make(1)-based infrastructure was introduced. The Makefile is the key part of a port. It mostly assigns values to a variety of variables and includes some 2000..3000 lines of system makefile that contains all the necessary magic to actually perform any actions. This file makes heavy use of the powerful extensions in BSD make(1), which are quite different from those in GNU make.

# New ports collection makefile for:   xlogout
# Date created:                1998-11-06
# Whom:                        Christian Weisgerber <>
# $FreeBSD: ports/x11/xlogout/Makefile,v 1.4 2000/04/30 18:36:54 knu Exp $

PORTNAME=	xlogout


WRKSRC=		${WRKDIR}/xlogout
MAN1=		xlogout.1

.include <>

Further files contain cryptographically secure checksums to verify that the distribution tarball is indeed the expected one, optional patches that may be required to adapt the target software to BSD and/or the ports system, both single-line and more verbose descriptions, and a list of files that will be installed by the port.

Actually building and installing a port is trivial:

# cd /usr/ports/x11/xlogout
# make install clean

This will proceed to

Here's the log:

>> xlogout-1.1.tar.Z doesn't seem to exist on this system.
>> Attempting to fetch from
Receiving xlogout-1.1.tar.Z (3466 bytes): 100%
3466 bytes transferred in 1.9 seconds  (1.75 Kbytes/s)
===>  Extracting for xlogout-1.1
>> Checksum OK for xlogout-1.1.tar.Z.
===>   xlogout-1.1 depends on shared library: X11.6 - found
===>  Patching for xlogout-1.1
===>  Applying FreeBSD patches for xlogout-1.1
===>  Configuring for xlogout-1.1
imake -DUseInstalled -I/usr/X11R6/lib/X11/config
make Makefiles
make includes
make depend
rm -f .depend
gccmakedep -f-  --   -I/usr/X11R6/include   -DCSRG_BASED   -DFUNCPROTO=15 -DNARROWPROTO    -- xlogout.c > .depend
===>  Building for xlogout-1.1
cc -Os -pipe      -I/usr/X11R6/include   -DCSRG_BASED   -DFUNCPROTO=15 -DNARROWPROTO   -c xlogout.c
xlogout.c: In function `main':
xlogout.c:52: warning: return type of `main' is not `int'
rm -f xlogout
cc -o xlogout       -L/usr/X11R6/lib xlogout.o -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11    -lxpg4  -Wl,-rpath,/usr/X11R6/lib
/usr/X11R6/lib/ warning: tmpnam() possibly used unsafely; consider using mkstemp()
===>  Installing for xlogout-1.1
===>   xlogout-1.1 depends on shared library: X11.6 - found
/usr/bin/install -c -s  xlogout /usr/X11R6/bin/xlogout
/usr/bin/install -c -m 0444 /usr/X11R6/lib/X11/app-defaults/XLogout
install in . done
rm -f /usr/X11R6/man/man1/xlogout.1*
/usr/bin/install -c -m 0444  /usr/X11R6/man/man1/xlogout.1
gzip -n /usr/X11R6/man/man1/xlogout.1 in . done
===>   Generating temporary packing list
===>   Registering installation for xlogout-1.1
===>  Cleaning for XFree86-3.3.6
===>  Cleaning for xlogout-1.1

Subtargets are available to execute each step separately. An installed port is indistinguishable from an installed package and make package will create just such a package from the port.

Just how immensely useful the ports/packages system has proved to be is also exemplified by the ongoing effort to make the NetBSD package collection available on Solaris and Linux with the zoularis[4] package.

System Administration

Unix flavors differ most in the details of system administration. Like the other systems, BSD has its very own style.

To start out, BSD comes without any admin tool such as SMIT on AIX, SAM on HP-UX, Linuxconf, or SuSE YaST, to name a few. Instead, the configuration of the system is necessarily handled by editing a variety of text files under /etc. However, lots of startup configuration options have been centralized in a single /etc/rc.conf file, e.g.

A commented list of default options is provided and allows for easy customization.

Although all systems ship with a default kernel that supports a wide range of hardware and features out of the box, building a custom kernel is often preferred to remove unused drivers and thus save memory, or to add rarely used features. The procedure is straightforward:

The basic procedure is just the same as on Linux, although the details are quite different. For completeness sake I'll point out the BSD projects also support a varying degree of kernel modularization.

While we would all like to believe that our systems are perfect, bugs do exist. Fortunately, BSD provides an easy and professional way to report and track problems and user feedback. Starting send-pr(1) (OpenBSD: sendbug) will present a self-explanatory, easy to fill out form which can then be sent by mail to the respective BSD project's central GNATS bug tracking database. Of course the preferred bug reports, if there is such a thing, are those that include a fix...

The File System

BSD has its own partition table format. On many platforms this is the native format, but not on the PC. There BSD doesn't directly use the IBM/Microsoft partition scheme like Linux does. Instead, part of the disk has to be set aside for BSD. FreeBSD has coined the term "slice" for this. Inside the BSD slice, the BSD partitions are created. Note that this use of the terms "slice" and "partition" is exactly the opposite to Sun's terminology. BSD partitions are numbered a to h. Traditionally, a is the boot partition, b swap, and c is a pseudo-partition covering the whole disk.

BSD's preferred native file system for local disks is FFS, the Berkeley Fast File System. It supports filesystems up to 16TB and, depending on some parameters, files up to several terabytes in size. 64-bit file offsets, i.e. files larger than 2GB, on 32-bit platforms have been supported since 4.4BSD (1993). BSD FFS and Linux ext2fs are generally very similar, which comes as no surprise considering that ext2fs was designed with FFS in mind.

One difference between FFS and ext2fs that draws a lot of attention are the defaults for a particular safety/performance trade-off. ext2fs defaults to writing metadata asynchronously, FFS to synchronously. Both file systems write normal data asynchronously. This gives ext2fs superior performance for operations involving metadata manipulations. ("Metadata" refers to all data not contained within the files themselves: directory information, inodes, block allocation maps, etc.) In degenerate cases, such as extracting a large number of small files from an archive, the difference is remarkable. On the other hand, asynchronous handling of metadata exposes ext2fs to a substantial risk in case of a system crash or power outage. The filesystem may end up in an inconsistent state, which can entail severe data loss including loss of the complete filesystem.

Of course it is possible to mount a filesystem async on BSD too, however this is generally considered an unacceptable risk. For some time now, a superior solution has evolved: soft updates[5]. Ordered writes guarantee filesystem consistency and performance is similar to that of asynchronous metadata writing. The BSD implementation was done by Kirk McKusick, the creator of FFS. It is still under a special license which prevents it from being enabled by default, however it will eventually be switched to the BSD license. No structural changes to the on-disk filesystems are required. If available in the kernel, soft updates can be enabled for each filesystem simply by tunefs -n enable fs (OpenBSD: tunefs -s enable).

FFS introduced all what we have come to expect from a modern Unix file system. A more advanced feature are the additional file flags, which allow setting a file append-only, immutable, undeletable, etc. Some of these are also available on Linux ext2fs. The commands to access the file flags are different, though:

Operation BSD Linux
show flags ls -lo lsattr
set flags chflags chattr

The BSD filesystem hierarchy is quite similar to the Linux FSSTND/FHS specifications, which drew heavily from BSD. There is no /lib, as the executables in /bin and /sbin are statically linked. /usr/share is more consequently used for sharable data, e.g. man pages, and /usr/libexec contains executables that are never directly called, such as getty(8) and a variety of network daemons. On any BSD system, the hier(7) man page will give an overview of the filesystem layout.


BSD has retained a simple init(8) and system startup model. There are no runlevels other than single-user and multi-user mode. If the system is booted up into single-user mode, init spawns a shell on the console. Exiting this shell will bring the system into multi-user mode by executing /etc/rc. By default, init boots the system into multi-user mode by calling /etc/rc autoboot. /etc/rc performs various initializations such as checking the filesystems, reads in /etc/rc.conf, and executes a variety of modular /etc/rc.* subscripts. There is no /etc/inittab, getty(8)s are started from /etc/tty.

The init(8) process assigns a particular meaning to many signals:

Signal Command Action Remarks
HUP rescan /etc/ttys
TERM shutdown single-user mode
TSTP block logins
INT shutdown -r reboot
USR1 shutdown -h halt
USR2 shutdown -p power off FreeBSD only

A unique BSD feature is the securelevel concept. Any superuser process can raise the securelevel of the system, but only init (and not even that on FreeBSD) can lower it. Higher securelevels restrict operations such as changing append-only or immutable file flags or access to raw disk devices.

-1 permanently insecure mode
0 insecure mode, single-user
1 secure mode, multi-user
2 highly secure mode
3 network secure mode (FreeBSD)

The point of securelevels is to keep even root from doing some things. An obvious application would be a firewall machine, which could keep running securely with a nailed-down configuration even if an attacker managed to breach the system and gain superuser access. Without console access he could not break out of the securelevel restrictions.


One of the most frequently asked questions is about where documentation on BSD can be found. Fortunately, this is easy to answer:

There are many small differences that people with a Linux background keep stumbling into when they first install a BSD system. I will mention a few of those, just to reinforce the point that the systems are in fact quite similar although some details differ.

Where Linux uses the generic eth0 for a network interface, on BSD interfaces are named according to the driver, e.g. fxp0 (Intel EtherExpressPro), xl0 (3Com 3C905), de0 (DEC 21040 "Tulip"). Network-related commands also display various syntax differences, e.g.

Action BSD Linux
show interfaces ifconfig -a ifconfig
show routes netstat -r route

User information including the encrypted passwords are stored in /etc/master.passwd. From this file /etc/passwd is generated for backwards compatibility, along with /etc/spwd.db and /etc/pwd.db, which contain the secure (including encrypted passwords, super-user only) and insecure (passwords stripped, world-readable) password databases respectively, in a format that allows for faster access than linear search through a text file. To edit the password file, use vipw(8). It calls the user's preferred editor ($EDITOR) to edit the master.passwd file, performs a syntax check, and regenerates the other files.

Occasionally it is necessary to determine the hard way just what actions a program takes at runtime. SVR4 offers truss, Linux has strace for system call tracing. The equivalent BSD toolkit consists of ktrace(1), which writes a trace dump to ktrace.out, and kdump(1) to decode the trace dump into human-readable format. Additionally, NetBSD has a ktruss(1) command that combines both, and FreeBSD has a procfs-based truss(1).

Many comparisons between BSD and Linux concentrate on minute technical details. Since both systems are in very active development, those differences tend to go obsolete within a few months at most. For example, NetBSD was the first open-source operating system to incorporate USB support, and the other BSD projects followed suit before Linux did.


BSD is a full-fledged Unix operating system, which shares Linux' technical prowess and open-source development drive, and with an an unbroken line of descent back to AT&T UNIX version 1 to show as prime pedigree. Although many details are different from Linux, but not necessarily more so than among different Linux distributions, similar problems breed similar solutions and the basic approaches are the same. Many differences may boil down to a matter of taste. Next time you are despairing over the choice of Linux distribution, add to your considerations BSD as another type of Linux. You may like the taste.


  1. Peter H. Salus, A Quarter Century of UNIX, Addison-Wesley, 1994.
  2. Marshall Kirk McKusick, "Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable",
    in Chris DiBona et al. (eds.), Open Sources, O'Reilly, 1999.
  3. Wolfram Schneider et al., "The Unix System Family Tree/BSD History Chart".
  4. Christos Zoulas' zoularis package
  5. Gregory R. Granger and Yale N. Patt, "Soft Updates: A Solution to the Metadata Update Problem in File Systems", U.Michigan Report CSE-TR-254-95.
  6. The FreeBSDMall: Software, Books, and Promotional Items for FreeBSD.
  7. Greg Lehey, The Complete FreeBSD, Walnut Creek CDROM, 1999.
  8. Marshall Kirk McKusick et al., The Design and Implementation of the 4.4BSD Operating System, Addison-Wesley, 1996.

Christian "naddy" Weisgerber <>
$Id: bsdlinux

BSD For Linux Users Intro

There're all sorts of myths and objections and "common knowledge" and "conventional wisdom" and such floating around about BSD. I'm always a little surprised at how quick some Linux people are to latch onto such over-simplifications and long-dead statements about the BSDs, especially since they then spend so much effort screaming about people doing the same thing concerning Linux. Oh well. Let's rip up a few.


"BSD doesn't support common hardware."

Does Linux support hardware that BSD doesn't? Probably. Does it matter? Only if you have that hardware.

I'll betcha Windows supports hardware Linux doesn't. For that matter, MacOS probably supports hardware that none of the rest do. BSD supports most common hardware you'd stick in a server, most common hardware you'd stick in a workstation, most common hardware you'd stick in a desktop... There are gaps, but the gaps change from release to release, just like every other system.

Video card support, for instance, is hardly ever claimed in any BSD documentation, while Linux documentation talks about it a lot. That seems weird, until you realize that in the BSD worldview, the OS isn't supporting any of those video cards; X is, which is a separate package. So you can use any video card under BSD that you can under Linux, since neither the BSD kernel nor the Linux kernel is supporting the video card. Now, that's not strictly true, particularly in some of the more esoteric reaches of 3D and DRI, which require more direct hardware ties and more grubbing in the kernel itself. Of course, I don't follow that, so I don't even know what the current state of the world is in FreeBSD, to say nothing of Linux. Maybe BSD doesn't have support on a par with Linux on that. Maybe it does. I dunno, and it'll probably change between the time I write this and the time you read it.

But most hardware is simple. Most common IDE and SCSI mass storage controllers work just fine. Even most RAID controllers are supported to some extent. Most network cards, wired and wireless, most sound cards, some crypto-assist cards...

But it is simple. You don't care what hardware the OS supports, as long as it supports what you have. Read the hardware support lists and/or just try booting it up. You might be surprised.

When in doubt, check the lists. Hardware support lists are available per-release, such as the lists for 5.2-RELEASE and for 4.9-RELEASE of FreeBSD.

Program Availability

"But Linux has more programs than BSD!"

How do you figure? Most of these "programs" you're so hot about are things that are open source or source-available anyway. If it's written reasonably portably, 95% or better of it will compile right off on any vaguely POSIX-compliant system. Heck, just look in the ports tree; there are over 10,000 programs and packages there.

Of course, there's a lot of software out there that won't compile on anything but Linux. Sometimes, that's because it really does require facilities that only Linux has, or does things that only matter on Linux. Sometimes, that means you need to pick up a 2x4 and go find the author, because they've put in something gratuitously imcompatible through malice or laziness. There are people who do the same with BSD, or with HP/UX, of course, but the rapidly growing Linux community, combined with the number of people writing programs who have with less experience in traditional software engineering, make it far more visible there.

Of course, there are some things that won't cross-build, particularly those that stick their fingers deep in implementation details. Some require only a little work to port, some major work, and some don't even have any meaning on other systems (When did anybody ever port Microsoft Defrag to Linux, f'rinstance?) But if it's useful, it's probably either ported, or there's some equivalent or counterpart available.

And then there's stuff that isn't source-available, but distributed only in binary. Netscape's browsers, Opera, some office programs, etc. Now, most of those listed have BSD versions available as well, but even so, FreeBSD in particular and (I believe) all the BSD's have a Linux emulation layer. It won't always do the trick, especially (as above) when something's grubbing around in deep implementation-specific details. But it works surprisingly often. I won't go into details, and it's not exactly "emulation", but often a Linux binary can just be picked up and run on a BSD system (at least between i386 systems). For more details, read about it in the handbook.

As a general rule: Look at the ports collection. Chances are, you'll find what you're looking for. And if not, there's probably something among those 10,000 other choices that will fit the bill.


"But Linux is more popular."

So? Windows is even more popular. Go use that.

Usually the popularity argument really means things like "It's easier to find support", or it ties into the program-availability issue above. But there are plenty of places and people providing commercial support for BSD, and the community on the various mailing lists and newsgroups is large and knowledgeable. Just as Linux users make the argument "Who needs to pay for support? Look what we can get for free!", the same applies on this side of the fence.


"BSD is hard to use, more advanced, more complicated, less user-friendly."

Well, how can I counter that? What about it is harder? It's different from Linux, sure, but so what? In many ways, I find it a lot more logical and easy to figure out. That's where all the effort and snobbery about consistency and cleanliness pays off. Linux is a lot "different" and "harder to use" and "more advanced" and "more complicated" and "less user-friendly" than Windows, too, remember. You just think it's not because you see through that to the increased power and flexibility that comes with learning a bit about it. BSD isn't any harder, it just requires thinking a little differently.

BSD has always considered it more important to let the advanced user do more, than to let the novice do more. The theory, of course, is that novices become advanced users very quickly (a year or two), while advanced users use the system for a long time (decades). So there's probably less "fluffy" handholding frontends built into the system. On the other hand, addon packages carry their own. If KDE has some sort of user-help or tutorial or whatever built into it (I don't know, I don't use it), it'll have it on BSD too, since KDE is KDE wherever you use it. So it's rarely as much of an issue as it sounds.


"BSD users are a bunch of elitist self-centered rude snobs."

Yup. And proud of it. :-)

You can't characterize a whole community in a phrase. There are plenty of people in the FreeBSD community who don't want to hear about your problem unless you've traced the source code yourself and found exactly where the problem is (and it better be a real problem, not stupid user error!). There are also lots of people in the FreeBSD community who'll jump out of their skins to help you on the simplest problem.

The 'RTFM'-type responses happen, of course. But they happen in the Linux community, too. Nobody's too fond of somebody asking a question that's point #4 in the FAQ which everybody's supposed to have read. The FreeBSD documentation covers a lot of topics, and in pretty thorough detail. Use it. And because the system is centrally developed, a lot of the documentation is also centrally developed and located, right there on the FreeBSD site.

Nobody wants to try and answer a question where the questioner isn't giving any useful information, either. And when you've answered the same question that's already in the docs a hundred times, and asked for the same extra information about a problem a hundred times, you tend to get rather curt about your responses the hundred and first. That doesn't make it a good thing, but every technical community deals with the same thing.

It's possible that BSD, due to its more technical and engineering background, ends up with elitism being more prevalent than in other communities. I'm not sure it really is; I think it's just more visible. One of the consequences of the more centralized development is that the end-users and the professional sysadmins and professional programmers and most of the system developers, all share the same "space". With Linux, you've got the linux-kernel mailing list, which is practically all developers. And just kernel developers and maintainers. The make and cron and locate and tar developers and maintainers have their own lists off somewhere else. There are very well segregated gathering areas like mailing lists, newsgroups, and web forums, for admins, for programmers, and for end-users.

In contrast, most FreeBSD stuff happens on either the freebsd-* mailing lists, or one of a few newsgroups. That's everything from users asking questions like "How do I get ppp working?", to developers saying, "I want to add a field to device_t". And it's not uncommon for inexperienced users to use the wrong mailing list for questions. Sure, you want to gently nudge them in the right direction, but frustrations build up. And some even take, "This is a development list, you want to ask that question on" as an "elitist" or unhelpful statement.

So, are BSD users elitist? Well, maybe. Maybe it was more prevalent years ago; reputations like that linger on long, long after their reasons for existing are history. Personally, I think the BSD elitism is just a lot more visible due to the much tighter community. Try getting a flood of people asking the linux-kernel list how to burn a CD-R or enable a feature in Apache; see how long it takes until you have "unhelpful elitism" charges coming up.

Are we there yet?

Well, that's a lot of stuff said. Let's try to wrap it up.

  1. Intro
  2. Dramatis Personae
  3. Design :: The Base System
  4. Design :: The Ports Tree
  5. Technical :: Releases
  6. Technical :: Upgrading
  7. Technical :: Ports
  8. Philosophy
  9. Myths
  10. Conclusion

PC Magazine - OS Alternatives

If the BSDs are so good, why aren't they making the headlines, as Linux is? The most important reason is cultural. Many Linux developers see themselves as software revolutionaries. But members of the academic community, where the BSDs have their roots, tended to focus more on results rather than getting the word out. The BSDs also have a dedicated following among system administrators and ISPs, who often prefer to treat their favorite BSD as a secret weapon rather than publicizing the fact that they are using the OS.

As a result, not many people realize that versions of BSD form the foundations of major Internet sites such as Yahoo! and also power highly reliable embedded systems such as the IBM InterJet Internet appliance and Maxtor's network storage servers. One of the BSDs-NetBSD-has the distinction of being the most portable operating system in the world, running on more than 64 different central processing units and hundreds of brands and models of computers.

New Architect

I switched to FreeBSD from Linux last year not because Linux isn't flexible enough, but because FreeBSD is richer and more mature. There are various flavors of BSD available. FreeBSD has remained consistent on i386 (meaning that it hasn't ported the OS to other platforms, for the most part), and now Alpha architectures. NetBSD has been ported to almost anything with a CPU. OpenBSD also has many ports to different architectures.

However, the main difference lies in its extensive code review. OpenBSD's team reviews all code, looking for possible exploits as well as any other userland exploits. OpenBSD has bragging rights in that it has had "three years without a remote hole in the default install!" This may not seem much of a feat, but compared to other OS default installs that have had serious holes on the system, this is quite impressive.

The reason I've stuck with FreeBSD is that, for the most part, it has very good support for Intel hardware. It lets me use many different types of hardware like RAID controllers and network cards. And FreeBSD also has good support for low level system calls, and a very large port tree.

I've also found that almost any program that runs on Linux will have a FreeBSD port available. If not, FreeBSD's Linux compat support lets me run many Linux programs almost natively. The Linux compat port or package must be installed-similar to emulation, but FreeBSD handles it rather differently. For more information, visit - Exploring the Future of Computing

Matt Dillon, not the famous actor but the kernel/VM FreeBSD hacker also well known for writting the Dice C compiler for the Amiga, is here with us today for an in-depth interview about everything regarding FreeBSD 5.0. This is the OS that all the techie people are waiting for and presenting it as the most advanced, technically-speaking, free OS of today. Additionally, we also include two mini interviews with Theo de Raadt, the OpenBSD founder, and Jun-ichiro "itojun" Hagino from the NetBSD Core Team.

Sys Admin Magazine Code Download -- Greetings from the BSD Super BOF

Thursday evening at the USENIX Annual Technical Conference in Boston brought what seemed like a lightning round of BSD-related Birds-of-a-Feather (BOF) sessions. There were presentations by all of the BSD's, including NetBSD, OpenBSD, FreeBSD, BSD/OS, and from an Apple representative talking about Mac OS X. The presentations were short but packed with lots of information, with most ending in a brief Q & A session.

Here are some of the bullet-by-bullet highlights....

The FreeBSD Browser

FreeBSD is a big system; a complete distribution contains more than 100,000 files. After a "make buildworld", this number jumps markedly. Consequently, it's essentially impossible for anyone to remember which files are related to each other, and why. So, we all find ourselves trying to remember (or find out) which files we should be examining.

Fortunately, FreeBSD provides a swath of powerful tools to assist us: apropos, grep, locate, ls, file, info, man, more, strings, whatis, which, ... Unfortunately, in order to find the information you need, you may have to issue quite a few commands. Worse, the needed information may not even be findable in this manner. Some things you "just have to know". Grump!

The FreeBSD Browser is the Meta Project's answer to this problem. It's a specialized "search engine" for information on FreeBSD. It can help you find directories, files, manual pages, papers, and other useful resources. It can also give you an easy way to help other FreeBSD users; if you think our database is missing a relevant link, just let us know!

At the risk of confusing the issue, however, we need to explain a bit of nomenclature. As useful as the browser is, it's actually just a "proof of concept" demonstration for the Meta Project. You can ignore this, with a little effort; when you see "Meta Demo", just think "FreeBSD Browser". Of course, if you find the browser useful, you are more than welcome to investigate further...

DaemonNews: A Readonly filesystem on Bootable CD
This article includes information about fstab setup, populating the memory file systems, changes to base installation, /etc/rc changes, creating an ISO image for CD writing, OpenBSD kernel configuration changes, setting up the boot image, making /bsd same on CD and boot floppy, writing the CD, and other things to change for using OpenBSD and FreeBSD from a CD.

FreeBSD Cook Book

How to Build a FreeBSD-STABLE firewall with IPFILTER

NTFS Driver For FreeBSD

Laptop Compatibility for FreeBSD

Recommended Links

Google matched content

Softpanorama Recommended

Top articles



.For New Users to FreeBSD & UNIX
2.Setting up NAMED (the DNS server)
3.Optimizing your FreeBSD System
4.Setting up NATD (also known as masquerading)
5.Setting up a Firewall
6.IP Aliasing on FreeBSD
7.Making the World Using CVSUP
8.Configuring FreeBSD As A Dialup Router/Gateway
9.Using FreeBSD With Other Operating Systems
10.Fonts for use with Syscons, X11, Ghostscript & Groff
11.Writing Device Drivers for FreeBSD
12.A Guide to FreeBSD's Programming Tools
13.Setting up NIS (yp)
14.Setting up Home Directory Mail Spooling
15.Setting up a DHCP Client
16.Setting up the NTFS Driver on 2.2.x.
17.Setting up PnP Sound Cards (AWE64, 32 & SB32, etc.)
18.Setting up an IOMEGA ZIP Drive
19.Setting up a DHCP Server
20.Networking a Pen Plotter on FreeBSD

Articles FreeBSD Basics [June 17, 2001]

FreeBSD Manpages

FreeBSD ManPages


Cross-references for FreeBSD

The FreeBSD Browser

FreeBSD is a big system; a complete distribution contains more than 100,000 files. After a "make buildworld", this number jumps markedly. Consequently, it's essentially impossible for anyone to remember which files are related to each other, and why. So, we all find ourselves trying to remember (or find out) which files we should be examining.

Fortunately, FreeBSD provides a swath of powerful tools to assist us: apropos, grep, locate, ls, file, info, man, more, strings, whatis, which, ... Unfortunately, in order to find the information you need, you may have to issue quite a few commands. Worse, the needed information may not even be findable in this manner. Some things you "just have to know". Grump!

The FreeBSD Browser is the Meta Project's answer to this problem. It's a specialized "search engine" for information on FreeBSD. It can help you find directories, files, manual pages, papers, and other useful resources. It can also give you an easy way to help other FreeBSD users; if you think our database is missing a relevant link, just let us know!

At the risk of confusing the issue, however, we need to explain a bit of nomenclature. As useful as the browser is, it's actually just a "proof of concept" demonstration for the Meta Project. You can ignore this, with a little effort; when you see "Meta Demo", just think "FreeBSD Browser". Of course, if you find the browser useful, you are more than welcome to investigate further...

User Groups

The FreeBSD Corporate Networker's Guide by Ted Mittelstaedt, Book reviews

4 of 5 stars A book you'll keep, February 11, 2001
Reviewer: Hermsdorff (see more about me) from Palo Alto, CA United States

Buy the FreeBSD CNG if you want to spend a week-end (and more) discovering and playing with FreeBSD. It's a nice deal for $49.95. It is also a useful acquisition for more fluent users who look for a book that consolidates information about where to find information about FreeBSD.

I admit it right away, I did not buy the book for the contents but rather for the FreeBSD 4.2 CD-ROM. A cheap way to get a recent release without downloading an obscene amount of data over Internet. An impulse act of consumerism some would say.

I'm not (read not at all) an expert in FreeBSD but I already installed and used it on various machines. So, I'm not the best person to tell whether or not you can use the FreeBSD CNG to start from scratch. But I would say yes because while reading some chapters, you clearly see that the author actually went through the stuff he's talking about.

If you reach a road block when installing and configuring FreeBSD you'll probably find a way to get out of the pit while browsing the book. The text is full of pointers which will guide you through the gory parts of a first FreeBSD installation, as well as future changes of configurations. Anyway, as the author says himself up front, read the online manuals and documentation (thank you for saying so). To which you must add that installing FreeBSD is simple compared to some others OSes which, supposedly, do all the things for you.

Although I don't think it is its primary goal, the FreeBSD CNG is a good compromise between the two other books about FreeBSD: "The Complete FreeBSD" (which starts with more basic stuff, slightly outdated but still a good introduction for the complete beginner) and the FreeBSD Handbook (which has no structure nor index and that you get online as well as on your system once it's running). If you're not fluent in basic UNIX, also buy a "good" UNIX administration handbook. My own cent: Unix System Administration Handbook Evi Nemeth and others, PH/PTR.

The FreeBSD CNG provides a good overview of what you can expect from FreeBSD. It goes beyond technical issues: history, advocacy, coexistence with Windows systems. Useful to System Administrators who want to introduce FreeBSD within a corporation.

It also provides some unexpected information (the speech about the ISPs for instance). You'll like it because, the author does not tell you how things are supposed to be but how they are. There are many tidbits you can reuse in front of people for showing off (but don't do it because you never know who you're talking to). In addition, the author does it without controversy (if you like controversy, go to

The FreeBSD CNG covers a lot of ground (always a challenge). The author does it well. If you buy and read this book, you will want to use FreeBSD. As the French say "l'essayer c'est l'adopter".

Slashdot The FreeBSD Corporate Networker's Guide

A more useful review (hopefully) . . . (Score:1)
by tdm8 ( on Wednesday February 14, @07:53PM EST (#112)
(User #25283 Info)
As others have said, this review doesn't give any feel for the book or its value to readers.

The first thing that impressed me with this book is the included CD with FreeBSD 4.2. The FreeBSD site lists a release date of 22-Nov-2000, so I was very impressed to receive this version in a book purchased in January 2001.

The author advises how to use FreeBSD as a replacement to Windows servers in a number of areas, including:

Internet connection sharing
Web serving
E-mail server

Working as a consultant for small companies without a full-time MIS person, I've found these needs to be the most common as well.

The author does an excellent job not only of explaining how to get the FreeBSD server running, but also tells how to configure the clients. Instructions for setting up networking on DOS, Win 3.1, Win95/98/Me and NT are given. I got the sense that the author was out there working in the same types of places his readers are.

The author also gives good advice on installing FreeBSD. He suggests just doing a standard install initially, because you're not going to know exactly which components you'll need. A more fine-tuned install can be done later. He also recommends compiling the kernel on the server. Even if you don't need a custom kernel (and, he says, most don't), it's a good test of your hardware. A PC that can't correctly compile the standard kernel isn't reliable enough to be used as a server.

As for the author's section on FreeBSD Advocacy, it will hardly shock or offend anyone who's skimmed through comments of a Slashdot article about Microsoft. He simply says that he believes FreeBSD is technically superior to other OSes. And although other OSes have their place, he'd recommend using FreeBSD in many cases. I don't have any problem with an author taking some space to make the case for using certain software on technical or philosophical grounds, especially when the chapter is titled "FreeBSD Advocacy".

This book comes up very strong in an area where other books fail: practical advice. Sure, each chapter's subject has entire books devoted to it, but the average person isn't going to need them early on. With this book, the reader can, for example, get to the point where the documentation included with Samba makes more sense.

I'd definitely recommend the book for those who are serving companies where the $800 NT server license, plus the cost of Client Access Licenses, is not small change. And if FreeBSD turns out to be more manageable and reliable as well, that's gravy.

Re:Linux Drowns Out FreeBSD Documentation on the W (Score:2)
by dcs ( on Thursday February 15, @01:13AM EST (#116)
(User #42578 Info)
> There is no documentation anywhere to tell you
> that you need to read the ata(4) man page to
> find out about the disk driver

First, the handbook will clearly indicate that ata is the driver for ATA devices (duh!). Second, it shows so on the boot messages, which can be reviewed with dmesg(1) if needed. You want to know about udma on your drives, right?

/d/home/dcs$ apropos udma drive
(enourmous list of various drivers, among which:)
ata(4), acd(4), ad(4), afd(4), ast(4) - Generic ATA/ATAPI disk controller driver

The list is rather big, but if you failed to avail yourself of both handbook and boot messages to find out what driver is being used...

Next, you wanted to know about vga modes on the console, right?

/d/home/dcs$ apropos vga console
loadfont(1) - is used to load fonts into EGA or VGA boards for use by the 'pcvt'
video driver
vga(4) - generic video card interface
kbdcontrol(1) - a utility for manipulating the syscons console driver
moused(8) - pass mouse data to the console driver
pcvt(4), vt(4) - PC console virtual screen system
speaker(4), spkr(4) - console speaker device driver
syscons(4), sc(4) - the console driver
vidcontrol(1) - a utility for manipulating the syscons console driver

Which is pretty much what you want.


Byte Column Linux 2.4 vs FreeBSD 4.1.1 For Servers Linux 2.4 vs. FreeBSD 4.1.1 January 30, 2001

Now that we finally have the new 2.4 Linux kernel, many penguinistas are sure the FreeBSD cousins will finally stop making fun of them. They had been doing so for a while because, admittedly, FreeBSD has had superior kernel design in areas like virtual memory manager (VM) and networking.

In fact, some of the world's busiest websites, such as Yahoo and, are relying on FreeBSD to manage the huge load their servers endure day in and day out.

Walnut Creek CDROM runs its FTP server, which is the world's largest and busiest, on FreeBSD. The Walnut Creek server downloads 750 GB a day and can maintain 3,600 simultaneous connections on a single 200-MHz Pentium Pro machine with 1-GB RAM and 500 GBs of RAID storage.

Walnut Creek is currently owned by BSDi, but its use of FreeBSD predates this by many years.

This is not to say that Linux, in its recent 2.2 incarnation was not a good server OS. In fact, in my columns here I have often stated the contrary. However, it is certainly true that FreeBSD has often been the first choice for Internet servers needing high reliability and optimal performance under heavy load conditions

... ... ...

The first pleasant surprise upon booting FreeBSD is the speed at which it does so. Even with all services (such as Apache, Bind, Samba, etc.) enabled it boots in half the time it takes to boot Linux on the same machine.

Boardwatch - Unix Flavor CountryRUNNING LINUX PROGRAMS ON FREEBSD Yes, Your BSD Can Run Oracle and Quake

by Jeffrey Carl Boardwatch Magazine

Author's Note: Much of the information on the inner workings of Linux compatibility came from information and suggestions graciously provided by Terry Lambert (

Even though many server admins prefer BSD Unix, there's no denying that Linux is "where it's at" for third-party software development. So, what's a BSD admin to do?

In the bygone misty past of Unix (in the era historians call the 80s), acceptance and market share were hampered by the diverging standards that forced application developers to write for only one version of Unix. This (as the youngsters today say) really sucked. Fortunately, however, thetide has turned in favor of compatibility among the many *nixes.

To commercial software vendors, market share is everything. As such, if *BSD forced Linux vendors to develop for their OSes, it would be like your average Unix sysadmin saying, "If Cindy Crawford wants to go out, she can call me."

Fortunately, Jordan Hubbard of FreeBSD pointed out that Linux' API is becoming the default for third-party developers (independent software vendors, or ISVs) to develop for free *nixes. Therefore, it's better for BSD users to accept the Linux ABI (application binary interface) rather than making ISVs choose between Linux and BSD. This, in my opinion, is a very pragmatic and wise attitude.

FreeBSD, NetBSD and OpenBSD all include options to allow Linux binaries to run on their systems (at least for the Intel x86 architecture; on other architectures, your mileage may vary). For OpenBSD and NetBSD, you can check your system documentation or see their respective Web sites ( and For the purpose of this article, I'll look at Linux binary compatibility on FreeBSD for x86.

Under FreeBSD, Linux binary compatibility is managed by creating a "shadow" Linux file system with the requisite programs and libraries, and rerouting the Linux program's system calls into this file system. These libraries then deal with Linux system calls embedded into the FreeBSD kernel.

O'Reilly Network: OpenBSD as a Database Server

(Oct 22, 2000, 13:37 UTC) (26 reads) (0 talkbacks) (Posted by marty)
"Although I in no way purport OpenBSD as an enterprise database server (yet!), capacity exists for this."

osOpinion: Dancing with the Devil: FreeBSD 4.1 .

I've loved FreeBSD since the first moment I saw that devilish logo. I remember running FreeBSD 2.2 during my sophomore year at Georgia Tech on my trusty Cyrix P120 "rebel" box. The OS has always impressed me with its stunning performance and infallible stability. Of course, times change and for numerous reasons I've been running Windows 2000 lately. The other day I noticed that FreeBSD 4.1 had been released, so I thought I would give it a whirl on my spare hard drive and write a little review... The install of FreeBSD 4.1 is the same as it ever was. I actually quite like the install program. Any one with a little knowledge of PC hardware should have no problem installing FreeBSD. One aspect of FreeBSD 4.1, which really impressed me, was the support for the Highpoint HPT366 Ultra 66 controller I have built into my BP-6 mainboard. Not only did FreeBSD recognize this device with no problems, it allowed me to install and boot from it. Kudos to the FreeBSD team for taming this nasty device. After I got everything installed, I discovered that the default kernel did not have SMP support. I set out to remedy this situation and compile a new kernel. The kernel configuration was easy enough. I simply had to edit a text configuration file and then run a couple of commands to compile and install the kernel. Of course, the fist time I tried to compile the kernel, I was met with a series of errors. After taking another look at the configuration file and fixing a few mistakes, the kernel compiled successfully. I crossed my fingers, rebooted, and was excited to find a fully functional SMP kernel. Woohoo! At this point I went about the arduous task of configuring a window manager. I tried Window Maker, Gnome, and KDE. Each had its merits, but I find that none of them really gets the job done well. Alas, the problems with Unix had started to surface.

Slashdot Articles Clearing up FreeBSD confusion

You intentially miss quoted him by saying that "Linux is a FreeBSD clone," as he really said "in "many ways, Linux is a FreeBSD clone." Ok, so maybe he should have said BSD clone, and he would have been closer to the truth. Linux is a UNIX clone, and BSD was origionally a UNIX Operating System. Even stripped of AT&T code, Linux has included and imbedded BSD code, tweaked, many on both sides claim have re-liscensed it, etc. That does not mean Linux tries to be a clone of the OS, as if one is trying to make an OpenSource version of windows. What he means, in my opinion, is Linux is closer to a clone then FreeBSD is to Linux due entirely because Linux has used *BSD code, and many still believe FreeBSD is UNIX, whether it has AT&T's code or not. (And NO!, BSD has used GPL'd code, somo from GNU. That is not 'Linux' code, that is GNU and/or GPL'ed code.)

You just have to look past the FUD. Dos/Windows users did the same against Apple, and I'm sure for those of you who even know DOS (many I've met do not), you may remember this. I remember one user claiming the MacOS was weaker then DOS because it had no autoexec.bat and config.sys. Does that make any sense? Before you answer yes or no, you could say that to Linux, any UNIX, any other non-DOS based OS. There's other methods of adding drivers, automating asks on boot, for ever sufficent OS. Who cares what they call it? It's how they do it that's at all significant. DOS users attacked Apple, Windows users attacked Apple, Linux users attacked Microsoft/Windows/UNIX/BSD, Apple users attacked Microsoft/Windows/DOS, *BSD users attacked (I'm assuming at least a couple on the first) Apple/DOS/Linux/UNIX. Were even, all of our communities have attacked and *tried* to hurt and degrade other users. Fine. Live with it. Read between the lines. Say 'attacking FUD with FUD *isn't* cool.' Live, and try to be fair.

Perhaps you should learn to read: "The Linux mindset can often be characterized as 'code exists, throw it into the distribution.'...FreeBSD is far more conservative.... Code is also only added if it is of high quality and after lengthy testing... I also know that my workstation will not crash after my next upgrade. " "Some FreeBSD users may indeed be jealous. But many are simply curious about why a new user would choose Linux over FreeBSD, despite FreeBSD's technical superiority."[italics mine]

BSD UNIX has worked in the Internet's kitchen for years, quietly running systems, schlepping mail, and serving hundreds of millions of web pages a day. BSD resembles Jeeves the butler; always there when you need it, invisible when you don't.

BSD comes in five major versions, four open-sourced. FreeBSD is the most popular, and concentrates on supporting "popular" hardware such as the X86 and Alpha platforms. NetBSD runs on everything from ancient PDPs to iMacs to Windows CE machines; while NetBSD runs on more platforms than any other OS, the developers won't be happy until it runs on everything. OpenBSD's claim to fame is a line-by-line security audit of the BSD source code, fixing any possible bug before an exploit is discovered. BSD/OS is the closed-source version, and is intended for heavy commercial use. Last is Darwin, the core of Apple's OS X.

The last few months have seen dramatic shakeups in the BSD community. Some will impact millions of users, while others will affect only those in the IT industry.

The most publicized change has been the merger of BSD, Inc. (BSDi), with Walnut Creek CDROM. BSDi made BSD/OS. Walnut Creek CDROM was the major sponsor of FreeBSD. The combined BSDI is donating large chunks of BSD/OS code to FreeBSD, and backing continued FreeBSD development on a vastly increased scale. BSDI will make their money on consulting and support.

Because of the extremely liberal terms of the FreeBSD license, this code will be available to everyone in the world to use as they see fit. Groups and companies as diverse as Linux and Microsoft will be free to use this code in their own products. While the other open-source BSDs, NetBSD and OpenBSD, will probably be the first to realize the benefits, the code will quickly escape into the rest of the world.

The other big story of the last twelve months has been OS X. Apple's OS X for Macintosh consists of proprietary Apple tools running on a mixed FreeBSD/NetBSD core, all over a Mach kernel. In addition to the Apple APIs, OS X will offer the traditional BSD UNIX API. While it won't ship with a shell, a user would be able to drop a shell binary on his system and it would work.

OS X will be the first UNIX system aimed squarely at consumers, and it's going after a market that traditionally hasn't been interested in command-line operating systems. Experienced UNIX administrators will have reason to put Macintoshes on user desktops. And millions of users will have a stable, multitasking desktop operating system that ekes every bit of performance out of their hardware.

Apple is also donating some code back to the BSD community, via FreeBSD.

Despite all this good news, BSD has its problems. One of the biggest problems is the eternal lack of resources. For an operating system developer to write software to support a device, he needs that device and the documentation for it. Hardware is expensive. Certain documentation (i.e., PCMCIA standards) is even more expensive. All three non-commercial open-source BSDs spend thousands of donated dollars on hardware. While BSDI will support FreeBSD, one of the strengths of the BSD model is the different implementations each branch uses.

At times, resource shortages can be critical. OpenBSD has announced that unless someone donates reasonably up-to-date Alpha hardware to their project, their next release won't support Alphas. Neither NetBSD nor FreeBSD is dropping support for any platforms, but they'd rather receive donated hardware and spend their gaunt budgets on development and infrastructure.

Other problems are more political. BSDI has developed many technologies that other BSD groups would love to get their hands on, such as lockd/statd and fine-grained SMP support. Some of their technologies suffer under non-disclosure agreements, and cannot be open-sourced. Of what's left, there's the whole question of what to release, and in what order? A massive dump of BSD/OS source code would result in small groups of developers working on their favorite bits. By releasing components more slowly, they concentrate developers where they're needed and shorten the time to workable code. Today, work is proceeding on integrating BSD/OS' fine-grained SMP into FreeBSD. This will give each interrupt its own kernel thread, eliminate SPLs, and generally send performance through the roof.

By far, though, the biggest problem BSD faces is publicity. Those who know BSD love it. Those unfamiliar with it wonder if it's a version of Linux, or if it runs on Windows NT. BSD has a long way to go to gain public acclaim. BSD developers are excellent programmers, but not necessarily good at public relations. In the past, BSD has been known more for its conflicts and personality problems than for its technical excellence.

Those conflicts are largely a thing of the past. Community projects such as Daemonnews ( have worked for some time to promote cooperation between the open-source groups. The AT&T lawsuit is ancient history. Today, BSD groups are more interested in promoting themselves than in arguing. This cooperation has shown itself in a variety of ways. FreeBSD's "newbus" architecture is taken from NetBSD, which allows NetBSD to use FreeBSD device drivers. This cooperation will only benefit BSD users, no matter which version they use. When Apple gets ready to roll OS XI, they'll find an improved BSD infrastructure to work on top of.

The various BSD groups are also interested in convincing more corporate users to donate code back to them. Companies that use BSD can earn a great deal of goodwill by donating code back to their preferred BSD shortly before a free substitute becomes available. They prevent duplicated effort, and get valuable publicity out of nearly-obsolescent code. Even IBM donates code to BSD in this manner, through its Whistle Interjet subsidiary.

BSD is also making great strides in the embedded marketplace. If a company or individual wants to distribute a modified version of Linux, the Linux license requires them to release the source code for the modifications to the public. This requirement is too harsh for some companies. Other embedded OSs charge a fee for every unit shipped. The BSD license allows anyone to use BSD for anything, without restrictions or fees of any sort. Companies as diverse as Nokia and Intel are finding that BSD meets their needs perfectly.

The future looks nothing but rosy. FreeBSD, NetBSD, OpenBSD, OS X, and BSD/OS are all gaining developers and contributors, and the installed base is constantly increasing.

Each BSD group has its own vision of the future. NetBSD, the ultra-portable version, sees itself running on more and more platforms. FreeBSD is improving its support for popular hardware. OpenBSD delves further into constructive paranoia. BSD/OS will focus on supporting proprietary, NDA'd hardware. And Apple is simply using BSD to build the best possible user desktop.

BSD can be found in anything from network appliances to photocopiers. You probably use BSD today, and don't even know it. That's not bad for an operating system nobody's heard of.

RIDING THE WEB WAVE -- FreeBSD is a relatively unknown operating system playing big role on Internet

Name an operating system that's distributed free, maintained by a far-flung network of mostly unpaid enthusiasts and relied upon by a growing number of Internet service providers and Web sites. Chances are you guessed Linux. After all, that OS has become almost a household word in recent years, as it has evolved from geek plaything to Internet workhorse and even (until a few months ago) Wall Street darling.

But Linux wasn't the first freely distributed OS, nor is it the only one that's caught the Internet wave. An alternative called FreeBSD and other members of the Unix-derived BSD family arguably play a more central role on the Internet, even though the general public has little awareness of them.

The FreeBSD customer roster includes such Internet powerhouses as Yahoo, the most heavily trafficked site on the Web; Microsoft's Hotmail, the world's largest e-mail services; MCI WorldCom's UUNet, a giant

provider of Internet services to businesses and to consumer ISPs; MindSpring, a national ISP that last year ranked No. 1 in customer satisfaction according to J.D. Power and Associates; and Verio, a company that says it hosts more than 300,000 Web sites in 170 countries.

Yahoo has been relying on FreeBSD since 1995, according to co-founder and Chief Yahoo David Filo. Today, the company has ``well over 1,000'' servers, and about 90 percent of them run the free OS, he said; the only exceptions are machines Yahoo picked up by acquiring other companies (most of which will be shifted to FreeBSD eventually) and a handful running applications that require other operating systems.

``When we started,'' Filo explained, ``it offered more stability and better performance than anything else we could find, and it's continued to perform well in those two departments. It's a system that has always worked for us, and it looks like it's only going to get better over time.''

So convinced of FreeBSD's merits are Filo and his fellow Yahoos that they've recently put some of their riches behind an effort to raise its previously modest profile. In March, Yahoo took an unspecified equity stake in Berkeley Software Design Inc. (BSDI), a Colorado Springs, Colo., company that markets a commercial version of BSD called BSD/OS.

The investment helped BSDI buy Walnut Creek CDROM, the leading distributor of FreeBSD, and arrange another acquisition that will be announced within six weeks, according to BSDI spokesman Kevin Rose.

While it will continue to improve and market its commercial OS, the beefed-up company also has big plans for the free version: Like Red Hat, Caldera Systems and other companies that have grown large by providing added-value services to Linux customers, BSDI plans to offer professional support, consulting and custom development for users of FreeBSD.

The 9-year-old company, which already has more than 100 employees and is profitable, also plans to raise additional funds from venture capitalists to fuel its new ambitions, according to Rose.

Along with Yahoo, the biggest feather in FreeBSD's cap has to be Hotmail. After all, Microsoft touts its own heavy-duty OSes, Windows NT and now Windows 2000, as alternatives to Unix, yet it continues to rely on FreeBSD to manage the mail of Hotmail's 66 million users.

In a revealing message explaining why it hasn't switched to its home- grown systems, product manager Sarah Lefko said Microsoft is ``committed to providing a stable and high-quality user experience for Hotmail.''

While the company does plan to switch to Windows 2000 servers eventually, Lefko noted that such a massive migration can't happen ``overnight.'' She didn't explain why the process hasn't even begun yet, even though there have been approximately 880 ``overnights'' since the company acquired Hotmail at the end of 1997. Along with FreeBSD and the commercial BSD/OS, the family includes two other major free versions, NetBSD and OpenBSD, plus some smaller variants. No one knows for sure how many users the free versions have, and Stephan Somogyi, a BSD watcher who works as director of strategic development at a San Francisco startup called Flying Packets, says, ``I'd distrust anyone who says they have hard numbers,'' since users can make unlimited copies of the free versions.

BSDI, however, estimates that more than 100,000 commercial sites run one or another BSD variant on some 2 million servers. A survey of major national Internet carriers conducted last fall by Infonetics, a San Jose market research company, found that roughly three-quarters of these companies' servers ran some form of Unix, and of these, 15 percent used FreeBSD and 5 percent used the commercial BSD/OS. By contrast, Sun's Solaris was installed on 45 percent of the Unix servers, but the much-hyped Linux had only a 9 percent share.

On the other hand, by next fall, the companies Infonetics surveyed expect to have Linux on 18 percent of their servers and Solaris on 47 percent; FreeBSD's share is projected to drop to 13 percent.

And a separate survey of smaller service providers, completed by Infonetics in March, gave Linux a current share of 41 percent of Unix servers, compared to 26 percent for Solaris, 15 percent for the older, BSD-based SunOS, 8 percent for FreeBSD and 5 percent for BSD/ OS. That study also projected that FreeBSD's share would increase by a quarter, to 10 percent, over the next year.

The BSD camp will also get an indirect boost over the next year as Apple rolls out its next-generation operating system, Mac OS X. That product is derived from Steve Jobs' old NeXTstep system and, like NeXTstep, it incorporates a ``layer''' of BSD software, mainly from the FreeBSD version.

Not everyone is convinced that the BSD camp's prospects are bright, considering the momentum and ``mind share'' Linux has acquired and the marketing muscle Microsoft and Sun can put behind their commercial offerings. Daniel Kusnetzky, vice president of system software research at International Data Corp., is among the skeptics. BSD's supporters, he said, ``really have a challenge ahead of them,'' because their OS is largely unknown to the information-technology staff at most corporations.

``If they don't know about something,'' Kusnetzky said, ``they won't consider it, and if they won't consider it, they won't buy it.''

BSDI's Rose, however, is undaunted. Comparing the BSD family to Linux and even commercial competitors, he said, ``We think we have a product that's more reliable, scalable and robust for high-performance, infrastructure-grade computing.''

Yahoo's Filo agrees, noting that his company recently started rolling out the latest version of FreeBSD, 4.0. Despite all the competition it faces, he said, ``it seems to have plenty of momentum.''

``Open source for us has been such a huge benefit, I can't imagine us moving to a proprietary system,'' he said. ``The only other alternative is Linux, and I don't see much reason to do that at this point. As long as FreeBSD continues to give us what we need, there's no reason to move.''


ZDNet: eWEEK: The other open-source OS: FreeBSD

Random Findings




Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright © 1996-2020 by Softpanorama Society. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 12, 2019