Sunteți pe pagina 1din 9

What are Kickstart Installations?

Many system administrators would prefer to use an automated installation method


to install Red Hat Enterprise Linux on their machines. To answer this need, Red Hat
created the kickstart installation method. Using kickstart, a system administrator
can create a single file containing the answers to all the questions that would
normally be asked during a typical installation.
Kickstart files can be kept on a single server system and read by individual
computers during the installation. This installation method can support the use of a
single kickstart file to install Red Hat Enterprise Linux on multiple machines, making
it ideal for network and system administrators
Kickstart provides a way for users to automate a Red Hat Enterprise Linux
installation.

How Do You Perform a Kickstart Installation


Kickstart installations can be performed using a local CD-ROM, a local hard drive, or
via NFS, FTP, or HTTP
To use kickstart, you must:

1. Create a kickstart file.


2. Create a boot media with the kickstart file or make the kickstart file available on the
network.
3. Make the installation tree available.
4. Start the kickstart installation.
Fedora Linux allows you to do operating system installations via a network
connection using a Kickstart server. It is frequently much faster than using CDs and
the process can be automated. The procedure is fairly simple

Connect the new server (installation client) to the same network as the server with the preloaded installation files (installation server).
Boot the installation client from a specially created boot CD
Enter your preferred installation method (FTP, HTTP, NFS) and the needed network
parameters to do this
The installation procedure will then continue with the more familiar Fedora Linux
installation screens. Enter your selections and then complete the installation
Create installation Directories

We'll first create the directories /data/network-install/RPM and /data/networkinstall/ISO in which we will copy the necessary files
[root@bigboy tmp]# mkdir -p /data/network-install/RPM
[root@bigboy tmp]# mkdir -p /data/network-install/ISO

Copying The Files


The HTTP, NFS and FTP kickstart methods all require the base set of Fedora files to
be installed on the kickstart server. Here's how to do it:

1) Create a mount point for your CD ROM drive.


[root@bigboy tmp]# mkdir /mnt/cdrom

2) Mount your first Fedora CD ROM.


[root@bigboy tmp]# mount /dev/cdrom /mnt/cdrom

3) Copy the files from the CD ROM base directory to the hard disk

[root@bigboy tmp]# cp -r /mnt/cdrom/* /data/network-install/RPM

4) Unmount your CD ROM and use the eject command to retrieve it from the drive bay.
[root@bigboy tmp]# umount /dev/cdrom
[root@bigboy tmp]# eject cdrom

HTTP & FTP Preparation


Copy all the contents of each installation CD to the /data/network-install/RPM directory.
This will require about 3-5 GB of space. When this is completed, your /data/networkinstall/RPM directory should look like this:

NFS Preparation
Create ISO images of the installation CDs and place them in the /data/network-install/ISO
directory. This will require about 3-5 GB of space as well. You can download the ISO images
from the Fedora website or use the Fedora CDs as shown below. If you create the ISOs files from
CDs, make sure they have the same file names as the ones you can download from the Fedora
Web site.
Follow these steps for each CD, substituting the filename where necessary
[root@bigboy tmp]# cd /data/network-install/ISO
[root@bigboy ISO]# dd if=/dev/cdrom of=filename.iso bs=32k
...
...
[root@bigboy ISO]# eject cdrom

Here is a sample procedure to make ISO files with the older mkisofs command. You may have to
install the mkisofs RPM on newer Fedora versions. The command requires a mounted CDROM
drive, so don't forget the mount command.
[root@bigboy ISO]# mount /mnt/cdrom
[root@bigboy ISO]# mkisofs -J -r -T -o filename.iso /mnt/cdrom
[root@bigboy ISO]# eject cdrom

Setup Your Webserver


You will now have to setup Apache to give the file listings of your /data/networkinstall/RPM and /data/network-install/ISO directories by pointing your browser to
the URL http://192.168.1.100/network-install/RPM/ or
http://192.168.1.100/network-install/ISO/ respectively. A sample
/etc/httpd/conf.d/kickstart.conf configuration is below. Remember to restart
Apache to make these settings take effect.
NameVirtualHost 192.168.1.100
#
# For HTTP Installations
#
<VirtualHost 192.168.1.100>
ServerName 192.168.1.100
DocumentRoot /data/
</VirtualHost>
<Directory /data/network-install>
Options +Indexes
AllowOverride AuthConfig
order allow,deny
allow from all
</Directory>

Setup Your FTP Server


You'll also have to set up your VSFTPD server to make incoming anonymous FTP
connections log in to the /data/network-install/RPM directory by default. You will
also want to enable the correct logging. Here is a sample snippet of the vsftpd.conf
file. Remember to restart VSFTPD to make these settings take effect
File: vsftpd.conf
#
#
# Anonymous FTP Root Directory
#
anon_root=/data/network-install/RPM

#
# Log file definition
#
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

Creating A Kickstart Boot CD


