mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-07-09 17:28:31 +00:00
Fix bare-metal detection in firmware-update
systemd-detect-virt prints "none" on bare metal but exits non-zero, so the `|| echo "none"` fallback appended a second "none" and the check wrongly treated a physical Proxmox host as virtualized. Capture the command output directly and only block when a real virtualization type is reported.
This commit is contained in:
parent
6f08f3dede
commit
ab14266389
1 changed files with 5 additions and 3 deletions
|
|
@ -54,9 +54,11 @@ if ! pveversion | grep -Eq "pve-manager/(8\.[0-4]|9\.[0-9]+)(\.[0-9]+)*"; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Firmware updates only make sense on bare metal
|
||||
virt=$(systemd-detect-virt 2>/dev/null || echo "none")
|
||||
if [ "$virt" != "none" ]; then
|
||||
# Firmware updates only make sense on bare metal. systemd-detect-virt prints
|
||||
# "none" but exits non-zero on bare metal, so a `|| echo none` fallback would
|
||||
# duplicate the value; capture the output as-is instead.
|
||||
virt=$(systemd-detect-virt 2>/dev/null)
|
||||
if [ -n "$virt" ] && [ "$virt" != "none" ]; then
|
||||
msg_error "Firmware updates can only be applied on bare metal. Detected: $virt"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue