# Sistema Operacional

# Falha: wamp.error.no_such_procedure

Se o Monsta exibir a mensagem com o erro: **`wamp.error.no_such_procedure`**, isso indica, na maioria dos casos, que o serviço **`monkerneld`** não está em execução no sistema operacional Linux onde o software está instalado.

O serviço `monkerneld` é importante para o funcionamento correto do software, e sua inatividade impede que o Monsta execute procedimentos necessários.

- - - - - -

### 🚨 Como Solucionar o Problema

A solução envolve garantir que o serviço `monkerneld` seja iniciado. O usuário pode escolher entre duas abordagens principais para contornar essa situação:

#### 1. 🔄 Reiniciar o Sistema

A maneira mais abrangente de resolver a maioria dos problemas de inicialização de serviços é simplesmente **reiniciar o sistema Linux** onde o software está instalado.

- Ao reiniciar, o sistema operacional tentará carregar e iniciar todos os serviços configurados, incluindo o `monkerneld`, de forma automática.

#### 2. ▶️ Iniciar o Serviço Manualmente (Recomendado)

Caso a reinicialização não seja viável ou demorada, o usuário pode tentar iniciar o serviço diretamente usando o **`systemctl`**, que é a ferramenta padrão de gerenciamento de serviços em muitas distribuições Linux modernas (como Ubuntu, Debian, CentOS, RHEL, etc.).

**Passos:**

1. Abra um **Terminal** (ou utilize uma sessão SSH) no servidor Linux.
2. Execute o seguinte comando para tentar iniciar o serviço:
    
    <div><button aria-label="Copiar o código" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c70640039-22 mat-unthemed ng-star-inserted"></button></div><div data-hveid="0" data-ved="0CAAQhtANahcKEwjPuquejY6RAxUAAAAAHQAAAAAQWg"><div><div>```
    sudo systemctl start monsta-com.monkerneld
    ``````
    
    ```
    
    </div></div></div>

<p class="callout info">**Nota:** É obritatório que este comando exija permissões de **superusuário (sudo)**.</p>

- - - - - -

### 📝 Verificação Pós-Solução

Após executar qualquer uma das ações acima (reiniciar o sistema ou iniciar o serviço manualmente), você pode **verificar o status do serviço** para garantir que ele esteja ativo e em execução:

<div data-hveid="0" data-ved="0CAAQhtANahcKEwjPuquejY6RAxUAAAAAHQAAAAAQWw" id="bkmrk-systemctl-status-mon"><div><div>```
systemctl status monsta-com.monkerneld

