Debian या Ubuntu में '.msi' और 'setup.exe' फ़ाइलों के बराबर?


15

यह उत्तर विंडोज पर एक एप्लिकेशन इंस्टॉल करने के लिए समझाता है .msiऔर setup.exeफाइल करता है।

वहाँ समकक्ष हैं .msiऔर करने के लिए setup.exeडेबियन या Ubuntu में फाइल? क्या .debपैकेज फ़ाइलें के अनुरूप .msiया setup.exeया कुछ और?


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

.setupविंडोज पर कोई फाइल नहीं है , क्या आपका मतलब है setup.exeकि इंस्टॉलर के लिए एक विशिष्ट नाम क्या है?
ग्रोनोस्तज

देखें आदमी पेज और डॉक्स वहाँ से जुड़े। यहां तक ​​कि विंडोज पर भी कोई समान नहीं है , यह अनिवार्य रूप से अन्य चीजों में से किसी को भी कर सकता है। apt-getapt-get install
jthill

5
@jthill, यह असत्य है। यह पूरी तरह से फ़ेलेशेड के रूप में या के रूप में लोकप्रिय नहीं है apt-get, लेकिन पॉवर्सशेल के हाल के (विन 7 और अप) संस्करणों के OneGetमाध्यम से आप स्थापित कर सकते हैं Chocolatey( Homebrewमैक पर एक बराबर )। वे अपने 'निक्स समकक्ष' की तुलना में कम लोकप्रिय हो सकते हैं, लेकिन यह कहना कि विंडोज पर कोई समकक्ष नहीं है, स्पष्ट रूप से गलत है।
13

1
@Tim: इस सवाल आप को निर्दिष्ट क्या बिना समझदारी से जवाब नहीं किया जा सकता ठीक आप "बराबर" द्वारा मतलब है। फ़ाइलें और इंस्टॉलर के क्या विशिष्ट गुण .msiआप में रुचि रखते हैं? यह निर्धारित करने के लिए सटीक मापदंड क्या हैं कि कुछ "समतुल्य" है या नहीं? उदाहरण के लिए: इंस्टॉलर किसी अन्य प्रोग्राम की तरह ही प्रोग्राम हैं। नाम के एक कार्यक्रम के बारे में कुछ खास नहीं है setup.exe। के बाद से setup.exeकिसी भी अन्य कार्यक्रम की तरह एक कार्यक्रम है, और डेबियन सबसे निश्चित रूप से करता है "कार्यक्रम" की अवधारणा है, तो आप उस बराबर मानते हैं? यदि नहीं, तो क्यों नहीं?
जोर्ग डब्ल्यू मित्तग

जवाबों:


28

संभवतः, MSI इंस्टॉलर की तुलना में करीब है setup.exe, एक .debपैकेज में फाइलसिस्टम में कॉपी करने के लिए फाइलों का एक पेड़ शामिल है, साथ ही चलाने के लिए प्री-इंस्टॉलेशन और पोस्ट-इंस्टॉलेशन हुक (अन्य चीजों के बीच) शामिल हैं। हुक सिस्टम पर प्रभावी ढंग से कुछ भी कर सकता है, जिसमें मुझे नहीं लगता कि मुझे कभी विंडोज पर देखा गया है: सिस्टम सेवा के लिए उपयोगकर्ताओं को जोड़ना। एक चीज जो वे नहीं कर सकते हैं वह एक और .debपैकेज स्थापित करना है - डेटाबेस स्थापना के दौरान बंद है, इसलिए यह केवल निर्भरता के माध्यम से प्राप्त किया जा सकता है। एक .debपैकेज स्थापित करना तो रखरखाव में आसानी के लिए स्थापित पैकेजों के एक केंद्रीय डेटाबेस में प्रविष्टियां पैदा करता है।

ttf-mscorefontsपैकेज दिलचस्प है कि पैकेज में ही डाउनलोड करने के लिए केवल एक स्क्रिप्ट शामिल है और फोंट स्थापित करें। इस स्क्रिप्ट को इनमें से एक हुक में निष्पादित किया जाता है।

क्लोजर setup.exeप्रॉजेक्ट के होमपेज से प्रोगाम के सोर्स कोड को डाउनलोड कर सकता है, फिर रनिंग ./configure && make && sudo make install, या जो भी अन्य तरीके से लेखकों ने उपयोग करने का फैसला किया है। चूंकि यह विधि पैकेज को स्थापित कार्यक्रमों के डेटाबेस में नहीं जोड़ती है, इसलिए इसे बाद में निकालना बहुत अधिक कठिन हो सकता है।

एक और अंतर यह है कि .debइसकी निर्भरता को निर्दिष्ट करता है, इसलिए उचित स्थापना की गारंटी दी जा सकती है। जहां तक ​​मुझे पता है, विंडोज की दुनिया में एक एमएसआई दूसरे एमएसआई की स्थापना का कारण नहीं बन सकता है, इसलिए setup.exeआमतौर पर इस तरह के भरोसेमंद ट्रैकिंग के लिए उपयोग किया जाता है। कई टिप्पणियाँ ध्यान दें कि MSI निर्भरता को नाम दे सकते हैं, लेकिन चूंकि MSI का कोई केंद्रीय डेटाबेस नहीं है, जैसे कि .debपैकेज के लिए है, एक निर्भरता गायब होने से बस स्थापित करने में विफलता होगी।

