CentOS
网络全自动安装(
kickstart
)
一、
环境
系统:
CentOS 5.4
(
centos
系统盘中所有文件在
/install/centos
)
软件:
dhcp
(
dhcp / dhcp-devel / dhcpv6 / dhcpv6-client
)
Nfs (nfs-utils / portmap)
Tftp (tftp / tftp-server)
Xinetd
二、
确保以上软件全部安装,所有服务都随开机启动
#vi /etc/exports
/install/centos *(ro,sync)
#chmod –R 777 /install
三、
复制
PXE
启动时需要的文件资料
1
、复制必要的文件:
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
# mkdir /tftpboot/pxelinux.cfg
# cp /install/centos/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
# cp /install/centos/p_w_picpaths/pxeboot/initrd.img /tftpboot/
# cp /install/centos/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
# mkdir /tftpboot/pxelinux.cfg
# cp /install/centos/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
# cp /install/centos/p_w_picpaths/pxeboot/initrd.img /tftpboot/
# cp /install/centos/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
# cp /install/centos/isolinux/*.msg /tftpboot/
2
、
修改
/tftpboot/pxelinux.cfg/default
文件
default ks
prompt 1
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label ks
kernel vmlinuz
append ks=nfs:192.168.1.105:/install/centos/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text
kernel vmlinuz
append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux expert
kernel vmlinuz
append expert initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
文件中蓝色字体“
ks
”可以任意填写,但是最好
3
处填入相同的描写
红色部分是制定
ks
文件的路径。
四、
配置
DHCP
及
TFTP
服务
1.
配置
tftp
服务器
#vi /etc/xined.d/tftp
service tftp
{
disable = no (
默认为“
yes
”,一定要改成“
no
”
)
socket_type = dgram
protocol = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
#service xinetd restart
2.
配置
DHCP
服务器
#cp /usr/share/doc/dhcp- 3.0.5 /dhcpd.conf.sample /etc/dhcpd.conf
cp :是否覆盖 “/etc/dhcpd.conf”? y
cp :是否覆盖 “/etc/dhcpd.conf”? y
#vi /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0"; //PXE 得到 IP 以后的引导文件
next-server 192.168.1.254; // 服务器 IP 地址。
ignore client-updates;
filename "pxelinux.0"; //PXE 得到 IP 以后的引导文件
next-server 192.168.1.254; // 服务器 IP 地址。
subnet 192.168.1.0 netmask 255.255.255.0 { //
所属网段及掩码。
# --- default gateway
option routers 192.168.1.1; // 路由器 IP ,可以写网关 IP
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org"; // 注销
# option domain-name "domain.org"; // 注销
option domain-name-servers 192.168.1.254; //DNS 服务器 IP
option time-offset -18000; # Eastern Standard Time
# option netbios-node-type 2;
range dynamic-bootp 192.168.1.100 192.168.1.200; //IP 地址池范围。
default-lease-time 21600;
......后面省略 // 写配置文件的时候注意每句后面的分号(;)不要丢了。
# --- default gateway
option routers 192.168.1.1; // 路由器 IP ,可以写网关 IP
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org"; // 注销
# option domain-name "domain.org"; // 注销
option domain-name-servers 192.168.1.254; //DNS 服务器 IP
option time-offset -18000; # Eastern Standard Time
# option netbios-node-type 2;
range dynamic-bootp 192.168.1.100 192.168.1.200; //IP 地址池范围。
default-lease-time 21600;
......后面省略 // 写配置文件的时候注意每句后面的分号(;)不要丢了。
#service dhcpd start
#chkconfig --level 35 dhcpd on
**第一次运行dhcpd服务, /var/lib/dhcpd/dhcpd.leases里是空的,如果有了客户端,则里面会增加相应的信息
**第一次运行dhcpd服务, /var/lib/dhcpd/dhcpd.leases里是空的,如果有了客户端,则里面会增加相应的信息
五、实现
RHEL5
系统的无人值守安装
以上述步骤中已完成的部分作为基础。
1.
建立无人值守安装配置文件
实现自动无人值守安装,需要事先建立
kickstart
配置文件,有两种方式可以建立该配置文件:
1)
从已安装好的
RHEL5
系统中拷贝
/root/anaconda-ks.cfg
配置文件样本,在此基础上修改。
2)
在已安装好的
RHEl5
系统图形界面中,通过“系统工具”
-->
“
kickstart
”向导建立配置文件。
后一种方式可能需要从光盘中安装两个
rpm
包:
pykickstart-0.43-1.el5
、
system-config-kickstart- 2.6.19 .1-1.el5
我的
ks.cfg
文件内容如下
#platform=x86, AMD64,
或
Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use NFS installation media
nfs --server=192.168.1.105 --dir=/install/centos
#url --url=ftp://192.168.1.1/install/rhel5/ //
如果安装源位于
FTP
或
HTTP
服务器中,则使用
url
配置项
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$axUWZnH1$lpwb5p3.ohevddND6SYr9.
# SELinux configuration
selinux --enforcing
# System timezone
timezone --isUtc Asia/Shanghai
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=32 --resolution=800x600
# Disk partitioning information
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
part / --bytes-per-inode=4096 --fstype="ext3" --size=7000
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
%packages
@server-cfg
@gnome-desktop
@admin-tools
@chinese-support
@system-tools
@graphical-internet
@legacy-software-support
@text-internet
@news-server
@editors
3.
配置客户机并安装系统
根据提示回车或者输入
linux text
回车选择安装方式,后续安装由系统自动完成。
注意:如果在
BIOS
中“
LAN
”设置为第一优先启动设备,则不要在
ks.cfg
中配置为
reboot
(安装后自动重启),以避免循环安装系统。