[無人值守安裝作業系統]__RHEL6__FTP+TFTP+DHCP+Kickstart+PXE

Jelly_lyj發表於2017-03-18

實驗環境

1.實驗平臺:VMware Workstation 10

2.實驗OS:RHEL6

3.伺服器A:

       (1) 10.0.10.158

       (2) DHCP/FTP/TFTP

       (3) 有可使用的yum源

       (4) 關閉防火牆和SELinux

4.伺服器B:

       (1) 為RHEL6被安裝端

       (2) 設定為網路引導安裝

       (3) 在VM中設定A和B連線在同一個LAN segement

 

準備工作

生成ks.cfg 檔案需要system-config-kickstart 工具,而此工具依賴於X Windows。所以我們需要在伺服器A安裝X Windows 和Desktop(圖形介面支援):

# yum groupinstall Desktop
# yum groupinstall "X Window System"
# startx  ----->#可啟動圖形介面

 


FTP的安裝與配置

# yum install vsftp*  -y   ------>#安裝ftp
# service vsftpd start     ------>#啟動ftp服務
# chkconfig vsftpd on      ------>#設定為開機自動啟動

 注意:FTP的配置,一定要保證anonymous匿名使用者可以登入!

 


TFTP的安裝與配置

1.安裝tftp服務

# yum install tftp  -y
# yum install tftp-server -y

2.修改配置檔案中13、14行的內容

# vim /etc/xinetd.d/tftp 
  1 # default: off
  2 # description: The tftp server serves files using the trivial file transfer \
  3 #       protocol.  The tftp protocol is often used to boot diskless \
  4 #       workstations, download configuration files to network-aware printers, \
  5 #       and to start the installation process for some operating systems.
  6 service tftp
  7 {
  8         socket_type             = dgram
  9         protocol                = udp
 10         wait                    = yes
 11         user                    = root
 12         server                  = /usr/sbin/in.tftpd
 13         server_args             = -s /tftpboot   #修改
 14         disable                 = no             #修改
 15         per_source              = 11
 16         cps                     = 100 2
 17         flags                   = IPv4
 18 }

3.重啟xinetd服務,檢查埠(xinetd本來就是開機自啟的),則TFTP服務可正常啟動了

# /etc/init.d/xinetd  start
# lsof -i:69
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
     xinetd  16111 root    5u  IPv4  76202      0t0  UDP *:tftp 

 


DHCP的安裝與配置

1.安裝DHCP,修改配置檔案

# yum install dhcp  -y
# vim /etc/dhcp/dhcpd.conf
  ddns-update-style none;
  ignore client-updates;
  log-facility local7;
  default-lease-time 3600;
  max-lease-time 72000;
  subnet 10.0.10.0 netmask 255.255.255.0 {
      range 10.0.10.1  10.0.10.200;
      option routers 10.0.10.158;
      option subnet-mask 255.255.255.0;
   }
  filename "pxelinux.0";       ------>#這是網路引導必須有的配置
  next-server 10.0.10.158;     ------>#這是網路引導必須有的配置
  

2.重啟服務,設定為開機自啟

# service dhcpd restart
# chkconfig dhcpd on

 


配置Kicksart

# mkdir /tftpboot    ------>#這對應了我們之前在xinetd.d/tftp配置檔案中的設定(13行)
# mkdir /tftpboot/pxelinux.cfg
# yum  install  system-config-kickstart.noarch  –y  
# cp /usr/share/syslinux/pxelinux.0 /tftpboot/  ------>#要安裝system-config-kickstart.noarch才找得到syslinux這個目錄的

 

# mount /dev/sr0 /mnt    ------>掛載光碟到/mnt下,就可以拷貝光碟中需要的檔案了
# cp /mnt/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default
# cp /mnt/images/pxeboot/initrd.img  /tftpboot/
# cp /mnt/images/pxeboot/vmlinuz /tftpboot/
# chmod 644 /tftpboot/pxelinux.cfg/default 

 

