2010-03-10 12 views
32

के लिए एक इंस्टॉलर बनाना मैं एक छोटा क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन विकसित कर रहा हूं और मुझे लिनक्स में इसे इंस्टॉल करने के बारे में कुछ सलाह चाहिए। मैं विंडोज़ में इनोसेटअप और ओएसएक्स में एक एप्लिकेशन बंडल का उपयोग कर रहा हूं लेकिन मुझे नहीं पता कि लिनक्स में मेरा ऐप कैसे इंस्टॉल किया जाए, क्या लिनक्स के लिए कोई ओपनसोर्स इंस्टॉलर निर्माता हैं?लिनक्स एप्लिकेशन

धन्यवाद।

+1

सिर्फ जिज्ञासा के लिए, अगर आप चाहते हैं तो जवाब दें, यह क्या करता है? इसमें क्या लिखा गया था? =) – Marcelo

उत्तर

16

मानक * निक्स सिस्टम (और न केवल) पर सभी शक्तिशाली सार्वभौमिक रूप से उपलब्ध इंस्टॉलर Autotools है।

# the user will install like so: 
./configure --with-stuff 
make # if package is from source 
make install 

तुम भी RedHat या CentOS पर एक RPM या deb डेबियन, Ubuntu के लिए की तरह वितरण विशिष्ट संस्थापक प्रदान कर सकते हैं, हालांकि आप एक बार Makefile Autotools द्वारा spitted है, ये बना एक हवा है।

# the user will install like so: 
yum install your-package-1.0.rpm # on redhat or 
apt-get install your-package-1.0.deb # on debian 

Autotools को "जीएनयू निर्माण प्रणाली" के नाम से पहली नजर पर एक छोटे से डरावना है, और जब प्राचीन m4 मैक्रो प्रणाली & सह जैसी चीजों बैठक नया उपयोगकर्ता हैरान है। लेकिन nota bene यह वही तरीका है जो अधिकांश लोग करते हैं और इसे लटकने के बाद यह बहुत आसान है।

Learning resources

+1

बस एक साफ 'ऑटोोटूल' सेटअप लिखें, और वितरण लोगों को समय के लिए अपनी जरूरतों के लिए बाकी को समझने दें। Autotools के लिए –

+3

+1; यह autotools का उपयोग करने के लिए बस थोड़ा सा विशेषज्ञता लेता है। यहां एक लिंक है: http://www.lrde.epita.fr/~adl/dl/autotools.pdf – rmk

+0

@rmk मैं अपने उत्तर में उस पीडीएफ को रखना चाहता था लेकिन उसे नहीं मिला। विवरण के लिए – clyfe

2

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

लेकिन, आप इस तरह के रूप में अन्य विकल्प, की क्या ज़रूरत है:

  1. autoconf का उपयोग करना,
  2. CMake का उपयोग करना,
  3. तरह IZPack
  4. आदि
2

लें एक जावा संस्थापक का उपयोग करना InstallJammer पर एक नज़र डालें। आप अपने विंडोज और आपके लिनक्स इंस्टॉलर दोनों के लिए एक एकल प्रोजेक्ट लिख सकते हैं, और मैक समर्थन बहुत जल्द आ रहा है।

+0

मैं इस समय InstallJammer को देख रहा हूं, यह अब तक बहुत ही आशाजनक दिखता है! धन्यवाद। – JWood

+1

दुर्भाग्यवश परियोजना को बंद कर दिया गया है 'इंस्टॉल जैमर का सक्रिय विकास बंद कर दिया गया है। स्रोत सभी संस्करणों के लिए उपलब्ध है और हमेशा ऐसा ही रहेगा, लेकिन आपके प्रयासों को एक ऐसे इंस्टॉलर पर बेहतर खर्च किया जा सकता है जो इसके विकास में सक्रिय है। –

1

मैंने unistall को परिस्थितियों के लिए लिखना शुरू किया जब आपको विभिन्न प्रकार के डिस्ट्रोज़ पर बाइनरी पैकेज इंस्टॉल करना पड़ा।

यह कुछ काम करने के लिए प्रयास करता है:

  • ओएस प्रकार और पैकेज प्रबंधक एहसास है, तो आप किसी भी निर्भरता है कि अपने कार्यक्रम की आवश्यकता हो सकती में खींचने के लिए प्रणाली पैकेज मैनेजर उपयोग की इजाजत दी।उदाहरण के लिए, यह करता है, तो का उपयोग कर apt-get install libncurses5-dev उपयोग करने के लिए पता चल जाएगा Debian/Ubuntu, yum install libncurses-devel यदि का उपयोग कर RHEL/फेडोरा/CentOS
  • समझें कि तंत्र init अद्यतन करने के लिए प्रयोग किया जाता है, यदि आवश्यक हो तो
  • एक सुरक्षित अन-संस्थापक बनाएं
  • कार्य मैं रेपो अप उपयोगी बिट्स की अपनी पूरी क्योंकि छोड़ किसी भी खोल (bash, डैश, zsh, pdksh, बिजीबॉक्स राख, आदि)

पर, फिर भी मैं जल्दी एक install sheild प्रकार कार्यक्रम के विचार पर दे दी है लिनक्स वितरण के लिए। आप पाएंगे कि .deb, .rpm और (संभवतः) slackware .tgz प्रारूपों के लिए स्थापित करने योग्य संकुल का उत्पादन करने के लिए यह बहुत बेहतर है।

इसे checkinstall जैसे टूल का उपयोग करके अपने निर्माण प्रणाली में एकीकृत किया जा सकता है। नोट, डेबियन और अन्य द्वारा निर्धारित सख्त लिंट दिशानिर्देशों के मुताबिक जेनरेट जेनरेट करने वाले पैकेज हमेशा सही नहीं होते हैं, हालांकि पैकेज ठीक काम करते हैं।

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

संबंधित मुद्दे