使用 kickstart 半自动化安装CentOS7系统
1、创建kickstart文件
创建kickstart文件的方式
- 可使用创建工具:system-config-kickstart ,注意:此方法 CentOS 8 不再支持
- 依据某模板修改并生成新配置,CentOS安装完后,会自动参考当前系统的安装过程,生成一个kickstart文件 /root/anaconda-ks.cfg
使用system-config-kickstart生成kickstart配置文件
—(centos8保护支持,可在centos7生成,经过修改给centos8使用)
- 创建yum仓库
[root@centos7.8 ~]#yum -y install httpd
[root@centos7.8 ~]#systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@centos7.8 ~]#cd /var/www/html
[root@centos7.8 html]#mkdir -p centos/7/os/x86_64
[root@centos7.7 html]#tree
.
└── centos
└── 7
└── os
└── x86_64
4 directories, 0 files
[root@centos7 html]#mount /dev/sr0 centos/7/os/x86_64/
mount: /dev/sr0 is write-protected, mounting read-only
[root@centos7 html]#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 100G 0 part /
├─sda3 8:3 0 50G 0 part /data
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 2G 0 part [SWAP]
sr0 11:0 1 4.5G 0 rom /var/www/html/centos/7/os/x86_64
[root@centos7 html]#systemctl disable --now firewalld
[root@centos7 html]#setenforce 0
- 安装system-config-kickstart工具
[root@centos7 ~]#yum -y install system-config-kickstart
- 此工具是一个图形化工具,在Windows运行一个Xmanager程序
[root@centos7 ~]#export DISPLAY=10.0.0.1:0.0
#10.0.0.1为本机电脑IP,可以在网卡属性中查看,0.0为上图中Xmanager后的窗口
[root@centos7 ~]#system-config-kickstart
- 依次配置上图中左侧菜单:
上图中http://10.0.0.104/centos/7/os/x86_64为自建的yum仓库
出现上图不显示可选的包信息,需要修改yum仓库配置文件:
[root@centos7 ~]#vim /etc/yum.repos.d/***.repo
[development]
#把原来"[]"内的内容改成development,其它不变
安装前脚本,可不写
安装后脚本,可以写入希望执行操作,例如配置yum源
- 保存并命名为ks7.cfg
- 查看生成的kickstart文件ks7.cfg
[root@centos7 kickstart]#vim ks7.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$4EavzQm1$mSdkpMa2MRVRt4Gd0bVM7.
# System language
lang en_US
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled
ignoredisk --only-use=sda