FreeBSD Server Setup
Aug 19th, 2007 by abbot
“As our circle of knowledge expands, so does the circumference of darkness surrounding it.” — Albert Einstein

A friend’s father once talked about the circle of knowledge. He explained how inside the circle is what we know. Outside the circle is what we do not know. The circumference of the circle is knowledge of what we do not know. The greater our knowledge, the more we realize how little we know and the more humbled we are.
I spent some time this weekend setting up a server with FreeBSD. It has been a long time since I setup a BSD system. I was impressed with FreeBSD. I also found out that I have alot to learn. As I bring the weekend to and end, I wanted to make note of some interesting pieces of information and link to some sites I found particularly helpful.
Just as O’Reilly will assign animals to the covers of their books, operating systems have mascots. With FreeBSD, it is Beastie. He is not a devil. He’s a daemon. No relation to Matt Damon, though I can see how one would get them confused. Just as one might confuse a daemon with a demon. There is no evil intent nor desire to make anyone of religious faith uncomfortable. Daemons in the UNIX world are the background processes that handle automated tasks for the operating system. Daemons are quite helpful. Demons are not. Matt Damon, I’ll leave it to you to decide for yourself. While some friends did go to see “The Bourne Ultimatum“, I did not join them. I was too busy setting up this system. Some even claim Beastie’s trident, or fork, is in reference to the ability of the operating system to fork new processes. In the UNIX world, fork means the ability to create carbon copies of running processes so as to handle new requests.
As for the difference between Linux and BSD, I direct you to Matthew D. Fuller posting BSD vs Linux. Matt quotes a explanation of the difference between the two systems:
BSD is what you get when a bunch of Unix hackers sit down to try to port a Unix system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a Unix system for the PC.
I started off on BSD systems. Coming back to FreeBSD, is like coming back to your home town. Of course, you left your home town many years ago. All the streets seem different, you don’t recognize anyone, and most things really have changed. Yet, there is something that just feels right. Now I actually could talk about the history and many of the differences between UNIX and Linux, but I am trying to get to sleep. Plus, Matt has done a great job.
If you want to know the difference between Mac OS X and FreeBSD, please read the posting of Amit Singh, “What is Mac OS X?” As I have mentioned in the past, Amit Singh has a great book, Mac OS X Internals. The book describes the architecture and design of Apple’s operating system. If you do not have enough time to read a book, go over to IT Conversations and listen to Mr. Singh discuss Mac OS X Internals. Mr. Singh’s personal website is over at kernelthread.com.
User nslay posted a good tutorial on installing FreeBSD 6.0 titled “My guide to installing FreeBSD 6.0.” Now I had read some performance measurements between FeeBSD 6.x and 7, and wanted to try out 7. A performance test involving BIND done by Kris Kennaway found FreeBSD 7 had a 60% higher peak performance. Kris has also done a very interesting presentation comparing FreeBSD 4.x, 5.x, and 6.x titled “Filesystem Performance on FreeBSD.” Chris Buechler, in relation to the pfSense firewall/server platform compared performance on a blog titled “Network Performance Update.” Chris wrote:
m0n0wall 1.2 still makes us look silly (1.5 times as fast), but that’s to be expected with its FreeBSD 4.x base. FreeBSD 6.2 has closed that gap considerably from the disaster that was FreeBSD 5.x, and FreeBSD 7 looks to draw nearer to 4.x performance. Note that I’m strictly talking about single processor machines, SMP systems are a much different story, but I won’t comment on those until I get a chance to do some testing.
I decided not to use FreeBSD 7 after the installation disk failed to recognize my keyboard while attempting to select my country. Right now, stability is more important than speed. I need to see things work. I figured I could always upgrade from FreeBSD 6.2 to 7 if performance proves a problem. By the time I do that, FreeBSD 7 might be more stable. Ralf S. Engelschall has written a nice paper, “Upgrading from FreeBSD 6.X to FreeBSD 7.X.”
FreeBSD 7 looks like it will be a very nice operating system. Ivan Voras is maintaining an informative site where he posted “What’s cooking for FreeBSD 7.” Ivan has also done work on a Live CD for FreeBSD 7. In relation to that work, Ivan wrote after experiencing almost daily kernel panics, ” It looks like 7.0 will need some polishing before release.”
Richard Bejtlich, as usual, has done a great job of posting “Essential FreeBSD Ports.” Ports provide a way to compile software directly from the source. It does this in a regimented, structured, automated procedure that ensures the safety and integrity of the software being installed while allowing the source to be downloaded directly from each program’s distribution site. One piece of software I particularly like is portaudit. This software provides a system to check if installed ports are listed in a database of published security vulnerabilities.
As FreeBSD expands my circle of knowledge, I’ll do my best to share what I learn on this site.