Kickstart 使用指南

记录在使用 Kickstart 时遇到的问题与困惑。


指南

  • 如何获得 Kickstart 文件?
    • 通过修改 /root/anaconda-ks.cfg 获得
    • 通过 system-config-kickstart 生成 ks 文件
      • 在已安装的 centos7.9 上安装 "yum install gdm" 或者 yum -y groups install "GNOME Desktop" ,建议只安装 gdm 即可。
      • 在已安装的 centos7.9 上安装 yum install system-config-kickstart -y
      • 然后在 windows 上安装 xmanager ,会得到 xstart工具(Linux 不用此操作)。打开这个工具,设置:
        • 主机为 虚拟机的 ip
        • 协议选择 ssh
        • 添加 用户名和 密码
        • 命令填写为 "system-config-kickstart"
        • 然后点击 "运行"
      • FAQ
        • system-config-kickstart 不能选择要安装的软件包
          • 将 /etc/yum.repos.d/CentOS-Base.repo 下的 [base] 改为 [development] ,然后需要重新启动 xstart
        • 如何基于文字模式安装系统?
          • 挂载了 iso 文件后,启动虚拟机,看到安装界面后按 esc 键
          • 输入:linux text ip=192.168.1.23 netmask=255.255.255.0 gateway=192.168.1.1 device=eth0
    • 对上面两种方法获得的 ks 文件进行修改从而获得新的 ks 文件(需对 ks 语法非常熟悉,非常推荐)
    • 参考:kickstart 语法介绍
  • 在用 Kickstart 安装 centos 时哪些包是必须指定的?
    • 如果是用 centos-minimal.iso 文件,建议选择:
      •   %packages  --ignoremissing --excludedocs --instLangs=en_US.utf8
          @core
          @minimal
          wget
          curl
          gcc-c++
          unzip
          vim-enhanced
          lsof
          net-tools
          bash-completion
          #如果在包名前面添加 - 则表示不安装此包,如: -vim 表示不安装 vim 包
        
      • 知识扩展:不同参数对安装后软件包的影响
        • @core == @minimal == @core@minimal == --nobase@core == --nobase@minimal@core == --nobase@core --nodefaults
        • 从上面得出 --nobase 对安装结果没用任何影响。
        • @core 和 @minimal 安装结果是一样的。
        • @core --nodefaults 因为 Anaconda的作用没用生效
        • --nobase --nocore @core --nodefaults == --nocore @core --nodefaults
    • 如果是用完整包的 iso 文件(非 minimal),建议选择如下几个包组 (安装了 296 个包):
      •   %packages --nobase --ignoremissing --excludedocs
          @base
          @compat-libraries
          @core
          @debugging
          vim
          wget
          curl
          gcc-c++
          unzip
          vim-enhanced
          lsof
          net-tools
          bash-completion
          #如果在包名前面添加 - 则表示不安装此包,如: -vim 表示不安装 vim 包
          %end
        
  • yum 常见命令
    • 显示安装包信息:yum info packagename
    • 显示所有已经安装和可以安装的程序包:yum list
    • 显示指定程序包安装情况:yum list package1 packagename
    • 根据关键字查找安装包:yum search 关键字
    • 显示程序组group1信息:yum groupinfo group1
    • 清理/var/cache/yum的headers:yum clean headers
    • 清理/var/cache/yum下的软件包:yum clean packages
    • yum clean metadata
    • yum clean all (= yum clean packages; yum clean oldheaders)
    • 查看可使用的内核列表:awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
    • 查看当前默认内核启动项:grub2-editenv list
    • 更改默认启动内核项:grub2-set-default 1
    • 删除旧的内核:yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))
    • 清理:yum clean plugins
    • 清除缓存:yum -y --enablerepo='*' clean all
    • 获取所有软件包的列表:rpm -qa --qf="%{N} \n" | sort > minimal_install
    • 按大小对包进行排序,并尝试删除列表顶部的一些包:rpm -qa --qf '%{size} \t%{name}\n' | sort -n > packages_sorted_by_size
    • 检查什么占用了大部分磁盘空间:du -mx /|sort -rn|head -35
上次更新:
贡献者: iEchoxu