Linux中的無人職守安裝指令碼kickstart
一.kickstart自動安裝指令碼的作用
#在企業中安裝多臺作業系統時面臨的問題#
當安裝Linux作業系統時,安裝過程會需要回答很多關於設定的問題
這些問題必須手動選擇,否則無法進行安裝
當只安裝1臺Linux系統,手動選擇設定工作量比較輕鬆
當安裝多臺Linux,這些設定需要重複多次,這些重複動作是效率底下的操作
#如何解決以上問題?#
用檔案來記錄所有安裝過程中問題的答案,並讓所有需要安裝的主機自動讀取
#kickstart作用#
以上解決方案中記錄系統安裝過程中所有問題答案的檔案叫kickstart指令碼
二.實驗環境
1.主機名稱 :guo1
2.ip :172.25.254.105
3.火牆,selinux關閉
4.httpd服務開啟
5.配置軟體倉庫能正常工作
三.kickstart自動安裝指令碼的製作
在rhel7系統中提供圖形的kickstart製作方式
在rhel8中已經把圖形的工具取消,並新增到rhn網路中
在rhel8中如果無法通過rhn網路製作kickstart,可以使用模板生成
#通過模板生成kickstart檔案#
在已經裝好的rhel8中,/root/anaconda-ks.cfg 就是安裝當前系統時回答的所有問題的答案
生成的kickstart,此檔案為kickstart模板
操作步驟:
1.共享資源:
dnf install httpd -y
systemctl enable --now httpd
systemctl disable --now firewalld
setenforce 0 ##selinux調整為警告模式
mkdir /var/www/html/westos_5
mount /dev/cdrom /var/www/html/westos_5
測試資源共享:
firefox http://172.25.254.105/guo.cfg
#共享資源的意義#
在安裝作業系統時,每個被安裝的作業系統都要有安裝資源
如果使用映象安裝,每個安裝的系統都需要載入一個映象
這樣會浪費儲存,通過網路來共享映象中的資源,讓安裝系統的主機能通過
網路訪問被共享的資源這樣就可以解決多臺主機需要多個映象安裝的問題
#用模板自作kickstart#
在已經裝好的rhel8中,/root/anaconda-ks.cfg 就是安裝當前系統時回答的所有問題的答案
生成的kickstart,此檔案為kickstart模板
cp /root/anaconda-ks.cfg /var/www/html/guo.cfg
vim /var/www/html/guo.cfg
隨機生成密碼,寫入指令碼當中
指令碼內容
安裝需要的軟體環境,檢測指令碼有無錯誤
發現有錯誤,少寫%end結尾,更正再次檢測
然後按照虛擬機器安裝的流程在進入基礎配置介面點選
插入ks=http://172.25.254.105/guo.cfg(共享的源)
例項:
#version=RHEL8
ignoredisk --only-use=sda ##只是用我們系統中的第一快硬碟
#Partition clearing information
clearpart --all --initlabel ##把sda硬碟的所有內容刪掉
#Use graphical install
#graphical ##安裝過程開啟圖形
text ##安裝過程不開圖形
repo --name=“AppStream” --baseurl=http://172.25.254.20/westos_8/AppStream ##軟體安裝資源
#Use netsource installation media
url --url=“http://172.25.254.20/westos_8” ##系統安裝資源
#Keyboard layouts
keyboard --vckeymap=us --xlayouts=‘us’ ##鍵盤佈局為美式鍵盤
#System language
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 ##系統支援的語言
#Network information
network --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --no-activate ##網路卡設定
network --hostname=localhost.localdomain ##主機名設定
#Root password
rootpw --plaintext westos
authselect --enableshadow --passalgo=sha512 ##系統預設開啟的加密認證方式
#X Window System configuration information
#xconfig --startxonboot ##安裝完成後開機啟動圖形
skipx ##安裝完成後開機不啟動圖形
#Run the Setup Agent on first boot
firstboot --disable ##首次啟動初始化禁止
#System services
services --disabled=“chronyd,firewalld” --enabled=“sshd” ##在開機時開啟或關閉的服務
#System timezone
timezone Asia/Shanghai --isUtc --nontp ##系統時區,啟用utc計時方式,不其同ntp時間同步
#user --name=westos --password=
6
6
6W8HmY8FoDLmjcv65$Xo.SIxQ4rAWK19QBUvXP1et1us191K5w6GlIZvyEMaKx1FBK6EFTiwHC0X5DiktBfJzRsCyxDlmVemkSWfHlx1 --iscrypted --gecos=“westos”
#Disk partitioning information
part / --fstype=“xfs” --grow --size=1 ##讓/分割槽使用全部空閒磁碟空間
part /boot --fstype=“xfs” --size=200 ##/boot分割槽大小為200M
part swap --fstype=“swap” --size=500 ##swap分割槽大小為500M
reboot
%packages
@base ##安裝軟體組base
httpd ##安裝單個軟體httpd
%end
#%pre ##系統安裝前自動執行的指令碼
#%end
%post ##系統安裝後自動執行的指令碼
cat >> /etc/yum.repos.d/westos.repo <<EOF
[AppStream]
name=AppStream
baseurl=http://172.25.254.20/westos_8/AppStream
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=http://172.25.254.20/westos_8/BaseOS
gpgcheck=0
EOF
%end
ksvalidator /var/www/html/westos.cfg ##檢測westos.cfg語法
chmod 644 /var/www/html/westos.cfg
##搭建dhcpd伺服器##
讓被安裝的主機可以獲得ip來訪問網路資源及kickstart檔案
#搭建方式#
之前在網路管理單元中的方式在此使用即可
測試
在系統安裝基面選擇
Install Red Hat Enterprise Linux 8.0.0 <---- 鍵
ks=http://172.25.254.20/westos.cfg <----鍵
檢視效果
全自動安裝虛擬機器
指令碼create_vm.sh
相關文章
- kickstart無人值守方式安裝Linux 7.6Linux
- PXE+Kickstart無人值守安裝安裝Centos7.9CentOS
- PXE高效網路裝機與Kickstart無人值守安裝
- Linux網路服務-----實驗---PXE和Kickstart的無人值守裝機Linux
- Linux應該這麼學第19章使用 PXE+Kickstart 無人值守安裝服務Linux
- kickstart+PXE+dhcp+nfs 批量無人值守自動化安裝作業系統NFS作業系統
- Linux 筆記分享十六:指令碼安裝包Linux筆記指令碼
- Docker的指令碼安裝Docker指令碼
- pyenv 安裝指令碼指令碼
- linux shell指令碼中 =~ 的作用Linux指令碼
- linux中安裝JDK linux中安裝Tomcat linux中安裝Mysql 及故障解析 linux系統安裝redisLinuxJDKTomcatMySqlRedis
- oracle11g在linux7的靜默安裝指令碼OracleLinux指令碼
- Linux下利用指令碼靜默安裝Oracle11GLinux指令碼Oracle
- 『學了就忘』Linux軟體包管理 — 49、擴充:Linux中通過指令碼安裝程式Linux指令碼
- linux下expect環境安裝以及簡單指令碼測試Linux指令碼
- Linux中如何安裝RabbitMQ?在linux系統中安裝Rabbitmq的方法LinuxMQ
- 可以直接反編譯Mips架構的IDA版本(無需安裝指令碼)編譯架構指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- Linux 中 Docker 的部署安裝LinuxDocker
- shell指令碼一鍵安裝nginx指令碼Nginx
- mydumper自動化安裝指令碼指令碼
- Linux中安裝RedisLinuxRedis
- Linux中安裝anacondaLinux
- Mysql for Linux安裝配置之—— 原始碼安裝MySqlLinux原始碼
- linux安裝python3(原始碼安裝)LinuxPython原始碼
- kickstart半自動安裝centos系統與pxe自動安裝centos系統CentOS
- Linux系統下手把手完成無人值守安裝服務Linux
- centos789手動無腦用sh指令碼安裝Java8CentOS指令碼Java
- linux-原始碼的編譯安裝和解除安裝Linux原始碼編譯
- 靜默安裝19C RAC的指令碼指令碼
- Shell指令碼 | 一鍵解除安裝安卓App指令碼安卓APP
- linux下yum無法安裝lrzszLinux
- shell指令碼中cd命令無效指令碼
- golang一鍵自動安裝指令碼Golang指令碼
- 伺服器安裝Linux中安裝 Apache伺服器LinuxApache
- mysql8.0原始碼一鍵安裝指令碼MySql原始碼指令碼
- 【PG安裝】postgresql10 for linux 原始碼安裝SQLLinux原始碼
- 使用指令碼在Linux伺服器上自動安裝Kubernetes的包管理器Helm指令碼Linux伺服器