软件更新程序警告我有一些可用的更新,但是当我单击“安装”时它失败了...发生了什么?
如果我从终端运行它,那么我看到的是:
我该怎么做才能解决这个问题?
老实说,几分钟前我试图安装 Openscad,所以我添加了正确的 PPA。但它无法安装,所以我使用“软件和更新”程序将其删除。现在我遇到了这个新问题……
运行命令后sudo apt 更新 && sudo apt 升级,这就是我看到的:
Hit:1 htp://de.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 htp://archive.canonical.com/ubuntu xenial InRelease
Hit:3 htp://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu xenial InRelease
Hit:4 htp://de.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:5 htp://de.archive.ubuntu.com/ubuntu xenial-backports InRelease
Get:6 htp://security.ubuntu.com/ubuntu xenial-security InRelease [94,5 kB]
Fetched 94,5 kB in 0s (110 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
33 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
kde-l10n-engb linux-headers-4.4.0-28 linux-headers-4.4.0-28-generic linux-image-4.4.0-28-generic
linux-image-extra-4.4.0-28-generic python-exif
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
compiz compiz-core compiz-gnome compiz-plugins-default eog gnupg gpgv libcompizconfig0 libdecoration0 libframe6
libgcrypt20 libgcrypt20:i386 libharfbuzz-icu0 libharfbuzz0b libidn11 libidn11:i386 libpoppler-glib8
libpoppler-qt5-1 libpoppler58 libssl1.0.0 libssl1.0.0:i386 openssl poppler-utils python3-distupgrade
python3-software-properties snap-confine snapd software-properties-common software-properties-gtk
ubuntu-core-launcher ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk vino
33 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/12,5 MB of archives.
After this operation, 466 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Extracting templates from packages: 100%
Preconfiguring packages ...
dpkg: unrecoverable fatal error, aborting:
files list file for package 'tzdata' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)*
答案1
解决了!
我必须感谢找到的答案这里针对我发布的解决方案这里由用户加茨(向下滚动页面)
这肯定是与硬盘错误和/或坏扇区有关的问题。事实上,通过检查目录/var/lib/dpkg/status/info
(包含每个已安装软件包的文件列表),我发现两个文件包含不可读的字符,即使它们应该是简单的纯文本文件。
我所做事情的时间顺序如下:
运行 fdisk 检查/修复错误
- 从 Live CD 重新启动 Ubuntu
- 运行终端命令行
- 通过发出命令获取磁盘列表
sudo fdisk -l
- 在除引导分区之外的所有分区上运行磁盘检查:fsck /dev/sdaX
(在我的例子中 X = 2 或 5 或 6) - 对于 fsck 提出的所有更正都回答“是”。
- 关闭电脑并正常重启(即不使用 Live CD)
打开了地位dkpg 使用的文件,以超级用户身份使用 gedit:
gksudo gedit /var/lib/dpkg/status
- 在同一目录中保存了备份(即
status-bkp
) - 搜索有问题的包的名称
tzdata
- 删除与包相关的所有行,然后保存了修改后的文件(请参阅下面我删除的内容)
- 发出命令
sudo dpkg dpkg --configure -a
- 发出命令
sudo apt-get -f install
(这将重新安装已删除的软件包并调整所有损坏的依赖关系) - 尝试启动更新管理器来检查一切是否正常:
sudo update manager
- 单击“安装”后,我收到另一个损坏的包的新错误(哇!),就我而言:
files list file for package libnss3-nssdb is missing final newline
- 像步骤(2)那样再次打开状态文件,删除有问题的包并再次保存(见下面我删除的内容)
- 再次发出命令
sudo dpkg dpkg --configure -a
- 再次发出命令
sudo apt-get -f install
- 再次运行更新管理器:
sudo update manager
- 并且...... 一切顺利!
现在更新管理器又可以像以前一样工作了:系统已更新
希望这可以帮助!
在步骤 2 中删除的行(就我而言):
软件包:tzdata 状态:安装成功 优先级:必填 部分:本地化 安装大小:2769 维护者:Ubuntu 开发人员 建筑:全部 Multi-Arch:外国 版本:2016f-0ubuntu0.16.04 替换:libc0.1、libc0.3、libc6、libc6.1 提供:tzdata-stretch 依赖: debconf (>= 0.5) | debconf-2.0 描述:时区和夏令时数据 此包包含执行所需的数据 世界各地许多代表性地点的标准当地时间 全球。它会定期更新,以反映所做的更改 政治机构的时区边界、UTC 偏移量以及 夏令时规则。 主页:http://www.iana.org/time-zones 原始维护者:GNU Libc 维护者
在步骤 10 中删除的行(就我而言):
软件包:libnss3-nssdb 状态:安装成功 优先级:可选 部分: 管理 安装尺寸:86 维护者:Ubuntu 开发人员 建筑:全部 Multi-Arch:外国 来源:nss 版本:2:3.23-0ubuntu0.16.04.1 依赖:libnss3(= 2:3.23-0ubuntu0.16.04.1) 描述:网络安全安全库 - 共享数据库 该包包括共享证书和密钥数据库。 主页:http://www.mozilla.org/projects/security/pki/nss/ 原始维护者:Mozilla 相关软件包的维护者