手把手系列(四)教你用kickstart自動化安裝CentOS系統

KickStart是一種半自動化的安裝方式。安裝者完全可以只告訴安裝程序從何處獲取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,并結束安裝。

本節索引:

一、KickStart安裝簡介

二、實驗:使用kickstart自動化安裝CentOS系統

三、實驗:制作CentOS6的自動化啟動引導文件boot.iso

四、實驗:制作U盤自動化安裝盤

五、實驗:制作不依賴網絡的完整CentOS6系統ISO自動安裝盤

timg_image&quality=80&size=b9999_10000&sec=1527175089010&di=ef529acd12921d16b002

一、KickStart安裝簡介

KickStart是一種半自動化的安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預

填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝

文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適

的參數時,就采用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart

文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何獲取ks.cfg文件

,然后去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,并結束安裝。

 

KickStart文件的格式:

KickStart文件格式與anaconda-ks.cfg文件格式十分類似,總體由三部分組成:

1)命令段:指明各種安裝前配置,如鍵盤類型等

必備命令:

authconfig:認證方式配置

authconfig –useshadow –passalgo=sha512

bootloader:bootloader的安裝位置及相關配置

bootloader –location=mbr –driveorder=sda –

append=”crashkernel=auto rhgb quiet”

keyboard:設定鍵盤類型

lang:語言類型

part:創建分區

rootpw:指明root的密碼

timezone:時區

可選命令:

install OR upgrade

text:文本安裝界面

network

firewall

selinux

halt

poweroff

reboot

repo

user:安裝完成后為系統創建新用戶

url: 指明安裝源

key –skip 跳過安裝號碼,適用于rhel版本

 

2)程序包段:指明要安裝的程序包組或程序包,不安裝的程序包等

%packages

@group_name

package

-package

%end

3)腳本段:

%pre:安裝前腳本

運行環境:運行于安裝介質上的微型Linux環境

%post:安裝后腳本

運行環境:安裝完成的系統

安裝后腳本非常有用,我們可以在這里定義系統安裝完成后自動安裝yum源,創建一些普通用戶等功能

 

 

 

生成ks應答文件方法:

1.參照anaconda-ks.cfg文件修改(不常用)

2.利用system-config-kickstart圖形工具制作(常用)

檢查ks文件語法錯誤:

ksvalidator? /path/to/ks.cfg

 

在實驗之前,我們還是先了解下系統安裝程序anaconda以及光盤中isolinux目錄的功能

 

anaconda:系統安裝程序

1)安裝前配置階段:

安裝過程使用的語言

鍵盤類型

安裝目標存儲設備

Basic Storage:本地磁盤

特殊設備:iSCSI

設定主機名

配置網絡接口

時區

管理員密碼

設定分區方式及MBR的安裝位置

創建一個普通用戶

選定要安裝的程序包

 

2)安裝階段:

在目標磁盤創建分區,執行格式化操作等

將選定的程序包安裝至目標位置

安裝bootloader和initramfs

3)圖形模式首次啟動:

Iptables

Selinux

Core dump

系統在完成安裝后,會在用戶家目錄自動生成一個anaconda-ks.cfg配置文件,記錄了安裝系統時選擇的

各種參數,安裝包等內容

 

系統光盤中isolinux目錄列表文件:

boot.cat??? ? ? ? ? ? ? ? ? 類似于系統啟動時MBR的作用

grub.conf???????????????? grub.conf文件鏡像

initrd.img????????????????? 是ramfs虛擬文件系統(先cpio,再gzip壓縮)

isolinux.bin?????????????? 相當于grub的第二階段

isolinux.cfg?????????????? isolinux.bin的配置文件,當光盤啟動,會自動去找isolinux.cfg文件

memtest?????????????????? 內存檢測,這是一個獨立程序

splash.jpg???????????????? 光盤啟動界面的背景圖

vesamenu.c32?? ? ? ? 菜單風格,菜單圖標

vmlinuz???????????????????? 內核鏡像

 

 

二、實驗:使用kickstart半自動化安裝CentOS系統:

CentOS6:

一、系統默認未安裝system-config-kickstart,先進行yum安裝:

yum install system-config-kickstart

二、配置kickstart

1.基本配置

這里我們選擇語言、鍵盤模式、時區,設置root賬戶密碼并且選擇安裝后自動重啟以及字符界面安裝。

1基本配置

2.選擇安裝方式,我們以http安裝為例

2安裝方式

3.Boot Loader設置

3bootloader設置

4.分區設置,與正常安裝CentOS系統時設置分區類似,點擊Add添加分區

5分區信息

4分區設置

5.網絡配置界面,用來配置系統安裝完成后的網絡地址

6網絡配置

6.用戶加密方式設置,我們選擇默認即可

7用戶密碼加密方式

7.防火墻設置,在這里我們可以關閉SELinux策略,防火墻等級選擇默認

8防火墻設置

8.顯示設置

9顯示設置

9.自定義安裝包,我們可以在這一項選擇想要安裝的安裝包,比如mysql數據庫等

10自定義軟件包

10.安裝前腳本

11安裝前腳本

11.安裝后腳本

我們可以在這里定義系統安裝完成后自動安裝yum源,創建一些普通用戶等功能

12安裝后腳本

三、保存ks.cfg文件

13.保存ks.cfg文件

打開ks.cfg文件,可以看到剛才設置的參數已經保存在文件中,我們還可以直接修改ks.cfg文件,比如添加一些安裝包等

