الفصل 10.3 - التجميع والحزم البديلة
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- تجميع البرمجيات من المصادر
- استخدام Snap للحزم العالمية
- استخدام Flatpak للتطبيقات
- فهم المزايا/العيوب
- اختيار الأداة المناسبة حسب الحالة
التجميع من المصادر
المتطلبات المسبقة
# أدوات التجميع
sudo apt install build-essential # Ubuntu/Debian
sudo yum groupinstall "Development Tools" # Red Hat/CentOS
# الأدوات اللازمة
# - gcc/g++ (المترجم)
# - make (نظام البناء)
# - autoconf, automake
# - libtool
العملية القياسية
# 1. تنزيل المصادر
wget http://example.com/software-1.0.tar.gz
tar -xzf software-1.0.tar.gz
cd software-1.0
# 2. التكوين
./configure --prefix=/usr/local
# الخيارات الشائعة
./configure --prefix=/usr/local \
--enable-feature \
--disable-other \
--with-library=/usr/lib
# 3. التجميع
make
# 4. التثبيت
sudo make install
# 5. التنظيف (اختياري)
make clean
مثال كامل
#!/bin/bash
# مثال تجميع
VERSION="1.0"
SOFTWARE="mon-software"
PREFIX="/usr/local"
# تنزيل
wget "http://example.com/${SOFTWARE}-${VERSION}.tar.gz"
tar -xzf "${SOFTWARE}-${VERSION}.tar.gz"
cd "${SOFTWARE}-${VERSION}"
# التكوين
./configure --prefix="$PREFIX"
# التجميع
make -j$(nproc) # استخدام جميع وحدات المعالجة المركزية
# التثبيت
sudo make install
# التحقق
which mon-software
mon-software --version
Snap
ما هو Snap؟
Snap هو نظام حزم عالمي تم تطويره بواسطة Canonical.
المزايا:
- عالمي (جميع التوزيعات)
- تحديث تلقائي
- عزل (sandbox)
- التبعيات مضمنة
التثبيت
# Ubuntu (مثبت بالفعل)
# توزيعات أخرى
sudo apt install snapd # Debian
sudo yum install snapd # Red Hat/CentOS
الاستخدام
# البحث
snap find nom-paquet
# التثبيت
sudo snap install nom-paquet
# قائمة المثبتات
snap list
# التحديث
sudo snap refresh nom-paquet
sudo snap refresh # الكل
# الإزالة
sudo snap remove nom-paquet
# المعلومات
snap info nom-paquet
أمثلة
# التطبيقات الشائعة
sudo snap install code # VS Code
sudo snap install docker # Docker
sudo snap install node --classic # Node.js
sudo snap install chromium # Chromium
Flatpak
ما هو Flatpak؟
Flatpak هو نظام توزيع تطبيقات عالمي.
المزايا:
- عالمي
- عزل
- تطبيقات سطح المكتب
- مستودعات (Flathub)
التثبيت
# Ubuntu/Debian
sudo apt install flatpak
# Red Hat/CentOS/Fedora
sudo yum install flatpak
# أو
sudo dnf install flatpak
التكوين
# إضافة Flathub (المستودع الرئيسي)
flatpak remote-add --if-not-exists flathub \
https://flathub.org/repo/flathub.flatpakrepo
# عرض المستودعات
flatpak remotes
الاستخدام
# البحث
flatpak search nom-app
# التثبيت
flatpak install flathub nom-app
# قائمة المثبتات
flatpak list
# التحديث
flatpak update nom-app
flatpak update # الكل
# الإزالة
flatpak uninstall nom-app
# المعلومات
flatpak info nom-app
أمثلة
# التطبيقات الشائعة
flatpak install flathub org.gimp.GIMP
flatpak install flathub org.videolan.VLC
flatpak install flathub com.spotify.Client
المقارنة
| الميزة | apt/yum | Snap | Flatpak | التجميع |
|---|---|---|---|---|
| عالمي | لا | نعم | نعم | نعم |
| عزل | لا | نعم | نعم | لا |
| الحجم | صغير | كبير | كبير | متغير |
| الأداء | ممتاز | جيد | جيد | ممتاز |
| التحديثات | يدوي | تلقائي | تلقائي | يدوي |
| الاستخدام | نظام | تطبيقات | سطح المكتب | تطوير |
اختيار الأداة المناسبة
apt/yum
متى تستخدم:
- حزم النظام
- خدمات الخادم
- الأداء الحرج
- التحكم الكامل
Snap
متى تستخدم:
- تطبيقات عالمية
- تحديثات تلقائية
- الحاجة إلى العزل
- تطوير
Flatpak
متى تستخدم:
- تطبيقات سطح المكتب
- الحاجة إلى العزل
- متعددة التوزيعات
- تطبيقات رسومية
التجميع
متى تستخدم:
- الحاجة إلى إصدار محدد
- خيارات تجميع مخصصة
- عدم توفر حزمة
- تطوير
الممارسات الجيدة
التجميع
# 1. قراءة README/INSTALL
# 2. التحقق من التبعيات
# 3. استخدام --prefix المناسب
# 4. اختبار قبل التثبيت
# 5. توثيق الخيارات المستخدمة
Snap/Flatpak
# 1. التحقق من المصدر (رسمي)
# 2. فهم الأذونات
# 3. مراقبة مساحة القرص
# 4. التحديث بانتظام
الملخص
في هذا الفصل، تعلمت:
التجميع: configure, make, make install
Snap: حزم عالمية، تحديث تلقائي، عزل
Flatpak: تطبيقات سطح المكتب، Flathub، عزل
المقارنة: اختيار حسب الاحتياجات
الممارسة: تجميع، تثبيت Snap/Flatpak
الخطوات التالية
الوحدة 11: المراقبة والسجلات (مع مراقبة crons)
الوحدة 12: الإدارة المتقدمة
تم إنشاء الفصل في: ديسمبر 2024