求助贴!系统升级后软件包系统已损坏

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

求助贴!系统升级后软件包系统已损坏

#1

帖子 yuhongkui » 2023-10-24 13:46

从ubuntu18.04自动升级到20.04后,无法dpkg安装任何软件,


使用自带的软件更新器会报错: 软件包系统已损坏! :Cry
检查您是否使用了第三方源。如果是就禁用它们,它们常常导致问题。
然后在终端中运行以下命令:apt-get install -f
Transaction failed: 软件包系统已损坏
下列软件包未满足的依赖关系:
libmutter-6-0: Depends: mutter-common (>= 3.36.9-0ubuntu0.20.04.2) 但是 3.36.9-0ubuntu0.20.04.2 已经安装
Depends: libgbm1 (>= 17.1.0~rc2) 但是 21.2.6-0ubuntu0.1~20.04.2 已经安装
Depends: libgudev-1.0-0 (>= 232) 但是 1:233-1 已经安装
Depends: libice6 (>= 1:1.0.0) 但是 2:1.0.10-0ubuntu1 已经安装
Depends: libsystemd0 (>= 213) 但是 245.4-4ubuntu3.22 已经安装
Depends: libudev1 (>= 183) 但是 245.4-4ubuntu3.22 已经安装
Depends: libx11-6 (>= 2:1.2.99.901) 但是 2:1.6.9-2ubuntu1.5 已经安装
Depends: libx11-xcb1 (>= 2:1.6.9) 但是 2:1.6.9-2ubuntu1.5 已经安装
Depends: libxcomposite1 (>= 1:0.4.5) 但是 1:0.4.5-1 已经安装
Depends: libxdamage1 (>= 1:1.1) 但是 1:1.1.5-2 已经安装
Depends: libxext6 (>= 2:1.3.0) 但是 2:1.3.4-0ubuntu1 已经安装
Depends: libxfixes3 (>= 1:5.0) 但是 1:5.0.3-2 已经安装
Depends: libxi6 (>= 2:1.6.99.1) 但是 2:1.7.10-0ubuntu1 已经安装
Depends: libxkbfile1 (>= 1:1.1.0) 但是 1:1.1.0-1 已经安装
Depends: libxrandr2 (>= 2:1.5.0) 但是 2:1.5.2-0ubuntu1 已经安装
libreoffice-calc: Depends: libreoffice-base-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
Depends: libreoffice-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
libreoffice-common: libreoffice-core: Depends: libnspr4 (>= 2:4.9-2~) 但是 2:4.25-1 已经安装
Depends: libnss3 (>= 2:3.16) 但是 2:3.49.1-1ubuntu1.9 已经安装
libreoffice-draw: Depends: libreoffice-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
libreoffice-help-common: libreoffice-help-en-us: Depends: libreoffice-l10n-en-us 但是它是虚拟软件包
Depends: libreoffice-help-common (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
libreoffice-help-zh-cn: Depends: libreoffice-help-common (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
libreoffice-impress: Depends: libreoffice-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
Depends: libreoffice-draw (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
libreoffice-math: Depends: fonts-opensymbol (>= 2:102.11) 但是 2:102.11+LibO6.4.7-0ubuntu0.20.04.8 已经安装
Depends: libreoffice-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
libreoffice-writer: Depends: libreoffice-base-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装
Depends: libreoffice-core (= 1:6.4.7-0ubuntu0.20.04.8) 但是 1:6.4.7-0ubuntu0.20.04.8 已经安装







使用命令 apt --fix-broken install 也会报错!!! :Cry
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在修复依赖关系... 完成
下列软件包是自动安装的并且现在不需要了:
adium-theme-ubuntu command-not-found-data diffstat enchant example-content fwupdate g++-7 gcc-8-base:i386
geoip-database gettext gir1.2-goa-1.0 gir1.2-gtksource-3.0 gir1.2-mutter-2 gnome-user-guide guile-2.0-libs
ifupdown intltool-debian iputils-arping libapt-pkg-perl libarchive-zip-perl libargon2-0 libart-2.0-2
libasync-mergepoint-perl libb-hooks-endofscope-perl libb-hooks-op-check-perl libbind9-160
libboost-date-time1.65.1 libboost-filesystem1.65.1 libboost-iostreams1.65.1 libboost-locale1.65.1
libboost-system1.65.1 libboost-thread1.65.1 libbrlapi0.6 libcamel-1.2-61 libcapture-tiny-perl libcdio17
libcgi-fast-perl libcgi-pm-perl libclass-accessor-perl libclass-method-modifiers-perl
libclass-xsaccessor-perl libclone-perl libcpanel-json-xs-perl libcroco3 libdevel-callchecker-perl
libdevel-size-perl libdigest-bubblebabble-perl libdns-export1100 libdns1100 libdouble-conversion1
libdynaloader-functions-perl libebook-contacts-1.2-2 libecal-1.2-19 libedataserver-1.2-23
libemail-valid-perl libenchant1c2a libevent-2.1-6 libexempi3 libexiv2-14 libexporter-tiny-perl libfcgi-perl
libffi6 libffi6:i386 libfile-copy-recursive-perl libfile-find-rule-perl libfont-ttf-perl libfuture-perl
libgail-3-0 libgdbm5 libgeoip1 libgmime-3.0-0 libgnome-desktop-3-17 libgspell-1-1 libgtksourceview-3.0-1
libgtksourceview-3.0-common libgutenprint-common libgutenprint2 libgutenprint9 libgweather-3-15 libhogweed4
libhunspell-1.6-0 libicu60 libilmbase12 libimport-into-perl libindicator3-7 libio-async-loop-epoll-perl
libio-async-perl libio-pty-perl libio-string-perl libip4tc0 libip6tc0 libipc-run-perl libiptc0 libirs160
libisc-export169 libisc169 libisccc160 libisccfg160 libisl19 libjson-c3 libjson-maybexs-perl
liblinux-epoll-perl liblist-compare-perl liblist-moreutils-perl libllvm10 libllvm10:i386 liblouis14
liblouisutdml8 liblwres160 libmagickcore-6.q16-3 libmagickcore-6.q16-3-extra libmagickwand-6.q16-3
libminiupnpc10 libmng2 libmodule-implementation-perl libmodule-runtime-perl libmoo-perl libmoox-aliases-perl
libmozjs-52-0 libmutter-2-0 libmysqlclient20 libnamespace-clean-perl libncurses5 libncursesw5
libnet-dns-perl libnet-dns-sec-perl libnet-domain-tld-perl libnet-ip-perl libnettle6 libnss-myhostname
libntfs-3g88 libnumber-compare-perl libnvidia-cfg1-515 libnvidia-common-515 libnvidia-compute-515
libnvidia-compute-515:i386 libnvidia-decode-515 libnvidia-decode-515:i386 libnvidia-encode-515
libnvidia-encode-515:i386 libnvidia-extra-515 libnvidia-fbc1-515 libnvidia-fbc1-515:i386 libnvidia-gl-515
libnvidia-gl-515:i386 liboauth0 libopenexr22 liborcus-0.13-0 libpackage-stash-perl libpackage-stash-xs-perl
libparams-classify-perl libparse-debianchangelog-perl libpath-tiny-perl libperl4-corelibs-perl libperl5.26
libperlio-gzip-perl libplymouth4 libpoppler73 libprotobuf10 libpython2.7 libpython2.7-minimal
libpython2.7-stdlib libpython3.6 libpython3.6-minimal libpython3.6-stdlib libqpdf21 libraw16 libreadline7
libreadonly-perl libref-util-perl libref-util-xs-perl libreoffice-avmedia-backend-gstreamer
libreoffice-style-galaxy librole-tiny-perl libsane1 libsereal-decoder-perl libsereal-encoder-perl
libsereal-perl libssl1.0.0 libstdc++-7-dev libstrictures-perl libstruct-dumb-perl
libsub-exporter-progressive-perl libsub-identify-perl libsub-quote-perl libtest-fatal-perl
libtest-refcount-perl libtext-glob-perl libtext-levenshtein-perl libtinfo5 libtinfo5:i386 libtype-tiny-perl
libtype-tiny-xs-perl libunicode-utf8-perl libusbmuxd4 libvariable-magic-perl libvpx5 libxapian30
libxdamage1:i386 libxml-simple-perl libxml-writer-perl libxmlb1 libyaml-libyaml-perl libzeitgeist-2.0-0
light-themes lintian linux-headers-5.4.0-84 linux-headers-5.4.0-84-generic linux-headers-generic-hwe-18.04
linux-hwe-5.4-headers-5.4.0-150 linux-hwe-5.4-headers-5.4.0-84 linux-image-5.4.0-84-generic
linux-image-generic-hwe-18.04 linux-modules-5.4.0-84-generic linux-modules-extra-5.4.0-84-generic
multiarch-support nplan nvidia-compute-utils-515 nvidia-dkms-515 nvidia-kernel-common-515
nvidia-kernel-source-515 nvidia-utils-515 patchutils pppconfig pppoeconf printer-driver-gutenprint
python-talloc python3-asn1crypto python3-oauth python3-zope.interface python3.6 python3.6-minimal qpdf
qtchooser qtcore4-l10n t1utils ubuntu-artwork ubuntu-software ubuntu-system-service
xserver-xorg-core-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-input-all-hwe-18.04
xserver-xorg-input-libinput-hwe-18.04 xserver-xorg-input-wacom-hwe-18.04 xserver-xorg-legacy-hwe-18.04
xserver-xorg-video-all-hwe-18.04 xserver-xorg-video-amdgpu-hwe-18.04 xserver-xorg-video-ati-hwe-18.04
xserver-xorg-video-fbdev-hwe-18.04 xserver-xorg-video-intel-hwe-18.04 xserver-xorg-video-nouveau-hwe-18.04
xserver-xorg-video-nvidia-515 xserver-xorg-video-qxl-hwe-18.04 xserver-xorg-video-radeon-hwe-18.04
xserver-xorg-video-vesa-hwe-18.04 xserver-xorg-video-vmware-hwe-18.04 zeitgeist-core
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
apparmor libreoffice-common
建议安装:
apparmor-profiles-extra apparmor-utils
下列软件包将被升级:
apparmor libreoffice-common
升级了 2 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 51 个软件包未被升级。
有 22 个软件包没有被完全安装或卸载。
需要下载 0 B/24.0 MB 的归档。
解压缩后将会空出 22.5 MB 的空间。
您希望继续执行吗? [Y/n] y
正在预设定软件包 ...
(正在读取数据库 ... 系统当前共安装有 330275 个文件和目录。)
准备解压 .../apparmor_2.13.3-7ubuntu5.2_amd64.deb ...
rm: 无法删除 '/etc/apparmor.d/cache/e10c1cf9.0': 是一个目录
dpkg: 处理归档 /var/cache/apt/archives/apparmor_2.13.3-7ubuntu5.2_amd64.deb (--unpack)时出错:
新的 apparmor 软件包 pre-installation 脚本 子进程返回错误状态 1
dpkg: 关于含有 libreoffice-common 的 .../libreoffice-common_1%3a6.4.7-0ubuntu0.20.04.8_all.deb:
libreoffice-common 与之冲突 apparmor (<< 2.13.1~)
apparmor (版本为 2.12-4ubuntu5.3)已存在并且 已安装。

dpkg: 处理归档 /var/cache/apt/archives/libreoffice-common_1%3a6.4.7-0ubuntu0.20.04.8_all.deb (--unpack)时出错:
软件包相互冲突 - 将不安装 libreoffice-common
在处理时有错误发生:
/var/cache/apt/archives/apparmor_2.13.3-7ubuntu5.2_amd64.deb
/var/cache/apt/archives/libreoffice-common_1%3a6.4.7-0ubuntu0.20.04.8_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
头像
astolia
论坛版主
帖子: 6542
注册时间: 2008-09-18 13:11

Re: 求助贴!系统升级后软件包系统已损坏

#2

帖子 astolia » 2023-10-24 15:21

实际上就是这个问题
rm: 无法删除 '/etc/apparmor.d/cache/e10c1cf9.0': 是一个目录
自己手动把/etc/apparmor.d/cache/下面的目录都删掉,再进行安装
anth
帖子: 173
注册时间: 2010-11-09 3:06

Re: 求助贴!系统升级后软件包系统已损坏

#3

帖子 anth » 2023-10-28 19:19

几十万个文件看着头痛 我用unstable 的 出了问题马上就知道是哪个有问题 不需要找问题 这很难办 我用ubuntu都是固定版本号做最简单的设置 所以不会有报错 我只能用其他经验给你讲讲思路

1 我在archlinux遇到过类似的事情 解决过程很曲折 结论很简单 就是密钥过期了 重新安装keyring 工具就会获得权限 他自己就会修复自己

2 debian我也遇到过工具损坏 解决思路是这样 优先考虑回退 能退就不修 如果不能退 优先评估损失 系统有没有自己的重要改动和配置 数据有没有还没备份的 评估完损失之后干掉所有的cache 然后把/var/lib/dpkg/info备份以后干掉 重新update upgrade

如果不行 我没碰到过 我用linux十几年了 确实没碰到过 万一不行 去英文搜索工具去问 别用中文
头像
astolia
论坛版主
帖子: 6542
注册时间: 2008-09-18 13:11

Re: 求助贴!系统升级后软件包系统已损坏

#4

帖子 astolia » 2023-10-31 12:38

anth 写了: 2023-10-28 19:19 几十万个文件看着头痛 我用unstable 的 出了问题马上就知道是哪个有问题 不需要找问题 这很难办 我用ubuntu都是固定版本号做最简单的设置 所以不会有报错 我只能用其他经验给你讲讲思路

1 我在archlinux遇到过类似的事情 解决过程很曲折 结论很简单 就是密钥过期了 重新安装keyring 工具就会获得权限 他自己就会修复自己

2 debian我也遇到过工具损坏 解决思路是这样 优先考虑回退 能退就不修 如果不能退 优先评估损失 系统有没有自己的重要改动和配置 数据有没有还没备份的 评估完损失之后干掉所有的cache 然后把/var/lib/dpkg/info备份以后干掉 重新update upgrade

如果不行 我没碰到过 我用linux十几年了 确实没碰到过 万一不行 去英文搜索工具去问 别用中文
你看着头痛也别来瞎出主意让别人也头痛啊。遇到问题就回退这种操作,本质上是绕过问题而不是解决问题。没搞清楚问题的具体原因也就没办法预防问题再次发生,积累不到什么真正的经验

回到楼主的问题,原因很简单,apparmor软件包的安装脚本执行出错,导致apparmor没有成功安装上,依赖新版本apparmor的libreoffice-common包也就没有装上,所以会报一堆libreoffice依赖的错。安装脚本出错的原因也明显,它用rm去删除/etc/apparmor.d/cache下的文件,但没想到下面有个目录不带-r参数删不掉。解决方案也就出来了,手动删掉那些个目录再重新apt install --fix-broken就完事了
anth
帖子: 173
注册时间: 2010-11-09 3:06

Re: 求助贴!系统升级后软件包系统已损坏

#5

帖子 anth » 2023-10-31 12:44

astolia 写了: 2023-10-31 12:38
anth 写了: 2023-10-28 19:19 几十万个文件看着头痛 我用unstable 的 出了问题马上就知道是哪个有问题 不需要找问题 这很难办 我用ubuntu都是固定版本号做最简单的设置 所以不会有报错 我只能用其他经验给你讲讲思路

1 我在archlinux遇到过类似的事情 解决过程很曲折 结论很简单 就是密钥过期了 重新安装keyring 工具就会获得权限 他自己就会修复自己

2 debian我也遇到过工具损坏 解决思路是这样 优先考虑回退 能退就不修 如果不能退 优先评估损失 系统有没有自己的重要改动和配置 数据有没有还没备份的 评估完损失之后干掉所有的cache 然后把/var/lib/dpkg/info备份以后干掉 重新update upgrade

如果不行 我没碰到过 我用linux十几年了 确实没碰到过 万一不行 去英文搜索工具去问 别用中文
你看着头痛也别来瞎出主意让别人也头痛啊。遇到问题就回退这种操作,本质上是绕过问题而不是解决问题。没搞清楚问题的具体原因也就没办法预防问题再次发生,积累不到什么真正的经验

回到楼主的问题,原因很简单,apparmor软件包的安装脚本执行出错,导致apparmor没有成功安装上,依赖新版本apparmor的libreoffice-common包也就没有装上,所以会报一堆libreoffice依赖的错。安装脚本出错的原因也明显,它用rm去删除/etc/apparmor.d/cache下的文件,但没想到下面有个目录不带-r参数删不掉。解决方案也就出来了,手动删掉那些个目录再重新apt install --fix-broken就完事了
我在archlinux遇到过几乎一模一样的报错 跟你一样以为是依赖问题 各种修复 结论是啥 花了半年多修好 结论就是权限问题 不是依赖问题 所以我说几十万个文件不要修 先检查软件开发者签名密钥有没有过期 这个在archlinux叫做pacman -S keyring 在ubuntu我不知道叫什么 但是这个思路是没错的
头像
astolia
论坛版主
帖子: 6542
注册时间: 2008-09-18 13:11

Re: 求助贴!系统升级后软件包系统已损坏

#6

帖子 astolia » 2023-10-31 13:01

anth 写了: 2023-10-31 12:44 我在archlinux遇到过几乎一模一样的报错 跟你一样以为是依赖问题 各种修复 结论是啥 花了半年多修好 结论就是权限问题 不是依赖问题 所以我说几十万个文件不要修 先检查软件开发者签名密钥有没有过期 这个在archlinux叫做pacman -S keyring 在ubuntu我不知道叫什么 但是这个思路是没错的
arch我十几年前就用过几天觉得包管理系统太烂就没再用了,没想到烂到这种程度了?密钥过期这种事都没明确提示?还是你看着报了一堆错头一痛起来就没去仔细看到底是什么错,想当然就认为是依赖问题?

反正ubuntu和debian下面,密钥过期在apt update时就会明确说是无法验证签名,根本不会让人想歪到依赖问题上去。你的思路根本不适合ubuntu,就别说没有错了
anth
帖子: 173
注册时间: 2010-11-09 3:06

Re: 求助贴!系统升级后软件包系统已损坏

#7

帖子 anth » 2023-10-31 15:58

astolia 写了: 2023-10-31 13:01
anth 写了: 2023-10-31 12:44 我在archlinux遇到过几乎一模一样的报错 跟你一样以为是依赖问题 各种修复 结论是啥 花了半年多修好 结论就是权限问题 不是依赖问题 所以我说几十万个文件不要修 先检查软件开发者签名密钥有没有过期 这个在archlinux叫做pacman -S keyring 在ubuntu我不知道叫什么 但是这个思路是没错的
arch我十几年前就用过几天觉得包管理系统太烂就没再用了,没想到烂到这种程度了?密钥过期这种事都没明确提示?还是你看着报了一堆错头一痛起来就没去仔细看到底是什么错,想当然就认为是依赖问题?

反正ubuntu和debian下面,密钥过期在apt update时就会明确说是无法验证签名,根本不会让人想歪到依赖问题上去。你的思路根本不适合ubuntu,就别说没有错了
apt update这么先进吗 不过话说回来 我用的最久的系统就是debian 确实没有遇到过密钥的问题
anth
帖子: 173
注册时间: 2010-11-09 3:06

Re: 求助贴!系统升级后软件包系统已损坏

#8

帖子 anth » 2023-10-31 15:59

我肯定是看着报错信息修复啊 不可能猜
回复