如何强制 yum 删除以删除 rpm

如何强制 yum 删除以删除 rpm

我们要删除 openssl-libs 并安装 diff openssl 版本

但 yum 删除选项有巨大的依赖项列表并且失败,如下所示:

yum remove openssl-libs
.
.
.
.
.


---> Package spax.x86_64 0:1.5.2-13.el7 will be erased
---> Package speex.x86_64 0:1.2-0.19.rc1.el7 will be erased
---> Package startup-notification.x86_64 0:0.12-8.el7 will be erased
---> Package taglib.x86_64 0:1.8-7.20130218git.el7 will be erased
---> Package tcp_wrappers.x86_64 0:7.6-77.el7 will be erased
---> Package tcp_wrappers-libs.x86_64 0:7.6-77.el7 will be erased
---> Package telepathy-filesystem.noarch 0:0.0.2-6.el7 will be erased
---> Package telepathy-glib.x86_64 0:0.24.0-1.el7 will be erased
---> Package telepathy-logger.x86_64 0:0.8.0-5.el7 will be erased
---> Package tigervnc-license.noarch 0:1.3.1-3.el7 will be erased
---> Package ttmkfdir.x86_64 0:3.0.9-42.el7 will be erased
---> Package tzdata-java.noarch 0:2015g-1.el7 will be erased
---> Package urw-fonts.noarch 0:2.4-16.el7 will be erased
---> Package usbredir.x86_64 0:0.6-7.el7 will be erased
---> Package vte-profile.x86_64 0:0.38.3-2.el7 will be erased
---> Package wavpack.x86_64 0:4.60.1-9.el7 will be erased
---> Package webrtc-audio-processing.x86_64 0:0.1-5.el7 will be erased
---> Package xcb-util.x86_64 0:0.4.0-2.el7 will be erased
---> Package xkeyboard-config.noarch 0:2.14-1.el7 will be erased
---> Package xml-common.noarch 0:0.6.3-39.el7 will be erased
---> Package xmlrpc-c.x86_64 0:1.32.5-1905.svn2451.el7 will be erased
---> Package xorg-x11-font-utils.x86_64 1:7.5-20.el7 will be erased
---> Package xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 will be erased
---> Package xorg-x11-server-common.x86_64 0:1.17.2-10.el7 will be erased
---> Package xorg-x11-server-utils.x86_64 0:7.7-14.el7 will be erased
---> Package xorg-x11-xkb-utils.x86_64 0:7.7-12.el7 will be erased
---> Package yajl.x86_64 0:2.0.4-4.el7 will be erased
---> Package yelp-xsl.noarch 0:3.14.0-1.el7 will be erased
--> Finished Dependency Resolution
Error: Trying to remove "systemd", which is protected
Error: Trying to remove "yum", which is protected

在最后几行中我们看到删除了 systemd 和 yum

Error: Trying to remove "systemd", which is protected
Error: Trying to remove "yum", which is protected

我们如何强制 yum 删除以删除 openssl-libs rpm?

我们也尝试过降级

    yum downgrade openssl-libs  --skip-broken
    Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
configuration
    Resolving Dependencies
    --> Running transaction check
    ---> Package openssl-libs.x86_64 1:1.0.2k-16.el7_6.1 will be a downgrade
    ---> Package openssl-libs.x86_64 1:1.0.2k-19.el7 will be erased

    Packages skipped because of dependency problems:
        1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 from rhel-7-server-rpms
    Error: Success - empty transaction

答案1

当您想要删除某些软件包(例如,their-openssl)并将其替换为其他软件包(例如,my-openssl)并且同时不破坏 deps 时,您可以使用

yum swap -- remove their-openssl -- install my-openssl

相关内容