# Atualização da versão do kernel necessária ao atualizar o discourse manualmente

**URL:** https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756
**Category:** Self-hosting
**Created:** [Fevereiro 1, 2023, 9:16pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756 "2023-02-01T21:16:26Z")
**Posts on this page:** 16
**Page:** 2

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [Fevereiro 5, 2023, 3:41am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/22 "2023-02-05T03:41:52Z")

</div>

Se você fizer rsync de /var/discourse entre droplets no mesmo data center, seu tempo de inatividade pode ser mínimo e seu fallback é apenas uma reversão de DNS.

O novo VPS só precisa de docker e potencialmente swap.

---

<div class="post-metadata">

### Author: ![rbos](https://avatars.discourse-cdn.com/v4/letter/r/b3f665/32.png) [@rbos](https://meta.discourse.org/u/rbos)
#### Post date: [Fevereiro 12, 2023, 10:56pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/23 "2023-02-12T22:56:28Z")

</div>

Olá,

Eu também recebo este erro ao executar o Red Hat Enterprise Linux 7, executando o kernel 3.10.0. O RHEL8 não executa muito mais novo.

---

<div class="post-metadata">

### Author: ![GinNTonic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ginntonic/32/176707_2.png) [@GinNTonic](https://meta.discourse.org/u/GinNTonic)
#### Post date: [Fevereiro 13, 2023, 11:10am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/24 "2023-02-13T11:10:47Z")

</div>

O mesmo aqui, 3.1.0.beta1 rodando bem no CentOS7 (3.10.0-1160.76.1.el7.x86\_64)

Obviamente os kernels da distro recebem muitos backports. Verificar a versão do kernel vanilla dessa forma tem causado problemas em outros projetos também. Existe uma maneira de contornar essa verificação pela linha de comando?

—ATUALIZAÇÃO—  
Editei o script do launcher para contornar a verificação - várias instalações do CentOS7 foram atualizadas sem problemas.

---

<div class="post-metadata">

### Author: ![applebee1558](https://avatars.discourse-cdn.com/v4/letter/a/edb3f5/32.png) [@applebee1558](https://meta.discourse.org/u/applebee1558)
#### Post date: [Março 22, 2023, 1:11am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/25 "2023-03-22T01:11:42Z")

</div>

Esta questão vai ter mais atenção? Os requisitos do sistema não exigem nenhuma versão de kernel e o Centos 7/RHEL 7 ainda não está em EOL (fim de vida). O Docker também não requer um kernel mais recente. Não acho que contornar manualmente a verificação seja a solução adequada a longo prazo.

> <https://github.com/discourse/discourse/blob/main/docs/INSTALL.md>

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [Março 24, 2023, 3:01am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/26 "2023-03-24T03:01:13Z")

</div>

Eu estava prestes a atualizar um fórum antigo e recebi o mesmo erro. O Centos7 ainda não atingiu o EOL, você poderia encontrar uma solução alternativa para o Ubuntu 14.04?

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [Março 24, 2023, 9:37am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/27 "2023-03-24T09:37:32Z")

</div>

