Как установить обновления с помощью консоли

Привет, друзья из Discourse.

Я получил уведомление о том, что для сайта Discourse доступно 34 обновления, которые можно установить, но я не знаю, как это сделать. Кто-нибудь знает, какую команду нужно ввести для их установки? И есть ли какие-то причины не устанавливать все эти обновления?

Вот список для Ubuntu 23.10:

cloud-init/mantic-updates 23.3.3-0ubuntu0~23.10.1 all [upgradable from: 23.3.1-0ubuntu2]

containerd.io/mantic 1.6.26-1 amd64 [upgradable from: 1.6.24-1]

distro-info-data/mantic-updates 0.58ubuntu0.1 all [upgradable from: 0.58]

initramfs-tools-bin/mantic-updates 0.142ubuntu15.1 amd64 [upgradable from: 0.142ubuntu15]

initramfs-tools-core/mantic-updates 0.142ubuntu15.1 all [upgradable from: 0.142ubuntu15]

initramfs-tools/mantic-updates 0.142ubuntu15.1 all [upgradable from: 0.142ubuntu15]

libnetplan0/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

libnss-systemd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libpam-systemd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libsgutils2-1.46-2/mantic-updates 1.46-3ubuntu2.1 amd64 [upgradable from: 1.46-3ubuntu2]

libsystemd-shared/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libsystemd0/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

libudev1/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

netplan-generator/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

netplan.io/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

python3-distupgrade/mantic-updates 1:23.10.14 all [upgradable from: 1:23.10.10]





python3-netplan/mantic-updates 0.107-5ubuntu0.2 amd64 [upgradable from: 0.107-5]

sg3-utils-udev/mantic-updates 1.46-3ubuntu2.1 all [upgradable from: 1.46-3ubuntu2]

sg3-utils/mantic-updates 1.46-3ubuntu2.1 amd64 [upgradable from: 1.46-3ubuntu2]

snapd/mantic-updates 2.60.4+23.10.1 amd64 [upgradable from: 2.60.4+23.10]

systemd-dev/mantic-updates 253.5-1ubuntu6.1 all [upgradable from: 253.5-1ubuntu6]

systemd-hwe-hwdb/mantic-updates 253.5.2 all [upgradable from: 253.5.1]

systemd-resolved/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

systemd-sysv/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

systemd-timesyncd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

systemd/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

tmux/mantic-updates 3.3a-4ubuntu1 amd64 [upgradable from: 3.3a-4]

ubuntu-advantage-tools/mantic-updates 30~23.10 amd64 [upgradable from: 29.4]

ubuntu-minimal/mantic-updates 1.524.1 amd64 [upgradable from: 1.524]

ubuntu-release-upgrader-core/mantic-updates 1:23.10.14 all [upgradable from: 1:23.10.10]

ubuntu-server/mantic-updates 1.524.1 amd64 [upgradable from: 1.524]

ubuntu-standard/mantic-updates 1.524.1 amd64 [upgradable from: 1.524]

udev/mantic-updates 253.5-1ubuntu6.1 amd64 [upgradable from: 253.5-1ubuntu6]

Попытался ввести просто “install”, но это не сработало.

Я не специалист по компьютерам.

**install --help:**

Попробуйте 'install --help' для получения дополнительной информации.
root@community:~# install --help
Использование: install [ОПЦИЯ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ
  или:  install [ОПЦИЯ]... ИСТОЧНИК... КАТАЛОГ
  или:  install [ОПЦИЯ]... -t КАТАЛОГ ИСТОЧНИК...
  или:  install [ОПЦИЯ]... -d КАТАЛОГ...

Эта программа install копирует файлы (часто только что скомпилированные) в выбранные вами места назначения. Если вы хотите загрузить и установить готовый пакет в системе GNU/Linux, вам следует использовать менеджер пакетов, такой как yum(1) или apt-get(1).

В первых трёх формах скопируйте ИСТОЧНИК в НАЗНАЧЕНИЕ или несколько ИСТОЧНИКОВ в существующий КАТАЛОГ, при этом установив режимы прав доступа и владельца/группы.
В четвёртой форме создайте все компоненты указанных КАТАЛОГ(ОВ).

Обязательные аргументы для длинных опций обязательны и для коротких опций.
      --backup[=УПРАВЛЕНИЕ]  сделать резервную копию каждого существующего файла назначения
  -b                  как --backup, но без аргумента
  -c                  (игнорируется)
  -C, --compare       сравнить содержимое исходного и целевого файлов, и если нет изменений в содержимом, владельце и правах доступа, не изменять назначение вообще
  -d, --directory     трактовать все аргументы как имена каталогов; создать все компоненты указанных каталогов
  -D                  создать все ведущие компоненты НАЗНАЧЕНИЯ, кроме последнего, или все компоненты --target-directory,
                        затем скопировать ИСТОЧНИК в НАЗНАЧЕНИЕ
  -g, --group=ГРУППА   установить групповую принадлежность вместо текущей группы процесса
  -m, --mode=РЕЖИМ     установить режим прав доступа (как в chmod), вместо rwxr-xr-x
  -o, --owner=ВЛАДЕЛЕЦ установить владельца (только суперпользователь)
  -p, --preserve-timestamps   применить времена доступа/изменения файлов ИСТОЧНИКА к соответствующим файлам назначения
  -s, --strip         удалить таблицы символов
      --strip-program=ПРОГРАММА  программа, используемая для удаления символов из бинарников
  -S, --suffix=СУФФИКС  переопределить обычный суффикс резервной копии
  -t, --target-directory=КАТАЛОГ  скопировать все аргументы ИСТОЧНИК в КАТАЛОГ
  -T, --no-target-directory  трактовать НАЗНАЧЕНИЕ как обычный файл
  -v, --verbose       выводить имя каждого каталога по мере его создания
      --preserve-context  сохранить контекст безопасности SELinux
  -Z                      установить контекст безопасности SELinux файла назначения и каждого созданного каталога на тип по умолчанию
      --context[=CTX]     как -Z, или если указан CTX, установить контекст безопасности SELinux или SMACK на CTX
      --help        отобразить эту справку и выйти
      --version     вывести информацию о версии и выйти

Суффикс резервной копии — '~', если он не установлен с помощью --suffix или переменной окружения SIMPLE_BACKUP_SUFFIX.
Метод контроля версий может быть выбран через опцию --backup или переменную окружения VERSION_CONTROL. Вот возможные значения:

  none, off       никогда не создавать резервные копии (даже если дано --backup)
  numbered, t     создавать нумерованные резервные копии
  existing, nil   нумерованные, если существуют нумерованные резервные копии, иначе простые
  simple, never   всегда создавать простые резервные копии

Онлайн-справка GNU coreutils: <https://www.gnu.org/software/coreutils/>
Сообщайте о любых ошибках перевода на <https://translationproject.org/team/>
Полная документация <https://www.gnu.org/software/coreutils/install>
или доступна локально через: info '(coreutils) install invocation'

Привет,

Для обновления сервера в Ubuntu можно использовать команду apt upgrade.

Кстати, это не имеет прямого отношения к Discourse. При стандартной установке Discourse работает внутри контейнера Docker.

Спасибо, похоже, это помогло запустить процесс установки.

Это может означать, что стандартная установка была выполнена некорректно. Как можно определить, работает ли Discourse внутри Docker или нет?

Это тоже запутанно: Docker указан здесь, но не отмечен.

5. Установка предварительных требований для Docker (пример для дистрибутивов на базе Debian/Ubuntu)

sudo apt install docker.io
sudo apt install git

Оставьте как есть. Нажмите Tab, выделите <ok>, а затем нажмите Enter.

Так и нужно, спасибо.

Теперь, похоже, есть некий баг: когда установка для одного сайта была прервана, система сообщает, что доступно 34 обновления, но при попытке запустить установку:

root@community:~# apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Редактирование:

Пересборка приложения теперь выглядит так, будто у неё есть док:

atus: Downloaded newer image for discourse/base:2.0.20231218-0429
docker.io/discourse/base:2.0.20231218-0429
Ensuring launcher is up to date
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app

Много предупреждений, это нормально или означает, что есть проблема?

warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @ember/legacy-built-in-components@0.5.0" has incorrect peer dependency "ember-source@>= 4.8".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-387500e6-104d-417d-9e2e-53cf67ffdfce > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".

Предупреждения ожидаемы, да. Вы можете их спокойно игнорировать. :+1: