项目内容:利用网络安装技术,结合 Kickstart 程序脚本,实现无人值守安装 Linux 操作系统
项目目的:通过此技术,批量的完成成百上千台服务器系统的无人看管安装,节省大量时间。
1、首先配置好 PXE+DHCP+VSFTP 的环境,我们先使用图形化的方式生成一个kickstart 文件。
2、安装图形化 kickstart 程序包
[root@zdjserver ~]# yum install system-config-kickstart -y
3、运行图形化 system-config-kicstart
[root@zdjserver ~]# system-config-kickstart
-------------------------------------------------------------------------------------------------------------
报错-----》犯了一个愚蠢至极很sb的错误:我是远程ssh上去做的,故报错
[root@zdjserver ~]# system-config-kickstart
Traceback (most recent call last):
File "/usr/bin/system-config-kickstart", line 28, in
from meh.ui.gui import GraphicalIntf
File "/usr/lib/python2.6/site-packages/meh/ui/gui.py", line 21, in
import gtk
File "/usr/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in
_init()
File "/usr/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
_gtk.init_check()
RuntimeError: could not open display
使用 system-config-kickstart 后出现如下界面,按要求配置好相应选项
建议选中“在文本模式中执行安装”
注:分区时,一定要了解预装机器的硬盘容量,并做好分区规划后再进行分区
我们下面是实验环境,就分了最简单的分区。
添加一个网络设备 eth0 使用 DHCP 类型
禁用 selinux,禁用防火墙
如果需要安装图形环境就选中,然后将设置代理启用
选则需要的软件包
安装前安装后自动执行的脚本,不是必须的,这里暂时不设置,待会我们手工编辑
全部配置完成之后,将配置文件 ks6.cfg 保存到/var/ftp 下备用
[root@zdjserver ~]# cat /var/ftp/ks.cfg -----查看生成的文件,根据注释很容易看懂
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://172.17.10.100/rhel6"
# Root password
rootpw --iscrypted $1$KJyICiQI$n5YhTRWRR1MdrL2A7Q2BD1
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
# System keyboard
keyboard us
# System language
lang zh_CN
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone --isUtc Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr --password="aixocm"
# Partition clearing information
clearpart --all
# Disk partitioning information
part swap --fstype="swap" --size=5122
part / --fstype="ext4" --size=5000
%packages
@backup-client
@base
在 kickstart 文件里使用%packages 命令来列出想安装的软件包,这里安装 base 组软件包
%end
为了让客户能在 PXE 引导的时候自动下载 kickstart 文件,必须修改 pxelinux.0 的配置文件
/var/lib/tftpboot/pxelinux.cfg/default
[root@zdjserver ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
[root@zdjserver ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
。。。。。。
label linux
menu label ^Install rhel6
menu default
kernel vmlinuz
append ks=ftp://172.17.10.100/ks6.cfg initrd=initrd.img
label local
menu label Boot from ^local drive
localboot 0xffff
客户端测试:
这是正常的无人值守的安装界面:
我的报错如下:
我的错误是文件名和保存在/var/ftp下的文件名不一样 -----太粗心了
还要注意文件的权限问题
一篇好文章,有一些常见的出错问题
http://wenku.baidu.com/link?url=n0rg0bsM5z0oTLviV1OE-bdrVEb6_Up1ajCgzOBAytBJM9CvOnAor8g7Tx8SccptEXVtCjbMTo4euZr67XWpX3pnXHadGMBb4QmSE2_wati
注意:安装完成后,应该要将第一启动改为硬盘,否则会不断重装。