1. 程式人生 > >自動在虛擬機器安裝linux系統指令碼

自動在虛擬機器安裝linux系統指令碼

我在上幾篇部落格裡面寫了如何在虛擬機器中安裝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
%end

 

然後然後編輯之前的指令碼

#!/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讀取相應的配置

執行指令碼就可以完全自動化的安裝虛擬機器啦