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


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

一、實現原理

光盤通過讀取 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 鏡像來做測試。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM