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

From Vigyanwiki
(Created page with "{{short description|Process for fixing older software versions}} बैकमें porting एक सॉफ्टवेयर सिस्टम या सॉफ़...")
 
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{short description|Process for fixing older software versions}}
{{short description|Process for fixing older software versions}}
बैक[[ में porting ]] एक [[सॉफ्टवेयर सिस्टम]] या सॉफ़्टवेयर घटक के नए सॉफ़्टवेयर संस्करण से भाग लेने और उन्हें उसी [[सॉफ्टवेयर घटक]] पुराने संस्करण में पोर्ट करने की क्रिया है। यह सॉफ़्टवेयर विकास प्रक्रिया में सॉफ़्टवेयर रखरखाव चरण का हिस्सा बनता है, और इसका उपयोग आमतौर पर सॉफ़्टवेयर के पुराने संस्करणों में [[सुरक्षा बग]] को ठीक करने और पुराने संस्करणों को नई सुविधाएँ प्रदान करने के लिए भी किया जाता है।
'''बैकपोर्टिंग''' [[सॉफ्टवेयर सिस्टम]] या सॉफ़्टवेयर घटक के नए सॉफ़्टवेयर संस्करण से भाग लेने और उन्हें उसी [[सॉफ्टवेयर घटक]] पुराने संस्करण में पोर्ट करने की क्रिया है। यह सॉफ़्टवेयर डेवलपमेंट प्रक्रिया में सॉफ़्टवेयर रखरखाव चरण का भाग बनता है, और इसका उपयोग सामान्यतः सॉफ़्टवेयर के पुराने संस्करणों में [[सुरक्षा बग|सुरक्षा समस्या]] को ठीक करने और पुराने संस्करणों को नई सुविधाएँ प्रदान करने के लिए भी किया जाता है।


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


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


