बैकपोर्टिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{short description|Process for fixing older software versions}}
{{short description|Process for fixing older software versions}}
'''बैकपोर्टिंग''' एक [[सॉफ्टवेयर सिस्टम]] या सॉफ़्टवेयर घटक के नए सॉफ़्टवेयर संस्करण से भाग लेने और उन्हें उसी [[सॉफ्टवेयर घटक]] पुराने संस्करण में पोर्ट करने की क्रिया है। यह सॉफ़्टवेयर डेवलपमेंट प्रक्रिया में सॉफ़्टवेयर रखरखाव चरण का भाग बनता है, और इसका उपयोग सामान्यतः सॉफ़्टवेयर के पुराने संस्करणों में [[सुरक्षा बग|सुरक्षा समस्या]] को ठीक करने और पुराने संस्करणों को नई सुविधाएँ प्रदान करने के लिए भी किया जाता है।
'''बैकपोर्टिंग''' [[सॉफ्टवेयर सिस्टम]] या सॉफ़्टवेयर घटक के नए सॉफ़्टवेयर संस्करण से भाग लेने और उन्हें उसी [[सॉफ्टवेयर घटक]] पुराने संस्करण में पोर्ट करने की क्रिया है। यह सॉफ़्टवेयर डेवलपमेंट प्रक्रिया में सॉफ़्टवेयर रखरखाव चरण का भाग बनता है, और इसका उपयोग सामान्यतः सॉफ़्टवेयर के पुराने संस्करणों में [[सुरक्षा बग|सुरक्षा समस्या]] को ठीक करने और पुराने संस्करणों को नई सुविधाएँ प्रदान करने के लिए भी किया जाता है।


== अवलोकन                                                                                                                                                                        ==
== अवलोकन                                                                                                                                                                        ==
बैकपोर्टिंग की सबसे सरल और संभवतः सबसे सामान्य स्थिति सॉफ्टवेयर के एक नए संस्करण में एक निश्चित सुरक्षा छिद्र है। इस सरलीकृत उदाहरण पर विचार करें:
बैकपोर्टिंग की सबसे सरल और संभवतः सबसे सामान्य स्थिति सॉफ्टवेयर के नए संस्करण में निश्चित सुरक्षा छिद्र है। इस सरलीकृत उदाहरण पर विचार करें:


* सॉफ़्टवेयर v2.0 में एक [[सुरक्षा भेद्यता]] थी जिसे 'असुरक्षित ' टेक्स्ट को 'सुरक्षित' में बदलकर ठीक किया गया है।
* सॉफ़्टवेयर v2.0 में [[सुरक्षा भेद्यता]] थी जिसे 'असुरक्षित ' टेक्स्ट को 'सुरक्षित' में बदलकर ठीक किया गया है।
* सॉफ़्टवेयर v1.0 में वही सुरक्षा छिद्र उपस्थित है, जिससे नए संस्करण के लिए [[ codebase |कोडबेस]] प्राप्त किया गया है, किन्तु वहाँ टेक्स्ट 'असुरक्षित' पढ़ सकता है।
* सॉफ़्टवेयर v1.0 में वही सुरक्षा छिद्र उपस्थित है, जिससे नए संस्करण के लिए [[ codebase |कोडबेस]] प्राप्त किया गया है, किन्तु वहाँ टेक्स्ट 'असुरक्षित' पढ़ सकता है।


Line 14: Line 14:
  | access-date = 2020-05-11}}</ref>
  | access-date = 2020-05-11}}</ref>


