I. Sistemas Operacionais
Instalação e administração de um sistema AIX
Instalação e administração de um sistema Solaris
Administração de um sistema Irix
Nesse aspecto foi excelente ter estagiado no CCE devido a grande variedade de sistemas usados no CPD.
Foi muito bom trabalhar com sistemas bem diferentes porque foi muito interessante e educativo ver as
diferenças entre cada um.
II. Hardware
Instalação e configuração de SCSI
Cabeamento de rede
Como departamento é responsável pelos servidores do LCCA, eventualmente é necessário fazer mudanças
no layout do CPD. Enquanto geralmente não mexemos nas máquinas internamente (isso é responsabilidade
do suporte técnico dos próprios fabricantes), muitas vezes temos que mudá-los de lugar, fazer um recabeamento,
etc.
Há também a perspectiva de no semestre que vem nos envolvermos mais com a área de hardware de rede no CCE.
Provavelmente ajudaremos a configurar os roteadores e filtros que mantém não só a rede interna do CCE,
como as conexões de toda a USP e também para o link da
Fapesp.
III. Software
CVS - Usado para auxiliar no desenvolvimento de software por grupos de trabalho. Mantém controle
de versões e guarda registro de mudanças efetuadas no código fonte.
NetSaint - Monitora sistemas via web quanto a disponibilidade na rede, carga e número de processos, etc.
ipchains - Sistema para implementação de firewalls no Linux; será substituido por iptables na versão 2.4
do kernel.
TCP Wrappers - Ferramenta de segurança que faz uma filtragem de conexões feitas pela rede.
NIS - sistema de autenticação de senhas em em computadores em rede.
Além de fazer os projetos, também foi possível adquirir muito conhecimento usando aplicativos não relacionados
diretamente ao que estava sendo feito. O uso de TCP Wrappers é um bom exemplo. Todos os servidores no CCE
são configurados com esse software. Ele cuida de processar todos os pedidos feitos ao sistema, decidindo se será
permitido a conexão ou não. Isso é muito importante em um ambiente onde a segurança é muito valorizada,
como o CCE.
Junto com o TCP Wrappers, também são feitas as alterações na configuração de rede das máquinas. Portas
de serviços inseguros, como por exemplo o telnet ou o rsh, são fechados ou no máximo permitem conexões
de dentro da mesma subrede.
Outro aplicativo de segurança de redes que tive oportunidade de usar foi o ipchains. Ele consiste de código
no kernel que permite configurar o sistema como um firewall, por exemplo. Embora no CCE essa funcão é
desempenhada por sistemas dedicados, foi necessário usar isso para implementar o load-balancing no projeto
do POP.
Támbem é muito interessante notar que ao começar a pesquisar para poder fazer um projeto, temos a
oportunidade de ver como funcionam aplicativos já existentes que cumprem tarefas similares ao que a gente
necessita. Um bom exemplo é o NetSaint. Ele é um programa para monitorar remotamente vários sistemas
pela rede. Ao instalá-lo, descobrimos que não era flexível o suficiente para as nossas necessidades. Além de
não possuir módulos que permitiam a monitoração de vários sistemas UNIX que tinhamos, ele também não
checava vários aspectos que eram vitais para nós. Após discutir, decidimos que daria mais trabalho confeccionar
os módulos para que o NetSaint fizesse o que precisamos do que fazer tudo do zero.
Chegou um ponto no projeto da portagem do Webmail em que parecia que muitas pessoa seriam remanejadas
para trabalhar nesse projeto. Havia a possibilidade de que isso geraria um pouco de confusão durante uma
eventual codificação de mudanças. Decidi então dar uma olhada no CVS para ver se isso seria aplicável ao
projeto. No final acabou não sendo necessário, mas pude aprender como funcionava e se eventualmente for
necessário usá-lo, não terei nenhum problema.
IV. Programação
Shell - sh, csh e bash.
C/sockets - em Linux e FreeBSD.
Perl
Foi bem interessante programar em C para sistemas UNIX tão diferentes porque deu para perceber a importância
da padronização nas bibliotecas libc feita pela POSIX. Isso permitiu que no projeto de monitoração de filas fosse feita
apenas uma versão do programa cliente que rodasse em todos os tipos de servidores que estavam sendo monitorados.
Curiosamente, tivemos mais problemas com as diferenças nas bibliotecas C entre o Linux e o FreeBSD. Na fase de testes
havia um problema no programa servidor que só aparecia que ele era rodado em um computador Linux. Após consertar
esse problema descobrimos que o programa parou de funcionar no FreeBSD. Até descobrir isso gaastamos muito tempo,
já que não suspeitávamos de algo do tipo.
Todos os sistemas de backup no CCE são implementados em shell scripts. Em muitas das máquinas o shell padrão é
o sh, mas em outras é o csh. É claro a necessidade de ter uma padronização nesses scripts, porque é inconcebível ter
que ficar "reaprendendo" a cada vez que temos que fazer alguma alteração
no script de determinada máquina.