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

أحد الأسباب تقليل عرض النطاق الترددي على الإنترنت وزيادة السرعة في سحب الحزم من ذاكرة التخزين المحلية. ولكن، هناك سبب آخر رئيسي ينبغي أن يكون الخصوصية. دعنا نتخيل أن العملاء من منظمتك محظورون على الإنترنت، لكن صناديق لينكس الخاصة بهم بحاجة إلى تحديثات نظامية منتظمة على البرنامج والأمان أو مجرد حاجة لحزم برامج جديدة. لنتوجه إلى مزيد من الصورة، يعمل خادم على شبكة خاصة، يحتوي ويقدم معلومات حساسة سرية فقط لقطاع شبكة محظور، ولا ينبغي أبدًا أن يتعرض للإنترنت العام.
هذه بعض الأسباب فقط لماذا ينبغي عليك بناء مرآة مخزن محلي على شبكة الوصول المحلية الخاصة بك، وتعيين خادم حافة لهذا الغرض وتكوين العملاء الداخليين لسحب البرامج من مرآته للتخزين.
توفر أوبونتو حزمة apt-mirror لمزامنة ذاكرة التخزين المحلية مع مستودعات أوبونتو الرسمية، يمكن تكوين المرآة عبر خادم HTTP أو FTP لمشاركة حزم البرامج مع عملاء النظام المحليين.
للحصول على مرآة كاملة يجب أن يكون لديك على الخادم على الأقل ١٢٠G مساحة حرة محجوزة لمستودعات محلية.
المتطلبات
- مساحة حرة لا تقل عن 120 جيجابايت
- تثبيت وتكوين خادم Proftpd في وضع التنزيل المجهول.
الخطوة 1: تكوين الخادم
١. أما أول شيء يمكنك أن تفعله هو تحديد أقرب وأسرع مرايا Ubuntu بالقرب من موقعك عن طريق زيارة صفحة مرائي أرشيف Ubuntu واختيار بلدك.

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

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


٣. الآن حان الوقت لتكوين خادم 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

يمكنك أيضًا إلغاء تعليق أو إضافة قائمة مصادر أخرى قبل التوجيه النظيف – بما في ذلك مصادر Debian – اعتمادًا على الإصدارات Ubuntu التي يستخدمها عملاؤك. يمكنك إضافة مصادر من 12.04، إذا أردت لكن كن على علم بأن إضافة مصادر أكثر تتطلب مساحة أكبر.
لزيارة قوائم مصادر ديبيان، قم بزيارة ويكي ديبيان أو مولد قائمة مصادر ديبيان.
٤. كل ما عليك فعله الآن هو إنشاء مسار الدليل وتشغيل أمر أبت-ميرور لمزامنة مستودعات أوبونتو الرسمية مع المرآة المحلية لدينا.
$ sudo mkdir -p /opt/apt-mirror $ sudo apt-mirror

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

عندما يتم الانتهاء من التنزيل الأولي، ستكون التنزيلات المستقبلية صغيرة.
٥. بينما يقوم أبت-ميرور بتنزيل الحزم، يمكنك تكوين خادم بروفتبد الخاص بك. الخطوة الأولى التي تحتاج إلى عملها هي إنشاء ملف تكوين مجهول لبروفتبد عن طريق تشغيل الأمر التالي.
$ 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>

٦. الخطوة التالية هي ربط مسار أبت-ميرور بمسار بروفتبد عن طريق تشغيل ربط الوصلة باستخدام الأمر التالي.
$ sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/

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

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/

إذا كنت تستخدم حزمًا من مستودعات Debian، قم بتشغيل الأوامر التالية وتأكد من تمكين الإعدادات المناسبة لملف rc.local السابق.
$ sudo mkdir /srv/ftp/debian $ sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

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

على السطر الأخير، أضف السطر التالي.
0 2 * * * /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

الآن كل يوم في الساعة 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….

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

ينطبق نفس النظام أيضًا على عملاء وخوادم ديبيان، والتغيير الوحيد المطلوب هو مرآة ديبيان و قائمة المصادر.
أيضًا إذا قمت بتثبيت نظام أوبونتو أو ديبيان جديد، قم بتوفير المرآة المحلية الخاصة بك يدويًا باستخدام بروتوكول ftp عندما يطلب المثبت أي مستودع لاستخدامه.
الشيء الرائع في وجود مرآتك المحلية الخاصة هو أنك دائمًا على اطلاع على آخر التحديثات ولا يجب على عملائك المحليين الاتصال بالإنترنت لتثبيت التحديثات أو البرمجيات.
Source:
https://www.tecmint.com/setup-local-repositories-in-ubuntu/