15.修改kscfg文件

 

四、在本機打開httpd服務,并將fs.cfg文件上傳到網頁

service httpd restart

service iptables stop

mv ks6_mini.cfg /var/www/html

瀏覽器:http://172.20.101.101/ks6_mini.cfg確認

16確認上傳瀏覽器

 

 

五、開啟一臺新虛擬機:

網卡設置為橋接模式

在進入光盤引導界面后,按ESC,出現下圖界面,輸入:

boot:?linux ip=172.20.0.222? netmask=255.255.0.0? ks=http://172.20.0.223/ks6_mini.cfg

注:此處設置的ip地址是為了訪問httpd服務設置的ip地址,與系統安裝后的ip地址不同

17boot

六、自動化安裝

如果ks.cfg文件沒有設置出錯的話,將進入自動安裝界面

自動化安裝軟件包

七、安裝完成

我們可以看到,安裝后腳本也執行成功,wang賬戶創建成功,分區創建成功!

安裝完成

 

CentOS7:

7版本的kickstart安裝與6基本一致,僅需修改個別版本參數

需要注意的是,在可選安裝包這一項,獲取不到安裝包信息

無可選安裝包

解決方法將yum的base源名稱改為development即可

修改yum源

再次打開,我們發現可選安裝包又出現了

其他流程與安裝CentOS6版本基本一致:

最小化安裝

 

 

三、實驗:制作CentOS6的啟動光盤boot.iso

思路:參考ISO光盤內文件,制作boot6.iso

1.將光盤isoliux目錄復制到/data/myiso目錄下,ks.cfg文件復制到/data/myiso/ksdir下

目錄結構如下:

準備目錄

rm -rf /data/*

cd /data

mkdir myiso

cp -r /misc/cd/isolinux? /data/myiso/

mkdir /data/myiso/ksdir

cp ?ks6_mini.cfg ?/data/myiso/ksdir

cp ?ks6_desktop.cfg ?/data/myiso/ksdir

 

2.修改isolinux.cfg文件

cd isolinux/

vim isolinux.cfg

內存檢測刪掉

本地安裝留下,且留作默認項(重要)

救援模式刪掉

增加桌面安裝

label desktop

kernel vmlinuz

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

增加最小化安裝

label mini

kernel vmlinuz

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

修改isolinux.cfg

3.生成boot.iso文件

mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot. cat -o /root/boot.iso /data/myiso/

生成boot.iso

4.將boot.iso文件導出系統,新開一臺虛擬機,掛載boot.iso;并設置光盤引導啟動

修改硬盤啟動項

5.開機成功,顯示我們通過isolinux.cfg修改過的菜單選項,默認本地安裝,選擇其他選項將進行對應系統的自動安裝

開機畫面

 

 

四、實驗:制作U盤自動安裝盤

思路:以實驗三制作完成的boot.iso為啟動文件,增加一塊1G的虛擬硬盤/dev /sdc模擬U盤將iso轉

1.為混合模式

isohybrid? boot.iso

轉為混合模式

2.使用dd命令寫入新硬盤

dd? if=boot.iso? of=/dev/sdc

dd寫入

3.開啟一臺新的虛擬機,插入剛才的硬盤,并設置新硬盤為啟動項

US6GAH3KDPS($P{@{]BASBU

4.啟動成功

啟動成功

 

五、實驗:制作不依賴網絡的完整CentOS6系統ISO自動安裝盤

1.將CentOS6的第一張盤和第二張盤所有內容拷入centos6目錄

mkdir ?/data/centos6??

cp -rv /misc/cd/? /data/centos6?????????????????? 第一張盤

cp -rv /misc/cd/*? /data/centos6???????????????? ??? 第二張盤

2.刪除centos6/repodata/文件,只留下.*comps.xml一個文件

repodata

3.根據.*comps.xml生成新的repodata目錄

cd centos6/

createrepo -g? .*comps.xml??

生成新的repodata

4.將準備好的ks.cfg文件拷入/data/centos6/ksdir目錄

mkdir? /data/centos6/ksdir

cp ?ks6_mini.cfg /data/centos6/ksdir

cp ?ks6_desktop.cfg /data/centos6/ksdir

 

5.刪除/data/centos6目錄下多余的文件,如TRANS.TBL文件

find /data/centos6 -name TRANS.TBL -exec rm {} \;

 

6.修改ks.cfg文件啟動方式為光盤啟動cdrom

vim ksdir/ks6_mini.cfg

#Use network installation

cdrom

修改cd引導

 

7.按照ks.cfg文件修改isoinux.cfg文件啟動選項

cp /root/isolinux/isolinux.cfg?? .

vim isolinux.cfg

注意設置本地啟動為默認啟動項

修改isolinux.cfg

 

8.生成boot.iso

mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 Everything” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/CentOS-6.9-x86_64-Everything.iso /data/centos6/

 

9.將CentOS-6.9-x86_64-Everything.iso文件導出,由于文件過大,推薦使用xftp導出

xshell傳輸

 

10.新開一臺虛擬機,掛載CentOS-6.9-x86_64-Everything.iso,設置光盤為開機啟動

如無錯誤,將彈出選項可進行自動安裝

安裝

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99307

(8)
wangxczwangxcz
上一篇 2018-05-24
下一篇 2018-05-25

相關推薦

欧美性久久久久