إدارة الحزم البرمجية وتحديث النظام (APT, YUM/DNF, Pacman)


إدارة الحزم البرمجية وتحديث النظام (APT, YUM/DNF, Pacman)

إدارة الحزم البرمجية وتحديث النظام (APT, YUM/DNF, Pacman)

يا هلا بالزملاء! اليوم بنتكلم عن موضوع أساسي لأي مهندس أنظمة Linux: إدارة الحزم البرمجية وتحديث النظام. لو ما تعرف تتعامل مع مدير الحزم حق توزيعتك، فصراحة أنت ضايع. بنغطي أشهر المدراء: APT، YUM/DNF، و Pacman.

1. APT (Advanced Package Tool) - لتوزيعات Debian/Ubuntu

هذا هو مدير الحزم الافتراضي لتوزيعات دبيان وأوبونتو وكل مشتقاتهم. سهل الاستخدام وقوي جداً.

ملاحظة: زمان كنا نستخدم apt-get و apt-cache، لكن الآن apt لحالها صارت تجمع أفضل ميزاتهم في أمر واحد أبسط وأكثر ودية للمستخدم.

أهم الأوامر:

  • تحديث قائمة الحزم المتاحة: هذا الأمر يجيب لك آخر تحديثات المستودعات. لازم تسويه قبل أي تثبيت أو تحديث.
    sudo apt update
  • تحديث جميع الحزم المثبتة: يرقّي كل الحزم اللي عندك لأحدث إصداراتها المتاحة.
    sudo apt upgrade
  • تثبيت حزمة:
    sudo apt install اسم_الحزمة
    مثال: لتثبيت خادم الـApache: sudo apt install apache2
  • إزالة حزمة: يزيل الحزمة لكن يترك ملفات الإعداد الخاصة بها.
    sudo apt remove اسم_الحزمة
  • إزالة حزمة وملفاتها الإعدادية: هذا يزيل الحزمة بالكامل، كأنها ما تركبت أبدًا.
    sudo apt purge اسم_الحزمة
  • البحث عن حزمة:
    apt search كلمة_بحث
    مثال: apt search mysql-server
  • عرض معلومات عن حزمة:
    apt show اسم_الحزمة
  • إزالة الحزم غير المستخدمة: ينظف النظام من الحزم اللي تركبت كـdependencies لحزم ثانية وتم إزالتها.
    sudo apt autoremove

2. YUM / DNF - لتوزيعات Red Hat/CentOS/Fedora

في عالم Red Hat ومشتقاتها (CentOS، Fedora، RHEL)، كان YUM هو الملك. الآن DNF هو البديل الحديث والأفضل له، وهو الافتراضي في Fedora و RHEL 8+. DNF أسرع وأذكى في التعامل مع الـdependencies.

ملاحظة: أوامر DNF مشابهة جداً لأوامر YUM، فلو كنت متعود على YUM ما راح تتعب.

أهم الأوامر (باستخدام DNF):

  • تحديث قائمة الحزم المتاحة:
    sudo dnf check-update
    هذا الأمر يعرض لك الحزم اللي لها تحديثات متاحة، لكن ما يثبتها.
  • تحديث جميع الحزم المثبتة:
    sudo dnf update
    أو sudo dnf upgrade (نفس الشيء تقريباً في معظم الحالات).
  • تثبيت حزمة:
    sudo dnf install اسم_الحزمة
    مثال: sudo dnf install httpd
  • إزالة حزمة:
    sudo dnf remove اسم_الحزمة
  • البحث عن حزمة:
    dnf search كلمة_بحث
  • عرض معلومات عن حزمة:
    dnf info اسم_الحزمة
  • إزالة الحزم غير المستخدمة (orphaned dependencies):
    sudo dnf autoremove

3. Pacman - لتوزيعات Arch Linux ومشتقاتها

Pacman هو مدير الحزم لتوزيعة Arch Linux، وهو معروف بسرعته وبساطته وقوته. يستخدم نموذج Rolling Release، يعني نظامك يتحدث باستمرار لأحدث الإصدارات.

ملاحظة: أوامر Pacman تستخدم رموزاً (flags) تبدأ بحرف كبير، وهذا يخليه مميز شوي.

أهم الأوامر:

  • تحديث قاعدة بيانات الحزم: (Sync)
    sudo pacman -Sy
  • تحديث جميع الحزم المثبتة: (Upgrade)
    sudo pacman -Su
  • تحديث قاعدة البيانات وترقية النظام بالكامل: (Sync & Upgrade)
    sudo pacman -Syu
    هذا هو الأمر اللي بتستخدمه أغلب الوقت لتحديث نظام Arch.
  • تثبيت حزمة:
    sudo pacman -S اسم_الحزمة
    مثال: sudo pacman -S firefox
  • إزالة حزمة: يزيل الحزمة فقط.
    sudo pacman -R اسم_الحزمة
  • إزالة حزمة مع الـdependencies غير المستخدمة:
    sudo pacman -Rs اسم_الحزمة
  • البحث عن حزمة في المستودعات:
    pacman -Ss كلمة_بحث
  • عرض معلومات عن حزمة:
    pacman -Si اسم_الحزمة
  • تنظيف الكاش (Cache): Pacman يحتفظ بنسخ من الحزم اللي ثبتها في الكاش. ممكن تنظفه عشان توفر مساحة.
    sudo pacman -Sc
    أو sudo pacman -Scc لإزالة كل شيء حتى الحزم المثبتة حالياً (انتبه!).

نصائح احترافية في إدارة الحزم:

  • حدث دائماً قبل التثبيت: قبل ما تثبت أي شيء جديد، تأكد إنك سويت update (APT/DNF) أو pacman -Sy عشان تضمن إنك تشوف أحدث إصدارات الحزم وتتجنب مشاكل الـdependencies.
  • افهم الـdependencies: مدراء الحزم يتعاملون مع الـdependencies (الاعتماديات) تلقائياً، لكن أحياناً تحتاج تعرف إيش قاعد يصير. لو حزمة معينة تتطلب حزم أخرى، مدير الحزم بيثبتها لك.
  • انتبه عند الإزالة: استخدام purge أو pacman -Rs ممتاز لتنظيف النظام، لكن تأكد إنك ما قاعد تزيل حزمة مهمة عن طريق الخطأ.
  • النسخ الاحتياطي لملفات الإعداد: قبل أي تحديث كبير للنظام، خاصة في بيئات الإنتاج، خذ نسخة احتياطية من ملفات الإعداد المهمة (غالباً في /etc).
  • استكشاف الأخطاء: لو واجهتك مشاكل في التحديث أو التثبيت، اقرأ رسائل الخطأ بعناية. غالباً تعطيك تلميح للمشكلة (مثل نقص مساحة، مشكلة في المستودعات، تعارض حزم).

وبكذا نكون غطينا الأساسيات لأهم مدراء الحزم في Linux. ممارستك للأوامر هذي بشكل يومي بتخليك محترف فيها. بالتوفيق!