التحديث في المتصفح مقابل الطرفية

هل العملية هي نفسها لتحديث Discourse عبر المتصفح، أو عبر الطرفية باستخدام ./launcher rebuild app؟
إذا كان الأمر كذلك، فهل هناك أي مزايا لأحدهما على الآخر، بخلاف القدرة على تحديث المكونات الإضافية بشكل فردي؟

أنا لست خبيرًا في هذا، لذا أنا آسف إذا كنت أقول شيئًا غير منطقي.

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

إعجاب واحد (1)

استخدم الواجهة الرسومية كلما أمكن لتقليل وقت التعطل (بضع ثوانٍ)

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

يجب أن تكون تلك المناسبات واضحة من الواجهة الرسومية.

إذا كنت ترغب في إضافة أو إزالة مكون إضافي، فستحتاج إلى استخدام إعادة بناء وحدة التحكم.

3 إعجابات

[اقتباس=“مريفيلد، المنشور:3، الموضوع:358717”]
استخدم واجهة المستخدم عندما يكون ذلك ممكنًا لتقليل وقت التوقف (بضع ثوانٍ)
[/اقتباس]

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

[اقتباس=“مريفيلد، المنشور:3، الموضوع:358717”]
يجب أن تكون تلك الحالات واضحة من خلال واجهة المستخدم.
[/اقتباس]
حتى بالنسبة لغير الخبراء مثلي؟ أعني، هل ستظهر لي رسالة تظهر لي أنني يجب أن أستخدم الطرفية بدلًا من ذلك؟

[اقتباس=“مريفيلد، المنشور:3، الموضوع:358717”]
إذا كنت ترغب في إضافة أو إزالة مكون إضافي، ستحتاج إلى استخدام إعادة البناء عبر وحدة التحكم.
[/اقتباس]
من الناحية التقنية، هل تعتقد أن هذا سيتغير يومًا ما حيث يمكننا القيام بكل شيء في المتصفح؟ لست على علم بالتفاصيل الفنية لهذه العملية، ولهذا أسأل.

إعجاب واحد (1)

لقد تعطل مرة أخرى…
Spinning up 1 Unicorn worker(s) that were stopped initially

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command was killed with SIGKILL (Forced termination): ember build -prod Docker Manager: FAILED TO UPGRADE

هل هذا شيء سأواجهه كثيرًا؟ ما الذي يمكن أن يسبب ذلك وكيفية إصلاحه؟

أشك في أن الأمر سيكون دائمًا على هذا النحو في التثبيت القياسي.

يمكنك العثور على موارد هنا لتكوين “نحن غير متصلين بالإنترنت، عد لاحقًا” لتخفيف هذه الـ 20 دقيقة، ولكن هذا ليس التثبيت القياسي وأقترح عليك إبقاء الأمور بسيطة ومدعومة بسهولة.

لقد رأيت ذلك قبل بضعة أيام، لكنه كان معقدًا جدًا بالنسبة لي بالفعل.

لقد نشرت للتو الأخطاء التي أراها عند محاولة التحديث الآن. لقد تعطل مرة أخرى. إنه في ردي السابق.

بعد أن تعطل تعطل، قمت بالنقر على الزر لإعادة تشغيل التحديث وهو عالق على هذا مرة أخرى، وهذا ما حدث الليلة الماضية:

إليك ما لاحظته، ولكن لا أعرف ما إذا كان ذلك من قبيل المصادفة: عندما يعلق في تلك الحالة التي لا يحدث فيها شيء، أنقر على “إعادة تعيين التحديث”. أحاول إعادة التشغيل، لا يحدث شيء. ثم أعود إلى الصفحة التي تحتوي على جميع التحديثات، وأنقر على زر “تحديث”. هذه المرة، يبدأ التحديث. لست متأكدًا مما إذا كان هناك شيء معطل في الكود بحيث بعد إعادة التعيين، لا يقوم زر إعادة التشغيل بأي شيء فعليًا؟ ليس لدي أي فكرة، ولكني أشارك تجربتي فقط.

الآن يتم التحديث مرة أخرى، بعد أن فعلت ما وصفته للتو.

أنا مرتبك الآن… لقد تعطل مرة أخرى، ولكن عندما قمت بتحديث المتصفح، قال إن Discourse كان بأحدث إصدار…
عندما ذهبت إلى صفحة التحديثات الرئيسية حيث توجد الإضافات، فقد أظهر بالفعل أن Discourse قد تم تحديثه :thinking:

حاول إنشاء مبادلة:

يبدو أن رسالة الخطأ هذه كانت شائعة جدًا في الآونة الأخيرة، وتم إصلاحها دائمًا عن طريق إنشاء مبادلة. لا أعرف لماذا لم تتغير متطلبات Discourse الرسمية.

إعجابَين (2)

لقد رأيت هذه الكلمة من قبل، لكن ليس لدي أي فكرة عما هي ولماذا تستخدم.

شكراً لمشاركة هذا الرابط. سأقوم بذلك بالتأكيد وإذا واجهت أي مشكلة، فسأشاركها.

عندما أذهب إلى DigitalOcean، أرى هذا بالنسبة لقطرتي:
image

