آموزش نصب نرم‌افزار در هر توزیع لینوکس با Snapcraft

اگر مدتی با لینوکس کار کرده باشید، احتمالا با یکی از بزرگ‌ترین تفاوت‌های توزیع‌های مختلف لینوکس مواجه شده‌اید: روش نصب نرم‌افزارها.
در اوبونتو و توزیع‌های مبتنی بر دبیان از apt استفاده می‌شود، در فدورا و RHEL ابزارهایی مانند dnf وجود دارند و کاربران آرچ لینوکس معمولا با pacman سروکار دارند. این تفاوت باعث می‌شود آموزش‌های نصب نرم‌افزار گاهی برای یک توزیع خاص کاربرد داشته باشند و روی توزیع‌های دیگر کار نکنند.
خوشبختانه راهکاری وجود دارد که این مشکل را تا حد زیادی حل می‌کند. پروژه Snap و وب‌سایت Snapcraft امکان نصب هزاران نرم‌افزار را با یک دستور یکسان روی اکثر توزیع‌های لینوکس فراهم می‌کنند.

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

Snapcraft چیست؟

Snapcraft یک پلتفرم توزیع نرم‌افزار است که توسط شرکت Canonical توسعه داده شده است.

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

مزیت اصلی این روش این است که دیگر لازم نیست برای هر توزیع بسته جداگانه‌ای مانند DEB یا RPM منتشر شود.

مزایای استفاده از Snap

استفاده از Snap چند مزیت مهم دارد:

  • نصب نرم‌افزارها روی توزیع‌های مختلف با یک روش یکسان
  • دریافت به‌روزرسانی‌های خودکار
  • امنیت بیشتر به دلیل اجرای برنامه‌ها در محیط ایزوله
  • دسترسی سریع به نسخه‌های جدید نرم‌افزارها
  • عدم نیاز به نصب دستی بسیاری از وابستگی‌ها

برای مثال فرقی نمی‌کند از اوبونتو، فدورا، آرچ لینوکس یا openSUSE استفاده کنید؛ دستور نصب بسیاری از برنامه‌ها دقیقا یکسان خواهد بود.

نصب Snap روی توزیع‌های مختلف

قبل از نصب برنامه‌ها باید سرویس Snap روی سیستم شما نصب باشد.

اوبونتو

در اکثر نسخه‌های اوبونتو Snap به صورت پیش‌فرض نصب شده است.

برای اطمینان می‌توانید دستور زیر را اجرا کنید:

snap version

Debian

sudo apt update
sudo apt install snapd

سپس:

sudo systemctl enable --now snapd

Fedora

sudo dnf install snapd

فعال‌سازی سرویس:

sudo systemctl enable --now snapd.socket

ایجاد لینک نمادین:

sudo ln -s /var/lib/snapd/snap /snap

Arch Linux

ابتدا مخزن Community را فعال کنید و سپس:

sudo pacman -S snapd

فعال‌سازی سرویس:

sudo systemctl enable --now snapd.socket

ایجاد لینک:

sudo ln -s /var/lib/snapd/snap /snap

openSUSE

sudo zypper install snapd

فعال‌سازی:

sudo systemctl enable --now snapd

پیدا کردن نرم‌افزارها در Snapcraft

پس از نصب Snap می‌توانید به وب‌سایت رسمی Snapcraft مراجعه کنید:

Snapcraft

در این سایت هزاران نرم‌افزار مختلف وجود دارد. کافی است نام برنامه مورد نظر خود را جستجو کنید تا دستور نصب آن نمایش داده شود.

برای مثال اگر به دنبال Visual Studio Code باشید، صفحه برنامه دستور نصب را به شما نشان می‌دهد.

جستجوی برنامه از طریق ترمینال

می‌توانید بدون مراجعه به سایت نیز برنامه‌ها را جستجو کنید:

snap find code

یا:

snap find firefox

نمونه خروجی:

Name      Version    Publisher
code      ۱.۱۰۲.۰    vscode

نصب نرم‌افزارها

فرمت کلی نصب برنامه‌ها بسیار ساده است:

sudo snap install package-name

برای مثال:

نصب Firefox

sudo snap install firefox

نصب Visual Studio Code

sudo snap install code --classic

نصب Spotify

sudo snap install spotify

نصب Discord

sudo snap install discord

نصب Postman

sudo snap install postman

نصب PyCharm

sudo snap install pycharm-community --classic

نکته جالب اینجاست که این دستورات روی اکثر توزیع‌های لینوکسی یکسان هستند.

مشاهده نرم‌افزارهای نصب شده

برای مشاهده تمام بسته‌های نصب شده:

snap list

نمونه خروجی:

Name       Version
firefox    ۱۴۰.۰
code       ۱.۱۰۲.۰
spotify    ۱.۲.۰

به‌روزرسانی برنامه‌ها

برای به‌روزرسانی همه بسته‌ها:

sudo snap refresh

برای یک بسته خاص:

sudo snap refresh firefox

در بسیاری از موارد Snap این کار را به صورت خودکار انجام می‌دهد.

حذف برنامه‌ها

حذف یک نرم‌افزار نیز بسیار ساده است:

sudo snap remove firefox

یا:

sudo snap remove code

چه زمانی از Snap استفاده کنیم؟

Snap زمانی بسیار مفید است که:

  • از چند توزیع لینوکس مختلف استفاده می‌کنید.
  • می‌خواهید آخرین نسخه نرم‌افزارها را دریافت کنید.
  • نمی‌خواهید درگیر وابستگی‌های پیچیده شوید.
  • توسعه‌دهنده نرم‌افزار نسخه رسمی Snap را منتشر کرده باشد.

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

سخن پایانی

یکی از چالش‌های کاربران لینوکس تفاوت سیستم مدیریت بسته‌ها در توزیع‌های مختلف است. Snapcraft این مشکل را تا حد زیادی برطرف کرده و امکان نصب نرم‌افزارها را با یک روش یکسان روی اکثر توزیع‌های لینوکسی فراهم کرده است.

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

هشتگ‌ها: #لینوکس


نظرات

هنوز نظری ثبت نشده است.

برای ارسال نظر باید وارد شوید.