دليل مختصر لإدارة حزم Snap

حزم لينكس العالمية مع مدير سناك

Snap هو نظام إدارة الحزم الشامل الثوري من Canonical، الذي يجلب تطبيقات مُعبأة، تحديثات تلقائية، وأمان مُحسّن إلى Ubuntu وأوزان Linux الأخرى.

cross-dependent-modules هذا الصورة الرائعة تُولَّد بواسطة نموذج AI Flux 1 dev.

ما هو Snap؟

Snap هو نظام تعبئة ونشر البرمجيات تم تطويره بواسطة Canonical لأنظمة التشغيل التي تستخدم نواة Linux. الحزم Snap (وتشمل “snaps”) هي حزم برمجية مُعبأة تعمل عبر مجموعة واسعة من توزيعات Linux، مما يوفر تجربة تطبيقات متسقة. على عكس الحزم التقليدية التي تشارك مكتبات النظام، تُعبّئ Snaps جميع الاعتماديات، مما يضمن سلوكًا متسقًا عبر أنظمة مختلفة.

الميزات الرئيسية:

  • مُستقلة: كل snap تشمل جميع الاعتماديات (لا توجد تعارضات)
  • تحديثات تلقائية: تحدث التحديثات تلقائيًا في الخلفية (4 مرات يوميًا)
  • العزل: يوفر عزل الأمان عبر AppArmor
  • شاملة: تعمل على Ubuntu، Fedora، Debian، Arch، وغيرها
  • مُعاملة: التحديثات تحدث بشكل ذري و يمكن التراجع عنها
  • خدمة خلفية: يدير daemon snapd الحزم والتحديثات

مقارنة بين مديري الحزم

يُدعم Ubuntu عدة أنظمة إدارة حزم. إليك كيف تقارن العمليات الرئيسية:

العملية Snap APT Flatpak
البحث snap find keyword apt search keyword flatpak search keyword
التركيب sudo snap install package sudo apt install package flatpak install flathub app.id
عرض المثبتة snap list apt list --installed flatpak list --app
عرض المعلومات snap info package apt show package flatpak info app.id
تحديث جميع sudo snap refresh sudo apt update && sudo apt upgrade flatpak update
تحديث واحدة sudo snap refresh package sudo apt install --only-upgrade pkg flatpak update app.id
إزالة sudo snap remove package sudo apt remove package flatpak uninstall app.id
تنظيف snap remove --revision=N sudo apt autoremove flatpak uninstall --unused
مستودع Snap Store (مدمج) /etc/apt/sources.list إضافة عبر flatpak remote-add

مقارنة ميزات سريعة

الميزة Snap APT Flatpak
التحديثات التلقائية نعم لا لا
العزل نعم لا نعم
الاعتماديات مُعبأة مكتبات النظام رันไทمات مشتركة
حجم الحزمة كبير (50-500MB) صغير (5-50MB) متوسط (20-200MB)
الوصول الجذري نعم نعم لا (التركيب من المستخدم)
سرعة التشغيل أبطأ سريعة سريعة
الأفضل لـ التطبيقات الشاملة الحزم النظامية التطبيقات المكتبية

حول هذا الدليل

يركز هذا الدليل على Snap - مدير الحزم الشامل من Canonical مع تحديثات تلقائية وعزل قوي. Snap مثالي للتطبيقات عبر التوزيعات، البرمجيات المكتبية، والسيناريوهات التي ترغب فيها بتحديثات أمان تلقائية دون تدخل يدوي.

لمديري الحزم الأخرى:

  • 📦 قائمة APT - إدارة الحزم التقليدية في Ubuntu للحزم النظامية والمكتبات
  • 📦 قائمة Flatpak - تطبيقات مكتبية عبر التوزيعات مع إذن دقيق

لكل مدير حزم مزاياها الخاصة. استخدم Snap للتطبيقات التي تحتاج تحديثات تلقائية وتوافق عبر الإصدارات، APT للحزم النظامية والمكتبات، وFlatpak للتطبيقات المكتبية مع التحكم الدقيق في الإذن.


إدارة حزم Snap - دليل مفصل

تثبيت snapd

Ubuntu (مثبت مسبقًا على 16.04+)

يأتي Snap مثبتًا مسبقًا على Ubuntu 16.04 وما فوق. إذا كنت تقوم بتثبيت Ubuntu جديد، راجع دليلنا الشامل حول تثبيت Ubuntu 24.04 وال أدوات ضرورية للحصول على مسيرة تثبيت كاملة.

