Você está na página 1de 61

UNIVERSIDADE FEDERAL DA BAHIA

INSTITUTO DE MATEMÁTICA
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

GUSTAVO VASCONCELLOS MIRANDA

UMA SOLUÇÃO PARA AUTOMAÇÃO DE INSTALAÇÃO


DE SISTEMA OPERACIONAL COM SOFTWARE LIVRE
EM ESTAÇÕES DE TRABALHO

Salvador
2008
2

GUSTAVO VASCONCELLOS MIRANDA

UMA SOLUÇÃO PARA AUTOMAÇÃO DE INSTALAÇÃO DE


SISTEMA OPERACIONAL COM SOFTWARE LIVRE EM
ESTAÇÕES DE TRABALHO

Monografia apresentada ao Curso de graduação


em Ciência da Computação, Departamento de
Ciência da Computação, Instituto de Matemática,
Universidade Federal da Bahia, como requisito
parcial para obtenção do grau de Bacharel em
Ciência da Computação.

Orientador: Luciano Porto Barreto

Salvador
2008
3

RESUMO

A maioria das empresas, especialmente as de grande porte, buscam o mais alto grau
possível de automação em seus processos. Essa automação permite realizar tarefas
de administração de sistemas em menos tempo, e quanto maior o seu nível menor a
possibilidade de erro. Este trabalho propõe duas ferramentas, um sistema WEB para
acompanhamento do processo de instalação e um aplicativo para a administração
remota de pacotes, para facilitar a manutenção do parque de estações.

Palavras-chave: Automação de instalação de sistema operacional, método


KickStart, SERPRO, administração remota de pacotes, sistema WEB para
acompanhamento de instalação de sistema operacional.
4

ABSTRACT

Most companies, especially large ones, seek for a high degree of automation of
processes. This automation allows people to accomplish system administration tasks
in less time, besides, the more automated a process is the less are the chances of
errors. This work proposes two tools, a WEB-based system to extract information
about operating systems installations and an application to remotely administrate the
packages installed, to ease the maintenance of workstations.

Keywords: Automation of operating system installation, KickStart method, SERPRO,


package remote administration, WEB based system for monitoring operating system
installation.
5

LISTA DE ABREVIATURAS E SÍMBOLOS

CD ROM – Compact Disc Read Only Memory


CEES – Centro de Especialização em Estação de Trabalho.
CentOS – Community ENTerprise Operating System.
DHCP – Dynamic Host Control Protocol
DNS – Domain Name System
FTP – File Transfer Protocol
GB - Gigabyte
GDM – Gnome Display Manager
GHz – Giga Hertz
GNU – GNU is Not Unix
HD – Hard Disk
HTTP – HyperText Transfer Protocol
IP – Internet Protocol
IRPF – Imposto de Renda Pessoa Física
KB - Kilobyte
KDE – K Desktop Environment
MB – Megabyte
MHz – Mega Hertz
NFS – Network File System
PDF – Portable Document Format
PHP - Hypertext Preprocessor
POSIX - Portable Operating System Interface
RHEL – Red Hat Enterprise Linux
RLSL – Rede Local de Software Livre
RAM – Random Access Memory
RPM – Red hat Package Manager
SELinux – Security-Enhanced Linux
SERPRO – Serviço Federal de Processamento de Dados
6

SHC – Shell Script Compiler


SSH – Secure SHell
TI – Tecnologia da Informação
USB – Universal Serial Bus
YAST - Yet Another Setup Tool
YUM – Yellow dog Updater Modified
XML - eXtensible Markup Language
7

LISTA DE FIGURAS

Figura 01 – Tela inicial Setup Manager. 18


Figura 02 – Interface gráfica para customização do arquivo de controle. 21
Figura 03 – Estrutura da solução desenvolvida pelo SERPRO 25
Figura 04 – Etapas instalação via KS. 30
Figura 05 – Página inicial site acompanhamento das instalações Fedora. 37
Figura 06 – Visualização dos logs do escritório Aracaju. 38
Figura 07 – Log de instalação de uma estação do escritório Florianópolis. 39
Figura 08 – Sumário nacional de instalação do Fedora Core 6. 40
Figura 09 – Visualização rápida do sumário de uma determinada localidade. 41
Figura 10 – Calendário para preenchimento de data. 42
Figura 11 – Página de pesquisa de logs. 42
Figura 12 – Visualização do resultado da pesquisa. 43
Figura 13 – Erro ao informar período. 44
Figura 14 – Data final anterior à data inicial. 44
Figura 15 – Tela inicial EasyAdmin. 51
Figura 16 – Inserir senha para criação de chave privada. 51
Figura 17 – Erro na criação de chave privada. 52
Figura 18 – Instalação de pacotes. 52
Figura 19 – Remoção de pacote. 53
Figura 20 – Pesquisa de pacotes no repositório. 54
Figura 21 – Listagem de pacotes instalados na máquina. 55
8

SUMÁRIO

1. INTRODUÇÃO........................................................................................................10
1.1 MOTIVAÇÃO.....................................................................................................10
1.2 OBJETIVO ........................................................................................................11
1.3 PORQUE AUTOMATIZAR UMA INSTALAÇÃO DE SISTEMA
OPERACIONAL?.....................................................................................................11
1.4 ESTRUTURA DO TEXTO.................................................................................12

2. CONCEITOS BÁSICOS..........................................................................................13
2.1 MÉTODO KICKSTART......................................................................................13
2.2 SHELL SCRIPT.................................................................................................14
2.3 PACOTE............................................................................................................15
2.4 PROTOCOLO SSH...........................................................................................15
2.5 KOMMANDER..................................................................................................16

3. TRABALHOS CORRELATOS................................................................................18
3.1 INSTALAÇÃO DESASSISTIDA DO WINDOWS...............................................18
3.2 INSTALAÇÃO ATRAVÉS DO PRESEED.........................................................19
3.3 INSTALAÇÃO ATRAVÉS DO AUTOYAST.......................................................20

4. ESTUDO DE CASO DA IMPLEMENTAÇÃO DAS FERRAMENTAS


PROPOSTAS NO AMBIENTE DO SERPRO.............................................................23
4.1 SERPRO............................................................................................................23
4.2 ESTRUTURA DA SOLUÇÃO DO SERPRO PARA AUTOMAÇÃO DE
INSTALAÇÃO DO SISTEMA OPERACIONAL FEDORA CORE 6.........................24
4.3 INSTALAÇÃO DO FEDORA CORE 6 UTILIZANDO ARQUIVO KS
CUSTOMIZADO PELO SERPRO...........................................................................26
4.3.1 Pré-script....................................................................................................30
4.3.2 Particionamento do disco e instalação de pacotes..............................32
4.3.3 Pós-script...................................................................................................33
4.4 PÁGINA DE ACOMPANHAMENTO..................................................................36
4.5 EXEMPLO DE INSTALAÇÃO DO FEDORA 6 EM NOTEBOOK......................45
4.6 ADMINISTRAÇÃO REMOTA DE PACOTES COM O EASYADMIN...............49
9

4.6.1 Criação de chave privada.........................................................................51


4.6.2 Instalação de pacotes...............................................................................52
4.6.3 Remoção de pacotes................................................................................53
4.6.4 Pesquisa por pacotes...............................................................................54
4.6.5 Listagem de pacotes instalados..............................................................54

5. RESULTADO..........................................................................................................56

6. CONCLUSÃO.........................................................................................................58

REFERÊNCIAS BIBLIOGRÁFICAS...........................................................................60
10

1. INTRODUÇÃO

1.1 MOTIVAÇÃO
O Serviço Federal de Processamento de Dados(SERPRO) possui um parque de
estações muito grande, com mais de 10 mil máquinas no total, e cerca de 3 mil
estações com software livre, localizadas em regionais e escritórios espalhados por
todas as capitais do Brasil. Devido a esse elevado número, existe uma dificuldade
muito grande em fazer o gerenciamento e administração dessas máquinas. Esse
projeto tem o objetivo de apresentar uma solução, adotada pelo SERPRO, para
resolver esse problema e propor melhorias nesse processo, tornando-o ainda mais
eficiente.

Existem no SERPRO estações de trabalho com Windows e GNU/Linux. A tendência


atual é que todas as estações migrem para o GNU/Linux, as exceções, ou seja,
usuários impossibilitados de migrar, devem justificar o motivo que os impede de
realizar a migração. Toda a parte administrativa da empresa e a área de TI utiliza
software livre. Os empregados que continuam utilizando Windows são, em sua
maioria, das áreas de desenvolvimento, e os principais motivos que os impedem de
realizar a migração para GNU/Linux são: 1- Ferramentas dependentes da plataforma
Windows e 2- Inexistência de ferramentas em software livre semelhantes às
ferramentas utilizadas pelos empregados no seu dia-a-dia.

Uma das principais motivações deste trabalho é a divulgação da solução para que
sua utilização bem sucedida no SERPRO sirva como incentivo para que outros
órgãos do governo, ou mesmo empresas da iniciativa privada, possam implantar
essa solução, disseminando o uso do software livre em todo o Brasil.

Este trabalho tem uma importância muito grande para a área de administração de
tecnologia da informação(TI), pois facilita e agiliza o processo de instalação das
11

máquinas. Com isso, os técnicos responsáveis por realizar essa tarefa passam a ter
mais tempo para se dedicar a outras atividades. Essa solução também é útil aos
setores de gestão de produção, através dela pode-se obter um quantitativo de
estações com software livre que foram instaladas, informação que atualmente é
difícil de obter, pois existem estações com dois ou mais sistemas operacionais
instalados, nas quais o usuário praticamente só utiliza o Windows.

1.2 OBJETIVO
O objetivo geral do projeto é propor duas ferramentas para tornar mais eficiente a
tarefa de administração de sistemas no SERPRO, que atualmente utiliza o sistema
operacional Fedora Core 6(RED HAT, 2003). O Fedora é mantido por
desenvolvedores espalhados por várias partes do planeta, além de ser patrocinado
pela Red Hat, empresa dedicada ao software livre e de código aberto. Desenvolve
sistemas operacionais para servidores, como o RHEL - Red Hat Entrerprise
Linux(RED HAT, 2002), e para estações de trabalho, como o Fedora, atualmente na
versão nove e, em média, uma nova versão é lançada a cada seis meses.

Um dos objetivos específicos deste projeto é o detalhamento das ferramentas


desenvolvidas, fazendo uma descrição das funcionalidades, tecnologias utilizadas e
quais benefícios elas trazem para a empresa.

1.3 PORQUE AUTOMATIZAR UMA INSTALAÇÃO DE SISTEMA


