使用软件和平台
1、基于平台:                  Vmware workstation 8.0
2、基于系统镜像:               rhel-server-5.8-i386-dvd.iso  
3、ISO编辑软件:               UltraISO
4、自定义配置文件:             ks.cfg
5、需要重新编辑的配置文件:      isolinux.cfg
6、其他:                     针对不需要的文件包进行删减
    KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
 
第一步生成ks.cfg文件
我这里使用的远程连接工具是Xmanager Enterprise 4,可以支持在当前系统上打开远程主机的图形软件界面。
1、首先确认kickstart是否安装,没有安装的话使用yum进行安装
1
2
3
4
5
6
7
8
9
10
11
12
#检查 kickstart是否安装
[root@lovelace ~]# rpm -qa | grep kickstart
system-config-kickstart-2.6.19.9-2.el5
pykickstart-0.43.9-1.el5
#使用yum安装 kickstart
[root@lovelace ~]# yum install system-config-kickstart -y
Loaded plugins: katello, security
Repository rhel-debuginfo is listed more than once in the configuration
Unable to read consumer identity
Setting up Install Process
Package system-config-kickstart-2.6.19.9-2.el5.noarch already installed and latest version
Nothing to do
2、启动Xmanager - Passive服务,然后在终端上输入命令system-config-kickstart &  
如果执行上面的命令弹出错误,请在终端输入以下两条命令
3、再次进行测试,如果还不成功,请查看服务是否开启,上面两条命令执行是否成功

注:这里为了方便大家进行配置,直接在现有系统的基础上进行编辑。
4、在弹出的图形界面点击文件---->打开文件---->root目录下---->anaconda-ks.cfg文件---->确定。
5、开始我们的ks.cfg文件编辑过程(选择语言,键盘类型,时区,设置根口令,安装后是否重启引导系统,在文本模式下进行安装)
6、安装方法的选择(这里我们是对磁盘进行全新封装的,选择执行新安装,安装方法为光盘驱动器)

7、引导装载程序选项,(给内核传递参数rhgb quiet ,其他默认即可)

8、分区信息设置,这里我们新建三个分区(/分区:5G, /boot:200M, swap分区:1G)

9、网络配置(这里选择添加eth0网卡,IP为dhcp自动分配)

10、验证方式默认即可

11、防火墙配置(这里选择禁用)

12、显示配置(这里我们选择安装X界面,色彩深度调整为16,RHEL上默认安装的是gnome)

13、软件包安装选择(按需自定义选择)

14、预安装脚本(按需进行设置)

15、安装后脚本(按需进行设置)

14、保存配置好的文件(可自定义存放路径,这里我们存放到/home目录下)

查看生成的ks.cfg配置文件

1
2
3
4
#验证ks.cfg文件是否存在
[root@lovelace home]# pwd;ll ks.cfg
/home
-rw-r--r-- 1 root root 1649 05-27 04:20 ks.cfg

查看ks.cfg文件     具体参数请查看kickstart文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
[root@lovelace home]# cat ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --append="rhgb quiet" --location=mbr --driveorder=sda
# Partition clearing information
clearpart --none
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
key --skip
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use CDROM installation media
cdrom
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$/3RmiuX/$ZqpoSJEqBLYu93wL6a60R1
# SELinux configuration
selinux --enforcing
# System timezone
timezone --isUtc Asia/Shanghai
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig  --defaultdesktop=GNOME --depth=8 --resolution=640x480
# Disk partitioning information
part / --bytes-per-inode=4096 --fstype="ext3" --size=6000
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
part swap --bytes-per-inode=4096 --fstype="swap" --size=1024
%packages
@base
@development-libs
@core
@development-tools
@sound-and-video
@x-software-development
@gnome-desktop
@base-x
@printing
@gnome-software-development
@admin-tools
@legacy-software-support
@editors
@text-internet
@dialup
@graphics
@office
@java
@graphical-internet
@games
kexec-tools
iscsi-initiator-utils
fipscheck
device-mapper-multipath
sgpio
python-dmidecode
imake
emacs
libsane-hpaio
mesa-libGLU-devel
xorg-x11-utils
xorg-x11-server-Xnest
xorg-x11-server-Xvfb

第二步:修改isolinux.cfg配置文件(有多种方向进行选择,这里不再演示)

修改后内容为(Note:网上好多关于这个配置文件各不相同,只要能够实验成功就行)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@lovelace home]# cat isolinux.cfg
default ks
prompt 1
timeout 60
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -

第三步:重新封装iso镜像文件(win下操作)

1、打开原版iso镜像文件(删除自动的isolinux.cfg文件,然后把我们重新编辑过的文件添加进去)

2、添加我们制作的ks.cfg文件到光盘根目录下,然后进行iso文件生成即可