# تحقق من تثبيت snapd
snap version

# إذا لم يكن مثبتًا، قم بتثبيته
sudo apt update
sudo apt install snapd

# تفعيل خدمة snapd
sudo systemctl enable --now snapd.socket

# خياري: تفعيل دعم Snap الكلاسيكي
sudo ln -s /var/lib/snapd/snap /snap

توزيعات أخرى

Debian:

sudo apt update
sudo apt install snapd
sudo systemctl enable --now snapd.socket

Fedora:

sudo dnf install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

Arch Linux:

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
sudo systemctl enable --now snapd.socket

Linux Mint:

تتطلب تثبيت Snap على Linux Mint تمكين التوافق. إذا كنت تخطط لتثبيت جديد، راجع دليلنا حول إعادة تثبيت Linux Mint مع أدوات مفيدة للحصول على عملية تثبيت كاملة.

CentOS/RHEL:

sudo yum install snapd
sudo systemctl enable --now snapd.socket

أوامر Snap الأساسية

تثبيت Snaps

التركيب الأساسي:

# تثبيت من القناة المستقرة
sudo snap install package-name

# تثبيت من قناة محددة
sudo snap install package-name --channel=beta
sudo snap install package-name --channel=edge

# تثبيت مع التقييد الكلاسيكي
sudo snap install package-name --classic

# تثبيت إصدار/نسخة محددة
sudo snap install package-name --revision=123

أمثلة واقعية:

# تثبيت VS Code
sudo snap install code --classic

# تثبيت Spotify
sudo snap install spotify

# تثبيت Docker
sudo snap install docker

# تثبيت VLC Media Player
sudo snap install vlc

# تثبيت Chromium
sudo snap install chromium

# تثبيت kubectl
sudo snap install kubectl --classic

# تثبيت Slack
sudo snap install slack --classic

# تثبيت Postman
sudo snap install postman

# تثبيت Android Studio
sudo snap install android-studio --classic

# تثبيت Node.js
sudo snap install node --classic

البحث عن Snaps

# البحث في متجر Snap
snap find keyword

# البحث مع مخرجات تفصيلية
snap find keyword --verbose

# البحث في قسم محدد
snap find --section=development

# أمثلة
snap find "text editor"
snap find database
snap find "media player"

تصفح حسب الفئة:

# قائمة الأقسام المتاحة
snap find --section

# الأقسام الشائعة تشمل:
# - productivity
# - development
# - server-and-cloud
# - security
# - entertainment
# - photo-and-video
# - music-and-audio

قائمة الحزم المثبتة

# قائمة جميع الحزم المثبتة
snap list

# قائمة مع تفاصيل إضافية
snap list --all

# عرض حزمة محددة
snap list package-name

# قائمة حسب الناشر
snap list --all | grep "publisher-name"

المخرجات تشمل:

  • الاسم: اسم الحزمة Snap
  • الإصدار: الإصدار الحالي
  • Rev: رقم النسخة
  • التتبع: القناة التي يتم تتبعها
  • الناشر: الناشر المعتمد
  • الملاحظات: نوع التقييد والعلميات

عرض معلومات Snap

# عرض معلومات Snap تفصيلية
snap info package-name

# مخرجات تشمل:
# - الوصف
# - Snap ID
# - الناشر
# - الترخيص
# - القنوات المتاحة
# - الإصدار المثبت
# - تاريخ التحديث

مثال:

snap info vlc

المخرجات تظهر:

name:      vlc
summary:   The ultimate media player
publisher: VideoLAN✓
license:   GPL-2.0+
description: |
  VLC is a free and open source multimedia player...
snap-id: 123abc...
channels:
  stable:    3.0.18  2023-03-15 (3078) 276MB -
  candidate: ↑
  beta:      ↑
  edge:      4.0.0~dev 2023-03-20 (3079) 280MB -
installed:   3.0.18  (3078) 276MB -

تحديث Snaps

تحديث جميع Snaps:

# تحديث جميع الحزم المثبتة
sudo snap refresh

# التحقق من التحديثات المتاحة دون تثبيت
snap refresh --list

تحديث حزمة محددة:

# تحديث حزمة واحدة
sudo snap refresh package-name

# تحديث إلى قناة محددة
sudo snap refresh package-name --channel=beta

