瀏覽代碼

fix: handle virtualization detection failures (#5086)

Daniel Gibbs 2 天之前
父節點
當前提交
c2a1bbaffa
共有 1 個文件被更改,包括 7 次插入 和 1 次删除
  1. 7 1
      lgsm/modules/info_distro.sh

+ 7 - 1
lgsm/modules/info_distro.sh

@@ -72,8 +72,14 @@ for distro_info in "${distro_info_array[@]}"; do
 done
 
 # Get virtual environment type.
+virtualenvironment="unavailable"
 if [ "$(command -v systemd-detect-virt 2> /dev/null)" ]; then
-	virtualenvironment="$(systemd-detect-virt)" # e.g. kvm
+	virtualenvironment="$(systemd-detect-virt 2> /dev/null)"
+	virtualenvironmentstatus=$?
+	# systemd-detect-virt returns "none" with a nonzero status on bare metal.
+	if [ "${virtualenvironment}" != "none" ] && { [ "${virtualenvironmentstatus}" != "0" ] || [[ ! "${virtualenvironment}" =~ ^[a-zA-Z0-9_-]+$ ]]; }; then
+		virtualenvironment="unavailable"
+	fi
 fi
 
 # distroversioncsv is used for selecting the correct distro csv in data directory