[Ubuntu] 解決 Ubuntu 中「Exception: cannot get content of ubuntu-drivers-common」導致無法配置 Python3 套件的問題


關鍵字:  Ubuntu升級python失敗、Ubuntu更新python失敗



1. 前言

筆者使用 Ubuntu 進行軟體更新時,發現python3的各種錯誤訊息,導致無法更新,因此將分享在Ubuntu升級 Python3 套件時遇到錯誤訊息「Exception: cannot get content of ubuntu-drivers-common」的解決方法。


2. 問題描述

在終端機中執行更新和升級指令:
sudo dpkg --configure -a
sudo apt update
sudo apt upgrade

發現升級過程中,跳出 python3 的錯誤訊息:
Setting up python3 (3.12.3-0ubuntu2) ...
running python rtupdate hooks for python3.12...
Traceback (most recent call last):
  File "/usr/bin/py3clean", line 210, in <module>
    main()
  File "/usr/bin/py3clean", line 196, in main
    pfiles = set(dpf.from_package(options.package))
  File "/usr/share/python3/debpython/files.py", line 55, in from_package
    raise Exception("cannot get content of %s" % package_name)
Exception: cannot get content of ubuntu-drivers-common
error running python rtupdate hook ubuntu-drivers-common
dpkg: error processing package python3 (--configure):
 installed python3 package post-installation script subprocess returned error exit status 4

此外,其他依賴於 python3 的套件(如 python3-gi、networkd-dispatcher、python3-dbus)也無法配置,出現類似的錯誤訊息。


3. 問題分析

根據前面所描述的錯誤訊息,其中可以發現幾個關鍵點:
  1. 異常訊息:Exception: cannot get content of ubuntu-drivers-common
  2. 錯誤位置:在執行 py3clean 腳本時發生異常
  3. 影響範圍:導致 python3 套件升級失敗,進而影響依賴於它的其他套件
判斷是 python3 套件的配置腳本無法獲取 ubuntu-drivers-common 套件的內容,導致整個升級過程失敗。


4. 可能原因

  1. ubuntu-drivers-common 套件損壞或缺失:該套件可能未正確安裝、已損壞或其資訊檔案遺失。
  2. 套件管理器狀態異常:先前的不完整安裝或移除操作可能導致 dpkg 資料庫不一致。
  3. 檔案權限或完整性問題:相關的腳本或檔案可能因權限設定錯誤或損壞而無法存取。

總之,筆者是依照CIS的要求,把下列目錄獨立分區後,就變成這種情況:
/home
/var 
/var/log 
/var/tmp 
/var/log/audit


5. 解決方案

步驟一:檢查 ubuntu-drivers-common 套件的狀態

dpkg -l | grep ubuntu-drivers-common

狀態說明:
ii:已安裝
rc:已移除,但保留了配置檔案
un:未安裝
(筆者是沒有任何回應)

如果發現該套件未正確安裝或狀態異常,需要重新安裝。


步驟二:清除並重新安裝 ubuntu-drivers-common

清除可能已損壞的套件:
sudo dpkg --purge ubuntu-drivers-common

更新套件清單並重新安裝:
sudo apt update
sudo apt install ubuntu-drivers-common


步驟三:修復相依關係

sudo apt -f install


步驟四:重新配置所有未配置的套件

sudo dpkg --configure -a


步驟五:更新並升級系統

sudo apt update
sudo apt upgrade

通常到這邊應該就能確認問題被解決,不會在報錯了



轉貼本文時,需註明來自黑修斯的隨手札記原創作者 hughes chen(黑修斯),及附上原文連結,同時 禁止修改,禁止商業使用 。

張貼留言

0 留言