mirror of https://github.com/tLDP/LDP
1854 lines
84 KiB
Plaintext
1854 lines
84 KiB
Plaintext
<!doctype linuxdoc system[]>
|
|
<ARTICLE>
|
|
|
|
|
|
<TITLE>Network Install HOWTO
|
|
<AUTHOR>Graham White, <TT>gwhite@uk.ibm.com</TT>
|
|
<NEWLINE>IBM Hursley, UK
|
|
<DATE>v1.0, 12th September 2002
|
|
<ABSTRACT>
|
|
<NIDX>network install</NIDX>
|
|
This HOWTO describes how to install Linux over a Local Area Network (LAN). It
|
|
covers setting up and administrating the install server machine as well as
|
|
installing client machines from your server. Since Network Installation is
|
|
distribution dependent it covers SuSE, Redhat and Debian installs but also
|
|
includes a generic Linux network install guide.
|
|
</ABSTRACT>
|
|
|
|
<TOC>
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
<SECT>Introduction
|
|
<P>
|
|
<NIDX>network install!introduction</NIDX>
|
|
I was first prompted to write this document after reading a request for such a
|
|
document on the LDP suggestions page. I realised that this was within my area
|
|
of expertise and approached the LDP about creating a new HOWTO document for the
|
|
project. I took the LDP standard template and have modified that in order to
|
|
come up with the structure of this document. Using both the template and a few
|
|
SGML references, I have written the SGML source, that I have since found to be
|
|
a particularly convenient type for converting into many different document
|
|
formats.
|
|
|
|
About the author - I started working with Linux 2 years ago (at the time of
|
|
writing) when I joined IBM ® in a Linux support role. I started IBM with no
|
|
previous administration experience and learned my skills on the job. A year
|
|
after I joined I was certified as a Redhat Expert (RHCE). During my second
|
|
year I implemented a Linux network install server that I am still managing and
|
|
from which I hope to draw my knowledge to write this document.
|
|
|
|
|
|
<SECT1>Copyright
|
|
<P>
|
|
<NIDX>network install!copyright</NIDX>
|
|
<EM>(C) Copyright IBM Corp. 2002.</EM>
|
|
|
|
|
|
<SECT1>Disclaimer
|
|
<P>
|
|
<NIDX>network install!disclaimer</NIDX>
|
|
This document is provided "AS IS," with no express or implied warranties. Use the information
|
|
in this document at your own risk.
|
|
|
|
The following terms are registered trademarks of International Business Machines corporation in the United States
|
|
and/or other countries: IBM. A full list of U.S. trademarks owned by IBM may be found at http://www.ibm.com/legal/copytrade.shtml.
|
|
|
|
Linux is a trademark of Linus Torvalds
|
|
|
|
Other company, produce, and service names may be trademarks or service marks of others.
|
|
|
|
Naming of particular products or brands should not be seen as endorsements.
|
|
|
|
This document may be reproduced or distributed in any form without prior permission provided the copyright notice is retained on all copies.
|
|
Modified versions of this document may be freely distributed provided that they are cloearly identified as such, and this copyright is included intact.
|
|
|
|
You are strongly recommended to take a backup of your system before
|
|
major installation, and backups at regular intervals.
|
|
|
|
|
|
<SECT1>Credits
|
|
<P>
|
|
<NIDX>network install!credits</NIDX>
|
|
I am always open to putting more names in this section so if you want to get in
|
|
here then please send me feedback or write your own section for a different
|
|
Linux ® distribution that is not included yet.
|
|
|
|
Thanks to my proof readers of version 0.9:<NEWLINE>
|
|
- Adrian Fewings<NEWLINE>
|
|
- Beth Carey<NEWLINE>
|
|
- Paul Milner
|
|
|
|
|
|
<SECT1>Translations
|
|
<P>
|
|
<NIDX>network install!translations</NIDX>
|
|
Currently this document is only available in English. If you would like to be a
|
|
translator for it then please mail me.
|
|
|
|
|
|
<SECT1>Change Log
|
|
<P>
|
|
<NIDX>network install!change log</NIDX>
|
|
You can always find the latest copy of this document at the <URL URL="http://www.tldp.org/" NAME="Linux Documentation Project"> homepage.
|
|
|
|
<TABLE LOC="h">
|
|
<TABULAR CA="lll">
|
|
<BF/VERSION/|<BF/DATE/ |<BF/CHANGE/@<hline>@
|
|
0.1 |27th July 2002 |Started writing the first draft@
|
|
| |Wrote the Introduction Section.@
|
|
0.2 |2nd August 2002 |Finalised the document structure.@
|
|
| |Written the SuSE Server Setup.@
|
|
0.3 |20th August 2002 |Tidied up source to work better with PDF docs@
|
|
| |Written SuSE Client Install@
|
|
0.4 |21st August 2002 |Written Redhat Server Setup@
|
|
0.5 |22nd August 2002 |Written Redhat Client Install@
|
|
0.6 |23rd August 2002 |Written Debian Server Setup@
|
|
0.7 |30th August 2002 |Written Debian Client Install@
|
|
0.8 |1st September 2002 |Written Quick Install Section@
|
|
0.9 |2nd September 2002 |Written Structure Section & Tidied up loose ends@
|
|
1.0 |12th September 2002 |Proof read and made refinements@
|
|
| |Submit to the LDP@
|
|
</TABULAR>
|
|
</TABLE>
|
|
|
|
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Document Structure
|
|
<P>
|
|
<NIDX>network install!document structure</NIDX>
|
|
This document is split up into various sections that are designed to make it
|
|
easy to read and learn from. There are major sections that allow the reader to
|
|
skip to parts of the HOWTO that will be relevant for them. The entire document
|
|
is not designed to be relevant to every reader and you may wish to skip out
|
|
entire major sections of it. Each major section will consist of a set of
|
|
subsections, so if you think a major section is relevant to what you are
|
|
reading this HOWTO for then please read <EM>ALL</EM> the subsections.
|
|
|
|
This HOWTO covers different distributions of Linux and I try to be generic
|
|
across different versions of a particular distribution. It contains two basic
|
|
high-level structures to it for each distribution that it contains, these are
|
|
(a) sections on setting up Linux install <REF ID="server" NAME="server">
|
|
server machines, and (b) sections on setting up <REF ID="client" NAME="clients">
|
|
using an install server. In addition to these two types of main section there
|
|
are also a few other sections that are designed for reference purposes to
|
|
other documents, and how to use this document.
|
|
|
|
|
|
<SECT1>Server Setup Structure <LABEL ID="server">
|
|
<P>
|
|
<NIDX>network install!server setup structure</NIDX>
|
|
This is a rough list of points that you will need to follow in order to setup a
|
|
Linux machine as a network install server. The HOWTO sections on setting up
|
|
servers roughly adhere to this list:
|
|
<ENUM>
|
|
<ITEM>Install a machine with Linux to be a server machine</ITEM>
|
|
<ITEM>Check you have enough disk space free to serve Linux installs</ITEM>
|
|
<ITEM>Set up the filespace you want to use to serve the Linux installs</ITEM>
|
|
<ITEM>Copy the install media to your filespace</ITEM>
|
|
<ITEM>Enable one or more remote access methods to your filespace</ITEM>
|
|
<ITEM>Customise your server images</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<SECT1>Client Install Structure <LABEL ID="client">
|
|
<P>
|
|
<NIDX>network install!client install structure</NIDX>
|
|
This is a rough list of points that you will need to follow in order to install
|
|
a Linux distribution from a network install server. The HOWTO sections on
|
|
installing client machines roughly adhere to this list:
|
|
<ENUM>
|
|
<ITEM>Install config program on a machine</ITEM>
|
|
<ITEM>Use config program to create config files</ITEM>
|
|
<ITEM>Edit the config file to include customisable options</ITEM>
|
|
<ITEM>Create a bootable media</ITEM>
|
|
<ITEM>Provide access to the config file</ITEM>
|
|
<ITEM>Boot your machine and read the config file</ITEM>
|
|
<ITEM>Client contacts server machine</ITEM>
|
|
<ITEM>Manually supply any requested arguments</ITEM>
|
|
<ITEM>Client installs and reboots to new operating system</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<SECT1>Reading plan
|
|
<P>
|
|
<NIDX>network install!reading plan</NIDX>
|
|
Although this is not the biggest reference guide in the world you can still help
|
|
yourself for quicker reading by following the guidelines below. I have tried to
|
|
write the HOWTO in such a way that it will be useful to all skill levels in
|
|
Linux.
|
|
|
|
<DESCRIP>
|
|
<TAG>Expert</TAG> (aka the elite). If you are familiar with Linux as well as
|
|
installation over networks then you will probably be able to do most of your
|
|
setup using the quick guide section, you will also find some useful references
|
|
in the appendices for further reading purposes. For distribution specific
|
|
details of a network install then you should be able to reference the
|
|
appropriate subsection.
|
|
|
|
<TAG>Experienced</TAG> (aka competent). If you are familiar with Linux but new to
|
|
network installations then you should be able to make good use of the various
|
|
distribution independent sections. Read carefully through the sections that you
|
|
think are relevant for your purposes but you should be able to skip through the
|
|
commands quite easily. You will also find good references in the appendices for
|
|
further reading.
|
|
|
|
<TAG>Newbie</TAG> (mostly harmless). You will find some excellent installation
|
|
references listed in the appendices that I would thoroughly recommend reading
|
|
before attempting network installations. Make sure you are completely happy
|
|
with a basic non-network Linux installation before you attempt networked
|
|
installs. Once you think you are ready then read very thoroughly through the
|
|
sections for the distribution you are interested in and make sure you read the
|
|
non-distribution specific sections carefully too. You should find the command
|
|
references in this HOWTO very helpful.
|
|
</DESCRIP>
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Quick Guide <LABEL ID="quickguide">
|
|
<P>
|
|
<NIDX>network install!Quick Guide</NIDX>
|
|
This chapter gives some overview information about installing Linux over a
|
|
network. All examples and information here can be considered generic between
|
|
different Linux distributions. If you want more specific information for a
|
|
particular distribution then please read one of the following relevant chapters.
|
|
|
|
|
|
<SECT1>Advantages & Disadvantages
|
|
<P>
|
|
The following is a list of advantages and disadvantages of installing Linux over
|
|
a network and the automatic installation features available with many
|
|
distributions of Linux. The list is in no specific order:
|
|
|
|
|
|
<SECT2>Advantages
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM>Fastest installation (on a good network)</ITEM>
|
|
<ITEM>Automatic configuration available (unattended installation)</ITEM>
|
|
<ITEM>Very quick installation of many systems</ITEM>
|
|
<ITEM>No need for physical installation media</ITEM>
|
|
<ITEM>Customisable installation with packages not available from the standard distribution</ITEM>
|
|
<ITEM>Once the install system is setup and working installations are very simple</ITEM>
|
|
<ITEM>Multiple system configurations available for automatic installation with different config files</ITEM>
|
|
<ITEM>Simultaneous installation from a single source</ITEM>
|
|
<ITEM>No need for an install media library, space-saving</ITEM>
|
|
<ITEM>Very easy to update</ITEM>
|
|
<ITEM>No problems with reading install media</ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Disadvantages
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM>Slow installation (on a bad network)</ITEM>
|
|
<ITEM>Added complexity of installation</ITEM>
|
|
<ITEM>Time needed initially to set up an install server</ITEM>
|
|
<ITEM>Relies on network and connectivity</ITEM>
|
|
<ITEM>Uses network bandwidth</ITEM>
|
|
<ITEM>A server machine is required (expensive)</ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT1>Automatic vs Manual Installation
|
|
<P>
|
|
This section briefly compares the differences between automatic (or unattended)
|
|
installations with the more common manual installations available. This should
|
|
give you a good idea of which system is right for your usage.
|
|
|
|
|
|
<SECT2>Automatic Installation
|
|
<P>
|
|
Automated or unattended installation is probably less used and less well known
|
|
for installing systems than manual installation. This instantly gives rise to
|
|
the challenges of trying to educate people about what it is and how to use it.
|
|
Once you understand the basics of networked installation then automatic
|
|
installation is a natural next step to take when installing and configuring
|
|
your systems.
|
|
|
|
Automatic installation has the major drawback of a longer setup period required
|
|
at the start of your process. This is to set up the install server (which you
|
|
need to do for any network install environment) but you must also make up one or
|
|
more configuration files for your install client to read. It is this setup
|
|
time and slight added complexity that you must weigh up before deciding whether
|
|
to do manual or automatic installations. Basically, as a rule of thumb, the
|
|
more machines you have to install, the more time will be saved by using
|
|
automatic installation techniques.
|
|
|
|
Automated installations are very easy to perform once you have the initial setup
|
|
completed. You boot your client system in any way shape or form you like
|
|
(usually by floppy disk) but you also provide access to your configuration file
|
|
to the client at install time (usually either on the floppy disk or over the
|
|
network connection). The configuration file contains all the required
|
|
information that your client will need for installation, from what
|
|
mouse/keyboard to use right through to the packages that you want installed on
|
|
your system.
|
|
|
|
Another large bonus point of using the automated installation techniques is that
|
|
most Linux distributions also provide means to add customised packages to the
|
|
system at install time. This means that you can install packages that are not
|
|
provided by the particular Linux distribution you are installing. There are
|
|
normally also further configuration steps available such as the ability to write
|
|
scripts for your installation that will get performed before, during, or after
|
|
the install is complete. This all adds up to providing much faster installation
|
|
of a complete system that is already setup in a customised way for your
|
|
particular environment.
|
|
|
|
|
|
<SECT2>Manual Installation
|
|
<P>
|
|
This is the method of Operating System (OS) installation that most people are used
|
|
to. Commonly we install our base OS using CDROM disks and boot from CDROM or
|
|
floppy disk before proceeding through a program of menus that allow us to
|
|
customise certain options. This is probably the greatest benefit of Manual
|
|
Installation i.e. most people are familiar with the process. However, it can
|
|
bring other benefits too such as a quick/easy/simple installation and this
|
|
method of installation is used more (therefore tested more) than other
|
|
methods of installation so it might just be more reliable too.
|
|
|
|
The problems with manual installation come when you update your system very
|
|
regularly, you are installing a large number of systems, or you want to have a
|
|
particularly customised setup. Manual installation will not allow you to add
|
|
extra programs to your OS at install time, you will have to install the OS then
|
|
boot it before configuring the programs you want in the way that you would like.
|
|
Also, this method can be quite time consuming if you are installing lots of
|
|
systems, particularly if you only have a few sets of CDs.
|
|
|
|
Manual installation can still be done using a networked install environment.
|
|
You can do this on any compatible OS that allows you to boot your client
|
|
machine ready for installation before loading your network drivers and
|
|
contacting your install server. All the data that would otherwise have been
|
|
copied from CD images is now sent over the network instead.
|
|
|
|
|
|
<SECT1>Hardware
|
|
<P>
|
|
You do not require any special hardware in order to install Linux over a network
|
|
in either manual or automated mode. The basic requirements are:
|
|
<ENUM>
|
|
<ITEM>That you have a server machine available to you that has enough storage
|
|
space on it to hold the install image that you want to transfer over the
|
|
network.</ITEM>
|
|
<ITEM>Ensure that this server is powerful enough to cope with the load that is
|
|
going to be placed upon it.</ITEM>
|
|
<ITEM>A network connection between your server and the client you want to
|
|
install.</ITEM>
|
|
<ITEM>A client machine with the appropriate hardware for the installation that
|
|
you are intending to do.</ITEM>
|
|
</ENUM>
|
|
|
|
Some examples where you might require specific hardware may be if you have a
|
|
specialised network or if you need to attach more storage to your server, for
|
|
example. In the example of attaching storage to your server, it does not matter
|
|
in any way to the installation process where the install image is held, it can
|
|
be on a local hard disk, in a RAID array, on a distributed filesystem or anywhere
|
|
that the server machine can access reliably and quickly.
|
|
|
|
It goes without saying that if you don't have a network or your network is
|
|
unreliable or slow then do not attempt network installations as they may fail
|
|
or take a very long time to complete.
|
|
|
|
|
|
<SECT1>Software/Services
|
|
<P>
|
|
You will require a basic understanding of some of the services that run on a
|
|
Linux based machine in order to setup your install server. These are services
|
|
that make your install image available over your local network to the client
|
|
machines that you want to install. In addition you will also need basic Linux
|
|
administration skills in order to set up and maintain your server well.
|
|
|
|
Most Linux distributions have a network installation method that makes use of
|
|
between one and three methods of transferring data cross a network. These
|
|
services may or may not have an impact on the installation you are going to
|
|
perform at the client end. The differences between the services will depend on
|
|
the Linux distribution you are installing and any distinctions that this
|
|
distribution makes between these services.
|
|
|
|
The three data transfer services are NFS (Network Filesystem), HTTP (Hypertext
|
|
Transfer Protocol) and FTP (File Transfer Protocol). Each of these services
|
|
is slightly different in the way that it operates, the function that it is
|
|
designed for, and the way that you administrate it. Basic guidance is provided
|
|
throughout this HOWTO about what these differences are but you are recommended
|
|
to familiarise yourself with each of them so that you can manage your system
|
|
responsibly and make informed choices about the services that you run.
|
|
|
|
|
|
<SECT1>Generic Server Setup Guide
|
|
<P>
|
|
This section gives a brief run down of setting up an install server for a
|
|
'general' Linux distribution. The terms and theory here are as general to all
|
|
Linux distributions as they can be and are designed specifically to give you a
|
|
very quick overview of what network installations involve. If you want to
|
|
perform network installations on your own machines then you are advised to read
|
|
the relevant sections of this HOWTO in full. If the HOWTO does not contain a
|
|
section for the distribution that you want to install then you can either change
|
|
the distribution you are installing over the network to match the HOWTO or use
|
|
the following as a very rough guide on how to do it.
|
|
|
|
|
|
<SECT2>Begin Setup
|
|
<P>
|
|
This section explains how to set up your server machine to be an install server
|
|
for a generic Linux distribution. For most distributions you can use any other
|
|
distribution as the install server. For example, you can install Redhat over
|
|
your network using a server installed with SuSE.
|
|
|
|
This guide starts from the point where you have a machine installed with Linux
|
|
which is already up and running and connected to your network. If you require
|
|
help with installing Linux on your server then please consult the Further
|
|
Information section of this HOWTO in <REF ID="AppendixA" NAME="Appendix A">.
|
|
|
|
|
|
<SECT2>Setting Up Filespace
|
|
<P>
|
|
<NIDX>network install!generic</NIDX>
|
|
In order to set up an install server you will need to put on all the required
|
|
data that will be needed to perform a full installation of the Linux
|
|
distribution you are going to serve. For example, if you are used to installing
|
|
Linux using CDs then you will need space on your server to copy <EM>ALL</EM>
|
|
the contents of each CD onto your server.
|
|
|
|
So, before you even think about setting up your machine as an install server,
|
|
you must check that you have the required space available. This sounds like a
|
|
trivial thing to check but it is very important and easily forgotten when you're
|
|
setting up.
|
|
|
|
|
|
<SECT3>How much space will you need?
|
|
<P>
|
|
A guide for the amount of space that you will require will be the amount of
|
|
space on your install media that you are intending to copy from later. This
|
|
might be one of the following approximate examples:
|
|
<ITEMIZE>
|
|
<ITEM>Number of CDs x 650Mb</ITEM>
|
|
<ITEM>Number of ISO images x 650Mb</ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT3>How much space do you have?
|
|
<P>
|
|
You will need the appropriate amount of space available to your system on some
|
|
local filesystem. It does not matter what form this takes, whether it's a RAID
|
|
device, local disk (either SCSI or IDE), etc. Ensure that the space you intend
|
|
to use is formatted with your chosen filesystem and is mounted.
|
|
|
|
You can check this space with the command: <VERB>df -h</VERB>
|
|
|
|
If this output shows you have enough space to copy your install media then
|
|
great, you can continue installation. If not then it's time to think about an
|
|
upgrade to your intended server machine!
|
|
|
|
|
|
<SECT2>Copy Installation Media
|
|
<P>
|
|
Once you know you have enough space available it's time to start copying your
|
|
install media to your chosen filesystem and directory. This might involve
|
|
copying the entire contents of all your CDs to one install directory on your
|
|
server or copying the data over the network by some method, etc.
|
|
|
|
|
|
<SECT2>Enable Remote Access
|
|
<P>
|
|
Time to make your install data available to other machines on the network.
|
|
Most distributions allow installation over the network using NFS, HTTP and FTP
|
|
protocols. You can select which of these will be used at install time on the
|
|
client. If one of the services is not setup on the machine then it will still
|
|
be available for selection by the client but the install will not work.
|
|
Therefore, it is either best to enable all three services on your server (so
|
|
they all work on each client machine) or if you don't enable all three then
|
|
advertise the fact very well and say which service should be used for your
|
|
particular install server.
|
|
|
|
|
|
<SECT3>NFS
|
|
<P>
|
|
To install over NFS you need to meet certain conditions on the server:
|
|
<ITEMIZE>
|
|
<ITEM>Your install directory is exported</ITEM>
|
|
<ITEM>NFS is installed and running</ITEM>
|
|
<ITEM>Portmap is running</ITEM>
|
|
</ITEMIZE>
|
|
|
|
To export your install directory edit the <TT>/etc/exports</TT> file and add an
|
|
entry for your installation target directory to it. If you are not sure about
|
|
exporting filesystems then see your man page for the exports file at
|
|
exports (5).
|
|
|
|
|
|
<SECT3>FTP
|
|
<P>
|
|
To install over FTP you need to allow FTP access to the directory that you have
|
|
setup on the server as the installation directory. This can be either anonymous
|
|
FTP access or access through a named account with a password. Anonymous access
|
|
is probably best unless you have a reason to protect your install server via
|
|
a password.
|
|
|
|
If you want anonymous FTP to point to a different directory then you can use
|
|
sym links to point to the directory that you have set up as the install
|
|
directory on the server. This will allow FTP into a chrooted environment but
|
|
still give you access to the install images in a different location.
|
|
|
|
|
|
<SECT3>HTTP
|
|
<P>
|
|
If you have a web server running and want to enable HTTP access to your install
|
|
server then add sym links from your document root to the install server
|
|
directory and this will grant access. If you are not familiar with web servers
|
|
or are not comfortable with this approach then leave out HTTP access from your
|
|
install server as it provides no benefits over NFS or FTP installs which may
|
|
be simpler to set up.
|
|
|
|
If you do choose to use HTTP then basically all you have to do is make the
|
|
install directory visible to your web server by making it appear under the
|
|
document root by some means.
|
|
|
|
|
|
<SECT2>Basic Setup Complete
|
|
<P>
|
|
You have now completed the basic setup of your install server. Different
|
|
distributions will grant you different options for further customisation
|
|
techniques of the installation process. The most commonly found customisation
|
|
is the option to install packages that do not come as standard with the
|
|
distribution you are installing. However, there may be further customisations
|
|
you want to do on your particular server or that are available for your
|
|
particular Linux distribution.
|
|
|
|
|
|
<SECT1>Generic Client Install Guide
|
|
<P>
|
|
This section gives a brief run down of setting up a client machine using your
|
|
install server. The terms and theory here are as general to all Linux
|
|
distributions as I can be and are designed specifically to give you a very
|
|
quick overview of what network installations involve. If you want to perform
|
|
network installations on your own machines then you are advised to read the
|
|
relevant sections of this HOWTO in full. If the HOWTO does not contain a
|
|
section for the distribution that you want to install then you can either
|
|
change the distribution you are installing over the network to match the HOWTO
|
|
or use the following as a very rough guide on how to do it.
|
|
|
|
|
|
<SECT2>Create Config Files
|
|
<P>
|
|
You only need to read/follow this section if you are intending to use an
|
|
automated install process, if you intend to do a manual installation over
|
|
your network then skip this section. Here we go through the process of creating
|
|
configuration files that the installer will read in order to create the
|
|
configuration of our client machines we are installing during an unattended
|
|
network installation.
|
|
|
|
|
|
<SECT3>Configuration Program Installation
|
|
<P>
|
|
In order to start creating your config files you will need to install the
|
|
relevant config file editor. Each distribution that is capable of installing
|
|
in unattended mode over the network will provide some means of editing config
|
|
files. Make sure you have these installed on some Linux machine that will
|
|
allow you to create and save all the different configurations you might want
|
|
to install on your network.
|
|
|
|
|
|
<SECT3>Create A Basic Config File <LABEL ID="genericbasicconfig">
|
|
<P>
|
|
Once you have confirmed that you have the configuration program package
|
|
installed, you can start to create configuration files. For most situations
|
|
the basic configuration described here will be sufficient to perform your
|
|
installations.
|
|
|
|
Start the configuration program that you have on your system. In most cases,
|
|
you will now be presented with a window that allows you to configure most of
|
|
your installation options as if you were installing a new machine or performing
|
|
an upgrade. You can proceed through each menu, configuring your options for a
|
|
particular system or set of similar systems that you wish to automatically
|
|
install.
|
|
|
|
Once you have progressed through each configuration screen, you are ready to
|
|
save out your configuration file to disk. Click the save button and choose a
|
|
location on your system to store configuration files. If you are creating lots
|
|
of different configurations then it might be worthwhile creating your own
|
|
configuration repository - don't forget to name the files sensibly so you know
|
|
which is which.
|
|
|
|
|
|
<SECT3>Advanced Config File Setup
|
|
<P>
|
|
Before attempting advanced configuration please make sure that you have first
|
|
created a valid basic configuration file as described <REF ID="genericbasicconfig" NAME="above">.
|
|
It is perfectly possible to create your own configuration files from scratch
|
|
but it is far easier to use the tools provided to do the job for you!
|
|
|
|
Once you have your configuration file saved, you can open it in your favourite
|
|
text editor. You can use or modify any of the existing tags in your file, just
|
|
so long as the tags, options, and syntax you use are legal. Once you have
|
|
edited the file manually then save it back out in text format again. The best
|
|
use of editing the configuration file manually is probably for adding your own
|
|
customised packages to the installation.
|
|
|
|
|
|
<SECT2>Boot the Machine
|
|
<P>
|
|
The most common method of booting a client ready for installation over a network
|
|
is to use a floppy disk.
|
|
<ENUM>
|
|
<ITEM>If you have not already created a boot floppy then do it now (you only
|
|
need to do this step once, when you have a boot floppy you can install as many
|
|
machines as you like with a single floppy):
|
|
<ITEMIZE>
|
|
<ITEM>Locate the floppy image that you need to use.</ITEM>
|
|
<ITEM>Copy the image to your floppy disk (make sure you have one
|
|
inserted in the drive, but not mounted) using the following command:
|
|
<VERB>dd if=your-file.img of=/dev/fd0</VERB></ITEM>
|
|
</ITEMIZE>
|
|
<ITEM>If you are doing an automated install (with the config file) then you
|
|
should follow this step (otherwise skip to next step):
|
|
<ITEMIZE>
|
|
<ITEM>Copy your config file to the root directory of the floppy</ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
<ITEM>Insert your floppy disk into the client machine that you want to install.
|
|
Make sure that the floppy disk is in the boot list of your BIOS and turn on your
|
|
machine to boot from the floppy.</ITEM>
|
|
<ITEM>At the boot prompt:
|
|
<ITEMIZE>
|
|
<ITEM>If you are doing an automated install then start the automated
|
|
process</ITEM>
|
|
<ITEM>If you're not using config files then press ENTER for the
|
|
default installation</ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
<ITEM>Finish the installation.</ITEM>
|
|
</ENUM>
|
|
|
|
Don't forget that some distributions will allow you to boot from other media as
|
|
well as floppy images to perform network installations. Also, each distribution
|
|
normally has a set of extra boot options that you can use if the above method
|
|
does not work on your hardware. These extra configuration options are normally
|
|
for less common hardware but are provided to make sure you can perform network
|
|
installs.
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>SuSE Server Setup
|
|
<P>
|
|
<NIDX>network install!suse server setup</NIDX>
|
|
This section explains how to set up your server machine to be an install server
|
|
for SuSE Linux. You can set up any Linux distribution to be a SuSE Linux
|
|
install server, this machine does not necessarily have to be running SuSE Linux
|
|
itself.
|
|
|
|
This guide starts from the point where you have a machine installed with Linux
|
|
which is already up and running and connected to your network. If you require
|
|
help with installing Linux on your server then please consult the Further
|
|
Information section of this HOWTO in <REF ID="AppendixA" NAME="Appendix A">.
|
|
|
|
|
|
<SECT1>Setting Up Filespace
|
|
<P>
|
|
In order for your server to act as a SuSE Network Install server you will need
|
|
to put on all the required data that will be needed to perform a full
|
|
installation of the SuSE version you are serving. For example, if you are used
|
|
to installing SuSE using CDs then you will need space on your server to copy
|
|
<EM>ALL</EM> the contents of each CD onto your server.
|
|
|
|
So, before you even think about setting up your machine as an install server,
|
|
you must check that you have the required space available. This sounds like a
|
|
trivial thing to check but it is very important and easily forgotten when you're
|
|
setting up.
|
|
|
|
|
|
<SECT2>How much space will you need?
|
|
<P>
|
|
A guide for the amount of space that you will require will be the amount or
|
|
space of install media that you are intending to copy from later. This might be
|
|
one of the following examples:
|
|
|
|
<ITEMIZE>
|
|
<ITEM>Number of CDs x 650Mb</ITEM>
|
|
<ITEM>Number of ISO images x 650Mb</ITEM>
|
|
<ITEM>One DVD which might be roughly 5Gb</ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>How much space do you have?
|
|
<P>
|
|
You will need the appropriate amount of space available to your system on some
|
|
local filesystem. It does not matter what form this takes, whether it's a RAID
|
|
device, local disk (either SCSI or IDE), etc. Ensure that the space you intend
|
|
to use is formatted with your chosen filesystem and is mounted.
|
|
|
|
You can check this space with the command: <VERB>df -h</VERB>
|
|
|
|
If this output shows you have enough space to copy your install media then
|
|
great, you can continue installation. If not then it's time to think about an
|
|
upgrade to your intended server machine!
|
|
|
|
|
|
<SECT1>Copy Installation Media
|
|
<P>
|
|
Once you know you have enough space available it's time to start copying your
|
|
install media to your chosen filesystem and directory. For the purposes of this
|
|
HOWTO we will use the following example to represent the directory from which
|
|
our install server will be setup and running: <VERB>/install</VERB>
|
|
|
|
Copy your install media to <TT>/install</TT>. The following example shows you how to do
|
|
this for copying your SuSE CD images to <TT>/install</TT>:
|
|
<ENUM>
|
|
<ITEM>Mount your CD<NEWLINE>e.g. <TT>mount /mnt/cdrom</TT></ITEM>
|
|
<ITEM>Copy the data from CD<NEWLINE>e.g. <TT>cp -av /mnt/cdrom /install</TT></ITEM>
|
|
<ITEM>Unmount the CD<NEWLINE>e.g. <TT>umount /mnt/cdrom</TT></ITEM>
|
|
<ITEM>Now swap CDs and repeat from step 1 for each of your CDs you have.</ITEM>
|
|
<ITEM>Ensure that you have the dot files from the root directory of each CD copied over to <TT>/install</TT></ITEM>
|
|
</ENUM>
|
|
|
|
Now you should have all you need in <TT>/install</TT> but if you have copied
|
|
from CD then as far as SuSE is concerned the <TT>/install</TT> directory still
|
|
represents a set of CD images that you have copied. You need to change this
|
|
such that the set of CD images appears as a single installation medium. Use
|
|
the following Perl command to do this:
|
|
<VERB>perl -pi -e 's/InstPath:\t\d+/InstPath:\t01/' /install/suse/setup/descr/common.pkd</VERB>
|
|
|
|
|
|
<SECT1>Enable Remote Access
|
|
<P>
|
|
Time to make your install data available to other machines on the network.
|
|
|
|
|
|
<SECT2>NFS
|
|
<P>
|
|
SuSE is best installed over the network using NFS since support for the HTTP and
|
|
FTP protocols is not necessarily supported during installation, even though later
|
|
system updates may be applied over HTTP or FTP.
|
|
|
|
To install over NFS you need to meet certain conditions on the server:
|
|
<ITEMIZE>
|
|
<ITEM>Your install directory is exported</ITEM>
|
|
<ITEM>NFS is installed and running</ITEM>
|
|
<ITEM>Portmap is running</ITEM>
|
|
</ITEMIZE>
|
|
|
|
To export your install directory edit the <TT>/etc/exports</TT> file and add an
|
|
entry for <TT>/install</TT> to it. In our example, we would use the folowing
|
|
line: <VERB>/install *(ro)</VERB>
|
|
When you have saved your exports file you must then get your NFS daemon to read
|
|
its configuration file again in order to export the directory you just added.
|
|
Do this by running the command: <VERB>exportfs -r</VERB>
|
|
This gives us the most simple read-only export to all hosts on our network. If
|
|
you want to include more advanced options in your export e.g. only exporting to
|
|
certain hosts on the network or a certain subnet, etc then see your man page for
|
|
the exports file at exports (5).
|
|
|
|
You have now completed the basic setup of your install server.
|
|
|
|
|
|
<SECT1>Package Customisation <LABEL ID="susecustomrpm">
|
|
<P>
|
|
You can, if you wish, add your own packages to the SuSE distribution so that
|
|
they are installed along with SuSE over the network when you install your
|
|
clients. The advantage of this is that you don't have to spend time
|
|
configuring each machine for packages that you may want installed that are
|
|
not included with SuSE. Examples of this might be your own RPM packages that
|
|
you have created or some specialised package.
|
|
|
|
Simply copy your RPM package files into the following directory
|
|
<VERB>/install/suse/custom</VERB>
|
|
<EM>NOTE: you may need to create this directory if it does not exist</EM>
|
|
|
|
Your custom RPM packages should now be available to the clients.
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>SuSE Client Install
|
|
<P>
|
|
<NIDX>network install!suse client install</NIDX>
|
|
You should have already decided by now using the <REF ID="quickguide" NAME="Quick Guide"> section
|
|
of this HOWTO whether you are going to install your machine using the automated
|
|
process or a manual process. The automated process under SuSE is known as
|
|
AutoYaST and in short provides you with a configuration file for the machine
|
|
that you are going to install so that you can perform unattended installs of
|
|
client machines.
|
|
|
|
|
|
<SECT1>Create AutoYaST Config Files
|
|
<P>
|
|
You only need to read/follow this section if you are intending to use an
|
|
automated install process, if you intend to do a manual installation over
|
|
your network then skip this section. Here we go through the process of creating
|
|
configuration files that the installer will read in order to create the
|
|
configuration of our client machine we are installing during an unattended
|
|
network installation.
|
|
|
|
|
|
<SECT2>YaST 2 Module Installation
|
|
<P>
|
|
In order to start creating your config files you will need to install the
|
|
AutoYaST module for YaST2 on your SuSE machine. You will need three RPMs for
|
|
this, all of which are on your SuSE source media e.g. CDs. The three RPMs are:
|
|
<ITEMIZE>
|
|
<ITEM>yast2-trans-autoinst</ITEM>
|
|
<ITEM>yast2-config-autoinst</ITEM>
|
|
<ITEM>yast2-module-autoinst</ITEM>
|
|
</ITEMIZE>
|
|
|
|
Check to see if you already have them installed with the command: <VERB>rpm -q {rpm package name}</VERB>
|
|
|
|
If these packages are not installed then install with the command: <VERB>rpm -Uvh {rpm package name}</VERB>
|
|
|
|
|
|
<SECT2>Create A Basic Config File <LABEL ID="susebasicconfig">
|
|
<P>
|
|
Once you have confirmed that you have the AutoYaST packages installed on your
|
|
system, you can now start to create configuration files. For most situations
|
|
the basic configuration described here will be sufficient to perform your
|
|
installations.
|
|
|
|
Start the YaST2 Autoinstall configuration GUI with the command: <VERB>yast2 autoyast</VERB>
|
|
|
|
You will now be presented with a window that allows you to configure most of
|
|
your installation options as if you were installing a new machine or performing
|
|
an upgrade. You can proceed through the menu system configuring your options
|
|
for a particular system or set of similar systems that you wish to automatically
|
|
install. Alternatively, you can create class definitions which allows you to
|
|
save different parts of the configuration setup and then use different classes
|
|
for different sets of machines.
|
|
|
|
The use of classes is particularly good when you have a set of systems that are
|
|
similar but that you would like installed in slightly different ways. For
|
|
example, you could create a class definition for the hardware setup of all your
|
|
client machines and create a separate class for the packages you want installed
|
|
on them, whether they are server machines, test machines, workstations, etc.
|
|
You can then choose which classes are used by which machines when they are
|
|
installed. In our example here, all the machines would use the same hardware
|
|
setup, but the workstation machines could install our workstation class of
|
|
packages, test machines the test class, etc.
|
|
|
|
Once you have progressed through each configuration screen in the config setup
|
|
GUI from YaST2 you are ready to save out your configuration file to disk. <EM>
|
|
NOTE: it is outside the boundaries of this document to take you through each
|
|
configuration option for installation, we are just concerned with the principles
|
|
of network installs here. Please consult your SuSE documentation or
|
|
the <URL URL="http://www.suse.com" NAME="SuSE Website"> for this information.</EM>
|
|
|
|
When you save your configuration files they will be stored locally in two
|
|
different locations depending on what file you have created as follows:
|
|
<ITEMIZE>
|
|
<ITEM>Machine configuration files are stored in <TT>/var/lib/autoinstall/repository</TT></ITEM>
|
|
<ITEM>Class definition files are stored in <TT>/var/lib/autoinstall/classes</TT></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Advanced Config File Setup
|
|
<P>
|
|
Before attempting advanced configuration please make sure that you have first
|
|
created a valid basic configuration file as described <REF ID="susebasicconfig" NAME="above">.
|
|
It is perfectly possible to create your own configuration files from scratch
|
|
but it is far easier to use the tools provided to do the job for you!
|
|
|
|
Once you have your configuration file saved, you can open it in your favourite
|
|
text editor. The file is in XML format so it is particularly easy to follow and
|
|
edit manually. You can use or modify any of the existing tags in your file,
|
|
just so long as the tags, options, and syntax you use are legal. A full guide
|
|
to the tags and their usage can be found in the AutoYaST manual, please see
|
|
<REF ID="AppendixA" NAME="Appendix A"> of this guide for a reference.
|
|
|
|
The best use of editing the configuration file manually is probably for adding
|
|
your own customised packages to the installation. Back in
|
|
the <REF ID="susecustomrpm" NAME="SuSE Server Setup"> section we describe how to
|
|
add your own customised packages to your install server. Here, we describe how
|
|
to access those packages using the configuration file so they can be
|
|
automatically installed with the rest of the system.
|
|
|
|
You should be able to locate a <TT><software></TT> section in your basic
|
|
configuration file in your editor. You can use a sub-tag inside the software
|
|
section called the <TT><extra_packages></TT> tag which can be used as in
|
|
the following example:
|
|
<VERB>
|
|
<software>
|
|
<extra_packages>
|
|
<package_location>
|
|
custom
|
|
</package_location>
|
|
<packages config:type="list">
|
|
<package>{Your package name}</package>
|
|
<package>{Another Package}</package>
|
|
</packages>
|
|
<extra_packages>
|
|
<base>Default<base>
|
|
<software>
|
|
</VERB>
|
|
|
|
The package location is written as <TT>custom</TT> which describes the directory
|
|
under the <TT>suse</TT> directory of you install server where you have put your
|
|
custom packages, in our example this would be <TT>/install/suse/custom</TT>,
|
|
but you only need to write <TT>custom</TT> here.
|
|
|
|
You can include as many <TT>package</TT> tags under the <TT>packages</TT>
|
|
section as you wish. Use one <TT>package</TT> tag for each custom package you
|
|
want to include in your config file and install on the client machine.
|
|
|
|
The <TT>base</TT> tag at the bottom should be left as you configured it during
|
|
the basic configuration.
|
|
|
|
Save your modified configuration file from your text editor and it will then be
|
|
ready to use in your installations as described below.
|
|
|
|
|
|
<SECT1>Boot the Machine
|
|
<P>
|
|
There are different situations during a network installation boot of one of your
|
|
client systems that might mean that you wish to boot in one of the ways below.
|
|
<EM>NOTE: you only need use one of the methods described for the particular
|
|
usage for which it has been described.</EM>
|
|
|
|
|
|
<SECT2>Manual Installation
|
|
<P>
|
|
If you skipped over the section above about creating AutoYaST config files then
|
|
this is the way in which you should boot your client machines.
|
|
<ENUM>
|
|
<ITEM>Turn on your machine, ensure the CD drive is in the boot list of your
|
|
BIOS, insert the CD. You should be faced with the normal boot menu of the SuSE
|
|
installation program. As an alternative to booting from CD, you can boot from
|
|
floppy images, from the network, or using whichever method you would normally
|
|
use to boot the installation program.</ITEM>
|
|
<ITEM>Select the "Manual Installation" option from the boot menu</ITEM>
|
|
<ITEM>Your client should now boot the installation program and present you with
|
|
a new menu system for the installer</ITEM>
|
|
<ITEM>Load any network modules you will need in order to connect to your network</ITEM>
|
|
<ITEM>Load any other modules you might need for installation e.g. SCSI modules
|
|
if you are installing onto a SCSI type machine.</ITEM>
|
|
<ITEM>Select "Start Installation" from the menu</ITEM>
|
|
<ITEM>Choose the NFS option and fill in the IP addresses when prompted for.
|
|
These should all be familiar to you i.e. the IP address of your server, and
|
|
perhaps your client and nameserver as well if you have not selected to use DHCP.</ITEM>
|
|
<ITEM>The installation will now proceed to the configuration screens where you
|
|
can select the installation options you require for your client in the normal
|
|
way</ITEM>
|
|
<ITEM>Once you have configured all the installation options and selected to
|
|
start the installation process, instead of reading from the normal CD (or other)
|
|
media, the installation program will read all the information it needs from the
|
|
network.</ITEM>
|
|
<ITEM>Don't forget to remove the CD (or other media) from the drive otherwise
|
|
you could end up with a recursive installation process.</ITEM>
|
|
<ITEM>Go grab a cup of something while you wait for your shiny new installation
|
|
to finish, no changing of installation media needed.</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<SECT2>Automatic Installation
|
|
<P>
|
|
If you followed the section above about creating AutoYaST config files then this
|
|
is the way in which you should boot your client machines.
|
|
<ENUM>
|
|
<ITEM>Copy your config file that you have already created as above from your
|
|
repository directory on your hard disk to your floppy disk as a file called
|
|
autoinst.xml. You can do this as follows:
|
|
<VERB>
|
|
Insert and mount a floppy disk
|
|
cp /var/lib/autoinstall/repository/Your-File /dev/fd0/autoinst.xml
|
|
Unmount the floppy disk
|
|
</VERB></ITEM>
|
|
<ITEM>Put your floppy disk with the config file in your client machine</ITEM>
|
|
<ITEM>Turn on your machine, ensure the CD drive is in the boot list of your
|
|
BIOS, insert the CD. You should be faced with the normal boot menu of the SuSE
|
|
installation program. As an alternative to booting from CD, you can boot from
|
|
floppy images, from the network, or using whichever method you would normally
|
|
use to boot the installation program.</ITEM>
|
|
<ITEM>At the boot menu leave the default line as Linux to do the standard boot,
|
|
but add the following parameters in order to read your configuration file from
|
|
the floppy disk:
|
|
<VERB>
|
|
linux autoyast=floppy
|
|
</VERB></ITEM>
|
|
<ITEM>Your client should now boot the installation program and it will try to
|
|
load appropriate modules and install the system with the information that you
|
|
have provided in the config file.</ITEM>
|
|
<ITEM>If you are prompted to input any information for any reason then do so
|
|
e.g. if the installer cannot connect to your network.</ITEM>
|
|
<ITEM>Once the installation is running then you can remove the CD and the floppy
|
|
disk and grab a cup of something while you wait for your shiny new installation
|
|
to finish, no changing of installation media needed.</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<SECT3>Further Boot Options
|
|
<P>
|
|
This is an extension to the technique used to boot client machines for Automatic
|
|
Installations as described above. You should try this method if you have tried
|
|
and failed with the method above. This section should help you if you have had
|
|
network connection problems during boot, for example, if you do not have a DHCP
|
|
server on your network.
|
|
|
|
You can create what we call an "<EM>info</EM>" file to hold information about
|
|
your clients network details. This can then be used more explicitly by the
|
|
install process to contact your network. This is a plain text file in which
|
|
you put certain keyword and value combinations that are recognised by the
|
|
installer.
|
|
|
|
The list of keywords you can use is as follows:
|
|
<ITEMIZE>
|
|
<ITEM>autoyast - the location of your configuration file</ITEM>
|
|
<ITEM>gateway - the gateway your client should use (if any)</ITEM>
|
|
<ITEM>insmod - any special kernel modules you need to be loaded</ITEM>
|
|
<ITEM>install - a full path to your server installation directory</ITEM>
|
|
<ITEM>ip - the address of your client machine. If this is blank then the
|
|
installer will try BOOTP/DHCP</ITEM>
|
|
<ITEM>nameserver - the nameserver address on your network</ITEM>
|
|
<ITEM>netdevice - the network adaptor you want to be used</ITEM>
|
|
<ITEM>netmask - your client's netmask</ITEM>
|
|
<ITEM>server - the hostname or IP address of the server you have set up i.e. the
|
|
machine you have your NFS exports from</ITEM>
|
|
<ITEM>serverdir - the directory on your server the installation should be taken
|
|
from</ITEM>
|
|
</ITEMIZE>
|
|
|
|
Using the above keywords in an example info file, you <EM>might</EM> end up with
|
|
something looking a little bit like this:
|
|
<VERB>
|
|
install: nfs://10.0.0.100/install/SuSE8.0
|
|
netdevice: eth0
|
|
server: 10.0.0.100
|
|
serverdir: /install/SuSE8.0
|
|
ip: 10.0.0.200
|
|
netmask: 255.0.0.0
|
|
gateway: 10.0.0.1
|
|
nameserver: 10.0.0.2
|
|
autoyast: floppy
|
|
</VERB>
|
|
|
|
Substitute the IP addresses above for relevant ones for your particular network
|
|
and save this file with filename <TT>info</TT> in the root directory of your
|
|
floppy disk that contains your configuration file <TT>autoinst.xml</TT>
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Redhat Server Setup
|
|
<P>
|
|
<NIDX>network install!redat server setup</NIDX>
|
|
This section explains how to set up your server machine to be an install server
|
|
for Redhat Linux. You can set up any Linux distribution to be a Redhat install
|
|
server, this machine does not necessarily have to be running Redhat.
|
|
|
|
This guide starts from the point where you have a machine installed with Linux
|
|
which is already up and running and connected to your network. If you require
|
|
help with installing Linux on your server then please consult the Further
|
|
Information section of this HOWTO in <REF ID="AppendixA" NAME="Appendix A">.
|
|
|
|
|
|
<SECT1>Setting Up Filespace
|
|
<P>
|
|
In order for your server to act as a Redhat network install server you will need
|
|
to put on all the required data that will be needed to perform a full
|
|
installation of the Redhat version you are serving. For example, if you are
|
|
used to installing Redhat using CDs then you will need space on your server to
|
|
copy <EM>ALL</EM> the contents of each CD onto your server.
|
|
|
|
So, before you even think about setting up your machine as an install server,
|
|
you must check that you have the required space available. This sounds like a
|
|
trivial thing to check but it is very important and easily forgotten when you're
|
|
setting up.
|
|
|
|
|
|
<SECT2>How much space will you need?
|
|
<P>
|
|
A guide for the amount of space that you will require will be the amount or
|
|
space of install media that you are intending to copy from later. This might be
|
|
one of the following examples:
|
|
<ITEMIZE>
|
|
<ITEM>Number of CDs x 650Mb</ITEM>
|
|
<ITEM>Number of ISO images x 650Mb</ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>How much space do you have?
|
|
<P>
|
|
You will need the appropriate amount of space available to your system on some
|
|
local filesystem. It does not matter what form this takes, whether it's a RAID
|
|
device, local disk (either SCSI or IDE), etc. Ensure that the space you intend
|
|
to use is formatted with your chosen filesystem and is mounted.
|
|
|
|
You can check this space with the command: <VERB>df -h</VERB>
|
|
|
|
If this output shows you have enough space to copy your install media then
|
|
great, you can continue installation. If not then it's time to think about an
|
|
upgrade to your intended server machine!
|
|
|
|
|
|
<SECT1>Copy Installation Media
|
|
<P>
|
|
Once you know you have enough space available it's time to start copying your
|
|
install media to your chosen filesystem and directory. For the purposes of this
|
|
HOWTO we will use the following example to represent the directory from which
|
|
our install server will be setup and running: <VERB>/install</VERB>
|
|
|
|
Copy your install media to <TT>/install</TT>. The following example shows you how to do
|
|
this for copying your Redhat CD images to <TT>/install</TT>:
|
|
<ENUM>
|
|
<ITEM>Mount your CD<NEWLINE>e.g. <TT>mount /mnt/cdrom</TT></ITEM>
|
|
<ITEM>Copy the data from CD<NEWLINE>e.g. <TT>cp -av /mnt/cdrom /install</TT></ITEM>
|
|
<ITEM>Unmount the CD<NEWLINE>e.g. <TT>umount /mnt/cdrom</TT></ITEM>
|
|
<ITEM>Now swap CDs and repeat from step 1 for each of your CDs you have.</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<SECT1>Enable Remote Access
|
|
<P>
|
|
Time to make your install data available to other machines on the network.
|
|
Redhat can be installed over the network using NFS, HTTP and FTP protocols.
|
|
You can select which of these will be used at install time on the client. If
|
|
one of the services is not setup on the machine then it will still be available
|
|
for selection by the client but the install will not work. Therefore, it is
|
|
either best to enable all three services on your server (so they all work on
|
|
each client machine) or if you don't enable all three then advertise the fact
|
|
very well and say which service should be used for your particular install
|
|
server.
|
|
|
|
|
|
<SECT2>NFS
|
|
<P>
|
|
The NFS protocol is the only one which will work with the graphical install
|
|
method of Redhat when installing your client machine. Therefore, if you want
|
|
to do graphical (as opposed to text based) installations then you must enable
|
|
this service on your server.
|
|
|
|
To install over NFS you need to meet certain conditions on the server:
|
|
<ITEMIZE>
|
|
<ITEM>Your install directory is exported</ITEM>
|
|
<ITEM>NFS is installed and running</ITEM>
|
|
<ITEM>Portmap is running</ITEM>
|
|
</ITEMIZE>
|
|
|
|
To export your install directory edit the <TT>/etc/exports</TT> file and add an
|
|
entry for <TT>/install</TT> to it. In our example, we would use the folowing
|
|
line: <VERB>/install *(ro)</VERB>
|
|
When you have saved your exports file you must then get your NFS daemon to read
|
|
its configuration file again in order to export the directory you just added.
|
|
Do this by running the command: <VERB>exportfs -r</VERB>
|
|
This gives us the most simple read-only export to all hosts on our network. If
|
|
you want to include more advanced options in your export e.g. only exporting to
|
|
certain hosts on the network or a certain subnet, etc then see your man page for
|
|
the exports file at exports (5).
|
|
|
|
|
|
<SECT2>FTP
|
|
<P>
|
|
The FTP protocol will only allow text installs to be performed by your clients.
|
|
This may or may not be ideal for your situation but bear it in mind.
|
|
|
|
To install over FTP you need to allow FTP access to the directory that you have
|
|
setup on the server as the installation directory. This can be either anonymous
|
|
FTP access or access through a named account with a password. Anonymous access
|
|
is probably best unless you have a reason to protect your install server via
|
|
a password.
|
|
|
|
If you want anonymous FTP to point to a different directory then you can use
|
|
sym links to point to the directory that you have set up as the install
|
|
directory on the server. This will allow FTP into a chrooted environment but
|
|
still give you access to the install images in a different location.
|
|
|
|
|
|
<SECT2>HTTP
|
|
<P>
|
|
Similarly to the FTP protocol, HTTP will only allow text installs on the client
|
|
side. If you have a web server running and want to enable HTTP access to your
|
|
install server then add sym links from your document root to the install server
|
|
directory and this will grant access. If you are not familiar with web servers
|
|
or are not comfortable with this approach then leave out HTTP access from your
|
|
install server as it provides no benefits over NFS or FTP installs which may
|
|
be simpler to set up.
|
|
|
|
If you do choose to use HTTP then basically all you have to do is make the
|
|
install directory visible to your web server by making it appear under the
|
|
document root by some means.
|
|
|
|
You have now completed the basic setup of your install server.
|
|
|
|
|
|
<SECT1>Package Customisation <LABEL ID="redhatcustomrpm">
|
|
<P>
|
|
You can, if you wish, add your own packages to the Redhat distribution so that
|
|
they are installed along with Redhat over the network when you install your
|
|
clients. The advantage of this is that you don't have to spend time
|
|
configuring each machine for packages that you may want installed that are
|
|
not included with Redhat. Examples of this might be your own RPM packages that
|
|
you have created or some specialised package.
|
|
|
|
Make sure you have the <TT>anaconda-runtime</TT> package installed on your
|
|
server. This is normally installed if you're running Redhat but if you have
|
|
another distribution on the server then you should be able to install the
|
|
Redhat RPM without too much trouble. To check if you have the correct
|
|
package enter the command <VERB>rpm -q anaconda-runtime</VERB>If the name
|
|
of the package is returned then you have it installed, if nothing is
|
|
returned the install the RPM as required.
|
|
|
|
Now simply copy your RPM package files into the following directory
|
|
<VERB>/install/Redhat/RPMS</VERB>
|
|
This is the directory that should already contain all the Redhat standard
|
|
RPMS for the Redhat version you have setup on your install server.
|
|
|
|
Once you have copied your custom RPMS you need to regenerate Redhat's list of
|
|
packages that it can install. Do this using the following command:
|
|
<VERB>/usr/lib/anaconda-runtime/genhdlist /install</VERB>
|
|
The directory used here of <TT>/install</TT> is the example directory we have
|
|
been using so far. Replace this with the directory where you copied the Redhat
|
|
CD images to. The directory should be the base directory of the Redhat CD set
|
|
i.e. the one that contains a subdirectory called <TT>Redhat</TT> before the
|
|
directory called <TT>RPMS</TT>
|
|
|
|
Your custom RPM packages should now be available to the clients.
|
|
|
|
|
|
<SECT2>Further Customisation
|
|
<P>
|
|
In addition to adding your own RPMS to Redhat you can also create RPM groups for
|
|
the installation process. These will be similar to the standard groups offered
|
|
by the Redhat install already such as the "Software Development" group which
|
|
will install all packages for this purpose onto your system.
|
|
|
|
This allows quick installation of many RPMS for a specific purpose on your
|
|
systems and the groups will become available like the normal Redhat groups (and
|
|
are used in the same way) upon installation of the client.
|
|
|
|
To create your own groups you must edit a text file called the <TT>comps</TT>
|
|
file. In our example, this is located at:
|
|
<VERB>/install/Redhat/base/comps</VERB>
|
|
|
|
Copy the syntax for the groups that are already in the file and you can create
|
|
your own groupings. These can include both packages from the standard Redhat
|
|
install or any custom packages that you might have already added i.e. you can
|
|
include any package in the <TT>RPMS</TT> directory.
|
|
|
|
Once you have edited the file then save it back out over the original (it might
|
|
be an idea to take a backup of the original but it will always be on your CD
|
|
images anyway if you need it). You must now run the <TT>genhdlist</TT> command
|
|
again as explained above.
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Redhat Client Install
|
|
<P>
|
|
<NIDX>network install!redhat client install</NIDX>
|
|
You should have already decided by now using the <REF ID="quickguide" NAME="Quick Guide"> section
|
|
of this HOWTO whether you are going to install your machine using the automated
|
|
process or a manual process. The automated process under Redhat is known as
|
|
Kickstart and in short provides you with a configuration file for the machine
|
|
that you are going to install so that you can perform unattended installs of
|
|
client machines.
|
|
|
|
|
|
<SECT1>Create Kickstart Config Files
|
|
<P>
|
|
You only need to read/follow this section if you are intending to use an
|
|
automated install process, if you intend to do a manual installation over
|
|
your network then skip this section. Here we go through the process of creating
|
|
configuration files that the installer will read in order to create the
|
|
configuration of our client machine we are installing during an unattended
|
|
network installation.
|
|
|
|
|
|
<SECT2>Kickstart Configurator Installation
|
|
<P>
|
|
In order to start creating your config files you will need to install the
|
|
Kickstart Configurator on your Linux machine. You will need one of two RPMS
|
|
for this depending on the version of Redhat you are using. These RPMS are
|
|
available on your Redhat install CDs as follows:
|
|
<ITEMIZE>
|
|
<ITEM><TT>redhat-config-kickstart</TT> - for versions 8.x and above</ITEM>
|
|
<ITEM><TT>ksconfig</TT> - for earlier versions</ITEM>
|
|
</ITEMIZE>
|
|
|
|
Check to see if you already have them installed with the command: <VERB>rpm -q {rpm package name}</VERB>
|
|
|
|
If these packages are not installed then install with the command: <VERB>rpm -Uvh {rpm package name}</VERB>
|
|
|
|
|
|
<SECT2>Create A Basic Config File <LABEL ID="redhatbasicconfig">
|
|
<P>
|
|
Once you have confirmed that you have the configurator packages installed,
|
|
you can now start to create configuration files. For most situations the basic
|
|
configuration described here will be sufficient to perform your installations.
|
|
|
|
Start the Kickstart configuration program that you have on your system. This
|
|
will be done with the command <TT>redhad-config-kickstart</TT> for Redhat 8.x
|
|
systems and above (or if you have the redhat-config-kickstart RPM installed),
|
|
or the command <TT>ksconfig</TT> for other Redhat systems (or if you have the
|
|
ksconfig RPM installed).
|
|
|
|
You will now be presented with a window that allows you to configure most of
|
|
your installation options as if you were installing a new machine or performing
|
|
an upgrade. You can proceed through each menu, configuring your options
|
|
for a particular system or set of similar systems that you wish to automatically
|
|
install.
|
|
|
|
Once you have progressed through each configuration screen, you are ready to
|
|
save out your configuration file to disk. <EM>NOTE: it is outside the
|
|
boundaries of this document to take you through each configuration option for
|
|
installation, we are just concerned with the principles of network installs
|
|
here. Please consult your Redhat documentation or
|
|
the <URL URL="http://www.redhat.com" NAME="Redhat Website"> for this
|
|
information.</EM> Click the "<TT>save</TT>" button and choose a location on
|
|
your system to store configuration files. If you are creating lots of different
|
|
configurations then it might be worthwhile creating your own configuration
|
|
repository - don't forget to name the files sensibly so you know which is which.
|
|
|
|
|
|
<SECT2>Advanced Config File Setup
|
|
<P>
|
|
Before attempting advanced configuration please make sure that you have first
|
|
created a valid basic configuration file as described <REF ID="redhatbasicconfig" NAME="above">.
|
|
It is perfectly possible to create your own configuration files from scratch
|
|
but it is far easier to use the tools provided to do the job for you!
|
|
|
|
Once you have your configuration file saved, you can open it in your favourite
|
|
text editor. <!--If you are using Redhat 8.x or above then the file is in XML,
|
|
otherwise you should see a plain text file with configuration keywords in it.-->
|
|
You can use or modify any of the existing tags in your file, just so long as
|
|
the tags, options, and syntax you use are legal. Once you have edited the file
|
|
manually then save it back out in text format again.
|
|
|
|
The best use of editing the configuration file manually is probably for adding
|
|
your own customised packages to the installation. Back in
|
|
the <REF ID="redhatcustomrpm" NAME="Redhat Server Setup"> section we describe
|
|
how to add your own customised packages to your install server. Here, we
|
|
describe how to access those packages using the configuration file so they can
|
|
be automatically installed with the rest of the system.
|
|
|
|
You should be able to locate a <TT>packages</TT> section in your basic
|
|
configuration file in your editor. You can add extra packages by name as you
|
|
require to the end of this list of packages. Follow the format of the other
|
|
packages that you have listed in the file already from the basic configuration.
|
|
Packages that start with <TT>@</TT> are package group names. You can use any
|
|
of the default Redhat package groups or you can use any custom groups you may
|
|
have created.
|
|
|
|
You can add as many packages and groups under the <TT>packages</TT> section as
|
|
you wish. Just put one package on each line and follow the format already
|
|
provided.
|
|
|
|
Save your modified configuration file from your text editor and it will then be
|
|
ready to use in your installations as described below.
|
|
|
|
|
|
<SECT1>Boot the Machine
|
|
<P>
|
|
It is simplest to use a floppy disk to boot your clients ready for installation.
|
|
Everything you need is provided for you on the Redhat CDs as follows:
|
|
<ENUM>
|
|
<ITEM>If you have not already created a boot floppy then do it now (you only
|
|
need to do this step once, when you have a boot floppy you can install as many
|
|
machines as you like with a single floppy):
|
|
<ITEMIZE>
|
|
<ITEM>Locate the floppy image that you need to use. This is on the
|
|
first Redhat CD and is at <TT>images/bootnet.img</TT></ITEM>
|
|
<ITEM>From the <TT>images</TT> directory on the CD copy the image to
|
|
your floppy disk (make sure you have one inserted in the drive, but not
|
|
mounted) using the following command:
|
|
<VERB>dd if=bootnet.img of=/dev/fd0</VERB></ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
<ITEM>If you are doing an automated install (with the config file) then you
|
|
should follow this step (otherwise skip to next step):
|
|
<ITEMIZE>
|
|
<ITEM>Mount your floppy disk <VERB>mount /mnt/floppy</VERB></ITEM>
|
|
<ITEM>Copy your config file to the root directory of the floppy with
|
|
the name <TT>ks.cfg</TT> <VERB>cp /path/to/file /mnt/floppy</VERB></ITEM>
|
|
<ITEM>Umount your floppy disk <VERB>umount /mnt/floppy</VERB></ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
<ITEM>Insert your floppy disk into the client machine that you want to install
|
|
Redhat on. Make sure that the floppy disk is in the boot list of your BIOS and
|
|
turn on your machine to boot from the floppy.
|
|
</ITEM>
|
|
<ITEM>At the boot prompt:
|
|
<ITEMIZE>
|
|
<ITEM>If you are doing an automated install:
|
|
<VERB>linux ks=floppy</VERB></ITEM>
|
|
<ITEM>If you're not using config files then press ENTER for the
|
|
default installation</ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
<ITEM>Finish the installation:
|
|
<ITEMIZE>
|
|
<ITEM>If you are doing an automated install then you must complete any
|
|
parts of the configuration process that you have missed in the config
|
|
file. If you have a complete config file then you're done so go get
|
|
yourself a cup of something nice and wait for your install to finish.</ITEM>
|
|
<ITEM>If you are doing a manual install then you must complete the
|
|
installation in the normal way, going through each menu of the Redhat
|
|
install program and selecting the options you require for your machine.
|
|
When you finish then it's time for a cup of something nice, no need to
|
|
swap install media here.</ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<SECT2>Further Boot Options
|
|
<P>
|
|
This is an extension to the technique used to boot client machines for automatic
|
|
installations as described above. You should try this method if you have tried
|
|
and failed with the method above. This section should help you if you have had
|
|
network connection problems during boot, for example, if you do not have a
|
|
network card supported by the floppy boot disk.
|
|
|
|
You can create a second floppy disk to use in the boot process which contains
|
|
extra drivers for network cards. This can then be read on boot and the drivers
|
|
loaded for your card from there instead. This is done as follows:
|
|
<ENUM>
|
|
<ITEM>In the <TT>images</TT> directory on your CD you should find a file called
|
|
<TT>drvnet.img</TT>.</ITEM>
|
|
<ITEM>From the <TT>images</TT> directory on your CD, copy the file to a
|
|
<EM>different</EM> floppy disk with the command:
|
|
<VERB>dd if=drvnet.img of=/dev/fd0</VERB>
|
|
Again, make sure your floppy disk is not mounted when you run this command.</ITEM>
|
|
<ITEM>Now you have a network driver floppy disk. You should return to your
|
|
installation as described above but now add the keyword <TT>dd</TT> to your
|
|
command line.
|
|
<ITEMIZE>
|
|
<ITEM>So for automated intall we type:
|
|
<VERB>linux dd ks=floppy</VERB></ITEM>
|
|
<ITEM>For manual install we type:
|
|
<VERB>linux dd</VERB></ITEM>
|
|
</ITEMIZE>
|
|
</ITEM>
|
|
<ITEM>When prompted if you have a driver disk, select <TT>YES</TT>. Then swap
|
|
the boot disk for your driver disk and the extra drivers will load and detect
|
|
your network card.</ITEM>
|
|
<ITEM>You should now continue with the installation as described above.</ITEM>
|
|
</ENUM>
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Debian Server Setup
|
|
<P>
|
|
<NIDX>network install!debian server setup</NIDX>
|
|
This section explains how to set up your server machine to be an install server
|
|
for Debian. You can set up any Linux distribution to be a Debian install
|
|
server, this machine does not necessarily have to be running Debian. Don't
|
|
forget that there are already plenty of Debian mirrors out there that provide
|
|
free access to the Debian archive so unless you really need your own archive it
|
|
might be best just to use one that already exists.
|
|
|
|
This guide starts from the point where you have a machine installed with Linux
|
|
which is already up and running and connected to your network. If you require
|
|
help with installing Linux on your server then please consult the Further
|
|
Information section of this HOWTO in <REF ID="AppendixA" NAME="Appendix A">.
|
|
|
|
|
|
<SECT1>Setting Up Filespace
|
|
<P>
|
|
In order for your server to act as a Debian network install server you will need
|
|
to set up your machine to be a mirror of the Debian archives. Unlike most Linux
|
|
distributions, Debian is commonly installed over the network, so you are not
|
|
likely to have obtained a set of CD images containing Debian. A mirror system
|
|
is provided that enables you to copy all the required data to your own server
|
|
machine, for free.
|
|
|
|
Before you even think about setting up your machine as an install server, you
|
|
must check that you have the required space available. This sounds like a
|
|
trivial thing to check but it is very important and easily forgotten when you're
|
|
setting up.
|
|
|
|
|
|
<SECT2>How much space will you need?
|
|
<P>
|
|
The entire Debian archives are roughly around 40Gb at the time of writing but if
|
|
you are going to set up a full mirror then bear in mind that this will grow. It
|
|
is possible for you to mirror only parts of the Debian archive and you can
|
|
obviously mirror just the parts that you think you will require. For example,
|
|
if you do not use a certain machine architecture then there may be little point
|
|
in your mirroring this part of the archive.
|
|
|
|
The latest information about the size of the Debian archive is available from
|
|
their website at <URL URL="http://www.debian.org/mirror/size">.
|
|
|
|
|
|
<SECT2>How much space do you have?
|
|
<P>
|
|
You will need the appropriate amount of space available to your system on some
|
|
local filesystem. It does not matter what form this takes, whether it's a RAID
|
|
device, local disk (either SCSI or IDE), etc. Ensure that the space you intend
|
|
to use is formatted with your chosen filesystem and is mounted.
|
|
|
|
You can check this space with the command: <VERB>df -h</VERB>
|
|
|
|
If this output shows you have enough space then great, you can continue.
|
|
If not then it's time to think about an upgrade to your intended server machine!
|
|
|
|
|
|
<SECT1>Mirror the Debian Archive
|
|
<P>
|
|
When you are confident that you have enough space for the data you want to
|
|
mirror then you can move on to this step. If you are not sure you have enough
|
|
space to mirror all the parts of the Debian archive that you want then you can
|
|
always try this method, then if you run out of space, remove some parts of the
|
|
archive from the mirror and try again.
|
|
|
|
Debian maintain their own guide on how to set up your own Debian mirror. You
|
|
are welcome to view this at <URL URL="http://www.debian.org/mirror/ftpmirror">.
|
|
The list of steps below is based on the Debian instructions but is my own
|
|
interpretation of them, designed to be easy to use and understand.
|
|
|
|
|
|
<SECT2>Where to Mirror From?
|
|
<P>
|
|
There are an awful lot of Debian sites out there that you could mirror from. It
|
|
is best for you to choose one that is near your location or one that you know
|
|
will have a good bandwidth to your location. Please remember, that if everybody
|
|
uses the same sites for their own mirrors then things will get rather slow, so
|
|
choose carefully.
|
|
|
|
A list of sites that you can choose to mirror from can be found
|
|
at <URL URL="http://www.debian.org/misc/README.mirrors">
|
|
|
|
|
|
<SECT2>How to Mirror?
|
|
<P>
|
|
I would recommend using a program called <TT>rsync</TT> to copy the data from
|
|
your chosen server to your own server. This is a program that is ideally suited
|
|
to mirroring data from one system to another. If you want to find out more
|
|
information about <TT>rsync</TT> itself then see the webpages or the man pages
|
|
for it.
|
|
|
|
Debian provide a well commented script
|
|
at <URL URL="http://www.debian.org/mirror/anonftpsync"> that
|
|
will perform the mirroring for you. Go to this site and download the
|
|
script to your server machine, we will then need to set up the script to mirror
|
|
the archive as you want it.
|
|
|
|
Now go through the entire script (it's not very long) and look at each line.
|
|
Decide whether you want the line to be active in your script or not. If you
|
|
don't know what a line does then it is probably best to leave it at it's
|
|
default setting. However, you <EM>must</EM> set up the script with some
|
|
minimal settings in order for it to work at all. These will include your chosen
|
|
server, the location to put the archive on your machine, etc.
|
|
|
|
Once you have set up the script with all the required information requested in
|
|
it then you are ready to run it and it will start copying data from the server
|
|
you have chosen to your own server machine. Don't forget to change the
|
|
permissions of the script so that it is executable and then run it from the
|
|
command line.
|
|
|
|
The Debian archive is regularly updated and in order to maintain your own
|
|
archive and make sure it is up to date, you will need to periodically run the
|
|
script again to copy any changes made. <EM>NOTE: the script uses rsync which
|
|
is a one-way transaction, you can never copy from your machine to your chosen
|
|
server (as you don't have permission to do so!)</EM>. It is probably best to
|
|
run the script daily, so you can edit your crontab to do this or put the script
|
|
in <TT>/etc/cron.d/cron.daily</TT> if your Linux distribution has this set up.
|
|
|
|
|
|
<SECT1>Enable Remote Access
|
|
<P>
|
|
Time to make your install data available to other machines on the network.
|
|
Debian can be installed using NFS, HTTP and FTP protocols. You can select which
|
|
of these will be used at install time on the client. If one of the services is
|
|
not setup on the machine then it will still be available for selection by the
|
|
client but the install will not work. Therefore, it is either best to enable
|
|
all three services on your server (so they all work on each client machine) or
|
|
if you don't enable all three then advertise the fact very well and say which
|
|
service should be used for your particular install server.
|
|
|
|
|
|
<SECT2>NFS
|
|
<P>
|
|
To install over NFS you need to meet certain conditions on the server:
|
|
<ITEMIZE>
|
|
<ITEM>Your install directory is exported</ITEM>
|
|
<ITEM>NFS is installed and running</ITEM>
|
|
<ITEM>Portmap is running</ITEM>
|
|
</ITEMIZE>
|
|
|
|
To export your install directory edit the <TT>/etc/exports</TT> file and add an
|
|
entry for directory you have copied your Debian archive to. In our examples
|
|
throughout this HOWTO, we would use the folowing line: <VERB>/install *(ro)</VERB>
|
|
When you have saved your exports file you must then get your NFS daemon to read
|
|
its configuration file again in order to export the directory you just added.
|
|
Do this by running the command: <VERB>exportfs -r</VERB>
|
|
This gives us the most simple read-only export to all hosts on our network. If
|
|
you want to include more advanced options in your export e.g. only exporting to
|
|
certain hosts on the network or a certain subnet, etc then see your man page for
|
|
the exports file at exports (5).
|
|
|
|
|
|
<SECT2>FTP
|
|
<P>
|
|
To install over FTP you need to allow FTP access to the directory that you have
|
|
setup on the server as the installation directory. This can be either anonymous
|
|
FTP access or access through a named account with a password. Anonymous access
|
|
is probably best unless you have a reason to protect your install server via
|
|
a password.
|
|
|
|
If you want anonymous FTP to point to a different directory then you can use
|
|
sym links to point to the directory that you have set up as the install
|
|
directory on the server. This will allow FTP into a chrooted environment but
|
|
still give you access to the install images in a different location.
|
|
|
|
|
|
<SECT2>HTTP
|
|
<P>
|
|
If you have a web server running and want to enable HTTP access to your install
|
|
server then add sym links from your document root to the install server
|
|
directory and this will grant access. If you are not familiar with web servers
|
|
or are not comfortable with this approach then leave out HTTP access from your
|
|
install server as it provides no benefits over NFS or FTP installs which may
|
|
be simpler to set up.
|
|
|
|
If you do choose to use HTTP then basically all you have to do is make the
|
|
install directory visible to your web server by making it appear under the
|
|
document root by some means. If you are using the Apache webserver then Debian
|
|
recommend adding the following to your http.conf file
|
|
<VERB>
|
|
<directory /org/ftp.debian.org/ftp>
|
|
IndexOptions NameWidth=* +SuppressDescription
|
|
DirectoryIndex .
|
|
</directory>
|
|
</VERB>
|
|
|
|
|
|
You have now completed the basic setup of your install server.
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Debian Client Install
|
|
<P>
|
|
<NIDX>network install!debian client install</NIDX>
|
|
This version of the Network Install HOWTO does not include information about
|
|
automatic installation of a Debian system, if this is what you need then please
|
|
refer to the link in the Further Information section located in <REF ID="AppendixA" NAME="Appendix A">.
|
|
A later version of this HOWTO is likely to include details for this system.
|
|
|
|
|
|
<SECT1>Boot the Machine
|
|
<P>
|
|
There are many ways to boot your machine in order to install Debian, you can if
|
|
you wish use a Debian CD 1 which contains all the floppy boot disks on one easy
|
|
to use media to boot your system. However, it is more common to boot an install
|
|
of Debian using floppy disks, these are provided by Debian on their mirror
|
|
system.
|
|
|
|
Obtain the floppy boot images from your chosen mirror server from the directory
|
|
<TT>/debian/dists/stable/main/disks-hardware/current/images-1.44</TT> where
|
|
<TT>disks-hardware</TT> is the hardware type that you are going to install
|
|
Debian onto. Note that there are several different sets of floppy disk boot
|
|
images in this directory and you should be careful to choose one that is
|
|
suitable for your use. If you are not sure which to use then just use the ones
|
|
in the directory specified rather than any of it's subdirectories.
|
|
|
|
Copy each floppy disk image that you have downloaded from the server to a
|
|
different floppy disk following the example below:
|
|
<ITEMIZE>
|
|
<ITEM>Insert a floppy disk</ITEM>
|
|
<ITEM><TT>dd if=/path/to/image of=/dev/fd0</TT></ITEM>
|
|
<ITEM>Remove floppy disk.</ITEM>
|
|
</ITEMIZE>
|
|
|
|
Do not mount the floppy disks when using this procedure to create floppy boot
|
|
disks. Also, don't forget to check that the floppy disks you are going to use
|
|
are (a) good floppy disks i.e. not broken, and (b) do not contain any data that
|
|
you need as the entire disk will be overwritten with all data lost.
|
|
|
|
Once you have a set of boot disks you can boot your client system from them by
|
|
inserting the first disk and turning on your system. You will be presented with
|
|
a welcome screen with some instructions on which you should be able to press
|
|
[ENTER] to continue the installation. A normal Debian installation can now take
|
|
place, see the <REF ID="AppendixA" NAME="Further Information"> section for
|
|
references to instructions on how to install Debian.
|
|
|
|
|
|
<!--
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
-->
|
|
|
|
|
|
<SECT>Appendix A: Further Information <LABEL ID="AppendixA">
|
|
<P>
|
|
<NIDX>network install!information resources</NIDX>
|
|
This page is an informal list of references in no particular order that I have
|
|
found useful or that others have pointed out to me. If you have a suggested
|
|
reference that is not listed here then please mail it to me and I will add it
|
|
to the list.
|
|
|
|
|
|
<SECT1>HOWTO
|
|
<P>
|
|
These are intended as the primary starting points to get the background
|
|
information as well as show you how to solve a specific problem.
|
|
|
|
|
|
<SECT2>Generic
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.tldp.org/HOWTO/Net-HOWTO/index.html" NAME="Net-HOWTO"></ITEM>
|
|
<ITEM><URL URL="http://www.tldp.org/HOWTO/Installation-HOWTO/index.html" NAME="Installation-HOWTO"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Redhat
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.tldp.org/HOWTO/KickStart-HOWTO.html" NAME="Kickstart-HOWTO">
|
|
</ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT1>Mini-HOWTO
|
|
<P>
|
|
<NIDX>network install!information resources!mini-HOWTOs</NIDX>
|
|
These are the smaller free text relatives to the HOWTOs above.
|
|
|
|
|
|
<SECT2>Generic
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.tldp.org/HOWTO/mini/Pre-Installation-Checklist/index.html" NAME="Pre-Installation-Checklist"></ITEM>
|
|
<ITEM><URL URL="http://www.tldp.org/HOWTO/mini/Post-Installation-Checklist/index.html" NAME="Post-Installation-Checklist"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Debian
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.tldp.org/HOWTO/mini/Debian-Jigdo/index.html" NAME="Debian-Jigdo">
|
|
</ITEM></ITEMIZE>
|
|
|
|
|
|
<SECT1>Web Pages
|
|
<P>
|
|
There is a huge number of informative web pages out there and by their very
|
|
nature they change quickly. I will attempt to keep the links below as valid as
|
|
possible but they may become outdated.
|
|
|
|
|
|
<SECT2>Generic
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.tldp.org" NAME="Linux Documentation Project"> -
|
|
<EM>the</EM> Linux documentation reference site.
|
|
</ITEM></ITEMIZE>
|
|
|
|
|
|
<SECT2>SuSE
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.suse.com" NAME="Main SuSE Website"></ITEM>
|
|
<ITEM><URL URL="http://www.suse.de/~nashif/autoinstall" NAME="Autoinstall Website"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Redhat
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.redhat.com" NAME="Main Redhat Website"></ITEM>
|
|
<ITEM><URL URL="http://www.redhat.com/docs" NAME="Documentation Page"></ITEM>
|
|
<ITEM><URL URL="http://www.redhat.com/apps/support/resources" NAME="Support/Resources Page"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Debian
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><URL URL="http://www.debian.org" NAME="Main Debian Website"></ITEM>
|
|
<ITEM><URL URL="http://www.debian.org/releases/stable/installmanual" NAME="Installation Manual"></ITEM>
|
|
<ITEM><URL URL="http://www.debian.org/mirrors/ftpmirror" NAME="Setting up your own Debian mirror"></ITEM>
|
|
<ITEM><URL URL="http://www.debian.org/misc/README.mirrors" NAME="List of mirrors"></ITEM>
|
|
<ITEM><URL URL="http://www.informatik.uni-koeln.de/fai" NAME="Debian Fully Automatic Installation"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT1>Mailing Lists
|
|
<P>
|
|
|
|
|
|
<SECT2>SuSE
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><BF>suse-autoinstall@suse.com</BF> is a mailing list specific to AutoYaST.
|
|
<NEWLINE>List archives are at <URL URL="http://lists.suse.com/archive/suse-autoinstall" NAME="http://lists.suse.com/archive/suse-autoinstall">
|
|
<NEWLINE>Subscribe address is <URL URL="mailto:suse-autoinstall-subscribe@suse.com" NAME="suse-autoinstall-subscribe@suse.com">
|
|
</ITEM></ITEMIZE>
|
|
|
|
|
|
<SECT2>Redhat
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><BF>redhat-install-list@redhat.com</BF> is a mailing list for Redhat installation.
|
|
<NEWLINE>List archives are only available to list members
|
|
<NEWLINE>List information page is at <URL URL="https://listman.redhat.com/mailman/listinfo/redhat-install-list" NAME="https://listman.redhat.com/mailman/listinfo/redhat-install-list"></ITEM>
|
|
<ITEM><BF>Other Redhat Lists</BF> are also available on-line
|
|
<NEWLINE>Information page is at <URL URL="http://www.redhat.com/support/forums" NAME="http://www.redhat.com/support/forums"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT2>Debian
|
|
<P>
|
|
<ITEMIZE>
|
|
<ITEM><BF>Debian mailing lists</BF> can be found at <URL URL="http://www.debian.org/MailingLists" NAME="http://www.debian.org/MailingLists"></ITEM>
|
|
<ITEM>List archives can be found at <URL URL="http://lists.debian.org" NAME="http://lists.debian.org"></ITEM>
|
|
</ITEMIZE>
|
|
|
|
|
|
<SECT1>Local Resources
|
|
<P>
|
|
If you need help with particular commands when running Linux then you can look
|
|
in the Linux manual pages (man pages) for the command you need help with.
|
|
Simply type the following to get help: <VERB>man {command}</VERB>
|
|
|
|
On most distributions of Linux you will find you have a directory of
|
|
documentation available to you. This is usually located under the
|
|
<TT>/usr/doc</TT> directory or the <TT>/usr/share/doc</TT> directory. If you
|
|
go into these directories then you should be able to find some documentation on
|
|
software installed on your system.
|
|
|
|
The best place to look for documentation relating specifically to installing
|
|
your particular distribution and version of Linux is on the installation media
|
|
(usually CDs). Documentation is commonly found on either the first CD, the
|
|
last CD or a special documentation CD.
|
|
|
|
|
|
<SECT1>News Groups
|
|
<P>
|
|
Personally I don't tend to use newsgroups much so if you have suggestions for
|
|
this section then they will be particularly welcome.
|
|
|
|
<!--<itemize>
|
|
<item><url url="news:comp.arch.storage" name="Storage">.
|
|
</itemize>-->
|
|
|
|
</ARTICLE>
|
|
|