#!/bin/bash # # @Branislav Zeljak v0.1 # # Create VBox from template clear # Variablen IFS=" " VAR_OS_UBU=Ubuntu_64 VAR_OS_RH=RedHat_64 VAR_VGA=vmsvga # none|vboxvga|vmsvga|vboxsvga VAR_VID=32 VAR_RDP=339 VAR_NIC=bridged VAR_NET=en0 VAR_BOOT=30000 # Komponenten der Installation VAR_PATH="${HOME}/VirtualBox VMs/VDI" VAR_VB="${HOME}/VirtualBox VMs" VAR_UBUD="${VAR_PATH}/ubu2004d_master.vdi" VAR_UBUS="${VAR_PATH}/ubu2004s_master.vdi" VAR_CO7="${VAR_PATH}/centos7_master.vdi" VAR_CO8="${VAR_PATH}/centos8_master.vdi" # Eingabe Aufforderung & Schleife read -p "Wievile VMs werden benoetigt? [1]: " VAR_QUAN read -p "Welche Praefix soll die VM erhalten?: " VAR_PRE echo COLUMNS=6 PS3='Please enter your choice: ' options=("Ubuntu Desktop" "Ubuntu Server" "CentOS 7" "CentOS 8" "Quit") select opt in "${options[@]}" do case $opt in "Ubuntu Desktop") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_UBU}" VAR_VDI="${VAR_UBUD}" ;; "Ubuntu Server") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_UBUS}" VAR_VDI="${VAR_UBUS}" ;; "CentOS 7") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_RH}" VAR_VDI="${VAR_CO7}" ;; "CentOS 8") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_RH}" VAR_VDI="${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_VB}/ # CPU Memory Netzwerk RDP VBoxManage modifyvm ${VAR_NAME}-${N} \ --ioapic on \ --cpus ${VAR_CPU} \ --memory ${VAR_MEM} \ --graphicscontroller ${VAR_VGA} \ --vram ${VAR_VID} \ --nic1 NatNetwork \ --nic2 ${VAR_NIC} \ --bridgeadapter2 ${VAR_NET} \ --vrde on \ --vrdemulticon on \ --vrdeport ${VAR_RDP}${N} \ --bioslogodisplaytime ${VAR_BOOT} VBoxManage storagectl ${VAR_NAME}-${N} \ --name "SATA Controller" \ --add sata \ --controller IntelAhci # Create HDD0 VBoxManage clonehd \ ${VAR_VDI} ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk0.vdi # Create HDD1 VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk1.vdi \ --size 10240 \ --format VDI # Create HDD2 VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}-disk2.vdi \ --size 10240 \ --format VDI # Storage attach HDD0 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 # Storage attach HDD1 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 # Storage attach HDD2 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 # IDE Controller VBoxManage storagectl ${VAR_NAME}-${N} \ --name "IDE Controller" \ --add ide \ --controller PIIX4 # Boot option VBoxManage modifyvm ${VAR_NAME}-${N} \ --boot1 disk \ --boot2 none \ --boot3 none \ --boot4 none # Storage attach HDD1 done break done