DHCP+TFTP+VSFTP+pxelinux+kickstart實現RedHat的自動安裝

1.配置DHCP服務
#安裝dhcpd軟件包
yum install dhcpd -y
#編輯dhcpd服務配置文件,配置問
#vim /etc/dhcpd.conf
  1. ddns-update-style interim; 
  2. ignore client-updates; 
  3.   
  4. subnet 192.168.20.0 netmask 255.255.255.0 { 
  5.      
  6.     option routers          192.168.20.254; 
  7.     option subnet-mask      255.255.255.0; 
  8.      
  9.     option time-offset      28800; 
  10.      
  11.     range dynamic-bootp     192.168.20.10 192.68.20.200; 
  12.     default-lease-time      21600; 
  13.     max-lease-time          43200; 
  14.      
  15.     next-server 192.168.20.254; 
  16.     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
  1. #設定tftp的根目錄位置
  2. server_args = -s /tftpboot/ 
  3. #啓用tftp服務
  4. 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
  1. #設置菜單的背景文件
  2. default menu.c32
  3. #超時時間,超時後將使用默認啓動項啓動系統 
  4. timeout 600 
  5. #安裝引導菜單的標題名稱
  6. MENU TITLE welcome to MyKsServer 
  7.   
  8. #定義第一個啓動選項
  9. MENU SEPARATOR 
  10. #選項的描述
  11. label linux
  12. #選項顯示的名稱
  13.   menu label ^Install system from ksServer
  14. #啓動安裝系統時使用的內核文件已及ks.cfg文件的位置,安裝過程中,安裝程序將從vsftp獲得ks.cfg文件。
  15.   kernel vmlinuz 
  16.   append initrd=initrd.img ks=ftp://192.168.20.254/pub/ks.cfg 
  17.    
  18. MENU SEPARATOR 
  19. label local 
  20.   menu label Boot from ^local drive
  21. #設置該選項爲默認啓動選項 
  22.   menu default 
  23.   localboot 1 
3.安裝並配置vsftp服務
#因爲該vsftp服務只爲自動安裝提供文件,故而在這不做過多配置
#安轉vsftpd軟件包
yum install vsftpd -y
#配置vsftp,這些選項都不是必須的,vsftp的默認配置就足以滿足我們的需求了
#vim /etc/vsftpd/vsftpd.conf
  1. #允許匿名訪問
  2. anonymous_enable=YES 
  3. #禁止寫入
  4. write_enable=yes
  5. #修改匿名用戶的更目錄位置,默認匿名用戶的根目錄爲/var/ftp/,可寫目錄爲/var/ftp/pub
  6. #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
#這是一個圖形界面下的軟件,很容易配置,下面是我生成的一個自應答文件。
  1. #platform=x86, AMD64, or Intel EM64T 
  2. # System authorization information 
  3. auth  --useshadow  --enablemd5  
  4. # System bootloader configuration 
  5. bootloader --location=mbr 
  6. # Partition clearing information 
  7. clearpart --all --initlabel  
  8. # Use text mode install 
  9. text 
  10. # Firewall configuration 
  11. firewall --disabled 
  12. # Run the Setup Agent on first boot 
  13. firstboot --disable 
  14. # System keyboard 
  15. keyboard us 
  16. # System language 
  17. lang zh_CN 
  18. # Installation logging level 
  19. logging --level=info 
  20. key --skip 跳過輸入key的步驟,不然中間會需要輸入key,無法實現全自動安裝
  21. key --skip 
  22. # Use network installation 安裝所需要的軟件包位置
  23. url --url=ftp://192.168.10.51/pub/redhat5 
  24. # Network information 
  25. network --bootproto=dhcp --device=eth0 --onboot=on 
  26. # Reboot after installation 安裝完成後是否重啓計算機。如果該項爲reboot,你的默認第一引導爲network,
  27. # 安裝菜單的默認項爲使用ks安裝系統,那麼,如果你不注意,很可能會再次安裝系統哦~
  28. reboot 
  29. #Root password 
  30. rootpw --iscrypted $1$mzDhXT4m$A/PbfevPVgQBWpySAZ652/ 
  31.  
  32. # SELinux configuration 
  33. selinux --permissive 
  34. # System timezone 
  35. timezone  Asia/Shanghai 
  36. # Install OS instead of upgrade 
  37. install 
  38. # X Window System configuration information 
  39. xconfig  --defaultdesktop=GNOME --depth=32 --resolution=800x600 
  40. # Disk partitioning information 
  41. part /boot --bytes-per-inode=4096 --fstype="ext3" --size=256 
  42. part swap --bytes-per-inode=4096 --fstype="swap" --size=2048 
  43. part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1 
  44.  
  45. #選擇需要安裝的軟件包
  46. %packages 
  47. @base 
  48. @gnome-desktop 
  49. @base-x 
  50. @graphical-internet 
  51. @system-tools 
  52. @chinese-support 
  53. @editors 
  54. @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
    這幾條命令都是一次生效的命令,重啓計算機就會失效。現在,你可以使用客戶機去測試你的無人值守服務器了,只需要在客戶機上配置開機的第一引導爲網卡即可。
    不過,如果在網絡中,還有其他的DHCP服務器存在,一般也會影響到該服務器的工作。
    如果無法通過DHCP自動安裝的網絡中,好比所您需要安裝系統的服務器和您的這臺ks服務器不在同一個網段中(如需要安裝系統的服務器在IDC機房),那麼,您只需要從該文檔的第3部開始配置ks服務器即可,客戶機可以使用光盤啓動,並在啓動菜單編輯默認的安裝菜單如下即可:
RHEL5.X/CentOS5.x
RHEL6.x/CentOS6.x中,在默認菜單上按tab鍵即可編輯選項內容
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章