mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/Mapleawaa/PVE-Tools-9.git
synced 2026-09-20 08:03:35 +08:00
fix: 修复审查机器人第二轮反馈 — 回归问题与遗漏边界
- upgrade-pve.sh: 拆分 apt update && dist-upgrade 短路逻辑为独立检查 - intel-legacy.sh: dpkg -i 失败时不再误报成功/锁定包 - cpupower.sh: /etc/modules 备份守卫改用布尔标志,避免重复备份 - popup.sh: 移除 restore_proxmoxlib 中与 reinstall 内部重复的日志 - iommu.sh: disable_pass 添加 /etc/modules backup_file;grub_add_param 失败时 early return - init.sh(08): backup_file 失败时中止黑名单清理并提示
This commit is contained in:
@@ -181,11 +181,13 @@ cpu_add() {
|
||||
log_warn "没有找到任何驱动,似乎你的系统不支持或驱动安装失败。"
|
||||
pause_function
|
||||
else
|
||||
local modules_backed_up=0
|
||||
for i in $drivers; do
|
||||
modprobe $i
|
||||
if ! grep -qw "$i" /etc/modules; then
|
||||
if ! grep -q 'modbyshowtempfreq' /etc/modules 2>/dev/null; then
|
||||
if [[ "$modules_backed_up" -eq 0 ]]; then
|
||||
backup_file "/etc/modules"
|
||||
modules_backed_up=1
|
||||
fi
|
||||
echo "$i" >> /etc/modules
|
||||
fi
|
||||
|
||||
@@ -58,10 +58,8 @@ restore_proxmoxlib() {
|
||||
fi
|
||||
|
||||
if ! reinstall_pve_webui_packages; then
|
||||
log_error "恢复失败,请检查软件源或网络后重试"
|
||||
return 1
|
||||
fi
|
||||
log_success "官方 Web UI 文件已恢复"
|
||||
}
|
||||
|
||||
# 合并 local 与 local-lvm
|
||||
|
||||
@@ -50,8 +50,12 @@ pve8_to_pve9_upgrade() {
|
||||
|
||||
# 1. 更新当前系统到最新 PVE 8.x 版本
|
||||
log_info "更新当前系统到最新 PVE 8.x 版本..."
|
||||
if ! apt update && apt dist-upgrade -y; then
|
||||
log_error "更新 PVE 8.x 到最新版本失败了,请检查网络连接或源配置,或者前往作者的GitHub反馈issue.."
|
||||
if ! apt update; then
|
||||
log_error "apt update 失败,请检查网络连接或源配置"
|
||||
return 1
|
||||
fi
|
||||
if ! apt dist-upgrade -y; then
|
||||
log_error "apt dist-upgrade 失败,请检查软件包冲突或前往作者的GitHub反馈issue"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -135,13 +135,18 @@ intel_gpu_passthrough() {
|
||||
|
||||
if [[ -s "$qemu_deb_file" ]]; then
|
||||
log_info "正在安装修改版 QEMU..."
|
||||
dpkg -i "$qemu_deb_file"
|
||||
rm -f "$qemu_deb_file"
|
||||
log_success "安装完成"
|
||||
if dpkg -i "$qemu_deb_file"; then
|
||||
rm -f "$qemu_deb_file"
|
||||
log_success "安装完成"
|
||||
|
||||
# 阻止更新
|
||||
apt-mark hold pve-qemu-kvm
|
||||
log_info "已锁定 pve-qemu-kvm 防止自动更新"
|
||||
# 阻止更新
|
||||
apt-mark hold pve-qemu-kvm
|
||||
log_info "已锁定 pve-qemu-kvm 防止自动更新"
|
||||
else
|
||||
rm -f "$qemu_deb_file"
|
||||
log_error "安装修改版 QEMU 失败,请检查 deb 包完整性"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
rm -f "$qemu_deb_file"
|
||||
log_error "下载失败"
|
||||
|
||||
@@ -35,6 +35,9 @@ enable_pass() {
|
||||
if ! grep -qw "$(echo "$iommu" | cut -d'=' -f1)" /etc/default/grub; then
|
||||
if grub_add_param "$iommu"; then
|
||||
update-grub
|
||||
else
|
||||
log_error "GRUB 参数添加失败,无法继续配置硬件直通"
|
||||
return 1
|
||||
fi
|
||||
if [ `grep "vfio" /etc/modules|wc -l` = 0 ];then
|
||||
cat <<-EOF >> /etc/modules
|
||||
@@ -82,6 +85,7 @@ disable_pass() {
|
||||
log_warn "您还没有配置过该项"
|
||||
else
|
||||
grub_remove_param "$iommu"
|
||||
backup_file "/etc/modules"
|
||||
sed -i '/vfio/d' /etc/modules
|
||||
# 使用安全的配置块删除,而不是直接删除整个文件
|
||||
remove_block "/etc/modprobe.d/blacklist.conf" "HARDWARE_PASSTHROUGH"
|
||||
|
||||
@@ -60,7 +60,11 @@ show_menu_rescue() {
|
||||
"请确认你需要移除黑名单中的显卡和声卡驱动限制。" \
|
||||
"CONFIRM"; then
|
||||
log_info "正在清理黑名单配置..."
|
||||
backup_file "/etc/modprobe.d/pve-blacklist.conf"
|
||||
if ! backup_file "/etc/modprobe.d/pve-blacklist.conf"; then
|
||||
log_error "无法备份 /etc/modprobe.d/pve-blacklist.conf,操作中止"
|
||||
pause_function
|
||||
break
|
||||
fi
|
||||
sed -i '/blacklist i915/d' /etc/modprobe.d/pve-blacklist.conf
|
||||
sed -i '/blacklist snd_hda_intel/d' /etc/modprobe.d/pve-blacklist.conf
|
||||
sed -i '/blacklist snd_hda_codec_hdmi/d' /etc/modprobe.d/pve-blacklist.conf
|
||||
|
||||
Reference in New Issue
Block a user