使用anaconda實現linux系統自動化安裝
系統安裝
anaconda的配置方式:
(1) 互動式配置方式
(2) 通過讀取事先給定的配置檔案自動完成配置
按特定語法給出的配置選項
- kickstart檔案
安裝boot引導選項: boot:
text: 文字安裝方式
askmethod: 手動指定使用的安裝方法
與網路相關的引導選項:
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS_SERVER_IP
ifname=NAME:MAC_ADDR
與遠端訪問功能相關的引導選項:
vnc
vncpassword='PASSWORD'
指明kickstart檔案的位置: ks=
DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE Hard drive: ks=hd:device:/directory/KICKSTART_FILE HTTP server: ks=http://host:port/path/to/KICKSTART_FILE FTP server: ks=ftp://host:port/path/to/KICKSTART_FILE HTTPS server: ks=https://host:port/path/to/KICKSTART_FILE NFS server:ks=nfs:host:/path/to/KICKSTART_FILE
啟動緊急救援模式: rescue
kickstart檔案的格式 應答檔案格式
-
%packages @group_name package -package %end
指令碼段:
%pre: 安裝前指令碼
執行環境:運行於安裝介質上的微型Linux環境
%post: 安裝後腳本
執行環境:安裝完成的系統
前言:每個Linux系統安裝好後都會在root家目錄中生成一個anaconda-ks.cfg的檔案
檔案中定義了系統安裝過程中怎麼安裝的,做了哪些設定。我們把它叫做應答檔案。
anaconda-ks.cfg install.log install.log.syslog ###我們只看anaconda-ks.cfg
[[email protected] ~]# cat anaconda-ks.cfg
[[email protected] ~]# vi anaconda-ks.cfg
install
url --url=http://192.168.161.128/centos/6 (系統安裝方式)
lang en_US.UTF-8 時區
keyboard us
network --onboot yes --device eth0 --bootproto static --ip 192.168.161.127 --netmask 255.255.255.0 --noipv6
network --onboot no --device eth1 --bootproto dhcp --noipv6
rootpw --iscrypted $6$7VbfxrP7woZ2w0xT$ETITuXdObm1PyAK7qa8QFza0RU5PW.rqI4EKYDIIC94E5h5KlR5pOnYTWbkXkdAz.NuXxlECLIwJQtMODNBkR1 ##(使用者加密資訊等)
firewall --service=ssh ##防火牆
authconfig --enableshadow --passalgo=sha512 ##加密機制
selinux --enforcing ##selinux狀態
timezone --utc Asia/Shanghai
...................等資訊
%packages
@core
@server-policy
@workstation-policy
autofs
vim-enhanced
%end
解釋:%packages--------%end中間的表示需要安裝的軟體包;可以自己新增;我們這裡添加了autof、
vim-enhanced(@表示包組)
%post
useradd wang
echo root123 |passwd --stdin wang &> /dev/null
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
EOF
mkdir /root/.ssh
cd > /root/.ssh
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAozbYNrUASKvAaW/XMfU6aAsVONulTdWwIuBjaN9y3jFK6lDM8CyG+BQcVGiuLb77ZMuUPwvXi9zkPjEMvzWi9nH452Wt6yNItVz/0U0TtSGPtA1UjApyxb0snUpuQsI5zlYJrtszoSG0fwtz1NBVDru+akIqUZwQeeEFM70O3ab1V+OPN3H2ybdatb6lD5zOHMrg7Oisf21KCDoxkZoCnUusSKvPfPUoVqJ7jClGJVJBRAH9CpxL8YHt1zJE0t7ENA3JIRyJ7fqKgbrqpJRJy86XIr2Yj1T6Bqle5DDYuhNuEZZV5v22d9h0tiGz06jtiEDQWEolpm49+IKLRp2iyw== [email protected]
EOF
chmod 600 /root/.ssh/authorized_keys
chmod 700 /root/.ssh
%end
[[email protected] html]# ls
centos index.html ks
[[email protected] html]# cd ks
[[email protected] ks]# chmod 066 ks_centos6.cfg ## 給應答檔案加許可權
主機B中的應答檔案編輯完成;scp ks_centos8.cfg 192.168.161.128:/var/www/html/ks
在主機A中瀏覽器檢測一下
第二步:重啟B主機
省略一些安裝過程圖片
到此使用anaconda-ks.cfg應答檔案完成自動化系統安裝完畢。登入後可以檢查應答檔案中新增加的使用者wang資訊,和基於key驗證等定義。
第二種方式:使用圖形化工具製作anaconda應答檔案
需要安裝:system-config-kickstart軟體
yum install system-config-kickstart
system-config-kickstart ##圖形化介面可以修改和製作應答檔案
檢查應答檔案語法:ksvalidaror + 應答檔案路徑/var/www/html/ks/ks_centso6.cfg
******修改應答檔案分割槽表zerombr、#version=DEVEL