Three FreeBSD 6 questions

Ivan Voras ivoras at fer.hr
Thu Oct 26 14:24:19 UTC 2006


SiteRollout.com wrote:

> 1.) How exactly do I know whether I am running the STABLE or CURRENT
> release, as when I run uname I can only see the following relevant info:
>  
> FreeBSD server4.domain.info 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Sat Sep 23
> 13:52:48 UTC 2006     root at server4.
> <mailto:root at server4.e-webhost.info:/usr/src/sys/i386/compile/SERVER4>
> domain.info:/usr/src/sys/i386/compile/SERVER4  i386

If you installed from an release CD, you're running release, and will by 
default continue to run it until you manually upgrade.

A computer running stable would print something like this for uname:

FreeBSD lara.xx.xx 6.1-STABLE FreeBSD 6.1-STABLE #11: Wed Sep  6 
17:57:59 CEST 2006     ivoras at lara.xx.xx:/usr/obj/usr/src/sys/LARA  i386

And a computer running CURRENT would say:

FreeBSD server.xx.xx 7.0-CURRENT FreeBSD 7.0-CURRENT #3: Thu Oct 23
10:28:46 CEST 2006     person at server.xx.xx:/usr/obj/usr/src/sys/GW  i386

Note that "RELEASE", "STABLE" and "CURRENT" are only common names for 
specific branches. There are plenty of documentation on which is which, 
but the short and dirty version is: RELEASE versions are officially 
meant to be widely used and have gone through testing before published. 
STABLE is the "low-risk development" branch, and from time to time the 
STABLE branch is frozen and a new release created from this branch (e.g. 
6.0, 6.1, 6.2 are releases from 6-STABLE). CURRENT is bleeding edge, may 
cause your computer to explode, etc. Periodically, a CURRENT branch will 
be re-designated as STABLE and a new CURRENT will be started (thus in 
the future there will be 7-STABLE, 7.0-RELEASE and 8.0-CURRENT). In 
addition to those exist obsolete STABLE branches not meant to be used on 
new installations (now obsoleted are 4-STABLE and 5-STABLE, in the 
future when 7.x becomes STABLE, 6-STABLE will be one of the obsolete 
branches).

> And which file do I change to use a different release, and how must I update
> the system to pull in this latest release?

1. Install cvsup (or more likely cvsup-without-gui)
2. Copy /usr/share/examples/cvsup/*supfile to /etc/
3. Edit those file to change the cvsup server name (see handbook for 
available servers) and version you want to upgrade to
4. Run cvsup on those file(s)

> 2.) I'm a bit confused as to updating the system. As I understand, there are
> 3 areas which require updates:
>  
> i. Ports
> ii. Security updates
> iii. Kernel updates

Security updates and kernel updates are the same, all updated with a 
single cvsup. This updates everything shipped with FreeBSD by default 
(including kernel). Study carefully what is and what is not a part of 
the default ("base") system - for example sshd, sendmail and bind are in 
it, but procmail or apache are not. There are no separate packages for 
applications in the base system.

Ports (i.e. third party applications, which is everything from apache to 
vim to zsh) are updated separately. The ports tree (which contains 
ports/packages definitions) is updated with cvsup or portsnap, and then 
individual packages can be updated either manually or with portupgrade.

> I know how to perform the first two, but for kernel updates I can't seen to
> find a consistent unified method with talk of the "traditional" way and the
> "latest" way. What is the best way to keep my FreeBSD 6.x system up2date?

Edit /etc/standard-supfile (as described in the steps above), run `cvsup 
/etc/standard-supfile`, cd to /usr/src and run:

# make buildworld    <-- this will compile the userland ("base" system)
# make buildkernel   <-- this will compile the kernel. See manual about 
how to create and specify kernel config file.
# make installkernel <-- this will install the kernel
# make installworld  <-- this will install the userland

Those are the instructions for the latest recommended way to do it. To 
complete the upgrade, you'll need to run `mergemaster` - read about it 
in handbook and its man page.

Mostly you can upgrade the system without problems while running in 
multiuser/production mode (except of course for reboots to load the new 
kernel and deamons), but the official way is to do it in single user 
mode and with several passes of mergemaster.

> 3.) One of my new FreeBSD 6.0 servers went down recently. This was odd as
> the actual server was hardly busy, but filesystem errors came up when
> booting up the server. After running fsck, server would be up for about an
> hour and then go down again. This kept happening and so I initially thought
> it was due to overheating. However cooling was all good, so after further
> investigation and googling I diagnosed the problem as being the background
> fsck which for some reason was failing, causing the server to shutdown and
> upon reboot requiring a manual fsck.

See if you're low on disk space. AFAIK there was a problem in 6.0 (and 
maybe 6.1?) with background fsck (actually, the snapshot feature) when 
disk space is low.

Of course, there also might be a hardware failure somewhere.

If/when you get comfortable with FreeBSD, it would be beneficial if you 
created a simple article or howto describing your experiences, what you 
like and dislike about it and your learning process.

have fun!



More information about the freebsd-stable mailing list