文章原名: Kickstart无人值守安装linux系统

怎么说也是 进阶版,当然要有进阶的价值   添加了部分注释  点击跳转

 

首先准备一台PC(也可以用vmware虚拟机),用于安装好linux,httpd、tftp-server、dhcp,Kickstart。另外再找一个带pxe网卡的pc(或者使用一个vmware虚拟机)用于自动化安装linux。

1、 我们要安装rhel 5.4系统,准备好DVD安装盘,这个pxe服务器ip为192.168.0.3,子网掩码为255.255.255.0,以下操作均在这个机器上。

KickStart安装Linux(进阶版)_kickstart

2、 软件的安装可以使用rpm工具,不过要自行解决依赖关系,也可以使用yum工具,不过我们要使用yum工具,必须先建立一个yum源,这里我们建立一个yum本地源。

首先准备一个至少有3GB大小的分区,我们用于存放rhel光盘的内容。

这里我找了一个/opt分区,把安装盘的文件拷贝到/opt/www目录,挂载DVD光盘后执行以下命令:

cp –rp /media/RHEL_5.4 i386 DVD/Server/* /opt/www/

编辑/etc/yum.repos.d/ rhel-debuginfo.repo文件,增加下面的内容即可

  1. [Server]  
  2. name=Server  
  3. baseurl=file:///opt/www/Server  //存放Server软件的目录,根据自己的情况修改  
  4. enabled=1  
  5. gpgcheck=1  
  6.  

这样本地yum就建立好了,可以使用yum工具了,以下软件我们尝试了这两种安装工具,可以在安装时体会下他们的区别。

3、 安装httpd

执行以下命令安装

yum install httpd

配置/etc/httpd/conf/httpd.conf文件,找到DocumentRoot选项,修改为/opt/www

KickStart安装Linux(进阶版)_kickstart_02

然后重启httpd

service httpd restart

4、 安装tftp-server

进入/opt/www/Server目录,ls一下就可以看到我们要安装的tftp-server了,然后安装下就可以了

KickStart安装Linux(进阶版)_远程安装_03

安装后会在/etc/xinetd.d目录下生成tftp文件

KickStart安装Linux(进阶版)_远程安装_04

默认tftp是不会启动的,我们需要修改tftp文件,disable = yes改成no

KickStart安装Linux(进阶版)_远程安装_05

然后重启xinetd服务,使tftp服务启动

KickStart安装Linux(进阶版)_kickstart_06

lsof –i :69看下,tftp服务已经起来了

KickStart安装Linux(进阶版)_linux_07

5、 进入tftpboot文件夹,没有就建立一个

cd /tftpboot/

把pxelinux.0复制到/tftpboot中;

cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

把/opt/www/p_w_picpaths/pxeboot/initrd.img和 vmlinux两个文件复制到/tftpboot中;

KickStart安装Linux(进阶版)_linux_08

cp initrd.img vmlinuz /tftpboot/

复制/opt/www/isolinux/*.msg到/tftpboot/中;

在tftpboot中新建一个pxelinux.cfg目录,把/opt/www/isolinux目录中的isolinux.cfg复制到pxelinux.cfg目录中,并改名为default,然后修改default文件,修改如下:

 

  1. default linux  
  2. prompt 1  
  3. timeout 6  //超时时间,默认600,等得太久了,我们改小  
  4. display boot.msg  
  5. F1 boot.msg  
  6. F2 options.msg  
  7. F3 general.msg  
  8. F4 param.msg  
  9. F5 rescue.msg  
  10. label linux  
  11. kernel vmlinuz  
  12. append initrd=initrd.img ks=http://192.168.0.3/ks.cfg  

 //ks.cfg是kickstart安装配置文件,系统就是按照ks.cfg来安装的。我们将在后面配置他

。。。。。。。以下略。。。。

以上操作后/tftpboot/下的文件列表为:

KickStart安装Linux(进阶版)_pxe_09

6、 安装dhcp

KickStart安装Linux(进阶版)_kickstart_10

拷贝dhcp配置文件到/etc下,如果有的话就覆盖

KickStart安装Linux(进阶版)_安装_11

配置dhcpd.conf文件

  1. ddns-update-style interim;   
  2. ignore client-updates;  
  3.  
  4. next-server 192.168.0.3; //服务器IP地址。   
  5. filename "/pxelinux.0"; //PXE得到IP以后的引导文件   
  6. subnet 192.168.0.0 netmask 255.255.255.0 { //所属网段及掩码。   
  7. --- default gateway   
  8. option routers 192.168.0.254; //路由器IP,可以写网关IP   
  9. option subnet-mask 255.255.255.0;   
  10. option nis-domain "domain.org";    //注销   
  11. option domain-name "domain.org";   //注销   
  12. option domain-name-servers 192.168.0.254; //DNS服务器IP   
  13. option time-offset -18000; # Eastern Standard Time   
  14. option netbios-node-type 2;   
  15. range dynamic-bootp 192.168.0.129 192.168.0.253; //IP地址池范围。   
  16. default-lease-time 21600;   
  17.  

......后面省略 //写配置文件的时候注意每句后面的分号(;)不要丢了。

KickStart安装Linux(进阶版)_linux_12

启动dhcp服务

KickStart安装Linux(进阶版)_远程安装_13

看看dhcp启动了吗

KickStart安装Linux(进阶版)_安装_14

7、 安装kickstart

使用rpm工具安装kickstart时会提示先安装pykickstart,那我们就先安装pykickstart,然后再安装kickstart

KickStart安装Linux(进阶版)_linux_15

如果使用yum工具时,会自动找到kickstart依赖的软件,并安装。

KickStart安装Linux(进阶版)_kickstart_16

8、 生成ks.cfg文件,图形化界面配置(终端中运行system-config-kickstart命令)

KickStart安装Linux(进阶版)_pxe_17

KickStart安装Linux(进阶版)_pxe_18

KickStart安装Linux(进阶版)_kickstart_19

KickStart安装Linux(进阶版)_linux_20

KickStart安装Linux(进阶版)_远程安装_21

KickStart安装Linux(进阶版)_linux_22

在这里选择需要安装的软件包

KickStart安装Linux(进阶版)_安装_23

点击“File”→“Save File”,保存ks.cfg文件,将它拷贝到/opt/www下。

KickStart安装Linux(进阶版)_kickstart_24

打开ks.cfg文件,加入

Key –skip //跳过注册号输入,这个很重要

KickStart安装Linux(进阶版)_安装_25

9、 检查下dhcp,httpd,tftp服务是否正常启动

在浏览器里敲入http://192.168.0.3/ks.cfg看是否可以打开这个文件

10、 将新机器连入pxe服务器所在的网络,如果有多台新机器也没有问题,只要交换机口够多,都插上,启动电源就可以,我是用vmware虚拟机做的实验,给电后就自动获得ip,开始安装了。

11、 一会就自动完成了,出现以下对话框

KickStart安装Linux(进阶版)_kickstart_26

重启后,这样就安装成功了。。

本文出自 “世外之寨” 博客,请务必保留此出处http://yritech.blog.51cto.com/1504393/475353

 

附加注释:

    总结一下容易出问题的地方.

第一、pxe,tftp传输问题。常见的是如下两张图片。

 

KickStart安装Linux(进阶版)_安装_27

 

KickStart安装Linux(进阶版)_安装_28

可以看到IP地址已经有了,但tftp就是过不去。

问题原因:凡是pxe、tftp之类的,都是网络传输问题。

能分配到IP地址,不一定就说是能ping的通。

解决方案:如果觉得自己哪里都没问题,看一下iptables,关掉。

          看一下路由、网关。route -n 看一下。即便IP是在同网段,路由不对也不行。

 

只要能出现下面一张图片,就说明pxe、tftp没问题了。

 

KickStart安装Linux(进阶版)_pxe_29

然后是引导安装系统,需要用到的就是/tftpboot里面的引导文件和ks.cfg文件。

只要这个页面过去了,基本上就只剩ks.cfg文件了。比如哪句话不合适,或者哪个方面没提到,导致系统无法自动处理,只能暂停自动模式,进入手动模式。

再一个就是文件位置问题。比如说ks.cfg里面写的位置和实际位置不一样,系统找不到相关文件,让手动输入具体位置等等。说起来这都是ks.cfg配置文件怎么写的问题。

如果说位置问题,需要留意的主要就2个方面。http的根目录是/var/www/html/;tftp的根目录是/tftpboot./dhcpd.conf里面那句话:filename "pxelinux.0";   有的里面写成filename "/pxelinux.0";   都是不影响的。这就好比是在 / 目录下访问/etc/目录时,cd /etc/ 和 cd etc 是一样的原理。

 

暂时就想起这么多,主要问题就是上面这些。以后想起再说。

后面一片文章:《KickStart安装Linux(终极版)》讲给出更强大的配置方案,和部分成熟、直接可用的代码。