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

الفصل 10.1 - apt (Debian/Ubuntu)

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

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

  • استخدام apt لتثبيت الحزم
  • تحديث النظام
  • إدارة المستودعات
  • حل التبعيات
  • البحث عن الحزم
  • فهم الفرق بين apt و apt-get

ما هو apt؟​

apt (أداة الحزم المتقدمة) هو مدير الحزم لـ Debian و Ubuntu.

الوظائف:

  • تثبيت/إزالة الحزم
  • تحديث النظام
  • إدارة التبعيات
  • البحث عن الحزم

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

التحديث​

# تحديث قائمة الحزم
sudo apt update

# تحديث الحزم المثبتة
sudo apt upgrade

# تحديث كامل (يشمل تغييرات التبعيات)
sudo apt full-upgrade

# تحديث وترقية في أمر واحد
sudo apt update && sudo apt upgrade

التثبيت​

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

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

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

# تثبيت إصدار محدد
sudo apt install nom-paquet=version

الإزالة​

# إزالة حزمة (يحتفظ بالإعدادات)
sudo apt remove nom-paquet

# إزالة حزمة والإعدادات
sudo apt purge nom-paquet

# إزالة التبعيات غير المستخدمة
sudo apt autoremove

# تنظيف الكاش
sudo apt clean
sudo apt autoclean

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

البحث​

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

# البحث بالاسم الدقيق
apt search --names-only nom-paquet

# عرض معلومات الحزمة
apt show nom-paquet

# قائمة الحزم المثبتة
apt list --installed

# قائمة الحزم المتاحة للتحديث
apt list --upgradable

المعلومات​

# معلومات مفصلة
apt show nom-paquet

# التبعيات
apt depends nom-paquet

# الحزم التابعة
apt rdepends nom-paquet

# محتوى حزمة
dpkg -L nom-paquet

المستودعات​

ملفات التكوين​

# قائمة المستودعات
cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/

# الصيغة
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted

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

# الطريقة 1: ملف في sources.list.d/
echo "deb http://repo.example.com/ubuntu jammy main" | \
sudo tee /etc/apt/sources.list.d/mon-repo.list

# إضافة مفتاح GPG
wget -qO - http://repo.example.com/key.gpg | sudo apt-key add -

# تحديث
sudo apt update

مستودع PPA (Ubuntu)​

# إضافة PPA
sudo add-apt-repository ppa:nom/ppa

# إزالة PPA
sudo add-apt-repository --remove ppa:nom/ppa

# تحديث
sudo apt update

apt مقابل apt-get​

apt (حديث)​

# واجهة حديثة، موصى بها
sudo apt update
sudo apt install
sudo apt upgrade
sudo apt search

apt-get (تقليدي)​

# لا يزال يعمل
sudo apt-get update
sudo apt-get install
sudo apt-get upgrade

الفرق:

  • apt أكثر سهولة في الاستخدام (شريط التقدم، الألوان)
  • apt-get أكثر انخفاضًا في المستوى
  • استخدم apt للاستخدام اليومي

أمثلة عملية​

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

# تحديث
sudo apt update

# تثبيت حزمة
sudo apt install nginx

# التحقق من التثبيت
systemctl status nginx

# عرض الإصدار
nginx -v

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

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

echo "تحديث قائمة الحزم..."
sudo apt update

echo "تحديث الحزم..."
sudo apt upgrade -y

echo "تنظيف..."
sudo apt autoremove -y
sudo apt autoclean

echo "تم!"

البحث والتثبيت​

# البحث
apt search nginx

# عرض المعلومات
apt show nginx

# التثبيت
sudo apt install nginx

# التحقق
dpkg -l | grep nginx

حل المشكلات​

التبعيات المكسورة​

# إصلاح التبعيات
sudo apt --fix-broken install

# إصلاح كامل
sudo apt --fix-missing install
sudo dpkg --configure -a

الكاش التالف​

# تنظيف الكاش
sudo apt clean
sudo apt autoclean

# إعادة بناء الكاش
sudo apt update

حزمة محظورة​

# عرض العمليات التي تستخدم الحزمة
sudo lsof | grep nom-paquet

# فرض التثبيت
sudo dpkg --force-depends -i paquet.deb

ملخص​

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

apt: مدير حزم Debian/Ubuntu
الأوامر: update، upgrade، install، remove، search
المستودعات: sources.list، sources.list.d/، PPA
البحث: search، show، list
المشكلات: --fix-broken، clean، dpkg
الممارسة: التثبيت، التحديث، الصيانة


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

الفصل 10.2: yum/dnf (Red Hat/CentOS)
الفصل 10.3: التجميع من المصادر


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