澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:kickstart文件详解,Kick

kickstart cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html**

  1. 什么是kickstart安装?

kickstart是RedHat/CentOS/Fedora等系统实现无人值守自动化安装的一种安装方式,系统管理员可将安装过程中需要配置的所有参数集成于一个kickstart文件中,而后在系统安装时,安装程序通过读取事先给定的这个kickstart文件自动化地完成配置并安装完成。

kickstart自动应答文件选项非常多,以下只说明CentOS 6下几个常用的可能用到的选项。另外,CentOS 6和CentOS 7的选项有不小区别,所以请注意使用,可以查看官方安装文档。

anaconda的配置方式有以下两种:

CentOS6的Installation向导

(1)交互式配置;

CentOS7的Installation向导

(2)通过读取事先给定的配置文件事先自动完成配置,这个配置文件就是kickstart文件,它遵循特定的语法格式。

以下是CentOS 6上kickstart选项说明:在最后还给出了一个kickstart文件的示例。

在前面一篇文章--《图形/文本界面安装CentOS 6.8系统详解》http://www.linuxidc.com/Linux/2017-05/143710.htm已经介绍了使用anaconda应用程序来实现交互式安装CentOS系统,接下来要介绍的是通过kickstart这个配置文件来实现无人值守安装系统。在介绍之前需要先了解一下anaconda程序的安装引导选项。

#文件由三部分组成
    #一是选项指令段,用于自动应答图形界面安装时除包选择外的所有手动操作
    #二是package选择段,使用%packages引导该功能
    #三是脚本段,该段可有可无,分为两种:
        # (1) %pre  预安装脚本段,在安装系统之前就执行的脚本,该段很少使用,因为可用的命令太少
        # (2) %post 后安装脚本段,在系统安装完成后执行的脚本

# kickstart选项指令段的说明:

【必须的选项】:

1.auth或者authconfig :验证选项
    --useshadow或者--enableshadow启用shadow文件来验证
    --passalgo=sha512使用sha512算法
2.bootloader: 指定如何安装引导程序,要求必须已选择分区、已选择引导程序、已选择软件包,如果没选择将会停止而不会询问
    --location=mbr 指定引导程序的位置,默认为mbr,还可以指定none或者包含bootloader的引导块所在分区
    --driveorder=sda 指定grub安装在哪个分区以及指定寻找顺序,--driverorder=sda sdc sdb
    --append="crashkernel=auto rhgb quiet" 指定内核参数
3.keyboard:指定键盘类型,一般使用美式键盘"keyboard us",新版的kickstart的格式有所变化,但也支持"keyboard us"这样的老格式
4.lang:指定语言,如"lang en_US.UTF-8"5.rootpw:设置root用户的密码
    --iscrypted:使用加密密码,可以使用MD5,SHA-256,sha-512等。
        如:rootpw  --iscrypted $6$kxEBpy0HqHiY2Tsx$FTAqbjHs6x0VruChfYKxVeKLlxPuY0LXK7RxAVdu3uUivGclMUEz.i4ARlsMpqe1bf379uEgWOSFqGtZxqrwg.
        其中SHA-512位的加密密码在CentOS 6上可以使用"grub-crypt --sha-512"生成,CentOS7上可以使用python等工具来生成,如下:
        python -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'


【可选的选项】:

1.selinux:设置selinux,值为enforcing,permissice,disable之一
2.autostep: 交互式,和interactive类似
3.interactive: 使用kickstart文件指定的参数交互式安装,但仍会给出每一步的选择项,如果直接下一步就使用kickstart参数
4.cmdline:在完全非交互的命令行模式下进行安装
5.driverdisk:指定驱动程序所在位置
    drvierdisk --source=
6.firewall:设置firewall
    --disable禁用防火墙
7.firstboot:
    --disable:安装后第一次启动默认会给出很多需要手动配置的界面,禁用它
