基于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是否安装

[[email protected] ~]# rpm -qa | grep kickstart

system-config-kickstart-2.6.19.9-2.el5

pykickstart-0.43.9-1.el5

#使用yum安装 kickstart

[[email protected] ~]# 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文件是否存在

[[email protected] 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

[[email protected] 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

[[email protected] 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、只在虚拟机上进行验证

时间: 2024-10-13 14:49:34

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

PXE+HTTP+tftp+kickstart 网络自动化安装centos6.5

基本流程: 1.网卡作为可引导的启动设备 2.BIOS找到引导设置网卡,激活网卡的PXE功能 3.客户端通过PXE的内置dhcp客户端尝试DHCP广播请求,从DHCP服务器获取IP地址.掩码.网关.网络属性 4.DHCP服务器告知客户端tftp服务器地址(next-server),将 "filename "pxelinux.0";" 参数中指定的文件(pxelinux.0)推送给客户端: 5.PXE的内置tftp客户端到指定tftp服务器下载启动镜像文件pxelin

基于cobbler实现自动化安装系统

基于cobbler实现自动化安装系统 环境介绍 centos6.8 为centos6.8提供两块网卡 (非必要) 一块为桥接,方便xshell连接和测试 一块为vmnet3:用来搭建dhcp,tftp,和为客户端提供cobbler服务 前提,(确保安装TFTP,dhcp,rsync) # yum install httpd cobbler cobbler-web pykickstart debmirror 1.启动对应的服务 # service httpd start # service cob

Linux系统基于网络的自动化安装

安装一个操作系统对一个普通人来说是一件非常麻烦的事了.而对于一个专业人士来说,应该是一个非常轻松的事.但是这样的情况也仅限于有限的几台需要安装.在实际工作的中,我们经常会遇到这样的情况:有大批量的计算机需要同时安装Linux,或者想要安装Linux但是计算机没有光驱,或者是通过光驱的方式一个个安装.这样安装不仅效率低,也不利于以后的维护.这个时候你就需要利用网络的强大功能了.它可以帮你基于网络来完成全自动化的安装,中间不需要人工去干预.这就是cobbler服务 cobbler服务是一个快速网络安

利用kickstart实现自动化安装

这两天学习kickstart的部署,采用 pxe + dhcp + tftp + nfs 的方式,下面把整个流程简要地列出来. 我这里用的系统是rhel6.5,对于rhel5/centos5系列的系统略有不同. 先简单描述一下通过网络启动安装的过程: 客户端设置为通过网络启动,可能需要在bios中设定开启该功能 启动之后在局域网内发出广播 dhcp服务器响应该广播,客户端获得IP地址,以及一些额外信息,比如tfpt服务器的IP,需要下载的文件等 客户端从tftp服务器中获取需要的启动文件(pxe

Kubernetes 和 Swarm 两种docker集群,基于ansible的自动化安装部署(已测)

Git repo: https://git.oschina.net/yonchin/k8s-x86_64/tree/master/x86?dir=1 注:系统是基于CentOS_7.2,ansible:2.1 简介: kube-ansible-install: 除了安装Kubernetes的主从外,还包括Kubernetes的addons(如dashboard.dns.fluentd-elasticsearch-kibana.heapster-influxdb-grafana等),还包含zabb

linux基础学习第二十一天之自动化安装linux系统(kickstart)

内容: 利用kickstart进行自动化安装linux系统 制作光盘.U盘启动盘 一.系统自动化安装: 1.anaconda 由前面的学习我们知道,系统的启动流程: bootloader-->kernel(initramfs)-->rootfs-->/sbin/init 所以,bootloader完全可以由光盘来进行引导,在引导的过程中在借助kickstart来进程自动安装 Anaconda是RedHat.CentOS.Fedora等Linux的安装管理程序.它可以提供文本.图形等安装管

LINUX自动化安装操作系统

自动化就是无人职守安装大量操作系统,只要客户机开机,就能自动安装操作系统. 首先调试环境: 基于DHCP.TFTP.HTTP来完成PXE自动的实现 1.  安装服务 [[email protected]/]# yum install dhcp---------dhcp服务 [[email protected]/]# yum install tftp tftp-server-----tftp服务 [[email protected]/]# yum install http--------http服

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

最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本来想法是打算把需要的依赖包全找出来打包发给实施人员自己安装去,后来考虑到系统安装人员的安装方式不一致,分区及安装包的不统一会对之后的维护造成负担,干脆就决定做个自动化安装的镜像,并把需要的业务依赖包全打包进去 ok,首先我们来看看环境准备: 1.一台刚安装好的.符合业务要求的系统(博主选择的是minimal

定制linux自动化安装镜像

定制linux自动化安装镜像 安装必须的软件 yum -y install createrepo mkisofs anaconda-runtime yum -y install rsync 制作镜像基本模型 mkdir /yousm/CentOS6.2                      #创建镜像目录 mount /dev/cdrom   /mnt                     #挂载现有的安装系统盘 /usr/bin/rsync -a --exclude=Packages/-