पैच (कंप्यूटिंग)

एक पैच एक कंप्यूटर प्रोग्राम या इसके सहायक डेटा में परिवर्तन का एक सेट है जिसे इसे अपडेट करने, ठीक करने या सुधारने के लिए डिज़ाइन किया गया है। इसमें सुरक्षा भेद्यता को ठीक करना शामिल है और अन्य कंप्यूटर बग, ऐसे पैच के साथ जिन्हें आमतौर पर बग फिक्स या बग फिक्स कहा जाता है। पैच अक्सर किसी प्रोग्राम की कार्यक्षमता, उपयोगिता, या कंप्यूटर के प्रदर्शन को बेहतर बनाने के लिए लिखे जाते हैं। अधिकांश पैच सॉफ़्टवेयर विक्रेताओं द्वारा ऑपरेटिंग सिस्टम और एप्लिकेशन अपडेट के लिए प्रदान किए जाते हैं।

पैच या तो प्रोग्राम किए गए नियंत्रण के तहत या एक मानव प्रोग्रामर द्वारा संपादन उपकरण या डिबगर का उपयोग करके स्थापित किए जा सकते हैं। उन्हें स्टोरेज डिवाइस या कंप्यूटर मेमोरी में प्रोग्राम फाइलों पर लागू किया जा सकता है। पैच स्थायी (दोबारा पैच होने तक) या अस्थायी हो सकते हैं।

स्रोत कोड अनुपलब्ध होने पर पैचिंग संकलित और मशीन भाषा ऑब्जेक्ट प्रोग्राम के संशोधन को संभव बनाता है। यह पैच बनाने वाले व्यक्ति द्वारा ऑब्जेक्ट कोड की आंतरिक कार्यप्रणाली की गहन समझ की मांग करता है, जो स्रोत कोड के गहन अध्ययन के बिना कठिन है। पैच किए जा रहे प्रोग्राम से अपरिचित कोई व्यक्ति किसी अन्य व्यक्ति द्वारा बनाई गई पैच उपयोगिता का उपयोग करके पैच स्थापित कर सकता है जो कि व्यवस्थापक है। यहां तक ​​कि जब स्रोत कोड उपलब्ध होता है, तब भी पैचिंग संभव बनाता है कि पुनर्संकलन या पुन: संयोजन की आवश्यकता के बिना ऑब्जेक्ट प्रोग्राम में छोटे बदलावों की स्थापना संभव हो। सॉफ़्टवेयर में छोटे-मोटे बदलावों के लिए, नए पुनर्संकलित या पुन: संयोजन किए गए प्रोग्राम को पुनर्वितरित करने के बजाय उपयोगकर्ताओं को पैच वितरित करना अक्सर आसान और अधिक किफायती होता है।

हालांकि समस्याओं को ठीक करने के लिए, खराब डिज़ाइन किए गए पैच कभी-कभी नई समस्याएं पेश कर सकते हैं (सॉफ़्टवेयर प्रतिगमन देखें)। कुछ विशेष मामलों में अपडेट जानबूझकर कार्यक्षमता को तोड़ सकते हैं या डिवाइस को अक्षम कर सकते हैं, उदाहरण के लिए, उन घटकों को हटाकर जिनके लिए अपडेट प्रदाता अब लाइसेंस प्राप्त नहीं है।

पैच प्रबंधन अनुप्रयोग जीवनचक्र प्रबंधन का एक हिस्सा है, और यह एक रणनीति और योजना का उपयोग करने की प्रक्रिया है कि कौन से पैच को एक निर्दिष्ट समय पर सिस्टम पर लागू किया जाना चाहिए।

बाइनरी पैच
मालिकाना सॉफ़्टवेयर के लिए पैच आमतौर पर स्रोत कोड के बजाय निष्पादन योग्य फ़ाइलों के रूप में वितरित किए जाते हैं। निष्पादित होने पर ये फ़ाइलें एक प्रोग्राम को स्मृति में लोड करती हैं जो डिस्क पर लक्ष्य प्रोग्राम में पैच कोड की स्थापना का प्रबंधन करती है।

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

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