8.graphical:在图形模式下根据kickstart执行安装,默认该选项
9.text:文本模式下根据kickstart执行安装(既然使用kickstart了,当然建议选择使用纯文本模式而不是图形模式了)
 9.1 skipx:不安装图形工具
10.halt/reboot:安装完成后关机还是reboot,默认是halt
11.ignoredisk:指定忽略的磁盘
12.install/upgrade:指定是安装还是升级系统
    对于install,还必须指定下面几种安装方式之一:
        cdrom:指定从第一个光盘驱动器安装
        harddrive:指定从本地硬盘安装,要求硬盘必须是vfat或者ext2文件系统格式
            --biospart:指定从bios类型的分区来安装,如82文件系统类型号的分区
            --partition:从某个分区安装
            --dir:指定从包含install-tree(安装树)的目录安装
                例如:harddrive --partition=hdb2 --dir=/tmp/install-tree
        nfs:指定从nfs路径安装
            --server:指定nfs服务器主机名或IP
            --dir:指定包含install-tree的目录
            --opts:指定挂载NFS的mount选项
            如:nfs --server=172.16.10.10 --dir=/export_path
        url:指定从ftp、http、https安装
             例如:url --url ftp://172.16.10.10
13.loggin:指定安装过程中的错误日志位置
    --host:指定日志将发送到那台主机上
    --port:如果远程主机的rsyslog使用非默认端口,则应该指定该端口选项
    --levle:指定日志级别
13.network:为系统配置网络信息,并在安装过程中激活该网络设备。可多次使用network指令,例如既设置网络,又设置主机名
    --bootproto:dhcp或static;对于static则必须指定IP地址、子网掩码、网关和DNS
    --device:网卡名,可以使用eth0类似的名称来指定
    --hostname:指定主机名
    --onboot:是否在引导系统时启用指定的设备
        如:
        network --bootproto=static --ip=192.168.100.2 --netmask=255.255.255.0 --gateway=192.168.100.254 --nameserver=8.8.8.8
        network --bootproto=dhcp --device=eth0 --noipv6
        network --hostname=node1.xuexi.com
15.autopart: 自动创建几个分区:大于1G的根分区,250M的boot分区和swap分区
16.zerombr:清除磁盘的mbr

17.clearpart: 在安装系统前清除分区,如果指定该选项则必须指定正确
    --all:清除所有分区
    --Linux:清除Linux分区
    --none:不清除分区
    --initlabel:创建标签,对于没有MBR或者GPT的新硬盘,该选项是必须的
    --drivers=sdb:清除指定的分区
    所以,clearpart --all --initlabel是常见的方式
18.part:创建分区
    --asprimary:强制指定为主分区
    --grow:使用所有可用空间,即为其分配所有剩余空间。对于根分区至少需要3G空间(即使是--grow,也还是需要指定--size)
    --ondisk:指定在哪块磁盘上创建分区。如果有多块磁盘,则需要指定在哪块磁盘上创建哪个分区,只有一块硬盘时可以省略该选项
        如:
            #part /boot --fstype=ext4 --asprimary --size=200     #boot分区200-250M足以
            #part swap --fstype=swap --asprimary --size=2048             
            #part / --fstype=ext4 --grow --asprimary  --size=2000
LVM的分区方法:
part /boot --fstype ext4 --size=100
part swap --fstype=swap --size=2048
part pv26 --size=100 --grow
volgroup VG00 --pesize=32768 pv26
logvol / --fstype ext4 --name=LVroot --vgname=VG00 --size=29984
logvol /data --fstype ext4 --name=LVdata --vgname=VG00 --size=100 --grow        

19.repo:指定除自带的yum源外的其他yum源,可以指定多行yum源(既然是第一次装系统,基本都不会去加这项)
    如:repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100
20.services:设置默认运行级别下开机自启动的服务
    --disable
    --enable
        disable先处理enable后处理
        如services --disable auditd,cups,atd
21.timezone:指定时区
    如:Asia/Shanghai
