लिनक्स कर्नेल के पैच का उद्देश्य क्या है?


21

प्रत्येक लिनक्स कर्नेल संस्करण के लिए, डाउनलोड के लिए एक पैच फ़ाइल उपलब्ध है। उदाहरण के लिए, linux-3.12.22 के पास पैच-3.12.22 है

उस पैच का उद्देश्य क्या है? इसे संकलित करने से पहले हमेशा संबंधित कर्नेल को पैच करें, या कर्नेल के साथ एक पूर्व कर्नेल संस्करण को अप-टू-डेट लाने के लिए कि पैच मेल खाता है (3.12.22, इस मामले में)?

जवाबों:


31

उद्देश्य बहुत सारे ट्रैफ़िक को बचाना है।

लिनक्स टारबॉल लगभग 75MB है, जबकि पैच आमतौर पर केवल कुछ KB का होता है।

इसलिए यदि आप अपना कर्नेल संकलित करते हैं, और प्रत्येक नए लघु संस्करण के लिए अपडेट करते हैं, तो इसे जारी किए गए प्रत्येक नए अपडेट के लिए एक नया 75MB टारबॉल को फिर से डाउनलोड करने के बजाय, आप बस दिए गए संस्करण के लिए मुख्य टैरबॉल को एक बार और फिर डाउनलोड करते हैं। उस संस्करण के लिए पैच जिसे आप वास्तव में चाहते हैं। जब कोई अपडेट होता है तो आप पहले से डाउनलोड किए गए मुख्य टैरबॉल का फिर से उपयोग करते हैं।

linux-3.14.tar.xz+ patch-3.14.{1..n}.xzकुल 100MB से नीचे है।

linux-3.14.tar.xz+ linux-3.14.{1..n}.tar.xzकई बार 100MB है।

पैचिंग के लिए कोई नकारात्मक पहलू नहीं है, अंतिम परिणाम समान है, जब तक कि आप कुछ गलत न करें।


9
जैसा कि लिखा गया है, यह सवाल का जवाब नहीं देता है। स्पष्ट रूप से, पैच का उद्देश्य यह है कि इसे "n" के स्रोत "अपग्रेड" के संस्करण n-1 में लागू किया जाए। लाभ यह है कि यह, यातायात का एक बहुत बचाता है के रूप में जवाब का वर्णन है।
डेविड रिचरबी

1
मैं कोई देशी वक्ता नहीं हूं। लेकिन लाभ मुझे किसी भी तरह कमजोर लगता है। किसी भी सर्वर के लिए बैंडविड्थ / ट्रैफ़िक को सहेजना महत्वपूर्ण है। इसका उद्देश्य है।
ठंढकुट्ज़

आपने जो हिस्सा स्पष्ट रूप से उत्तर नहीं दिया, वह यह है कि, "कंपाइल करने से पहले संबंधित कर्नेल को हमेशा पैच करें, या कर्नेल के साथ एक पूर्व कर्नेल संस्करण को अप-टू-डेट लाने के लिए कि पैच मैच (3.12.22, इस मामले में)?" " पैच-3.12.22 को संस्करण 3.12.21 से .22 तक अपग्रेड करना है, संकलन करने से पहले 3.12.22 स्रोतों पर लागू नहीं किया जाना है।
डेविड रिचरबी

पैच आमतौर पर .0, जैसे हैं VERSION = 3 PATCHLEVEL = 12 -SUBLEVEL = 0 +SUBLEVEL = 22। यह 20 पैच के माध्यम से जाने के लिए कष्टप्रद होगा ...
frostschutz

ऐसे ट्रैफिक सेविंग स्कीम कैसे बेहतर होगी जैसे कि एक रिपॉजिटरी का जिट क्लोन होने और git pullएक नया वर्जन रिलीज़ होने पर।
रुसलान

5

इन्हें "पैचसेट" कहा जाता है। पैचसेट पैच के समूह हैं जो समान कार्यक्षमता प्रदान करते हैं, संबंधित हैं, या चरणों में एक फ़ंक्शन को लागू करते हैं। ये विशेष रूप से, कर्नेल (XY) के एक प्रमुख संशोधन और बाद के मामूली / रखरखाव संशोधनों (XY Z ) के बीच कई प्रस्तावों के बीच अंतर हैं :

  • सर्वर पर जगह बचाओ।
  • बैंडविड्थ बचाओ।
  • आसानी से लागू और वितरित होने योग्य

याद रखें कि वे पैच वृद्धिशील हैं। आपको पहले पैच .2 पर पैच 2 से पहले लगाना होगा, और उसके बाद आप आवेदन कर सकते हैं ।3।

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