سؤال ما هو "AppImage"؟ كيف أقوم بتثبيته؟


لقد قرأت للتو تلبية Etcher ، أداة الكاتب صورة USB أنيق مفتوح المصدر. يتحدث عن تحميل AppImage.

نعم ، لينكس يتم توزيع حزم Linux كتخصيص لتوزيعات 32 بت و 64 بت ، ويجب تشغيلها عبر جميع توزيعات لينكس الرئيسية دون أي مشاكل. ليس لدى الفريق حاليًا أي خطة لتوفير أداة تثبيت .deb (أو .rpm) الأصلية.

ما هي AppImages؟ كيف تختلف عن الطقات؟


153
2018-05-19 04:11


الأصل


اعتقد ان appimage يمكن أن تصبح العلامة مفيدة ، لذلك قمت بإنشائها. في حالة أننا لن نحتاج أو نرغب في الاحتفاظ بها ، سيكون هناك دائمًا خيار لاحتوائها مرة أخرى على أي حال. - Byte Commander


الأجوبة:


معلومات اساسية

فيما يتعلق التثبيت

أنا أقتبس صفحة مشروع 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 المشروع يقدم الكثير من المعلومات الإضافية مثل استخدم حالات، مساحة المشكلة و الأهداف.

استخدم حالات

  • باعتباري مستخدمًا ، أريد الانتقال إلى صفحة تنزيل المنبع ، وتنزيل تطبيق من المؤلف الأصلي ، وتشغيله على نظام سطح المكتب Linux الخاص بي تمامًا كما أفعل باستخدام تطبيق Windows أو Mac.

  • باعتباري مختبراً ، أريد أن أتمكن من الحصول على أحدث إصدار من تطبيق متسلل من خادم إنشاء مستمر واختباره على النظام الخاص بي ، دون الحاجة إلى التجميع ودون الحاجة إلى القلق من أن أخطأ في النظام.

  • بصفتي مؤلف تطبيق أو ISV ، أرغب في توفير حزم لأنظمة سطح المكتب Linux كما أستخدم نظامي Windows و OS X ، دون الحاجة إلى الحصول على "توزيع" ودون الحاجة إلى إنشاء gazillions من التوزيعات المختلفة.

