كيفية العمل مع حزم 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
أوامر لينكس | ||
الملفات | tar · pv · cat · tac · chmod · grep · diff _ _ _ _ _ _ _ _ _ _ _ · ذيل · ستات · ls · fstab · صدى · أقل · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · تثبيت · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · تحويل · rclone · shred · srm | |
العمليات | الاسم المستعار · شاشة · أعلى · لطيف · رينييس · تقدم · ستريس · systemd · tmux · chsh · تاريخ · في · دفعة · مجانية · أي · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · نعم · قتل · نوم · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg | |
الشبكات | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · حفر · إصبع · nmap · ftp · curl · wget · who · who · w · iptables · ssh-keygen · ufw |
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين