Come ottenere il nome del fornitore dei pacchetti Linux basati su Debian?

Aug 20 2020

La distribuzione Linux basata su rpm fornisce il nome del fornitore come:

rpm -qi nano
<other info>
Vendor: CentOS
<other info>

Come posso ottenere i nomi dei fornitori per i pacchetti nella distribuzione basata su Debian? Già provato:

dpkg -l
apt list
apt show <package name>

Ho bisogno del nome del fornitore perché sto scrivendo uno script che creerebbe CPE di ogni pacchetto nel mio sistema, sono stato in grado di ottenere il nome e la versione del pacchetto ma non sono in grado di ottenere i nomi dei fornitori, se qualcuno sapesse come ottenere cpes dai pacchetti basati su Debian per favore aiutatemi me...

Risposte

2 StephenKitt Aug 20 2020 at 19:37

.debi pacchetti non tengono traccia dei fornitori per pacchetto; l'equivalente più vicino è il campo “Origin” del Releasefile che descrive il repository da cui il pacchetto può essere scaricato.

Per capirlo, inizia con apt show:

$ apt show ... | grep APT-Sources:
APT-Sources: http://deb.debian.org/debian buster/main amd64 Packages

Quindi cerca il Releasefile corrispondente in /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

Infine, cerca "Origine" lì:

$ grep Origin: /var/lib/apt/lists/deb.debian.org_debian_dists_buster_InRelease
Origin: Debian
ArtemS.Tashkinov Aug 20 2020 at 18:42

I manutentori Debian/Ubuntu non salvano queste informazioni. apt-cache show packagenamemostra informazioni che sono paragonabili rpm -qima non esistono di Vendorper sé, solo Maintainerche non sono ciò che stai cercando.