標籤:anaconda的工作過程 anaconda的設定檔產生工具 手工製作linux引導光碟片 kickstart檔案配置詳解
很多朋友也都使用光碟片安裝過操作Centos作業系統,光碟片啟動之後也就會給一個選擇介面一步一步的選擇好之後就開始正式安裝了,如果是安裝一台伺服器的作業系統,這樣也倒好說,如果等著我們安裝的是成百上千的時候,還能這樣一台的去手動選擇第一個台的配置選項嗎,很顯然這樣操作是很愚蠢的,所以我們能否讓它按著一個標準劃的模板自動化去配置後進行安裝了。Centos系列的作業系統的光碟片安裝管理器anaconda已經給我們提供了這一功能,只是大家沒有去做過多的研究罷了,那麼今天就帶大家來瞭解一下如何使用anaconda實現一些自動化安裝過程。
一、光碟片安裝的啟動過程:
bootloader——>kernel(initramfs)——>anaconda(自動化安裝管理程式)
anaconda:tui基於cureses的文本配置介面
gui基於圖形介面
MBR:boot.cat
stage2:isolinx/isolinux.bin
設定檔:isolinux/isolinux.cfg(菜單檔案)
每個對應的菜單選項:
載入核心:isolinux/vmlinuz
向核心傳遞參數:append initrd=initrd.img
裝載根檔案系統,並啟動anaconda(預設介面是gui,使用gui,RAM>=512MB)
如若需要啟動tui介面,需要向核心傳遞參數text即可
手動啟動tui:光碟片啟動菜單——>按ESC鍵——>輸入:linux text——>按ENTER鍵啟動即可
二、anaconda的工作過程:
(一)安裝前設定階段
1,作業系統使用的語言
2,鍵盤類型
3,安裝目標存放裝置
basic storage:本地磁碟
Special storage:指定其它存放裝置
4,設定主機名稱
5,配置網路介面
6,設定時區
7,設定管理密碼
8,設定分區方式及MBR安裝位置
9,選擇安裝模式(圖形介面|字元介面)以及倉庫位置
(二)安裝階段
1,在目錄磁碟建立分區並執行格式化
2,安裝選定模式所包含的程式包
3,安裝bootloader
三、安裝的最後階段:初次開機——>(圖形介面)配置iptables、selinux、coredump
四、anaconda的配置方式:
1,互動式配置方式
2,讀取預先配置好的設定檔:kickstart檔案
kickstart檔案產生工具:system-config-kickstart
kickstart檔案語法檢查工具:ksvaliadator
五、安裝引導選項:
(一)ks:指明kickstart檔案的路徑
DVD drive:ks=cdrom:/path/to/kickstart_file
hard drive:ks=hd:/dev/sd#/path/to/kickstart_file
http server:ks=http://host[:port]/path/to/kickstart_file
https server:ks=https://host[:port]/path/to/kickstart_file
ftp server:ks=ftp://host[:port]/path/to/kickstart_file
(二)kickstart檔案格式:
1、命令段:指定各種安裝前配置選項,如鍵盤類型、時區等
2、程式包段:指明要安裝的程式包、包組、,也包括不安裝的程式包
%packages 程式包段起始符
@group_name 安裝的包組
package 安裝的包
-package 不安裝的包
%end 程式包段結束符
3、指令碼段:
%pre 安裝前執行的指令碼
運行環境:安裝介質上的微型linux系統內容,只能運行簡單命令
%post 安裝後執行的指令碼
運行環境:安裝完成的系統,命令可以寫的比較複雜
4、命令段中的必備命令:
authconfig:認證方式配置
authconfig --enableshadow --passalgo=sha512
bootloader:定義bootloader的安裝位置及相關配置
bootloader --local=mbr --driveorder=sda --addend="crashkernel=auto rhgb quiet"
keyboard:設定鍵盤類型
keyboard us
lang:語言類型
lang zh_CN.UTF-8
part:分區布局
part /boot --fstype=ext4 --size=500
part pv.008002 --size=51200
rootpw:管理員密碼
rootpw --iscrypted $6$OxcPHgKqhYOJeoEV$x/STAbkJOh7ULnlo1RCik
如何產生加密密碼:openssl passwd -1 -salt `openssl rand -hex 4`
timezone:時區設定
timezone Asia/Shanghai --isUtc --nontp
補充:分區相關的其它指令
clearpart:清除分區
clearpart --none --drives=sda 清空磁碟分割
volgroup:建立卷組
volgroup myvg --peesize=4096 pv.008002
logvol:建立邏輯卷
logvol /home --fstype=ext4 --name=lv-home --vgname=myvg --size=5120
5、可選命令:
install OR upgrade:安裝或升級
test:安裝介面類型 text為tui 預設為gui
network:配置網路介面
network --onboot yes --device eth0 --bootproto dhcp --noipv6
firewall:防火牆
firewall --disabled
selinux:linux安全性原則
selinux --disabled
(三)系統安裝完成之後禁用防火牆
Centos 6:
service iptables stop
chkconfig iptables off
Centos 7:
systemctl stop firewalld
systemctl disable firewall
(四)系統安裝完成後禁用selinux:
編輯/etc/sysconfig/selinux/或/etc/selinux/config檔案
修改selinux參數為disabled或permissive
擷取selinux目前狀態:getenforce
立即生效方式:setforce=0
(五)repo:指明安裝時使用的倉庫
repo --name=“Centos” --baseurl=cdrom:sr0 --cost=100
url --url=http://10.10.1/cobbler/ks_mirror/centos-6.8-x86-64/
halt、poweroff或reboot:安裝完成之後的行為
參考官方文檔:《Installation Guide》
六、手工製作linux引導光碟片:
1,複製官方光碟片下的isolinux目錄到/root/myiso目錄
2,添加寫入許可權給/root/myiso/isolinux的所有檔案
3,修改/root/myiso/isolinux目錄下的isolinux.cfg檔案,append initrd=initrd.img後面添加一個參數ks=cdrom:/ks.cfg
4,製作kickstart自動應答設定檔,放置於myiso目錄下,指定repo使用網路倉庫
5,將/root/myiso目錄製作成ISO檔案
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "mybootcd" -c isolinux/boot.cat -b isolinux/isolinux.bin -o root/mybootcd.iso mysio
當然這也只是使用光碟片啟動安裝管理器anconda之後,使用ks自動應答檔案實現了一個半自動化安裝的效果,當然我們完全可以使用網卡的PXE模組,直接連接網路,通過提前已經搭建好的DHCP伺服器自動分配一個IP地址,再次串連上系統鏡像伺服器實現全自動化的無人值守安裝,光碟片啟動這一過程也就完全免掉了。當然在後續的伺服器板塊中我也會給大家分享的,敬請期待。
本文出自 “愛情防火牆” 部落格,請務必保留此出處http://183530300.blog.51cto.com/894387/1854246
Centos系統半自動化安裝