Se você acredita que está executando o kernel mais atualizado do seu fornecedor de sistema operacional (com correções retroportadas), talvez queira tentar ignorar a verificação. Eu o faria! [Esta](https://github.com/discourse/discourse_docker/pull/673) é a issue onde a verificação foi adicionada. Acredito que você possa simplesmente remover ou comentar o comando `exit` no seu script `./launcher`, neste parágrafo:

```plaintext
  # Pelo menos versão mínima
  if compare_version "${kernel_min_version}" "${test}"; then
    echo "ERRO: Versão do kernel ${test} não suportada, por favor, atualize para pelo menos ${kernel_min_version}"
    exit 1
  fi

```

Se, como resultado, a atualização ainda falhar, você precisará encontrar uma maneira de executar seu Discourse em um kernel mais recente.

(É bem possível que este conselho seja considerado fora do tópico, mas acho que o que aconteceu é que temos uma verificação para um número de versão em vez de uma verificação para uma facilidade (urandom), e essa abordagem pode gerar falsos positivos.)

---

<div class="post-metadata">

### Author: ![Paracelsus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paracelsus/32/164912_2.png) [@Paracelsus](https://meta.discourse.org/u/Paracelsus)
#### Post date: [Abril 14, 2023, 1:25am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/28 "2023-04-14T01:25:40Z")

</div>

Estou enfrentando esse problema agora e nosso fórum está fora do ar por causa disso. Como posso editar o script do launcher e comentar a verificação do kernel (pelo menos até que o Centos7 receba esta atualização ou tentemos migrar o fórum para outro servidor)?

ATUALIZAÇÃO:  
Consegui (por tentativa e erro) atualizar o Launcher e, em vez de comentar o kernel, apenas defini uma versão inferior como requisito. Funcionou bem.

Talvez esta não seja uma boa solução a longo prazo, mas nossa empresa de hospedagem já nos informou que o Centos7 não receberá a versão 4.4 do kernel… alguém pode explicar o que isso significa em termos práticos?

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [Abril 14, 2023, 7:21am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/29 "2023-04-14T07:21:30Z")

</div>

[Parece que](https://wiki.centos.org/About/Product) o Centos 7 receberá atualizações até meados de 2024.

Em algum momento - possivelmente antes do fim da vida útil (EOL) - o Discourse, que está sempre avançando, precisará de algo que o Centos 7 não tem, e você precisará atualizar seu sistema operacional (ou migrar para uma nova instância com uma versão de sistema operacional adequada). Parece que esse ponto ainda não foi alcançado.

Como sempre, antes de tentar atualizar o Discourse, agora ou no futuro, faça um backup dos seus fóruns e guarde uma cópia segura desse backup, bem como uma cópia segura do seu arquivo app.yml.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [Abril 14, 2023, 5:06pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/30 "2023-04-14T17:06:08Z")

</div>

Qual kernel você está executando que está funcionando com a reconstrução que você acabou de fazer?

Se for algo inferior a 4.4 e estiver funcionando, parece que o @falco pode precisar reduzir a versão exigida novamente.

> [@Falco](#):
>
> Então você está atualmente no 3.1.0.beta no kernel 4.4? Se sim, vou relaxar a verificação do kernel então.

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [Abril 14, 2023, 6:30pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/31 "2023-04-14T18:30:24Z")

</div>

(Como as distribuições terão backports de recursos e correções de kernels posteriores, a verificação da versão do kernel é um instrumento muito rudimentar. Entendo a ideia de reduzir a carga de suporte, mas também há um efeito oposto quando a verificação de segurança tem um falso positivo. E à medida que o Discourse se torna mais popular, esse problema aumenta. É muito melhor verificar um recurso do que uma versão.)

---

<div class="post-metadata">

### Author: ![Paracelsus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paracelsus/32/164912_2.png) [@Paracelsus](https://meta.discourse.org/u/Paracelsus)
#### Post date: [Abril 15, 2023, 3:54pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/32 "2023-04-15T15:54:53Z")

</div>

> [@pfaffman](#):
>
> Qual kernel você está executando que está funcionando com a reconstrução que você acabou de fazer?
> 
> Se for algo inferior a 4.4 e estiver funcionando, parece que @falco pode precisar reduzir a versão necessária novamente.
> 
> > [@Falco](#):
> >
> > Então você está atualmente na versão 3.1.0.beta no kernel 4.4? Se sim, vou relaxar a verificação do kernel então.

Nosso sistema está executando o seguinte:

- CentOS Linux release 7.9.2009 (Core)
- Kernel 3.10.0-1160.88.1.el7.x86\_64

---

<div class="post-metadata">

### Author: ![Paracelsus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paracelsus/32/164912_2.png) [@Paracelsus](https://meta.discourse.org/u/Paracelsus)
#### Post date: [Abril 17, 2023, 4:10pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/33 "2023-04-17T16:10:05Z")

</div>

~~Atualizando isto:\nEmbora nosso fórum esteja funcionando agora, vemos este erro cada vez com mais frequência:~~ \n\u003e # Oops\n\u003e \n\u003e O software que alimenta este fórum de discussão encontrou um problema inesperado. Pedimos desculpas pelo inconveniente.\n\u003e \n\u003e Informações detalhadas sobre o erro foram registradas e uma notificação automática gerada. Daremos uma olhada nisso.\n\u003e \n\u003e Nenhuma ação adicional é necessária. No entanto, se a condição de erro persistir, você pode fornecer detalhes adicionais, incluindo etapas para reproduzir o erro, postando um tópico de discussão na categoria de feedback do site.\n\n~~Isso pode estar relacionado de alguma forma ao problema com os requisitos mínimos do kernel? Essa "instabilidade" (vamos chamá-la assim) tem sido mais perceptível nos últimos dias/semanas. Parece ir e vir, às vezes o fórum está ok e às vezes não.~~\n\nEDIT: Deixe para lá, acho que isso estava relacionado a um problema de postgresql (ter muitos processos em andamento associados a imagens sem um contêiner, algo que uma limpeza do launcher resolveu).

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [Abril 19, 2023, 4:55pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/34 "2023-04-19T16:55:41Z")

</div>

> [@Ed\_S](#):
>
> Muito melhor verificar um recurso do que uma versão

Eu tenderia a concordar com isso. Você acha que esta é uma boa ideia, @Falco?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [Abril 19, 2023, 5:18pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/35 "2023-04-19T17:18:31Z")

</div>

Sim, PR bem-vindo para detectar corretamente.

---

<div class="post-metadata">

### Author: ![CantGetRight](https://avatars.discourse-cdn.com/v4/letter/c/e56c9b/32.png) [@CantGetRight](https://meta.discourse.org/u/CantGetRight)
#### Post date: [Maio 24, 2023, 4:35am UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/36 "2023-05-24T04:35:12Z")

</div>

Olá Falco,

Encontrei este problema ao tentar atualizar o Discourse de 3.1.0.beta2 para 3.1.0.beta4.

Isso parecia uma atualização menor, mas por causa da verificação do kernel, a atualização foi bem mais complexa no CentOS7. Talvez da próxima vez um número de versão diferente possa refletir melhor o impacto relativamente alto das mudanças.

Lendo a discussão, não consigo realmente dizer qual verificação de recurso é realmente necessária, talvez se você puder elaborar sobre isso, alguém seja capaz de enviar um PR.

---

<div class="post-metadata">

### Author: ![AstonJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/astonj/32/215041_2.png) [@AstonJ](https://meta.discourse.org/u/AstonJ)
#### Post date: [Junho 8, 2023, 9:37pm UTC](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756/37 "2023-06-08T21:37:40Z")

</div>

Está na postagem de @Ed_S:

> [@Ed\_S](#):
>
> [This](https://github.com/discourse/discourse_docker/pull/673) é o problema onde a verificação foi adicionada.

> No Ruby 3.1, ocorre uma RuntimeException ao chamar `Random.urandom` em plataformas onde ele não é implementado corretamente, o que inclui pessoas executando Ubuntu 14.04 com kernel 3.13.

[Previous page](https://meta.discourse.org/t/kernel-version-upgrade-required-when-manually-updating-discourse/253756.md?page=1)