छोटे इन-मेमोरी मशीन कोड पैच को मैन्युअल रूप से सिस्टम डिबग यूटिलिटी के साथ लागू किया जा सकता है, जैसे कि CP/M का DDT या MS-DOS का DEBUG डिबगर्स। व्याख्या किए गए BASIC में काम करने वाले प्रोग्रामर अक्सर POKE कमांड का इस्तेमाल सिस्टम सर्विस रूटीन या इंटरप्रेटर की कार्यक्षमता को बदलने के लिए करते हैं।

स्रोत कोड पैच
पैच स्रोत कोड संशोधनों के रूप में भी परिचालित हो सकते हैं। इस मामले में, पैच में आमतौर पर दो स्रोत कोड फ़ाइलों के बीच शाब्दिक अंतर होते हैं, जिन्हें डिफ्स कहा जाता है। इस प्रकार के पैच सामान्यतः ओपन-सोर्स सॉफ्टवेयर प्रोजेक्ट से निकलते हैं। इन मामलों में, डेवलपर्स अपेक्षा करते हैं कि उपयोगकर्ता नई या परिवर्तित फ़ाइलों को स्वयं संकलित करें।

बड़े पैच
क्योंकि शब्द पैच में एक छोटे से फिक्स का अर्थ होता है, बड़े फिक्स अलग-अलग नामकरण का उपयोग कर सकते हैं। भारी पैच या पैच जो किसी प्रोग्राम को महत्वपूर्ण रूप से बदलते हैं, सेवा संकुल या सॉफ़्टवेयर अपडेट के रूप में प्रसारित हो सकते हैं। Microsoft Windows NT और उसके उत्तराधिकारी (Windows 2000, Windows XP, Windows Vista और Windows 7 सहित) सर्विस पैक शब्दावली का उपयोग करते हैं। ऐतिहासिक रूप से, आईबीएम ने इन अद्यतनों को संदर्भित करने के लिए फिक्सपैक्स और सुधारात्मक सेवा डिस्केट शब्द का इस्तेमाल किया।

इतिहास
ऐतिहासिक रूप से, सॉफ़्टवेयर आपूर्तिकर्ताओं ने कागज का टेप या छिद्रित कार्ड पर पैच वितरित किए, यह उम्मीद करते हुए कि प्राप्तकर्ता मूल टेप (या डेक) के संकेतित भाग को काट देगा, और प्रतिस्थापन खंड में (इसलिए नाम) पैच कर देगा। बाद में पैच वितरण में चुंबकीय टेप का इस्तेमाल किया गया। फिर, रिमूवेबल डिस्क ड्राइव के आविष्कार के बाद, सॉफ़्टवेयर डेवलपर द्वारा फ्लॉपी डिस्क या बाद में, मेल के माध्यम से CD-ROM के माध्यम से पैच आए। व्यापक रूप से उपलब्ध इंटरनेट एक्सेस के साथ, डेवलपर की वेब साइट से या स्वचालित सॉफ़्टवेयर अपडेट के माध्यम से पैच डाउनलोड करना अक्सर अंतिम उपयोगकर्ताओं के लिए उपलब्ध हो जाता है। Apple के Mac OS 9 और Microsoft के Windows ME से शुरू होकर, PC ऑपरेटिंग सिस्टम ने इंटरनेट के माध्यम से स्वचालित सॉफ़्टवेयर अपडेट प्राप्त करने की क्षमता प्राप्त की।

लक्ष्य प्रोग्राम को अपडेट करने के लिए कंप्यूटर प्रोग्राम अक्सर पैच समन्वयित कर सकते हैं। स्वचालन अंतिम उपयोगकर्ता के कार्य को सरल करता है – उन्हें केवल एक अपडेट प्रोग्राम को निष्पादित करने की आवश्यकता होती है, जिसके बाद वह प्रोग्राम सुनिश्चित करता है कि लक्ष्य को अपडेट करना पूरी तरह से और सही तरीके से हो रहा है। Microsoft Windows NT और उसके उत्तराधिकारियों के लिए सर्विस पैक और कई व्यावसायिक सॉफ़्टवेयर उत्पादों के लिए ऐसी स्वचालित रणनीतियाँ अपनाई जाती हैं।

कुछ प्रोग्राम उपयोगकर्ताओं की ओर से बहुत कम या बिना किसी हस्तक्षेप के इंटरनेट के माध्यम से खुद को अपडेट कर सकते हैं। सर्वर (कंप्यूटिंग) सॉफ्टवेयर और ऑपरेटिंग सिस्टम का रखरखाव अक्सर इसी तरह से होता है। ऐसी स्थितियों में जहां सिस्टम प्रशासक कई कंप्यूटरों को नियंत्रित करते हैं, इस प्रकार का स्वचालन निरंतरता बनाए रखने में मदद करता है। सुरक्षा पैच का अनुप्रयोग आमतौर पर इस तरीके से होता है।

आवेदन
पैच का आकार कुछ बाइट्स से सैकड़ों मेगाबाइट तक भिन्न हो सकता है; इस प्रकार, अधिक महत्वपूर्ण परिवर्तन एक बड़े आकार का संकेत देते हैं, हालांकि यह इस बात पर भी निर्भर करता है कि क्या पैच में पूरी फाइलें शामिल हैं या केवल फाइलों के बदले हुए हिस्से हैं। विशेष रूप से, पैच काफी बड़े हो सकते हैं जब परिवर्तन गैर-प्रोग्राम डेटा, जैसे ग्राफिक्स और ध्वनि फ़ाइलों को जोड़ते या बदलते हैं। ऐसी स्थितियाँ आमतौर पर कंप्यूटर खेल की पैचिंग में होती हैं। सॉफ़्टवेयर की प्रारंभिक स्थापना की तुलना में, पैच आमतौर पर लागू होने में अधिक समय नहीं लेते हैं।

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

बड़े पैमाने पर होने के कारण उपभोक्ता बाजार में पूरी तरह से स्वचालित अपडेट का उपयोग कहीं अधिक व्यापक हो गया है तथ्य यह है कि माइक्रोसॉफ़्ट विंडोज़ ने उनके लिए समर्थन जोड़ा, और Windows XP# सर्विस पैक 2 (2004 में उपलब्ध) ने उन्हें डिफ़ॉल्ट रूप से सक्षम किया। सतर्क उपयोगकर्ता, विशेष रूप से सिस्टम प्रशासक, पैच लगाने को तब तक के लिए टाल देते हैं जब तक कि वे फिक्स की स्थिरता को सत्यापित नहीं कर सकते। Microsoft Windows सर्वर अद्यतन सेवाएँ|(W)SUS इसका समर्थन करता है। बड़े पैच या महत्वपूर्ण परिवर्तनों के मामलों में, वितरक अक्सर विकास चरण#बीटा के रूप में योग्य डेवलपर्स के लिए पैच की उपलब्धता को सीमित कर देते हैं।

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

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

कंपनियां कभी-कभी यह जानकर गेम जारी करती हैं कि उनमें बग हैं। कंप्यूटर गेमिंग वर्ल्ड's स्कॉर्पिया (पत्रकार) ने 1994 में उन कंपनियों की भर्त्सना की- जिनका उल्लेख करना मुश्किल है- जो यह जानते हुए घटिया उत्पाद जारी करती हैं कि वे पैच और अपग्रेड के साथ काम चला सकते हैं, और जो 'अपने ग्राहकों के भुगतान-परीक्षक।

सॉफ्टवेयर विकास में
कभी-कभी लाइब्रेरी (कंप्यूटर विज्ञान) के साथ समस्याओं को ठीक करने के लिए पैच अनिवार्य हो जाते हैं या अक्सर उपयोग किए जाने वाले या रखरखाव वाले कार्यक्रमों के लिए स्रोत कोड के अंश होते हैं। यह आमतौर पर बहुत बड़े पैमाने पर सॉफ्टवेयर परियोजनाओं पर होता है, लेकिन शायद ही कभी छोटे पैमाने पर विकास में होता है।

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