OPERACIONAL?
Para realizar a instalação normal de um sistema operacional Linux, muitas perguntas
precisam ser respondidas, tais como: nome da máquina, fuso horário a ser utilizado,
configuração da rede, pacotes a serem instalados, e muitas outras. Em ambientes
com poucas máquinas, o método de instalação manual pode ser utilizado sem
muitos problemas. Porém, quando o parque de estações é relativamente grande,
mais de 100 máquinas por exemplo, deve-se pensar em uma forma de automatizar o
processo de instalação, pois instalar o sistema operacional em uma máquina por vez
12

será muito ineficiente, além de tedioso.

Uma alternativa utilizada em algumas empresas é instalar o sistema operacional em


uma máquina e, em seguida, copiar todos os arquivos contidos no disco rígido e
restaurá-los em outra máquina. Esse processo é chamado de criação de imagem do
HD. Esta solução possui duas limitações: 1 – Uma imagem só pode ser restaurada
em uma máquina que possua o disco rígido exatamente igual, e em muitos casos
drivers também, ao que foi gerada a imagem, portanto um ambiente com estações
de diferentes tipos, como é o caso do SERPRO, deverá armazenar uma imagem
para cada modelo de máquina existente na empresa. Isso ocuparia uma grande
quantidade de espaço em disco. 2 - Existem informações que são exclusivas de
cada máquina, como nome de máquina e IP por exemplo, portanto após restaurar
uma imagem todas essas configurações devem ser refeitas, tornando o processo
não tão automatizado.

1.4 ESTRUTURA DO TEXTO


Os próximos capítulos deste trabalho estão organizados da seguinte forma: no
capítulo 2 são apresentados conceitos básicos, no capítulo 3 são descritos três
trabalhos correlatos ao apresentado neste documento. O capítulo 4 apresenta uma
estudo de caso da implementação das ferramentas propostas no ambiente do
SERPRO, mostrando os benefícios proporcionados por elas na tarefa de
administração do parque de estações. O capítulo 5 apresenta os resultados obtidos
com a utilização das ferramentas propostas e no capítulo 6 são feitas as
considerações finais.
13

2. CONCEITOS BÁSICOS

2.1 MÉTODO KICKSTART


Para automatizar a instalação do Fedora Core 6 nas estações de trabalho é utilizado
o método de instalação criado pela Red Hat chamado de KickStart(KS). Esse método
utiliza um arquivo em formato de texto, com a extensão cfg, que pode ser
customizado de forma a ter as respostas para todas as perguntas que a instalação
de um sistema operacional normalmente tem, minimizando a interação do programa
com o técnico durante o processo. Esse arquivo pode estar armazenado em alguma
mídia, como CD-ROM ou disquete, ou em um servidor remoto. Disponibilizá-lo em
um servidor é mais vantajoso pois dispensa a utilização do disquete e evita que
sejam utilizadas versões antigas dos scripts de instalação, já que toda a instalação
utilizará o mesmo arquivo KS. Deve-se tomar cuidado com a quantidade de
instalações simultâneas, para que não afete o desempenho da rede. O número
máximo de instalações simultâneas varia de acordo com a capacidade da rede local.

Existem alguns fatores que impossibilitam uma instalação completamente


automatizada em ambientes corporativos, um deles é se a empresa possuir
representação em mais de uma localidade. Como o Brasil é um país de proporções
continentais, existem algumas configurações específicas para cada região, por
exemplo, o domínio em que as máquinas são inseridas e o fuso horário utilizado.

Outro problema que impede a completa automação do processo é a existência de


um grande e variado parque de estações, isso implica em máquinas com diferentes
capacidades de disco rígido, diferentes modelos de placa de vídeo, etc. Assim,
configurações que funcionem bem em determinadas máquinas, podem não funcionar
em outras. Além da grande diversidade de máquinas, pode existir também uma
variedade muito grande de usuários. Para fazer a distinção entre eles, é interessante
a criação de perfis de usuário.
14

O método KickStart divide a instalação em três etapas. A primeira, chamada de pré-


script, onde são executadas rotinas de preparação da máquina para a instalação do
sistema operacional. Em seguida deve-se realizar o particionamento do disco e
aguardar enquanto os pacotes do sistema básico são instalados. Por fim, tem início o
pós-script, normalmente nesta etapa são executados procedimentos para customizar
a estação, seja através da instalação de pacotes adicionais ou ajustes na
configuração de arquivos do sistema.

2.2 SHELL SCRIPT

Scripts são programas escritos em uma linguagem interpretada. Além do shell script,
outro exemplo é o PHP. Um script contém vários comandos e pode ser executado
sempre que requisitado. Os comandos utilizados são exatamente os mesmos que se
digita no prompt de comando. Uma de suas principais vantagens é a possibilidade de
automatizar tarefas que precisam ser executadas periodicamente. Normalmente, são
elaborados de maneira que não seja necessária interação entre o usuário e o
sistema. Desta forma, podem ser executados em background, ou seja, de forma
transparente para o usuário.

Um shell script é um script escrito para ser interpretado por um shell, seja ele do Unix
ou Windows, ou de qualquer outro sistema operacional. O shell script é uma
poderosa linguagem de programação pois permite a execução de comandos do
sistema operacional para qual ele foi desenvolvido, a manipulação de arquivos é
muito mais simples que qualquer outra linguagem, possui todas as estruturas de
programação como testes de condição, comandos de repetição, funções, etc. Outra
vantagem dessa linguagem é a facilidade de desenvolvimento, scripts poderosos e
úteis podem ser elaborados em curtos períodos de tempo. Todos os scripts em shell
desenvolvidos neste trabalho utilizam comandos Unix, portanto devem ser utilizados
apenas em sistemas tipo Unix, sistema operacional desenvolvido por Ken Thompson
na década de 70, e serviu de padrão para o desenvolvimento da maioria dos
sistemas operacionais GNU/Linux existentes hoje..
15

2.3 PACOTE

Pacote, no contexto de sistemas operacionais, é um conjunto de arquivos, scripts e


arquivos binários necessários para a instalação de algum software. O
empacotamento torna sua instalação e remoção muito mais simples, facilitando o
trabalho de manutenção do sistema operacional. O Fedora Core 6 utiliza o Red Hat
Package Manager - RPM(RED HAT, 1995) como sistema de gerenciamento de
pacotes.

O RPM é uma poderosa ferramenta de linha de comando que permite instalar,


remover, consultar, verificar e atualizar pacotes em um sistema operacional. Com
apenas um comando instala-se um pacote e toda sua configuração é feita de
maneira automática. Da mesma forma, para remover pacotes apenas um comando é
necessário. Todo pacote contém informações sobre o software nele contido, como
sua versão, nome e uma breve descrição. A ferramenta mantém um banco de dados
atualizado, para facilitar ao técnico a tarefa de obter informações sobre quais
pacotes estão instalados na máquina.

2.4 PROTOCOLO SSH


O SSH é um protocolo de rede que permite o estabelecimento de conexões seguras
entre computadores em uma mesma rede, uma vez que utiliza criptografia para
proteger os dados transmitidos durante a conexão. Essa conexão pode ser feita
manualmente, onde o técnico informa o IP da máquina, o usuário que será
autenticado e sua respectiva senha. Existe também a possibilidade de conexões
automatizadas, para isso é necessário que a máquina cliente tenha gravado
localmente a senha de usuário que realizará a conexão.

Conexões automatizadas são úteis em muitos casos, scripts agendados são um bom
exemplo, pois pode-se elaborar um script que realiza backup de arquivos e envia-os
a um servidor remoto. Eles podem ser executados em um horário fora do expediente
normal de trabalho, não impactando na produtividade do usuário da máquina.
16

Para criar um ambiente que permita autenticação remota automatizada, alguns


passos devem ser realizados. O primeiro passo é criar uma chave pública e uma
privada. A chave é uma identidade digital, composta de um conjunto binário de
dados que identifica unicamente uma estação. Essa chave é gerada através do
programa ssh-keygen, que é parte integrante do pacote openssh. Uma vez criadas
as chaves o próximo passo é copiar a chave pública para a máquina remota. O SSH
deve estar configurado para aceitar conexões automáticas utilizando chaves
públicas.

O gerenciamento da autenticação é feito pelo ssh-agent, esse programa, também


disponibilizado no pacote openssh, guarda a chave privada do usuário. Por questões
de segurança, as chaves privadas são alocadas na área de memória destinada ao
processo do ssh-agent. Gravar informações sigilosas como esta em arquivos facilita
que usuários mal intencionados se apossem desta chave e, com isso, consigam
acesso a determinados arquivos dos sistemas remotos que normalmente ele não
teria. Para o sistema ter acesso às chaves privadas instaladas no computador, basta
iniciar o ssh-agent, normalmente ele é iniciado no momento em que o usuário efetua
o login na estação. A ferramenta desenvolvida permite que todos esses passos
sejam feitos de forma simples e transparente.

2.5 KOMMANDER
O Kommander é uma ferramenta que permite a criação de pequenos e médios
aplicativos de forma simples e rápida. Através dele cria-se interfaces gráficas para os
scripts desenvolvidos, tornando-os mais amigáveis para os usuários. Ele é dividido
em duas partes: 1 - editor, onde cria-se a interface gráfica da aplicação, adiciona-se
os scripts desenvolvidos e associa-se os botões criados aos scripts apropriados. 2 -
executor, que processa e executa o arquivo gerado pelo editor. São produzidas
caixas de diálogo e aplicativos não compilados de tamanho, em KB, bastante
reduzido, sua execução é extremamente rápida e pode ser distribuído sem
preocupação de compatibilidade.
17

Interfaces elaboradas no Kommander integram-se facilmente a aplicações do


KDE(KDE, 1996), pois utiliza a mesma linguagem de comunicação entre processos.
O KDE – K Desktop Environment, é um ambiente gráfico que busca facilitar a
utilização de sistemas operacionais baseados no Unix, através da disponibilização
de diversas ferramentas. Possui uma interface gráfica bem elaborada e semelhante
à encontrada em sistemas operacionais bastante difundidos. Sua semelhança com o
Windows é um fator que muitas empresas levam em consideração pois facilita a
transição dos usuários para o GNU/Linux, uma vez que o usuário não sentirá tanto o
impacto da mudança de sistema operacional.
18

3. TRABALHOS CORRELATOS

Existem no mercado soluções semelhantes à descrita nesse projeto, três delas são
citadas a seguir.

3.1 INSTALAÇÃO DESASSISTIDA DO WINDOWS

O Windows permite um método de instalação desassistida(MSFN, 2001), utilizando


um arquivo contendo as informações necessárias para que a instalação ocorra da
maneira mais automatizada possível. Para ajudar o usuário na criação e
customização desse arquivo é disponibilizado o Setup Manager, uma ferramenta
gráfica que, em poucos passos, permite customizar um arquivo de resposta. A figura
01 ilustra a tela inicial do Setup Manager.

Figura 01 – Tela inicial Setup Manager.

A solução citada, apesar de semelhante, não é tão completa e testes realizados


mostram que seu desempenho é inferior em relação à apresentada neste trabalho.
Além da instalação automatizada essa solução fornece outras facilidades/benefícios
como a visualização centralizada, através de uma página WEB, dos logs de
instalação, a possibilidade de acompanhamento de quantas máquinas foram ou
19

estão sendo instaladas em todo Brasil ou em uma determinada localidade.

3.2 INSTALAÇÃO ATRAVÉS DO PRESEED

O preseed é um dos métodos de instalação utilizados no Debian(DEBIAN, 1993),


uma das mais populares distribuições GNU/Linux. Como o kickstart da Red Hat e a
instalação desassistida do Windows, essa solução utiliza um arquivo que contém
respostas para perguntas mais comuns na instalação do sistema operacional.

O preseed permite três métodos de instalação, são eles: initrd, arquivo e rede. Com
o initrd e rede pode-se instalar o Debian através de um arquivo preseed armazenado
em uma mídia removível, seja ela CD, DVD, dispositivos USB ou disquete. Esses
métodos também suportam instalação em máquinas inicializadas remotamente. O
método arquivo não suporta instalação onde a inicialização seja via rede. Uma
diferença importante entre os métodos preseed é o momento em que o arquivo é
carregado e processado, no initrd isso acontece logo no começo da instalação, no
método arquivo a leitura acontece após a mídia(CD ou DVD, por exemplo) ser
carregada e no método via rede o arquivo preseed só é lido depois de configurada a
rede.

Pode-se configurar boot automático, para isso deve-se criar um CD ou DVD


customizado, incluindo o arquivo preseed e informar sua localização. Assim, uma
vez dado boot pelo CD o arquivo será lido automaticamente, tendo início a
instalação. Outra possibilidade é o técnico informar a localização do arquivo, seja ela
em um servidor remoto ou mesmo na própria mídia. Para baixar o arquivo de um
servidor, a rede deve estar devidamente configurada.

Algumas condições devem ser respeitadas para a construção do arquivo:

1. Deve ser usado apenas um espaço ou tab entre os campos, espaços em


branco adicionais vão ser considerados como pertencentes ao valor em
questão.
20

2. Uma linha pode ser quebrada utilizando o caracter '\', essa opção é útil para
casos em que em que uma linha de comando seja muito extensa,
ultrapassando o limite de uma linha.

3. A maioria das questões devem ser respondidas utilizando o idioma inglês.

O preseed possui a limitação de não poder utilizar partições existentes. Para instalar
o Debian, utilizando esse método, é necessário reparticionar o disco ou, caso exista,
utilizar espaço livre em disco.

3.3 INSTALAÇÃO ATRAVÉS DO AUTOYAST

O AutoYAST(SUSE, 2004) é uma solução para automatizar instalação do sistema


operacional SUSE Linux. O processo, como nas soluções apresentadas
anteriormente, baseia-se em um arquivo que contém informações sobre a instalação
e configuração da estação, neste método ele é chamado de arquivo de controle.

A instalação padrão do SUSE é parcialmente automatizada, poucas informações


como o nome da máquina, fuso horário e particionamento são necessárias. Com o
AutoYAST pode-se conseguir uma automação total da instalação. O processo é
dividido em três etapas:

• Preparação: Todas as informações são coletadas e colocadas no arquivo de


controle. Essas informações serão interpretadas e, em seguida, os dados são
convertidos de forma a serem entendidos pelo instalador.

• Instalação: Utilizando informações contidas no arquivo de controle, são


executadas as tarefas de particionamento do disco, criação dos sistemas de
arquivos, instalação dos pacotes do sistema básico. Por último, é instalado o
gerenciador de boot da estação. Através do gerenciador, o usuário pode
escolher, caso existam, entre dois ou mais sistemas operacionais, qual deles
deverá ser inicializado.

• Configuração: Nesta etapa são instalados pacotes adicionais do sistema,


21

configurada a interface gráfica e setadas variáveis de ambiente. Além disso,


são executados scripts para configuração do SUSE, adequação do sistema ao
hardware disponível e configuração da rede. Por último, são executados
scripts para configuração final do sistema, como configurações de som e de
impressoras.

O arquivo de controle deve ser construído obedecendo o formato XML, que é bem
estruturado, facilitando o entendimento e localização das informações desejadas.
Para evitar possíveis erros na formatação do arquivo de controle, existem recursos
para fazer a sua validação, ou seja, verificar se não houve erro de sintaxe ao
informar alguma das diretivas de instalação. Uma ferramenta capaz de fazer tal
tarefa é o xmllint, disponível no pacote libxml2(FLECK, 1999). O uso dese tipo de
ferramentas é fortemente indicado, caso o arquivo tenha sido editado manualmente.

Figura 02 – Interface gráfica para customização do arquivo de controle.

A customização do arquivo de controle pode ser feita através de uma interface


gráfica baseada no YAST2. A figura 02 exibe a tela inicial deste configurador gráfico.
22

Esta interface gráfica possui duas vantagens fundamentais em relação à edição


manual do arquivo de controle: 1 - Permite que o técnico tenha uma visão geral de
todas as opções que podem ser customizadas, facilitando assim o processo de
customização. 2 - Deixar que o aplicativo insira no arquivo de controle as
configurações feitas pelo técnico, evitando que ocorram erros de digitação ou de
formatação do arquivo de controle.

Utilizando o AutoYAST é possível realizar diversas configurações do sistema, como


configuração da rede, especificar quais serviços serão ativados na inicialização da
máquina, customizações do ambiente gráfico. Para estações com pouca memória
RAM disponível ou que não utilizarão ambiente gráfico, recomenda-se a utilização
do instalador YAST em modo texto. Existem três possíveis métodos para inicializar a
estação e começar a instalação, são eles: Disquete, CD-ROM ou através da rede. A
página oficial do SUSE disponibiliza documentação bastante completa, e de fácil
entendimento, sobre como utilizar o AutoYAST e cada um dos seus métodos de
inicialização.
23

4. ESTUDO DE CASO DA IMPLEMENTAÇÃO DAS FERRAMENTAS


PROPOSTAS NO AMBIENTE DO SERPRO

4.1 SERPRO

De acordo com informações obtidas em seu portal(SERPRO, 2008), o SERPRO é a


maior empresa pública de prestação de serviços em tecnologia da informação do
Brasil. Foi criado em primeiro de dezembro de 1964, para modernizar e dar agilidade
a setores estratégicos da administração pública. É uma empresa vinculada ao
Ministério da Fazenda, desenvolve programas e implementa soluções que
permitiram maior controle e transparência sobre a receita e os gastos públicos.
Ganhou notoriedade, ao longo desses anos, aprimorando tecnologias adotadas em
diversos órgãos públicos federais, estaduais e municipais, facilitando a vida do
cidadão brasileiro.

Sua sede está localizada em Brasília, porém conta ainda com dez regionais e
escritórios distribuídos pelo território nacional. Atualmente possui cerca de dez mil
empregados. Seu mercado de atuação está no segmento das finanças públicas,
constituído pelo Ministério da Fazenda, cliente que, sozinho, corresponde a 85,2%
do volume de negócios da empresa. Atua, também, no segmento das ações
estruturadas e integradoras da administração pública federal, que é constituído pelo
Ministério do Planejamento, Orçamento e Gestão e estende-se a outros órgãos
governamentais que venham a constituir ações nesse segmento e que demandem
serviços característicos da empresa.

Dentre as soluções desenvolvidas pelo SERPRO pode-se citar a declaração do


imposto de renda via Internet, programa desenvolvido na regional Salvador e
utilizado por mais de 20 milhões de pessoas anualmente no Brasil. Outro exemplo
são os sistemas informatizados que gerenciam o orçamento da União, redes que
permitem integrar balancetes contábeis ao Fundo de Participação de Estados e
24

Municípios e serviços computadorizados que informam quanto o Brasil exporta e


importa.

Este trabalho foi realizado no âmbito da regional Salvador do SERPRO, na


superintendência de produtos e serviços – Administração de ambientes de
Tecnologia da Informação – SUPTI, que tem como principais atribuições apoiar as
atividades das gestões de produção, segurança, tecnologia e relacionamento com
clientes. Buscar o fortalecimento de novos negócios, a partir da qualidade e
agilidade, na prestação de seus serviços. Implementar estratégias que visem a
incorporação de atitudes e ações criativas e inovadoras, com o objetivo de aprimorar
a qualidade dos produtos e serviços prestados. Dentre os serviços prestados
podemos citar a instalação, configuração e manutenção da rede local, estações de
trabalho e servidores localizados no SERPRO e seus clientes.

4.2 ESTRUTURA DA SOLUÇÃO DO SERPRO PARA AUTOMAÇÃO DE


INSTALAÇÃO DO SISTEMA OPERACIONAL FEDORA CORE 6

Compõem a solução um servidor que serve como repositório de pacotes que atende
as instalações de uma determinada região. O servidor localizado na regional
Salvador atende às instalações realizadas nesta cidade e no escritório de Aracaju.
Para um melhor desempenho do processo, o ideal é que a instalação utilize
repositórios fisicamente próximos à máquina em questão. A utilização de repositórios
distantes implicam em uma maior lentidão do processo, porém a instalação ocorrerá
da mesma forma e o resultado final será o mesmo. Deve-se tomar cuidado com o
número de instalações simultâneas para que não ocorra uma sobrecarga na rede,
prejudicando outros serviços. Caso ocorra algum erro na instalação, é necessário
reiniciar o processo até que seja concluído com sucesso.

Para automatizar a instalação ao máximo, é utilizado um arquivo KickStart(RED


HAT, 2002), também conhecido como KS, que contém as configurações para a
instalação da estação. Os dados não obtidos de forma automatizada deverão ser
25

informados pelo técnico responsável. Esse arquivo deverá ser disponibilizado em um


servidor, normalmente o mesmo em que foi implementada a estrutura de repositório,
para o técnico realizar o download. Para isso, deve-se configurar o serviço
HTTP(FIELDING, 1999).

A figura 03 exibe a estrutura da solução e os passos executados para a instalação


de uma estação de trabalho utilizando o método customizado pelo SERPRO. O
passo inicial é realizar o download do arquivo KS, disponível no servidor do Centro
de Especialização em Estações de Trabalho(CEES). Feito isso, deve-se executar os
procedimentos contidos no pré-script e, ao final deste, é enviado uma mensagem ao
servidor do CEES indicando que a instalação foi iniciada. Em seguida deve-se fazer
o particionamento do disco.

Figura 03 – Estrutura da solução desenvolvida pelo SERPRO

As próximas etapas ocorrem de forma automática, ou seja, sem intervenções


técnicas, a primeira é a instalação dos pacotes do sistema básico, a estrutura de
repositório de pacotes fica no servidor da Rede Local de Software Livre(RLSL). A
segunda é o pós-script, onde são feitas as customizações da máquina, já citadas
anteriormente.

