#!/bin/bash # # @Branislav Zeljak v0.1 # # Create VBox clear echo "Welches OS soll Installiert werden" echo COLUMNS=10 PS3="Please enter your choice: " options=("Ubuntu 2004 SRV" "Ubuntu 2004 GUI" "Ubuntu 2204 SRV" "Ubuntu 2204 GUI" "Debian" "RHEL" "Quit") select opt in "${options[@]}" do case $opt in "Ubuntu 2004 SRV") VAR_OS="Ubuntu_64" VAR_ISO="ubuntu-20.04.3-live-server-amd64.iso" ;; "Ubuntu 2004 GUI") VAR_OS="Ubuntu_64" VAR_ISO="ubuntu-20.04.3-desktop-amd64.iso" ;; "Ubuntu 2204 SRV") VAR_OS="Ubuntu_64" VAR_ISO="ubuntu-22.04-live-server-amd64.iso" ;; "Ubuntu 2204 GUI") VAR_OS="Ubuntu_64" VAR_ISO="ubuntu-22.04-desktop-amd64.iso" ;; "Debian") VAR_OS="Debian_64" VAR_ISO="debian-11.1.0-amd64-DVD-1.iso" ;; "RHEL") VAR_OS="RedHat_64" VAR_ISO="rhel-8.4-x86_64-dvd.iso" ;; "Quit") break ;; *) echo "invalid option $REPLY" ;; esac # Eingabe Auffoderung read -p "Wievile VMs werden benoetigt? [1]: " VAR_QUAN read -p "Praefix Host Name : " VAR_NAME read -p "CPUs [1]: " VAR_CPU read -p "Memory [2048] : " VAR_MEM # Variablen: IFS=" " VAR_PATH="/srv/data/ISO/" VAR_VB="/srv/vbox" VAR_CPU=${VAR_CPU:-1} VAR_MEM=${VAR_MEM:-2048} VAR_VID=64 VAR_RDP=339 VAR_NIC=bridged VAR_NET=enp4s0f1 # Schliefe zur erzeugung der 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} \ --graphicscontroller vmsvga \ --nic1 Nat \ --nic2 ${VAR_NIC} \ --bridgeadapter2 ${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 102400 \ --format VDI VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK2.vdi \ --size 102400 \ --format VDI VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK3.vdi \ --size 102400 \ --format VDI VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK4.vdi \ --size 102400 \ --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 storageattach ${VAR_NAME}-${N} \ --storagectl "SATA Controller" \ --port 3 \ --device 0 \ --type hdd \ --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK3.vdi VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "SATA Controller" \ --port 4 \ --device 0 \ --type hdd \ --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_DISK4.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 break done