Rhel

如何強制 yum 刪除以刪除 rpm

  • February 16, 2020

我們要刪除 openssl-libs 並安裝 diff openssl 版本

但 yum remove 選項有巨大的依賴項列表並且失敗如下:

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

當您想刪除一些包(例如,他們的-openssl)並用其他一些包(例如,my-openssl)替換它並且同時不破壞deps時,您可以使用

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

引用自:https://unix.stackexchange.com/questions/564284