22.user:在系统中生成一个新用户
    --name:指定用户名
    --groups:指定辅助组,非默认组
    --homedir:用户家目录,如果不指定则默认为/home/<username>
    --password:该用户的密码,如果不指定或省略则创建后该用户处于锁定状态
    --shell:用户的shell,不指定则默认
    --uid:用户UID,不指定则自动分配一个非系统用户的UID
23.key:输入序列号,只在redhat中有,CentOS系统没有该项
    --skip  跳过key选项

# kickstart软件包或包组选项:

使用"%packages"表示该段内容,@表示选择的包组,最前面使用横杠表示取反,即不选择的包或包组。
@base和@core两个包组总是被默认选择,所以不必在%packages中指定它们

%packages
@base
@core
@debugging
@development
@dial-up
@hardware-monitoring
@performance
@server-policy
@workstation-policy
sgpio
device-mapper-persistent-data
systemtap-client
lrzsz
tree
%end
  1. anaconda安装引导选项

 以下是CentOS 6.6下的ks文件示例。

anaconda的安装引导选项可在boot界面(即bootloader引导时的菜单界面)由用户给定,由bootloader传递把参数传递给内核,再由内核把参数传递给anaconda应用程序;也可以直接在bootloader的配置文件中写入参数直接传递给内核,以光盘引导为例,可以在isolinux/isolinux.cfg配置文件中通过"append"的方式把参数追加给label中定义的内核。

install
text
nfs --server=192.168.100.100 --dir=/install
#url --url=http://192.168.100.100/centos6.6
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto quiet"
lang en_US.UTF-8
keyboard us
network --onboot=yes --device=eth0 --bootproto=dhcp --noipv6
rootpw  --iscrypted $6$x4u9sIfSQsO7ddk5$/.0Xe6tFBY0uUmFFtyvAeY9YVPtcn8zl21fFNgmAoYtepQHRYDthQ4T1ZE12kDfAT6O3oXfRb7uv214t3Bb3K1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
reboot       #安装结束后重启

#make partitions
zerombr
clearpart --all --initlabel
part    /boot   --fstype=ext4   --asprimary     --size=250
part    /       --fstype=ext4   --asprimary     --grow     --size=2000
part    swap    --fstype=swap   --size=2000

%packages
@base
@core
@debugging
@development
@dial-up
@hardware-monitoring
@performance
@server-policy
@workstation-policy
sgpio
device-mapper-persistent-data
systemtap-client
%end

%post     #结束后做的事
cat >>/etc/yum.repos.d/base.repo<<eof
[base]
name=sohu
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
gpgcheck=0
enable=1
[epel]
name=epel
baseurl=http://mirrors.sohu.com/fedora-epel/6Server/x86_64/
enable=1
gpgcheck=0
eof
sed -i "s/ONBOOT.*$/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-eth0   #设置网卡为启动
sed -i "s/rhgb //" /boot/grub/grub.conf    # 设置启动系统时不使用图形进度条方式
sed -i "s/HOSTNAME=.*$/HOSTNAME=xuexi.longshuai.com/" /etc/sysconfig/network   #设置主机名

%end

anaconda的安装引导选项有:

text:文本安装方式;

method:手动指定使用的安装方法;

与网络相关的引导选项:安装时的网络属性配置;

    ip=IPADDR:安装时的ip地址;

netmask=MASK:子网掩码;

gateway=GW:默认网关;

dns=DNS_SERVER_IP:安装过程需要解析主机名时会用到;

ifname=NAME:MAC_ADDR:指定以上网络属性配置应用于哪个网络接口之上;

远程访问功能相关的引导选项:

    vnc:可以让远程用户帮助配置各个安装选项;

vncpassword:设置vnc密码;

指明kickstart文件的位置:

    ks=

需要注意的是,kickstart文件可以来自光盘(镜像)、硬盘或网络,因此其指定方式各有不同。

光盘:

ks=cdrom:/PATH/TO/KICKSTART_FILE

