制作iso镜像U盘自动化安装Linux系统,自动安装系

2019-10-04 12:42栏目:网络时代
TAG:

  8. xftp 导出来, 再挂载到VMware上, 看看效果如何

  图片 1

 图片 2

图片 3

备注:因为我这有现成的ks.cfg文件,就拿来用了,上篇介绍了怎么制作kickstart文件

[root@linuxidc ~]# pwd
/root
[root@linuxidc ~]# cp anaconda-ks.cfg  ./iso/isolinux/ks.cfg
[root@linuxidc ~]# vim ./iso/isolinux/ks.cfg
## 请根据实际情况进行调整
 
# Kickstart file automatically generated byanaconda.
 
#version=DEVEL
install
cdrom
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto static --noipv6 --ip=192.168.3.132 --netmask=255.255.255.0 --gateway=192.168.3.254
rootpw --iscrypted$6$060kt9rryFXbrlgx$WWWNQYLnpz0Es8dTlouy3LXqjTdHIRToojidbpYoZrd2ETOJ.JsNbgnMylQVbFRThPZwSdRKJcrAml7LQDdR00
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Chongqing
 
text
firstboot --disable
logging --level=info
reboot
 
 
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
zerombr
 
# The following is the partitioninformation you requested
# Note that any partitions you deleted arenot expressed
# here so unless you clear all partitionsfirst, this is
# not guaranteed to work
#clearpart --none
 
#part /boot --fstype=ext4 --size=200
#part swap --size=2048
#part / --fstype=ext4 --grow --size=200
 
clearpart --all --initlabel
part /boot --fstype=ext4 --size=200
part swap --size=2048
part / --fstype=ext4 --size=10240
part /data --fstype=ext4 --size=1 --grow
 
# repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100
 
%packages --nobase
@core
%end

我们下面来制作一个, 无需输入ks位置, 可定制的启动引导盘

这是一个CentOS6.9最小安装光盘里的部分内容, 我们需要的就是他的 isolinux/ 下的所有文件

[root@centos6 myiso]# tree
.
├── CentOS_BuildTag
├── EFI
│  ├── BOOT
│  │  ├── BOOTX64.conf
│  │  ├── BOOTX64.efi
│  │  ├── splash.xpm.gz
│  │  └── TRANS.TBL
│  └── TRANS.TBL
├── EULA
├── GPL
├── images
│  ├── efiboot.img
│  ├── efidisk.img
│  ├── install.img
│  ├── pxeboot
│  │  ├── initrd.img
│  │  ├── TRANS.TBL
│  │  └── vmlinuz
│  ├── TRANS.TBL
│  └── updates.img
├── isolinux  --> 启动盘所需要着手的地方
│  ├── boot.cat            --> 类似MBR的存在
│  ├── boot.msg        
│  ├── grub.conf
│  ├── initrd.img       --> ramfs, 假根
│  ├── isolinux.bin      -->光盘引导程序, 在mkisofs的选项中需要明确给出文件路径, 这个文件属于SYSLINUX项目
│  ├── isolinux.cfg      -->isolinux.bin的配置文件, 当光盘启动后(即运行isolinux.bin), 会自动去找isolinux.cfg文件
│  ├── memtest
│  ├── splash.jpg       -->光盘启动界面的背景图
│  ├── TRANS.TBL
│  ├── vesamenu.c32      -->是光盘启动后的安装图形界面, 也属于SYLINUX项目, menu.c32版本是纯文本的菜单
│  └── vmlinuz         -->内核映像  ├── Packages
  │  ├── acl-2.2.49-7.el6.x86_64.rpm

......

  ├── RELEASE-NOTES-en-US.html
  ├── repodata
  │  ├── 1fe6472ba4a4c603142f6c166cf8576540d182b5c23053300bc086a950c39e02-other.sqlite.bz2
  │  ├── 34bae2d3c9c78e04ed2429923bc095005af1b166d1a354422c4c04274bae0f59-c6-minimal-x86_64.xml
  │  ├── 55794efeb017159652008492a09552561cad4be2652478bfa3fc1e8e2ac12940-other.xml.gz
  │  ├── 73c548679e02ace4bb7102d5b92dd97ee224f35de6d198e0f090d409b9731d89-primary.sqlite.bz2
  │  ├── ad712ab1d0018477799baa3f9660935dec74cd227724142a4b2a33b63cafe583-filelists.xml.gz
  │  ├── ce2d698b9fb1413b668443e88835a0642cea8f387c7f25cc946f56dd93f109bb-c6-minimal-x86_64.xml.gz
  │  ├── fc5f6c991238c567b41dd12c19f3e0c1b4a56dce0063020fc7de8339bde0f5f9-filelists.sqlite.bz2
  │  ├── ffaba656c4b1c77c844142b80d383bb38e9335b36a8046f56f53747044010304-primary.xml.gz
  │  ├── repomd.xml
  │  └── TRANS.TBL
  ├── RPM-GPG-KEY-CentOS-6
  ├── RPM-GPG-KEY-CentOS-Debug-6
  ├── RPM-GPG-KEY-CentOS-Security-6
  ├── RPM-GPG-KEY-CentOS-Testing-6
  └── TRANS.TBL

5)把data目录打包成iso文件

图片 4

设置应答文件位置

  1. 新建虚拟机 -> 挂载正常安装光盘 -> 启动虚拟机, 进入安装界面 -> 按Tab键 -> 在内核设置后, 加上  ks=                  图片 5

     

  2. 回车, ok, 自动安装开始, 需要注意的是, ks使用http方式获取, 需要正确配置网卡以便能到达这个网址, 否则 安装过程中会停下来, 问你要这个地址的   

        图片 6                  

                             图片 7

        图片 8


