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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
qinmianshou
帖子: 371
注册时间: 2008-10-20 21:24

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

#1

帖子 qinmianshou » 2011-06-22 9:55

套件管理程式提示有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
上次由 qinmianshou 在 2011-06-24 10:36,总共编辑 4 次。
头像
qy117121
论坛版主
帖子: 50587
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

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

#2

帖子 qy117121 » 2011-06-22 13:24

不清楚 :em03
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

邮箱 [email protected]
头像
qinmianshou
帖子: 371
注册时间: 2008-10-20 21:24

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

#3

帖子 qinmianshou » 2012-04-30 23:16

@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文件夹重新改回名字
到此问题顺利解决,哈哈
回复