apt-get install失敗后強制跳過的方法,修改/var/lib/dpkg/info下的安裝前后shell腳本
使用apt-get出現(xiàn)問題,錯誤信息大概如下
The package <package-name> needs to be reinstalled, but I can't find an archive for it.
用 apt-get install -f 無法修復.
考慮一下報錯信息,應該是apt對之前失敗的某次安裝A念念不忘,并且在安裝其他東西之前會重新安裝這個程序A.(這個和正常的失敗是不一樣的)
apt-get本質上是包裝了dpkg,可以想到在某個地方一定記錄了apt-get的歷史安裝信息
于是找到了文件/var/lib/dpkg/status,vim查看一下,每條信息的格式大概如下:
Package: 程序(包)名稱
Status: 狀態(tài)(正常為install ok installed)
Priority: optional
...
//不仔細寫了,大概包括依賴包,版本,架構,配置文件等信息
于是直接搜索到了之前報錯的包名稱,發(fā)現(xiàn)狀態(tài)是 install ok half-configured 果然和我想的一樣,和一般的失敗不同.把文件做了個備份,直接刪掉了整條信息.
再次安裝文件,發(fā)現(xiàn)ok
如果還是提示錯誤,apt-get install -f,之后可以正常安裝,不過安裝成功以后會彈出以前失敗的內容,可以通過清空/var/lib/dpkg/info 來清除以前的錯誤.
The package <package-name> needs to be reinstalled, but I can't find an archive for it.
用 apt-get install -f 無法修復.
考慮一下報錯信息,應該是apt對之前失敗的某次安裝A念念不忘,并且在安裝其他東西之前會重新安裝這個程序A.(這個和正常的失敗是不一樣的)
apt-get本質上是包裝了dpkg,可以想到在某個地方一定記錄了apt-get的歷史安裝信息
于是找到了文件/var/lib/dpkg/status,vim查看一下,每條信息的格式大概如下:
Package: 程序(包)名稱
Status: 狀態(tài)(正常為install ok installed)
Priority: optional
...
//不仔細寫了,大概包括依賴包,版本,架構,配置文件等信息
于是直接搜索到了之前報錯的包名稱,發(fā)現(xiàn)狀態(tài)是 install ok half-configured 果然和我想的一樣,和一般的失敗不同.把文件做了個備份,直接刪掉了整條信息.
再次安裝文件,發(fā)現(xiàn)ok
如果還是提示錯誤,apt-get install -f,之后可以正常安裝,不過安裝成功以后會彈出以前失敗的內容,可以通過清空/var/lib/dpkg/info 來清除以前的錯誤.
百度分享代碼,如果開啟HTTPS請參考李洋個人博客
每一天,每一秒,你所做的決定都會改變你的人生!
還沒有評論,來說兩句吧...