src वर्जन 3. * और 3 में क्या अंतर है। * - जेनेरिक


10

मेरे स्थानीय लिनक्स / उबंटू में, मेरे पास लिनक्स src के लिए दो निर्देशिकाएं हैं

/usr/src/linux-3.16.0
/usr/src/linux-3.16.0-generic

मैंने पाया कि कोड 3.16.0 में 3.16.0-जेनेरिक की तुलना में बहुत अधिक है। मैं सोच रहा हूँ कि क्यों और कैसे दो निर्देशिका अलग हैं (और वे क्या प्रतिनिधित्व करते हैं?)

जवाबों:


1

दो निर्देशिकाओं को संबंधित पैकेज द्वारा प्रदान किया जाता है, जिसमें कर्नेल के लिए हेडर फाइलें होती हैं। dpkgकौन सा पैकेज निर्देशिका प्रदान करने के लिए कमांड का उपयोग करें ।

$ dpkg -S /usr/src/linux*
linux-headers-X.XX.X-XX: /usr/src/linux-headers-X.XX.X-XX
linux-headers-X.XX.X-XX-generic: /usr/src/linux-headers-X.XX.X-XX-generic
...

पहली निर्देशिका /usr/src/linux-headers-X.X.XX-XXमें कई आर्किटेक्चर के लिए हेडर फाइलें शामिल हैं, जिसमें x86, amd64, powerpc और अन्य शामिल हैं, जिसके परिणामस्वरूप अधिक संख्या में फाइलें और पैकेज का बड़ा आकार है।

दूसरी निर्देशिका /usr/src/linux-headers-X.X.XX-XX-genericमें ज्यादातर स्रोत कोड x86 आर्किटेक्चर से संबंधित थे जो स्थानीय स्थापना के लिए लक्षित हैं।

उदाहरण के लिए संबंधित पैकेज ने संकेत दिया है:

$ apt-cache show linux-headers-3.16.0-25 | grep -A3 Description-en
Description-en: Header files related to Linux kernel version 3.16.0
 This package provides kernel header files for version 3.16.0, for sites
 that want the latest kernel headers. Please read
 /usr/share/doc/linux-lts-utopic-headers-3.16.0-25/debian.README.gz for details

जहां तक ​​मुझे जानकारी है, दोनों निर्देशिकाओं में केवल स्रोत कोड हैं और बायनेरी नहीं। और दोनों के बीच अंतर मुख्य रूप से स्रोत कोड की लक्ष्य वास्तुकला है।

संबंधित: एक कर्नेल स्रोत पेड़ में क्या होता है? क्या यह लिनक्स कर्नेल हेडर से संबंधित है?

विस्तारित उत्तर (2015.07.30)

चूंकि दोनों स्टोर x86संबंधित कोड हैं, x86दो निर्देशिकाओं में कोड को क्या अंतर माना गया है ? - रिचर्ड जुल 29 '15 19:11 बजे

अधिकांश निर्देशिकाओं और फाइलों में निहित /usr/src/linux-headers-X.X.XX-XX-genericप्रतीकात्मक लिंक हैं, जो वास्तविक निर्देशिकाओं और फाइलों की ओर इशारा करते हैं /usr/src/linux-headers-X.X.XX-XX। दूसरे शब्दों में, arch/x86उन दो निर्देशिकाओं में पाया गया वास्तविक और प्रतीकात्मक लिंक का अंतर है, समकक्षों asmमें हेडर की कुछ बचे हुए फाइलों के साथ *-generic

उन दो पैकेजों के बीच, एक और बड़ा अंतर नोटिस हो सकता है कि समकक्ष में configऔर generatedनिर्देशिका की उपस्थिति *-genericहै।

मेरी सबसे अच्छी समझ के अनुसार, मुझे लगता है कि *-genericनिर्देशिका , डायरेक्टरी को x86आर्किटेक्चर से संबंधित विन्यास और संकलन के लिए आवश्यक हेडर फाइल रखती है , बिना सोर्स डायरेक्टरी में बदलाव किए linux-headers-x.x.xx-xx

इन सबसे ऊपर, दो निर्देशिका संभवतः संबंधित प्लेटफार्मों पर पैकेजों की पैकेजिंग और संकलन के लिए "स्वच्छ" दृष्टिकोण हैं। हालाँकि, मैं इस मामले को स्पष्ट करने की स्थिति में नहीं हूँ।


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


चूंकि दोनों स्टोर x86संबंधित कोड हैं, x86दो निर्देशिकाओं में कोड को क्या अंतर माना गया है ?
रिचर्ड

@ रीचर्ड मैंने अपने उत्तर को अपने सर्वश्रेष्ठ ज्ञान के रूप में अद्यतन किया है, जितना संभव हो उतना सरल। मेरा उत्तर भोली के रूप में देखा जा सकता है, इसलिए आप इसके बजाय किसी और से बेहतर उत्तर की तलाश कर सकते हैं।
क्लीमकुरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.