硬盘:

ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE

网络:

HTTP服务器:ks=

HTTPS服务器:ks=

FTP服务器:ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE

  1. kickstart文件的格式

澳门新浦京娱乐场网站:kickstart文件详解,Kickstart及引导镜像文件制作。kickstart文件包括三个部分:

(1)命令段

(2)程序包段

(3)脚本段

(1)命令段:

作用:指定各种安装前的配置选项,如键盘类型等。

选项类型:必备命令 可选命令

必备命令:

authconfig:认证方式配置

示例:

authconfig --enableshadow --passalgo=sha512

bootloader:定义bootloader的安装位置及相关配置

示例:

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

keyboard:设置键盘类型

示例:

keyboard us

lang:设置语言类型

示例:

lang en_US.UTF-8

part:分区布局

示例:

part /boot --fstype=ext4 --size=500

part pv.008002 --grow --size=1

分区相关的其他命令:

clearpart:清除分区

示例:

clearpart --none --drives=sda

volgroup:创建卷组

示例:

volgroup VolGroup --pesize=4096 pv.008002

logvol:创建逻辑卷

示例:

logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=5120

0

rootpw:设置管理员密码

示例:

rootpw  --iscrypted $6$2V70fZkSFMrqldev$Qf950j2Ip5vxhEoOmlZgKHnySkBBMA6T5tBQz5jPiAurItpei

663xVkRfrdWZPESgQu33q3E.CShfkY4MCtjK.

生成加密密码的方式:

~]# openssl  passwd  -1  -salt  `openssl  rand  -hex  4`

timezone:时区

示例:

timezone Asia/Shanghai

可选命令:

install或upgrade:安装或升级

text:安装界面类型,text为TUI,默认为GUI

network:配置网络接口

示例:

network --onboot yes --device eth0 --bootproto dhcp --noipv6

firewall:防火墙

示例:

firewall --disabled

selinux:SELinux

示例:

selinux --disabled

halt、poweroff或reboot:定义安装完成之后的行为,如关机、重启

user:安装完成后为系统创建新用户

repo:指明安装时使用的repository(安装源)

示例:

repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100

url:指明安装时使用的repository(安装源),但为url格式

示例:

url --url=

注意:要配置好相关网络属性,例如局域网通信需要ip和netmask,如果要访问互联网还需要gateway

和dns。

(2)程序包段

作用:指定要安装的程序包、包组以及不安装的程序包。

表示方式:

%packages:程序包段的开始;

@group_澳门新浦京娱乐场网站,name:要安装的包组;

package:要安装的程序包;

-package:不安装的程序包;

%end:程序包段的结束;

需要注意的是,如果一个程序包被其他指定要安装的程序包所依赖,那么就算指明该程序不安装,系统也会自动安装这个程序包。

(3)脚本段

包括安装前要执行的脚本和安装后要执行的脚本。

①安装前要执行的脚本:%pre

脚本格式:

%pre

...

%end

运行环境:运行于安装介质上的微型Linux系统环境。

②安装后要执行的脚本:%post

脚本格式:

%post

...

%end

  1. 制作kickstart文件的方式

(1)直接手动编辑,可以依据某个模板来进行修改;

(2)使用kickstart文件创建工具:system-config-kickstart进行配置,同样可以导入某个模板并修改之。

这里介绍使用kickstart文件创建工具:system-config-kickstart来定制kickstart:

首选确保system-config-kickstart已经安装,如果没有安装可以使用yum安装:

[root@localhost ~]# rpm -q system-config-kickstart

system-config-kickstart-2.8.6.6-1.el6.noarch    //显示已安装;

在命令行上运行system-config-kickstart命令即可启动窗口界面:

[root@localhost ~]# system-config-kickstart &

打开窗口如图:

澳门新浦京娱乐场网站 1

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2017-05/143714p2.htm

澳门新浦京娱乐场网站 2

本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:澳门新浦京娱乐场网站:kickstart文件详解,Kick