دليل تثبيت إصدارات الحزم في أوبونتو عبر apt-mark

نظرة عامة: حماية استقرار الخوادم وتفادي كسر الاعتماديات

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

تجميد ترقية الحزم: التطبيق العملي لأمري hold وshowhold

لتهيئة بيئة الاختبار وتطبيق الشرح على مثال واقعي، نبدأ بتحديث فهرس المستودعات محليًا مع تثبيت أداة نقل البيانات curl عبر تنفيذ الأمر sudo apt-get update -qq && sudo apt-get install -y curl.

تثبيت حزمة curl وتحديث المستودعات في الطرفية

عند الرغبة في تحصين برنامج معين ضد أي تحديث غير مقصود أثناء تنفيذ عمليات الترقية الشاملة مثل apt upgrade، نستخدم الأمر sudo apt-mark hold curl. يعمل هذا الإجراء على وضع علامة حجز تمنع مدير الحزم من استبدال النسخة الحالية بأي إصدار أحدث.
⚙️ [أبرز خيارات ومعاملات الأداة]

hold : حجز الحزمة المحددة وتجميد ترقيتها التلقائية لمنع استبدالها بإصدار جديد.
unhold : إلغاء حالة التجميد واستعادة قدرة مدير الحزم على ترقية البرمجية بصورة طبيعية.
showhold : استعراض قائمة بجميع الحزم الموضوعة حاليًا في وضع التعليق والحظر داخل النظام.
auto : تمييز الحزمة باعتبارها تابعة ومثبتة تلقائيًا بواسطة متطلبات برمجيات أخرى.
manual : وسم الحزمة كعنصر جرى تنصيبه يدويًا ومباشرة من قبل مسؤول النظام.
showauto : إظهار جرد كامل بجميع حزم التبعيات المثبتة آليًا في البيئة الحالية.
showmanual : عرض قائمة الحزم التي تم تثبيتها بصورة صريحة ومباشرة بواسطة المستخدم.

تطبيق أمر تجميد الحزمة لمنع ترقيتها

للتحقق من سريان قرار التجميد بنجاح، يُشغل الأمر apt-mark showhold؛ حيث يتولى هذا الاستعلام حصر كافة البرمجيات الخاضعة للحظر في الوقت الحالي.
تؤكد النتيجة الظاهرة على الشاشة إدراج curl ضمن قائمة المحتجزات البرمجية على الخادم.

التحقق من وجود الحزمة ضمن قائمة التجميد

فك الحظر عن الحزم: استئناف التحديثات الطبيعية عبر unhold

عند انتهاء مرحلة الاختبارات أو توفر إصدار متوافق رسميًا، يمكن إعادة الحزمة لدورة التحديث القياسية عبر الأمر sudo apt-mark unhold curl لإزالة علامة التجميد السابقة.
يؤكد ظهور إشعار Canceled hold on curl. إتمام عملية إلغاء القفل وعودة الحزمة إلى وضع الترقية الاعتيادي.

إلغاء وضع التجميد واستعادة إمكانية الترقية

لإجراء فحص تأكيدي، يعاد تشغيل الاستعلام apt-mark showhold لقراءة سجل التجميد.
يشير عدم ظهور أي مخرجات نصية إلى فراغ القائمة تمامًا وتحرر الحزمة curl من أي قيود تمنع صيانتها وتحديثها.

التأكد من خلو قائمة التجميد من أي عناصر

ضبط سمات التبعيات: توظيف markauto وunmarkauto لإدارة التنظيف

لتوضيح آلية تصنيف الحزم بين الاعتماديات التلقائية والتثبيت اليدوي، نثبت معالج النصوص المتسلسلة jq عبر كتابة sudo apt-get install -y jq.

تثبيت أداة المعالجة jq في النظام

عند تنفيذ sudo apt-mark markauto jq، يُعاد توصيف الحزمة برمجكًا لتصبح مجرد تبعية ثانوية جُلبت لصالح برنامج آخر بدلًا من كونها تطبيقًا رئيسيًا مُثبتًا يدويًا.
الفائدة المباشرة من هذا التحويل هي تمكين أداة التنظيف apt autoremove من التخلص منها ومسحها آليًا بمجرد إزالة البرمجيات المرتبطة بها في المستقبل.

تحويل صفة الحزمة إلى تبعية مثبتة تلقائيا

للتثبت من انتقال الحزمة إلى جدول التبعيات، يُنفذ الأمر apt-mark showauto jq.
يدل ظهور اسم jq في الاستجابة على نجاح عملية إعادة الوسم واعتبار الحزمة تابعة تلقائية بنجاح.

التحقق من تسجيل الحزمة ضمن قائمة التبعيات الآلية

على النقيض من ذلك، يقوم الأمر sudo apt-mark unmarkauto jq بتجريد الحزمة من صفة التبعية وإعادة تصنيفها كبرنامج مثبت يدويًا بقرار مباشر من مدير النظام.
يترتب على هذا التعديل بقاء الأداة محفوظة ومحمية في النظام، دون أن تتأثر أو تُحذف عند استدعاء apt autoremove عقب حذف حزم أخرى.

إعادة تصنيف الحزمة كبرنامج مثبت يدويا

باستخدام الاستعلام apt-mark showmanual jq، يمكن اختبار قائمة البرمجيات اليدوية والتأكد من إدراج الأداة ضمنها.
توضح المخرجات وجود jq بشكل صريح، ما يبرهن على استعادة صفتها المستقلة وتأمين بقائها في بيئة العمل.

التأكد من عودة الحزمة لقائمة التثبيت اليدوي المستقل

تدقيق شامل لسجلات التثبيت: جرد الحزم التلقائية واليدوية

يُتيح دمج الأوامر عبر apt-mark showmanual | head -n 10 استعراض أول 10 مدخلات من قائمة البرمجيات التي ثبّتها المستخدم بنفسه على أوبونتو.
تُظهر هذه القائمة تواجد الأدوات الأساسية للنظام جنبًا إلى جنب مع حزمنا التجريبية مثل curl كعناصر يدوية معتمدة.

استعراض عينة من الحزم المثبتة بطلب من المستخدم

وبالمثل، يُمكّن الأمر apt-mark showauto | head -n 10 مسؤولي السيرفرات من فحص أول عشر تبعيات تم جلبها بصورة غير مباشرة لتلبية متطلبات بيئية أخرى.
يسمح هذا الفحص بمعاينة مكتبات النظام والخدمات المساعدة الخاضعة لقواعد التنظيف الآلي عند انعدام الحاجة إليها.

مراجعة عينة من التبعيات البرمجية المثبتة آليا

استعرضنا من خلال هذا الدليل الشامل كيفية توظيف أداة apt-mark في بيئات لينكس لتجميد إصدارات البرمجيات والتحكم الدقيق في علاقات التبعيات.
يمنحك تطبيق هذه الإرشادات مرونة فائقة وقدرة استباقية على حماية خوادمك من الانهيارات البرمجية المفاجئة.