Kickstart自動化安裝系統

anaconda
html

REHL/CentOS系列的系統安裝程序名爲anaconda(就是那個裝系統時,讓你下一步下一步的的程序),咱們能夠經過修改此程序的配置文件實現自動化安裝.應用於大批量的機器須要安裝系統時.linux

anaconda是一個應用程序,要運行首先就須要內核,,在安裝光盤上提供一個微型的LINUXanaconda運行.shell

在光盤的isolinux目錄下存放啓動須要的全部文件,例如kernel,initrd,GRUBBootloader,工做過程與GRUB相似,當啓動成功即運行anaconda程序.vim

[root@EL6 /]# mount /dev/sr0  /mnt/網絡

mount: block device /dev/sr0 is write-protected, mounting read-onlyapp

 

[root@EL6 /]# ls /mnt/isolinux/less

boot.cat  boot.msg  grub.conf  initrd.img  isolinux.bin  isolinux.cfg  memtest  splash.jpg  TRANS.TBL  vesamenu.c32  vmlinuzide

 

boot.cat                #位於MBRstage1post

isolinux.bin           #stage2的程序文件spa

isolinux.cfg           #stage2的配置文件

vesamenu.c32       #圖形接口

vmlinuz                  #Kernel

initrd.img               #ramdisk

 

anaconda的工做過程:

1)安裝前配置階段,例如選擇鍵盤類型,選擇語言,選擇分區方案,時區,用戶密碼...

2)安裝運行階段,例如建立分區,格式化,掛載磁盤,安裝軟件包,安裝Bootloader

3)首次啓動,有些程序須要配置,例如iptables,selinux,core dump

而咱們要實現的自動安裝則是將安裝前配置寫入到配置文件中,省略步驟一,直接進行安裝:

模板配置文件詳解:

]# less ~/anaconda-ks.cfg

#命令段

 ....

#程序包段

%packges

   @group_name              #要安裝的包組

    package                       #要安裝的程序包

   -packge                         #某個包組中,不安裝的程序包

%end 

 

#腳本段

%pre                              #執行安裝前運行的腳本,沒有安裝系統,命令有限

 ...

%end

 

%post                             #安裝系統後,還未重啓,這時須要執行的腳本(收尾操做)

...

%end

 

 

 

 

這個文件本身寫太過複雜,咱們能夠經過命令來生成kickstart文件

]#yum install -y system-config-kickstart.noarch

]# system-config-kickstart          #運行,須要圖形化界面,使用xshell可運行圖形窗口image.png 

 

選擇相應的配置,最後選擇file」 -> save保存便可

 

]# ksvalidator  ~/ks.cfg   #檢查是否存在錯誤

 

如今咱們kickstart文件有了,anaconda讀取此文件便可自動安裝,那麼怎麼讓anaconda程序讀取到呢,這裏使用光盤啓動程序的命令行接口,ks文件的位置傳遞給kernel.

 

接口命令行:

在光盤中看到的安裝選項都由isolinux.cfg中定義:

[root@EL6 /]# cat /mnt/isolinux/isolinux.cfg   

default vesamenu.c32

#prompt 1

timeout 600

 

display boot.msg

 

menu background splash.jpg                      #背景圖

menu title Welcome to CentOS 6.5!label linux         #標題

 

label Install or upgrade an existing system         #標籤名,boot:下可啓動

  menu default                                                    #默認啓動

  kernel vmlinuz                                                  #內核

  append initrd=initrd.img                                  #append表示傳遞的內核參數

 

label vesa

  menu label Install system with ^basic video driver

  kernel vmlinuz

  append initrd=initrd.img xdriver=vesa nomodeset

label rescue

  menu label ^Rescue installed system

  kernel vmlinuz

  append initrd=initrd.img rescue

label local

  menu label Boot from ^local drive

  localboot 0xffff

label memtest86

  menu label ^Memory test

  kernel memtest

  append -

 

image.png 

tab,添加內核參數

     按esc,進入命令行界面:

     在Boot:提示符下輸入標籤名,便可啓動相應的內核及參數 image.png

 

經常使用的內核參數命令:

text      以文本顯示界面安裝

method     指定要安裝rpm包的位置

網絡參數:  ip= ,mask=  , dns= , gateway=  , ifname=name:mac 

遠程參數:  vnc   vncpassword=」xxx」

指定kickstart文件的位置:

   ks=http://x.x.x.x/ks.cfg

   ks=https://x.x.x.x/ks.cfg

   ks=nfs://x.x.x.x/ks.cfg

   ks=ftp://x.x.x.x/ks.cfg

   ks=cdrom:/x.x.x.x/ks.cfg

   ks=hd:/x.x.x.x/ks.cfg

 

 

 

環境說明:

kickstart文件生成存放在http://192.168.80.102/ks.cfg

自動安裝設置

             linux                     #表示啓動標籤名爲Linux的啓動項image.png 

回車以後就進行安裝了

 

 

製做一個啓動引導光盤,將軟件包存放在網絡中:

]# mkdir  myiso

]# cp -rf  /mnt/isolinux myiso/                                #拷貝啓動文件

]# cp -rf /mnt/images  /var/www/html/packs/        #拷貝安裝程序到rpm包目錄下

]# cp  ~/ks.cfg  myiso/

]# vim  myiso/isolinux/isolinux.cfg              #新增label

    label auto_installation

      menu label  Auto Installation CentOS6

      menu default

      kernel vmlinuz

      append initrd=initrd.img ks=cdrom:/ks.cfg

 

]# mkisofs -R -J -T -v --no-emul-boot -boot-load-size 4 -boot-info-table -V "MYISO_INSTALLATION" -b isolinux/isolinux.bin  -c isolinux/boot.cat  -o auto_install.iso myiso/

 

    用scp,ftphttp方式什麼的把iso文件拷下來,建立新虛擬機光盤選擇此文件,啓動以下:

image.pngimage.png 

開始安裝,http目錄下載rpm包到本地

相關文章
相關標籤/搜索