我在上几篇博客里面写了如何在虚拟机中安装linux系统,但是要一步一步的很麻烦,所以今天我们来学习以下自动化安装脚本,只需一步,即可安装
首先,我的电脑已经配置好了要安装的系统包,就是上一篇中的yum源配置,还有本地放置这磁盘文件
、
脚本如下
1.选择网络位置安装的
#!/bin/bash ##脚本的头文件
virt-install \ ##安装虚拟机
--location http://172.25.254.55/rhel7 \ ##安装包在的ip地址
--vcpus 1 \ ##设置cpu为一核心
--memory 1000 \ ##内存为一个g
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \ ##硬盘的信息
--network source=br0,model=virtio \ ##网卡的信息
--name $1 &> /dev/null & ##系统的名字
2.选择本地位置安装的
#!/bin/bash
virt-install \
--cdrom /home/kiosk/Desktop/rhel-server-7.0-x86_64-dvd.iso \
--vcpus 1 \
--memory 1000 \
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \
--network source=br0,model=virtio \
--name $1 &> /dev/null &
注:脚本写完后需要加上执行权限,chmod+x
然后运行脚本,用绝对路径或者,在脚本文件前加sh或者是./(点,斜杠)
/mnt/virt_create.sh lei
sh virt_create.sh lei
./virt_create.sh lei
利用上述方法只是省略了虚拟机的操作,如何连进入安装界面以后也自动安装呢
这里就需要用到kickstart了
首先需要安装kickstart和httpd
yum install system-config-kickstart
yum install httpd
然后
systemctl stop firewalld
systemctl start httpd
然后在终端输入
system-config-kickstart
接下来,需要对kickstart进行选择
1.Basic configuration
2.Installition Method
3.Boot loader Options
4.Partition Information
这里swap分配500,boot分配200,剩下的全部给根目录
5.Network Configuration,这里名称可以写eth0
6.Authentication
7.Firewall Configuration
8.Display Configuration
下面几个选项默认就可以了
然后保存到/var/www/html/下
然后找到该文件,在其最后添加
%packages ##选择安装的软件包
@base ##安装最基本的软件组
lftp ##安装ftp
%end ##结束
并用命令检查是否有错误
ksvalidator ks.cfg
然后然后编辑之前的脚本
ps:如果想要安装跟之前一模一样的系统,可以在本地用户加目录里找一下
使用如上图的anaconda-ks.cfg来代替下面脚本中的ks.cfg
#!/bin/bash ##脚本的头文件
virt-install \ ##安装虚拟机
--location http://172.25.254.55/rhel7 \ ##安装包在的ip地址
--vcpus 1 \ ##设置cpu为一核心
--memory 1000 \ ##内存为一个g
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \ ##硬盘的信息
--network source=br0,model=virtio \ ##网卡的信息
--name $1 \ ##系统的名字
--extra-args "ks=http://172.25.254.55/ks.cfg" &> /dev/nul & ##在该ip读取相应的配置
运行脚本就可以完全自动化的安装虚拟机啦
如图就是成功了~