আপনার সিস্টেমে ইনস্টল করা সমস্ত কিছুর লাইসেন্স আপনি কীভাবে খুঁজে পাবেন?


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/...
কেভিন বোয়েন


উত্তর:


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

২০১২ সালে, দেবিয়ান নথিটি মেশিন-পঠনযোগ্য ডিবিয়ান / কপিরাইট প্রকাশ করেছে যা ভবিষ্যতে লাইসেন্সগুলি পাঠযোগ্য হবে। বর্তমানে, সমস্ত প্যাকেজগুলি এই ফর্ম্যাটটি ব্যবহার করে না। আদেশ

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 ) এ ফাইল গঠন structure এটি ডেবিয়ান-ভিত্তিক বিতরণগুলিতে ব্যবহৃত প্রধান লাইসেন্সগুলির তালিকা করে (এবং তাদের লাইসেন্স পাঠ্য ধারণ করে)। এই তালিকাটি প্যাকেজটি সরবরাহ করেছে 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

আপডেট আমি সবেমাত্র একটি সাধারণ কমান্ড-লাইন সমাধান প্রকাশ করেছি যা প্রচুর তাত্পর্য সহ কপিরাইট ফাইলগুলি থেকে লাইসেন্স সম্পর্কিত তথ্য বের করে। https://github.com/daald/dpkg-license । এটি নিখরচায় চেষ্টা করুন। কোন পরামর্শ স্বাগত।


4

আমি কেবল ডিপি কেজি-লাইসেন্সে হোঁচট খেয়েছি ( https://github.com/daald/dpkg-license )।

শুধু রেপো ক্লোন করুন

গিট ক্লোন https://github.com/daald/dpkg-license.git

তারপর

./dpkg-license> লাইসেন্স.txt

এবং আপনি আজকের সেরা সফ্টওয়্যার ইনস্টল করেছেন, সংস্করণ এবং লাইসেন্সের ট্যাবুলার তালিকার আপনি স্বপ্ন দেখতে পারেন ...


@ ড্যানিয়েল অ্যাল্ডার ইতিমধ্যে একই উত্তরটি জিজ্ঞাসা করেছেন urbuuntu.com/a/620069/24203 এবং তিনি এই সরঞ্জামটির লেখক বলে মনে করছেন :)
আইজ্যাকস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.