基于kickstart定制自动化安装的linux镜像系统
使用软件和平台
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 kickstartsystem-config-kickstart-2.6.19.9-2.el5pykickstart-0.43.9-1.el5#使用yum安装 kickstart[root@lovelace ~]# yum install system-config-kickstart -yLoaded plugins: katello, securityRepository rhel-debuginfo is listed more than once in the configurationUnable to read consumer identitySetting up Install ProcessPackage system-config-kickstart-2.6.19.9-2.el5.noarch already installed and latest versionNothing 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 informationauth --useshadow --enablemd5# System bootloader configurationbootloader --append="rhgb quiet" --location=mbr --driveorder=sda# Partition clearing informationclearpart --none# Use text mode installtext# Firewall configurationfirewall --disabled# Run the Setup Agent on first bootfirstboot --disablekey --skip# System keyboardkeyboard us# System languagelang en_US# Installation logging levellogging --level=info# Use CDROM installation mediacdrom# Network informationnetwork --bootproto=dhcp --device=eth0 --onboot=on# Reboot after installationreboot#Root passwordrootpw --iscrypted $1$/3RmiuX/$ZqpoSJEqBLYu93wL6a60R1# SELinux configurationselinux --enforcing# System timezonetimezone --isUtc Asia/Shanghai# Install OS instead of upgradeinstall# X Window System configuration informationxconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480# Disk partitioning informationpart / --bytes-per-inode=4096 --fstype="ext3" --size=6000part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200part 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@gameskexec-toolsiscsi-initiator-utilsfipscheckdevice-mapper-multipathsgpiopython-dmidecodeimakeemacslibsane-hpaiomesa-libGLU-develxorg-x11-utilsxorg-x11-server-Xnestxorg-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.cfgdefault ksprompt 1timeout 60display boot.msgF1 boot.msgF2 options.msgF3 general.msgF4 param.msgF5 rescue.msglabel linuxkernel vmlinuzappend initrd=initrd.imglabel textkernel vmlinuzappend initrd=initrd.img textlabel kskernel vmlinuzappend ks=cdrom:/ks.cfg initrd=initrd.imglabel locallocalboot 1label memtest86kernel memtestappend - |
第三步:重新封装iso镜像文件(win下操作)
1、打开原版iso镜像文件(删除自动的isolinux.cfg文件,然后把我们重新编辑过的文件添加进去)

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

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


后记:其实做这个也没有多大意义,因为生产环境中都是批量部署的,这里希望大家能够了解下关于ks.cfg文件的编辑方法,如果你很熟悉的话,也可以脱离图形编辑,直接命令行进行设置…..
存在的bug:
1、安装后swap分区没有被自动挂载
2、没有对系统包和组件进行裁剪,只是添加了ks.cfg文件和对isolinux.cfg文件进行了添加和修改
3、进入系统后没有主机名为.不知道是啥情况
4、只在虚拟机上进行验证
基于kickstart定制自动化安装的linux镜像系统的更多相关文章
- 使用Kickstart+pxe自动化安装部署无人值守的linux服务器
Kickstart+pxe Kickstart无人职守安装RHEL5过程分享(详细图解版) 启动应用有:httpd.dhcpd.named.xinetd 无人职守自动批量安装linux系统超详细 参考 ...
- 定制属于自己的自动化安装的linux系统镜像
使用软件和平台 1.基于平台: Vmware workstation 8.0 2.基于系统镜像: rhel-server-5.8-i386 ...
- Macbook 安装kali linux 双系统 2020.3 超详细
博主折腾了一星期这东西,到现在都还有些坑没解决(最后面会讲).不过最起码系统装上了,可以用了,看到这桌面惊艳了,再点下左上角表示人间值得. 其实我是装了windos 10.macos 和kali三系统 ...
- 笔记本在安装Windows+Linux双系统后,进入Windows时花屏的解决办法
问题:在笔记本安装双系统(Windows7+Ubuntu14.04)[先安装Windows,后安装Ubuntu]后,进入Windows时出现了花屏. 问题原因:笔记本只有集显,在系统启动时会先加载Ub ...
- vmware虚拟机安装了linux(redhat)系统忘记登录密码怎么办
今天,打开了以前装过的vmware虚拟机,正常启动之后,一直想不起登录密码,怎么都是登录不进去.然后在网上查找资料,最后重置了密码.下面,分享下具体操作过程. 1.重新启动虚拟机,在出现启动进度条时按 ...
- 自动化安装-【kickstart】
批量自动安装软件介绍 kickstart 是一种无人值守的安装方式,工作原理是在安装过程中记录人工干预填写的各种参数,并生成以个名为ks.cfg(自动应答文件)的文件,如果在自动安装过程中出现要填写参 ...
- kickstart自动化安装
preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动. 工作模式为客户端/服务器端的c/s模式 客户端从远端服务器下载镜 ...
- cobbler自动化安装系统
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 在很久很久以前,使用kickstart实现自动化安装的时候,我一直认为装系统是多么高大上的活,直到cobbler的 ...
- 安卓安装kali linux之Termux
解决安装kali无模组问题 https://blog.csdn.net/weixin_44690490/article/details/108599693?utm_source=app 步骤 1.获取 ...
随机推荐
- SQL面向对象抽象类
抽象类:抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西:一般抽象类中只放置抽象方法,只规定了返回类型和参数:例: 人 - 有吃饭,睡觉方法: 男人 - 继承人抽象类,必须实现吃饭,睡觉的 ...
- android 单例模式
单例模式特点: 1.一个类只能有一个实例 2.自己创建这个实例 3.整个系统都要使用这个实例 单例模式的形式: 1.饿汉式单例类 public class Singleton { private Si ...
- strcpy 复制字符串函数
#include<stdio.h> #include<assert.h> char *strcopy(char * strDest , const char * strSrc) ...
- html5新增全局属性
data-* 如:data-type,data-role等 hidden <div hidden></div> 隐藏该div spellcheck <textarea ...
- [Ubuntu] ubuntu13.04 从php5.4降级到php5.3
ubuntu12.10以后,默认的deb安装库上面的php版本已经是5.4了,公司的项目使用5.4的时候,还是会出现很多问题,所以不得不降级安装5.3 顺便说一句,我原来的环境是nginx + php ...
- linux下创建的符号链接的权限
今天为shell脚本创建符号链接的时候突然发现的, 创建的符号链接文件的默认权限是 777, 而想要这个脚本可执行, 必须为真正的文件加上 x 权限才可以.
- delphi注册/反注册OCX
uses ShellAPI; function ExecAndWait(const ExecuteFile, ParamString : string): boolean; var SEInfo: T ...
- mirrors
http://mirrors.163.com/http://mirrors.aliyun.com/http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64 ...
- composer未升级报错
错误: Cannot adopt OID in SQUID-MIB: cacheClients ::= { cacheProtoAggregateStats 15 } Cannot adopt OID ...
- Spring+Mybatis整合报错Mapped Statements collection does not contain value原因之一
报错如下: ### Error updating database. Cause: java.lang.IllegalArgumentException: Mapped Statements coll ...