第四步:测试安装(这里截两张图验证下)

后记:其实做这个也没有多大意义,因为生产环境中都是批量部署的,这里希望大家能够了解下关于ks.cfg文件的编辑方法,如果你很熟悉的话,也可以脱离图形编辑,直接命令行进行设置…..

存在的bug:

1、安装后swap分区没有被自动挂载

2、没有对系统包和组件进行裁剪,只是添加了ks.cfg文件和对isolinux.cfg文件进行了添加和修改

3、进入系统后没有主机名为.不知道是啥情况

4、只在虚拟机上进行验证

基于kickstart定制自动化安装的linux镜像系统的更多相关文章

  1. 定制属于自己的自动化安装的linux系统镜像

    使用软件和平台 1.基于平台:                  Vmware workstation 8.0 2.基于系统镜像:               rhel-server-5.8-i386 ...

  2. vmware虚拟机安装了linux(redhat)系统忘记登录密码怎么办

    今天,打开了以前装过的vmware虚拟机,正常启动之后,一直想不起登录密码,怎么都是登录不进去.然后在网上查找资料,最后重置了密码.下面,分享下具体操作过程. 1.重新启动虚拟机,在出现启动进度条时按 ...

  3. 自动化安装-【kickstart】

    批量自动安装软件介绍 kickstart 是一种无人值守的安装方式,工作原理是在安装过程中记录人工干预填写的各种参数,并生成以个名为ks.cfg(自动应答文件)的文件,如果在自动安装过程中出现要填写参 ...

  4. kickstart自动化安装

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

  5. cobbler自动化安装系统

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 在很久很久以前,使用kickstart实现自动化安装的时候,我一直认为装系统是多么高大上的活,直到cobbler的 ...

  6. mac安装linux双系统的吐槽

    [First day] 尝试安装mac - linux 双系统 首先,尝试的是ubuntu16.06版本,要把双系统安装至电脑硬盘512G SSD中, *** 分盘 1.1 打开实用工具中的磁盘管理工 ...

  7. [双系统linux] ----双系统切换导致系统时间错误

    安装了linux双系统以后,发现每次双系统切换以后系统时间总会错误. 原因:Linux和win7(win10)双系统时间错误问题 时间相差8小时 MAC/linux 将系统硬件时间看待为UTC, 即U ...

  8. Linux CentOS7系统中ssh的用法

    大家都知道,公司买上服务器,不可能实时在线操作虚拟机,也没有那个时间和精力登录到公司的云服务商官网进行操作,一来不安全,二来也效率不高. 如果是购买的虚拟主机,你可以使用ftp进行本地程序文件传输和从 ...

  9. 初涉定制linux系统之——自动化安装Centos系统镜像制作

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...

随机推荐

  1. php 和mysql httpd 简单网页的搭建

    使用两台服务器 Centos 7 做 php和httpd和php-sql 服务的安装  CentOS 5 做php 和 mysql 的安装 1.搭建本地yum源 两台服务器  都是 2.关闭防火墙和s ...

  2. PHP 图片文件上传代码分享

    分享下php上传图片文件的一段代码,挺不错的. 通过 PHP,可以把文件上传到服务器.加入一些图片的判断,如果不加判断文件的类型就可以上传任意格式的文件. 当然了,会禁止上传php文件,以及其它程序代 ...

  3. ExtJs 4.2 treePanel 点击树节点 传送参数到后台(多个参数)

    //***********************************************左边树开始********************************************** ...

  4. Apache配置多个监听端口

    以前做PC上的,都是配置一个端口,整一大堆的虚拟目录: 在 \conf\extra下找到httpd-vhosts.conf这个配置文件,想下面这样配置就行,监听80端口,访问相应的ServerName ...

  5. OpenJudge/Poj 1844 Sum

    1.链接地址: http://bailian.openjudge.cn/practice/1844 http://poj.org/problem?id=1844 2.题目: Sum Time Limi ...

  6. [WPF]如何调试Data Binding

    前言 在WPF开发中,将ViewModel中对象绑定到UI上时,会出现明明已经将数据对象Binding到UI,但是UI上就是不显示等等的问题.这篇博客将介绍WPF Data Binding相关的内容, ...

  7. web前端-----jQuery

    web前端之jQuery篇 一 jQuery是什么? [1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. [2]   j ...

  8. TRIM ,LTRIM ,RTRIM ,空格过滤

  9. eclipse Maven Dependencies 黑色背景说明

    记录工作点点滴滴,大到系统设计,源码分析,小到IDE设置. 这里要说的是eclipse中Maven Dependencies 为什么有些jar用黑色背景,如下图所示: 网上很多人说jar包在本地仓库不 ...

  10. kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail

    kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...