zoukankan      html  css  js  c++  java
  • 制作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. 测试系统安装

  • 相关阅读:
    Nginx反向代理负载均衡
    Nginx服务rewrite模块功能说明 网站自动跳转功能
    利用C51单片机模拟SPI进行双机通信
    WIN10家庭版桌面右键单击显示设置出现ms-settings:display或ms-settings:personalization-background解决办法[原创]
    Docker for Mac k8s 网络不通
    Firefox 清理 DNS 缓存
    探索 IPv6 网络
    Firefox 印象笔记剪藏插件登录国内账号
    k8s ingress 转发服务,内容显示不全问题
    k8s 获取 Pod ip 添加到环境变量
  • 原文地址:https://www.cnblogs.com/larrypeng/p/11486214.html
Copyright © 2011-2022 走看看