هل العملية هي نفسها لتحديث Discourse عبر المتصفح، أو عبر الطرفية باستخدام ./launcher rebuild app؟
إذا كان الأمر كذلك، فهل هناك أي مزايا لأحدهما على الآخر، بخلاف القدرة على تحديث المكونات الإضافية بشكل فردي؟
أنا لست خبيرًا في هذا، لذا أنا آسف إذا كنت أقول شيئًا غير منطقي.
أسأل هذا، لأنها المرة الثانية التي أحاول فيها التحديث عبر المتصفح ويتعطل. في المرة الأولى، بدأت وتعطلت في منتصف عملية التحديث، ثم الليلة الماضية (المرة الثانية) ضغطت على زر التحديث، وذهبت إلى الفراش، وفي الصباح لم تبدأ حتى. اضطررت إلى الإلغاء وإعادة التشغيل.
استخدم الواجهة الرسومية كلما أمكن لتقليل وقت التعطل (بضع ثوانٍ)
في بعض الأحيان، تتطلب بعض أشكال التحديث (مثل تحديث إصدار postgres) تحديثًا عبر سطر الأوامر. هذا ضروري في تلك المناسبات ولكنه يؤدي إلى بعض وقت التعطل في التثبيت القياسي. عادةً حوالي 20 دقيقة. اختر فترة غير مزدحمة.
يجب أن تكون تلك المناسبات واضحة من الواجهة الرسومية.
إذا كنت ترغب في إضافة أو إزالة مكون إضافي، فستحتاج إلى استخدام إعادة بناء وحدة التحكم.
[اقتباس=“مريفيلد، المنشور:3، الموضوع:358717”]
استخدم واجهة المستخدم عندما يكون ذلك ممكنًا لتقليل وقت التوقف (بضع ثوانٍ)
[/اقتباس]
بينما أقوم بالتحديث الآن، لاحظت أن المنتدى لا يزال يعمل، ولكن أحيانًا يكون أبطأ قليلًا. هذا جيد مقارنة باستخدام الطرفية، والتي يبدو أنها تجعل المنتدى لا يعمل تمامًا. شكرًا لتوضيح ذلك.
[اقتباس=“مريفيلد، المنشور:3، الموضوع:358717”]
يجب أن تكون تلك الحالات واضحة من خلال واجهة المستخدم.
[/اقتباس]
حتى بالنسبة لغير الخبراء مثلي؟ أعني، هل ستظهر لي رسالة تظهر لي أنني يجب أن أستخدم الطرفية بدلًا من ذلك؟
[اقتباس=“مريفيلد، المنشور:3، الموضوع:358717”]
إذا كنت ترغب في إضافة أو إزالة مكون إضافي، ستحتاج إلى استخدام إعادة البناء عبر وحدة التحكم.
[/اقتباس]
من الناحية التقنية، هل تعتقد أن هذا سيتغير يومًا ما حيث يمكننا القيام بكل شيء في المتصفح؟ لست على علم بالتفاصيل الفنية لهذه العملية، ولهذا أسأل.
أشك في أن الأمر سيكون دائمًا على هذا النحو في التثبيت القياسي.
يمكنك العثور على موارد هنا لتكوين “نحن غير متصلين بالإنترنت، عد لاحقًا” لتخفيف هذه الـ 20 دقيقة، ولكن هذا ليس التثبيت القياسي وأقترح عليك إبقاء الأمور بسيطة ومدعومة بسهولة.
إليك ما لاحظته، ولكن لا أعرف ما إذا كان ذلك من قبيل المصادفة: عندما يعلق في تلك الحالة التي لا يحدث فيها شيء، أنقر على “إعادة تعيين التحديث”. أحاول إعادة التشغيل، لا يحدث شيء. ثم أعود إلى الصفحة التي تحتوي على جميع التحديثات، وأنقر على زر “تحديث”. هذه المرة، يبدأ التحديث. لست متأكدًا مما إذا كان هناك شيء معطل في الكود بحيث بعد إعادة التعيين، لا يقوم زر إعادة التشغيل بأي شيء فعليًا؟ ليس لدي أي فكرة، ولكني أشارك تجربتي فقط.
الآن يتم التحديث مرة أخرى، بعد أن فعلت ما وصفته للتو.
أنا مرتبك الآن… لقد تعطل مرة أخرى، ولكن عندما قمت بتحديث المتصفح، قال إن Discourse كان بأحدث إصدار…
عندما ذهبت إلى صفحة التحديثات الرئيسية حيث توجد الإضافات، فقد أظهر بالفعل أن Discourse قد تم تحديثه
ثم يجب أن يكون ./discourse-setup قد أنشأ التبديل (swap) تلقائيًا. لست متمكنًا تمامًا من أسرار إدارة النظام، لذلك سأترك الأمر للآخرين ليخبرونا أكثر عن ذلك.
ومع ذلك، حتى مع تلبية أكثر من المتطلبات، واجه المستخدمون هذه المشكلة، لذلك هناك شيء غير طبيعي.
أما بالنسبة للتحديث من الواجهة، لقد وجدته غير موثوق قليلًا على مر السنين. لست متأكدًا من السبب، يبدو أنه يفشل أحيانًا بدون سبب واضح، بينما يعمل إعادة البناء.
حسناً، الآن أصبح الأمر منطقياً
نعم، هذه هي تجربتي أيضاً.
الجانب السلبي هو أن إعادة البناء توقف المنتدى تماماً، وهذا ليس مثالياً، ولكن، حسناً… علينا أن نفعل ما يتعين علينا فعله.
بدون خبرة في هذا، استخدمت Claude و ChatGPT لمساعدتي في فهم الأمور. لذا، كما تم اقتراحه، اتبعت مسار ملف المبادلة (swapfile)، ولكن كما أشير، ربما كان لدي بالفعل ملف مبادلة بناءً على كيفية تثبيت Discourse. للتأكد من ذلك، قمت بتشغيل الأمر:
sudo swapon --show
في Terminal وحصلت على هذا:
لذا نظرت إلى عمود “USED” وفكرت: “حسنًا، إذا كان ملف المبادلة يُستخدم للمساعدة في تشغيل الأشياء بسلاسة عندما لا تكون ذاكرة الوصول العشوائي كافية، ولكنه يقول إن ملف المبادلة يستخدم 1.9 جيجابايت من أصل 2 جيجابايت، فلن يساعد ذلك”
لذا سألت ChatGPT عما إذا كان بإمكاني ببساطة مسح/إفراغ ملف المبادلة وحصلت على هذا الأمر:
sudo swapoff -a && sudo swapon -a
قم بتشغيله، ودعه يقوم بعمله، ثم قمت بتشغيل الأمر الآخر مرة أخرى:
sudo swapon --show
الآن أرى هذا:
لذا أعتقد أنه من الجيد المرور بهذه العملية لتنظيف/إفراغ ملف المبادلة من وقت لآخر؟
باستخدام تثبيت بحاويتين، يمكنك بناء حاوية جديدة بينما لا تزال القديمة تعمل (إذا كان لديك بما يكفي من RAM). هذا يمنحك وقت توقف قليل.
عليك أحيانًا القيام بإعادة بناء من سطر الأوامر لأن المكتبات الأساسية بحاجة إلى التحديث، ولا يمكن القيام بذلك من خلال واجهة المستخدم.
يمكنك
cd /var/discourse
grep swap discourse-setup
لرؤية الأوامر التي يتم تنفيذها لإنشاء التبديل. إذا قمت بتشغيل swapoff (حتى لا يكون الملف مشغولًا بعد الآن) يمكنك بعد ذلك تشغيل الأوامر التي تنشئ الملف (fsallocate) وتجعله أكبر، وإذا رغبت، وتنسيقه كتبديل (mkswap) ثم swapon -a لتشغيله مرة أخرى.
إذا كان لديك العديد من الإضافات، فربما تحتاج إلى مجمل 5 أو 6 جيجابايت.