Olá
Estou tendo problemas para recuperar uma atualização falha em uma máquina local com Ubuntu 20.04.5 LTS (Focal Fossa). Após a atualização falha, executei primeiro, pela linha de comando:
sudo apt-get update
sudo apt-get upgrade
cd /var/discourse
git pull
sudo ./launcher rebuild app
A última parte da saída foi:
- dist/javascripts/workbox/workbox-expiration.dev.js: 20,83 KB (5,48 KB compactado)
- dist/javascripts/workbox/workbox-expiration.prod.js: 2,82 KB (1,22 KB compactado)
- dist/javascripts/workbox/workbox-routing.dev.js: 31,54 KB (7,58 KB compactado)
- dist/javascripts/workbox/workbox-routing.prod.js: 3,32 KB (1,44 KB compactado)
- dist/javascripts/workbox/workbox-strategies.dev.js: 34,65 KB (4,79 KB compactado)
- dist/javascripts/workbox/workbox-strategies.prod.js: 4,75 KB (1,16 KB compactado)
- dist/javascripts/workbox/workbox-sw.js: 1,3 KB (741 B compactado)
Concluído em 90,53s.
I, [2022-11-24T15:11:00.523692 #1] INFO -- : Encerrando processos assíncronos
I, [2022-11-24T15:11:00.523748 #1] INFO -- : Enviando INT para 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: 42
I, [2022-11-24T15:11:00.523808 #1] INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
103:signal-handler (1669302660) Recebido SIGTERM agendando desligamento...
2022-11-24 15:11:00.524 UTC [42] LOG: solicitação de desligamento rápido recebida
2022-11-24 15:11:00.540 UTC [42] LOG: abortando todas as transações ativas
2022-11-24 15:11:00.542 UTC [42] LOG: worker de fundo "iniciador de replicação lógica" (PID 51) saiu com código de saída 1
2022-11-24 15:11:00.544 UTC [46] LOG: desligando
103:M 24 Nov 2022 15:11:00.546 # Solicitação de desligamento pelo usuário...
103:M 24 Nov 2022 15:11:00.546 * Salvando o snapshot RDB final antes de sair.
103:M 24 Nov 2022 15:11:00.597 * Banco de dados salvo no disco
103:M 24 Nov 2022 15:11:00.597 # Redis agora está pronto para sair, tchau tchau...
2022-11-24 15:11:00.680 UTC [42] LOG: sistema de banco de dados desligado
FALHA
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falhou com retorno #<Process::Status: pid 1415 exit 1>
Local da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap falhou com código de saída 1
** FALHA NO BOOTSTRAP ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
abfc5da15ae62310ad82ccb495992f76ef7b9a87b7bb024ca4bf327ea993bc54
Em seguida, tentei:
sudo apt-get dist-upgrade
cd /var/discourse
git pull
sudo ./launcher rebuild app
E a saída agora é:
sudo ./launcher rebuild app
AVISO: Versão do Docker 17.05.0-ce obsoleta, recomenda atualização para 17.06.2 ou mais recente.
Arquitetura x86_64 detectada.
AVISO: o arquivo containers/app.yml é legível por todos. Você pode proteger este arquivo executando: chmod o-rwx containers/app.yml
Garantindo que o launcher está atualizado
Buscando origin
Launcher está atualizado
Parando o container antigo
+ /usr/bin/docker stop -t 60 app
app
2.0.20220818-0047: Buscando de discourse/base
Digest: sha256:7734701087766821ffb2ddcef423754798bd345c2ac0d550131c6e6905c268e8
Status: A imagem está atualizada para discourse/base:2.0.20220818-0047
/usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2022-11-24T17:05:57.385657 #1] INFO -- : Lendo do stdin
I, [2022-11-24T17:05:57.389797 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2022-11-24T17:05:57.422186 #1] INFO -- : Gerando locais (isso pode levar algum tempo)...
Geração concluída.
I, [2022-11-24T17:05:57.422436 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2022-11-24T17:05:57.425262 #1] INFO -- :
I, [2022-11-24T17:05:57.425450 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2022-11-24T17:05:57.427977 #1] INFO -- :
I, [2022-11-24T17:05:57.428106 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2022-11-24T17:05:57.429878 #1] INFO -- :
I, [2022-11-24T17:05:57.429989 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2022-11-24T17:05:57.431844 #1] INFO -- :
I, [2022-11-24T17:05:57.431957 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2022-11-24T17:05:57.433756 #1] INFO -- :
I, [2022-11-24T17:05:57.433876 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está rodando, pare o container ; exit 1
2022/11/24 17:05:57 socat[19] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2022-11-24T17:05:57.439214 #1] INFO -- :
I, [2022-11-24T17:05:57.439321 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2022-11-24T17:05:57.441654 #1] INFO -- :
I, [2022-11-24T17:05:57.441752 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2022-11-24T17:05:57.444021 #1] INFO -- :
I, [2022-11-24T17:05:57.444120 #1] INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2022-11-24T17:05:57.446040 #1] INFO -- :
I, [2022-11-24T17:05:57.446171 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2022-11-24T17:05:57.448063 #1] INFO -- :
I, [2022-11-24T17:05:57.452270 #1] INFO -- : Arquivo > /etc/service/postgres/run chmod: +x chown:
I, [2022-11-24T17:05:57.456198 #1] INFO -- : Arquivo > /etc/service/postgres/log/run chmod: +x chown:
I, [2022-11-24T17:05:57.460141 #1] INFO -- : Arquivo > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2022-11-24T17:05:57.464080 #1] INFO -- : Arquivo > /root/upgrade_postgres chmod: +x chown:
I, [2022-11-24T17:05:57.464267 #1] INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2022-11-24T17:05:57.537077 #1] INFO -- :
I, [2022-11-24T17:05:57.537178 #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, [2022-11-24T17:05:57.538742 #1] INFO -- :
I, [2022-11-24T17:05:57.538799 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2022-11-24T17:05:57.550302 #1] INFO -- :
I, [2022-11-24T17:05:57.550394 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2022-11-24T17:05:57.552387 #1] INFO -- :
I, [2022-11-24T17:05:57.552528 #1] INFO -- : > /root/upgrade_postgres
I, [2022-11-24T17:05:57.556422 #1] INFO -- :
I, [2022-11-24T17:05:57.556533 #1] INFO -- : > rm /root/upgrade_postgres
I, [2022-11-24T17:05:57.558395 #1] INFO -- :
I, [2022-11-24T17:05:57.558734 #1] INFO -- : Substituindo data_directory = '/var/lib/postgresql/13/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.559138 #1] INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.559350 #1] INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.559550 #1] INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.559748 #1] INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.559945 #1] INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.560122 #1] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2022-11-24T17:05:57.562571 #1] INFO -- :
I, [2022-11-24T17:05:57.562855 #1] INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.563086 #1] INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.563295 #1] INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/13/main/postgresql.conf
I, [2022-11-24T17:05:57.563506 #1] INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres peer em /etc/postgresql/13/main/pg_hba.conf
I, [2022-11-24T17:05:57.563702 #1] INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/13/main/pg_hba.conf
I, [2022-11-24T17:05:57.563874 #1] INFO -- : Substituindo (?-mix:^host.*all.*all.*::1\/128.*$) por host all all ::/0 md5 em /etc/postgresql/13/main/pg_hba.conf
I, [2022-11-24T17:05:57.564025 #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, [2022-11-24T17:05:57.565221 #1] INFO -- : > sleep 5
2022-11-24 17:05:57.591 UTC [42] FATAL: o arquivo de chave privada "/etc/ssl/private/ssl-cert-snakeoil.key" deve ser propriedade do usuário do banco de dados ou root
2022-11-24 17:05:57.591 UTC [42] LOG: sistema de banco de dados desligado
I, [2022-11-24T17:06:02.567410 #1] INFO -- :
I, [2022-11-24T17:06:02.567949 #1] INFO -- : > su postgres -c 'createdb discourse' || true
createdb: erro: não foi possível conectar ao banco de dados template1: conexão com o servidor no socket "/var/run/postgresql/.s.PGSQL.5432" falhou: Arquivo ou diretório não encontrado
O servidor está rodando localmente e aceitando conexões nesse socket?
I, [2022-11-24T17:06:02.612636 #1] INFO -- :
I, [2022-11-24T17:06:02.612780 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: erro: conexão com o servidor no socket "/var/run/postgresql/.s.PGSQL.5432" falhou: Arquivo ou diretório não encontrado
O servidor está rodando localmente e aceitando conexões nesse socket?
I, [2022-11-24T17:06:02.649900 #1] INFO -- :
I, [2022-11-24T17:06:02.650042 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: erro: conexão com o servidor no socket "/var/run/postgresql/.s.PGSQL.5432" falhou: Arquivo ou diretório não encontrado
O servidor está rodando localmente e aceitando conexões nesse socket?
I, [2022-11-24T17:06:02.688244 #1] INFO -- :
I, [2022-11-24T17:06:02.688412 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: erro: conexão com o servidor no socket "/var/run/postgresql/.s.PGSQL.5432" falhou: Arquivo ou diretório não encontrado
O servidor está rodando localmente e aceitando conexões nesse socket?
I, [2022-11-24T17:06:02.725728 #1] INFO -- :
I, [2022-11-24T17:06:02.725969 #1] INFO -- : Encerrando processos assíncronos
FALHA
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falhou com retorno #<Process::Status: pid 54 exit 2>
Local da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
bootstrap falhou com código de saída 2
** FALHA NO BOOTSTRAP ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
8c252b2f3146df27193b8a6966b36a75230460f92397cd206aa5540082090660
Alguém pode ajudar?