無人值守自動化安裝系統
系統安裝過程
開機系統bios自檢,然後通過bootloader載入isolinux相當於吧光碟當作根檔案系統掛在起來,載入的過程中會需要initrd機制,在記憶體中掛在一個臨時根檔案系統,把根檔案系統需要的驅動載入出來,之後再把真正的根檔案系統掛載上來。然後執行anaconda程式。
Anaconda
簡介
Anaconda是Red Hat Enterprise Linux、CentOS、Fedora等作業系統的安裝管理程式。它以Python及C語言寫成,以圖形的PyGTK和文字的python-newt介面寫成。它可以用來自動安裝配置,使使用者能夠以最小的監督執行。 Anaconda安裝管理程式應用在RHEL,Fedora和其他一些專案,Anaconda提供純文字模式和GUI模式,使用者可以安裝在各種各樣的系統
Anaconda工作過程
安裝前配置階段
- 安裝過程使用的語言;
- 鍵盤型別
- 安裝目標儲存裝置
- Basic Storage:本地磁碟
- Special Storage: iSCSI
- 設定主機名
- 配置網路介面
- 時區
- 管理員密碼
- 設定分割槽方式及MBR的安裝位置;
- 建立一個普通使用者;
- 選定要安裝的程式包;
安裝階段
- 在目標磁碟建立分割槽並執行格式化;
- 將選定的程式包安裝至目標位置;
- 安裝bootloader;
首次啟動
- iptables
- selinux
- core dump
Anaconda的配置方式
- 互動式配置方式:開機頁面之後手動安裝
- 自動化安裝:在kickstart檔案中吧配置項都設定好,讓anaconda讀取kickstart配置檔案自動化安裝
安裝引導選項
系統安裝選單頁面的時候,按下鍵盤ESC即可進入文字頁面輸入命令
boot:
- text:文字安裝方式
- method:手動指定使用的安裝方法
與網路相關的引導選項:
- ip=IPADDR
- netmask=MASK
- gateway=GW
- dns=DNS_SERVER_IP
遠端訪問功能相關的引導選項
- vnc
- vncpassword=‘PASSWORD’
啟動緊急救援模式:
- rescue
裝載額外驅動:
- dd
ks:指明kickstart檔案的位置;
ks=
- DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
- Hard Drive: ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE
- HTTP Server: ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE
- FTP Server: ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILEftp
- HTTPS Server: ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE
ks示例檔案
firewall --disabled #關閉防火牆
install #安裝作業系統
url --url="https://mirrors.aliyun.com/centos/6/os/x86_64/" #採用網路源安裝
rootpw --iscrypted $1$.EaLyDeQ$FujxZcce.b3ZpI1MI9JWR0 #加密後的root密碼
auth --useshadow --passalgo=sha512 #認證方式,預設
graphical #圖形化介面安裝
keyboard us #鍵盤佈局
lang en_US #系統預設語言
selinux --disabled #關閉selinux
skipx
logging --level=info #安裝過程日誌等級
reboot #安裝結束後重啟
timezone Asia/Shanghai #設定時區
network --bootproto=static --device=eth0 --gateway=192.168.253.2 --ip=192.168.253.181 --nameserver=192.168.253.2 --netmask=255.255.255.0 --onboot=on #網路相關設定
bootloader --location=mbr #bootloader安裝在mbr上
zerombr
clearpart --all --initlabel
#分割槽資訊
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
#需要安裝的包
%packages
@base
@development
%end
kickstart檔案格式
命令段:指定各種安裝前配置選項,如鍵盤型別等;
- authconfig:認證方式配置 (預設,一般不改動)
示例:
authconfig --enableshadow --passalgo=sha512
- bootloader:定義bootloader的安裝位置及相關配置
示例:
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#--location=mbr --driveorder=sda:bootloader優先裝在sda磁碟的mbr上。
#crashkernel=auto rhgb quiet:表示核心一旦崩潰,auto自動處理一般是核心轉儲,quiet安靜模式,不輸出
#rhgb:紅帽自帶的引數
- keyboard:設定鍵盤型別
例子:
keyboard us
- lang:語言型別
例子:設定語言英文
lang en_US.UTF-8
- part:分割槽佈局;
標準分割槽例子:part /boot --fstype=ext4 --size=500
lvm例子: part pv.008002 --size=51200
- rootpw:管理員密碼
例子:
rootpw --iscrypted STRING
- timezone:時區
例子:
timezone Asia/Shanghai
- network:配置網路介面
例子:
network --onboot yes --device eth0 --bootproto dhcp --noipv6
- firewall:防火牆
例子:
firewall --disabled
- selinux:SELinux
例子:
selinux --disabled
- repo:指明安裝時使用的repository;
例子repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
- install OR upgrade:安裝或升級;
- text:安裝介面型別,text為tui,預設為GUI
- halt、poweroff或reboot:安裝完成之後的行為;
- url: 指明安裝的網路源地址
程式包段: 指明要安裝程式包,以及包組,也包括不安裝的程式包;
%packages : 程式包段
@group_name : 指定安裝包組
package : 安裝某包
-package : 指定不安裝某包不一定真的不安裝,因為依賴關係也可能被安裝上去
%end 表示結束
指令碼段:
%pre:安裝前指令碼 ,執行環境是執行安裝介質上的微型Linux系統環境;
%post:安裝後指令碼 ,執行環境是安裝完成的系統;
KS檔案製作
一般製作有兩種方法
- 手動編寫
- 利用程式生成
主要介紹這種system-config-kickstart生成ks檔案的方法,需要使用linux的圖形化桌面環境,需要注意一點,如果用CentOS6生成CentOS7的ks檔案可能會出問題。
#這裡預設已經在圖形化桌面環境中了
第一步:安裝system-config-kickstart程式
yum install system-config-kickstart -y
第二步:命令列開啟輸入system-config-kickstart
第三步:配置
基礎配置
安裝方法配置
這裡使用光碟
bootloader選項
分割槽配置
這裡的分了3個分割槽
1./boot 檔案系統ext4 150mb
2.swap交換分割槽 檔案系統ext4 2048mb
3./ 檔案系統ext4 餘下所有空間
網路配置
認證方法
防火牆配置
使用圖形化介面安裝
程式包選擇
選擇要安裝的程式包
後面是安裝前執行的指令碼與安裝後執行的指令碼
第四步:儲存
儲存在了root目錄下
[root@localhost ~]# cat /root/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$YVbYBc7a$.jggXcp4crZtutzwm9f4E.
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=static --device=eth0 --gateway=192.168.253.2 --ip=192.168.253.180 --nameserver=192.168.253.2 --netmask=255.255.255.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
檢查語法錯誤
ksvalidator /root/ks.cfg
這裡使用http方式獲取ks檔案
yum install httpd -y #安裝httpd
cp /root/ks.cfg /var/www/html/ks.cfg #複製ks檔案到站點目錄
/etc/init.d/httpd start #啟動httpd服務
啟動新的虛擬機器
在這裡按下ESC進入命令列
命令列啟動指定ks檔案,就可以自動安裝了。
然後回車就可以自動化安裝了
自定義CentOS6映象檔案
第一步:建立myboot目錄
mkdir -pv /root/myboot
第二步:複製光碟的isolinux目錄
#如果沒有掛載光碟需要先掛載一下光碟
#mount -r /dev/cdrom /media
cp -r /media/isolinux/ /root/myboot/
修改檔案/root/myboot/isolinux/isolinux.cfg
[root@localhost ~]# cat /root/myboot/isolinux/isolinux.cfg
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ip=192.168.253.181 netmask=255.255.255.0 gateway=192.168.253.2 ks=cdrom:/ks.cfg
第三步:放置ks檔案到myboot目錄
[root@localhost ~]# cat /root/myboot/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="https://mirrors.aliyun.com/centos/6/os/x86_64/"
# Root password
rootpw --iscrypted $1$.EaLyDeQ$FujxZcce.b3ZpI1MI9JWR0
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=static --device=eth0 --gateway=192.168.253.2 --ip=192.168.253.181 --nameserver=192.168.253.2 --netmask=255.255.255.0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
%packages
@base
@development
%end
第四步:安裝mkisofs命令
yum install mkisofs -y
第五步:執行命令
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V “CentOS 6 x86_64 boot” -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/
這個檔案就是映象檔案,上傳到window然後匯入虛擬機器即可。
匯入虛擬機器之後
回車就可以了自動化安裝了
相關文章
- kickstart+PXE+dhcp+nfs 批量無人值守自動化安裝作業系統NFS作業系統
- 無人值守批量安裝linux作業系統Linux作業系統
- 地磅無人值守系統
- 無人值守自動化效能測試平臺
- pxe+kickstart無人值守安裝linux作業系統Linux作業系統
- PXE + Kickstart無人值守批量安裝OS
- Docker-02 無人值守安裝 dockerDocker
- kickstart無人值守安裝linux(轉)Linux
- Linux系統下手把手完成無人值守安裝服務Linux
- oracle客戶端無人值守安裝 靜默安裝Oracle客戶端
- PXE+Kickstart無人值守安裝安裝Centos7.9CentOS
- 搭建 Cobbler 無人值守安裝伺服器伺服器
- [無人值守安裝作業系統]__RHEL6__FTP+TFTP+DHCP+Kickstart+PXE作業系統FTP
- 透過自動化運維實現無人值守的故障自愈運維
- kickstart無人值守方式安裝Linux 7.6Linux
- PXE介紹(PXE+kickstart無人值守安裝)
- PXE高效網路裝機與Kickstart無人值守安裝
- Linux kickstart無人值守安裝RHEL5.5(轉)Linux
- PXE實現系統自動化安裝
- 按鍵大師:用Python實現無人值守的自動化操作Python
- 變電站裝置狀態識別無人值守巡檢系統
- kickstart半自動安裝centos系統與pxe自動安裝centos系統CentOS
- 無人值守智慧洗車
- Cobbler實現自動化安裝作業系統作業系統
- 無人值守掃碼自助過磅系統 稱重管理
- 微信掃碼過磅 無人值守稱重管理系統
- IT自動化無邊界——Gartner:系統化地打破IT自動化的孤島
- 運維轉型之路 —手工運維到無人值守的自動化運維,從根本實現降本增效運維
- Cobbler自動化批量安裝Linux作業系統 - 運維總結Linux作業系統運維
- RHEL6 無人值守搭建指令碼指令碼
- 自動安裝Windows2000系統 (轉)Windows
- mydumper自動化安裝指令碼指令碼
- Linux應該這麼學第19章使用 PXE+Kickstart 無人值守安裝服務Linux
- 使用NIM Server網路半自動安裝AIX系統ServerAI
- 【松溪】部署Linux系統的網路自動安裝Linux
- Win10系統可自動解除安裝“拙劣”系統更新補丁Win10
- Jenkins 自動化安裝外掛Jenkins
- 人工智慧的安全問題廣受關注,無人值守系統是否風險依舊人工智慧