自动化安装和部署(kickstart)
安装 kickstar
1)###此文件centos7可免费安装,centos8取消了这个文件,只有收费用户才可安装,想要实现这个功能需要自定义修改模板实现
yum -y install system-config-kickstart
2)###system-config-kickstart因为是图形化界面的工具,因此运行这个工具需要使用Xmanager - Passive将linux的图形化界面显示到windows中
export DISPLAY=10.0.0.1:0.0 ###10.0.0.1为windows地址(可用ss -nt查看),:0.0为Xmanager - Passive端口,意思是将图形传递到windows中的Xmanager - Passive显示
3)###然后运行软件
system-config-kickstart
一、设置密码,安装勾选安装完后重启
二、因为是安装系统,以网络的方式来安装,因此需要在其中一台机器上搭建个yum源让机器能够通过网络的方式获取到这个iso文件,所以新建一个光驱并选择系统ISO文件(为什么要新建一个光驱,因为新建的光驱使用的iso镜像是最小化安装,安装什么系统就用什么iso)
三、添加新光驱后使用 echo '- - -' > /sys/class/scsi_host/host2/scan 进行识别(如果还是无法识别就重启)
四、在http服务下创建文件夹用来挂载光驱并开机自启http服务
mkdir -pv /var/www/html/centos/7/os/x86_64
mount /dev/sr1 /var/www/html/centos/7/os/x86_64
systemctl enable --now httpd
五、搭建完之后,选择http,输入yum源的服务器IP以及yum源路径
六、使用网卡参数net.ifnames=0 将网卡名修改成eth0
七、对硬盘进行初始化,点击ADD分配硬盘容量(根据实际需求)
八、创建网卡,这里网卡名为eth0,DHCP表示为自动获取
九、将防火墙和selinux(安全子系统)禁用
十、到了包选项显示无法获取包(这是centos7的一个bug)
1)到了这一步首先先保存配合文件到root中
2)然后进入yum仓库将base名字改为development
3)重新打开软件system-config-kickstart通过open file 打开保存的配置文件
4)再次打开包选项发现有了,但是因为是最小化安装所有不进行设置
十一、Pre-Installation Script(安装前执行脚本)Post-Installation Script(安装完执行脚本)
这里选择Post-Installation Script选项,然后编写脚本,因为安装完系统默认是国外的yum源(慢)因此我们需要重新进行配置。
1)###创建一个文件夹将yum.repos.d下中文件全部移走,然后通过多行重定向创建一个yum仓库(无y这一步还无yum源路径)。
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
EOF
2)###选择保存配置文件
3)###进入vim centos7cfg配置文件中,拉到最下面发现有在Post-Installation Script编写的脚本内容,然后在多行重定向下面编写获取yum源的路径信息
注意:使用的是本机的yum路径信息因此原本[baseOS]这里是[development](我这里仍旧使用的是国外源,在配置的时候要换成国内源)
十二、1)###在配置文件中找到时区修改成亚洲上海(我这里选择上海)
2)###如果要基于key秘钥验证,机器之间能够通过ssh直接访问(不需要输入root口令)的话,则要通过三个操作。
ssh-keygen ###在本机上生成秘钥存放在ls /root/.ssh/下
ssh-copy-id 127.0.0.1 ###将秘钥中的公钥拷贝到本机上在.ssh文件下会生成authorized_keys文件(内容为公钥)
3)###进入配置文件vim centos7cfg 中的EOF下建立一个/root下权限为700的.ssh文件夹,然后通过多行重定向在这个/root/.ssh/文件夹下创建authorized_keys 文件并将本机上的authorized_keys文件生成的公钥信息粘贴进去并且修改权限为600(这样如果不是文件所有者对文件就没有写权限,避免了他人修改公钥信息后无法登录的情况出现)。
mkdir /root/.ssh -m700
cat > /root/.ssh/authorized_keys <<EOF
(公钥黏贴处)
EOF
chmod 600 /root/.ssh/authorized_keys
十三、如果需要安装一些指定的包需要特定格式在配置文件中编写,%packages表示要安装的包,@core表示结束语句,最后面还要加个%end表结束
十四、然后将配置完的文件通过scp(覆盖拷贝),拷到一开始通过光盘搭建yum源的服务器(10.0.0.10)的/var/www/html/ks文件夹下。
scp /root/centos7cfg 10.0.0.10:/var/www/html/ks
十五、可用ksvalidator centos7cfg(centos7cfg为配置文件名)检查配置文件是否出错。(ksvalidator这个命令centos8无,可以scp到7上测试)
十六、创建一个centos7的虚拟机测试ks配置文件,虚拟机以光盘进行引导
十七、启动虚拟机进入该界面按ESC键,输入linux ks=http://10.0.0.10/ks/centos7cfg(将ks配置文件搭载在http服务上的路径粘贴进去注意:这个http服务器时专门用来存放ks文件的)
十八、如果卡在某一步,检查是哪一部分卡主,然后修改ks文件,如下图,卡在了
posted on 2021-05-14 18:59 1251618589 阅读(39) 评论(0) 编辑 收藏 举报