الأهداف

  1. كن بسيطا.

    الغرض من AppImage هو أن يكون تنسيقًا بسيطًا للغاية سهل الاستخدام   فهم وإنشاء وإدارة.

  2. الحفاظ على التوافق الثنائي.

    AppImage هو تنسيق لتوزيع البرامج الثنائية. البرمجيات   تعبئتها كما هو المقصود AppImage لتكون ثنائية متوافقة معها   ممكن مع أكبر عدد ممكن من الأنظمة. الحاجة ل   يجب أن يتم تخفيض (إعادة) تجميع البرامج إلى حد كبير.

  3. يكون التوزيع-agostic.

    يجب تشغيل AppImage على جميع أنظمة التشغيل الأساسية (التوزيعات)   أنه تم إنشاؤه لـ (والإصدارات الأحدث). على سبيل المثال ، يمكنك ذلك   استهداف Ubuntu 9.10 و openSUSE 11.2 و Fedora 13 (والإصدارات الأحدث)   في نفس الوقت ، دون الحاجة إلى إنشاء والحفاظ على منفصلة   الحزم لكل نظام الهدف.

  4. قم بإزالة الحاجة للتثبيت.

    AppImages تحتوي على التطبيق بتنسيق يسمح بتشغيله مباشرة   من الأرشيف ، دون الحاجة إلى تثبيت أولاً. هذا هو   مقارنة إلى قرص مضغوط مباشر. قبل الأقراص المضغوطة الحية ، يجب أن تكون أنظمة التشغيل   تم تثبيتها أولاً قبل استخدامها.

  5. حافظ على ضغط التطبيقات طوال الوقت.

    نظرًا لأن التطبيق يظل معبأًا طوال الوقت ، فهو لا يحدث أبدًا   غير مضغوط على القرص الصلب. يعمل الكمبيوتر على فك ضغط   تطبيق على ذبابة أثناء الوصول إليه. منذ إلغاء الضغط   أسرع من القراءة من القرص الثابت على معظم الأنظمة ، هذه السرعة   ميزة بالإضافة إلى توفير مساحة. أيضا ، الوقت اللازم ل   تتم إزالة التثبيت بالكامل.

  6. السماح لوضع التطبيقات في أي مكان.

    AppImages هي "نقل" ، مما يسمح للمستخدم لتخزين و   تنفيذها من أي مكان (بما في ذلك الأقراص المدمجة وأقراص الفيديو الرقمية ، القابلة للإزالة   الأقراص ، USB العصي).

  7. جعل التطبيقات للقراءة فقط.

    منذ AppImages للقراءة فقط حسب التصميم ، يمكن للمستخدم أن يكون معقولاً   تأكد من أن التطبيق لا يعدل نفسه أثناء التشغيل.

  8. لا تحتاج إلى إعادة تجميع.

    يجب أن يكون من الممكن إنشاء AppImages من الثنائيات الموجودة بالفعل ،   دون الحاجة لإعادة التجميع. هذا يسرع كثيرا   عملية إنشاء AppImage ، حيث لا يوجد مترجم يجب أن يشارك. هذه   يسمح أيضًا للجهات الخارجية بتجميع التطبيقات المغلقة المصدر   AppImages. (ومع ذلك ، يمكن أن يكون مفيدا في المنبع   مطوري التطبيقات لبناء من المصدر خصيصا ل   الغرض من إنشاء AppImage.)

  9. حافظ على نظام التشغيل الأساسي دون مساس.

    منذ الغرض من AppImages تعمل على أنظمة بسيطة لم تفعل ذلك   أعدت خصيصا من قبل المسؤول ، قد لا يتطلب AppImages   أي إعداد غير عادي لنظام التشغيل الأساسي. ومن ثم ، هم   لا يمكن الاعتماد على بقع kernel خاصة أو وحدات kernel أو أي   التطبيقات التي لا تأتي مع التوزيعات المستهدفة من قبل   افتراضي.

  10. لا تحتاج الجذر.

    بما أن الغرض من AppImages أن يتم تشغيله من قبل المستخدمين النهائيين ، فلا يجب عليهم ذلك   reqiure حساب إداري (الجذر) ليتم تثبيتها أو استخدامها. هم   ومع ذلك ، قد يتم تثبيته بواسطة مسؤول (على سبيل المثال ، في متعدد المستخدمين   سيناريوهات) إذا رغبت في ذلك.


204
2018-05-19 06:07



ربما ينبغي أن يكون الأساس الفعلي Q / A فوق التفسير؟ - UniversallyUniqueID
كيف يستمر عرض الصور بين الإصدارات؟ - Dan Dascalescu
هل يمكنك التفصيل في ميزة "للقراءة فقط"؟ هل يمكنني حفظ التغييرات داخل AppImage؟ أو يفقدها على مقربة مثل قرص حي؟ - vstepaniuk
DanDascalescu: يستحق سؤالك أن يرتقي إلى سؤال كامل على AskUbuntu ، وليس مجرد تعليق. سوف تسألها؟ - Kurt Pfeifle
KurtPfeifle: بما أنك لم ترغب في المضي قدمًا وتطلب منه ذلك بنفسك ... :) - Dan Dascalescu


قد تبدو الفكرة الأساسية متشابهة بين النظامين ، ولكن هناك بعض الاختلافات في التصميم بين اللقطتين و Appimages.

بعض "الكبيرة" التي تتبادر إلى ذهني هي:

  1. الأمان، من ناحية حبس. تعمل حزم Snap في sandbox ولا يُسمح لها بالهروب منها والوصول إلى الأجزاء الأخرى من النظام التي ينبغي عليها ذلك ليس لمس. اتصال. صلة. هذه طبقة أمان أقوى تعمل بالتوازي مع نظام الأذونات. من الواضح أنها محبطة بعض الشيء عند التعامل معها في البداية (وأيضًا لاحقًا) ، ولكن إذا فكرت في الأمر من حيث إدارة النظام ، فهذا هو الشيء الذي يريده المشرف لمستخدميه.

  2. الأمان. إن تثبيت البرامج التي يتم التقاطها من جميع أنحاء الشبكة أمر آمن مثل التنقل حول أعمدة لعقوبة في الشوارع. في بعض الأحيان لا يحدث أي شيء ، في بعض الأحيان تحصل على بعض المشاكل الصحية الكبيرة. تحتوي حزم Snap على مستودعاتها الصحيحة ، والتي يتم التحكم فيها من قِبل Canonical ، مثل مستودعات Ubuntu القياسية المعتادة. يمكنك الذهاب وتثبيت .deb الملفات من جميع أنحاء ، ولكن هذا سيكون اختيارك ، وليس قضية تصميم.

  3. التركيب. المقصود من AppImages أن يكون مكافئًا لـ "الملفات التنفيذية المحمولة لـ Windows". جميع المكتبات مكتفية ذاتيا ويمكن لأي مستخدم فقط تنزيل وتنفيذ واحدة منها. من ناحية أخرى، snap الحزم هي الحزم المناسبة ، وأنها بحاجة إلى تثبيت (كما root، أو مع sudo) عبر مدير الحزمة المناسبة (snap install tic-tac-toe يلقي خطأ: يحتاج sudo!)

  4. إزالة. لإزالة حزمة انطباق ، تحتاج إلى استخدام مدير الحزمة snap remove ... مع الأذونات الصحيحة للقيام بذلك. من ناحية أخرى ، فإن هذه الأشكال هي "موجودة". لذلك لا يريد أي مستخدم هذا Appimage؟ هو / هي فقط يزيل الملف ويزول.

بينما أقترح بشدة توخي الحذر عند استخدام Appimages ، فأنا شخصياً أستخدم بعضًا منهم بنفسي.

أجدها مفيدة بشكل خاص في نظام عملي ، حيث لا أملك root الوصول (فقط المشرف لديه ذلك) ولكن أحتاج إلى أحدث إصدار من برنامج معين ، لحسن الحظ ، قدم المطور في شكل Appimage.

أنا خائف بعض الشيء من أن بعض الشفرات الخبيثة موجودة بالفعل ، لذا فقد تحققت قدر المستطاع من هوية الناشر. لست متأكداً 100٪ من أن هذا البرنامج حميد ، لكنني فعلت كل ما بوسعي.


20
2018-05-19 07:59



بشكل أساسي ، يحاول الجميع تنفيذ تطبيق OSX على نظام التشغيل Linux ، ولكن لا شيء يصل إلى هذا الحد. - OrangeDog
ليس لدي أي فكرة عن كيفية عمل ذلك :) لمجرد المفاجئة و Appimages لا تعمل بشكل جيد مع البرنامج مع العديد من التبعيات المشتركة بين العديد من البرامج الأخرى. فهي جيدة تمامًا مع البرامج القائمة بذاتها أو مع بعض التبعيات ، ولكن الخطر هو أن يكون لديك العديد من النسخ من نفس المكتبة التي تقوم بنفس المهمة ، كما هو الحال في Windows. يجب حل هذا في حزم المفاجئة (برنامج يعتمد على تثبيت مكتبة المفاجئة تلك المكتبة مع هذا الإصدار ، ثم برنامج آخر يحتاج نفس نسخة المكتبة قد يستخدمه ، كما هو الحال مع النظام المعتاد). - dadexix86
تعمل تطبيقات OSX (و iOS) مثل AppImage (ما عليك سوى تنزيل ملف واحد وتشغيله) ولكن مع أمان وضع الحماية المفاجئ. - OrangeDog
يحاول OSX التخلص من هذه البرامج والسماح بالتثبيت من متجره فقط. - LtWorf
يجب أن يحتوي AppImage بالفعل على خيار Sand Boxing. نأمل أن نرى ذلك في المستقبل. - Royi


