mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/Mapleawaa/PVE-Tools-9.git
synced 2026-09-20 08:03:35 +08:00
fix: cpupower 安全写入与 upgrade-pve 强制升级确认加固
- cpupower.sh: modprobe 失败时跳过驱动写入;backup_file 失败时中止;tmpf 添加 local 并检查 mktemp - upgrade-pve.sh: 强制升级的 y/N read 替换为 confirm_high_risk_action (FORCE-UPGRADE)
This commit is contained in:
@@ -183,13 +183,19 @@ cpu_add() {
|
||||
else
|
||||
local modules_backed_up=0
|
||||
for i in $drivers; do
|
||||
modprobe $i
|
||||
if ! grep -qw "$i" /etc/modules; then
|
||||
if [[ "$modules_backed_up" -eq 0 ]]; then
|
||||
backup_file "/etc/modules"
|
||||
modules_backed_up=1
|
||||
if modprobe "$i"; then
|
||||
if ! grep -qw "$i" /etc/modules; then
|
||||
if [[ "$modules_backed_up" -eq 0 ]]; then
|
||||
if ! backup_file "/etc/modules"; then
|
||||
log_error "无法备份 /etc/modules,跳过驱动持久化"
|
||||
break
|
||||
fi
|
||||
modules_backed_up=1
|
||||
fi
|
||||
echo "$i" >> /etc/modules
|
||||
fi
|
||||
echo "$i" >> /etc/modules
|
||||
else
|
||||
log_warn "modprobe $i 失败,跳过该驱动"
|
||||
fi
|
||||
done
|
||||
sensors
|
||||
@@ -244,7 +250,11 @@ cpu_add() {
|
||||
fi
|
||||
|
||||
# 生成系统变量 (参考 PVE 8 脚本的改进实现)
|
||||
tmpf="$(mktemp)"
|
||||
local tmpf
|
||||
tmpf="$(mktemp)" || {
|
||||
log_error "无法创建临时文件"
|
||||
return 1
|
||||
}
|
||||
cat > $tmpf << 'EOF'
|
||||
|
||||
#modbyshowtempfreq
|
||||
@@ -381,7 +391,11 @@ EOF
|
||||
rm $tmpf
|
||||
|
||||
################### 修改pvemanagerlib.js ##########################
|
||||
tmpf="$(mktemp)"
|
||||
local tmpf
|
||||
tmpf="$(mktemp)" || {
|
||||
log_error "无法创建临时文件"
|
||||
return 1
|
||||
}
|
||||
cat > $tmpf << 'EOF'
|
||||
|
||||
//modbyshowtempfreq
|
||||
|
||||
@@ -88,8 +88,12 @@ pve8_to_pve9_upgrade() {
|
||||
log_error "pve8to9 检查发现严重错误!! 一般是软件包冲突或是其他报错!建议修复后再进行升级!"
|
||||
echo -e "${YELLOW}升级检查结果详情:${NC}"
|
||||
cat /tmp/pve8to9_check.log
|
||||
read -p "您确定要忽略这些错误并继续升级吗?这不是在开玩笑!(y/N): " force_upgrade
|
||||
if [[ "$force_upgrade" != "y" && "$force_upgrade" != "Y" ]]; then
|
||||
if ! confirm_high_risk_action \
|
||||
"忽略 pve8to9 严重错误并强制升级" \
|
||||
"pve8to9 检测到 FAIL 级别错误,忽略可能导致升级失败、系统无法启动或数据丢失。" \
|
||||
"将跳过 pve8to9 检查并继续执行 PVE 8.x → 9.x 升级流程。" \
|
||||
"这不是在开玩笑!请确保已完整备份并有回滚方案。" \
|
||||
"FORCE-UPGRADE"; then
|
||||
log_info "由于存在严重错误,已取消升级操作...返回主界面"
|
||||
return 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user