天天看點

Linux系統自動化安裝基礎

linux系統自動化安裝基礎

安裝程式

centos系統安裝

系統啟動流程:

bootloader-->kernel(initramfs)-->rootfs-->/sbin/init

注意:安裝過程中與啟動過程中的檔案不同

anaconda

系統安裝程式

tui: 基于圖形庫curses的文本視窗

gui:圖形視窗

安裝程式啟動過程

mbr: boot.cat

stage2: isolinux/isolinux.bin

配置檔案: isolinux/isolinux.cfg

Linux系統自動化安裝基礎

每個對應的菜單選項:

加載核心: isolinuz/vmlinuz

向核心傳遞參數: append initrd=initrd.img ...

Linux系統自動化安裝基礎
Linux系統自動化安裝基礎

按esc鍵可以進入指令行模式,按tab鍵可以直接編輯核心參數

Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎

裝載根檔案系統,并啟動anaconda

預設啟動gui接口

若是顯式指定使用tui接口: 向核心傳遞text參數即可

(1)按tab鍵,在後面增加text

Linux系統自動化安裝基礎

(2)按esc鍵: boot: linux text

Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎

注意:在自動化安裝時建議使用text字元化界面安裝,而手動安裝建議使用圖像化界面,因為字元化界面有些功能無法使用;記憶體小于512m則會自動啟用字元化界面,而無法啟用圖形化界面

anaconda工作過程

anaconda安裝系統分成三個階段:

1)、安裝前配置階段

安裝過程使用的語言

鍵盤類型

安裝目标儲存設備

basic storage:本地磁盤

特殊裝置: iscsi

設定主機名

配置網絡接口

時區

管理者密碼

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

建立一個普通使用者

標明要安裝的程式包

2)、安裝階段

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

将標明的程式包安裝至目标位置

安裝bootloader和initramfs

3)、首次啟動(firstboot)

iptables

selinux

core dump

注意當系統安裝完畢啟動後,firstboot預設是關閉狀态的,是以啟動需要修改/etc/sysconfig/firstboot檔案中的值為yes

Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎

注意:當我們再次退出此界面時,/etc/sysconfig/firstboot中的值又會修改為no

系統安裝

啟動安裝過程一般應位于引導裝置(boot.iso);後續的anaconda及其安裝用到的程式包等可來自下面幾種方式:

本地CD光牒

本地硬碟

ftp server: yum repository

http server: yum repostory

nfs server

如果想手動指定安裝源:

boot: linux askmethod

Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎

之後就是正常的安裝界面了,隻是安裝包是從對應媒介上擷取的

anaconda的配置方式:

(1) 互動式配置方式

(2) 通過讀取事先給定的配置檔案自動完成配置;

按特定文法給出的配置選項;

kickstart檔案(應答檔案)

安裝boot引導選項: boot:

text: 文本安裝方式

askmethod: 手動指定使用的安裝方法

與網絡相關的引導選項:

ip=ipaddr

netmask=mask

gateway=gw

dns=dns_server_ip

ifname=name:mac_addr

Linux系統自動化安裝基礎

直接配置号ip位址等選項

與遠端通路功能相關的引導選項:

vnc

vncpassword='password'

指明kickstart檔案的位置: ks=

Linux系統自動化安裝基礎

dvd drive: ks=cdrom:/path/to/kickstart_file

hard drive: ks=hd

Linux系統自動化安裝基礎

/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

Linux系統自動化安裝基礎

/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: 時區

Linux系統自動化安裝基礎

可選指令

install or upgrade

text: 文本安裝界面

network

firewall

halt

poweroff

reboot

repo

user:安裝完成後為系統建立新使用者

url: 指明安裝源

key –skip 跳過安裝号碼,适用于rhel版本

kickstart檔案建立

建立kickstart檔案的方式:

(1) 直接手動編輯;

依據某模闆修改,比如anaconda-ks.cfg

Linux系統自動化安裝基礎

(2) 可使用建立工具: system-config-kickstart(圖形化工具)

依據某模闆修改并生成新配置;

Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎
Linux系統自動化安裝基礎

注意:關閉防火牆,在正常情況下,自動化安裝的确可以友善我們運維工作,但是也容易出現不可預期的情況,是以推薦半自動安裝

檢查ks檔案的文法錯誤: ksvalidator

# ksvalidator /path/to/kickstart_file

制作引導CD光牒和u盤

建立引導CD光牒:

#cp /media/cdrom/isolinux/ /tmp/myiso/

注意:是複制拷貝/isolinux/整個目錄而非隻是内容

Linux系統自動化安裝基礎

#vim /tmp/myiso/isolinux/isolinux.cfg

initrd=initrd.img text ks=cdrom:/myks.cfg

Linux系統自動化安裝基礎

#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/

Linux系統自動化安裝基礎

注意:在刻錄CD光牒引導式要注意myks目錄的父目錄下運作以上指令

運作完之後,我們就可以将生成的boot.iso運用刻錄機或直接進行CD光牒引導啟動即可

建立u盤啟動盤

#dd if=/dev/sr0 of=/dev/sdb

繼續閱讀