文件由三部分组成html
用于自动应答图形/文本界面安装时除了包之外的全部操做java
使用%packages引导该功能node
脚本段分为两部分python
语言
安装方法
bootload
键盘类型
验证linux
# System authorization information auth --enableshadow --passalgo=sha512 --enablefingerprint
为系统设置验证选项.这和在安装后运行的authconfig命令类似.在缺省状况下,密码一般被加密但不使用影子文件(shadowed).ios
--enablemd5,每一个用户口令都使用md5加密.
--enablenis,启用NIS支持.在缺省状况下,--enablenis使用在网络上找到的域.域应该老是用--nisdomain=选项手工设置.
--nisdomain=,用在NIS服务的NIS域名.
--nisserver=,用来提供NIS服务的服务器(默认经过广播).
--useshadow或--enableshadow,使用屏蔽口令.
--enableldap,在/etc/nsswitch.conf启用LDAP支持,容许系统从LDAP目录获取用户的信息(UIDs,主目录,shell 等等).要使用这个选项,必须安装nss_ldap软件包.也必须用--ldapserver=和--ldapbasedn=指定服务器和base DN(distinguished name).
--enableldapauth,把LDAP做为一个验证方法使用.这启用了用于验证和更改密码的使用LDAP目录的pam_ldap模块.要使用这个选项,必须安装nss_ldap软件包.也必须用--ldapserver=和--ldapbasedn=指定服务器和base DN.
--ldapserver=,若是指定了--enableldap或--enableldapauth,使用这个选项来指定所使用的LDAP服务器的名字.这个选项在/etc/ldap.conf文件里设定.
--ldapbasedn=,若是指定了--enableldap或--enableldapauth,使用这个选项来指定用户信息存放的LDAP目录树里的DN.这个选项在/etc/ldap.conf文件里设置.
--enableldaptls,使用TLS(传输层安全)查寻.该选项容许LDAP在验证前向LDAP服务器发送加密的用户名和口令.
--enablekrb5,使用Kerberos 5验证用户.Kerberos本身不知道主目录,UID或shell.若是启用了Kerberos,必须启用LDAP,NIS,Hesiod或者使用/usr/sbin/useradd命令来使这个工做站获知用户的账号.若是使用这个选项,必须安装pam_krb5软件包.
--krb5realm=,工做站所属的Kerberos 5领域.
--krb5kdc=,为领域请求提供服务的KDC.若是的领域内有多个KDC,使用逗号(,)来分隔它们.
--krb5adminserver=,领域内还运行kadmind的KDC.该服务器处理改变口令以及其它管理请求.若是有不止一个KDC,该服务器必须是主KDC.
--enablehesiod,启用Hesiod支持来查找用户主目录,UID 和 shell.在网络中设置和使用 Hesiod 的更多信息,能够在 glibc 软件包里包括的 /usr/share/doc/glibc-2.x.x/README.hesiod里找到.Hesiod是使用DNS记录来存储用户,组和其余信息的 DNS 的扩展.
--hesiodlhs,Hesiod LHS("left-hand side")选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,相似于LDAP对 base DN的使用.
--hesiodrhs,Hesiod RHS("right-hand side")选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,相似于LDAP对base DN的使用.
--enablesmbauth,启用对SMB服务器(典型的是Samba或Windows服务器)的用户验证.SMB验证支持不知道主目录,UID 或 shell.若是启用SMB,必须经过启用LDAP,NIS,Hesiod或者用/usr/sbin/useradd命令来使用户账号为工做站所知.要使用这个选项,必须安装pam_smb软件包.
--smbservers=,用来作SMB验证的服务器名称.要指定不止一个服务器,用逗号(,)来分隔它们.
--smbworkgroup=,SMB服务器的工做组名称.
--enablecache,启用nscd服务.nscd服务缓存用户,组和其余类型的信息.若是选择在网络上用NIS,LDAP或hesiod分发用户和组的信息,缓存就尤为有用.redis
# System bootloader configuration bootloader --append="rhgb quiet crashkernel=auto" --location=mbr --driveorder="sda" --boot-drive=sda
指定引导装载程序怎样被安装,对于安装和升级,这个选项都是必需的shell
--append=,指定内核参数.要指定多个参数,使用空格分隔它们.
例如:bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"
--driveorder,指定在BIOS引导顺序中居首的驱动器.
例如:bootloader --driveorder=sda,hda
--location=,指定引导记录被写入的位置.有效的值以下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序).
--password=,若是使用GRUB,把GRUB引导装载程序的密码设置到这个选项指定的位置.这应该被用来限制对能够传入任意内核参数的GRUB shell的访问.
--md5pass=,若是使用GRUB,这和--password=相似,只是密码已经被加密.
--upgrade,升级现存的引导装载程序配置,保留其中原有的项目.该选项仅可用于升级.centos
# Install OS instead of upgrade install
告诉系统来安装全新的系统而不是在现有系统上升级.这是缺省的模式.必须指定安装的类型,如cdrom,harddrive,nfs或url(FTP 或HTTP安装).install命令和安装方法命令必须处于不一样的行上.缓存
能够是cdrom、harddrive,nfs,url等安装媒介
从光盘介质来安装
# Use CDROM installation media cdrom
从本地驱动器的vfat或ext2格式的红帽安装树来安装.
--biospart=,从BIOS分区来安装(如82).
--partition=,从分区安装(如sdb2).
--dir=,包含安装树的variant目录的目录.
例如:harddrive --partition=hdb2 --dir=/tmp/install-tree
从指定的NFS服务器安装.
--server=,要从中安装的服务器(主机名或IP).
--dir=,包含安装树的variant目录的目录.
--opts=,用于挂载NFS输出的Mount选项(可选).
例如:nfs --server=nfsserver.example.com --dir=/tmp/install-tree
经过FTP或HTTP从远程服务器上的安装树中安装.
例如:url --url http://server/dir
或:url --url ftp://username:password@server/dir>
# Use text mode install text
# Firewall configuration firewall --enabled --service=ssh
firstboot --disable
安装后第一次启动默认会给出不少须要手动配置的界面,通常是禁用的
--enable或--enabled,系统第一次引导时,启动"设置代理".
--disable或--disabled,系统第一次引导时,不启动"设置代理".
--reconfig,在系统引导时在重配置(reconfiguration)模式下启用"设置代理".这个模式启用了语言,鼠标,键盘,根密码,安全级别,时区和缺省网络配置以外的选项.
ignoredisk --only-use=sda
致使安装程序忽略指定的磁盘.若是使用自动分区并但愿忽略某些磁盘的话,这就颇有用.
例如,没有ignoredisk,如要试图在SAN-cluster系统里部署,kickstart就会失败,由于安装程序检测到SAN不返回分区表的被动路径(passive path).
若是有磁盘的多个路径时,ignoredisk选项也有用处.
语法是:
ignoredisk --drives=drive1,drive2,...
这里driveN是sda,sdb... hda等等中的一个
# Keyboard layouts # old format: keyboard us # new format: keyboard --vckeymap=us --xlayouts=''
# System language lang en_US.UTF-8
# Network information network --bootproto=dhcp --device=eth0 --activate network --hostname=localhost.localdomain
# Reboot after installation reboot
# Root password rootpw --iscrypted 6d/QQHF.8MAgw
# SELinux configuration selinux --enforcing #[--disabled|--enforcing|--permissive]
# System services services --enabled="chronyd"
修改运行在缺省运行级别下的缺省的服务集.在disabled列表里列出的服务将在enabled列表里的服务启用以前被禁用.
--disabled,禁用用逗号隔开的列表里的服务.
--enabled,启用用逗号隔开的列表里的服务.
# System timezone timezone America/New_York --isUtc user --groups=wheel --name=zhangxingeng --password=6d/QQHF.8MAgw --iscrypted
# X Window System configuration information xconfig --startxonboot
配置X Window 系统.若是没有指定这个选项且安装了X,用户必须在安装过程当中手工配置X;若是最终系统里没有安装X,这个选项不该该被使用.
--driver,指定用于视频硬件的 X 驱动.
--videoram=,指定显卡的显存数量.
--defaultdesktop=,指定GNOME或KDE做为缺省的桌面(假设已经经过%packages安装了GNOME或KDE桌面环境).
--startxonboot,在安装的系统上使用图形化登陆.
--resolution=,指定安装的系统上X窗口系统的默认分辨率.有效值有:640x480,800x600,1024x768,1152x864, 1280x1024,1400x1050,1600x1200.请肯定指定与视频卡和显示器兼容的分辨率.
--depth=,指定安装的系统上的 X 窗口系统的默认色彩深度.有效值有:8,16,24,和 32.请肯定指定与视频卡和显示器兼容的色彩深度.
# Clear the Master Boot Record zerombr
若是指定了zerombr且yes是它的惟一参数,任何磁盘上的无效分区表都将被初始化.这会毁坏有无效分区表的磁盘上的全部内容.这个命令的格式应该以下
zerombr yes
# Partition clearing information clearpart --all --drives=sda
在建立新分区以前,从系统上删除分区.默认不会删除任何分区.
注:若是使用了clearpart命令,--onpart命令就不可以用在逻辑分区上.
--all,删除系统上全部分区.
--drives=,指定从哪一个驱动器上清除分区.
例如,下面的命令清除了主IDE控制器上的前两个驱动器上全部分区
clearpart --drives=hda,hdb --all
--initlabel,根据不一样体系结构把磁盘标签初始化为缺省设置(例如,msdos用于x86而gpt用于Itanium).当安装到一个崭新的硬盘时,这颇有用,安装程序不会询问是否应该初始化磁盘标签.
--linux,删除全部Linux分区.
--none(缺省),不要删除任何分区
# Disk partitioning information part /boot --fstype=ext4 --asprimary --size=200 #boot200-250M part swap --fstype=swap --asprimary --size=2048 part / --fstype=ext4 --grow --asprimary --size=2000
--asprimary:强制指定为主分区
--grow:使用全部可用空间,即为其分配全部剩余空间。对于根分区至少须要3G空间(即便是--grow,也仍是须要指定--size)
--ondisk:指定在哪块磁盘上建立分区。若是有多块磁盘,则须要指定在哪块磁盘上建立哪一个分区,只有一块硬盘时能够省略该选
lvm设置
part pv.65 --fstype="lvmpv" --size=65035
part /boot --fstype="ext4" --size=500
volgroup VolGroup --pesize=4096 pv.65
logvol swap --fstype="swap" --grow --maxsize=2016 --size=1008 --name=lv_swap --vgname=VolGroup
logvol / --fstype="ext4" --grow --maxsize=51200 --size=1024 --name=lv_root --vgname=VolGroup
logvol /home --fstype="ext4" --grow --size=100 --name=lv_home --vgname=VolGroup
repo --name="epel" --baseurl=http://repo.localepel.com/repo/centos/7/epel/7/x86_64
指定除自带以外的源,能够是多个
repo --name=
[--baseline= | --mirrorlist= ]
user --name=
] [--homedir=
--name=,提供用户的名字.这个选项是必需的.
--groups=,除了缺省的组之外,用户应该属于的用逗号隔开的组的列表.
--homedir=,用户的主目录.若是没有指定,缺省为/home/.
--password=,新用户的密码.若是没有指定,这个账号将缺省被锁住.
--iscrypted=,所提供的密码是否已经加密?
--shell=,用户的登陆shell.若是不提供,缺省为系统的缺省设置.
--uid=,用户的UID.若是未提供,缺省为下一个可用的非系统 UID.
%post # Get interface up ifdown eth0 ifup eth0 /usr/bin/chfn -f 'mac' zhangxingeng mkdir -p /tmp/prl-tools-mnt umount /dev/sr0 mount -t iso9660 -o exec /dev/sr0 /tmp/prl-tools-mnt #EFImount -t msdos -o exec /dev/sr0 /tmp/prl-tools-mnt mkdir -p /tmp/prl-tools-dir mount -t iso9660 -o loop /tmp/prl-tools-mnt/prl-to*.iso /tmp/prl-tools-dir echo echo "Installing Parallels Tools, please wait..." [ -d '/home/zhangxingeng' ] && ( HOME_DIR=/home/zhangxingeng/Desktop; mkdir -p "$HOME_DIR" && chown zhangxingeng:zhangxingeng "$HOME_DIR" ); cd /tmp/prl-tools-dir/ ./install --install-unattended-with-deps --skip-rclocal-restore umount /tmp/prl-tools-dir rm -rf /tmp/prl-tools-dir umount /dev/sr0 rm -rf /tmp/prl-tools-mnt [ -e /tmp/sepolicy-devel.temp ] && rm /tmp/sepolicy-devel.temp reboot %end
%packages --ignoremissing @base @basic-desktop @core @debugging @desktop-debugging @desktop-platform @directory-client @fonts @general-desktop @gnome-desktop @graphical-admin-tools @graphics @input-methods @java-platform @legacy-x @network-file-system-client @performance @perl-runtime @print-client @remote-desktop-clients @server-platform @virtualization @virtualization-client @virtualization-platform @x11 abrt-gui authconfig certmonger checkpolicy chrony gcc genisoimage kernel-devel kexec-tools krb5-workstation libXmu make mtools nscd nss-pam-ldapd oddjob pam_krb5 pam_ldap pax perl-DBD-SQLite python python-dmidecode selinux-policy-devel sgpio system-config-firewall-base wodim %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end
graphical
在图形模式下执行kickstart安装.kickstart安装默认在图形模式下安装.
使用如下语法来为逻辑卷管理(LVM)建立逻辑卷:
logvol
这些选项以下所示:
--noformat,使用一个现存的逻辑卷,不进行格式化.
--useexisting,使用一个现存的逻辑卷,从新格式化它.
--fstype=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
--fsoptions=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
--bytes-per-inode=,指定在逻辑卷上建立的文件系统的节点的大小.由于并非全部的文件系统都支持这个选项,因此在其余状况下它都被忽略.
--grow=,告诉逻辑卷使用全部可用空间(如有),或使用设置的最大值.
--maxsize=,当逻辑卷被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.
--recommended=,自动决定逻辑卷的大小.
--percent=,用卷组里可用空间的百分比来指定逻辑卷的大小.
首先建立分区,而后建立逻辑卷组,再建立逻辑卷.
例如:
part pv.01 --size 3000
volgroup myvg pv.01
logvol / --vgname=myvg --size=2000 --name=rootvol
为系统配置网络信息.若是 kickstart安装不要求联网(换句话说,不从NFS,HTTP或FTP安装),就不须要为系统配置网络.若是安装要求联网而kickstart文件里没有提供网络信息,安装程序会假定从eth0经过动态IP地址(BOOTP/DHCP)来安装,并配置安装完的系统动态决定IP地址.network选项为经过网络的kickstart安装以及所安装的系统配置联网信息.
--bootproto=,dhcp,bootp或static中的一种,缺省值是dhcp.bootp和dhcp被认为是相同的.
static方法要求在kickstart文件里输入全部的网络信息.顾名思义,这些信息是静态的且在安装过程当中和安装后全部.静态网络的设置行更为复杂,由于必须包括全部的网络配置信息.必须指定IP地址,网络,网关和命名服务器.
例如(""表示连续的行):
network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0
--gateway=10.0.2.254 --nameserver=10.0.2.1
若是使用静态方法,请注意如下两个限制:
全部静态联网配置信息都必须在一行上指定,不能使用反斜线来换行.
在这里只可以指定一个命名服务器.然而,若是须要的话,可使用kickstart文件的%post段落来添加更多的命名服务器.
--device=,用来选择用于安装的特定的以太设备.注意,除非kickstart文件是一个本地文件(如ks=floppy),不然--device=的使用是无效的.这是由于安装程序会配置网络来寻找kickstart文件.
例如: network --bootproto=dhcp --device=eth0
--ip=,要安装的机器的IP地址.
--gateway=,IP地址格式的默认网关.
--nameserver=,主名称服务器,IP地址格式.
--nodns,不要配置任何 DNS 服务器.
--netmask=,安装的系统的子网掩码.
--hostname=,安装的系统的主机名.
--ethtool=,指定传给ethtool程序的网络设备的其余底层设置.
--essid=,无线网络的网络ID.
--wepkey=,无线网络的加密密钥.
--onboot=,是否在引导时启用该设备.
--class=,DHCP类型.
--mtu=,该设备的MTU.
--noipv4=,禁用此设备的IPv4.
--noipv6=,禁用此设备的IPv6.
auth --enableshadow --passalgo=sha512 --enablefingerprint install text url --url="http://10.211.55.4/centos7" firewall --disable --service=ssh firstboot --disable ignoredisk --only-use=sda keyboard --vckeymap=us --xlayouts='' lang en_US.UTF-8 network --bootproto=dhcp --device=eth0 --activate network --hostname=localhost.localdomain reboot rootpw --iscrypted 6d/QQHF.8MAgw selinux --enforcing services --enabled="chronyd" timezone America/New_York --isUtc user --groups=wheel --name=zhangxingeng --password=6d/QQHF.8MAgw --iscrypted xconfig --startxonboot bootloader --append="rhgb quiet crashkernel=auto" --location=mbr --driveorder="sda" --boot-drive=sda zerombr clearpart --all --drives=sda part pv.65 --fstype="lvmpv" --size=65035 part /boot --fstype="ext4" --size=500 volgroup VolGroup --pesize=4096 pv.65 logvol swap --fstype="swap" --grow --maxsize=2016 --size=1008 --name=lv_swap --vgname=VolGroup logvol / --fstype="ext4" --grow --maxsize=51200 --size=1024 --name=lv_root --vgname=VolGroup logvol /home --fstype="ext4" --grow --size=100 --name=lv_home --vgname=VolGroup %packages @gnome-desktop @core @base-x @chinese-support xorg-x11-utils xorg-x11-server-Xnest
转载请注明出处:https:////www.cnblogs.com/zhangxingeng/p/12549346.html