ديف أوبس

إدارة الحزم في أوبنتو ودبيان

أساسيات إدارة الحزم في أوبنتو ودبيان – الجزء الثاني

تُعد إدارة الحزم في توزيعات لينكس المعتمدة على دبيان، مثل أوبنتو، إحدى الركائز الأساسية في صيانة النظام، وتحديثه، وتنصيب البرمجيات فيه بطريقة منظمة وآمنة. يُبنى نظام إدارة الحزم في هذه التوزيعات على تنسيق حزم “deb”، ويستخدم أدوات متقدمة ومرنة مثل APT وDPKG لتحقيق هذا الهدف. وفي هذا الجزء الثاني من المقال، سيتم التوسع في تناول الجوانب المتقدمة لإدارة الحزم، مفصّلين الأدوات، والعمليات، والتقنيات المرتبطة بها، فضلاً عن استعراض حالات استخدام مهمة لإدارة الأنظمة والبرمجيات بكفاءة عالية.


نظام APT المتقدم: بين البساطة والقوة

APT (Advanced Package Tool) هو النظام الرئيسي الذي تعتمد عليه توزيعات دبيان وأوبنتو في التعامل مع الحزم. رغم بساطته الظاهرة في الاستخدام، فإن APT يُخفي خلفه بنية معقدة ومترابطة من الأدوات والملفات.

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

  • apt update: تُحدث هذه الأداة قاعدة بيانات الحزم المحلية لتتطابق مع مستودعات الإنترنت.

  • apt upgrade: تُرقّي جميع الحزم المثبتة إلى أحدث نسخة متاحة دون إزالة أو تثبيت حزم جديدة.

  • apt full-upgrade: تُمكن هذه الأداة من الترقية الكاملة مع إزالة الحزم أو تثبيت حزم جديدة حسب الحاجة.

ميزة APT تكمن في أنه يتعامل مع الاعتمادات (dependencies) بشكل آلي. عند تثبيت أي حزمة، يقوم APT بالتحقق من وجود كافة الاعتمادات المطلوبة، ويقوم بتنزيلها وتثبيتها دون تدخل يدوي.

إدارة المستودعات

يُخزّن APT مصادر الحزم في الملف /etc/apt/sources.list، والذي يحتوي على عناوين المستودعات. يمكن أيضًا استخدام ملفات منفصلة داخل المجلد /etc/apt/sources.list.d/ لتقسيم المصادر حسب نوعها أو مشروعها.

أمثلة على إدخالات في ملف sources.list:

cpp
deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse deb http://security.ubuntu.com/ubuntu focal-security main restricted

استخدام ملفات التفضيل (APT Preferences)

يُمكن التحكم في أولوية الحزم من مستودعات متعددة باستخدام ملفات التفضيل الموجودة في /etc/apt/preferences أو /etc/apt/preferences.d/. يسمح هذا النظام بتحديد إصدار معين من حزمة، أو إعطاء أولوية لمستودع معين.


أداة dpkg: المستوى الأدنى لإدارة الحزم

بينما يقوم APT بإدارة الحزم بطريقة ذكية ويعتمد على الإنترنت في جلب الحزم، فإن dpkg يعمل على مستوى منخفض مباشرة على ملفات .deb. يتم استخدامه في الحالات التي تتطلب تنصيب حزم يدوية أو مخصصة.

أهم الأوامر مع dpkg

  • dpkg -i nom_du_fichier.deb: لتثبيت الحزمة من ملف محلي.

  • dpkg -r nom_du_paquet: لإزالة الحزمة.

  • dpkg -P nom_du_paquet: لإزالة الحزمة مع ملفات التهيئة.

  • dpkg -l: لعرض قائمة بجميع الحزم المثبتة.

  • dpkg -s nom_du_paquet: لعرض معلومات حول حزمة معينة.

  • dpkg -L nom_du_paquet: لمعرفة الملفات التي ثبتها الحزمة على النظام.

  • dpkg -S /chemin/fichier: لتحديد الحزمة التي ثبتت ملفًا معينًا.

التثبيت اليدوي وحل الاعتمادات

عند تثبيت حزمة باستخدام dpkg، قد تظهر أخطاء بسبب الاعتمادات الناقصة. في هذه الحالة، يمكن استخدام الأمر:

bash
sudo apt --fix-broken install

الذي يقوم بفحص النظام وتنزيل الاعتمادات المفقودة.


أدوات متقدمة ومساعدة لإدارة الحزم

APT-Cache

أداة apt-cache تُستخدم لاستعلام قاعدة بيانات الحزم المحلية، ولا تُجري أي تغييرات على النظام.

  • apt-cache search mot-clé: للبحث عن حزم تحتوي على كلمة مفتاحية.

  • apt-cache show nom_du_paquet: لعرض معلومات مفصلة عن حزمة.

APT-Listbugs وAPT-Listchanges

هتان الأداتان مفيدتان للمستخدمين المتقدمين:

  • apt-listbugs: يُظهر تقارير الأخطاء المعروفة المرتبطة بحزمة ما.

  • apt-listchanges: يعرض سجل التغييرات (changelog) عند تثبيت أو ترقية حزمة.


إدارة الحزم من مصادر خارجية