Ao final do pós-script, caso todo o processo tenha ocorrido sem problemas, uma
mensagem é enviada ao servidor do CEES, informando que a instalação na estação
de trabalho foi concluída com sucesso.
26

O envio das informações de início e término são utilizadas para alimentar a página
de acompanhamento das instalações, que é detalhada no item 4.4.

4.3 INSTALAÇÃO DO FEDORA CORE 6 UTILIZANDO ARQUIVO KS


CUSTOMIZADO PELO SERPRO

O KS é um arquivo que facilita o processo de instalação do Fedora Core ou qualquer


outra distribuição GNU/Linux desenvolvida pela Red Hat, como o CentOS(CENTOS,
2004) e o RHEL. Através deste método pode-se conseguir uma instalação
completamente automatizada, no ambiente do SERPRO esta opção é inviável pois a
empresa possui um parque de estações muito variado, impedindo que sejam feitas
configurações específicas para cada tipo de máquina, tal fato motivou a criação de
perfis de máquina, para diferenciar estações de trabalho de notebooks. No pré-script,
o técnico deve informar as particularidades da máquina, se é estação de trabalho ou
notebook, e fazer o particionamento do disco manualmente, escolhendo as
configurações que melhor se adaptem à máquina em questão.

Existe também uma variedade muito grande de usuários, para resolver tal problema
foram criados os perfis administrativo e desenvolvedor. Para fazer a distinção entre
eles, foram criados perfis, também informados no pré-script. Um usuário que, no seu
dia-a-dia, utiliza basicamente sua estação para criação/edição de documentos ou
planilhas e acessar sites da Internet, não precisa ter instalado em sua máquina
pacotes próprios para desenvolvedores. Esse motivo fez com que fosse criado o
perfil administrativo, mais básico de todos, contendo apenas os pacotes essenciais
para o funcionamento do sistema. Outro perfil criado foi o adicional, que, assim como
o administrativo, está presente em todas as instalações. Ele possui pacotes de suítes
de escritório, navegador de Internet, ferramentas e para execução de arquivos
multimídia(fotos, músicas e vídeos), e aplicativos para leitura de arquivos PDF.

Para usuários que necessitam de aplicativos mais avançados foi criado o perfil
desenvolvedor. Esse perfil é subdividido em sub-perfis, um programador java não
necessita ter instalado em sua máquina pacotes referentes à outras linguagens,
27

como PHP por exemplo, pacotes instalados desnecessariamente oneram o processo


de instalação, além de ocupar espaço em disco, que futuramente pode fazer falta.

A primeira configuração feita no arquivo KickStart foi inserir a diretiva 'install', em


seguida deve-se informar a linguagem que será utilizada durante a instalação e o
layout de teclado da máquina. Nestes campos a customização feita foi utilizar o
idioma português do Brasil e o layout de teclado br-abnt2. Através da diretiva
'network', informa-se a configuração de rede a ser utilizada pela máquina, as opções
são Dynamic Host Control Protocol(DHCP) e IP fixo, se utilizada a segunda opção,
deve-se informar também o IP a ser utilizado, a máscara de rede, o IP do gateway
padrão e o IP do servidor de nomes. A função do DHCP é fornecer um número de IP
válido para cada uma das estações conectadas na rede, com isso os
administradores de rede não precisam se preocupar com qual IP será atribuído a
determinada máquina, tudo isso é feito de maneira automática e transparente.

No KS customizado, não é feita nenhuma configuração na diretiva 'network' pois


cada localidade possui suas particularidades, portanto o técnico deve informar
manualmente a configuração utilizada. Neste item pode-se também informar o nome
de máquina a ser utilizado na estação, porém, assim como o IP, o nome da máquina
deve ser único para cada estação de trabalho, por isso esta opção também foi
desabilitada, forçando o técnico a informar o nome de máquina que será atribuído à
estação sendo instalada.

Outro campo existente no KS é a diretiva 'firewall', porém, no ambiente do SERPRO,


esta opção foi desabilitada, uma vez que a função de firewall é executada por
máquinas específicas, em cada rede local. Através da opção 'rootpw' pode-se
informar a senha do usuário administrador da máquina, no Linux é chamado de root.
Cada localidade possui sua própria senha, por isso, este campo também deve ser
informado pelo técnico. Outra diretiva de segurança configurável pelo KS é o
Security-Enhanced Linux(SELinux), que provê uma política de segurança para
processos e objetos do sistema, mas que, por dificuldades e problemas em sua
configuração, foi desabilitado.
28

Outra configuração é o 'timezone', através dele informa-se qual fuso horário a


máquina será inserida. Sua utilização no ambiente do SERPRO é inviável pois, como
a empresa abrange todas as capitais do país, existem mais de uma opção possível
para esta diretiva.

A próxima configuração feita no arquivo KS é a parte gráfica, utilizando a opção


'xconfig'. Nela é informado o ambiente gráfico que será utilizado pelo Fedora Core 6.
No SERPRO utiliza-se o KDE.

Outra configuração feita pela opção 'xconfig' é a profundidade de cores utilizada pelo
sistema operacional. Profundidade de cores é um termo utilizado em computação
gráfica para representar a quantidade de bits utilizada para representar as cores.
Quanto maior esse valor, mais cores estarão disponíveis para utilização. No
SERPRO utiliza-se 24 bits. A última customização feita por esta diretiva no arquivo
KS é habilitar a opção 'startonboot' para que o ambiente gráfico seja carregado
quando a máquina for iniciada.

Através da diretiva 'monitor', pode-se informar o tipo de monitor que será utilizado na
instalação do Fedora Core 6. Como o SERPRO tem um parque de estações muito
grande, inclusive com diversos tipos de monitor, a customização feita foi apenas
informar que a resolução padrão será de 1 024 por 768 pixels.

O próximo campo descrito no arquivo KS é talvez o mais importante, que é a diretiva


'repo'. Através dela informa-se o(s) endereço(s) do(s) repositório(s) onde os pacotes
utilizados na instalação estarão disponíveis. Na instalação padrão do Fedora Core 6
no SERPRO são utilizados três repositórios, local-i386, local-noarch e updates. Para
informar um repositório utilizando esta diretiva deve-se usar a seguinte sintaxe: 'repo
--name=nome_repositorio –base=localizacao_repositorio', sendo “nome_repositorio”
o nome que será atribuído ao repositório e “localizacao_repositorio” o local onde o
repositório está disponível, seja ela local ou remota. A seguir, é exibido um exemplo
de utilização desta diretiva: 'repo --name=serpro-updates
--baseurl=http://10.200.237.150/fc6/updates/i386'.
29

Como no SERPRO existem repositórios em cada uma das regionais, o IP do


repositório a ser utilizado deve ser informado pelo técnico no momento da execução
do pré-script.

Outra diretiva utilizada é a 'reboot', que, como o próprio nome sugere, informa que a
estação de trabalho deve ser reiniciada após o término da instalação.

A diretiva '%package' informa os pacotes que deverão ser instalados na máquina.


Pode-se colocar o nome de cada um dos pacotes ou dividir os pacotes em grupos e
informar apenas os grupos de pacotes que devem ser instalados.

Uma instalação básica de um sistema GNU/Linux contém mais de 500 pacotes, isso
prejudica a visualização do arquivo KS, pois é necessário uma linha para cada
pacote que será instalado. Para evitar isso, foram criados grupos de pacotes, assim
em vez de um pacote por linha, é inserido apenas a linha “@perfil-basico-serpro”,
que corresponde ao perfil administrativo, na diretiva 'package'. O instalador ao ver
essa linha, busca no servidor a lista de pacotes correspondentes ao grupo
informado. Esse mesmo critério é utilizado para os outros perfis.

O perfil desenvolvedor está associado ao grupo perfil-basico-desenvolvedor-serpro,


suas subdivisões também foram separadas em grupos: Perfil PHP, perfil-
desenvolvedor-php-serpro; perfil Java; perfil-desenvolvedor-java-serpro; perfil zope-
plone-python, perfil-desenvolvedor-zope-serpro. Existem também grupos de pacotes
específicos para notebook, representados pelo grupo perfil-basico-notebook-serpro.

Ao final de qualquer instalação do Fedora Core, é gerado um arquivo KickStart e


armazenado no diretório /root com o nome anaconda-ks.cfg.

Por último, temos as diretivas '%pre' e '%pos', que tem como função executar
comandos antes(pré-script) e depois(pós-script) da instalação dos pacotes,
respectivamente.

Ao final do pré-script é gerada uma saída, chamada de arquivo de resposta, que


30

contém todas as informações necessárias para a instalação da máquina. Tal fato


permite que o pós-script tenha sua execução de maneira completamente
automatizada, não necessitando intervenção técnica.

Figura 04 – Etapas instalação via KS.

Os itens a seguir fazem um detalhamento maior do que ocorre em cada uma das
etapas ilustradas na figura 04.

4.3.1 Pré-script

Para iniciar o processo de instalação, é necessário ter em mãos o CD 01 da


distribuição Fedora Core 6. Para começar a instalação deve-se inicializar a estação a
partir do CD, e digitar o endereço onde o arquivo KickStart está disponível, seja em
disquete, CD ou servidor remoto. Os pacotes a serem instalados podem estar em um
disco local, no próprio CD-ROM, em DVD ou ainda em um repositório da intranet ou
Internet.

No pré-script são executadas rotinas de preparação da máquina e coletadas


informações para a instalação do Fedora Core 6. No ambiente do SERPRO, o pré-
script foi customizado da seguinte forma: No início informa-se onde os pacotes
utilizados na instalação estarão disponíveis, as opções são: CD-ROM local, disco
rígido, imagem NFS(Network File System), FTP e HTTP. No caso do SERPRO
utiliza-se a opção HTTP. Em seguida, deve-se informar o IP do repositório onde
estão os pacotes.

A partir deste ponto são executadas rotinas customizadas. Para uma melhor
organização, foram criadas sub-rotinas dentro do pré-script. Os scripts executados
31

nesta etapa e suas funcionalidades são descritos abaixo:

• Abertura: Exibe a marca do SERPRO e os centros de especialização


responsáveis pela elaboração dos scripts.

• Atribuição: O técnico informa dados da máquina que está sendo instalada, são
eles nome da máquina(hostname), domínio em que a máquina será inserida,
o IP do repositório que será utilizado para a instalação dos pacotes e o IP do
servidor de hora da regional.

• Rede: Neste script o técnico informa a configuração da rede, se a máquina


utilizará IP fixo ou o IP será fornecido por um servidor DHCP. Para o caso de
IP fixo, devem ser informados também: máscara de rede, IP do gateway
padrão e IP do servidor de Domain Name System(DNS).

