मानक लिनक्स कमांड लाइन टूल्स के स्रोतों को खोजने के लिए सबसे अच्छी जगह कहां है? [बन्द है]


10

इनटू: मुझे स्रोतों को पढ़ना पसंद है। लेकिन यह कई अलग-अलग प्रोजेक्ट साइटों पर विभाजित इंटरनेट पर उन्हें खोजने की थकावट है। मुझे एक स्थान पर कई एप्लिकेशन के स्रोतों के साथ केंद्रीय ब्राउज़ करने योग्य रेपो देखना अच्छा लगेगा ।

  • जब कोई किसी लिनक्स उपकरण के प्रलेखन को ढूंढना चाहता है, तो सबसे अच्छी जगह है man toolname:।
  • जब मैं लिनक्स स्रोतों को "ऑन-डिमांड" ब्राउज़ करना चाहता हूं, तो मैं हमेशा यहां जा सकता हूं: लिनक्स क्रॉस संदर्भ
  • जब मैं सबसे आम कर्मचारियों को ढूंढना चाहता हूं, तो मैं कोरुटिल्स के सभी स्रोत पा सकता हूं
  • जब मैं यह जांचना चाहता हूं कि कुछ का निर्माण कैसे किया जाए, तो मैं (उदाहरण के लिए) http://www.archlinux.org/packages/ में कूद सकता हूं , यह जांचें कि यह किलोग्राम है।

क्या कोई रेपो है जो एक ही स्थान पर अधिकांश उपकरणों के स्रोत रखता है? - जैसे manडॉक्यूमेंटेशन या लिनक्स क्रॉस रेफरेंस कर्नेल सोर्स रखते हैं।

मेरा मतलब है "रैपिड" "ऑन-डिमांड" चेकिंग के लिए कुछ है कि सामान कैसे लागू किया जाता है। (हां, मुझे पता है कि Google -> लेकिन मैं दिनचर्या से थक गया हूं: 1. खोज परियोजना स्थल 2. रेपो या इससे भी बदतर ब्राउज़ करना -> यह रेपो की जाँच करना 3. समाप्त होने पर हटाना)

REMARK:

मैं बाहर जोर दिया है, मैं उपकरणों की जाँच करना चाहते हैं: तेजी से, तेजी से, मांग पर।

इसका अर्थ है: मैं संपूर्ण स्रोतों को इसके स्रोतों में देखने के लिए संपूर्ण एप्लिकेशन इंस्टॉल नहीं करना चाहता। (btw। वेब संसाधन बेहतर है, इसलिए मैं कई कंप्यूटरों से स्रोतों की जांच कर सकता हूं - मेरे पास उन सभी पर व्यवस्थापक नहीं हैं)


3
अधिकांश वितरण आपको पैकेज मैनेजर का उपयोग करके पैकेज के लिए स्रोत स्थापित करने की अनुमति देते हैं।
जिप्पी

3
डेबियन के लिए आप apt-get source $PACKAGE-NAMEस्रोत रिपोजिटरी को जोड़ने के बाद बस चला सकते हैं
उलरिच डेंगल

पैकेज आमतौर पर अन्य पुस्तकालयों पर अपने कार्यों को पूरा करने के लिए जवाब देते हैं
डेज़ी

मैं प्रत्येक ऐप को इंस्टॉल नहीं करना चाहता जिसे मैं जांचना चाहता हूं।
ग्रेज़गोरज़ विर्ज़ोवेकी

3
@GrzegorzWierzowiecki आपको स्रोत पर एक नज़र रखने के लिए एक एप्लिकेशन इंस्टॉल करने की आवश्यकता नहीं है, कम से कम आपके साथ apt-get sourceइस कमांड को सामान्य उपयोगकर्ता के रूप में चला सकते हैं।
उलरिच डेंगल

जवाबों:


6

मुझे एक वैकल्पिक उत्तर के साथ अपने प्रश्न का उत्तर देने की अनुमति दें। मुझे लगता है कि आप पारंपरिक यूनिक्स कमांड लाइन टूल के लिए कोड पढ़ना चाहते हैं, न केवल इनमें से जीएनयू संस्करण। विभिन्न परियोजनाओं से समान उपकरण का कोड पढ़ें विभिन्न विचारों और कार्यान्वयन को सीखने के लिए एक अच्छा अभ्यास है।

जीएनयू में कोरुटिल्स के रेपो के लिए एक अच्छा वेब इंटरफेस है: http://git.savannah.gnu.org/cgit/coreutils.git

बीएसडी परिवार के पास रिपॉजिट के लिए समान वेब इंटरफेस है:

बीएसडी कोडबेस दिलचस्प है क्योंकि आमतौर पर एक ही उपकरण के लिए कम कोड का उपयोग किया जाता है, अर्थात: केवल पारंपरिक विकल्पों का समर्थन करता है, कोई अतिरिक्त विकल्प नहीं, श एक वास्तविक शेल है और अन्य बड़े शेल (बैश) के लिए लिंक नहीं है, आदि कोर्यूटिल्स के समान उपकरण। बिन, sbin, usr.bin और usr.sbin के भीतर हैं।

