एक "AppImage" क्या है? इसे कैसे स्थापित किया जा सकता है?


230

मैं सिर्फ मीट एचर, एक स्टाइलिश ओपन-सोर्स यूएसबी इमेज राइटर टूल पढ़ता हूं । यह एक AppImage डाउनलोड करने के बारे में बात करता है।

हाँ, लिनक्स; लिनक्स पैकेज को 32-बिट और 64-बिट वितरण के लिए एक .appimage के रूप में वितरित किया जाता है, और बिना किसी समस्या के सभी प्रमुख लिनक्स वितरण में चलना चाहिए। वर्तमान में टीम के पास देशी .deb (या .rpm) इंस्टॉलर प्रदान करने की कोई योजना नहीं है।

AppImages क्या हैं? वे स्नैप से कैसे भिन्न होते हैं?


10
मुझे लगता है कि appimageटैग उपयोगी हो सकता है, इसलिए मैंने इसे बनाया। उस स्थिति में जब हमें इसकी आवश्यकता नहीं होगी या इसे रखना चाहते हैं, फिर भी इसे फिर से जलाने का विकल्प हमेशा रहेगा।
बाइट कमांडर

जवाबों:


283

मूलभूत जानकारी

स्थापना के संबंध में

मैं यहाँ appImage परियोजना पृष्ठ उद्धृत कर रहा हूँ:

AppImages को इंस्टॉलेशन या रूट अधिकारों की आवश्यकता के बिना डाउनलोड और चलाया जा सकता है।

इसे अमल में लाना

आप इस प्रकार के रूप में appImage निष्पादन योग्य बना सकते हैं:

chmod a+x exampleName.AppImage

इसे निष्पादित करना

आप एक appImage को निम्नानुसार निष्पादित कर सकते हैं:

./exampleName.AppImage

अतिरिक्त जानकारी

AppImage के बारे में

आप appImage के बारे में कुछ सामान्य जानकारी यहाँ पा सकते हैं ।

मैं यहाँ appImage परियोजना पृष्ठ उद्धृत कर रहा हूँ:

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

विकिपीडिया जोड़ता है

AppImage (और पूर्ववर्तियों klik और Portablelinuxapps) पारंपरिक अर्थों में सॉफ़्टवेयर स्थापित नहीं करता है (यानी, यह सिस्टम में सभी जगह फाइलें नहीं डालता है)।

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

README.mdकी AppImageKit-परियोजना की तरह एक बहुत कुछ अतिरिक्त जानकारियां प्रदान करता है का उपयोग करें मामलों , समस्या अंतरिक्ष और उद्देश्यों

बक्सों का इस्तेमाल करें

  • एक उपयोगकर्ता के रूप में, मैं एक अपस्ट्रीम डाउनलोड पेज पर जाना चाहता हूं, मूल लेखक से एक एप्लिकेशन डाउनलोड करता हूं, और अपने लिनक्स डेस्कटॉप सिस्टम पर इसे वैसे ही चलाता हूं जैसे मैं विंडोज या मैक एप्लिकेशन के साथ करता हूं।

  • एक परीक्षक के रूप में, मैं एक निरंतर बिल्ड सर्वर से किसी एप्लिकेशन के नवीनतम ब्लीडिंग-एज संस्करण को प्राप्त करने में सक्षम होना चाहता हूं और इसे अपने सिस्टम पर परीक्षण करना, संकलन करने की आवश्यकता के बिना और यह चिंता किए बिना कि मैं अपने सिस्टम को गड़बड़ कर सकता हूं।

  • एक आवेदन लेखक या आईएसवी के रूप में, मैं लिनक्स डेस्कटॉप सिस्टम के लिए पैकेज प्रदान करना चाहता हूं, जैसा कि मैं विंडोज और ओएस एक्स के लिए करता हूं, बिना इसे 'वितरण' में लाने के लिए और विभिन्न वितरणों के गजलों के निर्माण के बिना।

