linux中无人职守安装脚本
虚拟机硬件信息设定脚本
cd /mnt
vim westos.sh ##编辑脚本文件
#!/bin/bash
virt-install \
--location http://192.168.43.100/westos \
--os-variant rhel8.2 \
--vcpus 1 \
--memory 2048 \
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \
--name $1 \
--network bridge=br0,model=virtioi &
sh westos haha ##运行文件,haha就是这个新建虚拟机的名字,可以随意更改
##脚本指定解释器
##查询帮助
##在帮助中协助搜索,查看大量实际例子
kickstart自动安装脚本的作用
-
在企业中安装多台操作系统时面临的问题:
当安装Linux操作系统时,安装过程会需要回答很多关于设定的问题,这些问题必须手动选择,否则无法进行安装。当只安装1台Linux系统,手动选择设定工作量比较轻松。当安装多台Linux,这些设定需要重复多次,这些重复动作是效率底下的操作
-
如何解决以上问题?
用文件来记录所有安装过程中问题的答案,并让所有需要安装的主机自动读取
-
kickstart作用
以上解决方案中记录系统安装过程中所有问题答案的文件叫kickstart脚本
在rhel7系统中提供图形的kickstart制作方式
在rhel8中已经把图形的工具取消,并添加到rhn网络中
在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板生成
在已经装好的rhel8中,/root/anaconda-ks.cfg 就是安装当前系统时回答的所有问题的答案生成的kickstart,此文件为kickstart模板
实验环境
1.主机名称 :westos_node1
2.ip :192.168.10.100
3.火墙,selinux关闭
systemctl disable --now firewalld
getenforce
vim /etc/selinux/config
4.httpd服务开启
dnf install httpd -y
systemctl enable --now httpd
5.配置软件仓库能正常工作
6.
mkdir /var/www/html/ks
cp /root/anaconda-ks.cfg /var/www/html/ks/ljx.cfg
vim /var/www/html/ks/ljx.cfg
#version=RHEL8
#ignoredisk --only-use=sda ##只是用我们系统中的第一快硬盘
#Partition clearing information
clearpart --all --initlabel ##把sda硬盘的所有内容删掉
#Use graphical install
#graphical ##安装过程开启图形
text ##安装过程不开图形
#Use CDROM installation media
#cdrom
url --url="http://192.168.10.100/westos" ##系统安装资源
#Keyboard layouts
keyboard --vckeymap=us --xlayouts='us' ##键盘布局为美式键盘
#System language
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 ##系统支持的语言
#Network information
network --bootproto=dhcp --onboot=on ##网卡设定
#network --hostname=localhost.localdomain##主机名设定
repo --name="AppStream" --baseurl="http://192.168.10.100/westos/AppStream" ##软件安装资源
#Root password
rootpw --plaintext westos ##密码是明码
#X Window System configuration information
#xconfig --startxonboot ##安装完成后开机启动图形
#Run the Setup Agent on first boot
firstboot --disable ##首次启动初始化禁止
#System services
#services --disabled="chronyd" ##在开机时开启或关闭的服务
#System timezone
timezone Asia/Shanghai --isUtc --nontp ##系统时区,启用utc计时方式,不其同ntp时间同步
#Disk partitioning information
part /boot --fstype="xfs" --size=500 ##/boot分区大小为500M
part / --fstype="xfs" --grow --size=1 ##让/分区使用全部空闲磁盘空间
part swap --fstype="swap" --size=500 ##swap分区大小为500M
reboot
%packages
#@^graphical-server-environment
@base ##安装软件组base
httpd ##安装单个软件httpd
%end
%post ##系统安装后自动执行的脚本
touch /mnt/westosfile{1..5}
%end
dnf install pykickstart-3.16.10-1.el8.noarch -y
ksvalidator /var/www/html/ks/ljx.cfg
##语法检测只能看出你这个文件中语法是否正确,不能看出你的设定是不是正确。
–extra-args “ks=http://192.168.10.100/ks/ljx.cfg”