ديف أوبس

تثبيت الحزم من مخازن خارجية

يُعد نظام التشغيل أبونتو أحد أكثر توزيعات لينكس شعبية، حيث يتميز بمرونته وسهولة استخدامه، خاصة للمستخدمين الجدد في عالم لينكس. يعتمد أبونتو على نظام متكامل لإدارة الحزم البرمجية من خلال ما يُعرف بـ “مخازن البرمجيات” أو “Repositories”، وهي قواعد بيانات تحتوي على آلاف الحزم الجاهزة للتثبيت. لكن في بعض الحالات، قد يحتاج المستخدم إلى تثبيت حزم غير متوفرة في المخازن الرسمية. هنا تظهر أهمية استخدام مخازن خارجية للحصول على برمجيات حديثة أو حزم غير مدعومة رسميًا.

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


ما هو APT ولماذا نستخدمه؟

نظام APT (Advanced Package Tool) هو الأداة الأساسية في أبونتو لتثبيت وتحديث وإزالة الحزم البرمجية. يستخدم APT ملفات تعريف الحزم ومصادرها المخزنة في /etc/apt/sources.list أو في ملفات منفصلة داخل /etc/apt/sources.list.d/ للوصول إلى البرمجيات.


أنواع مخازن البرمجيات

  1. المخازن الرسمية (Official Repositories)

    تأتي مفعّلة بشكل تلقائي وتشمل الحزم التي تم اختبارها ودعمها رسميًا من قبل فريق أبونتو.

  2. مخازن المجتمع (Universe وMultiverse)

    تحتوي على حزم يقدمها مجتمع أبونتو وليست مدعومة بالكامل من Canonical.

  3. المخازن الخارجية (External Repositories)

    يتم إضافتها يدويًا من قبل المستخدم وتتيح الوصول إلى إصدارات أحدث أو حزم غير موجودة في المستودعات الرسمية.

  4. مخازن PPA (Personal Package Archives)

    تقدم من قبل مطورين مستقلين وتستضاف على Launchpad. تُعد من أشهر أشكال المخازن الخارجية المستخدمة.


خطوات تثبيت الحزم من مخزن خارجي

1. التحقق من موثوقية المصدر

قبل إضافة أي مستودع خارجي، يجب التأكد من أنه مصدر موثوق، لتفادي تثبيت برمجيات ضارة أو غير مستقرة. يُفضل الاعتماد على مواقع رسمية أو موثوقة مثل GitHub، Launchpad أو مواقع المطورين المعروفة.

2. إضافة المفتاح العام للمستودع (GPG Key)

كل مستودع خارجي يتطلب مفتاح تحقق رقمي (GPG) يضمن أمان الاتصال وصحة الحزم.

bash
curl -fsSL https://download.example.com/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/example.gpg

أو باستخدام wget:

bash
wget -qO - https://download.example.com/gpg.key | sudo apt-key add -

ملاحظة: لم يعد استخدام apt-key مستحسنًا في الإصدارات الحديثة من أبونتو، ويفضل استخدام signed-by مع ملف .gpg محفوظ في /usr/share/keyrings/.

3. إضافة المستودع إلى النظام

يتم ذلك بإضافة سطر إلى ملف المصادر، إما مباشرة إلى /etc/apt/sources.list أو إلى ملف جديد داخل /etc/apt/sources.list.d/.

مثال على إضافة مستودع:

bash
echo "deb [signed-by=/usr/share/keyrings/example.gpg] https://download.example.com/repos/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/example.list > /dev/null

4. تحديث قاعدة بيانات الحزم

بعد إضافة المستودع، يجب تحديث معلومات الحزم:

bash
sudo apt update

5. تثبيت الحزمة المطلوبة

الآن يمكن تثبيت الحزمة باستخدام:

bash
sudo apt install package-name

استخدام PPAs لتثبيت حزم خارجية

PPAs هي طريقة سهلة وشائعة لإضافة مستودعات خارجية:

خطوات إضافة PPA:

bash
sudo add-apt-repository ppa:repository-name sudo apt update sudo apt install package-name

مثال على إضافة PPA لمحرر الرسوميات Inkscape:

bash
sudo add-apt-repository ppa:inkscape.dev/stable sudo apt update sudo apt install inkscape

إزالة مستودع خارجي

لإزالة مستودع خارجي، يجب حذف ملف التعريف من /etc/apt/sources.list.d/:

bash
sudo rm /etc/apt/sources.list.d/example.list

ولإزالة المفتاح:

bash
sudo rm /usr/share/keyrings/example.gpg

أو في حالة apt-key:

bash
sudo apt-key del

بعدها من الأفضل تحديث قاعدة البيانات مجددًا:

bash
sudo apt update

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

المشكلة السبب المحتمل الحل
تعارض في الإصدارات اختلاف بين إصدار الحزمة في المستودع الخارجي والرسمي استخدام Pinning لتحديد الأولوية أو إزالة المستودع الخارجي
فشل في التحديث بسبب المفتاح مفتاح GPG غير محدث أو منتهي الصلاحية إعادة تحميل المفتاح من المصدر الرسمي
ظهور تحذير حول توقيع غير موثوق المستودع لا يستخدم مفتاح موقع التأكد من إضافة المفتاح باستخدام signed-by
النظام يصبح غير مستقر بعد التحديث حزمة غير متوافقة تم تثبيتها الرجوع إلى الإصدارات السابقة أو حذف الحزمة

إدارة الأولوية بين المستودعات

يُتيح نظام APT ما يُعرف بـ APT Pinning لتحديد أولوية المستودعات. يمكن إعداد ملف preferences لتحديد الأولوية:

bash
sudo nano /etc/apt/preferences.d/custom-pin

مثال:

makefile
Package: * Pin: origin download.example.com Pin-Priority: 900

هذا يُعطي أولوية للمستودع المحدد على باقي المستودعات.


استخدام أدوات مساعدة لإدارة الحزم من مصادر خارجية

بعض الأدوات تسهل هذه العملية:

  • add-apt-repository: لإضافة PPAs بسهولة.

  • software-properties-common: لتوفير أدوات إدارة المستودعات.

  • apt policy: لعرض أولوية المصادر المختلفة لحزمة معينة.

  • apt-cache madison package-name: لعرض الإصدارات المتوفرة من الحزمة.


الاعتبارات الأمنية عند استخدام مستودعات خارجية

  • تحقق دائمًا من عناوين URL للمستودعات وتأكد من أنها رسمية.

  • لا تستخدم مستودعات مجهولة المصدر أو تلك التي لا توفّر مفاتيح GPG.

  • تابع تحديثات المستودعات الخارجية بانتظام، فقد تتوقف أو تنتقل إلى عناوين جديدة.

  • استخدم أدوات مثل AppArmor وufw لتعزيز الحماية في النظام في حال حدوث اختراق عبر إحدى الحزم.


خلاصة

يوفر استخدام المستودعات الخارجية في أبونتو مرونة كبيرة للحصول على أحدث البرمجيات والتحديثات، خاصة عندما لا تكون متوفرة عبر القنوات الرسمية. ومع ذلك، يجب استخدام هذه الخاصية بحذر وبمعرفة تقنية كافية لتفادي الوقوع في مشاكل قد تؤثر على استقرار النظام. الالتزام بالممارسات الآمنة، مثل إضافة المفاتيح بشكل صحيح ومتابعة مصادر المستودعات، يضمن تجربة موثوقة ومستقرة.


المصادر والمراجع