我最近在一台 Lenovo Ideapad 笔记本电脑上安装了 KUbuntu。除了最近更新中出现的问题外,它运行良好 - 更新所有软件包后,还剩下三个:
GStreamer Multimedia Codecs
libgstreamer-plugins-bad1.0-0
libgstreamer-plugins-base1.0-0
消息称:
Package failed to install:
Error while installing package: trying to overwrite '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcamerabin.so', which is also in package gstreamer1.0-plugins-good
这很奇怪。我在系统中添加的唯一东西是 Krita、Blender(直接下载,没什么烦躁的)和通过 Snap 的 OpenToonz。
sudo apt upgrade
从终端尝试给出以下输出:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
gstreamer1.0-libav : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
gstreamer1.0-plugins-base : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
Breaks: gstreamer1.0-plugins-bad (< 1:1.16.0) but 1.22.1-1ubuntu1 is installed
gstreamer1.0-plugins-ugly : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
gstreamer1.0-x : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
libgstreamer-gl1.0-0 : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
Breaks: libgstreamer-plugins-bad1.0-0 (< 1:1.16.0) but 1.22.1-1ubuntu1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
如果我继续使用apt --fix-broken install
,问题仍然存在,并且不会进行任何更改:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libbdplus0 libdca0 libdirectfb-1.7-7 libfaad2 liblrdf0 libmjpegutils-2.1-0 libmpeg2-4 libmpeg2encpp-2.1-0 libmplex2-2.1-0 libneon27 libopenni2-0 libpocketsphinx3 libsidplay1v5 libsphinxbase3 libssh-gcrypt-4 libvidstab1.1
linux-headers-6.2.0-20 linux-headers-6.2.0-20-generic linux-image-6.2.0-20-generic linux-modules-6.2.0-20-generic linux-modules-extra-6.2.0-20-generic pocketsphinx-en-us
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0
Suggested packages:
frei0r-plugins libvisual-0.4-plugins
The following packages will be upgraded:
gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0
3 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
148 not fully installed or removed.
Need to get 0 B/4,619 kB of archives.
After this operation, 700 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 261983 files and directories currently installed.)
Preparing to unpack .../gstreamer1.0-plugins-bad_1%3a1.22.3-dmo1+deb12u1_amd64.deb ...
Unpacking gstreamer1.0-plugins-bad:amd64 (1:1.22.3-dmo1+deb12u1) over (1.22.1-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/gstreamer1.0-plugins-bad_1%3a1.22.3-dmo1+deb12u1_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcamerabin.so', which is also in package gstreamer1.0-plugins-good:amd64 1.22.1-1ubuntu1
Preparing to unpack .../libgstreamer-plugins-bad1.0-0_1%3a1.22.3-dmo1+deb12u1_amd64.deb ...
Unpacking libgstreamer-plugins-bad1.0-0:amd64 (1:1.22.3-dmo1+deb12u1) over (1.22.1-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/libgstreamer-plugins-bad1.0-0_1%3a1.22.3-dmo1+deb12u1_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/libgstbasecamerabinsrc-1.0.so.0', which is also in package libgstreamer-plugins-good1.0-0:amd64 1.22.1-1ubuntu1
dpkg: regarding .../libgstreamer-plugins-base1.0-0_1.22.3-dmo1+deb12u2_amd64.deb containing libgstreamer-plugins-base1.0-0:amd64:
libgstreamer-plugins-base1.0-0:amd64 conflicts with libgstreamer-plugins-bad1.0-0 (<< 1:1.16.0)
libgstreamer-plugins-bad1.0-0:amd64 (version 1.22.1-1ubuntu1) is present and installed.
dpkg: error processing archive /var/cache/apt/archives/libgstreamer-plugins-base1.0-0_1.22.3-dmo1+deb12u2_amd64.deb (--unpack):
conflicting packages - not installing libgstreamer-plugins-base1.0-0:amd64
Errors were encountered while processing:
/var/cache/apt/archives/gstreamer1.0-plugins-bad_1%3a1.22.3-dmo1+deb12u1_amd64.deb
/var/cache/apt/archives/libgstreamer-plugins-bad1.0-0_1%3a1.22.3-dmo1+deb12u1_amd64.deb
/var/cache/apt/archives/libgstreamer-plugins-base1.0-0_1.22.3-dmo1+deb12u2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
我对自动删除损坏的软件包非常犹豫,并且已经推迟了。更大的问题是,由于这个损坏的软件包问题,我似乎无法安装任何东西,或删除任何东西。
我完全赞成简单地删除并(严格地在必要时)从稳定的系统重新安装使用 GStreamer 的任何内容,但显然我什至无法做到这一点。
有人可以帮我纠正这个奇怪的依赖问题吗?
答案1
所以,我想通了。有点。
最初我只是开始删除每个有问题的包。这个列表变得很长,并且不断提出依赖项中的蛇吃尾问题:
sudo apt remove gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-x libgstreamer-gl1.0-0 phonon4qt5-backend-gstreamer gstreamer1.0-gl libgstreamer-plugins-bad1.0-0 libgtk-4-media-gstreamer libqt5multimediagsttools5 libqt5multimedia5-plugins elisa
phonon
最终,当我开始提出一个全新的问题时,我不得不停下来。我最终回到我的 LiveUSB 并尝试全新安装,保留尽可能多的旧文件。
配置文件和媒体被保留,Blender 也被保留,因为我只是按照我的习惯直接下载了二进制文件。 Krita 是通过 Discover Software Center 安装的,并立即拥有我以前的所有设置和文件,这很好。 OpenToonz 可能是问题所在。
因此,我首先将 flathub 存储库添加到 flatpak 中:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
然后我简单地跑了:
flatpak install flathub io.github.OpenToonz
安装花费了一点时间,但是,放弃 Snap 并使用 Flatpak 后,我现在拥有了一个功能齐全的 KUbuntu 系统,没有依赖性问题。我已经对 Snap 产生了一些道德担忧,但我怀疑可能还存在更深层次的技术问题。
希望这能帮助其他人在未来。