Linux下载cfg命令,Linux安装详解-配置ks.cfg实现自动安装过程
之前發過一篇關于通過PXE實現Linux批量無人值守自動安裝的文章(可以參考http://www.linuxidc.com/Linux/2011-08/39949.htm),不過寫的只是具體的配置和操作,對于原理部分沒有說明,最近通過一段時間的學習,把linux的啟動安裝過程深入的了解了下,這里還要特別感謝馬哥的指導
言歸正傳,下面開始深入探討linux的安裝
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?<
[base]
name=baseserver
baseurl=http://192.168.1.254/yum
gpgcheck=0
enable=1
eof?????????????????????????????????#這里在安裝系統成功后執行腳本自動配置一個yum源,其他腳本可以按照需要定義
%end
如果覺得使用樣本的方式手工寫配置文件比較麻煩,也可以使用圖形化工具來制作ks.cfg文件
在linux中用yum安裝system-config-kickstart就行了(圖形化依賴于x-window),選項也有些限制(比如分區不能使用lvm),這里就不再演示了
總結
以上是生活随笔為你收集整理的Linux下载cfg命令,Linux安装详解-配置ks.cfg实现自动安装过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word光标一直闪动_6个一分钟就能学会
- 下一篇: druid seata 配置_架构设计