記一次修復PROXMOX PVE 升級後無法啓動的解決方法

上文 Proxmox PVE 無法啓動、如何關閉HDMI顯卡直通 完成後,就開始正式排查爲什麼 apt upgrade 升級導致了PVE無法啓動,以及解決的方法。

找出始作俑者

既然是 apt upgrade 產生的問題,那第一個想法是:是不是 upgrade 沒有完成好?於是重新執行 apt upgrade,發現PVE並不能上網??!! ping google.com 都不能ping 通。

然後 ip a,發現所有網卡都沒有IP地址,還是DOWN的狀態。

這就奇怪了。

排查 /etc/network/interfaces 是正常的

還有一點奇怪,爲什麼 auto 的 vmbr0 沒有帶起來呢? (ip a 中沒有 vmbr0)

於是我嘗試 ifup enp1s0 竟然出現: -bash: /usr/sbin/ifup: Permission denied ??我是root用戶呢,怎麼會這樣呢? 於是到google 一搜,竟然有人和我一樣:

No network available – ifup: Permission Denied | Proxmox Support Forum

追帖發現解決方法竟然是: dpkg --configure -a

懷着疑惑,reboot

竟然好了!!!

結論:升級PVE的「手法」

也就是說,本次的升級很可能是由於 apt upgrade 造成 dpkg 管理系統的一些混亂。導致網路不能啓動,導致整個PVE無法透過網路訪問。繞了一大圈,結論是:PVE升級後要 dpkg --configure -a 一次!

dpkg --configure -a 是 Debian 和基於 Debian 的系統(如 Ubuntu)中用來解決安裝或更新過程中出現問題的命令。這個命令會配置所有處於未配置狀態的包裹,通常是在安裝過程因某些原因中斷後需要使用。

當你運行 dpkg --configure -a,它會執行以下步驟:

  1. 檢查未配置的包裹dpkg 會檢查系統中所有安裝但尚未配置的包裹。這些包裹可能是在之前的安裝或更新過程中因為一些問題(例如,系統崩潰、電源故障等)而未能成功配置。
  2. 配置這些包裹:它會嘗試重新配置所有檢測到的未配置包裹。這個過程包括執行包裹中的安裝後腳本,設置系統中的相關文件和目錄,以及完成安裝過程所需的其他步驟。
  3. 解決依賴關係dpkg 會確保所有包裹的依賴關係被滿足,這意味著在配置一個包裹之前,會先配置其所依賴的其他包裹。

這個命令在以下情況中特別有用:

  • 安裝或更新過程被中斷:如果你在安裝或更新過程中遇到系統崩潰、強制關機或其他原因導致過程未能完成,dpkg --configure -a 可以幫助你恢復並完成這些過程。
  • 系統出現錯誤信息:如果你在安裝新軟體包或更新現有包裹時收到錯誤信息提示某些包裹未被配置,運行這個命令可以解決問題。
  • 排除包裹狀態異常:當系統中的包裹狀態異常,比如出現破損包裹或安裝狀態不一致時,這個命令能夠幫助恢復系統正常運行。

歡迎你的留言討論:

你可以一針見血

by Upsangel
Logo