• Perfil: O técnico deve informar o ambiente em que a máquina será inserida,


são 3 opções: 1 - Ambiente interno, para máquinas utilizadas dentro do
SERPRO. 2 - Eventos externos, essa opção deve ser utilizada para instalação
do Fedora em estações que serão utilizadas em eventos externos, sem
acesso aos serviços de autenticação do SERPRO. 3 - Teletrabalho, esse perfil
é utilizado para atender aos empregados do SERPRO que irão trabalhar fora
das dependências da empresa. Atualmente, o projeto para implantação do
perfil teletrabalho ainda não foi finalizado.
Em seguida, deve-se informar o perfil da máquina, se é estação de trabalho
ou notebook. Caso seja selecionado notebook, uma nova tela será exibida
contendo uma lista onde o técnico deverá informar o modelo a ser instalado,
caso este não conste na lista deve-se utilizar a opção “Notebook Genérico”. O
passo seguinte é selecionar o perfil de usuário que utilizará a estação de
trabalho, administrativo ou desenvolvedor. Caso escolha perfil desenvolvedor,
será exibida uma nova tela onde deve-se informar qual perfil desenvolvedor
será instalado. As opções são: PHP, Java, Zope-Plone-Python e global(perfil
contendo todos os anteriores).
32

• Verificação: Neste script são feitas as últimas verificações, para assegurar que
a instalação pode seguir para a próxima etapa.

Ao final do pré-script é gerado um arquivo, chamado de arquivo de resposta,


contendo todas as informações sobre a instalação coletadas até o momento. Esse
arquivo será utilizado como fonte de dados para o pós-script, e é por esse motivo
que a etapa final da instalação ocorre sem intervenções técnicas.

4.3.2 Particionamento do disco e instalação de pacotes

Na segunda etapa deve-se particionar o disco e, em seguida, os pacotes básicos do


sistema operacional serão instalados na máquina. O SERPRO tem como padrão a
criação de quatro partições no disco, são elas:

1. Boot (/boot) Partição onde ficam todos os arquivos necessários para a


inicialização do sistema. Deve ter 100 MB de espaço.

2. Raiz (/): Esta é a partição onde será instalado o Sistema Operacional. Deve
ter 15 GB de espaço.

3. Swap: Destinada ao suporte à memória RAM da máquina. Quando a memória


principal do sistema se esgota, esta partição é utilizada como uma extensão
da memória do sistema. Imprescindível para estações com pouca memória.
De acordo com o modelo tecnológico elaborado pelo SERPRO, toda máquina
deve ter uma partição swap com o equivalente ao dobro de sua memória
RAM, até o limite de um GB. Por exemplo, uma máquina com dois GB de
memória RAM deve ter uma partição swap de apenas um GB.

4. Dados do usuário (/home): Nesta partição ficam os dados do usuário. A


vantagem de ter uma partição de dados separada da partição do sistema é
que se ocorrer algum problema com o sistema operacional e este precisar ser
formatado, o usuário não perderá seus dados, pois a partição /home
continuará intacta. Deve ocupar o resto do espaço disponível no disco.
33

Uma vez particionado o disco terá início a instalação dos pacotes básicos do
sistema. A partir desta etapa, nenhuma intervenção será requisitada, ou seja, a
instalação ocorrerá de forma automática. O Yellow Dog Updater Modified -
YUM(VIDAL, 2003) é utilizado para a gerência dos pacotes. Através do YUM é
possível instalar, atualizar e remover pacotes, em sistemas que utilizam pacotes no
formato RPM. As dependências são automaticamente computadas e resolvidas.

Se um pacote X depende do pacote Y, ao digitar o comando YUM para instalação de


pacotes, 'yum install X', serão elencadas todas as dependências do pacote X e, em
seguida, verificado se todas elas estão instaladas no sistema, caso alguma esteja
faltando, o YUM o instalará automaticamente junto com o pacote desejado. De
maneira semelhante, ao digitar o comando 'yum remove X', o YUM faz a verificação
de todas as dependências deste pacote e caso algum pacote torne-se inútil ao
remover o pacote X, ele também será excluído do sistema. Com isso fica muito mais
fácil manter o parque de estações atualizado e em um estado consistente. O YUM dá
suporte a múltiplos repositórios, é simples de configurar, tem execução veloz,
interface simples e ainda oferece a facilidade de instalar grupos de pacotes, através
da opção groupinstall que, com apenas um comando, instala-se um grupo de
pacotes e suas dependências.

4.3.3 Pós-script

Uma vez terminada a instalação dos pacotes, é iniciada a terceira e última etapa, o
pós-script. O SERPRO customizou o pós-script de maneira a adequar a estação ao
ambiente da empresa e à localidade em que ela está inserida, além de corrigir
possíveis erros na instalação ou alterar a configuração de determinados pacotes.
Para a execução dos scripts contidos nesta etapa, é imprescindível que tenha sido
gerado o arquivo de resposta no pré-script. Para a customização do pós-script foram
desenvolvidas as rotinas listadas abaixo, a depender do perfil de máquina e usuário
selecionados alguns desses scripts podem não ser executados:

• Abertura: Assim como no pré-script, exibe a marca do SERPRO.


34

• Atribuição: Neste script são definidos importantes aspectos do sistema, como


o gerenciador de login utilizado. Apesar de utilizar o KDE como gerenciador
de janelas o gerenciador de login utilizado é o GDM(GNOME, 1999). O
principal motivo de sua utilização é sua melhor compatibilidade na
autenticação do usuário através de tokens.
Também são feitas as configurações do nome da máquina, o domínio em que
será inserida, a forma de obtenção do IP, fixo ou DHCP. São feitos ainda
ajustes nos arquivos de configuração do ambiente gráfico. Outra importante
configuração é a criação dos arquivos que informam o endereço dos
repositórios que a máquina irá acessar. Por fim é feita a configuração do
servidor de horário da máquina, dessa forma todas as estações do SERPRO,
dentro de um mesmo fuso, exibirão o mesmo horário.

• Atualização: Nesse script é feita uma verificação se todos os pacotes


instalados estão em sua versão mais recente, caso contrário, serão
atualizados.

• CriaInit4: Cria duas opções para autenticação na estação. A primeira, init 5, é


utilizada para autenticação no ambiente do SERPRO. A segunda, init 4, serve
para autenticação local na máquina, utilizada quando o usuário precisa usar o
notebook fora de empresa, em sua casa ou em uma reunião de negócios por
exemplo.

• Adicionais: Instala pacotes adicionais que foram selecionados durante o pré-


script. Por exemplo, se no início da instalação, o técnico selecionar o perfil
desenvolvedor PHP, este script se encarregará de instalar os pacotes
associados a este perfil. Outra customização feita por esta rotina é a
execução do script de customização referente ao modelo de notebook,
informado no pré-script.

• NotebookHPnx6320: Script específico para ser executado em instalações do


Fedora Core 6 em notebooks HP nx6320.
35

• NotebookHPnx6120: Idem ao item anterior, porém utilizado em instalações em


notebooks HP nx6120.

• NotebookHPnx6710b: Idem ao item anterior, porém utilizado em instalações


em notebooks HP nx6710b.

• Serviços: Define quais serviços serão habilitados e quais serão desabilitados


ao iniciar o Fedora Core 6.

• Segurança: Através desse script são desabilitadas as seguintes opções: 1 -


Finalizar a sessão do usuário no sistema operacional utilizando a combinação
de teclas Ctrl+Alt+BackSpace. 2 - Acessar outras consoles em modo texto,
através da combinação de teclas Ctrl+Alt+F1 até Ctrl+Alt+F7.

• Desativa_IPv6: Como ainda não se utiliza IPv6 no SERPRO, por questões de


desempenho, o IPv6 deve ser desativado. IPv6 é uma evolução do protocolo
IP, sua utilização ainda é insignificante se comparada à do protocolo IP.

• Remove_prelink: Remove o pacote prelink.

• Integração_rede: Script que faz a integração da estação ao ambiente em que


a mesma se autenticará. Antigamente existiam duas opções de integração:
NOVELL e Rede Local de Software Livre(RLSL), porém atualmente não
existem mais estações Linux que se autenticam na NOVELL, portanto esse
script apenas faz a integração com a RLSL.

• Patches: Último a ser executado, ele é reservado para execução de


determinados comandos ao fim da instalação. Nesse script são executados
procedimentos para instalação do programa de declaração do Imposto de
Renda Pessoa Física – IRPF, verifica se a estação possui gravador de CD ou
DVD e instala o aplicativo apropriado.

Após a execução do pós-script, é enviado para o servidor, um arquivo contendo as


informações coletadas na instalação. O envio deste arquivo implica que a instalação
36

foi concluída com sucesso.

Para não causar transtornos ao usuário, já que este fica impossibilitado de utilizar
sua estação durante o processo, existe a opção de realizar instalações fora do
horário de trabalho, após o expediente por exemplo. Para isso, o técnico deve
executar o pré-script, fazer o particionamento do disco e deixar que o resto da
instalação ocorra de maneira automática. Assim, no dia seguinte, a estação estará
configurada e pronta para o uso. Visando economia de energia, pode-se customizar
o processo, de maneira que a máquina seja desligada ao fim da instalação.

4.4 PÁGINA DE ACOMPANHAMENTO

Para facilitar o acompanhamento do processo de instalação das máquinas, uma


página WEB foi desenvolvida para permitir a visualização das informações de
instalação de cada máquina, em todas as regionais e escritórios do SERPRO. Essa
página pode ser acessada através de qualquer navegador de Internet. A figura 05
exibe sua página inicial.

A página para visualização dos logs de instalação precisa, além do HTTP, estar com
o protocolo FTP - File Transfer Protocol(POSTEL, 1985) ativo para que os dados
possam ser enviados das máquinas para o servidor, durante o processo de
instalação. FTP é um protocolo de transferência de arquivos muito utilizado para
troca informações, principalmente pois este faz uma checagem da integridade dos
dados enviados.

Uma rotina para atualizar o banco de dados deve ser executada periodicamente. O
intervalo de tempo deve ser definido pelos administradores do sistema, para garantir
que as informações exibidas na página sejam atuais e confiáveis.

Para o desenvolvimento da página de visualização dos logs de instalação foi


utilizada a linguagem de programação PHP(PHP, 2001), muito popular em
ambientes WEB, além de ser de código aberto. Para armazenar as informações
obtidas na instalação das estações, foi escolhido o banco de dados
37

PostgreSQL(POSTGRESQL, 1996), mantido por uma grande comunidade de


desenvolvedores e companhias espalhados por todo o mundo, e mais um exemplo
de software livre.

A página inicial informa o horário da última atualização da página e a recorrência de


atualização. O link “Manual de instalação Fedora Core 6 via KS”, como o próprio
nome sugere, redireciona o usuário para o manual de instalação elaborado pelo
Centro de Especialização em Estações de Trabalho(CEES).

