Diagnosticando problemas variados em ambientes GNU/Linux (parte 1)

Observando o crescimento da faixa de mercado formada por usuários de sistemas GNU/Linux e que grande parte destes desconhece o poder das ferramentas disponíveis, apresento este artigo para ajudar em um drama recorrente: "Como encontro as causas de defeitos em um computador?". Embora voltado principalmente a iniciantes, não é um how-to.

[ Hits: 33.659 ]

Por: Isaque Vieira de Sousa Alves em 26/01/2011


Processo Evolutivo: acessando a interface de linha de comandos



Como mencionei, adaptar-se é preciso... e adaptar o meio a você também... Vamos começar porém nos adaptando ao meio, e aprendendo a tirar vantagens do que ele nos tem a oferecer. Em primeiro lugar, a todos os que já tenham algum contato com a limitadíssima interface de linha de comandos do MS-DOS, devo dizer que aqui, ao contrário de limitações, você encontrará inúmeras potencialidades...

Pra começar, já pensou em ver fotos no sistema da MS usando o prompt do DOS? É óbvio que não conseguirá... pois aqui, no nosso querido Shell será possível... Bem, mas vamos em frente.

(Você) - Como faço para acessar a interface em linhas de comandos?
(Mestre) - Você é uma droga de aprendiz apressado, gafanhoto. Limão e laranja são frutas que se tem que espremer antes de tomar-lhes o suco...

Pois bem. A interface em linha de comando tem esse nome porque tudo o que você vai fazer é informar comandos que o computador deverá executar. Isso você já deveria ter em mente, uma vez que desde que você o liga tudo o que ele faz é obedecer comandos. E é isso mesmo.

Primeiro passo - Acessando interface de linha de comando

Para acessar a interface de linha de comandos em um ambiente GNU/Linux você tem pelo menos três opções distintas:
  • Iniciar o sistema em modo monousuário
  • Usar um dos terminais disponíveis no seu console local/remoto
  • Usar um emulador de terminal no ambiente gráfico

Modo mono-usuário (single):

(Você) - Que diabos é 'modo mono-usuário'?
(Mestre) - humpf!

Não é nosso objetivo estudar a história dos sistemas operacionais, portanto, creio que basta dizer que antes que houvessem sistemas com suporte a múltiplos usuários simultâneos, os computadores só eram usados por um único usuário por vez, daí o nome mono-usuário. Quer dizer que cada usuário que precisasse usar um computador que funcionasse em modo monousuário teria que esperar o outro usuário finalizar sua sessão em execução.

Geralmente em distribuições GNU/Linux, usar o computador em modo monousuário é uma tarefa para o administrador do sistema, ou usuário 'root'.

Para acessar o modo monousuário você tem duas opções:
  • Alterar os comandos de inicialização fornecendo um caminho para inicialização invocando diretamente um interpretador de comandos
  • Alterar os comando de inicialização passando como parâmetro a keyword single

A primeira consiste em você informar o caminho do interpretador de comando a ser executado diretamente pelo processo principal init: init=/bin/bash.

Chamo atenção para o fato de que fazendo isso, você estará colocando todo o seu sistema em risco (claro que há algumas opções a mais de comandos para que a assertiva acima seja verdadeira...), pois você estará usando o seu sistema como o usuário 'root'. Sem senha nem nada de mais...

A segunda consiste em fornecer um comando para o gerenciador de inicialização.

No lilo: linux single

No grub e grub2*: ao final da linha que contém as diretivas do kernel, adicione a keyword 'single'.

Novamente aviso: modo monousuário se tornará perigoso se você não souber o que fazer, e se não prestar atenção a este artigo até o fim...

Não execute o modo monousuário para realizar tarefas comuns. Em algumas distribuições o grub exibe uma opção 'recovery mode' que nada mais é do que o sistema sendo executado em modo monousuário.

No Ubuntu, para acessar o modo monousuário de forma segura use a opção 'recovery mode' > 'drop to root shell'. Geralmente será solicitada uma senha... Se perdeu a senha, é outra história.