हॉटफिक्स
एक हॉटफिक्स या क्विक फिक्स इंजीनियरिंग अपडेट (क्यूएफई अपडेट) एक एकल, संचयी पैकेज है जिसमें जानकारी (अक्सर एक या अधिक फाइलों के रूप में) शामिल होती है जिसका उपयोग सॉफ्टवेयर उत्पाद (यानी, एक सॉफ्टवेयर बग) में समस्या का समाधान करने के लिए किया जाता है। सामान्यतया, किसी विशिष्ट ग्राहक स्थिति को संबोधित करने के लिए हॉटफिक्सेस बनाए जाते हैं। Microsoft ने एक बार इस शब्द का उपयोग किया था लेकिन नई शब्दावली के पक्ष में रुक गया: सामान्य वितरण रिलीज़ (GDR) और सीमित वितरण रिलीज़ (LDR)। तूफ़ानी मनोरंजन, हालांकि, एक हॉटफिक्स को गेम में किए गए बदलाव के रूप में परिभाषित करता है, जो काफी महत्वपूर्ण माना जाता है कि इसे नियमित सामग्री पैच तक बंद नहीं किया जा सकता है।

प्वाइंट रिलीज
एक बिंदु रिलीज एक सॉफ्टवेयर प्रोजेक्ट की एक मामूली रिलीज है, विशेष रूप से महत्वपूर्ण फ़ीचर (सॉफ्टवेयर डिज़ाइन) जोड़ने के बजाय बग को ठीक करने या छोटे क्लीनअप करने का इरादा है। अक्सर, एक बड़ी या छोटी रिलीज़ में बहुत सारे बग ठीक करने के लिए होते हैं, जिससे पॉइंट रिलीज़ की आवश्यकता होती है।

कार्यक्रम अस्थायी सुधार
कार्यक्रम अस्थायी सुधार या उत्पाद अस्थायी सुधार (पीटीएफ), तिथि के आधार पर, एकल बग फिक्स, या फिक्स के समूह के लिए मानक आईबीएम शब्दावली है, जो ग्राहकों के लिए स्थापित करने के लिए तैयार रूप में वितरित किया जाता है। एक PTF को कभी-कभी "ZAP" कहा जाता था। ग्राहक कभी-कभी परिवर्णी शब्द को जीभ-में-गाल तरीके से स्थायी अस्थायी सुधार के रूप में समझाते हैं या अधिक व्यावहारिक रूप से शायद यह ठीक करता है, क्योंकि उनके पास PTF को ऑपरेटिंग सिस्टम का एक स्थायी हिस्सा बनाने का विकल्प होता है यदि पैच समस्या को ठीक करता है।

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

सुरक्षा पैच सॉफ़्टवेयर में सुरक्षा भेद्यताओं को ठीक करने का प्राथमिक तरीका है। वर्तमान में Microsoft महीने में एक बार अपने सुरक्षा पैच जारी करता है, और अन्य ऑपरेटिंग सिस्टम और सॉफ़्टवेयर प्रोजेक्ट में सुरक्षा दल हैं जो भेद्यता की घोषणा के बाद जल्द से जल्द सबसे विश्वसनीय सॉफ़्टवेयर पैच जारी करने के लिए समर्पित हैं। सुरक्षा पैच ज़िम्मेदार प्रकटीकरण से निकटता से जुड़े हुए हैं।

ये सुरक्षा पैच यह सुनिश्चित करने के लिए महत्वपूर्ण हैं कि व्यवसाय प्रक्रिया प्रभावित न हो। 2017 में, WannaCry रैंसमवेयर अटैक नामक एक रैंसमवेयर से कंपनियां प्रभावित हुईं, जो माइक्रोसॉफ्ट विंडोज के कुछ संस्करणों में फाइलों को एन्क्रिप्ट करती है और बिटकॉइन के माध्यम से फिरौती की मांग करती है। इसके जवाब में, Microsoft ने एक पैच जारी किया जो रैंसमवेयर को चलने से रोकता है।

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

अनौपचारिक पैच
एक अनौपचारिक पैच मूल सॉफ्टवेयर डेवलपर के बजाय किसी तृतीय पक्ष द्वारा लिखे गए प्रोग्राम के लिए एक पैच है। एक साधारण पैच के समान, यह सॉफ्टवेयर बग या कमियों को दूर करता है। उदाहरण सुरक्षा विशेषज्ञों द्वारा सुरक्षा सुधार हैं जब सॉफ़्टवेयर निर्माताओं द्वारा आधिकारिक पैच स्वयं में बहुत अधिक समय लेता है। अन्य उदाहरण एक वीडियो गेम के खेल समुदाय द्वारा बनाए गए अनौपचारिक पैच हैं जो असमर्थित परित्यागवेयर बन गए।