Para facilitar a visualização da página, os logs de instalação foram agrupados por


localidade, para isso, foram criados links, posicionados no canto esquerdo da página.
Ao clicar em um dos links, é exibida uma lista contendo todas as máquinas da
localidade escolhida, que executou os procedimentos de instalação.

Figura 05 – Página inicial site acompanhamento das instalações Fedora.

A figura 06 exibe a lista de logs de instalação das máquinas do escritório de Aracaju.


Para acessar mais informações de uma determinada máquina, como horário de
início e fim da instalação, particionamento, etc, basta clicar no botão localizado no
coluna Log. O botão na cor azul indica que a instalação terminou com sucesso e o
botão amarelo que o processo ainda está em andamento, conforme legenda
38

disponível na própria página.

Figura 06 – Visualização dos logs do escritório Aracaju.

A figura 07 exibe um exemplo de log de uma estação de trabalho instalada no


escritório de Florianópolis. Para facilitar a identificação da máquina sendo
examinada, é exibido no topo da página a localidade à qual ela pertence, bem como
o nome de máquina e seu IP.

Esse sistema foi todo desenvolvido utilizando tecnologias de código aberto. Os logs
são armazenados em um banco de dados PostgreSQL, a página foi desenvolvida
utilizando a linguagem de programação PHP. Também são utilizados shell scripts
para disparar rotinas de inserção de novos logs no banco e no envio para o sistema
de informações coletadas durante o processo de instalação. Outra linguagem
utilizada na página é o Javascript.

Para enviar informações ao sistema, foi elaborado um shell script, que estabelece
uma conexão FTP entre uma máquina, servidora, e outra, cliente. Essa conexão é
estabelecida entre a máquina, que envia um arquivo contendo informações coletadas
durante o processo de instalação, e o servidor na qual a página está hospedada.
Esse script precisa ser executado duas vezes, na primeira vez para indicar que o
39

processo de instalação foi iniciado, e uma segunda vez, para enviar informações
referentes ao término da instalação.

Figura 07 – Log de instalação de uma estação do escritório Florianópolis.

Enviar o arquivo para o servidor não é suficiente para que a página seja atualizada, é
necessário inserir as informações coletadas no banco de dados que alimenta a
página. Para isso foi desenvolvido outro shell script, que lê todos os arquivos
enviados e monta uma lista com seus nomes e localização, para que possam ser
inseridos no banco de dados. Uma vez criada essa lista, um script desenvolvido em
PHP é chamado para realizar tal tarefa. Esse script teve sua execução agendada,
assim evita-se que alguém precise periodicamente executar essa rotina.

No caso do SERPRO, a página é atualizada a cada cinco minutos, foi escolhido esse
valor pois uma instalação leva, no mínimo, 30 minutos para ser concluída, esse
intervalo garante que a página irá exibir tanto as informações de que o processo foi
iniciado como informações indicando o término do mesmo. Valores pequenos, como
um ou dois minutos de periodicidade, podem afetar outros serviços hospedados
neste servidor, principalmente os que exigem curtos tempos de resposta às
requisições.

Como o script que envia as informações para a página precisa fazer uma conexão
40

FTP, qualquer um que abra esse arquivo terá acesso a um nome de usuário e senha
do servidor da aplicação, isso é um grave problema de segurança da informação.
Para evitá-lo, foi utilizada a ferramenta SHC - Shell Script Compiler(GARCÍA, 1997),
que transforma o script, desenvolvido em shell, em um arquivo binário. Assim, seu
conteúdo fica protegido podendo ser livremente distribuído para todas as estações
sem que haja risco de usuários mal intencionados conseguirem credenciais de
acesso ao servidor da aplicação.

É possível visualizar um sumário, a nível nacional, do processo de instalação, com a


contabilização dos estados que realizaram a instalação do Fedora 6. Para visualizá-
lo, deve-se clicar no mapa do Brasil localizado na página inicial, será então exibida
uma tabela contendo o quantitativo de máquinas que estão executando e que
executaram com sucesso a instalação do Fedora 6. A última linha exibe um
somatório, a nível nacional, das instalações. Um exemplo desse sumário é exibido
na figura 08.

Figura 08 – Sumário nacional de instalação do Fedora Core 6

Pode-se também obter um resumo do processo de atualização por localidade


posicionando o mouse sobre a sigla do estado desejado, na página principal. A figura
41

09 ilustra a situação descrita, posicionado o mouse sobre a sigla RS. Para o caso de
localidades como Rio de Janeiro, São Paulo e Brasília, que possuem mais de uma
regional, essa opção exibe a soma da contabilização das instalações. Por exemplo,
no Distrito Federal temos uma regional e a sede, portanto, ao posicionar o mouse
sobre a sigla do DF, será exibido ao usuário a soma das instalações realizadas na
regional Brasília e na Sede do SERPRO.

Algumas regionais possuem um parque de estações muito grande, prejudicando a


visualização da página de logs, e tornando complicada a tarefa de encontrar um
determinado log, pois a lista é muito grande. Além disso, não há como saber quantas
e quais máquinas executaram os procedimentos de instalação, em todo o Brasil, em
um determinado período de tempo. Para facilitar o acesso a essas e outras
informações foi elaborada uma seção que permite a pesquisa de logs, filtrando a
exibição dos logs de acordo com critérios definidos pelo usuário.

         Figura 09 – Visualização rápida do sumário de uma determinada localidade.

A pesquisa pode ser feita segundo os seguintes critérios: status(em andamento ou


concluída), localidade(Regional, Escritório ou Sede) e período(data inicial e data
final). Para facilitar o preenchimento, foram adicionados botões, localizados ao lado
dos campos “De:” e “Até”, que ao serem clicados exibem um calendário, semelhante
ao da figura 10.

Basta ao usuário clicar na data desejada que o campo será preenchido


automaticamente. Indica-se utilizar essa opção pois previne que sejam informadas
42

datas em um formato incorreto ou que não existam.

Figura 10 – Calendário para preenchimento de data.

Para realizar a pesquisa, basta preencher os campos desejados, não é necessário


preencher todos os campos. Uma vez selecionados os critérios de pesquisa, deve-
se clicar no botão “Pesquisar!”. A figura 11 exibe a página inicial da seção de
pesquisa.

Figura 11 – Página de pesquisa de logs.

A seguir são mostrados três exemplos de pesquisas e como proceder para efetuar
tal pesquisa no sistema:

1. Pesquisa: Todas as máquinas do SERPRO executando os procedimentos de


instalação neste momento:
43

Procedimentos: Marcar a opção 'Em andamento' e, em seguida, clicar em


“Pesquisar!”

2. Pesquisa: Máquinas da regional Salvador que executaram com sucesso a


instalação do Fedora 6:
Procedimentos: Marcar as opções 'Concluída' e 'Regional-Salvador', clicar
em “Pesquisar!”.

3. Pesquisa: Máquinas da regional Belém que executaram os procedimentos de


instalação do Fedora 6 no mês de janeiro de 2008:
Procedimentos: Marcar a opção 'Regional-Belem', no campo 'De:' informar a
data “01/01/2008” e no campo 'Até:' a data “31/01/2008”. Em seguida, clicar
em “Pesquisar!”.

A página que exibe o resultado da pesquisa é semelhante à mostrada na figura 06, a


diferença é que na pesquisa é exibido um campo a mais, a regional à qual a máquina
pertence. A figura 12 exibe o resultado da pesquisa três.

Figura 12 – Visualização do resultado da pesquisa.


44

No final da página é exibida a quantidade de logs que atenderam aos critérios da


pesquisa, porém nem sempre a consulta realizada retorna algum valor, quando isso
ocorrer será exibida a seguinte mensagem ao usuário: “A consulta não retornou
nenhuma linha!“. Nesse caso, o usuário deve rever os parâmetros informados,
realizar os ajustes necessários e fazer nova busca.

Se o usuário informar a data inicial ou data final fora do padrão DD/MM/AAAA, onde
DD representa o dia, MM o mês e AAAA o ano, será acusado erro. A quantidade de
letras reflete a quantidade de dígitos que devem ser digitados, ou seja, para dia e
mês devem ser informados dois dígitos, de 01 a 31 e 01 a 12 respectivamente, o
ano deve conter quatro dígitos, e as barras(/) também devem ser digitadas. Caso a
data inicial e final não sejam informadas no padrão descrito acima, será exibida um
seguinte mensagem de erro, informando que foram encontrados caracteres inválidos
na data.

Se o usuário utilizar o filtro período em sua pesquisa, deve-se preencher ambos os


campos, “De” e “Até”, caso contrário a seguinte mensagem de erro será exibida:

Figura 13 – Erro ao informar período.

Outra verificação feita pela página é se a data final informada é posterior à data
inicial. Se a data final informada for anterior à data inicial, será exibida mensagem de
erro, semelhante à figura 14.

Figura 14 – Data final anterior à data inicial.


45

4.5 EXEMPLO DE INSTALAÇÃO DO FEDORA 6 EM NOTEBOOK

Para entender melhor como funciona a instalação no ambiente do SERPRO, este


item fará uma demonstração dos passos necessários para instalar o Fedora Core 6
em um notebook qualquer, lotado na regional Salvador, com 80 GB de espaço em
disco e um GB de memória RAM. Será instalado o perfil desenvolvedor global e a
máquina obtém seu endereço IP através de DHCP.

A primeira ação a ser executada é ligar a máquina, inserir o CD1 do Fedora Core 6 e
iniciar a estação a partir dele. Na opção de boot, deve-se então digitar: “linux
ks=http://10.200.237.150/fc6/ks/ks-fc6 noipv6”, esse comando informa a localização
do arquivo KS que será utilizado pelo instalador. Aguardar o carregamento do
sistema contido no CD e executar os passos abaixo:

• Informar como os pacotes para a instalação do Fedora serão obtidos.


Selecionar a opção “HTTP”.

• Informar o IP do servidor onde foi montada a estrutura de repositório que


servirá como fonte de obtenção dos pacotes. No caso da regional Salvador, o
IP é “10.200.107.9”.

• A partir deste passo, inicia-se o pré-script. O técnico deve informar o nome da


máquina, no SERPRO foi definido que o hostname deve ser “serpro-
XXXXXXX”, onde XXXXXXX representa o número de patrimônio da máquina.
Todo equipamento do SERPRO possui uma etiqueta informando seu número
de patrimônio. Neste exemplo utilizaremos o seguinte nome de máquina:
serpro-1446547. Deve-se informar também o domínio em que será inserida,
“sdr.serpro”.

• Confirmar o endereço IP do repositório, informado anteriormente.

• Em configuração da rede, selecionar a opção “IP dinâmico(DHCP)”.

• Em seleção de ambiente, selecionar a opção “ambiente interno”, já que o


46

