انتقل إلى المحتوى الرئيسي

الفصل 10.2 - yum/dnf (Red Hat/CentOS)

الأهداف التعليمية​

في نهاية هذا الفصل، ستكون قادرًا على:

  • استخدام yum و dnf لتثبيت الحزم
  • تحديث النظام
  • إدارة المستودعات
  • فهم مجموعات الحزم
  • استخدام المعاملات

yum مقابل dnf​

yum (الكلاسيكي)​

Yellowdog Updater Modified:

  • Red Hat/CentOS 7 والإصدارات الأقدم
  • متاح دائمًا
  • واجهة كلاسيكية

dnf (الحديث)​

Dandified YUM:

  • Red Hat/CentOS 8+ و Fedora
  • خليفة yum
  • أسرع وأكثر حداثة
  • نفس بناء الجملة مثل yum

ملاحظة: yum غالبًا ما يكون اختصارًا لـ dnf على الأنظمة الحديثة.


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

التحديث​

# تحديث قائمة الحزم
sudo yum check-update
sudo dnf check-update

# تحديث الحزم
sudo yum update
sudo dnf upgrade

# تحديث حزمة محددة
sudo yum update nom-paquet
sudo dnf upgrade nom-paquet

التثبيت​

# تثبيت حزمة
sudo yum install nom-paquet
sudo dnf install nom-paquet

# تثبيت عدة حزم
sudo yum install paquet1 paquet2 paquet3

# تثبيت بدون تأكيد
sudo yum install -y nom-paquet

# تثبيت من ملف .rpm
sudo yum localinstall fichier.rpm

الإزالة​

# إزالة حزمة
sudo yum remove nom-paquet
sudo dnf remove nom-paquet

# إزالة حزمة والتبعيات
sudo yum autoremove nom-paquet

# تنظيف الكاش
sudo yum clean all
sudo dnf clean all

البحث والمعلومات​

البحث​

# البحث عن حزمة
yum search mot-cle
dnf search mot-cle

# البحث بالاسم
yum list nom-paquet
dnf list nom-paquet

# معلومات الحزمة
yum info nom-paquet
dnf info nom-paquet

# قائمة الحزم المثبتة
yum list installed
dnf list installed

# قائمة الحزم المتاحة
yum list available
dnf list available

المعلومات​

# معلومات مفصلة
yum info nom-paquet

# التبعيات
yum deplist nom-paquet
dnf repoquery --deplist nom-paquet

# محتوى الحزمة
rpm -ql nom-paquet

المستودعات​

عرض المستودعات​

# قائمة المستودعات المفعلة
yum repolist
dnf repolist

# جميع المستودعات
yum repolist all
dnf repolist all

# معلومات المستودع
yum repoinfo nom-repo
dnf repoinfo nom-repo

إضافة مستودع​

# تثبيت مستودع RPM
sudo yum install epel-release
sudo dnf install epel-release

# إضافة مستودع يدويًا
# إنشاء ملف: /etc/yum.repos.d/mon-repo.repo

[mon-repo]
name=Mon Repository
baseurl=http://repo.example.com/rhel/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.example.com/RPM-GPG-KEY

# إعادة التحميل
sudo yum makecache
sudo dnf makecache

EPEL (حزم إضافية)​

# تثبيت EPEL
sudo yum install epel-release
sudo dnf install epel-release

# التحقق
yum repolist | grep epel

مجموعات الحزم​

إدارة المجموعات​

# قائمة المجموعات المتاحة
yum grouplist
dnf group list

# معلومات المجموعة
yum groupinfo "Development Tools"
dnf group info "Development Tools"

# تثبيت المجموعة
sudo yum groupinstall "Development Tools"
sudo dnf group install "Development Tools"

# إزالة المجموعة
sudo yum groupremove "Development Tools"

المعاملات والتاريخ​

التاريخ​

# عرض التاريخ
yum history
dnf history

# عرض معاملة محددة
yum history info 5
dnf history info 5

# إلغاء معاملة
sudo yum history undo 5
sudo dnf history undo 5

# تكرار معاملة
sudo yum history redo 5

أمثلة عملية​

التثبيت الكامل​

# التحديث
sudo yum check-update

# تثبيت حزمة
sudo yum install httpd

# بدء الخدمة
sudo systemctl start httpd
sudo systemctl enable httpd

# التحقق
systemctl status httpd

تحديث النظام​

#!/bin/bash
# سكربت التحديث

echo "التحقق من التحديثات..."
sudo yum check-update

echo "تحديث الحزم..."
sudo yum update -y

echo "التنظيف..."
sudo yum clean all

echo "تم!"

حل المشاكل​

التبعيات​

# حل التبعيات
sudo yum deplist nom-paquet

# فرض التثبيت
sudo rpm -ivh --nodeps paquet.rpm # انتبه!

الكاش​

# تنظيف الكاش
sudo yum clean all
sudo yum clean metadata
sudo yum clean packages

# إعادة بناء الكاش
sudo yum makecache

الملخص​

في هذا الفصل، تعلمت:

yum/dnf: مدراء حزم Red Hat/CentOS/Fedora
الأوامر: install, update, remove, search, info
المستودعات: repolist, epel-release, ملفات .repo
المجموعات: grouplist, groupinstall
التاريخ: history, undo, redo
الممارسة: التثبيت، التحديث، الصيانة


الخطوات التالية​

الفصل 10.3: التجميع من المصادر
الوحدة 11: المراقبة والسجلات


تم إنشاء الفصل في: ديسمبر 2024