暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CentOS 7系统的启动流程及自动化安装

运维扫盲人 2019-12-09
761

一、CentOS系统的安装启动过程


二、ks文件的制作

    (1)ks文件的组成

    [1]命令段:指定各种安装前配置选项,如键盘类型
    必选命令:
    auth --enableshadow --passalgo=sha512-->指明登录认证验证信息
    bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda-->(bootloader安装位置及其配置参数)
    (crashkernel=auto内核一旦出现异常自动修复)
    keyboard --vckeymap=us --xlayouts='us'-->设定键盘类型
    lang en_US.UTF-8-->英语编码格式
    part
    clearpart --none --initlabel-->清空磁盘分区
    part pv.252 --fstype="lvmpv" --ondisk=sda --size=14759-->创建卷组id为252
    part boot --fstype="xfs" --ondisk=sda --size=600
    volgroup centos --pesize=4096 pv.252-->使用卷组252创建pv
    logvol --fstype="xfs" --size=13731 --name=root --vgname=centos-->在卷组上创建lv
    logvol swap --fstype="swap" --size=1024 --name=swap --vgname=centos
    rootpw --iscrypted $6$QsR8hUq23RJn5u13$/QdYW3DyvjiD6RJ4X6MzKHQj04F4EACUHxN3G1VseUKn3NRXUNAsSn/LyNbknKgw/WZLTv/Ujw9YVjR9ThjT0/
    [root@bogon ~]# openssl passwd -1 -salt `openssl rand -hex 4`-->生成加密密码字符
    -1:使用第一种加密算法md5
    openssl rand -hex 4:生成8为随机数
    openssl rand -base64 8
    timezone Asia/Shanghai --isUtc --nontp
    可选命令:
    install or upgrade:安装或升级(默认为install)
    text:图形或者文本界面,text为TUI,默认为GUI
    network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate
    network --hostname=localhost.localdomain
    firewall --disabled
    selinux --disabled
    [root@bogon ~]# ll etc/sysconfig/selinux
    lrwxrwxrwx. 1 root root 17 Nov 14 06:16 etc/sysconfig/selinux -> ../selinux/config
    [root@bogon ~]# setenforce 0
    [root@bogon ~]# getenforce
    halt、shutdown或reboot-->定义安装完成后的操作
    repo:指明安装时使用的仓库repository
    repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
    url:指明安装时使用的repository,但是为url格式
    url --url=http://172.17.12.45/cobbler/ks_mirror/CentOS-6.7-x86_64/
    https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/os/x86_64/
    [2]程序包段:指明要安装的程序包以及包组
    %packages
    @group_name
          package-->需要安装的包
          -package-->不需要安装的包
    %end
     [3]脚本段
    %pre:安装前脚本(能够提供的命令很有限)
    运行环境:运行于安装介质上的微型Linux系统
    %post:安装后脚本
    运行环境:

       (2)ks文件制作工具

      [root@bogon ~]# yum install -y system-config-kickstart
      [root@bogon ~]# init 5
      [base]
      name=CentOS-$releasever - Base
      如果不能选安装包时将yum仓库base替换为
      [base]
      name=CentOS-$releasever - development

      三、利用网络中的ks文件实现自动化系统安装

          (1)HTTP+KS实现系统安装

      • http服务配置

        [root@localhost ~]# yum install -y httpd
        [root@localhost ~]# vim etc/httpd/conf/httpd.conf
        ServerName 192.168.3.100:80
        DocumentRoot "/var/www/html"
        [root@localhost ~]# cp root/ks.cfg var/www/html/
        [root@localhost ~]# chmod 766 /var/www/html/ks.cfg
        [root@localhost ~]# systemctl restart httpd
        http://192.168.3.100/ks.cfg-->测试是否可以访问
        • 启动安装命令

        • 选中Install CentOS 7或者Test this media & install CentOS 7,按ESC


          boot:linux text method ip=192.168.3.140 netmask=255.255.255.0 gateway=192.168.3.1 ks=http://192.168.3.100:80/ks.cfg

              (2)FTP+KS实现系统安装

          • ftp服务配置

          • 注意:ftp方式ks=ftp://,需要开启ftp服务器匿名用户下载文件
            [root@localhost ~]# yum install -y vsftpd
            [root@localhost ~]# cat etc/vsftpd/vsftpd.conf | grep -v "^#"
            anonymous_enable=YES
            local_enable=YES
            write_enable=YES
            local_umask=022
            anon_upload_enable=YES
            anon_mkdir_write_enable=YES
            dirmessage_enable=YES
            xferlog_enable=YES
            connect_from_port_20=YES
            xferlog_file=/var/log/xferlog
            xferlog_std_format=YES
            ascii_upload_enable=YES
            ascii_download_enable=YES
            listen=YES
            listen_ipv6=NO
            pam_service_name=vsftpd
            userlist_enable=YES
            tcp_wrappers=YES
              设置匿名用户工作路径权限且上传ks文件
              [root@localhost ~]# ll -aR var/ftp/ 
              /var/ftp/:
              total 4
              drwxr-xr-x 3 root root 17 Dec 5 10:10 .
              drwxr-xr-x. 22 root root 4096 Dec 5 2019 ..
              drwxr-xr-x 2 root root 20 Dec 5 09:37 pub


              /var/ftp/pub:
              total 4
              drwxr-xr-x 2 root root 20 Dec 5 09:37 .
              drwxr-xr-x 3 root root 17 Dec 5 10:10 ..
              -rwxrw-rw- 1 root root 1543 Dec 5 09:30 ks.cfg
              • 启动安装命令

                boot:linux text method ip=192.168.3.140 netmask=255.255.255.0 gateway=192.168.3.1 ks=ftp://192.168.3.141:21/pub/ks.cfg  

                (3)利用ks文件与网络仓库安装系统

                • ks文件指明仓库url

                  [root@bogon ~]# cat /etc/httpd/conf/httpd.conf  | grep -E "(^ServerName|^DocumentRoot)"
                  ServerName 192.168.1.103:80
                  DocumentRoot "/var/www/"
                  [root@bogon ~]# ll /var/www/cobbler/ks_mirror/CentOS7.6-x86_64/
                  total 320
                  -rw-rw-r-- 1 root root 14 Nov 26 2018 CentOS_BuildTag
                  drwxr-xr-x 3 root root 35 Nov 26 2018 EFI
                  -rw-rw-r-- 1 root root 227 Aug 30 2017 EULA
                  -rw-rw-r-- 1 root root 18009 Dec 10 2015 GPL
                  drwxr-xr-x 3 root root 57 Nov 26 2018 images
                  drwxr-xr-x 2 root root 198 Nov 26 2018 isolinux
                  drwxr-xr-x 2 root root 43 Nov 26 2018 LiveOS
                  drwxrwxr-x 2 root root 225280 Nov 26 2018 Packages
                  drwxrwxr-x 2 root root 4096 Nov 26 2018 repodata
                  -rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7
                  -rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
                  -r--r--r-- 1 root root 2883 Nov 26 2018 TRANS.TBL
                  [root@bogon /]# ll /var/www/cobbler/ks_mirror/CentOS7.6-x86_64/images/
                  total 151868
                  -rw-r--r-- 1 root root 8912896 Nov 26 2018 efiboot.img
                  -r--r--r-- 1 root root 146595840 Dec 8 06:18 install.img
                  drwxr-xr-x 2 root root 56 Nov 26 2018 pxeboot
                  -r--r--r-- 1 root root 442 Nov 26 2018 TRANS.TBL
                  [root@bogon ~]# cat /var/www/ks.cfg | grep -B 5 url
                  #platform=x86, AMD64, or Intel EM64T
                  #version=DEVEL
                  # Install OS instead of upgrade
                  install
                  #Use network installation
                  url --url=http://192.168.1.103/cobbler/ks_mirror/CentOS7.6-x86_64/
                  boot:linux text method ip=192.168.1.110 netmask=255.255.255.0 gateway=192.168.1.1 ks=http://192.168.1.103/ks.cfg

                  四、Cobbler实现全自动化系统安装

                    [root@localhost ~]# systemctl status firewalld
                    ● firewalld.service - firewalld - dynamic firewall daemon
                    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
                    Active: inactive (dead)
                    Docs: man:firewalld(1)
                    [root@localhost ~]# getenforce
                    Disabled

                    [1]搭建相应的服务

                      [root@localhost ~]# yum list | grep cobbler-->cobbler使用python开发,需要使用epel源
                      cobbler.x86_64 2.8.5-0.3.el7 @epel
                      cobbler-web.noarch 2.8.5-0.3.el7 epel
                      [root@localhost ~]# yum list | grep epel-
                      epel-release.noarch 7-12 @epel
                      epel-rpm-macros.noarch 7-23 @epel
                      [root@localhost ~]# yum install -y epel-release.noarch
                      [root@localhost ~]# yum install -y rsync dhcp xinetd tftp cobblerd httpd
                      [root@localhost ~]# systemctl start httpd
                      [root@localhost ~]# systemctl enable httpd
                      [root@localhost ~]# systemctl start xinetd
                      [root@localhost ~]# systemctl enable xinetd
                      [root@localhost ~]# systemctl start cobblerd
                      [root@localhost ~]# systemctl enable cobblerd
                      [root@localhost ~]# systemctl start tftp
                      [root@localhost ~]# systemctl enable tftp
                      [root@localhost ~]# systemctl start dhcpd
                      [root@localhost ~]# systemctl enable dhcpd
                      查看安装cobbler包生成的文件
                      [root@localhost ~]# rpm -ql cobbler | grep /var/www/cobbler/
                      /var/www/cobbler/images
                      /var/www/cobbler/ks_mirror
                      /var/www/cobbler/ks_mirror/config
                      /var/www/cobbler/links
                      /var/www/cobbler/localmirror
                      /var/www/cobbler/misc
                      /var/www/cobbler/misc/anamon
                      /var/www/cobbler/misc/anamon.init
                      /var/www/cobbler/pub
                      /var/www/cobbler/rendered
                      /var/www/cobbler/repo_mirror
                      /var/www/cobbler/svc
                      /var/www/cobbler/svc/services.py
                      /var/www/cobbler/svc/services.pyc
                      /var/www/cobbler/svc/services.pyo

                      [2]服务配置

                      • DHCP服务配置

                        [root@localhost ~]# hostname -I
                        192.168.3.101
                        [root@localhost kickstarts]# ip route
                        default via 192.168.3.1 dev ens33 proto static metric 100 
                        [root@localhost ~]# cp /etc/cobbler/dhcp.template{,.bak}
                        [root@localhost ~]# vim /etc/cobbler/dhcp.template
                        subnet 192.168.3.0 netmask 255.255.255.0 {
                             option routers             192.168.3.1;
                             option domain-name-servers 192.168.3.1;
                        option subnet-mask 255.255.255.0;
                             range dynamic-bootp        192.168.3.102 192.168.3.254;
                        default-lease-time 21600;
                        max-lease-time 43200;
                             next-server                $next_server;
                        •  cobbler配置文件

                          [root@localhost ~]# cp /etc/cobbler/settings{,.bak}
                          [root@localhost ~]# sed -i 's/next_server: 127.0.0.1/next_server: 192.168.3.100/g' /etc/cobbler/settings
                          [root@localhost ~]# sed -i 's/server: 127.0.0.1/server: 192.168.3.100/g' /etc/cobbler/settings
                          [root@localhost ~]# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/dhcp.template
                          上一步不做的话dhcp服务会报错
                          [root@localhost ~]# sed -i 's/manage_tftpd: 0/manage_tftpd: 1/g' /etc/cobbler/dhcp.template
                          [root@localhost ~]# sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/dhcp.template
                          [root@localhost ~]# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/dhcp.template
                          [root@localhost ~]# openssl passwd -1 -salt '1' '123'
                          $1$1$378YcKhlQfiB0iaKOLko51
                          [root@localhost ~]# sed -i 's/^default_password_crypted:.*/default_password_crypted: "$1$1$378YcKhlQfiB0iaKOLko51."/g' /etc/cobbler/settings
                          [root@localhost ~]# systemctl restart cobblerd
                          [root@localhost ~]# cobbler check
                          The following are potential configuration items that you may want to fix:


                          1 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
                          2 : enable and start rsyncd.service with systemctl
                          3 : debmirror package is not installed, it will be required to manage debian deployments and repositories
                          4 : ksvalidator was not found, install pykickstart
                          5 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them


                          Restart cobblerd and then run 'cobbler sync' to apply changes.

                          [3]对cobblerd服务检测排错

                            [root@localhost ~]# yum install -y pykickstart
                            [root@localhost ~]# systemctl start rsyncd
                            [root@localhost ~]# systemctl enable rsyncd
                            [root@localhost ~]# cobbler get-loaders
                            task started: 2019-12-06_030651_get_loaders
                            task started (id=Download Bootloader Content, time=Fri Dec 6 03:06:51 2019)
                            downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
                            downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo
                            downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
                            downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
                            downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
                            downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
                            downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
                            downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
                            downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
                            downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
                            *** TASK COMPLETE ***
                            [root@localhost ~]# cobbler check
                            The following are potential configuration items that you may want to fix:


                            1 : debmirror package is not installed, it will be required to manage debian deployments and repositories
                            2 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them


                            Restart cobblerd and then run 'cobbler sync' to apply changes.
                            (1)如果不是debian系统可以忽略
                            (2)可以忽略
                            [root@localhost ~]# cobbler sync
                            task started: 2019-12-06_030908_sync
                            task started (id=Sync, time=Fri Dec 6 03:09:08 2019)
                            running pre-sync triggers
                            cleaning trees
                            removing: /var/lib/tftpboot/pxelinux.cfg/default
                            removing: /var/lib/tftpboot/grub/images
                            removing: /var/lib/tftpboot/grub/efidefault
                            removing: /var/lib/tftpboot/s390x/profile_list
                            copying bootloaders
                            trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
                            copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
                            trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
                            copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
                            trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
                            trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
                            trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
                            copying distros to tftpboot
                            copying images
                            generating PXE configuration files
                            generating PXE menu structure
                            rendering TFTPD files
                            generating /etc/xinetd.d/tftp
                            cleaning link caches
                            running post-sync triggers
                            running python triggers from /var/lib/cobbler/triggers/sync/post/*
                            running python trigger cobbler.modules.sync_post_restart_services
                            running shell triggers from /var/lib/cobbler/triggers/sync/post/*
                            running python triggers from /var/lib/cobbler/triggers/change/*
                            running python trigger cobbler.modules.manage_genders
                            running python trigger cobbler.modules.scm_track
                            running shell triggers from /var/lib/cobbler/triggers/change/*
                            *** TASK COMPLETE ***

                            [4]导入cobbler镜象

                              [root@localhost ~]# mount /dev/cdrom /mnt/-->从光驱导入ISO文件
                              [root@localhost ~]# cobbler image --help-->获取cobbler子命令帮助
                              usage
                              =====
                              cobbler image add
                              cobbler image copy
                              cobbler image edit
                              cobbler image find
                              cobbler image list
                              cobbler image remove
                              cobbler image rename
                              cobbler image report
                              [root@localhost ~]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
                              task started: 2019-12-06_031204_import
                              task started (id=Media import, time=Fri Dec 6 03:12:04 2019)
                              Found a candidate signature: breed=redhat, version=rhel6
                              Found a matching signature: breed=redhat, version=rhel6
                              Adding distros from path /var/www/cobbler/ks_mirror/CentOS-7-x86_64:
                              creating new distro: CentOS-7-x86_64
                              trying symlink: /var/www/cobbler/ks_mirror/CentOS-7-x86_64 -> /var/www/cobbler/links/CentOS-7-x86_64
                              creating new profile: CentOS-7-x86_64
                              associating repos
                              checking for rsync repo(s)
                              checking for rhn repo(s)
                              checking for yum repo(s)
                              starting descent into /var/www/cobbler/ks_mirror/CentOS-7-x86_64 for CentOS-7-x86_64
                              processing repo at : /var/www/cobbler/ks_mirror/CentOS-7-x86_64
                              need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS-7-x86_64
                              looking for /var/www/cobbler/ks_mirror/CentOS-7-x86_64/repodata/*comps*.xml
                              Keeping repodata as-is :/var/www/cobbler/ks_mirror/CentOS-7-x86_64/repodata
                              *** TASK COMPLETE ***
                              [root@localhost ~]# ll /var/www/cobbler/ks_mirror/
                              total 0
                              drwxrwxr-x 8 root root 254 Nov 25 2018 CentOS-7-x86_64
                              drwxr-xr-x 2 root root 34 Dec 6 03:15 config
                              [root@localhost ~]# cobbler distro report
                              Name : CentOS-7-x86_64
                              Architecture : x86_64
                              TFTP Boot Files : {}
                              Breed : redhat
                              Comment :
                              Fetchable Files : {}
                              Initrd : /var/www/cobbler/ks_mirror/CentOS-7-x86_64/images/pxeboot/initrd.img
                              Kernel : /var/www/cobbler/ks_mirror/CentOS-7-x86_64/images/pxeboot/vmlinuz
                              Kernel Options : {}
                              Kernel Options (Post Install) : {}
                              Kickstart Metadata : {'tree': 'http://@@http_server@@/cblr/links/CentOS-7-x86_64'}
                              Management Classes : []
                              OS Version : rhel6
                              Owners : ['admin']
                              Red Hat Management Key : <<inherit>>
                              Red Hat Management Server : <<inherit>>
                              Template Files
                              [root@localhost ~]# cobbler profile report
                              Name : CentOS-7-x86_64
                              TFTP Boot Files : {}
                              Comment :
                              DHCP Tag : default
                              Distribution : CentOS-7-x86_64
                              Enable gPXE? : 0
                              Enable PXE Menu? : 1
                              Fetchable Files : {}
                              Kernel Options : {}
                              Kernel Options (Post Install) : {}
                              Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks
                              Kickstart Metadata : {}
                              Management Classes : []
                              Management Parameters : <<inherit>>
                              Name Servers : []
                              Name Servers Search Path : []
                              Owners : ['admin']
                              Parent Profile :
                              Internal proxy :
                              Red Hat Management Key : <<inherit>>
                              Red Hat Management Server : <<inherit>>
                              Repos : []
                              Server Override : <<inherit>>
                              Template Files : {}
                              Virt Auto Boot : 1
                              Virt Bridge : xenbr0
                              Virt CPUs : 1
                              Virt Disk Driver Type : raw
                              Virt File Size(GB) : 5
                              Virt Path :
                              Virt RAM (MB) : 512
                              Virt Type : kvm
                              导入ISO后会默认生成ks文件/var/lib/cobbler/kickstarts/sample_end.ks,cobbler到现在已经可以实现自动化安装了,不过我们需要自定义ks文件

                              [5]新建profile且指明ks文件路径

                                [root@localhost ~]# cp ks.cfg /var/lib/cobbler/kickstarts/
                                [root@localhost ~]# cobbler profile --help
                                usage
                                =====
                                cobbler profile add
                                cobbler profile copy
                                cobbler profile dumpvars
                                cobbler profile edit
                                cobbler profile find
                                cobbler profile getks
                                cobbler profile list
                                cobbler profile remove
                                cobbler profile rename
                                cobbler profile report
                                [root@localhost kickstarts]# cobbler profile edit --distro=CentOS-7-x86_64 --name=CentOS7.6_DIY --kickstart=/var/lib/cobbler/kickstarts/ks_DIY.cfg
                                [root@localhost kickstarts]# cobbler profile list
                                CentOS-7-x86_64
                                CentOS7.6_DIY
                                [root@localhost kickstarts]# cobbler distro list
                                CentOS-7-x86_64
                                也可编辑原来kickstart文件,方法如下:
                                [root@localhost kickstarts]# cp /var/lib/cobbler/kickstarts/ks_DIY.cfg /var/lib/cobbler/kickstarts/ks_DIY1.cfg
                                [root@localhost kickstarts]# cobbler profile edit --distro=CentOS-7-x86_64 --name=CentOS7.6_DIY --kickstart=/var/lib/cobbler/kickstarts/ks_DIY1.cfg
                                [root@localhost ~]# systemctl restart cobblerd
                                [root@localhost ~]# cobbler sync

                                五、自制系统ISO

                                • CentOS 6

                                    [1]重复光驱启动过程

                                  stage1:MBR:isolinux/boot.cat  -->grub
                                  stage2:isolinux/isolinux.bin -->提供安装菜单界面
                                  配置文件:isolinux/isolinux.cfg
                                  每选择一个选项就执行对应操作:
                                  label linux
                                  menu label ^Install or upgrade an existing system
                                  menu default
                                  kernel vmlinuz
                                  append initrd=initrd.img
                                  isolinuxvmlinuz
                                  isolinuxinitrd.img
                                  结论:isolinux相当于系统的boot分区

                                      [2]复制光驱中的bootloader

                                    [root@bogon ~]# mount /dev/cdrom  /mnt/
                                    [root@bogon ~]# cp -r /mnt/isolinux /myboot
                                    [root@bogon ~]# chmod +w /myboot/*
                                    [root@bogon ~]# cp /root/ks.cfg /myboot
                                    [root@bogon ~]# cat /myboot/isolinux/isolinux.cfg | grep -A 3 "label linux"
                                    label linux
                                    label linux
                                    menu label ^Install or upgrade an existing system
                                    menu default
                                    kernel vmlinuz
                                    append initrd=initrd.img
                                    [root@bogon /]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root.iso /myboot
                                    制作镜像时需要切换目录至isolinux的根目录上-->/
                                    [root@bogon /]# ll root.iso
                                    -rw-r--r-- 1 root root 59996160 Dec 7 06:25 root.iso

                                        [3]将制作好的ISO和程序包放在ftp服务器的pub目录下

                                      [root@bogon /]# ll -aR /var/ftp/
                                      /var/ftp/:
                                      total 4
                                      drwxr-xr-x 3 root root 17 Nov 16 04:02 .
                                      drwxr-xr-x. 21 root root 4096 Nov 16 04:02 ..
                                      drwxrwxrwx 2 root root 22 Dec 7 06:43 pub


                                      /var/ftp/pub:
                                      total 58592
                                      drwxrwxrwx 2 root root 22 Dec 7 06:43 .
                                      drwxr-xr-x 3 root root 17 Nov 16 04:02 ..
                                      -rw-r--r-- 1 root root 59996160 Dec 7 06:25 root.iso

                                       [4]将boot.iso文件复制到windows桌,光驱挂载启动

                                      注意:kickstart文件中无须再重复配IP地址,否者获取到ks文件后将找不到安装仓库URL

                                        label linux
                                        label linux
                                        menu label ^Install or upgrade an existing system
                                        menu default
                                        kernel vmlinuz
                                        append initrd=initrd.img ks=cdrom:/ks.cfg

                                        Tips:也可在isolinux.cfg文件中传参指明ks文件位置,在ks文件中指明IP地址即可完全自动化安装。

                                        • CentOS7

                                          [root@bogon ~]# mount /dev/cdrom  /mnt/
                                          [root@bogon ~]# cp -r /mnt/isolinux /myboot
                                          [root@bogon ~]# chmod +w /myboot/*
                                          [root@bogon ~]# cp /root/ks.cfg /myboot
                                          [root@bogon ~]# genisoimage -o CentOS-7.6-x86-64.iso  -V CENTOS7 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /myboot
                                          [root@localhost /]# ll /myboot/
                                          total 4
                                          drwxr-xr-- 2 root root 198 Dec 9 14:12 isolinux
                                          -rw-r--r-- 1 root root 1786 Dec 9 13:59 ks.cfg
                                          [root@localhost /]# cat /myboot/isolinux/isolinux.cfg | grep -A 3 "label linux"
                                          label linux
                                          menu label ^Install CentOS 7(DIY)
                                          kernel vmlinuz
                                          append initrd=initrd.img inst.ks=cdrom:/ks.cfg ip=192.168.3.140 netmask=255.255.255.0 gateway=192.168.3.1 quiet


                                          文章转载自运维扫盲人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                          评论