2009-12-10 4 views
8

Sto cercando di ottenere informazioni sulla licenza di pacchetti deb installati.
dpkg --info <package-name>.deb non dà queste informazioni.
C'è qualche comando in ubuntu che fornirà queste informazioni?
(In rpm world rpm -qpi fornisce tali informazioni)licenza informazioni di un pacchetto deb

+0

Vedere anche near-duplicate http://stackoverflow.com/questions/35044841/how-to-list-all-installed-packages-licences-in-ubuntu/ – tripleee

risposta

10

Non c'è un comando semplice che io conosca. Puoi fare qualcosa del genere:

dpkg-deb --fsys-tarfile foo.deb |tar -xvO ./usr/share/doc/foo/copyright 

Stampa il file sullo standard output.

Modifica Hmm, che suona difficile. Dopo una rapida lettura della cache apt sul mio sistema Debian, ho trovato alcune frasi che potrebbero essere utili:

  • "GNU General Public License"
  • "l'avviso di copyright e questo avviso di autorizzazione", assicurandosi si Separa righe primi
  • "/usr/share/common-licenses/*"

    Questo sembra essere più vicino a una licenza standard si otterrà, ma attenzione dal momento che spesso la confezioneè sotto una comune licenza, ma il contenuto della confezione sono sotto un pidocchio separato NSE.

  • ^License: MPL-1.1 | GPL-2+ | Apache-2.0

Tuttavia, alcuni pacchetti (ImageMagick) semplicemente hanno una licenza a forma libera nel file di copyright che in realtà non rispondono a nessuna licenza magazzino, tranne che qualcuno ha ritenuto DFSG-approvato.

Aggiornamento 2012: Questo sta cominciando a cambiare, come il file di debian/copyrightis now required to be machine-interpretable, in modo da poter guardare avanti a questo in futuro.

+1

il file di copyright non ha un formato standard (es. nome della licenza, testo della licenza) che rende difficile l'estrazione di tali informazioni. Specialmente se voglio farlo per centinaia di pacchetti. –

+2

Hmmm ... Immagino che una soluzione infallibile non esista. –

+2

Aggiornamento 2015: molti pacchetti [non sono ancora passati ai file di licenza leggibili dalla macchina] (http://stackoverflow.com/a/35052572/260122). L'unico servizio online per verificare i metadati della licenza è il link "Copyright File" nella pagina del pacchetto su https://packages.debian.org/. – clacke