كيفية تحديث العديد من الأجهزة في نفس الوقت

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


عندما تقوم بتشغيل نفس التوزيع على أجهزة مختلفة (سواء في العمل ، أو في معامل الكمبيوتر ، أو في "مزارع" الخوادم ، أو في مجموعات ، أو حتى على الشبكة المنزلية الصغيرة الخاصة بك) ، فقد يكون من المفيد إنشاء مستودع ذاكرة تخزين مؤقت على شبكتك بحيث بمجرد تنزيل الحزمة من مستودع رسمي ، تقوم جميع الأجهزة الأخرى بتنزيلها من مستودع التخزين المؤقت هذا المخزن على جهاز على شبكتك والذي سنسميه "الخادم". بهذه الطريقة ، يمكن تثبيت التحديثات التي تم تنزيلها من أحد الأجهزة على الأجهزة الأخرى دون الحاجة إلى تنزيلها مرة أخرى من المستودعات الرسمية.

أولاً ، دعنا نلقي نظرة على بعض الحلول "غير التقليدية" التي لا أوصي بها ، ولكنها بالتأكيد ستتبادر إلى الذهن عند حل هذه المشكلة.

شارك / etc / apt

عندما تقوم بتثبيت حزمة على توزيعة دبيان (أو مشتقاتها) ، يتم تخزينها محليًا في الدليل '/ etc / apt'. عندما تكون الحزمة مطلوبة ، يبحث Apt أولاً في هذا الدليل لمعرفة ما إذا كانت هناك نسخة محلية (أي ذاكرة تخزين مؤقت) ، وبالتالي تجنب التنزيل غير الضروري. نتيجة لذلك ، يعتقد العديد منكم بالتأكيد أن الطريقة الجيدة لحل المشكلة المعنية يمكن أن تتمثل في اختيار جهاز كمبيوتر ، والذي سنقوم بتعيينه كنوع من الخادم ، والذي سيتم تحديثه باستخدام المستودعات الرسمية ، والذي سيتم مشاركته دليل '/ etc / apt' الخاص بك مع باقي الأجهزة على الشبكة. ومع ذلك ، قد تؤدي هذه الطريقة إلى مشاكل متعلقة بحظر ملف "sources.list". بشكل عام ، فهو ليس الحل الأكثر استخدامًا أو الأكثر ملاءمة.

نقل الحزم

بدلاً من مشاركة دليل '/ etc / apt' شائع ، يمكن أن يكون البديل الآخر هو أن كل كمبيوتر يستخدم دليل ذاكرة التخزين المؤقت المحلي الخاص به ولكن ينشئ برنامج نصي يعتني بنسخ الحزم من جهاز إلى آخر بحيث تظل جميعها محدث. يمكن أن تكون الأداة لتنفيذ هذه المهمة "apt-move" ، لكنني بصراحة لا أوصي بها لأنها ليست شفافة بما يكفي للمستخدم النهائي. بالإضافة إلى ذلك ، يمكن أن يعني استخدامًا غير ضروري تمامًا لمساحة القرص نظرًا لأنه يجب نسخ جميع الحزم إلى كل جهاز.

أنظمة ذاكرة التخزين المؤقت المخصصة

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

هناك مجموعة متنوعة من الأنظمة المصممة للعمل مع Apt ، بما في ذلك apt-cacher و apt-proxy و apt-cached.

هنا سوف نتعامل مع apt-cacher ، وهو أسهل استخدام.

apt-cacher

يختلف Apt-cacher كثيرًا عن أنظمة التخزين المؤقت للمستودعات الأخرى نظرًا لأنه ليس برنامجًا قائمًا بذاته ولكنه يعمل كبرنامج نصي CGI تحت Apache. هذا له العديد من المزايا ، مثل جعله أداة صغيرة وبسيطة ولكن في نفس الوقت قوية جدًا وبالتالي أكثر قوة لأنه لا يتطلب رمزًا خاصًا به للتعامل مع البروتوكولات ، وهو مرن للغاية لأنه يمكنك استخدام آلية التحكم في الوصول في Apache في حالة رغبتك في الحد من عدد الأجهزة التي تم تمكينها للوصول إلى ذاكرة التخزين المؤقت.

يجب تثبيت Apt-cacher على جهاز واحد فقط ، والجهاز الذي تقرره يجب أن يعمل كذاكرة التخزين المؤقت للمستودع المحلي. بعد ذلك ، يجب تكوين باقي أجهزة الكمبيوتر الموجودة على شبكتك بحيث تطلب تحديثات ذاكرة التخزين المؤقت وليس على الخوادم الرسمية.

تكوين الخادم

لتثبيت فقط

Sudo apt-get install apt-cacher

تحتوي هذه الحزمة على اعتمادات على apache و perl و wget ، لذلك ستقوم بتثبيتها إذا لم تكن قد قمت بتثبيتها بالفعل.

بمجرد التثبيت ، يوصى بإعادة تشغيل Apache:

/etc/init.d/apache إعادة التشغيل

أخيرًا ، كل ما عليك فعله هو ضبط المعلمات الافتراضية للبرنامج النصي. لقد كتبت في المحطة:

sudo gedit /etc/apt-cacher/apt-cacher.conf

بشكل عام ، جميع القيم الافتراضية جيدة ، لكن يُنصح بتعديل الثلاثة التالية:

admin_email = mimail @ myserver create_reports = 1 expire_hours = 24