Terminais locais ou remotos

Quando você inicia seu sistema operacional GNU/Linux, pode conectar quantos usuários forem preciso que compartilharão a máquina simultaneamente executando seus próprios processos de modo independente uns dos outros. Isso acontece graças à herança dos ambientes de servidores Unix, que permitiam que vários usuários utilizassem uma máquina ao mesmo tempo através de conexões seriais ou usando pseudo-terminais. Esses pseudo-terminais hoje, são cruciais nos ambientes GNU/Linux. São eles que tornam possível o uso de emuladores de terminal na interface gráfica, por exemplo (para mais informações, leia o manual: man pty).

Hoje, apesar de quase não se ouvir falar em conexões seriais, GNU/Linux fornece uma estrutura bastante compatível com o modelo através de dispositivos virtuais denominados 'teletipos virtuais'. Mas como nosso objetivo não é detalhar história da computação, vamos em frente.

Para acessar local e diretamente um terminal de linha de comandos, você pode usar atalhos de teclado já predefinidos: CTRL + ALT + F1, por exemplo. Experimente CTRL + ALT + cada uma das teclas de função. Você terá pelo menos 6 terminais locais para uso da CLI e isso fora a possibilidade de acessar terminais remotos.

Para acessar terminais remotos, você pode usar desde programas mais simples como o Putty <http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html>, como usar SSH.

Usando SSH fica mais ou menos assim (dependendo da necessidade):

ssh seu_nome_de_usuario@ip_servidor

Não importa se o servidor está na rede local ou localizado na internet. Se o serviço de acesso remoto ao shell estiver ativado, você poderá acessá-lo assim.

(Você) - Mas, pra que preciso de tudo isso?
(Mestre) - Formigas raramente precisam de asas...

Página anterior     Próxima página

Páginas do artigo
   1. O começo do problema: Migração - elementos de hardware
   2. O começo do problema: Migração - elementos de software
   3. O começo da solução: A evolução
   4. Processo Evolutivo: acessando a interface de linha de comandos
   5. Processo Evolutivo: usando a interface de linha de comandos
   6. Processo Evolutivo: usando a interface de linha de comandos
   7. Processo Evolutivo: usando a interface de linha de comandos
   8. Processo Evolutivo: usando a interface de linha de comandos
   9. Conclusão
Outros artigos deste autor

Linux, a pirataria de software e a desvalorização do desenvolvedor (parte 2)

Projetos de software livre descontinuados: um problema com solução

GNU/Linux: Liberdade e Cosmovisão

Entendendo orientação a objetos na prática (parte 1)

Linux, a pirataria de software e a desvalorização do desenvolvedor (parte 1)

Leitura recomendada

Instalando o Beryl + Drivers NVIDIA no Ubuntu 6.10 (Edgy)

Apache básico

Introdução ao gerenciador de janelas i3

Como instalar o Compiz no Zenwalk e no Slackware de forma fácil

Instalação do Nagios Core no CentOS 5.5

  
Comentários
[1] Comentário enviado por wendelldias em 26/01/2011 - 16:11h

Bom ARTIGO...ainda mais pra mim que está começando agora (uso SLACKWARE a 1 mês)."Apanhando as vezes....Aprendendo SEMPRE".Vou pesquisar mais a fundo todos os comandos descritos nesse tutorial. Obrigado.

[2] Comentário enviado por albfneto em 26/01/2011 - 18:09h

é muito bom. excelente, esse artigo, contém bastante teoria Linux, interessante também para usuários intermediários e avançados. Gostei.

[3] Comentário enviado por removido em 27/01/2011 - 00:22h

Ótimo artigo.

Abraço

[4] Comentário enviado por Lisandro em 27/01/2011 - 09:17h

Beleza de artigo. Parabéns!

[5] Comentário enviado por yermandu em 27/01/2011 - 10:58h

Bom

[6] Comentário enviado por acilonjs em 10/02/2011 - 07:10h

Muito bom. Existem muitos por ai que quer tomar o suco mas não querem espremer a laranja. Muito boa!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts