为什么 yum update 由于依赖性问题而跳过 1000 个包?

为什么 yum update 由于依赖性问题而跳过 1000 个包?

今天早上我决定更新我的Linux(CentOs 7.2.1511)。但是yum由于依赖性问题跳过了太多软件包。

可以继续更新吗?!为什么 yum 跳过那么多包?!

Transaction Summary
================================================================================
Install                          4 Packages (+11 Dependent packages)
Upgrade                        160 Packages
Skipped (dependency problems)  941 Packages

Total download size: 195 M

答案1

这是因为您已经很久没有更新系统了。同时 CentOS 7.3 和 CentOS 7.4(当前)已经发布。

一些软件包和库在新系统中已被废弃。要更新yum需要删除它们。但当你的系统基于这些运行时,yum无法删除这些软件包。

解决方案 dnf可以自动解决和跳过一些依赖问题。安装dnf如下

sudo yum install dnf

如果失败并显示“No Package found installdnf from somerpm source. Google for 'dnf rpm download”,请为 CentOS 7.x 或 RHEL 7 选择一个。然后按如下方式安装

sudo rpm -Uvh path_to_downloaded_rpm

然后使用dnf如下更新 sudo dnf update

然后使用尽可能多的清理不必要的包

sudo yum autoremove
sudo yum clean all
sudo dnf autoremove
sudo dnf clean all

现在再次尝试使用更新yum。您可能会再次遇到依赖性问题,但出现问题的包数量较少。然后尝试了解这些包是什么,并使用yum或将它们一一删除dnf

警告在执行任何操作之前请先进行完整备份。在此过程中您很可能会遇到一些问题。请更新错误消息。

相关内容