اسنپ ها Snaps

سلام.توی این مقاله میخوام اسنپ ها (snaps) رو بهتون معرفی کنم.اسنپ ها بسته هایی برای دسکتاپ،‌ فضای ابری و اینترنت اشیان که (‌کراس پلتفرم هستن) راحت نصب میشن، امن هستن و وابستگی هم به پیشنیاز ندارن. اسنپ ها رو میتونیم از اسنپ استور ( Snap Store ) پیدا و نصب کنیم. اسنپ استور مانند استور های دیگه ( Google Play, App Store, Microsoft Store , ... ) یک اپ استور برای لینوکس هست که مخاطب میلیونی داره.برای نصب یه بسته توی توزیع های دبیان پایه ( بسته های نصبی توی توزیع های مختلف کمی فرق میکنن ) توی بسته باینری (binary package) که پسوندش deb. هست،‌ ۳ تا فایل وجود داره.برای مثال این بسته رو ببینید.محتویات بسته فایرفاکساینجا ما با control.tar.xz کار داریم. توی این فایل که توضیحات خیلی خوب و مفصلی راجع به بسته نوشته شده،‌ یکی از فیلد (field) ها، فیلد Depends هست.محتویات control fileفیلد dependsاین فیلد تمام پیش‌نیاز ها و نسخه تایید شده اون ها رو برای این بسته رو ذکر میکنه.وقتی با dpkg میخواهید بسته ای رو نصب کنید،‌ اون این فیلد رو میخونه و میاد چک میکنه اگه این بسته ها روی سیستم باشن و شرط ورژن‌شون هم تایید بشه،‌ بسته رو نصب میکنه اما اگه نباشن و یا ورژن‌شون درست نباشه متوقف میشه. و ما باید به صورت دستی نصبشون کنیم.اینجاست که ما از APT استفاده میکنیم که کمبود های dpkg رو برطرف کنه ( این کمبود به معنی ضعیف بودن یا بد بودن اصلا نیست،‌ دی پکیج برای کارهایی که APT میکنه ساخته نشده برای مثال دستور rpm هم مثل dpkg میمونه و برای کامل کردن اش از yum استفاده میشه ) و تا حد ممکن پروسه رو خودکار کنه.حالا این بحث ها چه ربطی به اسنپ ها داره؟؟ بالا اشاره کردم که اسنپ ها وابستگی به پیش‌نیاز ندارن،‌ این به این معنیه که بسته های اسنپ همه بسته های این فیلد رو با خودشون دارن و اصلا کاری به بقیه سیستم ندارن!!نصب بسته های اسنپ روی توزیع های مختلفهمینطور که توی عکس میبینید اسنپ ها روی خیلی از توزیع ها ( Debian, RHEL, SUSE, Arch based ) نصب میشن.اسنپ ها نه تنها روی دسکتاپ در دسترس اند، بلکه برای دستگاه های اینترنت اشیا،‌ سرور ها و فضای ابری هم در دسترس اند و به قول وبسایت خودش بسته هایی برای A Universal Store هستن. برای اطلاعات بیشتر توی حوزه اینترنت اشیا به این لینک مراجعه کنیدبرای ساخت، انتشار و میزبانی هم میتونید به صورت رایگان از سرویس هایی که Canonical Ltd ارائه میده استفاده کنید اطلاعات بیشتر بعد از یه معرفی کوتاه بریم که یه بسته رو روی سیستم نصب کنیم.اسنپ کانال های متنوعی هم برای انتشار و یا نصب اسنپ ها داره برای مثال:کانال استیبل: که برای اکثر استفاده کنندگان پیشنهاد میشن و خیلی خوب تست شده اند و باگ های به مراتب خیلی کمتری دارن.کانال کاندید‌‌ ( candidate ): برای یوزر هایی که میخوان آپدیت هایی که بعد از نسخه استیبل اومدن رو تست کنن، و یا کسایی که میخوان ببینن آیا اون آپدیت ها مشکلی ایجاد کردن یا نه. بیشتر شبیه یه نسخه آزمایشی یا testing میمونه.کانال بتا ( beta ): این کانال برای کسایی هست که میخوان آخرین تغییرات رو تجربه کنن که اصولا این فیچر ( feature ) جدید ترین ها هستن و دور از محیط production به حساب میان!کانال لبه ( edge ): این کانال کمی جلوتر از کانال بتا هست و بسته هاش برای کسایی هست که میخوان توسعه رو رصد کنن.نصب snapdبرای اینکه ببینیم snapd روی سیستم نصب هست یا نه کافیه این کار رو بکنیم:اسنپ دی روی این توزیع ها به طور پیش فرض نصب هستو این توزیع ها نهاگه اون خروجی رو دیدید که خیلی خوبه اگه نه برای نصبش از اینجا استفاده کنید.پیدا کردن یک اسنپ برای پیدا کردن چیزی که میخواهید هم میتونید به اپ استور سر بزنید یا اینکه مستقیم از ترمینال خودتون جستجو کنیدبه تصویر دقت کنید که میشه یک چیزی که مربوط به بسته هست رو وارد کنید. توی مثال ما مدیا پلیر هست که بسته هایی که به این search term بر میگردن رو برای ما آورده.پیدا کردن اطلاعات بیشتر راجع به یک بستهخیلی راحت میشه از وبسایت و یا ترمینال به اطلاعاتی که راجع به یک بسته هست دسترسی داشتنصب یک بستهنصب کردن یه بسته هم که خیلی راحته کافیه بسته و کانال نصبی ای رو که میخواهید اینجوری استفاده کنیدکانال ها اجزا مهم مرحله نصب هستن کانال پیشفرض برای نصب، کانال استیبل هست که میشه عوضش کردحتی میشه بعد از نصب هم کانال یه بسته رو عوض کردآپدیت کردن بسته هابسته های اسنپ به طور خودکار آپدیت میشن. این قضیه خیلی جالب نیست چون معمولا حجم بالایی دارن ( چون همه پیش نیاز ها رو در خودشون دارن ) برای تقریبا غیر فعال کردن این آپدیت خودکار میتونیم این کار رو بکنیم. البته این یکی از چهار راه مدیریت آپدیت ها در اسنپ دی هستمن خودم ساعت رو گذاشتم روی ۳ تا ۴ صبح :)برای آپدیت دستی هم این دستور استفاده میشه:این مقاله ای که خوندید یه مقدمه خیلی کوتاه و مفید برای اسنپ هاستمقاله مرتبط : چرا از اسنپ ها میشه به خوبی استفاده کرد؟برای اطلاعات خیلی بیشتر به مستندات، آموزش ها و بلاگ مراجعه کنید.امیدوارم که تونسته باشم کمکی کنم! ممنون از شما!