كيفية العمل مع حزم Snap على Linux

نشرت: 2022-01-29
أوبونتو

عندما تقوم بتثبيت حزم برامج Linux مع snap ، يمكنك أن تقول وداعًا لجحيم التبعية وكسر تطبيقات العمل الأخرى. تم تصميم حزم Snap في الأصل لـ Ubuntu ، لكنها متوفرة الآن على مجموعة متنوعة من توزيعات Linux.

ما هي باقات سناب شات؟

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

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

أحد الحلول لهذه المشاكل هو حزم التطبيقات وأنظمة النشر. Snappy هي واحدة من أكثرها شعبية. يعتمد على نظام تغليف ونشر يسمى Click ، ​​والذي يعود إلى مبادرة Ubuntu Touch. AppImage و FlatPack هما الآخران اللذان قد واجهتهما.

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

الإعلانات

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

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

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

هذا هو المفاضلة بين بساطة التثبيت ، وإزالة صداع تضارب الموارد ، رغم ذلك.

تثبيت برنامج snapd

تم تقديم Snappy مع Ubuntu 16.04 ، لذلك إذا كنت تقوم بتشغيل هذا الإصدار أو إصدار أحدث ، فأنت بالفعل على ما يرام. على أجهزتنا ، تم تثبيت Snappy على Manjaro 18.04 ، لكن كان علينا تثبيته على Fedora 31.

snap هو اسم ملفات الحزمة والأمر الذي تستخدمه للتفاعل معها. خلف الكواليس ، يعد برنامج snapd الخفي أيضًا اسم الحزمة التي يجب عليك تثبيتها إذا لم يكن لديك Snappy بالفعل على جهاز الكمبيوتر الخاص بك.

لتثبيت snapd على Fedora ، اكتب الأمر التالي:

 sudo dnf تثبيت snapd 

الإعلانات

إذا كنت بحاجة إلى تثبيته على Manjaro ، فاستخدم هذه الأوامر:

 sudo pacman -Sy snapd
 يتيح sudo systemctl - الآن snapd.socket

يمكنك استخدام الأمر snap version للاطلاع على إصدار snap client و snapd daemon ورقم سلسلة البرنامج. سيتم أيضًا عرض اسم وإصدار توزيعة Linux الخاصة بك وإصدار kernel لك.

اكتب ما يلي:

 نسخة مبكرة 

تثبيت الحزم المفاجئة

إنها عملية بسيطة ومباشرة لتثبيت حزمة snap . يمكنك استخدام snap للبحث عن حزم snap ، ثم تثبيت الحزمة التي تريدها.

نكتب ما يلي للبحث عن محرر الصور gimp وتثبيته:

 المفاجئة تجد الأعرج 

عمليات البحث snap عن التطابقات مع دليل البحث "gimp" وإرجاع النتائج التي توصل إليها. سيجد أي شيء يطابق مصطلح البحث أو يذكره.

لتثبيت إحدى الحزم ، نستخدم القيمة من عمود Name ، كما هو موضح أدناه:

 sudo snap تثبيت الأعرج 

الإعلانات

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

يمكنك استخدام الأمر df للتحقق من سعة واستخدام أنظمة الملفات المختلفة التي تم تكوينها على كمبيوتر Linux الخاص بك. إذا أدخلنا إخراجها في الأمر grep عن "gimp" ، فإننا نعزل إدخال الحزمة التي قمنا بتثبيتها للتو.

نكتب ما يلي:

 df | grep gimp 

يوضح لنا هذا أنه تم تثبيت حزمة snap كما لو كانت نظام ملفات. نقطة التحميل موجودة في دليل snap هنا: /snap/gimp/252 . "252" هو رقم إصدار هذا الإصدار من gimp .

ذات صلة: كيفية استخدام أمر grep على نظام Linux

يتم سرد نظام الملفات على النحو التالي: /dev/loop18 . تُستخدم ملفات جهاز التكرار لجعل الملفات العادية يمكن الوصول إليها كأجهزة حظر. يتم استخدامها عادةً لتركيب أنظمة الملفات في صور القرص. في هذه الحالة ، يقومون بتركيب نظام ملفات SquashFS داخل حزمة snap . يعني الرقم "18" أن هذا هو ملف الجهاز الثامن عشر /dev/loop المستخدم على كمبيوتر Linux هذا.

يمكننا استخدام الأمر df للتحقق من ذلك بسرعة. سنستخدم الخيار - t (النوع) لقصر الإخراج على أنواع ملفات SquashFS فقط.

نكتب ما يلي:

 مدافع -t الاسكواش 

يتم سرد أنظمة ملفات SquashFS المحملة. يتعامل ملف جهاز A /dev/loop مع كل ملف ، ويوجد 18 منهم.

الإعلانات

يتم تحميل كل نظام ملفات على دليل داخل الدليل /snap . ومع ذلك ، هذا لا يعني أن هناك 18 حزمة snap مختلفة مثبتة على هذا الكمبيوتر. هذا توزيع Ubuntu ، لذلك تم تثبيت بعض حزم snap مباشرة خارج الصندوق ، وقمنا للتو بتثبيت حزمة أخرى.

بالإضافة إلى ذلك ، عند تثبيت snapd ، فإنه يقوم بتثبيت بعض حزم snap الأساسية لتلبية احتياجات حزم snap الأخرى.

يمكننا استخدام الأمر snap list ، كما هو موضح أدناه ، لسرد حزم snap المثبتة:

 قائمة المفاجئة 

كان الإخراج واسعًا بعض الشيء ، لذا تظهر نهاية القوائم أدناه.

ها هي القائمة بأكملها:

 ملاحظات الناشر تتبع نسخة الاسم