في حين تركز الأداة على Ubuntu فقط ، فإن AppImage هو التوزيع المتقاطع ، كما أنه يعمل على Fedora و debian و openSUSE و CentOS إلخ.

لا يحتاج AppImage إلى وقت تشغيل أو دعم بنية أساسية من توزيعة لينكس ، وبالتالي فهو يعمل بجانب كل مكان. تمكن مؤلفي التطبيقات من شحن برامجهم مباشرة إلى مستخدمي Linux مثل Windows و OS X ؛ دون Canonical أو أي شخص آخر "في ما بين" مؤلف البرنامج والمستخدم النهائي.

إذا تم تقديم تطبيق في تنسيق AppImage ، فيمكن للمستخدم الانتقال إلى موقع المؤلف الأصلي لتنزيله ، على سبيل المثال ، MuseScore من https://musescore.org/en/download. جعل التطبيق قابل للتنفيذ (إما باستخدام مدير الملفات الخاص بك أو chmod a+x ./yourAppImage) ، ثم يمكنك تشغيل التطبيق ببساطة عن طريق النقر المزدوج.


15
2018-05-19 06:24



لذلك إذا كنت أرغب في تثبيت Leafpad ، فهل أقوم بالنقر فوق "Set me up"؟ ماذا سيحدث بعد ذلك؟ وكيف يمكنني إلغاء تثبيت AppImage؟ أنا أنظر إلى bintray.com/probono/AppImages لكن لم أجد الجواب. إذا كنت لا تمانع ، يمكنك تعديل إجابتك لتضمين المعلومات بالإضافة إلى أي شيء آخر تعتقد أن المستخدمين قد يرغبون في معرفته. - DK Bose
لست متأكدا مما إذا كان ذلك سيكون حلا لك أيضا - ولكن لوحة الأوراق متاحة في مصادر 16.04 من خارج منطقة الجزاء (الإصدار: 0.8.18.1). النسخة الورقية المقدمة من قبل bintray هي "فقط" 0.8.17 - لذلك أكبر من ذلك. - dufte
صحيح ، ولكن بالنسبة لشخص يريد فقط اختبار المياه ، فهو ، كما يقول الموقع ، نوع من "Hello، World". - DK Bose
ممتاز. بعد ذلك يمكنك ببساطة النقر المزدوج. هذا ما احتاجه! - Dawoodjee


قبل أن تتمكن من تشغيل AppImage ، تحتاج إلى جعلها قابلة للتنفيذ. هذه هي ميزة أمان Linux. هناك طريقتان رئيسيتان لجعل AppImage قابلاً للتنفيذ:

1. باستخدام واجهة المستخدم الرسومية

How to make an AppImage executable

أو

2. في سطر الأوامر

chmod a+x Some.Appimage

انقر نقرًا مزدوجًا فوق الملف الخاص بك لتشغيله أو انقر بزر الماوس الأيمن> تشغيل


11
2017-10-10 02:01





AppImages تتطلب FUSE للتشغيل. نظام الملفات في Userspace (FUSE) هو نظام يتيح للمستخدمين غير الجذرين تركيب أنظمة الملفات.

تثبيت FUSE

العديد من التوزيعات لها إعداد FUSE يعمل خارج منطقة الجزاء. ولكن إذا لم تكن تعمل من أجلك ، فقد تحتاج إلى تثبيت FUSE يدويًا وتكوينه.

على سبيل المثال ، على Ubuntu:

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 مع --appimage-offset لمعرفة الرقم الصحيح للإزاحة.


3
2017-10-13 15:06