Обновление форума v2.2.0.beta4 с неизвестными локальными изменениями

Здравствуйте,

Я стал администратором форума. Версия Discourse очень устарела [v2.2.0.beta4 +241].

Мне нужно обновить систему через SSH, что я могу сделать, но:

  1. При выполнении команды git pull появляется ошибка: “Your local changes to the following files would be overwritten by merge: image/base/Dockerfile Please commit your changes or stash them before you merge. Aborting” (Ваши локальные изменения в следующих файлах будут перезаписаны при слиянии: image/base/Dockerfile. Пожалуйста, зафиксируйте изменения или сохраните их в stash перед слиянием. Операция отменена).
  2. Мой вопрос: какие это изменения и стоит ли мне сохранить их в stash или зафиксировать?
  3. При выполнении команды ./launcher rebuild app появляется сообщение: “Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install. aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well. Other storage drivers are known to be problematic.” (Ваша установка Docker не использует поддерживаемый драйвер хранилища. Если мы продолжим, установка может быть повреждена. Рекомендуется использовать драйвер aufs, хотя также могут работать zfs/btrfs/overlay и overlay2. Другие драйверы хранилища, как известно, вызывают проблемы).

Я проверил систему хранилища, и там используется overlay2. Это нормально? Какова процедура? Или мне следует изменить её на aufs?

Заранее спасибо.

Скорее всего, операционная система также уже не поддерживается.

Я бы создал новую виртуальную машину и перенёс бы сайт Discourse на другой VPS с помощью rsync.

Так, если что-то пойдёт не так, старый сайт продолжит работать.

Я заметил, что тема довольно старая, и упоминаемая версия Ubuntu — 14.04. Можно ли использовать последнюю версию Ubuntu?

Да, скорее всего, всё будет в порядке.

Я обновил это, указав «последний LTS».

Я сам ещё не пробовал 24.04, но, думаю, всё будет работать.

Итак, поехали. Я выполнил git diff, и единственное изменение касалось диска, на котором находился Docker-файл. Поэтому я создал ветку, как показано ниже:

git checkout -b master_backup_01

затем выполнил:
git add .
git commit -m "изменено расположение корня dockerfile"

git checkout master
git pull
./launcher rebuild app

После этого приложение успешно скачалось и пересобралось. Но что-то пошло не так, и теперь сайт недоступен. Что мне лучше сделать дальше? В следующем сообщении я пришлю вывод команды.

Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Tue Jun  4 23:10:06 UTC 2024

  System load:  0.01                Processes:              178
  Usage of /:   33.1% of 157.24GB   Users logged in:        0
  Memory usage: 41%                 IP address for eth0:    45.79.99.86
  Swap usage:   12%                 IP address for docker0: 172.17.0.1

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch

327 packages can be updated.
232 updates are security updates.


*** System restart required ***
Last login: Sun Jun  2 11:08:44 2024 from 1.145.60.141
root@idmforums:~# git diff
root@idmforums:~# cd /var/ idmforums
-bash: cd: too many arguments
root@idmforums:~# cd /var/idmforums
root@idmforums:/var/idmforums# git diff
diff --git a/image/base/Dockerfile b/image/base/Dockerfile
index 7ab5907..3f43ab8 100644
--- a/image/base/Dockerfile
+++ b/image/base/Dockerfile
@@ -10,6 +10,7 @@ ENV COMPRESS_BROTLI 1

 RUN echo 2.0.`date +%Y%m%d` > /VERSION

+RUN bundle config --global silence_root_warning 1
 RUN apt-get update && apt-get install -y lsb-release sudo curl
 RUN echo "debconf debconf/frontend select Teletype" | debconf-set-selections
 RUN echo "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main restricted universe" > /etc/apt/sources.list
root@idmforums:/var/idmforums# git status
On branch master
Your branch is behind 'origin/master' by 231 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to ,обновить то, что будет зафиксировано)
  (используйте "git checkout -- "<file>..." для отмены изменений в рабочей директории)

        modified:   image/base/Dockerfile

Неотслеживаемые файлы:
  (используйте "git add <file>..." для включения в то, что будет зафиксировано)

        Gemfile

нет изменений, добавленных в коммит (используйте "git add" и/или "git commit -a")
root@idmforums:/var/idmforums# git checkout -b master_backup_01
M       image/base/Dockerfile
Переключено на новую ветку 'master_backup_01'
root@idmforums:/var/idmforums# git add .
root@idmforums:/var/idmforums# git commit -m "изменен корневой путь dockerfile"
[master_backup_01 3798d1a] изменен корневой путь dockerfile
 Коммиттер: root <root@mail.idmforums.com>
Ваше имя и адрес электронной почты были настроены автоматически на основе
вашего имени пользователя и имени хоста. Пожалуйста, проверьте их точность.
Вы можете отключить это сообщение, установив их явно. Выполните
следующую команду и следуйте инструкциям в вашем редакторе, чтобы отредактировать
ваш файл конфигурации:

    git config --global --edit

После этого вы можете исправить личность, использованную для этого коммита, с помощью:

    git commit --amend --reset-author

 2 файла изменено, 4 вставки(+)
 создание mode 100644 Gemfile
root@idmforums:/var/idmforums# git checkout master
Переключено на ветку 'master'
Ваша ветка отстает от 'origin/master' на 231 коммит и может быть обновлена методом fast-forward.
  (используйте "git pull" для обновления вашей локальной ветки)
root@idmforums:/var/idmforums# git pull
remote: Перечисление объектов: 3, готово.
remote: Подсчет объектов: 100% (3/3), готово.
remote: Всего 3 (дельта 2), переиспользовано 2 (дельта 2), pack-reused 0
Распаковка объектов: 100% (3/3), готово.
From https://github.com/discourse/discourse_docker
   f4d4f8a..964236a  main       -> origin/main
Обновление c786ffc..40169e8
Fast-forward
 .github/workflows/build.yml                                       |  81 +++++++
 LICENSE                                                           |  21 ++
 README.md                                                         |  55 +++--
 Vagrantfile                                                       |  38 ---
 discourse-doctor                                                  |  32 ++-
 discourse-setup                                                   | 578 +++++++++++++++++++++++++++++++---------------
 image/README.md                                                   |   2 +-
 image/auto_build.rb                                               |   3 +
 image/base/Dockerfile                                             |  91 ++++----
 image/base/boot                                                   |   2 +-
 image/base/install-gifsicle                                       |  11 -
 image/base/install-imagemagick                                    |  61 ++++-
 image/base/install-nginx                                          |  34 ++-
 image/base/install-pngcrush                                       |  11 -
 image/base/install-pngquant                                       |   8 -
 image/base/install-redis                                          |  36 +++
 image/base/rsyslog                                                |   1 +
 image/base/runit-1.d-00-fix-var-logs                              |   6 +-
 image/discourse_bench/Dockerfile                                  |   1 +
 image/discourse_dev/Dockerfile                                    |   8 +-
 image/discourse_dev/postgres_dev.template.yml                     |   9 +-
 image/discourse_fast_switch/Dockerfile                            |   4 +-
 image/discourse_fast_switch/create_switch.rb                      |   2 +-
 image/discourse_test/Dockerfile                                   |  17 +-
 launcher                                                          | 295 +++++++++++++----------
 samples/data.yml                                                  |   2 +
 samples/mail-receiver.yml                                         |  17 +-
 samples/redis.yml                                                 |   2 +
 samples/standalone.yml                                            |  12 +-
 samples/web_only.yml                                              |  13 +-
 scripts/docker-gc                                                 |   4 -
 templates/cache-dns.template.yml                                  |  19 ++
 templates/import/chrome-dep.template.yml                          |   6 +-
 templates/import/mbox.template.yml                                |   3 +-
 templates/import/mssql-dep.template.yml                           |   3 +-
 templates/import/mysql-dep.template.yml                           |   5 +-
 templates/import/phpbb3.template.yml                              |  25 +-
 templates/import/vanilla.template.yml                             | 116 ++++++++++
 templates/postgres.10.template.yml                                |  15 +-
 templates/{postgres.9.3.template.yml => postgres.12.template.yml} |  59 ++---
 templates/postgres.13.template.yml                                | 238 +++++++++++++++++++
 templates/postgres.9.2.template.yml                               |  97 --------
 templates/postgres.9.5.template.yml                               |  12 -
 templates/postgres.template.yml                                   | 100 +++-----
 templates/redis.template.yml                                      |  13 ++
 templates/sshd.template.yml                                       |  53 +----
 templates/web.letsencrypt.ssl.template.yml                        |  62 ++++-
 templates/web.ssl.template.yml                                    |  23 +-
 templates/web.template.yml                                        | 135 +++++++++--
 tests/README.md                                                   |  28 +++
 tests/run-all-tests                                               |  11 +
 tests/standalone                                                  |  88 +++++++
 tests/two-container                                               |  87 +++++++
 tests/update-old-templates                                        |  94 ++++++++
 54 файла изменено, 1898 вставок(+), 851 удаление(-)
 создание mode 100644 .github/workflows/build.yml
 создание mode 100644 LICENSE
 удаление mode 100644 Vagrantfile
 удаление mode 100755 image/base/install-gifsicle
 удаление mode 100755 image/base/install-pngcrush
 удаление mode 100755 image/base/install-pngquant
 создание mode 100755 image/base/install-redis
 удаление mode 100755 scripts/docker-gc
 создание mode 100644 templates/cache-dns.template.yml
 создание mode 100644 templates/import/vanilla.template.yml
 переименование templates/{postgres.9.3.template.yml => postgres.12.template.yml} (72%)
 создание mode 100644 templates/postgres.13.template.yml
 удаление mode 100644 templates/postgres.9.2.template.yml
 создание mode 100644 tests/README.md
 создание mode 100755 tests/run-all-tests
 создание mode 100755 tests/standalone
 создание mode 100755 tests/two-container
 создание mode 100755 tests/update-old-templates
root@idmforums:/var/idmforums# ./launcher rebuild app

ВНИМАНИЕ: Мы собираемся начать загрузку базового образа Discourse
Этот процесс может занять от нескольких минут до часа, в зависимости от скорости вашего интернета

Пожалуйста, будьте терпеливы

2.0.20210528-1735: Извлечение из discourse/base
69692152171a: Извлечение завершено
caccdbcee96e: Извлечение завершено
Digest: sha256:b1890ab83b905ada5c9b7221264d62159bbf63bda706cdc652b0533bc90431c5
Status: Скачан новый образ для discourse/base:2.0.20210528-1735
docker.io/discourse/base:2.0.20210528-1735
Ветка 'main' настроена на отслеживание удаленной ветки 'main' из 'origin'.
origin/HEAD установлена на main
Убедимся, что launcher обновлен
Получение origin
Источник launcher разошелся, это ожидается только в режиме разработки
Остановка старого контейнера
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
From https://github.com/discourse/pups
   17f04ec..e0ff889  master        -> origin/master
 * [новая ветка]      main          -> origin/main
 * [новая ветка]      stream-stdout -> origin/stream-stdout
 * [новый тег]         v1.1.1        -> v1.1.1
 * [новый тег]         v1.1.0        -> v1.1.0
 * [новый тег]         v1.2.0        -> v1.2.0
 * [новый тег]         v1.2.1        -> v1.2.1
Обновление 17f04ec..e0ff889
Fast-forward
 .github/workflows/ci.yml     |  29 ++++++
 .github/workflows/lint.yml   |  27 +++++
 .rubocop.yml                 |   3 +
 Gemfile                      |   2 +
 Guardfile                    |   4 +-
 README.md                    |  21 ++++
 Rakefile                     |  14 +--
 bin/pups                     |   8 +-
 lib/pups.rb                  |  32 ++++--
 lib/pups/cli.rb              |  92 ++++++++++-------
 lib/pups/command.rb          |  25 +++--
 lib/pups/config.rb           | 240 +++++++++++++++++++++++--------------------
 lib/pups/docker.rb           |  69 +++++++++++++
 lib/pups/exec_command.rb     | 182 ++++++++++++++++----------------
 lib/pups/file_command.rb     |  60 +++++------
 lib/pups/merge_command.rb    |  94 ++++++++---------
 lib/pups/replace_command.rb  |  70 +++++++------
 lib/pups/runit.rb            |  47 +++++----
 lib/pups/version.rb          |   4 +-
 pups.gemspec                 |  37 ++++---
 test/cli_test.rb             | 102 +++++++++++++++---
 test/config_test.rb          | 215 ++++++++++++++++++++++++++++----------
 test/docker_test.rb          | 157 ++++++++++++++++++++++++++++
 test/exec_command_test.rb    |  62 ++++++-----
 test/file_command_test.rb    |  17 ++-
 test/merge_command_test.rb   |  64 ++++++------
 test/replace_command_test.rb |  86 ++++++++--------
 test/test_helper.rb          |   2 +
 28 файлов изменено, 1158 вставок(+), 607 удалений(-)
 создание mode 100644 .github/workflows/ci.yml
 создание mode 100644 .github/workflows/lint.yml
 создание mode 100644 .rubocop.yml
 создание mode 100644 lib/pups/docker.rb
 создание mode 100644 test/docker_test.rb
Примечание: выполнение checkout 'v1.0.3'.

Вы находитесь в состоянии 'отсоединенного HEAD'. Вы можете осмотреться, внести экспериментальные
изменения и закоммитить их, и вы можете отменить любые коммиты, сделанные в этом
состоянии, не затрагивая никакие ветки, выполнив еще один checkout.

Если вы хотите создать новую ветку для сохранения созданных вами коммитов, вы можете
сделать это (сейчас или позже), используя -b с командой checkout еще раз. Пример:

  git checkout -b <имя-новой-ветки>

HEAD теперь находится на d1db030 cut a new version
I, [2024-06-04T23:36:37.401202 #1]  INFO -- : Загрузка --stdin
I, [2024-06-04T23:36:37.425838 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-06-04T23:36:37.543893 #1]  INFO -- : Генерация локалей (это может занять некоторое время)...
Генерация завершена.

I, [2024-06-04T23:36:37.544135 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-06-04T23:36:37.549756 #1]  INFO -- :
I, [2024-06-04T23:36:37.550707 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-06-04T23:36:37.554149 #1]  INFO -- :
I, [2024-06-04T23:36:37.554297 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-06-04T23:36:37.556363 #1]  INFO -- :
I, [2024-06-04T23:36:37.556586 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-06-04T23:36:37.559019 #1]  INFO -- :
I, [2024-06-04T23:36:37.559217 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-06-04T23:36:37.561244 #1]  INFO -- :
I, [2024-06-04T23:36:37.561365 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2024/06/04 23:36:37 socat[35] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-06-04T23:36:37.587416 #1]  INFO -- :
I, [2024-06-04T23:36:37.587759 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-06-04T23:36:37.591649 #1]  INFO -- :
I, [2024-06-04T23:36:37.591873 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-06-04T23:36:37.595295 #1]  INFO -- :
I, [2024-06-04T23:36:37.595477 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:36:37.597365 #1]  INFO -- :
I, [2024-06-04T23:36:37.597579 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:36:37.599742 #1]  INFO -- :
I, [2024-06-04T23:36:37.604002 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-06-04T23:36:37.608548 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-06-04T23:36:37.615415 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-06-04T23:36:37.623666 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-06-04T23:36:37.623939 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-06-04T23:36:39.151163 #1]  INFO -- :
I, [2024-06-04T23:36:39.152260 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2024-06-04T23:36:39.156524 #1]  INFO -- :
I, [2024-06-04T23:36:39.156616 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-06-04T23:36:39.198114 #1]  INFO -- :
I, [2024-06-04T23:36:39.198360 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-06-04T23:36:39.201422 #1]  INFO -- :
I, [2024-06-04T23:36:39.201963 #1]  INFO -- : > /root/upgrade_postgres
initdb: предупреждение: включение аутентификации "trust" для локальных подключений
Вы можете изменить это, отредактировав pg_hba.conf или используя опцию -A, или
--auth-local и --auth-host, в следующий раз, когда запустите initdb.
debconf: отложенная конфигурация пакетов, поскольку apt-utils не установлен
./launcheI, [2024-06-04T23:37:27.208986 #1]  INFO -- : Обновление PostgreSQL с версии 10 до 13
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю "postgres".
Этот пользователь также должен владеть процессом сервера.

Кластер баз данных будет инициализирован с локалью "en_US.UTF-8".
Кодировка баз данных по умолчанию соответственно установлена в "UTF8".
Конфигурация текстового поиска по умолчанию будет установлена в "english".

Контрольные суммы страниц данных отключены.

исправление прав доступа к существующей директории /shared/postgres_data_new ... ок
создание поддиректорий ... ок
выбор реализации динамической разделяемой памяти ... posix
выбор max_connections по умолчанию ... 100
выбор shared_buffers по умолчанию ... 128MB
выбор часового пояса по умолчанию ... Etc/UTC
создание файлов конфигурации ... ок
выполнение скрипта bootstrap ... ок
выполнение пост-bootstrap инициализации ... ок
синхронизация данных на диск ... ок


Успех. Теперь вы можете запустить сервер базы данных, используя:

    /usr/lib/postgresql/13/bin/pg_ctl -D /shared/postgres_data_new -l logfile start

Get:1 http://security.debian.org/debian-security buster/updates InRelease [34.8 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [56.6 kB]
Get:4 https://deb.nodesource.com/node_15.x buster InRelease [4,584 B]
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [598 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [149 kB]
Get:7 http://deb.debian.org/debian buster/main amd64 Packages [7,909 kB]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [12.1 kB]
Ign:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages [8,788 B]
Get:10 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [346 kB]
Скачано 9,241 kB за 2s (5,638 kB/s)
Чтение списков пакетов...
Чтение списков пакетов...
Построение дерева зависимостей...
Чтение информации о состоянии...
Следующие дополнительные пакеты будут установлены:
  postgresql-client-10
Рекомендуемые пакеты:
  postgresql-doc-10
Следующие НОВЫЕ пакеты будут установлены:
  postgresql-10 postgresql-client-10
0 обновлено, 2 новых установлено, 0 на удаление и 160 не обновлено.
Необходимо скачать 6,423 kB архивов.
После этой операции объем диска увеличится на 30.7 MB.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.23-3.pgdg100+2 [1,444 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.23-3.pgdg100+2 [4,979 kB]
Скачано 6,423 kB за 2s (3,770 kB/s)
Выбор ранее не выбранного пакета postgresql-client-10.
(Чтение базы данных ... на данный момент установлено 43021 файлов и каталогов.)
Подготовка к распаковке .../postgresql-client-10_10.23-3.pgdg100+2_amd64.deb ...
Распаковка postgresql-client-10 (10.23-3.pgdg100+2) ...
Выбор ранее не выбранного пакета postgresql-10.
Подготовка к распаковке .../postgresql-10_10.23-3.pgdg100+2_amd64.deb ...
Распаковка postgresql-10 (10.23-3.pgdg100+2) ...
Настройка postgresql-client-10 (10.23-3.pgdg100+2) ...
update-alternatives: предупреждение: принудительная переустановка альтернативы /usr/share/postgresql/13/man/man1/psql.1.gz, поскольку группа ссылок psql.1.gz сломана
Настройка postgresql-10 (10.23-3.pgdg100+2) ...
Создание нового кластера PostgreSQL 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю "postgres".
Этот пользователь также должен владеть процессом сервера.

Кластер баз данных будет инициализирован с локалью "C.UTF-8".
Кодировка баз данных по умолчанию соответственно установлена в "UTF8".
Конфигурация текстового поиска по умолчанию будет установлена в "english".

Контрольные суммы страниц данных отключены.

исправление прав доступа к существующей директории /var/lib/postgresql/10/main ... ок
создание поддиректорий ... ок
выбор max_connections по умолчанию ... 100
выбор shared_buffers по умолчанию ... 128MB
выбор часового пояса по умолчанию ... Etc/UTC
выбор реализации динамической разделяемой памяти ... posix
создание файлов конфигурации ... ок
выполнение скрипта bootstrap ... ок
выполнение пост-bootstrap инициализации ... ок
синхронизация данных на диск ... ок

Успех. Теперь вы можете запустить сервер базы данных, используя:

    pg_ctlcluster 10 main start

Предупреждение: выбранная stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp
недоступна для записи владельцу кластера. Не добавляем эту настройку в
postgresql.conf.
Версия Кластер Порт Статус Владелец    Директория данных              Файл журнала
10  main    5433 остановлен   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: предупреждение: принудительная переустановка альтернативы /usr/share/postgresql/13/man/man1/postmaster.1.gz, поскольку группа ссылок postmaster.1.gz сломана
invoke-rc.d: не удалось определить текущий уровень запуска
invoke-rc.d: policy-rc.d запретил выполнение start.
Обработка триггеров для postgresql-common (226.pgdg100+1) ...
Построение словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:
Остановка сервера баз данных PostgreSQL 10: main.
Остановка сервера баз данных PostgreSQL 13: main.
Выполнение проверок согласованности
-----------------------------
Проверка версий кластеров                                   ок
Проверка, что пользователь базы данных является пользователем установки                  ок
Проверка настроек подключения к базе данных                       ок
Проверка на наличие подготовленных транзакций                          ок
Проверка на наличие системно-определенных составных типов в пользовательских таблицах  ок
Проверка на наличие типов данных reg* в пользовательских таблицах                 ок
Проверка на наличие contrib/isn с несоответствием передачи bigint       ок
Проверка на наличие таблиц WITH OIDS                               ок
Проверка на наличие недопустимых пользовательских столбцов "sql_identifier"          ок
Создание дампа глобальных объектов                             ок
Создание дампа схем баз данных
  discourse
  postgres
  template1
                                                            ок
Проверка наличия необходимых библиотек                 ок
Проверка, что пользователь базы данных является пользователем установки                  ок
Проверка на наличие подготовленных транзакций                          ок
Проверка на наличие директорий tablespaces нового кластера             ок

Если pg_upgrade завершится неудачей после этого момента, вы должны повторно выполнить initdb
нового кластера, прежде чем продолжать.

Выполнение обновления
------------------
Анализ всех строк в новом кластере                       ok
Блокировка всех строк в новом кластере                    ok
Удаление файлов из нового pg_xact                             ok
Копирование старого pg_xact на новый сервер                           ok
Установка следующего идентификатора транзакции и эпохи для нового кластера       ok
Удаление файлов из нового pg_multixact/offsets                ok
Копирование старого pg_multixact/offsets на новый сервер              ok
Удаление файлов из нового pg_multixact/members                ok
Копирование старого pg_multixact/members на новый сервер              ok
Установка следующего идентификатора мультиакции и смещения для нового кластера        ok
Сброс архивов WAL                                      ok
Установка счетчиков frozenxid и minmxid в новом кластере       ok
Восстановление глобальных объектов в новом кластере                 ok
Восстановление схем баз данных в новом кластере
  template1
  discourse
  postgres
                                                            ok
Копирование файлов пользовательских отношений
  /shared/postgres_data/base/16384/2613
  /shared/postgres_data/base/16384/2683
  /shared/postgres_data/base/16384/16762
  /shared/postgres_data/base/16384/16762_fsm
  /shared/postgres_data/base/16384/16765
  /shared/postgres_data/base/16384/16767
  /shared/postgres_data/base/16384/16768
  /shared/postgres_data/base/16384/16770
  /shared/postgres_data/base/16384/16773
  /shared/postgres_data/base/16384/16775
  /shared/postgres_data/base/16384/16776
  /shared/postgres_data/base/16384/16780
  /shared/postgres_data/base/16384/16780_fsm
  /shared/postgres_data/base/16384/16784
  /shared/postgres_data/base/16384/16786
  /shared/postgres_data/base/16384/16787
  /shared/postgres_data/base/16384/16789
  /shared/postgres_data/base/16384/20635
  /shared/postgres_data/base/16384/20635_fsm
  /shared/postgres_data/base/16384/20635_vm
  /shared/postgres_data/base/16384/20641
  /shared/postgres_data/base/16384/19612
  /shared/postgres_data/base/16384/19612_fsm
  /shared/postgres_data/base/16384/19612_vm
  /shared/postgres_data/base/16384/19618
  /shared/postgres_data/base/16384/21104
  /shared/postgres_data/base/16384/21104_fsm
  /shared/postgres_data/base/16384/21104_vm
  /shared/postgres_data/base/16384/21110
  /shared/postgres_data/base/16384/19619
  /shared/postgres_data/base/16384/19619_fsm
  /shared/postgres_data/base/16384/19430
  /shared/postgres_data/base/16384/19430_fsm
  /shared/postgres_data/base/16384/18503
  /shared/postgres_data/base/16384/18503_fsm
  /shared/postgres_data/base/16384/18503_vm
  /shared/postgres_data/base/16384/18509
  /shared/postgres_data/base/16384/18510
  /shared/postgres_data/base/16384/19655
  /shared/postgres_data/base/16384/19655_fsm
  /shared/postgres_data/base/16384/19655_vm
  /shared/postgres_data/base/16384/19658
  /shared/postgres_data/base/16384/19284
  /shared/postgres_data/base/16384/19284_fsm
  /shared/postgres_data/base/16384/19284_vm
  /shared/postgres_data/base/16384/19290
  /shared/postgres_data/base/16384/19291
  /shared/postgres_data/base/16384/17019
  /shared/postgres_data/base/16384/17019_fsm
  /shared/postgres_data/base/16384/17019_vm
  /shared/postgres_data/base/16384/17029
  /shared/postgres_data/base/16384/17033
  /shared/postgres_data/base/16384/17035
  /shared/postgres_data/base/16384/17036
  /shared/postgres_data/base/16384/17039
  /shared/postgres_data/base/16384/17040
  /shared/postgres_data/base/16384/18337
  /shared/postgres_data/base/16384/18337_fsm
  /shared/postgres_data/base/16384/18337_vm
  /shared/postgres_data/base/16384/18343
  /shared/postgres_data/base/16384/18344
  /shared/postgres_data/base/16384/18344_fsm
  /shared/postgres_data/base/16384/17191
  /shared/postgres_data/base/16384/17191_fsm
  /shared/postgres_data/base/16384/17195
  /shared/postgres_data/base/16384/17197
  /shared/postgres_data/base/16384/17198
  /shared/postgres_data/base/16384/17201
  /shared/postgres_data/base/16384/17201_fsm
  /shared/postgres_data/base/16384/17204
  /shared/postgres_data/base/16384/21111
  /shared/postgres_data/base/16384/21111_fsm
  /shared/postgres_data/base/16384/21281
  /shared/postgres_data/base/16384/21281_fsm
  /shared/postgres_data/base/16384/21281_vm
  /shared/postgres_data/base/16384/21287
  /shared/postgres_data/base/16384/21288
  /shared/postgres_data/base/16384/18540
  /shared/postgres_data/base/16384/18540_fsm
  /shared/postgres_data/base/16384/18540_vm
  /shared/postgres_data/base/16384/18543
  /shared/postgres_data/base/16384/17293
  /shared/postgres_data/base/16384/17293_fsm
  /shared/postgres_data/base/16384/17293_vm
  /shared/postgres_data/base/16384/17297
  /shared/postgres_data/base/16384/17299
  /shared/postgres_data/base/16384/17300
  /shared/postgres_data/base/16384/17304
  /shared/postgres_data/base/16384/17308
  /shared/postgres_data/base/16384/17310
  /shared/postgres_data/base/16384/17311
  /shared/postgres_data/base/16384/17313
  /shared/postgres_data/base/16384/17370
  /shared/postgres_data/base/16384/17370_fsm
  /shared/postgres_data/base/16384/17374
  /shared/postgres_data/base/16384/17376
  /shared/postgres_data/base/16384/17377
  /shared/postgres_data/base/16384/18901
  /shared/postgres_data/base/16384/18901_fsm
  /shared/postgres_data/base/16384/18907
  /shared/postgres_data/base/16384/18908
  /shared/postgres_data/base/16384/18110
  /shared/postgres_data/base/16384/17402
  /shared/postgres_data/base/16384/17402_fsm
  /shared/postgres_data/base/16384/17406
  /shared/postgres_data/base/16384/17417
  /shared/postgres_data/base/16384/19292
  /shared/postgres_data/base/16384/17439
  /shared/postgres_data/base/16384/20642
  /shared/postgres_data/base/16384/18756
  /shared/postgres_data/base/16384/18762
  /shared/postgres_data/base/16384/18763
  /shared/postgres_data/base/16384/18113
  /shared/postgres_data/base/16384/21311
  /shared/postgres_data/base/16384/21311_fsm
  /shared/postgres_data/base/16384/21311_vm
  /shared/postgres_data/base/16384/21317
  /shared/postgres_data/base/16384/21317_fsm
  /shared/postgres_data/base/16384/21318
  /shared/postgres_data/base/16384/21318_fsm
  /shared/postgres_data/base/16384/17627
  /shared/postgres_data/base/16384/17627_fsm
  /shared/postgres_data/base/16384/17631
  /shared/postgres_data/base/16384/17633
  /shared/postgres_data/base/16384/17634
  /shared/postgres_data/base/16384/18345
  /shared/postgres_data/base/16384/18115
  /shared/postgres_data/base/16384/18121
  /shared/postgres_data/base/16384/18122
  /shared/postgres_data/base/16384/20585
  /shared/postgres_data/base/16384/20591
  /shared/postgres_data/base/16384/20592
  /shared/postgres_data/base/16384/17759
  /shared/postgres_data/base/16384/17763
  /shared/postgres_data/base/16384/17765
  /shared/postgres_data/base/16384/17766
  /shared/postgres_data/base/16384/21121
  /shared/postgres_data/base/16384/21121_fsm
  /shared/postgres_data/base/16384/21121_vm
  /shared/postgres_data/base/16384/21124
  /shared/postgres_data/base/16384/21125
  /shared/postgres_data/base/16384/17779
  /shared/postgres_data/base/16384/17779_fsm
  /shared/postgres_data/base/16384/17779_vm
  /shared/postgres_data/base/16384/17785
  /shared/postgres_data/base/16384/17787
  /shared/postgres_data/base/16384/17788
  /shared/postgres_data/base/16384/17790
  /shared/postgres_data/base/16384/20048
  /shared/postgres_data/base/16384/20048_fsm
  /shared/postgres_data/base/16384/20048_vm
  /shared/postgres_data/base/16384/20054
  /shared/postgres_data/base/16384/20055
  /shared/postgres_data/base/16384/21371
  /shared/postgres_data/base/16384/21377
  /shared/postgres_data/base/16384/17882
  /shared/postgres_data/base/16384/17882_fsm
  /shared/postgres_data/base/16384/17882_vm
  /shared/postgres_data/base/16384/17886
  /shared/postgres_data/base/16384/17888
  /shared/postgres_data/base/16384/17889
  /shared/postgres_data/base/16384/17891
  /shared/postgres_data/base/16384/21026
  /shared/postgres_data/base/16384/21026_fsm
  /shared/postgres_data/base/16384/21026_vm
  /shared/postgres_data/base/16384/21032
  /shared/postgres_data/base/16384/21053
  /shared/postgres_data/base/16384/21053_fsm
  /shared/postgres_data/base/16384/21053_vm
  /shared/postgres_data/base/16384/21059
  /shared/postgres_data/base/16384/21044
  /shared/postgres_data/base/16384/21050
  /shared/postgres_data/base/16384/21033
  /shared/postgres_data/base/16384/21033_fsm
  /shared/postgres_data/base/16384/21060
  /shared/postgres_data/base/16384/21060_fsm
  /shared/postgres_data/base/16384/21051
  /shared/postgres_data/base/16384/18123
  /shared/postgres_data/base/16384/18118
  /shared/postgres_data/base/16384/18120
  /shared/postgres_data/base/16384/18136
  /shared/postgres_data/base/16384/18140
  /shared/postgres_data/base/16384/18142
  /shared/postgres_data/base/16384/18143
  /shared/postgres_data/base/16384/18145
  /shared/postgres_data/base/16384/18146
  /shared/postgres_data/base/16384/18946
  /shared/postgres_data/base/16384/18946_fsm
  /shared/postgres_data/base/16384/18952
  /shared/postgres_data/base/16384/21072
  /shared/postgres_data/base/16384/21072_fsm
  /shared/postgres_data/base/16384/21072_vm
  /shared/postgres_data/base/16384/21078
  /shared/postgres_data/base/16384/20193
  /shared/postgres_data/base/16384/20193_fsm
  /shared/postgres_data/base/16384/20193_vm
  /shared/postgres_data/base/16384/20196
  /shared/postgres_data/base/16384/20197
  /shared/postgres_data/base/16384/18340
  /shared/postgres_data/base/16384/18342
  /shared/postgres_data/base/16384/18531
  /shared/postgres_data/base/16384/18531_fsm
  /shared/postgres_data/base/16384/18531_vm
  /shared/postgres_data/base/16384/18534
  /shared/postgres_data/base/16384/18366
  /shared/postgres_data/base/16384/18366_fsm
  /shared/postgres_data/base/16384/18370
  /shared/postgres_data/base/16384/18372
  /shared/postgres_data/base/16384/18373
  /shared/postgres_data/base/16384/21079
  /shared/postgres_data/base/16384/18544
  /shared/postgres_data/base/16384/18693
  /shared/postgres_data/base/16384/18693_fsm
  /shared/postgres_data/base/16384/18693_vm
  /shared/postgres_data/base/16384/18694
  /shared/postgres_data/base/16384/18695
  /shared/postgres_data/base/16384/18497
  /shared/postgres_data/base/16384/18497_fsm
  /shared/postgres_data/base/16384/18497_vm
  /shared/postgres_data/base/16384/18500
  /shared/postgres_data/base/16384/18501
  /shared/postgres_data/base/16384/18502
  /shared/postgres_data/base/16384/18506
  /shared/postgres_data/base/16384/18508
  /shared/postgres_data/base/16384/18511
  /shared/postgres_data/base/16384/18512
  /shared/postgres_data/base/16384/18513
  /shared/postgres_data/base/16384/18515
  /shared/postgres_data/base/16384/19431
  /shared/postgres_data/base/16384/19432
  /shared/postgres_data/base/16384/18545
  /shared/postgres_data/base/16384/19659
  /shared/postgres_data/base/16384/18558
  /shared/postgres_data/base/16384/18558_fsm
  /shared/postgres_data/base/16384/18558_vm
  /shared/postgres_data/base/16384/18563
  /shared/postgres_data/base/16384/18565
  /shared/postgres_data/base/16384/18566
  /shared/postgres_data/base/16384/18568
  /shared/postgres_data/base/16384/18569
  /shared/postgres_data/base/16384/18571
  /shared/postgres_data/base/16384/18572
  /shared/postgres_data/base/16384/18574
  /shared/postgres_data/base/16384/18953
  /shared/postgres_data/base/16384/18954
  /shared/postgres_data/base/16384/18593
  /shared/postgres_data/base/16384/18598
  /shared/postgres_data/base/16384/18600
  /shared/postgres_data/base/16384/18601
  /shared/postgres_data/base/16384/18603
  /shared/postgres_data/base/16384/18604
  /shared/postgres_data/base/16384/18607
  /shared/postgres_data/base/16384/18611
  /shared/postgres_data/base/16384/18613
  /shared/postgres_data/base/16384/18614
  /shared/postgres_data/base/16384/18616
  /shared/postgres_data/base/16384/18955
  /shared/postgres_data/base/16384/18621
  /shared/postgres_data/base/16384/18621_fsm
  /shared/postgres_data/base/16384/18625
  /shared/postgres_data/base/16384/18627
  /shared/postgres_data/base/16384/18628
  /shared/postgres_data/base/16384/18630
  /shared/postgres_data/base/16384/19620
  /shared/postgres_data/base/16384/19620_fsm
  /shared/postgres_data/base/16384/20643
  /shared/postgres_data/base/16384/18633
  /shared/postgres_data/base/16384/20644
  /shared/postgres_data/base/16384/21495
  /shared/postgres_data/base/16384/21495_fsm
  /shared/postgres_data/base/16384/21495_vm
  /shared/postgres_data/base/16384/21498
  /shared/postgres_data/base/16384/18956
  /shared/postgres_data/base/16384/18698
  /shared/postgres_data/base/16384/18702
  /shared/postgres_data/base/16384/18704
  /shared/postgres_data/base/16384/18705
  /shared/postgres_data/base/16384/18707
  /shared/postgres_data/base/16384/18720
  /shared/postgres_data/base/16384/18720_fsm
  /shared/postgres_data/base/16384/18720_vm
  /shared/postgres_data/base/16384/18725
  /shared/postgres_data/base/16384/18727
  /shared/postgres_data/base/16384/18728
  /shared/postgres_data/base/16384/18730
  /shared/postgres_data/base/16384/18731
  /shared/postgres_data/base/16384/19627
  /shared/postgres_data/base/16384/19633
  /shared/postgres_data/base/16384/19634
  /shared/postgres_data/base/16384/19635
  /shared/postgres_data/base/16384/18764
  /shared/postgres_data/base/16384/18759
  /shared/postgres_data/base/16384/18761
  /shared/postgres_data/base/16384/19602
  /shared/postgres_data/base/16384/19602_fsm
  /shared/postgres_data/base/16384/19608
  /shared/postgres_data/base/16384/19609
  /shared/postgres_data/base/16384/19610
  /shared/postgres_data/base/16384/19876
  /shared/postgres_data/base/16384/19882
  /shared/postgres_data/base/16384/20013
  /shared/postgres_data/base/16384/20013_fsm
  /shared/postgres_data/base/16384/20013_vm
  /shared/postgres_data/base/16384/20016
  /shared/postgres_data/base/16384/20017
  /shared/postgres_data/base/16384/20018
  /shared/postgres_data/base/16384/20018_fsm
  /shared/postgres_data/base/16384/20019
  /shared/postgres_data/base/16384/20019_fsm
  /shared/postgres_data/base/16384/20020
  /shared/postgres_data/base/16384/20020_fsm
  /shared/postgres_data/base/16384/20021
  /shared/postgres_data/base/16384/20021_fsm
  /shared/postgres_data/base/16384/20022
  /shared/postgres_data/base/16384/20022_fsm
  /shared/postgres_data/base/16384/20023
  /shared/postgres_data/base/16384/20023_fsm
  /shared/postgres_data/base/16384/20024
  /shared/postgres_data/base/16384/20024_fsm
  /shared/postgres_data/base/16384/20025
  /shared/postgres_data/base/16384/20025_fsm
  /shared/postgres_data/base/16384/20026
  /shared/postgres_data/base/16384/20026_fsm
  /shared/postgres_data/base/16384/20027
  /shared/postgres_data/base/16384/20027_fsm
  /shared/postgres_data/base/16384/20028
  /shared/postgres_data/base/16384/20028_fsm
  /shared/postgres_data/base/16384/20029
  /shared/postgres_data/base/16384/20029_fsm
  /shared/postgres_data/base/16384/18873
  /shared/postgres_data/base/16384/18877
  /shared/postgres_data/base/16384/18904
  /shared/postgres_data/base/16384/18906
  /shared/postgres_data/base/16384/20594
  /shared/postgres_data/base/16384/20600
  /shared/postgres_data/base/16384/20601
  /shared/postgres_data/base/16384/21289
  /shared/postgres_data/base/16384/18949
  /shared/postgres_data/base/16384/18949_fsm
  /shared/postgres_data/base/16384/18951
  /shared/postgres_data/base/16384/18959
  /shared/postgres_data/base/16384/18963
  /shared/postgres_data/base/16384/18965
  /shared/postgres_data/base/16384/18966
  /shared/postgres_data/base/16384/18968
  /shared/postgres_data/base/16384/19439
  /shared/postgres_data/base/16384/19439_fsm
  /shared/postgres_data/base/16384/19439_vm
  /shared/postgres_data/base/16384/19445
  /shared/postgres_data/base/16384/19446
  /shared/postgres_data/base/16384/19447
  /shared/postgres_data/base/16384/19462
  /shared/postgres_data/base/16384/19462_fsm
  /shared/postgres_data/base/16384/19462_vm
  /shared/postgres_data/base/16384/19465
  /shared/postgres_data/base/16384/19466
  /shared/postgres_data/base/16384/19466_fsm
  /shared/postgres_data/base/16384/19621
  /shared/postgres_data/base/16384/20645
  /shared/postgres_data/base/16384/20645_fsm
  /shared/postgres_data/base/16384/21113
  /shared/postgres_data/base/16384/21114
  /shared/postgres_data/base/16384/20577
  /shared/postgres_data/base/16384/20577_fsm
  /shared/postgres_data/base/16384/20577_vm
  /shared/postgres_data/base/16384/20583
  /shared/postgres_data/base/16384/19062
  /shared/postgres_data/base/16384/19067
  /shared/postgres_data/base/16384/19069
  /shared/postgres_data/base/16384/19070
  /shared/postgres_data/base/16384/19072
  /shared/postgres_data/base/16384/19075
  /shared/postgres_data/base/16384/19079
  /shared/postgres_data/base/16384/19081
  /shared/postgres_data/base/16384/19082
  /shared/postgres_data/base/16384/19084
  /shared/postgres_data/base/16384/19096
  /shared/postgres_data/base/16384/19100
  /shared/postgres_data/base/16384/19102
  /shared/postgres_data/base/16384/19103
  /shared/postgres_data/base/16384/19107
  /shared/postgres_data/base/16384/19111
  /shared/postgres_data/base/16384/19113
  /shared/postgres_data/base/16384/19114
  /shared/postgres_data/base/16384/19118
  /shared/postgres_data/base/16384/19118_fsm
  /shared/postgres_data/base/16384/19122
  /shared/postgres_data/base/16384/19124
  /shared/postgres_data/base/16384/19125
  /shared/postgres_data/base/16384/19127
  /shared/postgres_data/base/16384/19128
  /shared/postgres_data/base/16384/19129
  /shared/postgres_data/base/16384/19132
  /shared/postgres_data/base/16384/19136
  /shared/postgres_data/base/16384/19138
  /shared/postgres_data/base/16384/19139
  /shared/postgres_data/base/16384/19141
  /shared/postgres_data/base/16384/19155
  /shared/postgres_data/base/16384/19159
  /shared/postgres_data/base/16384/19467
  /shared/postgres_data/base/16384/19174
  /shared/postgres_data/base/16384/19178
  /shared/postgres_data/base/16384/19180
  /shared/postgres_data/base/16384/19181
  /shared/postgres_data/base/16384/19183
  /shared/postgres_data/base/16384/19184
  /shared/postgres_data/base/16384/19217
  /shared/postgres_data/base/16384/19217_fsm
  /shared/postgres_data/base/16384/19217_vm
  /shared/postgres_data/base/16384/19220
  /shared/postgres_data/base/16384/19221
  /shared/postgres_data/base/16384/20103
  /shared/postgres_data/base/16384/20103_fsm
  /shared/postgres_data/base/16384/20103_vm
  /shared/postgres_data/base/16384/20109
  /shared/postgres_data/base/16384/19293
  /shared/postgres_data/base/16384/21290
  /shared/postgres_data/base/16384/19468
  /shared/postgres_data/base/16384/19287
  /shared/postgres_data/base/16384/19289
  /shared/postgres_data/base/16384/19622
  /shared/postgres_data/base/16384/19322
  /shared/postgres_data/base/16384/19322_fsm
  /shared/postgres_data/base/16384/19322_vm
  /shared/postgres_data/base/16384/19326
  /shared/postgres_data/base/16384/19328
  /shared/postgres_data/base/16384/19329
  /shared/postgres_data/base/16384/19333
  /shared/postgres_data/base/16384/19337
  /shared/postgres_data/base/16384/19339
  /shared/postgres_data/base/16384/19340
  /shared/postgres_data/base/16384/20593
  /shared/postgres_data/base/16384/19390
  /shared/postgres_data/base/16384/19391
  /shared/postgres_data/base/16384/19394
  /shared/postgres_data/base/16384/19394_fsm
  /shared/postgres_data/base/16384/19398
  /shared/postgres_data/base/16384/19400
  /shared/postgres_data/base/16384/19401
  /shared/postgres_data/base/16384/19405
  /shared/postgres_data/base/16384/19405_fsm
  /shared/postgres_data/base/16384/19410
  /shared/postgres_data/base/16384/19412
  /shared/postgres_data/base/16384/19413
  /shared/postgres_data/base/16384/19435
  /shared/postgres_data/base/16384/19436
  /shared/postgres_data/base/16384/20110
  /shared/postgres_data/base/16384/19442
  /shared/postgres_data/base/16384/19444
  /shared/postgres_data/base/16384/21115
  /shared/postgres_data/base/16384/21035
  /shared/postgres_data/base/16384/21035_fsm
  /shared/postgres_data/base/16384/21035_vm
  /shared/postgres_data/base/16384/21041
  /shared/postgres_data/base/16384/21042
  /shared/postgres_data/base/16384/21042_fsm
  /shared/postgres_data/base/16384/19469
  /shared/postgres_data/base/16384/19475
  /shared/postgres_data/base/16384/19476
  /shared/postgres_data/base/16384/17038
  /shared/postgres_data/base/16384/19495
  /shared/postgres_data/base/16384/19501
  /shared/postgres_data/base/16384/19498
  /shared/postgres_data/base/16384/19500
  /shared/postgres_data/base/16384/19502
  /shared/postgres_data/base/16384/19503
  /shared/postgres_data/base/16384/19518
  /shared/postgres_data/base/16384/19522
  /shared/postgres_data/base/16384/19524
  /shared/postgres_data/base/16384/19525
  /shared/postgres_data/base/16384/19660
  /shared/postgres_data/base/16384/20344
  /shared/postgres_data/base/16384/20350
  /shared/postgres_data/base/16384/19605
  /shared/postgres_data/base/16384/19605_fsm
  /shared/postgres_data/base/16384/19605_vm
  /shared/postgres_data/base/16384/19607
  /shared/postgres_data/base/16384/19615
  /shared/postgres_data/base/16384/19615_fsm
  /shared/postgres_data/base/16384/19615_vm
  /shared/postgres_data/base/16384/19617
  /shared/postgres_data/base/16384/19630
  /shared/postgres_data/base/16384/19632
  /shared/postgres_data/base/16384/19638
  /shared/postgres_data/base/16384/19642
  /shared/postgres_data/base/16384/19644
  /shared/postgres_data/base/16384/19645
  /shared/postgres_data/base/16384/19671
  /shared/postgres_data/base/16384/19671_fsm
  /shared/postgres_data/base/16384/19702
  /shared/postgres_data/base/16384/19702_fsm
  /shared/postgres_data/base/16384/19702_vm
  /shared/postgres_data/base/16384/19703
  /shared/postgres_data/base/16384/19704
  /shared/postgres_data/base/16384/19705
  /shared/postgres_data/base/16384/19705_fsm
  /shared/postgres_data/base/16384/19705_vm
  /shared/postgres_data/base/16384/19708
  /shared/postgres_data/base/16384/19708_fsm
  /shared/postgres_data/base/16384/19710
  /shared/postgres_data/base/16384/19710_fsm
  /shared/postgres_data/base/16384/20646
  /shared/postgres_data/base/16384/20647
  /shared/postgres_data/base/16384/20648
  /shared/postgres_data/base/16384/20030
  /shared/postgres_data/base/16384/20030_fsm
  /shared/postgres_data/base/16384/20031
  /shared/postgres_data/base/16384/20031_fsm
  /shared/postgres_data/base/16384/20032
  /shared/postgres_data/base/16384/20032_fsm
  /shared/postgres_data/base/16384/20033
  /shared/postgres_data/base/16384/20033_fsm
  /shared/postgres_data/base/16384/20285
  /shared/postgres_data/base/16384/20285_fsm
  /shared/postgres_data/base/16384/20285_vm
  /shared/postgres_data/base/16384/20286
  /shared/postgres_data/base/16384/19834
  /shared/postgres_data/base/16384/19838
  /shared/postgres_data/base/16384/19840
  /shared/postgres_data/base/16384/19841
  /shared/postgres_data/base/16384/19856
  /shared/postgres_data/base/16384/19856_fsm
  /shared/postgres_data/base/16384/19856_vm
  /shared/postgres_data/base/16384/19860
  /shared/postgres_data/base/16384/19860_fsm
  /shared/postgres_data/base/16384/19862
  /shared/postgres_data/base/16384/19863
  /shared/postgres_data/base/16384/19865
  /shared/postgres_data/base/16384/19866
  /shared/postgres_data/base/16384/19879
  /shared/postgres_data/base/16384/19881
  /shared/postgres_data/base/16384/19883
  /shared/postgres_data/base/16384/19884
  /shared/postgres_data/base/16384/20830
  /shared/postgres_data/base/16384/20830_fsm
  /shared/postgres_data/base/16384/20836
  /shared/postgres_data/base/16384/20837
  /shared/postgres_data/base/16384/19897
  /shared/postgres_data/base/16384/19898
  /shared/postgres_data/base/16384/19898_fsm
  /shared/postgres_data/base/16384/19899
  /shared/postgres_data/base/16384/19900
  /shared/postgres_data/base/16384/19900_fsm
  /shared/postgres_data/base/16384/19901
  /shared/postgres_data/base/16384/21116
  /shared/postgres_data/base/16384/21117
  /shared/postgres_data/base/16384/21126
  /shared/postgres_data/base/16384/21126_fsm
  /shared/postgres_data/base/16384/19915
  /shared/postgres_data/base/16384/19919
  /shared/postgres_data/base/16384/19921
  /shared/postgres_data/base/16384/19922
  /shared/postgres_data/base/16384/20034
  /shared/postgres_data/base/16384/20034_fsm
  /shared/postgres_data/base/16384/20035
  /shared/postgres_data/base/16384/20035_fsm
  /shared/postgres_data/base/16384/20036
  /shared/postgres_data/base/16384/20036_fsm
  /shared/postgres_data/base/16384/20037
  /shared/postgres_data/base/16384/20037_fsm
  /shared/postgres_data/base/16384/20038
  /shared/postgres_data/base/16384/20051
  /shared/postgres_data/base/16384/20051_fsm
  /shared/postgres_data/base/16384/20051_vm
  /shared/postgres_data/base/16384/20053
  /shared/postgres_data/base/16384/20053_fsm
  /shared/postgres_data/base/16384/20058
  /shared/postgres_data/base/16384/20058_fsm
  /shared/postgres_data/base/16384/20062
  /shared/postgres_data/base/16384/20064
  /shared/postgres_data/base/16384/20067
  /shared/postgres_data/base/16384/20071
  /shared/postgres_data/base/16384/20073
  /shared/postgres_data/base/16384/20074
  /shared/postgres_data/base/16384/20089
  /shared/postgres_data/base/16384/20089_fsm
  /shared/postgres_data/base/16384/20093
  /shared/postgres_data/base/16384/20095
  /shared/postgres_data/base/16384/20096
  /shared/postgres_data/base/16384/20098
  /shared/postgres_data/base/16384/20099
  /shared/postgres_data/base/16384/20106
  /shared/postgres_data/base/16384/20106_fsm
  /shared/postgres_data/base/16384/20108
  /shared/postgres_data/base/16384/20111
  /shared/postgres_data/base/16384/20198
  /shared/postgres_data/base/16384/20649
  /shared/postgres_data/base/16384/20649_fsm
  /shared/postgres_data/base/16384/20144
  /shared/postgres_data/base/16384/20148
  /shared/postgres_data/base/16384/20150
  /shared/postgres_data/base/16384/20151
  /shared/postgres_data/base/16384/20153
  /shared/postgres_data/base/16384/20183
  /shared/postgres_data/base/16384/20187
  /shared/postgres_data/base/16384/20189
  /shared/postgres_data/base/16384/20190
  /shared/postgres_data/base/16384/21080
  /shared/postgres_data/base/16384/20199
  /shared/postgres_data/base/16384/20200
  /shared/postgres_data/base/16384/20213
  /shared/postgres_data/base/16384/20213_fsm
  /shared/postgres_data/base/16384/20217
  /shared/postgres_data/base/16384/20219
  /shared/postgres_data/base/16384/20222
  /shared/postgres_data/base/16384/20226
  /shared/postgres_data/base/16384/20228
  /shared/postgres_data/base/16384/20376
  /shared/postgres_data/base/16384/20382
  /shared/postgres_data/base/16384/20383
  /shared/postgres_data/base/16384/20384
  /shared/postgres_data/base/16384/20385
  /shared/postgres_data/base/16384/20245
  /shared/postgres_data/base/16384/20248
  /shared/postgres_data/base/16384/20252
  /shared/postgres_data/base/16384/20254
  /shared/postgres_data/base/16384/20255
  /shared/postgres_data/base/16384/21477
  /shared/postgres_data/base/16384/21477_fsm
  /shared/postgres_data/base/16384/21483
  /shared/postgres_data/base/16384/20288
  /shared/postgres_data/base/16384/20296
  /shared/postgres_data/base/16384/20300
  /shared/postgres_data/base/16384/20302
  /shared/postgres_data/base/16384/20303
  /shared/postgres_data/base/16384/20305
  /shared/postgres_data/base/16384/20311
  /shared/postgres_data/base/16384/20311_fsm
  /shared/postgres_data/base/16384/20311_vm
  /shared/postgres_data/base/16384/20315
  /shared/postgres_data/base/16384/20316
  /shared/postgres_data/base/16384/20333
  /shared/postgres_data/base/16384/20337
  /shared/postgres_data/base/16384/20339
  /shared/postgres_data/base/16384/20340
  /shared/postgres_data/base/16384/20342
  /shared/postgres_data/base/16384/20347
  /shared/postgres_data/base/16384/20349
  /shared/postgres_data/base/16384/20386
  /shared/postgres_data/base/16384/20379
  /shared/postgres_data/base/16384/20381
  /shared/postgres_data/base/16384/21259
  /shared/postgres_data/base/16384/21265
  /shared/postgres_data/base/16384/20406
  /shared/postgres_data/base/16384/20410
  /shared/postgres_data/base/16384/20414
  /shared/postgres_data/base/16384/20418
  /shared/postgres_data/base/16384/21266
  /shared/postgres_data/base/16384/20421
  /shared/postgres_data/base/16384/20422
  /shared/postgres_data/base/16384/20423
  /shared/postgres_data/base/16384/20424
  /shared/postgres_data/base/16384/20427
  /shared/postgres_data/base/16384/20431
  /shared/postgres_data/base/16384/20433
  /shared/postgres_data/base/16384/20434
  /shared/postgres_data/base/16384/20437
  /shared/postgres_data/base/16384/20437_fsm
  /shared/postgres_data/base/16384/20437_vm
  /shared/postgres_data/base/16384/20441
  /shared/postgres_data/base/16384/20443
  /shared/postgres_data/base/16384/20444
  /shared/postgres_data/base/16384/20444_fsm
  /shared/postgres_data/base/16384/21321
  /shared/postgres_data/base/16384/21321_fsm
  /shared/postgres_data/base/16384/20478
  /shared/postgres_data/base/16384/20484
  /shared/postgres_data/base/16384/20461
  /shared/postgres_data/base/16384/20465
  /shared/postgres_data/base/16384/20467
  /shared/postgres_data/base/16384/20470
  /shared/postgres_data/base/16384/20474
  /shared/postgres_data/base/16384/20476
  /shared/postgres_data/base/16384/20481
  /shared/postgres_data/base/16384/20483
  /shared/postgres_data/base/16384/20485
  /shared/postgres_data/base/16384/20487
  /shared/postgres_data/base/16384/20497
  /shared/postgres_data/base/16384/20500
  /shared/postgres_data/base/16384/20504
  /shared/postgres_data/base/16384/21360
  /shared/postgres_data/base/16384/21360_fsm
  /shared/postgres_data/base/16384/21360_vm
  /shared/postgres_data/base/16384/21366
  /shared/postgres_data/base/16384/21367
  /shared/postgres_data/base/16384/21368
  /shared/postgres_data/base/16384/21369
  /shared/postgres_data/base/16384/20523
  /shared/postgres_data/base/16384/20527
  /shared/postgres_data/base/16384/20529
  /shared/postgres_data/base/16384/20530
  /shared/postgres_data/base/16384/20534
  /shared/postgres_data/base/16384/20545
  /shared/postgres_data/base/16384/20547
  /shared/postgres_data/base/16384/20548
  /shared/postgres_data/base/16384/20552
  /shared/postgres_data/base/16384/20558
  /shared/postgres_data/base/16384/20560
  /shared/postgres_data/base/16384/20561
  /shared/postgres_data/base/16384/20563
  /shared/postgres_data/base/16384/20564
  /shared/postgres_data/base/16384/20567
  /shared/postgres_data/base/16384/20568
  /shared/postgres_data/base/16384/20571
  /shared/postgres_data/base/16384/20572
  /shared/postgres_data/base/16384/20575
  /shared/postgres_data/base/16384/20580
  /shared/postgres_data/base/16384/20582
  /shared/postgres_data/base/16384/20588
  /shared/postgres_data/base/16384/20590
  /shared/postgres_data/base/16384/20597
  /shared/postgres_data/base/16384/20599
  /shared/postgres_data/base/16384/20613
  /shared/postgres_data/base/16384/20614
  /shared/postgres_data/base/16384/20615
  /shared/postgres_data/base/16384/20616
  /shared/postgres_data/base/16384/20616_fsm
  /shared/postgres_data/base/16384/20617
  /shared/postgres_data/base/16384/20617_fsm
  /shared/postgres_data/base/16384/20618
  /shared/postgres_data/base/16384/20619
  /shared/postgres_data/base/16384/20619_fsm
  /shared/postgres_data/base/16384/20620
  /shared/postgres_data/base/16384/20621
  /shared/postgres_data/base/16384/21119
  /shared/postgres_data/base/16384/20623
  /shared/postgres_data/base/16384/20624
  /shared/postgres_data/base/16384/20625
  /shared/postgres_data/base/16384/20626
  /shared/postgres_data/base/16384/20629
  /shared/postgres_data/base/16384/20629_fsm
  /shared/postgres_data/base/16384/20630
  /shared/postgres_data/base/16384/20630_fsm
  /shared/postgres_data/base/16384/20631
  /shared/postgres_data/base/16384/20631_fsm
  /shared/postgres_data/base/16384/20632
  /shared/postgres_data/base/16384/20632_fsm
  /shared/postgres_data/base/16384/20633
  /shared/postgres_data/base/16384/20633_fsm
  /shared/postgres_data/base/16384/20638
  /shared/postgres_data/base/16384/20640
  /shared/postgres_data/base/16384/20662
  /shared/postgres_data/base/16384/20666
  /shared/postgres_data/base/16384/20668
  /shared/postgres_data/base/16384/20669
  /shared/postgres_data/base/16384/20671
  /shared/postgres_data/base/16384/20672
  /shared/postgres_data/base/16384/20673
  /shared/postgres_data/base/16384/20674
  /shared/postgres_data/base/16384/20713
  /shared/postgres_data/base/16384/20713_fsm
  /shared/postgres_data/base/16384/20713_vm
  /shared/postgres_data/base/16384/20719
  /shared/postgres_data/base/16384/20721
  /shared/postgres_data/base/16384/20722
  /shared/postgres_data/base/16384/20722_fsm
  /shared/postgres_data/base/16384/20728
  /shared/postgres_data/base/16384/20732
  /shared/postgres_data/base/16384/20734
  /shared/postgres_data/base/16384/20735
  /shared/postgres_data/base/16384/20737
  /shared/postgres_data/base/16384/20740
  /shared/postgres_data/base/16384/20740_fsm
  /shared/postgres_data/base/16384/20740_vm
  /shared/postgres_data/base/16384/20744
  /shared/postgres_data/base/16384/20746
  /shared/postgres_data/base/16384/20747
  /shared/postgres_data/base/16384/20747_fsm
  /shared/postgres_data/base/16384/20762
  /shared/postgres_data/base/16384/20763
  /shared/postgres_data/base/16384/20777
  /shared/postgres_data/base/16384/20811
  /shared/postgres_data/base/16384/20815
  /shared/postgres_data/base/16384/20817
  /shared/postgres_data/base/16384/20818
  /shared/postgres_data/base/16384/20936
  /shared/postgres_data/base/16384/20939
  /shared/postgres_data/base/16384/20940
  /shared/postgres_data/base/16384/20833
  /shared/postgres_data/base/16384/20833_fsm
  /shared/postgres_data/base/16384/20833_vm
  /shared/postgres_data/base/16384/20835
  /shared/postgres_data/base/16384/20903
  /shared/postgres_data/base/16384/20909
  /shared/postgres_data/base/16384/20875
  /shared/postgres_data/base/16384/20879
  /shared/postgres_data/base/16384/20881
  /shared/postgres_data/base/16384/20882
  /shared/postgres_data/base/16384/21379
  /shared/postgres_data/base/16384/20906
  /shared/postgres_data/base/16384/20908
  /shared/postgres_data/base/16384/20910
  /shared/postgres_data/base/16384/20942
  /shared/postgres_data/base/16384/20943
  /shared/postgres_data/base/16384/20946
  /shared/postgres_data/base/16384/20950
  /shared/postgres_data/base/16384/20952
  /shared/postgres_data/base/16384/20953
  /shared/postgres_data/base/16384/20955
  /shared/postgres_data/base/16384/20956
  /shared/postgres_data/base/16384/20979
  /shared/postgres_data/base/16384/20979_fsm
  /shared/postgres_data/base/16384/20979_vm
  /shared/postgres_data/base/16384/20983
  /shared/postgres_data/base/16384/20985
  /shared/postgres_data/base/16384/20986
  /shared/postgres_data/base/16384/20986_fsm
  /shared/postgres_data/base/16384/20990
  /shared/postgres_data/base/16384/20990_fsm
  /shared/postgres_data/base/16384/20995
  /shared/postgres_data/base/16384/20997
  /shared/postgres_data/base/16384/20998
  /shared/postgres_data/base/16384/21000
  /shared/postgres_data/base/16384/21002
  /shared/postgres_data/base/16384/21029
  /shared/postgres_data/base/16384/21029_fsm
  /shared/postgres_data/base/16384/21029_vm
  /shared/postgres_data/base/16384/21031
  /shared/postgres_data/base/16384/21038
  /shared/postgres_data/base/16384/21040
  /shared/postgres_data/base/16384/21047
  /shared/postgres_data/base/16384/21049
  /shared/postgres_data/base/16384/21056
  /shared/postgres_data/base/16384/21058
  /shared/postgres_data/base/16384/21075
  /shared/postgres_data/base/16384/21077
  /shared/postgres_data/base/16384/21083
  /shared/postgres_data/base/16384/21088
  /shared/postgres_data/base/16384/21090
  /shared/postgres_data/base/16384/21091
  /shared/postgres_data/base/16384/21093
  /shared/postgres_data/base/16384/21094
  /shared/postgres_data/base/16384/21094_fsm
  /shared/postgres_data/base/16384/21107
  /shared/postgres_data/base/16384/21107_fsm
  /shared/postgres_data/base/16384/21109
  /shared/postgres_data/base/16384/21127
  /shared/postgres_data/base/16384/21127_fsm
  /shared/postgres_data/base/16384/21141
  /shared/postgres_data/base/16384/21144
  /shared/postgres_data/base/16384/21149
  /shared/postgres_data/base/16384/21151
  /shared/postgres_data/base/16384/21152
  /shared/postgres_data/base/16384/21322
  /shared/postgres_data/base/16384/21322_fsm
  /shared/postgres_data/base/16384/21158
  /shared/postgres_data/base/16384/21162
  /shared/postgres_data/base/16384/21164
  /shared/postgres_data/base/16384/21165
  /shared/postgres_data/base/16384/21170
  /shared/postgres_data/base/16384/21175
  /shared/postgres_data/base/16384/21177
  /shared/postgres_data/base/16384/21178
  /shared/postgres_data/base/16384/21179
  /shared/postgres_data/base/16384/21180
  /shared/postgres_data/base/16384/21227
  /shared/postgres_data/base/16384/21230
  /shared/postgres_data/base/16384/21200
  /shared/postgres_data/base/16384/21200_fsm
  /shared/postgres_data/base/16384/21200_vm
  /shared/postgres_data/base/16384/21205
  /shared/postgres_data/base/16384/21207
  /shared/postgres_data/base/16384/21208
  /shared/postgres_data/base/16384/21208_fsm
  /shared/postgres_data/base/16384/21210
  /shared/postgres_data/base/16384/21210_fsm
  /shared/postgres_data/base/16384/21213
  /shared/postgres_data/base/16384/21218
  /shared/postgres_data/base/16384/21220
  /shared/postgres_data/base/16384/21221
  /shared/postgres_data/base/16384/21231
  /shared/postgres_data/base/16384/21232
  /shared/postgres_data/base/16384/21233
  /shared/postgres_data/base/16384/21249
  /shared/postgres_data/base/16384/21253
  /shared/postgres_data/base/16384/21255
  /shared/postgres_data/base/16384/21256
  /shared/postgres_data/base/16384/21262
  /shared/postgres_data/base/16384/21264
  /shared/postgres_data/base/16384/21268
  /shared/postgres_data/base/16384/21269
  /shared/postgres_data/base/16384/21269_fsm
  /shared/postgres_data/base/16384/21278
  /shared/postgres_data/base/16384/21279
  /shared/postgres_data/base/16384/21284
  /shared/postgres_data/base/16384/21286
  /shared/postgres_data/base/16384/21308
  /shared/postgres_data/base/16384/21314
  /shared/postgres_data/base/16384/21316
  /shared/postgres_data/base/16384/21328
  /shared/postgres_data/base/16384/21332
  /shared/postgres_data/base/16384/21334
  /shared/postgres_data/base/16384/21337
  /shared/postgres_data/base/16384/21338
  /shared/postgres_data/base/16384/21338_fsm
  /shared/postgres_data/base/16384/21342
  /shared/postgres_data/base/16384/21342_fsm
  /shared/postgres_data/base/16384/21342_vm
  /shared/postgres_data/base/16384/21346
  /shared/postgres_data/base/16384/21348
  /shared/postgres_data/base/16384/21349
  /shared/postgres_data/base/16384/21349_fsm
  /shared/postgres_data/base/16384/21351
  /shared/postgres_data/base/16384/21351_fsm
  /shared/postgres_data/base/16384/21352
  /shared/postgres_data/base/16384/21352_fsm
  /shared/postgres_data/base/16384/21353
  /shared/postgres_data/base/16384/21353_fsm
  /shared/postgres_data/base/16384/21354
  /shared/postgres_data/base/16384/21354_fsm
  /shared/postgres_data/base/16384/21358
  /shared/postgres_data/base/16384/21358_fsm
  /shared/postgres_data/base/16384/21363
  /shared/postgres_data/base/16384/21365
  /shared/postgres_data/base/16384/21374
  /shared/postgres_data/base/16384/21376
  /shared/postgres_data/base/16384/21382
  /shared/postgres_data/base/16384/21391
  /shared/postgres_data/base/16384/21393
  /shared/postgres_data/base/16384/21394
  /shared/postgres_data/base/16384/21401
  /shared/postgres_data/base/16384/21402
  /shared/postgres_data/base/16384/21405
  /shared/postgres_data/base/16384/21405_fsm
  /shared/postgres_data/base/16384/21409
  /shared/postgres_data/base/16384/21411
  /shared/postgres_data/base/16384/21412
  /shared/postgres_data/base/16384/21419
  /shared/postgres_data/base/16384/21420
  /shared/postgres_data/base/16384/21421
  /shared/postgres_data/base/16384/21421_fsm
  /shared/postgres_data/base/16384/21439
  /shared/postgres_data/base/16384/21440
  /shared/postgres_data/base/16384/21441
  /shared/postgres_data/base/16384/21442
  /shared/postgres_data/base/16384/21455
  /shared/postgres_data/base/16384/21455_fsm
  /shared/postgres_data/base/16384/21459
  /shared/postgres_data/base/16384/21461
  /shared/postgres_data/base/16384/21464
  /shared/postgres_data/base/16384/21468
  /shared/postgres_data/base/16384/21470
  /shared/postgres_data/base/16384/21471
  /shared/postgres_data/base/16384/21473
  /shared/postgres_data/base/16384/21474
  /shared/postgres_data/base/16384/21475
  /shared/postgres_data/base/16384/21480
  /shared/postgres_data/base/16384/21482
  /shared/postgres_data/base/13014/2613
  /shared/postgres_data/base/13014/2683
  /shared/postgres_data/base/1/2613
  /shared/postgres_data/base/1/2683
                                                            ok
Установка следующего OID для нового кластера                            ok
Синхронизация каталога данных с диском                                 ok
Создание скрипта для анализа нового кластера                      ok
Создание скрипта для удаления старого кластера                       ok

Обновление завершено
----------------
Статистика оптимизатора не переносится при помощи pg_upgrade, поэтому,
после запуска нового сервера, рекомендуется выполнить:
    ./analyze_new_cluster.sh

Выполнение этого скрипта удалит файлы данных старого кластера:
    ./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES ЗАВЕРШЕНО

Старая база данных версии 10 хранится в /shared/postgres_data_old

Для завершения обновления выполните пересборку с помощью:

./launcher rebuild app
root@idmforums:/var/idmforums# ./launcher rebuild app
Убедимся, что загрузчик обновлен
Получение данных из origin
Исходный код загрузчика разошелся, это ожидаемо только в режиме разработки
Остановка старого контейнера
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
Из https://github.com/discourse/pups
   17f04ec..e0ff889  master        -> origin/master
 * [новая ветка]      main          -> origin/main
 * [новая ветка]      stream-stdout -> origin/stream-stdout
 * [новый тег]         v1.1.1        -> v1.1.1
 * [новый тег]         v1.1.0        -> v1.1.0
 * [новый тег]         v1.2.0        -> v1.2.0
 * [новый тег]         v1.2.1        -> v1.2.1
Обновление 17f04ec..e0ff889
Быстрое перемещение вперед
 .github/workflows/ci.yml     |  29 ++++++
 .github/workflows/lint.yml   |  27 +++++
 .rubocop.yml                 |   3 +
 Gemfile                      |   2 +
 Guardfile                    |   4 +-
 README.md                    |  21 ++++
 Rakefile                     |  14 +--
 bin/pups                     |   8 +-
 lib/pups.rb                  |  32 ++++--
 lib/pups/cli.rb              |  92 ++++++++++-------
 lib/pups/command.rb          |  25 +++--
 lib/pups/config.rb           | 240 +++++++++++++++++++++++--------------------
 lib/pups/docker.rb           |  69 +++++++++++++
 lib/pups/exec_command.rb     | 182 ++++++++++++++++----------------
 lib/pups/file_command.rb     |  60 +++++------
 lib/pups/merge_command.rb    |  94 ++++++++---------
 lib/pups/replace_command.rb  |  70 +++++++------
 lib/pups/runit.rb            |  47 +++++----
 lib/pups/version.rb          |   4 +-
 pups.gemspec                 |  37 ++++---
 test/cli_test.rb             | 102 +++++++++++++++---
 test/config_test.rb          | 215 ++++++++++++++++++++++++++++----------
 test/docker_test.rb          | 157 ++++++++++++++++++++++++++++
 test/exec_command_test.rb    |  62 ++++++-----
 test/file_command_test.rb    |  17 ++-
 test/merge_command_test.rb   |  64 ++++++------
 test/replace_command_test.rb |  86 ++++++++--------
 test/test_helper.rb          |   2 +
 Изменено 28 файлов, 1158 вставок(+), 607 удалений(-)
 Создан режим 100644 .github/workflows/ci.yml
 Создан режим 100644 .github/workflows/lint.yml
 Создан режим 100644 .rubocop.yml
 Создан режим 100644 lib/pups/docker.rb
 Создан режим 100644 test/docker_test.rb
Примечание: проверка выхода 'v1.0.3'.

Вы находитесь в состоянии «отделенный HEAD». Вы можете осмотреться, внести экспериментальные
изменения и закоммитить их, а также отменить любые коммиты, сделанные в этом
состоянии, не затрагивая никакие ветки, выполнив другую проверку выхода.

Если вы хотите создать новую ветку для сохранения созданных вами коммитов, вы можете
сделать это (сейчас или позже), используя -b с командой checkout снова. Пример:

  git checkout -b <новое-имя-ветки>

HEAD теперь находится в d1db030 выпущена новая версия
I, [2024-06-04T23:40:34.191210 #1]  INFO -- : Загрузка --stdin
I, [2024-06-04T23:40:34.198692 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-06-04T23:40:34.228020 #1]  INFO -- : Генерация локалей (это может занять некоторое время)...
Генерация завершена.

I, [2024-06-04T23:40:34.228323 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-06-04T23:40:34.231055 #1]  INFO -- :
I, [2024-06-04T23:40:34.231294 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-06-04T23:40:34.233426 #1]  INFO -- :
I, [2024-06-04T23:40:34.233610 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-06-04T23:40:34.235052 #1]  INFO -- :
I, [2024-06-04T23:40:34.235243 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-06-04T23:40:34.237698 #1]  INFO -- :
I, [2024-06-04T23:40:34.237920 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-06-04T23:40:34.240767 #1]  INFO -- :
I, [2024-06-04T23:40:34.240960 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres уже запущен, остановите контейнер ; exit 1
2024/06/04 23:40:34 socat[36] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Нет такого файла или каталога
I, [2024-06-04T23:40:34.245832 #1]  INFO -- :
I, [2024-06-04T23:40:34.246035 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-06-04T23:40:34.248131 #1]  INFO -- :
I, [2024-06-04T23:40:34.248370 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-06-04T23:40:34.251004 #1]  INFO -- :
I, [2024-06-04T23:40:34.251248 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:40:34.253455 #1]  INFO -- :
I, [2024-06-04T23:40:34.253706 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:40:34.255925 #1]  INFO -- :
I, [2024-06-04T23:40:34.260253 #1]  INFO -- : Файл > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-06-04T23:40:34.264161 #1]  INFO -- : Файл > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-06-04T23:40:34.269057 #1]  INFO -- : Файл > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-06-04T23:40:34.273413 #1]  INFO -- : Файл > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-06-04T23:40:34.273704 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-06-04T23:40:34.805509 #1]  INFO -- :
I, [2024-06-04T23:40:34.805817 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2024-06-04T23:40:34.809381 #1]  INFO -- :
I, [2024-06-04T23:40:34.809593 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-06-04T23:40:34.822667 #1]  INFO -- :
I, [2024-06-04T23:40:34.823150 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-06-04T23:40:34.826082 #1]  INFO -- :
I, [2024-06-04T23:40:34.826302 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-06-04T23:40:34.831326 #1]  INFO -- :
I, [2024-06-04T23:40:34.831545 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-06-04T23:40:34.833650 #1]  INFO -- :
I, [2024-06-04T23:40:34.834325 #1]  INFO -- : Замена data_directory = '/var/lib/postgresql/13/main' на data_directory = '/shared/postgres_data' в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.835208 #1]  INFO -- : Замена (?-mix:#?listen_addresses *=.*) на listen_addresses = '*' в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.835549 #1]  INFO -- : Замена (?-mix:#?synchronous_commit *=.*) на synchronous_commit = $db_synchronous_commit в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.835907 #1]  INFO -- : Замена (?-mix:#?shared_buffers *=.*) на shared_buffers = $db_shared_buffers в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.836288 #1]  INFO -- : Замена (?-mix:#?work_mem *=.*) на work_mem = $db_work_mem в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.836619 #1]  INFO -- : Замена (?-mix:#?default_text_search_config *=.*) на default_text_search_config = '$db_default_text_search_config' в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.836928 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-06-04T23:40:34.840929 #1]  INFO -- :
I, [2024-06-04T23:40:34.841468 #1]  INFO -- : Замена (?-mix:#?checkpoint_segments *=.*) на checkpoint_segments = $db_checkpoint_segments в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.841795 #1]  INFO -- : Замена (?-mix:#?logging_collector *=.*) на logging_collector = $db_logging_collector в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.842153 #1]  INFO -- : Замена (?-mix:#?log_min_duration_statement *=.*) на log_min_duration_statement = $db_log_min_duration_statement в /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.842724 #1]  INFO -- : Замена (?-mix:^#local +replication +postgres +peer$) на local replication postgres peer в /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-04T23:40:34.843021 #1]  INFO -- : Замена (?-mix:^host.*all.*all.*127.*$) на host all all 0.0.0.0/0 md5 в /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-04T23:40:34.843276 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2024-06-04T23:40:34.845795 #1]  INFO -- : > sleep 5
2024-06-04 23:40:34.941 UTC [59] LOG:  запуск PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) на x86_64-pc-linux-gnu, скомпилирован gcc (Debian 8.3.0-6) 8.3.0, 64-бит
2024-06-04 23:40:34.941 UTC [59] LOG:  прослушивание IPv4 адреса "0.0.0.0", порт 5432
2024-06-04 23:40:34.941 UTC [59] LOG:  прослушивание IPv6 адреса "::", порт 5432
2024-06-04 23:40:34.943 UTC [59] LOG:  прослушивание Unix сокета "/var/run/postgresql/.s.PGSQL.5432"
2024-06-04 23:40:34.947 UTC [62] LOG:  система баз данных была остановлена в 2024-06-04 23:37:27 UTC
2024-06-04 23:40:34.954 UTC [59] LOG:  система баз данных готова к принятию соединений
I, [2024-06-04T23:40:39.849613 #1]  INFO -- :
I, [2024-06-04T23:40:39.850223 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-06-04 23:40:39.910 UTC [72] postgres@postgres ERROR:  база данных "discourse" уже существует
2024-06-04 23:40:39.910 UTC [72] postgres@discourse STATEMENT:  CREATE DATABASE discourse;
createdb: ошибка: создание базы данных не удалось: ERROR:  база данных "discourse" уже существует
I, [2024-06-04T23:40:39.913167 #1]  INFO -- :
I, [2024-06-04T23:40:39.913480 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-06-04 23:40:39.968 UTC [83] postgres@discourse ERROR:  роль "discourse" уже существует
2024-06-04 23:40:39.968 UTC [83] postgres@discourse STATEMENT:  create user discourse;
ERROR:  роль "discourse" уже существует
I, [2024-06-04T23:40:39.971330 #1]  INFO -- :
I, [2024-06-04T23:40:39.971638 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-06-04T23:40:40.022845 #1]  INFO -- : GRANT

I, [2024-06-04T23:40:40.023178 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-06-04T23:40:40.078407 #1]  INFO -- : ALTER SCHEMA

I, [2024-06-04T23:40:40.078622 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  расширение "hstore" уже существует, пропускаем
I, [2024-06-04T23:40:40.136299 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.136815 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  расширение "pg_trgm" уже существует, пропускаем
I, [2024-06-04T23:40:40.189922 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.190293 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  расширение "hstore" уже существует, пропускаем
I, [2024-06-04T23:40:40.235506 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.236235 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  расширение "pg_trgm" уже существует, пропускаем
I, [2024-06-04T23:40:40.285049 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.285412 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-06-04T23:40:40.288461 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2024-06-04T23:40:40.346156 #1]  INFO -- : Файл > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-06-04T23:40:40.349320 #1]  INFO -- : Файл > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-06-04T23:40:40.349444 #1]  INFO -- : > echo postgres установлен!
I, [2024-06-04T23:40:40.352137 #1]  INFO -- : postgres установлен!

I, [2024-06-04T23:40:40.357616 #1]  INFO -- : Файл > /etc/service/redis/run  chmod: +x  chown:
I, [2024-06-04T23:40:40.363179 #1]  INFO -- : Файл > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-06-04T23:40:40.368977 #1]  INFO -- : Файл > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-06-04T23:40:40.369997 #1]  INFO -- : Замена daemonize yes на  в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.370654 #1]  INFO -- : Замена (?-mix:^pidfile.*$) на  в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.370977 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-06-04T23:40:40.374785 #1]  INFO -- :
I, [2024-06-04T23:40:40.375165 #1]  INFO -- : Замена (?-mix:^logfile.*$) на logfile "" в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.375742 #1]  INFO -- : Замена (?-mix:^bind .*$) на  в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.376160 #1]  INFO -- : Замена (?-mix:^dir .*$) на dir /shared/redis_data в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.376570 #1]  INFO -- : Замена (?-mix:^protected-mode yes) на protected-mode no в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.377131 #1]  INFO -- : Замена # io-threads 4 на io-threads $redis_io_threads в /etc/redis/redis.conf
I, [2024-06-04T23:40:40.377464 #1]  INFO -- : > echo redis установлен
I, [2024-06-04T23:40:40.380055 #1]  INFO -- : redis установлен

I, [2024-06-04T23:40:40.380270 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-06-04T23:40:40.384834 #1]  INFO -- : logfile ""

I, [2024-06-04T23:40:40.385077 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.confI, [2024-06-04T23:40:40.387343 #1]  INFO -- : > sleep 10
176:C 04 Jun 2024 23:40:40.395 # oO0OoO0OoO0Oo Redis запускается oO0OoO0OoO0Oo
176:C 04 Jun 2024 23:40:40.395 # Версия Redis=6.2.3, биты=64, commit=00000000, modified=0, pid=176, только что запущен
176:C 04 Jun 2024 23:40:40.395 # Конфигурация загружена
176:M 04 Jun 2024 23:40:40.396 * монохронные часы: POSIX clock_gettime
176:M 04 Jun 2024 23:40:40.396 * Работа в режиме standalone, порт=6379.
176:M 04 Jun 2024 23:40:40.397 # ПРЕДУПРЕЖДЕНИЕ: Настройка TCP backlog 511 не может быть применена, так как /proc/sys/net/core/somaxconn установлен в меньшее значение 128.
176:M 04 Jun 2024 23:40:40.397 # Сервер инициализирован
176:M 04 Jun 2024 23:40:40.397 # ПРЕДУПРЕЖДЕНИЕ: overcommit_memory установлен в 0! Фоновое сохранение может завершиться ошибкой при нехватке памяти. Чтобы исправить эту проблему, добавьте 'vm.overcommit_memory = 1' в /etc/sysctl.conf и затем перезагрузите систему или выполните команду 'sysctl vm.overcommit_memory=1', чтобы изменения вступили в силу.
176:M 04 Jun 2024 23:40:40.486 * База данных загружена с диска: 0.089 секунд
176:M 04 Jun 2024 23:40:40.486 * Готова к принятию соединений
I, [2024-06-04T23:40:50.390217 #1]  INFO -- :
I, [2024-06-04T23:40:50.390530 #1]  INFO -- : > thpoff echo "thpoff установлен!"
I, [2024-06-04T23:40:50.395538 #1]  INFO -- : thpoff установлен!

I, [2024-06-04T23:40:50.395943 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Прерывание! Почта не настроена!"; exit 1; end'
I, [2024-06-04T23:40:50.651921 #1]  INFO -- :
I, [2024-06-04T23:40:50.652197 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Прерывание! Домен не настроен!"; exit 1; end'
I, [2024-06-04T23:40:50.708634 #1]  INFO -- :
I, [2024-06-04T23:40:50.709087 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Прерывание! CDN должен иметь указанный протокол. После исправления вам следует пересобрать ваши посты сейчас, чтобы исправить все посты."; exit 1; end'
I, [2024-06-04T23:40:50.772151 #1]  INFO -- :
I, [2024-06-04T23:40:50.772293 #1]  INFO -- : > chown -R discourse /home/discourse
I, [2024-06-04T23:40:51.171567 #1]  INFO -- :
I, [2024-06-04T23:40:51.172282 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-06-04T23:40:51.176013 #1]  INFO -- :
I, [2024-06-04T23:40:51.179620 #1]  INFO -- : Файл > /etc/cron.d/anacron  chmod:   chown:
I, [2024-06-04T23:40:51.184170 #1]  INFO -- : Файл > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-06-04T23:40:51.189593 #1]  INFO -- : Файл > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-06-04T23:40:51.193215 #1]  INFO -- : Файл > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-06-04T23:40:51.196711 #1]  INFO -- : Файл > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-06-04T23:40:51.199735 #1]  INFO -- : Файл > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-06-04T23:40:51.199839 #1]  INFO -- : Замена # postgres на sv start postgres || exit 1 в /etc/service/unicorn/run
I, [2024-06-04T23:40:51.200122 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.confI, [2024-06-04T23:40:51.201788 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
205:C 04 Jun 2024 23:40:51.204 # oO0OoO0OoO0Oo Redis запускается oO0OoO0OoO0Oo
205:C 04 Jun 2024 23:40:51.204 # Версия Redis=6.2.3, биты=64, commit=00000000, modified=0, pid=205, только что запущен
205:C 04 Jun 2024 23:40:51.204 # Конфигурация загружена
205:M 04 Jun 2024 23:40:51.205 * монохронные часы: POSIX clock_gettime
205:M 04 Jun 2024 23:40:51.206 # Предупреждение: Не удалось создать TCP-сокет для прослушивания сервера *:6379: bind: Адрес уже используется
205:M 04 Jun 2024 23:40:51.206 # Не удалось прослушивать порт 6379 (TCP), прерывание.
Проверка файлов: 100% (28860/28860), завершено.
I, [2024-06-04T23:40:55.175162 #1]  INFO -- : HEAD теперь находится в 74f71503 ФУНКЦИЯ: Автоматическое удаление черновиков тем после объединения всей темы в другую тему (#13187)

I, [2024-06-04T23:40:55.175641 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2024-06-04T23:40:55.313620 #1]  INFO -- :
I, [2024-06-04T23:40:55.314088 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin main
I, [2024-06-04T23:40:55.319546 #1]  INFO -- :
I, [2024-06-04T23:40:55.319970 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2024-06-04T23:40:55.326577 #1]  INFO -- :
I, [2024-06-04T23:40:55.326933 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
Из https://github.com/discourse/discourse
 * ветка              tests-passed -> FETCH_HEAD
 * [новая ветка]        tests-passed -> origin/tests-passed
I, [2024-06-04T23:41:01.524833 #1]  INFO -- :
I, [2024-06-04T23:41:01.524965 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
Переключено на новую ветку 'tests-passed'
I, [2024-06-04T23:41:03.913062 #1]  INFO -- : Ветка 'tests-passed' настроена для отслеживания удаленной ветки 'tests-passed' из 'origin'.

I, [2024-06-04T23:41:03.913255 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-06-04T23:41:03.918098 #1]  INFO -- :
I, [2024-06-04T23:41:03.918279 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-06-04T23:41:03.922201 #1]  INFO -- :
I, [2024-06-04T23:41:03.922414 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-06-04T23:41:03.924838 #1]  INFO -- :
I, [2024-06-04T23:41:03.924962 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-06-04T23:41:03.927107 #1]  INFO -- :
I, [2024-06-04T23:41:03.927222 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-06-04T23:41:03.929087 #1]  INFO -- :
I, [2024-06-04T23:41:03.929131 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-06-04T23:41:03.931092 #1]  INFO -- :
I, [2024-06-04T23:41:03.931136 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-06-04T23:41:03.934304 #1]  INFO -- :
I, [2024-06-04T23:41:03.934352 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2024-06-04T23:41:03.937279 #1]  INFO -- :
I, [2024-06-04T23:41:03.937327 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-06-04T23:41:03.940307 #1]  INFO -- :
I, [2024-06-04T23:41:03.940354 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-06-04T23:41:03.943514 #1]  INFO -- :
I, [2024-06-04T23:41:03.943666 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-06-04T23:41:03.949053 #1]  INFO -- :
I, [2024-06-04T23:41:03.949340 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-06-04T23:41:03.954231 #1]  INFO -- :
I, [2024-06-04T23:41:03.954282 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-06-04T23:41:04.627003 #1]  INFO -- :
I, [2024-06-04T23:41:04.627425 #1]  INFO -- : > cd /var/www/discourse && find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-06-04T23:41:04.635885 #1]  INFO -- :
I, [2024-06-04T23:41:04.636206 #1]  INFO -- : Замена # redis на sv start redis || exit 1 в /etc/service/unicorn/run
I, [2024-06-04T23:41:04.636576 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Клонирование в 'docker_manager'...
I, [2024-06-04T23:41:05.492064 #1]  INFO -- :
I, [2024-06-04T23:41:05.492420 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.496362 #1]  INFO -- :
I, [2024-06-04T23:41:05.496605 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-06-04T23:41:05.499287 #1]  INFO -- :
I, [2024-06-04T23:41:05.499391 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-06-04T23:41:05.502196 #1]  INFO -- :
I, [2024-06-04T23:41:05.502884 #1]  INFO -- : Замена pid /run/nginx.pid; на daemon off; в /etc/nginx/nginx.conf
I, [2024-06-04T23:41:05.503420 #1]  INFO -- : Замена (?m-ix:upstream[^\}]+\}) на upstream discourse { server 127.0.0.1:3000; } в /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.503648 #1]  INFO -- : Замена (?-mix:server_name.+$) на server_name _ ; в /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.503940 #1]  INFO -- : Замена (?-mix:client_max_body_size.+$) на client_max_body_size $upload_size ; в /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.504150 #1]  INFO -- : > echo "конфигурация веб-сервера завершена"
I, [2024-06-04T23:41:05.506905 #1]  INFO -- : конфигурация веб-сервера завершена

I, [2024-06-04T23:41:05.507186 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR:  Ошибка установки bundler:
        bundler-2.5.3 требует Ruby версии >= 3.0.0. Текущая версия Ruby: 2.7.2.137.
I, [2024-06-04T23:41:05.940817 #1]  INFO -- :
I, [2024-06-04T23:41:05.941641 #1]  INFO -- : Прерывание асинхронных процессов
I, [2024-06-04T23:41:05.941717 #1]  INFO -- : Отправка INT в HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 59
I, [2024-06-04T23:41:05.941810 #1]  INFO -- : Отправка TERM в exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 176
2024-06-04 23:41:05.942 UTC [59] LOG:  получен запрос на быстрое завершение работы
176:signal-handler (1717544465) Получен SIGTERM, планирование завершения работы...
2024-06-04 23:41:05.944 UTC [59] LOG:  прерывание любых активных транзакций
2024-06-04 23:41:05.946 UTC [59] LOG:  фоновый рабочий "запускатель логической репликации" (PID 68) завершился с кодом выхода 12024-06-04 23:41:05.948 UTC [63] LOG:  завершение работы
176:M 04 Jun 2024 23:41:05.977 # Пользователь запросил завершение работы...
176:M 04 Jun 2024 23:41:05.977 * Сохранение финального снимка RDB перед выходом.
2024-06-04 23:41:05.978 UTC [59] LOG:  система баз данных завершена
176:M 04 Jun 2024 23:41:06.088 * База данных сохранена на диск
176:M 04 Jun 2024 23:41:06.088 # Redis теперь готов к выходу, до свидания...


НЕ УДАЛОСЬ
--------------------
Pups::ExecError: cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) завершилась ошибкой с кодом возврата #<Process::Status: pid 314 exit 1>
Место возникновения ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\"\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
2c1f8978c3a71905d6590121f0fd282697ece4b0485c25f9cc8fbdbac2a579a1
** НЕ УДАЛОСЬ ЗАПУСТИТЬ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть больше одной.
./discourse-doctor может помочь в диагностике проблемы.
root@idmforums:/var/idmforums# ./discourse-doctor
DISCOURSE DOCTOR Wed Jun 5 00:00:48 UTC 2024
OS: Linux idmforums.com 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml



==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 24.0.2, build cb74dfc

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                 COMMAND        CREATED       STATUS                      PORTS     NAMES
2983891adf1b   local_discourse/app   "/sbin/boot"   5 years ago   Exited (5) 24 minutes ago             app

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
Ensuring launcher is up to date
Fetching origin
Launcher has diverged source, this is only expected in Dev mode
Stopping old container
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
From https://github.com/discourse/pups
   17f04ec..e0ff889  master        -> origin/master
 * [new branch]      main          -> origin/main
 * [new branch]      stream-stdout -> origin/stream-stdout
 * [new tag]         v1.1.1        -> v1.1.1
 * [new tag]         v1.1.0        -> v1.1.0
 * [new tag]         v1.2.0        -> v1.2.0
 * [new tag]         v1.2.1        -> v1.2.1
Updating 17f04ec..e0ff889
Fast-forward
 .github/workflows/ci.yml     |  29 ++++++
 .github/workflows/lint.yml   |  27 +++++
 .rubocop.yml                 |   3 +
 Gemfile                      |   2 +
 Guardfile                    |   4 +-
 README.md                    |  21 ++++
 Rakefile                     |  14 +--
 bin/pups                     |   8 +-
 lib/pups.rb                  |  32 ++++--
 lib/pups/cli.rb              |  92 ++++++++++-------
 lib/pups/command.rb          |  25 +++--
 lib/pups/config.rb           | 240 +++++++++++++++++++++++--------------------
 lib/pups/docker.rb           |  69 +++++++++++++
 lib/pups/exec_command.rb     | 182 ++++++++++++++++----------------
 lib/pups/file_command.rb     |  60 +++++------
 lib/pups/merge_command.rb    |  94 ++++++++---------
 lib/pups/replace_command.rb  |  70 +++++++------
 lib/pups/runit.rb            |  47 +++++----
 lib/pups/version.rb          |   4 +-
 pups.gemspec                 |  37 ++++---
 test/cli_test.rb             | 102 +++++++++++++++---
 test/config_test.rb          | 215 ++++++++++++++++++++++++++++----------
 test/docker_test.rb          | 157 ++++++++++++++++++++++++++++
 test/exec_command_test.rb    |  62 ++++++-----
 test/file_command_test.rb    |  17 ++-
 test/merge_command_test.rb   |  64 ++++++------
 test/replace_command_test.rb |  86 ++++++++--------
 test/test_helper.rb          |   2 +
 28 files changed, 1158 insertions(+), 607 deletions(-)
 create mode 100644 .github/workflows/ci.yml
 create mode 100644 .github/workflows/lint.yml
 create mode 100644 .rubocop.yml
 create mode 100644 lib/pups/docker.rb
 create mode 100644 test/docker_test.rb
Note: checking out 'v1.0.3'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at d1db030 cut a new version
I, [2024-06-05T00:00:57.328836 #1]  INFO -- : Loading --stdin
I, [2024-06-05T00:00:57.353218 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-06-05T00:00:57.434023 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2024-06-05T00:00:57.434294 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-06-05T00:00:57.439272 #1]  INFO -- :
I, [2024-06-05T00:00:57.439537 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-06-05T00:00:57.444532 #1]  INFO -- :
I, [2024-06-05T00:00:57.444864 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-06-05T00:00:57.447574 #1]  INFO -- :
I, [2024-06-05T00:00:57.447837 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-06-05T00:00:57.450039 #1]  INFO -- :
I, [2024-06-05T00:00:57.450203 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-06-05T00:00:57.451803 #1]  INFO -- :
I, [2024-06-05T00:00:57.451909 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2024/06/05 00:00:57 socat[36] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-06-05T00:00:57.458930 #1]  INFO -- :
I, [2024-06-05T00:00:57.459220 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-06-05T00:00:57.462700 #1]  INFO -- :
I, [2024-06-05T00:00:57.462930 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-06-05T00:00:57.466208 #1]  INFO -- :
I, [2024-06-05T00:00:57.466430 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-05T00:00:57.469494 #1]  INFO -- :
I, [2024-06-05T00:00:57.470274 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-05T00:00:57.473224 #1]  INFO -- :
I, [2024-06-05T00:00:57.480446 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-06-05T00:00:57.486006 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-06-05T00:00:57.489527 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-06-05T00:00:57.492803 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-06-05T00:00:57.493015 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-06-05T00:00:59.462101 #1]  INFO -- :
I, [2024-06-05T00:00:59.463057 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2024-06-05T00:00:59.472204 #1]  INFO -- :
I, [2024-06-05T00:00:59.472399 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-06-05T00:00:59.525447 #1]  INFO -- :
I, [2024-06-05T00:00:59.525804 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-06-05T00:00:59.529442 #1]  INFO -- :
I, [2024-06-05T00:00:59.529868 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-06-05T00:00:59.541565 #1]  INFO -- :
I, [2024-06-05T00:00:59.541671 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-06-05T00:00:59.544476 #1]  INFO -- :
I, [2024-06-05T00:00:59.545249 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.547238 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.553596 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.555430 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.557291 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.559120 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.560802 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-06-05T00:00:59.566660 #1]  INFO -- :
I, [2024-06-05T00:00:59.568041 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.568400 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.570171 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.572341 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-05T00:00:59.573673 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-05T00:00:59.574292 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2024-06-05T00:00:59.579227 #1]  INFO -- : > sleep 5
2024-06-05 00:01:01.152 UTC [59] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2024-06-05 00:01:01.154 UTC [59] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-06-05 00:01:01.154 UTC [59] LOG:  listening on IPv6 address "::", port 5432
2024-06-05 00:01:01.163 UTC [59] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-06-05 00:01:01.176 UTC [62] LOG:  database system was shut down at 2024-06-04 23:41:05 UTC
2024-06-05 00:01:01.194 UTC [59] LOG:  database system is ready to accept connections
I, [2024-06-05T00:01:04.586109 #1]  INFO -- :
I, [2024-06-05T00:01:04.587788 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-06-05 00:01:04.746 UTC [72] postgres@postgres ERROR:  database "discourse" already exists
2024-06-05 00:01:04.746 UTC [72] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2024-06-05T00:01:04.751960 #1]  INFO -- :
I, [2024-06-05T00:01:04.752761 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-06-05 00:01:04.839 UTC [83] postgres@discourse ERROR:  role "discourse" already exists
2024-06-05 00:01:04.839 UTC [83] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2024-06-05T00:01:04.843132 #1]  INFO -- :
I, [2024-06-05T00:01:04.843717 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-06-05T00:01:04.917103 #1]  INFO -- : GRANT

I, [2024-06-05T00:01:04.917860 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-06-05T00:01:04.975469 #1]  INFO -- : ALTER SCHEMA

I, [2024-06-05T00:01:04.975754 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-06-05T00:01:05.035684 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.036028 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-06-05T00:01:05.111516 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.111949 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-06-05T00:01:05.170419 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.171033 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-06-05T00:01:05.230135 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.230646 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-06-05T00:01:05.233158 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2024-06-05T00:01:05.303077 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-06-05T00:01:05.308487 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-06-05T00:01:05.308837 #1]  INFO -- : > echo postgres installed!
I, [2024-06-05T00:01:05.311334 #1]  INFO -- : postgres installed!

I, [2024-06-05T00:01:05.316004 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2024-06-05T00:01:05.322422 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-06-05T00:01:05.327354 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-06-05T00:01:05.327925 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.329358 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.329888 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-06-05T00:01:05.333762 #1]  INFO -- :
I, [2024-06-05T00:01:05.334163 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.334652 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.335132 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.335627 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.336004 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.336339 #1]  INFO -- : > echo redis installed
I, [2024-06-05T00:01:05.338198 #1]  INFO -- : redis installed

I, [2024-06-05T00:01:05.338348 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-06-05T00:01:05.342171 #1]  INFO -- : logfile ""

I, [2024-06-05T00:01:05.342315 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-06-05T00:01:05.343675 #1]  INFO -- : > sleep 10
176:C 05 Jun 2024 00:01:05.349 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
176:C 05 Jun 2024 00:01:05.349 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=176, just started
176:C 05 Jun 2024 00:01:05.349 # Configuration loaded
176:M 05 Jun 2024 00:01:05.350 * monotonic clock: POSIX clock_gettime
176:M 05 Jun 2024 00:01:05.352 * Running mode=standalone, port=6379.
176:M 05 Jun 2024 00:01:05.352 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
176:M 05 Jun 2024 00:01:05.352 # Server initialized
176:M 05 Jun 2024 00:01:05.352 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
176:M 05 Jun 2024 00:01:05.353 * Loading RDB produced by version 6.2.3
176:M 05 Jun 2024 00:01:05.353 * RDB age 1200 seconds
176:M 05 Jun 2024 00:01:05.353 * RDB memory usage when created 19.09 Mb
176:M 05 Jun 2024 00:01:05.797 * DB loaded from disk: 0.445 seconds
176:M 05 Jun 2024 00:01:05.797 * Ready to accept connections
I, [2024-06-05T00:01:15.346994 #1]  INFO -- :
I, [2024-06-05T00:01:15.349025 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-06-05T00:01:15.361046 #1]  INFO -- : thpoff is installed!

I, [2024-06-05T00:01:15.361523 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2024-06-05T00:01:16.346114 #1]  INFO -- :
I, [2024-06-05T00:01:16.347959 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2024-06-05T00:01:16.442910 #1]  INFO -- :
I, [2024-06-05T00:01:16.443630 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2024-06-05T00:01:16.509332 #1]  INFO -- :
I, [2024-06-05T00:01:16.510048 #1]  INFO -- : > chown -R discourse /home/discourse
I, [2024-06-05T00:01:16.819286 #1]  INFO -- :
I, [2024-06-05T00:01:16.819964 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-06-05T00:01:16.825836 #1]  INFO -- :
I, [2024-06-05T00:01:16.830100 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2024-06-05T00:01:16.835903 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-06-05T00:01:16.842255 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-06-05T00:01:16.849165 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-06-05T00:01:16.854937 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-06-05T00:01:16.859605 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-06-05T00:01:16.859818 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-06-05T00:01:16.860146 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-06-05T00:01:16.863691 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
205:C 05 Jun 2024 00:01:16.868 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
205:C 05 Jun 2024 00:01:16.868 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=205, just started
205:C 05 Jun 2024 00:01:16.868 # Configuration loaded
205:M 05 Jun 2024 00:01:16.869 * monotonic clock: POSIX clock_gettime
205:M 05 Jun 2024 00:01:16.870 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
205:M 05 Jun 2024 00:01:16.870 # Failed listening on port 6379 (TCP), aborting.
Checking out files: 100% (28860/28860), done.
I, [2024-06-05T00:01:21.834261 #1]  INFO -- : HEAD is now at 74f71503 FEATURE: Automatically timed delete stub topics after entire topic is merged into another topic (#13187)

I, [2024-06-05T00:01:21.834977 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2024-06-05T00:01:22.023320 #1]  INFO -- :
I, [2024-06-05T00:01:22.023616 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin main
I, [2024-06-05T00:01:22.043353 #1]  INFO -- :
I, [2024-06-05T00:01:22.043499 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2024-06-05T00:01:22.067432 #1]  INFO -- :
I, [2024-06-05T00:01:22.067586 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
From https://github.com/discourse/discourse
 * branch              tests-passed -> FETCH_HEAD
 * [new branch]        tests-passed -> origin/tests-passed
I, [2024-06-05T00:01:28.337837 #1]  INFO -- :
I, [2024-06-05T00:01:28.338598 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
Switched to a new branch 'tests-passed'
I, [2024-06-05T00:01:31.534502 #1]  INFO -- : Branch 'tests-passed' set up to track remote branch 'tests-passed' from 'origin'.

I, [2024-06-05T00:01:31.535226 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-06-05T00:01:31.540890 #1]  INFO -- :
I, [2024-06-05T00:01:31.540982 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-06-05T00:01:31.544674 #1]  INFO -- :
I, [2024-06-05T00:01:31.544787 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-06-05T00:01:31.549410 #1]  INFO -- :
I, [2024-06-05T00:01:31.549578 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-06-05T00:01:31.553124 #1]  INFO -- :
I, [2024-06-05T00:01:31.553284 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-06-05T00:01:31.557663 #1]  INFO -- :
I, [2024-06-05T00:01:31.557825 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-06-05T00:01:31.561174 #1]  INFO -- :
I, [2024-06-05T00:01:31.561325 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-06-05T00:01:31.569529 #1]  INFO -- :
I, [2024-06-05T00:01:31.570383 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2024-06-05T00:01:31.577627 #1]  INFO -- :
I, [2024-06-05T00:01:31.577843 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-06-05T00:01:31.583781 #1]  INFO -- :
I, [2024-06-05T00:01:31.583970 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-06-05T00:01:31.591764 #1]  INFO -- :
I, [2024-06-05T00:01:31.591954 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-06-05T00:01:31.598164 #1]  INFO -- :
I, [2024-06-05T00:01:31.598326 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-06-05T00:01:31.603561 #1]  INFO -- :
I, [2024-06-05T00:01:31.603737 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-06-05T00:01:32.101400 #1]  INFO -- :
I, [2024-06-05T00:01:32.102064 #1]  INFO -- : > cd /var/www/discourse && find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-06-05T00:01:32.111566 #1]  INFO -- :
I, [2024-06-05T00:01:32.112387 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-06-05T00:01:32.113094 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-06-05T00:01:33.452577 #1]  INFO -- :
I, [2024-06-05T00:01:33.454075 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.483225 #1]  INFO -- :
I, [2024-06-05T00:01:33.483456 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-06-05T00:01:33.486077 #1]  INFO -- :
I, [2024-06-05T00:01:33.486156 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-06-05T00:01:33.488912 #1]  INFO -- :
I, [2024-06-05T00:01:33.490137 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-06-05T00:01:33.491232 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.491544 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.501000 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.511360 #1]  INFO -- : > echo "done configuring web"
I, [2024-06-05T00:01:33.513903 #1]  INFO -- : done configuring web

I, [2024-06-05T00:01:33.514452 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR:  Error installing bundler:
        bundler-2.5.3 requires Ruby version >= 3.0.0. The current ruby version is 2.7.2.137.
I, [2024-06-05T00:01:34.070583 #1]  INFO -- :
I, [2024-06-05T00:01:34.072163 #1]  INFO -- : Terminating async processes
I, [2024-06-05T00:01:34.072226 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 59
I, [2024-06-05T00:01:34.072309 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 176
2024-06-05 00:01:34.072 UTC [59] LOG:  received fast shutdown request
176:signal-handler (1717545694) Received SIGTERM scheduling shutdown...
2024-06-05 00:01:34.074 UTC [59] LOG:  aborting any active transactions
2024-06-05 00:01:34.080 UTC [59] LOG:  background worker "logical replication launcher" (PID 68) exited with exit code 1
2024-06-05 00:01:34.081 UTC [63] LOG:  shutting down
2024-06-05 00:01:34.123 UTC [59] LOG:  database system is shut down
176:M 05 Jun 2024 00:01:34.124 # User requested shutdown...
176:M 05 Jun 2024 00:01:34.125 * Saving the final RDB snapshot before exiting.
176:M 05 Jun 2024 00:01:34.249 * DB saved on disk
176:M 05 Jun 2024 00:01:34.249 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) failed with return #<Process::Status: pid 314 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\"\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
7eb3a03475aef78c0e1752bc7845710a0ea739300bd8302356369f362d1bab6f
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to idmforums.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .

starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (6a5f876fc5e37ebb76be4bc5ef4a80ef5679fce4f4ab547eb337cafb2b1d4619): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Failed to restart the container.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at idmforums.com: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 8167

              total        used        free      shared  buff/cache   available
Mem:           7976         775        2484           6        4716        6887
Swap:           255          31         224

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda        158G   56G   94G  38% /

==================== DISK INFORMATION ====================
Disk /dev/sda: 159.8 GiB, 171534450688 bytes, 335028224 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 260 MiB, 272629760 bytes, 532480 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

==================== END DISK INFORMATION ====================

Мне кажется, приложение больше не работает. Как его запустить?

Discourse_docker находится на коммите, отличном от последнего?

Вы можете попробовать

./launcher start app

Но я почти уверен, что это не сработает.

Как я уже предлагал, вам необходимо обновить вашу ОС. Это по-прежнему моя рекомендация, но теперь у вас нет возможности откатиться к работающему серверу.

Он должен быть на ветке master backup, которую я создал перед попыткой обновления.

Я попробовал запустить приложение, как указано выше, но получаю ошибку 502 Bad Gateway.

Я также пробовал переключить ветку и запустить приложение, но оно жалуется, что драйвер хранилища не aufs (у меня overlay2). Оно предлагает прочитать исходный код launcher и разобраться, как обойти эту проверку.

Как мне сделать то, что оно просит?

Понимаю, но на данный момент это超出了 мои возможности.

Не удаётся запустить ./launcher rebuild app — драйвер хранилища Docker не поддерживается — поддержка — Discourse Meta

Я прочитал эту тему, но в ней не указано, как обойти проверку, только как изменить драйвер хранилища.

РЕДАКТИРОВАНИЕ: хорошо, я изучил код на GitHub и запустил launcher из ветки master backup с помощью команды “./launcher start app --skip-prereqs”.

К сожалению, всё ещё выдаётся ошибка 502 bad gateway

Поддерживаю @pfaffman: если есть возможность, просто сделайте резервную копию и разверните совершенно новый сервер в облаке, после чего восстановите из неё.

На это может уйти всего 30 минут (а эта тема уже 3 дня как создана :slight_smile: )

В теории всё звучит отлично, но у меня нет такой возможности. Я не могу перенаправить доменное имя на новый сервер, так как у меня нет доступа к домену.

Я работаю на чужом сервере, владелец которого не хочет и не имеет времени участвовать в том, что мы пытаемся сделать (именно поэтому он так устарел). Поэтому сейчас мне нужно устранить неполадки и выполнить ремонт.

Можете ли вы вместо этого переключить IP на другой сервер?

Если нет, понятно, это немного ограничивает!

В этом случае вы можете выполнить команду

apt dist-upgrade

для обновления операционной системы, а затем проверить, сработает ли пересборка.

Однако, если владелец домена не желает предпринимать никаких действий, я бы порекомендовал зарегистрировать новый домен и перенаправить сайт на домен, который находится под вашим контролем.

Спасибо, я попробовал выполнить dist-upgrade, но приложение по-прежнему не пересобирается из-за устаревшей версии Ruby. Я пытался обновить Ruby, но без успеха. Похоже, что Discourse использует свою собственную версию Ruby, а не ту, что установлена в Ubuntu?

Вот шаги, которые я предпринял, чтобы попытаться исправить ситуацию с Ruby:

1: Создать новый шаблон (из директории containers)
Перейдите в директорию templates: cd ../templates
Создайте новый файл шаблона и откройте редактор: nano web.ruby.template.yml
Добавьте в файл следующие строки:

params:
  ruby_version: "3.0.0"

2: Добавить шаблон в app.yml
Вернитесь в директорию containers: cd ../containers
Откройте app.yml в nano: nano app.yml
Добавьте новый файл шаблона в список templates (обратите внимание на последнюю строку):

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.ruby.template.yml"  # Добавлена эта строка

3: Пересобрать приложение снова
Запустите: ./launcher rebuild app

Но ошибка остаётся прежней: система сообщает, что необходимо обновить Ruby до версии 3.0.0.

Вот что я бы сделал, при условии, что у вас есть доступ к панели управления облачного провайдера. Если у вас нет доступа, то я бы предложил запросить его.

  • Используйте рекомендованный @pfaffman метод Move a Discourse site to another VPS with rsync, но на другом, временном сервере с временным именем хоста. Да, у вас возникнет проблема с именем хоста, но вы сможете проверить, всё ли работает корректно.
  • Создайте снимок для безопасности, а затем заново установите ваш текущий сервер с нуля на Ubuntu 24.04 LTS. Большинство облачных провайдеров позволяют сделать это, сохранив ваш IP-адрес.
  • Снова используйте рекомендованный метод для синхронизации с временного сервера на только что установленный сервер с существующим IP-адресом.
  • Когда всё будет работать, удалите снимок и временный сервер.

Чистая установка — отличная идея, но я хотел бы узнать, возможно ли обновить версию Ruby и как это сделать, поскольку, похоже, именно это мешает запуску лаунчера.