# تحديث إلى نسخة محددة
sudo snap refresh package-name --revision=456

التحديثات التلقائية:

تحديث Snaps تلقائيًا بشكل افتراضي. يقوم daemon snapd بالتحقق من التحديثات 4 مرات يوميًا.

إعداد جدول التحديث:

# عرض جدول التحديث الحالي
snap refresh --time

# تعيين جدول التحديث (يتطلب snapd 2.31+)
sudo snap set system refresh.timer=fri,23:00-01:00

# تأجيل التحديث مؤقتًا (أقصى مدة 90 يومًا)
sudo snap refresh --hold

# تأجيل حزمة محددة
sudo snap refresh --hold package-name

# إلغاء تأجيل التحديث
sudo snap refresh --unhold
sudo snap refresh --unhold package-name

إزالة Snaps

# إزالة حزمة (احتفظ بالبيانات)
sudo snap remove package-name

# إزالة حزمة وجميع البيانات (المسح)
sudo snap remove --purge package-name

# إزالة نسخة محددة
sudo snap remove package-name --revision=123

تنظيف النسخ القديمة:

بشكل افتراضي، يحتفظ Snap بـ 2-3 نسخ قديمة للعودة:

# قائمة جميع النسخ
snap list --all package-name

# إزالة نسخة قديمة محددة
sudo snap remove package-name --revision=old-rev-number

# نسخة قديمة محددة
#!/bin/bash
snap list --all | awk '/disabled/{print $1, $3}' | 
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

للمزيد من المعلومات حول العمل مع نصوص bash والعمليات على سطر الأوامر، راجع قائمة Bash الشاملة.

تشغيل Snaps

# تشغيل تطبيق Snap
snap run package-name

# تشغيل مع أمر محدد
snap run package-name.command

# مثال: تشغيل أمر محدد لـ VS Code
snap run code --list-extensions

# عرض الأوامر المتاحة لـ Snap
snap info package-name | grep "commands:"

فهم قنوات Snap

تتيح القنوات للمطورين نشر إصدارات مختلفة في وقت واحد:

أنواع القنوات

  1. مستقرة: الإصدارات الجاهزة للإنتاج (الافتراضية)
  2. مرشحة: إصدارات مرشحة، اختبار قبل الإطلاق
  3. بيتا: إصدارات بيتا مع ميزات جديدة
  4. حافة: أحدث إصدارات التطوير، قد تكون غير مستقرة

مسارات القنوات

بعض Snaps لديها عدة مسارات (مثل الإصدارات الرئيسية):

# مثال: تثبيت LXD 4.0
sudo snap install lxd --channel=4.0/stable

# مثال: تثبيت إصدار محدد من Kubernetes
sudo snap install microk8s --channel=1.28/stable

تبديل القنوات

# التبديل إلى قناة مختلفة
sudo snap refresh package-name --channel=beta

# العودة إلى المستقرة
sudo snap refresh package-name --channel=stable

# عرض القنوات المتاحة
snap info package-name

مستويات تقييد Snap

التقييد الصارم

أعلى مستوى للأمان، Snap مُعزل عن النظام:

# معظم Snaps تستخدم التقييد الصارم
sudo snap install vlc

الميزات:

  • الوصول المحدود إلى نظام الملفات
  • يتطلب اتصالات واجهات للوصول إلى الأجهزة
  • تُنفذ ملفات AppArmor لتعزيز الأمان
  • الأفضل للتطبيقات المكتبية

التقييد الكلاسيكي

وصول كامل للنظام، مثل الحزم التقليدية:

# مطلوب لعدد كبير من أدوات التطوير
sudo snap install code --classic
sudo snap install kubectl --classic

الميزات:

  • لا يوجد عزل
  • الوصول الكامل إلى نظام الملفات
  • مطلوب لل أدوات النظام والIDEs
  • أقل أمانًا لكن أكثر توافقًا

التقييد في وضع التطوير

وضع التطوير، التقييد معطل:

# فقط للاختبار/التطوير
sudo snap install package-name --devmode

الميزات:

  • لا توجد قيود أمان
  • تُستخدم أثناء تطوير Snap
  • لا يُنصح بها في الإنتاج
  • تسجيل الانتهاكات لكن لا تُنفذ

التحقق من التقييد

# عرض مستوى التقييد
snap list
# ابحث عن: classic، devmode، أو strict (بدون تسمية)

