1.配置DHCP服務
#安裝dhcpd軟件包
yum install dhcpd -y
#編輯dhcpd服務配置文件,配置問
#vim /etc/dhcpd.conf
- ddns-update-style interim;
- ignore client-updates;
- subnet 192.168.20.0 netmask 255.255.255.0 {
- option routers 192.168.20.254;
- option subnet-mask 255.255.255.0;
- option time-offset 28800;
- range dynamic-bootp 192.168.20.10 192.68.20.200;
- default-lease-time 21600;
- max-lease-time 43200;
- next-server 192.168.20.254;
- filename "pxelinux.0";
- }
#重啓dhcpd服務
/etc/init.d/dhcpd restart
#將dhcpd服務設置爲開機啓動
chkconfig dhcpd on
2.配置TFTP服務(TFTP使用69端口)
#安裝TFTP軟件包
yum install tftp tftp-server -y
#編輯tftp的配置文件,修改下面內容
#vim /etc/xinetd.d/tftp
- #設定tftp的根目錄位置
- server_args = -s /tftpboot/
- #啓用tftp服務
- disable = no
#啓動tftp服務,因爲tftp是由xinetd進程管理的,所以只要重啓xinetd服務即可
/etc/init.d/xinetd restart
#chkconfig xinetd on //如果是RHEL6,或許使用此條命令時xinetd服務開機啓動
#掛載RHEL安裝光盤並拷貝需要的文件到tftp根目錄下
mount /dev/cdrom /media
mkdir -pv /tftpboot/pxelinux.cfg
cp /media/isolinux/vmlinuz /tftpboot/
cp /media/isolinux/initrd.img /tftpboot/
#yum install syslinux //需要在系統中安裝syslinux軟件包,才能夠在系統中找到pxelinux.0文件
#查找pxelinux.0文件的位置,因爲RHEL的版本不同,pxelinux.0文件的位置也不相同
find / -name pxelinux.0
cp /XXX/XXX/pxelinux.0 /tftpboot/
cp /XXX/XXX/menu.c32 /tftpboot/ //菜單的背景文件,可不復制
#製作安裝引導菜單
#cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default //可以使用光盤下的isolinux.cfg文件作爲模板製作啓動菜單,也可自己編寫,下面是我寫好的菜單,大家可以用來作爲參考。
#vim /tftpboot/pxelinux.cfg/default
#vim /tftpboot/pxelinux.cfg/default
- #設置菜單的背景文件
- default menu.c32
- #超時時間,超時後將使用默認啓動項啓動系統
- timeout 600
- #安裝引導菜單的標題名稱
- MENU TITLE welcome to MyKsServer
- #定義第一個啓動選項
- MENU SEPARATOR
- #選項的描述
- label linux
- #選項顯示的名稱
- menu label ^Install system from ksServer
- #啓動安裝系統時使用的內核文件已及ks.cfg文件的位置,安裝過程中,安裝程序將從vsftp獲得ks.cfg文件。
- kernel vmlinuz
- append initrd=initrd.img ks=ftp://192.168.20.254/pub/ks.cfg
- MENU SEPARATOR
- label local
- menu label Boot from ^local drive
- #設置該選項爲默認啓動選項
- menu default
- localboot 1
3.安裝並配置vsftp服務
#因爲該vsftp服務只爲自動安裝提供文件,故而在這不做過多配置
#因爲該vsftp服務只爲自動安裝提供文件,故而在這不做過多配置
#安轉vsftpd軟件包
yum install vsftpd -y
#配置vsftp,這些選項都不是必須的,vsftp的默認配置就足以滿足我們的需求了
#vim /etc/vsftpd/vsftpd.conf
- #允許匿名訪問
- anonymous_enable=YES
- #禁止寫入
- write_enable=yes
- #修改匿名用戶的更目錄位置,默認匿名用戶的根目錄爲/var/ftp/,可寫目錄爲/var/ftp/pub
- #anon_root=/var/ftp/
#啓動vsftpd服務
/etc/init.d/vsftpd restart
chkconfig vsftpd on
4.安裝kickstart軟件包,用來生成自應答文件ks.cfgyum install system-config-kickstart -y
#啓動該軟件
system-config-kickstart
#這是一個圖形界面下的軟件,很容易配置,下面是我生成的一個自應答文件。
- #platform=x86, AMD64, or Intel EM64T
- # System authorization information
- auth --useshadow --enablemd5
- # System bootloader configuration
- bootloader --location=mbr
- # Partition clearing information
- clearpart --all --initlabel
- # Use text mode install
- text
- # Firewall configuration
- firewall --disabled
- # Run the Setup Agent on first boot
- firstboot --disable
- # System keyboard
- keyboard us
- # System language
- lang zh_CN
- # Installation logging level
- logging --level=info
- # key --skip 跳過輸入key的步驟,不然中間會需要輸入key,無法實現全自動安裝
- key --skip
- # Use network installation 安裝所需要的軟件包位置
- url --url=ftp://192.168.10.51/pub/redhat5
- # Network information
- network --bootproto=dhcp --device=eth0 --onboot=on
- # Reboot after installation 安裝完成後是否重啓計算機。如果該項爲reboot,你的默認第一引導爲network,
- # 安裝菜單的默認項爲使用ks安裝系統,那麼,如果你不注意,很可能會再次安裝系統哦~
- reboot
- #Root password
- rootpw --iscrypted $1$mzDhXT4m$A/PbfevPVgQBWpySAZ652/
- # SELinux configuration
- selinux --permissive
- # System timezone
- timezone 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=256
- part swap --bytes-per-inode=4096 --fstype="swap" --size=2048
- part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
- #選擇需要安裝的軟件包
- %packages
- @base
- @gnome-desktop
- @base-x
- @graphical-internet
- @system-tools
- @chinese-support
- @editors
- @engineering-and-scientific
#將生成的ks.cfg文件拷貝到相應的位置
cp ks.cfg /var/ftp/pub/
#將RHEL的安裝光盤掛載到相應的位置。當然,你也可以拷貝安裝所需的軟件包到這個目錄下,不過,筆者沒有這麼大的硬盤,就不進行拷貝了~
mkdir -pv /var/ftp/pub/redhat5
umount /dev/cdrom
mount /dev/cdrom /var/ftp/pub/redhat5
好了,到這裏,我們的無人值守安裝服務器就配置完成了,不過,爲了保證該服務器能夠正常運行,還是建議大家檢查下iptables和selinux的狀態,如果你不知的如何去調整這兩個服務的話,可以執行下面這幾條命令。
iptables -F
iptables -X
setenforce 0
cp ks.cfg /var/ftp/pub/
#將RHEL的安裝光盤掛載到相應的位置。當然,你也可以拷貝安裝所需的軟件包到這個目錄下,不過,筆者沒有這麼大的硬盤,就不進行拷貝了~
mkdir -pv /var/ftp/pub/redhat5
umount /dev/cdrom
mount /dev/cdrom /var/ftp/pub/redhat5
好了,到這裏,我們的無人值守安裝服務器就配置完成了,不過,爲了保證該服務器能夠正常運行,還是建議大家檢查下iptables和selinux的狀態,如果你不知的如何去調整這兩個服務的話,可以執行下面這幾條命令。
iptables -F
iptables -X
setenforce 0
這幾條命令都是一次生效的命令,重啓計算機就會失效。現在,你可以使用客戶機去測試你的無人值守服務器了,只需要在客戶機上配置開機的第一引導爲網卡即可。
不過,如果在網絡中,還有其他的DHCP服務器存在,一般也會影響到該服務器的工作。
如果無法通過DHCP自動安裝的網絡中,好比所您需要安裝系統的服務器和您的這臺ks服務器不在同一個網段中(如需要安裝系統的服務器在IDC機房),那麼,您只需要從該文檔的第3部開始配置ks服務器即可,客戶機可以使用光盤啓動,並在啓動菜單編輯默認的安裝菜單如下即可:
RHEL5.X/CentOS5.x
RHEL6.x/CentOS6.x中,在默認菜單上按tab鍵即可編輯選項內容