أثناء تحديثي اليوم لتوزيعة دبيان بنواة فري. بي. إس. دي (Debian GNU/kFreeBSD) لاحظت أن مدير الحزم الرسومي (Synaptic) تباطأ كثيرا في ترقية قاعدة بيانات الحزم مع ارتفاع ملحوظ في حمل المعالج و نشاط غير مألوف للقرص الصلب. بعد فحص سريع لما يجري لمحت تحميل ملفات صغيرة و بامتداد pdiff. فقلت هل أصبحت دبيان هي الأخرى تُفعّل بشكل تلقائي خاصية تحميل الفارق فقط بين إصدارات الحزم القديمة و الحديثة تماما كما تفعل فيدورا و باردوس!؟
ليس صحيح تماما، فبعد بحث بسيط إتضح أن هذه الخاصية مدعومة على فرعي الإصدارات الإختبارية و الغير المستقرة منذ مدة بعيدة (الإصدار 4 المسمى بـ etch) دون أن ألمحها! و دورها هو تحميل الفارق فقط بين قاعدة بيانات الحزم القديمة و الحديثة.
هذه الخاصية مفيدة للفرعين الإختباري و الغير المستقر لتوزيعة دبيان لكثرة التحديثات التي يتوصلان بها، و قد يجدها البعض أسرع من تحميل قاعدة بيانات الحزم بشكل كامل عند كل تحديث؛ غير أنه إذا طالة المدة دون القيام بأي تحديث فغالبا ستشعر أنها أثقل بسبب عدد الإتصالات الناتجة عن طلب مجموعة كبيرة من الملفات الصغيرة و الذي ينتج عنه إعادة بناء قاعدة البيانات لأكثر من مرة، و هذا يفسر ما لاحظته في تحديث اليوم.
حسب الموضوع المشار إليه أعلاه أو من خلال صفحات التوثيق (man pages) لأداة apt-get يمكن تفعيل أو تعطيل هذه الخاصية يدويا بتمرير المعيار -o Acquire::Pdiffs=true أو -o Acquire::Pdiffs=false مثال:
يمكن أيضا إضافتها إلى ملف إعدادات الأداة apt-get على /etc/apt/apt.conf مثال:
ماذا عن خاصية تحميل الفارق بين الحزم على دبيان، هل من طريقة؟
نعم، هناك طريقة باستخدام أداة debdelta-upgrade المتوفرة داخل حزمة debdelta.
لتثبيت تلك الحزمة:
و بعدها لتحديث/ترقية كافة الحزم بتحميل فقط الفرق بين إصدارها الحالي و السابق يكفي تنفيذ:
بدلا من عملية الترقية المعتادة:
معلومات إضافية بخصوص معيار Acquire يمكن العثور عليه على صفحة التوثيق الخاصة بـ apt.conf(5) مثل تحديد سرعة تحميل الحزم بـ 64 كيلوبيت مثلا:
تحديث 1 و تنبيه:
نفس العمليات تنطبق علىكل التوزيعات المنحدرة عن دبيان كـ أبونتو و غيرها على دبيان بالدرجة الأولى.
مستخدمي أبونتو يحتاجون إلى تعديل الملف /etc/debdelta/sources.conf و تغيير 'Origin=' و 'Label=' لتصبح Ubuntu بدلا من Debian ثم تعديل 'delta_uri=' لتصبح http://ubuntu-in.info/ubuntu/
مثال:
المصدر: 1 و 2 و 3.
و رغم ذلك يجب توخي الحدر من أداة debdelta-upgrade حتى نتأكد من عملها بالشكل الصحيح. سأجربها لمدة مطولة و سأبلغمك بالجديد إن كان ضروري.
ليس صحيح تماما، فبعد بحث بسيط إتضح أن هذه الخاصية مدعومة على فرعي الإصدارات الإختبارية و الغير المستقرة منذ مدة بعيدة (الإصدار 4 المسمى بـ etch) دون أن ألمحها! و دورها هو تحميل الفارق فقط بين قاعدة بيانات الحزم القديمة و الحديثة.
هذه الخاصية مفيدة للفرعين الإختباري و الغير المستقر لتوزيعة دبيان لكثرة التحديثات التي يتوصلان بها، و قد يجدها البعض أسرع من تحميل قاعدة بيانات الحزم بشكل كامل عند كل تحديث؛ غير أنه إذا طالة المدة دون القيام بأي تحديث فغالبا ستشعر أنها أثقل بسبب عدد الإتصالات الناتجة عن طلب مجموعة كبيرة من الملفات الصغيرة و الذي ينتج عنه إعادة بناء قاعدة البيانات لأكثر من مرة، و هذا يفسر ما لاحظته في تحديث اليوم.
حسب الموضوع المشار إليه أعلاه أو من خلال صفحات التوثيق (man pages) لأداة apt-get يمكن تفعيل أو تعطيل هذه الخاصية يدويا بتمرير المعيار -o Acquire::Pdiffs=true أو -o Acquire::Pdiffs=false مثال:
apt-get update -o Acquire::Pdiffs=false
يمكن أيضا إضافتها إلى ملف إعدادات الأداة apt-get على /etc/apt/apt.conf مثال:
Acquire::PDiffs "false";
ماذا عن خاصية تحميل الفارق بين الحزم على دبيان، هل من طريقة؟
نعم، هناك طريقة باستخدام أداة debdelta-upgrade المتوفرة داخل حزمة debdelta.
لتثبيت تلك الحزمة:
apt-get update ; apt-get install debdelta python-apt xdelta xdelta3 xz-utils xz-lzma
و بعدها لتحديث/ترقية كافة الحزم بتحميل فقط الفرق بين إصدارها الحالي و السابق يكفي تنفيذ:
apt-get update ; debdelta-upgrade ; apt-get -V upgrade
بدلا من عملية الترقية المعتادة:
apt-get update ; apt-get -V upgrade
معلومات إضافية بخصوص معيار Acquire يمكن العثور عليه على صفحة التوثيق الخاصة بـ apt.conf(5) مثل تحديد سرعة تحميل الحزم بـ 64 كيلوبيت مثلا:
apt-get -o Acquire::http::Dl-Limit=64 upgrade
تحديث 1 و تنبيه:
نفس العمليات تنطبق على
مستخدمي أبونتو يحتاجون إلى تعديل الملف /etc/debdelta/sources.conf و تغيير 'Origin=' و 'Label=' لتصبح Ubuntu بدلا من Debian ثم تعديل 'delta_uri=' لتصبح http://ubuntu-in.info/ubuntu/
مثال:
[main debian archive]
Origin=Ubuntu
Label=Ubuntu
delta_uri=http://ubuntu-in.info/ubuntu/
[stable security debian archive]
Origin=Ubuntu
Label=Ubuntu
delta_uri=http://ubuntu-in.info/ubuntu/
Origin=Ubuntu
Label=Ubuntu
delta_uri=http://ubuntu-in.info/ubuntu/
[stable security debian archive]
Origin=Ubuntu
Label=Ubuntu
delta_uri=http://ubuntu-in.info/ubuntu/
المصدر: 1 و 2 و 3.
و رغم ذلك يجب توخي الحدر من أداة debdelta-upgrade حتى نتأكد من عملها بالشكل الصحيح. سأجربها لمدة مطولة و سأبلغمك بالجديد إن كان ضروري.
تحديث 2 (09-01-2011):
يبدو أن لم يعد هناك أي خادم رسمي أو موثوق به لتوفير حزم الفارق بالنسبة لمختلف إصدارات توزيعة أبونتو.
ليست هناك تعليقات:
إرسال تعليق