Divisor de Águas

É claro que ninguém com QI normal consegue aprender algo sem nenhum erro, mas tive uma experiência quase traumática. O incidente foi um divisor de águas em minha vida, quando escolhi estudar uma das grandes vertentes da área da Tecnologia, as soluções Open Source. Para quem ainda não sabe, Open Source são todos os sistemas que possuem seu código fonte aberto, ou seja, qualquer pessoa pode alterar o que quiser para adequar aquele software às suas necessidades. É importante não confundir com Software Gratuito, pois dentro da licença GPL, é permitido comercializar um sistema Open Source, porém, nunca fechar o seu código.

Naturalmente, em determinados momentos dentro das empresas, novas atribuições nos são dadas e, então, passamos a realizar novas atividades. No meu caso, tive o primeiro contato com servidores Linux. Usar apenas o teclado era algo surreal na minha vida, mas até que me dei bem com a tal da “telinha” preta, o terminal do sistema.

O grande momento aconteceu quando eu estava atendendo um chamado, aberto por um funcionário da empresa. Alguns arquivos precisavam ser excluídos de um dos servidores de banco de dados Oracle da empresa. A parte boa é que era um servidor de teste, mas ainda assim tinha grande valia para os setores de atendimento e desenvolvimento. Quando entrei no diretório onde estavam os arquivos, pude constatar que eram muitos arquivos e, é claro, quis apagar todos de uma vez só. A pouca experiência com o Linux me obrigou a realizar a seguinte pesquisa no Google: como apagar vários arquivos no linux.

Lembro até hoje que o primeiro site já tinha a resposta e prontamente copiei e colei o comando no Putty, software que conecta no Linux via protocolo SSH e emula um terminal para execução de comandos. Antes de apertar o <Enter>, conferi o comando e o executei com tranquilidade:

 rm -rf *

Vou analisar o comando para que todos entendam o que eu havia feito.

  • rm – Comando que apaga arquivos e diretórios. Para que ele funcione, basta digitar “rm nome_do_arquivo”.
  • Opção r – Indica que o comando será executado de forma recursiva, ou seja, se eu mandar apagar o diretório /var recursivamente, ele irá apagar tudo o que estiver dentro dele e de todos os seus subdiretórios.
  • Opção f – Indica que o comando deve forçar a exclusão dos arquivos, sem que seja perguntado: Você está certo disso? HÁ ha ee.

Até então, nada deveria ter dado errado se eu não tivesse colocado o asterisco ao final do comando. Isso significa que eu mandei excluir todos os diretórios do sistema, recursivamente e sem me perguntar se eu havia certeza daquilo. Pois é, você entendeu certo, eu praticamente formatei o servidor. A minha sorte foi ter achado estranho a demora para finalizar o comando, pois os arquivos que eu precisava apagar eram todos pequenos e, então, o cancelei. Isso fez com que os arquivos do banco de dados ficassem intactos. É importante salientar que este “quase desastre” só ocorreu porque eu estava utilizando o sistema com o root, usuário com os maiores privilégios dentro do sistema. Se eu estivesse utilizando um usuário com permissões restritas, nada disso teria acontecido, pois o Linux possui uma política de segurança e permissões bastante consistentes.

No final das contas, um novo servidor foi instalado e o banco de dados foi recuperado pelos DBAs de uma empresa parceira. Fiquei extremamente preocupado e chateado, mas tive a decisão de aprender aquele sistema que era desconhecido pra mim. Felizmente me identifiquei com o Linux e até tirei um certificado do primeiro nível da LPI, Linux Professional Institute. A partir daquele dia, executei vários outros comandos desconhecidos, mas nunca sem consultar o que exatamente ele faz e de que forma será o comportamento.

Grande abraço e até logo!

One comment

Leave a Reply

O seu endereço de e-mail não será publicado.