如何使用 rpm-python 管理 rpm 包

作者: iswbm / 发表于 2024-06-01 / 分类: Programming, Python

python

安装 rpm-python 包

在使用之前请先安装 rpm 的 Python API 库

$ yum install -y rpm-python

然后就可以在 Python 中 使用 rpm-python了

>>> import rpm
>>> rpm.__path__
['/usr/lib64/python2.7/site-packages/rpm']

由于不是通过 pip 安装的,因此 rpm-python 是安装在 /usr/lib64/python2.7/site-packages/ 目录下的。

获取未安装的 rpm 包信息

>>> import rpm
>>> ts = rpm.TransactionSet()
>>> rpmhdr = ts.hdrFromFdno("/root/librbd1-devel-10.2.10-0.el7.centos.x86_64.rpm")
>>> rpmhdr["NAME"]
'librbd1-devel'
>>> rpmhdr["VERSION"]
'10.2.10'
>>> rpmhdr["RELEASE"]
'0.el7.centos'
>>> rpmhdr["ARCH"]
'x86_64'

获取已安装的 rpm 包信息

>>> import rpm
>>> ts = rpm.TransactionSet()
>>> query = ts.dbMatch("name", "librbd1")
>>> query.count()
1
>>> pkg_info = next(query)
>>> pkg_info["NAME"]
'librbd1'
>>> pkg_info["VERSION"]
'12.2.9.1.1'
>>> pkg_info["RELEASE"]
'0.el7.centos'
>>> pkg_info["ARCH"]
'x86_64'

参考文章

iswbm

作者

iswbm

云计算 & 容器 & 前后端研发工程师。喜欢探索新技术,空闲时也折腾 Logseq 等效率工具。 可以在 GitHub 关注我了解更多,也可以加我微信(stromwbm) 与我交流。