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