加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖关系 – 有没有办法从yum检索依赖关系树?

发布时间:2020-12-14 00:49:04 所属栏目:百科 来源:网络整理
导读:为了减少XY问题的机会,我试图将PostGIS安装在干净,虚拟的RHEL5安装上,严重限制.我不知道我们(作为一家公司)是否有RH订阅. # yum install postgisLoaded plugins: product-id,security,subscription-managerThis system is not registered to Red Hat Subscri
为了减少XY问题的机会,我试图将PostGIS安装在干净,虚拟的RHEL5安装上,严重限制.我不知道我们(作为一家公司)是否有RH订阅.
# yum install postgis
Loaded plugins: product-id,security,subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
No package postgis available.
Nothing to do.

当我尝试安装emacs时,它会抛出相同的错误,所以我相对确定我要安装哪个软件包并不重要.

虚拟机有互联网访问.

我想要做的是为我指定的一个软件(显然,即postgis)检索完整的依赖图. yum必须已经计算了这个依赖图(或者有一个可用于检索)来完成它的工作,那么我该如何利用这个资源呢?

根据RHEL5手册页:“repoquery是一个用于从YUM存储库查询信息的程序,类似于rpm查询.

对于您具体的postgis案例:

# repoquery --requires --recursive --resolve  postgis
postgresql-libs-0:8.1.23-6.el5_8.i386
geos-0:2.2.3-3.el5.i386
glibc-0:2.5-107.el5_9.5.i686
proj-0:4.5.0-3.el5.i386

如果您的系统是64位,您可以将“.i386”和“.i686”从包名称中删除.

从repoquery的输出并不完美,因为例如,它无法在上述列表中列出glibc-common.但如果您的系统没有glibc和glibc-common已经安装,您的系统将不会运行.

编辑:虽然它不会引起错误,但是在–ELcursive标志似乎在RHEL5.11中什么都不做,可以省略.另外,使用–pkgnarrow = all标志来确保查询的所有(已安装,可用等)包都被考虑.最后,为了获得更多的依赖关系树的递归的一个步骤,在bash shell中,使用tee和xargs将repoquery命令的输出传递给第二个repoquery命令,如下所示:

# repoquery --requires  --resolve --pkgnarrow=all postgis.i386 | tee >(xargs -r -n 1 -- repoquery --requires  --resolve --pkgnarrow=all) | sort | uniq
basesystem-0:8.0-5.1.1.noarch
geos-0:2.2.3-3.el5.i386
glibc-0:2.5-123.el5_11.3.i686
glibc-common-0:2.5-123.el5_11.3.i386
krb5-libs-0:1.6.1-80.el5_11.i386
libgcc-0:4.1.2-55.el5.i386
libstdc++-0:4.1.2-55.el5.i386
openssl-0:0.9.8e-40.el5_11.i686
postgresql-libs-0:8.1.23-10.el5_10.i386
proj-0:4.5.0-3.el5.i386

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读