今天早上我决定更新我的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 install
dnf from some
rpm 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
。
警告在执行任何操作之前请先进行完整备份。在此过程中您很可能会遇到一些问题。请更新错误消息。