批量自动安装软件介绍

kickstart
是一种无人值守的安装方式,工作原理是在安装过程中记录人工干预填写的各种参数,并生成以个名为ks.cfg(自动应答文件)的文件,如果在自动安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适参数,就采用,如果没有找到,便会弹出对话框提示手动安装,
所以,如果ks.cfg文件涵盖了安装过程中所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处下载,ks.cfg文件。 cobbler
集中和简化了通过网络安装操作系统需要使用到的DHCP和TFTP和DNS服务的配置,cobbler不仅有一个命令行界面,还有web界面,大大降低了使用者的入门水平,是基于kickstart的二次开发

 

什么是PXE?

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,
再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
PXE可以引导多种操作系统,如:Windows95///windows2003/windows2008/winXP/win7/win8,linux系列系统等。 通俗来讲:PXE是预启动环境,通过网络接口启动计算机,不依赖本地存储设备,(如硬盘)或者本地已安装的操作系统,为C/S工模式,PXE客户端会调用网际协议-IP,用户数据报协议-UDP,动态主机设定协议-DHCP,小型文件传输协议-TFTP, 所以PXE是自动化安装的前提! PXE引导相关角色说明
PXE作用: 引导装机(负责安装部分)
Kickstart作用: 将安装系统的过程中通过ks.cfg文件中的配置信息,实现自动安装配置达到无人值守自动安装;(负责自动应答部分,配置文件ks.cfg)
TFTP: 支持PXE 引导的网卡中从tftp服务器端下载pxelinux.0文件、vmlinuz、initrd.img等内核引导文件;
DHCP: PXE引导过程中获首先获取IP地址,并提供pxelinux.0文件位置;
HTTP: 用于下载ks.cfg以及系统镜像文件 PEX工作流程

1.PXE客户端向DHCP服务器发送UDP广播请求ip地址
2.DHCP服务端提供相应信息。这个响应信息包含客户端分配的IP地址,pxelinux启动程序(TFTP服务器的)位置,以及配置文件
3.PXE客户端向TFTP服务器请求下载启动文件。客户端收到服务端的回应后,会回应一个帧,以请求传送启动所需要的文件,这些启动文件包括:pxelinux.0(先执行,并告诉pxe要启动一个配置文件) pxelinux.cfg/default(返回配置文件,并执行,告诉pxe请求vmlinuz) vmlinuz initrd.img等文件
4.TFTP响应并传送文件。当服务器端收到客户端的请求后,他们之间将有更多信息在客户端与服务端之间作应答,用以决定启动参数,bttorom由tftp通讯协议从boot server下载启动安装程序所必须的文件,default下载完成后,会根据该文件中定义的引导顺序,启动安装
5.PXE向http服务器请求自动应答文件。客户端通过pxrlinux.cfg/default文件成功的引导linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装系统,如果是网络安装,则会在这个时候初始化网络,并定位安装位置,接着会读取default文件中指定的自动应答文件,ks,cfg所在位置,根据该文件位置请求下载该文件
6.客户端安装操作系统。将ks.cfg文件下载回来后,通过该文件找到os server并按照指定该我就按的配置请求下载安装过程中需要的软件包,os server和客户端建立连接后将开始传输软件包

PXE工作原理图(一般在网卡上面都有)

pxe和kickstart工作概述

1.往卡上的pxe芯片有512字节,存放shcp的tftp的客户端
2.启动,选择网卡启动
3.pxe上的dhcp客户端会向dhcp服务端,申请IP地址
4.dhcp服务器分配给他ip地址的同时,通过以下字段,告知pxe,tftp的地址,和pxe要下载的文件
  a).next-server 172.16.221.128
  b).filename 'pxelinux.0'
5.pxelinux.0告诉pxe要下载的配置文件是pxelinux.cfg目录下面的ks.cfg
6.pxe下载并根据配置文件的内容下载必须的文件,并通过ks.cfg开始安装系统

服务配置

首先关闭防火墙和selinux,并重启(针对kickstart服务端)
DHCP服务配置
  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、网关地址、DNS服务器地址等信息,并能够提升地址的使用率。

    yum install -y dhcp
    rpm -ql dhcp |grep "dhcpd.conf" #查看配置文件位置
    subnet 172.16.221.0 netmask 255.255.255.0 {
    range 172.16.221.100 172.16.221.200; # 可分配的起始IP-结束IP
    option subnet-mask 255.255.255.0; # 设定netmask
    default-lease-time 21600; # 设置默认的IP租用期限
    max-lease-time 43200; # 设置最大的IP租用期限
    next-server 172.16.221.128; # 告知客户端TFTP服务器的ip
    filename "/pxelinux.0"; # 告知客户端从TFTP根目录下载pxelinux.0文件
    }
    systemctl start dhcpd.service #启动dhcp服务
    netstat -tunlp|grep dhcp #查看是否启动成功

  ** 本来软件装完后都要加入开机自启动,但这个Kickstart系统就不能开机自启动,而且用完后服务都要关闭,防止未来重启服务器自动重装系统了。**