تثبيت الحزم من ملفات .deb

عند تحميل حزم من مواقع الإنترنت (مثل Google Chrome أو Visual Studio Code)، يتم الحصول على ملفات .deb جاهزة للتثبيت.

يمكن استخدام الأمر:

bash
sudo dpkg -i fichier.deb && sudo apt install -f

يُفضل دائمًا الاعتماد على المستودعات الرسمية لتفادي مشاكل التوافق والأمان، ولكن الحزم الخارجية قد تكون ضرورية في بعض الحالات.

استخدام مستودعات خارجية (PPA)

في أوبنتو، يُمكن إضافة مستودعات PPA بسهولة باستخدام:

bash
sudo add-apt-repository ppa:nom_du_ppa sudo apt update

تُستخدم هذه الطريقة للحصول على نسخ أحدث من البرامج، خصوصًا في بيئات التطوير.


حذف الحزم وتنظيف النظام

إزالة الحزم غير الضرورية

  • apt autoremove: يزيل الحزم التي لم يعد لها حاجة (اعتمادات تم تثبيتها أوتوماتيكيًا ولم تعد مستخدمة).

  • apt clean: يحذف ملفات الحزم التي تم تنزيلها في مجلد التخزين المؤقت /var/cache/apt/archives.

إزالة الحزم بالكامل

bash
sudo apt remove nom_du_paquet sudo apt purge nom_du_paquet

الفرق بين remove و purge أن الثاني يزيل أيضًا ملفات التهيئة المرتبطة بالحزمة.


مقارنة بين الأدوات المختلفة لإدارة الحزم

الوظيفة الأساسية APT DPKG Aptitude
التعامل مع الاعتمادات نعم لا نعم
إدارة المستودعات نعم لا نعم
البحث عن الحزم نعم (apt search) لا نعم
التثبيت من ملفات محلية لا مباشرةً نعم نعم
إزالة الحزم نعم نعم نعم
واجهة تفاعلية نصية لا لا نعم

Aptitude: البديل المتقدم لـ APT

aptitude هو واجهة متقدمة تعتمد على ncurses وتوفر إمكانيات بحث وتصفح للحزم ضمن واجهة نصية تفاعلية. كما يمكن استخدامها في الوضع النصي التقليدي:

bash
sudo aptitude install nom_du_paquet

مميزاتها:

  • إدارة متقدمة للاعتمادات.

  • عرض تفصيلي لتأثيرات التثبيت/الإزالة.

  • إمكانية استكشاف الحزم عبر واجهة رسومية في الطرفية.


إنشاء الحزم الخاصة (DEB Packaging)

إدارة الحزم لا تقتصر على التثبيت والإزالة فقط، بل تمتد إلى تطوير حزم خاصة. يحتاج المطورون إلى إنشاء ملفات .deb مخصصة لتوزيع برامجهم.

الخطوات الأساسية:

  1. إعداد هيكلية الحزمة (folders + control files).

  2. إنشاء ملف control يحدد اسم الحزمة والإصدار والاعتمادات.

  3. استخدام dpkg-deb --build لبناء الحزمة.

مثال على بنية المجلد:

python
mon_paquet/ ├── DEBIAN/ │ └── control ├── usr/ │ └── bin/ │ └── mon_programme

إدارة الحزم في بيئات الخوادم

في بيئات الإنتاج، يُستخدم نظام إدارة الحزم بشكل مكثف لأغراض:

  • التحديث الآمن للخوادم.

  • التثبيت الأوتوماتيكي لحزم محددة عبر أدوات إدارة التهيئة مثل Ansible وPuppet.

  • إنشاء snapshots من المستودعات لتوفير استقرار النسخ.

كما تُستخدم أدوات مثل apt-mirror أو reprepro لإنشاء مستودعات محلية.


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

مشكلة الأقفال

إذا ظهر الخطأ:

csharp
Could not get lock /var/lib/dpkg/lock

يجب التأكد من عدم تشغيل عمليات APT أخرى، أو يمكن إزالة القفل يدويًا بحذر:

bash
sudo rm /var/lib/dpkg/lock sudo dpkg --configure -a

تلف الحزم

يمكن إصلاح الحالات الناتجة عن تثبيت غير مكتمل أو حزم مفقودة باستخدام:

bash
sudo apt install -f

الخلاصة التقنية

يُظهر نظام إدارة الحزم في أوبنتو ودبيان مثالاً دقيقاً على البنية الصلبة لأنظمة لينكس، والتي تسمح بإدارة شاملة للحزم دون الحاجة للتدخل اليدوي المتكرر. استخدام الأدوات مثل APT وdpkg وaptitude، والتوسع في إدارة المستودعات والاعتمادات، وتطبيق مفاهيم الحزم المخصصة أو PPA، كلها تفتح الباب نحو نظام صلب وآمن وقابل للتخصيص العالي، وهو ما يجعل أوبنتو ودبيان من التوزيعات المفضلة للمستخدمين المتقدمين ومديري الأنظمة على حد سواء.


المصادر

  1. Debian Administrator’s Handbook — https://debian-handbook.info

  2. Ubuntu Packaging Guide — https://packaging.ubuntu.com