core 16-2.43.3 8689 الأساسية الأساسية * المستقرة
core18 20200124 1668 قاعدة أساسية مستقرة *
gimp 2.10.18 252 snapcrafters مستقرة -
جنوم-3-26-1604 3.26.0.20191114 98 مستقر / ... قانوني * -
جنوم -3-28-1804 3.28.0-16-g27c9498.27c9498116 ثابت الكنسي * -
gnome-calculator 3.34.1 + git1.d34dc842 544 Stable / ... canonical * -
gnome-character v3.32.1 + git3.b9120df 399 Stable / ... canonical * -
سجلات جنوم 3.34.0 81 مستقرة / ... متعارف عليه * -
gnome-system-monitor 3.32.1-3-g0ea89b4922 127 ثابت / ... متعارف عليه * -
gtk-common-themes 0.1-28-g1503258 1440 Stable / ... canonical * -

كما ترى ، هناك 10 حزم snap مثبتة ، وليس 18. ومع ذلك ، أدت هذه الحزم العشر إلى ظهور 18 نظام ملفات SquashFS . أعمدة الجدول تشرح نفسها بنفسها إلى حد ما ، ولكن إليك بعض التوضيحات:

  • الاسم : اسم حزمة snap التي تم تثبيتها.
  • الإصدار : رقم إصدار البرنامج الموجود في الحزمة snap .
  • Rev : رقم مراجعة حزمة snap .
  • التتبع : القناة التي تراقبها هذه الحزمة snap من أجل التحديثات. هنالك أربعة:
    • مستقرة: القناة الافتراضية. كما يشير اسمها ، تحتوي هذه القناة على الحزم الأكثر استقرارًا.
    • المرشح: هذه القناة أقل استقرارًا ، لكنها قريبة جدًا منها لأنها تحتوي على برنامج مستوى مرشح الإصدار ، وهو رمز مكتمل. يخضع للاختبار النهائي قبل نقله إلى القناة الثابتة.
    • تجريبي: هذه القناة ذات جودة متأخرة لدورة التطوير ، ولكن ليس مضمونًا أن تكون مستقرة.
    • الحافة: لمختبري البناء المبكر. يجب ألا تستخدم هذه القناة في الأعمال المهمة أو على جهاز كمبيوتر للإنتاج. هنا يكون التنين!
  • الناشر : الفرد أو الشركة أو المؤسسة التي أصدرت حزمة snap . إذا كان ناشرًا تم التحقق منه (وكانت النافذة الطرفية لديك تدعم Unicode) ، فسترى علامة اختيار خضراء بجانب اسم الناشر. إذا لم تتمكن من إظهار علامة الاختيار ، فسترى علامة النجمة ( * ).
  • ملاحظات : ستظهر هنا أية تعليقات أو معلومات إضافية.

القنوات المفاجئة

يمكنك استخدام خيار info للحصول على وصف لحزمة snap .

للقيام بذلك ، نكتب ما يلي:

 snap info gtk-common-السمات 

الإعلانات

يمكننا معرفة القناة التي تتبعها الحزمة ، وإصدار البرنامج في حزم snap في كل قناة من القنوات الأربع. في معظم الحالات ، يجب أن تظل على القناة الثابتة.

تقوم حزمة snap بفحص أربع مرات يوميًا لمعرفة ما إذا كان إصدار أحدث من البرنامج متاحًا من القناة التي تشاهدها أو "تتبعها". إذا كنت تريد تغيير القناة التي تتبعها حزمة snap ، فيمكنك استخدام خياري refresh --channel .

للقيام بذلك ، نكتب ما يلي:

 sudo snap تحديث gtk-common-themes - قناة = بيتا 

إذا كان إصدار أحدث من البرنامج متاحًا ، فسيتم تثبيته ، لكن لم يكن هذا هو الحال هنا. ومع ذلك ، فإن حزمة snap تتعقب الآن القناة التجريبية. بمجرد إصدار إصدار تجريبي جديد ، يتم تنزيله وترقيته تلقائيًا.

يمكنك استخدام خيار --list للتحقق مما إذا كانت التحديثات متاحة لأي من حزم snap المثبتة على جهاز الكمبيوتر الخاص بك.

للقيام بذلك ، نكتب ما يلي:

 sudo المفاجئة تحديث القائمة 

سيتم إخبارك ما إذا كانت أي من القنوات التي تتبعها حزم snap على جهاز الكمبيوتر الخاص بك تحتوي على إصدارات أحدث من البرامج.

الإعلانات

في حالة توفر إصدار أحدث من البرنامج ، يمكنك استخدام خيار refresh ، كما هو موضح أدناه ، لفرض التحديث يدويًا:

 sudo snap تحديث gtk-common-theme 

إزالة حزمة المفاجئة

لإلغاء تثبيت حزمة snap ، يمكنك استخدام خيار الإزالة ، كما هو موضح أدناه:

 sudo snap إزالة الأعرج 

ورقة الغش المفاجئة

يعد استخدام حزم snap أمرًا بسيطًا للغاية ، لكننا قمنا بتجميع قائمة ببعض الأوامر التي ستساعدك:

  • للبحث عن حزمة: snap find package_name عن اسم الحزمة
  • لتثبيت حزمة: sudo snap install package_name
  • لمشاهدة كافة الحزم المثبتة: snap list
  • للحصول على معلومات حول حزمة واحدة: snap info package_name
  • لتغيير القناة ، تتعقب الحزمة للحصول على التحديثات: sudo snap refresh package_name --channel=channel_name
  • لمعرفة ما إذا كانت التحديثات جاهزة لأية حزم مثبتة: sudo snap refresh --list
  • لتحديث حزمة يدويًا: sudo snap refresh package_name
  • لإلغاء تثبيت حزمة: sudo snap remove package_name

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين