Мне необходимо обновить текущую операционную систему Debian (bullseye), чтобы обновить пакеты, которые помечены как устаревшие. Есть ли по этому поводу документация или пошаговая инструкция?
Спасибо
Мне необходимо обновить текущую операционную систему Debian (bullseye), чтобы обновить пакеты, которые помечены как устаревшие. Есть ли по этому поводу документация или пошаговая инструкция?
Спасибо
Это не проблема Discourse, а проблема операционной системы. Существует множество сайтов, описывающих, как обновить вашу ОС.
Я рекомендую создать новую виртуальную машину с новой ОС, а затем перенести сайт Discourse на другой VPS с помощью rsync
Операционная система Docker, установленная в процессе установки Discourse, а не хост-ОС.
Вы можете добавить обычные команды в app.yml
Вы хотите обновить Debian внутри контейнера?
Что и кем помечается?
Но если вы имеете в виду именно это, то вы можете выполнить:
./launcher enter app
apt-get update
apt-get upgrade
и, скорее всего, это ничего не сломает. Хотя я бы не рекомендовал этого делать.
А если вы действительно имеете в виду это, то вы можете добавить соответствующие команды как стanzas exec. Пример можно посмотреть в файле templates/import/mysql-dep.template.yml.
Да, Debian внутри контейнера, так как я вижу это как единственный вариант.
Например, наша группа безопасности обнаружила уязвимости в Node.js 18.x, libcurl и openssl. Возьмём libcurl: моя текущая версия — 7.4, что, похоже, является самой актуальной версией в Bullseye, но для соответствия требованиям необходима версия 8.4, и другие пакеты требуют аналогичных обновлений.
./launcher enter app
apt-get update
apt-get upgrade
Я выполнил эти команды для обновления Bullseye, но безрезультатно.
Да. Это не так просто. Не существует «правильного способа обновления ОС Docker (bullseye)».
Вы теоретически можете изменить https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile, чтобы создать образ, который утвердит ваша ИТ-команда. Думаю, я бы начал с использования последней версии Debian в качестве базового образа. Я бы заложил на это неделю, но это может легко занять половину или вдвое больше времени, если кодовая база Discourse вообще работает с более новыми версиями (это вероятно, но точно узнать невозможно).
Создание образа, который работает и соответствует вашим требованиям безопасности, займет много времени и, скорее всего, будет более рискованным, чем использование стандартного образа, который протестирован командой Discourse и работает на тысячах сайтов. Вместо этого вы будете использовать образ, о котором знаете только вы. Когда что-то сломается, вы не сможете получить здесь поддержку, так как будет невозможно понять, проблема в коде или в какой-то библиотеке, которую Discourse ещё не поддерживает.
При каждом обновлении вам нужно будет закладывать время на проверку того, работают ли обновления Discourse с вашим образом.
Если ваши ИТ-специалисты настаивают на таких обновлениях, вам, вероятно, стоит рассмотреть другую платформу.
Привет! Здесь один известный разработчик говорит, что всегда использует последнюю LTS-версию Node в своей среде разработки, предполагая, что с этим не должно возникнуть проблем.
Так что, похоже, проблема с Node у вас должна быть абсолютно безопасной.
Кажется крайне маловероятным, что libcurl сломает что-то в режиме, несовместимом с обратной совместимостью, так что, возможно, ваша задача не такая сложная, как я представлял. Так что, возможно, это займёт всего 1–5 часов работы у человека, знакомого с различными компонентами.
Поэтому я думаю, что вам достаточно будет форкнуть discourse_docker, изменить несколько строк в slim.Dockerfile, и, возможно, всё заработает, и в итоге это не будет большой проблемой.