From b7eb5f1beef341599e5e3cdfc7454d5c7d3234d2 Mon Sep 17 00:00:00 2001 From: braniz Date: Sat, 14 Nov 2020 18:08:10 +0100 Subject: [PATCH] Initial --- .co8_vbox.sh.swp | Bin 0 -> 12288 bytes .gitignore | 3 + README.md | 26 ++++++++ co8_vbox.sh | 108 +++++++++++++++++++++++++++++++++ co8_vdi.sh | 96 +++++++++++++++++++++++++++++ delete.sh | 25 ++++++++ hostname.sh | 32 ++++++++++ start.sh | 25 ++++++++ stop.sh | 25 ++++++++ ubu_vbox.sh | 95 +++++++++++++++++++++++++++++ ubu_vdi.sh | 96 +++++++++++++++++++++++++++++ vbox.sh | 155 +++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 686 insertions(+) create mode 100644 .co8_vbox.sh.swp create mode 100644 .gitignore create mode 100644 README.md create mode 100644 co8_vbox.sh create mode 100644 co8_vdi.sh create mode 100644 delete.sh create mode 100644 hostname.sh create mode 100644 start.sh create mode 100644 stop.sh create mode 100644 ubu_vbox.sh create mode 100644 ubu_vdi.sh create mode 100644 vbox.sh diff --git a/.co8_vbox.sh.swp b/.co8_vbox.sh.swp new file mode 100644 index 0000000000000000000000000000000000000000..a95912578571957ad8bc277a0a0d38fcee533607 GIT binary patch literal 12288 zcmeI2O>7%Q6vrnBT3Toe^g=nn)Qw7!SbrrdA;JR34$T&9r;XzxQWTAM$H|cOuDiQ& z(^jTZjvRVGRFycO3JFfA+~|b^QaN%!P{hXp^?>*ghpJL;^uT|1z4j(FA&o!?G%NqK zJNusBy!p@D8AsWAx~7-tNHRlkJVeN)+aJvyH1g!>y@b?VW{b1Zu<;>IX-#G%8?Nxr zChN}9dfsn@0aF#57hTcjDgBsM$`|D6gz!9Wr;g~=R86@4BC`-DWjG_VZCoV1`SoI| z`$_?&z-ATLMTWAOwDdlZ*iZL9GQHU^DnF%wQa~x76i^B%1(X6x0i}Ra;D4Zi-x?t2 zF^+q>W3jsDfi>rDQ=OCoN&%&SQa~x76i^B%1(X6x0i}RaKq;UU_zx<;OhUHbOUPIE zA$k1&Kl=NBWe*{@z_;LQ@IH7CTm)}}3!n;~1Utbmy9xOj`~+@*AHZke3b+WC!D+An zW;sR2n-3y3_!L|Q%fJNBfrDTV`0WAY1HJ%n zg419QnBZlw4Xo@Wd|-kqco^&kH|{6o6L1B* z3od|{zyx><+}uvc_uv}%5Yzz!hrvFu6Rd1Qf8ZLp4Bi6Epb3tGBj9nc3;d3``W1W! zt^+xDUjlU~1(X6x0n@QL*+HqM)g8wlruM4#P|&6)`yN?p3U48PCqvD)i5ryG#+;=R zv)LS{O~(|CGwmiFJXgyfpDpK0;~j1AT)7iChT)pr6pN9^WWGAlNrm3}RHYNT_-9&N zhBxIaU{R+gZwrIdbkuG+u1_;j%kv!<85q7r6MAu+7987m9n0cwBIrAoWY?AXJ~QSw z%GBt^pp&}(%5az*GfgVYURpM5^38TBv%7;b&@ehQtt(I0uQnE`)7P>qSO3PWoSSU2 zZHiTq0u|?xt(>Ij(6pG2(M?$gft=YjzHwEj^40v`BI{O1ml81RpV{_5+1qz7bvwE7O_0MZW4XlOxrqw4;pnAlY}T|^ z@)Cg^TW+qvZND<5J)oSEnsj%Pjcs0lEbdW?~Zp!g6JR1m)(ZHt=tY$QLDqFFLa>8Yy2;1|S qWiekkb~60R3uE&2ea~WT`YN|xXA88Q#%umE-2PNu*eMkEJoy8Mf>k#F literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..52c7e9e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +~ +VDI +test diff --git a/README.md b/README.md new file mode 100644 index 0000000..af608d6 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# BASH Script für die Erstellung von VirtualBox VMs + +## Vrobereitung: + +Bei den VirtualBox VMs muss die Gasterweiterung installiert sein, damit die `VBoxManage` Kommandos für die Anpassung der VM funktionieren. + + - Installaiton einer VM nach eigenen Wünschen. + - Einrichtung von root und einen user + - Mit `VBoxManage clonehd` die hdd.vdi clonen und sicher Speichern. + +``` +VBoxManage clonehd Erstelte_VM.vdi Master_VDI-disk0.vdi +``` + + +``` +├── osx_co8_vbox.sh - Erstellt mehrere CentOS VMs für die manuelle Installation vom ISO. +├── osx_co8_vdi.sh - Erstellt mehrere CentOS VMs von einem Template. +├── osx_delete.sh - Löscht die angegebenen VMs. +├── osx_hostname.sh - Ändert den hostnamen für die angegebenen VMs. +├── osx_start.sh - Stattet die angegebenen VMs. +├── osx_stop.sh - Stopt die angegebenen VMs. +├── osx_ubu_vbox.sh - Erstellt mehrere Ubuntu für die manuelle Installation vom ISO. +└── osx_ubu_vdi.sh - Erstellt mehrere Ubunut VMs von einem Template. + +``` diff --git a/co8_vbox.sh b/co8_vbox.sh new file mode 100644 index 0000000..c797bb6 --- /dev/null +++ b/co8_vbox.sh @@ -0,0 +1,108 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create multiple CentOS VBox for installation. +# +# Variablen: + +clear +read -p "Wievile CentOS VMs werden benoetigt?: " VAR_QUAN +read -p "Praefix Host Name [co8]: " VAR_NAME +read -p "CPUs [1]: " VAR_CPU +read -p "Memory [1024]: " VAR_MEM + + +IFS=" +" +VAR_NAME=${VAR_NAME:-co8} +VAR_CPU=${VAR_CPU:-1} +VAR_MEM=${VAR_MEM:-1024} +VAR_OS="Centos_64" +VAR_VID=32 +VAR_RDP=339 +VAR_NIC=bridged +VAR_NET=en0 +VAR_PATH="${HOME}/VirtualBox VMs/ISO/" +#VAR_ISO=CentOS-8.2.2004-x86_64-minimal.iso +VAR_ISO=CentOS-7-x86_64-DVD-2003.iso +VAR_VB="${HOME}/VirtualBox VMs" + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage createvm \ + --name ${VAR_NAME}-${N} \ + --ostype ${VAR_OS} \ + --register \ + --basefolder ${VAR_NAME}-${N} + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --ioapic on \ + --cpus ${VAR_CPU} \ + --memory ${VAR_MEM} \ + --vram ${VAR_VID} \ + --nic1 ${VAR_NIC} \ + --bridgeadapter1 ${VAR_NET} \ + --vrde on \ + --vrdemulticon on \ + --vrdeport ${VAR_RDP}${N} + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi \ + --size 102400 \ + --format VDI + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi \ + --size 10240 \ + --format VDI + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk2.vdi \ + --size 10240 \ + --format VDI + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "SATA Controller" \ + --add sata \ + --controller IntelAhci + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 0 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 1 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 2 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk2.vdi + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "IDE Controller" \ + --add ide \ + --controller PIIX4 + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "IDE Controller" \ + --port 1 \ + --device 0 \ + --type dvddrive \ + --medium ${VAR_PATH}/${VAR_ISO} + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --boot1 dvd \ + --boot2 disk \ + --boot3 none \ + --boot4 none +done + diff --git a/co8_vdi.sh b/co8_vdi.sh new file mode 100644 index 0000000..fa1c1a0 --- /dev/null +++ b/co8_vdi.sh @@ -0,0 +1,96 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + + +clear +read -p "Wievile CentOS VMs werden benoetigt?: " VAR_QUAN +read -p "Praefix Host Name [co8]: " VAR_NAME +read -p "CPUs [1]: " VAR_CPU +read -p "Memory [1024] : " VAR_MEM + +IFS=" +" + +VAR_NAME=${VAR_NAME:-co8} +VAR_CPU=${VAR_CPU:-1} +VAR_MEM=${VAR_MEM:-1024} +VAR_OS=CentOS_64 +VAR_VID=32 +VAR_RDP=339 +VAR_NIC=bridged +VAR_VB="${HOME}/VirtualBox VMs" +VAR_VDI="${HOME}/VirtualBox VMs/VDI/centos8_master.vdi" + + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage createvm \ + --name ${VAR_NAME}-${N} \ + --ostype ${VAR_OS} \ + --register \ + --basefolder ${VAR_VB} + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --ioapic on \ + --memory ${VAR_MEM} \ + --vram ${VAR_VID} \ + --nic1 ${VAR_NIC} \ + --bridgeadapter1 enp8s0 \ + --vrde on \ + --vrdemulticon on \ + --vrdeport ${VAR_RDP}${N} + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "SATA Controller" \ + --add sata \ + --controller IntelAhci + + VBoxManage clonehd ${VAR_VDI} ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk0.vdi + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk1.vdi \ + --size 10240 \ + --format VDI + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk2.vdi \ + --size 10240 \ + --format VDI + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 0 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk0.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 1 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk1.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 2 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk2.vdi + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "IDE Controller" \ + --add ide \ + --controller PIIX4 + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --boot1 disk \ + --boot2 none \ + --boot3 none \ + --boot4 none +done diff --git a/delete.sh b/delete.sh new file mode 100644 index 0000000..8c4d5ee --- /dev/null +++ b/delete.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + + +clear +read -p "Wievile VMs sollen geloest werden?: " VAR_QUAN +read -p "Praefix in der VBox [ubu]: " VAR_NAME + +IFS=" +" + +VAR_NAME=${VAR_NAME:-ubu} +VAR_VB="${HOME}/VirtualBox VMs" +VAR_VDI="${HOME}/VirtualBox VMs/VDI/ubu2004_master.vdi" + + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage unregistervm ${VAR_NAME}-${N} --delete +done diff --git a/hostname.sh b/hostname.sh new file mode 100644 index 0000000..8ac15dc --- /dev/null +++ b/hostname.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + + +clear +read -p "Wievile VMs sind es?: " VAR_QUAN +read -p "Wie ist die Aktuelle Prfix in der VBox? : " VAR_PRE +read -p "Welchen Host Name sollen sie bekommen [ubu]: " VAR_NAME +#read -p "Name Admin User [root] :" VAR_USER +#read -p "Passwort Admin User [Start1234] : " VAR_PASS + +IFS=" +" + +VAR_NAME=${VAR_NAME:-ubu} +VAR_VB="${HOME}/VirtualBox VMs" +#VAR_USER=${VAR_USER:-root} +#VAR_PASS=${Start1234} + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage guestcontrol ${VAR_PRE}-${N} \ + run -v \ + --username root \ + --password Start1234 \ + -- "/usr/bin/hostnamectl" set-hostname ${VAR_NAME}-${N} +done diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..2385b48 --- /dev/null +++ b/start.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + + +clear +read -p "Wievile VMs sollen gestartet werden?: " VAR_QUAN +read -p "Praefix in der VBox [ubu]: " VAR_NAME + +IFS=" +" + +VAR_NAME=${VAR_NAME:-ubu} +VAR_VB="${HOME}/VirtualBox VMs" +VAR_VDI="${HOME}/VirtualBox VMs/VDI/ubu2004_master.vdi" + + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage startvm --type headless ${VAR_NAME}-${N} +done diff --git a/stop.sh b/stop.sh new file mode 100644 index 0000000..d6eb54e --- /dev/null +++ b/stop.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + + +clear +read -p "Wievile VMs sollen gestartet werden?: " VAR_QUAN +read -p "Praefix in der VBox [ubu]: " VAR_NAME + +IFS=" +" + +VAR_NAME=${VAR_NAME:-ubu} +VAR_VB="${HOME}/VirtualBox VMs" +VAR_VDI="${HOME}/VirtualBox VMs/VDI/ubu2004_master.vdi" + + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage controlvm ${VAR_NAME}-${N} poweroff +done diff --git a/ubu_vbox.sh b/ubu_vbox.sh new file mode 100644 index 0000000..d7cde55 --- /dev/null +++ b/ubu_vbox.sh @@ -0,0 +1,95 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + +clear +read -p "Wievile Ubuntu VMs werden benoetigt?: " VAR_QUAN +read -p "Praefix Host Name [ubu] : " VAR_NAME +read -p "CPUs [1]: " VAR_CPU +read -p "Memory [1024] : " VAR_MEM + + +IFS=" +" +VAR_NAME=${VAR_NAME:-ubu} +VAR_CPU=${VAR_CPU:-1} +VAR_MEM=${VAR_MEM:-1024} +VAR_OS=Ubuntu_64 +VAR_VID=32 +VAR_RDP=339 +VAR_NIC=bridged +VAR_HOME=$(whoami) +VAR_PATH="/Users/${VAR_HOME}/Downloads/ISO/" +VAR_ISO=ubuntu-20.04.1-live-server-amd64.iso +VAR_VB="/Users/${VAR_HOME}/VirtualBox VMs" + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage createvm \ + --name ${VAR_NAME}-${N} \ + --ostype ${VAR_OS} \ + --register \ + --basefolder ${VAR_NAME}-${N} + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --ioapic on \ + --cpus ${VAR_CPU} \ + --memory ${VAR_MEM} \ + --vram ${VAR_VID} \ + --nic1 ${VAR_NIC} \ + --bridgeadapter1 enp8s0 \ + --vrde on \ + --vrdemulticon on \ + --vrdeport ${VAR_RDP}${N} + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK0.vdi \ + --size 102400 \ + --format VDI + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK1.vdi \ + --size 10240 \ + --format VDI + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "SATA Controller" \ + --add sata \ + --controller IntelAhci + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 0 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK0.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 1 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK1.vdi + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "IDE Controller" \ + --add ide \ + --controller PIIX4 + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "IDE Controller" \ + --port 1 \ + --device 0 \ + --type dvddrive \ + --medium ${VAR_PATH}/${VAR_ISO} + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --boot1 dvd \ + --boot2 disk \ + --boot3 none \ + --boot4 none +done diff --git a/ubu_vdi.sh b/ubu_vdi.sh new file mode 100644 index 0000000..ddb40a2 --- /dev/null +++ b/ubu_vdi.sh @@ -0,0 +1,96 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +# Variablen: + + +clear +read -p "Wievile Ubuntu VMs werden benoetigt?: " VAR_QUAN +read -p "Praefix Host Name [ubu]: " VAR_NAME +read -p "CPUs [1]: " VAR_CPU +read -p "Memory [1024] : " VAR_MEM + +IFS=" +" + +VAR_NAME=${VAR_NAME:-ubu} +VAR_CPU=${VAR_CPU:-1} +VAR_MEM=${VAR_MEM:-1024} +VAR_OS=Ubuntu_64 +VAR_VID=32 +VAR_RDP=339 +VAR_NIC=bridged +VAR_VB="${HOME}/VirtualBox VMs" +VAR_VDI="${HOME}/VirtualBox VMs/VDI/ubu2004_master.vdi" + + +for N in $(seq 1 $VAR_QUAN) +do + VBoxManage createvm \ + --name ${VAR_NAME}-${N} \ + --ostype ${VAR_OS} \ + --register \ + --basefolder ${VAR_VB} + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --ioapic on \ + --memory ${VAR_MEM} \ + --vram ${VAR_VID} \ + --nic1 ${VAR_NIC} \ + --bridgeadapter1 enp8s0 \ + --vrde on \ + --vrdemulticon on \ + --vrdeport ${VAR_RDP}${N} + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "SATA Controller" \ + --add sata \ + --controller IntelAhci + + VBoxManage clonehd ${VAR_VDI} ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk0.vdi + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk1.vdi \ + --size 10240 \ + --format VDI + + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk2.vdi \ + --size 10240 \ + --format VDI + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 0 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk0.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 1 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk1.vdi + + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 2 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk2.vdi + + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "IDE Controller" \ + --add ide \ + --controller PIIX4 + + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --boot1 disk \ + --boot2 none \ + --boot3 none \ + --boot4 none +done diff --git a/vbox.sh b/vbox.sh new file mode 100644 index 0000000..c2e7273 --- /dev/null +++ b/vbox.sh @@ -0,0 +1,155 @@ +#!/bin/bash +# +# @Branislav Zeljak v0.1 +# +# Create VBox + +#VAR_QUAN=${VAR_QUAN:-1} +#VAR_CPU=${VAR_CPU:-1} +#VAR_MEM=${VAR_MEM:-1024} +VAR_OS_UBU=Ubuntu_64 +VAR_OS_RH=RedHat_64 +VAR_VID=32 +VAR_RDP=339 +VAR_NIC=bridged +VAR_NET=en0 + +# Komponenten der Installation + +VAR_PATH="${HOME}/VirtualBox VMs/ISO/" +VAR_UBU=ubuntu-20.04.1-desktop-amd64.iso +VAR_CO7=CentOS-7-x86_64-DVD-2003.iso +VAR_CO8= +VAR_VB="${HOME}/VirtualBox VMs" + +VAR_PATH="${HOME}/VirtualBox VMs/ISO/" +VAR_UBU=ubuntu-20.04.1-desktop-amd64.iso +VAR_CO7=CentOS-7-x86_64-DVD-2003.iso +VAR_CO8= +VAR_VB="${HOME}/VirtualBox VMs" + +clear + +IFS=" +" +read -p "Wievile VMs werden benoetigt? [1]: " VAR_QUAN +read -p "Welche Praefix soll die VM erhalten?: " VAR_PRE + +PS3='Please enter your choice: ' +options=("Ubuntu" "CentOS 7" "CentOS 8" "Quit") +select opt in "${options[@]}" +do + case $opt in + "Ubuntu") + VAR_NAME="${VAR_PRE}" + VAR_OS="${VAR_OS_UBU}" + VAR_ISO="${VAR_UBU}" + ;; + "CentOS 7") + VAR_NAME="${VAR_PRE}" + VAR_OS="${VAR_OS_RH}" + VAR_ISO="${VAR_CO7}" + ;; + "CentOS 8") + VAR_NAME="${VAR_PRE}" + VAR_OS="${VAR_OS_RH}" + VAR_ISO="${VAR_CO8}" + ;; + "Quit") + break + ;; + *) + echo "invalid option $REPLY" + ;; + esac + +read -p "Wieviele CPUs? [1] :" VAR_CPU +read -p "Wiviel Memory? [1024] :" VAR_MEM + +VAR_CPU=${VAR_CPU:-1} +VAR_MEM=${VAR_MEM:-1024} +VAR_QUAN=${VAR_QUAN:-1} + + for N in $(seq 1 $VAR_QUAN) + do + VBoxManage createvm \ + --name ${VAR_NAME}-${N} \ + --ostype ${VAR_OS} \ + --register \ + --basefolder ${VAR_NAME}-${N} + +# CPU Memory Netzwerk RDP +echo "Netzwerk" + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --ioapic on \ + --cpus ${VAR_CPU} \ + --memory ${VAR_MEM} \ + --vram ${VAR_VID} \ + --nic1 NatNetwork \ + --nic2 ${VAR_NIC} \ + --bridgeadapter2 ${VAR_NET} \ + --vrde on \ + --vrdemulticon on \ + --vrdeport ${VAR_RDP}${N} + +# Create HD-0 +echo "HDD" + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi \ + --size 102400 \ + --format VDI + +# Create HD-1 + VBoxManage createhd \ + --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi \ + --size 10240 \ + --format VDI + +# Create SATA Controler + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "SATA Controller" \ + --add sata \ + --controller IntelAhci \ + --add sata \ + --controller IntelAhci + +# Attach HD-0 to storage controller + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 0 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi + +# Attach HD-1 to storage controller + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "SATA Controller" \ + --port 1 \ + --device 0 \ + --type hdd \ + --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi + +# IDE controller for CD-ROM + VBoxManage storagectl ${VAR_NAME}-${N} \ + --name "IDE Controller" \ + --add ide \ + --controller PIIX4 + +# Attach CD-ROM ISO + VBoxManage storageattach ${VAR_NAME}-${N} \ + --storagectl "IDE Controller" \ + --port 1 \ + --device 0 \ + --type dvddrive \ + --medium ${VAR_PATH}/${VAR_ISO} + +# Boot + VBoxManage modifyvm ${VAR_NAME}-${N} \ + --boot1 dvd \ + --boot2 disk \ + --boot3 none \ + --boot4 none + + done +break +done