Creating a kickstart boot CD is easy to do. Here are the steps:
. Your RPM directory should have a subdirectory named images in it. There will be a file there
named boot.iso which is used in booting your system when installing Linux from DVD or CD.
Fedora mirror sites that have directory structures similar to that of the DVD also have a boot.iso
file located in the <fedora-version>/Fedora/i386/os/images/ directory. This file is different in
both size and function to that on your DVD. It usually larger than 10 MB in size and it is the boot
file you need for kickstart. Download the boot.iso file from your favorite mirror site using a
utility like wget.
[root@bigboy tmp]# wget http://website.org/8/Fedora/i386/os/images/boot.iso

2. You will now need the device name of your CDROM device. This can be obtained using the
wodim command. In this case it is called /dev/scd0.
[root@bigboy tmp]# wodim --devices
wodim: Overview of accessible drives (1 found) :
------------------------------------------------------------0 dev='/dev/scd0'
rwr--- : 'LITE-ON' 'DVDRW LH-20A1P'
------------------------------------------------------------[root@bigboy tmp]#

3. Insert a blank CD. The wodim command can now be used again to burn the boot.iso ISO
image file to the CD.
[root@bigboy tmp]# wodim dev=/dev/scd0 driveropts=burnfree,noforcespeed \
fs=14M -dao -eject -overburn -v boot.iso
...
...
...
BURN-Free was never needed.
wodim: fifo had 6 puts and 6 gets.
wodim: fifo was 0 times empty and 0 times full, min fill was 100%.
[root@bigboy RPM]#

Keep the CD. You will soon need it for your kickstart client machine.

The Network Installation


From here on, the installation procedure mimics the regular Linux installation,
except for the first couple steps.

Connect your client Linux box to the DHCP network.

Boot your system using the kickstart boot CD. This is the only CD you'll need
for future network installations.

A menu will appear. Select Install or upgrade an existing system.

Go through the usual steps until the process prompts for the "Installation
Method". You will see a number of choices
Local CDROM
Hard Drive
NFS Image
FTP
HTTP

Select the network option of your choice (NFS, FTP, HTTP)

Select the Ethernet device to which the installation client is connected to the
installation server network. This would most likely be interface "eth0".

Select "DHCP" in the following "Configure TCP/IP" screen. This will make the
Installation client use DHCP during the installation.

If You Selected The NFS Method


You will now reach the "NFS setup" menu. Enter the IP address of the installation
server as the "NFS Server Name". The "Red Hat directory" will be "/data/networkinstall/ISO". The following menus will be the usual Fedora GUI installation screens.
If You Selected The HTTP Method
You will now reach the "HTTP Setup" menu. Enter the IP address of the installation
server when prompted for a "Web site name".The "Red Hat directory" will be
/network-install/RPM. The following menus will be text based versions of the usual
Fedora installation screens.
During the installation, issue the following command on the server to check the
Apache logs. It will help to verify whether the kickstart client is accessing the files
correctly.

You should get a status code of 200<code> after each GET statement. You should
retrace your steps if you are not.
[root@bigboy tmp]# tail -f /var/log/httpd/access_log
192.168.1.247 - - [12/Nov/2006:12:01:04 -0800] "GET /networkinstall/RPM/repodata/repomd.xml HTTP/1.1" 200 1140 "-" "urlgrabber/2.9.9"
192.168.1.247 - - [12/Nov/2006:12:01:05 -0800] "GET /networkinstall/RPM/repodata/primary.xml.gz HTTP/1.1" 200 844228 "-"
"urlgrabber/2.9.9"

192.168.1.247 - - [12/Nov/2006:12:01:19 -0800] "GET /networkinstall/RPM/repodata/comps.xml HTTP/1.1" 200 853899 "-" "urlgrabber/2.9.9"

If You Selected The FTP Method

You will now reach the "FTP Setup" menu. Enter the IP address of the installation
server as the "FTP Site Name".

"Not Selecting" The Non-Anonymous FTP Box


The "Red Hat directory" will be "/". The following menus will be text based
versions of the usual Fedora installation screens.

"Selecting" The Non-Anonymous FTP Box

The "Red Hat directory" will be "/data/network-install/RPM". Enter the


username and password of your special FTP user account. The following
menus will be text based versions of the usual RedHat installation screens.
Note: During the installation, issue the following command on the server to check
the FTP logs. It will help to verify whether the kickstart client is accessing the files
correctly.

[root@bigboy ~]# tail -f /var/log/vsftpd.log


Sun Nov 12 20:53:12 2006 1 192.168.1.231 1140 /data/networkinstall/RPM/repodata/repomd.xml b _ o r ftp-install ftp 0 * c
Sun Nov 12 20:53:21 2006 2 192.168.1.231 844228 /data/networkinstall/RPM/repodata/primary.xml.gz b _ o r ftp-install ftp 0 * c
Sun Nov 12 20:53:40 2006 2 192.168.1.231 853899 /data/networkinstall/RPM/repodata/comps.xml b _ o r ftp-install ftp 0 * c

Troubleshooting The Network Installation


You can do some basic troubleshooting by accessing the various installation status
screens available.

The installation logs can always be viewed by hitting <CTRL-ALT-F3>

Kernel messages can be seen by hitting <CTRL-ALT-F4>

Access to a limited BASH shell Kernel can be gained by hitting <CTRL-ALT-F2>