③准备启动文件启动菜单

更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

环境: VMware 14.0 Pro版

⑦生成iso文件并使用

六、安装测试
    可以通过 Filezilla ,winscp  等软件把 iso 镜像传出来。然后可以通过虚拟机安装测试,如果测试没有问题,那么就可以刻录成光盘了。
    通过 VMware Workstation 创建虚拟机,然后使用刚才我们创建的镜像。然后启动虚拟机,就会自动安装了。是不是 so easy ...

上面这种安装方式, 只能称作为半自动安装, 因为需要手动干预输入ks位置

先来看看repodata下都有哪些文件

目录规划:
挂载目录为: /mnt

  2. 为了方便另外做了一份centos6 的桌面版应答文件, ks6_desktop.cfg, 大家可以自行使用kickstart生成之

    这里有一个需要注意的地方, 在CentOS7上, 如果kickstart界面的Package页面没有显示, 请修改yum仓库中的[base] 项为 [development] 就可以了

⑥修改启动菜单isolinux.cfg

CentOS 6.5 配置IP地址的三种方法  http://www.linuxidc.com/Linux/2015-03/114990.htm

  2.复制光盘完整内容至/root/myiso下

     cp -r /tmp/myiso/ /root/

1)第一步挂载,就不多说了

静态获取地址

  4. 修改 isolinux.cfg

    修改过程中要注意, 既然是自动安装, 那么如果原来磁盘有操作系统怎么办?

    --> 所以, 我们的默认选项应该为从硬盘启动

[root@centos6 isolinux]# cat isolinux.cfg
default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to GETTOLIVE -CentOS 6.9-AUTO-IN! --> 这里可以自定义修改
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
#==============源文件==================
label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -
#============源文件结束================
#============修改的内容================label local
  menu label Boot from ^local drive
  localboot 0xffff
 menu default
label mini
  menu label Install CentOS 6.9 ^Mini system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/isolinux/ks/ks6_mini.cfglabel desktop
  menu label Install CentOS 6.9 ^Desktop system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/isolinux/ks/ks6_desktop.cfg

③因为我们是要自己制作再烧成光盘,所有要删除TRANS.TBL文件

定制光盘文件目录: /root/iso

安装完成, 成功点亮.


至此, 文章结束, 最终结果还是个半自动安装:

  1.把这个镜像使用软碟通或者别的软件或者dd 放进U盘

  2.设置bios启动顺序为U盘

  3.点击方向键下-->回车-->大佬请喝茶-->茶喝好了就装好了

其实这个东东一点也不难, 前提是你得拥有丰富的windows安装经验....


添加一些笔记类的文本:

制作Linux自动安装iso包-CentOS6

制作引导光盘和U盘
    创建引导光盘:
        mkdir -pv /app/myiso
        cp -r /misc/cd/isolinux/ /app/myiso/
        vim /app/myiso/isolinux/isolinux.cfg
            initrd=initrd.img text ks=cdrom:/myks.cfg
        cp /root/myks.cfg /app/myiso/
        mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/
        注意: 以上相对路径都是相对于光盘的根, 和工作目录无关
    创建U盘启动盘
        dd if=/dev/sr0 of=/dev/sdb
应答文件的建立:
    安装kickstart
    在图形界面下使用 system-config-kickstart 编辑安装选项
        语言-键盘-root密码-系统架构-自动Reboot-不启动图形界面
        安装方法
        分区: 清除MBR, 删除所有分区, 删除所有卷标, 设置文件系统分区等
        网络设置: DHCP等设置
        验证方法: 本地验证, 一般不动
        防火墙: 禁用
        显示: 是否安装图形界面
        rpm包的选择--> 基于repo
        安装前脚本 --> 一般不用
        安装后脚本:
            #直接配置yum
            mkdir /etc/yum.repos.d/bak
            mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
            cat > /etc/yum.repos.d/base.repo << EOF
            [base]
            name=CentOS- Base - 163.com
            baseurl=
            gpgcheck=0
            EOF
            #添加用户等等操作
        保存为ks6_mini.cfg等

    使用ksvalidator ks6_mini.cfg 检查语法问题
   
    注意: 此处 CentOS 7 使用kickstart, 需要先配置 repo中的 [base] 为 [development], 否则无法使用Packages选项卡
   
    此处基于httpd服务, 将文件放置于某服务器上, 而后, 由安装光盘启动到安装页面, 在grub页面, 按ESC, 输入; linux ks=; 回车即可自动启动安装

        指明ks文件的位置: ks=
            DVD drive: ks=cdrom:/PATH/TO/ks_file
            HARD drive: ks=hd:device:/PATH/TO/ks_file
            HTTP server: ks=
            FTP server: ks=ftp://host:port/PATH/TO/ks_file
            HTTPS server: ks=
            NFS server : ks=nfs:host:/PATH/TO/ks_file
        kickstart文件的格式:
            命令段:
                指明各种安装前配置, 如键盘类型等
                必备命令:
                    authconfig: 认证方式配置
                        authconfig --useshadow --passalgo=sha512
                    bootloader: bootloader的安装位置及相关位置
                        bootloader --location=mbr --dirveorder=sda -append="crashkernel=auto rhgb quiet"
                        keyboard: 设定键盘类型
                        lang: 语言类型
                        part: 创建分区
                        rootpw: 指明root的密码
                        timezone: 时区
            程序包段: 指明要安装的程序包组或程序包, 不安装的程序包等
                %package
                @group_name
                package
                -package  --> 不想装的包
                %end
            脚本段:
                %pre: 安装前脚本
                    运行环境: 运行于安装介质上的微型Linux环境
                %post: 安装后脚本
                    运行环境: 安装完成的系统
