فشل التحديث بشكل مذهل

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

الخادم الافتراضي الخاص (VPS) هو ما دفعته لتشغيل تثبيت Discourse الخاص بك. إلا إذا كنت تشغل على جهاز الكمبيوتر المنزلي الخاص بك؛ والذي عادة ما يكون تثبيتًا غير مدعوم.

كنت أستخدم Upcloud كمزود للخادم الافتراضي الخاص (VPS). أنا الآن أستخدم Cobtabo.

كل الإصدارات التجريبية بعد اختبار كافٍ تصبح ما يسميه الناس الإصدارات المستقرة.

في الرابط الذي قدمه Moin، لديك:

  • إصدار تجريبي لا يزال بعيدًا عن الاختبار (لا يُنصح به للإنتاج)
  • تم اجتياز الاختبارات (اجتاز العديد من الاختبارات ويعتبر جاهزًا للإنتاج) الفرع الموصى به من الفريق للأمان.
  • مستقر إذا كنت تستخدم إضافاتك المخصصة ومكونات السمات/السمات. رائع حيث أن التغييرات بطيئة جدًا. ولكنك معرض لمخاطر أمنية أكبر حيث أن التحديثات بطيئة.

عادةً ما تستخدم خطط Discourse المستضافة الفرع “تم اجتياز الاختبارات” لضمان أفضل أمان واستقرار جيد.

لا تأخذ هذا بشكل خاطئ. ولكن نظرًا لأنك غير مألوف بمصطلحات مثل VPS. يشير هذا إلى أنك جديد جدًا في هذا المجال. هل قمت بتثبيت Discourse بنفسك أم ربما ورثت منتدى Discourse؟ كلنا كنا جددًا في وقت ما في إعداد/صيانة Discourse.

ليس رأيًا. إنها حقيقة إذا كان البرنامج الذي تختار استخدامه. وهو يضاهي معظم البرامج مفتوحة المصدر وحتى مغلقة المصدر التي تستخدمها. لقد كتبت vps. قامت Android بحرف V و P.

ومع ذلك، من العدل أن أتخيل أنك سيتعين عليك اكتشاف الأشياء بنفسك؛ إذا كنت لا تريد حقًا المساعدة في التعلم.

حظا طيبا! :clinking_beer_mugs::smiling_face_with_sunglasses::+1::sparkles:

ألاحظ أن @anon55243134 قد حذف تقريبًا جميع منشوراته. أعتقد حقًا أن هناك دروسًا يجب تعلمها هنا للفريق ولصيانة نصوص التحديث والرسائل المتعلقة بالتحديث.

@anon55243134 هو شخص يدير استضافة ذاتية لـ discourse لسنوات وحصل الآن على تثبيت تالف وغير فعال - فقط باتباع المطالبات للتحديث.

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

أعتقد أن هناك تحذيرات وفحوصات غير كافية

  • هل أخذ المستخدم نسخة احتياطية حديثة (ليست لقطة خدمة استضافة!)
  • هل قام المستخدم بتنزيلها
  • هل يُقال للمستخدم أن التحديث المستند إلى الويب قد يفشل ويتطلب تحديثًا عبر سطر الأوامر
  • هل يُطلب من المستخدم التحقق مما إذا كان نظام التشغيل الخاص به قديمًا جدًا
  • هل يُقال للمستخدم أن الانتقال إلى خادم محدث جديد قد يكون النهج الأفضل
  • هل يتم تحذير المستخدم من أن التحديثات الرئيسية (مثل تحديث قاعدة البيانات) يمكن أن تكون محفوفة بالمخاطر وإذا كان عديم الخبرة، فقد يكون الانتظار لمدة أسبوع فكرة جيدة، للعثور على المشاكل وإصلاحها

والأكثر إثارة للقلق، في أحد المنشورات المحذوفة، أرى بعض الإخفاقات الدراماتيكية التي لم يتم اكتشافها واستمر النص البرمجي:

cat: /shared/postgres_data/PG_VERSION: No such file or directory
...
E: Unable to locate package postgresql--pgvector
cp: cannot stat '/etc/postgresql//main/*': No such file or directory
sh: 1: /usr/lib/postgresql/bin/postgres: not found
...
Finding the real data directory for the source cluster      
could not get data directory using "/usr/lib/postgresql/bin/postgres" -D "/shared/postgres_data" -C data_directory: No such file or directory
Failure, exiting

