मेनिफेस्ट फाइल: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में मेनिफेस्ट फ़ाइल फ़ाइल है जिसमें संबंधित फ़ाइलों के समूह के लिए [[ मेटा डेटा |मेटा डेटा]] होता है जो सेट या सुसंगत इकाई का हिस्सा होते हैं। उदाहरण के लिए, किसी कंप्यूटर प्रोग्राम की फ़ाइलों में नाम, संस्करण संख्या, लाइसेंस और प्रोग्राम की घटक फ़ाइलों का वर्णन करने वाला मैनिफ़ेस्ट हो सकता है।<ref>{{cite web
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में '''मेनिफेस्ट फ़ाइल''' होती  है जिसमें संबंधित फ़ाइलों के समूह के लिए [[ मेटा डेटा |मेटा डेटा]] होता है जो की सेट या सुसंगत इकाई का भाग  होते हैं। इस प्रकार से  उदाहरण के लिए, किसी कंप्यूटर प्रोग्राम की फ़ाइलों में नाम, संस्करण संख्या, लाइसेंस और प्रोग्राम की घटक फ़ाइलों का वर्णन करने वाला मैनिफ़ेस्ट हो सकता है।<ref>{{cite web
|url=https://www.ghacks.net/2015/08/01/researchers-discover-hiddenads-malware-in-a-dozen-android-apps-that-were-distributed-on-the-google-play-store/
|url=https://www.ghacks.net/2015/08/01/researchers-discover-hiddenads-malware-in-a-dozen-android-apps-that-were-distributed-on-the-google-play-store/
|title=Researchers discover HiddenAds malware in a dozen Android apps that were distributed on the Google Play Store
|title=Researchers discover HiddenAds malware in a dozen Android apps that were distributed on the Google Play Store
Line 8: Line 8:
|access-date=2015-08-19
|access-date=2015-08-19
|quote=This Directory class contains special metadata in a manifest file. This data can be recognized by the Contact Provider, which developers can use to create a custom directory, and to transfer data between the device and online services.}}</ref>
|quote=This Directory class contains special metadata in a manifest file. This data can be recognized by the Contact Provider, which developers can use to create a custom directory, and to transfer data between the device and online services.}}</ref>
यह शब्द कार्गो शिपिंग प्रक्रिया से लिया गया है, जहां मेनिफेस्ट (परिवहन) जहाज के चालक दल और/या कार्गो को सूचीबद्ध करेगा।
 
अतः यह शब्द कार्गो शिपिंग प्रक्रिया से लिया गया है, जहां मेनिफेस्ट (परिवहन) जहाज के चालक दल और/या कार्गो को सूचीबद्ध करेगा।


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


