FreeBSD is derived from BsdUnix.

It will run on x86, amd64, Alpha, IA-64, PC-98 and UltraSparc? processors with support for PowerPC and Arm being developed.


Base

FreeBSD, unlike most Linux Distros, is split in two parts: the Base and Ports.

The base system is built from /usr/src and will be installed to /bin, /sbin, /etc, /lib, /usr but not /usr/local, /usr/X11R6 or /usr/compat. For more information see hier(7).

To build and install an updated base system or 'world' and kernel you would have to cd to /usr/src and type:

make buildworld
make buildkernel
make installkernel
<reboot to single user mode>
/etc/rc.d/preseedrandom
mergemaster -p
make installworld
mergemaster

The make commands will either build or install the kernel or world (base system). mergemaster is a shell script to make sure /etc is up to date (-p is for a cut down pre-installworld list of files).

Branches

There are always at least 3 branches in the FreeBSD base: CURRENT, STABLE and RELEASE.


Ports

Ports is a system to download, build, install and deinstall 3rd party packages. To build and install a port all you have to do, after installing the ports collection, is cd to the desired directory and as root type 'make install'. This will also install any dependencies the port needs.

Most ports will install to /usr/local. If the port is based on the X11 it will install to /usr/X11R6. Linux packages (eg. Redhat RPM's) will install to /usr/compat/linux.

There is no automatic way to update any port to it's latest version within the ports system so a utility named portupgrade has been written. With portupgrade it is posible to update some or all of the ports at one time to the latest version. Portupgrade will also manage dependencies of the given port.

To install portupgrade cd to /usr/ports/sysutils/portupgrade and install.


Packages

Packages are pre-built binary ports. The FreeBSD Ports team build package for releases and the latest -CURRENT and -STABLE branches


FreeBSD
FreeBSD Ports
Freshports
FreeBSD Handbook