सॉफ़्टवेयर v2.0 को ठीक करने वाले संशोधन को लेकर और इसे सॉफ़्टवेयर v1.0 पर लागू करने के लिए इसे बदलकर, किसी ने प्रभावी रूप से फिक्स को बैकपोर्ट किया है।<ref name="redhat-backporting">{{cite web
सॉफ़्टवेयर v2.0 को ठीक करने वाले संशोधन को लेकर और इसे सॉफ़्टवेयर v1.0 पर प्रयुक्त करने के लिए इसे बदलकर, किसी ने प्रभावी रूप से फिक्स को बैकपोर्ट किया है।<ref name="redhat-backporting">{{cite web
  | url = https://access.redhat.com/security/updates/backporting/
  | url = https://access.redhat.com/security/updates/backporting/
  | title = Backporting Security Fixes
  | title = Backporting Security Fixes
  | publisher = [[Red Hat]]
  | publisher = [[Red Hat]]
  | 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 20: 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="fedora-upstream" />
बैकपोर्टिंग की प्रक्रिया को मोटे तौर पर इन चरणों में विभाजित किया जा सकता है:<ref name="redhat-backporting" /># सॉफ़्टवेयर के पुराने संस्करण में समस्या की पहचान जिसे बैकपोर्ट द्वारा ठीक करने की आवश्यकता है
== उदाहरण                                                                                                         ==
# यह पता लगाना कि कोड के किस (आमतौर पर हाल ही में) संशोधन ने समस्या को ठीक किया
[[Windows XP|विन्डोज़ एक्सपी]] के लिए सर्विस पैक 3 जारी किए जाने पर [[Windows Vista|विंडोज विस्टा]] की कई विशेषताओं को विन्डोज़ एक्सपी में वापस भेज दिया गया था, जिससे मूल रूप से विस्टा के साथ एक्सपी एसपी3 पर चलने के लिए न्यूनतम आवश्यकता के रूप में अनुप्रयोगों (अधिकतर गेम) की अनुकूलता की सुविधा मिलती है।<ref>{{cite web
# पुराने कोड की स्थिति में संशोधन को अपनाना (उचित बैकपोर्टिंग)
# [[गुणवत्ता नियंत्रण]] के एक या कई स्तर{{snd}} परीक्षण करता है कि क्या बैकपोर्टेड संस्करण पिछली कार्यक्षमता को बनाए रखता है और साथ ही यह नई कार्यक्षमता को ठीक से लागू करता है या नहीं।
 
आमतौर पर, ऐसे कई संशोधन [[पैच (कंप्यूटिंग)]] सेट में बंडल किए जाते हैं।
 
सॉफ्टवेयर के कोर [[सॉफ्टवेयर डेवलपर]] समूह द्वारा बैकपोर्ट प्रदान किए जा सकते हैं। चूंकि बैकपोर्टिंग के लिए सॉफ़्टवेयर के एक टुकड़े के स्रोत कोड तक पहुंच की आवश्यकता होती है, यह एकमात्र तरीका है कि बंद स्रोत सॉफ़्टवेयर के लिए बैकपोर्टिंग की जाती है{{snd}} बैकपोर्ट को आमतौर पर सॉफ्टवेयर के पुराने संस्करण लाइन के साथ [[बाइनरी फ़ाइल]] [[ उन्नत करना ]] में शामिल किया जाएगा। [[खुला स्रोत सॉफ्टवेयर]] के साथ, कभी-कभी [[लिनक्स वितरण]] द्वारा बैकपोर्ट बनाए जाते हैं और बाद में अपस्ट्रीम (सॉफ़्टवेयर डेवलपमेंट) भेजे जाते हैं (जो कि पीड़ित सॉफ़्टवेयर के मुख्य डेवलपर्स को सबमिट किए जाते हैं)।<ref name="fedora-upstream" />
 
 
== उदाहरण ==
[[Windows XP]] के लिए सर्विस पैक 3 जारी किए जाने पर [[Windows Vista]] की कई विशेषताओं को Windows XP में वापस भेज दिया गया था, जिससे मूल रूप से Vista के साथ XP SP3 पर चलने के लिए न्यूनतम आवश्यकता के रूप में अनुप्रयोगों (ज्यादातर गेम) की अनुकूलता की सुविधा मिलती है।<ref>{{cite web
  | url = https://www.engadget.com/2007-10-09-microsoft-backports-vista-features-for-new-windows-xp-sp3-beta.html
  | url = https://www.engadget.com/2007-10-09-microsoft-backports-vista-features-for-new-windows-xp-sp3-beta.html
  | title = Microsoft backports Vista features for new Windows XP SP3 beta  
  | title = Microsoft backports Vista features for new Windows XP SP3 beta  
Line 41: Line 38:
  | publisher = [[Engadget]]
  | publisher = [[Engadget]]
  | 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
  | date = 2015-11-29
  | date = 2015-11-29
  | publisher = [[Ubuntu Project]]
  | publisher = [[Ubuntu Project]]
  | access-date = 2020-05-11}}</ref> हालांकि उबंटू बैकपोर्ट्स को कैननिकल से बिल्कुल भी समर्थन नहीं मिलता है, और यह पूरी तरह से समुदाय-अनुरक्षित है।
  | access-date = 2020-05-11}}</ref> चूँकि उबंटू बैकपोर्ट्स को कैननिकल से पूर्ण रूप से भी समर्थन नहीं मिलता है, और यह पूरी तरह से समुदाय-अनुरक्षित है।


== यह भी देखें ==
== यह भी देखें ==
Line 60: Line 58:
==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}
[[Category: सॉफ्टवेयर की रखरखाव]] [[Category: सॉफ्टवेयर की गुणवत्ता]] [[Category: पैच उपयोगिताओं]]


[[Category: Machine Translated Page]]
[[Category:Created On 14/06/2023]]
[[Category:Created On 14/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:पैच उपयोगिताओं]]
[[Category:सॉफ्टवेयर की गुणवत्ता]]
[[Category:सॉफ्टवेयर की रखरखाव]]

Latest revision as of 11:47, 14 July 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.