# معلومات تفصيلية
snap info package-name | grep confinement

واجهات Snap واتصالاتها

تعرّف الواجهات على كيفية تواصل Snaps مع موارد النظام.

عرض الواجهات

# قائمة جميع الواجهات المتاحة
snap connections

# عرض الواجهات لـ Snap معين
snap connections package-name

# قائمة جميع الواجهات الممكنة
snap interface

# عرض تفاصيل واجهة معينة
snap interface interface-name

الواجهات الشائعة

  • المنزل: الوصول إلى دليل المستخدم
  • الشبكة: الوصول إلى الشبكة
  • الصوت: إخراج الصوت
  • الكاميرا: الوصول إلى الكاميرا
  • الوسائط القابلة للإزالة: أجهزة USB، بطاقات SD
  • X11: خادم عرض X11
  • Wayland: خادم عرض Wayland
  • OpenGL: تسريع GPU
  • PulseAudio: خادم الصوت PulseAudio

إدارة الاتصالات

# الاتصال بالواجهة
sudo snap connect package-name:interface-name

# الفصل من الواجهة
sudo snap disconnect package-name:interface-name

# مثال: منح الوصول إلى الكاميرا
sudo snap connect package-name:camera

# مثال: السماح بالوصول إلى الوسائط القابلة للإزالة
sudo snap connect package-name:removable-media

الاتصالات التلقائية:

تتلقى معظم الواجهات الاتصال عند التثبيت. بعضها يتطلب الاتصال اليدوي للأمان.

استخدام Snap المتقدم

خدمات Snap

بعض Snaps تعمل كخدمات خلفية:

# قائمة الخدمات
snap services

# قائمة الخدمات لـ Snap معين
snap services package-name

# بدء الخدمة
sudo snap start package-name.service-name

# إيقاف الخدمة
sudo snap stop package-name.service-name

# إعادة تشغيل الخدمة
sudo snap restart package-name.service-name

# تفعيل الخدمة (تشغيل عند التشغيل)
sudo snap start --enable package-name.service-name

# تعطيل الخدمة
sudo snap stop --disable package-name.service-name

# عرض سجلات الخدمة
snap logs package-name.service-name

# متابعة السجلات في الوقت الفعلي
snap logs -f package-name.service-name

# عرض آخر N سطور
snap logs -n=50 package-name.service-name

إعدادات Snap

# عرض إعدادات Snap
snap get package-name

# عرض مفتاح إعداد معين
snap get package-name key-name

# تعيين الإعداد
sudo snap set package-name key=value

# أمثلة
sudo snap set microk8s hostpath-storage=/data/k8s
sudo snap get microk8s hostpath-storage

# إلغاء تعيين الإعداد
sudo snap unset package-name key-name

اختصارات Snap

إنشاء اختصارات لأوامر Snap:

# إنشاء اختصار
sudo snap alias package-name.command alias-name

# مثال: اختصار لـ kubectl
sudo snap alias microk8s.kubectl kubectl

# قائمة الاختصارات
snap aliases

# إزالة الاختصار
sudo snap unalias alias-name

# إزالة جميع الاختصارات لـ Snap
sudo snap unalias package-name

تخطيطات Snap

تُساعد التخطيطات تطبيقات القديمة على العمل في Snaps المُقيَّدة:

# عرض تخطيطات Snap
snap info package-name | grep "layout:"

تُخريج مسارات Snap إلى مسارات متوقعة في النظام.

متجر Snap والنشر

تصفح متجر Snap

واجهة الويب:

  • زوروا https://snapcraft.io/store
  • تصفح حسب الفئة
  • بحث التطبيقات
  • عرض التقييمات والمراجعات

من خلال سطر الأوامر:

# التطبيقات المميزة
snap find --section=featured

# حسب الفئة
snap find --section=productivity
snap find --section=games

# التطبيقات الخاصة (يتطلب المصادقة)
snap find --private

تثبيت من الملفات

# تثبيت ملف Snap محلي
sudo snap install package-name.snap --dangerous

# تثبيت واتصال الواجهات
sudo snap install package-name.snap --dangerous --classic

ملاحظة: --dangerous تتجاوز التحقق من التوقيع للملفات المحلية.

إصلاح مشاكل Snap

المشاكل الشائعة والحلول

لا يتم تحميل متجر Snap

# إعادة تشغيل خدمة snapd
sudo systemctl restart snapd.service

