Linked by Thom Holwerda on Wed 30th May 2007 20:48 UTC, submitted by dolores
Permalink for comment 244251
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.





Member since:
2006-10-08
"Ok if you want to see a couple screenshots or if you've never seen or heard of FreeBSD."
Judging about an OS from screenshots... :-) In fact, some FreeBSD boxed don't even have a screen.
I'd like to comment on some passages from the article, please forgive me, but I cannot resist.
[...] rather the sysctl command shows all the information about the hardware devices attached to the system and can also be used for configuring and tuning them."
This is not completely true. First, the pciconf command, usually "pciconf -lv | less" is your friend here. Furthermore, kldload and the modules are used to activate hardware that does not have the proper driver included in the kernel (in which case the driver would be loaded by default at startup).
On FreeBSD the startup scripts exist in the /etc/rc.d/ directory (for the system) and in the /usr/local/etc/rc.d/ directory (for third-party applications). These scripts use parameters such as start or stop to control which scripts run at startup (start and reboot) and shutdown.
This is correct, but I'd like to mention that FreeBSD does not have runlevels. Single user mode can commanded by "shutdown now" from multi user mode, or "boot -s" at startup. The scripts in the directories mentioned above are executed by the /etc/rc mechanism. Keywords indicate the precedence and the start order (REQUIRES, PROVIDES). Some of them do not only know "start" and "stop" parameter, "status" and "restart" are also available.
According to FreeBSD's ports:
In FreeBSD terminology a port is a collection of files designed to automate the process of compiling a software application from source code.
Ports do not only install software, they can do a lot more, such as searching ("make search name=foo"), updating ("make update"), packaging ("make package"), de- / reinstalling ("make deinstall", "make reinstall"), and of course some addidional stuff such as "make extract", "make patch" or "make clean". An additional Makefile.local can be used to tweak compiling parameters and options (fine for mplayer).
FreeBSD's standard shell is the C shell which is able to do completition ("set autolist") and can be made looking useful with the usual UNIX prompt (set promptchars = "%#", set prompt = "%n@%m:%~%# ")
The Bourne shell (/bin/sh) does belong to the standard installation of FreeBSD, this is important because most scripts are sh scripts (rather than bash scripts).
About installation:
Allocate disk space and install a boot manager: FreeBSD uses slices to divide a hard drive.
Inside these slices (which would be called "primary partitions" elsewhere), FreeBSD usually organizes its partitions to contain the root directory, swap, tmp, var, usr and home file systems. All of them are "inside" a slice by default.
[...] you must create a slice for FreeBSD. This slice will have four partitions:
1. Partition a for root filesystem.
2. Partition b for swap area.
3. Partition e for /var filesystem.
4. Partition f for /usr filesystem.
There is an "auto" function to create them. You're welcome to create some more, because you can see there's no home entry in the list above. You're free to symlink /home = /usr/home (or even /tmp = /usr/tmp), but a bit of diversion gives you advantages, such as easy dump & restore or the ability to tweak file system parameters for the different partitions.
For example, you could create something like this:
/dev/ad0s1a = /
/dev/ad0s1b = swap
/dev/ad0s1e = /tmp
/dev/ad0s1f = /var
/dev/ad0s1g = /usr
/dev/ad0s1h = /home
But I'd like to make you aware of a disadvantage: You cannot change partition sizes very easily. So, if your /usr runs out of space... or /home is full... you see?
The size of each partition depends on the size of your hard drive: you can assign space for each partition at your convenience (space is not much of a problem in modern PCs that usually have hard drives with 80GB or more).
You can press PF1 in the sysinstall menu in order to get help setting good values for the partitions. There are some recommendations (such as swap = 2 x max. RAM), but most values are defined by your own preferences and usage intentions.
If you only want to use FreeBSD as a base for KDE or Gnome, you don't need to touch the OS too much. To make the default CLI tools behaving a lot more comfortable, you need to tweak some files. But describing this would be too much for the article which just gives a short overview and does not go into detail very much.
FreeBSD is a high quality OS with an excellent documentation (man, handbook, howtos) and advanced features, and it's a joy to use. I must know it, I'm using it on a daily basis since 1998. :-)
One important note at the end: FreeBSD is an OS, it's not a distribution like the many Linusi that do come with the Linux kernel, the GNU userland and a graphical environment (usually KDE or Gnome), along with the usual applications. You're free to install them all on FreeBSD, but they're not included with the OS by default. You can even run the Linux applications on FreeBSD, if you like (thanks to FreeBSD's Linux ABI).
My resumee for the article: Nice comparison. Not much substance, but nice.