分页: 1 / 1

[已解決]更新套件出現dpkg錯誤,读取缓冲副本失败: 輸入/輸出錯誤

发表于 : 2011-06-22 9:55
qinmianshou
套件管理程式提示有1149個套件安裝不完整,使用修復功能下載好套件,自動配置時卡了殼,提示:

代码: 全选

從套件中提取樣板:100%
正在預先設定套件 ...
dpkg: 为 複製 info 檔 `/var/lib/dpkg/status' 读取缓冲副本失败: 輸入/輸出錯誤
E: Sub-process /usr/bin/dpkg returned an error code (2)
套件安裝失敗。
這個status文件有1.9m大(又長了0.4m),直接打不開。

我可能是誤點了升級發行版才出現這麼多套件安裝不完整的,現在用著10.10,不想升級到11.04,有沒啥辦法中止升級回到原來狀態呢?
screenshot_013.png
--------------------------------------
由於這個輸入/輸出錯誤,我的系統還是停留在10.10,如果不理睬任務欄的紅色錯誤提醒,還是能正常使用的,只不過會經常假死幾十秒鐘,沒有以前流暢,然後以後也別想更新套件了。
出現這個錯誤,真不知是福還是禍... :em06
--------------------------------------
老問題新發現,剛才用命令備份已安裝軟體列表時又出現這個錯誤了:

代码: 全选

~$ dpkg --get-selections > /home/wasp/package.selections
dpkg: 为 複製 info 檔 `/var/lib/dpkg/status' 读取缓冲副本失败: 輸入/輸出錯誤
腫麼辦?
---------華麗的分割線-----------------------
終於搞定了,原來這個錯誤叫做“包狀態損壞”。。。
我用“dpkg錯誤”做關鍵詞google,在一篇英文帖子看到一個辦法,如果dpkg文件夾裏有status-old,就重命名status,再啟動包管理器。
不是很明了,繼續用“/var/lib/dpkg/status”做關鍵詞google,終於找到debian的包状态损坏修复這篇博文,這下搞明白了,當即刪除status文件,再新建一個空白的status,複製粘貼status-old的內容過來,啟動包管理器,一路順風,紅色提醒標誌消失。 :em05

不過還是留下了一個後遺症,我在摸索的過程中删除了/var/dpkg/info 文件夹的内容,导致安装和卸载任何包的时候都提示:
“dpkg:严重警告:无法找到软件包“vlc-plugin-esd”的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。” :em06

下回再折騰,係甘先~ :em11

Re: 更新套件出現dpkg錯誤,读取缓冲副本失败: 輸入/輸出錯誤

发表于 : 2011-06-22 13:24
qy117121
不清楚 :em03

Re: [已解決]更新套件出現dpkg錯誤,读取缓冲副本失败: 輸入/輸出錯誤

发表于 : 2012-04-30 23:16
qinmianshou
@sosoinlove發表於2011-06-24 18:21
1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名
2.$ sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
3.$ sudo apt-get update, apt-get -f install //不用解释了吧
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
5.$ sudo rm -rf /var/lib/dpkg/info //把自己新建的info文件夹删掉
6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info文件夹重新改回名字
到此问题顺利解决,哈哈