==आवेदन और असेंबली मेनिफेस्ट==
==आवेदन और असेंबली मेनिफेस्ट==
{{Main|Side-by-side assembly|Manifest (CLI)}}
{{Main|Side-by-side assembly|मेनिफेस्ट (सीएलआई)}}
[[ माइक्रोसॉफ़्ट विंडोज़ ]]़ में, विंडोज़ साइड-बाय-साइड ([[WinSxS]]) पर निर्भर सॉफ़्टवेयर को एप्लिकेशन मैनिफ़ेस्ट की आवश्यकता होती है, जो [[XML]] दस्तावेज़ है जो या तो निष्पादन योग्य फ़ाइल में एम्बेडेड होता है या इसके साथ आने वाली अलग XML फ़ाइल में समाहित होता है। इसमें नाम, संस्करण, ट्रस्ट जानकारी, निष्पादन के लिए आवश्यक विशेषाधिकार और अन्य घटकों पर निर्भरता शामिल है।<ref>{{cite web|title=आवेदन प्रकट होता है|url=https://msdn.microsoft.com/en-us/library/aa374191(v=vs.85).aspx|website=Side-by-side Assemblies Reference|publisher=[[Microsoft]]|accessdate=23 December 2015}}</ref>


असेंबली मेनिफेस्ट एप्लिकेशन मेनिफेस्ट के समान है लेकिन [[असेंबली (प्रोग्रामिंग)]] के रूप में जाने जाने वाले घटकों की पहचान का वर्णन करता है। इन असेंबलियों को एप्लिकेशन मेनिफ़ेस्ट में संदर्भित किया गया है।<ref>{{cite web|title=विधानसभा प्रकट|url=https://msdn.microsoft.com/en-us/library/aa374219(v=vs.85).aspx|website=Side-by-side Assemblies Reference|publisher=[[Microsoft]]|accessdate=23 December 2015}}</ref>
इस प्रकार से [[ माइक्रोसॉफ़्ट विंडोज़ ]] में, विंडोज़ साइड-बाय-साइड ([[WinSxS|विनएसएक्सएस]]) पर निर्भर सॉफ़्टवेयर को एप्लिकेशन मैनिफ़ेस्ट की आवश्यकता होती है, जो [[XML|एक्सएमएल]] समानार्थी  है जो या तो निष्पादन योग्य फ़ाइल में एम्बेडेड होता है या इसके साथ आने वाली अलग XML फ़ाइल में समाहित होता है। इसमें नाम, संस्करण, ट्रस्ट सूचना , निष्पादन के लिए आवश्यक विशेषाधिकार और अन्य घटकों पर निर्भरता सम्मिलित  है।<ref>{{cite web|title=आवेदन प्रकट होता है|url=https://msdn.microsoft.com/en-us/library/aa374191(v=vs.85).aspx|website=Side-by-side Assemblies Reference|publisher=[[Microsoft]]|accessdate=23 December 2015}}</ref>


एप्लिकेशन मेनिफ़ेस्ट का उदाहरण इस प्रकार है. इस एप्लिकेशन मेनिफ़ेस्ट के दो मुख्य भाग हैं: सुरक्षा और निर्भरता। सुरक्षा भाग कहता है कि एप्लिकेशन को asInvoker सुरक्षा स्तर की आवश्यकता है; अर्थात्, इसे किसी भी सुरक्षा स्तर पर क्रियान्वित किया जा सकता है। निर्भरता भाग कहता है कि एप्लिकेशन को संस्करण संख्या 9.0.21022.8 के साथ Microsoft.VC90.CRT नामक घटक की आवश्यकता है।
चूंकि असेंबली मेनिफेस्ट एप्लिकेशन मेनिफेस्ट के समान होती  है किन्तु  [[असेंबली (प्रोग्रामिंग)]] के रूप में  जाने वाले घटकों की पहचान का वर्णन करता है। इस प्रकार इन असेंबलियों को एप्लिकेशन मेनिफ़ेस्ट में  संदर्भित किया गया है।<ref>{{cite web|title=विधानसभा प्रकट|url=https://msdn.microsoft.com/en-us/library/aa374219(v=vs.85).aspx|website=Side-by-side Assemblies Reference|publisher=[[Microsoft]]|accessdate=23 December 2015}}</ref>
 
अतः  एप्लिकेशन मेनिफ़ेस्ट का उदाहरण इस प्रकार है. यह  एप्लिकेशन मेनिफ़ेस्ट के दो प्रमुख्य भाग हैं: सुरक्षा और निर्भरता। सुरक्षा भाग कहता है कि एप्लिकेशन को इनवॉकर के रूप में सुरक्षा स्तर की आवश्यकता होती है; अर्थात्, इसे किसी भी सुरक्षा स्तर पर क्रियान्वित किया जा सकता है। निर्भरता भाग कहता है कि एप्लिकेशन को संस्करण संख्या 9.0.21022.8 के साथ माइक्रोसॉफ्ट.वीसी90.सीआरटी  नामक घटक की आवश्यकता होती  है।
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
Line 41: Line 43:




==HTML5 कैश मेनिफेस्ट==
==एचटीएमएल5  कैश मेनिफेस्ट==
{{Main|Cache manifest in HTML5}}
{{Main|एचटीएमएल5 में कैश मेनिफेस्ट}}
HTML5 में कैश मेनिफेस्ट [[वेब अप्प]] के साथ आने वाली सादा पाठ फ़ाइल है जो नेटवर्क कनेक्टिविटी न होने पर इसे चलाने में मदद करती है। कैशिंग तंत्र इस फ़ाइल को पढ़ता है और सुनिश्चित करता है कि इसकी सामग्री स्थानीय रूप से उपलब्ध है। HTML5 कैश मेनिफेस्ट को उसके सामग्री प्रकार को टेक्स्ट/कैश-मेनिफ़ेस्ट पर सेट करके प्रस्तुत किया जाता है।<ref>{{cite web|title=7.7 Offline Web applications|url=https://html.spec.whatwg.org/multipage/browsers.html#offline|website=HTML Standard|publisher=[[W3C]]|date=22 December 2015}}</ref>
 
इस प्रकार से एचटीएमएल5  में कैश मेनिफेस्ट [[वेब अप्प|वेब ऐप]] के साथ आने वाली प्लेन टेक्स्ट फाइल  है जो नेटवर्क कनेक्टिविटी न होने पर इसे चलाने में सहायता  करती है। और  कैशिंग मेनिफेस्ट इस फ़ाइल को रीड करता  है और सुनिश्चित करता है कि इसकी सामग्री स्थानीय रूप से उपलब्ध है। चूंकि एचटीएमएल5  कैश मेनिफेस्ट को उसके सामग्री प्रकार को टेक्स्ट/कैश-मेनिफ़ेस्ट पर सेट करके प्रस्तुत किया जाता है।<ref>{{cite web|title=7.7 Offline Web applications|url=https://html.spec.whatwg.org/multipage/browsers.html#offline|website=HTML Standard|publisher=[[W3C]]|date=22 December 2015}}</ref>


कैश मेनिफेस्ट का उदाहरण:
कैश मेनिफेस्ट का उदाहरण इस प्रकार से है :


<पूर्व>
<पूर्व>

Revision as of 22:28, 14 July 2023

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

अतः यह शब्द कार्गो शिपिंग प्रक्रिया से लिया गया है, जहां मेनिफेस्ट (परिवहन) जहाज के चालक दल और/या कार्गो को सूचीबद्ध करेगा।

पैकेज मेनिफेस्ट

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

आवेदन और असेंबली मेनिफेस्ट

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

चूंकि असेंबली मेनिफेस्ट एप्लिकेशन मेनिफेस्ट के समान होती है किन्तु असेंबली (प्रोग्रामिंग) के रूप में जाने वाले घटकों की पहचान का वर्णन करता है। इस प्रकार इन असेंबलियों को एप्लिकेशन मेनिफ़ेस्ट में संदर्भित किया गया है।[3]

अतः एप्लिकेशन मेनिफ़ेस्ट का उदाहरण इस प्रकार है. यह एप्लिकेशन मेनिफ़ेस्ट के दो प्रमुख्य भाग हैं: सुरक्षा और निर्भरता। सुरक्षा भाग कहता है कि एप्लिकेशन को इनवॉकर के रूप में सुरक्षा स्तर की आवश्यकता होती है; अर्थात्, इसे किसी भी सुरक्षा स्तर पर क्रियान्वित किया जा सकता है। निर्भरता भाग कहता है कि एप्लिकेशन को संस्करण संख्या 9.0.21022.8 के साथ माइक्रोसॉफ्ट.वीसी90.सीआरटी नामक घटक की आवश्यकता होती है।

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <!--I am okay with whatever security privilege level-->
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <!--I need Microsoft Visual C++ 2008 Runtime to run-->
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>


एचटीएमएल5 कैश मेनिफेस्ट

इस प्रकार से एचटीएमएल5 में कैश मेनिफेस्ट वेब ऐप के साथ आने वाली प्लेन टेक्स्ट फाइल है जो नेटवर्क कनेक्टिविटी न होने पर इसे चलाने में सहायता करती है। और कैशिंग मेनिफेस्ट इस फ़ाइल को रीड करता है और सुनिश्चित करता है कि इसकी सामग्री स्थानीय रूप से उपलब्ध है। चूंकि एचटीएमएल5 कैश मेनिफेस्ट को उसके सामग्री प्रकार को टेक्स्ट/कैश-मेनिफ़ेस्ट पर सेट करके प्रस्तुत किया जाता है।[4]

कैश मेनिफेस्ट का उदाहरण इस प्रकार से है :

<पूर्व>

कैश मैनिफेस्ट

/test.css

/test.js

/test.png</पूर्व>

संदर्भ

  1. Ashwin (2015-08-01). "Researchers discover HiddenAds malware in a dozen Android apps that were distributed on the Google Play Store". ghacks.net. G Hacks. Retrieved 2015-08-19. This Directory class contains special metadata in a manifest file. This data can be recognized by the Contact Provider, which developers can use to create a custom directory, and to transfer data between the device and online services.
  2. "आवेदन प्रकट होता है". Side-by-side Assemblies Reference. Microsoft. Retrieved 23 December 2015.
  3. "विधानसभा प्रकट". Side-by-side Assemblies Reference. Microsoft. Retrieved 23 December 2015.
  4. "7.7 Offline Web applications". HTML Standard. W3C. 22 December 2015.