Jacob_linux 发表于 2015-09-25 09:16

求linux软件包管理的接口,实现类似rpm查询功能,急!

想查询系统某个软件是否安装, 在程序中,如果不通过执行rpm -qa,能做到吗, 有现成的API可用吗,求大神指点

Jacob_linux 发表于 2015-09-25 13:24

要沉了, 知道的指点下,小弟在此谢过了!

MMMIX 发表于 2015-09-25 14:10

回复 2# Jacob_linux


    rpm 有它自己的 API,用就是了。

Jacob_linux 发表于 2015-09-28 10:18

我看了下librpm.so.1库, 能看到导出的api,但是头文件找不到,怎么用呢, 求大神指点!回复 3# MMMIX


   

Jacob_linux 发表于 2015-09-28 11:02

搞定了,谢谢!回复 3# MMMIX


   

yjh777 发表于 2015-10-19 16:51

Jacob_linux 发表于 2015-09-28 11:02 static/image/common/back.gif
搞定了,谢谢!回复 3# MMMIX

这个习惯很不好!!!

搞定了给大家分享出来啊!!!

yjh777 发表于 2015-10-19 16:54

自己来吧:
https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-programming-c.html#id737996

Jacob_linux 发表于 2015-10-20 11:06

直接调用rpm接口实现的,ts = rpmtsCreate();iter = rpmtsInitIterator(ts, RPMTAG_NAME, vul_name, 0);installed_header = rpmdbNextIterator(iter); 主要通过这几个函数,得到头,再从header中调用headerNVR拿到名字、版本等信息。回复 7# yjh777


   
页: [1]
查看完整版本: 求linux软件包管理的接口,实现类似rpm查询功能,急!