notebook será utilizado nas dependências do SERPRO.

• Em tipo de hardware, selecionar a opção “notebook”.

• Em perfil do equipamento, selecionar a opção “perfil desenvolvedor” e, em


seguida, escolher “TODOS (PHP + Java + Zope-Plone-Python)”.

• Em modelo de notebook escolher a opção “notebook genérico”. Este é o


último passo do pré-script.

• O próximo passo é a criação das partições. Deve-se criar as partições “/boot”


com 100 MB, “raiz(/)” com 15 GB, “swap” com um GB. Por último cria-se a
partição “/home” com o resto de espaço disponível no disco.

• Os passos a seguir ocorrem sem a interferência do técnico, o primeiro é a


instalação dos pacotes básicos do sistema.

• Em seguida tem início o pós-script, utilizando as informações coletadas no


pré-script, armazenadas no arquivo de resposta. Serão executados os
seguintes scripts: atribuicao, atualizacao, notebookHPnx6320, adicionais,
CriaInit4, servicos, seguranca, desativa_ipv6, remove_prelink e integracao-
rede e patches. A funcionalidade destes scripts já foi abordada no item 4.1.5.

• Para acompanhar o andamento da instalação, o técnico pode voltar ao seu


posto de trabalho e acessar a página desenvolvida para este fim. Para isso,
basta abrir o navegador e, na barra de endereços, digitar o endereço:
“http://tigte.sdr.serpro/logs_fc6/instalacao”. Clicar no link “Regional-Salvador”
localizado lado esquerdo da página e localizar a estação que acabou de ser
instalada, para facilitar a visualização, os logs mais recentes são exibidos na
parte superior da página, enquanto que os mais antigos ficam na parte
inferior. Uma vez localizado o log correspondente, clicar no botão amarelo,
caso a instalação ainda esteja em andamento, ou no botão azul, caso o
processo tenha sido finalizado com sucesso.
47

Ao acessar o log de instalação da máquina, encontramos as seguintes informações:

“---------------------------------------------
Inicio da instalacao em : 22/08/2007 17:35 UTC
---------------------------------------------
KS utilizado: ks-fc6.cfg
Copia do arquivo de resposta da maquina:
#Arquivo de respostas do KS
NOME_MAQUINA=serpro-1446547
DOMINIO_MAQUINA=sdr.serpro
SERVIDOR_ATUALIZACAO=10.200.107.231
SRVTEMPO=time-sdr-reg
REDE=DHCP
INTEGRACAO_REDE=RLSL
CATEGORIA="fc6-notebook"
PARTICULARIDADE="fc6-notebook-nx6320"
DESENVOLVEDOR="rlsl-fc6-des-global"
PACOTES_SELECIONADOS=" aquamarine beryl-kde beryl-core beryl-manager beryl-plugins beryl-
settings beryl-settings-simple emerald emerald-themes "
GRUPOS_SELECIONADOS="perfil-adicional-serpro perfil-basico-notebook-serpro perfil-basico-
desenvolvedor-serpro perfil-desenvolvedor-php-serpro perfil-desenvolvedor-java-serpro perfil-
desenvolvedor-zope-serpro "
---------------------------------------------
Informacoes de memoria:
total used free shared buffers
Mem: 1026716 213908 812808 0 32604
Swap: 0 0 0
Total: 1026716 213908 812808
---------------------------------------------
Informacoes do processador:
processor :0
vendor_id : GenuineIntel
cpu family :6
model : 14
model name : Genuine Intel(R) CPU T2300 @ 1.66GHz
stepping :8
cpu MHz : 1662.660
cache size : 2048 KB
physical id : 0
siblings :2
core id :0
cpu cores :2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx
fxsr sse sse2 ss ht tm pbe nx constant_tsc pni monitor est tm2 xtpr
bogomips : 3328.95
48

processor :1
vendor_id : GenuineIntel
cpu family :6
model : 14
model name : Genuine Intel(R) CPU T2300 @ 1.66GHz
stepping :8
cpu MHz : 1662.660
cache size : 2048 KB
physical id : 0
siblings :2
core id :1
cpu cores :2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx
fxsr sse sse2 ss ht tm pbe nx constant_tsc pni monitor est tm2 xtpr
bogomips : 3325.28

---------------------------------------------
Informacoes de particoes:

Disk /dev/sda: 80.0 GB, 80026361856 bytes


255 heads, 63 sectors/track, 9729 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes

Dispositivo Boot Start End Blocks Id System


/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 144 1052257+ 82 Linux swap / Solaris
/dev/sda3 145 9729 76991512+ 83 Linux
---------------------------------------------
Instalacao finalizada com sucesso em : 22/08/2007 18:10 BRT”

O começo do log informa o horário de início da instalação e qual KS foi utilizado


nesta instalação. Logo abaixo é exibida uma cópia do arquivo de resposta, que
serviu como fonte de dados para o pós-script. A maioria das informações são auto-
explicativas, por isso serão detalhados apenas alguns dos campos contidos no log,
são eles:

● SRVTEMPO: Indica o IP do servidor de horário da regional onde a máquina


foi instalada.

● INTEGRACAO_REDE: Informa em qual rede a máquina irá se autenticar.


49

● AMBIENTE: Indica se a máquina será utilizada dentro do SERPRO(ambiente


interno) ou se será uma estação utilizada em eventos externos(ambiente
externo). A principal diferença entre os dois ambientes é que no ambiente
externo não é executado o script “integracao_rede” no pós-script. Deve-se
criar uma conta local para utilização da máquina.

● CATEGORIA: Informa o perfil instalado na máquina.

● PARTICULARIDADE: Como existem diferentes modelos de notebook, a


categoria deve ser subdividida, esse campo informa qual modelo de
notebook.

● PACOTES_SELECIONADOS: Esse campo exibe, caso exista, uma lista extra


de pacotes que foram instalados na máquina.

● GRUPOS_SELECIONADOS: Informa quais grupos de pacotes foram


instalados na estação de trabalho, além do perfil básico e adicional,
obrigatório em todas as instalações.

Em seguida são exibidas informações de quantidade de memória e a CPU utilizada,


representados nas seções “informações de memória” e “informações do
processador”, respectivamente. O próximo campo é uma lista dos scripts que foram
executados no pós-script. Em seguida é exibida a tabela de partições da máquina,
indicando a quantidade de espaço em disco total da máquina, quais partições foram
criadas e quanto espaço em disco a instalação ocupou.

4.6 ADMINISTRAÇÃO REMOTA DE PACOTES COM O EASYADMIN

A outra ferramenta desenvolvida tem como objetivo administrar remotamente os


pacotes instalados nas máquinas. O técnico informa o IP da máquina e o pacote a
ser instalado, feito isso, a ferramenta verifica se o IP informado é válido. Depois de
validado o IP, é verificado se exite alguma máquina conectada na rede utilizando o
IP digitado. O passo seguinte estabelecer um conexão SSH com a máquina remota,
50

e checar se o pacote solicitado está disponível em algum dos repositórios do


SERPRO, ou algum outro que esteja configurado na máquina alvo. O último passo é
verificar as dependências do pacote e instalá-las, pois um pacote provavelmente não
vai funcionar se algum pré-requisito estiver faltando. Ao final do processo é mostrada
na tela uma mensagem informando que o pacote foi instalado com sucesso.

A ferramenta de administração remota de pacotes foi implementada utilizando a


linguagem shell script, pelo fato de ser uma linguagem entendida pela grande
maioria dos sistemas Unix. O shell script é padronizado segundo o padrão
POSIX(IEEE, 1985), que lhe confere a vantagem da portabilidade.

Para facilitar o uso da ferramenta de administração remota de pacotes, foi utilizado o


kommander(KDE, 2005), aplicativo que permite elaborar interfaces gráficas para os
scripts desenvolvidos, tornando-os mais amigáveis para seus usuários.

Para executar o EasyAdmin, é necessário ter o aplicativo Kommander instalado na


máquina, assim como o serviço Secure Shell(SSH) rodando nas máquinas servidora
e cliente. Este serviço é disponibilizado pelo pacote openssh(OPENBSD, 1999). O
SSH é um protocolo que possibilita uma conexão segura entre duas estações. Os
dados são criptografados antes de serem enviados para seu destino, dificultando ao
máximo a chance de seu conteúdo ser visualizado por terceiros, enquanto trafegam
na rede. Caso esse serviço não esteja rodando em ambas as estações, não será
possível estabelecer conexão, conseqüentemente a ferramenta não funcionará
adequadamente.

A utilização da ferramenta é facilitada pela interface gráfica desenvolvida. A figura 15


ilustra sua tela inicial. Além de instalar pode-se também remover pacotes, listar
pacotes instalados na máquina e pesquisar pacotes disponíveis nos repositórios
configurados na máquina remota. Os itens a seguir informam as tecnologias
utilizadas no desenvolvimento da solução e apresentam uma breve introdução das
mesmas. Em seguida, é feito um maior detalhamento de cada uma das
funcionalidades da ferramenta e como elas facilitam a tarefa de administração do
51

parque de estações. 

Figura 15 – Tela inicial EasyAdmin.

4.6.1 Criação de chave privada

Antes de executar as operações de administração remota, é necessário criar uma


chave privada para automatizar o acesso do servidor, onde a aplicação está
hospedada, e a máquina cliente.

Para criar a chave privada deve-se digitar o IP da máquina cliente e no campo


apropriado e, em seguida, clicar em “Criar chave privada”. Caso este seja o
primeiro acesso da ferramenta à máquina cliente, será solicitado confirmação do
usuário para adicionar a estação na lista de máquinas conhecidas, digite “yes” e
pressione “Enter”. Será então exibida a tela semelhante à figura 16, solicitando que o
usuário digite a senha de administrador da máquina remota.

Figura 16 – Inserir senha para criação de chave privada.

Ao final do processo, caso tudo ocorra como esperado, será exibida uma tela,
informando que a chave foi criada com sucesso. Caso ocorra algum erro na criação
52

da chave privada, será exibida a seguinte mensagem de erro, conforme mostrado na


figura 17.

Figura 17 – Erro na criação de chave privada.

Esta tela de erro é exibida se não existir nenhuma máquina conectada na rede com
o IP informado, ou se a máquina estiver com o serviço SSH desabilitado.

4.6.2 Instalação de pacotes

Para instalar um determinado pacote basta digitar o nome no local apropriado, e o IP


da máquina onde o pacote será instalado e clicar no botão “Instalar”. Uma tela,
semelhante à figura 18, será exibida, informando, dentre outros, o pacote que será
instalado, suas dependências(caso existam), o tamanho e em qual repositório ele se
encontra. Nesta fase da instalação não é necessária nenhuma intervenção por parte
do técnico responsável. Ao final da instalação será exibida uma tela informando que
o pacote foi instalado com sucesso.

