7. Getting the NET-2/NET-3 software.

Contents of this section

Before you can configure the networking software you must obtain all of the bits and pieces that make it up. These include the current version of the kernel code (version 1.0 or later), the correct system libraries, the tcp/ip configuration programs and files (e.g. /sbin/ifconfig, /etc/hosts etc.), and finally a set of network application programs (such as telnet, ftp, rlogin etc.).

If you obtained Linux from a distribution you may already have all that you need. Check and make sure that you do. For example, some Linux distributions come with all of the network configuration files, binaries, libraries, and kernel installed, so there's no reason to get the following files.

NOTE: they may be in directories and files different to those specified in this HOWTO document

If you DO have the network software, skip to the `Configuring the kernel' section. If you DO NOT have the network software follow the following directions.

7.1 The kernel source.

Version 1.2.0 of the Linux kernel is the production version. Any of the Linux kernels after that release are enhancements or bug fixes. If you feel at all concerned about the possibility of having to patch and modify the kernel source, then you should stick to this release, as it will do most of what you want it to. In the case of the networking code though, I strongly suggest you just take a deep breath and follow the newer releases of code, as there have been many changes in the newer version kernels that affect networking. I know you hear it from everyone and everywhere, but when trying out any new version of kernel software you should always ensure that you have sufficient backups of your system just in case something goes seriously wrong while you are testing.

The current kernel version is found in:

ftp.funet.fi

/pub/OS/Linux/PEOPLE/Linus/v1.2/linux-1.2.0.tar.gz

This is a gzipped file, so you will need gzip to uncompress it.

To install it, try:

# cd /usr/src
# mv linux linux.old
# gzip -dc linux-1.2.0.tar.gz | tar xvf -

You may also find some files called patch-1.2.1.gz ... in the same directory. These are patch files. If you have a linux kernel that is version 1.2.1 then what this means is that you have linux kernel version 1.2.0 with patch 1 applied. So you don't need to patch 1. If there are any patch files that are greater than the version of kernel you have, you should obtain all of those above, and apply them in sequence with something like the following commands:

# cd /usr/src
# for patchfile in .../patch*
> do
> gzip -dc $patchfile | patch -p0 2>>patch.errs
> done

 ...

Check the output file (patch.errs) and search for the string fail. If you can't find it then all of the patch files were applied ok. If it is there, then at least one of the patch files didn't apply correctly. If this happens what you should do is start again from a clean kernel archive and apply the patches one by one until you find the patch file that failed. If you can't work out why it didn't work then report it as a problem.

7.2 The libraries.

You'll want at least version 4.4.2 of libc, as there were problems with earlier version that affected subnet masks.

The current libraries (libc-4.6.27) can be found in:

sunsite.unc.edu

/pub/Linux/GCC/

You will need at least the following files:

When installing libc.4.6.27 you MUST read release.libc-4.6.27 before you install the libraries. Please note that to use release 4.5.26 or later you will also need at least GCC version 2.6.2, and Linux kernel 1.1.52 or later.

7.3 The network configuration tool suite.

You will need the utility suite that provides tools to configure your network support.

The current NET-2 utility suite is available from:

sunacm.swan.ac.uk

/pub/misc/Linux/Networking/PROGRAMS/NetTools/net-tools-1.1.95.tar.gz

Because the kernel networking code is still changing some changes to the network tools have been necessary as new kernels are released, so you will need to choose the version that is appropiate for the kernel version you intend to use.

The filenames reflect the earliest version of kernel that the tools will work with. Please choose the filename whose version equals, or is less than the version of kernel source you intend to use.

To build and install the tools, you should try:

# cd /usr/src
# mkdir net-tools
# cd net-tools
# gzip -dc net-tools-1.1.95.tar.gz | tar xvf -
# make

This will automatically run the Configure.sh script. If everything makes ok, then:

# make install

If you use a kernel version 1.1.26 or earlier you should look in:

sunacm.swan.ac.uk

/pub/misc/Linux/Networking/PROGRAMS/Other/net032/

In this directory you will find three versions of the network tools. The following table lists net-032 package name with the relevant kernel versions:

net-0.32d-net3.tar.gz     1.1.12+
net-0.32b.tar.gz          1.1.4+
net-0.32.old.tar.gz       pre 1.1.4 kernels

These packages include the essential network configuration programs such as ifconfig, route, netstat etc. These will be discussed later.

7.4 The network applications.

You will want a number of network application programs. These are programs like telnet, ftp, finger and their daemons at least. Florian La Roche, <flla@stud.uni-sb.de> has put together a fairly complete distribution of network applications in both binary and source form. The tcp/ip application binaries and some sample config files are found in:

ftp.funet.fi

/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-A-0.08.bin.tar.gz
/pub/OS/Linux/PEOPLE/Linus/net-source/base/NetKit-B-0.06.tar.gz

If there are newer versions then use the newer versions. Please read the README file first just to make sure that you have the necessary prerequisites.

Florian used to have a binary distribution of the networking applications (the B file) available but it is no longer there, so you will have to build the files yourself. You can use the following procedure:

# cd /usr/src
# gzip -dc NetKit-B-0.06.tar.gz | tar xpvlf -
# cd NetKit-B-0.06

Then, read the README file. You will need to edit the Makefile and set the HAVE_SHADOW_PASSWORDS define appropriately. I don't use shadow passwords, so I commented it out by placing a # at the start of the line. The rest should not need modifying, so then all you should have to do is:

# make
# make install

IMPORTANT NOTE: Florian has built and prepackaged these tar files for your convenience. Florian has attempted to make them as complete as possible and has included a distribution of the binaries found in the net-tools-n.n.nn releases. Unfortunately Florian has chosen not to use the same directory structure as Alan did when he prepared the installation script for the net-tools. This will mean that you should be very careful when installing them. Florian will change this later so that this difference is not a problem, but until then, I suggest you do the following instead of the above:

-  Unpack the binaries somewhere safe:
# cd /usr/src
# mkdir NetKit
# cd NetKit
# gzip -dc NetKit-A-0.07.bin.tar.gz | tar xpvlf -
# gzip -dc NetKit-B-0.06.bin.tar.gz | tar xpvlf -

-  Remove Florians copies of the network tools previously described:
# rm ./bin/hostname ./sbin/route ./sbin/ifconfig ./sbin/netstat
# rm ./usr/sbin/arp ./usr/sbin/rarp ./usr/sbin/slattach

-  Copy Florian's files into their new home:
# cp -vrpd . /

7.5 Additional drivers or packages.

If you want to add some developmental, or Alpha/Beta test code, such as AX.25 support, you will need to obtain the appropriate support software for those packages. Please check the relevant sections for those packages in this document for more detail.


Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter