تجنب مشاكل Pacman على Arch Linux من خلال أتمتة تحديثات قائمة المرايا

النقاط الرئيسية

  • المرايا هي خوادم تحتفظ بحزم البرامج في مستودعات Linux. يعد تحديث قائمة المرايا أمرًا بالغ الأهمية لتثبيت التطبيقات وتحديثات النظام.
  • يتضمن تحديث قائمة مرايا Arch يدويًا إنشاء قائمة من المرايا في منطقتك، ولصقها في ملف، وحفظها ليستخدمها PacMan.
  • Reflector عبارة عن أداة مساعدة تقوم بإنشاء قوائم المرايا وتحديث ملف قائمة المرايا. ويمكن استخدامها على سطر الأوامر أو كخدمة مع خيارات قابلة للتخصيص.



المرايا هي خوادم تقوم بتكرار مستودعات توزيعات Linux. يوجد لدى Arch Linux العديد من المرايا الموجودة في جميع أنحاء العالم. سنعرض لك طريقتين لتحديد المرايا التي يستخدمها جهاز الكمبيوتر Arch Linux الخاص بك.


لماذا تعتبر المرايا مهمة؟

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

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

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


من المهم التأكد من تحديث قائمة المرايا التي يستخدمها جهاز الكمبيوتر الخاص بك لأن تثبيتات التطبيقات وتحديثات النظام تعتمد عليها.

تحديث قائمة المرايا القوسية يدويًا

بشكل افتراضي، لا يقوم Arch بتحديث قائمة المرايا تلقائيًا. فهو ينشئ قائمة مرايا في وقت التثبيت، ولكن ما لم تتخذ إجراءً بنفسك، فلن تتغير هذه القائمة أبدًا.

إن تحديث القائمة يدويًا يعمل، ولكنه ليس مريحًا. إن أتمتة العملية هي الحل الأفضل. ولكن يمكنك، إذا أردت، تحديث قائمة المرآة يدويًا.

مكان البداية هو Arch Linux مولد قائمة مرايا Pacmanهدفنا هو الحصول على قائمة بالمرايا الموجودة في منطقتك وبعضها من مناطق أخرى للتكرار.

صفحة ويب مولد قائمة مرايا Arch Linux


أقوم بتحديد “المملكة المتحدة” من القائمة التي تظهر، و”HTTPS” و”IPV4″ من مربعات الاختيار. كما قمت بتحديد مربع الاختيار “استخدام حالة المرآة”، وبالتالي يتم تضمين المرايا النشطة فقط في النتائج.

لمشاهدة النتائج، انقر على زر “إنشاء القائمة”.

تم إدراج المرايا المطابقة. انسخ هذا النص والصقه في محرر النصوص الخاص بك. لاحظ أن جميع الأسطر تبدأ بعلامة التجزئة “#”، مما يعني أنها تُعامل كتعليقات. لتنشيط المرآة، قم بإزالة علامة التجزئة من بداية السطر.

قائمة المرآة المولدة


يمكنك تكرار هذه العملية لمناطق أخرى، ولصق النتائج في محرر النصوص الخاص بك في كل مرة. كما قمت بتحديد المرايا في ألمانيا والسويد. وبهذه الطريقة، إذا كانت المرايا في المملكة المتحدة معطلة أو غير قابلة للوصول، فسوف يحاول PacMan استخدام المرايا من السويد وألمانيا.

يقوم برنامج Pacman بقراءة المرايا الخاصة به من ملف يسمى “/etc/pacman.d/mirrorlist.” تحتاج إلى تحرير هذا الملف واستبدال محتوياته بالقائمة الجديدة.

sudo gedit /etc/pacman.d/mirrorlist 
تحرير ملف قائمة المرايا

استبدل “gedit” بمحرر النصوص المفضل لديك. انسخ والصق القائمة التي أنشأتها للتو في ملف قائمة المرايا، مع استبدال المحتويات الأصلية. احفظ الملف وأغلق محرر النصوص لديك.

سوف يستخدم Pac-Man الآن قائمتنا الجديدة.

ما هو العاكس وماذا يفعل؟

Reflector عبارة عن أداة لإنشاء قوائم المرايا، وتحديث ملف قائمة المرايا بشكل اختياري. يمكنك استخدامه على سطر الأوامر، أو كخدمة.


بإمكانك تمرير المعلمات إليه لاختيار المناطق التي تريد استخدام المرايا منها، ويمكنك الحصول على النتائج مرتبة حسب سرعة التنزيل، على سبيل المثال.

في Arch Linux، لا يتم تثبيت Reflector بشكل افتراضي، ولكن في التوزيعات الأخرى المستندة إلى Arch، قد يتم تثبيته بشكل افتراضي.

تثبيت Reflector على Arch Linux

إن تثبيت Reflector بسيط، طالما أن لديك قائمة مرايا عاملة. إذا لم يكن لديك قائمة مرايا عاملة، فلن يعمل Pacman. إذا كانت هذه هي الحالة، فسيتعين عليك اتباع الخطوات المذكورة أعلاه لإنشاء قائمة مرايا عاملة يدويًا.

الأمر pacman هو:

sudo pacman -S reflector 
تثبيت Reflector على Arch Linux

استخدام Reflector على سطر الأوامر