# التحقق من حالة الخدمة
sudo systemctl status snapd.service

# عرض السجلات
sudo journalctl -u snapd.service -n 50

بطء تشغيل Snap

الأسباب:

  • تفكيك الملفات عند التشغيل الأول
  • تثبيت نظام الملفات
  • تحميل ملفات AppArmor

الحلول:

# اتصال جميع الواجهات مسبقًا
sudo snap connect package-name:interface

# تعطيل بعض الواجهات إذا لم تكن مطلوبة
sudo snap disconnect package-name:interface

# التحقق من وقت تشغيل Snap
time snap run package-name

مشاكل الاتصال

# التحقق من واجهة الشبكة
snap connections package-name | grep network

# اتصال الشبكة يدويًا
sudo snap connect package-name:network

# التحقق من جدار الحماية
sudo ufw status

فشل تثبيت Snap

# مسح ذاكرة تخزين Snap
sudo rm -rf /var/lib/snapd/cache/*

# إعادة تثبيت Snap
sudo snap remove package-name
sudo snap install package-name

# التحقق من مساحة القرص
df -h /var/lib/snapd

# إصلاح حالة Snap المعطوبة
sudo snap changes
sudo snap abort <change-id>  # إذا كانت متوقفة

رفض AppArmor

# التحقق من سجلات AppArmor
sudo dmesg | grep DENIED

# عرض ملف AppArmor المحدد
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.*

# إعادة تحميل AppArmor
sudo systemctl reload apparmor

تعارضات إصدارات Snap

# قائمة جميع الإصدارات
snap list --all package-name

# إزالة إصدار قديم
sudo snap remove package-name --revision=old-number

# العودة إلى إصدار سابق
sudo snap revert package-name

# التحقق من تغييرات Snap
snap changes

مراقبة Snap

# تمكين وضع التصحيح
sudo snap set system debug.snapd=true

# عرض بيئة Snap
snap run --shell package-name
# ثم ابدأ: env

# التحقق من تخطيط Snap
ls -la /snap/package-name/current/

# عرض معلومات Snap
cat /snap/package-name/current/meta/snap.yaml

# تتبع تنفيذ Snap
snap run --trace-exec package-name

# التحقق من إشعارات Snap
snap known assertion-type

تحسين الأداء

تقليل استخدام القرص

# التحقق من استخدام تخزين Snap
du -sh /var/lib/snapd/snaps/*

# إزالة الإصدارات القديمة تلقائيًا
# ضع refresh.retain إلى 2 (يحتفظ فقط بإصدارين قديمين)
sudo snap set system refresh.retain=2

# نسخة قديمة تلقائية
#!/bin/bash
# إزالة جميع الإصدارات المعطلة من Snap
LANG=C snap list --all | awk '/disabled/{print $1, $3}' | 
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

تحسين أداء التشغيل

1. اتصال الواجهات مسبقًا:

# اتصال الواجهات المستخدمة بشكل متكرر أثناء التثبيت
sudo snap connect package-name:home
sudo snap connect package-name:network

2. استخدام تحديثات متوازية:

تحرير /var/lib/snapd/state.json (متقدم):

{
  "data": {
    "parallel-installs": 4
  }
}

3. تقييد التحديثات الخلفية:

# ضع نافذة التحديث إلى وقت منخفض الاستخدام
sudo snap set system refresh.timer=sun,02:00-04:00

مراقبة أداء Snap

# التحقق من استخدام عملية Snap
ps aux | grep snap

# مراقبة موارد خدمة Snap
systemctl status snap.package-name.service-name

# التحقق من استخدام موارد snapd
systemctl status snapd

# التحقق من نقاط تثبيت Snap
mount | grep snap

أفضل الممارسات في الأمان

التحقق من الناشرين

# التحقق من مصادقة الناشر
snap info package-name | grep publisher

# ابحث عن ✓ (مصادق) أو ✪ (نجمة - Canonical)

تثبيت فقط من الناشرين المعتمدين عند الإمكان.

مراجعة الإذونات

# قبل التثبيت، تحقق من الواجهات المطلوبة
snap info package-name | grep plugs

# مراجعة الاتصالات بعد التثبيت
snap connections package-name

# فصل الواجهات غير الضرورية
sudo snap disconnect package-name:interface-name

التحديثات الدورية

# الحفاظ على تحديثات Snap
sudo snap refresh

# تمكين التحديثات الأمنية التلقائية
# (مفعلة افتراضيًا)
snap refresh --time

مراجعة الحزم المثبتة

# قائمة جميع الحزم ومستوى التقييد
snap list

# التحقق من الحزم في وضع devmode (أقل أمانًا)
snap list | grep devmode

# مراجعة الحزم في وضع الكلاسيكي (وصول كامل للنظام)
snap list | grep classic

استخدام التقييد الصارم

تفضّل الحزم ذات التقييد الصارم للأمان الأفضل:

# التحقق من مستوى التقييد قبل التثبيت
snap info package-name | grep confinement

# تجنب استخدام --devmode في الإنتاج

Snap في البيئات المؤسسية

إعداد Proxy

# ضع Proxy HTTP
sudo snap set system proxy.http="http://proxy:8080"

# ضع Proxy HTTPS
sudo snap set system proxy.https="https://proxy:8080"

# عرض إعدادات Proxy
snap get system proxy

التثبيتات خارج الإنترنت

# تحميل Snap
snap download package-name

# نقله إلى النظام خارج الإنترنت وتثبيته
sudo snap install package-name_*.snap --dangerous

# تضمين الإشعارات للاستبدال الموقّع
sudo snap ack package-name_*.assert
sudo snap install package-name_*.snap

Proxy متجر Snap

في البيئات المؤسسية، قم بتثبيت Proxy متجر Snap:

  • تخزين Snap محليًا
  • التحكم في الحزم المتاحة
  • مراقبة التثبيتات
  • تقليل استخدام النطاق الترددي

انظر: https://docs.ubuntu.com/snap-store-proxy/

إدارة تحديثات Snap

# تعطيل التحديث التلقائي لكل حزمة (يتطلب Proxy)
sudo snap refresh --hold=forever package-name

# جدولة التحديثات خلال فترات الصيانة
sudo snap set system refresh.timer=sat,02:00-04:00

# تأكيد التحديثات يدويًا
sudo snap refresh --list  # مراجعة
sudo snap refresh package-name  # تحديث حزمة محددة

الشاشات الشائعة حسب الفئة

أدوات التطوير

sudo snap install code --classic              # VS Code
sudo snap install intellij-idea-community --classic  # IntelliJ
sudo snap install pycharm-community --classic  # PyCharm
sudo snap install android-studio --classic    # Android Studio
sudo snap install sublime-text --classic      # Sublime Text
sudo snap install atom --classic              # Atom Editor
sudo snap install postman                     # API Testing
sudo snap install dbeaver-ce                  # Database Tool

DevOps & السحابة

sudo snap install kubectl --classic           # Kubernetes CLI
sudo snap install helm --classic              # Helm
sudo snap install microk8s --classic          # Lightweight K8s
sudo snap install docker                      # Docker
sudo snap install terraform --classic         # Terraform
sudo snap install aws-cli --classic           # AWS CLI
sudo snap install azure-cli --classic         # Azure CLI
sudo snap install google-cloud-sdk --classic  # GCP SDK

الإنتاجية

sudo snap install slack --classic             # Slack
sudo snap install teams                       # MS Teams
sudo snap install discord                     # Discord
sudo snap install zoom-client                 # Zoom
sudo snap install mailspring                  # Email Client
sudo snap install joplin-desktop             # Notes App
sudo snap install libreoffice                # Office Suite

الوسائط المتعددة

sudo snap install vlc                        # Video Player
sudo snap install spotify                    # Music Streaming
sudo snap install obs-studio                 # Screen Recording
sudo snap install gimp                       # Image Editor
sudo snap install inkscape                   # Vector Graphics
sudo snap install audacity                   # Audio Editor
sudo snap install kdenlive                   # Video Editor

المتصفحات

sudo snap install chromium                   # Chromium
sudo snap install firefox                    # Firefox
sudo snap install opera                      # Opera
sudo snap install brave                      # Brave Browser

أدوات النظام

sudo snap install htop                       # Process Monitor
sudo snap install bpytop                     # System Monitor
sudo snap install speedtest-cli              # Speed Test
sudo snap install certbot --classic          # SSL Certificates
sudo snap install ngrok                      # Tunneling

لزيادة إنتاجيتك عند استخدام هذه الأدوات والعمل مع Ubuntu بشكل عام، تحقق من قائمة اختصارات لوحة المفاتيح في Ubuntu للإدارة الفعالة للعملية.

اختيار المُدارة المناسبة للحزم

متى تستخدم Snap ✅

الأفضل لـ:

  • الحاجة إلى توافق عبر التوزيعات
  • تحديثات تلقائية مهمة
  • الأمان عبر التقييد المكاني أولوية
  • الحاجة إلى أحدث إصدارات التطبيقات
  • التطبيقات المكتبية
  • الأجهزة المدمجة (Ubuntu Core)

متى تستخدم مُداري الحزم الأخرى

  • APT: راجع دليلنا للمُدارة APT للحزم النظامية، والمكتبات، وإدارة الحزم التقليدية في Ubuntu
  • Flatpak: راجع دليلنا للمُدارة Flatpak للتطبيقات المكتبية مع أذونات دقيقة وعدم وجود خدمة خلفية

مرجع أوامر Snap

ملخص أوامر سريع

# البحث والتركيب
snap find keyword              # بحث عن الشاشات
sudo snap install name         # تركيب شاشة
sudo snap install name --classic  # التقييد الكلاسيكي
sudo snap install name --channel=beta  # قناة محددة

# القائمة والمعلومات
snap list                      # قائمة المثبتة
snap list --all               # تضمين الإصدارات القديمة
snap info name                # عرض تفاصيل الشاشة
snap version                  # عرض إصدار snapd

# التحديث
sudo snap refresh             # تحديث جميع الشاشات
sudo snap refresh name        # تحديث شاشة محددة
snap refresh --list           # التحقق من التحديثات
sudo snap refresh --hold      # تأجيل التحديثات

# الإزالة
sudo snap remove name         # إزالة الشاشة
sudo snap remove --purge name # إزالة مع البيانات
sudo snap remove name --revision=N  # إزالة إصدار محدد

# الخدمات
snap services                 # قائمة الخدمات
sudo snap start name.service  # بدء الخدمة
sudo snap stop name.service   # إيقاف الخدمة
sudo snap logs name.service   # عرض السجلات

# الاتصالات
snap connections              # قائمة الاتصالات
snap connections name         # اتصالات الشاشة
sudo snap connect name:plug   # توصيل الواجهة
sudo snap disconnect name:plug # فصل الاتصال

# التكوين
snap get name                 # عرض التكوين
sudo snap set name key=value  # تعيين التكوين
snap get system               # تكوين النظام

# القنوات
sudo snap refresh name --channel=edge  # تغيير القناة
sudo snap track name          # عرض المتابعة

# الاسماء المختصرة
sudo snap alias name.cmd cmd  # إنشاء اسم مختصر
snap aliases                  # قائمة الاسماء المختصرة
sudo snap unalias cmd         # إزالة الاسم المختصر

# التصحيح
snap changes                  # عرض التغييرات الأخيرة
snap tasks <change-id>        # تفاصيل المهام
snap abort <change-id>        # إلغاء التغيير
sudo snap revert name         # العودة إلى الإصدار السابق

الخاتمة

مُدارة الحزم Snap تمثل مستقبل توزيع تطبيقات Linux بفضل تعبئتها الشاملة، والتحديثات التلقائية، والأمان المحسن عبر التعبئة. على الرغم من التنازلات في استخدام القرص ووقت بدء التشغيل، فإن الفوائد من إدارة الاعتماديات المبسطة، والتوافق عبر التوزيعات، والتحديثات المستمرة تجعلها خيارًا ممتازًا لتطبيقات Linux الحديثة.

سواء كنت مطورًا يقوم بتوزيع التطبيقات، أو مشرفًا على النظام يدير التحديثات، أو مستخدمًا يرغب في أحدث البرامج، فإن Snap توفر حلًا قويًا وآمنًا وسهل الاستخدام لإدارة الحزم.

النقاط الرئيسية:

  • الحزم Snap مغلقة وتعمل عبر التوزيعات
  • التحديثات التلقائية تضمن أمان تطبيقاتك وتحديثها
  • التقييد المكاني يوفر أمانًا محسنًا عبر التقييد
  • مستويات متعددة من التقييد توازن بين الأمان والوظائف
  • القنوات تسمح لك باختيار الاستقرار مقابل أحدث الميزات
  • Snap مثالية للتطبيقات المكتبية والأجهزة المدمجة

ابدأ بالاستكشاف في متجر Snap واحس براحة تعبئة Linux الشاملة!

روابط مفيدة

مقالات متعلقة على هذا الموقع