1. 程式人生 > >使用anaconda實現linux系統自動化安裝

使用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的檔案

檔案中定義了系統安裝過程中怎麼安裝的,做了哪些設定。我們把它叫做應答檔案。

[[email protected]

~]# ls

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