در سیستم عامل لینوکس روش‌های مختلفی برای نصب کردن نرم‌افزارها وجود دارد. می‌توان از پکیج‌های آماده‌ای که برای لینوکس Debian با پسوند DEB و پکیج‌های RPM لینوکس Redhat و مخزن پکیج‌های لینوکس آرچ و Portege لینوکس Gentoo استفاده کرد و همین‌طور می‌توان از فایل‌های باینری که به صورت آرشیو فشرده با فرمت tar.gz در اختیار عموم قرار می‌گیرند، استفاده کرد.

با وجود اینکه راه‌های مختلفی برای نصب کردن برنامه‌ها در Linux وجود دارد، به دلیل تنوع توزیع‌ها ممکن است نرم‌افزاری برای یک لینوکس خاص موجود نباشد. در این صورت می‌توان از پکیچ‌های Snap استفاده کرد که یک راهکار جالب و عمومی برای انواع توزیع‌های لینوکس است.

در این مقاله به روش نصب کردن پکیج‌های Snap روی لینوکس و همین‌طور آنچه برای نصب و اجرا کردن این پکیج‌ها لازم است، می‌پردازیم.

کاربرد پکیج‌های Snap چیست؟

توسعه‌دهندگان نرم‌افزار زمانی که می‌خواهند نرم‌افزاری را برای نسخه‌های مختلف لینوکس منتشر کنند، می‌بایست زمان زیادی برای آماده‌سازی انواع پکیج‌ها صرف کنند و به همین علت است که معمولاً برنامه‌نویس از ارایه کردن نرم‌افزار برای تمام لینوکس‌ها منصرف می‌شود. برای حل کردن این مشکل، توسعه‌دهندگان Ubuntu تصمیم گرفته‌اند که پکیج‌هایی با فرمت Snap را معرفی کنند که از فروشگاه Snap‌ قابل دانلود است و در فایل دانلود شده، تمام آنچه نرم‌افزار برای اجرای صحیح لازم دارد، موجود است.

به عبارت دیگر یک پکیج اسنپ، حاوی کتابخانه‌ها و فایل‌های باینری و همین‌طور فایل‌های صوتی و تصویری و برنامه‌های دیگر است و در نتیجه بدون وابستگی خاصی به سیستم عامل، اجرا می‌شود. می‌توان گفت که پکیج‌های Snap حالت نصب‌کننده‌ی عمومی یا Universal Installer دارند و روی تمام توزیعات لینوکس نصب می‌شوند.

روش نصب Snapd و راه‌اندازی آن

برای اجرا کردن پکیج‌های Snap روی Linux می‌بایست از تکنولوژی Snapd استفاده کرد. سازنده‌ی این تکنولوژی با توسعه‌دهندگان لینوکس‌های مختلف همکاری کرده و در نتیجه می‌توان روی اغلب توزیع‌های معروف لینوکس، آنچه برای استفاده از Snap لازم است را نصب و راه‌اندازی کرد.

در ادامه به روش نصب کردن تکنولوژی Snapd روی توزیع‌های مختلف لینوکس می‌پردازیم.

توجه داشته باشید که کاربران لینوکس اوبونتو و لینوکس‌های مبتنی بر اوبونتو، نیازی به نصب کردن Snapd ندارند.

نصب Spand در لینوکس دبیان

sudo apt install snapd

نصب Spand در لینوکس فدورا

sudo dnf install snapd

sudo systemctl enable --now snapd.socket

نصب Spand در لینوکس آرچ

sudo pacman -S snapd

sudo systemctl enable --now snapd.socket

نصب Spand در لینوکس اوپن‌سوزه لیپ ۴۲.۲

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy

sudo zypper install snapd

sudo systemctl enable --now snapd.socket

نصب Spand در لینوکس اوپن‌سوزه تامبل‌وید

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy sudo zypper install snapd

sudo systemctl enable --now snapd.socket

نصب Spand در لینوکس گنتو

sudo -s

nano -w /etc/portage/repos.conf/gentoo-snappy.conf

و سپس:

[gentoo-snappy] # An unofficial overlay that supports the installation of the "Snappy" backbone. # Maintainer: Clayton "kefnab" Dobbs (clayton.dobbs@gosecur.us) # Upstream Maintainer: Zygmunt "zyga" Krynicki (me@zygoon.pl) location = /usr/local/portage/gentoo-snappy sync-type = git sync-uri = https://github.com/zyga/gentoo-snappy.git priority = 50 auto-sync = yes

و ذخیره کردن فایل پیکربندی با کلید میانبر Ctrl + O. در نهایت دستور زیر را اجرا کنید:

emaint sync --repo gentoo-snappy

چگونه پکیج‌های Snap را نصب و استفاده کنیم؟

با توجه به توضیحاتی که در مورد چیستی Snap در لینوکس دادیم، برای دریافت اسنپ‌ها می‌توان به فروشگاه Snap Store مراجعه کرد که توسط Ubuntu و مخزن Canonical راه‌اندازی شده و نگهداری می‌شود. هر کاربر و برنامه‌نویسی می‌تواند Snap بسازد و آن را در این فروشگاه برای دیگران آپلود کند و هزینه‌ای نیز وجود ندارد. برای انتشار اسنپ‌های خود در Snap Store اوبونتو می‌توانید به وب‌سایت Snapcraft.io مراجعه کنید. در این وب‌سایت اطلاعات با جزئیات کامل در مورد روش کار ذکر شده است.

برای جست‌وجو کردن یک نرم‌افزار خاص از دستور زیر استفاده کنید و به جای program از نام نرم‌افزار موردنیاز خود استفاده کنید:

snap find program

به عنوان مثال برای یافتن نرم‌افزار تلگرام از دستور زیر استفاده کنید:

snap find telegram

و نتیجه به این صورت است:

همان‌طور که مشاهده می‌کنید تمام پکیج‌های Snap مربوط به تلگرام لیست شده است.

برای نصب کردن آخرین نسخه از دستور زیر استفاده نمایید:

sudo snap install telegram-latest

با اجرا کردن دستور فوق، کانتینر Snap نصب‌شده در لینوکس ماونت می‌شود، درست مثل یک پارتیشن از هارددرایو و کاربر می‌تواند از نرم‌افزار داخل آن استفاده کند. برای مشاهده کردن محلی که اسنپ جدید ماونت شده، از دستور lsblk استفاده کنید.

برای حذف کردن پکیج Snap نیز از دستور زیر استفاده کنید و البته به جای telegram-latest نام پکیج موردنظر خود را قرار دهید:

sudo snap remove telegram-latest

در صورت نیاز می‌توان با دستور زیر، لیست اسنپ‌های نصب‌شده را مشاهده کرد و نام اسنپ موردنظر را به یاد آورد:

snap list

به علاوه همیشه می‌توان با دستور ساده‌ی snap --help در مورد دستورات دیگر Snap، اطلاعاتی کسب کرد.

آپدیت کردن پکیج‌های Snap در لینوکس

برای بروزرسانی نرم‌افزارهایی که به صورت پکیج اسنپ روی سیستم عامل لینوکس نصب شده‌اند، می‌توان از دستور زیر استفاده کرد که شبیه به روش‌های معمول برای بروز کردن نرم‌افزارهای نصب‌شده روی لینوکس نیست:

sudo snap refresh

نتیجه‌ی اجرای دستور ساده است: