制作光盘引导启动的含ks应答文件的iso文件,实现iso文件和远程系统镜像仓库的运维自动化安装系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了制作光盘引导启动的含ks应答文件的iso文件,实现iso文件和远程系统镜像仓库的运维自动化安装系统相关的知识,希望对你有一定的参考价值。

(1)A机器配置如下

        mkdir /app/bootiso -pv
        cd  /app/bootiso
        cp -r /mnt/centos6/isolinux/  ./
        mkdir ks
        cp /root/anaconda-ks.cfg ks/ks6-desktop.cfg
        cp /root/anaconda-ks.cfg ks/ks6-mini.cfg
        vim   ks/ks6-desktop.cfg
            #Kickstart file automatically generated by anaconda.
            #version=DEVEL
                install
                url --url=http://192.168.43.60/centos/6     在B机器搭建的http服务中,末尾不加/,
                使用公有地址
                reboot
                text
            #cdrom
                lang en_US.UTF-8
                keyboard us
                network --onboot yes --device eth0 --bootproto dhcp --noipv6
                rootpw  --iscrypted $6$jMtvasdUuNqaERA9$EYnjvCNgtGKgKNbr8pQ1mrQgZ43gx.RAa./LHuTUWA1rmfH0AztHJ5yQxu4lJ/zzhmzt4OE73A5OnL7YjiHH.1
                firewall --disabled
                authconfig --enableshadow --passalgo=sha512
                selinux --disabled
                timezone --utc Asia/Shanghai
                bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
            #The following is the partition information you requested
            #Note that any partitions you deleted are not expressed
            #here so unless you clear all partitions first, this is
            #not guaranteed to work
            #clearpart --linux --drives=sda
                clearpart --all --initlabel
                zerombr
                part /boot --fstype=ext4 --size=1024
                part / --fstype=ext4 --size=50000
                part /app --fstype=ext4 --size=20000
                part swap --size=2048
            #volgroup vg_localhost --pesize=4096 pv.008002
            #logvol /home --fstype=ext4 --name=lv_home --vgname=vg_localhost --grow --size=100
            #logvol / --fstype=ext4 --name=lv_root --vgname=vg_localhost --grow --size=1024 --maxsize=51200
            #logvol swap --name=lv_swap --vgname=vg_localhost --grow --size=2336 --maxsize=2336
            #repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100
            %packages
            @base
            @core
            @debugging
            @basic-desktop
            @desktop-debugging
            @desktop-platform
            @directory-client
            @fonts
            @general-desktop
            @graphical-admin-tools
            @input-methods
            @internet-applications
            @network-file-system-client
            @print-client
            @remote-desktop-clients
            @server-platform
            @server-policy
            @workstation-policy
            %end
            ksvalidator  ks/ks6-desktop.cfg 检测应答文件的语法
            vim  ks/ks6-mini.cfg
                #platform=x86, AMD64, or Intel EM64T
                #version=DEVEL
                #Firewall configuration
                    firewall --disabled
                #Install OS instead of upgrade
                    install
                #Use network installation
                    url --url=http://192.168.43.60/centos/6 在B机器搭建的http服务中,末尾不加/,使用公有地址
                #Root password
                    rootpw --iscrypted $1$pJZ2W0AP$nFQbRMMdRE1/YO4ddglBi0
                #System authorization information
                    auth  --useshadow  --passalgo=sha512
                #Use text mode install
                    text
                    firstboot --disable
                #System keyboard
                    keyboard us
                #System language
                    lang en_US
                #SELinux configuration
                    selinux --disabled
                #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 / --fstype="ext4" --size=10240
                    part /boot --fstype="ext4" --size=500
                    part swap --fstype="swap" --size=1024
            %post
            mkdir /root/.ssh/
            cat > /root/.ssh/authorized_keys <<EOF
            ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAruUSGJQ6UYn45lD0TRifnqYzy5izR6Eskjk0DV25Eplc7TDHqKH/98WatoN3l0zyM+v9IWxlg2HCaLdm0dreRVu7YP6q0NO9yyu+dgsasTVNdrNJi5B3qRhpLvboSbltVqdC9eT7txmCp7ZMcUH1YqcPSRnf/DulaeIJYmtivHG68X0WGPgTPcGSZ1ujXs6Ho/v8i+3bPnZ+w+KMMI9ajCCzoG9mV7+zshAQ6hdlMaKbosabYcDXCZJ4Q5EUtpjap0nK6nKsVi6TPU+o7GlD1UJF4qUXNGmcP79erp+TxCVEujgA3JP0TdgYXVu4fDw8rppNfxVejd+Kt00yxlMZEw== [email protected]
            EOF
            chmod 600 /root/.ssh/authorized_keys
            cat > /etc/yum.repos.d/base.repo <<EOF
            [hello]
            name=base_centos6
            baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/
            gpgcheck=0
            EOF
            useradd wang
            echo 123789|passwd --stdin wang &> /dev/null
            %end
            %packages
            @core
            @server-policy
            @workstation-policy
            vim-enhanced
            lrzsz
            %end
            ksvalidator  ks/ks6-mini.cfg    检测应答文件的语法
            vim 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 desktop
                    menu label ^Install or upgrade an ^Desktop system
                    kernel vmlinuz
                    append initrd=initrd.img ks=hd:sdb1:/ks/ks6-desktop.cfg
                label mini
                    menu label Install ^Mini system
                    kernel vmlinuz
                    append initrd=initrd.img ks=hd:sdb1:/ks/ks6-mini.cfg
                label local
                    menu default
                    menu label Boot from ^local drive
                    localboot 0xffff
            将目录打包成iso可启动文件:
                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/bootiso/
                sz  /root/boot.sio  传输文件到桌面
            在新建虚拟机上将光盘镜像文件的路径指向桌面的iso文件,设置好网络模式
            重启虚拟机,按ESC进入光盘选择模式,之后选择要安装的系统即可自动化安装

(2)B机器设置系统仓库

        cd /var/www/html/
        cd centos
        mkdir 6
        在设置中将centos6的光盘挂载上来
        echo "- - -" > /sys/class/scsi_host/host0/scan      扫描出光盘
        mount /dev/sr1 6/   挂载光盘,设置系统仓库
        mount   查看是否挂载成功

(3)用虚拟硬盘模拟U盘启动盘的制作

        先在虚拟机设置中添加一块硬盘
        vim /app/bootiso/isolinux/isolinux.cfg
            ks=hd:sdb1:/ks/ks6-desktop.cfg  此处需要修改将cdrom改为hd:sdb1(硬盘)
            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/bootiso/
            isohybrid /root/boot.iso    给iso文件的前512字节添加信息
            dd if=/root/boot.iso of=/dev/sdb    给新加的硬盘复制信息
            sync        将复制的数据进行同步
            shutdown -h now 关机
        找到新的硬盘,复制到桌面
        在新建的虚拟机中,添加一块已存在的硬盘,在桌面找到
        重启机器,按ESC键,进入setup ENTER模式,将启动项调整顺序,新硬盘放到旧硬盘之前
        保存退出,即可进入系统选择界面,进行系统自动化安装;

(4)纯光盘半自动化安装系统

        mkdir /app
        cp -rv /mnt/centos6/ /app/centos6
        find /app/centos6/ -name TRANS.TBL -exec rm {} ;   删除TRANS.TBL文件,需要重新生

成;

        rm -rf /app/centos6/repodata/*
        cp /mnt/centos6/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /app/centos6/repodata/    保留此记录仓库文件的文件
        cd /app/centos6/
        createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml ./  重新生成仓库元数据
        mount /root/boot.iso.bak /mnt/ -o loop  将之前的iso文件挂载以获取当中的ks文件
        mkdir ksdir
        cp /mnt/ks/* ksdir/
        vim 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 desktop
                menu label ^Install or upgrade an ^Desktop system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/ksdir/ks6-desktop.cfg
            label mini
                menu label Install ^Mini system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/ksdir/ks6-mini.cfg
            label local
                menu default
                menu label Boot from ^local drive
                localboot 0xffff
        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/centos6ks.iso /app/centos6/

以上是关于制作光盘引导启动的含ks应答文件的iso文件,实现iso文件和远程系统镜像仓库的运维自动化安装系统的主要内容,如果未能解决你的问题,请参考以下文章

制作centos6的启动光盘boot.iso

UltraISO制作U盘启动盘

制作自定义系统iso镜像

怎么将文件打包成ISO格式的压缩包

微软系统的镜像是怎么打包成iso的

怎么把系统刻录到u盘