You can return to the main installation screen at any time by hitting <CTRLALT-F1> for text based installations and <CTRL-ALT-F7> when the GUI is used.

Examine your server's <code>/var/log/httpd/access_log,


/var/log/httpd/error_log files for the HTTP method; the /var/log/vsftpd.log
file for the FTP method; and your /var/log/messages file for the NFS method.

Automating Installation With Kickstart


Both Fedora and RedHat Linux save all the parameters you used during installation
in the /root/anaconda-ks.cfg kickstart configuration file. You can use this file to
create an automated installation of a duplicate system which can be useful if you
have a large number of servers to install.

This section shows you how to automate network installations using the kickstart
application and NFS. You can use HTTP and FTP but they have been omitted to keep
the discussion brief.
How To Create New Kickstart Configuration Files
You can create a customized kickstart configuration file by using the "ksconfig"
command from a GUI console. It will bring up a menu from which you can select all
your installation options. When finished, you save the configuration with the
filename of your choice.

You may want to then edit the configuration file and comment out certain
parameters that may change from system to system with a "#". These could include
things like the system's name and IP address. During the kickstart process you will
be prompted for these unspecified values.

Note: Do not change the order of the entries in the kickstart configuration file.
Note: The IP address you assign must be on the same subnet as that of the DHCP
server for kickstart to work. If the server is going to reside on a different network
after the installation, then you'll have to run a separate script to change the IP
addressing information after the installation is complete.

Adding Post Installation Commands


You may want to run some commands on the newly created Linux installation after
kickstart is complete. Some processes that are activated by default by Fedora may
not be suitable for your server and may need to be disabled.

This can be done by placing a %post section at the end of the kickstart file with all
the post installation commands you wish to run. Here is an example:
%post
chkconfig
chkconfig
chkconfig
chkconfig
chkconfig
chkconfig

isdn off
pcmcia off
portmap off
apmd off
nfslock off
nfs off

A Note About Using anaconda-ks.cfg


It is possible to use the /root/anaconda-ks.cfg file as a template for future
installations. RedHat comments out the partitioning information in this file, so you
will either have to uncomment it and then make your partitioning modifications or
be prepared to be prompted for your portioning information.
How To Run A Kickstart Installation
It is best to place your kickstart files in a subdirectory under the /data/networkinstall directory. The examples below assume the subdirectory is called
/data/network-install/kickstart.
Remember that you may want to remove the "#" comments from the partition
section of the file. If not, you will be prompted for this information.

Using a NFS Server


Verify that the first two lines of the file look like this or else you may be prompted
for NFS ISO file location information.
install
nfs --server=192.16.1.100 --dir=/data/network-install/ISO

Using a Web Server


Verify that the first two lines of the file look like this or else you may be prompted
for RPM base file location information.
install
url --url http://192.168.1.100/network-install/RPM

Booting With Your Kickstart Files


There are two ways to specify the name of the kickstart file to use. The first is to
enter it manually from the LILO boot: prompt when you insert the boot CD. The
second is to have your DHCP server automatically tell the Kickstart client about the
name of the kickstart file to use when it assigns the IP address. Both methods are
listed below:
Manually Specifying the Kickstart Filename
Once you have booted from your boot CDROM, you'll need to use the following
command at the lilo boot: prompt to continue with the installation. The ks.cfg file is
the kickstart configuration file we want to use.
NFS Method
boot: linux ks=nfs:192.168.1.100:/kickstart/ks.cfg

HTTP Method
boot: linux ks=http://192.168.1.100/network-install/kickstart/ks.cfg

Configuring The Filename Automatically


Whenever you have to create lots of cloned Linux servers, then you may want to
configure your DHCP server to specify the single kickstart configuration file you wish

to use. Here is how it's done:


1) Place your kickstart file in the /data/network-install/kickstart directory.
2) Edit your dhcpd.conf file and add the following lines to the section for the
interface that will be serving DHCP IP addresses. The next-server value is the IP
address of the kickstart server.
filename "/data/network-install/kickstart/ks.cfg";
next-server 192.168.1.100;

3) Insert the boot CD into the kickstart client Linux box and connect it to the DHCP
network. At the boot: prompt type in the following command:
boot: linux ks

Kickstart will first search for a configuration file named ks.cfg on either the boot CD.
It will then automatically attempt to get a DHCP IP address and see if the DHCP
server will specify a configuration file.
Kickstart will then use NFS to get both the configuration file and the installation
ISOs. The rest should be automatic.

Conclusion
The Kickstart method of Fedora Linux installation can greatly reduce the length of
time it takes to install the operating system. Time is saved not only because a
network connection can be faster than using CDs, but also because it can be left
unattended to install a predetermined Linux configuration. A Kickstart server
connected to an isolated wireless network dedicated to the purpose may be a good
idea for data centers with hundreds of Linux servers.

A recent standard called PXE allows you to run kickstart without a CD ROM if you
configure the NIC card to do a network boot from a specially configured DHCP
server. The topic is beyond the scope of this book, but it may be interesting for
readers with more complex projects to research this option more.

S-ar putea să vă placă și