View Single Post
  #2   (View Single Post)  
Old 19th September 2008
TerryP's Avatar
TerryP TerryP is offline
Arp Constable
 
Join Date: May 2008
Location: USofA
Posts: 1,547
Default

First there are two things to figure out,

A.) Updating FreeBSD is not updating third party software (e.g. everything you've installed from ports, packages, or manually, does not apply) -- it only updates the base system, aka FreeBSD.

B.) Updating installed software (installed via ports, pkg, manual) is done seperately, as they are not related problems in regards to the FreeBSD source tree.



Updating FreeBSD itself, depends somewhat on your version. Generally speaking, it amounts to fetching the latest code for your branch via csup, compiling, and installing it, or using freebsd-update to do it via binaries.


Generally speaking, in the case of freebsd's releases, you can just use the freebsd-update utility and relax.


When it comes to security patches, just subscribe to the security mailing list and follow the update instructions provided in the postings, most often this is just running freebsd-update, or if desired or required fetching/applying a patch and recompiling of the effected items in /usr/src.


A full system update done without freebsd-update on the other hand, The handbook explains the steps you need to take. In my case, this is usually:

Code:
# script /root/update-log.YYYY-MM-DD
# cd /boot
# tar cf KERNELCONF-NAME.tar kernel
# csup mysupfile
# cd /usr/src
# less UPDATING
    .... check for important notes
# make -j12 buildworld
# make -j12 buildkernel
# make installkernel
# shutdown now
   ... drop into single user mode
# make installworld
# mergemaster -viU
# reboot

If you use a custom kernel, you should set /etc/make.conf to build both your custom kernel and GENERIC, but install yours by default.


The process of updating installed software (.b) is usually best done with some care.

For automated updating of all installed ports, update the ports tree via portsnap/csup,
ALWAYS search /usr/ports/UPDATING before a major update. And you will probably want to use either the portupgrade or portmaster utilities from ports if you have many things to update.
__________________
My Journal

Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.
Reply With Quote