27 abril 2007

Tutoriais...

Na empresa onde trabalho adquirimos uma nova unidade de fita para backup para substituir uma unidade DDS 3 que parou de funcionar. Antes disso, instalei o openSuse 10.2 no servidor de arquivos onde estava instalado o Windows 2000 Server Small Busines (que apesar do Small no nome nos dava grandes problemas) e onde foi instalado a unidade de fita. Com o Windows 2000 fazíamos backup com o programa de backup que vem junto com todos os windows, e era fito manualmente. Com a troca da unidade de fita, e principalmente com a troca do sistema operacional no servidor, eu quis implementar um sistema de backup melhor, com um programa de backup mais robusto e que facilitasse backups automáticos.

Sabia do Amanda, que inclusive vem junto com o openSuse (e acredito que venha com a maioria das distribuições), e fui procurar artigos na net para configurá-lo. Encontrei alguns artigos que de inicio pareciam bem completos. Segui um deles. Ai começaram os problemas. Seguindo o artigo, consegui configurar o Amanda, depois de algumas horas, para fazer o backup. Quando fui realizar a recuperação dos dados não consegui. As informações do artigo não funcionaram comigo. Procurei mais informações na net mas não tinha nada de diferente que se poderia fazer. Conclusão, desisti do Amanda.

Voltei a procurar na net e encontrei o Bacula. bacula é um software de backup tão ou mais robusto que o Amanda, porém é tão ou mais complexo de se configurar do que o Amanda. Outra vez peguei um artigo que não trazia as informações de forma clara para que outras pessoas pudessem entender. Lendo e relendo o artigo, buscando outros artigos, inclusive alguns em inglês eu consegui fazer o Bacula funcionar com um teste simples ,com backup e recuperação, para saber que ele funciona bem e que tem muito mais recursos do que os apresentados no artigo.

Depois de contar essa história (verídica) chego ao ponto de expor meus objetivos com este post (que vai causar alguma polêmica, eu sei).

Já faz algum tempo eu havia percebido que muitos dos artigos encontrados hoje na net não passam exatamente o que propõem. No caso dos artigos que encontrei sobre Amanda e Bacula, o que eles passam é a idéia de que esses dois softwares são extremamente complexos. E são mesmo, mas nem tanto. Mas o objetivo dos artigos não é facilitar a configuração/instalação de algum software? Acredito que o motivo pelo qual esses artigos não sejam tão esclarecedores são dois:

- Falta de didática por parte de quem escreve;
- A autor entendeu tão bem o funcionamento do software em questão que acredita que ele não é tão complexo de ser entendido.

Nos tutoriais que vi, basicamente tem uma apresentação do software, uma explicação de com o instalar, a indicação de quais são os arquivos utilizados e quais as finalidades de cada um e depois é posto um arquivo de configuração já totalmente configurado (e acredito que funcional) e com alguns comentários explicando para que serve uma opção ou outra da configuração, mas a maior parte da configuração não é explicada. O problema nesses casos é que essa configuração esta preparada para o ambiente específico do autor do artigo, que o leitor não conhece e não consegue esquematizar como é esse ambiente.

Bom, eu posso estar sendo injusto ao criticar artigos que as pessoas fazem com a maior boa vontade de compartilhar seus conhecimentos, mas artigos assim acabam atrapalhando a difusão e a adoção de softwares livres. Um administrador que esteja vindo de ambientes windows que tente utilizar um artigo parecido, certamente irá voltar para o ambiente windows achando que as coisas no linux são complicadas demais a ponto de não compensar a migração. Mas sabemos que o linux não é tão complicado assim, e que até softwares tão complexos como o Amanda e o Bacula podem ser facilmente configurados desde que se tenha uma explicação adequada de como o software funciona, e de como se configurar o software. Lembrando também que não é necessário uma explicação detalhada de todas as funções do software, mas somente as relevantes para o entendimento básico do software.

Na minha opinião, um artigo, que aborde a configuração de algum software, deveria seguir o seguinte esquema:

- Começar com uma explicação básica de qual o objetivo do artigo, como introdução ou chamada do artigo;
Ex.: Instalação e configuração do servidor de backup Bacula...

- Apresentação e explicação das principais funções do software, até aquelas que não serão abordadas no artigo;
Ex.: Bacula é um servidor de backup robusto que permite agendamento de backups, tipos diferentes de backups, backup de clientes remotos (inclusive windows)...

- Descrição detalhada de qual o objetivo do artigo;
Ex.: Nesse artigo iremos aprender como instalar e configurar o Bacula para a realização de backups agendados tanto completos como incremental e diferencial, também será demonstrado como fazer a recuperação de arquivos...

- Apresentação detalhada do ambiente no qual o artigo foi baseado para ser escrito;
Ex.: Iremos configurar o Bacula para fazer o backup dos arquivos do servidor onde o Bacula esta instalado e de mais um cliente remoto. Serão agendados backups diários, sendo um completo aos sábados e os demias backups diferenciais...

- Explicação de como o software funciona (entender os conceitos é muito importante);
Ex.: O Bacula é dividido da seguinte forma: Director, Storage, File, Catalog, Console e Monitor. O Director é o componente responsável pelo controle dos backups...
Ex. 2: Os arquivos de configuração principais são: /etc/bacula/bacula-dir.conf, /etc/bacula/bacula-sd.conf, /etc/bacula/bacula-fd.conf e /etc/bacula/bconsole.conf...

- Os arquivos de configuração devem ser totalmente explicados. Cada arquivo de configuração, seção do arquivo de configuração (caso seja dividido em seções), cada opção dentro do arquivo de configuração deve receber informação suficiente para ser compreendido;

- Os comandos digitados no prompt também devem ser explicados um a um, não se esquecendo de nenhum passo que seja relevante, até mesmo as mudanças de diretórios devem ser comentadas.

Basicamente, um artigo nessa estrutura seria muito interessante. Mas há problemas, principalmente com tempo para se passar tanta informação, e se for ver que ninguém recebe nada para escrever um artigo, fica muito improvável de acreditar que alguém gastaria tanto tempo para escrever algo tão trabalhoso. Apesar disso continuo acreditando que deveria haver uma preocupação maior com os artigos, isso poderia trazer mais profissionais ao mundo do software livre.

E por falar em profissionais, devemos aprender a sermos mais profissionais e menos amadores em relação ao software livre. Devemos pensar mais em qualidade em tudo, até mesmo nos comentários que deixamos em fórum. Aqui eu tento deixar os posts com alguma qualidade, sei que deixo a desejar, mas tento melhorar sempre que possível.

Fico aberto a receber comentários, criticas, xingamentos (sei q vou receber) e qualquer outra manifestação a respeito deste post, mas isso tudo que escrevi é o que eu acredito ser o melhor para a comunidade do software livre.

3 comentários:

Eduardo disse...

Boa cara, acredito que não
sou o único a ler seus posts
e concordar.

Anônimo disse...

Excelente material, irei me basear no mesmo para implantar o Bacula aqui na empresa.
Se possível me envie este material por e e mail.

Anônimo disse...

Boa garoto, mandou muito bem, o que ja vi de tutorial por ai e não explica nada foi foda, o seu ta show de bola, bem detalhado, continue sempre assim, ajudando os outros e se ajudando tambem, grande abraço.

Alysson.