CentOS系列作業系統的安裝程式anaconda與其設定檔kickstart

來源:互聯網
上載者:User

標籤:設定檔   作業系統   運行環境   linux   style   

在使用光碟片安裝CentOS系的Linux作業系統時使用的是一個叫做anaconda的軟體,但是在安裝系統之前磁碟上是沒有作業系統的,也就沒有程式的運行環境,所以在光碟片上的某個目錄下有一個編譯好的核心和ramdisk以及init進程,由init啟動anaconda。

Anaconda支援文本和圖形兩種安裝介面,並把安裝過程分為三個階段:

  1. 安裝前配置
    1. 鍵盤類型
    2. 語言
    3. 時區
    4. 管理員密碼
    5. 磁碟及其分區方式
    6. 要安裝的程式包
  2. 安裝階段
    1. 在目標磁碟建立分區、執行格式化
    2. 將選定的程式包安裝至目標磁碟
    3. 產生bootloader
  3. 第一次啟動
    1. 配置iptables
    2. 設定SELinux
    3. 配置core dump核心轉儲,將記憶體中的內容轉儲到磁碟上

這些操作都需要手動進行選擇,但anaconda是支援讀取設定檔實現自動化安裝的,而它的設定檔就叫做kickstart。使用anaconda安裝好的系統,在root使用者的家目錄下有一個anaconda-ks.cfg檔案,這個檔案記錄了anaconda的所有配置,也可以理解為它就是一個kickstart檔案。

Kickstart檔案由一下幾部分組成:

命令段:配置鍵盤、磁碟分割等,這些命令中有必備命令也有可選命令,具體可參看redhat官方的文檔。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/AD/wKioL1Wk_rTS73vUAAJlNlpWrK4795.jpg" />

程式包段:以%packages開頭以%end結尾,此之間的為要安裝的的程式包,如果是包組則@gropename,不安裝的程式包不寫或-packagename。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/B0/wKiom1Wk_Nzh9QmfAAEmBRyw-MI144.jpg" />

指令碼段:以%pre起始表示安裝前執行的指令碼,但因為這時的Linux環境是微縮版的,所以指令碼應當盡量簡單;以%post起始表示安裝過後要執行的指令碼,這些指令碼是在安裝後的完整的Linux環境中啟動並執行。最後以%end結尾(可有可無)。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/AD/wKioL1Wk_rXz0B_mAAH-NN-cM68791.jpg" />

配置kickstart檔案的方式有兩種,一種是手動編輯配置,另一種是使用system-config-kickstart工具。不過要使用system-config-kickstart需要使用yum進行安裝,好在CentOS的base源中就有。安裝完成之後在Xshell下直接使用system-config-kickstart命令就可以了,它會啟動一個GUI介面,這個介面和anaconda介面非常類似,通過之上的提示一步步配置就可以了。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6F/B0/wKiom1Wk_N3Tlod-AALof2y5hJw706.jpg" />

這個命令也可以載入現有的kickstart檔案做修改,在file菜單中選擇就可以了。

配置好後我們如果要使用kickstart檔案有兩種方式:一種是將kickstart放置到光碟片上,另一種是放到網路伺服器上。放到網路伺服器上的方法我會在以後的有關PXE和cobbler伺服器的部落格中寫出,本文我們來使用製作引導光碟片方式完成安裝。

建立引導光碟片:根據CentOS官方光碟片,將提供啟動安裝過程的內容扣下來,剔除安裝樹。

  1. 準備工作目錄
    1. mkdir /tmp/cdrom
    2. [[email protected] ~]# mkdir /media/cdrom
    3. [[email protected] ~]# mount /dev/cdrom /media/cdrom

    在光碟片目錄下,能夠顯示安裝介面提供安裝功能的是一個叫做isolinux的目錄

  2. 複製isolinux目錄和kickstart檔案拷貝到我們準備的/tmp/cdrom中
    1. [[email protected] cdrom]# cp -r isolinux/ /tmp/cdrom/
    2. [[email protected] cdrom]# chmod u+w /tmp/cdrom/isolinux/*
    3. [[email protected] cdrom]# cp /root/anaconda-ks.cfg /tmp/cdrom/ks.cfg
  3. 編輯isolinux目錄下的相關檔案並製作iso檔案:

    [[email protected] isolinux]# ls

    boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz

    boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32

    這些是isolinux目錄下的檔案,我們其中boot.msg和boot.cat是一些提示的協助資訊和引導菜單,splash.jpg是安裝介面的背景圖片,vmlinuz是微核心,vesamenu.c32、isolinux.bin、memtest是提供引導功能的程式和資料,而它們所需要用到的設定檔就是isolinux.cfg,我們就是需要編輯這個檔案讓引導光碟片自動載入kickstart檔案。此檔案中有許多lable,不lable完成不同功能,有些類似於grub中的title,我們在linux這個lable中的append指令之後添加一條ks=cdrom:/ks.cfg,用於指定kickstart檔案的位置然後使用mkisofs命令建立iso鏡像,這裡如果不指定的話,需要在進入安裝介面後橋ESC鍵進入boot介面,手動指定:boot> linux ip=192.168.1.100 netmask=255.255.255.0 gateway=192.168.1.1 ks=cdrom:/ks.cfg。

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/AD/wKioL1Wk_raRL3AhAABzgah9Pvk991.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6F/AD/wKioL1Wk_raynH_uAACVbmTLs-8107.jpg" />

4、將製作好的iso鏡像裝載到需要安裝系統的主機中並配置好從光碟片啟動就可以了,因為我們的光碟片是不提供安裝樹的,所以kickstart檔案中的url和repo指令指定了網路上的檔案伺服器以提供安裝樹和程式包。

CentOS系列作業系統的安裝程式anaconda與其設定檔kickstart

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.