如何获取基于 debian 的 linux 软件包的供应商名称?

如何获取基于 debian 的 linux 软件包的供应商名称?

基于 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没有,只是不是您要查找的信息。VendorMaintainer

相关内容