Installation Details for XFree86® 4.8.0 : Installing XFree86 4.8.0 manually
Previous: Installing XFree86 4.8.0 using the `Xinstall.sh` script
Next: Installation Details for XFree86® 4.8.0

## 4. Installing XFree86 4.8.0 manually

This section contains information about manually installing the XFree86 4.8.0 binary distributions. You should only use this method if you know what you're doing. The information here covers some common cases, but not every possible case. It also may not be complete or up to date. Use at your own risk.

Put all of the downloaded files into a single directory (choose some temporary location with enough space). Become the super user (root). All of the following commands should be run as root, and they should be run from the directory that has all of the downloaded files. The "`extract`" utility should be used to unpack the tarballs. This is a customised version of GNU tar that has the gzip code built-in, and which has a different usage when run under the name "extract". One important thing that `extract` does that most versions of tar do not do by default is that it unlinks existing files before writing new ones. This is important when installing over an existing version of X. If you choose to use some other utility to extract the tarballs, you're on your own.

### 4.1. A new installation

The simplest case is when there is no existing X installation. The installation procedure for this case is as follows:

> `

>     chmod +x extract
>     mkdir /usr/X11R6
>     mkdir /etc/X11
>     ./extract -C /usr/X11R6 X[a-df-qs-uw-z]*.tgz
>     ./extract -C /usr/X11R6 Xvfb.tgz    # If you are installing Xvfb
>     ./extract -C /etc Xetc.tgz
>     ./extract -C /etc Xrc.tgz
>     ./extract -C /var Xvar.tgz
>     ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11
>     ln -s /etc/X11/fs /usr/X11R6/lib/X11
>     ln -s /etc/X11/lbxproxy /usr/X11R6/lib/X11
>     ln -s /etc/X11/proxymngr /usr/X11R6/lib/X11
>     ln -s /etc/X11/rstart /usr/X11R6/lib/X11
>     ln -s /etc/X11/twm /usr/X11R6/lib/X11
>     ln -s /etc/X11/xdm /usr/X11R6/lib/X11
>     ln -s /etc/X11/xinit /usr/X11R6/lib/X11
>     ln -s /etc/X11/xsm /usr/X11R6/lib/X11
>     ln -s /etc/X11/xserver /usr/X11R6/lib/X11
>     chmod ug-w /usr/X11R6/lib           # Make sure the permissions are OK
>     /sbin/ldconfig /usr/X11R6/lib       # For Linux
>     /sbin/ldconfig -m /usr/X11R6/lib    # For FreeBSD, NetBSD, OpenBSD
>     /usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc

> `

### 4.2. Installing over an old installation

If you have an existing installation of X, you should make a backup copy of it before installing the new version over the top of it.

Before doing anything else, make sure the `extract` command is executable, and also link it to the name "`gnu-tar`" so that it can be used as a regular `tar` command:

> `

>     chmod +x extract
>     rm -f gnu-tar
>     ln extract gnu-tar

> `

The first part of the procedure is to move the old run-time config files from `/usr/X11R6/lib/X11` to `/etc/X11`. Create `/etc/X11` if it doesn't already exist. For each of the following sub-directories (`app-defaults`, `fs`, `lbxproxy`, `proxymngr`, `rstart`, `twm`, `xdm`, `xinit`, `xsm`, `xserver`) that you want to move, check that there is a sub-directory of this name in `/usr/X11R6/lib/X11`. Create a sub-directory of the same name under `/etc/X11`, then copy the files over by running:

> `

>     ./gnu-tar -C /usr/X11R6/lib/X11/subdir -c -f - . | \
>       ./gnu-tar -C /etc/X11/subdir -v -x -p -U -f -

> `

For each subdirectory that is moved, remove the one under `/usr/X11R6/lib/X11` and create a symbolic link to the new location:

> `

>     rm -fr /usr/X11R6/lib/X11/subdir
>     ln -s /etc/X11/subdir /usr/X11R6/lib/X11

> `

For those subdirectories that didn't already exist under `/usr/X11R6/lib/X11`, create one under `/etc/X11` and create the symbolic link to it:

> `

>     mkdir /etc/X11/subdir
>     ln -s /etc/X11/subdir /usr/X11R6/lib/X11

> `

Once that is done, extract the config files from the `Xetc.tgz` and `Xrc.tgz` tarballs into a temporary directory:

> `

>     mkdir tmpdir
>     ./extract -C tmpdir Xetc.tgz
>     ./extract -C tmpdir Xrc.tgz

> `

and then copy each sub-directory over to the installed location:

> `

>     ./gnu-tar -C tmpdir/subdir -c -f - . | \
>       ./gnu-tar -C /usr/X11R6/lib/X11/subdir -v -x -p -U -f -

> `

If you have customised any config files in your old installation, you may want to omit those sub-directories, or copy selected files over by hand.

Once that's done, the main part of the installation can be done:

> `

>     ./extract -C /usr/X11R6 `pwd`/X[a-df-qs-uw-z]*.tgz
>     ./extract -C /usr/X11R6 Xvfb.tgz    # If you are installing Xvfb
>     ./extract -C /var Xvar.tgz
>     chmod ug-w /usr/X11R6/lib           # Make sure the permissions are OK
>     /sbin/ldconfig /usr/X11R6/lib       # For Linux
>     /sbin/ldconfig -m /usr/X11R6/lib    # For FreeBSD, NetBSD, OpenBSD
>     /usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc

> `

Installation Details for XFree86® 4.8.0 : Installing XFree86 4.8.0 manually
Previous: Installing XFree86 4.8.0 using the `Xinstall.sh` script
Next: Installation Details for XFree86® 4.8.0