制作自动安装系统的ISO

限于喜欢 提交于 2019-12-05 19:43:57

1.下载CentOS-6.8-x86_64-bin-DVD1.iso。

 

2.使用该ISO安装操作系统,然后在该系统上,配置好网络,保证系统能够上网,然后使用如下命令安装好需要用到的工具软件:
  yum -y install anaconda repodata createrepo mkisofs rsync。


3. 将该ISO挂载到新安装的系统中的cdrom目录下(也可挂载在其它目,后文称原生目录)。
  mount -o loop /root/CentOS-6.8-x86_64-bin-DVD1.iso /cdrom/


4.在新安装的系统中创建目录/ISO作为存放将要制作的ISO镜像的目录,并创建/ISO/Packages和/ISO/repodata目录。

  mkdir /ISO

  mkdir /ISO/Packages

  mkdir /ISO/repodata

 

5.将原生目录中除repodata和Packages目录外的其它文件和目录拷贝到/ISO目录下(这里不将原生的Packages拷贝过去是为了减少新制作的ISO文件的大小,后面会只将需要的包拷贝过来写入到新的ISO文件,拷贝应使用rsync命令,参考:
  /usr/bin/rsync -a --exclude=Packages --exclude=repodata /mnt/ /ISO/ )。

 

6.参考当前系统的安装包,将原生目录中Packages下的rpm安装包拷贝到/ISO目录下的Packages目录下,命令如下:
  awk '/Installing/ {print $2}' install.log | xargs -i cp /mnt/Packages/{}.rpm /ISO/Packages/

说明: install.log文件中记录了系统安装时候安装的软件包名,因此按照这些软件包名从原生的目录(/mnt/)下的包库中考被软件包到新ISO的包库中。

 

7.配置kickstart脚本
  vim ks.cfg  

  ks.cfg文件组成大致分为3段

  1.命令段:

  键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项

  2.软件包段:

  %packages

  @groupname:指定安装的包组

  package_name:指定安装的包

  -package_name:指定不安装的包

  在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。

  3.脚本段(可选):

  %pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)

  %post:后安装脚本(基本支持所有命令)

  而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)

8.修改isolinux.cfg文件,让系统从kickstart配置启动安装

  isolinux.cfg文件在/ISO/isolinux目录下,文件的最后有几个“label linux”字段,这是安装系统的时候的几个选项,我们可以在最后加一项label linux如下:

  

 

   其中"^Auto INSTALL***"字段是要显示在安装过程中的一个选项,在安装的时候选中这个选项,就会执行下边"append ks"所指向的ks.cfg文件自动安装系统了。

9.生成ISO文件
mkisofs -o CentOS-6.8_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ISO/

 

10.刻录光盘

  我是拷贝到Windows下刻录的光盘,用的UItraISO



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!