आप अपने सिस्टम पर स्थापित हर चीज के लिए लाइसेंस कैसे प्राप्त करते हैं?


18

मैं एक स्क्रिप्ट लिखना चाहता हूं जो मेरे सिस्टम पर इंस्टॉल किए गए प्रत्येक सॉफ़्टवेयर पैकेज के लिए लाइसेंस का आउटपुट देता है।

dpkg --get-selectionsमैं का उपयोग कर स्थापित सब कुछ की सूची प्राप्त करने में सक्षम हूँ। हालाँकि, मुझे प्रत्येक पैकेज के लिए लाइसेंस की जानकारी प्राप्त करने का कोई रास्ता नहीं दिख रहा है। उदाहरण के लिए, मैं aptitude showप्रत्येक पैकेज के गुणों को प्राप्त करने के लिए उपयोग कर सकता हूं , लेकिन इसमें लाइसेंस शामिल नहीं है:

$ aptitude show apache2
Package: apache2
State: installed
Automatically installed: no
Version: 2.2.14-5ubuntu8.6
Priority: optional
Section: httpd
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 36.9k
Depends: apache2-mpm-worker (= 2.2.14-5ubuntu8.6) | apache2-mpm-prefork (= 2.2.14-5ubuntu8.6) | apache2-mpm-event (= 2.2.14-5ubuntu8.6) | apache2-mpm-itk (= 2.2.14-5ubuntu8.6),
         apache2.2-common (= 2.2.14-5ubuntu8.6)
Provided by: apache2-mpm-event, apache2-mpm-itk, apache2-mpm-prefork, apache2-mpm-worker
Description: Apache HTTP Server metapackage
 The Apache Software Foundation's goal is to build a secure, efficient and extensible HTTP server as standards-compliant open source software. The result has long been the
 number one web server on the Internet. 

 It features support for HTTPS, virtual hosting, CGI, SSI, IPv6, easy scripting and database integration, request/response filtering, many flexible authentication schemes, and
 more.
Homepage: http://httpd.apache.org/

क्या कोई तृतीय-पक्ष भंडार है जो प्रत्येक पैकेज के लिए लाइसेंस को सहसंबंधित करता है?

हर स्रोत पैकेज को डाउनलोड करने और लाइसेंसिंग की जानकारी के लिए इसका निरीक्षण करने में दर्दनाक लगता है, लेकिन शायद यह सबसे अच्छा तरीका है।


यह इस बिंदु पर गैर-तुच्छ प्रतीत होता है। Askubuntu.com/questions/88403/… का संभावित डुप्लिकेट यह भी देखें: serverfault.com/questions/334189/…
केविन बोवेन

अब यह भी देखें stackoverflow.com/questions/35044841/…
tripleee

जवाबों:


14

यहाँ है कि मैं क्या कर समाप्त हो गया। (परिणाम ~/licenses.txtसभी लाइसेंस के साथ मौजूद हैं /usr/share/doc)

$ packages=`dpkg --get-selections | awk '{ print $1 }'`
$ for package in $packages; do echo "$package: "; cat /usr/share/doc/$package/copyright; echo ""; echo ""; done > ~/licenses.txt

3
यह बहुत गोल चक्कर है। बस grep '^' /usr/share/doc/*/copyrightआपको वही जानकारी tail -n 10000 /usr/share/doc/*/copyrightमिलेगी , या यदि आप हर लाइन पर फ़ाइल नाम उपसर्ग नहीं चाहते हैं।
ट्रिपलए

12

2012 में, डेबियन ने दस्तावेज़ मशीन-पठनीय डेबियन / कॉपीराइट जारी किया जो भविष्य में लाइसेंस को पठनीय बना देगा। वर्तमान में, सभी पैकेज इस प्रारूप का उपयोग नहीं करते हैं। आदेश

grep -h '^License:' /usr/share/doc/*/copyright | sort -i | uniq -ic | sort -n

अभी भी बहुत सारा कचरा है। एक बेहतर आउटपुट के लिए आपको संभवतः एक टूल की आवश्यकता होती है, जो प्रत्येक फ़ाइल पर निर्भर करता हैFormat: फील्ड वैल्यू के ।

एक पूरी तरह से अलग तरीका फ़ाइल संरचना है /usr/share/common-licenses/(thx से /programming/1884753/license-info-of-a-deb-package#1884785 )। यह डेबियन-आधारित वितरण (और उनके लाइसेंस ग्रंथों में शामिल) में उपयोग किए जाने वाले मुख्य लाइसेंसों को सूचीबद्ध करता है। यह सूची पैकेज द्वारा प्रदान की गई है base-filesऔर स्थापित पैकेजों की सूची से जुड़ी नहीं है, लेकिन यह शायद औसत बॉस / ग्राहक के लिए पर्याप्त जानकारी है।

ls /usr/share/common-licenses/
Apache-2.0  BSD   GFDL-1.2  GPL    GPL-2  LGPL    LGPL-2.1
Artistic    GFDL  GFDL-1.3  GPL-1  GPL-3  LGPL-2  LGPL-3

अपडेट I ने केवल एक साधारण कमांड-लाइन समाधान प्रकाशित किया है जो बहुत सारी सांख्यिकी के साथ कॉपीराइट फाइलों से लाइसेंस की जानकारी निकालता है। https://github.com/daald/dpkg-licenses । बेझिझक इसे आज़माएं। किसी भी सुझाव का स्वागत है।


4

मैं सिर्फ dpkg-लाइसेंस ( https://github.com/daald/dpkg-licenses) पर ठोकर खाता हूं ) ।

बस रेपो को क्लोन करें

git clone https://github.com/daald/dpkg-licenses.git

फिर

./dpkg-licenses> लाइसेंस। txt

और आपके पास आज का सबसे अच्छा सॉफ्टवेयर्स स्थापित है, संस्करण और लाइसेंस सारणीबद्ध सूची जिसे आप सपना देख सकते हैं ...


@ डैनियल एल्डर ने पहले से ही एक अन्य जवाब में एक ही लिंक से पूछा askubuntu.com/a/620069/24203 और वह इस उपकरण के लेखक
लगते हैं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.