إذن أنا “مؤهل” لعملية ملف المبادلة التي شاركتها، أليس كذلك؟ لأن خادمي لديه ذاكرة وصول عشوائي (RAM) أقل من أو تساوي 2 جيجابايت.

إعجاب واحد (1)

إذا كان أقل من 2 جيجابايت، فسأوصي بإنشاء ملف مبادلة. لدي 1 جيجابايت، لذا كنت بحاجة إليه بالتأكيد.

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

إعجابَين (2)

ثم يجب أن يكون ./discourse-setup قد أنشأ التبديل (swap) تلقائيًا. لست متمكنًا تمامًا من أسرار إدارة النظام، لذلك سأترك الأمر للآخرين ليخبرونا أكثر عن ذلك.

ومع ذلك، حتى مع تلبية أكثر من المتطلبات، واجه المستخدمون هذه المشكلة، لذلك هناك شيء غير طبيعي.

أما بالنسبة للتحديث من الواجهة، لقد وجدته غير موثوق قليلًا على مر السنين. لست متأكدًا من السبب، يبدو أنه يفشل أحيانًا بدون سبب واضح، بينما يعمل إعادة البناء.

3 إعجابات

هل هناك طريقة، عبر الطرفية (Terminal)، لمعرفة ما إذا كانت هناك واحدة بالفعل؟ (ربما هذا يجيب على سؤالي؟ أنا لست خبيرًا في أسرار إدارة النظام)

حسنًا، أعتقد أنني لست وحدي هنا.

أنا مرتبك بعض الشيء… باستخدام الطرفية، هل هذان شيئان مختلفان؟ التحديث وإعادة البناء؟ لأنني كنت أستخدم فقط ./launcher rebuild app وهذا يعمل دائمًا.

إعجاب واحد (1)

حسنا شكرا لك. هذا يساعد!

إعجابَين (2)

عذرًا، كنت أعني من الواجهة، لقد قمت بتصحيح مشاركتي. :slight_smile:

إعجابَين (2)

حسناً، الآن أصبح الأمر منطقياً :slight_smile:
نعم، هذه هي تجربتي أيضاً.
الجانب السلبي هو أن إعادة البناء توقف المنتدى تماماً، وهذا ليس مثالياً، ولكن، حسناً… علينا أن نفعل ما يتعين علينا فعله.

إعجاب واحد (1)

سألت كلود عن سؤالي حول ما إذا كانت هناك طريقة للتحقق مما إذا كان هناك ملف مبادلة، وهذا ما حصلت عليه:

تحديث

بدون خبرة في هذا، استخدمت Claude و ChatGPT لمساعدتي في فهم الأمور. لذا، كما تم اقتراحه، اتبعت مسار ملف المبادلة (swapfile)، ولكن كما أشير، ربما كان لدي بالفعل ملف مبادلة بناءً على كيفية تثبيت Discourse. للتأكد من ذلك، قمت بتشغيل الأمر:

sudo swapon --show

في Terminal وحصلت على هذا:

image

لذا نظرت إلى عمود “USED” وفكرت: “حسنًا، إذا كان ملف المبادلة يُستخدم للمساعدة في تشغيل الأشياء بسلاسة عندما لا تكون ذاكرة الوصول العشوائي كافية، ولكنه يقول إن ملف المبادلة يستخدم 1.9 جيجابايت من أصل 2 جيجابايت، فلن يساعد ذلك”

لذا سألت ChatGPT عما إذا كان بإمكاني ببساطة مسح/إفراغ ملف المبادلة وحصلت على هذا الأمر:

sudo swapoff -a && sudo swapon -a

قم بتشغيله، ودعه يقوم بعمله، ثم قمت بتشغيل الأمر الآخر مرة أخرى:

sudo swapon --show

الآن أرى هذا:
image

لذا أعتقد أنه من الجيد المرور بهذه العملية لتنظيف/إفراغ ملف المبادلة من وقت لآخر؟

جدير بالمحاولة زيادة مساحة التبديل الخاصة بك:

إعجابَين (2)

إعادة البناء من سطر الأوامر يستهلك رام أقل.

باستخدام تثبيت بحاويتين، يمكنك بناء حاوية جديدة بينما لا تزال القديمة تعمل (إذا كان لديك بما يكفي من RAM). هذا يمنحك وقت توقف قليل.

عليك أحيانًا القيام بإعادة بناء من سطر الأوامر لأن المكتبات الأساسية بحاجة إلى التحديث، ولا يمكن القيام بذلك من خلال واجهة المستخدم.

يمكنك

cd /var/discourse
grep swap discourse-setup

لرؤية الأوامر التي يتم تنفيذها لإنشاء التبديل. إذا قمت بتشغيل swapoff (حتى لا يكون الملف مشغولًا بعد الآن) يمكنك بعد ذلك تشغيل الأوامر التي تنشئ الملف (fsallocate) وتجعله أكبر، وإذا رغبت، وتنسيقه كتبديل (mkswap) ثم swapon -a لتشغيله مرة أخرى.

إذا كان لديك العديد من الإضافات، فربما تحتاج إلى مجمل 5 أو 6 جيجابايت.

4 إعجابات