Solucionar problemas de hardware
Quando o kernel é iniciado, ele carrega os drivers de hardware e módulos necessários com todas as mensagens que incluem detalhes de falha de hardware. Mas as mensagens sobem muito rápido e é impossível dar uma boa olhada em possíveis problemas de hardware. No entanto, as mensagens exibidas durante o processo de inicialização do kernel são salvas no buffer de anel do kernel.
Enquanto o sistema é inicializado, use o dmesg comando para escrever essas mensagens em um msg.TXT Arquivo.
[email protegido]: ~ $ dmesg> / tmp / msg.TXT[email protegido]: ~ $ less / tmp / kernel_msg.TXT
As mensagens salvas podem ser revisadas mais tarde ou enviadas para alguém para depurar o problema.
Outra maneira de ler essas mensagens é verificar os arquivos / var / log / dmesg ou / var / log / messages se eles existem.
Alguns sistemas Linux que suportam systemd armazenam essas mensagens no diário do systemd. Use o journalctl comando para verificar as mensagens do kernel:
[email protegido]: ~ $ journalctl -k | menosVerifique as mensagens que indicam a falha de recursos de hardware ou falha ao carregar os drivers.
GRUB Rescue
GRUB é um programa de software instalado por distribuições que inicializa o sistema operacional baseado em kernel. Atualmente, todas as distribuições Linux estão usando a versão GRUB2. Às vezes, é possível que, quando o BIOS inicia o GRUB2, ele caia no problema de nenhum 'sistema de arquivos operacional' ou “sistema de arquivos desconhecido”.
O erro sugere que o GRUB não consegue encontrar o sistema operacional correto para carregar e localizar o grub.arquivo cfg na partição errada. Isso acontece quando o usuário instala o Windows após o sistema operacional Linux e o BIOS identificar os discos na ordem errada, conforme o Windows inicia seu bootloader no Master Boot Record (MBR).
O erro aparece assim:
erro: sistema de arquivos desconhecido.resgate grub> _
Nesta seção, discutiremos duas maneiras de recuperar a distribuição do Grub Rescue:
MÉTODO I
Introduzir o ls comando no terminal de resgate grub para listar todas as unidades e partições disponíveis.
grub> ls(hd0), (hd0, msdos1) (hd0, msdos2)
Selecione a partição que contém a distribuição instalada. Geralmente, ele é inicializado a partir da primeira partição; se não, ele exibe uma mensagem de erro. Execute os seguintes comandos para pesquisar o arquivo de configuração grub no diretório grub2:
grub> ls (hd0, msdos1) /grub> ls (hd0, msdos1) / grub2
dispositivo.fontes de mapas grub.cfg grub.cfg.1590068449.localidade rpmsave grubenv i386-pc
Modelo definir root = (hd0, msdos1) para inicializar o sistema. Agora use o definir prefixo comando para definir o caminho para o diretório grub2. Modelo insmod normal comando para reiniciar o sistema. Após a reinicialização, abra o terminal para atualizar o GRUB.
[email protegido]: ~ $ sudo update-grubA última etapa é instalar o GRUB no MBR (Master Boot Record), pois o Windows inicia seu bootloader nele. Este passo requer a montagem da partição raiz / dev / sda1 no diretório / mnt.
[email protegido]: ~ $ sudo mount / dev / sda1 / mnt[email protegido]: ~ $ sudo grub-install --root-directory = / mnt / / dev / sda
O sistema pode falhar ao inicializar através do insmod normal comando, o que pode acontecer devido a um péssimo sistema de arquivos de grub ausente.arquivo conf. O problema requer que o usuário inicialize o sistema por meio de um USB / CD ativo da distribuição. Vamos discutir outra técnica ideal para resgatar GRUB2.
MÉTODO II
Boot-Repair é uma ferramenta gráfica que oferece uma solução ideal para problemas do GRUB. Inicialize na área de trabalho por meio de um CD / USB removível ao vivo. Certifique-se de que o dispositivo está conectado à Internet e pressione Ctrl + Alt + T para abrir o terminal. Agora instale a ferramenta de reparo de inicialização:
[email protegido]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair[email protegido]: ~ $ sudo apt-get update
[email protegido]: ~ $ sudo apt-get install -y boot-repair && boot-repair
Siga as opções recomendadas para reparar o sistema. Reinicie o seu sistema após o reparo de inicialização aplicar todas as alterações. O sistema operacional irá inicializar normalmente.
Solução de problemas de rede
Para usuários regulares, a conectividade de rede ocorre automaticamente assim que o usuário conecta o cabo Ethernet ou fornece credenciais de login para uma rede Wi-Fi. No entanto, gerenciamento de rede e solução de problemas são um conjunto crucial de tarefas para qualquer administrador de sistema. Portanto, o Linux oferece ferramentas de linha de comando para lidar com problemas de gerenciamento e conectividade.
Nesta seção, discutimos os problemas de conexão de rede de entrada e saída e cobrimos as ferramentas do Linux para fornecer soluções para eles de uma maneira conveniente.
Conexões de Saída
Ofertas Linux IP comando como um utilitário de rede completo para configurar a rede e resolver problemas de conectividade. Ele manipula todos os objetos de rede, como endereços IP, rotas e links, etc.
Antes de começar, use o IP comando para ver a interface de rede em funcionamento.
[email protegido]: ~ $ ip addr showCaso não haja interface disponível, verifique se o hardware está desabilitado. No entanto, se ele estiver ativo e ainda conectado ao host, use o rota comando para verificar o host.
[email protegido]: ~ $ routeA linha padrão representa o gateway padrão (roteador) acessado pela máquina através de uma placa de interface funcional. Ofertas Linux ping utilitário para testar a conectividade entre seu dispositivo e roteador.
[email protegido]: ~ $ ping -c 5O erro sugere que o roteador não está fisicamente conectado ou desligado. No entanto, se o ping for bem-sucedido, tente acessar um endereço além do roteador, por exemplo, servidor DNS global 8 do Google.8.8.8.
[email protegido]: ~ $ ping -c 5 8.8.8.8Um ping bem-sucedido sugere que o problema está na resolução do nome do host para o endereço. O servidor DNS usado pelo sistema é adicionado manualmente ou automaticamente a partir do servidor DHCP quando a interface de rede é iniciada. Verifique os detalhes (nomes e endereços IP) do servidor DNS em / etc / resolve.arquivo conf.
servidor de nomes 192.168.11.12servidor de nomes 192.168.11.253
Podemos resolver os problemas de nome de host da seguinte maneira:
É possível que o servidor esteja fora do ar ou o usuário tenha atribuído o endereço de servidor DNS incorreto. Note o nome do servidor endereços do resolver.conf arquivo e verifique se ele está acessível por meio de um comando ping.
[email protegido]: ~ $ ping -c 3 192.168.11.253Use o utilitário Domain Information Groper (DIG) para verificar se o DNS está funcionando. Ou seja, verifique se o endereço do servidor DNS 192.168.11.253 resolve o nome do host para um endereço IP.
[email protegido]: ~ $ dig @ 115.186.188.3 www.Google.comCorrigir um servidor DNS é um pouco complicado. Se o Network Manager for responsável por gerenciar a tarefa de conectividade, ele substitui as entradas do servidor de nomes em / etc / resolve.arquivo conf. Cd no diretório / etc / sysconfig / network-scripts para adicionar a seguinte linha no arquivo ifcfg para resolver o problema.
[email protegido]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfgPEERDNS = não
DNS1 =
No caso de um serviço de rede separado, adicione PEERDNS = nenhuma linha para resolver.arquivo conf.
Conexões de entrada
Para um sistema Linux configurado como um servidor Apache, o servidor web precisa ser acessado pelo cliente. Se o cliente não puder acessar o servidor por meio de um navegador da web, você pode usar os comandos ping, dig ou traceroute discutidos acima de fora do servidor para rastrear problemas. Algumas das outras maneiras de solucionar problemas de conexões de entrada incluem:
Usar nmap para verificar a disponibilidade do serviço através de portas abertas no servidor. Use o comando nmap com o nome do host / endereço IP para inspecionar as portas abertas.
[email protegido]: ~ $ nmapA porta aberta 80/443 STATE sugere que a conectividade de rede é boa. Caso contrário, o firewall não está aceitando pacotes dessas portas. Além disso, não é filtrado e o estado está fechado, o que significa que o serviço não está configurado corretamente ou não está escutando nas portas 80/443.
Se o sistema usa ufw e definir a política de firewall padrão, ele bloqueará todas as conexões de entrada. Defina o firewall para permitir que os clientes acessem as portas tcp 80/443:
[email protegido]: ~ $ sudo ufw allow 80[email protegido]: ~ $ sudo ufw allow 443
Se ainda estiver bloqueando as conexões de entrada, use o sudo ufw status comando para procurar os hosts negados e acessá-los por meio do seguinte comando.
[email protegido]: ~ $ sudo ufw permitir deSe o acesso às portas 80/443 estiver habilitado e todas as redes de entrada podem acessar o servidor. É hora de verificar o status do servidor:
[email protegido]: ~ $ sudo systemctl status httpdPor último, verifique se o servidor está escutando interfaces e portas adequadas. Conseqüentemente, para serviços como httpd que ouvem solicitações em interfaces. Edite o arquivo de configuração principal para permitir que o serviço escute na porta 80 para um endereço específico ou todos os endereços.
[email protegido]: ~ $ sudo cd / etc / httpd / conf / httpd.confOuça 80
Ouça 192.168.11.10:80
Solucionar problemas de carga do sistema
O Linux vem com muitos utilitários que observam as atividades do sistema e descobrem problemas que não têm razões aparentes. Ou seja, o sistema está funcionando bem, mas começa a ficar lento e começa a travar os aplicativos. Esses vários utilitários do Linux ajudam a descobrir processos que consomem recursos de memória e drenam a máquina de seu espaço em disco, processadores e largura de banda de rede.
Algumas das razões por trás da instabilidade do sistema incluem capacidade limitada, i.e., pouca memória, espaço em disco, capacidade de rede e poder de processamento, com aplicativos configurados incorretamente. No entanto, os utilitários oferecem maneiras de gerenciar, manipular e corrigir esses problemas. Vamos solucionar problemas de memória limitada e consumo excessivo de CPU.
Uso de memória
Execute o principal comando com capital M para classificar os detalhes do processo por uso de memória. A saída do comando produz informações gerais seguidas pela RAM, espaço de troca e consumo de CPU. Se parecer que o sistema está sem espaço de memória (OOM), procure o seguinte:
- Observe o espaço livre na linha Mem: deve ser zero ou próximo a ele.
- Verifique o espaço de troca usado: deve ser diferente de zero ou crescente.
- Desde o principal o comando exibe novamente as informações a cada 5 segundos, procure o processo com vazamento de memória, ou seja, verifique se a memória do RES continua crescendo.
- O kernel começa a matar o processo quando o espaço de troca acaba.
A maneira possível de solucionar esses problemas é:
Matando o Processo
O comando kill envia um sinal kill para encerrar um processo. Os sinais mais comumente usados para solucionar problemas de falta de memória são SIGKILL e SIGTERM. No entanto, processos diferentes respondem de maneira diferente aos sinais.
Por exemplo, observe o PID e use o mate comando para enviar o sinal SIGTERM.
[email protegido]: ~ $ kill -15 PIDO sinal SIGTERM / -15 visa encerrar o processo, mas ocasionalmente não o mata. Portanto, isso pode exigir o sinal SIGKILL / -9 para encerrar o processo imediatamente.
[email protegido]: ~ $ kill -SIGKILL PIDDrop Page Caches
Para limpar a memória no momento, elimine as páginas de cache inativas. Descartando as páginas em cache, grave algumas páginas de memória no disco, pois o sistema pode querer recuperá-las mais tarde enquanto descarta o resto.
Deixe o comando superior em execução no terminal e execute o comando fornecido em outro terminal para visualizar a alteração da linha MEM:
[email protegido]: ~ $ echo 3> / proc / sys / vm / drop_cachesUse o pressionamento de tecla Alt + SysRq
O esgotamento da memória às vezes pode fazer a GUI ou shell completamente sem resposta. Este cenário exige o uso de pressionamento de tecla Alt + SysRq em um sistema que não responde. De modo que o kernel processe sua solicitação antes de qualquer outro processo.
Execute o seguinte comando para verificar se está habilitado:
[email protegido]: ~ $ cat / proc / sys / kernel / sysrq076
O valor '0' mostra que o pressionamento de tecla não está habilitado. Para ativar este pressionamento de tecla, vá para o / etc / sysctl.arquivo conf e definir o núcleo.sysrq = 1. Ou definir núcleo.sysrq = 1 usando o seguinte comando.
[email protegido]: ~ $ sudo echo "1"> / proc / sys / kernel / sysrqNa maioria dos teclados, o SysRq é uma chave 'PrtSc'.
Pressione Alt + SysRq + f na interface baseada em texto para encerrar o processo com a pontuação OOM mais alta. Continue pressionando essas teclas até que o sistema retorne ao seu estado normal de uso.
Carga da CPU
As técnicas discutidas acima também podem verificar e corrigir o processo, consumindo recursos excessivos da CPU e privando o sistema de sua funcionalidade. No entanto, o Linux oferece outro método que limita os processos do sistema de alimentar os recursos da CPU.
Renice o processo
Use o comando top para obter todos os detalhes e anote o ID do processo (PID) solicitando mais recursos da CPU. Digite o seguinte comando que define o valor excelente entre -20 e 19, i.e., quanto maior o valor, menor será o processo de acesso à CPU.
[email protegido]: ~ $ nice +18 PIDOu observe o valor NI (bom) do PID. Para um valor NI baixo, diminua os privilégios de acesso à CPU desse processo específico revogando o valor excelente usando o comando renice:
[email protegido]: ~ $ renice -n +18 PIDConclusão
O artigo cobre todos os utilitários Linux necessários para permitir que os iniciantes resolvam problemas do Linux relevantes para a carga do sistema, problemas de hardware, GRUB e rede.