```

</div></div></div>O status ideal deve indicar **`active (running)`**

**``**# É possível utilizar o particionamento padrão do Linux para o Monsta?

**Nossa recomendação é enfaticamente que NÃO seja utilizado o particionamento padrão/automático do Linux para a instalação do Monsta.**

O particionamento padrão, embora conveniente, não é otimizado para o perfil de uso e as necessidades de crescimento do software Monsta. Recomendamos sempre o **particionamento manual** para garantir a alocação correta de espaço e a flexibilidade futura.

A seguir, explicamos os principais motivos pelos quais o particionamento padrão não é ideal:

- - - - - -

### 1. 🏡 Alocação Ineficiente para `/home`

  
Muitos assistentes de instalação de distribuições Linux são configurados para uso pessoal (desktops) e, por isso, tendem a alocar um **espaço considerável e generoso para a partição `/home`**.

- **Problema:** O Monsta é um sistema de software que não depende do diretório `/home` para seu funcionamento principal ou armazenamento de dados de alto volume. O espaço alocado para `/home` acabará sendo **subutilizado**, enquanto outras áreas cruciais podem ficar com pouco espaço.
- **Recomendação:** Priorizar o espaço para diretórios onde os dados do sistema e do Monsta realmente residem.

### 2. 🗃️ Partição `/var` Subdimensionada ou Ausente

  
A partição `/var` é de **importância crítica** para o Monsta, pois é o local padrão onde os bancos de dados e *logs* do sistema são armazenados.

- **Problema:** Alguns particionadores automáticos podem **não criar uma partição separada para `/var`** ou alocar um volume muito pequeno para ela. Com a utilização intensiva de bancos de dados pelo Monsta, essa partição pode esgotar rapidamente seu espaço, levando a falhas operacionais e de armazenamento de dados.
- **Recomendação:** Criar a partição `/var` separadamente e garantir que ela tenha o **maior volume de espaço** alocado, considerando o crescimento dos dados ao longo do tempo.

### 3. 📉 Falta de Flexibilidade com LVM

  
Muitos sistemas padrão podem não configurar as partições utilizando o **Logical Volume Manager (LVM)**.

- **Problema:** O LVM é uma camada de abstração que permite o gerenciamento e a manipulação flexível dos volumes de disco. **Sem o LVM**, será impossível, ou extremamente difícil, **aumentar o tamanho** de uma partição (como `/var`) se ela começar a ficar sem espaço no futuro, exigindo a parada do sistema e, potencialmente, a migração de dados.
- **Recomendação:** Utilizar o **LVM** ao criar as partições, especialmente para `/var`e `/` para garantir a capacidade de **expansão futura** sem *downtime* complexo.

- - - - - -

Para garantir a **performance**, **estabilidade** e **capacidade de expansão** do seu sistema, recomendamos que seja realizado um **particionamento manual** seguindo as diretrizes específicas de instalação que priorizam o espaço para as partições `/var`, `/` e que utilizem LVM.# Sincronizando a hora em Servidores Linux

A maneira mais recomendada para servidores é usar **NTP** para garantir que a hora seja sempre precisa e sincronizada com fontes externas. Vamos abordar abaixo o método recomendado para efetuar essa configuração.

<span style="color: #222222; font-size: 2.333em; font-weight: 400;">Utilizando o chrony</span><span style="color: #222222; font-size: 2.333em; font-weight: 400;"> (Recomendado para Sincronização Mais Precisa)</span>

O **`chrony`** é frequentemente usado em máquinas virtuais ou ambientes com tempo de rede variável. É comum em RHEL/CentOS 7+ e algumas instalações Ubuntu e Debian.

1. **Instale `chrony` (se necessário):**
    
    
    - **Debian/Ubuntu:** `sudo apt update && sudo apt install chrony`
    - **RHEL/CentOS/Fedora:** `sudo dnf install chrony` ou `sudo yum install chrony`
2. **Inicie e Habilite o Serviço:**
    
    <div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQcg"><div><div>```
    sudo systemctl <span class="hljs-built_in">enable</span> --now chronyd  <span class="hljs-comment"># ou chrony para Debian/Ubuntu</span>
    
    ```
    
    </div></div></div>
3. **Verifique a Sincronização:**
    
    <div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQcw"><div><div>```
    chronyc tracking
    
    ```
    
    </div></div></div>Procure por um **`Reference ID`** e um **`Stratum`** diferente de zero. O **`System time`** mostrará o offset.

- - - - - -

### Definir Fuso Horário

Primeiro, defina o **fuso horário** correto, pois isso afeta o relógio do sistema.

1. **Liste os Fusos Horários:**
    
    <div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQdA"><div><div>```
    timedatectl list-timezones | grep <span class="hljs-string">'America/Sao_Paulo'</span>
    
    ```
    
    </div></div></div>(Substitua pelo fuso horário desejado)
2. **Defina o Fuso Horário:** <div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQdA">```
    `sudo timedatectl set-timezone 'America/Sao_Paulo'`
    ```
    
    </div>
3. **Verifique se a hora está correta:**<div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQdA"><div><div>```
    date
    ```
    
    </div></div></div>

<span style="color: #222222; font-size: 2.333em; font-weight: 400;">Sincronizar Relógio do Hardware (CMOS/BIOS)</span>

O servidor Linux mantém dois relógios: o **Relógio do Sistema** (software) e o **Relógio do Hardware/BIOS** (CMOS, bateria mantida). Depois de corrigir o relógio do sistema, sincronize-o com o relógio do hardware para que a hora permaneça correta após uma reinicialização.

<div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQeA" id="bkmrk-sudo-hwclock--w-%23-es"><div data-hveid="0" data-ved="0CAAQhtANahcKEwjGw-CwmKeRAxUAAAAAHQAAAAAQeA"><div><div>```
sudo hwclock -w  <span class="hljs-comment"># Escreve a hora do Sistema (soft) para o Hardware (hard)</span>

```

</div></div></div></div>