I’ve been using computers since I was quite young and have been using Unixlike OSes for about two years. Most of my life I’ve used Macs and only started using Windows and Unixlike OSes recently for programming. I’m good at learning OSes as long as they are documented. I’ve been using FreeBSD for about a year and a half.
I built the computer I am using myself. It has a Asus A7V266-E motherboard, Athlon XP1900+ CPU, 512 MB DDR 2100 ram, Matrox G400 video card, Asus 52x cdrom, Teac floppy drive, Western Digital 40GB hard drive, Hauppauge WinTV Radio tv card, Jaton Explorer V.90 Ex external serial modem, ps2 oem Logitech optical mouse, ps2 Happy Hacking keyboard, and a G75F ViewSonic CRT monitor.
FreeBSD can be compared to the less user friendly versions of Linux. Popular distributions of that style being Debian and Slackware. Unlike SuSE or Redhat the time spent configuring and installing programs after the installation is likely much longer then the installation itself. In my experience this period is made pretty easy because of the great documentation in the handbook.
Like Slackware and Debian the installer is console based. The program is
called sysinstall. It is used for the partitioning and installation of the
base packages. It also can be used for configuring the network, mouse, X,
security profiles, KDE and Gnome installation, adding new users. Most of it is
pretty straight forward but I find it easier to configure X and the network
outside of sysinstall.
After the main installation I have several things to do before its in working
order. I have to configure X. Since the version of X didn’t change between
4.8 and 4.9 I just reused my old XF86Config. I also reused my old ppp.conf. I
use cvsup to get 4.9 stable and current ports. Edit rc.conf to turn off the
servers I don’t use. I also turn on APM support.
sendmail_enable="NONE" apm_enable="YES"
I compile the world if there was any changes from 4.9 release to 4.9 stable.
Then compile the kernel adding support for hardware I have and removing support
for things I don’t have. Its all documented pretty well but was lot of work
the first time I did it.
cvsuping in FreeBSD can be compared to Redhat’s up2date or SuSE’s YaST online
update. While its mostly automated there are some text files I need to edit
before hand. I also need to make sure to have cvsup actually installed. In
the /usr/share/examples/cvsup/ directory there are files called stable-supfile
and ports-supfile. I already have copies of those that I’ve edited to add the
server I want to use.
*default host=cvsup.jp.FreeBSD.org
and to set the version I want to get to 4.9 stable.
*default release=cvs tag=RELENG_4_9
I only have to set the server in the ports cvsup file. Then I change to to
root and run cvsup on those files. How long it takes to cvsup depends on how
much has actually changed. I use dialup and the time is usually 5-20 minutes
to get a release’s stable. 5 minutes is when nothing has changed. Ports are
changed more and can take much longer. I’ve messed up editing the stable file
before by setting the release to a tag that doesn’t exist. I noticed when I
saw all the source being deleted. It was easy reinstall the source but it was
still annoying.
There is actually a difference between 4.9 stable and 4.x stable that isn’t
very clear. When I’ve read about people updating to stable is usually 4.x
stable, RELENG_4. Which isn’t really stable at the moment because its where
the 4.x development goes before being heavily tested. 4.9 stable, RELENG_4_9,
is only updated with security and bug fixes. Current, RELENG_5, is much
different then stable and is where most of the new development is done.
Compiling world is a simple process that takes up quite a bit of time. Its
consists of compiling all of the userland and the kernel and having them
replace the existing userland and kernel. Userland is all of the base programs
in FreeBSD like ls or top. There are detailed directions in the handbook. I
delete the content of the /usr/obj directory and go to the /usr/src directory
and type
make buildworld make buildkernel make installkernel make installworld
with large amounts of time spent in between those commands waiting for things
to compile and install. If I was on a busy system I’d go to single user mode
before installing the kernel and world. I wouldn’t want to be using things that
are being written over and because it would make the process go faster. If I
ever cvsuped to stable or current instead of just 4.9 stable I’d have to worry
about the changes in the release being stable and tested. I’d also use the
program called mergemaster to combine changes made in configuration files like
make.conf and rc.conf. I haven’t been adventurous enough to try stable or
current yet.
To compile the kernel first I have to do some text editing then compiling. In the /usr/src/sys/i386/conf/ directory there is a file called GENERIC that is used for the kernel that comes on the CD and when buildkernel is done. I already have a version of that file that I copied from GENERIC that I’ve edited. I didn’t have to change it much between 4.8 and 4.9. GENERIC has support for many drivers that I don’t use and doesn’t have built in support for sound or my tv card. I comment out many of the drivers
# SCSI Controllers #device ahb # EISA AHA1742 family
and add support sound and my tv card
# For PnP/PCI sound cards device pcm # WinTV device bktr0 device smbus device iicbb device iicbus device iicsmb
I then run /usr/sbin/config on the file I edited and go to the directory it
tells me too and type
make depend make make install
I then spend some time waiting for the compilation to complete between the
commands then reboot after the kernel is installed. If anything fails before
make install I go back and compare the GENERIC configuration file and the one I
edited to see if I made any mistakes. I’ve tried to remove support for things
required to compile the kernel before and the errors make it very obvious. I
make sure to keep a working copy of the kernel before rebooting. kernel.old in
the / directory is the last kernel made before make install. If I’m paranoid I
make a copy myself.
Installing software through ports is the best part of using FreeBSD. It would
be even more fun if I had a a fast connection. Dependencies are all most
always handled automatically. The binaries are compiled optimized for my CPU.
The CPU flags have to be put in make.conf in the /etc directory for that
optimization. FreeBSD 4.9 uses gcc 2.94.4 so the newest chip I can optimize
for is the Pentium Pro.
CPUTYPE=i686
To add a new program I just go to the directory of the program I want. Change
to root and type
make make install
Everything is downloaded, patched, and compiled automatically. Its also pretty
fun to just look through all the different ports. I’ve tried way to many
window managers by going through the x11-wm ports folder. Because its very
easy to install software through ports I can install only what I use.
After the base installation I installed KDE, vim, gmake, and cvsup from
packages on the CD. There are many other packages that get installed as
dependences. I install a several more things from the ports like fxtv, wget,
sdl_image, sdl_mixer, ImageMagick, mplayer, and Electric Fence. I download
Minitik from sourceforge and install it myself because only regular Tik is in
the ports. I did not have any trouble installing or using any of the programs
I got from packages or ports.
I’ve had trouble with hardware on FreeBSD before. I’ve had trouble with my
video card and cdrom in 4.5 and 4.6 respectively. The problems mostly seem
resolved at this point but I pay attention to the mailing lists to see when new
experimental stuff is added. I haven’t had any trouble with 4.9 yet. There is
some support for more then 4GB of RAM that sound pretty experimental. If I had
more then 4 GB of ram I’d worry more. There is also a note in the 4.9 errata
that Gnome and KDE can’t be installed at the same time because they depend of
different versions of OpenLDAP.
I was using FreeBSD 4.8 before so 4.9 isn’t that different. The nicest thing
to me is the latest stable version of KDE 3.1.4. I’ve been using Lwm and
Mozilla instead of KDE on 4.8 for a while. I don’t use much of KDE actually
but I like Kmail and Konqueror. Konqueror seemed to have improved quite a bit
since 3.1.1. Tabs work much better and I’ve seen less strange rendering of web
pages.
Fxtv is the program used with tv cards with the Brooktree Chip. Like the WinTv
Radio card that I have. Its still working fine after compiling support for it
into the kernel and making a device in /dev. I’ve had trouble with it on a
different motherboard before so I’m careful not to use it with important work
open and unsaved.
SDL and SDL_Image seem to work fine. I noticed a port called sdl_ldbad that is
quite useful. On FreeBSD the include files folder and sdl-config are named
differently then they are on Linux. On FreeBSD they are named include/SDL11
and sdl11-config for no apparent reason. Especially since SDL is version 1.2.5
now. The port sdl_ldbad does something that I’ve been doing by hand. It makes
symbolic links to the normal places those files are on linux. This can make it
much easier to compile the source of programs developed on Linux that use SDL.
Since 4.9 isn’t that different then 4.8 its hard to rate it. I think its a
good release because I’ve found it stable so far but it hasn’t changed in any
big way. From a desktop and programming prospective it seems to have the same
speed and stability as Linux. Its much more stable then windows 98 or MacOS 9
or 7.5.5. FreeBSD is usually stable as long as the hardware is supported
well. Its still not the easiest Unixlike OS to start with but its very easy
once you get used to it.
RELENG_4_9 is actually 4.9 RELEASE
RELENG_4_8 is 4.8 release
RELENG_5_1 is 5.1 release,etc
RELENG_4 is 4.9 STABLE and generally contains newer features that are backported from 5.X
If you care to track 5.1 CURRENT, use .
Hope this helps someone.
Just a suggestion to the poster, try NetBSD as well. It’s great. And with the recent work it scales better than FreeBSD – http://bulk.fefe.de/scalability/#newdata
And with the recent work it scales better than FreeBSD
That’s a highly dubious claim. The author of the paper makes it because NetBSD now scales 1:1 on the mmap() benchmark, while FreeBSD is still O(n). However, a number of performance aspects of the system are untested, such as anything to do with SMP/multithreading, or I/O scheduling (i.e. sustained I/O throughput when handling a shared resource contention) Also, there was no test of general VM/heap performance, an area where FreeBSD has dominated for quite some time.
I just recently switched to freebsd 4.9 at work and I have to agree that the post install was time consuming. I use kde and it works great.
</help me plz!!>My biggest problem has been getting java runtime environment to work. I use netscape 7 and have looked at forums and read the handbooks and still can’t get it to work. I tried soft linking and it verifies being in the plugin directory. I don’t know what else to do </end help me plz!>
One interesting thing I noticed was that the ports collection has MORE programming tools/utilities than linux (debian and slack). My only advice to a newbie would be to be familiar with your video card and monitor and how to set-up X.
I’ve enjoyed freebsd and will try netbsd sometime this week.
my two cents:
standard-supfile (same place as stable-supfile) already is tagged with the release version (RELENG_4_9)
I don’t even change the default host now. I just install the fastest_cvsup package and let it do the work
cvsup -g -L 2 -h `fastest_cvsup -q -r -c ca,us,uk,de` standard-supfile
Now if I could only get 4 channel output from my audigy…
Is there a way to update a FreeBSD via binaries? I know CVSup will sync all of ports and packages, but is there any command that would just go through and update the packages with new packages instead of compiling from ports?
I just ask because I spend enough time getting FreeBSD going in general that I don’t want to wait for ever updating it with compiling it all.
Thanks for the nice article though.
I do lack experience: I have only used half a dozen of Linux distros, FreeBSD and NetBSD (the latter not enough to pretend to any familiarity with it). Unlike the author, I have found FreeBSD the easiest of all Unix-like OSes, maybe because it has been the first time I found any logic in a system?
After having used FreeBSD as my desktop during more than 2 years, I am using OS X now. But one of these days, I’ll give NetBSD and OpenBSD a try. I’m sure I’ll have a lot of fun.
synch ports and
#portupgrade -rR ?
if you want to upgrade all the installed ports then update ports and run
#portupgrade -arR
(-a switch witch some reservations)
About article: another one loast in the woods?
As far as the base OS goes, there’s an official project that’s just starting:
http://www.freebsd.org/projects/updater.html
As well as a less offical project that has gotten good reviews (but I haven’t used myself):
http://www.daemonology.net/freebsd-update/
As for applications, the only solution I know of is portupgrade (tutorial: http://www.onlamp.com/pub/a/bsd/2003/08/28/FreeBSD_Basics.html ), but that builds from source. I see there’s a -P option to portupgrade which will use binary packages when possible, but I haven’t used it myself.
For binary security updates install ‘freebsd-update’ port. It doesn’t support 5.x yet but 4.8 & 4.9 should be supported.
For KDE packages look at http://fruitsalad.org/. There might be other projects too but I’m not aware of those.
You can use portupgrade with option -arRPP if you want to update your installed ports using only packages. (See ‘man portupgrade’.) Using only packages you don’t get the latest software and you also lose the possibility to optimize your system via make.conf (like explained in the article). If you use FreeBSD on the desktop, I would recommend you to first install just the base system from CD, then tweak make.conf, and then build everything else – including XFree – from the ports tree. This way you’ll get a notably snappier desktop.
RELENG_4_9_0 is 4.9 RELEASE
RELENG_4_9 is 4.9 stable
RELENG_4 is stable
RELENG_4_9_0 is 4.9 RELEASE
RELENG_4_9 is 4.9 stable
RELENG_4 is stable
No, the RELENG_4_9 is RELEASE. Check here: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvs-tags….
I use FreeBSD at work and I must say the “port” method is highly overated. Most of the users will simply giveup after spending 3 hours compiling X and Mozilla. True it has the “packages” collection but there is no way to find out what packages are avilable and what to install. FreeBSd will probably pickup a lot more users if the adopted Debian’s apt-get system (like fink in OSX). Oh well…
True it has the “packages” collection but there is no way to find out what packages are avilable and what to install.
Incorrect
/stand/sysinstall
Configure > Packages
.. or check the availability here http://www.freebsd.org/ports/index.html
and then run:
#pkg_add -r package_name
it is like ~10 min including search?
I think this is a better choice over linux. The stability, and just overall better system.
Why can’t they push this to a basic desktop package?
Sorry, I was confused with the terms.
RELENG_4_9_0 would be the source when it was actually released
RELENG_4_9 is RELEASE but has has security advisories and other seriously critical fixes.
An advantage of *BSD over Linux in my opinion is consistency. My FreeBSD server and my OpenBSD firewall are clean and logical machines (just look into /etc). My Linux desktop is overall not… I think of switching my main OS from Linux to FreeBSD since I can get NVidia drivers for FreeBSD, but I’m not sure yet. I think I will try FreeBSD as a desktop on a laptop I might buy soon.
It depends on what you’re going to do with the computer, but anyway I like it better than linux because linux is too confusing for me.
You might have to configure much less in linux than freebsd, BUT if something does not work, I’ve found FreeBSD much easier to configure.
I love FreeBSD as a server os. But on the Desktop I would say Gentoo, or Red Hat/Fedora. My reason being, that half the port moderators don’t create the icons for their gui programs. So if you install gnome, and you want to run mozilla you have to crack open a terminal and type mozilla &. This is small, but it pisses me off to no end, what is the point of a gui/DE if you have to crack open the terminal to run most programs. In gentoo all the the icons are created when installed and installed in the gnome start menu. But again. I think FreeBSD is a better server OS, more logical, unified and easy to administer.
“An advantage of *BSD over Linux in my opinion is consistency. My FreeBSD server and my OpenBSD firewall are clean and logical machines (just look into /etc).”
Comparing a kernel with an OS is an unfair compare (and not so smart if you ask me).
With which GNU/Linux distributions are you comparing FreeBSD and OpenBSD to? Otherwise, you’re generalizing.
I’ve never found my /etc on my Debian GNU/Linux or Gentoo Linux boxes inconsistent. Not in any way i can think of.
True it has the “packages” collection but there is no way to find out what packages are avilable and what to install.
http://www.freebsd.org/ports/index.html
i don’t like about Gentoo is the apache config files. they have 2-3 files instead of just one httpd.conf file. it makes no sense to me. lately, i’ve been trying out openbsd on a test box as a desktop OS. So far so good. but there’s no nvidia drivers yet. so that’s a big problem since Doom3 will be released natively in Linux.
But yes, *BSD is much more easier to configure in my opinion. The OpenBSD install is so simple, even Windows is more confusing.
“I’ve never found my /etc on my Debian GNU/Linux or Gentoo Linux boxes inconsistent. Not in any way i can think of.”
By inconsistent I mean Linux distributions in general (not the kernel itself, but the various distributions as a whole OS). There is no clear standard that distributions maker follow, eg locations of programs change (sometimes /usr, sometimes /usr/local, etc.).
FreeBSd will probably pickup a lot more users if the adopted Debian’s apt-get system (like fink in OSX).
Try Gentoo, it is more then Ports and apt-get, and it realy works.
Just configure sysinstall to use any number of the package FTP sites, and you can browse to your hearts content. It installs the deps for you, and does all the dirty work. Though, I don’t really see what’s so bad about /usr/ports… I use it for all my software.
By the way, this wasn’t so much a review of 4.9 as a general “well, here’s my experience with it”. FreeBSD is NOT Linux, and should not be reviewed as if it were.
“FreeBSd will probably pickup a lot more users if the adopted Debian’s apt-get system (like fink in OSX).
Try Gentoo, it is more then Ports and apt-get, and it realy works.”
Yuck!
I seems a matter of opinion more than anything but man, I don’t want atp-get or portage, and neither do any of the BSD users that I know personally, or have talked to online. Yes, the ports and packages system could be improved, and likely will be, but importing whole new (and much less robust IMO) packaging systems is an insane idea.
Yuck!
I not yet have time to configure my FreeBSD box to work right yet… And it doesn’t work right after installation, basically X. Hopefully I can get it working later when I have more time on hand.
I agree though, the Linux /etc or sometimes the file placement is just all in a mess. I once work with a aged Linux server has like 5 samba installations all over the places, and countless smb.conf… Of course I still prefer this to the Windows registry…where you have no clue what’s going on at all.
Both Debian and Portage exist for FreeBSD, too.
http://www.debian.org/ports
http://www.gentoo.org/~g2boojum/bsd.html
What i’d like on a firewall is a simple method to become remotely ”secure” via CLI. It should require only 1 or 2 commands and should be possibly automated. Patching a source is a horror, it should be an option for me, not required. Debian GNU/Linux allows me this, but i hate IPTables so much as i love PF that i wouldn’t chose for Debian GNU/Linux. Since PF runs on {Open|Free|Net}BSD i’m considering any of these 3 which allows me to use Debian and PF. I think it’ll become Debian GNU/NetBSD.
“By inconsistent I mean Linux distributions in general (not the kernel itself, but the various distributions as a whole OS). There is no clear standard that distributions maker follow, eg locations of programs change (sometimes /usr, sometimes /usr/local, etc.).”
How about i give you a shell account on my Debian GNU/Linux box and you show me which .deb’s have been installed in /usr/local? Answer: none.
Only the 3rd party software compiled myself is installed in /usr/local but ./configure –prefix=/usr would have fixed this; i don’t want it to be in /usr because when i’d like to do a reinstall i can see in /usr/local which 3rd party apps i installed.
Besides, does it matter much when all you need to do is run a binary? It’s in $PATH, you know. Can you give me an example with a GNU/Linux distribution and this problem?
I love FreeBSD as a server os. But on the Desktop I would say Gentoo, or Red Hat/Fedora. My reason being, that half the port moderators don’t create the icons for their gui programs. So if you install gnome, and you want to run mozilla you have to crack open a terminal and type mozilla &. This is small, but it pisses me off to no end, what is the point of a gui/DE if you have to crack open the terminal to run most programs. In gentoo all the the icons are created when installed and installed in the gnome start menu. But again. I think FreeBSD is a better server OS, more logical, unified and easy to administer.
Er… how hard is it to right click on the desktop and create an icon for your chosen program? I don’t know if you can do that in Gnome, because I use KDE… but with KDE, it’s a snap. Right click>Create New>Link to Application>Execute>Browse and then you name it and choose an icon to represent it, and click OK.
FreeBSD, in my opionion, makes more sense overall than Linux, even as a desktop operating system. It just requires more time to set up. Of course, I am not running cutting edge hardware… but I think FreeBSD (no experience with other BSDs) makes more sense for use in more places overall.
I love FreeBSD as a server os. But on the Desktop I would say Gentoo, or Red Hat/Fedora. My reason being, that half the port moderators don’t create the icons for their gui programs. So if you install gnome, and you want to run mozilla you have to crack open a terminal and type mozilla &. This is small, but it pisses me off to no end, what is the point of a gui/DE if you have to crack open the terminal to run most programs. In gentoo all the the icons are created when installed and installed in the gnome start menu. But again. I think FreeBSD is a better server OS, more logical, unified and easy to administer.
Er… how hard is it to right click on the desktop and create an icon for your chosen program? I don’t know if you can do that in Gnome, because I use KDE… but with KDE, it’s a snap. Right click>Create New>Link to Application>Execute>Browse and then you name it and choose an icon to represent it, and click OK.
FreeBSD, in my opionion, makes more sense overall than Linux, even as a desktop operating system. It just requires more time to set up. Of course, I am not running cutting edge hardware… but I think FreeBSD (no experience with other BSDs) makes more sense for use in more places overall.
The isseue with the icons is not that one cannot make them. But one should not have to make them. ITs a lazy thing on the part of the FreeBSD package maintainers. RedHat and Gentoo both manage to create/install icons and install them in the menu’s. Which is a major tic for me that freebsd does not. if it take that approach it might as well not have gnome/kde in the ports.
I am not bashing FreeBSD. I love the OS, I am complaining more about its approach to the desktop.
“The isseue with the icons is not that one cannot make them. But one should not have to make them. ITs a lazy thing on the part of the FreeBSD package maintainers. RedHat and Gentoo both manage to create/install icons and install them in the menu’s. Which is a major tic for me that freebsd does not. if it take that approach it might as well not have gnome/kde in the ports.
I am not bashing FreeBSD. I love the OS, I am complaining more about its approach to the desktop.”
LOL, no it is a issue of laziness. Packages should not mess with users home dirs till they are told to do so by that user.
A good analysis of your experience with FreeBSD 4.9 so far. I hope to read more of your experience with fbsd in future articles. No doubt it is a great os and the ports collection is really fun to use. To print the index of everything in the ports collection you could:
# cd /usr/ports
# make print-index > index.ps
And to build an index of all the ports in html document:
# cd /usr/ports
# make readmes
(A great source of info for newbies to FreeBSD I highly recommend — The Complete FreeBSD 4th Edition, by Greg Lehey, O’Reilly Community Press 2003)
If you use that argument then none of the FreeBSD ports should add icons. However the Gaim port does(Which I applaud). So I dont think its because they dont want to mess with your user dir.
Try Gentoo, it is more then Ports and apt-get, and it realy works.
It also has no credibility in the enterprise
Hi,
I just want to mention that setting sendmail_enable=”NONE” without having a other mailer will cause your /var/spool/clientmqueue to be filled up with crontab messages. It is wiser to set sendmail_enable=”NO” which causes sendmail to listen only to localhost and spool messages from cron etc.
I had a friend who also set sendmail_enable to NONE, he ran out of inodes on his var slice. So strange things started to happen.
my 1 euro cent
Absolutely fantastic review, nice to see configuration file snippets.
😉
Good and fair article. RE: “a long time” to compile during FreeBSD’s ‘make world’ updating process, with my 1.533Ghz Athlon XP1800+ it takes me about 25 minutes to build world, 5 minutes to build the new kernel, a few seconds to install the kernel, and about a minute and a half to install world. To update an entire OS and kernel, that ain’t bad. Do it while you’re having breakfast on a weekend morning (afternoon?;).
The following are, from my reading of the Handbook and FreeBSD mailing lists, generally accepted terms for the following CVSup tags:
Tag=. Term=-CURRENT
(This is the up-to-the-minute development version.)
Tag=RELENG_x Term=-STABLE
(This is a more stable version backporting those items from the development branch that appear to be stable after testing by developers and users running -CURRENT. Though the author was somewhat reluctant to try this branch, I haven’t had a problem with it in several years of use.)
Next is what seems to me to be the most often used term for the following CVSup tag:
Tag=RELENG_x_y_0 Term=x.y-RELEASE
(That’s the same source as appears on the release isos, no changes. It has been extensively tested through preview and release candidate stages.)
Next is a branch for which there is less consensus about what to call it, but the term I’ve seen most often (a good one IMO, since it doesn’t duplicate the names of other branches) is as follows:
Tag=RELENG_x_y Term=”Security branch”
(This is the source that went into the release updated to fix security bugs and perhaps a limited number of non-security bugs deemed to be especially critical.)
I’m also blown away by the author of the article using the FreeBSD 2.x method of kernel configuration+building. This hasn’t been the recommended method for years upon years now. Read /usr/src/Makefile for details.
I prefer the old method personally, and I’ve seen no technical reason not to use it. It’s quite convenient if you only check out the src-sys tree via CVSup (thus the toplevel Makefile won’t be present), with the plan of a binary upgrade to bring the system to the next release. I admit the article could teach a bit more pertainent practices, or at least show both, but there’s no technical reason to be critical of this method, at least that I’m aware of.
The author trys to fit his concept of stable to the FreeBSD concept of stable, and just succeeds in confusing the readers. Some of the follow up comments also make mistakes.
Section 21.2.2.1 of the handbook http://www.freebsd.org/handbook/ has the FreeBSD definition of Stable (capitlized proper noun). It is important to note that Stable is still a development branch. Presently Stable’s cvs tag is RELENG_4, but I believe the project hopes to move it to RELENG_5 real soon now.
RELENG_4_9 is not Stable. It certainly seems to be very stable, and the author properly chose it as fitting the authors concept of stable, but it is not what FreeBSD calls Stable. Properly “RELENG_4_9, [is] the release branch for FreeBSD-4.9, used only for security advisories and other seriously critical fixes.” A release branch is the heavily tested, ready for primetime, sta^H^H^Hproduction version that the author wanted.
Please read the handbook page defining Current and Stable to determine if either is right for you and then the handbook appendix on CVS tags to pick the correct one. RELENG_4_9 is the right tag to track until you understand why to chose others.