# vim /tftpboot/pxelinux.cfg/default
     1	default linux     ------>#修改這裡為linux,表示尋找18行的label linux
     2	#prompt 1
     3	timeout 600
     4	
     5	display boot.msg
     6	
     7	menu background splash.jpg
     8	menu title Welcome to Red Hat Enterprise Linux 6.4!
     9	menu color border 0 #ffffffff #00000000
    10	menu color sel 7 #ffffffff #ff000000
    11	menu color title 0 #ffffffff #00000000
    12	menu color tabmsg 0 #ffffffff #00000000
    13	menu color unsel 0 #ffffffff #00000000
    14	menu color hotsel 0 #ff000000 #ffffffff
    15	menu color hotkey 7 #ffffffff #ff000000
    16	menu color scrollbar 0 #ffffffff #00000000
    17	
    18	label linux
    19	  menu label ^Install or upgrade an existing system
    20	  menu default
    21	  kernel vmlinuz
    22	  append initrd=initrd.img ks=ftp://10.0.10.158/ks.cfg    ------>#修改這裡(我們後面會生成ks.cfg這個檔案的)------>如果要做成有人值守安裝這行應該註釋掉
    23	label vesa
    24	  menu label Install system with ^basic video driver
    25	  kernel vmlinuz
    26	  append initrd=initrd.img xdriver=vesa nomodeset
    27	label rescue
    28	  menu label ^Rescue installed system
    29	  kernel vmlinuz
    30	  append initrd=initrd.img rescue
    31	label local
    32	  menu label Boot from ^local drive
    33	  localboot 0xffff
    34	label memtest86
    35	  menu label ^Memory test
    36	  kernel memtest
    37	  append -

 


製作無人值守安裝檔案

1.在圖形介面下,開啟終端輸入system-config-kickstart,彈出介面

(1)基本配置:

    設定下預設安裝的語言,時區,根口令,然後勾選下面的安裝後重新引導

    

(2).安裝方法:

      選擇執行新安裝,配置ftp伺服器的安裝方法。

     

(3).載入程式選項(漏截了盜個圖)

     

(4).分割槽資訊

      根據需要規劃分割槽大小

     

(5).網路配置

     選擇DHCP方式

    

(6).驗證

    

(7).防火牆配置

      根據需求選擇開啟或關閉防火牆和SELinux

     

(8).顯示配置(再次盜圖...)

     

(9).軟體包選擇

     根據需求選擇

     

(10).預安裝指令碼和安裝後指令碼

         根據需求配置

        

 

 

2.左上角file,點選儲存,命令為ks.cfg

  

 

 


最後一點步驟~

1.記得我們的在/tftpboot/pxelinux.cfg/default檔案的22行中寫過:

   append initrd=initrd.img ks=ftp://10.0.10.158/ks.cfg

   我們告訴了被安裝機子要去哪裡找這個安裝檔案,所以得把ks.cfg這個安裝檔案放到/var/ftp下,讓它到時候可以去FTP伺服器下載到這個安裝檔案

# cp  /root/ks.cfg  /var/ftp

 

2.記得我們在製作安裝檔案ks.cfg時,對於第(2)安裝方法的配置嗎。我們的安裝源設定成了FTP方式,目錄寫了/pub

    所以,要把光碟掛到/var/ftp/pub下,被安裝機子需要的安裝光碟裡面的內容,就是到這裡去找的

# mount  /dev/sr0  /var/ftp/pub

 


 補充

1.可以檢視一下安裝檔案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://10.0.10.158/pub"
# Root password
rootpw --iscrypted $1$4mwMdVVg$x40MwRz3xD13hzBGOIwUs0
# System authorization information
auth  --useshadow  --passalgo=md5
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang zh_CN
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Africa/Abidjan
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part /home --fstype="ext4" --size=500
part swap --fstype="swap" --size=1024
part / --fstype="ext4" --grow --size=1

%packages
@additional-devel
@base
@basic-desktop
@chinese-support
@console-internet
@desktop-debugging
@desktop-platform
@development
@emacs
@fonts
@general-desktop
@graphical-admin-tools
@graphics
@input-methods
@internet-applications
@internet-browser
@kde-desktop
@network-tools
@nfs-file-server
@office-suite
@remote-desktop-clients
@system-admin-tools
@system-management
@system-management-snmp
@system-management-wbem
@tex
@x11
git
ftp
tftp
wget
xsettings-kde
-ibus-table-cangjie
-ibus-table-erbi
-ibus-table-wubi
%end
%post      
chkconfig NetworkManager off          ------>#所以可以在其中新增一些指令碼來實現一些自定義的設定                
sed -i '/NM/s/yes/no/' /etc/sysconfig/network-scripts/ifcfg-eth0
mkdir /myfile
wget ftp://10.0.0.254/pub/service.txt -O /myfile
chmod 600 /myfile/service.txt
useradd user01
echo "aixocm" | passwd --stdin user01
%end

 

2.實驗過程遇到的錯誤

    見博文:http://www.cnblogs.com/snsdzjlz320/p/5630268.html

 

             

相關文章