बंदर पैच
बंदर का पैचिंग का अर्थ है किसी प्रोग्राम को स्थानीय रूप से विस्तारित या संशोधित करना (केवल प्रोग्राम के चल रहे उदाहरण को प्रभावित करना)।

हॉट पैचिंग
हॉट पैचिंग, जिसे लाइव पैचिंग या डायनेमिक सॉफ़्टवेयर अपडेटिंग के रूप में भी जाना जाता है, सिस्टम या संबंधित प्रोग्राम को बंद किए बिना और फिर से शुरू किए बिना पैच का अनुप्रयोग है। यह सिस्टम या प्रोग्राम द्वारा प्रदान की जाने वाली सेवा की अनुपलब्धता से संबंधित समस्याओं का समाधान करता है। सिस्टम को रोके बिना लिनक्स कर्नेल को अपडेट करने के लिए विधि का उपयोग किया जा सकता है। एक पैच जिसे इस तरह से लगाया जा सकता है उसे हॉट पैच या लाइव पैच कहा जाता है। मोबाइल ऐप स्पेस में यह एक आम बात होती जा रही है। Rollout.io जैसी कंपनियां iOS इकोसिस्टम में हॉट पैच डिलीवर करने के लिए स्विजलिंग मेथड का इस्तेमाल करती हैं। हॉट-पैचिंग iOS ऐप्स के लिए एक अन्य तरीका JSPatch है। अंतर्निहित बुनियादी ढांचे को अपडेट करते समय क्लाउड प्रदाता अक्सर ग्राहकों के लिए डाउनटाइम से बचने के लिए हॉट पैचिंग का उपयोग करते हैं।

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

हालांकि, सभी पैच इस तरीके से लागू नहीं किए जा सकते हैं और एक नुकसान यह है कि अगर यह पता चलता है कि एक निश्चित पैच बाद की समस्याओं के लिए जिम्मेदार है, तो उक्त पैच को मूल, गैर-स्लिपस्ट्रीम स्थापना स्रोत का उपयोग किए बिना हटाया नहीं जा सकता है।

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

यह भी देखें

 * सॉफ्टवेयर रिलीज जीवन चक्र
 * सॉफ्टवेयर की रखरखाव
 * बैक[[में porting]]
 * ड्रिबलवेयर
 * पैच (यूनिक्स)
 * पोर्टिंग
 * भेद्यता डेटाबेस
 * डेल्टा एन्कोडिंग
 * एसएमपी/ई
 * स्वचालित बग फिक्स
 * सफेद टोपी (कंप्यूटर सुरक्षा)

इस पेज में लापता आंतरिक लिंक की सूची

 * सॉफ्टवेयर प्रतिगमन
 * प्रयोज्य
 * आवेदन जीवनचक्र प्रबंधन
 * कंप्यूटर का प्रदर्शन
 * मालिकाना सॉफ्टवेयर
 * निष्पादनीय फाइल
 * सोर्स कोड
 * वेबसाइट
 * पैकेज प्रबंधन प्रणाली
 * विंडोज सर्वर अपडेट सर्विसेज
 * चक्रीय अतिरेक की जाँच
 * MMORPG
 * शोषण (ऑनलाइन गेमिंग)
 * गुबरैला (सॉफ्टवेयर)
 * पुस्तकालय (कंप्यूटर विज्ञान)
 * वानाक्राई रैंसमवेयर अटैक
 * जिम्मेदार प्रकटीकरण
 * abandonware
 * विधि स्विज़लिंग
 * सिनैप्टिक (सॉफ्टवेयर)
 * स्वचालित बग फिक्सिंग

बाहरी कड़ियाँ

 * The Jargon File version 4.4.7 entry for patch
 * A detailed masters dissertation dealing with security patches
 * Official Linux kernel patch format
 * 0-Day Patch - Exposing Vendors (In)security Performance –  a metric comparing patch performance of Microsoft and Apple