系统光盘中isolinux目录列表--> 位于cdrom中的isolinux/下
    solinux.bin: 光盘引导程序, 在mkisofs的选项中需要明确给出文件路径, 这个文件属于SYSLINUX项目
    isolinux.cfg: isolinux.bin的配置文件, 当官潘启动后(即运行isolinux.bin), 会自动去找isolinux.cfg文件
    vesamenu.c32: 是光盘启动后的安装图形界面, 也属于SYLINUX项目, menu.c32版本是纯文本的菜单
    Memtest: 内存检测, 是一个独立程序
    splash.jpg: 光盘启动界面的背景图
    vmlinuz是内核映像
    initrd.img是ramfs(先cpio,再gzip压缩)

 

创建全自动光盘映像

    挂载安装光盘
    完全复制安装光盘下的所有文件到某个目录
        例如 cp -r /dev/cdrom/ /tmp/myiso/
    拷贝应答文件ks_file到/tmp/myiso/ksdir
        cp ks_file /tmp/myiso/ksdir
    编辑菜单文件

   
        vim /tmp/myiso/isolinux/isolinux.cfg
            default vesamenu.c32
            #prompt 1
            timeout 600

            display boot.msg

            menu background splash.jpg
            menu title Welcome to CentOS 6.9! --> 修改标题
            menu color border 0 #ffffffff #00000000
            menu color sel 7 #ffffffff #ff000000
            menu color title 0 #ffffffff #00000000
            menu color tabmsg 0 #ffffffff #00000000
            menu color unsel 0 #ffffffff #00000000
            menu color hotsel 0 #ff000000 #ffffffff
            menu color hotkey 7 #ffffffff #ff000000
            menu color scrollbar 0 #ffffffff #00000000

            label linux
                menu label ^Install or upgrade an existing system
                menu default
                kernel vmlinuz
                append initrd=initrd.img
            label vesa
                menu label Install system with ^basic video driver
                kernel vmlinuz
                append initrd=initrd.img nomodeset
            label rescue --> 救援模式, 删除
                menu label ^Rescue installed system
                kernel vmlinuz
                append initrd=initrd.img rescue
            label local --> 设为默认选项
                menu label Boot from ^local drive
                localboot 0xffff
            label memtest86 --> 删除
                menu label ^Memory test
                kernel memtest
                append -

        修改label
            label local --> 设置默认启动为本地磁盘系统(如果有的话)
                menudefault
                menu label Boot From ^local drive
                localboot 0xffff
            label desktop
                menu label Install an ^desktop system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/PATH/TO/ks_file --> 加上ks 应答
            label mini
                menu label Install ^mini system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/PATH/TO/ks_file --> 加上ks应答

    mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/
        mkisofs选项:
            -o 指定映像文件的名称
            -b 指定在制作可开机光盘时所需的开机映像文件
            -c 制作可开机光盘时, 会将开机映像文件中的no-eltorito-catalog全部内容做成一个文件
            -no-emul-boot 非模拟模式启动
            -boot-load-size 4 设置载入部分的数量
            -boot-info-table 在启动的图像中显示信息
            -R 或 -rock 使用Rock RidgeExtensions
            -J 或 -joliet 使用Joliet格式的目录与文件名称
            -v 或 -verbose 执行时显示详细信息
            -T 或 -translation-table 建立文件名的转换表, 适用于不支持Rock Ridge Extension 的系统上
    经过这条命令, 一个启动盘就已经做好了, 当然在ks中要设置安装源, 本地的或者是cdrom的或者是Internet上的

本文永久更新链接地址

图片 9

差不多也就这些下面开始制作

1.2 安装所需工具包
[root@linuxidc ~]#  yum -y install anaconda repodata createrepo mkisofs rsync

  1. 挂载完整版安装光盘, 这里我们以CentOS 7 为例 (懒得下载CentOS 6的镜像了)

    注意: 既然以CentOS 7 为例, 那么我们的操作也要在CentOS 7 上进行, kickstart也要安装上去

这是centos7的,红框框标记的文件一会要用到。

1.3 下载CentOS 6.5镜像

偶然接触一个kickstart, 学到自动安装系统, 先看一下原理:

CentOS在VMware安装流程: 新建虚拟机 --> 挂载光盘镜像 --> 开始安装 --> 配置(包括地区, 语言, 时区, 键盘类型, root密码等等) --> 完成安装 --> 重启 --> 进入系统

6)修改isolinx.cfg文件

1.1 定制步骤
1、安装最小化的操作系统.包括基本的系统和所需要的工具等.
比如:对于http,mysql等软件,建议使用编译的方式安装, 然后打包放进去,可以减少许多依赖包的麻烦.
2、安装系统后,收集系统已安装的软件包,使用脚本统一转存到一个目录中.
3、在安装光盘复制images镜像,从光盘启动centos安装所需的文件等.
4、定义自己的kickstart安装脚本.
5、按照之前转存的软件(rpm)包, 重新生成光盘的report信息.
6、打包生成ISO文件,及MD5效验码.

配置ks应答文件, 图片太多, 所以做成了gif, 2s/帧, 共12张                                                                                                   图片 10

Linux公社的RSS地址:

三、制作 ks.cfg 脚本
    ks文件由系统安装所创建的 anaconda-ks.cfg进行修改,当然也可以用system-config-kickstart工具制作而得。这里大家需要根据实际情况进行修改:
默认root用户密码: 123456

在如上过程中, 对安装系统的配置是最耗时间的, 假如我们要安装100台主机, 难道要每一台都去配置吗? Come on, geek up and finish it.


相应的修改下这个文件vim ks.cfg

