解决了"错误:依赖项失败:"使用依赖项Linux安装/删除rpm
错误的依赖项rpm安装失败。
脱机安装依赖项的rpm。
在Linux中通过依赖项脱机删除rpm。
安装rpm centos 7错误失败的依赖项。
fedora install rpm错误失败的依赖项。
yum install rpm,依赖关系失败。
yum remove rpm脱机失败的依赖项。
如何在Linux中安装具有依赖项的rpm。
手动安装或者卸下rpm(不带yum)时,可能会出现"依赖项失败"Failed dependencies
错误。
发生这种情况是因为rpm需要在安装主rpm之前先安装某些必备的rpm。
例如,我尝试在此处安装glibc-devel
,但安装失败,并显示"失败的依赖项错误"。
正如它预期的那样,在此Linux主机上安装glibc-devel之前,应先安装glibc-headers。
[root@node1 ~]# rpm -ivh glibc-devel-2.17-260.el7_6.5.x86_64.rpm error: Failed dependencies: glibc-headers is needed by glibc-devel-2.17-260.el7_6.5.x86_64 glibc-headers = 2.17-260.el7_6.5 is needed by glibc-devel-2.17-260.el7_6.5.x86_64
同样,在尝试删除另一个rpm时,我得到了类似的错误,但失败了相关性,但是我们将在本文结尾处讨论删除部分。
[root@node1 ~]# rpm -e pykickstart error: Failed dependencies: pykickstart >= 1.99.22 is needed by (installed) python-blivet-1:0.61.15.72-1.el7.noarch pykickstart >= 1.99.66.19 is needed by (installed) anaconda-core-21.48.22.147-1.el7.centos.x86_64
安装依赖项的rpm
现在,在屏幕上显示提供的错误时,不能确定这是glibc-devel可能需要的唯一依赖项rpm。
我们可以手动下载此版本的glibc-header(glibc-headers = 2.17-260.el7_6.5
),然后重新尝试安装glibc-devel
,但是下次rpm安装失败时也有可能再次依赖。
如果幸运的话,rpm可能只安装了很少的依赖项,但最终也有可能下载并安装大量的rpm作为依赖项。
这只会让我们感到沮丧,并且会浪费时间。
为避免这种情况,我们必须创建一个本地存储库,并使用yum安装主要和依赖的rpm。
因此,我们要做的第一件事是在此处获取glibc-devel的依赖项rpm列表。
下载依赖项rpm
说明:
要在尝试安装rpm之前使用此功能,我们必须具有与Internet连接且具有基准存储库的主机。
对于RHEL节点,系统必须在Red Hat Network中注册,而CentOS节点将默认在/etc/yum.repos.d/下提供所有默认存储库文件。
在这个例子中,我们将使用repotrack
获取rpm的依赖列表。
提示:
repo-track
是yum-utils
的一部分,因此如果尚未安装,则可以手动安装此rpm。
[root@node1 rpms]# repotrack glibc-devel Downloading basesystem-10.0-7.el7.centos.noarch.rpm Downloading bash-4.2.46-31.el7.x86_64.rpm Downloading ca-certificates-2016.2.22-70.0.el7_5.noarch.rpm Downloading centos-release-7-6.1810.2.el7.centos.x86_64.rpm Downloading chkconfig-1.7.4-1.el7.x86_64.rpm Downloading coreutils-8.22-23.el7.x86_64.rpm Downloading filesystem-3.2-25.el7.x86_64.rpm Downloading gawk-4.0.2-4.el7_3.1.x86_64.rpm Downloading glibc-2.17-260.el7_6.5.i686.rpm Downloading glibc-2.17-260.el7_6.5.x86_64.rpm Downloading glibc-common-2.17-260.el7_6.5.x86_64.rpm Downloading glibc-devel-2.17-260.el7_6.5.i686.rpm Downloading glibc-devel-2.17-260.el7_6.5.x86_64.rpm Downloading glibc-headers-2.17-260.el7_6.5.x86_64.rpm Downloading gmp-6.0.0-15.el7.i686.rpm Downloading gmp-6.0.0-15.el7.x86_64.rpm Downloading grep-2.20-3.el7.x86_64.rpm Downloading info-5.1-5.el7.x86_64.rpm Downloading kernel-headers-3.10.0-957.12.2.el7.x86_64.rpm Downloading keyutils-libs-1.5.8-3.el7.i686.rpm Downloading keyutils-libs-1.5.8-3.el7.x86_64.rpm Downloading krb5-libs-1.15.1-37.el7_6.x86_64.rpm Downloading libacl-2.2.51-14.el7.x86_64.rpm Downloading libattr-2.4.46-13.el7.x86_64.rpm Downloading libcap-2.22-9.el7.x86_64.rpm Downloading libcom_err-1.42.9-13.el7.x86_64.rpm Downloading libffi-3.0.13-18.el7.i686.rpm Downloading libffi-3.0.13-18.el7.x86_64.rpm Downloading libgcc-4.8.5-36.el7_6.2.i686.rpm Downloading libgcc-4.8.5-36.el7_6.2.x86_64.rpm Downloading libselinux-2.5-14.1.el7.x86_64.rpm Downloading libsepol-2.5-10.el7.x86_64.rpm Downloading libstdc++-4.8.5-36.el7_6.2.i686.rpm Downloading libstdc++-4.8.5-36.el7_6.2.x86_64.rpm Downloading libtasn1-4.10-1.el7.i686.rpm Downloading libtasn1-4.10-1.el7.x86_64.rpm Downloading libverto-0.2.5-4.el7.x86_64.rpm Downloading ncurses-5.9-14.20130511.el7_4.x86_64.rpm Downloading ncurses-base-5.9-14.20130511.el7_4.noarch.rpm Downloading ncurses-libs-5.9-14.20130511.el7_4.x86_64.rpm Downloading nspr-4.19.0-1.el7_5.i686.rpm Downloading nspr-4.19.0-1.el7_5.x86_64.rpm Downloading nss-softokn-freebl-3.36.0-5.el7_5.i686.rpm Downloading nss-softokn-freebl-3.36.0-5.el7_5.x86_64.rpm Downloading nss-util-3.36.0-1.1.el7_6.i686.rpm Downloading nss-util-3.36.0-1.1.el7_6.x86_64.rpm Downloading openssl-libs-1.0.2k-16.el7_6.1.x86_64.rpm Downloading p11-kit-0.23.5-3.el7.i686.rpm Downloading p11-kit-0.23.5-3.el7.x86_64.rpm Downloading p11-kit-trust-0.23.5-3.el7.x86_64.rpm Downloading p11-kit-trust-0.23.5-3.el7.i686.rpm Downloading pcre-8.32-17.el7.x86_64.rpm Downloading pcre-8.32-17.el7.i686.rpm Downloading popt-1.13-16.el7.x86_64.rpm Downloading sed-4.2.2-5.el7.x86_64.rpm Downloading setup-2.8.71-10.el7.noarch.rpm Downloading tzdata-2019a-1.el7.noarch.rpm Downloading zlib-1.2.7-18.el7.x86_64.rpm
列出相关的rpm
现在,如果我们没有一个具有活动Internet连接和基准存储库的节点,那么我们也可以脱机获取依赖项rpm列表。
就本文而言,我使用了repoquery
命令,因为它给出了带有rpm名称的非常清晰的输出,并且也可以脱机使用。
[root@node1 rpms]# repoquery -R --resolve --recursive glibc-devel pcre-0:8.32-17.el7.x86_64 kernel-headers-0:3.10.0-957.el7.x86_64 bash-0:4.2.46-31.el7.x86_64 glibc-headers-0:2.17-260.el7_6.5.x86_64 basesystem-0:10.0-7.el7.centos.noarch libacl-0:2.2.51-14.el7.x86_64 glibc-0:2.17-260.el7_6.5.i686 zlib-0:1.2.7-18.el7.x86_64 libgcc-0:4.8.5-36.el7_6.1.i686 libverto-0:0.2.5-4.el7.x86_64 grep-0:2.20-3.el7.x86_64 openssl-libs-1:1.0.2k-16.el7_6.1.x86_64 libselinux-0:2.5-14.1.el7.x86_64 nspr-0:4.19.0-1.el7_5.i686 nspr-0:4.19.0-1.el7_5.x86_64 ca-certificates-0:2016.2.22-70.0.el7_5.noarch ncurses-base-0:5.9-14.20130511.el7_4.noarch nss-util-0:3.36.0-1.1.el7_6.x86_64 ncurses-libs-0:5.9-14.20130511.el7_4.x86_64 libcap-0:2.22-9.el7.x86_64 filesystem-0:3.2-25.el7.x86_64 nss-util-0:3.36.0-1.el7_5.i686 p11-kit-0:0.23.5-3.el7.i686 keyutils-libs-0:1.5.8-3.el7.i686 info-0:5.1-5.el7.x86_64 chkconfig-0:1.7.4-1.el7.x86_64 centos-release-0:7-6.1810.2.el7.centos.x86_64 keyutils-libs-0:1.5.8-3.el7.x86_64 gmp-1:6.0.0-15.el7.i686 p11-kit-0:0.23.5-3.el7.x86_64 libgcc-0:4.8.5-36.el7.x86_64 tzdata-0:2016e-3.el7.noarch setup-0:2.8.71-10.el7.noarch popt-0:1.13-16.el7.x86_64 p11-kit-trust-0:0.23.5-3.el7.x86_64 libsepol-0:2.5-10.el7.x86_64 libcom_err-0:1.42.9-13.el7.x86_64 glibc-common-0:2.17-260.el7.x86_64 krb5-libs-0:1.15.1-34.el7.x86_64 nss-softokn-freebl-0:3.36.0-5.el7_5.x86_64 gmp-1:6.0.0-15.el7.x86_64 libtasn1-0:4.10-1.el7.x86_64 pcre-0:8.32-17.el7.i686 ncurses-0:5.9-14.20130511.el7_4.x86_64 coreutils-0:8.22-23.el7.x86_64 libffi-0:3.0.13-18.el7.i686 libstdc++-0:4.8.5-36.el7.x86_64 gawk-0:4.0.2-4.el7_3.1.x86_64 p11-kit-trust-0:0.23.5-3.el7.i686 glibc-0:2.17-260.el7_6.4.x86_64 libffi-0:3.0.13-18.el7.x86_64 sed-0:4.2.2-5.el7.x86_64 libattr-0:2.4.46-13.el7.x86_64
说明:
使用此命令可能会看到一堆依赖项rpm。
现在,我们不一定必须安装所有这些rpm,因为其中的某些或者大多数rpm必须已经安装在系统上。
因此,我们必须找出已安装的rpm列表,以及必须下载的rpm列表才能创建安装glibc-devel
的仓库。
以下是我的Linux节点上的存储库的当前列表
[root@node1 rpms]# yum repolist Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: repos.del.extreme-ix.org * extras: centos.excellmedia.net * openstack-stein: centos.excellmedia.net * updates: centos.excellmedia.net repo id repo name status base/7/x86_64 CentOS-7 - Base 10,019 *epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,221 extras/7/x86_64 CentOS-7 - Extras 409 openstack-stein/7/x86_64 OpenStack Stein Repository 1,804 rdo-qemu-ev/x86_64 RDO CentOS-7 - QEMU EV 75 updates/7/x86_64 CentOS-7 - Updates 1,982 repolist: 27,510
创建一个定制的仓库
如果尚未安装createrepo
rpm
[root@node1 rpms]# rpm -qa | grep createrepo
因为我没有安装createrepo
rpm,所以我将通过yum
安装它。
[root@node1 rpms]# yum -y install creatrepo
说明:
如果我们没有yum存储库,则无法通过yum安装。
在这种情况下,我们必须手动下载createrepo rpm及其安装的依赖项rpm。
我们也可以在源DVD中获得此rpm,然后创建一个存储库。
下载完所有rpm后,接下来使用createrepo
rpm创建一个repo。
对于本文的同一部分,我已经在/root/rpms中下载了我的所有依赖项rpm。
浏览包含所有已下载依赖项rpm的目录
[root@node1 ~]# cd /root/rpms
提示:
我们也可以从任何其他目录创建存储库,但在这种情况下,请提供完整路径,即createrepo/root/rpms /
。
接下来使用以下命令创建仓库
[root@node1 rpms]# createrepo . Spawning worker 0 with 58 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
我们的仓库已经创建成功。
我们可以验证这一点,现在必须在/root/rpms下创建一个新的repodata目录。
[root@node1 rpms]# ls -l repodata total 280 -rw-r--r-- 1 root root 75853 Jun 3 13:00 11e8d76238ff21f69afdfaace67dd0b381d53ea6f50eabc696344dbb975ee9cb-filelists.xml.gz -rw-r--r-- 1 root root 27064 Jun 3 13:00 225d4da1642be7d9a07567d6ab5f82b6679b5949dbb1158278705f09fda59343-other.xml.gz -rw-r--r-- 1 root root 45925 Jun 3 13:00 5bf9d5a29b34070dbca033329f65bd28d33135fcd6719d518fb2e8f7be881d37-primary.sqlite.bz2 -rw-r--r-- 1 root root 35572 Jun 3 13:00 60a9bb4940ec7ee4d4cd45b4b83d941f73c155c56f539505f510c1b17fbd1f7e-other.sqlite.bz2 -rw-r--r-- 1 root root 65495 Jun 3 13:00 9ee15ecc9bf5b76ac799022ab7d90acf6d9044a3d79f88743903fc1d063dcab8-filelists.sqlite.bz2 -rw-r--r-- 1 root root 20804 Jun 3 13:00 cd4cf779c31707d754dc77773f943c49593c0324537a1773125355e4b6ad29df-primary.xml.gz -rw-r--r-- 1 root root 2988 Jun 3 13:00 repomd.xml [root@node1 rpms]# ls -ld repodata drwxr-xr-x 2 root root 4096 Jun 3 13:00 repodata
创建包含以下内容的存储库文件。
根据环境修改baseurl
的位置。
由于我已经放置了rpm并在/root/rpms
中创建了存储库,因此我使用了相同的库。
[root@node1 rpms]# cat /etc/yum.repos.d/glibc-install.repo [glibc-rpms] name=glibc rpms baseurl=file:///root/rpms/ enabled=1 gpgcheck=0
现在针对本文,我要确保仅使用我的一个Repo协议来安装rpm,即glibc-devel
。
因此,我已经禁用了所有其他存储库,并且仅在以下命令中启用了" glibc-rpms"存储库以列出可用的rpm。
[root@node1 rpms]# yum --disablerepo="*" --enablerepo=glibc-rpms list available Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile Available Packages glibc.i686 2.17-260.el7_6.5 glibc-rpms glibc-devel.i686 2.17-260.el7_6.5 glibc-rpms gmp.i686 1:6.0.0-15.el7 glibc-rpms keyutils-libs.i686 1.5.8-3.el7 glibc-rpms libffi.i686 3.0.13-18.el7 glibc-rpms libgcc.i686 4.8.5-36.el7_6.2 glibc-rpms libstdc++.i686 4.8.5-36.el7_6.2 glibc-rpms libtasn1.i686 4.10-1.el7 glibc-rpms nspr.i686 4.19.0-1.el7_5 glibc-rpms nss-softokn-freebl.i686 3.36.0-5.el7_5 glibc-rpms nss-util.i686 3.36.0-1.1.el7_6 glibc-rpms p11-kit.i686 0.23.5-3.el7 glibc-rpms p11-kit-trust.i686 0.23.5-3.el7 glibc-rpms pcre.i686 8.32-17.el7 glibc-rpms
现在,以类似的方式,我们将通过禁用除glibc-rpms存储库之外的所有其他存储库来安装rpm glibc-devel。
[root@node1 rpms]# yum --disablerepo="*" --enablerepo=glibc-rpms install glibc-devel Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package glibc-devel.x86_64 0:2.17-260.el7_6.5 will be installed --> Processing Dependency: glibc-headers = 2.17-260.el7_6.5 for package: glibc-devel-2.17-260.el7_6.5.x86_64 --> Processing Dependency: glibc-headers for package: glibc-devel-2.17-260.el7_6.5.x86_64 --> Running transaction check ---> Package glibc-headers.x86_64 0:2.17-260.el7_6.5 will be installed --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-260.el7_6.5.x86_64 --> Processing Dependency: kernel-headers for package: glibc-headers-2.17-260.el7_6.5.x86_64 --> Running transaction check ---> Package kernel-headers.x86_64 0:3.10.0-957.12.2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: glibc-devel x86_64 2.17-260.el7_6.5 glibc-rpms 1.1 M Installing for dependencies: glibc-headers x86_64 2.17-260.el7_6.5 glibc-rpms 683 k kernel-headers x86_64 3.10.0-957.12.2.el7 glibc-rpms 8.0 M Transaction Summary ======================================================================================== Install 1 Package (+2 Dependent packages) Total download size: 9.7 M Installed size: 6.9 M Is this ok [y/d/N]: y Downloading packages: --------------------------------------------------------------------------------------- Total 134 MB/s | 9.7 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : kernel-headers-3.10.0-957.12.2.el7.x86_64 1/3 Installing : glibc-headers-2.17-260.el7_6.5.x86_64 2/3 Installing : glibc-devel-2.17-260.el7_6.5.x86_64 3/3 Verifying : glibc-headers-2.17-260.el7_6.5.x86_64 1/3 Verifying : kernel-headers-3.10.0-957.12.2.el7.x86_64 2/3 Verifying : glibc-devel-2.17-260.el7_6.5.x86_64 3/3 Installed: glibc-devel.x86_64 0:2.17-260.el7_6.5 Dependency Installed: glibc-headers.x86_64 0:2.17-260.el7_6.5 kernel-headers.x86_64 0:3.10.0-957.12.2.el7 Complete!
如我们所见,我们成功地安装了glibc-devel
rpm和所有相关的rpm。
删除具有依赖项的rpm
现在,由于我们有一个解决方案来安装带依赖关系的rpm,因此让我们了解删除带依赖关系的rpm的风险。
每次尝试删除或者卸载rpm时,很可能会出现"错误:依赖项失败"。
现在其中我们有两种选择
删除rpm及其依赖项
跳过依赖的rpms,仅删除我们希望卸载的主rpm
此选择完全取决于rpm的类型和相关性rpm列表。
对于大多数rpms(如我的示例中所示),我看到很少的rpms是依赖项,因此我可以选择忽略依赖项,而继续进行pykickstart rpm的脱机删除,因为我知道依赖项rpms是必需的,不会影响正在运行的系统。
通过跳过依赖项脱机删除rpm
现在,我们可以通过使用--nodeps跳过所有依赖项来删除rpm
[root@node1 ~]# rpm -e pykickstart error: Failed dependencies: pykickstart >= 1.99.22 is needed by (installed) python-blivet-1:0.61.15.72-1.el7.noarch pykickstart >= 1.99.66.19 is needed by (installed) anaconda-core-21.48.22.147-1.el7.centos.x86_64 [root@node1 ~]# rpm -e pykickstart --nodeps
现在让我们验证是否成功删除了rpm。
[root@node1 ~]# rpm -qa | grep pykickstart [root@node1 ~]#
因此,当依存关系仍然存在于我的Linux节点上时,就删除了rpm,如下所示:
[root@kerberos ~]# rpm -qa | grep python-blivet python-blivet-0.61.15.72-1.el7.noarch [root@kerberos ~]# rpm -qa | grep anaconda-core anaconda-core-21.48.22.147-1.el7.centos.x86_64
使用yum删除具有依赖项的rpm
现在,如果我们希望删除rpm及其所有依赖项,则可以使用yum。
警告:
删除依赖项rpm有时会对节点造成风险,如果删除了重要的二进制文件和库文件,则可能使我们处于无法使用的状态。
因此,我们强烈建议我们避免使用此步骤。
要删除rpm及其依赖项,可以使用以下命令
[root@kerberos ~]# yum remove pykickstart Loaded plugins: fastestmirror, langpacks Resolving Dependencies --> Running transaction check ---> Package pykickstart.noarch 0:1.99.66.19-2.el7 will be erased --> Processing Dependency: pykickstart >= 1.99.22 for package: 1:python-blivet-0.61.15.72-1.el7.noarch --> Processing Dependency: pykickstart >= 1.99.66.19 for package: anaconda-core-21.48.22.147-1.el7.centos.x86_64 --> Running transaction check ---> Package anaconda-core.x86_64 0:21.48.22.147-1.el7.centos will be erased --> Processing Dependency: anaconda-core = 21.48.22.147-1.el7.centos for package: anaconda-gui-21.48.22.147-1.el7.centos.x86_64 --> Processing Dependency: anaconda-core = 21.48.22.147-1.el7.centos for package: anaconda-tui-21.48.22.147-1.el7.centos.x86_64 ---> Package python-blivet.noarch 1:0.61.15.72-1.el7 will be erased --> Running transaction check ---> Package anaconda-gui.x86_64 0:21.48.22.147-1.el7.centos will be erased --> Processing Dependency: anaconda-gui >= 21.48.22.102 for package: initial-setup-gui-0.3.9.43-1.el7.centos.x86_64 ---> Package anaconda-tui.x86_64 0:21.48.22.147-1.el7.centos will be erased --> Processing Dependency: anaconda-tui >= 21.48.22.102 for package: initial-setup-0.3.9.43-1.el7.centos.x86_64 --> Running transaction check ---> Package initial-setup.x86_64 0:0.3.9.43-1.el7.centos will be erased ---> Package initial-setup-gui.x86_64 0:0.3.9.43-1.el7.centos will be erased --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================== Package Arch Version Repository Size =============================================================================================================================== Removing: pykickstart noarch 1.99.66.19-2.el7 @base 1.7 M Removing for dependencies: anaconda-core x86_64 21.48.22.147-1.el7.centos @anaconda 8.1 M anaconda-gui x86_64 21.48.22.147-1.el7.centos @anaconda 1.5 M anaconda-tui x86_64 21.48.22.147-1.el7.centos @anaconda 443 k initial-setup x86_64 0.3.9.43-1.el7.centos @anaconda 221 k initial-setup-gui x86_64 0.3.9.43-1.el7.centos @anaconda 32 k python-blivet noarch 1:0.61.15.72-1.el7 @anaconda 3.0 M Transaction Summary =============================================================================================================================== Remove 1 Package (+6 Dependent packages) Installed size: 15 M Is this ok [y/N]: y <- Press "y" for confirmation Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : initial-setup-gui-0.3.9.43-1.el7.centos.x86_64 1/7 Erasing : anaconda-gui-21.48.22.147-1.el7.centos.x86_64 2/7 Erasing : initial-setup-0.3.9.43-1.el7.centos.x86_64 3/7 Erasing : anaconda-core-21.48.22.147-1.el7.centos.x86_64 4/7 Erasing : anaconda-tui-21.48.22.147-1.el7.centos.x86_64 5/7 Erasing : 1:python-blivet-0.61.15.72-1.el7.noarch 6/7 Erasing : pykickstart-1.99.66.19-2.el7.noarch 7/7 Verifying : anaconda-tui-21.48.22.147-1.el7.centos.x86_64 1/7 Verifying : 1:python-blivet-0.61.15.72-1.el7.noarch 2/7 Verifying : anaconda-core-21.48.22.147-1.el7.centos.x86_64 3/7 Verifying : initial-setup-gui-0.3.9.43-1.el7.centos.x86_64 4/7 Verifying : pykickstart-1.99.66.19-2.el7.noarch 5/7 Verifying : initial-setup-0.3.9.43-1.el7.centos.x86_64 6/7 Verifying : anaconda-gui-21.48.22.147-1.el7.centos.x86_64 7/7 Removed: pykickstart.noarch 0:1.99.66.19-2.el7 Dependency Removed: anaconda-core.x86_64 0:21.48.22.147-1.el7.centos anaconda-gui.x86_64 0:21.48.22.147-1.el7.centos anaconda-tui.x86_64 0:21.48.22.147-1.el7.centos initial-setup.x86_64 0:0.3.9.43-1.el7.centos initial-setup-gui.x86_64 0:0.3.9.43-1.el7.centos python-blivet.noarch 1:0.61.15.72-1.el7 Complete!
现在我们一定想知道,为什么在执行rpm -e pykickstart时,为什么yum与STDERR相比显示了更大的依赖关系rpm?
在执行rpm -e <rpm_name>时,rpm命令显示所提供的rpm的依赖项列表。
现在在尝试删除rpm之前,yum将找到依赖关系rpm的依赖关系列表,即anaconda-core是pykickstart
的依赖关系,而anaconda-tui
是anaconda-core
的依赖关系。
因此,必须去除整个链条。
这就是为什么我们强烈建议不要使用yum
来删除具有依赖项的rpm的原因。