首頁 > 軟體

使用光碟iso實現Linux作業系統的自動安裝部署

2020-06-16 17:21:08

前邊寫了一篇使用 PXE 的方式批次安裝作業系統,不是任何時候任何地方都有環境來通過 PXE 方式來進行安裝。如果此時需要通過光碟安裝,預設的情況下是通過互動式方式進行安裝,其實也可以通過 kickstart 的方式來實現自動化安裝部署。光碟通過 ks.cfg 進行安裝的實現方式比較簡單,下邊簡單的進行總結。

搭建PXE伺服器安裝Linux系統  http://www.linuxidc.com/Linux/2017-02/140481.htm

設定PXE 自動化安裝CentOS 6.7  http://www.linuxidc.com/Linux/2016-04/129926.htm

PXE實現批次無人值守安裝CentOS7系統  http://www.linuxidc.com/Linux/2017-02/140512.htm

一、實現原理

光碟通過讀取 ks.cfg 檔案來實現安裝作業系統,ks.cfg 組態檔放在光碟的根目錄即可,然後修改 isolinux/isolinux.cfg 檔案,設定核心引數,指定 ks.cfg 檔案的位置即可。由於原始 iso 映象檔案是唯讀的,不能直接在 iso 光碟目錄檔案內進行修改,需要拷貝到一個臨時目錄,修改完後在封裝為 iso 映象檔案。

二、拷貝映象臨時目錄

mkdir /mnt/cdrom
mount -o loop CentOS-6.8-x86_64-minimal.iso /mnt/cdrom
cp -ar /mnt/cdrom/ /root/iso    # 原來root下沒有iso目錄,拷貝過來重新命名為iso

三、生成 ks.cfg 檔案

生成 ks.cfg 檔案的方式大概有2種,一是可以通過圖形工具 system-config-kickstart 來客製化生成指定的 ks.cfg 檔案,二是對於熟悉 kickstart 語法的可以直接編寫 ks.cfg 組態檔。本次實驗用的 ks.cfg 設定比較簡單,是通過工具生成的,下邊給出本次的 ks.cfg 檔案。

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password
rootpw --iscrypted $1$p6oEoqGo$UDHZdzw56Rl6Rt5oi1A0Q1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
#reboot
# System timezone
timezone --isUtc Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --ondisk=sda --size=200
part swap --asprimary --fstype="swap" --ondisk=sda --size=4096
part / --asprimary --fstype="ext4" --grow --ondisk=sda --size=1

拷貝到光碟映象根目錄:

/bin/cp ks.cfg /root/iso/

四、修改啟動項選單核心引數

修改選單項組態檔 isolinux/isolinux.cfg:

default vesamenu.c32
#prompt 1
timeout 1    # 超時自動選擇選單時間設定,設定為1時,即一閃而過,設定3秒為好。

修改核心引數,指定 ks.cfg 位置:

label linux
  menu label ^Install CentOS 6.8 x64 System.    # 自定義了選單
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks.cfg     # 新增了ks檔案的位置:光碟的根目錄

五、封裝iso映象檔案

cd /root/iso/    # 進入映象製作目錄

如果沒有 mkisofs 命令,執行安裝:

yum install mkisofs -y

執行封裝映象的命令:

mkisofs -o /root/CentOS6.8_x64.iso 
    -V centos6 -b isolinux/isolinux.bin 
    -c isolinux/boot.cat 
    -no-emul-boot -boot-load-size 4 
    -boot-info-table -R -J -T -v .

校驗並寫入 md5 值(可選):

implantisomd5 /root/CentOS6.8_x64.iso

通過光碟實現自動化安裝已經完成製作,接下來測試可以通過虛擬機器,匯入 iso 映象來做測試。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/140815.htm


IT145.com E-mail:sddin#qq.com