基于 rpm 的 Linux 发行版的供应商名称如下:
rpm -qi nano
<other info>
Vendor: CentOS
<other info>
如何获取基于 Debian 的发行版中软件包的供应商名称?已经尝试过:
dpkg -l
apt list
apt show <package name>
我需要供应商名称,因为我正在编写一个脚本,该脚本将为我的系统中的每个包创建 CPE,我能够获取包名称和版本,但无法获取供应商名称,如果有人知道如何从基于 Debian 的包获取 cpes,请帮助我...
答案1
.deb
软件包不会跟踪每个软件包的供应商;最接近的等效项是Release
描述可以从中下载包的存储库的文件的“Origin”字段。
要弄清楚这一点,请从以下开始apt show
:
$ apt show ... | grep APT-Sources:
APT-Sources: http://deb.debian.org/debian buster/main amd64 Packages
Release
然后在中查找对应的文件/var/lib/apt/lists
:
$ ls /var/lib/apt/lists/deb.debian.org_debian_dists_buster_*Release
/var/lib/apt/lists/deb.debian.org_debian_dists_buster_InRelease
最后,在那里寻找“Origin”:
$ grep Origin: /var/lib/apt/lists/deb.debian.org_debian_dists_buster_InRelease
Origin: Debian
答案2
Debian/Ubuntu 维护者不保存此信息。apt-cache show packagename
显示可比较的信息,但本身rpm -qi
没有,只是不是您要查找的信息。Vendor
Maintainer