26. Resolução de problemas comuns no Ubuntu Server: um guia prático

Introdução

O Ubuntu Server é uma distribuição de Linux fiável e amplamente adotada, mas mesmo os sistemas mais fiáveis podem enfrentar desafios que afetam o desempenho ou interrompem as operações. Saber como resolver problemas comuns é crucial para manter o tempo de atividade e garantir um funcionamento fluido. Neste guia «Resolução de problemas comuns no Ubuntu Server» vamos explorar técnicas práticas para diagnosticar e resolver problemas frequentes, como falhas de arranque, erros de conectividade SSH, problemas de rede e muito mais. Vais também aprender a utilizar os registos do sistema de forma eficaz para identificar a causa raiz dos problemas e devolver o teu servidor ao desempenho ideal.


Artigos anteriores:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar o teu primeiro servidor Ubuntu: guia para principiantes – SysOSX: AI & Cloud

03.Dominar a linha de comandos do Linux para o Ubuntu Server – SysOSX: AI & Cloud

04. Gerir utilizadores e permissões no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

05. Fundamentos de redes para o Ubuntu Server: um guia completo – SysOSX: AI & Cloud

06. Instalar e gerir software no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

07.Aplicar patches e atualizar o Ubuntu Server: um guia completo – SysOSX: AI & Cloud

08. Proteger o teu servidor Ubuntu: passos práticos para reforço e proteção – SysOSX: AI & Cloud

09. Auditoria e registo no servidor Ubuntu

10. Ferramentas de monitorização do sistema para o Ubuntu Server: um guia completo – SysOSX: AI & Cloud

11. Registo centralizado para o servidor Ubuntu: um guia imprescindível – SysOSX: AI & Cloud

12. Auditoria e conformidade para o Ubuntu Server: melhores práticas – SysOSX: AI & Cloud

13.Configurar o teu servidor Ubuntu para alojamento e aplicações web: guia definitivo – SysOSX: AI & Cloud

14. Alojar vários sites num único servidor Ubuntu: dicas úteis – SysOSX: AI & Cloud

15. Gerir o armazenamento e os discos no Ubuntu Server: guia simples – SysOSX: AI & Cloud

16. Configurar serviços de partilha de ficheiros no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

17. Configurar um servidor de bases de dados seguro no Ubuntu: MySQL vs. MariaDB – SysOSX: AI & Cloud

18. Como configurar e usar LVM no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

19. Introdução à virtualização com KVM: guia para principiantes do Ubuntu Server – SysOSX: AI & Cloud

20. Como instalar o Docker no Ubuntu Server: guia passo a passo da conteinerização – SysOSX: AI & Cloud

21. Primeiros passos com o LXD: instala contentores com facilidade + folha de referência – SysOSX: AI & Cloud

22. Primeiros passos com o Podman no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

23. Implementar o Ubuntu Server na cloud: um guia passo a passo – SysOSX: AI & Cloud

24. Automatizar a configuração do Ubuntu Server com o Ansible: um guia prático – SysOSX: AI & Cloud

25.Atualizar o Ubuntu Server de 22.04 para 24.04: um guia passo a passo – SysOSX: AI & Cloud


Índice


Problemas comuns do Ubuntu Server e como resolvê-los

1. Problemas de arranque

Os problemas de arranque podem dever-se a ficheiros corrompidos, falhas de hardware ou erros de configuração.

Sintomas:

  • O servidor não arranca e mostra um ecrã em branco ou mensagens de erro.
  • O menu GRUB está inacessível ou em falta.
  • Aparecem erros de kernel panic durante o arranque.

Passos para resolução de problemas:

Passo 1: aceder ao menu GRUB

Reinicia o servidor e mantém premida a tecla Shift (ou a tecla Esc em sistemas UEFI) para aceder ao menu GRUB.

Passo 2: arrancar em modo de recuperação

Seleciona Advanced Options > Recovery Mode para arrancar num ambiente mínimo para resolução de problemas.

Passo 3: verificar os registos do sistema

Inspeciona os registos do sistema à procura de erros relacionados com o processo de arranque:

sudo journalctl -b  

Procura erros ou avisos relacionados com módulos do kernel, montagem de discos ou serviços.

Passo 4: reparar pacotes partidos

Executa os seguintes comandos para corrigir pacotes partidos:

sudo apt update  
sudo apt install --fix-broken  

Passo 5: reinstalar o GRUB

Se o GRUB estiver corrompido, reinstala-o:

sudo grub-install /dev/sda  
sudo update-grub  

Passo 6: verificar o estado do disco

Usa fsck para verificar e reparar erros de disco:

sudo fsck /dev/sda  


2. Erros de SSH

Os erros de SSH podem impedir o acesso remoto ao servidor, interrompendo as tarefas de gestão e automação.

Sintomas:

  • Não é possível ligar ao servidor via SSH.
  • Erros de «Connection refused» ou «Permission denied».
  • O SSH bloqueia ou excede o tempo limite.

Passos para resolução de problemas:

Passo 1: verificar o serviço SSH

Garante que o serviço SSH está em execução:

sudo systemctl status ssh  

Se o serviço estiver inativo, inicia-o:

sudo systemctl start ssh  

Passo 2: verificar os registos SSH

Inspeciona os registos SSH para veres mensagens de erro detalhadas:

sudo tail -n 50 /var/log/auth.log  

Entre os problemas comuns estão:

  • Falhas de autenticação.
  • Bloqueios de endereços IP devido a fail2ban ou regras da firewall.
Passo 3: verificar as regras da firewall

Garante que a firewall permite o tráfego SSH:

sudo ufw allow OpenSSH  
sudo ufw status  

Passo 4: inspecionar a configuração SSH

Verifica se há erros no ficheiro de configuração SSH:

sudo nano /etc/ssh/sshd_config  

Reinicia o SSH depois de fazeres alterações:

sudo systemctl restart ssh  

Passo 5: verificar a conectividade de rede

Garante que o servidor está acessível:

ping <server-ip>  


3. Problemas de conectividade de rede

Os problemas de rede podem impedir que o servidor aceda à internet ou comunique com outros dispositivos.

Sintomas:

  • Não é possível fazer ping a sites externos nem a outros servidores.
  • Erros de resolução DNS.
  • As interfaces de rede estão em baixo ou mal configuradas.

Passos para resolução de problemas:

Passo 1: verificar as interfaces de rede

Enumera as interfaces de rede ativas:

ip a  

Se uma interface estiver em baixo, ativa-a:

sudo ip link set <interface-name> up  

Passo 2: verificar os registos em busca de erros de rede

Inspeciona os registos relacionados com a rede em busca de possíveis problemas:

sudo journalctl -u systemd-networkd

Passo 3: verificar a configuração IP

Verifica o endereço IP, o gateway e as definições DNS do servidor:

cat /etc/netplan/*.yaml  

Se a configuração estiver incorreta, edita o ficheiro e aplica as alterações:

sudo nano /etc/netplan/*.yaml  
sudo netplan apply  

Exemplo de configuração Netplan:
network:  
  version: 2  
  ethernets:  
    eth0:  
      dhcp4: true  

Passo 4: testar a resolução DNS

Verifica a resolução DNS:

nslookup google.com  

Se a resolução DNS falhar, atualiza /etc/resolv.conf com servidores DNS válidos:

nameserver 8.8.8.8  
nameserver 8.8.4.4  


4. Problemas de espaço em disco

A falta de espaço em disco pode fazer com que as aplicações falhem ou impedir atualizações.

Sintomas:

  • Erros de «No space left on device».
  • O servidor deixa de responder.

Passos para resolução de problemas:

Passo 1: verificar o uso do disco

Usa df para verificar o uso do disco:

df -h  

Passo 2: identificar ficheiros grandes

Procura ficheiros grandes que consumam espaço em disco:

sudo du -ah / | sort -rh | head -n 10  

Passo 3: verificar o tamanho dos ficheiros de registo

Os ficheiros de registo podem crescer demasiado. Verifica /var/log à procura de registos demasiado grandes:

sudo du -sh /var/log/*  

Remove ou arquiva registos antigos:

sudo rm -rf /var/log/*.gz  
sudo rm -rf /var/log/*.log.old  

Passo 4: expandir o espaço em disco

Se o disco estiver cheio, expande o volume (plataformas cloud como AWS, Azure e GCP permitem redimensionar discos).


5. Erros de instalação de pacotes

Os erros de instalação de pacotes podem dever-se a dependências partidas ou problemas com os repositórios.

Sintomas:

  • Erros de «Unable to locate package» ou «Dependency errors» durante a instalação.

Passos para resolução de problemas:

Passo 1: verificar os registos em busca de erros de pacotes

Inspeciona os registos de apt para veres erros detalhados:

sudo tail -n 50 /var/log/apt/history.log  

Passo 2: atualizar o índice de pacotes

Garante que o índice de pacotes está atualizado:

sudo apt update  

Passo 3: corrigir dependências partidas

Executa o seguinte comando para resolver problemas de dependências:

sudo apt install --fix-broken  

Passo 4: adicionar repositórios em falta

Se um pacote não estiver disponível, adiciona o repositório necessário:

sudo add-apt-repository universe  
sudo apt update  


6. Uso elevado de CPU ou memória

O uso excessivo de recursos pode provocar degradação do desempenho e tempos de resposta lentos.

Sintomas:

  • O servidor deixa de responder.
  • As aplicações falham ou excedem o tempo limite.

Passos para resolução de problemas:

Passo 1: monitorizar o uso de recursos

Usa top ou htop para monitorizar o uso de CPU e memória:

top  

Passo 2: verificar os registos em busca de erros de aplicações

Inspeciona os registos específicos de aplicações em /var/log à procura de erros que causem um alto uso de recursos.

Passo 3: identificar processos que consomem muitos recursos

Procura processos que consumam recursos em excesso:

ps aux --sort=-%cpu | head -n 10  
ps aux --sort=-%mem | head -n 10  

Passo 4: terminar processos desnecessários

Termina os processos que consomem muitos recursos:

sudo kill <pid>  


Usar registos para resolução de problemas

Os registos são uma das ferramentas mais valiosas para resolver problemas do servidor. Eis como verificar os registos para problemas comuns:

  1. Registos do sistema: sudo journalctl -xe Oferece registos detalhados sobre erros e avisos do sistema.
  2. Registos de autenticação: sudo tail -n 50 /var/log/auth.log Úteis para diagnosticar problemas relacionados com SSH e início de sessão.
  3. Registos específicos de aplicações:
    Verifica /var/log para veres registos específicos de aplicações (por exemplo, Apache, MySQL).
  4. Registos do kernel: sudo dmesg Mostra mensagens relacionadas com o kernel, úteis para problemas de hardware e arranque.

Conclusão

Resolver problemas do Ubuntu Server exige uma abordagem sistemática para diagnosticar e resolver problemas. Neste guia, abordámos:

  • Resolver problemas de arranque, erros de SSH e problemas de conectividade de rede.
  • Corrigir erros de espaço em disco e instalação de pacotes.
  • Usar os registos de forma eficaz para diagnosticar problemas.

Ao seguir estes passos e tirar partido dos registos, podes identificar e corrigir problemas do servidor de forma eficiente, garantindo um ambiente Ubuntu Server estável e fiável.

Deixe um comentário