二、定制系统
2.1 光盘目录结构

  6. 删除不需要的文件

    TRANS.TBL  find -name TRANS.TBL -exec rm {} ;

2)我们还是用data目录来,上面有创建命令,复制文件到改目录

五、生成iso镜像,并生成 MD5校验码
## 注意所在的目录
[root@linuxidc ~]# pwd
/root
[root@linuxidc ~]# cd iso
[root@linuxidc iso]# pwd
/root/iso
[root@linuxidc iso]# mkisofs -o CentOS-6.4_64.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long  /root/iso
 
genisoimage 1.1.9 (Linux)
Scanning /root/iso
Excluded: /root/iso/TRANS.TBL
Scanning /root/iso/repodata
Scanning /root/iso/isolinux
Excluded: /root/iso/isolinux/TRANS.TBL
Excluded by match: /root/iso/isolinux/boot.cat
Scanning /root/iso/EFI
Excluded: /root/iso/EFI/TRANS.TBL
Scanning /root/iso/EFI/BOOT
Excluded: /root/iso/EFI/BOOT/TRANS.TBL
Scanning /root/iso/images
Excluded: /root/iso/images/TRANS.TBL
Scanning /root/iso/images/pxeboot
Excluded: /root/iso/images/pxeboot/TRANS.TBL
Scanning /root/iso/Packages
Using RPM_G000.;1 for  /RPM-GPG-KEY-CentOS-Debug-6 (RPM-GPG-KEY-CentOS-Security-6)
Using RPM_G001.;1 for  /RPM-GPG-KEY-CentOS-Security-6 (RPM-GPG-KEY-CentOS-6)
Using RPM_G002.;1 for  /RPM-GPG-KEY-CentOS-6 (RPM-GPG-KEY-CentOS-Testing-6)
Using CE2D6000.GZ;1 for  /root/iso/repodata/ce2d698b9fb1413b668443e88835a0642cea8f387c7f25cc946f56dd93f109bb-34bae2d3c9c78e04ed2429923bc095005af1b166d1a354422c4c04274bae0f59-minimal-x86_64.xml.gz (ce2d698b9fb1413b668443e88835a0642cea8f387c7f25cc946f56dd93f109bb-minimal-x86_64.xml.gz)
Using NSS_S000.RPM;1 for  /root/iso/Packages/nss-softokn-freebl-3.14.3-9.el6.x86_64.rpm (nss-softokn-3.14.3-9.el6.x86_64.rpm)
Using OPENS000.RPM;1 for  /root/iso/Packages/openssh-5.3p1-94.el6.x86_64.rpm (openssh-clients-5.3p1-94.el6.x86_64.rpm)
Using DEVIC000.RPM;1 for  /root/iso/Packages/device-mapper-persistent-data-0.2.8-2.el6.x86_64.rpm (device-mapper-event-libs-1.02.79-8.el6.x86_64.rpm)
Using FIPSC000.RPM;1 for  /root/iso/Packages/fipscheck-1.2.0-7.el6.x86_64.rpm (fipscheck-lib-1.2.0-7.el6.x86_64.rpm)
Using DEVIC001.RPM;1 for  /root/iso/Packages/device-mapper-event-libs-1.02.79-8.el6.x86_64.rpm (device-mapper-multipath-libs-0.4.9-72.el6.x86_64.rpm)
Using CRYPT000.RPM;1 for  /root/iso/Packages/cryptsetup-luks-1.2.0-7.el6.x86_64.rpm (cryptsetup-luks-libs-1.2.0-7.el6.x86_64.rpm)
Using DEVIC002.RPM;1 for  /root/iso/Packages/device-mapper-multipath-libs-0.4.9-72.el6.x86_64.rpm (device-mapper-libs-1.02.79-8.el6.x86_64.rpm)
Using IPTAB000.RPM;1 for  /root/iso/Packages/iptables-1.4.7-11.el6.x86_64.rpm (iptables-ipv6-1.4.7-11.el6.x86_64.rpm)
Using LIBSE000.RPM;1 for  /root/iso/Packages/libselinux-utils-2.0.94-5.3.el6_4.1.x86_64.rpm (libselinux-2.0.94-5.3.el6_4.1.x86_64.rpm)
Using NCURS000.RPM;1 for  /root/iso/Packages/ncurses-libs-5.7-3.20090208.el6.x86_64.rpm (ncurses-5.7-3.20090208.el6.x86_64.rpm)
Using DEVIC003.RPM;1 for  /root/iso/Packages/device-mapper-libs-1.02.79-8.el6.x86_64.rpm (device-mapper-event-1.02.79-8.el6.x86_64.rpm)
Using DEVIC004.RPM;1 for  /root/iso/Packages/device-mapper-event-1.02.79-8.el6.x86_64.rpm (device-mapper-multipath-0.4.9-72.el6.x86_64.rpm)
Using NCURS001.RPM;1 for  /root/iso/Packages/ncurses-5.7-3.20090208.el6.x86_64.rpm (ncurses-base-5.7-3.20090208.el6.x86_64.rpm)
Using SELIN000.RPM;1 for  /root/iso/Packages/selinux-policy-3.7.19-231.el6.noarch.rpm (selinux-policy-targeted-3.7.19-231.el6.noarch.rpm)
Using E2FSP000.RPM;1 for  /root/iso/Packages/e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm (e2fsprogs-1.41.12-18.el6.x86_64.rpm)
Using COREU000.RPM;1 for  /root/iso/Packages/coreutils-8.4-31.el6.x86_64.rpm (coreutils-libs-8.4-31.el6.x86_64.rpm)
Using CYRUS000.RPM;1 for  /root/iso/Packages/cyrus-sasl-2.1.23-13.el6_3.1.x86_64.rpm (cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64.rpm)
Using P11_K000.RPM;1 for  /root/iso/Packages/p11-kit-trust-0.18.5-2.el6.x86_64.rpm (p11-kit-0.18.5-2.el6.x86_64.rpm)
Using OPENS001.RPM;1 for  /root/iso/Packages/openssh-clients-5.3p1-94.el6.x86_64.rpm (openssh-server-5.3p1-94.el6.x86_64.rpm)
Using PLYMO000.RPM;1 for  /root/iso/Packages/plymouth-core-libs-0.8.3-27.el6.centos.x86_64.rpm (plymouth-0.8.3-27.el6.centos.x86_64.rpm)
Using CRACK000.RPM;1 for  /root/iso/Packages/cracklib-dicts-2.8.16-4.el6.x86_64.rpm (cracklib-2.8.16-4.el6.x86_64.rpm)
Using DEVIC005.RPM;1 for  /root/iso/Packages/device-mapper-multipath-0.4.9-72.el6.x86_64.rpm (device-mapper-1.02.79-8.el6.x86_64.rpm)
Using PLYMO001.RPM;1 for  /root/iso/Packages/plymouth-0.8.3-27.el6.centos.x86_64.rpm (plymouth-scripts-0.8.3-27.el6.centos.x86_64.rpm)
Writing:  Initial Padblock                        Start Block 0
Done with: Initial Padblock                        Block(s)    16
Writing:  Primary Volume Descriptor              Start Block 16
Done with: Primary Volume Descriptor              Block(s)    1
Writing:  Eltorito Volume Descriptor              Start Block 17
Size of boot image is 4 sectors -> No emulation
Done with: Eltorito Volume Descriptor              Block(s)    1
Writing:  Joliet Volume Descriptor                Start Block 18
Done with: Joliet Volume Descriptor                Block(s)    1
Writing:  End Volume Descriptor                  Start Block 19
Done with: End Volume Descriptor                  Block(s)    1
Writing:  Version block                          Start Block 20
Done with: Version block                          Block(s)    1
Writing:  Path table                              Start Block 21
Done with: Path table                              Block(s)    4
Writing:  Joliet path table                      Start Block 25
Done with: Joliet path table                      Block(s)    4
Writing:  Directory tree                          Start Block 29
Done with: Directory tree                          Block(s)    27
Writing:  Joliet directory tree                  Start Block 56
Done with: Joliet directory tree                  Block(s)    18
Writing:  Directory tree cleanup                  Start Block 74
Done with: Directory tree cleanup                  Block(s)    0
Writing:  Extension record                        Start Block 74
Done with: Extension record                        Block(s)    1
Writing:  The File(s)                            Start Block 75
  2.48% done, estimate finish Sat Apr  4 23:51:32 2015
  4.95% done, estimate finish Sat Apr  4 23:51:12 2015
  7.43% done, estimate finish Sat Apr  4 23:51:05 2015
  9.90% done, estimate finish Sat Apr  4 23:51:02 2015
 12.37% done, estimate finish Sat Apr  4 23:51:08 2015
 14.85% done, estimate finish Sat Apr  4 23:51:05 2015
 17.32% done, estimate finish Sat Apr  4 23:51:03 2015
 19.80% done, estimate finish Sat Apr  4 23:51:07 2015
 22.28% done, estimate finish Sat Apr  4 23:51:09 2015
 24.75% done, estimate finish Sat Apr  4 23:51:08 2015
 27.22% done, estimate finish Sat Apr  4 23:51:06 2015
 29.69% done, estimate finish Sat Apr  4 23:51:05 2015
 32.17% done, estimate finish Sat Apr  4 23:51:07 2015
 34.64% done, estimate finish Sat Apr  4 23:51:06 2015
 37.12% done, estimate finish Sat Apr  4 23:51:08 2015
 39.59% done, estimate finish Sat Apr  4 23:51:07 2015
 42.07% done, estimate finish Sat Apr  4 23:51:08 2015
 44.54% done, estimate finish Sat Apr  4 23:51:07 2015
 47.02% done, estimate finish Sat Apr  4 23:51:06 2015
 49.49% done, estimate finish Sat Apr  4 23:51:08 2015
 51.97% done, estimate finish Sat Apr  4 23:51:09 2015
 54.44% done, estimate finish Sat Apr  4 23:51:08 2015
 56.91% done, estimate finish Sat Apr  4 23:51:09 2015
 59.39% done, estimate finish Sat Apr  4 23:51:08 2015
 61.86% done, estimate finish Sat Apr  4 23:51:09 2015
 64.34% done, estimate finish Sat Apr  4 23:51:09 2015
 66.81% done, estimate finish Sat Apr  4 23:51:08 2015
 69.29% done, estimate finish Sat Apr  4 23:51:07 2015
 71.76% done, estimate finish Sat Apr  4 23:51:07 2015
 74.24% done, estimate finish Sat Apr  4 23:51:06 2015
 76.71% done, estimate finish Sat Apr  4 23:51:06 2015
 79.18% done, estimate finish Sat Apr  4 23:51:05 2015
 81.66% done, estimate finish Sat Apr  4 23:51:05 2015
 84.14% done, estimate finish Sat Apr  4 23:51:05 2015
 86.61% done, estimate finish Sat Apr  4 23:51:05 2015
 89.09% done, estimate finish Sat Apr  4 23:51:05 2015
 91.56% done, estimate finish Sat Apr  4 23:51:06 2015
 94.04% done, estimate finish Sat Apr  4 23:51:05 2015
 96.51% done, estimate finish Sat Apr  4 23:51:05 2015
 98.98% done, estimate finish Sat Apr  4 23:51:05 2015
Total translation table size: 63812
Total rockridge attributes bytes: 28361
Total directory bytes: 49152
Path table size(bytes): 112
Done with: The File(s)                            Block(s)    201838
Writing:  Ending Padblock                        Start Block 201913
Done with: Ending Padblock                        Block(s)    150
Max brk space used 5e000
202063 extents written (394 MB)
 
## OK, 此时会在 /root/iso 目录创建一个名为CentOS-6.4_64.iso 的镜像文件
[root@linuxidc iso]# ls *.iso
CentOS-6.4_64.iso
 
### MD5 校验码
[root@linuxidc iso]# pwd
/root/iso
[root@linuxidc iso]# ls
CentOS-6.4_64.iso  EULA    isolinux                  repodata                    RPM-GPG-KEY-CentOS-Security-6
CentOS_BuildTag    GPL    Packages                  RPM-GPG-KEY-CentOS-6        RPM-GPG-KEY-CentOS-Testing-6
EFI                images  RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Debug-6  TRANS.TBL
 
[root@linuxidc iso]# /usr/bin/implantisomd5 CentOS-6.4_64.iso
Inserting md5sum into iso image...
md5 = 90d069e78dddfb79877b4ab346ff2d50
Inserting fragment md5sums into iso image...
fragmd5 = 16b043bf617895ecdee76fae52dfa8c926525e3a645ae1bf96f259a5e895
frags = 20
Setting supported flag to 0
[root@linuxidc iso]#

  4.修改 /root/myiso/isolinux/isolinux.cfg , 修改请参照上面的方法, 修改默认项, 添加ks路径 ks=cdrom:/ks/ks7_mini.cfg 

    注意: 对于CentOS 7, 它的原生isolinux.cfg中, 其中一段Label如下:

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64 quiet
  ====================

  append initrd=initrd.img ks=cdrom:/ks/ks7_mini.cfg --> 这里, 要去掉inst.stage2选项, 暂时还没有弄明白是干嘛的, 不过有了它还需要少许的人工操作

 