उद्देश्य

  1. साधारण रहो।

    AppImage एक बहुत ही सरल प्रारूप है, जो समझने, बनाने और प्रबंधित करने में आसान है।

  2. बाइनरी संगतता बनाए रखें।

    AppImage द्विआधारी सॉफ्टवेयर वितरण के लिए एक प्रारूप है। AppImage के रूप में पैक किए गए सॉफ़्टवेयर का उद्देश्य जितना संभव हो उतने सिस्टम के साथ बाइनरी-संगत होना है। सॉफ्टवेयर के संकलन (पुनः) की आवश्यकता को बहुत कम किया जाना चाहिए।

  3. वितरण-अज्ञेयवादी हो।

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

  4. स्थापना की आवश्यकता को निकालें।

    AppImages में ऐप को एक ऐसे प्रारूप में रखा गया है जो इसे पहले संग्रह किए बिना सीधे संग्रह से चलाने की अनुमति देता है। यह एक लाइव सीडी के साथ तुलनीय है। लाइव सीडी से पहले, ऑपरेटिंग सिस्टम को स्थापित करने से पहले उन्हें इस्तेमाल किया जा सकता था।

  5. ऐप्स को हर समय संकुचित रखें।

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

  6. कहीं भी एप्लिकेशन डालने की अनुमति दें।

    AppImages "स्थानांतरित करने योग्य" हैं, इस प्रकार उपयोगकर्ता को किसी भी स्थान से स्टोर करने और निष्पादित करने की अनुमति देता है (सीडी-रोम, डीवीडी, हटाने योग्य डिस्क, यूएसबी स्टिक सहित)।

  7. आवेदन केवल पढ़ने के लिए करें।

    चूंकि AppImages केवल-डिज़ाइन द्वारा पढ़े जाते हैं, इसलिए उपयोगकर्ता को यह सुनिश्चित किया जा सकता है कि ऑपरेशन के दौरान कोई ऐप खुद को संशोधित नहीं करता है।

  8. पुनर्मूल्यांकन की आवश्यकता नहीं है।

    AppImages को पहले से मौजूद बायनेरिज़ से बनाना संभव होना चाहिए, बिना पुनर्संयोजन की आवश्यकता के बिना। यह बहुत अधिक AppImage निर्माण प्रक्रिया को गति देता है, क्योंकि किसी भी संकलक को शामिल नहीं करना पड़ता है। यह तीसरे पक्ष को AppImages के रूप में बंद स्रोत अनुप्रयोगों को पैकेज करने की अनुमति देता है। (फिर भी, यह अपस्ट्रीम एप्लिकेशन डेवलपर्स के लिए विशेष रूप से स्रोत से निर्माण करने के लिए फायदेमंद हो सकता है, जो कि AppImm जनरेट करने के उद्देश्य से है)।

  9. आधार ऑपरेटिंग सिस्टम को अछूता रखें।

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

  10. जड़ की आवश्यकता नहीं है।

    चूंकि AppImages को अंतिम उपयोगकर्ताओं द्वारा चलाने का इरादा है, इसलिए उन्हें स्थापित या उपयोग किए जाने के लिए एक प्रशासनिक खाते (रूट) को फिर से स्थापित नहीं करना चाहिए। हालाँकि, यदि वांछित हो, तो उन्हें एक प्रशासक (जैसे, बहु-उपयोगकर्ता परिदृश्यों) में स्थापित किया जा सकता है।


4
लॉन्च के बीच एक एपिमेज सेटिंग कैसे जारी रखता है?
डैन डस्केल्सस्कु

1
क्या आप "केवल पढ़ने के लिए" सुविधा पर थोड़ा विस्तार कर सकते हैं? क्या मैं AppImage के अंदर परिवर्तन सहेज सकता हूं? या यह LiveCD की तरह उन्हें खो देता है?
vstepaniuk 21

2
@DanDascalescu: आपका प्रश्न AskUbuntu पर एक पूर्ण प्रश्न के लिए उठाया जाना चाहिए, न कि केवल एक टिप्पणी। क्या आप इसे पूछेंगे?
कर्ट फ़िफ़ेल

@vstepaniuk: आपका प्रश्न डैन के समान है। आप में से एक को इसे एक "पूर्ण" प्रश्न के रूप में पूछना चाहिए, न कि केवल एक टिप्पणी में ...
कर्ट फ़िफ़ेल

1
@ कर्टपाइफ़ल: चूँकि आप आगे नहीं जाना चाहते थे और खुद से पूछना चाहते थे ... :)
डैन डस्केल्सस्कु

22

मूल विचार दोनों प्रणालियों के बीच समान हो सकता है, लेकिन स्नैप और एपिमेज के बीच कुछ डिज़ाइन अंतर हैं।

कुछ "बड़े" जो मेरे दिमाग में आते हैं वे हैं:

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

  2. सुरक्षा। नेट के आसपास से लिया गया सॉफ्टवेयर इंस्टॉल करना, गलियों में डंडे मारने के समान सुरक्षित है। कभी-कभी कुछ नहीं होता है, कभी-कभी आपको कुछ बहुत बड़े स्वास्थ्य मुद्दे मिलते हैं। स्नैप पैकेज में उनके उचित रिपॉजिटरी होते हैं, जो सामान्य मानक उबंटू रिपॉजिटरी की तरह, कैनन द्वारा नियंत्रित होते हैं। आप पर जा सकते हैं और .debचारों ओर से फ़ाइलों को स्थापित कर सकते हैं , लेकिन यह आपकी पसंद होगी, न कि डिज़ाइन का मुद्दा।

  3. स्थापना। AppImages का अर्थ "पोर्टेबल विंडोज निष्पादन योग्य" के बराबर है। सभी लाइब्रेरी स्व-सम्‍मिलित हैं और कोई भी उपयोगकर्ता इनमें से किसी एक को डाउनलोड और निष्पादित कर सकता है। दूसरी ओर, snapपैकेज उचित पैकेज होते हैं, और उन्हें एपॉजिट पैकेज मैनेजर के माध्यम से स्थापित किया जाना चाहिए (जैसे root, या उसके साथ sudo) snap install tic-tac-toe: एक त्रुटि फेंकता है sudo!

  4. निष्कासन। एक स्नैप पैकेज को हटाने के लिए, आपको ऐसा करने के लिए snap remove ...सही अनुमतियों के साथ पैकेज मैनेजर का उपयोग करना होगा। दूसरी ओर, वे सिर्फ "वहाँ" हैं। तो कोई भी यूजर उस Appimage को नहीं चाहता है? वह / वह सिर्फ फ़ाइल निकालता है और यह चला गया है।

जबकि मैं दृढ़ता से सुझाव का उपयोग करते समय सतर्क रहने का सुझाव देता हूं, मैं व्यक्तिगत रूप से उनमें से कुछ का उपयोग करता हूं।

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

मुझे थोड़ा डर है कि कुछ अशिष्ट कोड वास्तव में उनमें निहित हैं, इसलिए मैंने प्रकाशक की पहचान के लिए यथासंभव जाँच की। मुझे यकीन नहीं है कि यह सॉफ्टवेयर सौम्य है, लेकिन मैंने वह सब किया है जो मैं कर सकता था।


2
मूल रूप से, हर कोई लिनक्स पर OSX ऐप पैकेजिंग को लागू करने की कोशिश कर रहा है, लेकिन वहां कुछ भी नहीं मिलता है।
ऑरेंजडॉग

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

OSX (और iOS) एप्स AppImage की तरह काम करते हैं (बस सिंगल फाइल डाउनलोड करें और रन करें) लेकिन स्नैप के सैंडबॉक्स सुरक्षा के साथ।
ऑरेंजडॉग

OSX इनसे छुटकारा पाने की कोशिश कर रहा है और केवल अपने स्टोर से इनस्टॉल की अनुमति देता है।
लेटॉर्फ

AppImage में वास्तव में सैंड बॉक्सिंग का विकल्प होना चाहिए। उम्मीद है कि हम भविष्य में देखेंगे।
रॉय

20

इससे पहले कि आप एक AppImage चला सकें, आपको इसे निष्पादन योग्य बनाने की आवश्यकता है। यह एक लिनक्स सुरक्षा सुविधा है। AppImage को निष्पादन योग्य बनाने के दो मुख्य तरीके हैं:

1. GUI का उपयोग करना

कैसे एक AppImage निष्पादन योग्य बनाने के लिए

या

2. कमांड लाइन पर

chmod a+x Some.Appimage

अब इसे चलाने के लिए अपनी फ़ाइल को डबल-क्लिक करें या राइट-क्लिक करें> चलाएँ


15

जबकि स्नैप केवल उबंटू पर केंद्रित है, AppImage क्रॉस-डिस्ट्रीब्यूशन है और फेडोरा, डेबियन, ओपनएसयूएसई, सेंटीमेंट आदि पर भी चलता है।

AppImage को लिनक्स वितरण से कोई रनटाइम या इन्फ्रास्ट्रक्चर समर्थन की आवश्यकता नहीं है और इसलिए हर जगह के बगल में चलता है। यह विंडोज और ओएस एक्स के लिए जैसे लिनक्स उपयोगकर्ताओं को सीधे अपने सॉफ़्टवेयर को शिप करने के लिए एप्लिकेशन लेखकों को सक्षम करता है; सॉफ्टवेयर लेखक और अंत उपयोगकर्ता के बीच में केन्योरियल या किसी और के बिना।

यदि कोई एप्लिकेशन AppImage प्रारूप में प्रदान किया गया है, तो एक उपयोगकर्ता इसे डाउनलोड करने के लिए मूल लेखक की वेबसाइट पर जा सकता है, जैसे, https://musecore.org/en/download से MuseScore । AppImage को निष्पादन योग्य बनाएं (या तो आपके फ़ाइल प्रबंधक या का उपयोग करके chmod a+x ./yourAppImage), फिर आप एप्लिकेशन को केवल डबल-क्लिक करके चला सकते हैं।


इसलिए अगर मुझे लीफपैड स्थापित करना है, तो क्या मैं "मुझे सेट अप" पर क्लिक करूं? तब क्या होगा? और मैं एक AppImage की स्थापना कैसे कर सकता हूं? मैं bintray.com/probono/AppImages को देख रहा हूं लेकिन जवाब नहीं मिला। यदि आपको कोई आपत्ति नहीं है, तो आप अपने उत्तर को जानकारी शामिल करने के लिए संपादित कर सकते हैं और साथ ही कुछ और भी जो आपको लगता है कि उपयोगकर्ता जानना चाहते हैं।
डीके बोस

2
निश्चित नहीं है कि आपके लिए यह एक समाधान होगा - लेकिन लीफपैड 16.04 स्रोतों में उपलब्ध है (संस्करण: 0.8.18.1)। बिटप्रे द्वारा पेश किया गया लीफपैड संस्करण 'केवल' 0.8.17 है - इसलिए भी पुराना है।
dufte

1
सच है, लेकिन किसी के लिए सिर्फ पानी का परीक्षण करना चाहते हैं, यह है, जैसे साइट कहती है, एक "हैलो, विश्व" प्रकार की चीज।
डीके बोस

अति उत्कृष्ट। इसके बाद आप बस डबल क्लिक कर सकते हैं। Thats मैं क्या जरूरत है!
दाऊद

5

AppImages को चलाने के लिए FUSE की आवश्यकता होती है। Userspace (FUSE) में फाइलसिस्टम एक ऐसी प्रणाली है जो गैर-रूट उपयोगकर्ताओं को फाइलसिस्टम माउंट करने देती है।

FUSE स्थापित करें

कई वितरणों में वर्किंग FUSE सेटअप आउट-ऑफ-द-बॉक्स है। हालाँकि यदि यह आपके लिए काम नहीं कर रहा है, तो आपको मैन्युअल रूप से FUSE को स्थापित और कॉन्फ़िगर करना पड़ सकता है।

उदाहरण के लिए, उबंटू पर:

sudo apt-get install fuse
sudo modprobe fuse
sudo usermod -a -G fuse $USER

उदाहरण के लिए, OpenSUSE पर:

sudo zypper install fuse

मैदान छोड़ना

यदि आप FUSE को स्थापित नहीं करना चाहते हैं, तो आप AppImage को माउंट या निकाल सकते हैं।

AppImage को माउंट करने और एप्लिकेशन को चलाने के लिए, बस चलाएं

sudo mount -o loop Some.AppImage /mnt
/mnt/AppRun

यदि वह काम नहीं करता है, तो आपके पास एक प्रयोगात्मक प्रकार 2 AppImage हो सकता है । आपको कमांड को पास -o offset=...करने की आवश्यकता है mount--appimage-offsetऑफसेट के लिए सही संख्या जानने के लिए AppImage को चलाएं ।


sudo usermod -a -G fuseमेरे उपयोगकर्ता नाम के बाद तीसरी पंक्ति ( ) लिखने के बाद , मैं इसे प्राप्त करता रहता हूं usermod: group 'fuse' does not exist... कोई भी विचार क्यों?
मार्टिन

हाय @Martin, पूर्व में Ubuntu के लिए। यदि आप एक x86_64 (64 बिट) सिस्टम में i686 (32 बिट) AppImage को चलाने की कोशिश कर रहे हैं, तो आपको वह त्रुटि मिलने वाली है जब तक कि आपके पास 32 बिट लाइब्रेरी स्थापित न हो। आपको संभवतः OS और ऐप निर्दिष्ट करना चाहिए जिसे आप अगली बार सहायता के लिए चलाने का प्रयास कर रहे हैं।
सिंह

हाय @Leo, यह बहुत पहले था, लेकिन मैंने अभी-अभी sudo apt-get install fuse sudo modprobe fuse sudo usermod -a -G fuse $USERअपने विंडोज 10 64 पर लाइनें डालीं । मैं जो जवाब दे रहा हूं, वह कोई 32/64 स्पेसिफिकेशन नहीं बनाता है और मुझे नहीं लगता कि मुझे वह कहां निर्दिष्ट करना चाहिए या क्यों ...
मार्टिन

1

नीचे दिए गए चरणों का पालन करें:

  • AppImage पर राइट-क्लिक करें
  • प्रॉपर्टीज पर क्लिक करें
  • अनुमतियाँ पर क्लिक करें
  • फिर फ़ाइल को प्रोग्राम के रूप में निष्पादित करने की अनुमति पर क्लिक करें

टर्मिनल का उपयोग करना:

chmod u+x <appimage>

आप यहाँ और अधिक पढ़ सकते हैं: https://citguru.hashnode.dev/heres-how-to-install-appimage-on-linux-cjwxozb1n003o1rs17epqop6g

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