前言:由於平時的工作和學習中需要經常的使用linux系統,也就避免不了經常的安裝系統了,但是安裝過程中重復不斷的參數設置著實讓人頭疼,於是決定配置一台可以自動化安裝系統的虛擬機,這樣以後就免去了一步步安裝系統的麻煩,在這裡把配置的過程整理了一下,以方便以後使用,需要的朋友可以拿去,歡迎批評指正。至於kickstart是什麼,我在這裡就不多說了,不了解的朋友可以去找一下相關的文檔。
安裝平台:vmware workstation 9
系統:centos 5.9(內核2.6.18-348.el5)
內存:512M
www.2cto.com
配置過程
一、配置使用本地DVD鏡像的yum源用於安裝所需的軟件
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak
//將指向網絡的源禁用掉,這裡推薦改下名字,方便使用的時候改回去
# sed 's/enabled=0/enable=1/g' CentOS-Media.repo
//這個是centos系統為方便用戶默認添加的源配置文件,要使用本地鏡像做源只需將光盤掛載後啟用該配置文件即可。
接下來要掛在本機光盤文件,測試yum源。
# mkdir /media/cdrom
# mount /dev/cdrom /media/cdrom/
# yum clean all
# yum list
可以看到顯示的軟件包列表測說明本地yum源可以正常使用。
下面就可以安裝所需的軟件了
# yum -y install vsftpd tftp* *kickstart* dhcp
www.2cto.com
二、復制PXE啟動時需要的文件資料
PXE啟動映像文件由syslinux軟件包提供,安裝光盤中已提供,如果沒有此軟件包可以到syslinux 主頁:http://syslinux.zytor.com/下載rpm來安裝。
我們只要安裝了syslinux,就會生成一個pxelinux.0,將 pxelinux.0 這個文件復制到 '''/tftpboot''' 目錄即可。
# rpm -ql syslinux | grep pxelinux.0
# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
# mkdir /tftpboot/pxelinux.cfg
# cp /media/cdrom/isolinux/* /tftpboot/
# mv /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/default
修改/tftpboot/pxelinux.cfg/default文件
# chmod u+w /tftpboot/pxelinux.cfg/default //文件默認只讀
# vim /tftpboot/pxelinux.cfg/default
編輯之後的default文件內容如下
default linux //默認使用label linux 中標記的內核啟動
prompt 1 //顯示boot提示符,若為0則不提示,直接按defaul中的參數啟動
timeout 60 //用戶輸入之前的超時時間,可以自行設定
display boot.msg //顯示該文件的內容
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append ks=ftp://192.168.1.110/ks.cfg initrdinitrd=initrd.img //設置ks.cfg文件的路徑,該文件會在後面提到。
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
www.2cto.com
三、配置DHCP服務
# rpm -ql dhcp | grep --color dhcpd.conf.sample
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cp: overwrite `/etc/dhcpd.conf'? //是否覆蓋原來的配置文件,這裡選擇是,鍵入y即可。
修改主配置文件dhcpd.conf
# vim /etc/dhcpd.conf
下面是修改之後的配置文件內容,注釋掉的部分均已刪除。
ddns-update-style interim;
ignore client-updates;
allow booting; //定義能夠pxe啟動
allow bootp; //定義支持bootp
subnet 192.168.1.0 netmask 255.255.255.0 {//所屬網段及掩碼
option routers 192.168.1.1;//路由器IP,可以寫網關IP
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.200 192.168.1.250;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.1.110; //服務器IP地址。
filename "pxelinux.0"; //PXE得到IP以後的引導文件
啟動DHCP服務:如果啟動錯誤檢查/var/log/message
# service dhcpd restart
# chkconfig --level 35 dhcpd on
四、修改tftp參數並啟動服務,
#vi /etc/xinetd.d/tftp 將選取的yes改為no
啟動tftp
# service xinetd restart
www.2cto.com
五、配置kickstart來生成ks.cfg文件
在終端打命令
# system-config-kickstart
在打開的圖形界面裡進行參數設置
安裝方法設置,這裡我使用的是ftp的方式
Bootloader 安裝選項,可以根據需要修改,我這裡使用默認的
分區參數設置
網絡設置,這裡選擇DNCP
防火牆和SElinux的設置,可以根據需要設置,我這裡使用的默認
單擊“file--save file”把配置文件保存在/var/ftp下
修改新生成的ks.cfg文件
.............不用修改的內容已略去...............
# Partition clearing information
clearpart --all --initlabel
key --skip //添加此行用於跳過輸入序列號環節
.............不用修改的內容已略去...............
因為我目前所使用的系統沒有選擇軟件包的服務,所以在配置ks.cfg文件時不能選擇要按照的軟包,如果需要安裝額外的軟件包可以去安裝系統是記錄的安裝信息文件/root/anaconda-ks.cfg裡復制相關的軟包名字,復制到新生產的ks.cfg裡。
www.2cto.com
格式如
%packages
@base
@core
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@hyperv
@office
@printing
@sound-and-video
@text-internet
@base-x
這部分我就不在另作說明了。
接下來要把光盤掛載到/var/ftp/pub目錄下
最後要確定一下各個服務的狀態
# service iptables stop //關閉防火牆
# setenforce 0 //關閉selinux
# chkconfig tftp on //TFTP 服務開啟命令
# chkconfig dhcpd on
# chkconfig vsftpd on
# service xinetd restart //TFTP服務屬於他的子服務
# service dhcpd restart
# service vsftpd restart
在服務都正常的情況下就可以進行下面的測試了。
新建一台虛擬機使用網絡啟動,就可以實現自動化安裝完成了。
安裝過程大約需要半個小時,安裝完成會提示重啟系統,之後便可以使用設定的密碼登錄系統了。