首页 > 解决方案 > 如何在不访问存储库的情况下更新具有依赖项的 CentOS 软件包

问题描述

我有一个 CentOS 6.9 Linux VM,禁用了对存储库的访问,即文件/etc/yum.repos.d/CentOS-Base.repo被删除,以防止意外更新软件包,因为我们需要一组特定版本。

所以我试图只更新必要的包。我已pacemaker-cli-1.1.15-5.el6安装,我想将其更新为pacemaker-cli-1.1.18-3.el6. 它的依赖是pacemaker-libs-1.1.15-5.el6. 所以我尝试了以下命令

sudo yum localinstall http://mirror.centos.org/centos/6/os/x86_64/Packages/pacemaker-libs-1.1.18-3.el6.x86_64.rpm http://mirror.centos.org/centos/6/os/x86_64/Packages/pacemaker-cli-1.1.18-3.el6.x86_64.rpm

但我收到以下错误:

Loaded plugins: fastestmirror, priorities
Setting up Local Package Process
pacemaker-libs-1.1.18-3.el6.x86_64.rpm                                                                                               | 578 kB     00:00
Examining /var/tmp/yum-root-xFPI0g/pacemaker-libs-1.1.18-3.el6.x86_64.rpm: pacemaker-libs-1.1.18-3.el6.x86_64
Marking /var/tmp/yum-root-xFPI0g/pacemaker-libs-1.1.18-3.el6.x86_64.rpm as an update to pacemaker-libs-1.1.15-5.el6.x86_64
Loading mirror speeds from cached hostfile
pacemaker-cli-1.1.18-3.el6.x86_64.rpm                                                                                                | 312 kB     00:00
Examining /var/tmp/yum-root-xFPI0g/pacemaker-cli-1.1.18-3.el6.x86_64.rpm: pacemaker-cli-1.1.18-3.el6.x86_64
Marking /var/tmp/yum-root-xFPI0g/pacemaker-cli-1.1.18-3.el6.x86_64.rpm as an update to pacemaker-cli-1.1.15-5.el6.x86_64
Resolving Dependencies
--> Running transaction check
---> Package pacemaker-cli.x86_64 0:1.1.15-5.el6 will be updated
--> Processing Dependency: pacemaker-cli = 1.1.15-5.el6 for package: pacemaker-1.1.15-5.el6.x86_64
---> Package pacemaker-cli.x86_64 0:1.1.18-3.el6 will be an update
---> Package pacemaker-libs.x86_64 0:1.1.15-5.el6 will be updated
--> Processing Dependency: pacemaker-libs = 1.1.15-5.el6 for package: pacemaker-1.1.15-5.el6.x86_64
--> Processing Dependency: pacemaker-libs = 1.1.15-5.el6 for package: pacemaker-cluster-libs-1.1.15-5.el6.x86_64
---> Package pacemaker-libs.x86_64 0:1.1.18-3.el6 will be an update
--> Finished Dependency Resolution
Error: Package: pacemaker-1.1.15-5.el6.x86_64 (@scalearc-3.2)
           Requires: pacemaker-libs = 1.1.15-5.el6
           Removing: pacemaker-libs-1.1.15-5.el6.x86_64 (@scalearc-3.2)
               pacemaker-libs = 1.1.15-5.el6
           Updated By: pacemaker-libs-1.1.18-3.el6.x86_64 (/pacemaker-libs-1.1.18-3.el6.x86_64)
               pacemaker-libs = 1.1.18-3.el6
Error: Package: pacemaker-1.1.15-5.el6.x86_64 (@scalearc-3.2)
           Requires: pacemaker-cli = 1.1.15-5.el6
           Removing: pacemaker-cli-1.1.15-5.el6.x86_64 (@scalearc-3.2)
               pacemaker-cli = 1.1.15-5.el6
           Updated By: pacemaker-cli-1.1.18-3.el6.x86_64 (/pacemaker-cli-1.1.18-3.el6.x86_64)
               pacemaker-cli = 1.1.18-3.el6
Error: Package: pacemaker-cluster-libs-1.1.15-5.el6.x86_64 (@scalearc-3.2)
           Requires: pacemaker-libs = 1.1.15-5.el6
           Removing: pacemaker-libs-1.1.15-5.el6.x86_64 (@scalearc-3.2)
               pacemaker-libs = 1.1.15-5.el6
           Updated By: pacemaker-libs-1.1.18-3.el6.x86_64 (/pacemaker-libs-1.1.18-3.el6.x86_64)
               pacemaker-libs = 1.1.18-3.el6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

你能帮忙吗?

标签: linuxcentospackagerpmyum

解决方案


显然,发生错误是因为命令中并未列出所有依赖项。pacemaker必须一次更新所有 4 个组件,执行此操作的命令是:

sudo yum install http://mirror.centos.org/centos/6/os/x86_64/Packages/pacemaker-libs-1.1.18-3.el6.x86_64.rpm http://mirror.centos.org/centos/6/os/x86_64/Packages/pacemaker-cli-1.1.18-3.el6.x86_64.rpm http://mirror.centos.org/centos/6/os/x86_64/Packages/pacemaker-1.1.18-3.el6.x86_64.rpm http://mirror.centos.org/centos/6/os/x86_64/Packages/pacemaker-cluster-libs-1.1.18-3.el6.x86_64.rpm

推荐阅读