linux系統自動化安裝基礎
安裝程式
centos系統安裝
系統啟動流程:
bootloader-->kernel(initramfs)-->rootfs-->/sbin/init
注意:安裝過程中與啟動過程中的檔案不同
anaconda
系統安裝程式
tui: 基于圖形庫curses的文本視窗
gui:圖形視窗
安裝程式啟動過程
mbr: boot.cat
stage2: isolinux/isolinux.bin
配置檔案: isolinux/isolinux.cfg
每個對應的菜單選項:
加載核心: isolinuz/vmlinuz
向核心傳遞參數: append initrd=initrd.img ...
按esc鍵可以進入指令行模式,按tab鍵可以直接編輯核心參數
裝載根檔案系統,并啟動anaconda
預設啟動gui接口
若是顯式指定使用tui接口: 向核心傳遞text參數即可
(1)按tab鍵,在後面增加text
(2)按esc鍵: boot: linux text
注意:在自動化安裝時建議使用text字元化界面安裝,而手動安裝建議使用圖像化界面,因為字元化界面有些功能無法使用;記憶體小于512m則會自動啟用字元化界面,而無法啟用圖形化界面
anaconda工作過程
anaconda安裝系統分成三個階段:
1)、安裝前配置階段
安裝過程使用的語言
鍵盤類型
安裝目标儲存設備
basic storage:本地磁盤
特殊裝置: iscsi
設定主機名
配置網絡接口
時區
管理者密碼
設定分區方式及mbr的安裝位置
建立一個普通使用者
標明要安裝的程式包
2)、安裝階段
在目标磁盤建立分區,執行格式化操作等
将標明的程式包安裝至目标位置
安裝bootloader和initramfs
3)、首次啟動(firstboot)
iptables
selinux
core dump
注意當系統安裝完畢啟動後,firstboot預設是關閉狀态的,是以啟動需要修改/etc/sysconfig/firstboot檔案中的值為yes
注意:當我們再次退出此界面時,/etc/sysconfig/firstboot中的值又會修改為no
系統安裝
啟動安裝過程一般應位于引導裝置(boot.iso);後續的anaconda及其安裝用到的程式包等可來自下面幾種方式:
本地CD光牒
本地硬碟
ftp server: yum repository
http server: yum repostory
nfs server
如果想手動指定安裝源:
boot: linux askmethod
之後就是正常的安裝界面了,隻是安裝包是從對應媒介上擷取的
anaconda的配置方式:
(1) 互動式配置方式
(2) 通過讀取事先給定的配置檔案自動完成配置;
按特定文法給出的配置選項;
kickstart檔案(應答檔案)
安裝boot引導選項: boot:
text: 文本安裝方式
askmethod: 手動指定使用的安裝方法
與網絡相關的引導選項:
ip=ipaddr
netmask=mask
gateway=gw
dns=dns_server_ip
ifname=name:mac_addr
直接配置号ip位址等選項
與遠端通路功能相關的引導選項:
vnc
vncpassword='password'
指明kickstart檔案的位置: ks=
dvd drive: ks=cdrom:/path/to/kickstart_file
hard drive: ks=hd
/directory/kickstart_file
http server: ks=http://host:port/path/to/kickstart_file
ftp server: ks=ftp://host:port/path/to/kickstart_file
https server: ks=https://host:port/path/to/kickstart_file
nfs server:ks=nfs
/path/to/kickstart_file
啟動緊急救援模式:
rescue
官方文檔:《installation guide》
kickstart檔案的格式
指令段:指明各種安裝前配置,如鍵盤類型等;
程式包段:指明要安裝的程式包組或程式包,不安裝的程式包等;
%packages
@group_name
package
-package
%end
腳本段:
%pre: 安裝前腳本
運作環境:運作于安裝媒體上的微型linux環境
%post: 安裝後腳本
運作環境:安裝完成的系統
指令段中的指令:
必備指令
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
halt
poweroff
reboot
repo
user:安裝完成後為系統建立新使用者
url: 指明安裝源
key –skip 跳過安裝号碼,适用于rhel版本
kickstart檔案建立
建立kickstart檔案的方式:
(1) 直接手動編輯;
依據某模闆修改,比如anaconda-ks.cfg
(2) 可使用建立工具: system-config-kickstart(圖形化工具)
依據某模闆修改并生成新配置;
注意:關閉防火牆,在正常情況下,自動化安裝的确可以友善我們運維工作,但是也容易出現不可預期的情況,是以推薦半自動安裝
檢查ks檔案的文法錯誤: ksvalidator
# ksvalidator /path/to/kickstart_file
制作引導CD光牒和u盤
建立引導CD光牒:
#cp /media/cdrom/isolinux/ /tmp/myiso/
注意:是複制拷貝/isolinux/整個目錄而非隻是内容
#vim /tmp/myiso/isolinux/isolinux.cfg
initrd=initrd.img text ks=cdrom:/myks.cfg
#cp /root/myks.cfg /tmp/myiso/
#cd /tmp
# mkisofs -r -j -t -v --no-emul-boot --boot-load-size 4 --boot-info-table -v "centos 6.8 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/
注意:在刻錄CD光牒引導式要注意myks目錄的父目錄下運作以上指令
運作完之後,我們就可以将生成的boot.iso運用刻錄機或直接進行CD光牒引導啟動即可
建立u盤啟動盤
#dd if=/dev/sr0 of=/dev/sdb