TFTP服务配置
  TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

    udp协议,端口号69
    yum -y install tftp-server
    vim /etc/xinetd.d/tftp #配置文件路径
    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot # 指定目录,保持默认,不用修改
    disable = no #由原来的yes改为no
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    systemctl start tftpd  #启动tftp服务
    netstat -tunlp|grep 69 #查看是否启动成功

  HTTP服务配置
    可以用Apache或Nginx提供HTTP服务。Python的命令web服务不行,会有报错。

    yum -y install httpd
    sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
    systemctl start httpd
    mkdir /var/www/html/CentOS-7
    mount /dev/cdrom /var/www/html/CentOS-7/

  HTTP服务配置
    可以用Apache或Nginx提供HTTP服务。Python的命令web服务不行,会有报错。

    yum -y install httpd
    sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
    systemctl start httpd
    mkdir /var/www/html/CentOS-7
    [root@linux-node1 ~]# mount /dev/cdrom /var/www/html/CentOS-7/ #只要把安装光盘内容能通过web发布即可
    mount: block device /dev/sr0 is write-protected, mounting read-only
    [root@linux-node1 ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda3 19G 2.4G 16G 14% /
    tmpfs 491M 16K 491M 1% /dev/shm
    /dev/sda1 190M 36M 145M 20% /boot
    /dev/sr0 3.7G 3.7G 0 100% /var/www/html/CentOS-7
    # 不管怎么弄,只要把安装光盘内容能通过web发布即可。因为是演示,如果复制镜像就有点浪费时间。但生产环境就一定要复制了,光盘读取速度有限。

    

    浏览器访问http://10.0.0.7/CentOS-6.7/检验配置是否正确。

    

  配置支持PXE启动的程序
    syslinux是一个功能强大的引导加载程序,而且兼容各种介质。SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。如果没有找到pxelinux.0这个文件,可以安装一下。因为系统最小化安装是没有pxelinux.0这个文    件的,所以要安装一下

  yum -y install syslinux
  cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ tftp根目录
  # 复制启动菜单程序文件
  cp -a /var/www/html/CentOS-7/isolinux/* /var/lib/tftpboot/
  ls /var/lib/tftpboot/
  boot.cat grub.conf isolinux.bin memtest splash.jpg vesamenu.c32
  boot.msg initrd.img isolinux.cfg pxelinux.0 TRANS.TBL vmlinuz
  # 新建一个pxelinux.cfg目录,存放客户端的配置文件。
  mkdir -p /var/lib/tftpboot/pxelinux.cfg
  cp /var/www/html/CentOS-7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

虚拟机中手动安装演示(注意在虚拟机中安装时,虚拟机设置网络模式设置成桥接,在虚拟机的系统里面网络模式要设置成nat才能完成安装)

配合虚拟机演示讲解default文件。新建一个虚拟机,注意centos7.3以上内存需要给2G。,并且配置文件default里面还要修改一下

[root@linux-node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 # 默认加载一个菜单
#prompt 1 # 开启会显示命令行'boot: '提示符。prompt值为0时则不提示,将会直接启动'default'参数中指定的内容。
timeout 600 # timeout时间是引导时等待用户手动选择的时间,设为1可直接引导,单位为1/10秒。
display boot.msg
# 菜单背景图片、标题、颜色。
menu background splash.jpg
menu title Welcome to CentOS 6.7!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
# label指定在boot:提示符下输入的关键字,比如boot:linux[ENTER],这个会启动label linux下标记的kernel和initrd.img文件。
label linux # 一个标签就是前面图片的一行选项。
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz # 指定要启动的内核。同样要注意路径,默认是/tftpboot目录。
#append initrd=initrd.img # 指定追加给内核的参数,initrd.img是一个最小的linux系统
append initrd=initrd.img method=http://172.16.221.128/CentOS-7/ #上面的是默认的
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append - 注意:url方式,使用NFS的写法nfs:10.0.0.1:/data/sys/kickstart/ks.cfg

虚拟机中自动安装演示

#编写自己适合装机的ks.cfg文件
install
url --url="http://172.16.221.128/CentOS-7/"
text
lang en_US.UTF-
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 $$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
clearpart --all --initlabel
#part /boot --fstype=ext4 --asprimary --size=
part swap --size=
part / --fstype=ext4 --grow --asprimary --size=
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet

#可选,就是系统安装完成之后的系统优化。在post里面也可以执行命令,后面必须加end
%post
wget -O /tmp/optimization.sh http://172.16.221.128/ks-config/optimization.sh &>/dev/null
/bin/sh /tmp/optimization.sh
%end
关键字    含义
install 告知安装程序,这是一次全新安装,而不是升级upgrade。
url --url=" " 通过FTP或HTTP从远程服务器上的安装树中安装。
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 使用文本模式安装。
lang 设置在安装过程中使用的语言以及系统的缺省语言。lang en_US.UTF-
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]中的一种,缺省值是dhcp。bootp和dhcp被认为是相同的。
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文件。
rootpw root密码
clearpart 清空分区。clearpart --all --initlabel
--all 从系统中清除所有分区,--initlable 初始化磁盘标签
part 磁盘分区。
part /boot --fstype=ext4 --asprimary --size=
part swap --size=
part / --fstype=ext4 --grow --asprimary --size=
--fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat。
--asprimary,强迫把分区分配为主分区,否则提示分区失败。
--size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB。
--grow,告诉分区使用所有可用空间(若有),或使用设置的最大值。
firstboot 负责协助配置redhat一些重要的信息。
firstboot --disable
selinux 关闭selinux。selinux --disabled
firewall 关闭防火墙。firewall --disabled
logging 设置日志级别。logging --level=info
reboot 设定安装完成后重启,此选项必须存在,不然kickstart显示一条消息,并等待用户按任意键后才重新引导,也可以选择halt关机。

ks.cfg含义

通常,我们在安装操作系统的过程中,需要大量的和服务器交互操作,为了减少这个交互过程,kickstart就诞生了。使用这种kickstart,只需事先定义好一个Kickstart自动应答配置文件ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,
在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了在安装过程中多次的人机交互,从而实现无人值守的自动化安装。 生成kickstart配置文件的三种方法:
方法1、 每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位于/root/anaconda-ks.cfg)
方法2、Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。kickstart配置工具命令为redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4,RHEL5).网上有很多用CentOS桌面版生成ks文件的文章,如果有现成的系统就没什么可说。但没有现成的,也没有必要去用桌面版,命令行也很简单。
方法3、阅读kickstart配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart配置文件。 ks.cfg文件组成大致分为3段
  命令段
    键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项
  软件包段
    %packages
    @groupname:指定安装的包组
    package_name:指定安装的包
    -package_name:指定不安装的包
  脚本段(可选)
    %pre:安装系统前执行的命令或脚本(由于只依赖于启动镜像,支持的命令很少)
    %post:安装系统后执行的命令或脚本(基本支持所有命令)

  整合编辑default配置文件

    # 最精简配置
    [root@linux-node1 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
    default ks
    prompt 0
    label ks
    kernel vmlinuz
    #append initrd=initrd.img ks=http://10.0.0.7/ks_config/CentOS-6.7-ks.cfg # 告诉安装程序ks.cfg文件在哪里
    append initrd=initrd.img ks=http://172.16.221.128/ks-config/ks.cfg ksdevice=link #这样虚拟机会自动加载来电的网卡
    # ksdevice=eth0代表当客户端有多块网卡的时候,要实现自动化需要设置从eth1安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了。

kickstart参数详解

kickstart命令选项
下面的选项可以放入kickstart文件.如果喜欢使用图形化的界面来创建kickstart文件,可以使用"Kickstart 配置"应用程序.(注:如果某选项后面跟随了一个等号(=),它后面就必须指定一个值.在示例命令中,括号([])中的选项是命令的可选参数.) autopart(可选)
自动创建分区,大于1GB的根分区(/),交换分区和适合于不同体系结构的引导分区.一个或多个缺省分区的大小可以用part指令重新定义. ignoredisk(可选)
导致安装程序忽略指定的磁盘.如果使用自动分区并希望忽略某些磁盘的话,这就很有用.
例如,没有ignoredisk,如要试图在SAN-cluster系统里部署,kickstart就会失败,因为安装程序检测到SAN不返回分区表的被动路径(passive path).
如果有磁盘的多个路径时,ignoredisk选项也有用处.
语法是:
ignoredisk --drives=drive1,drive2,...
这里driveN是sda,sdb... hda等等中的一个. autostep(可选)
和interactive相似,除了它进入下一屏幕,它通常用于调试.
--autoscreenshot,安装过程中的每一步都截屏并在安装完成后把图片复制到/root/anaconda-screenshots.这对于制作文档很有用. auth或authconfig(必需)
为系统设置验证选项.这和在安装后运行的authconfig命令相似.在缺省情况下,密码通常被加密但不使用影子文件(shadowed).
--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-.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分发用户和组的信息,缓存就尤其有用. bootloader(必需)
指定引导装载程序怎样被安装.对于安装和升级,这个选项都是必需的.
--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,升级现存的引导装载程序配置,保留其中原有的项目.该选项仅可用于升级.
clearpart(可选)
在创建新分区之前,从系统上删除分区.默认不会删除任何分区.
注:如果使用了clearpart命令,--onpart命令就不能够用在逻辑分区上.
--all,删除系统上所有分区.
--drives=,指定从哪个驱动器上清除分区.
例如,下面的命令清除了主IDE控制器上的前两个驱动器上所有分区
clearpart --drives=hda,hdb --all
--initlabel,根据不同体系结构把磁盘标签初始化为缺省设置(例如,msdos用于x86而gpt用于Itanium).当安装到一个崭新的硬盘时,这很有用,安装程序不会询问是否应该初始化磁盘标签.
--linux,删除所有Linux分区.
--none(缺省),不要删除任何分区. cmdline(可选)
在完全的非交互式的命令行模式下进行安装.任何交互式的提示都会终止安装.这个模式对于有x3270控制台的IBM System z系统很有用. device(可选)
在多数的PCI系统里,安装程序会正确地自动探测以太网卡和SCSI卡.然而,在老的系统和某些PCI系统里,kickstart需要提示来找到正确的设备.device命令用来告诉安装程序安装额外的模块,它有着这样的格式:
device <type><moduleName> --opts=<options>
<type>,用scsi或eth代替
<moduleName>,使用应该被安装的内核模块的名称来替换.
--opts=,传递给内核模块的选项.注意,如果把选项放在引号里,可以传递多个选项.
例如:--opts="aic152x=0x340 io=11" driverdisk(可选)
可以在kickstart安装过程中使用驱动软盘.必须把驱动软盘的内容复制到系统的硬盘分区的根目录下.然后必须使用driverdisk 命令来告诉安装程序到哪去寻找驱动磁盘.
driverdisk <partition> [--type=<fstype>]
另外,也可以为驱动程序盘指定一个网络位置:
driverdisk --source=ftp://path/to/dd.img
driverdisk --source=http://path/to/dd.img
driverdisk --source=nfs:host:/path/to/img
<partition>,包含驱动程序盘的分区.
--type=,文件系统类型(如:vfat,ext2,ext3). firewall(可选)
这个选项对应安装程序里的「防火墙配置」屏幕:
firewall --enabled|--disabled [--trust=] <device> [--port=]
--enabled或者--enable,拒绝不是答复输出请求如DNS答复或DHCP请求的进入连接.如果需要使用在这个机器上运行的服务,可以选择允许指定的服务穿过防火墙.
--disabled或--disable,不要配置任何iptables规则.
--trust=,在此列出设备,如eth0,这允许所有经由这个设备的数据包通过防火墙.如果需要列出多个设备,使用--trust eth0 --trust eth1.不要使用以逗号分隔的格式,如--trust eth0, eth1.
<incoming>,使用以下服务中的一个或多个来替换,从而允许指定的服务穿过防火墙.
--ssh
--telnet
--smtp
--http
--ftp
--port=,可以用端口:协议(port:protocal)格式指定允许通过防火墙的端口.
例如,如果想允许IMAP通过的防火墙,可以指定imap:tcp.还可以具体指定端口号码,要允许UDP分组在端口1234通过防火墙,输入1234:udp.要指定多个端口,用逗号将它们隔开. firstboot(可选)
决定是否在系统第一次引导时启动"设置代理".如果启用,firstboot软件包必须被安装.如果不指定,这个选项是缺省为禁用的.
--enable或--enabled,系统第一次引导时,启动"设置代理".
--disable或--disabled,系统第一次引导时,不启动"设置代理".
--reconfig,在系统引导时在重配置(reconfiguration)模式下启用"设置代理".这个模式启用了语言,鼠标,键盘,根密码,安全级别,时区和缺省网络配置之外的选项. halt(可选)
在成功地完成安装后关闭系统.这和手工安装相似,手工安装的anaconda会显示一条信息并等待用户按任意键来重启系统.在kickstart安装过程中,如果没有指定完成方法(completion method),将缺省使用reboot选项.
halt选项基本和shutdown -h命令相同.
关于其他的完成方法,请参考kickstart的poweroff,reboot和shutdown选项. graphical(可选)
在图形模式下执行kickstart安装.kickstart安装默认在图形模式下安装. install(可选)
告诉系统来安装全新的系统而不是在现有系统上升级.这是缺省的模式.必须指定安装的类型,如cdrom,harddrive,nfs或url(FTP 或HTTP安装).install命令和安装方法命令必须处于不同的行上. cdrom
从系统上的第一个光盘驱动器中安装. harddrive
从本地驱动器的vfat或ext2格式的红帽安装树来安装.
--biospart=,从BIOS分区来安装(如82).
--partition=,从分区安装(如sdb2).
--dir=,包含安装树的variant目录的目录.
例如:harddrive --partition=hdb2 --dir=/tmp/install-tree nfs
从指定的NFS服务器安装.
--server=,要从中安装的服务器(主机名或IP).
--dir=,包含安装树的variant目录的目录.
--opts=,用于挂载NFS输出的Mount选项(可选).
例如:nfs --server=nfsserver.example.com --dir=/tmp/install-tree url
通过FTP或HTTP从远程服务器上的安装树中安装.
例如:url --url http://<server>/<dir>
或:url --url ftp://<username>:<password>@<server>/<dir> ignore disk(可选)
用来指定在分区,格式化和清除时anaconda不应该访问的磁盘.这个命令有一个必需的参数,就是用逗号隔开的需要忽略的驱动器列表.
例如:ignoredisk --drives=[disk1,disk2,...] interactive(可选)
在安装过程中使用kickstart文件里提供的信息,但允许检查和修改给定的值.将遇到安装程序的每个屏幕以及kickstart文件里给出的值.通过点击"下一步"接受给定的值或是改变值后点击"下一步"继续.请参考autostep命令. iscsi(可选)
issci --ipaddr= [options].
--target
--port=
--user=
--password= iscsiname(可选) key(可选)
指定安装密钥,它在软件包选择和获取支持时设别系统的时候是必需的.这个命令是红帽企业Linux-specific,它对Fedora来说没有意义并且会被忽略.
--skip,跳过输入密钥.通常,如果没有key命令,anaconda将暂停并提示输入密钥.如果没有密钥或不想提供它,这个选项允许继续自动化安装. keyboard(必需)
设置系统键盘类型.这里是 i386,Itanium,和 Alpha 机器上可用键盘的列表:
be-latin1, bg, br-abnt2, cf, cz-lat2, cz-us-qwertz, de, de-latin1,
de-latin1-nodeadkeys, dk, dk-latin1, dvorak, es, et, fi, fi-latin1,
fr, fr-latin0, fr-latin1, fr-pc, fr_CH, fr_CH-latin1, gr, hu, hu101,
is-latin1, it, it-ibm, it2, jp106, la-latin1, mk-utf, no, no-latin1,
pl, pt-latin1, ro_win, ru, ru-cp1251, ru-ms, ru1, ru2, ru_win,
se-latin1, sg, sg-latin1, sk-qwerty, slovene, speakup, speakup-lt,
sv-latin1, sg, sg-latin1, sk-querty, slovene, trq, ua, uk, us, us-acentos
文件/usr/lib/python2./site-packages/rhpl/keyboard_models.py 也包含这个列表而且是 rhpl 软件包的一部分. lang(必需)
设置在安装过程中使用的语言以及系统的缺省语言.例如,要把语言设置为英语,kickstart文件应该包含下面的一行:
lang en_US
文件/usr/share/system-config-language/locale-list里每一行的第一个字段提供了一个有效语言代码的列表,它是system-config-language软件包的一部分.
文本模式的安装过程不支持某些语言(主要是中文,日语,韩文和印度的语言).如果用lang命令指定这些语言中的一种,安装过程仍然会使用英语,但是系统会缺省使用指定的语言. langsupport(不赞成)
langsupport关键字已经被取消而且使用它将导致屏幕出现错误信息及终止安装.作为代替,应该在kickstart文件里的%packages 部分列出所支持的语言的支持软件包组.例如,要支持法语,应该把下面的语句加入到
%packages:
@french-support logvol(可选)
使用以下语法来为逻辑卷管理(LVM)创建逻辑卷:
logvol <mntpoint> --vgname=<name> --size=<size> --name=<name><options>
这些选项如下所示:
--noformat,使用一个现存的逻辑卷,不进行格式化.
--useexisting,使用一个现存的逻辑卷,重新格式化它.
--fstype=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
--fsoptions=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
--bytes-per-inode=,指定在逻辑卷上创建的文件系统的节点的大小.因为并不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.
--grow=,告诉逻辑卷使用所有可用空间(若有),或使用设置的最大值.
--maxsize=,当逻辑卷被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.
--recommended=,自动决定逻辑卷的大小.
--percent=,用卷组里可用空间的百分比来指定逻辑卷的大小.
首先创建分区,然后创建逻辑卷组,再创建逻辑卷.
例如:
part pv. --size
volgroup myvg pv.
logvol / --vgname=myvg --size= --name=rootvol logging(可选)
这个命令控制安装过程中anaconda的错误日志.它对安装好的系统没有影响.
--host=,发送日志信息到给定的远程主机,这个主机必须运行配置为可接受远程日志的syslogd进程.
--port=,如果远程的syslogd进程没有使用缺省端口,这个选项必须被指定.
--level=,debug,info,warning,error或critical中的一个.
指定tty3上显示的信息的最小级别.然而,无论这个级别怎么设置,所有的信息仍将发送到日志文件. mediacheck(可选)
如果指定的话,anaconda将在安装介质上运行mediacheck.这个命令只适用于交互式的安装,所以缺省是禁用的. monitor(可选)
如果monitor命令没有指定,anaconda将使用X来自动检测的显示器设置.请在手工配置显示器之前尝试这个命令.
--hsync=,指定显示器的水平频率.
--vsync=,指定显示器的垂直频率.
--monitor=,使用指定的显示器;显示器的名字应该在hwdata软件包里的/usr/share/hwdata/MonitorsDB列表上.这个显示器的列表也可以在Kickstart Configurator的X配置屏幕上找到.如果提供了--hsync或--vsync,它将被忽略.如果没有提供显示器信息,安装程序将自动探测显示器.
--noprobe=,不要试图探测显示器. mouse(已取消)
mouse 关键字已经被取消,使用它将导致屏幕出现错误信息并终止安装. network(可选)
为系统配置网络信息.如果 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. multipath(可选)
multipath --name= --device= --rule= part或partition(对于安装是必需的,升级可忽略).
在系统上创建分区.
如果不同分区里有多个红帽企业Linux系统,安装程序会提示用户升级哪个系统.
警告:作为安装过程的一部分,所有被创建的分区都会被格式化,除非使用了--noformat和--onpart.
<mntpoint>,<mntpoint>是分区的挂载点,它必须是下列形式中的一种:
/<path>,例如,/,/usr,/home
swap,该分区被用作交换空间,要自动决定交换分区的大小,使用--recommended选项.
swap --recommended
自动生成的交换分区的最小值大于系统内存的数量,但小于系统内存的两倍.
raid.<id>,该分区用于 software RAID(参考 raid).
pv.<id>,该分区用于 LVM(参考 logvol).
--size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB.
--grow,告诉分区使用所有可用空间(若有),或使用设置的最大值.
--maxsize=,当分区被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.
--noformat,用--onpart命令来告诉安装程序不要格式化分区.
--onpart=或--usepart=,把分区放在已存在的设备上.
例如:partition /home --onpart=hda1,把/home置于必须已经存在的/dev/hda1上.
--ondisk=或--ondrive=,强迫分区在指定磁盘上创建.
例如:--ondisk=sdb把分区置于系统的第二个SCSI磁盘上.
--asprimary,强迫把分区分配为主分区,否则提示分区失败.
--type=(用fstype代替),这个选项不再可用了.应该使用fstype.
--fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat.
--start=,指定分区的起始柱面,它要求用--ondisk=或ondrive=指定驱动器.它也要求用--end=指定结束柱面或用--size=指定分区大小.
--end=,指定分区的结束柱面.它要求用--start=指定起始柱面.
--bytes-per-inode=,指定此分区上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.
--recommended,自动决定分区的大小.
--onbiosdisk,强迫在 BIOS 找到的特定磁盘上创建分区.
注:如果因为某种原因分区失败了,虚拟终端3上会显示诊断信息. poweroff(可选)
在安装成功后关闭系统并断电.通常,在手工安装过程中,anaconda会显示一条信息并等待用户按任意键来重新启动系统.在kickstart的安装过程中,如果没有指定完成方法,将使用缺省的reboot选项. raid(可选)
组成软件RAID设备.该命令的格式是:
raid <mntpoint> --level=<level> --device=<mddevice><partitions*>
<mntpoint>,RAID文件系统被挂载的位置.如果是/,除非已经有引导分区存在(/boot),RAID级别必须是1.如果已经有引导分区,/boot分区必须是级别1且根分区(/)可以是任何可用的类型.<partitions*>(这表示可以有多个分区)列出了加入到RAID阵列的RAID标识符.
--level=,要使用的RAID级别(,,或5).
--device=,要使用的RAID设备的名称(如md0或md1).RAID设备的范围从md0直到md7,每个设备只能被使用一次.
--bytes-per-inode=,指定RAID设备上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以对于那些文件系统它都会被忽略.
--spares=,指定RAID阵列应该被指派N个备用驱动器.备用驱动器可以被用来在驱动器失败时重建阵列.
--fstype=,为RAID阵列设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
--fsoptions=,指定当挂载文件系统时使用的free form字符串.这个字符串将被复制到系统的/etc/fstab文件里且应该用引号括起来.
--noformat,使用现存的RAID设备,不要格式化RAID阵列.
--useexisting,使用现存的RAID设备,重新格式化它. reboot(可选)
在成功完成安装(没有参数)后重新启动.通常,kickstart会显示信息并等待用户按任意键来重新启动系统. repo(可选)
配置用于软件包安装来源的额外的yum库.可以指定多个repo行.
repo --name=<repoid> [--baseline=<url>| --mirrorlist=<url>]
--name=,repo id.这个选项是必需的.
--baseurl=,库的URL.这里不支持yum repo配置文件里使用的变量.可以使用它或者--mirrorlist,亦或两者都不使用.
--mirrorlist=,指向库镜像的列表的URL.这里不支持yum repo配置文件里可能使用的变量.可以使用它或者--baseurl,亦或两者都不使用. rootpw(必需)
把系统的根口令设置为<password>参数.
rootpw [--iscrypted] <password>
--iscrypted,如果该选项存在,口令就会假定已被加密. selinux(可选)
在系统里设置SELinux状态.在anaconda里,SELinux缺省为enforcing.
selinux [--disabled|--enforcing|--permissive]
--enforcing,启用SELinux,实施缺省的targeted policy.
注:如果kickstart文件里没有selinux选项,SELinux将被启用并缺省设置为--enforcing.
--permissive,输出基于SELinux策略的警告,但实际上不执行这个策略.
--disabled,在系统里完全地禁用 SELinux. services(可选)
修改运行在缺省运行级别下的缺省的服务集.在disabled列表里列出的服务将在enabled列表里的服务启用之前被禁用.
--disabled,禁用用逗号隔开的列表里的服务.
--enabled,启用用逗号隔开的列表里的服务. shutdown(可选)
在成功完成安装后关闭系统.在kickstart安装过程中,如果没有指定完成方法,将使用缺省的reboot选项. skipx(可选)
如果存在,安装的系统上就不会配置X. text(可选)
在文本模式下执行kickstart安装. kickstart安装默认在图形模式下安装. timezone(可选)
把系统时区设置为<timezone>,它可以是timeconfig列出的任何时区.
timezone [--utc] <timezone>
--utc,如果存在,系统就会假定硬件时钟被设置为UTC(格林威治标准)时间. upgrade(可选)
告诉系统升级现有的系统而不是安装一个全新的系统.必须指定 cdrom,harddrive,nfs或url(对于FTP和HTTP而言)中的一个作为安装树的位置.详情请参考 install. user(可选)
在系统上创建新用户.
user --name=<username> [--groups=<list>] [--homedir=<homedir>] [--password=<password>] [--iscrypted] [--shell=<shell>] [--uid=<uid>]
--name=,提供用户的名字.这个选项是必需的.
--groups=,除了缺省的组以外,用户应该属于的用逗号隔开的组的列表.
--homedir=,用户的主目录.如果没有指定,缺省为/home/<username>.
--password=,新用户的密码.如果没有指定,这个帐号将缺省被锁住.
--iscrypted=,所提供的密码是否已经加密?
--shell=,用户的登录shell.如果不提供,缺省为系统的缺省设置.
--uid=,用户的UID.如果未提供,缺省为下一个可用的非系统 UID. vnc(可选)
允许通过VNC远程地查看图形化的安装.文本模式的安装通常更喜欢使用这个方法,因为在文本模式下有某些大小和语言的限制.如果为no,这个命令将启动不需要密码的VNC服务器并打印出需要用来连接远程机器的命令.
vnc [--host=<hostname>] [--port=<port>] [--password=<password>]
--host=,不启动VNC服务器,而是连接至给定主机上的VNC viewer进程.
--port=,提供远程VNC viewer进程侦听的端口.如果不提供,anaconda将使用VNC的缺省端口.
--password=,设置连接VNC会话必需的密码.这是可选的,但却是我们所推荐的选项. volgroup(可选)
用来创建逻辑卷管理(LVM)组,其语法格式为:
volgroup <name><partition><options>
这些选项如下所示:
--noformat,使用一个现存的卷组,不要格式化它.
--useexisting,使用一个现存的卷组,重新格式化它.
--pesize=,设置物理分区(physical extent)的大小.
首先创建分区,然后创建逻辑卷组,再创建逻辑卷.例如: xconfig(可选)
配置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 窗口系统的默认色彩深度.有效值有:,,,和 .请确定指定与视频卡和显示器兼容的色彩深度. zerombr(可选)
如果指定了zerombr且yes是它的唯一参数,任何磁盘上的无效分区表都将被初始化.这会毁坏有无效分区表的磁盘上的所有内容.这个命令的格式应该如下:
zerombr yes
其它格式均无效. zfcp(可选)
zfcp [--devnum=<devnum>] [--fcplun=<fcplun>] [--scsiid=<scsiid>] [--scsilun=<scsilun>] [--wwpn=<wwpn>] %include
使用 %include/path/to/file命令可以把其他文件的内容包含在kickstart文件里,就好像这些内容出现在kickstart文件的%include命令后一样. kickstart的软件包选择
在kickstart文件里使用%packages命令来列出想安装的软件包(仅用于全新安装,升级安装时不支持软件包指令).
可以指定单独的软件包名或是组,以及使用星号通配符.安装程序可以定义包含相 关软件包的组.关于组的列表,请参考第一张红帽企业 Linux光盘里的 variant/repodata/comps-*.xml. 每个组都有一个编号,用户可见性的值,名字,描述和软件包列表.在软件包列表里,如果这个组被选择的话,组里的标记为"mandatory"的软件包就必须被安装;标记为"default"的软件包缺省被选择;而标记为"optional"的软件包必须被明确地选定才会被安装.
多数情况下,只需要列出想安装的组而不是单个的软件包.注意Core和Base组总是缺省被选择,所以并不需要在%packages部分指定它们.
这里是一个 %packages 选择的示例:
%packages
@ X Window System
@ GNOME Desktop Environment
@ Graphical Internet
@ Sound and Video dhcp
如所看到的,组被指定了,每个占用一行,用@符号开头,后面是comps.xml文件里给出的组全名.组也可以用组的id指定,如gnome-desktop.不需要额外字符就可以指定单独的软件包(上例里的dhcp行就是一个单独的软件包).
%packages 指令也支持下面的选项:
--nobase,不要安装@Base 组.如果想创建一个很小的系统,可以使用这个选项.
--resolvedeps,选项已经被取消了.目前依赖关系可以自动地被解析.
--ignoredeps,选项已经被取消了.目前依赖关系可以自动地被解析.
--ignoremissing,忽略缺少的软件包或软件包组,而不是暂停安装来向用户询问是中止还是继续安装.
例如:%packages --ignoremissing kickstart预安装脚本
可以在 ks.cfg文件被解析后马上加入要运行的命令.这个部分必须处于kickstart文件的最后(在命令部分之后)而且必须用%pre命令开头.可以在%pre部分访问网络;然而,此时命名服务还未被配置,所以只能使用IP地址.
注:预安装脚本不在改换了的根环境(chroot)中运行.
--interpreter /usr/bin/python,允许指定不同的脚本语言,如Python.把/usr/bin/python替换成想使用的脚本语言. kickstart安装后脚本
也可以加入在系统安装完毕后运行的命令.这部分内容必须在kickstart的最后而且用%post命令开头.它被用于实现某些功能,如安装其他的软件和配置其他的命名服务器.
注:如果用静态IP信息和命名服务器配置网络,可以在%post部分访问和解析IP地址.如果使用DHCP配置网络,当安装程序执行到%post部分时,/etc/resolv.conf文件还没有准备好.此时,可以访问网络,但是不能解析IP地址.因此,如果使用DHCP,必须在%post部分指定IP地址.
注:post-install 脚本是在 chroot 环境里运行的.因此,某些任务如从安装介质复制脚本或RPM将无法执行.
--nochroot,允许指定想在chroot环境之外运行的命令.
下例把/etc/resolv.conf文件复制到刚安装的文件系统里.
%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
允许指定不同的脚本语言,如Python.把/usr/bin/python替换成想使用的脚本语言. 开始kickstart安装
要开始kickstart安装,必须从制作的引导介质或红帽企业Linux光盘引导系统,并输入在引导提示下输入特殊的引导命令.如果ks命令行参数被传递给内核,安装程序将寻找kickstart文件.
第一张光盘和软盘
如果ks.cfg文件位于软盘的vfat或ext2文件系统里,而且从红帽企业Linux光盘引导的话,也可以使用linux ks=floppy命令.
另外一个引导方法是,从红帽企业Linux光盘引导并使用软盘上的vfat或ext2文件系统里的kickstart文件.要实现这样的方法,在boot:提示下输入下面的命令:linux ks=hd:fd0:/ks.cfg
使用驱动程序盘
如果要使用带有kickstart的驱动盘,需要指定dd选项.
例如,从软盘引导并使用驱动盘,可以在boot:提示下输入命令linux ks=floppy dd
引导光盘
如果kickstart文件位于引导光盘上,把光盘插入机器,引导系统并在boot:提示下输入命令linux ks=cdrom:/ks.cfg
其它启动 kickstart 安装的方法如下列举:
askmethod,如果我们没有在的光驱里检测到红帽企业Linux光盘的话,请不要自动地把光盘作为安装来源.
autostep,使kickstart成为非交互式的.
debug,马上启动pdb.
dd,使用驱动盘.
dhcpclass=<class>,发送自定义的DHCP vendor class identifier.ISC的dhcpcd可以用"option vendor-class-identifier"来查看这个值.
dns=<dns>,用逗号隔开的用于网络安装的命名服务器列表.
driverdisk,和'dd'相同.
expert,启用特殊的功能,允许对可移除介质(removable media)进行分区和提示驱动盘
gateway=<gw>,用于网络安装的网关.
graphical,强制图形化安装.ftp/http 安装模式时必须使用图形化界面.
isa,提示用户输入ISA设备配置.
ip=<ip>,用于网络安装的IP地址,对于DHCP使用'dhcp'.
keymap=<keymap>,使用的键盘格式.有效值是那些可以用于'keyboard' kickstart命令的值.
ks=nfs:<server>:/<path>,安装程序在NFS服务器<server>上的<path&gt;里寻找kickstart文件.安装程序使用DHCP来配置以太网卡.例如,如果的NFS服务器是server.example.com且kickstart文件是NFS共享目录的里/mydir/ks.cfg,正确的引导命令应该是ks=nfs:server.example.com:/mydir/ks.cfg.
ks=http://<server>/<path>,安装程序在HTTP服务器<server>上的<path>里寻找kickstart文件.安装程序使用DHCP来配置以太网卡.例如,如果的HTTP服务器是server.example.com且kickstart文件是HTTP目录的里/mydir/ks.cfg,正确的引导命令应该是ks=http://server.example.com/mydir/ks.cfg.
ks=floppy,安装程序在/dev/fd0里的软盘上的vfat或ext2文件系统里寻找ks.cfg文件.
ks=floppy:/<path>,安装程序在/dev/fd0里的软盘上以<path>寻找kickstart文件.
ks=hd:<device>:/<file>,安装程序把文件系统挂载在<device>(必须是vfat或ext2),而且在该文件系统里以<file>来寻找 kickstart 文件,如ks=hd:sda3:/mydir/ks.cfg.
ks=file:/<file>,安装程序试图从文件系统里读取<file>;并没有挂载任何文件.如果kickstart文件已经在initrd映像里时我们通常使用这个方法.
ks=cdrom:/<path>,安装程序以<path>在光盘上寻找kickstart文件.
ks,如果单独使用ks,安装程序将配置以太网卡使用DHCP.kickstart文件从DHCP应答的"bootServer"里读取,就像是NFS服务器共享kickstart文件一样.在缺省情况下,bootServer与DHCP服务器是同一个.kickstart文件的名字是下列之一:
如果指定了DHCP且引导文件以/开头,DHCP提供的引导文件将在NFS服务器上寻找.
如果指定了DHCP且引导文件不以/开头,DHCP提供的引导文件将在NFS服务器的/kickstart目录里寻找.
如果DHCP没有指定引导文件,安装程序将试图读取/kickstart/1.2.3.4-kickstart,这里的1.2.3.4是被安装的机器的数字化IP地址.
ksdevice=<device>,安装程序使用这个网络设备来连接网络.如要使用通过eth1设备连接至系统的NFS服务器上的kickstart文件来启动kickstart安装,可以在boot:提示下使用ks=nfs:<server>:/<path&gt; ksdevice=eth1命令.
kssendmac,把HTTP头加到对设置系统有帮助的ks=http://请求里.在CGI环境变量里包括所有网卡的MAC地址,如:"X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:ab".
lang=<lang>,安装时使用的语言.这应该是'lang' kickstart命令可以使用的有效语言之一.
loglevel=<level>,设置记录日志信息的最低级别.<level>的值可以是debug,info,warning,error和critical.缺省值是info.
lowres,强制图形用户界面安装程序运行在640x480分辨率下.
mediacheck,激活加载者代码,可以允许用户选择测试安装介质(如果是基于ISO的方法)的完整性.
method=cdrom,执行基于光盘的安装.
method=ftp://<path>,使用<path>来进行FTP安装.
method=hd://<dev>/<path>,用<dev>上的<path>进行基于硬盘驱动器的安装.
method=http://<path>,用<path>来进行基于HTTP的安装.
method=nfs:<path>,用<path>来进行NFS安装.
netmask=<nm>,用于网络安装的掩码.
nofallback,如果图形化用户界面退出时失败.
nofb,不要载入某些语言进行文本安装时所需要的 VGA16 帧缓冲.
nofirewire,不要装载对防火墙设备的支持.
noipv6,在安装过程中禁用 IPv6 网络.
nokill,当发生致命错误时,阻止anaconda终止所有运行程序的调试选项.
nomount,不要在救援模式下自动挂载任何已安装的Linux分区.
nonet,不要自动探测网络设备.
noparport,不要试图装载对并行端口的支持.
nopass,不要把键盘和鼠标信息传递给安装程序的第二阶段.当执行网络安装时,它可以用来在安装的第二阶段测试鼠标和键盘配置屏幕.
nopcmcia,忽略系统上的任何PCMCIA控制器.
noprobe,提示用户输入而不要试图检测硬件.
noshell,安装过程中tty2上不要出现shell.
nostorage,不要自动探测存储设备(SCSI,IDE,RAID).
nousb,不要装载USB支持(如果安装过程在早些时候挂起,这会有帮助).
nousbstorage,不要在安装程序的载入程序中禁止载入usbstorage模块.它对SCSI系统上的设备排序可能有帮助.
rescue,运行救援环境.
resolution=<mode>,在指定模式下运行安装程序,如'1024x768'模式.
serial,启用串行控制台支持.
skipddc,跳过对显示器的DDC探测,如果系统被挂起的这可能有帮助.
syslog=<host>[:<port>],一旦安装过程被启动并运行,发送日志信息到<host>的可选端口<port>上的syslog进程.这要求远程syslog进程接受连接(-r 选项).
text,强制文本模式的安装.
updates,提示包含更新(bug修复)的软盘.
updates=ftp://<path>,基于FTP的包含更新的映像文件.
updates=http://<path>,基于HTTP的包含更新的映像文件.
upgradeany,不需要符合升级所期望的语法的/etc/redhat-release.
vnc,启用基于vnc的安装.将需要连接到使用vnc客户端程序的机器.
vncconnect=<host>[:<port>],一旦安装过程开始启动并运行,连接到<host>上的vnc客户端,也可以使用可选端口<port>.也要求'vnc' 选项被指定.
vncpassword=<password>,启用vnc连接的密码.这将阻止其他人无意地连接到基于vnc的安装上.也要求'vnc'选项被指定.

kickstart真机安装报错

Your BIOS-based system needs a special partition to boot from a GPT disk label. To continue, please create a 1MiB 'biosboot' type partition

文档一 文档二 文档三 文档四

kickstart真机如何安装

1.DEll R730服务器开机后,根据提示按F12,进行PXE启动。物理服务器有4个网卡,所以还会让选择从哪个网卡启动。 ks.cfg
2.关于kickstart分区指定特定硬盘的两篇文章 1 2
3.官方文档
4
.参考文章1 参考文章二 参考文章三 参考文章四 参考文章五 官方文档在使用dell r740进行实际自动安装过程中遇到的问题:
 1.dell r740默认网口是pxe方式启动,默认的系统引导也是从port1引导的,但是不知道为什么在boot setting总要将uefi改成bios才能进行安装系统
 2.在r740上做了raid5,安装完系统之后,要在ctrl+r将select boot device设置成装系统的盘

自动化安装-【kickstart】的更多相关文章

  1. kickstart自动化安装--tftp+nfs+dhcp

    使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...

  2. CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解

    前言    如果要给很多台客户端主机安装操作系统,要是每一台都拿张安装光盘一台一台主机的去装系统那就太浪费时间和精力了.在生产环境中也不实际,要实现为多台主机自动安装操作系统,那我们怎么实现自动化安装 ...

  3. Kickstart/Anaconda实现自动化安装原理探究

    原网页地址:http://molinux.blog.51cto.com/2536040/548247#55918... 内容概要:  1.  系统安装基本流程图示2.  Anaconda简介3.  K ...

  4. Kickstart 自动化安装配置

    自动化安装案例: 一 ,系统环境 # cat /etc/redhat-release CentOS release 6.6 (Final) #Hostname [root@boot ~]# hostn ...

  5. kickstart自动化安装

    preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动. 工作模式为客户端/服务器端的c/s模式 客户端从远端服务器下载镜 ...

  6. kickstart+pxe+tftp+ntp(http)自动化安装平台的搭建

    听说过"克隆"吗,对于这个科技术语20年前可能还很陌生,羊可以克隆,通过基因dna序列:机器同样可以克隆通过网络IP! 如下为自动化安装平台: PXE(preboot execut ...

  7. 使用Kickstart+pxe自动化安装部署无人值守的linux服务器

    Kickstart+pxe Kickstart无人职守安装RHEL5过程分享(详细图解版) 启动应用有:httpd.dhcpd.named.xinetd 无人职守自动批量安装linux系统超详细 参考 ...

  8. 103、kickstart自动化安装操作系统

    103.1.前言: 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有: 光盘安装系统===>一个 ...

  9. 自动化安装操作系统(Centos7+PXE+Cobbler+kickstart)

    一.简介 PXE称作是一种引导方式而不是安装方式似乎更加准确,PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动,但是有一个前提 ...

随机推荐

  1. Electron初探

    H5开发桌面应用? 没错,H5现在也可以开发跨平台的桌面应用了,这意味着我们可以用网页来设计和制作桌面应用. 基于Node.js的Electron框架就可以实现桌面应用,比较有名的Electron框架 ...

  2. 公用表表达式(CTE)

    在编写T-SQL代码时,往往需要临时存储某些结果集.前面我们已经广泛使用和介绍了两种临时存储结果集的方法:临时表和表变量.除此之外,还可以使用公用表表达式的方法.公用表表达式(Common Table ...

  3. centos 7 下的 service部署

    在centos 7下部署service一般涉及到jar包部署, service脚本. 数据存贮路径, log存贮路径 jar包部署 /usr/local/app/app1/app1.jar servi ...

  4. 图解JAVA参数传递

    今天做项目,发现了一个问题,当String作为参数传递的时候,在函数内部改变值对外部的变量值无影响,如下代码: public static void main(String[] args) { Str ...

  5. [JVM] IDEA集成VisualVM

    VisualVM是集成命令行JDK工具和轻量级分析功能的可视化工具. 参考: https://blog.csdn.net/qq_22741461/article/details/80451675 ht ...

  6. Spring中@Resource与@Autowired、@Qualifier的用法与区别

    1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...

  7. Datagrip连接SQLServer Connecting DataGrip to MS SQL Server

    Connecting DataGrip to MS SQL Server Posted on June 21, 2016 by Maksim Sobolevskiy Some specific nee ...

  8. numpy学习之创建数组

    1.使用array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3]) array([1, 2, 3]) ndarray2 = np.arr ...

  9. LeetCode - 769. Max Chunks To Make Sorted

    Given an array arr that is a permutation of [0, 1, ..., arr.length - 1], we split the array into som ...

  10. VS Code打开使用IDEA搭建的Spring Boot项目运行提示"snakeyaml was not found on the classpath"错误

    今天用VS Code打开之前基于IDEA搭建并开发的Spring Boot项目,启动调试后出现如下错误: 17:43:05.214 [restartedMain] ERROR org.springfr ...