配置ks.cfg實現自動安裝過程
Linux安裝詳解-配置ks.cfg實現自動安裝過程
linux安裝大致可以分為2個階段
第一階段:anaconda
第二階段:installinstall階段系統會按照anaconda階段設定的引數自動安裝,這裡主要說的是anaconda階段,此階段是linux的預安裝環境,提供linux安裝選項的一個介面,可以將它比作是window中的PE環境
anaconda有兩種模式:互動式和非互動式
互動式就和普通安裝一樣,按照提示選擇選項一步步的安裝
非互動式則通過讀取kickstart檔案的配置,進行自動安裝,這和window中的無人值守安裝差不多的,這個檔案即是ks.cfg檔案(相當於window中的wi2k3.sif應答檔案)
而在安裝linux過程中,獲取ks.cfg檔案的方式有多種,如直接在cdrom中獲取,常見的形式還有http,ftp,nfs等方式
格式有三種:
cdrom和硬碟
ks=cdrom:/dir/ks.cfg(硬碟的話把cdrom換成hd即可,下面的類似)
http和ftp
ks=http://domain.com/dir/ks.cfg
NFS
ks=nfs:domain.com:/dir/ks.cfg
三種格式主要區分在於後面的斜槓,這裡要注意區分
在使用ks.cfg之前,需要先引導啟動環境
引導方式有很多,cdrom,usb,PXE等。
在引導進入anaconda後,即可通過讀取ks.cfg來進行系統的自動安裝
這裡開始說說kickstart檔案的大致內容
ks.cfg檔案組成大致分為3段
1.命令段:
鍵盤型別,語言,安裝方式等系統的配置,有必選項和可選項,如果缺少某項必選項,安裝時會中斷並提示使用者選擇此項的選項
2.軟體包段:
%packages
@groupname:指定安裝的包組
package_name:指定安裝的包
-package_name:指定不安裝的包
在安裝過程中預設安裝的軟體包,安裝軟體時會自動分析依賴關係。
3.指令碼段(可選):
%pre:預安裝指令碼(由於只依賴於啟動映象,支援的命令很少)
%post:後安裝指令碼(基本支援所有命令)
而具體的ks.cfg檔案的配置,我們只需要在已經安裝好的linux的root家目錄找到anaconda_ks.cfg(這個ks檔案就是在安裝linux後,根據使用者的安裝選項自動生成的)
下面的是一個樣例
(系統是CentOS-6.2-i386-minimal,所以配置樣例比較精簡)
.# Kickstart file automatically generated by anaconda.
.#version=DEVEL
install #表示是安裝,而不是升級
text #文字方式安裝
cdrom #安裝方式,如果是網路安裝的話可以寫成 url ––url ftp://192.168.1.254/dir 或者 nfs –server=192.168.0.241 –dir=/centosinstall
key –skip #這個是另外新增的,如果是RedHat的系統,會要求輸入key,這裡配置為跳過,如果不配置安裝時會停在那裡要求使用者輸入key
lang en_US.UTF-8 #語言
keyboard us #鍵盤樣式
network –onboot no –device eth0 –noipv4 –noipv6 #網路配置 配置具體引數樣例:network –onboot yes –bootproto=static –ip=192.168.1.1 –netmask=255.255.255.0 其他閘道器,DNS等格式和ifcfg-ethx的方式一樣
rootpw –iscrypted $6$PEJ49S7OkrNra3UM #管理員密碼,是加密過的 要是使用不加密的方式則這樣寫:rootpw 123456
firewall –service=ssh #開啟防火牆,並開啟ssh埠
authconfig –enableshadow –passalgo=sha512 #使用者認證和密碼加密方式
selinux –enforcing #強制開啟selinux
timezone –utc Etc/GMT+8 #時區設定
zerombr yes #清空磁碟的mbr
bootloader –location=mbr –driveorder=sda #載入程式相關引數
.# The following is the partition information you requested
.# Note that any partitions you deleted are not expressed
.# here so unless you clear all partitions first, this is
.# not guaranteed to work
clearpart –all –initlabel #初始化磁碟
part / –fstype=ext4 –size=18000 #開始分割槽
part swap –grow –size=1024
repo –name=”CentOS” –baseurl=cdrom:sr0 –cost=100
reboot
%packages –nobase #安裝的軟體包,這裡由於我安裝的是最小mini版,所以只安裝了核心軟體包組
@core
%post #後安裝指令碼(這裡是另外新增的,原來檔案中沒有)
id lustlost &>; /dev/null || useradd lustlost #檢查是否有lustlost使用者,如果沒有則新增
echo 123456 | passwd –stdin lustlost #配置密碼
cat >> /etc/yum.repos.d/base.repo << eof
[base]
name=baseserver
baseurl=http://192.168.1.254/yum
gpgcheck=0
enable=1
eof #這裡在安裝系統成功後執行指令碼自動配置一個yum源,其他指令碼可以按照需要定義
%end
相關文章
- Tigase手動安裝過程
- Webpack安裝配置及打包詳細過程Web
- PXE實現系統自動化安裝
- 安信實驗室教你如何實現Windows自動安裝!Windows
- nuxtjs 安裝過程中出現問題UXJS
- SQL Server 2000詳細安裝過程及配置SQLServer
- SQL Server 2005詳細安裝過程及配置SQLServer
- Visual Studio 2013安裝及番茄助手配置過程
- postgresql安裝過程中核心資源的配置SQL
- selenium安裝過程
- go 的自動過載工具安裝Go
- 客戶端自動配置安裝(expect工具)客戶端
- 怎樣使用過程自動化來實現過程的習慣性和永續性?
- webpack的安裝過程Web
- 【一】TYPORA安裝過程
- 安裝wampserver的過程Server
- linux mysql5.6版本的安裝配置過程LinuxMySql
- Linux安裝SVN實現自動同步到Web目錄LinuxWeb
- 通過 PXE 自動化安裝 Ubuntu ServerUbuntuServer
- 自研AC配置(上電過程)
- django 動態查詢實現過程Django
- RabbitMQ安裝過程詳解MQ
- 原始碼包安裝過程原始碼
- 如何實現自己的SpringBoot自動配置Spring Boot
- 理論+實驗 詳解Oracle安裝部署過程Oracle
- promise實現過程Promise
- Selenium原理、安裝與自動打卡實戰
- windows7安裝redis過程WindowsRedis
- VisualStudio(Mac)安裝過程筆記Mac筆記
- Python 3安裝IPython過程分享Python
- Oracle 18c rpm 安裝及解析安裝過程Oracle
- 訂單自動過期實現方案 - 轉
- App 啟動過程(含 Activity 啟動過程) | 安卓 offer 收割基APP安卓
- Spring AOP實現過程Spring
- github或gitee等dev cloud使用actions通過yml配置實現自動化部署GithubGiteedevCloud
- Visual Studio 2010詳細安裝過程
- mysql5.7.23安裝詳細過程MySql
- 使用pip安裝selenium過程筆記筆記