日常工作中,我们经常需要在多台硬件完全相同的电脑上安装同样的linux,尤其是在做集群应用或互为备份的数据库服务器的时候。笔者是兼职linux教师,出于讲课的需要,经常要在硬件配置完全相同的电脑上为学生安装多达十台或更多的linux系统。如果使用最常见的cdrom安装方式,恐怕一次就要用掉一天的时间。而采用kickstart 安装方式,大约60分钟就全部安装完毕了。
kickstart是red hat发展的快速定制安装方式,可以让电脑按照事先设计好的方式自动安装。最常见的方式是网络安装,也可以采用cdrom或硬盘安装。本文主要介绍kickstart的网络安装。
制作启动盘
制作安装盘的工作既可以在windows系统下完成,也可以在linux系统下完成。
在windows系统中,使用red hat安装光盘中第一张的rawritewin程序。此程序在cdrom下的dosutils/rawritewin目录下。制作第一张软盘时,image file请选择 images boo.net.img , 这张叫启动盘。制作第二张软盘的时候,image file请选择images dr.net.net,这张叫驱动盘(driver disk)。 根据你网卡的型号,驱动盘也许并不需要。
如果是在linux系统中制作安装盘,命令如下:
dd if=/mnt/cdrom/images/boo.net.img of=/dev/fd0 (启动盘)
dd if=/mnt/cdrom/images/dr.net.img of=/dev/fd0 (驱动盘)
启动盘里包含了最常见的网卡驱动,如3com 509/intel eepro ne 2000等。如果你的网卡不是最常见的,比如联想d-link530tx,则必须多做一张网卡的驱动盘。
编辑文件syslinux.cfg
编辑启动盘上的syslinux.cfg 文件,将第一行改写为:
default linux ks=floppy
如果需要用到网卡的驱动盘,则第一行改写为:
default linux ks=floppy dd
此时系统会自动提示插入驱动盘。
然后删除prompt 和timeout 行。
编辑ks.cfg文件
这一步也是kickstart安装中最重要的步骤。ks.cfg 是kickstart安装的核心文件,它指明了以什么方式、将linux安装到何处、安装什么package等内容。ks.cfg 放置在软盘的根目中。
在新安装的red hat系统下,/root/下有个anaconda.cfg文件,可以它为基础进行编辑,也可以用x-window下的ksconfig程序进行这项工作。如果读者用ksconfig程序进行设定,可能还需要手动进行修改。下面是ks.cfg 文件的内容,为了方便解说,我将原文加了行号。请注意正式的文件是不能加行号的。
1 #generated by kickstart configurator
2 #system language
3 lang en_us
4 #language modules to install
5 langsupport --default en_us en_us zh_cn.gb2312
6 #system keyboard
7 keyboard us
8 #system mouse
9 mouse genericps/2
10 #system timezone
11 timezone --utc asia/shanghai
12 #root password
13 rootpw 12345
14 #system bootloader configuration
15 bootloader --location=mbr
16 #install red hat linux instead of upgrade
17 install
18 #use ftp installation media
19 url --url ftp://192.168.203.2/download
20 #disk partitioning information
21 clearpart --all
22 part / --size 4200
23 part swap --size 300
24 #use dhcp.networking
25.network --bootproto dhcp
26 #system authorization information
27 auth --useshadow --enablemd5
28 #firewall configuration
29 firewall --disabled
30 #xwindows configuration information
31 #probe for video card
32 #probe for monitor
33 xconfig --depth 16 --resolution 1024x768 --defaultdesktop=gnome
34 %packages
35 @kde
36 @emacs
37 lynx
38 %pre
39 echo " welcome to my kickstart"
40 %post
41 echo "192.168.10.55 server" >> /etc/hosts
所有以“#”号开头的都是注释,可以忽略。
第2行指明了安装时采用的语言。其实在配置正确的时候,kickstart安装不需要人工干预,本文将其定为英语。
第4行指明了系统支持的语言环境,如果不安装x-window,只需要英语即可。本文增加了对简体中文的支持。
第6-9行指明了系统采用的键盘和鼠标的类型,通常键盘都是us兼容行的。带滚轮的ps/2鼠标应写为:
mouse msintellips/2
第6-9行建议用ksconfig 程序配置。
第10-11行是时区,中国的用户一般可以选择上海。
第12-13行指明了root用户的密码,还有一种形式就是将密码进行加密。
第16-17行指明了是安装还是升级,如果是升级,第17行应该用upgrade代替install参数。
第18-19行指明了安装介质所在的位置,这是kickstart安装的关键之一。安装介质可以放置在nfs/ftp/http服务器上,也可以放置在本机硬盘上。本文不打算探讨硬盘安装,只研究网络安装。具体的办法是把3张red hat安装光盘中的red hat目录拷贝到到服务器的某个位置,比如说/tmp/install 下面,如果是用nfs安装,则需要把/tmp/install 共享出去,同时要保证将要安装red hat linux的客户机可以访问。只读的权限可以按如下配置:
/etc/exports 文件如下
/tmp/install 192.168.10.0/255.255.255.0(ro)
如果是ftp或者http安装,则可以把red hat目录放在ftproot或者httproot下。值得注意的是,在windows系统中,可能对“/”和“”产生歧意,如果ftp server 是windows系统,最好将red hat目录放置到ftproot的再下一级目录中。
第21-23行是描述linux将安装到哪个分区,clearpart -all 的意思是清除所有分区。第22行新建一个4.2gb的分区作为“/”分区。第23行新建立一个300mb的swap分区。
如果使用已存在的分区,则写为:
partition / --onpart sda1
partition swap -onpart sda2
注意:第21-23行最好不要用ksconfig程序自动设定参数,手工配置比较稳妥。
第25行的意思是用dhcp server自动分配ip地址。如果装机的数量较多,dhcp的方式毫无疑问是首选。如果想自己指定ip地址,则应该写为:
.network --bootproto static --ip 192.168.10.55 -.netmask 255.255.255.0
--gateway 192.168.11.1 --nameserver 202.96.134.133
多网卡的机器稍微复杂一点,本文就不介绍了。
第27行指明了系统验证用户的方式。本文用的是缺省shadow密码,md5 方式加密,这是最常见的方式。
第28行把自定义的防火墙关闭。因为安装red hat时用的是ipchains 防火墙,因此笔者建议安装以后采用iptables防火墙。
第30-33行是关于x-window的配置。意思是使用系统自动侦测的配置。linux一般都能正确地检测到显示卡和显示器的型号。
第33行的意思是以gnome做为缺省的窗口管理器,颜色为16位色,屏幕分辨为1024×768。如果在末尾加上“--startxonboot”,就是开机后x-window登陆。
第34-37行指明了安装时候选择安装的软件。前面有个“@”符号代表一组rpm包,每组包将安装的软件列表,这样软件可以在red hat第一张安装光盘中的redhat/base/comps 文件中找到。如果一个组都不指定,则会安装redhat/base/comps文件中的base组合,也就是最基本的一些rpm包,如sendmail等。写一个@everything 则是完全安装。第37行中有单独安装了lynx的rpm包。
第38-39行的%pre表示安装之前执行的命令。
第40-41行%post以后代表安装之后将要执行的命令。第40行执行了一个简单的命令。
最后的工作是把写好的ks.cfg 拷贝到软盘上:
cp ks.cfg /mnt/floppy
笔者在windows 2000下安装了vmware,在虚拟机上用光盘安装linux时,不知道什么原因光驱的速度非常慢。因此又在windows 2000下安装了server-u ftp服务器,然后在vmware下进行kickstart安装,结果速度非常令人满意。另外,也可以用omni-nfs在windows 2000下实现nfs server的功能,使用nfs安装。
善用kickstart安装中的%post 命令,就可以直接配置好服务器。
kickstart安装是学习linux的重点之一,在red hat rh133培训课程中,就有kickstart安装的课程,但这方面的中文资料一直都比较少,希望本文能起到抛砖引玉的作用。本文介绍的内容也适用于最新的red hat 8.0。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器