إعداد المستودعات المحلية باستخدام ‘apt-mirror’ في أنظمة Ubuntu و Debian

عندما يتم قياس حركة المرور وسرعة الإنترنت العشوائية اليوم بوحدات الجيجا بايت في جزء من الثانية حتى للعملاء العاديين على الإنترنت، قد تسأل نفسك: ما هو الهدف من إعداد مخزن مؤقت محلي على شبكة الوصول المحلية؟

Setup Local Repositories in Ubuntu

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

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

توفر أوبونتو حزمة apt-mirror لمزامنة ذاكرة التخزين المحلية مع مستودعات أوبونتو الرسمية، يمكن تكوين المرآة عبر خادم HTTP أو FTP لمشاركة حزم البرامج مع عملاء النظام المحليين.

للحصول على مرآة كاملة يجب أن يكون لديك على الخادم على الأقل ١٢٠G مساحة حرة محجوزة لمستودعات محلية.

المتطلبات

  1. مساحة حرة لا تقل عن 120 جيجابايت
  2. تثبيت وتكوين خادم Proftpd في وضع التنزيل المجهول.

الخطوة 1: تكوين الخادم

١. أما أول شيء يمكنك أن تفعله هو تحديد أقرب وأسرع مرايا Ubuntu بالقرب من موقعك عن طريق زيارة صفحة مرائي أرشيف Ubuntu واختيار بلدك.

Ubuntu Archive Mirror

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

Select Mirror Location

٢. الخطوة التالية هي تثبيت البرامج المطلوبة لإعداد مستودع مرايا محلي. قم بتثبيت حزم apt-mirror و proftpd وقم بتكوين proftpd كنظام واطي مستقل.

$ sudo apt-get install apt-mirror proftpd-basic
Install apt-mirror Proftpd
ProFTPD Configuration

٣. الآن حان الوقت لتكوين خادم apt-mirror. قم بفتح وتحرير ملف /etc/apt/mirror.list بإضافة مواقعك الأقرب (الخطوة 1) – اختياريًا، إذا كانت المرايا الافتراضية سريعة بما فيه الكفاية أو إذا لم يكن لديك عجلة – واختيار مسار النظام الذي يجب تنزيل الحزم إليه. بشكل افتراضي، يستخدم apt-mirror الموقع /var/spool/apt-mirror لذخيرة محلية ولكن في هذا البرنامج التعليمي سنقوم بتغيير مسار النظام وتوجيه التوجيه set base_path إلى الموقع /opt/apt-mirror.

$ sudo nano /etc/apt/mirror.list
Configure apt-mirror Server.

يمكنك أيضًا إلغاء تعليق أو إضافة قائمة مصادر أخرى قبل التوجيه النظيف – بما في ذلك مصادر Debian – اعتمادًا على الإصدارات Ubuntu التي يستخدمها عملاؤك. يمكنك إضافة مصادر من 12.04، إذا أردت لكن كن على علم بأن إضافة مصادر أكثر تتطلب مساحة أكبر.

لزيارة قوائم مصادر ديبيان، قم بزيارة ويكي ديبيان أو مولد قائمة مصادر ديبيان.

٤. كل ما عليك فعله الآن هو إنشاء مسار الدليل وتشغيل أمر أبت-ميرور لمزامنة مستودعات أوبونتو الرسمية مع المرآة المحلية لدينا.

$ sudo mkdir -p /opt/apt-mirror
$ sudo apt-mirror
Create apt-mirror Paths

كما يمكنك رؤية أن أبت-ميرور يقوم بعملية فهرسة وتنزيل الأرشيفات مع عرض إجمالي عدد الحزم التي تم تنزيلها وحجمها. كما نستطيع تصور أن 110-120 غيغابايت كافية بما يكفي لتستغرق بعض الوقت في التنزيل.

يمكنك تشغيل أمر إل أس لعرض محتوى الدليل.

Verify apt-mirror Paths

عندما يتم الانتهاء من التنزيل الأولي، ستكون التنزيلات المستقبلية صغيرة.

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

$ sudo nano /etc/proftpd/conf.d/anonymous.conf

ثم أضف المحتوى التالي إلى ملف أنونيموس.كونف وأعد تشغيل خدمة بروفتبد.

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
#   MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>
Configure ProFTPD

٦. الخطوة التالية هي ربط مسار أبت-ميرور بمسار بروفتبد عن طريق تشغيل ربط الوصلة باستخدام الأمر التالي.

$ sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/
Mount apt-mirror to ProFTP Path

للتحقق من ذلك، قم بتشغيل أمر ماونت بدون معلمات أو خيارات.

$ mount
Verify Paths

7. الخطوة الأخيرة هي التأكد من أن خادم Proftpd يتم تشغيله تلقائيًا بعد إعادة تشغيل النظام وأن دليل mirror-cache يتم تحميله تلقائيًا أيضًا على مسار خادم ftp. لتمكين تشغيل proftpd تلقائيًا، قم بتشغيل الأمر التالي.

$ sudo update-rc.d proftpd enable

لتحميل apt-mirror تلقائيًا على proftpd، افتح وعدل /etc/rc.local الملف.

$ sudo nano /etc/rc.local

أضف السطر التالي قبل التوجيه exit 0. استخدم أيضًا فترة انتظار 5 ثواني قبل محاولة التحميل.

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/
Auto Mount Apt Mirrors

إذا كنت تستخدم حزمًا من مستودعات Debian، قم بتشغيل الأوامر التالية وتأكد من تمكين الإعدادات المناسبة لملف rc.local السابق.

$ sudo mkdir /srv/ftp/debian
$ sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/
Debian Repository Setup

8. لمزامنة apt-mirror يوميًا يمكنك أيضًا إنشاء جدول مهام النظام لتشغيله في 2 صباحًا كل يوم. قم بتشغيل أمر crontab، اختر المحرر الذي تفضله ثم أضف السطر النحوي التالي.

$ sudo crontab –e
Daily apt-mirror Synchronization

على السطر الأخير، أضف السطر التالي.

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log
Add Cron Entry for Synchronization

الآن كل يوم في الساعة 2 صباحًا سيتم مزامنة ذاكرة التخزين المؤقت لمستودع النظام الخاص بك مع المرايا الرسمية لـ Ubuntu وإنشاء ملف سجل.

الخطوة 2: تكوين العملاء.

9. لتكوين عملاء Ubuntu محليين، عدل /etc/apt/source.list على أجهزة العميل للإشارة إلى عنوان IP أو اسم المضيف الخادم apt-mirror – استبدل بروتوكول http بالـ ftp، ثم قم بتحديث النظام.

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….
Configure Clients

10. لعرض المستودعات يمكنك فعلاً فتح مستعرض والإشارة إلى عنوان IP الخاص بالخادم أو اسم النطاق باستخدام بروتوكول FTP.

View Local Repositories

ينطبق نفس النظام أيضًا على عملاء وخوادم ديبيان، والتغيير الوحيد المطلوب هو مرآة ديبيان و قائمة المصادر.

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

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

Source:
https://www.tecmint.com/setup-local-repositories-in-ubuntu/