• 【Linux】【Basis】【RHEL】KickStart for RHEL6.8


    1. 概念:

    自动安装的脚本,这篇文章以RHEL6.8为例

    kickstart for RHEL6.8官方教程:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Migration_Planning_Guide/sect-Migration_Guide-Installation-Graphical_Installer-Kickstart.html

    1.1 安装程序:anaconda,有tui(基于cureses的文本配置窗口)和gui(图形界面)两种

    1.2 启动顺序:bootloader --> kernel(initrd(rootfs)) --> anaconda

    MBR:boot.cat

        ||

        V

    Stage2:执行isolinux/isolinux.bin

      读取配置文件isolinux/isolinux.cfg,其中重要选项有

        加载内核:isolinux/vmlinuz

        向内核传递参数:append  initrd=initrd.img

       ||

        V

    装载根文件系统,并启动anaconda

      默认界面是图形界面:需要512MB+内存空间

      若需要显式指定启动TUI接口: 向启动内核传递一个参数"text"即可

      按ESC键可以键入boot命令行,键入linux text即可正常启动

      键入linux method,即可手动指定仓库

    1.3 anaconda的工作过程

    1.3.1 安装前配置阶段
      安装过程使用的语言;
      键盘类型
      安装目标存储设备
      Basic Storage:本地磁盘
      Special Storage: iSCSI
      设定主机名
      配置网络接口
      时区
      管理员密码
      设定分区方式及MBR的安装位置;
      创建一个普通用户;
      选定要安装的程序包;
    1.3.2 安装阶段
      在目标磁盘创建分区并执行格式化;
      将选定的程序包安装至目标位置;
      安装bootloader;
    1.3.3 首次启动
      iptables
      selinux
      core dump

    1.4 anaconda的配置方式:
    交互式配置方式;
    支持通过读取配置文件中事先定义好的配置项自动完成配置;遵循特定的语法格式,此文件即为kickstart文件;

    2. 版本:

    OS:RHEL6.8

    kickstart:system-config-kickstart-2.8.6.6-1.el6.noarch.rpm

    3. ks-scripts:

    # Kickstart file automatically generated by anaconda.
    # version=DEVEL
    
    # ==========命令段==========
    
    # ----------必备命令---------
    
    # lang 语言类型
    # 中文是zh_CN.UTF-8
    lang en_US.UTF-8
    
    # keyboard 设置键盘类型
    keyboard us
    
    skipx
    
    # rootpw:管理员密码,会有salt
    # 可以使用openssl生成:openssl passwd -1 -salt `openssl rand -hex 4`
    rootpw  --iscrypted $6$LFw8plSO4ZU9jfXp$oV4ywwfa0BbAVDFLKj/Mqnbbe5lCv/H0DgppcOWbcMc3JjvHsJ5bjncpf795fyxqGt.r3n31NVsVOdO.1mIwS/
    
    # authconfig:认证方式配置
    # 下面这个例子是使用shaodw文件储存密码,密码加密方式为sha512
    authconfig --enableshadow --passalgo=sha512
    
    # timezone:时区
    timezone --utc Asia/Shanghai
    
    # bootloader 定义bootloader的安装位置及相关配置
    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
    
    # clearpart:这个选项会清空所有分区
    # clearpart --none --drivers=/dev/sda
    clearpart --all --initlabel
    
    # part:分区布局
    # pv.008002在后面创建vg的时候还会用到,是物理分区的标示
    part /boot --fstype=ext4 --size=500
    part pv.008002 --grow --size=200
    
    # volgroup 创建逻辑卷组
    # logvol 创建逻辑卷
    volgroup vg_system --pesize=4096 pv.008002
    logvol /home --fstype=ext4 --name=lv_home --vgname=vg_system --size=4096
    logvol /opt --fstype=ext4 --name=lv_opt --vgname=vg_system --size=4096
    logvol / --fstype=ext4 --name=lv_root --vgname=vg_system --size=4096
    logvol swap --name=lv_swap --vgname=vg_system --size=4096
    logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=vg_system --size=4096
    logvol /usr --fstype=ext4 --name=lv_usr --vgname=vg_system --size=4096
    logvol /var --fstype=ext4 --name=lv_var --vgname=vg_system --size=4096
    
    # ----------必备命令END---------
    
    # ----------可选命令---------
    
    # 安装操作系统,可以使用install或者upgrade
    install
    
    # 安装界面类型,test为tui,默认为GUI
    text
    
    # network:配置网络接口
    network --onboot yes --device eth0 --bootproto static --ip 10.30.2.1 --netmask 255.255.255.0 --gateway 10.30.2.254 --noipv6 --nameserver 10.24.2.1 --hostname hctjcobbler
    
    # 防火墙配置
    # 可以使用firewall --service=ssh来开放ssh的端口
    firewall --disabled
    
    # selinux配置
    # 启用selinux使用:selinux --enforcing
    selinux --disabled
    
    # 清空mbr
    zerombr yes
    
    # 配置服务是否启用
    services --disabled=avahi-daemon,cups --enabled=auditd
    
    # 系统安装完成之后的行为:halt,poweroff或者reboot
    reboot
    
    # 指明安装时使用的repository
    repo --name="ftp"  --baseurl=ftp://10.26.2.58/depot/yum/rhel65 --cost=1000
    
    # 指明安装时使用的repository,但为url格式;
    url --url ftp://10.26.2.58/depot/yum/rhel65/
    
    # ----------可选命令END---------
    
    # ==========命令段END==========
    
    
    # ==========程序包段==========
    # 指明要安装的程序报,以及包组,也包括不安装的程序包
    # 以%packages开头%end结尾
    # 可以使用 @group_name(安装一组软件)
    # package(安装单个软件)
    # -package(不安装某个软件)
    %packages
    @base
    @compat-libraries
    @console-internet
    @core
    @debugging
    @development
    @directory-client
    @fonts
    @graphical-admin-tools
    @hardware-monitoring
    @java-platform
    @large-systems
    @legacy-unix
    @legacy-x
    @network-file-system-client
    @performance
    @perl-runtime
    @system-management-snmp
    @server-platform
    @server-policy
    @storage-client-multipath
    @system-management
    @system-admin-tools
    @system-management-wbem
    @x11
    @storage-client-iscsi
    mtools
    pax
    python-dmidecode
    oddjob
    tunctl
    yum-plugin-downloadonly
    yum-plugin-versionlock
    sgpio
    x86info
    zsh
    ftp
    lftp
    compat-gcc-34
    compat-gcc-34-g77
    jpackage-utils
    compat-gcc-34-c++
    samba-winbind
    certmonger
    pam_krb5
    krb5-workstation
    nscd
    pam_ldap
    nss-pam-ldapd
    system-config-lvm
    lm_sensors
    rsh
    rwho
    rusers
    telnet
    tcp_wrappers
    finger
    ksh
    xterm
    libXmu
    perl-LDAP
    perl-DBD-SQLite
    ipmitool
    OpenIPMI
    rrdtool
    screen
    tree
    lsscsi
    tog-pegasus
    rpm-devel
    libuuid.i686
    freetype.i686
    libSM.i686
    libICE.i686
    libXau.i686
    libxcb.i686
    libX11.i686
    libXext.i686
    libXi.i686
    libXrender.i686
    libXrandr.i686
    libXfixes.i686
    libXcursor.i686
    expat.i686
    fontconfig.i686
    zlib.i686
    libstdc++.i686
    pam.i686
    libacl.i686
    -pcmciautils
    %end
    # ==========程序包段END==========
    
    # ==========脚本段==========
    # %pre:安装前脚本。运行环境:运行安装介质上的微型linux
    
    
    # %post:安装后脚本。运行环境:安装完成的系统;
    
    # ==========脚本段END==========
    

      

    4. 安装

    4.1 安装引导选项:

    ks:指明kickstart文件的位置;

    ks=cdrom:/PATH/TO/KICKSTART_FILE #DVD drive
    ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE #Hard Driv
    ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE #HTTP Server
    ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE #FTP Server
    ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE #HTTPS Server

    asknetwork:交互式填入网卡IP地址

    text:文本安装方式

    method:手动指定使用的安装方法
      与网络相关的引导选项:
        ip=IPADDR
        netmask=MASK
        gateway=GW
        dns=DNS_SERVER_IP
      远程访问功能相关的引导选项:
        vnc
        vncpassword='PASSWORD'
      启动紧急救援模式:
        rescue
      装载额外驱动:
        dd

    4.2 kickstart文件的格式(详见脚本上的注释)

    4.2.1 命令段:指定各种安装前配置选项,如键盘类型等

    4.2.1.1 必备命令:

    4.2.1.2 可选命令:

    4.2.2 程序包段:

    4.2.3 脚本段:

      %pre:安装前脚本。运行环境:运行安装介质上的微型linux

      %post:安装后脚本。运行环境:安装完成的系统;

    4.3 kickstart图形工具:

    名称:system-config-kickstart-2.8.6.6-1.el6.noarch.rpm

    安装:yum install system-config-kickstart

    检查语法错误命令:ksvalidator

    4.4 安装过程:

    4.4.1 光盘安装:

    引导光盘制作:

    挂载引导光盘到系统文件夹

    mount /dev/sr0 /mnt

    拷贝所有文件到要制作镜像的文件夹

    cp -r /mnt/* /tmp/myboot/

    下载ks文件到光盘镜像制作文件夹

    wget ftp://10.26.2.58/scripts/kickstart/anaconda-ks2.cfg

    制作镜像文件

    mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "RHEL 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /tmp/boot.iso   /tmp/myboot/

    修改isolinux/isolinux.cfg文件,在需要引导的选项后面指定ks地址

    append initrd=initrd.img ks=cdrom:/anaconda-ks.cfg

    4.4.2 网络安装:

    开机按ESC键进入引导选项

    # 使用网络安装

    boot: linux ip=10.30.2.1 netmask=255.255.255.0 ks=ftp://10.26.2.58/scripts/kickstart/annaconda-ks.cfg

  • 相关阅读:
    PL/SQL编程基本概念
    oracle基本笔记整理及案例分析2
    oracle基本笔记整理及案例分析2
    oracle基本笔记整理及案例分析2
    oracle基本笔记整理及案例分析1
    oracle基本笔记整理及案例分析1
    oracle基本笔记整理及案例分析1
    oracle笔记整理2
    oracle笔记整理2
    oracle笔记整理2
  • 原文地址:https://www.cnblogs.com/demonzk/p/6437198.html
Copyright © 2020-2023  润新知