我无法安装 Skype for Fedora 23 x86_64 所需的依赖项

我无法安装 Skype for Fedora 23 x86_64 所需的依赖项

我有一台 HP Envy dv7,其uname -a输出为:

Linux MercadesBendz 4.4.7-300.fc23.x86_64 #1 SMP Wed Apr 13 02:52:52
UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

lspci输出:

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core
Processor DRAM Controller (rev 06) 00:02.0 VGA compatible controller:
Intel Corporation 4th Gen Core Processor Integrated Graphics
Controller (rev 06) 00:03.0 Audio device: Intel Corporation Xeon
E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06) 00:14.0
USB controller: Intel Corporation 8 Series/C220 Series Chipset Family
USB xHCI (rev 05) 00:16.0 Communication controller: Intel Corporation
8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0
USB controller: Intel Corporation 8 Series/C220 Series Chipset Family
USB EHCI #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 8
Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset
Family PCI Express Root Port #1 (rev d5) 00:1c.1 PCI bridge: Intel
Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port 2 (rev d5) 00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5) 00:1d.0 USB
controller: Intel Corporation 8 Series/C220 Series Chipset Family USB
EHCI #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation HM87 Express
LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 8
Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
(rev 05) 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset
Family SMBus Controller (rev 05) 01:00.0 Network controller: Broadcom
Corporation BCM43142 802.11b/g/n (rev 01) 02:00.0 Ethernet controller:
Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit
Ethernet Controller (rev 10)

使用我在研究多个站点后整理的脚本,我在其中的这一部分遇到了问题:

#Installing Skype
echo Installing Skype dependencies
dnf install alsa-lib.i686 fontconfig.i686 freetype.i686 glib2.i686 libSM.i686 libXScrnSaver.i686 libXi.i686 libXrandr.i686 libXrender.i686 libXv.i686 libstdc++.i686 pulseaudio-libs.i686 qt.i686 qt-x11.i686 zlib.i686 qtwebkit.i686

我已将命令的输出粘贴到此链接: http://paste.fedoraproject.org/360295/77274014

通常,这个问题会给出更明显的原因,说明为什么会发生,以及如何解决,但我有另一台稍旧一点的笔记本电脑,操作系统版本和 CPU 架构相同,按照相同的说明,我没有遇到 Skype 程序依赖项安装问题。这是我第一次来这里,所以如果我做错了什么,请原谅我,因为我正在学习。如果有人需要更多信息,我会尽我所能提供,所以我非常感谢任何帮助或想法,因为我已经没有什么了。

答案1

http://www.if-not-true-then-false.com/2012/install-skype-on-fedora-centos-red-hat-rhel-scientific-linux-sl

感谢您所有的及时回复,我决定安装 fedora 24 并按照上述指南安装 Skype,并且成功了。

答案2

我需要将其从评论移至答案,以便它合适。我们需要找出导致冲突的那些软件包所依赖的内容,以便可以修复它。请将结果粘贴到另一个 pastebin 网站,并添加指向您问题的链接。

我尝试像您在 Fedora 23 机器上一样安装软件包,没有任何问题/冲突。我认为这里发生的情况是您安装了这些冲突软件包的多个版本,因为另一个软件包在该版本中将它们标记为必需。我们可以尝试只卸载旧版本,看看它们会产生什么影响(还有其他方法可以查询此问题,例如 dnf repoquery --whatrequires --alldeps),但这有点麻烦,而要求它删除软件包则很快。

只要在询问您是否要继续删除时您不反射性地按“Y”并且不在 dnf 命令中添加“-y”标志,它是无害的。

首先,运行以下命令序列以清除元数据和任何缓存文件,检查 rpm 数据库中是否有任何错误,并更新 dnf 元数据。dnf check 命令将需要一段时间才能运行,并且没有任何进度指示。

sudo dnf clear all
sudo dnf check
sudo dnf makecache

如果正在运行dnf 检查输出任何错误,在此处停止并使用该输出更新您的问题。

下一个将显示您安装了哪些存储库,以及它们是否已启用。

dnf repolist all

现在我们需要确保启用了正确的更新。查看刚刚输出的列表,并确保至少以下 2 个存储库被列为“已启用”。我不相信你安装的任何软件包都来自其他存储库,但我没有详尽检查 - 但你在获取它们时没有遇到问题。我确实确认你需要的更新来自以下两个之一:

fedora
更新

如果其中任何一个未启用,请运行以下命令之一或两个:

sudo dnf config-manager --set-enabled fedora sudo dnf config-manager --set-enabled 更新

现在运行以下命令:

dnf update

如果有错误或没有任何更新,请发布该信息。

我们正在查看的软件包有多个版本,其版本格式为 pkgname-epoch:version.fc23.arch。如果没有安装多个版本,dnf 不会输出 epoch。

libpng-2:1.6.17-2.fc23.x86_64
openssl-libs-1:1.0.2d-2.fc23.x86_64

让我们看看它们是否确实重复:

dnf repoquery --duplicated

对照问题软件包列表检查该调用输出的列表,如果有匹配项,请尝试卸载重复项的旧版本。您将有机会查看执行此调用后将卸载哪些软件包,因此如果有您不确定的软件包或列出的软件包有数百或数千个,请单击否。如果软件包数量相当少,则删除它们没有问题 - 您可以根据需要重新安装。我预计只有上述两个软件包会通过此操作得到修复:

dnf remove $(dnf repoquery --duplicated --latest-limit -1 -q)

当 dnf 提示时单击“是”删除,或者发布输出,然后人们可以帮助您决定是否可以删除它们。

其他需要更新的问题软件包包括:

libgpg-error-1.20-1.fc23.x86_64
alsa-lib-1.0.29-2.fc23.x86_64
pcre-8.37-4.fc23.x86_64
elfutils-libelf-0.163-4.fc23.x86_64
krb5-libs-1.13.2-11.fc23.x86_64
glib2-2.46.1-2.fc23.x86_64

对于这些,我们需要获取有关它们的信息。它们可能是重复的,并且在之前的步骤中已经解决,但出于某种原因未指示 Epoch。它们都已过期,应该具有更高的转速,但出于某种原因,您在调用 dnf update 时声明它们没有被更新。

在列表中的每个包上运行此命令(我仅为第一个提供示例):

dnf info all libgpg-error

下一个命令可能会提供一个巨大的列表,如果是这样,它可能无法轻松删除。如果它是一个空列表或只有几个项目,您可以尝试将其删除。

dnf repoquery --whatrequires libgpg-error --alldeps

请告诉我进展如何。这些软件包管理器(dnf、yum、apt-get 等)的主要工作是避免此类循环依赖问题,如今它们在这方面通常都做得不错。但显然你除外。

我可以告诉你的是,这个问题在 Fedora 23 安装中默认不存在 - 我安装这些软件包时没有遇到任何问题。所以它是在某个时间点安装的,大约在这些软件包处于该版本时。--whatrequires 信息将显示该程序是什么,如果它是一个单独的程序,并且您会看到它与所有问题软件包相同。如果找到它,请尝试将其删除。

相关内容