Figura 18 – Instalação de pacotes.

Caso ocorra algum problema na instalação, o usuário será notificado através de uma
mensagem de erro, informando que o pacote não pôde ser instalado na máquina
53

remota. Esta tela de erro é exibida se não existir nenhum pacote nos repositórios do
SERPRO com o nome informado. Caso não se saiba a grafia exata do pacote a ser
instalado, pode-se utilizar a opção de pesquisa de pacotes. Mais detalhes sobre esta
funcionalidade são descritas no item 4.6.4 deste trabalho. Outro possível problema é
a máquina não estar configurada corretamente e, por isso, não esteja conseguindo
acessar os repositórios.

4.6.3 Remoção de pacotes

A remoção de pacotes ocorre de maneira semelhante à instalação, ou seja, basta


digitar o nome do pacote a ser removido e o IP da estação em que a operação irá
ocorrer. Para iniciar a remoção, deve-se clicar em “Remover”. Será exibida uma tela
semelhante à figura 19, informando o andamento da remoção do pacote. Nesta tela
são exibidas informações sobre o pacote a ser removido, como seu tamanho,
versão e se outros pacotes, além do solicitado, serão removidos.

Figura 19 – Remoção de pacote.

Ao final da remoção, caso o processo tenha ocorrido conforme previsto, será exibida
uma mensagem informando que a remoção ocorreu com sucesso. Caso o pacote
informado não esteja instalado, uma mensagem de erro, informando o usuário sobre
tal fato, será exibida.
54

4.6.4 Pesquisa por pacotes

A opção “Pesquisar” é bastante útil quando o usuário deseja instalar algum pacote
mas não tem certeza da sua grafia exata. Essa funcionalidade da ferramenta realiza
uma pesquisa nos repositórios acessíveis a partir da máquina remota e, ao final da
pesquisa, exibe uma lista com todos os pacotes que atenderam ao critério
informado. A figura 20 exibe o resultado da pesquisa pelo pacote 'meld' em uma
máquina da regional Salvador.

Figura 20 – Pesquisa de pacotes no repositório.

Depois de analisar o resultado da pesquisa, basta o usuário escolher o pacote que


deseja instalar e proceder conforme no item 4.4.2.2. Caso a pesquisa feita não
retorne nenhum resultado, será exibida uma mensagem indicando o erro.

4.6.5 Listagem de pacotes instalados

Outra funcionalidade da ferramenta é a opção de listar os pacotes instalados na


máquina remota. Para visualizar essa informação basta informar no campo
apropriado o IP da máquina, clicar em ”Listar Pacotes Instalados” e aguardar
enquanto a lista é exibida na tela. Para facilitar a visualização, a ferramenta ordena
os pacotes instalados em ordem alfabética. Um exemplo é exibido na figura 21.

Esta opção é útil para, por exemplo, fazer uma auditoria em determinada máquina,
identificando pacotes instalados não permitidos pelas normas da empresa. Outra
utilidade é a possibilidade de identificar pacotes importantes ao funcionamento do
55

sistema e que, por algum motivo foram removidos.

Figura 21 – Listagem de pacotes instalados na máquina.


56

5. RESULTADO

A solução proposta neste documento apresentou um desempenho bastante


satisfatório no quesito tempo de instalação. Instalações em um notebook com
processador Intel Core 2 Duo, 1,66 GHz, HD de 80 GB e memória RAM de um GB
finalizam o processo em cerca de 30 minutos, enquanto que estações mais antigas,
Pentium III, 866 MHz, HD de 20 GB e memória RAM de 256 MB normalmente
demoram entre 50 e 60 minutos para finalizar a instalação.

Outra vantagem percebida nessa solução é a facilidade de execução. Qualquer


técnico com conhecimentos mínimos de informática pode realizar os procedimentos
sem maiores problemas, bastando apenas seguir os passos descritos na
documentação elaborada pelo CEES. Com isso gasta-se menos tempo com suporte,
possibilitando aos técnicos o desenvolvimento e automação de outros processos.

A solução utilizada anteriormente no SERPRO exigia a presença do técnico durante


todo o processo, pois era necessário passar informações ao instalador nas três
etapas do processo. Com a solução atual o grau de interatividade do técnico com o
procedimento de instalação foi reduzido e só ocorre no início da instalação, pois
todas as informações necessárias para a instalação são obtidas no pré-script e no
particionamento do disco. Isso faz com que possam ser instaladas mais de uma
máquina ao mesmo tempo. O técnico executa os passos do pré-script, faz o
particionamento do disco e ao final deste passo já está livre para iniciar a instalação
em outra máquina, pois não será mais necessária nenhuma interação do técnico
com o instalador.

A página de acompanhamento possibilita maior facilidade no acesso às informações


sobre as instalações. Com isso pode-se, por exemplo, detectar erros nos scripts de
instalação ou problemas em algum repositório com maior rapidez e,
conseqüentemente, corrigi-los antes que causem maiores impactos na empresa.
57

Esses erros podem ser detectados através de uma consulta na página, caso a
maioria da máquinas não estejam completando a instalação com sucesso. Outra
vantagem proporcionada pela página é a facilidade para obtenção de dados para
elaboração de relatórios sobre o andamento das instalações, quantidade de
máquinas que instalaram o Fedora Cores 6 em determinada regional ou determinado
período de tempo. Essas informações são facilmente obtidas através da seção de
pesquisa disponível na página.

Outra melhoria proporcionada pela solução, é a possibilidade de instalação/remoção


remota de pacotes, facilitando para o técnico a tarefa de administração dos sistemas
GNU/Linux. Assim, não é mais necessário deslocar-se até a máquina, todo o
processo pode ser executado remotamente. Isso também beneficia o usuário, pois o
processo ocorre de forma transparente, e ele não será privado de utilizar sua
estação enquanto o técnico realiza a instalação ou remoção do pacote solicitado.
58

6. CONCLUSÃO

Esse projeto está alinhado com a proposta atual da empresa que é a utilização de
ferramentas livres e consolidadas no mercado de tecnologia da informação. Uma das
vantagens é que não será necessário gasto com aquisição de licenças, pois são
utilizadas apenas ferramentas livres. Porém, essa não é a única vantagem do
software livre, existem outras mais importantes como por exemplo a maior
velocidade de correção dos problemas, maior facilidade de customização e
independência de fornecedor. Ao adquirir um software proprietário, na maioria das
vezes, cria-se uma dependência deste fornecedor no que diz respeito a atualizações
e correção de erros, situação que não acontece quando utiliza-se software livre.

A diversidade de documentação disponível na Internet facilita o aprendizado,


evitando gasto com treinamentos, deslocamento e estadia(caso o treinamento ocorra
em outra cidade). Além disso, pode-se buscar ajuda com os próprios técnicos da
empresa, uma vez que possui vários desenvolvedores especializados em diversas
linguagens de programação, incluindo PHP, e os mais variados bancos de dados,
dentre eles PostgreSQL, utilizados na solução proposta neste documento.

Esse projeto é de grande importância por todos os benefícios citados ao longo deste
trabalho e foram percebidos pelos técnicos responsáveis pela administração da rede
local. Foi observada uma melhora significativa no processo de instalação das
máquinas, através da redução do nível de intervenção humana no processo. Foi
percebido também um aumento da produtividade dos técnicos.

A visualização dos logs de instalação foi facilitada, já que todas essas informações
estão armazenadas em um servidor e podem ser acessadas através de qualquer
navegador de Internet. Antes era necessário acessar cada máquina individualmente
para coletar tais informações. O armazenamento em um banco de dados também
proporciona uma maior segurança contra, por exemplo, perda de informações. Todos
59

esses fatores proporcionam um suporte de melhor qualidade e, conseqüentemente,


uma maior satisfação dos usuários e clientes do SERPRO.
60

REFERÊNCIAS BIBLIOGRÁFICAS

FIELDING, R. et al. Hypertext Transfer Protocol – HTTP/1.1. June 1999. Último


acesso em 25 de maio de 2008. Disponível em: <http://www.ietf.org/rfc/rfc2616.txt>.

FLECK, John. Et al. The XML C parser and toolkit of Gnome. 1999. Último acesso
em 06 de julho de 2008. Disponível em <http://xmlsoft.org/>.

GARCÍA, Francisco Xavier Rosalez. SHC, a generic script. 1997. Último acesso em
25 de maio de 2008. Disponível em: <http://www.datsi.fi.upm.es/%7Efrosal/>.

GNOME. GDM – The Gnome display manager. 1999. Último acesso em 25 de maio
de 2008. Disponível em: <http://www.gnome.org/projects/gdm/index.html>.

IEEE. IEEE POSIX® Certification Authority. 1985 . Último acesso em 15 de junho de


2008. Disponível em: <http://standards.ieee.org/regauth/posix/index.html>.

KDE. K Desktop Environment. 1996. Último acesso em 25 de maio de 2008.


Disponível em: <http://www.kde.org>.

KDE. Kommander. 2005. Último acesso em 30 de novembro de 2007. Disponível em:


<http://kommander.kdewebdev.org/>.

MSFN. Unattended Windows. 2001. Último acesso em 30 de novembro de 2007.


Disponível em: <http://unattended.msfn.org/unattended.xp/>.

OPENBSD. OpenSSH. 1999. Último acesso em 3 de maio de 2008. Disponível em:


<http://www.openssh.com/>.

PHP Group, The. PHP: HyperText Preprocessor. 2001. Último acesso em 1 de maio
de 2008. Disponível em: <http://php.net/>.

POSTEL, J.; REYNOLDS, J. File transfer protocol(FTP). 1985. Último acesso em 30


de maio de 2008. Disponível em: <http://www.ietf.org/rfc/rfc959.txt>.

POSTGRESQL. PostgreSQL. 1996. Último acesso em 14 de novembro de 2007.


Disponível em: <http://www.postgresql.org/>.

RED HAT. Projeto Fedora. 2003. Último acesso em 8 de dezembro de 2007.


Disponível em <http://fedoraproject.org/>.

RED HAT. Red Hat Enterprise Linux. 2002. Último acesso em 20 de maio de 2008.
Disponível em: <http://www.redhat.com/rhel/>.
61

RED HAT. The Official Red Hat Linux Customization Guide. 2002. Último acesso em
05 de novembro de 2007. Disponível em:
<http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-
guide/index.html>.

RED HAT. The RPM Package Manager. 1995. Último acesso em 19 de maio de
2008. Disponível em: <http://www.rpm.org/>.

SERPRO. Portal do SERPRO. 2008. Último acesso em 30 de novembro de 2007.


Disponível em: <http://www.serpro.gov.br>.

VIDAL, SETH et al. Yellow dog Updater, Modified. 2003. Último acesso em 30 de
maio de 2008. Disponível em <http://linux.duke.edu/projects/yum/index.ptml>.

Você também pode gostar