العنصر الثاني هو متغير منطقي يحدد إنشاء التقارير (0 لا يُنشئ تقارير ، 1 لا يُنشئها). العنصر الأول ، بدلاً من ذلك ، هو عنوان البريد الإلكتروني الذي سيتم إرسال التقارير التي تم إنشاؤها إليه. يحدد العنصر الثالث والأخير عدد الساعات التي يجب أن تنتظرها Apt للتحقق من وجود تحديثات متوفرة على الخوادم الرسمية.

إذا كنت تستخدم وكيلاً ، فلا تنس إضافة العناصر التالية:

http_proxy = proxy.example.com: 8080 use_proxy = 1

للتحقق من أنها تعمل ، يمكنك الوصول إلى ذاكرة التخزين المؤقت المحلية من خلال عنوان url http: // server_name / apt-cacher / وستظهر صفحة تعرض تكوين apt-cacher. تذكر أنه يجب استبدال "server_name" بعنوان IP الخاص بالجهاز الذي قمت بتعيينه كـ "خادم" ، أي كمستودع لذاكرة التخزين المؤقت للحزم المحلية.

تكوين العميل

الآن كل ما عليك فعله هو تعديل قائمة مصادر العملاء لتمريرها إلى الخادم. إذا كان عنوان IP الخاص بالخادم هو 123.123.123.123 ، فيجب عليك إضافته إلى كل سطر من قائمة sources.

سودو جيديت /etc/apt/sources.list
ملاحظة: انتبه! في دبيان ومشتقاته يتم تخزين "sources.list" في "/ etc / apt". ومع ذلك ، في التوزيعات الأخرى يمكن تخزينها في مسار آخر. في حالة تعذر العثور على الملف ، يمكنك دائمًا العثور عليه عن طريق إدخال "تحديد موقع sources.list" في Terminal.

بمجرد فتح الملف ، عنوان IP لخادمنا هو 123.123.123.123 ، يجب تعديل جميع الأسطر باستخدام المعايير التالية:

# Original #deb http://ftp.us.debian.org/debian/ sid main مساهمة غير مجانية # deb-src http://ftp.us.debian.org/debian/ sid main Contributor non-free # Modified deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid main contri http: non-free123.123.123.123. ian.org/debian/ sid main مساهمة غير مجانية

كما ترى ، يجب عليك إضافة عنوان IP للخادم + '/ apt-cacher /' في بداية عنوان URL. ثم يذهب باقي السطر الأصلي.

الاحصائيات المرورية

إذا قمت بإضافة عنصر 'create_reports = 1' في ملف 'apt-cacher.conf' ، فإن apt-cacher ستنشئ إحصائيات الوصول ، والتي يمكنك الوصول إليها باستخدام عنوان url '/ apt-cacher / report'.

إذا احتجت ، لسبب ما ، إلى إنشاء الإحصائيات قبل عدد الساعات المحدد في "apt-cacher.conf" ، فقم بتشغيل الأمر التالي:

/usr/share/apt-cacher/apt-cacher-report.pl

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   إدواردو قال

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

  2.   لنستخدم لينكس قال

    مرحبًا إدواردو! الحقيقة هي أنني أراها صعبة للغاية. إذا اكتشفت بأي طريقة ، فلا تتوقف عن إعلامي.
    عناق كبير! في صحتك! بول.

  3.   شيشي قال

    أستخدم الدمية لإدارة الخوادم التي أديرها عن بُعد.

  4.   لنستخدم لينكس قال

    نعم شكرا جزيلا على المعلومات لك. لقد قمت بالفعل بتصحيحه.
    عناق! بول.

  5.   جينوتريكسون قال

    مرحبا،

    البرنامج التعليمي جيد جدًا ... لدي نطاق .. في Debian Lenny يوجد source.lst في المسار / etc / apt /

    تحياتي

  6.   sepulvedamarcos قال

    سؤال….

    إذا كان لدي جهازان بنفس التوزيعة ... ولكن ليس مع نفس البرامج…. كيف تعرف ما يجب تنزيله من المستودعات الرسمية…. يخفض كل شيء ؟؟؟ ...

  7.   لنستخدم لينكس قال

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

    لا تتردد في الكتابة إذا لم أكن واضحًا بما فيه الكفاية.

    عناق! بول.

  8.   ميشودارك قال

    أعتقد أن هناك خطأ… لا يتم تخزين الحزم في / etc / apt…. إنهم يبقون بالفعل في / var / cache / apt / archives

  9.   لنستخدم لينكس قال

    الحقيقة أنني لا أعرف.
    بالتأكيد هناك طريقة للقيام بذلك. 🙁
    إذا اكتشفت ذلك ، فأخبرني وسأضيفها.
    في صحتك! بول.

  10.   الفارو قال

    لا شيء مع IP الديناميكي ، أليس كذلك؟

  11.   مارسيه قال

    على ما يبدو في التوزيعات الحالية ، يجب عليك إضافة المنفذ (3142 افتراضيًا) إلى عنوان URL للشبكة المحلية. انها تبدو مثل هذا: http://mi_servidor:3142/apt-cacher

  12.   ألفريدو توريالبا قال

    لدي lubuntu 16.04 الذي فعل ذلك في ظل هذا النظام وإذا كان قد نجح معه؟ وما أردت أن أسأله هو ما يلي إذا قمت بتثبيت هذا الخادم وأجهزتي الأخرى لا تحتوي على نفس البرامج عند تقديم طلب على أجهزة العملاء الخاصة بي لتثبيت برنامج لدي على الخادم ، هل تعتقد أنني أقوم بتثبيته مباشرة من الخادم المحلي أم لا الطلب إلى خادم المستودع الرسمي ¿؟