انتقل إلى المحتوى

تحديث الجهاز خطوة خطوة

ترجمة صفحة Updating an appliance, step by step. النص الإنجليزي هو المرجع إن اختلفا. الصور كما التُقطت، والواجهة فيها بالإنجليزية.

في 2026-10-19 حُدّثت الأجهزة الثلاثة على طاولة الاختبار إلى v0.1.0-alpha.2 من صفحة XGS: Updates في كلٍّ منها، داخل المتصفح، وصُوّرت أثناء ذلك. عُرض الإصدار على XGS 136 وعلى أول XGS 3300 كالمعتاد، أما الثاني XGS 3300 فلم يُعرض عليه في البداية، لسبب تبيّنه هذه الصفحة. استغرق كل تحديث، من الضغط على Update إلى النهاية، 16 أو 17 ثانية؛ والتعريف يُبنى على الجهاز نفسه.

تفعل هذه الصفحة لهذه الإضافة ما تفعله صفحة System: Firmware في OPNsense لـ OPNsense نفسه، وهي لا تعرض هذه الإضافة. ولا شيء فيها يعيد التشغيل وحده.

1. ما هو مثبّت، وما هو معروض

تعرض Status ثلاث بطاقات: المثبّت، وأحدث إصدار، وآخر تحديث. وتحتها القناة التي يتبعها الجهاز (Releases، أو Test لكل تغيير يُدمج) والزرّان.

XGS 136: المثبّت نسخة من main، والإصدار v0.1.0-alpha.2 معروض

أول XGS 3300، والإصدار نفسه معروض

2. ما الذي تغيّر

تسرد What changed كل تغيير يأتي به الإصدار المعروض، ومع كلٍّ طلب الدمج الخاص به.

What changed كما كانت: طلبات الدمج مطبوعة بصيغة Markdown

كانت طلبات الدمج تُطبع بصيغة Markdown، بأقواسها وعناوينها؛ وصارت الآن روابط:

What changed، وطلبات الدمج روابط

3. التحديث، وما يقوله أولًا

يسأل Update مرة واحدة، ويقول ما سيحدث: يُنزَّل الإصدار المعروض، ويُشغَّل مثبّته، ويُبنى التعريف للنواة العاملة. ويبقى التعريف العامل الآن حتى الإقلاع التالي، فيستمر الجدار الناري في التمرير.

طلب التأكيد

4. شريط التقدّم

ست خطوات، تضيء كلٌّ منها حين تبدأ وتُعلَّم حين تنتهي:

  • Download: تنزيل الإصدار، بالنسخة (commit) التي وجدها الفحص؛
  • Unpack: فكّ الحزمة؛
  • Install: الإضافة وصفحاتها وخطّافات الإقلاع؛
  • Kernel sources: مصادر النواة التي يعمل بها هذا الجهاز؛
  • Build the driver: بناء التعريف، معدودًا بملفات المصدر، 9 من 9؛
  • Finish: الإنهاء.

على أول XGS 3300، بمعدل لقطة في الثانية تقريبًا:

2%: تنزيل الإصدار

18%: تثبيت الإضافة وصفحاتها وخطّافات الإقلاع

24%: ما زال يثبّت

73%: بناء التعريف، تُرجم 6 من 9 ملفات مصدر

90%: تُرجمت الملفات التسعة

وعلى XGS 136 والثاني XGS 3300:

XGS 136 عند 33%، يثبّت

الثاني XGS 3300 يبدأ

الثاني XGS 3300 يثبّت

الثاني XGS 3300 عند مصادر النواة

الثاني XGS 3300 يبني تعريفه، 90%

الثاني XGS 3300 ينهي

5. الانتهاء، وإعادة التشغيل فقط حين يتغير التعريف

عند الانتهاء يمتلئ الشريط وتُعلَّم كل الخطوات. إعادة التشغيل تحمّل التعريف المبني للتو، والصفحة تعرضها بزر Reboot now.

أول XGS 3300: ثُبّت، وينتظر إعادة التشغيل ليحمّل تعريفه الجديد

وطُلبت إعادة التشغيل من XGS 136 أيضًا، مع أن التعريف الذي بناه تحديثه كان هو نفسه بايتًا ببايت التعريف العامل (npuep 9619e07c، المبني يدويًّا في اليوم نفسه من المصدر نفسه). كانت إعادة التشغيل ستحمّل التعريف نفسه مرة أخرى:

XGS 136 طُلبت منه إعادة تشغيل لم يكن يحتاجها

صار التحديث الآن يقارن التعريف الذي بناه بالتعريف الذي حمّله الإقلاع، ويقول حين لا ينتظر شيء:

الثاني XGS 3300: ثُبّت، والتعريف الذي بناه هو العامل

6. إعادة التشغيل

يسأل Reboot now مرة واحدة، ويقول ما تكلّفه: تتوقف الحركة حتى يعود الجهاز، بضع دقائق.

طلب تأكيد إعادة التشغيل

إعادة التشغيل: الصفحة تطلب إعادة تحميلها حين يعود الجدار الناري

عاد أول XGS 3300 الساعة 18:36:09 UTC وقد حمّل التعريف الجديد (octep 3315c08f) ووصلاته تعمل. وأنهت إعادة التشغيل جلسة المتصفح أيضًا، فطلبت الصفحة بعدها تسجيل الدخول.

7. سجل المثبّت

يحفظ Installer log كل ما طبعه المثبّت: ما نُزّل، وكل جزء ثُبّت، وبناء التعريف.

سجل المثبّت

نسخة مبنية من فرع

كان الثاني XGS 3300 قد ثُبّت آخر مرة من فرع اختبار. تلك النسخة ليست في تاريخ الإصدارات: فتغيير الفرع دُمج نسخةً واحدة (commit)، وهي غير نسخة الاختبار. وبالمقارنة مع الإصدار فالنسخة لا هي متقدمة ولا متأخرة، وهذا ما يسميه GitHub diverged (متباعدة). فعدّتها الصفحة محدّثة وعطّلت Update:

الثاني XGS 3300 معروضًا كأنه محدّث، والإصدار متقدم عليه

صارت نسخة كهذه يُعرض عليها الإصدار الآن، ومعه السبب:

الإصدار معروض، ولماذا