Kickstart无人值守安装
什么是kickstart安装?
----------------------------------------------------------------------
无人值守安装(静默安装)
``kickstart`` 是redhat开创的一种系统安装方法, 使用 ``kickstart``, 我们
可以创建一个应搭文件(响应文件), 通过redhat的安装程序anaconda来对rhel系统
安装过程中所询问的问题做出回搭(响应), 从而实现系统的无人值守安装.
``kickstart`` 可以让我们对rhel的大部分安装任务实现自动化.
``kickstart`` 的配置文件通常命名为ks.cfg, 当然这个名字是可以修改指定的.
使用 ``kickstart`` 的步骤:
1. 准备kickstart文件
2. 带有kickstart文件的启动介质(如硬盘,U盘,软盘,光盘等)或者通过网络提供
netboot.iso
(常用)
3. 安装目录树(一般使用光盘的目录结构)
4. 开始kickstart安装
Kickstart文件介绍
----------------------------------------------------------------------
``ks.cfg`` 是一个文本文件, 可以直接通过文本编辑器直接编辑.
它是由以下三个部分组成:
1. Command section 命令部分, 必须包括一些必要的选项
2. %packages section 软件包定制部分
3. %pre, %post sections 脚本定制部分
.. note::
* 如果省略了1个或多个必要的选项, 安装时便不能实现自动化, 仍需要用户介入
* #号为注释行
Command Options
----------------------------------------------------------------------
下面列出在Command section中的一些常见选项:
* install | upgrade
- cdrom
- harddrive
- nfs --server= --dir= --opts=
- url --url http://<server>/<dir>
- url --url ftp://<username>:<passwd>@<server>/<dir>
* key --skip
* keyboard us
* xconfig --startxonboot --defaultdesktop=GNOME|KDE
* network --device eth0 --bootproto dhcp
- network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 --gateway=10.0.2.254 --nameserver=10.0.2.1
* rootpw [--iscrypted] <passwd>
* firewall --enabled --port=22:tcp
- firewall --disabled
* selinux [--disabled|--enforcing|--permissive]
* services --disabled auditd,cups,smartd,nfslock 服务之间逗号,没有空格
* timezone Asia/Shanghai
* auth or authconfig
- --enablemd5 or --passalgo=sha256 or --passalgo=sha215
- --useshadow or enableshadow
* bootloader
- --append=
- --driveorder
- --password= or --md5pass=
- bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
* clearpart
- --all
- --initlabel
- --drives
- --linux
- --none
* part
- 格式: part <挂载点> --fstype <文件系统> --size=<分区大小>
- fstype: xfs, ext2, ext3, ext4, swap, vfat, and hfs
- part / --fstype ext3 --size=3000
* vnc [--host=<hostname>] [--port=<port>] [--password=<password>]
Packages selection
----------------------------------------------------------------------
可选的安装group:
::
@Administration Tools
@Authoring and Publishing
@ Development Libraries
@ Development Tools
@DNS Name Server
@Eclipse
@ Editors
@Engineering and Scientific
@FTP Server
@ GNOME Desktop Environment
@GNOME Software Development
@Games and Entertainment
@ Graphical Internet
@Graphics
@Java Development
@KDE (K Desktop Environment)
@KDE Software Development
@Legacy Network Server
@Legacy Software Development
@Legacy Software Support
@Mail Server
@Misc
@Multimedia
@MySQL Database
@Network Servers
@News Server
@Office/Productivity
@OpenFabrics Enterprise Distribution
@PostgreSQL Database
@Printing Support
@Server Configuration Tools
@Sound and Video
@System Tools
@Text-based Internet
@Web Server
@Windows File Server
@Windows PV Drivers
@X Software Development
@ X Window System
@ Chinese Support
python # (no group)
Pre-installation Script
----------------------------------------------------------------------
这个部分可以添加脚本, 这些脚本是在安装系统之前执行的, 为系统安装准备环境使用的.
Post-installation Script
----------------------------------------------------------------------
这个部分很有用! 经常用在安装之后对系统进行一些个性化的定制!
假如我们需要在系统安装后修改DNS设置, 那么我们可以在%post字段里写上相应的脚本
获取ks.cfg文件
----------------------------------------------------------------------
anaconda安装程序可以通过多种方法来调用ks.cfg文件.
通过安装介质
``````````````````````````````````````````````````````````````````````
例如系统安装光盘. 当然需要光盘上存在ks.cfg文件
通过网络
``````````````````````````````````````````````````````````````````````
这也是最常用的方法, 如: NFS, HTTP
安装目录树
----------------------------------------------------------------------
安装目录树是rhel安装光盘的一个拷贝, 并且目录结构不能改变.
安装目录树也常用网络提供, 如: NFS, HTTP, FTP
nfs --server=192.16.0.7 --dir=/data/network-install/ISO
url --url http://192.168.1.100/network-install/RPM
使用kickstart安装系统(重点)
----------------------------------------------------------------------
要使用kickstart安装系统, 必须先用启动介质(如光盘)启动电脑, 然后启动提示符(boot:)下通过指定不同参数来调用ks.cfg文件.
1. 软盘(很少用了)
.. code:: bash
linux ks=hd:fd0:/ks.cfg
linux ks=floppy
linux ks=floppy:/<path>
(/dev/fd0 文件系统必须是vfat或ext2)
2. 驱动盘(特殊情况下使用)
.. code:: bash
linux ks=floppy dd
3. 启动光盘
.. code:: bash
linux ks=cdrom:/ks.cfg
linux ks=cdrom:/<path>
4. NFS
.. code:: bash
linux ks=nfs:<server>:/<path>
linux ks=nfs:<server>:/<path> ksdevice=eth1 (多网卡时指定网卡)
ks=nfs:192.168.1.100:/kickstart/ks.cfg
192.168.0.7 eth0
61.139.1.7 eth1
5. HTTP
.. code:: bash
linux ks=http://<server>/<path>
linux ks=http://192.168.1.100/network-install/kickstart/ks.cfg
6. 硬盘
.. code:: bash
linux ks=hd:<device>:/<file>
linux ks=hd:sda1:/<file>
生成ks.cfg
======================================================================
system-config-kickstart
[root@ks-server ~]# 使用NFS共享出安装目录树(即光盘里的文件, 需要保持目录结构)
[root@ks-server ~]# yum install system-config-kickstart
[root@ks-server ~]# export LANG=zh_CN.UTF-8
[root@ks-server ~]# system-config-kickstart
[root@ks-server ~]# 见模板ks.cfg
[root@ks-server ~]# 使用NFS共享出ks.cfg
[root@ks-server ~]#
[root@ks-server ~]# 使用光盘引导进入安装选择界面, 按ESC出现boot:, 再输入:
[root@ks-server ~]# linux ks=nfs:192.168.56.7:/share/ks.cfg
ps. 创建一个~/.vimrc, 把我们常用的设置写到这个文件里.