قد يؤدي استخدام Reflector على سطر الأوامر إلى استبدال قائمة المرآة الموجودة لديك، لذا إذا كنت تريد الاحتفاظ بقائمة المرآة الموجودة لديك كنسخة احتياطية، فقم بعمل نسخة منها قبل البدء.


sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/old-mirrorlist 
عمل نسخة من ملف قائمة المرايا

هذا المثال لا يفعل استبدل قائمة المرآة الخاصة بك.

reflector  
قائمة مرآة تم إنشاؤها بواسطة Reflector في نافذة المحطة الطرفية

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

  • مطوّل:إعطاء نتائج أكثر تفصيلاً، حيثما كان ذلك ممكنًا.
  • اي بي في 4:حدد المرايا التي تدعم بروتوكول IPv4.
  • بروتوكول:حدد المرايا التي تدعم البروتوكول المحدد، مثل HTTP، أو HTTPS، أو FTP.
  • نتيجة:حدد عدد المرايا التي الحصول على أفضل النتائج. تحصل كل مرآة على درجة، حيث تكون الدرجات المنخفضة أفضل من الدرجات العالية. يتم حساب ذلك من خلال أوقات تأخير الاتصال ومتوسط ​​مدة الاتصال ونسبة اتصالات الاختبار المكتملة بنجاح. لاحظ أن الرقم “10” في سطر الأوامر يشير إلى عدد المرايا ذات الدرجات الأعلى التي نريد إرجاعها. ولا يشير إلى الدرجة نفسها.
  • نوع:يقوم بفرز النتائج. لقد اخترنا الفرز حسب معدل التنزيل. يقوم PacMan بتجربة المرايا الموجودة في قائمة المرايا من الأعلى إلى الأسفل، حتى يجد المرآة التي تعمل، لذا فمن المنطقي أن يكون أسرع مرآة في القائمة أولاً.


يدعم Reflector العديد من خيارات سطر الأوامر. لن تجدها على صفحة دليل Reflector، بل تحتاج إلى استخدام خيار المساعدة الخاص به:

reflector  
يساعد عاكس الإخراج في نافذة المحطة الطرفية

كما رأينا، فإن حذف خيار –save يتيح لك تشغيل أوامر Reflector دون تعريض قائمة المرايا الموجودة لديك للخطر. دعنا ندرج خيار –save حتى نتمكن من تحديث ملف قائمة المرايا لدينا. تحتاج إلى استخدام sudo عند استخدام هذا الخيار.

sudo reflector  
عاكس يقوم بإنشاء قائمة مرايا في نافذة المحطة الطرفية

خياراتنا الجديدة هي:


  • دولة:حدد المناطق التي نرغب في تضمين المرايا منها. يمكنك استخدام أكواد الدول أو أسماء الدول.
  • أحدث:نريد أن نستخدم المرايا العشرين الأحدث تحديثًا.
  • انتهاء مهلة التنزيل:يحدد المدة بالثواني قبل أن يعتبر Reflector المستودع غير متصل بالإنترنت.
  • يحفظ:الملف الذي يجب كتابة النتائج فيه. الموقع الافتراضي على Arch هو “/etc/pacman.d/mirrorlist.”

بإمكانك عرض قائمة المرآة الخاصة بك باستخدام الأوامر cat أو less.

less /etc/pacman.d/mirrorlist 
استخدام less لعرض قائمة المرايا

يكتب Reflector رأسًا يحمل علامة زمنية، حتى تتمكن من رؤية متى حدث التحديث الأخير.

محتويات ملف قائمة المرايا


استخدام خدمة Reflector

يوفر Reflector خدمة ومؤقتًا. إذا قمت بتمكين خدمة Reflector.service وبدء تشغيلها، فسوف تقوم بتحديث قائمة المرايا الخاصة بك كلما قمت بتشغيل جهاز الكمبيوتر الخاص بك. الجانب السلبي هو أوقات التشغيل البطيئة.

الحل الأفضل هو تمكين وبدء تشغيل reflector.timer بدلاً من ذلك. سيتم تشغيل reflector.service مرة واحدة في الأسبوع نيابة عنك.

sudo systemctl enable reflector.timer 

sudo systemctl start reflector.timer

تمكين وبدء تشغيل مؤقت العاكس

لتحرير ملف تكوين Reflector، استخدم محرر النصوص المفضل لديك في هذا الأمر:

sudo gedit /etc/xdg/reflector/reflector.conf 
تحرير ملف تكوين العاكس


يمكنك أن ترى أن خيارات سطر الأوامر مدرجة في أسطر منفصلة.

محتويات ملف تكوين العاكس

يمكنك تغيير قيمها أو إضافة القيم التي تريد استخدامها.

لتحرير ملف التكوين للمؤقت، استخدم:

sudo gedit /usr/lib/systemd/system/reflector.timer 
تحرير ملف تكوين مؤقت العاكس

لقد وصفنا كيفية تكوين المؤقتات بالتفصيل في مقال آخر.

استخدم المؤقت وقم بالتحديث عندما تريد

يمكنك تحديث قائمة المرايا يدويًا في أي وقت عن طريق تشغيل Reflector على سطر الأوامر. إذا حولت الأمر إلى اسم مستعار أو دالة Bash shell، فلن تحتاج إلى تذكر جميع المعلمات.


أضف تعليق