FreeBSD 6 Unleashed

Upgrading with make world

In the language of FreeBSD development, the world refers to everything within the FreeBSD system other than the kernel. Therefore, make world refers to the process of rebuilding your FreeBSD system from the ground up. Rebuilding your entire system is certainly a more hands-on, less "prepackaged" way of upgrading than simply dropping in a CD. However, in accordance with the FreeBSD way of doing things, building your binaries from pure source is the only way to ensure your system will truly be compatible with your hardware and your setup. The make world process does involve a lot of steps and a fair amount of risk, but the regimented structure of FreeBSD helps to mitigate the risk and allows you to enjoy the advantages this method provides.

The make world process provides safeguards that would not normally be available if you were to install precompiled binaries from a CD. If any part of the source code is broken, for example, it will fail to compile in the first place, rather than waiting until the rebuilt binaries are installed on your system before revealing themselves to be unusable. The clearest philosophical difference, though, between make world and other upgrade methods is that it blurs the line between released software and interim builds.

A release (stated somewhat glibly) is often just a snapshot of the source where it appeared particularly stable and matched a set schedule milestone. The process of synchronizing your sources to that snapshot is functionally the same as synchronizing to any other point in the brancha developer-friendly approach. There's hardly any difference in technique between updating your system to 6.0-RELEASE-p5 and to 6-STABLE. This blurred distinction between development states encourages administrators to keep their code trees in sync, which provides the real advantage of ensuring that the most recent security patches and bug fixes are always at your fingertips.

All you typically have to do to update an individual part of your system, once you've got the appropriate sources at the development state you need, is to go to that part of the source, build it, and install it (you learn about updating individual components through this method in Chapter 30, "Network Security"). You also need to plan on rebuilding the entire systemthe entire "world"on a periodic basis.

Making the world consists of four main steps:

1.

Building the world (or everything in the core system aside from the kernel).

2.

Building the kernel.

3.

Installing the world.

4.

Installing the kernel.

Before you do any of these things, though, we need to address some essential preparations and precautions.

Категории