2009-12-10 9 views
8

मैं अनइंस्टॉल किए गए डेब पैकेज की लाइसेंस जानकारी प्राप्त करने का प्रयास कर रहा हूं।
dpkg --info <package-name>.deb उस जानकारी को नहीं देता है।
क्या उबंटू में कोई आदेश है जो यह जानकारी देगी?
(आरपीएम वर्ल्ड आरपीएम -पीपीआई में यह जानकारी देता है)एक डेब पैकेज की लाइसेंस जानकारी

+0

निकट-डुप्लिकेट http://stackoverflow.com/questions/35044841/how-to-list-all-installed-packages-licences-in-ubuntu/ – tripleee

उत्तर

10

मुझे कोई आसान आदेश नहीं है। आप ऐसा कुछ कर सकते हैं:

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

यह फ़ाइल को मानक आउटपुट में प्रिंट करता है।

संपादित करें हम्म, यह कठिन लगता है। मेरी डेबियन सिस्टम पर उपयुक्त कैश की एक त्वरित अवलोकन के बाद, मैं कुछ वाक्यांश जो उपयोगी हो सकता है पाया:

  • "GNU जनरल पब्लिक लाइसेंस"
  • "उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस", यह सुनिश्चित करते आप पहली बार लाइनों को खोलने
  • "/usr/share/common-licenses/*"

    यह एक मानक लाइसेंस आप मिल जाएगा के सबसे करीब हो, लेकिन सावधान रहना अक्सर पैकेजिंग एक आम लाइसेंस के तहत है के बाद से रहा है, लेकिन पैकेज सामग्री एक अलग जूँ के नीचे हैं एनएसई।

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

हालांकि, कुछ पैकेज (ImageMagick) बस कि वास्तव में, किसी भी शेयर लाइसेंस के अनुरूप नहीं है, सिवाय इसके कि किसी को माना यह dfsg को मंजूरी दे दी कॉपीराइट फ़ाइल में एक मुक्त रूप लाइसेंस है।

अद्यतन 2012: यह debian/copyright फ़ाइल is now required to be machine-interpretable के रूप में बदलने के लिए शुरुआत है, तो आप भविष्य में इस के लिए तत्पर हैं कर सकते हैं।

+1

कॉपीराइट फ़ाइल में मानक प्रारूप नहीं है (यानी लाइसेंस का नाम, लाइसेंस टेक्स्ट) जो उस जानकारी को निकालना मुश्किल बनाता है। खासकर अगर मैं सैकड़ों पैकेजों के लिए ऐसा करना चाहता हूं। –

+2

हम्म .. मुझे लगता है कि एक मूर्खतापूर्ण समाधान तब मौजूद नहीं है। –

+2

अपडेट 2015: कई पैकेज [अभी भी मशीन-पठनीय लाइसेंस फ़ाइलों में परिवर्तित नहीं हुए हैं] (http://stackoverflow.com/a/35052572/260122)। लाइसेंस मेटाडेटा की जांच करने के लिए एकमात्र ऑनलाइन सेवा https://packages.debian.org/ पर पैकेज पेज पर "कॉपीराइट फ़ाइल" लिंक है। – clacke