制作CentOS 6.5自動安裝ISO鏡像光盤


制作Centos6.5一鍵自安裝ISO鏡像光盤

參考鏈接:https://pdf.us/2018/08/13/1710.html
參考鏈接:https://www.jianshu.com/p/682308ba083e
參考鏈接:Kickstart文件詳解 https://www.cnblogs.com/zhenhui/p/6233285.html 

使用kickstart制作可以自動安裝的光盤是比較容易的,但是,由於現在光盤的使用越來越少,部分服務器上也不再提供光驅,於是,我們打算使用U盤來安裝,但這個過程中,由於真實光盤和U盤的差異性,在適配U盤安裝的過程中,有一些需要注意的事項。


總體的步驟還是比較清晰的,可以簡單歸納為這幾個部署:
復制標准安裝ISO -> 集成rpm -> 編寫ks.cfg文件 -> 加入自定義業務部署腳本 -> ISO封裝 -> 寫入U盤

1. 系統安裝包說明
目錄樹結構
|-- .discinfo
|-- .treeinfo
|-- Packages
|-- base
|-- images
|-- isolinux
|-- ks.cfg
|-- repodata
.discinfo 文件是安裝價質的識別信息
.treeinfo 文件是系統版本,創建時間及文件目錄樹結構信息
Packages目錄存放安裝軟件包及信息
base 目錄存放定制腳本及包信息
images 目錄包括了必要的啟動映像文件
isolinux 目錄存放光盤啟動時的安裝界面信息
ks.cfg 文件是無人值守自動化安裝配置文件

2. 掛載光盤
1) 到官網下載所需的ISO版本。
2) 安裝制作發行版的工具

yum -y install anaconda repodata createrepo mkisofs rsync 



3) 掛載光盤,同步文件
mkdir /mnt/cdrom
mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt/cdrom/ ##掛載iso到/mnt/cdrom文件下
/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /mnt/cdrom/ /ISO/ ##同步/mnt/cdrom/下的文件到ISO/路徑下,除了Packages和repodata文件夾
mkdir -p /ISO/{Packages,repodata} ##在ISO/文件夾下新建Packages和repodata文件夾

4) 使用腳本拷貝相關軟件包到/ISO/Packages目錄下
注:腳本中的install.log文件可以從/root目錄下獲取,目的是可以刪除不必要的rpm包
#!/bin/bash
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^*://g' >package.txt
DVD='/mnt/cdrom/Packages'
NEW_DVD='/ISO/Packages'
while read LINE
do
cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt
rm -f package.txt

3. 定制安裝腳本ks.cfg文件

4. 修改isolinux.cfg文件
kickstart文件中默認安裝在sda中,如果沒有sda系統不能正常自動安裝,使用兩個kickstart文件配置兩個安裝選項,ks1.cfg采用自動分,ks2.cfg采用手動分區。
# vim isolinux/isolinux.cfg
label linux1
  #Auto install
  menu label ^Install Customer Server CentoOS6.5 Automatic
  menu default
  kernel vmlinuz
  #append ks=cdrom:/ks1.cfg initrd=initrd.img    ##修改成定制ks.cfg所在目錄
  append initrd=initrd.img ks=hd:LABEL=CentOS6_5/ks1.cfg stage2=hd:LABEL=CentOS6_5
label linux2
  #Manual config disk partition and install
  menu label  Install ^Customer Server CentOS6.5 (Manual partitioning)
  kernel vmlinuz
  #append ks=cdrom:/ks2.cfg initrd=initrd.img    ##修改成定制ks.cfg所在目錄
  append initrd=initrd.img ks=hd:LABEL=CentOS6_5/ks2.cfg stage2=hd:LABEL=CentOS6_5

注意:配置中ks=hd:LABEL=CentO6_5:/ks1.cfg這一項,即指定ks.cfg文件的位置,之前使用ks=cdrom:/ks1.cfg的方式,在使用光盤的時候可正常運行,但換用U盤后,會找不到ks.cfg文件,后面使用基於LABEL的方式,這樣可以找到ks.cfg文件的位置,使用卷標,這樣不管這個U盤被識別成什么,只要卷標不變就能獲取到正確位置。可使用mkisofs打包成光盤ISO文件時,通過-V參數指定卷標。

5 生成comps.xml文件
進入/mnt/cdrom/repodata 目錄,將“*-x86_64-comps.xml”文件拷貝到/ISO/repodata路徑下,並重命名成comps.xml。由於centos6.5下的comps.xml文件名很長,這里“*”為省略符,實際操作時輸入完整文件名。
cp /mnt/cdrom/repodata/*-x86_64.xml /ISO/repodata/comps.xml

切換到ISO/路徑下,生成comps.xml文件
createrepo -g repodata/comps.xml ./

注:如果有新增或刪除了Packages目錄的RPM包,請重新生成comps.xml文件

6 生成ISO文件
到這步實際定制配置系統的工作已經完成了。下面就是生成一個ISO鏡像文件,便於刻錄到光盤中進行安裝。
mkisofs -o CentOS6.5_auto_install.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -V "CENTOS6_5" /ISO/
注:/ISO/目錄下產生的CentOS6.5_auto_install.iso就是生成的ISO文件,路徑和ISO名稱都可以自定義。

# 轉換為ISO hybrid 模式(該命令由syslinux提供) 這種模式可以直接刻成物理光盤,也可以做成可引導U盤。
isohybrid /ISO/CentOS6.5_auto_install.iso

# 嵌入md5校驗碼 (該命令由isomd5sum提供)
implantisomd5 /ISO/CentOS6.5_auto_install.iso

# 校驗一下 (該命令由isomd5sum提供)
checkisomd5 /ISO/CentOS6.5_auto_install.iso

mkisofs參數說明:
-o /tmp/Centos6.5_auto_install.iso,設置輸出文件名,-output
-b isolinux/isolinux.bin,指定開機映像文件
-c isolinux/boot.cat,制作啟動光盤時,mkisofs會將開機映像文件中的全-eltorito-catalog*文件的全部內容作成一個文件
-no-emul-boot,非模擬模式啟動
-boot-load-size 4,
-boot-info-table,
-joliet-long,
-R,使用Rock Ridge Extensions,是用於linux環境下的光盤,文件名區分大小寫同時記錄文件長度,-rock
-J,使用Joliet格式的目錄與文件名稱,Jolient是windows下使用的光盤,-joliet
-v,執行時顯示詳細的信息,-verbose
-V "CentOS 7 x86_64",設置卷標Volume ID,-volid
-T,建立文件名的轉換表,適用於不支持Rock Ridge Extensions的系統,-translation-table
/tmp/iso/,光盤源文件目錄

7 制作U盤啟動盤
推薦使用軟件rufus,該軟件為綠色小軟件,小巧,功能完善
Rufus安裝U盤制作工具:rufus
版本:v3.1
官網:http://rufus.akeo.ie/
下載地址:https://github.com/pbatard/rufus/releases/download/v3.7/rufus-3.7.exe
注:如果光盤鏡像為ISOHybrid鏡像,有ISO鏡像模式和DD鏡像模式兩種寫入方式,其中ISO鏡像模式寫入的U盤還可以寫入其他文件,和一般U盤無區別,但兼容性較差,推薦DD鏡像模式,但該模式寫入后,windows下將不識別,僅可用於系統安裝。

8. 測試系統安裝


免責聲明!

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



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