Kickstart 和 Cobbler ks.cfg文件详解

本文介绍如何使用ks.cfg文件进行CentOS系统的自动安装配置。内容涵盖安装方式、网络配置、磁盘分区及系统设置等关键步骤,并提供了一个完整的ks.cfg文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

ks.cfg文件组成大致分为3段

  • 命令段 
    键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项

  • 软件包段

  1. %packages
  2. @groupname:指定安装的包组
  3. package_name:指定安装的包
  4. -package_name:指定不安装的包

在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。

  • 脚本段(可选)
  1. %pre:安装系统前执行的命令或脚本(由于只依赖于启动镜像,支持的命令很少)
  2. %post:安装系统后执行的命令或脚本(基本支持所有命令)                                                 

 

 

关键字含义
install告知安装程序,这是一次全新安装,而不是升级upgrade
url    --url=" "     通过FTPHTTP从远程服务器上的安装树中安装。
url --url="http://10.0.0.7/CentOS-6.7/"
url --url ftp://<username>:<password>@<server>/<dir>
nfs从指定的NFS服务器安装。
nfs --server=nfsserver.example.com --dir=/tmp/install-tree
text|graphical           tesxt:使用文本模式安装。  graphical:在图形模式下根据kickstart执行安装,默认该选项
lang设置在安装过程中使用的语言以及系统的缺省语言。lang en_US.UTF-8
keyboard设置系统键盘类型。keyboard us
zerombr清除mbr引导信息。
bootloader系统引导相关配置。
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
--location=,指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序)。
--driveorder,指定在BIOS引导顺序中居首的驱动器。
--append=,指定内核参数.要指定多个参数,使用空格分隔它们。
network为通过网络的kickstart安装以及所安装的系统配置联网信息。
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
--bootproto=[dhcp/bootp/static]中的一种,缺省值是dhcpbootpdhcp被认为是相同的。
static方法要求在kickstart文件里输入所有的网络信息。
network --bootproto=static --ip=10.0.0.100 --netmask=255.255.255.0 --gateway=10.0.0.2 --nameserver=10.0.0.2
请注意所有配置信息都必须在一行上指定,不能使用反斜线来换行。
--ip=,要安装的机器的IP地址.
--gateway=,IP地址格式的默认网关.
--netmask=,安装的系统的子网掩码.
--hostname=,安装的系统的主机名.
--onboot=,是否在引导时启用该设备.
--noipv6=,禁用此设备的IPv6.
--nameserver=,配置dns解析.
timezone设置系统时区。timezone --utc Asia/Shanghai
authconfig系统认证信息。authconfig --enableshadow --passalgo=sha512
设置密码加密方式为sha512 启用shadow文件。
rootpwroot密码
clearpart清空分区。clearpart --all --initlabel
--all 从系统中清除所有分区,--initlable 初始化磁盘标签
part磁盘分区。
part /boot --fstype=ext4 --asprimary --size=200       centos7 是--fstype=xfs
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
--fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swapvfat
--asprimary,强迫把分区分配为主分区,否则提示分区失败。
--size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB
--grow,告诉分区使用所有可用空间(若有),或使用设置的最大值。
firstboot负责协助配置redhat一些重要的信息。
firstboot --disable
selinux关闭selinuxselinux --disabled
firewall关闭防火墙。firewall --disabled
logging设置日志级别。logging --level=info
reboot设定安装完成后重启,此选项必须存在,不然kickstart显示一条消息,并等待用户按任意键后才重新引导,也可以选择halt关机。

 

 

 

ks.cfg 文件

install
url --url="http://10.0.0.7/CentOS-6.7/"
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw  --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%post
wget -O /tmp/optimization.sh http://*.*.*.*/ks_config/optimization.sh &>/dev/null
/bin/sh /tmp/optimization.sh
%end

 

转载于:https://www.cnblogs.com/luck123/p/8434455.html

<think>好的,我需要回答用户关于original-ks.cfganaconda-ks.cfg文件的区别、功能使用场景的问题。首先,我要回忆一下这两个文件在CentOS或RHEL系统中的作用。 根据用户提供的引用内容,特别是引用[3],anaconda-ks.cfg是安装过程中自动生成的Kickstart文件,记录安装时的配置选项,比如分区、网络设置、root密码等。这个文件通常位于/root目录下,用户安装系统后可以使用它来复制相同的安装配置。而用户提到的original-ks.cfg可能是在某些特定情况下由用户手动创建或重命名的Kickstart文件。比如,用户可能在自动化安装前自己编写了一个原始的Kickstart模板,并保存为original-ks.cfg,用于定制安装过程。 接下来,需要确认这两个文件的功能区别。anaconda-ks.cfg是自动生成的,作为系统安装的应答文件,而original-ks.cfg可能是用户自定义的原始模板,可能在自动化部署时使用。使用场景方面,anaconda-ks.cfg适用于快速复制现有系统的安装配置,而original-ks.cfg可能用于初次配置或作为模板供后续修改。 需要验证是否有官方文档或社区资料支持这些区别。根据引用[3]中的描述,anaconda-ks.cfg确实是由Anaconda安装程序生成的,包含安装时的具体参数。而original-ks.cfg可能不是标准文件名,可能是用户自定义的。因此,在回答中需要指出这一点,并说明用户可能根据需求自定义Kickstart文件。 最后,生成相关问题时要围绕Kickstart文件的作用、如何创建自定义文件以及自动化安装的最佳实践来提问。确保问题覆盖用户可能感兴趣的扩展内容。</think>### original-ks.cfg 与 anaconda-ks.cfg 的区别 #### 1. **来源与生成方式** - **anaconda-ks.cfg** 由CentOS/RHEL系统的安装程序(Anaconda)自动生成,记录当前系统的安装配置参数(如分区方案、软件包选择、网络设置等)[^3]。 - 文件路径:`/root/anaconda-ks.cfg` - 功能:用于复现当前系统的安装过程。 - **original-ks.cfg** 通常是用户手动创建或重命名的自定义Kickstart文件,可能是系统初始安装前的模板文件- 文件路径:无固定位置,需用户指定 - 功能:作为自动化安装的配置模板,支持灵活定制。 #### 2. **内容差异** - **anaconda-ks.cfg** 包含实际安装过程中使用的参数,例如: ```plaintext zerombr clearpart --all part /boot --size=500 rootpw --plaintext mypassword timezone Asia/Shanghai ``` 可能包含敏感信息(如明文密码)。 - **original-ks.cfg** 内容更偏向模板化,例如占位符或通用配置: ```plaintext rootpw --iscrypted $6$加密字符串 network --device=eth0 --bootproto=dhcp %packages @^minimal %end ``` #### 3. **使用场景** - **anaconda-ks.cfg** - 克隆现有系统的安装配置 - 快速重建相同环境(如测试服务器)[^1] - **original-ks.cfg** - 自动化批量部署新系统 - 定制特殊需求(如预装软件、安全加固) --- ### 功能对比表 | 特性 | anaconda-ks.cfg | original-ks.cfg | |--------------------|--------------------------------|-----------------------------| | **生成方式** | 自动生成(Anaconda安装程序) | 手动创建或模板修改 | | **用途** | 复现当前系统安装 | 定义新系统的安装模板 | | **敏感信息** | 可能包含明文密码 | 通常使用加密参数 | | **路径** | `/root/` 目录 | 用户自定义路径 | --- ### 操作示例 **查看anaconda-ks.cfg内容**: ```bash cat /root/anaconda-ks.cfg ``` **使用Kickstart文件自动化安装**: ```bash # 在安装启动命令中指定文件 linux ks=hd:sda1:/original-ks.cfg ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值