वास्तविक जीवन की स्थितियों में, सॉफ़्टवेयर के एक तथ्य में किए गए संशोधन सरल (स्रोत कोड की केवल कुछ पंक्तियाँ बदली गई हैं) से लेकर भारी और भारी (कई संशोधन कोड की कई [[कम्प्यूटर फाइल]] में फैले हुए) तक हो सकते हैं। इसके पश्चात् स्थिति में, बैकपोर्टिंग रोचक और अक्षम हो सकती है और केवल तभी किया जाना चाहिए जब सॉफ़्टवेयर के पुराने संस्करण को वास्तव में नए के पक्ष में आवश्यक हो (यदि, उदाहरण के लिए, नया संस्करण अभी भी रोबस्टनेस (कंप्यूटर विज्ञान) समस्याओं से ग्रस्त है जो रोकथाम करता है जो मिशन-क्रिटिकल में इसके उपयोग को रोकता है)।<ref name="fedora-upstream">{{cite web
वास्तविक जीवन की स्थितियों में, सॉफ़्टवेयर के तथ्य में किए गए संशोधन सरल (स्रोत कोड की केवल कुछ पंक्तियाँ बदली गई हैं) से लेकर भारी और भारी (कई संशोधन कोड की कई [[कम्प्यूटर फाइल]] में फैले हुए) तक हो सकते हैं। इसके पश्चात् स्थिति में, बैकपोर्टिंग रोचक और अक्षम हो सकती है और केवल तभी किया जाना चाहिए जब सॉफ़्टवेयर के पुराने संस्करण को वास्तव में नए के पक्ष में आवश्यक हो (यदि, उदाहरण के लिए, नया संस्करण अभी भी रोबस्टनेस (कंप्यूटर विज्ञान) समस्याओं से ग्रस्त है जो रोकथाम करता है जो मिशन-क्रिटिकल में इसके उपयोग को रोकता है)।<ref name="fedora-upstream">{{cite web
  | url = https://fedoraproject.org/wiki/Staying_close_to_upstream_projects
  | url = https://fedoraproject.org/wiki/Staying_close_to_upstream_projects
  | title = Staying close to upstream projects
  | title = Staying close to upstream projects
Line 21: Line 21:
  | publisher = [[Fedora Project]]
  | publisher = [[Fedora Project]]
  | access-date = 2020-05-11}}</ref>
  | access-date = 2020-05-11}}</ref>
== प्रक्रियाएं                                                                                                                                                              ==
== प्रक्रियाएं                                                                                                                                                              ==
बैकपोर्टिंग की प्रक्रिया को सामान्यतः इन चरणों में विभाजित किया जा सकता है:<ref name="redhat-backporting" /> या सॉफ़्टवेयर के पुराने संस्करण में समस्या की पहचान जिसे बैकपोर्ट द्वारा ठीक करने की आवश्यकता है
बैकपोर्टिंग की प्रक्रिया को सामान्यतः इन चरणों में विभाजित किया जा सकता है:<ref name="redhat-backporting" /> या सॉफ़्टवेयर के पुराने संस्करण में समस्या की पहचान जिसे बैकपोर्ट द्वारा ठीक करने की आवश्यकता है
# यह पता लगाना कि कोड के किस (सामान्यतः हाल ही में) संशोधन ने समस्या को ठीक किया जाता है
# यह पता लगाना कि कोड के किस (सामान्यतः हाल ही में) संशोधन ने समस्या को ठीक किया जाता है
# पुराने कोड की स्थिति में संशोधन को अपनाना (उचित बैकपोर्टिंग) होता है
# पुराने कोड की स्थिति में संशोधन को अपनाना (उचित बैकपोर्टिंग) होता है
# [[गुणवत्ता नियंत्रण]] के एक या कई स्तर परीक्षण करता है कि क्या बैकपोर्टेड संस्करण पिछली कार्यक्षमता को बनाए रखता है और साथ ही यह नई कार्यक्षमता को ठीक से प्रयुक्त करता है या नहीं प्रयुक्त करता है।
# [[गुणवत्ता नियंत्रण]] के या कई स्तर परीक्षण करता है कि क्या बैकपोर्टेड संस्करण पिछली कार्यक्षमता को बनाए रखता है और साथ ही यह नई कार्यक्षमता को ठीक से प्रयुक्त करता है या नहीं प्रयुक्त करता है।


सामान्यतः, ऐसे कई संशोधन [[पैच (कंप्यूटिंग)]] सेट में बंडल किए जाते हैं।
सामान्यतः, ऐसे कई संशोधन [[पैच (कंप्यूटिंग)]] सेट में बंडल किए जाते हैं।


सॉफ्टवेयर के कोर [[सॉफ्टवेयर डेवलपर]] समूह द्वारा बैकपोर्ट प्रदान किए जा सकते हैं। चूंकि बैकपोर्टिंग के लिए सॉफ़्टवेयर के एक टुकड़े के स्रोत कोड तक पहुंच की आवश्यकता होती है, यह एकमात्र विधि है कि बंद स्रोत सॉफ़्टवेयर के लिए बैकपोर्टिंग की जाती है बैकपोर्ट को सामान्यतः सॉफ्टवेयर के पुराने संस्करण लाइन के साथ [[बाइनरी फ़ाइल]] [[ उन्नत करना | अपस्ट्रीम]] में सम्मिलित किया जाएगा। [[खुला स्रोत सॉफ्टवेयर|ओपेन सोर्स सॉफ्टवेयर]] के साथ, कभी-कभी [[लिनक्स वितरण]] द्वारा बैकपोर्ट बनाए जाते हैं और इसके पश्चात् अपस्ट्रीम (सॉफ़्टवेयर डेवलपमेंट) भेजे जाते हैं (जो कि पीड़ित सॉफ़्टवेयर के मुख्य डेवलपर्स को सबमिट किए जाते हैं)।<ref name="fedora-upstream" />
सॉफ्टवेयर के कोर [[सॉफ्टवेयर डेवलपर]] समूह द्वारा बैकपोर्ट प्रदान किए जा सकते हैं। चूंकि बैकपोर्टिंग के लिए सॉफ़्टवेयर के टुकड़े के स्रोत कोड तक पहुंच की आवश्यकता होती है, यह एकमात्र विधि है कि बंद स्रोत सॉफ़्टवेयर के लिए बैकपोर्टिंग की जाती है बैकपोर्ट को सामान्यतः सॉफ्टवेयर के पुराने संस्करण लाइन के साथ [[बाइनरी फ़ाइल]] [[ उन्नत करना |अपस्ट्रीम]] में सम्मिलित किया जाएगा। [[खुला स्रोत सॉफ्टवेयर|ओपेन सोर्स सॉफ्टवेयर]] के साथ, कभी-कभी [[लिनक्स वितरण]] द्वारा बैकपोर्ट बनाए जाते हैं और इसके पश्चात् अपस्ट्रीम (सॉफ़्टवेयर डेवलपमेंट) भेजे जाते हैं (जो कि पीड़ित सॉफ़्टवेयर के मुख्य डेवलपर्स को सबमिट किए जाते हैं)।<ref name="fedora-upstream" />
 
 
== उदाहरण ==
== उदाहरण ==
[[Windows XP|विन्डोज़ एक्सपी]] के लिए सर्विस पैक 3 जारी किए जाने पर [[Windows Vista|विंडोज विस्टा]] की कई विशेषताओं को विन्डोज़ एक्सपी में वापस भेज दिया गया था, जिससे मूल रूप से विस्टा के साथ एक्सपी एसपी3 पर चलने के लिए न्यूनतम आवश्यकता के रूप में अनुप्रयोगों (अधिकतर गेम) की अनुकूलता की सुविधा मिलती है।<ref>{{cite web
[[Windows XP|विन्डोज़ एक्सपी]] के लिए सर्विस पैक 3 जारी किए जाने पर [[Windows Vista|विंडोज विस्टा]] की कई विशेषताओं को विन्डोज़ एक्सपी में वापस भेज दिया गया था, जिससे मूल रूप से विस्टा के साथ एक्सपी एसपी3 पर चलने के लिए न्यूनतम आवश्यकता के रूप में अनुप्रयोगों (अधिकतर गेम) की अनुकूलता की सुविधा मिलती है।<ref>{{cite web
Line 44: Line 39:
  | access-date = 2020-05-11}}</ref>
  | access-date = 2020-05-11}}</ref>


