أحتاج إلى ترقية نظام التشغيل الحالي Debian (bullseye) لتحديث الحزم التي يتم تمييزها. هل هناك وثائق حول هذا أو خطوات؟
شكرا
أحتاج إلى ترقية نظام التشغيل الحالي Debian (bullseye) لتحديث الحزم التي يتم تمييزها. هل هناك وثائق حول هذا أو خطوات؟
شكرا
هذه ليست مشكلة في Discourse، بل مشكلة في نظام التشغيل. هناك العديد من المواقع التي تصف كيفية ترقية نظام التشغيل الخاص بك.
توصيتي هي إنشاء جهاز افتراضي جديد بنظام تشغيل جديد ثم نقل موقع Discourse إلى VPS آخر باستخدام rsync
نظام تشغيل الدوكر الذي تم تثبيته أثناء تثبيت discourse، وليس نظام التشغيل المضيف.
يمكنك إضافة الأوامر المعتادة إلى app.yml
هل تريد ترقية Debian داخل الحاوية؟
ما الذي يتم الإبلاغ عنه ومن قبل من؟
ولكن إذا كان هذا ما تقصده، فيمكنك
./launcher enter app
apt-get update
apt-get upgrade
ومن المحتمل ألا يؤدي ذلك إلى كسر أي شيء. لا أوصي بذلك، رغم ذلك.
وإذا كان هذا هو ما تقصده حقًا، فيمكنك إضافتها كفقرات exec، يمكنك إلقاء نظرة على templates/import/mysql-dep.template.yml كمثال.
نعم، دبيان داخل الحاوية لأنني أرى ذلك كخيار وحيد أمامي.
على سبيل المثال، قام فريق الأمن لدينا بالإبلاغ عن ثغرات أمنية في Node.js 18.x و libcurl و openssl. خذ libcurl، فإن إصداري الحالي هو 7.4 وهو ما يبدو أنه أحدث إصدار في bullseye، ولكن للامتثال، يجب أن يكون 8.4 وتتبع الحزم الأخرى نفس المسار.
./launcher enter app
apt-get update
apt-get upgrade
لقد قمت بتشغيل هذه الأوامر لتحديث bullseye ولكن دون جدوى.
نعم. الأمر ليس بهذه البساطة. لا توجد “طريقة صحيحة لترقية نظام تشغيل دوكر (bullseye)”.
يمكنك تصور تعديل https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile لبناء صورة يوافق عليها فريق تكنولوجيا المعلومات الخاص بك. أعتقد أنني سأبدأ باستخدام أحدث إصدار من دبيان كصورة أساسية. من المحتمل أن أخصص أسبوعًا للقيام بذلك، ولكن قد يستغرق الأمر بسهولة نصف الوقت أو ضعفيه، إذا كانت قاعدة كود Discourse تعمل بالفعل مع الإصدارات الأحدث (من المحتمل أن تعمل، ولكن لا توجد طريقة لمعرفة ذلك).
إن بناء صورة تعمل وتلبي مشكلات الامتثال الخاصة بك سيكون مستهلكًا للوقت ومن المحتمل أن يكون أكثر خطورة من استخدام الصورة القياسية، والتي تم اختبارها بواسطة فريق Discourse وتعمل على آلاف المواقع. بدلاً من ذلك، ستقوم بتشغيل صورة لا يعرفها سوى أنت. عندما تتعطل، لن تتمكن من الحصول على أي دعم هنا لأنه سيكون من المستحيل معرفة ما إذا كانت المشكلة تتعلق بالكود أو بمكتبة لا يدعمها Discourse بعد.
في كل مرة تقوم فيها بالترقية، ستحتاج إلى تخصيص وقت لمعرفة ما إذا كانت تحديثات Discourse تعمل مع صورتك.
إذا أصر مسؤولو تكنولوجيا المعلومات لديك على هذه التحديثات، فيجب عليك على الأرجح التفكير في منصة أخرى.
حسنًا، هنا مطور بارز يقول إنه يستخدم دائمًا أحدث إصدار LTS من Node في نسخته التطويرية، مما يشير إلى أنه لا ينبغي أن تكون هناك مشكلة في ذلك.
لذلك، هذا يعني أن مشكلة Node الخاصة بك يجب أن تكون آمنة تمامًا.
يبدو من غير المحتمل للغاية أن يؤدي libcurl إلى كسر الأشياء بطريقة غير متوافقة مع الإصدارات السابقة، لذلك ربما لا تكون مهمتك صعبة كما تخيلت. لذا، ربما 1-5 ساعات عمل لشخص مألوف مع الأجزاء المختلفة.
لذلك أعتقد أنك ستحتاج فقط إلى عمل fork لـ discourse_docker وتغيير بضعة أسطر في slim.Dockerfile وربما سيعمل الأمر ولن يكون مشكلة كبيرة في النهاية.