魏蓝

以梦为马

导航

系统的自动化安装应答文件制作

一、自动安装的应答文件

1.实现自动安装前,需要制作对应的安装应答文件,称为kickstart文件,用于保存安装,过程需要指定的选项

2.我们安装centos后本地就有一个anaconda-ks.cfg的文件,就是应答文件

[root@centos8 ~]# vim anaconda-ks.cfg 

 

 

二、kickstart文件格式说明

1.kickstart文件主要包括三个部分:命令段、程序段和脚本段

2.命令段:指明各种安装前配置,如键盘类型等

命令段中的常见命令:

keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源

3.程序包段:指明要安装的程序包组或程序包,不安装的程序包等

 %packages
 @^environment group: 指定环境包组,如:@^minimal-environment
 @group_name
 package
 -package
 %end

4.脚本段:

%pre: 安装前脚本
 %post: 安装后脚本

5.注意:

  • CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用
  • %addon, %packages, %onerror, %pre 、 %post 必须以%end结束,否则安装失败

6.示例:使用 system-config-kickstart 来创建ks文件(CentOS7.x)

1).安装system-config-kickstart ,启用xmanager

[root@centos7 ~]# yum -y install system-config-kickstart

[root@centos7 ~]# export DISPLAY=192.168.93.1:0.0
[root@centos7 ~]# system-config-kickstart

2、按需配

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 没加载出来就先保存

 

 出现这个bug我们需要修改配置文件/etc/yum.repos.d/xxx.repo中的base改为development

 

重新再打开

[root@centos7 yum.repos.d]# system-config-kickstart

出来了

 

 恢复刚才的包

 

 

 

 再次保存再centos7上再编辑它

配置yum源

 

 基于ssh的key验证再创建一个用户

 

 至此文件创建结束

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext 123456
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled


# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# Use network installation
url --url="http://192.168.93.129/centos/7/os/x86_64"
# System bootloader configuration
bootloader --append="net.ifnames=0" --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --size=10000
part /boot --fstype="xfs" --size=1000
part /swap --fstype="xfs" --size=2048
%post
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/base.repo <<EOF
[development]
name=CentOS
#baseurl=http://192.168.93.129/centos/7/
baseurl=file:///mnt
        https://mirrors.cloud.tencent.com/centos/7/os/x86_64/
gpgcheck=0
enabled=1

#[AppStream]
#name=aaaaa
#baseurl=http://mirrors.cloud.tencent.com/centos/7/os/x86_64/
#gpgcheck=0

[extras]
name=extras
baseurl=https://mirrors.cloud.tencent.com/centos/7/extras/x86_64/
gpgcheck=0

[epel]
name=epel
baseurl=https://mirrors.cloud.tencent.com/epel/7/x86_64/
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-7

EOF


mkdir /root/.ssh -m 700
cat > /root/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDBrQUDWXbcK/TppT7esuaNAyx9uBRRUgrzfa5DrgU5VcB5KB+OEsXQsG7hXD/2grLgYJ64pCQkQpoC2onmp1P4yc+hqjptV6XU2oBqHIUiKS4mGZQgbyYdcH3hbWUL4IoBK5cSmciuIMA4qCdnSizj9Db0nrK1/46jtreJ1Iq3v
4i0fGu9IfxnM1W/FD0nbm/+L9QigkGcqbrjY0K8mBlTrLvQuzI1YpukkkvPuRaLJ1Rq+cWnpebcayVN5zoJRYiHs21kp4wulAlMP3Gy60Uvshains6bHu+e0JL25bggSn5QVS3aEIa6ba2IGJbnyH9Bqrru957PfUon4cgygfpGB//PahCvHdfXyBi3MCB3+t7Jeo6KSQqsCExGft
blfMBTZzRocOck7uakkFymR04krbVzZe7pUEFx/tqWxBFDqJxiw0xiLRPTNTaTtM1nNTzlJ4c5n8zxCY4f0SRa7vqkCUknyDsPDX8QahnansSBhBny8rRcQS+p7INdBrOdayc= root@centos8
EOF
chmod 600 /root/.shh/authorized_keys

useradd linuxn64
echo 123456 | passwd --stdin linuxn64

%end

%packages
@web-server

%end 

3.检查此文件语法

[root@centos7 ~]# ksvalidator ks7.cfg 

4.将其传到centos8仓库中

[root@centos8 .ssh]# mkdir /var/www/html/ks
[root@centos7 ~]# scp ks7.cfg 192.168.93.129:/var/www/html/ks/centos7.cfg

 

 

 

我们现在就可以用它进行安装了。

5.利用此文件进行安装

 效果如下:

 

 

 

posted on 2022-03-23 19:48  魏蓝  阅读(639)  评论(0编辑  收藏  举报