सितंबर 2010 से [[ डेबियन परियोजना | डेबियन परियोजना]] <ref>{{cite web
सितंबर 2010 से [[ डेबियन परियोजना |डेबियन परियोजना]] <ref>{{cite web
  | url = https://www.debian.org/News/2010/20100905
  | url = https://www.debian.org/News/2010/20100905
  | title = Backports service becoming official
  | title = Backports service becoming official
  | date = 2010-09-05
  | date = 2010-09-05
  | publisher = [[Debian Project]]
  | publisher = [[Debian Project]]
  | access-date = 2020-05-11}}</ref> कुछ [[डेबियन लिनक्स]] सॉफ्टवेयर पैकेजों के लिए एक आधिकारिक बैकपोर्टिंग सेवा प्रदान करता है, और [[उबंटू]] लिनक्स भी बैकपोर्ट का समर्थन करता है, <ref>{{cite web
  | access-date = 2020-05-11}}</ref> कुछ [[डेबियन लिनक्स]] सॉफ्टवेयर पैकेजों के लिए आधिकारिक बैकपोर्टिंग सेवा प्रदान करता है, और [[उबंटू]] लिनक्स भी बैकपोर्ट का समर्थन करता है, <ref>{{cite web
  | url = https://help.ubuntu.com/community/UbuntuBackports
  | url = https://help.ubuntu.com/community/UbuntuBackports
  | title = UbuntuBackports
  | title = UbuntuBackports

Revision as of 08:21, 28 June 2023

बैकपोर्टिंग सॉफ्टवेयर सिस्टम या सॉफ़्टवेयर घटक के नए सॉफ़्टवेयर संस्करण से भाग लेने और उन्हें उसी सॉफ्टवेयर घटक पुराने संस्करण में पोर्ट करने की क्रिया है। यह सॉफ़्टवेयर डेवलपमेंट प्रक्रिया में सॉफ़्टवेयर रखरखाव चरण का भाग बनता है, और इसका उपयोग सामान्यतः सॉफ़्टवेयर के पुराने संस्करणों में सुरक्षा समस्या को ठीक करने और पुराने संस्करणों को नई सुविधाएँ प्रदान करने के लिए भी किया जाता है।

अवलोकन

बैकपोर्टिंग की सबसे सरल और संभवतः सबसे सामान्य स्थिति सॉफ्टवेयर के नए संस्करण में निश्चित सुरक्षा छिद्र है। इस सरलीकृत उदाहरण पर विचार करें:

  • सॉफ़्टवेयर v2.0 में सुरक्षा भेद्यता थी जिसे 'असुरक्षित ' टेक्स्ट को 'सुरक्षित' में बदलकर ठीक किया गया है।
  • सॉफ़्टवेयर v1.0 में वही सुरक्षा छिद्र उपस्थित है, जिससे नए संस्करण के लिए कोडबेस प्राप्त किया गया है, किन्तु वहाँ टेक्स्ट 'असुरक्षित' पढ़ सकता है।

सॉफ़्टवेयर v2.0 को ठीक करने वाले संशोधन को लेकर और इसे सॉफ़्टवेयर v1.0 पर प्रयुक्त करने के लिए इसे बदलकर, किसी ने प्रभावी रूप से फिक्स को बैकपोर्ट किया है।[1]

वास्तविक जीवन की स्थितियों में, सॉफ़्टवेयर के तथ्य में किए गए संशोधन सरल (स्रोत कोड की केवल कुछ पंक्तियाँ बदली गई हैं) से लेकर भारी और भारी (कई संशोधन कोड की कई कम्प्यूटर फाइल में फैले हुए) तक हो सकते हैं। इसके पश्चात् स्थिति में, बैकपोर्टिंग रोचक और अक्षम हो सकती है और केवल तभी किया जाना चाहिए जब सॉफ़्टवेयर के पुराने संस्करण को वास्तव में नए के पक्ष में आवश्यक हो (यदि, उदाहरण के लिए, नया संस्करण अभी भी रोबस्टनेस (कंप्यूटर विज्ञान) समस्याओं से ग्रस्त है जो रोकथाम करता है जो मिशन-क्रिटिकल में इसके उपयोग को रोकता है)।[2]

प्रक्रियाएं

बैकपोर्टिंग की प्रक्रिया को सामान्यतः इन चरणों में विभाजित किया जा सकता है:[1] या सॉफ़्टवेयर के पुराने संस्करण में समस्या की पहचान जिसे बैकपोर्ट द्वारा ठीक करने की आवश्यकता है

  1. यह पता लगाना कि कोड के किस (सामान्यतः हाल ही में) संशोधन ने समस्या को ठीक किया जाता है
  2. पुराने कोड की स्थिति में संशोधन को अपनाना (उचित बैकपोर्टिंग) होता है
  3. गुणवत्ता नियंत्रण के या कई स्तर परीक्षण करता है कि क्या बैकपोर्टेड संस्करण पिछली कार्यक्षमता को बनाए रखता है और साथ ही यह नई कार्यक्षमता को ठीक से प्रयुक्त करता है या नहीं प्रयुक्त करता है।

सामान्यतः, ऐसे कई संशोधन पैच (कंप्यूटिंग) सेट में बंडल किए जाते हैं।

सॉफ्टवेयर के कोर सॉफ्टवेयर डेवलपर समूह द्वारा बैकपोर्ट प्रदान किए जा सकते हैं। चूंकि बैकपोर्टिंग के लिए सॉफ़्टवेयर के टुकड़े के स्रोत कोड तक पहुंच की आवश्यकता होती है, यह एकमात्र विधि है कि बंद स्रोत सॉफ़्टवेयर के लिए बैकपोर्टिंग की जाती है बैकपोर्ट को सामान्यतः सॉफ्टवेयर के पुराने संस्करण लाइन के साथ बाइनरी फ़ाइल अपस्ट्रीम में सम्मिलित किया जाएगा। ओपेन सोर्स सॉफ्टवेयर के साथ, कभी-कभी लिनक्स वितरण द्वारा बैकपोर्ट बनाए जाते हैं और इसके पश्चात् अपस्ट्रीम (सॉफ़्टवेयर डेवलपमेंट) भेजे जाते हैं (जो कि पीड़ित सॉफ़्टवेयर के मुख्य डेवलपर्स को सबमिट किए जाते हैं)।[2]

उदाहरण

विन्डोज़ एक्सपी के लिए सर्विस पैक 3 जारी किए जाने पर विंडोज विस्टा की कई विशेषताओं को विन्डोज़ एक्सपी में वापस भेज दिया गया था, जिससे मूल रूप से विस्टा के साथ एक्सपी एसपी3 पर चलने के लिए न्यूनतम आवश्यकता के रूप में अनुप्रयोगों (अधिकतर गेम) की अनुकूलता की सुविधा मिलती है।[3]

सितंबर 2010 से डेबियन परियोजना [4] कुछ डेबियन लिनक्स सॉफ्टवेयर पैकेजों के लिए आधिकारिक बैकपोर्टिंग सेवा प्रदान करता है, और उबंटू लिनक्स भी बैकपोर्ट का समर्थन करता है, [5] चूँकि उबंटू बैकपोर्ट्स को कैननिकल से पूर्ण रूप से भी समर्थन नहीं मिलता है, और यह पूरी तरह से समुदाय-अनुरक्षित है।

यह भी देखें

संदर्भ

  1. 1.0 1.1 "Backporting Security Fixes". Red Hat. Retrieved 2020-05-11.
  2. 2.0 2.1 Rahul Sundaram (2016-01-14). "Staying close to upstream projects". Fedora Project. Retrieved 2020-05-11.
  3. Donald Melanson (2007-10-09). "Microsoft backports Vista features for new Windows XP SP3 beta". Engadget. Retrieved 2020-05-11.
  4. "Backports service becoming official". Debian Project. 2010-09-05. Retrieved 2020-05-11.
  5. "UbuntuBackports". Ubuntu Project. 2015-11-29. Retrieved 2020-05-11.