यदि आप तृतीय पक्ष सॉफ़्टवेयर (आर्क के pkgbuild के समान) के निर्माण के लिए कोड पढ़ना चाहते हैं तो आप उसी वेब इंटरफेस को भी ब्राउज़ कर सकते हैं। NetBSD और DragonFly नेटबीएसडी रेपो से pkgsrc का उपयोग करते हैं। OpenBSD और FreeBSD के पास अपने संबंधित भंडार के भीतर ये रूपरेखाएँ हैं।

आपके उद्देश्य के लिए दिलचस्प अन्य रिपोज हैं:


बहुत बढ़िया जवाब। तुलना के लिए प्रोत्साहित करने के लिए धन्यवाद - विभिन्न दृष्टिकोणों की तुलना करना शिक्षाप्रद है। क्या आप कुछ लिनक्स रेपो (ओं) के साथ अपने उत्तर का विस्तार कर सकते हैं? बीएसडी कोडबेस दिलचस्प हैं, लेकिन मुझे डर है कि syscall आदि सामान में महत्वपूर्ण अंतर हो सकता है, इसलिए लिनक्स रिपोज आपकी सूची में बहुत अच्छा होगा।
ग्रेज़गोरज़ विएर्ज़ोवेकी

* बीएसडी का एक लाभ यह है कि सभी कोड एक रेपो के भीतर हैं। लिनक्स के साथ समस्या यह है कि प्रत्येक पैकेज का एक अलग मूल है। कोरुटिल्स रेपो (और बिल्ट-इन कार्यक्षमता के लिए बैश रेपो। git.savannah.gnu.org/cgit/bash.git/tree ) लगभग सभी पारंपरिक उपकरणों को शामिल करता है। "Linux distro" रिपोज में केवल थर्ड पार्टी पैकेज और कुछ पैच बनाने के लिए फ्रेमवर्क होता है, रिपॉज में वास्तविक कोड नहीं होता है (केवल डिस्ट्रो के टूल के लिए कोड होता है)।
रुफो एल मगुफो

बीएसडी बनाम लिनक्स के अंतर का सम्मान। API समान और आदतन POSIX और अन्य मानकों के अनुकूल हैं। अंतर प्रत्येक एपीआई का आंतरिक कार्यान्वयन है। वास्तव में, जीएनयू के उपकरण * बीएसडी पर काम करते हैं और * बीएसडी से उपकरण लिनक्स पर काम करते हैं। जैसे: डेबियन ( package.debian.org ) में कुछ * BSD उपकरण हैं और * BSD में कोरोडिल और अन्य GND प्रोजेक्ट उपलब्ध हैं।
रूफो एल मगुफो

2

चूंकि खुले स्रोत के विकास के लिए कोई केंद्रीय स्थान नहीं है, इसलिए अधिकांश खुले स्रोत सॉफ्टवेयर वाले केंद्रीय भंडार नहीं हैं। कुछ GitHub, BitBucket, निजी सर्वर, Sourceforge, Launchpad इत्यादि का उपयोग करते हैं, इसलिए यह वास्तव में वितरित वातावरण है और स्रोत को कॉपी करने के लिए केवल एक रिपॉजिटरी होने का कोई तत्काल लाभ नहीं है।

दूसरी ओर बाइनरी डिस्ट्रीब्यूशन (सोर्स कोड के बजाय शिपिंग बायनेरिज़) आमतौर पर अपने अधिकांश पैकेजों के लिए स्रोत प्रदान करते हैं और उन्हें सभी उपयोगकर्ताओं को प्रदान करते हैं। तो आपका सबसे अच्छा मौका डिस्ट्रीब्यूशन द्वारा प्रदान किए गए बुनियादी ढांचे का उपयोग करना है। कृपया ध्यान रखें कि उनमें आवश्यक रूप से नवीनतम परिवर्तन और सुधार शामिल नहीं हैं और वे पुराने हो सकते हैं।

अपने वितरण से स्रोत पैकेज डाउनलोड करने के तरीके:

yumdownloader --source packagename
apt-get source packagename

स्टैकओवरफ़्लो पर इसी तरह के सवाल के जवाब पर आर्क के जवाबों पर एक नज़र है ।

यदि आप केवल स्रोत कोड डाउनलोड करना चाहते हैं, तो आप package.debian.org का उपयोग कर सकते हैं, जैसे coreutils के लिए लिंक । यह मूल पैकेज ( orig.*या कुछ पैकेजों के लिए सफाई स्रोत dsfg.*) को एक डाउनलोड लिंक प्रदान करेगा । आप आर्क लिनक्स पैकेज सूची के साथ भी ऐसा ही कर सकते हैं, जैसे: आर्क कोरुटिल्स पृष्ठDownload from Mirrorपैकेज डाउनलोड करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.