項目內容:利用網絡安裝技術,結合 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 <module>
from meh.ui.gui import GraphicalIntf
File "/usr/lib/python2.6/site-packages/meh/ui/gui.py", line 21, in <module>
import gtk
File "/usr/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
_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下的文件名不一樣 -----太粗心了
還要注意文件的權限問題
一篇好文章,有一些常見的出錯問題
注意:安裝完成後,應該要將第一啓動改爲硬盤,否則會不斷重裝。