इस प्रकार, एक .debMSI इंस्टॉलर और a के बीच एक प्रकार है setup.exe। पैकेज अपने प्री- और पोस्ट-इंस्टॉलेशन हुक के दौरान जो चाहे कर सकता है, नाम कर सकता है और आमतौर पर अपनी निर्भरता खोज सकता है, और रखरखाव में आसानी के लिए केंद्रीय स्थान में इसकी स्थापना का रिकॉर्ड छोड़ देता है।


2
विंडोज में, setup.exe-स्टाइल इंस्टालर भी ट्रैक किए गए इंस्टॉलर सिस्टम (अनइंस्टॉलर्स आदि के साथ) में एकीकृत होते हैं। MSI और .exeइंस्टॉलर दोनों के साथ , निर्भरता इंस्टॉलर में निर्भरता को एम्बेड करके ( जैसे VC redistributable इंस्टॉलर या DirectX इंस्टॉलर) को संभाला जाता है और निष्पादन योग्य DLL को निष्पादन योग्य (या सिस्टम असेंबली के रूप में) के साथ स्थापित करके। तो setup.exeभी उसी के समान है .deb। स्रोत से भवन के बराबर विंडोज पर स्रोत से भी निर्माण कर रहा है; ;-)।
स्टीफन किट

मैं ऐसा एक MSI (सिवाय एक और एमएसआई स्थापित नहीं कर सकता, एक Debian पैकेज एक और पैकेज स्थापित नहीं कर सकता, जैसे: एक बात यह है कि MSIs डेबियन संकुल के करीब सेटअप निष्पादनयोग्य से बनाता है नहीं के माध्यम से अपनी निर्भरता)।
स्टीफन किट

@StephenKitt: setup.exe-स्टाइल इंस्टालर किसी भी तरह से OS द्वारा "ट्रैक" नहीं किए जाते जब तक कि वे MSI को नीचे नहीं चलाते (और फिर MSI ट्रैक किए गए होते हैं)। तथ्य यह है कि उनके पास एक अनइंस्टॉल रजिस्ट्री कुंजी है इसका कोई असर नहीं है। यह कहने की तरह है कि हर फ़ाइल को ट्रैक किया जाता है क्योंकि यह फ़ाइल सिस्टम में सूचीबद्ध है।
user541686

2
MSI और अक्सर (बड़े उत्पादों में) निर्भरता होती है, हालांकि, यह देखते हुए कि .MSI का कोई केंद्रीय भंडार नहीं है, आमतौर पर क्या होता है जब आप एक निर्भरता को याद करते हैं, तो वे स्थापित करने से इनकार करते हैं।
मैट्टो इटालिया

1
"कुछ मुझे नहीं लगता कि मैंने कभी विंडोज पर देखा है: सिस्टम सेवा के लिए उपयोगकर्ताओं को जोड़ना"। मुझे पूरा यकीन है कि SQL सर्वर, IIS और विजुअल स्टूडियो इंस्टॉलर ऐसा करते हैं। लेकिन यह कम स्पष्ट हो सकता है क्योंकि विंडोज उपयोगकर्ता मॉडल थोड़ा अधिक परिष्कृत है कि डिफ़ॉल्ट यूनिक्स / लिनक्स मॉडल (या तो आप रूट हैं या आप नहीं हैं) ..
MSalters

15

लिनक्स पर मैंने जो सिंगल-फाइल बाइनरी इंस्टालर देखे हैं, वे .shफाइलें थीं जिनमें एक बाइनरी ब्लॉब के साथ एक शेल स्क्रिप्ट समाहित थी, जैसे:

#!/bin/bash
tmpdir=$(mktemp -d /tmp/installer.XXX)
tail -n +6 "$0" | tar -xJf - -C "$tmpdir" || exit 1
sudo "$tmpdir/setup.sh"
rm -rf "$tmpdir"
exit
[binary content follows]

यह अनिवार्य रूप से एक setup.exeअस्थायी फ़ोल्डर के लिए स्वयं-अर्क के बराबर है और वहां से वास्तविक इंस्टॉलर चलाता है।


6

से लिया गया: /ubuntu/13415/what-are-run-files/13416#13416

.Run फ़ाइल सामान्य रूप से एक कस्टम मेड प्रोग्राम है जिसे प्रोग्राम इंस्टॉल करने के लिए निष्पादित करने की आवश्यकता होती है। ये आम तौर पर समर्थित नहीं होते हैं क्योंकि वे ट्रैक नहीं करते हैं जहां फाइलें जाती हैं और आम तौर पर अनइंस्टॉल विधि प्रदान नहीं करती हैं। यह सुनिश्चित करने का कोई तरीका नहीं है कि स्क्रिप्ट आपके सिस्टम का क्या करेगी इसलिए उन्हें असुरक्षित माना जाता है।

वे विंडोज़ एक्सई फ़ाइल के करीब हैं और जैसे कि समान मुद्दों के साथ आते हैं।

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