مقدمة حول نظام التحزيم سناب snap

مقدمة:

سناب هو نظام تحزيم ونشر للبرامج طورته شركة كانونيكال المالكة لتوزيعة أوبنتو لتوزيعات جنو/لينكس من أجل السماح لمطوري البرامج بتوزيع تطبيقاتهم مباشرة على المستخدمين كما أنها تعمل على أجهزة سطح المكتب والخادم وأنترنت الأشياء.

بعض المفاهيم حول سناب:

  • snaps:

وهو اسم تطبيقات سناب ذات امتداد .snap، وهي نظام ملفات مضغوط قابل للقرائة فقط يستخدم تنسيق Squashfs ويحتوي على كل من البرنامج واعتمادياته.

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

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

  • snapd(snap daemon):

يقوم بإدارة بيئة سناب(تنزيل وتثبيت وتشغيل البرامج، عزل البرامج في صندوق الرمل…).

  • snap store:

مستودع مركزي لاستضافة حزم سناب.

  • snapcraft:

أداة لبناء حزم سناب ورفعها اختيارا إلى المتجر.

مزايا استخدام سناب:

  • يعمل من خلال حاويات؛ مما يعني التخلص من مشاكل الاعتماديات، وهذا يمكنك من تشغيل البرامج غير المتوافقة مع مكتبات النظام الحالية.

  • يتم عزل برامج سناب عبر برنامج Apparmor مما يعني بيئة أكثر أمانًا نظرًا لأنه لا يمكنها الوصول ملفات أو عتاد النظام إلا بالسماح لها.

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

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

  • استخدام القنوات لإدارة إصدارات البرامج وتحديثها (Stable, Candidate release, Beta, Edge) لمزيد من المعلومات يرجى زيارة هذا الرابط.

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

  • تحديثات Delta: حيث تستطيع تنزيل تغييرات الكود البرمجي للتطبيق دون الاضطرار لتنزيله كاملا مما يوفر الوقت وباقة الأنترنت.

  • يتم تحديث تطبيقات سناب بشكل تلقائي، تستطيع تغيير وقت التحديثات. افتراضيا يقوم snapd بالتحقق من التحديثات أربع مرات في اليوم، كما يمكنك فعل ذلك يدويا.

  • إمكانية تنزيل حزم سناب ونقلها وتثبيتها على جميع التوزيعات التي تدعم سناب.

  • تعمل على توزيعات سطح المكتب والخوادم وأجهزة إنترنت الأشياء.

سلبيات سناب:

بما أن لكل تقنية إيجابيات لها سلبيات أيضا بعضها يكون مصاحبا لها والبعض الأخر بسبب إدارتها لذلك هناك بعض الاعتبارات التي يجب أن تكون على علم بها:

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

  • لا يمكن إيقاف التحديثات التلقائية بطريقة رسمية إلا ببعض التلاعبات كما في هذا الرابط.

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

  • عليك الوثوق بكانونيكال بأنها تفحص وتراجع برامج سناب قبل الموافقة عليها. كما أن الحزم الموجودة في المتجر يتم صيانتها من قبل المطورين أنفسهم، لا يمكن لمطوري التوزيعات ضمان تلبية الحزم معايير الجودة وأن يتم تحديثها في الوقت المناسب.

  • متجر سناب مغلق المصدر من جهة الخادم، ومن الصعب إضافة مستودع خاص بك. كيفية استضافة متجر خاص بك.

  • سناب يبطئ عملية التمهيد بسبب خدمات سيستم دي التي يقوم بإنشائها.

خاتمة:

كانت هذه مقدمة بسيطة عن نظام التحزيم سناب مع ذكر بعض مزاياه وعيوبه التي أرجو أن تحل في المستقبل القريب، هل تستخدم سناب أم مدير الحزم التقليدي؟ وأيهما تفضل؟

6 إعجابات

شكرا لك على كل هذه المعلومات القيمة حول حزم سناب، أنا شخصيا لا أميل لاستخدامها و السبب الرئيس في ذالك هو الخادم مغلق المصدر، و كما أشرت سابقا أفضل مدير الحزم التقليدي في المقام الأول تليه حزم appimage بعدها فلاتباك و ربما يحل سناب في المرتبة الأخيرة.

إعجاب واحد (1)

العفو أخي صالح، نفس الشيء بالنسبة لي، كما أن فلاتباك يقدم نفس الميزات تقريبا وتم تبنيه من طرف العديد التوزيعات عكس سناب، أما appimage فأستعمله للبرامج التي أفتحها نادرا ولا أهتم بتحديثهامثل balena etcher.

إعجاب واحد (1)

شركة كانونيكال تركت كل الأسماء من المشارق والمغارب واختارت اسم snap، عند البحث عنه تجد فقط اسم Snapchat
تحتاج تصفيق :clap: :clap: :clap:

إعجاب واحد (1)

لهم تاريخ شيق في حجز لاسماء المشهورة

إعجاب واحد (1)

تشابه الأسماء مشكلة حتى أن معظم نتائج startpage كانت عن سنابشات.
لكن الأمر الجيد هو التوثيق الخاص بسناب ممتاز جدا.

إعجاب واحد (1)

لذا يجب دائما إرفاق كلمة سناب بعبارة لينكس لتكون النتائج دقيقة.

انا اكتب snapd اوsnapcraft