1. 程式人生 > >制作光盤引導啟動的含ks應答文件的iso文件,實現iso文件和遠程系統鏡像倉庫的運維自動化安裝系統

制作光盤引導啟動的含ks應答文件的iso文件,實現iso文件和遠程系統鏡像倉庫的運維自動化安裝系統

ssa 硬盤 JD tor requested fonts shanghai rzsz ica

(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文件和遠程系統鏡像倉庫的運維自動化安裝系統