图片 11

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/115808.htm

  7.制作映像文件

     mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 Everything" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/CentOS7-Auto-Everything.iso /root/myiso/

首先列举下需要的文件

*isolinux 目录存放光盘启动时的安装界面信息
*images 目录包括了必要的启动映像文件
*Packages 目录存放安装软件包及信息
*.discinfo 文件是安装价质的识别信息
 
MediaCentOS 目录存放媒体中心安装包
Repodata 目录存放rpm包依赖信息
 
5.x 系列, boot.iso 存在于 images/ 这个目录。
6.x 系列, 存放于 /isolinux 目录下
6.x 网络安装需要在官网下载:netinstall.iso 镜像文件。

   5. 制作映像

[root@centos6 isolinux]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /tmp/auto-centos6/autoboot 

 6. 使用xftp将生成的 /root/boot.iso拷贝出来, 挂载到新建的虚拟机光盘上, 启动之, 效果如下:

  图片 12

  图片 13

  可以看到, 安装已经开始, 全部要做的工作就是挂载启动盘, 选择安装最小版或图形版本  

    --> 注意: 此处需要当前待安装系统的主机能够连接到阿里云镜像服务器,如果不能连接外网, 自定义一个内网服务器也是可以的

  图形界面安装完成:

      图片 14


和上面isolinx.cfg文件差不多,把上面的手动安装repo=

2.2 挂载并拷贝文件

ks文件生成器: kickstart

重新生成如下

图片 15

光盘镜像: CentOS-6.9-x86_64-minimal.iso

