dpkg不会更新 – 指标会话中的输入/输出错误
我一直在尝试更新系统时遇到错误。 目前我无法使用apt-get安装/删除或更新任何内容…
这是我在运行apt-get update时遇到的错误
dpkg: unrecoverable fatal error, aborting: reading files list for package 'indicator-session': Input/output error E: Sub-process /usr/bin/dpkg returned an error code (2)
好的,我环顾了一些并找到了解决方案:这是在这篇文章中: 无法通过更新管理器/ apt-get升级安装任何更新
此页面的答案中有一个链接: http : //ubuntuforums.org/archive/index.php/t-1232143.html
它归结为编辑/ var / lib / dpkg / status文件并删除与损坏的包相关的所有内容。
我的系统又重新启动了!
这是我从apt-get
的输出:
dpkg: warning: files list file for package `libecryptfs0' missing, assuming package has no files currently installed. dpkg: warning: files list file for package `libplexus-containers1.5-java' missing, assuming package has no files currently installed. dpkg: warning: files list file for package `apport' missing, assuming package has no files currently installed.
这就是我修复它的方式:
-
备份dpkg状态文件:
cp /var/lib/dpkg/status{,.backup}
-
编辑
/var/lib/dpkg/status
¹并删除apt-get
打印警告包的部分。 确保删除有关这些包的整个部分,即从包行开始Package: libecryptfs0
到第一个空白行。或者,您可以使用
sed
为您完成工作:sed -i.backup -e '/^Package: \(libecryptfs0\|libplexus-containers1\.5-java\|apport\)$/,/^$/d' /var/lib/dpkg/status
此命令使用
Package:
和下一个空行删除行之间的所有部分。 您可以在括号\(…\)
之间放置任何有效的包名称,并使用\|
分隔它们 ,并逃避点(.
→\.
)。 选项-i.backup
将文件编辑到位,并创建一个后缀为.backup
的备份文件(因此,如果使用variant,则可以跳过步骤1),而不是将结果写入stdout。 -
运行
sudo apt-get -f install
来配置未配置的软件包并(重新)安装缺少的软件包。 由于我们从status
文件中删除了包,因此丢失了包。
¹请参阅如何获得编辑系统配置文件的权限? 为了那个。
- 如何强制部分安装的软件包的配置?
- 如何在子进程安装后调试dpkg configure error?
- 试图覆盖’/ usr / sbin / validlocale’,这也是包libc-bin 2.19-0ubuntu6.3
- 如何解决:dpkg:warning:subprocess old pre-removal脚本返回错误退出状态1
- 安装后脚本始终失败时如何强制删除
- 如何让`dpkg -i`为我安装依赖项?
- 如何修复“*:无法配置i386,因为*:amd64的版本不同”?
- E:dpkg被打断了…运行’sudo dpkg –configure -a’
- dpkg:错误:重复文件触发文件名`/ usr / lib / gio / modules’和包`libglib2.0-0:i386’的兴趣