لم أتحقق من النصوص البرمجية، ولكني أتوقع أن عدم وجود الأشياء هو مؤشر على أن المشاكل تكمن في المستقبل، وحان الوقت للتوقف.

5 إعجابات

آسف لفتح علبة دب بمشاكل قديمة! في حالتي، قمت بترقية أوبونتو وPostgres ثم أعدت تشغيل الأمر sudo ./luancher rebuild app في دليل /var/discourse وبدت الأمور قد أعيد بناؤها بشكل صحيح وعودة الموقع للعمل.

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

شكرًا!

5 إعجابات

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

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

توصياتي لتحسين ذلك ستكون روابط مباشرة في واجهة الإدارة على الويب. ربما مع رابط (?) لإظهار نافذة تحتوي على بعض المعلومات ورابط إلى موضوع هنا في Meta مع مزيد من التفاصيل.

مع لوحة التحديث، سيكون من المفيد أيضًا أن يكون هناك مزيد من المعلومات بطريقة مماثلة، حتى مع Core & Docker لتعتيم الزر مع رسالة مطلوبة للقيام بها من خلال سطر أوامر الخادم مع رابط إلى ملاحظات إصدار معينة تتضمن أول قسم يوضح المتطلبات. أي إصدار Docker X وإصدار Ubuntu LTS X (أو توزيعات لينوكس المدعومة رسميًا). أعتقد أن الموضوع المرتبط يجب أن يشمل أيضًا بعض عناصر نسخ ولصق من سطر أوامر الخادم.

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

رسالة فشل التحديث بحاجة إلى أن تكون أكثر بديهية. بينما يُطلب منك التمرير للأعلى لرؤية الأخطاء السابقة، وجدت أن بعض الأخطاء شائعة ولا تؤثر على إعادة البناء. لذلك، سيكون من الأفضل تصدير الأخطاء الرئيسية التي تسببت في فشل إعادة البناء إلى ملف سجل. ومع ذلك، فإن هذه التغييرات المقترحة ستتطلب على الأرجح الكثير من العمل والوقت.

بالنسبة للتوثيق: #self-hosting يحتاج حقًا إلى بدء أكثر تفصيلًا، مع مقدمة حول ما يجب معرفته قبل الاستضافة الذاتية. مثل معرفة جيدة بنظام التشغيل مثل Ubuntu LTS مع بعض المعلومات الأساسية حول الصيانة وترقية التوزيعة. أفضل الممارسات للنسخ الاحتياطي وطرق التنفيذ المباشرة. ربما يمكن إضافة هذه كموضوع مع علامات في فئة الموظفين مع روابط إلى Meta.

Bloomberg، إذا أتذكر بشكل صحيح، أجرى موضوعًا جيدًا حول ما حدث في هذا الموضوع. أما بالنسبة لي، أعتذر لـ @anon55243134، إلا أن عليهم أيضًا تحمل مسؤوليتهم الخاصة. إذا كنت تأتي لطلب الدعم، فلابد من الاستماع لما يُقال وتقديم المعلومات المطلوبة لكي يستطيع الجميع المساعدة في توجيههم نحو الحلول المحتملة.

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

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

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

@anon55243134 إذا كنت على استعداد لمنح الأمور فرصة، ربما يمكننا جميعًا المساعدة في إعادةك إلى الإنترنت. فقط نحتاج إلى تجنب خلال هذه العملية الانحراف إلى “كيف نعتقد أنه يجب أن يكون” وقبول الوضع الحالي “كما هو” في الوقت الحالي. بمجرد إصلاح الأمور، يمكننا أن نستفيد من الدروس المستفادة ونبدأ مناقشة جيدة مع التوصيات حول كيفية تحسين الأمور، وإذا كان الفريق منفتحًا، فهم عادةً كذلك، فإن ذلك سيستغرق وقتًا مناسبًا مع العمل على مشاريع أخرى. من جانبنا، يمكننا العمل على الأفكار، وأولئك الذين يُعرفون بمهارات حقيقية يمكنهم إن وجدوا الوقت العمل على بعض المعلومات الضرورية للدلائل، أفضل الممارسات، وما إلى ذلك.

5 إعجابات