cp -r /misc/cd/* .
#
#
#

为了方便制作,我们可以在VMware、vbox、xen等虚拟环境中进行安装,这里我们选用了VMware作为制作环境。我们可以在官网或者其他比较近的镜像站点下载CentOS 镜像文件。CentOS-6.4-x86_64-minimal.iso

  5.进入yum仓库元数据路径 /root/myiso/repodata 

-16-[root@vm]15:15 ~/myiso # ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  ks  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
-17-[root@vm]15:15 ~/myiso # cd repodata/
-18-[root@vm]15:19 ~/myiso/repodata # ls
0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2      a0af68e1057f6b03a36894d3a4f267bbe0590327423d0005d95566fb58cd7a29-other.xml.gz      repomd.xml
38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml    b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz    repomd.xml.asc
6cd606547d4f569538d4090e9accdc3c69964de1116b9ab1e0a7864bb1f3ec98-filelists.sqlite.bz2    c1561546c684bd06b3a499c2babc35c761b37b2fc331677eca12f0c769b1bb37-filelists.xml.gz  TRANS.TBL
9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz  cf0cc856d46b3095106da78256fb28f9d8defea4118d0e75eab07dc53b7d3f0d-other.sqlite.bz2
-19-[root@vm]15:19 ~/myiso/repodata # ll
total 27236
-rw-r--r-- 1 root root 6023293 May 25 14:18 0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2
-rw-r--r-- 1 root root  751786 May 25 14:18 38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
-rw-r--r-- 1 root root 7019993 May 25 14:18 6cd606547d4f569538d4090e9accdc3c69964de1116b9ab1e0a7864bb1f3ec98-filelists.sqlite.bz2
-rw-r--r-- 1 root root  159667 May 25 14:18 9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz
-rw-r--r-- 1 root root 1564207 May 25 14:18 a0af68e1057f6b03a36894d3a4f267bbe0590327423d0005d95566fb58cd7a29-other.xml.gz
-rw-r--r-- 1 root root 2830583 May 25 14:18 b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz
-rw-r--r-- 1 root root 6936336 May 25 14:18 c1561546c684bd06b3a499c2babc35c761b37b2fc331677eca12f0c769b1bb37-filelists.xml.gz
-rw-r--r-- 1 root root 2579184 May 25 14:18 cf0cc856d46b3095106da78256fb28f9d8defea4118d0e75eab07dc53b7d3f0d-other.sqlite.bz2
-rw-r--r-- 1 root root    3735 May 25 14:18 repomd.xml
-rw-r--r-- 1 root root    811 May 25 14:18 repomd.xml.asc
-r--r--r-- 1 root root    2801 May 25 14:18 TRANS.TBL
-20-[root@vm]15:19 ~/myiso/repodata # cp 38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml /root/
-21-[root@vm]15:20 ~/myiso/repodata # rm -fr * --> 删除当前目录下除掉*.xml的所有文件
-22-[root@vm]15:20 ~/myiso/repodata # ll
total 0
-24-[root@vm]15:22 ~/myiso/repodata # cp /root/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml .

    重建repo元数据

-27-[root@vm]15:27 ~/myiso/repodata # cd ..
-28-[root@vm]15:27 ~/myiso # ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  ks  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
-29-[root@vm]15:27 ~/myiso # createrepo -g repodata/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml .
Spawning worker 0 with 1599 pkgs
Spawning worker 1 with 1599 pkgs
Spawning worker 2 with 1599 pkgs
Spawning worker 3 with 1598 pkgs
Spawning worker 4 with 1598 pkgs
Spawning worker 5 with 1598 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

find -name TRANS.TBL
#先查看下有没有
find -name TRANS.TBL -exec rm {} ;
#再删除

四、修改 isolinux.cfg 配置文件,指定 ks 路径
注意,编辑这个文件,需要强制保存。 :wq!
[root@linuxidc ~]# vi ./iso/isolinux/isolinux.cfg
 
default vesamenu.c32
#prompt 1
timeout 600
 
display boot.msg
 
menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
 
label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg    # 仅修改这里即可
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img xdriver=vesa nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

  1. 拷贝上面制作好的ks6_mini.cfg sftp 192.168.142.128:/var/www/html/ks6_mini.cfg , 修改之

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media --> 修改这里的安装源
# cdrom
url --url=""
# 阿里云的镜像源, 可以改为内网http或ftp服务器, 会更快一些

# Root password
rootpw --iscrypted $1$NYOXLNBQ$e7B2.8hPCvCK75U/Jj8hV/
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# 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  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 --fstype="ext4" --size=200
part /home --fstype="ext4" --size=5000
part / --fstype="ext4" --size=10000
part swap --fstype="swap" --size=2048

%post
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-$releasever - Base - 163.com
baseurl=
gpgcheck=0
EOF
%end

createrepo -g /misc/cd/repodata/d87379a47bc2060f833000b9cef7f9670195fe197271d37fce5791e669265e8b-c7-x86_64-comps.xml .
#
#生成文件到当前目录,前提现在再repodata目录下

硬盘至少15G

制作Linux自动安装盘(完整安装盘)步骤:

删除文件如下

一、制作环境准备
实验环境:
VMware Workstation
CentOS-6.5-x86_64-minimal 最小化安装
安装后,我们会使用系统 /root 目录下 install.log 和 anaconda-ks.cfg 这两个文件(在此基础上修改比较方便)

制作Linux自动安装启动盘(非完整安装盘)步骤:

5)复制ks.cfg文件到data目录,之前ks.cfg文件存放再ksdir目录下,所有把ksdir目录复制过来就可

[root@linuxidc ~]# pwd
/root
[root@linuxidc ~]# mkdir iso                            # 建立iso文件制作目录
[root@linuxidc ~]# mkdir -p  ./iso/{Packages,repodata}  # 建立软件包目录和repodata目录 
[root@linuxidc ~]# mount /dev/cdrom /mnt                # 挂载 DVD
mount: block device /dev/sr0 is write-protected, mounting read-only
 
# 拷贝 源DVD镜像中,除了Packages,repodata 目录外的所有文件到 iso 目录
[root@linuxidc ~]# /usr/bin/rsync -a --exclude=Packages --exclude=repodata  /mnt/  ./iso/
[root@linuxidc ~]# ls iso
CentOS_BuildTag  GPL      Packages                  RPM-GPG-KEY-CentOS-6          RPM-GPG-KEY-CentOS-Testing-6
EFI              images    RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Debug-6    TRANS.TBL
EULA            isolinux  repodata                  RPM-GPG-KEY-CentOS-Security-6
 
# 参考当前系统的安装包,拷贝
[root@linuxidc ~]# awk '/Installing/ {print $2}' install.log | xargs -i cp /mnt/Packages/{}.rpm  ./iso/Packages/
[root@linuxidc ~]# ls iso/Packages/ | wc -l
205
 
# 执行createrepo程序生成repodata下的comps.xml文件(重要)
#comps.xml 文件中包含了安装时用户所见到的与rpm相关的所有内容,它会检查Packages下
# 的RPM包的依赖关系,安装时如果缺少依赖包,它会提示您哪个RPM 包需要哪些依赖库。
 
[root@linuxidc ~]# pwd
/root
# 编辑 shell 脚本, 并执行
#!/bin/bash
 
ISO_DIR=/root/iso
cd  ${ISO_DIR}
declare -x discinfo=$(head -1 .discinfo)
 
cp  /mnt/repodata/*-minimal-x86_64.xml ${ISO_DIR}/repodata/minimal-x86_64.xml
 
createrepo  -g  ${ISO_DIR}/repodata/minimal-x86_64.xml  ${ISO_DIR}
 
createrepo -u "media://$discinfo" -g ${ISO_DIR}/repodata/*-minimal-x86_64.xml ${ISO_DIR}
 
### 
到这里,comps.xml文件和其他相关联的文件已被重新生成到repodata目录下。
Tips2:如果你新增或删除了Packages目录的RPM包,请重新生成comps.xml文件。

  3.制作ks文件, 复制到 /root/myiso/ks/ 下

    这里有一个需要注意的地方, 在CentOS7上, 如果kickstart界面的Package页面没有显示, 请修改yum仓库中的[base] 项为 [development] 就可以了

备注:以上命令是重新生成包组信息

什么是kickstart?

  1. kickstart, 生成自动配置文件, 即应答文件,达到在安装系统时无须人工干预的目的
  2. 需要在图形界面下启动; 当然也可以在命令行下复制编辑 /root/anaconda-ks.cfg 文件, kickstart的最终目的也是生成一个这样的文件
  3. 安装方法:

    yum -y groupinstall Desktop --> 如果你没有图形界面的话
    
    startx &  --> 启动图形界面, 并且在图形界面启动一个Terminal
    

    图片 16

    yum -y install system-config-kickstart   --> 安装kickstart, 是的, kickstart的安装包就叫做这么一长串名字
    system-config-kickstart   -->  命令行直接输入启动, 或者在图形界面下的左上角 Applications ->System Tools -> kickstart 启动, 即上图 Terninal 的上一个选项
    

3)删除TRANS.TBL文件

  3. 拷贝 上面提到的 isolinux/ 到 任意空目录

[root@centos6 myiso]# cp -r isolinux/ ../autoboot/
[root@centos6 myiso]# cd ..
[root@centos6 auto-centos6]# cd autoboot/
[root@centos6 autoboot]# ls
isolinux
[root@centos6 autoboot]# tree isolinux/    --> 我们所需要的全部文件
isolinux/
├── boot.cat
├── boot.msg
├── grub.conf
├── initrd.img
├── isolinux.bin
├── isolinux.cfg
├── ks
│  ├── ks6_mini.cfg
│  └── ks7_desktop.cfg
├── memtest
├── splash.jpg
├── TRANS.TBL
├── vesamenu.c32
└── vmlinuz

mkdir data/ksdir
#创建目录
cd data/ksdir
#进入改目录
cp -a /root/ks.cfg .
#复制root目录下的ks.cfg文件到当前目录

现在有了ks文件, 我们保存为 /root/ks6_mini.cfg 作为安装CentOS 最小系统的应答文件好了, 但是这个文件要放在哪里呢? 

跟安装镜像一块, 烧录在硬盘里, 更改grub目录菜单(后面会有提到);

刚好还有一台虚拟机上装了apache, 那么我们就直接甩到网页上好了;

  1. centos 7 上的, 干净httpd服务, 啥也没有

    systemctl start httpd
    sftp 192.168.142.142:/root/ks6_mini.cfg --> 获取ks文件到$pwdcp ks6_mini.cfg /var/www/html/
    

    centos 7 的 ip 地址为: 192.168.142.128, 那么这个URL为:

自制光盘引导自动化安装

cp -r ksdir/ data/
#
#

6)完成,sz命令传送到win就可使用了。

图片 17

制作完整的iso安装文件

①既然是完整的iso,那我们得准备centos6或7得iso镜像

制作流程

rm -rf repodata/*
#删除
#

本文永久更新链接地址

①需要一个文件夹来存放文件,将来把这个目录打包成iso

mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/cebtos7.boot.iso /root/data/
 
#上面路径都是相对路径

④删除repodata目录下得所有文件,重新生成(这个文件里存放得是yum源数据,安装包等信息)

1)创建文件夹

②准备kickstart文件(ks.cfg)

4)更改isolinux.cfg文件(显示的菜单)

01
02 cp -r /misc/cd/isolinux/ .
#复制的整个目录所有加 r 

首先我们要明白都需要哪些文件,我们列举下

default vesamenu.c32
 
#这个是显示的菜单背景插件
 
timeout 600
 
#这个是倒计时时间
 
menu title CentOS 7
 
#主标题
 
label linux
  menu label ^Auto Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ksdir/ks.cfg
 
#上面这行ks=是我们刚刚存放kickstart文件的路径,因为是iso光盘,所有这里是cdrom
 
label check
  menu label Test this ^Maedia install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img repo=
 
#上面这个repo=是我们自己挂载的yum源地址安装包
 
label local
  menu label Boot from ^local drive
  localboot 0xffff

备注:这里复制得是整个iso里面得所有文件

图片 18

备注:适合固定的环境,搭建了yum源安装仓库,有时候去一些机房安装系统,而机房环境没有搭建的yum源安装仓库,这时候就需要制作一个打包完整的iso镜像制作制作成U盘来安装。

⑤复制ks.cfg文件到目录,并就行修改

OK到此完成,可以使用了,找台虚拟机进行测试。

mkdir data
#
#
#

3)复制isolinux目录到data目录下(光盘镜像文件里面有这个目录,所有要从光盘里面复制)

②创建个目录存放文件,把事先准备好得iso下得文件全复制过来

制作流程

备注:测试当中如果出现提示空间不足时,把内存调大一些,找个U盘刻录工具刻录U盘启动安装。

2)为了方便管理我们在data目录下创建个存放kickstart文件的目录并把ks.cfg文件复制到该目录

4)删除repodata目录下得所有文件,再重新生成

7)生成iso文件同上

图片 19

OK 大体差不多了,下面开始操作

备注:这里misc/cd是光盘目录,一个神奇的文件夹,需要开启autofs服务

版权声明:本文由澳门新葡亰平台游戏发布于网络时代,转载请注明出处:制作iso镜像U盘自动化安装Linux系统,自动安装系