Centos的安装管理程序是anaconda,系统安装完成之后会在root的家目录下自动生成anaconda_ks.cfg。这个文件主要安装的系统所需要的配置,主要是由命令段,软件包段和脚本段构成。我们可以通过编辑修改安装完成后的系统根下的anaconda_ks.cfg.kickstart文件。另外我们也可以通过安装system-config-kickstart,其图形化界面配置相当的直观,只是对于磁盘的分区对于raidlvm有一定的约束,不过我们可以通过修改添加也可以完成。代码修改完成后,可以通过命令ksvalidator可以检查kickstart文件的语法是否正确。

我们如何完成自动化安装呢?

一、dhcp安装

1、安装dhcp

[root@bogon ~]# yum install dhcp

 

2、修改dhcp配置脚本

配置dhcp服务

  cat /etc/dhcp/dhcpd.conf

 

 

配置DHCP,编辑配置文件/etc/dhcp/dhcpd.conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

option domain-name "practicedhcp"; # 指定网域的域名

option domain-name-servers 192.16.33.1; # DNS 多个可用逗号隔开

 

default-lease-time 86400; # 默认租约期限这里设置为1天

max-lease-time 100000; # 最大租约期限

  

log-facility local7; # 日志设备类型为local7

 

subnet 192.168.0.0 netmask 255.255.255.0 # 指定网段的分配ip 和子网掩码

   range 192.168.33.2 172.16.33.254; # 可使用的地址池范围

   option routers 192.168.33.1; # 指定网关

   next-server 172.16.33.1; # 指定下一个Server为tftp服务器地址

   filename "pxelinux.0 "; # 指定到tftp服务器上下载pxelinux.0文件

 

设置dhcp开机启动服务

1

# chkconfig dhcpd on

查看dhcp开机启动情况

1

2

3

# chkconfig --list dhcpd

dhcpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off         

# 在2,3,4,5运行级别开机启动服务

 

、配置tftp Server

2.1、安装tftp & tftp-server

1

# yum install tftp tftp-server

2.2开启tftp服务

1

2

# chkconfig tftp on

# service xinetd restart

、提供PXE工作环境和内核引导文件

3,1、安装syslinux

1

# yum install syslinux

3.2复制pxelinux.0文件到tftp

1

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

 

3.3、提供引导内核等所需文件

挂载系统光盘至/media/cdrom

1

# mount /dev/cdrom /media/cdrom

3.4复制文件到tftpboot目录中

1

2

# cp /media/cdrom/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot

# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg}  /var/lib/tftpboot

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

# mkdir /var/lib/tftpboot/pxelinux.cfg 

# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

 

# 配置文件的内容

default vesamenu.c32  # 使用vesamenu.c32文本界面程序

#prompt 1

timeout 600  # 设定超时60秒,单位为0.1秒

 

display boot.msg

 

menu background splash.jpg   # 设置背景图片

menu title Welcome to magedu linux! # 设置标题

menu color border 0 #ffffffff #00000000

menu color sel 7 #ffffffff #ff000000

menu color title 0 #ffffffff #00000000

menu color tabmsg 0 #ffffffff #00000000

menu color unsel 0 #ffffffff #00000000

menu color hotsel 0 #ff000000 #ffffffff

menu color hotkey 7 #ffffffff #ff000000

menu color scrollbar 0 #ffffffff #00000000

 

label linux    # 设置标签,启动时按tab键进入命令行界面是,可以使用标签代替命令和参数

  menu label ^Install or upgrade an existing system

  menu default

  kernel vmlinuz # 内核位置

  append initrd=initrd.img ks= # 内核后带的参数,指定了ks文件位置 

label vesa

  menu label Install system with ^basic video driver

  kernel vmlinuz

  append initrd=initrd.img xdriver=vesa nomodeset  # 没有显卡驱动时,使用基本的显示驱动

label rescue

  menu label ^Rescue installed system

  kernel vmlinuz

  append initrd=initrd.img rescue # 救援模式

label local

  menu label Boot from ^local drive

  localboot 0xffff  # 启动本地磁盘

label memtest86     #内存测试

  menu label ^Memory test

  kernel memtest

  append -

 

、提供安装源

4.1安装httpd

1

2

3

4

5

6

7

8

9

10

# yum install httpd

# 创建光盘挂载目录

# mkdir /var/www/html/centos

 

# 挂载光盘到目录

# mount /dev/cdrom /var/www/html/centos

 

# 或者把光盘挂载至/media/cdrom,再将/var/www/html/centos绑定挂载至/media/cdrom

# mount /dev/cdrom /media/cdrom

# mount /media/cdrom /var/www/html/centos

 

6、提供ks.cfg文件

注意:ks.cfg 文件other用户要拥有可读权限

ks.cfg文件复制到http默认目录下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

# cp ~/anaconda_ks.cfg /var/www/html/ks.cfg

 

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

 

# 兼容Centos5的安装源,不可省略,会报错

url --url=http://172.16.142.1/centos 

....

 

# 分区格式化

clearpart --all

part /boot --fstype=ext4 --size=200

part pv.008002 --size=61440

volgroup vg0 --pesize=8192 pv.008002

logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480

logvol swap --name=swap --vgname=vg0 --size=2048

logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240

logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480

 

# 指定安装源

repo --name="CentOS"  --baseurl=http://172.16.142.1/centos --cost=100

 

# 配置安装的包和包组

%packages

@Base

@Core

@base

@basic-desktop

...

ibus-table-cangjie

ibus-table-erbi

ibus-table-wubi

lftp

%end

 

# 安装后脚本

%post

...

 

%end

 到此,所有的工作都完成,只需启动即可。