From 1a48d8222470a6817ee6c02f8a42ebd0333c7047 Mon Sep 17 00:00:00 2001 From: Raphael Dannecker Date: Wed, 27 Nov 2024 12:04:43 +0100 Subject: [PATCH] Prevent wasting disk space by accident --- roles/lmn_vm/files/vm-run | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/roles/lmn_vm/files/vm-run b/roles/lmn_vm/files/vm-run index 89e0542..9a41b7c 100755 --- a/roles/lmn_vm/files/vm-run +++ b/roles/lmn_vm/files/vm-run @@ -145,6 +145,31 @@ start_virtiofsd() { --socket-path "$socket" --shared-dir "/lmn/media/${USER}" --syslog } +ask_really_persistent() { + cat << EOF >&2 + +!!!!!!!!!!!!!!! Wichtig !!!!!!!!!!!!!! + +Auf dem Computer existiert noch keine persistente VM mit dem Namen ${VM_NAME}. +Das Anlegen persistenter Maschinen sollte nur auf Computern geschehen, +die dem jeweiligen Benutzer zugeordnet sind. +In Klassenzimmern oder Computerräumen ist das Verwenden persistenter +Maschinen normalerweise nicht sinnvoll und sprengt die verfügbaren +Festplattenkapazität. + +EOF + read -rp "Ist die Installation einer persistenten VM wirklich gewünscht? ja/nein " answer + if [[ "${answer,,}" == "ja" ]]; then + VM_DIR="${VM_DIR_PERSISTENT}" + echo "Die VM ${VM_NAME} wird persistent auf der Festplatte angelegt!" + sleep 5 + else + PERSISTENT=0; + echo "Die VM ${VM_NAME} wird nicht persistent gestartet!" + sleep 5 + fi +} + QEMU='qemu:///session' NEWCLONE=0 @@ -166,7 +191,6 @@ while true; do case "$1" in -p | --persistent ) PERSISTENT=1; - VM_DIR="${VM_DIR_PERSISTENT}" shift ;; -n | --new ) @@ -266,6 +290,11 @@ if ! killall -s 0 squid; then /usr/sbin/squid -f /etc/squid/squid-usermode.conf fi +# check, if persistent VM is really wanted +if [[ "${PERSISTENT}" == 1 ]] && [[ ! -f "${VM_DIR_PERSISTENT}/${VM_NAME}.qcow2" ]]; then + ask_really_persistent +fi + # because virsh has problems with long pathnames, using diffent configdir export XDG_CONFIG_HOME="/tmp/${UID}/.config"