![当依赖项不匹配时如何重新安装pulseaudio?](https://linux22.com/image/189836/%E5%BD%93%E4%BE%9D%E8%B5%96%E9%A1%B9%E4%B8%8D%E5%8C%B9%E9%85%8D%E6%97%B6%E5%A6%82%E4%BD%95%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85pulseaudio%EF%BC%9F.png)
我在用着Basil Gello 的 Kodi 存储库在 Debian10 中安装最新的 Kodi,并从此存储库安装 kodi 的一些依赖项。
最近,pulseaudio 被卸载了,我不知道为什么……可能是因为我升级了一个软件包,这导致它变得多余,并且被sudo apt-get autoremove
.我没有明确安装任何新软件包,只运行升级 ( sudo apt upgrade
)。它可能与我没有选择安装的 kmix 的安装或 postgres 的升级有关,也可能与 akonadi-backend-sqlite 等软件包有关...到目前为止我还没有找到原因,也不知道知道如何找出答案。另一个运行几乎相同配置和软件包的 Debian10/KDE 没有这个问题。
现在音频丢失了,这就是我尝试重新安装pulseaudio的原因(如果有充分的理由使用替代方案,我不会这样做)。
我第一次尝试跑步sudo apt install pulseaudio
,我得到:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
pulseaudio : Depends: libasound2-plugins but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
如果我添加缺少的依赖项,我会得到:The following packages have unmet dependencies: libasound2-plugins : Depends: libavresample4 (>= 7:4.0) but it is not going to be installed
当我添加该依赖项时 ( sudo apt-get install pulseaudio libasound2-plugins libavresample4
) The following packages have unmet dependencies: libavresample4 : Depends: libavutil56 (= 7:4.3.1-6~bpo10+1) but 7:4.3.2-2~bpo10+1 is to be installed
。这是因为这些软件包来自 Basil Gello 的存储库,其版本比pulseaudio 所需的版本更新。
我尝试安装所需的版本并使用例如sudo apt list -a libavutil56
显示可用版本,即使看起来我也可以安装此命令未显示的旧版本。如果我尝试使用所需版本安装所有需要的依赖项,我最终会得到:
sudo apt-get install pulseaudio libasound2-plugins libavresample4=7:4.1.6-1~deb10u1 libavutil56=7:4.1.6-1~deb10u1 libavcodec58=7:4.1.6-1~deb10u1 libswresample3=7:4.1.6-1~deb10u1
但是,运行此命令将删除重要的软件包,例如 dolphin file-explorer。
当我尝试时,sudo apt-get install pulseaudio/buster-backports
我得到:The following packages have unmet dependencies: pulseaudio : Depends: libpulse0 (= 13.0-3~bpo10+1) but 12.2-4+deb10u1 is to be installed Depends: libasound2-plugins but it is not going to be installed E: Unable to correct problems, you have held broken packages
当我尝试使用指定版本添加请求的依赖项时,如下所示:sudo apt-get install pulseaudio/buster-backports libpulse0/buster-backports libasound2-plugins libavresample4 libavutil56=7:4.1.6-1~deb10u1 libavcodec58=7:4.1.6-1~deb10u1 pulseaudio-utils/buster-backports libswresample3=7:4.1.6-1~deb10u1 libpulsedsp libpulse0=12.2-4+deb10u1
我得到:The following packages have unmet dependencies: libpulsedsp : Depends: libpulse0 (= 12.2-4+deb10u1) but 13.0-3~bpo10+1 is to be installed
如果 Kodi 存储库不添加最新版本,如何重新安装pulseaudio?是否需要更改存储库?
如果有一种方法可以找出它首先被卸载的原因,那也会很有用。
这与我遇到的问题类似这里。
答案1
安装pulseaudio 有效,可能是由于某些软件包的升级。
我只升级了我的软件包,重新启动,然后运行此命令,该命令运行完毕而没有删除任何软件包;它还安装了“rtkit”:
sudo apt-get install pulseaudio/buster-backports libpulse0/buster-backports libasound2-plugins
。
然后我重新启动并检查pulseaudio是否正在运行。
然而,音频仍然缺失。即使在更改 daemon.conf 和 client.conf 中的配置后,它仍然丢失,音量按钮也不起作用。如何启用音频是一个单独的问题。
答案2
我有同样的问题,但所有示例都围绕“sudo”,并且在我的 Mageia 8 包中,sudo 被 urpmi 替换。尽管如此,我同意你关于与等离子等的联系,我们不能简单地卸载PulseAudio而不卸载其他东西,如海豚等。