PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem...

132
Guia de Referência das Migrações para Software Livre do Governo Federal Página 1 Versão 0.2 PARTE 3 Diretrizes Técnicas

Transcript of PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem...

Page 1: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Página 1Versão 0.2

PARTE 3DiretrizesTécnicas

Page 2: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

8. Arquitetura de Referência

8.1. Arquiteturas genéricas

Uma boa forma de descrever uma arquitetura de computador é nos termos do assim chamadomodelo tripartite. Esse modelo separa três funções brutas de um aplicativo, em geral , quandousado por uma pessoa (isto é, quando não é simplesmente um servidor ou aplicativo em lote.Isto é mostrado no diagrama seguinte (http://www.corba.ch/e/3tier.html/ oferece maisdetalhes):

As setas indicam que a informação está circulando entre as três partes. Estes fluxos deveriamusar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativodeve preocupar-se em desempenhar sua lógica do negócio, deixando as duas outras funçõespara os componentes padrão. Isso traz o benefício de que o código do aplicativo pode ser maissimples e pode trabalhar mais facilmente em ambientes diferentes, porque sua dependência emrelação ao acesso específico à máquina é reduzido.

Esse modelo três camadas foi generalizado para n-camadas, onde os componentes são aindamais refinados, e é tipicamente realizado usando tecnologia de objeto ou de componente.

Muitos aplicativos cliente-servidor, infelizmente, só usaram no passado um modelo duascamadas, onde o código do aplicativo e a interface humana se fundem. Isto significa quemigrar tais aplicativos é consideravelmente mais difícil do que com os modelos três camadas,porque a interface humana provavelmente irá requerer mudança e o aplicativo duas camadasterá, provavelmente em sua maioria, o código de interface humana inteiramente combinadocom a lógica do negócio.

A comunicação entre as três partes de um aplicativo três camadas, normalmente usaprotocolos que permitem a cada parte trabalhar em uma máquina diferente das outras duas,caso desejado. Algumas vezes, as partes também são divididas entre outras máquinas. Aescolha de localização de cada uma dessas partes dá origem a várias arquiteturas genéricas.

Os extremos, do ponto de vista da estação de trabalho, onde, no mínimo alguma parte docódigo da interface humana deve estar trabalhando, são:

1. Cliente Leve ultra thin

Quando a estação de trabalho tem somente o código da interface humana. Ele não tem,caracteristicamente, memória de longo prazo local, como disco rígido ou disquetes. O códigodo aplicativo e o acesso aos dados trabalham, ambos, de forma remota. Como exemplo temosum Terminal X, uma tela monocromática VT100 e um dispositivo com um navegadorembutido.

2. Cliente Normal ultra fat

Página 2Versão 0.2

Código do Aplicativo

Lógica do Negócio

Acesso aos Dados

Sistemas de Arquivose

Bancos de Dados

Interface Humana

Tela, Teclado e Mouse

Page 3: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Quando todo o código e os dados são mantidos na estação de trabalho sem conectividade derede. Termos como thin e fat client estão relacionados a uma estação de trabalho que seencontra no espaço entre esses dois extremos.

Uma variante dessas arquiteturas é quando o código do aplicativo é armazenado em umservidor e depois transferido para a estação de trabalho para funcionar quando necessário. Porexemplo, esta é a forma como trabalham os applets Java.

Um outro método envolve o armazenamento do código do aplicativo em um servidor, mascom o acesso da estação de trabalho ao mesmo, como se fosse armazenado no local. Istorequer o uso de um sistema de arquivo de rede, como o NFS e também significa que todas asestações de trabalho devem ter a mesma arquitetura de processador.

A escolha da arquitetura por algum aplicativo particular dependerá dos seguintes fatores:

1. A largura de banda da rede para os servidores e o que essa largura de banda terá quecarregar . Se as estações de trabalho não forem ultra fat, a rede terá que integrar controles deinterface humana, dados ou código de aplicativo descarregado. Em algumas circunstâncias, otamanho dessas cargas, geradas por uma única estação de trabalho ou por alguns deles aomesmo tempo, pode ser excessivo para a capacidade da rede.

2. A latência aceitável no uso do aplicativo. Quando alguém interage com o estação detrabalho, apertando teclas ou movendo o mouse, o tempo que o aplicativo leva para reagir emostrar o efeito na tela, é conhecido como latência. Para alguns aplicativos como simplesentrada de dados, pode ser aceita uma alta latência, porém para aplicativos altamenteinterativos como os de desenhos, a latência deve ser baixa. A latência vai depender dacapacidade de quaisquer segmentos da rede entre a interface humana e o aplicativo, e dacapacidade da máquina de executar o código do aplicativo. Para atingir as menores latências,portanto, o aplicativo deve operar na mesma máquina da interface humana, e essa máquinadeve ser poderosa o suficiente para executar o aplicativo apropriadamente.

3. A política de segurança em seu lugar. Se os dados residem nas estações de trabalhodistribuídos por toda a Administração, isto significa que, se qualquer máquina for roubada ouestiver acessível em um ambiente inseguro, os dados podem ser perdidos ou divulgados aterceiros ou a pessoal desautorizado. Isso pode não ser um problema com relação a dados debaixa categoria dos quais se tenha feito o backup, porém, por outro lado, pode infringir apolítica de segurança da Administração no que diz respeito a quem pode acessar os dados.Alternativamente, transmitir os dados em uma rede não criptografada pode causar o mesmoproblema.

4. A política de backup em seu lugar. Se os dados residem nas estações de trabalhodistribuídas por toda a Administração, será necessário algum mecanismo de backupcentralizado ou a responsabilidade pelo backup deve ser distribuída entre muitas pessoas,provavelmente os próprios usuários. Um esquema centralizado de backup seria complexo eiria requerer uma alta largura de banda de rede e cooperação com os usuários das estações detrabalho (os quais, por exemplo, devem lembrar-se de não desligarem suas máquinas nosperíodos em que estiverem marcados os backups).

5. O desenho do aplicativo. Se o aplicativo tiver um código de interface humana incluído, eleprecisará trabalhar nas estações de trabalho ou em um servidor com o código de interfacehumana dividido entre o servidor e o estação de trabalho. Por exemplo, um terminal IBM3270 ou DEC VT100 tem todo o código de exibição na estação de trabalho, como acontececom um terminal baseado em um navegador. Citrix, Windows Terminal Server e o XWindows System, todos dividem o código de exibição entre o servidor e o cliente.

6. A capacidade da estação de trabalho de executar o código. Quanto mais o estação detrabalho tiver a fazer, mais poderoso (e, portanto, caro) deverá ser.

Página 3Versão 0.2

Page 4: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

7. A capacidade da estação de trabalho de armazenar dados. Alguns aplicativosnecessitam ter acesso a enormes depósitos de dados, os quais só podem sustentados porservidores especializados.

8. O desempenho dos servidores disponíveis. Se o aplicativo funciona em um servidor e nãona estação de trabalho, o servidor deve ser suficientemente poderoso para executar todas asinstâncias do aplicativo necessárias, no momento em que o número máximo de estações detrabalho estiver em uso. Isto pode significar que os servidores devem ser extremamenteespecializados para poderem lidar com as piores condições. Além disso, o número deestações de trabalho que podem ser mantidos por um determinado número de servidorestende a apresentar discretos saltos. Isto significa que a adição de alguns estações de trabalhoextras pode significar a compra de um servidor extra-grande.

9. O custo total de implementação.

Da mesma forma que em qualquer problema de engenharia, não há uma solução aplicável atodas as situações e um estação de trabalho particular pode operar de uma determinada formapara um aplicativo e de outra forma para um aplicativo diferente.

8.2. Arquitetura de Referência Básica

A Arquitetura de Referência Básica (ARB) usada nestas diretrizes é escolhida de forma a serrelevante na maioria das situações. Pode tornar-se mais magra ou mais gorda para aplicativosespecíficos, caso necessário. Na verdade, a arquitetura utilizada por uma Administração tendea ser uma combinação de várias arquiteturas, cada uma escolhida para aplicativos específicos.

A ARB pode ser caracterizada como um estação de trabalho sem condição específica, noqual:

1. Todos os aplicativos são executados sempre que possível na estação de trabalho e sãoarmazenados na estação de trabalho.

2. Nenhum dado contínuo é guardado na estação de trabalho.

3. Toda autenticação e autorização é controlada por servidores centrais.

4. A gestão do sistema é centralizada.

5. O objetivo é que os estações de trabalho estejam conectados, que funcionem e que nãonecessitem de suporte local.

Os aplicativos funcionam localmente para facilitar quaisquer problemas de latência ao seremexecutados centralmente, e a BRA pressupõe a existência de banda larga suficiente para queos dados sejam mantidos centralmente. Além disso, ela pressupõe que todas os estações detrabalho sejam essencialmente idênticos, permitindo que qualquer pessoa conecte-se aqualquer máquina que lhe seja permitido usar. Deve haver um regime de gestão de sistemasforte, para manter as instalações dos softwares das estações de trabalho em harmonia.

A ARB tem configuração e gestão central, o que simplifica a administração do sistema,concentrando todos os dados importantes nos servidores centrais para facilitar o backup e agestão, e disponibilizar máquinas de clientes individuais, reduzindo o impacto da avaria de talmáquina. A manutenção dos dados de forma local significa que há uma identificação da máquina com ousuário. Isto causa problemas quando o usuário muda de lugar ou deixa a organização.Também transforma o lugar da estação de trabalho em específico de um usuário, dificultandoconceitos como hot-desking.

Página 4Versão 0.2

Page 5: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

A manutenção dos dados de forma central remove essas dificuldades e transforma o uso daestação de trabalho em algo muito mais flexível. Também permite que se mantenha o o menortamanho possível de armazenamento local da estação de trabalho.

Transformando o estação de trabalho em um dispositivo para plugar e funcionar, facilita ainstalação e, portanto, reduz o custo de seu suporte.

Muitas Administrações já estão usando uma variante desta arquitetura por todas as razõesdadas e, portanto, a BRA é considerada uma escolha razoável.

A BRA não é apropriada para laptops ou para estações de trabalho que não sejampermanentemente conectados à rede da Administração. Tais dispositivos teriam que ser muitogordos ou possuir algum tipo de sistema de arquivo distribuído que suporte uma operaçãodesconectada. Tais sistemas de arquivo distribuído existem em software livre, como oCODA, o OpenAFS e o InterMezzo.

Página 5Versão 0.2

Page 6: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

9. Grupos Funcionais

O modelo de referência é baseado em grupos funcionais, definindo os tipos característicos deatividade não especializada de computador em uma Administração. Isto significa queatividades como Gestão de Projetos ou Sistemas de Informação Geográfica não sãoconsiderados. As atividades não consideradas devem ser, em geral, as usadas por umapequena proporção da população usuária.Os grupos funcionais são divididos em grupos Principais e grupos Auxiliares. Os gruposPrincipais representam a funcionalidade que é definida em termos de processos de negócios.Os grupos Auxiliares fornecem serviços de suporte aos grupos Principais e, portanto, nãoseriam normalmente implementados por sua própria conta.

9.1. Os Grupos Principais

9.1.1. Escritório

A criação, modificação e impressão de arquivos contendo dados do negócio emformato padrão, tais como cartas e relatórios. Também a criação, modificação eimpressão de planilhas e apresentações. É preciso que haja utilitários para gerenciaresses arquivos. Os formatos *.doc, *xls e *.ppt de arquivos da Microsoft na verdade,devem poder ler e escrever com grande exatidão. Além disso, formatos abertos comoo PDF devem ser passíveis de leitura e escrita. Devem ser disponibilizados jogos deidiomas locais europeus, bem como de moedas e alfabeto.

9.1.2. Correios

A criação, o recebimento e a apresentação de correio eletrônico, incluindo suportepara correio seguro, como S/MIME.

9.1.3. Calendários e Groupware

A criação e gestão de calendários pessoais e de grupos e livros de endereçamento. Oscalendários também devem permitir a organização de reuniões e a reserva de salas.Os livros de endereçamento devem integrar-se com os outros grupos funcionais.

9.1.4. Acesso à Web e Serviços

A habilidade de acessar os protocolos de acesso à Internet e apresentar os resultados.Isto é normalmente feito com um navegador. Além disso, a habilidade para criarconteúdo e disponibilizá-lo interna e externamente.

9.1.5. Gestão de Documento

O armazenamento central de documentos, com mecanismos eficientes de recuperação.

9.1.6. Banco de Dados

A manipulação de dados estruturados em banco de dados pessoais e centrais.

9.2. Os Grupos Auxiliares

Página 6Versão 0.2

Page 7: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Estes grupos são geralmente definidos por serviços técnicos e normalmente não seriamimplementados por conta própria. Incluem:

sistemas operacionais servidores de arquivos gestão, autenticação e autorização do usuário detecção de vírus e spam backup e recuperação gestão da impressão

A lista completa está definida no Capítulo 12 abaixo.

9.3. Considerações Gerais

As Administrações tem exigências específicas a respeito e além das necessidades de umambiente de escritório padrão. Alguns deles são impostos pelas legislações européia,nacional ou local. Em particular:

Eles devem estar aptos a aceitar arquivos do público, em formatos comumenteusados. Na realidade, isto significa, no mínimo, aceitar todos os formatos daMicrosoft, porém também pode requerer, por exemplo, a aceitação dos formatosWordPerfect e Lotus Notes.

Alguns aplicativos trocam informação entre os membros do público e aAdministração, o que deve ser feito de uma maneira segura, com notificação deentrega.

Página 7Versão 0.2

Page 8: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

10. O Modelo de Referência - Sumário.

A grande extensão de software de fonte aberta disponível significa que, para muitas funções,há vários aplicativos diferentes disponíveis. A escolha do aplicativo a ser usado não é sempreevidente e, por vezes, a escolha final será determinada pelas preferências da pessoa que tomaa decisão.

O modelo de referência usado nestas diretrizes deve, portanto, ser tratado como exemplo deum sistema que, reconhecidamente, funciona, mais do que como uma recomendação desistema para ser usado em todas as circunstâncias.

As diretrizes discutem os assuntos que os que tomam as decisões devem levar em conta epode acontecer dessas pessoas chegarem a conclusões diferentes, mas igualmente válidas. Emqualquer caso, restrições locais ao Administrador podem tornar necessária a escolha de ummodelo diferente. As escolhas possíveis para cada grupo são discutidas em detalhes nocapítulo 11, para os grupos Principais e no capítulo 12 para os grupos Auxiliares.

Há alguns websites de referência úteis, que contém listas de aplicativos de software de fonteaberta, mostrando o que há disponível, e quais deles são candidatos à substituição de quaisaplicativos proprietários. O site http://linuxshop.ru/linuxbegin/win-lin-soft-en/ é umexemplo.

O site http://www.osafoundation.org/ estaçõ e s  de  trabalho -linux-overview.pdf , quecontém detalhes de muitos dos aplicativos discutidos abaixo e é, portanto, um outrolocal onde os Administradores podem obter mais informações.

Uma dos pontos fortes do software de fonte aberta é o fato de ser modular e poder sermontado de várias formas diferentes, permitindo que os sistemas sejam talhados parasatisfazer a necessidades específicas. Essa modularidade é possível porque o software defonte aberta se adapta a interfaces abertas e disponíveis publicamente.

Infelizmente, essa flexibilidade pode, às vezes, determinar o seu fracasso, já que osAdministradores podem assustar-se com a opção disponível. Há muitas organizações quepodem prover ajuda e suporte, da mesma forma como existe no mercado proprietário.

Note que nem todos os grupos funcionais têm escolhas de referência, seja pela falta de estudode casos relevantes, ou pelo fato de a netproject não ter sido capaz de avaliarapropriadamente os produtos relevantes dento do escopo deste estudo.

As Escolhas de Referência detalhadas para o estação de trabalho estão listadas no ApêndiceD e, para o servidor, no Apêndice E. Adicionalmente, a netproject demonstra uma forma deinstalar estações de trabalho que faz da instalação algo muito simples. O código relevanteestá no Apêndice F.

10.1. O Desktop

O sistema operacional é o GNU/Linux do distribuidor Red Hat 8.0. A interface do usuário ébaseada no Gnome, que é parte da distribuição Red Hat, mas vale a pena considerar oestação de trabalho Ximian XD2 baseado no Gnome. O Red Hat, nessa distribuição, tentoufundir as interfaces dos usuários do KDE e do Gnome.

Os sistemas de arquivos contendo binários (tais como/usr) estão montados em formato“somente para leitura”, para evitar que os usuários alterem seu conteúdo, e osremanescentes estão montados em formato “não executável”, para evitar que o código sejaexecutado a partir deles. Para reforçar, a interface do usuário só deve permitir aos usuáriosexecutarem programas através de interfaces pré-definidas. Isto significa que o acesso à

Página 8Versão 0.2

Page 9: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

linha de comando ou a habilidade de criar ou mudar itens de menu ou ícones, deve serremovida. As máquinas não devem ter drives de disquetes ou de CD, restringindo (porémnão suspendendo), portanto, a possibilidade de que outros sistemas de arquivos sejamconectados localmente. Os sistemas de arquivos que contém dados voláteis baseados nousuário, são montados a partir de um servidor NFS central. A autenticação do usuário é feitajunto a um banco de dados LDAP central.

Servidores centrais fazem endereço IP e resolução de nome e um servidor DHCP fornece osdetalhes da configuração de rede das estações de trabalho no momento em que ocomputador é ligado e começa a executar as instruções.

Os sistemas de arquivos contendo dados voláteis baseados no cliente são instalados a partirum servidor NFS central. A autenticação do usuário é feita junto a um banco de dadosLDAP central.

As principais funções da estação de trabalho são as seguintes:

10.1.1. Escritório

O OpenOffice.org é o escolhido porque:

Se a Administração está migrando de um ambiente Windows, oOpenOffice.org pode rodar no Windows, proporcionando aos usuários umcontato inicial com o novo software em um ambiente familiar.

Tem algumas das melhores integrações de formatos de arquivos Microsoft. Está se tornando de fato uma alternativa ao Office.

10.1.2. Correio

O Evolution é o escolhido porque tem uma interface com o usuário muito similar aoOutlook, tornando-se fácil para as pessoas aprenderem. Também possui alguns aspectosúteis como as Pastas Virtuais. No entanto, o Evolution não se conecta ao Exchange versão5.5 (embora aparentemente uma conexão esteja sendo projetada), portanto, se aAdministração está usando esta versão, será necessária uma solução de groupware dosoftware de fonte aberta com base na web no momento (a menos que se opte por umasolução proprietária). Por outro lado, o Kmail dá suporte ao S/MIME, enquanto o Evolutionnão o faz (embora haja planos para que o faça) e o Kmail foi desenvolvido recentementepara funcionar como um cliente junto ao servidor groupware Kgroupware. Portanto, aescolha é equilibrada e depende das necessidades imediatas e da configuração corrente.

10.1.3. Calendário e Groupware

O Evolution é o escolhido para calendários pessoais e gestão de contatos. No momento édifícil o groupware com software de fonte aberta, somente soluções baseadas na webestão realmente disponíveis, embora recentemente o projeto Kgroupware tenha produzidouma solução usando o Kmail como cliente. Portanto, para uma verdadeira solução desoftware de fonte aberta, teria que ser utilizado um navegador para acessar o groupware.

10.1.4. Acesso à Web

O Galeon é o escolhido porque é um navegador rápido, de uma única função, que possuiuma boa interface com o usuário. O Mozilla é uma alternativa no caso de se requerer umproduto que inclua os recursos de leitor de correios e livro de endereços. O Mozillatambém seria a opção no caso de a Administração estar usando no momento estações detrabalho Windows, então seria necessário que o navegador trabalhasse no ambienteexistente, para permitir aos usuários um contato inicial com o novo software, em umambiente familiar.

Página 9Versão 0.2

Page 10: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

10.1.5. Gestão do Documento

A escolha recairia sobre um sistema de gestão de conteúdo baseado na web, como oAswad. No entanto, parece que o projeto Aswad parou e é preciso uma nova escolha.

10.1.6. Bancos de Dados

Bancos de dados pessoais são baseados no MySQL ou em um produto de groupwarebaseado na web, como phpGroupware.

10.2. Os Servidores

O sistema operacional é o GNU/Linux da distribuição Red Hat 8.0. Para máquinas altamenteseguras como firewalls, onde o OpenBSD fosse usado juntamente com o GNU/Linus, aescolha seria outra.

As principais funções dos servidores são fornecidas por:

10.2.1. Correio

O MTA (Mail Transport Agent) é Exim, pois é um produto completo, comparável emescopo ao Sendmail, porém com manutenção mais fácil. Ele também entende as opçõesdo Sendmail e pode, portanto, funcionar como substituto compatível com o Sendmail. OPostfix seria uma alternativa aceitável.

O MAA (Mail Access Agent) é Courier-IMAP, o qual parece ser mais fácil do que oCyrus, por possuir um armazenador de correio mais simples. No entanto, o Cyrus seriauma boa escolha.

10.2.2. Calendário e Groupware

O PhpGroupware ou o Horde seriam soluções muito boas na web. O novo Kgroupwarenão foi avaliado.

10.2.3. Serviços da Web

O Apache é escolhido porque é líder do mercado com uma extensa gama deferramentas e suporte associados. Outros servidores poderiam ser utilizados paratarefas específicas, como por exemplo, o Zope (veja 11.4.2 abaixo) poderia ser usadopara gestão de conteúdo.

10.2.4. Gestão do Documento

Agora que, aparentemente, o Aswad (veja Seção 11.4.3) foi descontinuado, não hásolução de referência. A discussão na Seção 11.5 indica que há alguma escolhadisponível.

10.2.5. Bancos de Dados

Página 10Versão 0.2

Page 11: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Para grandes bancos de dados, que são, principalmente, “apenas para leitura”, oMySQL; para outros tipos de bancos de dados, o PostgreSQL.

Página 11Versão 0.2

Page 12: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

11. Aplicativos - Grupos Principais

11.1. Escritório

O padrão corrente na verdade é o Office, que inclui Word, Excel, PowerPoint e Outlookjunto com seus formatos de arquivos associados: *.doc, *xls e *.ppt. Esses formatos nãosão abertos e mudam de uma versão do Office para outra. Até mesmo os própriosprodutos da Microsoft não podem garantir a capacidade de ler e escrever um arquivo com100% de precisão, a não ser que os arquivos tenham sido criados na mesma versão doproduto.

Os aplicativos do software de fonte aberta atualmente são capazes de ler esses formatoscom tal precisão que, quaisquer problemas encontrados, não são diferentes dos problemasencontrados com o uso das diferentes versões dos próprios produtos da Microsoft.Quanto mais velho o formato, melhor os aplicativos do software de fonte aberta lidamcom o mesmo. Os aplicativos do software de fonte aberta tendem a ser melhores naleitura de arquivos em formato Microsoft, do que na escrita de arquivos do mesmoformato. Em termos gerais, os aplicativos do software de fonte aberta podem ser usadoscom confiança. Por exemplo, a Ximian, com seu último produto para estação detrabalho, instalou os formatos de arquivo default da Microsoft na sua versãoOpenOffice.org.

.A exceção é quando é requerido algum tipo de trabalho colaborativo e, no mínimo, umadas partes insista em usar um formato proprietário. A leitura, a alteração e a reescrita dosarquivos nesses formatos podem introduzir anomalias que o uso de um aplicativo deproprietário único não faria. No entanto, deve-se ter em mente que esse tipo de errotambém pode ocorrer caso sejam usadas diferentes versões do software proprietário.

Para arquivos que só permitem leitura, sem atualização, o formato PDF deve ser usado,conforme discutido no Capítulo 7.3 acima.

Pode-se julgar também que a interface do usuário deve ser tão similar quanto possível aosoftware da Microsoft, para minimizar custos de re-treinamento.

Modelos e Macros Visual Basic (VB) são comuns em muitas Administrações. Elas temum formato proprietário similar e terão que ser reescritas.

Há três jogos de office do software de fonte aberta: OpenOffice.org, KOffice e GnomeOffice, e todos devem ser considerados.

Está disponível na web um estudo piloto que compara a capacidade dos vários jogos deOffice do software de fonte aberta de lidar com os arquivos do Office da Microsoft:

http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=55

11.1.1. OpenOffice.org e StarOffice

O OpenOffice.org é um conjunto office do software de fonte aberta baseado noStarOffice, produzido por um empresa alemã chamada StarDivision. A SunMicrosystems, comprou a StarDivision e franqueou o código à comunidade desoftware de fonte aberta. Continua a colocar no mercado uma versão doOpenOffice.org, ainda chamada de StarOffice, que vende a um preço muito maisbarato do que os pacotes proprietários correspondentes.

O StarOffice e o OpenOffice.org são essencialmente idênticos, a não ser por:

Página 12Versão 0.2

Page 13: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

A Sun Microsystems fornece suporte comercial para o StarOffice. O StarOffice possui um sistema de banco de dados construído internamente

(Adabas). O StarOffice tem alguns filtros extras para migração para/de outros pacotes

de office (no entanto, o filtro do Wordperfect não é disponível emGNU/Linux por razões de licença).

O StarOffice possui algumas fontes proprietárias. O StarOffice só é disponível em um conjunto de idiomas um pouco mais

restrito (Alemão, Francês, Italiano, Inglês, Espanhol e Sueco). O OpenOffice.org é atualizado mais freqüentemente do que o StarOffice.

Ambos os aplicativos são comparáveis ao Office, porém não incluem um clientecorreio eletrônico. Ambos lidam com a maior parte dos arquivos Office até einclusive os do Office XP, embora a compatibilidade piore progressivamente com asversões do Office posteriores ao Office 97. Não lidam com arquivos protegidos porsenhas (exceto para proteção de planilhas página a página) e tem alguns problemascom objetos gráficos com link com OLÉ).

Eles tem sua própria implementação do Basic e não lidam com macros do VisualBasic, que precisam ser traduzidas à mão. Embora a tradução seja um custo demigração, a falta de suporte macro impede que sejam transmitidos vírus de macro.

A Sun Microsystems está estabelecendo ligações com companhias, para traduzirmacros e modelos da Microsoft para uma forma compatível com o StarOffice.

Eles também oferecem uma interface Java, porém só reconhecem atualmente o JDKda Sun Microsystems. A Sun Microsystems anunciou um projeto para desenvolverum Visual Basic para Aplicativos (VBA) para tradutor Java.

A versão descarregável do OpenOffice.org contém somente alguns dicionários, porémos dicionários estão disponíveis na maior parte dos idiomas europeus. Já existemversões pré-construídas em 25 línguas diferentes.

Embora o OpenOffice.org não ofereça atualmente um pacote de banco de dados, eletem interfaces ODBC e JDBC com muitos sistemas comuns de banco de dados,inclusive com os populares do software de fonte aberta. Além disso, não há filtros deconversão para Wordperfect, porém o lançamento futuro está planejado. Ambostrabalham em uma faixa de sistemas operacionais que incluem Windows eGNU/Linux.

Revisores estão começando a avaliar o OpenOffice.org quanto à funcionalidade eestabilidade. Veja:http://www.raycomm.com/techwhirl/magazine/technical/openofficewriter.html

O site http://www.taming-openoffice-org.com/ oferece um bom manual doOpenOffice.org.

11.1.2. Koffice

Este é o componente office da estação de trabalho KDE. É um pacote integradoque oferece processador de textos, planilhas, mapas e gráficos, apresentações,ilustrações, geração de relatórios e ferramentas para fluxogramas, com umestação de trabalho opcional chamado Workspace.

Os filtros de arquivos da Microsoft não são tão bons quanto os oferecidos peloOpenOffice.org. Ele não tem uma linguagem macro, mas há scripting disponível.

Página 13Versão 0.2

Page 14: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Koffice trabalha bem uma boa interface intuitiva.

11.1.3. Gnome Office

É uma coleção de programas escritos nos padrões Gnome e podem, portanto,integrar-se uns aos outros, tem uma interface com o usuário similar e devem sercapazes de embutir-se uns nos outros.

O OpenOffice.org é considerado agora parte do Gnome Office, muito embora nãose prenda aos padrões do Gnome. A Ximian, particularmente, está trabalhandopara tornar o OpenOffice.org mais compatível com o Gnome e incluiu sua própriaversão no mais recente produto para estações de trabalho, XD2. Vejahttp://www.gnome.org/gnome-office/ para maiores detalhes.

O Gnome Office tem muitos componentes, inclusive o AbiWord (processador detexto), o Gnumeric (planilhas), Sodipodi e Sketch (desenho de gráficos vetoriais),o Gimp (edição de imagens), o Olho do Gnomo (exibição de imagem) , o Dia(gráficos de vetores, similar ao Visio) e o Agnubis (gráficos para apresentações).

Estes componentes apresentam graus variados de utilização, por exemplo, oAbiword é muito bom para processamento básico de texto, porém tem problemascom tabelas, e o Agnubis é muito limitado, enquanto o Gnumeric é uma planilhamuito boa. O trabalho de desenvolvimento em quase todos os componentes aindaé muito ativo.

O Gnumeric, em particular, tem o objetivo de desenvolver uma planilha que podefazer tudo que o Excel faz, e ainda bastante mais. O último lançamento de testebeta do Gnumeric (1.1.20 quando foi escrito) suporta todas as funções de trabalhoda versão americana do Excel, e é esperado, para setembro 2003, um comunicadoincluindo este nível de funcionalidade. Os desenvolvedores vem de umaformação financeira e incluíram várias características que tornam o Gnumericespecialmente útil para aplicações financeiras. É nessa área que eles acreditamque o Gnumeric excede o Excel.

O Gnumeric usa *.xls como formato de arquivo nativo, enquanto oOpenOffice.org converte planilhas em um formato baseado em XML.

A gama de produtos disponíveis é interessante e, junto com oOpenOffice.org, oferecem um bom número de soluções diferentes. Noentanto, caso seja necessário um conjunto integrado, o atual OpenOffice.org éa única solução real.

11.2. Correio

O Correio é uma área complexa, com muitos componentes lógicos, e tem riqueza deaplicativos software de fonte aberta, alguns dos quais sobrepõem funcionalidades. Tambémé estreitamente ligado a outras questões, incluindo controle de vírus e de spam.

A escolha dos aplicativos apropriados é complexa, e está incluída no Apêndice C umadiscussão detalhada sobre essas questões, junto com uma definição de todos os termosusados aqui. 13.3

11.2.1. MTA

Os principais MTAs do software de fonte aberta são Sendmail, Exim, Courier-MTAe Postfix. Há muitos outros, mas estes são considerados os principais, por seremusados em larga escala.

Página 14Versão 0.2

Page 15: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Tradicionalmente, os sites do Unix e do software de fonte aberta usam o Sendmailcomo seu MTA. Infelizmente, ele apresentou um registro de segurança pobre, etambém é notoriamente difícil de configurar.

Todos os outros têm boa reputação em nível técnico e há pouco a escolher entre eles.No entanto, há uma diferença significativa no padrão da documentação disponível,com o Postfix apresentando uma melhor documentação em nível inicial e o Exim emnível especializado.

O Courier-MTA faz parte de uma família com um MTA, MDA (Mail DeliveryAgent), MAA e pacote webmail (squwebmail) disponível. Cada parte pode ser usadapor si só, ou integrada com o resto da família.

O Qmail é um MTA que está freqüentemente sendo tomado por software de fonteaberta. Embora o código fonte seja disponível, ele possui uma licença de direitosautorais que só permite a distribuição de versões exatamente idênticas àquelasdistribuídas pelo autor, e portanto, é um software proprietário. Sua licença restritivatorna muito difícil para os vendedores/distribuidores do software de fonte aberta darsuporte ou integrá-lo com outros softwares, e portanto, eles não o distribuem. Noentanto, o software tem um registro bom de segurança e é largamente utilizado.

Um outro produto interessante é o servidor de correio Apache James. Ele tem oobjetivo de ser um MTA completo escrito em Java. Carece de algumas característicasno momento, porém vale a pena estar atento para o futuro.

A escolha de referência é o Exim, porque é tão capaz quanto o Sendmail, e ao mesmotempo, mais fácil de configurar, e provavelmente mais seguro. Os outros dois são,talvez, menos capazes de lidar com grande volume de mensagens. A escolha não éevidente e os Administradores devem realmente tomar suas próprias decisões combase nas necessidades locais.

11.2.2. Depósito de Correio

Muitos Administradores preferem que os clientes usem o armazenamento central decorreio, em vez de descarregar as mensagens para armazenamento local na estação detrabalho do cliente. Por essa razão, nós recomendamos fortemente o uso do IMAP.

Há três servidores IMAP do software de fonte aberta bem conhecidos: UW-IMAP(às vezes chamados somente de IMAP), Courier-IMAP e Cyrus.

O UW-IMAP tem uma história de segurança pobre e não o recomendamos.

Dos outros dois, o Courier-IMAP é largamente conhecido por ser o mais fácil deconfigurar. Ele tem um tamanho pequeno e trabalha bem com o Postfix e com oCourier-MTA. É a parte MAA da família Courier. Ele necessita do maildir comoformato de armazenamento de correio. É conhecido por ter dificuldade de lidar comalgumas mensagens S/MIME, movendo os cabeçalhos de uma forma que invalida aassinatura.

O Cyrus usa seu próprio formato de armazenamento de correio, que é similar aomaildir e necessita de seu próprio MDA para completar o armazenamento de correio.

Ambos, Courier-IMAP e Cyrus suportam o TLS (um protocolo padrão deautenticação e privacidade).

Há vários MDAs, por exemplo, o procmail, maildrop do Courier, que vem como parteda família Courier e fornecimento da Cyrus. Os MDAs também possuem a habilidade

Página 15Versão 0.2

Page 16: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

de filtrar o correio de acordo com regras sofisticadas, o que é útil se o MUA usadonão tiver dispositivos de filtro.

A escolha de referência é o Courier-IMAP sem MDA. Não é preciso um MDA,porque o Exim é capaz de escrever diretamente para as estruturas maildir e oEvolution tem os seus próprios filtros com muita capacidade.

11.2.3. MUA

Há um grande número de MUAs baseados em texto e GUI disponíveis no campo dosoftware de fonte aberta.

Para os que estão acostumados a usar o Outlook ou Outlook Express e desejam teralgo similar, a escolha óbvia é o Evolution. O Evolution não é somente um cliente decorreio, mas também um Gestor de Informação Pessoal (Personal InformationManager - PIM). Ele possui integração LDAP e pode, portanto, acessar dados denomes e endereços da Administração, desde que permaneça no próprio projeto doEvolution. Está sendo desenvolvido ativamente pela Ximian como seu “produtoâncora”. A Ximian tem um produto chamado Connector que permite ao Evolutionconectar-se ao Exchange (mas não na versão 5.5). O Connector é proprietário e temuma taxa de licença.

O Evolution, infelizmente, não dá suporte total ao modo desconectado em IMAP. Elesomente copia certas correspondências para o cliente, e não todas. Porém ele possuium recurso chamado pastas virtuais, que permite ao usuário definir regras para ler seucorreio de várias formas diferentes, sem que haja, de fato, múltiplas cópias dacorrespondência.

O kmail e o sylpheed são alternativas aos MUAs. Ambos são muito bons e integram-se com os principais ambientes de estações de trabalho do software de fonte aberta.Se o estação de trabalho for KDE, usa-se o Kmail, enquanto que se o estação detrabalho for Gnome, usa-se o sylpheed.

O Evolution dá suporte ao GPG, porém não ao S/MIME, embora se espere que o façaem breve.

O Mozilla dá suporte ao S/MIME, mas não ao GPG ou PGP, apesar de que ofará em breve.

O Kmail dá suporte ao S/MIME, ao GPG e PGP como parte doprojeto Ägypten financiado pelo Governo alemão.

Muitos pacotes de groupware também incluem clientes compatíveis com IMAP ePOP3. Em geral, eles não são tão bons quanto o Evolution, mas podem sersuficientes, se integrarem-se bem com as outras funções do groupware.

Em alguns casos, pode ser melhor migrar algumas categorias de usuários de correio auma interface de usuário baseada na web. O SquirrelMail é uma particularmente boa,que pode ser encontrada em http://www.squirrelmail.org/ .

A Open Systems Application Foundation tem um produto chamado Chandler, queestá em fase inicial, mas vale a pena monitorar para o futuro. É um competidorpotencial do Evolution. Já que a maioria dos usuários irá, provavelmente, requereralgo parecido com o Outlook da Microsoft, é provável que o Evolution seja a escolhapreferida, e é a escolha de referência. No entanto, se o S/MIME for requeridoimediatamente, então o Kmail terá que ser usado, o que pode significar o uso do KDEao invés do Gnome.

Página 16Versão 0.2

Page 17: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

11.2.4. Anti-Virus

Se os sistemas de software de fonte aberta estiverem configurados corretamente, osvírus terão efeito limitado. No entanto, há o problema de passar vírus para os sites queexecutam outros sistemas operacionais, inclusive os produtos da Microsoft emparticular.

Existe um produto anti-vírus do software de fonte aberta , o ClamAV, porémapresenta alguns problemas. Portanto, recomendamos no momento, produtosproprietários, com suporte total.

A melhor maneira de executar tais produtos é como parte do MTA. Ambos, o Postfixe o Exim, fornecem meios de incorporar tais filtros.

Há a escolha de produtos proprietários. O Sophos, o RAV e o Vexira, todos possuemboa reputação. A tendência na checagem dos vírus é boa, mas deve se executado comum super acesso ao usuário, o que o transforma em um problema de segurançapotencial maior, caso seja comprometido.

Não foi feita escolha para modelo de referência, já que a netproject não tevecondições de testar plenamente os produtos.

11.2.5. Outras Ferramentas

Há vários ferramentas anti-spam e ferramentas que evitam que anexos executáveissejam baixados com o correio eletrônico.

O SpamAssassin é provavelmente o mais bem conhecido dos ferramentas anti-spam deanálise de mensagem.

O Anomy Sanitizer é um ferramenta configurável capaz de remover os anexos àsmensagens. Ele é configurável, porém necessita ser usado com cautela, já que aremoção pode invalidar a assinatura de um documento assinado.

O MailScanner é uma estrutura geral para checagem de conteúdo, inclusive commedidas anti-vírus e anti-spam. Ele pode invocar um ou mais produtos anti-vírusproprietários nas mensagens de correio eletrônico e pode também usar oSpamAssassin, bem como aplicar suas próprias regras.

O Fetchmail coleta correio eletrônico de um armazém eletrônico remoto e o armazenaou repassa para um outro MTA. Como puxa o correio para uma máquina (i.e., atransferência é iniciada pela parte receptora), ele é útil onde, por razões de segurança, osAdministradores não querem abrir uma porta para a Internet em sua máquina, parapermitir que o correio lhes seja imposto (onde o remetente inicia a transferência), comoaconteceria com o modelo SMTP normal.

O Offlinelmap é um ferramenta que permite que um armazém de correio em umservidor central sincronize-se com um armazém no cliente. Isto é feito pelo clienteconectando-se ao servidor usando o IMAP em bases regulares. A estrutura local émaildir. Isto pode ser muito útil para permitir que o modo desconectado IMAP sejaemulado, caso o MUA não lhe dê suporte total.

O Whoson permite o método POP-antes de-SMTP de autenticação de usuários remotos.Seu uso é necessário caso os usuários desejem ser capazes de enviar correspondênciaatravés de servidores remotos dos Administradores, se o SMTP autenticado não estiverdisponível e o MTA da Administração estiver aberto a conexões de endereços IP defora do alcance confiável.

Página 17Versão 0.2

Page 18: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

11.2.6. Problemas Encontrados

Para armazenar dados em um servidor LDAP é preciso escolher um esquema. Oesquema deve ser compatível com todos os clientes que possam requerer acesso aosdados. Felizmente, alguns pacotes vem com um esquema que, não somente dá suporteàs suas necessidades, como também às necessidades de vários outros pacotes em geral.

O Courier-IMAP vem com um esquema, mas o Exim não. Descobriu-se que o esquemado Courier dá suporte ao Exim também. Não sabemos se dá suporte a toda a capacidadedo Exim. Foram descobertos alguns problemas com o arquivo de configuração doLDAP para o Courier. Situações críticas foram retornadas ao desenvolvedor mas aindanão foram liberadas.

Para usar o Courier com o Whoson é necessário alguns consertos no Courier. Algunsforam disponibilizados no site do Whoson, porém estavam velhos e necessitavamde atualizaçãoes significativas para trabalhar com a versão selecionada doCourier.

11.3. Calendário e Groupware

Calendário é um assunto mal definido no software de fonte aberta. Isto é devido à ausênciade padrões abertos para comunicação entre os clientes e o servidor central.Conseqüentemente, os produtos desenvolvidos até agora, usam a distribuição baseada naweb, e isso pode não proporcionar às pessoas a cara e o jeito aos quais estão habituadas como uso do Exchange e do Outlook. Esta área é significantemente frágil no portfólio dosoftware de fonte aberta.

Pode-se assumir que os produtos listados na tabela a seguir usam distribuição baseada naweb, a não ser por afirmação em contrário. Todos eles são parte de conjuntos de groupwareque possuem uma grande variedade de outros aspectos.

A maior parte dos produtos de groupware são escritos em PHP ou Perl, e podem, portanto,ser customizados.

Foram feitas algumas integrações interessantes de recursos nesses produtos.

O phpGroupware (http://www.php groupware .org/ ) tem uma boa reputação.

Página 18Versão 0.2

Page 19: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Detalhes de ProdutosGroupware

NOTAS1 Padrão IN mais fórum (BBS)2 Funcionalidade de bilhete curto adesivoA Registro de cronograma; rastreador de Solicitações, um formulário de gestão de fluxo

de trabalho, Lista “para fazer”; projetos dinâmicosB Recursos (por exemplo, salas de reuniões, projetores overhead) e gravação de

eventos (futuros, bem como os já passados).

Página 19Versão 0.2

Produ

to

Correio

 

Cale

ndário

 

Gestão d

Docu

men

tos

Bate­p

apo

Lis

ta d

e T

arefa

s

Gestão de 

Con

tato

Ban

co d

Dados

Cron

ogram

a

Program

ação 

Ou

tras 

facil

idades 

Com

en

tário

s

NullLogic S S S [1] S STwiki S S S S Uma estrutura

mais que um produto

phpGroupWare S S S S S S S Difícil encontrar informações adicionais no site

phProject S A, BS [2] S S Gestão de Projetos, Favoritos, Lembretes, sistemas de busca, sistema de votação, rasteador de solicitações

Tutos S B S S STwiggi S S S [2] S S Para fazer,

Favoritos

Page 20: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Horde é uma estrutura para rodar outros aplicativos. Por exemplo, o Imp, um servidor daweb, o Turba, um gestor de contatos, e o Kronolith, um calendário. Vejahttp://www.horde.org/.

O NullLogic aparece somente para oferecer interfaces com o idioma inglês, porém ophProject, o Tutos, o Twiggi and Twiki, todos eles dão suporte a uma série de idiomas.

Um produto muito recente do software de fonte aberta é o OpenGroupware dahttp://www.open groupware .org/ . Ele é o aplicativo SKYRiX, anteriormente proprietário,que foi transformado por seus donos em software de fonte aberta. Tem o objetivo desubstituir o Exchange. Ainda não houve tempo suficiente para investiga-lo, porém, tudo indicaque irá tornar-se muito influente.

Um outro produto recente é o Kgroupware (Veja http://kolab.kroupware.org/ ). Esseproduto tem um cliente com base no Kmail, e vale a pena pesquisá-lo, particularmente se oKDE for escolhido como interface com o usuário ou se o Kmail for escolhido como MUApara dar suporte a S/MIME.

11.3.1. Calendários Pessoais e Agendas

Todos os produtos podem manter calendários pessoais e listas de tarefas, a não serpor disposição em contrário.

11.3.2. Calendários de Grupo

O Tutos, o Twiggi e o NullLogic, todos eles dão suporte a calendários.

O Tutos permite controle em níveis de faixas, do individual ao grupo de trabalho e dogrupo de projeto para todos.

No NullLogic, não se pode manter calendários privados em relação a outros membrosdo grupo, mas as tarefas sim.

11.3.3. Organização de Reuniões

Muitos dos produtos incorporam itens de agendamento de recursos, que podem serusados para planejar reuniões.

O Tutos permite a alocação automática de pessoas, junto com notificação decorrespondência automática para aqueles que não constam do calendáriocompartilhado (como os que estão em outras organizações). Ele mantém uma lista deaceitações e manda lembretes via correio, caso desejado. O phProject é similar, e lidacom notificações de texto SMS.

O NullLogic dá suporte a todos os recursos acima, exceto para alocação de salas.

11.3.4. Sincronização de PDA

O phProject tem um recurso adicional que sincroniza com os PDAs baseados emPalmOS. A sincronização do PDA também recebe suporte como parte do Gnome e doEvolution. A maioria do PDAs populares podem ser sincronizados.

11.4. Serviços da Web

11.4.1. Browser

Página 20Versão 0.2

Page 21: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Os principais navegadors do software de fonte aberta são Mozilla, Galeon eKonqueror. Há outros como Lynx, que é somente texto, e é freqüentemente usadocomo base para navegadors para pessoas com deficiência física, e o MozillaFirebird (anteriormente conhecido como Phoenix), um variante leve do Mozilla.

Há também um navegador proprietário, o Opera, que tem uma versão quetrabalha no GNU/Linux. O Netscape é baseado no Mozilla e roda em plataformassoftware de fonte aberta, porém inclui alguns códigos proprietários.

O Mozilla é o principal projeto software de fonte aberta baseado em código,distribuído pela Netscape, e é a base para a Netscape 7. Ele contém correio ecomponentes de notícias junto com livro de endereços e uma ferramenta deautoria de web. Grande parte do código do Mozilla é usado por outros projetos,inclusive o Galeon e o OpenOffice.org.

O Galeon é somente um navegador e é desenhado para ser pequeno e rápido. Ébaseado no Gecko, o motor de renderização no qual se baseia o projeto doMozilla, junto com uma interface de usuário Gnome. Ambos, Galeon e Mozilladão suporte a todos os padrões de Internet aberta relativos à web e podemexecutar Java e Javascript escritos apropriadamente.

Alguns conteúdos requerem um plugin que só é disponível para o Windows,como Shockwave Director. O produto proprietário CodeWeavers Crsoftware defonte aberta Over Plugin permite que plugins que trabalham no Windows,trabalhem no GNU/Linux.

O Konqueror é o navegador da web escrito paro estações de trabalho KDE etambém é usado como um gerenciador de arquivos “arraste e solte”. Baseia-se nomotor de renderização KHTML, com Mozilla Gecko como opção, junto com umainterface de usuário KDE.

11.4.2. Servidores da Web

O servidor da web software de fonte aberta mais popular é o Apache, o qual, deacordo com a pesquisa Netcraft (http://www.netcraft.com/ ), possui mais de 60%do mercado e sua porção está crescendo. Uma combinação de produtos cada vezmais popular está sob o nome LAMP: Linux, Apache, MySQL e PHP. Elafornece uma estrutura para os web sites acessarem bancos da dados SQL atravésda linguagem PHP. Todos os componentes são software de fonte aberta.

O projeto Apache contem vários sub-projetos, um dos quais é chamado de Jakartae cobre o lado servidor do uso do Java. O Jakarta em si, consiste de sub-projetos,dois dos quais são o Tomcat e o Slide. O Tomcat oferece um produto paraservlets Java, em conformidade com o padrão JSP, e a habilidade de usartecnologias como a Websphere da IBM. O Slide é implementação baseada emJava da WebDAV, que permite gerenciamento de conteúdo. Vejahttp://www.apache.org/ para maiores detalhes.

Outros servidores de software de fonte aberta que vale a pena considerar são oZope e o Tux.

O Zope (http://www.zope.org/ ) é desenhado para prover suporte dinâmico deconteúdo da web e baseia-se em um modelo orientado para o objeto. É um pacoteinteressante, pois combina um sistema de gerenciamento de conteúdo com umservidor de web e um sistema de modelos em um pacote. O Zope também dásuporte a add-ons (chamados produtos) e baseia-se na linguagem Pythonorientada para objeto. É comum encontrar o Zope colocado “atrás” do Apache,

Página 21Versão 0.2

Page 22: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

em uma configuração multiservidor, onde o mesmo serve conteúdo estático e atuacomo acelerador baseado em cache para as partes do site geridas pelo Zope.

O Tux é um desenvolvimento Red Hat, atualmente chamado de Acelerador deConteúdo Red Hat. Usa um kernel especial e pretende-se que ofereça respostamuito rápida para páginas estáticas.

O Roxen é uma outra combinação de servidor de web e sistema de gerenciamentode conteúdo, embora seja necessário comprar add-ons proprietários para obtertotal funcionalidade do gerenciamento.

De todos esses, o Apache é, de longe, o mais popular. Ele trabalha atualmenteem 63% dos websites públicos e está ganhando fatia de mercado da IIS de formaestável, portanto há muita experiência a considerar ao planejar uma migração. OApache é um servidor modular, com um motor de protocolo nuclear e uma grandeseleção de módulos para propósitos específicos.

11.4.3. Portal / Conteúdo

O Zope, junto com outros componentes do software de fonte aberta, são parte deum projeto financiado pela União Européia, chamado ASWADhttp://www.aswad-project.org/, o qual é desenhado para provergerenciamento de conteúdo. A netproject tencionava avaliar esse projeto,porém enfrentou dificuldades em obter detalhes atualizados. Um projetointeressante baseado no Zone é o Plone (http://www.plone.org/ ).

O JB software de fonte aberta (http://www.jb software  de  fonte  aberta .org/ ) éum servidor de aplicativo baseado em Java. Tem uma boa reputação e está sendodesenvolvido ativamente.

Há atualmente muitos produtos de gerenciamento de conteúdo de software defonte aberta, como mostra o site http://www.oscom.org/matrix/index.html. Anetproject não encontrou qualquer informação detalhada nos estudos dos casospublicados e não conseguiu investigar os mesmos com o nível de detalhamentonecessário para a escolha de um candidato a Modelo de Referência.

11.5. Gestão do Documento

11.5.1. Registro e Recuperação

A Gestão do Documento pode, e talvez deva, ser pensada como uma forma degestão de conteúdo e de fluxo do trabalho. Este é o tipo de coisa que o ASWAD(veja 11.4.3 acima) pretende cobrir. A netproject, portanto, recomenda que sejaadotada uma solução com base nas soluções de gestão de conteúdo disponíveis.Em particular, os que usam a WebDAV podem prover as soluções mais úteis.

Um padrão alemão chamado DOMEA (Disposition and Archiving of ElectronicRecords), que não é usado largamente fora da Alemanha, foi adotado pela IBMjunto com SAP. A maior parte dos documentos relativos ao DOMEA(particularmente os encontrados em uma busca do Google), estão em idiomaalemão. Há uma companhia chamada FabSoft, que provê suporte ao DOMEA emGNU/Linux em computadores de grande porte da IBM. Parece não haver umproduto de software de fonte aberta que dê suporte ao DOMEA.

Página 22Versão 0.2

Page 23: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Alguns dos produtos de groupware provêem suporte para gestão de documento:

O Tutos inclui um sistema de gestão de documento que também possui gestãode versão.

O NullLogic tem capacidade de armazenar, indexar e baixar arquivossimplesmente. Não parece oferecer um sistema de gestão de mudança. Possuium mecanismo generalizado de query que pode ser instalado para oferecerindexação.

11.5.2. Trabalho colaborativo

Esta função pode ser implementada ad-hoc pela simples troca de documentosentre as pessoas. A troca pode se dar através de anexos à correspondência ouatravés de mecanismos como os usados pela CIRCA.

Para que haja colaboração, as partes precisam acordar quanto ao formato dodocumento, e atualmente, muitas pessoas usam o *.doc da Microsoft por default.Esse default significa que as partes precisam confiar umas nas outras, porqueesses formatos podem ser eficientes portadores de vírus. Além disso, o *.doc nãoé ideal como padrão, porque muda constantemente; o formato usado pelo Office2000, não é idêntico ao usado no Office 97. Isto significa que as partes tambémprecisam concordar quanto à versão do software a ser usado.

Há pressão para que se adote formatos de documentos baseados em padrões,particularmente os baseados no XML OpenOffice.org, que provê um padrão dedocumento baseado no XML, que poderia ser usado como base para acolaboração.

Uma abordagem mais estruturada seria a de adotar uma solução de gestão deconteúdo/fluxo do trabalho, como descrito acima.

O produto de groupware do Tutos permite que os documentos sejam sujeitosao controle de uma única pessoa ou por todos dentro de um grupo definido. ONullLogic e o Twiki também possuem controles sofisticados.

Não há candidato a Modelo de Referência para a gestão de conteúdo acima.

11.6. Bancos de Dados

11.6.1. Bancos de Dados Centrais - baseados emaplicativos

Os sistemas de banco de dados do software de fonte aberta disponíveisincluem MySQL, PostgreSQL e Firebird. Eles têm características eaplicabilidade significantemente diferentes.

O MySQL é um banco de dados SQL leve favorecido por servidores de web eaplicativos similares. É adequado em situações em que a leitura predominasobre a escrita. Não dá suporte a procedimentos de banco de dados ou sub-queries complexas. Suporte para procedimentos de banco de dados estáplanejado para a versão 5.

O PostgreSQL é um DBMS completo, comparável ao Oracle e DB2, porémsem os recursos mais avançados necessários para se lidar com grandes volumesde dados.

Página 23Versão 0.2

Page 24: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Firebird é uma versão do banco de dados Interbase da Borland, liberado sobuma licença do software de fonte aberta. Uma grande parte do código écomum com o Interbase e , como tal, deve ser considerado maduro. Há umprojeto de acrescentar capacidade de banco de dados ao OpenOffice.org usandoo Firebird, mas ainda está no estágio inicial.

11.6.2. Bancos de Dados Pessoais Controlados Central ouLocalmente

Bancos de dados pessoais ad hoc não tem um bom suporte do software defonte aberta. Não há equivalente direto ao Access, nem existe um sendodesenvolvido.

Muitos dos pacotes de groupware oferecem alguma capacidade nesta áreausando uma variedade de bancos de dados SQL do software de fonte abertacomo back-end. Em alguns casos (como o NullLogic), usuários normais sópodem usar queries pré-definidas. Alguns oferecem a capacidade de definirformas que podem ser usadas para armazenar e acessar dados.

11.6.3. Conectividade de Bancos de Dados

A maior parte dos produtos DBMS dão suporte direto a APIs com ligações delinguagem C. Alguns também dão suporte naturalmente a C++. Todosoferecem conectividade ODBC ou JDBC. Alguns também oferecemconectividade .NET.

Há um produto chamado Unix-ODBC que provê conectividade do tipo ODBCaos programas Unix e GNU/Linus.

11.6.4. Desempenho

O desempenho do banco de dados depende muito do tamanho das tabelasenvolvidas e da complexidade das queries.

Nenhum dos oferecidos pelo software de fonte aberta seria capaz de lidar com asdemandas com as quais os bancos de dados proprietários, como o Oracle, lidam.Isso se dá especialmente em aplicativos para armazenamento de dados, em parteporque nenhum deles tem capacidade de prover um banco de dados distribuído.

Os produtos proprietários Oracle, DB2, Ingres, Informix, Progress, Mimer eSybase estão disponíveis para rodar em GNU/Linux e podem ser consideradosopções preferenciais para aplicativos de bancos de dados pesados, para os quaisos produtos do software de fonte aberta não são apropriados. As ferramentas dedesenvolvimento do Oracle têm suporte no GNU/Linux.

Página 24Versão 0.2

Page 25: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

12. Aplicativos – Grupos Auxiliares

12.1. Sistema Operacional

Há vários sistemas operacionais do software de fonte aberta, inclusive o OpenBSD, oFreeBSD, o NetBSD e várias distribuições (explicado abaixo) do GNU/Linux, emboradesses, muitas pessoas só tenha ouvido falar do GNU/Linux, e geralmente pelo nome Linux.

Um sistema operacional consiste de um kernel que opera em modo supervisor, junto comprogramas de suporte que operam sob o controle do kernel no modo usuário. O Linux é umkernel, mas demanda carregadores de suporte, compiladores, drivers etc. A maior partedesses programas de suporte são fornecidos pelo projeto GNU da Free SoftwareFoundation e, portanto, todos devem ser chamados de GNU/Linux, que é o termo usadoneste relatório.

O kernel do Linux é fornecido em pacote junto com um conjunto de programas de suporte eaplicativos, por algumas companhias como Red Hat, SuSE e Mandrake, como umaDistribuição. Os componentes do conteúdo de uma Distribuição devem interagir e o kernelpode ser costurado com mudanças não disponíveis com outros Distribuições. Portanto, aescolha da Distribuição deve ser considerada, já que cada um tem seus pontos positivos enegativos.

Há outros Distribuições como o Debian e o Gentoo, que não são preparados por umaorganização comercial e isto tem implicações na forma como o suporte é fornecido. Osuporte para esses distribuições vem de terceiros ou de acessos a listas de correio naInternet. Ambos podem oferecer níveis aceitáveis de cobertura.

O Debian tem reputação de solidez e sua seção estável contem um código que foicuidadosamente testado por muitas pessoas no mundo todo. Há mais duas seções quefornecem níveis crescentes de software de ponta. A seção estável também é reputada comodesatualizada, o que, até certo ponto é injusto porque a maioria dos usuários comerciaisestão interessados, principalmente, em estabilidade e ausência de defeitos, e não se existesuporte para os últimos periféricos.

O Gentoo é uma distribuição única do fonte, o que significa que a Administração podeconstruir seus próprios binários facilmente, talhando a distribuição ao seu ambiente e seuhardware. Construir uma distribuição do zero demanda tempo, porém, construídos osbinários, eles estarão disponíveis em geral. Este é uma nova distribuição e vale a penaconsiderar. Pelo fato de que a maior parte dos outros distribuições são fornecidos comcódigo de fonte completo, é possível talhar qualquer um deles da mesma forma, porém oGentoo talvez seja mais receptivo a tal tratamento.

Os distribuições comerciais vem em pacotes diferentes, com diferentes níveis de suportedisponíveis. A distribuição disponível via Internet tem suporte por algo em torno de um ano,invariavelmente, e então, os usuários tem que fazer um upgrade. A maior parte dascompanhias oferecem uma versão Enterprise que tem garantia de suporte por cinco anos oumais e que é baseada em versões estáveis. Tais versões também possuem um contrato desuporte associado a elas, que às vezes, é chamado de licença, embora o código seja licenciadousando o GPL ou LGPL e pode não ser licenciado de outra forma. O que muitosAdministradores desejam é a disponibilidade de tais distribuições estáveis e que possuamsuporte. Na verdade, uma razão para mudar para software de fonte aberta é a inexistência depressão para upgrade constante e desnecessário. As companhias prometem um conserto dedefeitos de backport. A Red Hat, por exemplo, tem seu Enterprise Range, que consiste de trêsprodutos, dois para servidores e um para estações de trabalho técnicas; cada uma delas pareceser baseada na versão 7.3 do Red Hat Linux , embora a versão descarregável atual seja a 9.

Página 25Versão 0.2

Page 26: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Nossa opinião é de que GNU/Linux é a plataforma preferida para estações de trabalho, já queoferece ferramentas de configuração melhores e uma variedade de pacotes de configuraçõesque são mais apropriados para uso em estações de trabalho.

Além disso, alguns produtos de estações de trabalho populares não funcionam em todas asalternativas (por exemplo, o navegador web do Mozilla atualmente não trabalha emOpenBSD).

Para servidores, a situação é bem menos clara. O OpenBSD tem, de longe, o melhor registrode segurança de qualquer sistema operacional do software de fonte aberta, podendo reclamarsomente uma vulnerabilidade explorada remotamente em 6 anos. Deve ser a plataformapreferida para qualquer situação que requeira mais do que a média de segurança (tal comofirewalls e servidores de Zona Desmilitarizada).

Aplicativos de servidores geralmente funcionam bem em todas as plataformas BSD eGNU/Linux, embora muitos tenham sido escritos para GNU/Linux e depois transferidos. Osoftware proprietário freqüentemente só é disponível para GNU/Linux.

12.2. Interface Usuário

12.2.1. Gestão de Desktops - cara e jeito

Há várias opções, que vão dos gestores leves de janelas muito simples, como o icewm, atégestores de sessão completos como os incluídos no Gnome e KDE. A escolha depende douso pretendido.

Dos gestores de sessão, o KDE é o mais maduro mas o Gnome está aproximando-serapidamente. O Gnome tem o suporte da Sun Microsystems e de membros da GnomeFoundation. A netproject considera que ele tem uma arquitetura melhor e acredita quetem futuro.

A Ximian lançou agora um estação de trabalho baseado no Gnome chamado XD2. Eletrabalha sobre várias distribuições de base diferentes, inclusive o Red Hat e SuSE. AXimian dedicou-se especialmente a integrar os vários diferentes aplicativos, paracertificar-se de que trabalham de forma similar. Isso significa que eles incluíram suaspróprias versões de alguns produtos como OpenOffice.org. É muito cedo paracomentários sobre esses estações de trabalho, porém as impressões iniciais sãopromissoras.

A escolha de cada Administração será provavelmente de preferência pessoal; ambos osambientes são muito capazes. Aplicativos desenhados para trabalhar em um ambientetrabalharão em outro, porém recursos mais específicos como gerenciamento de sessão,podem não trabalhar de forma adequada.

12.2.2. Idiomas

Os estações de trabalho oferecem a maior parte dos idiomas europeus, porém podemser incompletos para o suporte de qualquer idioma específico.

12.3. Segurança

Todos os grupos funcionais devem ser configurados tendo em conta a segurança. Asegurança, em nível de software, só pode trabalhar se também estiver presente na estruturamaior da gestão de segurança. A netproject não investigou de forma completa todas asfunções dadas como parte deste relatório.

Página 26Versão 0.2

Page 27: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

12.3.1. Criptografia

12.3.1.1. Dados em trânsito

Dados confidenciais em LANs internas devem ser criptografados sempre quepossível. Dados sensíveis enviados pela Internet, devem estar sempre criptografados.Isto pode ser feito através da canalização de conexões em produtos como ssh estunnel.

12.3.1.2. Dados armazenados

Dados confidenciais mantidos em dispositivos móveis devem ser criptografados emdisco. O ideal é que todos os dados sejam criptografados, porém isso imporia ônussignificativos que nem sempre serão aceitáveis. Há vários sistemas de arquivosseguros e o próximo kernel da Linux oferece um suporte melhor para os mesmos. Porexemplo, em http://koeln.ccc.de/archiv/drt/crypto/linuxdisk.htm hái umadiscussão dos vários métodos disponíveis.

12.3.2. Autenticação

Métodos seguros para identificar, de modo único, uma pessoa ou máquina que sejamparte de uma comunicação com outras pessoas ou máquinas. Isso inclui assinaturas einfraestruturas PKI. Nenhum sistema PKI foi testado como parte deste projeto. Todasas autenticações foram feitas em contraposição à senha padrão de um banco de dadosLDAP.

12.3.3. Autorização

Uma vez autorizadas, determinar o que uma pessoa ou máquina pode fazer e em quecircunstâncias. Isso normalmente é parte do sistema operacional ou do código doaplicativo. O Role Based Access Control ou RBAC, foi definido pelo NIST nosEstados Unidos e está disponível para o Linux. (Veja http://csrc.nist.gov/rbac/ ).

12.3.4. Controle de Vírus

O Controle de Vírus é necessário principalmente para estancar a transmissão de víruspara outros sites não software de fonte aberta. Embora o correio eletrônico seja umadas principais formas de transmissão de vírus, não é a única, portanto é necessáriofazer uma varredura geral dos arquivos para estancar a transmissão por outros meios.

Infelizmente não conhecemos qualquer produto software de fonte aberta que faça talvarredura. No entanto, é possívell garantir que só os arquivos executáveis tenhamsido instalados pelo sistema administrador, através da configuração dos sistemas dearquivos, tanto nos servidores quanto nas estações de trabalho. Portanto, é importanteque os administradores de sistemas tenham certeza de que os arquivos que estãoinstalando são confiáveis, por exemplo, através da checagem da assinatura dovendedor da Distribuição nos arquivos.

12.3.5. Servidor Proxy

Há disponível uma gama de servidores proxy do software de fonte aberta,inteligentes ou semi-inteligentes. Dentre os servidores proxy da web, o Squid é o maispopular. Ele possui um produto associado (o squidguard), que evita o acesso a umalista de websites banidos.

Página 27Versão 0.2

Page 28: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

12.3.6. Firewalls

Todos os sistemas operacionais atuais do software de fonte aberta possuem firewallscom pacotes de filtragem interna, dos quais a maioria é stateful. Os firewalls do tipostateful são aquelas que mantêm a informação sobre conexões em curso e fluxos dedados através da firewall, e permitem a passagem de pacotes que são associados aessas conexões, enquanto eliminam pacotes que não o são. Firewalls que não sãostateful, examinam cada pacote por seus próprios méritos, sem guardar qualquerregistro de pacotes anteriores. Plugins especializados estão disponíveis paraprotocolos tais como ftp e telefonia H.323, que usam formas de conexão fora dospadrões.

Iptables, atualmente incluídos no GNU/Linux, e ipfilter, incluído no FreeBSD sãoambos bons produtos firewall. O Packetfilter agora está incluído no OpenBSD,também tem uma boa reputação. Uma boa prática para firewalls externos é ter doisdiferentes entre a conexão da rede pública e os servidores internos. Nãorecomendamos um exemplo sozinho.

12.3.7. Redes Virtuais Privadas (VPN)

12.3.7.1. VPN Abertas

Disponível para a maioria das preferências Unix, esta é uma oferta madura epoderosa. Os recursos incluem codificação de chave pública, compressão dinâmicapara gestão de largura de banda, e a capacidade de trabalhar com NAT (NetworkAddress Translation). Veja também http://openvpn.sourceforge.net/ para maioresinformações.

12.3.7.2. FreeSWAN

Esta é uma implementação GNU/Linux dos padrões IPSEC e IKE, e significa que vaiinteroperar com dispositivos concordantes, incluindo rotas especiais e outros sistemasoperacionais. Desde que Ipv6 dá originalmente suporte ao IPSEC, o FreeSWAN podeser preferido se esse padrão mais novo for usado. Para beneficiar-se da extensão únicado FreeSWAN denominada “Opportunistic Encryption”, que pode mecanizar asegurança, os registros DNS devem estar atualizados, o que pode ser limitador. Anetproject entende que IPSEC também pode ter problemas com NAT. Veja tambémh ttp://www.freeswan.org/ para maiores informações.

12.3.7.3. CIPE

Este é menos maduro do que os outros dois e o suporte de chave pública ainda éexperimental. No entanto, pode funcionar com NAT, está disponível para Windows, enavega com Red Hat Linux ( você pode até configura-lo com a ferramenta Controlede Dispositivo de Rede deles). Mais informação disponível emhttp:// sites .inka.de/~W1011/devel/cipe.html ..

12.4. Gestão

O site http://www.infrastructures.org/ provê considerável detalhamento em como geriruma rede de máquinas, de servidores e estaçõ e s  de  trabalho , e tem váriasferramentas de software  de  fonte  aberta para uma série de tarefas de manutenção. Émantido por alguém que cumpriu essas tarefas por muitos anos.

Página 28Versão 0.2

Page 29: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

A netproject concorda com quase todo o conteúdo, exceto, primeiramente, com a seção degestão da impressora.

O site mostra que a gestão do Unix, e por extensão, GNU/Linux, tende a ser feita porferramentas a serem agrupadas a partir de unidades de função única menores. Essaabordagem modular é extremamente poderosa e é o que permite aos administradores dosistema Unix e GNU/Linux serem muito eficientes e efetivos. Também significa que omercado para kits de ferramentas é pequeno, já que os administradores de sistemas tendem aconstruir, cada um, suas próprias ferramentas.

Há ferramentas proprietárias disponíveis, como Tivoli da IBM e Unicenter da ComputerAssociates.

12.4.1. Gestão do Usuário

A manutenção de usuários e de grupos de usuários, incluindo produtos de gestão desenhas como Directory Administrator e gq, permite que os bancos de dados LDAPsejam mantidos.

12.4.2. Gestão de Configuração

Embora um cliente bem projetado, gerido de forma central, deva ter um mínimo deinstalação local, a atualização de sua configuração sem reinstalação do zero é aindadesejável para grandes redes, das quais se espera que fiquem ativas durante algumtempo. Por exemplo, se um serviço essencial central é mudado, os clientes podemprecisar ser re-configurados para usa-lo.

12.4.2.1. Manutenção da Configuração Manual

Os Administradores podem manter atualizações de configuração manualmente, jáque poderiam programar atualizações. No entanto, problemas similares desincronização se aplicam. A modificação manual dos arquivos de configuração,geralmente armazenados em arquivos plain text, é particularmente sujeita aapresentar erros de digitação.

12.4.2.2. Cfengine

O GNU Configuration Engine (http://www.cfengine.org/) automatiza aconfiguração remota de clientes de rede. Ele dá suporte a uma grande variedadede preferências. UNIX e seu poderoso conceito de classe permite que diferentesgrupos de clientes sejam geridos com um mínimo de configuração. Agentesautônomos nos clientes podem manter arquivos de texto, interfaces de rede, linksde arquivos e permissões, armazenamento temporário e sistemas de arquivosmontados.

Alguns dos primitivos que podem ser automatizados usando o cfengine são:

Checar e configurar a interface da rede. Editar arquivos de texto. Fazer e manter links simbólicos, inclusive links múltiplos a partir de um

único comando. Checar e estabelecer permissões de propriedade dos arquivos. Deletar lixo de arquivos que confundem o sistema. Montagem automatizada e sistematizada de sistemas de arquivos (em Unix). Checar a presença de arquivos importantes e sistemas de arquivos.

Página 29Versão 0.2

Page 30: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Execução controlada de scripts de usuários e comandos de embalagem.

O Cfengine segue uma estrutura de decisão baseada em classe.

12.4.2.3. Configurador de Sistema

O Configurador de Sistema (http://sisuite.org/systemconfig/ ) é parte do SystemInstallation Suite, e é usado pelo System Installer. Ele pode configurar e mantermuitos componentes de uma instalação GNU/Linux através de muitasdistribuições tais como redes, armazenamento, zona de tempo e booting.

12.4.3. Gestão de Software

Esta seção cobre a manutenção de sistemas de clientes desde a configuração inicial donovo hardware até atualizações de software em andamento e configuração, e algumastecnologias para facilitar sua gestão.

12.4.3.1. Instalação do Sistema

A instalação do sistema é a configuração inicial do software e a configuraçãonecessária para manter uma máquina. Máquinas construídas em fábricas podemnão possuir qualquer sistema operacional, ou chegar pré-instaladas com software.Máquinas velhas com software indesejado também podem ser reutilizadas pelainstalação de um sistema novo em seu lugar.

A primeira tarefa de um instalador de sistema é carregar a máquina alvo. Para darsuporte a alvos não carregáveis, tais como máquinas construídas em fábrica comdiscos rígidos não inicializados, o BIOS precisa dar suporte a, pelo menos, ummétodo de carregamento que não seja o disco rígido. O método mais antigo é ode carregar de um disquete, e embora isso seja largamente possível, pressupõe aexistência de um drive para disquete. Os disquetes estão sendo eliminados, poissão lentos, não confiáveis e oferecem espaço muito pequeno para o software deinstalação de sistema nos padrões modernos. Muitas máquinas construídas desde1997 suportam booting de CD-ROM pela emulação do setor de boot do disquete.Se houver um driver de CD, isto é mais rápido e oferece mais espaço para osoftware de boot inicial e qualquer outro software requerido. O modo maissofisticado de carregar a máquina é através da rede. Nem todos os firmware deBIOS ou placas de rede suportam esse novo recurso. O Pré ExecutionEnvironment (PXE) é parte do padrão da indústria Wired for Management(WIM) e habilita a maior parte das máquinas compradas desde 1998 a seremcarregadas pela rede local.

O instalador deve acessar os meios de instalação apropriados contendo softwaredo mais alto nível para ser executado depois que a máquina tiver sido carregada.Caracteristicamente isso terá que ser armazenado em um CD-ROM local ou umservidor de arquivo de rede. Um único disco compacto pode ser usado paraarmazenar um instantâneo fotográfico de software, e a capacidade de um CD-ROM deve ser suficiente para uma estação de trabalho de Administração básica,usando compressão de arquivo regular. Esse instantâneo estático pode serapropriado se for pouco provável que o software mude, ou se só for necessáriauma base de instalação estável para a adição de software adicional. Geralmente,uma instalação de rede é mais flexível, pode ser mais rápida, oferece maiorcapacidade, e escala melhor as instalações paralelas e múltiplas, do quecompartilha discos de instalação entre clientes.

O instalador de sistema transfere o software da mídia selecionada para o discorígido local da máquina alvo, e prepara-a para o booting. Isso vai envolver

Página 30Versão 0.2

Page 31: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

conhecimento do hardware, checagem da capacidade do disco e configuração dedetalhes de rede.

Alguns dos possíveis métodos de instalação são discutidos abaixo:

1. Instalação Manual

A instalação mais básica se dá através de um administrador de sistema. Osoftware vem em discos compactos, inclusive em um disco de instalaçãobootable. Algumas indicações automáticas podem guiar o administrador, mas emúltima instância, toda a customização é manual. Já que a seleção do pacote, adivisão do disco rígido, a configuração do hardware e os detalhes da rede devemtodos ser inseridos manualmente, este processo é demorado e tende ao errohumano. A maior parte dos Distribuições têm seu próprio programa deinstalação, por exemplo o Anaconda da Red Hat e o YAST2 da SuSE.

2. Clonagem de Imagem

Se clones quase idênticos são adequados, um golden client pode ser manualmenteinstalado e depois replicado. Live distributions como Knoppix (que carrega umambiente GNU/Linux completo de um único CD-ROM - Vejahttp://www.knopper.net/knoppix/ ) e outros discos de resgate, podem ser usadospara copiar as imagens do sistema de arquivos do golden client para outrasmáquinas. Configuração e customização podem ser adicionadas por scriptsexecutados antes ou depois da instalação. Uma vez que sistemas de arquivosmaciços podem ser copiados para o disco em vez dos arquivos neles contidos, istopode oferecer um tempo mais rápido de instalação. No entanto, configurar clonesnão idênticos é menos eficiente e requer habilidades de especialista.

3. Instalação Totalmente Automática

A FAI (http://www.informatik.uni-koeln.de/fai/) instala a distribuição Debianautomaticamente. Os pacotes de software são acessados de um site Debian, quepode ser espelhado localmente para obter velocidade ou customização. O kernel deinstalação disponibilizado pode ser carregado a partir da rede ou de disquete, porémo carregamento por CD-ROM ainda está sendo aperfeiçoado atualmente. Embora oFAI tenha sido desenhado para replicação idêntica de máquinas clustered, osoftware cfengine descrito acima é usado para configuração de sistema e permiteextrema flexibilidade, se necessário.

4. System Imager

O System Imager (http://www.systemimager.org/) faz instalação de sistema,configuração e manutenção para grandes redes de máquinas, de preferência comhardware similar, através de várias distribuições. Ele pode carregar a partir dodisquete, do CD-Rom ou de servidores de rede PXE. Ambas as instalações, tantoDebian quanto Red Hat foram testadas, porém o software System Configuratorusado ajuda a dar suporte a todos os GNU/Linux distribuições.

Um golden client é instalável e configurável manualmente. Então seus sistemas dearquivos são espelhados para um servidor de imagem, de onde as máquinas alvo sãoinstaladas. Se o golden client estiver atualizado, essas mudanças serão propagadaspara clientes replicantes usando rsync. Embora rsync envie minimamente asdiferenças de arquivos pela rede, ele pode requerer memória significativa para faze-lo. Como as modificações são relativas ao golden client, o System Imager é maisapropriado para clientes alvo com hardware idêntico ou muito parecidos.

5. Kickstart da Red Hat

Página 31Versão 0.2

Page 32: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Kickstart (http://www.tldp.org/HOWTO/KickStart-HOWTO.html) é o softwarede instalação automatizada da Red Hat. Ele instala distribuições da Red Hat de CD-ROM, disco rígido ou rede, e carrega a partir de rede, CD ou disquete. O instaladorAnaconda oferece texto ou interfaces gráficas e pode ser interativo ou totalmenteautomatizado por um arquivo de configuração. O software de detecção dehardware Kuzu fornece para larga gama de dispositivos automaticamente. Opçõesde instalação generalizadas podem ser montadas no arquivo de configuração eextensões adicionadas com scripts de instalação pré e pós.

Com o seu software inteligente de configuração e detecção, o kickstart pode serutilizado para automatizar instalações similares entre uma variedade de alvos dehardware. A seleção de pacotes do Red Hat distribuição padrão é direta, porém asatualizações ou extensões também podem ser incluídas pela customização doprocesso kickstart.

12.4.3.2. Manutenção do Software

Instalações de software não permanecem estáticas durante seu tempo de vida. Serãolançadas atualizações de software como o de segurança ou de conserto deproblemas, após a instalação inicial. Além disso, será requisitada a remoção ouadição do pacote para gerenciar o software sem a reinstalação de um sistemainteiro.

Onde for possível, devem ser realizadas atualizações utilizando técnicas de pull emvez de push. A decisão de pull atualizações deve ser tomada por uma máquina, sejaservidor ou estações de trabalho, depois de ter verificado a si mesma emcomparação a um servidor principal. As atualizações não devem estar sob ocontrole dos usuários. Desta forma, as máquinas podem ser mantidas no mesmonível de revisão.

1. Manutenção do Software Manual

Os administradores do sistema podem manter o software atualizado manualmente.Isso pode envolver acessar o cliente alvo de forma remota, copiar pacotes deatualização e instalá-los com o gerenciador de pacote original da distribuição. Noentanto, embora isso ofereça um rígido controle ao administrador, tende a erros edificulta a sincronização de grandes coletas de máquinas. Algumas distribuiçõesoferecem ferramentas de atualização para manter seus pacotes padrão, mas aindarequerem intervenção manual e podem não disponibilizar extensões à distribuiçãobásica.

2. Ximian Red Carpet

O Red Carpet (http://www.ximian.com/products/redcarpet/) é um jogo deatualização de software disponibilizado gratuitamente pela Ximian. Começou comoum gerenciador de pacote gráfico para o software de estações de trabalho daXimian, porém oferece agora acesso seguro à linha de comando remota e maiscanais de software inclusive atualizações de distribuição. Mandrake, SuSE e RedHat possuem suporte atualmente. Ele oferece administração remota fácil eautomação e por isso um número bem grande de clientes pode ser mantido de formacentral. No entanto, ainda permanecem alguns remanescentes do seu desenhooriginal. Não permite kernel ou atualizações com otimização de arquitetura. Podeser configurado para atualizar software a partir de canais customizados. O RedCarpet Enterprise, um produto servidor proprietário, pode ser utilizado para facilitara gestão de grandes coletas de software.

Página 32Versão 0.2

Page 33: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

A interface gráfica não deve ser usada, pois permite aos usuários controlar asatualizações. A interface com a linha de comando deve ser incorporada aos scripts,que atualizam as máquinas automaticamente.

3. Red Hat Enterprise Network

A Red Hat oferece uma gama de serviços de atualização de software como parte deseu Enterprise Network(http://www.redhat.com/ software /rhen/ software _delivery ). O mais poderoso éseu Satellite Server, que permite customização completa de atualizações e errata.Todos os servidores dão suporte ao seus clientes padrão Update Agent paradistribuição. Os comentários contra a permissão de uso da interface gráfica podemser aplicados aqui da mesma forma que os do Red Carpet acima.

4. Debian APT

O APT é um jogo de ferramentas padrão fornecido com a distribuição DebianGNU/Linux, que permite atualizações automatizadas ao software instalado em umamáquina. Ele pode checar dependências entre pacotes de software instalados namáquina e disponíveis dos softwares depositários, os quais ele foi configurado parachecar, e para recuperar e instalar atualizações relevantes disponíveis de umdepositário. As organizações podem montar e manter seus próprios depositários dosoftware a ser instalado em seus clientes (O Debian inclui ferramentas para montare manter tais depositários), podem usar depositários disponibilizados pelo Debian eoutros, ou usar qualquer combinação dessas fontes de software atualizado. O APTfoi transportado para trabalhar em sistemas operacionais baseados em rpm, taiscomo Red Hat Linux e Mandrake, onde provê funcionalidade similar, e de algumasformas aperfeiçoadas por comparação ao Red Carpet.

12.4.4. Gestão de hardware e monitoramento de sistema

O hardware pode ser monitorado com relação a falhas e falhas potenciais, porexemplo, utilizando o SMART – discos rígidos habilitados e hardware de checagemde saúde do sistema. Sistemas de hardware e software também deveriam sermonitorados com relação às falências, falências potenciais, ausência de serviço e faltade capacidade.

12.4.4.1. MRTG e Snmpd

O MRTG (Multi-RouterTraffic Grapher,h ttp://people.ee.ethz.ch/~oetiker/ web tools/mrtg/ ) é uma ferramenta demonitoramento desenhada originalmente para rastrear e representar em gráfico o usoda capacidade dos links de rede. No entanto, desenvolveu-se como uma ferramentacapaz de rastrear virtualmente qualquer mudança de quantidade, e pode ser usada paramonitorar variáveis como processador, memória e uso do espaço do disco, uso dosserviços da rede incluindo estatísticas sobre volumes de correspondência processada,páginas da web servidas, etc, temperatura do sistema e velocidades da ventilação, eoutras variáveis.

O Snmpd (Simple Network Management Protocol Daemon, http://net-snmp.sourceforge.net/) é um servidor de gestão de sistema que pode operar emqualquer estação de trabalho de uma organização. Disponibiliza informação degestão de sistema para clientes: tipicamente para um cliente SNMP central , queagrega estatísticas a partir de algumas máquinas. O MRTG pode atuar como talcliente e desempenhar essa função, fornecendo um visão geral gráfica de um grandenúmero de máquinas de clientes.

12.4.4.2. Nagios

Página 33Versão 0.2

Page 34: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Nagios (anteriormente conhecido como NetSaint http://www.nagios.org/ ) é umhospedeiro customizável, provê serviço e monitoramento de rede e sistema de gestão.É capaz de monitorar serviços de rede e desempenhar vários procedimentos derecuperação, caso descubra que um serviço não está disponível ou está apresentandoproblemas, inclusive invocando scripts de recuperação automática e alertando osadministradores do sistema para o problema. O Nagios também pode fornecerrelatórios e visões gerais do status corrente e passado dos serviços que monitora.

12.4.4.3. smartd

O conjunto de ferramentas SmartMon Tools(http://smartmontools.sourceforge.net/ ) inclui um daemon chamado smartd, que édesenhado para monitorar o SMART (Self-Monitoring, Analysis and ReportingTechnology), função dos modernos drives de disco rígido. Como esses dispositivossão um dos componentes que mais falham em um computador moderno, o SMARTpretende monitorar parâmetros de drive e notificar um administrador de sistema sobrefalhas potenciais antes que elas aconteçam. O smartd é desenhado para receber essasnotificações e agir, através do alerta ao administrador do sistema.

12.4.5. Gestão de Impressora

12.4.5.1. LPRng

LPRng (http://www.lprng.com/ ) é uma implementação desenvolvida do antigosistema BSD padrão lpr/lpd. Contem alguns aprimoramentos que o fazem muito maisrobusto e fácil de manusear do que os produtos originais. O autor é particularmenteentusiasmado ao garantir que o LPRng é seguro. Até pouco tempo atrás, essa eraprovavelmente a escolha para gestão de impressora, porém recentemente o CUPSprogrediu e a escolha agora é menos evidente.

12.4.5.2. Sistema de Impressão Unix Common

O Common Unix Printing System or CUPS (http://www.cups.org/ ) é desenhadopara ser um sistema de impressão Unix “pronto para a empresa”. É baseado no padrãoInternet Printing Protocol ou IPP e incorpora uma função browsing, quedisponibiliza detalhes dos nomes e características de impressoras, para seremdistribuídos automaticamente pela rede. O CUPS também incorpora uma interfaceusuário baseada na web para administrar e configurar as impressoras. Os drivers sãodisponíveis para as impressoras mais comuns.

12.4.5.3. Kprint e GnomePrint

Tanto KDE quanto Gnome incorporam seus próprios subsistemas de impressão, quepodem ter interface com aplicativos do usuário com a maior parte dos sistemascilíndricos de impressão utilizados, incluindo LPRng e CUPS.

12.5. Backup e Recuperação

Supõe-se que todos os dados do usuário e da Administração estejam em um ou maisservidores. É necessário ser capaz de descartar arquivos de forma incremental, encontraritens descartados com arquivos específicos e restaurar arquivos individuais ou sistemasinteiros de arquivo. Fazer o backup dos dados do usuário tende a ser mais fácil em Unixe sistemas de software de fonte aberta do que em Windows, porque os arquivos dedados do usuário, incluindo seus dados de configuração, estão normalmente contidosem um único diretório. Esta é uma outra área onde um produto proprietário como

Página 34Versão 0.2

Page 35: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Legato pode ser necessário para obter os recursos e a qualidade de controle requeridosem um grande site.

12.5.1. Descarte e Recuperação

Esses dois programas são disponibilizados como parte da maioria das distribuições esão utilizados algumas vezes junto com tar e cpio em scripts customizados parabackup e recuperação de máquinas individuais.

12.5.2. Amanda

Amanda (Veja http://www.amanda.org/ ) é um produto cliente-servidor desenhadopara backup de múltiplas máquinas em um dispositivo individual. Também é capaz defazer backup da máquina Windows através do Samba.

12.6. Outros serviços

12.6.1. Servidores de Tempo

É essencial, em um ambiente altamente interligado por rede, que todas as máquinas,tanto servidores como estações de trabalho, tenham a mesma noção do tempocorrente. Um ou mais servidores são designados como servidores mestres e elesobtém seu tempo de um relógio anexo ou de servidores de tempo externos na Internet.Todas as outras máquinas são escravas, sincronizadas a esses mestres.

A sincronização do tempo pode ser feita executando o ntp (http://www.ntp.org/) nasmáquinas. Ele pode manter, facilmente, uma rede de máquinas no intervalo de umsegundo de uma para outra.

O Chrony (http://go.to/chrony/) é uma alternativa ao ntp. Possuii alguns recursos queo fazem mais apropriado para cruzamentos NTP altamente estratificados do que o ntp,enquanto o ntp é melhor para cruzamentos de estratificação baixa, que podem ter quefazer interface diretamente com coisas tais como receptores GPS e relógios atômicos.Há também produtos de software de fonte aberta para Windows, que são úteis em umambiente misto, como Automachron e nettime. O site http://go.to/chrony/ fornecedetalhes de ambos.

12.6.2. Servidores de Infraestrutura de Rede

Estes são os serviços necessários para operar uma rede baseada em um TCP/IP.

12.6.2.1. Roteamento

Roteadores possibilitam a divisão de uma grande rede em redes menoresinterconectadas. Os roteadores tem a função de direcionar os pacotes de uma sub-rede para outra, para habilitá-las a chegarem a um destino eventual. A construção deroteadores requer um bom entendimento dos protocolos básicos e muitasAdministrações provavelmente desejariam comprar roteadores proprietários.

Para os que desejam construir seu próprio roteador, existem dois produtos: Bird(http://bird.network.cz/ ) e GNU Zebra (http://www.zebra.org/ ).

12.6.2.2. DNS

Página 35Versão 0.2

Page 36: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Uma rede TCP/IP necessita de alguns meios para traduzir endereços IP paranomes significativos do domínio humano e vice-versa. O DNS é um protocolojunto com alguns servidores de intercomunicação, cada um com dados. O DNS ébásico para o funcionamento da Internet. Há alguns programas para construção deservidores DNS, inclusive o BIND (http://www.isc.org/products/BIND/ ), oMyDNS (http://mydns.bboy.net/ ), e o MaraDNS (http://www.maradns.org/ ).O BIND é o mais utilizado.

12.6.2.3. DHCP

O DHCP é um protocolo descrito em http://www.dhcp.org/, que permite àsmáquinas obterem seus detalhes de rede na hora em que o computadorcomeça a executar um programa ao ser ligado, a partir de um servidorcentral ou de servidores. O DHCP permite o uso eficiente dos escassosendereços IP e re-aloca os endereços onde for possível faze-lo.Também permite a administração central de muitos endereços globaistais como gateways e nomes de servidores. O principal produto vemde http://www.isc.org/products/DHCP/ e consiste de um aplicativocliente-servidor. O cliente deve operar em todas as máquinas declientes participantes. Os dois produtos vem com a maioria dasdistribuições padrão.

12.6.3. Servidores de Arquivos

Servidores de arquivos de rede permitem às máquinas anexas à rede acessar oarmazenamento de arquivos em uma máquina remota, como se a mesma fosse local.

12.6.3.1. NFS

Esse é o padrão de fato e está em uso há muitos anos. O subconjuntoimplementado comumente não oferece grande segurança, embora seja definidauma variante de segurança e implementada em algumas variantes comerciaisUnix.

O NFS consiste de um servidor que exporta arquivos a partir da máquina que estáoperando, para clientes operando em outras máquinas de rede anexas. Hácontroles a partir dos quais outras máquinas podem anexar-se a esses arquivos,porém uma vez que alguém se anexe, o seu tráfico da rede estará desimpedido.Há uma autenticação mínima dos usuários anexos na versão Linux.

Outro problema com qualquer sistema de arquivo de rede é que uma falha na redebloqueia o acesso ao arquivo. Para superar esse problema, é necessário umsistema de arquivo distribuído (veja abaixo).

O NFS é parte padrão de muitas distribuições.

12.6.3.2. Samba

O Samba é um produto que implementa o protocolo SMB da Microsoft. Veja 14.5.1para uma descrição mais detalhada. É crucial para a integração do software de fonteaberta e dos sistemas com base no Windows e vem com a maior parte dasdistribuições padrão. Seu uso está descrito com algum detalhamento no capítulo 14.

Página 36Versão 0.2

Page 37: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

12.6.3.3. Netatalk

Para os que possuem máquinas Apple Macintosh, o netatalk oferece aimplementação do protocolo Apple Talk (Veja http://netatalk.sourceforge.net/ ).

12.6.3.4. OpenAFS, CODA e Intermezzo

Esses produtos implementam um sistema de arquivo distribuído em vários graus.Com tal sistema, o acesso aos arquivos pode continuar quando a rede falha, porqueo caching local possibilita a aparência de estar conectado. Esse não é um problematrivial e os produtos oferecem soluções de diversas formas. Esse tipo de sistema dearquivo é realmente necessário em laptops ou máquinas anexas a uma conexãotransitória. A outra forma de prover a mesma funcionalidade, é possuindoarmazenamento local sincronizado com um servidor central, periodicamente. Vejahttp://www.openafs.org/ , http://www.coda.cs.cmu.edu/ e http://www.inter-mezzo.org/ para detalhes de cada produto.

O site http://www.inter-mezzo.org/docs/bottlenecks.pdf contem umadiscussão detalhada das características de todos acima.

12.6.4. Serviços de Diretório

Provisão de consulta rápida de nomes e endereços e dados associados.

O padrão mais popular de serviços de diretório é o LDAP. Esse é um protocolo abertoimplementado em muitos produtos, por exemplo, Evolution e OpenOffice.org. O LDAPtrabalha com definições de dados chamados esquemas e é possível às Administraçõesdesenvolver seus próprios esquemas customizados. Infelizmente os esquemas usadospelos aplicativos não são sempre compatíveis uns com os outros, o que significa, porexemplo, que é difícil para o OpenOffice.org ler os dados do Evolution e vice-versa.

O aplicativo software de fonte aberta OpenLDAP adapta-se ao padrão LDAPv3 e àversão 2.1 e mais tarde poderá ser configurado com uma gama de bancos dados (taiscomo flat file, SQL ou até definição de site).

A maior parte dos conjuntos de groupware fornecem alguma forma de serviço dediretório, porém poucos serão compatíveis de fato com o LDAP. Curto no uso de técnicasde recortar-e-colar, é difícil utilizar os bancos de dados de contato que fornece em agentesde correio externos. A maior parte deles oferece agentes de correio próprios, que, noentanto, não são muito receptivos em relação ao nível de integração disponível ao gerentede contato construído internamente.

O OpenOffice.org, o Evolution e o Mozilla oferecem funções integrais de livros deendereços. No entanto, os formatos de armazenamento usados não são passíveis detrocas. É necessário alguma adaptação de site para possibilitaro trabalho interativo.

12.6.5. Suporte legacy

12.6.5.1. Emulação terminal

O uso do xterm com um jogo variável de ambiente TERM apropriado, pode emular amaior parte dos tipos terminais baseados em caracteres, por exemplo VT220 eVT100. Há um emulador 3270 específico chamado x3270. Pode-se encontraremulações baseadas em páginas em produtos proprietários.

Página 37Versão 0.2

Page 38: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

12.6.5.2. Exibição remota

Há uma discussão a respeito na Seção 13.3 abaixo.

12.6.5.3. Emulação

Há uma discussão a respeito na Seção 13.4 abaixo.

Página 38Versão 0.2

Page 39: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

13. Migração de Aplicativo – Visão GeralUma vez redigida a lista de aplicativos, ela pode ser agrupada nas categorias a seguir:

13.1. Aplicativos proprietários que possuem um software de fonteaberta equivalente

Alguns aplicativos, por exemplo, o Office, o Lotus SmartSuite, o WordPerfect, oFramemaker, o Quark Express e o Photoshop, tem equivalentes que operam originalmenteno software de fonte aberta, inclusive o OpenOffice.org, o Gnumeric, o Evolution e oGIMP. Nesse caso, é preciso testar o produto software de fonte aberta para garantir queforneça a funcionalidade necessária.

13.2. Aplicativos proprietários que operam em um ambiente softwarede fonte aberta.

Alguns aplicativos, como o Acrobat Reader da Adobe, têm uma versão que funcionaoriginalmente no software de fonte aberta. Se não houver alternativa software de fonteaberta para o aplicativo, tudo que é preciso é garantir que todos os recursos necessáriossejam implementados na versão proprietária. Se houver uma alternativa sofware opensource e for aceitável uma migração parcial, há que se fazer uma escolha baseada nosrecursos oferecidos pelo proprietário e pelos aplicativos software de fonte aberta.

13.3. Software que pode ser acessado por exibição remota.

Uma outra abordagem é fazer operar os aplicativos em um servidor e transportar a tela parao estação de trabalho; essa é a abordagem thin client. Produtos como Windows TerminalServer, Citrix e Graphon permitem que os aplicativos funcionem em um servidor operandocom Windows em uma plataforma multiusuário. Isso significa que um aplicativo feito paraoperar em um estação de trabalho no modo cliente individual, poderá ter que ser alteradopara funcionar nesses produtos. Isso não será possível sem o código fonte, e vendedoresexternos podem não desejar ajudar.

O mais sofisticado desses produtos, o Citrix, tem sua própria linha de protocolo, ICA, que éextremamente boa, particularmente em conexões de banda estreita. Ele pode operarmúltiplos servidores com carga balanceada e possui outros recursos. Existem free clients doICA que operam em GNU/Linux.

Todos esses produtos contam com software proprietário de fonte fechada e o Citrix éparticularmente caro. Requer uma licença de servidor Windows, uma licença de Citrix euma licença de Servidor de Terminal Windows, caso seja usado um cliente não Windows.Adicionalmente, serão necessárias Licenças de Acesso ao Cliente para cada estação detrabalho que use o software. A licença do Citrix é baseada em usuários concorrentes,portanto essa abordagem pode reduzir custos se houver muitos usuários que necessitemacesso a um aplicativo desde que o acesso do concorrente seja baixo. Há estudos de casosdocumentados em http://www.citrix.com/press/news/profiles/, que mostram que aeconomia realizada possuuinda estação de trabalhos thin client disponíveis ésuficiente para justificar a mudança dos aplicativos para um servidor. O Citrix tambémpossui produtos que permitem o transporte dos aplicativos Unix da mesma forma usando oICA e exibidos em uma tela thin client.

O Windows Terminal Server oferece funcionalidade similar ao Citrix, exceto por usarseu próprio protocolo, RDP. O cliente GNU/Linux para RDP, Restações de trabalho ébom, porém ainda é considerado por alguns como código beta. O RDP costumava sermuito ineficiente em comparação ao ICA, porém agora a diferença é pequena, se nãoinsignificante.

Página 39Versão 0.2

Page 40: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Citrix tem vários recursos como equilíbrio de carga, o que faz dele a melhor opçãopara instalações de larga escala, onde o custo extra pode ser justificado. Tanto o Citrixquanto o Windows Terminal Server podem instroduzir latência no aplicativo, se otamanho dos servidores não estiver dimensionado corretamente e a rede não forsuficientemente rápida.

O Tarantella (http://www.tarantella.com/) fica em um servidor, entre o estação detrabalho e os servidores aplicativos. Ele agrega o produto do Citrix no Windows e emoutros aplicativos, funcionando no computador central Unix e IBM, e envia o resultadopara um navegador na estação de trabalho. Ele usa sua própria linha de protocoloproprietário, AIP, que é aparentemente razoável em bandas estreitas. No entanto, eleaumenta a latência porque fica entre o usuário e o aplicativo e, portanto, torna maislenta a conexão entre os dois.

Conforme mencionado acima, o CodeWeavers produz agora uma versão servidor de seuproduto CrossOver Office. Ele trabalha com o cliente conectado com segurança aoservidor central e tem uma sessão X exibida de volta a ele. Isto significa que acomunicação com o servidor central é codificada e comprimida, porém também requerlargura de banda suficiente para suporta-lo, já que é baseado em X. Não foram feitostestes no requisito largura de banda, porém é provável que seja maior do que para o ICA(Citrix) ou AIP (Tarantella).

O VNC é um produto software de fonte aberta desenvolvido pela AT&T, desenhadopara exibir uma sessão, funcionando em outra máquina. Consiste de um servidor e umcliente, os quais são disponibilizados para Windows, Unix e GNU/Linux. O VNCpermite que os aplicativos funcionem em um ambiente e a exibição seja feita em outro.Usa seu próprio protocolo aberto, RFB, sobre o TCP/IP, o que não é tão eficientequanto o ICA (Citrix) ou AIP (Tarantella), e portanto, necessita de uma alta banda largade rede (como 100 Mb/s) para trabalhar bem. Infelizmente o servidor Windows VNCtambém não é tão eficiente quanto a versão Unix e pode necessitar de mais poder deprocessamento do que se poderia esperar. O VNC pode ser muito útil para uso ocasionalde administrador de sistemas, permitindo que uma pessoa central controle um estaçãode trabalho . Nessas circunstâncias, poderia ser aceita uma alta latência.

13.4. Software que funcionará sob um emulador

Se nenhum caso acima oferecer um meio de fazer operar o aplicativo ou um substituto,então pode ser possível fazê-lo operar na forma original, porém com seu ambienteoperacional normal emulado em cima de um sistema operacional software de fonteaberta. Uma boa discussão dos assuntos relativos a esta abordagem pode ser encontradaemhttp://www.linuxmednews.com/linuxmednews/967526746/index_html . Todas essastécnicas tem implicações de licença porque podem envolver a operação de múltiplascópias do aplicativo proprietário e/ou do sistema operacional.

É provável que a maior parte desta seção seja aplicável ao Windows, porém como astécnicas podem aplicar-se a outros Cenários, são discutidas aqui, ao invés do Capítulo 14.

Há dois tipos de emulação:

13.4.1. Emulação de hardware

Produtos como Vmware e Win4lin fazem emulação de hardware. Eles possibiltamque um sistema operacional de PC normal funcione como um aplicativo nível usuárioimitando o hardware Intel PC em interfaces de software e provendo, portanto, uma

Página 40Versão 0.2

Page 41: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

máquina virtual. Isso permite que um sistema operacional legacy e seus aplicativosoperem em cima de uma plataforma software de fonte aberta.

O VMware não é rigorosamente um emulador. Ele permite que a maior parte dasinstruções passem através do processador, o que significa que somente funcionará emuma máquina de arquitetura x86. É a opção mais completa porém é proprietário epode consumir muitos recursos da máquina.

O Win4lin é similar ao Vmware, e também é um produto proprietário, mas é menoscaro. Pode ser uma boa solução em casos simples, por exemplo, para operaraplicativos office somente. É um componente do produto Lindows, que está sendovendido em hardware de baixo custo para usuários domésticos. (Pelo fato deaparentemente não usar contas de usuários não privilegiados para manter a segurança,o Lindows não deve ser recomendado para Administrações, sem uma consideraçãocuidadosa das implicações de segurança).

Pelo fato de que a abordagem de emulação de hardware requer licenças completaspara o sistema operacional e o aplicativo proprietários, junto com o custo doemulador, deveria ser visto como uma forma de operar um número pequeno deaplicativos legacy, que são difíceis de migrar.

Há produtos de servidores Vmware e Win4lin que podem reduzir custos de licença seo software proprietário permitir uma licença de usuário concorrente, ao invés delicença de usuário potencial.

Há aplicativos software de fonte aberta que emulam completamente um ambienteIntel IA-32, por exemplo, o Bochs, mas provavelmente ainda não estão prontos paraserem usados pela Administração.

13.4.2. Emulação de software

A emulação de software permite que programas escritos para um ambienteproprietário trabalhem diretamente no sistema operacional software de fonte aberta.Quaisquer chamadas ao sistema feitas por eles são mapeadas na interface do sistemado software de fonte aberta equivalente. Isso significa que não é mais necessária umacópia do sistema operacional proprietário.

O Wine permite que aplicativos escritos para Windows funcionem em GNU/Linuxatravés da emulação de software. O Wine é descrito em detalhes no Apêndice B. Oprincipal problema que o Wine precisa resolver é o grande número de chamadas aosistema (inclusive bugs) que precisa suportar.

O código Wine software de fonte aberta está disponível emhttp://www.winehq.org/ ou em CodeWeavers emhttp://www.codeweavers.com/technology/wine/download.php .

A CodeWeavers produz dois produtos proprietários, o CrossOver Office e oCrosOver Plugin, que são baseados no Wine e desenhados para dar suporte aaplicativos Windows específicos. Embora os produtos sejam proprietários,periodicamente são enviadas modificações de código de volta à versão softwarede fonte aberta do Wine.

O CrossOver Office é desenhado para permitir que aplicativos como Office eLotus Notes funcionem originalmente em GNU/Linux. Há alguns assuntos queainda estão por resolver, mas o produto está em ativo desenvolvimento. Noentanto, esta abordagem pode ser apropriada para alguns usuários dependendo desuas necessidades. O CrossOver Office está disponível agora como produto

Página 41Versão 0.2

Page 42: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

servidor, o que significa que não precisa ser totalmente instalado na estação detrabalho e que pode prover funcionalidade similar ao Citrix.

O CrossOver Plugin é desenhado para permitir que navegador plugins quenormalmente só trabalham em Windows, funcionem em Netscape, Mozilla eGaleon em GNU/Linux. Este produto está disponível há mais tempo que oCrossOver Office e trabalha muito bem.

Usando essas técnicas, remove-se o custo da licença do sistema operacional doWindows, mas não da licença do aplicativo. A licença do aplicativo precisa serexaminada minuciosamente para se ter certeza de que não proíbe o funcionamentodo aplicativo sem o Windows. Essa restrição é usada em alguns aplicativos daMicrosoft como uma tática para trancar, embora a imposição legal sejaquestionável.

13.5. Software que pode ser recompilado em software de fonte aberta

Para aplicativos escritos em casa ou em nome da Administração, e para os quais haja códigofonte disponível, o software pode ser transferido para funcionar em uma plataformasoftware de fonte aberta. Em geral, o problema de transferir código fonte em qualquerlinguagem não é a compilação, mas o uso pelo código de bibliotecas do sistema, incluindo oambiente gráfico e o sistema operacional. Isso pode significar muita intervenção manualpara migrar o código. Adicionalmente, quaisquer suposições sobre o ambiente base, talcomo nomeação do arquivo, fará necessária a mudança do código fonte ou a replicação doambiente, independentemente da linguagem usada.

1. Java. Se o software Java foi escrito de acordo com a especificação Java, o programadeve funcionar sem quaisquer problemas. No entanto, caso quaisquer extensõesproprietárias tenham sido utilizadas, o código terá que ser mudado e deverão serusados módulos padrões.

2. Visual Basic . Um produto proprietário chamado DeLux(h ttp://www.delux software .com/ ) pode ser usado para converter o código VisualBasic para Kylix (veja item 4 abaixo) e pode trabalhar em GNU/Linux originalmente.A netproject não testou o produto. As ferramentas de desenvolvimento da Microsoftpodem converter o código Visual Basic para .NET e produzir código CIL. O projetosoftware de fonte aberta Mono permite que esse código funcione em GNU/Linux. OMono está sendo desenvolvido muito rapidamente no momento e qualquer aplicativopoderá ou não funcionar, dependendo da forma como vai interagir com as bibliotecas,como o exibidor de tela.

3. C#. Está recebendo suporte crescente GNU/Linux, e a Ximian produziu umcompilador como parte do projeto Mono, acrescentando as ligações C# acomponentes cruciais da estação de trabalho Gnome. O projeto Mono inclui umintérprete que permite que o código CIL produzido por ferramentas dedesenvolvimento proprietárias trabalhem em GNU/Linux sem alterações. O projetoMono e o uso da estrutura de desenvolvimento .NET é uma área muito viva dosoftware de fonte aberta atualmente e a posição muda rapidamente.

4. Pascal and Delphi . O Pascal, como linguagem livre, é menos usado atualmente,porém é o componente de codificação essencial da ferramenta de desenvolvimentorápido Borland Delphi. Borland tem um equivalente nativo GNU/Linux da Delphichamado Kylix. O Kylix 2 e o Delphi 6 são feitos para usarem sintaxe de códigocompatível e possuírem ambientes de suporte idênticos.

5. C e C++. Programas escritos para padrões ANSI devem ser recompilados e funcionarenquanto as bibliotecas do sistema base usadas forem compatíveis. Por exemplo,sistemas escritos especialmente para Windows, em geral, não irão recompilar e

Página 42Versão 0.2

Page 43: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

funcionar corretamente em GNU/Linux, por conta de jogos de chamadas muitodiferentes do sistema operacional e das bibliotecas runtime, como o sistema dejanelas. Pode-se resolver essa falta de combinação, freqüentemente, com a compilaçãodo código com Winelib, parte do projeto Wine.

Página 43Versão 0.2

Page 44: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

14. Cenário 1 - Windows

A Administração tem um ou mais domínios interconectados de Grupos de TrabalhoWindows, Windows NT PDC/BDC ou Diretório Ativo Windows 2000. Todos os usuáriospossuem estações de trabalho Windows. Todos os aplicativos centrais funcionam emservidores Windows.

Ao longo deste capítulo, a palavra Windows significará uma versão do Microsoft Windows.Onde a versão precisa for importante, será expressa. Os exemplos de códigos são baseados emum sistema Red Hat Linux; outras distribuições podem conter diferenças sutis.

O conteúdo deste cenário deve ser lido em conjunção com os comentários gerais feitos nosCapítulos anteriores.

14.1. Planejando a migração

Recapitulando o que foi dito no Capítulo 5, o planejamento para a fase de transição é muitoimportante, o sucesso de um projeto software de fonte aberta será julgado mais pelasuavidade da transição do que pela qualidade final do serviço. É provável que qualquertransição prática de um sistema para outro dure um período de meses ou mesmo anos.Durante esse tempo, dados precisam ser movidos, pessoas treinadas, software instalado, e onegócio da Administração precisa continuar sem interrupções.

Será necessário um planejamento cuidadoso, e grandes administrações devem passar poruma fase piloto para testar o plano antes de coloca-lo em funcionamento em larga escala.

14.2. Domínios

Este Cenário pode ser dividido na seguinte forma:

14.2.1. Modelo de “grupo de trabalho” do Windows

Um grupo de computadores Windows co-operando de forma solta na rede, declarando-separte do mesmo “grupo de trabalho”. Não há aspectos de segurança para grupos detrabalho - eles servem somente à máquinas de grupo, convenientemente em listas denavegadors.

Usuários que desejarem compartilhar arquivos com outros, podem fazer as “partilhas“disponíveis – partes da hierarquia de seu diretório – para acesso generalizado ou comrequisição de senha.

Não há coordenação de usernames e senhas neste modelo. Na verdade, em algumasversões do Windows, não há o conceito de propriedade do arquivo.

A migração de um esquema de grupo de trabalho para outro envolve a coleta de arquivosimportantes à mão, uma máquina de cada vez.

14.2.2. Domínio Windows NT

Neste modelo, um ou mais computadores atuam com controladores do domínio paracoordenar usernames e senhas. Uma dessas máquinas servidoras é designada PrimaryDomain Controller ou PDC (Controladora de Domínio Primário), e todas as mudanças são

Página 44Versão 0.2

Page 45: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

conduzidas por essa máquina. Também pode haver um ou mais Backup DomainControllers ou BDCs (Controladores de Domínio Backup), para prover redundância ecompartilhamento de carga.

Os domínios Windows NT usualmente incluem um ou mais servidores de arquivos (quepodem ser as mesmas máquinas que estão operando funções PDC ou BDC). Os servidoresde arquivo provêem armazenamento para perfis itinerantes (estações de trabalho deusuários, documentos e ambientes) e pode prover também espaço para diretório pessoal,armazenamento de arquivos compartilhados e serviços de rebobinamento de impressão

Em um domínio bem administrado, os usuários normalmente recebem instruções paramanter todos os seus arquivos em seus estações de trabalho ou diretório pessoal, de formaque nenhuma informação importante seja guardada em PCs individuais. A migração dedados a partir de ambientes bem administrados para novos sistemas, é relativamentesimples, já que os administradores do sistema sabem onde encontrar todos os arquivosimportantes.

14.2.3. Domínio do Diretório Ativo Windows 2000

O modelo do domínio Windows NT torna-se muito difícil de ser administrado efetivamentepara grandes números de usuários, por isso o Windows 2000 introduziu um modelo dedomínio hierárquico. É chamado de Active Directory ou AD (Diretório Ativo) e usa idéiasdo Internet Domain Name System ou DNS e do Lightweight Directory Access Protocol ouLDAP.

Da mesma forma que no Domínio Windows NT, o AD normalmente provê servidores dearquivos para guardarem perfis itinerantes e diretórios domésticos, de forma que seja fácilencontrar arquivos importantes ao planejar o processo de migração.

Pelo fato de AD permitir acesso a LDAP, há mais opções de migração disponíveis para umsite que usa AD. Por exemplo, deveria ser possível usar servidores AD para guardar dadosde nomes e senhas para software de fonte aberta e clientes; isso pode ser conveniente ondeuma pequena parte de toda a base do usuário for mudar para software de fonte aberta, jáque o processo de gerenciamento do usuário pode permanecer quase sem alterações.

14.3. Visão geral de possíveis rotas de migração

As duas principais rotas consideradas aqui são:

1. Agregue máquinas software de fonte aberta a domínios Windows existentes e mova osdados e usuários gradualmente para o outro lado, e em seguida remova os servidoresproprietários antigos. É possível migrar clientes e servidores independentemente. Agregar servidores ao domínio Windows é um dos meios mais rápidos de beneficiar-se dosoftware de fonte aberta. Por exemplo, a combinação do Sistema Operacional GNU/Linuxcom Samba dá um servidor arquivo/impressão poderoso e de baixo custo, que pode ser usadono lugar de um sistema Windows sem quaisquer mudanças no ambiente cliente existente.

Fazer operar clientes software de fonte aberta em um domínio Windows é uma forma decoexistência de baixo risco, já que não são necessárias mudanças nos servidores. Pode-sefaze-lo onde um pequeno número de pessoas usa estações de trabalho software de fonteaberta em um ambiente, ao contrário, somente Windows

2. Construir uma infraestrutura baseada em software de fonte aberta paralela e migrarusuários e seus dados em grupos, com mínima interação entre os antigos e novos sistemas.Isso é mais simples do que operar um sistema misto Windows/software de fonte aberta, mas a

Página 45Versão 0.2

Page 46: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

cooperação entre as pessoas que usam Windows e as que usam sistemas software de fonteaberta fica mais difícil.

Ambas as rotas estão resumidas em diagramas abaixo. A primeira rota promove umaintegração mais estreita entre os sistemas antigo e novo durante a transição, mas requer umesforço significativamente maior de planejamento e implementação.

Uma dificuldade na escolha da rota será a forma em que Administração está organizada ecomo isso influi na estrutura lógica e física da instalação do computador.

Página 46Versão 0.2

Page 47: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Os primeiros estágios da maioria das rotas de migração incluem uma fase de coexistência,onde ambos, Windows e sistemas software de fonte aberta estão em uso, freqüentementeacessando os mesmos dados. Estes podem ser modelos particularmente úteis onde estáplanejada uma migração parcial, com alguns grupos mudando para software de fonte aberta eoutros permanecendo no sistema antigo.

Os detalhes técnicos da operacionalização destas mudanças estão na Seção 14.6 à frente. Porém, discutimos primeiramente o background técnico e as ferramentas necessárias.

14.4. Questões Gerais

Há muitas similaridades entre os sistemas proprietários atuais e os sistemas de Fonte Aberta quepodem ser escolhidos para substituí-los. Particularmente, as interfaces gráficas de usuário vemtendendo a convergir para um padrão razoavelmente “cara e jeito”, que reduz problemas para osusuários finais que estão mudando de um sistema para outro. Ainda será necessário treinamentodo usuário final, para ajudar as pessoas a lidar com o que é diferente e tirar o melhor proveito donovo sistema.

Atrás da aparência similar dos GUIs, há algumas diferenças importantes entre o Windows e ossistemas software de fonte aberta. Elas são particularmente aparentes no nível daadministração do sistema. Aqui é onde será necessária a maior parte de treinamento eplanejamento. Os sistemas software de fonte aberta, como GNU/Linux, possuem GUIs degerenciamento, mas grandes instalações são gerenciadas mais comumente através dasferramentas da linha de comando, já que lhes fornecem scripting, automação de processo,gerenciamento remoto e controle avançado. A habilidade de automatizar tarefas é o que faz doUnix e do sistema software de fonte aberta administradores tão produtivos.

Além das diferenças em processos de gestão, também há algumas importantes diferenças noserviço prestado. Isto deve ser planejado, bem como deve-se lidar com isso durante atransição.

14.4.1. Usernames e senhas

Página 47Versão 0.2

Page 48: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Usuários de computadores identificam-se usando usernames e senhas. Em algumasAdministrações, também podem usar cartões inteligentes ou outros dispositivoscriptográficos para obter uma prova maior de identificação.

14.4.1.1. Questões de usernames

Algumas administrações podem ter usernames “estruturados”, que codificam informaçãosobre o usuário. Por exemplo, o username cfg27 pode pertencer à 27a pessoa a serregistrada no Corporate Finance Group. Outras permitem às pessoas escolherem seupróprio username, ou simplesmente usarem seu nome real. Esquemas estruturados deusernames podem ser normalmente usados em sistemas software de fonte aberta emalteração. Usernames software de fonte aberta não podem começar com um numérico, oque pode causar dificuldades com usernames estruturados, onde a estrutura inicial podebem ser numérica.

Há algumas questões que podem afetar os sistemas ad-hoc. Usernames nos sistemasWindows geralmente preservam a caixa da fonte e são indiferentes à caixa da fonte.Significa que, se alguém receber o nome “Mary”, ela pode digitar “mary”, “MARY” ouaté “mArY” na hora do login, sem problemas. Também significa que, sempre que osistema exibe um username (como o dono de um arquivo), ele vai usar a forma digitadaoriginalmente pelo administrador, quando o username foi criado – neste caso, “Mary”.

Por outro lado, usernames em Unix e software de fonte aberta são indiferentes à caixa dafonte. O usuário precisa digitar seu username exatamente no formato em que foioriginalmente registrado. Convencionalmente, usernames são feitos inteiramente emcaixa baixa e números, sem qualquer outro caracter, e com uma largura máxima de oitocaracteres.

Essas restrições foram bem amenizadas recentemente, e os sistemas modernos permitirãousernames mais longos, com um conjuntos de caracteres mais amplo.

Alguns esquemas de autenticação e autorização implementam agora usernamesindiferentes à caixa da fonte: o esquema baseado em LDAP proposto neste documento, étal que, usernames como “Mary” e “Financial Controller” são possíveis. Deve-se tomarcuidado, no entanto, porque pode haver outros pacotes em uso, que baseiam-se empressupostos das antigas regras. Particularmente, seria muito pouco inteligente deixarespaços ou outros tipos de caracteres de pontuação nos usernames.

Seria uma boa prática limitar os usernames aos caracteres permitidos nos nomes decorreio, de forma que usernames logins possam ser usados como nomes de correiotambém.

14.4.1.2. Questões de Senhas

Sistemas software de fonte aberta modernos permitem senhas de quase todos oscomprimentos, com um grande conjunto de caracteres. É uma boa prática incentivar o usode senhas longas (10 ou mais caracteres) com uma boa variedade de letras, números,pontuação, caixa baixa e caixa alta. Os utilitários para estabelecimento de senhasgeralmente recusam-se a aceitar senhas muito fracas, a não ser que forçados por umadministrador, e muitos sites podem até decidir reforçar regras mais rígidas.

Algumas variantes comerciais Unix ainda “truncam” as senhas para até oito caracteres, deforma que se for planejado um ambiente misto, isso deve ser levado em conta.

A migração de senhas de sistemas proprietários existentes, para novos sistemas softwarede fonte aberta nem sempre é possível, já que as senhas são normalmente mantidas deforma criptografada e misturada. O plano de transição poderá ter que incluir a reemissão

Página 48Versão 0.2

Page 49: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

de senhas para todos os usuários, ou possivelmente uma fase de coleta e sincronização desenhas.

14.4.2. Serviços de autenticação

Qualquer rede com um punhado de computadores necessita de um serviço de autenticaçãoe nomeação de rede. No Windows NT isso é conhecido como Domain Controller. Emsistemas Windows posteriores chama-se Diretório Ativo. O Novell NDS também élargamente instalado, e outros sistemas proprietários possuem seus próprios sistemas deautenticação e nomeação.

A maior parte dos sistemas Unix e software de fonte aberta podem interagir com quasetodos os serviços comuns de autenticação e nomeação. O GNU/Linux é particularmenteforte com respeito a isso. O serviço proposto neste documento é baseado em LDAP, mastambém é possível usar múltiplos sistemas de autenticação e nomeação ao mesmo tempo,o que pode ser útil durante a fase de transição.

14.4.3. Arquivos

Uma parte muito importante de qualquer plano de transição, concerne à migração dedados do sistema antigo para o novo. Se for planejada uma migração “big bang”, entãoserá uma operação exclusiva, porém, se no momento mais provável, for conjeturado umfuncionamento paralelo, então será necessário acesso a um arquivo de plataforma cruzada.Deve-se tomar muito cuidado para evitar perda de dados, e para evitar a confusão quepode resultar da separação de cópias modificáveis de um arquivo nos ambientes “antigo”e “novo”.

14.4.3.1. Conteúdo e formato

Este é o assunto mais óbvio de migração, e é tratado em detalhes na Seção 14.8 abaixo. Aabordagem normal é usar aplicativos software de fonte aberta que possam ler os arquivosescritos pelo aplicativo proprietário que estão substituindo, embora em alguns casos sejaapropriado planejar uma conversão massiva como parte do processo de migração.

É provável que dados especiais como macros e scripts necessitem da atenção deprogramadores experientes durante a migração.

14.4.3.2. Nomes de arquivos

Como os usernames, os nomes de arquivos Windows são insensíveis à mudança de caixade fonte e em alguma extensão preservam a caixa e a fonte. Alguns aplicativos tendem atransformar em maiúscula a primeira letra dos nomes dos arquivos, bem como fazer outrasalterações das quais o usuário pode estar ciente ou não. O ambiente Windows tambémcarrega a herança do formato de arquivo DOS 8.3 , que ainda aparece em algunsutilitários. Nomes de arquivos Windows comumente contem espaços, e normalmenteusam o conjunto de caracteres Unicode. O Windows usa .\. como separador de diretório.

Embora seja menos óbvio para usuários GUI, a totalidade dos nomes dos arquivosWindows deve incluir uma letra .diretório, indicando o dispositivo físico que contem oarquivo ou eles devem ter o nome verdadeiro do servidor, caso o arquivo esteja em um“diretório rede”. Essas restrições podem ser um problema para gerentes de grandessistemas Windows, que tentam oferecer um serviço sem emendas ao enfrentar mudançasde hardware.

Página 49Versão 0.2

Page 50: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Outros sistemas proprietários tratam nomes de arquivos de formas diferentes. O VMS, porexemplo, tem nomes de arquivos insensíveis a mudança de caixa de fonte que usualmenteincluem um ponto, e podem incluir um número de versão após um ponto e vírgula.

Nomes de arquivos em Unix e software de fonte aberta tem regras diferentes. Aqui, osarquivos são totalmente sensíveis à mudança de caixa de fonte e o sistema não fazquaisquer alterações nos nomes fornecidos pelo usuário. Os nomes usam um conjunto decaracteres 8-bit, determinado pelo uso corrente da localidade (na maior parte da Europa, oconjunto de caracteres é ISSO-8859-15). Os únicos caracteres que o GNU/Linux nãopermite em nomes de arquivos são o separador de diretório (./.) e o caractere nulo. Noentanto, na prática, não é inteligente incluir caracteres non-printing, por exemplo, osistema de arquivos Windows FAT32 não pode armazenar os 32 primeiros códigos ASCIIou qualquer um dos seguintes ", *, :, <, >, ?, \ or |. São permitidos espaços nos nomesdos arquivos, embora sua presença requeira que os usuários de linha de comando sejammais cuidadosos com aspas.

Sistemas Unix e software de fonte aberta não usam letras de diretório e não requerem queo nome real do servidor de arquivo faça parte do nome absoluto do arquivo, onde o acessoao arquivo de rede é usado. Ao invés disso, o sistema apresenta todos os arquivos comoparte de uma hierarquia sem remendos. Junto com o uso de links simbólicos no sistema dearquivo e data-driven automounters, isso dá aos administradores do sistema grandeflexibilidade na separação do nome absoluto de um arquivo de seu lugar dearmazenamento físico.

Quase todos os nomes de arquivos Windows podem ser migrados diretamente para osservidores software de fonte aberta sem alterações. É possível que se encontre na práticaa única exceção nos nomes de arquivos que contem o caractere ./. , que terá que sermodificado durante a transição. Usuários de ferramentas GUI provavelmente nuncaperceberão que os nomes dos arquivos tornaram-se sensíveis à mudança de caixa de fonte,já que só digitam tais nomes quando criam o arquivo.

14.4.3.3. Acesso dual

Muitos planos de migração provavelmente incluirão um período de funcionamentoparalelo onde algumas pessoas usam sistemas software de fonte aberta e outras aindausam sistemas paralelos. Onde os arquivos forem acessados por membros dos doisgrupos, pode-se precisar tomar algumas providências.

O compartilhamento de arquivos em sistemas Windows usa o protocolo SMB (ServerMessage Block), que é uma tecnologia muito complexa com muitos níveis decompatibilidade para trás. É usado por servidores de arquivos consagrados e também nomodo “par-a-par”, onde PCs individuais disponibilizam partes de seus sistemas na rede.Ambientes bem gerenciados da Administração irão basear-se mais provavelmente emservidores consagrados do que em compartilhamento ad-hoc. Arquivos de usuários nãocompartilhados em um ambiente Windows podem ser mantidos em vários lugaresdiferentes:

1. Em um disco local do PC estação de trabalho ou laptop do usuário, por exemplo, oreferido como diretório C.

2. No perfil roving/roaming do usuário. Isto inclui a maior parte dos conjuntos depreferência e também o conteúdo da estação de trabalho Windows e (normalmente) apasta “My Documents”. O perfil roving é mantido localmente em qualquer PC que ousuário estiver utilizando, e é sincronizado de volta para um depósito de perfis nahora do logout. Isso oferece a facilidade de backup acessível, porém pode ter sériasimplicações de desempenho, com usuários relatando logouts muito lentos.

Página 50Versão 0.2

Page 51: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

3. Em um diretório doméstico de um servidor de arquivo gerenciado de forma central.Essa é uma opção comum em grandes redes de sistemas de estações de trabalho, porser fácil de manejar backups apropriadamente. Não é sensato tentar prover acessodual a arquivos mantidos em estações de trabalho individuais ou servidores dearquivos laptops em um estágio inicial do processo de migração.

O principal mecanismo de acesso ao arquivo de rede do Unix e dos sistemas softwarede fonte aberta é o Network File System (NFS). Este é um protocolo mais simples doque o SMB, e sua especificação sempre esteve disponível.

As opções para implementação do acesso dual pertencem a duas amplas categorias:adicionar suporte de protocolo dual a servidores, ou adicionar suporte de protocolodual a clientes. Além de tudo que é igual, é normalmente mais fácil mudar servidoresdo que clientes, quase sempre mais fácil ajustar sistemas software de fonte aberta doque sistemas proprietários. As opções estão resumidas na tabela:

Página 51Versão 0.2

Page 52: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

14.5. Ferramentas

Esta seção discute alguns dos componentes-chave do software de fonte aberta, os quaisserão usados na migração de sistemas proprietários.

14.5.1. Samba

Samba é um pacote de arquivo e servidor de impressão dos sistemas software de fonteaberta. Ele implementa o protocolo SMB da Microsoft e, em muitos casos, podesubstituir completamente as funções de um servidor Windows. O Samba também podeatuar como um Windows NT Domain Controller e é capaz de armazenar dados degerência de domínio em um diretório acessado através de LDAP.

O Samba também fornece ferramentas do cliente SMB apropriadas para criptografar, eque são muito úteis para diagnosticar problemas com redes SMB e também namigração de arquivos bulk e servidores Windows.

O Samba é mantido por um grupo central de mais ou menos 30 voluntários muito ativospor todo o mundo. Mais informações podem ser encontradas emhttp://www.samba.org/.

14.5.2. LDAP Aberto

Página 52Versão 0.2

Servidores Windows Servidores de Software de FonteAberta e Unix

Clientes Windows Acesso a arquivos SMB épadrão

Servidores suportam SMB usando opacote Samba. É um software madurocom um desempenho excelente.

Clientes deSoftware de FonteAberta

Clientes GNU/Linux podemacessar cotas SMB. Isto ficabastante fácil quando asmáquinas cliente só temum usuário por vez, mastorna-se mais envolventecom máquinascompartilhadas. Variantescomerciais Unix não temnormalmente capacidadede cliente SMB. É possíveladicionar serviço NFS aservidores Windows, masisso pode se tornar muitodispendioso.

Acesso a arquivos NFS é padrão. Seassim o desejarem, os clientesGNU/Linux podem usar SMB comoparte de um plano de migração, mas émenos eficiente.

Page 53: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O OpenLDAP é uma implementação do Lightweight Directory Access Protocol(LDAP). Inclui um servidor de diretório, um conjunto de acesso a dados e ferramentasde gerenciamento, e um conjunto de bibliotecas para dar suporte ao LDAP em outrosaplicativos.

O OpenLDAP é mantido por um pequeno grupo central mais um grande número decontribuintes. Uma pessoa do grupo central trabalha no projeto todo o tempo.

14.5.3. NSS e PAM

NSS é o Name Service Switch: uma tecnologia usada pelo GNU/Linux e por algumasvariantes comerciais do Unix para permitir que diferentes serviços de nomes sejam usadosna procura de hostnames, usernames, groupnames etc. Há muitos módulos disponíveis,dos quais, os mais relevantes para o projeto são:1. Arquivos: consultas simples baseadas em arquivos de texto locais.2. DNS: consultas de hostname baseadas em Domain Name System.3. LDAP: consultas baseadas em LDAP – a maioria para usernames e groupnames, mas

também útil para muitos outros propósitos.4. SMB: consultas usando protocolo Windows SMB (Veja 14.5 abaixo).

PAM é o sistema Pluggable Authentication Module. Como o NSS, é comum aoGNU/Linux e vários derivativos comerciais do Unix. O PAM também está disponível emFreeBSD. O PAM permite grande flexibilidade na configuração do processo deautenticação e autorização. Os módulos relevantes incluem:

1. LDAP: usa operações ligadas LDAP para verificar as credenciais do usuário.2. SMB: Usa operações de domínio Windows NT para verificar credenciais do

usuário.3. Access: acesso restrito a serviços de rede.4. Cracklib: torna obrigatória a checagem de qualidade das novas senhas.

14.5.4. Acesso a arquivo GNU/Linux SMBFS

O Samba permite que um sistema software de fonte aberta forneça serviço de arquivo aclientes Windows. O SMBFS trabalha ao contrário: permite que um sistema software defonte aberta acesse arquivos mantidos em servidores Windows. O SMBFS édisponibilizado com as mais recentes distribuições GNU/Linux, porém não é encontradonormalmente em sistemas Unix comerciais.

O modelo acesso-controle usado pelos sistemas de arquivos Windows é diferente do que éusado por GNU/Linux e outros sistemas software de fonte aberta, portanto, há algumaslimitações com relação ao que se pode conseguir com o SMBFS.

14.5.5. Winbind

Outro produto do time Samba, o Winbind permite que máquinas GNU/Linuxindividuais sejam anexadas ao domínio Windows NT. Mantem um mapeamento entreautenticadores Windows NT (SIDs) e UIDs e GIDs Unix-style. O Windbind podefazer muitas outras coisas que reduzem a carga nos administradores de sistemas,como montar ambientes Unix-style para as pessoas que estiverem conectando-se(login) pela primeira vez.

Página 53Versão 0.2

Page 54: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

A desvantagem do Windbind em grandes redes é que cada cliente de computadorconstrói seu próprio mapeamento entre os autenticadores Windows e os Unix. Issopode causar problemas em estágios posteriores da migração, quando os servidores dearquivos software de fonte aberta forem introduzidos.

Ao usar o Winbind, usernames e groupnames usados por GNU/Linux são formadosconcatenando o nome do domínio Windows NT com o username Windows NT, paraformar uma única série. Isso pode levar a uma certa confusão, já que muitosutilitários Unix-style só fornecem espaço na sua produção para usernames de oitocaracteres. O maior nome gerado pelo Winbid aparece truncado na tela.

14.6. Migrando o ambiente do sistema operacional

14.6.1. Acrescentar servidores GNU/Linux individuais a umdomínio Windows NT existente

A configuração é extremamente simples:

1. Instale um servidor GNU/Linux, dando-lhe um endereço IP fixo.

2. Assegure-se de que os pacotes Samba estejam instalados. Serão necessários osamba original, o common-samba e o client-samba. Eles estão normalmenteincluídos em uma instalação “servidor”.

3. Edite /etc/samba/smb.conf, configure domínio modo segurança, e defina onome do domínio (grupo de trabalho). Liste o PDC e quaisquer BDCscomo servidores de senha. Defina as partes a serem servidas pelamáquina.

4. Crie quaisquer diretórios que devam ser partilhados, e configure as propriedades e permissões associadas.

5. Junte a máquina ao domínio Windows NT existente, usando a senha doDomínio Administrador (ou qualquer outro username e senha que tenhao poder de fazer isso):smbpasswd -j DOMAINNAME -r PDCNAME -U Administrator

6. Inicie o samba e configure para que ele reinicie quando o computador for religado: /etc/init.d/smb startchkconfig smb on

O servidor agora aparecerá em listas de navegadors e poderá ser usado como umservidor Windows NT.

14.6.2. Executar estações de trabalho GNU/Linux em domíniosWindows NT

14.6.2.1. Configuração simples para pequeno número de máquinas

Nos primeiros estágios de teste das ferramentas software de fonte aberta, é muito útiloperar máquinas individuais GNU/Linux com configurações bem simples. Elaspodem receber acesso a arquivos no servidor Windows para compatibilidade e testesde migração usando o comando smbmount.

Página 54Versão 0.2

Page 55: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Montar é o termo Unix/software de fonte aberta para fazer de um disco ou sistemade arquivo remoto parte da hierarquia de arquivo da máquina local. O processo énormalmente feito de forma automática na hora do boot, sob o controle do arquivo /etc/fstab, porém também pode ser feito de forma interativa. Por exemplo, ocomando para trazer um CD-ROM ISO-standard para dentro do sistema de arquivo,sob sob o controle do sistema de arquivo /mnt/cdrom seria:

mount /dev/cdrom /mnt/cdrom.

O comando mount tem seu uso normalmente restrito ao usuário raiz por razões desegurança. Este não é um problema onde a máquina esteja sendo usada por umadministrador do sistema, mas pode ser um desastre quando está envolvido umusuário não-técnico. O GNU/Linux oferece algumas saídas para este problema:

1. Use uma entrada especial em /etc/fstab que permita a usuários comuns montarcertos objetos pré-definidos. Esse é o caminho usual para possibiltar que CDRMse disquetes sejam montados quando solicitados. Os arquivos montadosnormalmente aparecem como propriedade de quem quer que tenha montado odispositivo.

2. Use um programa setuid-root para a operação privilegiada, checando antes se ésegura. É a forma mais fácil de lidar com a montagem de partes remotas deWindows.

3. Use um automounter para montar sistemas de arquivos quando forem acessadospela primeira vez e para desmonta-los quando não estejam mais em uso. Oautomounter opera como um daemon e é normalmente dirigido por dados deconfiguração de rede. Isso demanda um esforço maior de configuração do que osoutros métodos, porém é extremamente útil em grandes redes. Neste esquema,usaremos os comandos smbmount e smbumount para fazer uma parte de umWindows existente parecer parte do sistema de arquivo GNU/Linux. Nossistemas Red Hat Linux eles são parte do pacote samba-client, portanto,assegure-se de que você instalou ambos os pacotes, samba-common e samba-client. Esses programas são desenhados de tal forma que as partes críticas podemreceber alguns privilégios de raiz, embora não sejam instalados dessa forma pordefault, então alguns poucos comandos devem ser operados por raiz antes deserem usados pela primeira vez:

chmod u+s /usr/bin/smbmnt /usr/bin/smbumount

Note que o comando muda smbmnt ao invés de smbmount. Isso éimportante porque smbmnt encapsula somente as funções de smbmount querequerem privilégios de raiz. Isto feito, qualquer usuário pode usar osmbmount e o smbumount e eles funcionarão com os privilégios de raiz.

Agora qualquer usuário pode disponibilizar o Windows SMB como parte dosistema de arquivo GNU/Linux, montando-o em um diretório que já possui.Quaisquer arquivos que já estejam no diretório serão invisíveis enquanto oSMB estiver montado em cima.

Como exemplo, suponha que o usuário do GNU/Linux Fred deseja acessararquivos em um servidor Windows NT chamado NT4SERVER no domínioTHESTATE, que são partilhados sob o nome FREDERICK e propriedade dousuário de Windows FREDERICK. fred começa fazendo um novo diretóriopara montar a parte Windows em:

mkdir ~/ntfiles

Página 55Versão 0.2

Page 56: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

( A notação “~/” significa “no meu diretório pessoal”). Isso só precisa serfeito uma vez. Agora, para montar a parte remota:

smbmount //nt4server/frederick ~/ntfiles \

-o username=frederick -o workgroup=thestate

O comando deve ser digitado em uma linha, ou partido com caracteres decontinuação de linha “\” como mostrado aqui. Ele estará pronto para a senhade FREDERICK no servidor, e então monte a parte do Windows no alto dodiretório ntfiles no diretório pessoal de fred. Para evitar tudo isso de novo acada login, pode ser colocado em um arquivo script ou mesmo fazer parte doprocesso de login de fred.

Agora a parte montada comporta-se como se fosse parte do disco local.Pode-se criar, apagar e editar arquivos. Porém, há alguns riscos.Particularmente, não há tentativas de organizar o controle de acesso ao estiloUnix e os comandos Windows NT ACL para mudar a propriedade, ou modosde arquivos e diretórios na parte montada não surtirão efeito.

Antes de sair, é interessante desmontar a partilha:

smbumount ~/ntfiles

Novamente, isto pode tornar-se parte automática do processo de logout, casodesejado. O processo descrito nesta seção não cria qualquer ligaçãopermanente entre contas no GNU/Linux e contas nos servidores Windows NTexistentes, portanto usuários e senhas devem ser mantidos separadamente emcada máquina. O esforço de gerenciamento envolvido pode tornar-seexcessivo rapidamente à proporção em que o número de máquinas vácrescendo, portanto este esquema só é realmente apropriado para ambientesde teste pequenos.

14.6.2.2. Configuração mais inteligente para distribuições mais amplas

Onde for necessária uma distribuição piloto mais ampla dos sistemas de estações detrabalho software de fonte aberta, pode ser conveniente manter ainda serviços de arquivose autenticação nos servidores Windows NT existentes. O daemon do Winbind do Sambafornece um modo fácil de ligar os dois ambientes. Tanto o Samba como o Windbind sãopartes padrão da distribuição Red Hat Linux, porém podem não estar instalados por defaultem configurações de estações de trabalho. Para usar o Winbind, devem ser instalados osseguintes pacotes: samba, samba-common e samba-client.

O arquivo /etc/samba/smb.conf deve ser editado para mostrar o nome correto do domínioWindows NT na linha do workgroup, e para colocar o sistema no modo de segurançadomain Os dados de segurança do Winbind também estão na seção global deste arquivo,por exemplo:

# separate domain and username with '+', likeDOMAIN+usernamewinbind separator = +# use uids from 10000 to 20000 for domain userswinbind uid = 10000-20000# use gids from 10000 to 20000 for domain groupswinbind gid = 10000-20000

Página 56Versão 0.2

Page 57: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

# allow enumeration of winbind users and groupswinbind enum users = yeswinbind enum groups = yes# give winbind users a home directory locationtemplate homedir = /home/winnt/%D/%U# and a shelltemplate shell = /bin/bash

Para que o Winbind trabalhe, certos serviços devem estar funcionando. Para inicia-los e para garantir que iniciem a cada reboot, os comandos são:

chkconfig smb onchkconfig winbind on/etc/init.d/smb start/etc/init.d/winbind start

A máquina agora deve juntar-se ao domínio Windows NT. Isto requer usuário e senhaWindows NT, com as permissões apropriadas (usualmente Administrador):

smbpasswd -j DOMAINNAME -r PDCNAME -U Administrator

Agora deverá ser possível conseguir listas de usuários Windows e grupo com ocomando wbinfo:

wbinfo -uwbinfo –g

Para que os dados do Winbind estejam disponibilizados no sistema, é necessário editararquivos de configuração PAM e NSS. Isso deve ser feito com muito cuidado, porquevocê pode ficar bloqueado fora do sistema se esses arquivos forem avariados.

Em /etc/nsswitch.conf acrescente a palavra winbind à passwd e às linhas de group.

Em /etc/pam.d/system-auth acrescente uma linha da fórmula:

auth sufficient /lib/security/pam_winbind.souse_first_pass

logo após à linha auth equivalente que usa pam_unix, e uma da fórmula:

password sufficient /lib/security/pam_winbind.souse_first_pass

logo após a linha password equivalente que usa pam_unix.

Será necessário reiniciar o Name Service Cache Daemon neste estágio:

/etc/init.d/nscd restart

A tradução de usuários e grupos Windows para formato de arquivo de senha Unix-style, pode ser vista agora com:

getent passwd

getent group

Página 57Versão 0.2

Page 58: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Para automatizar a criação de diretórios pessoais de usuário no primeiro login, adicioneisto à parte session de /etc/pam.d/system-auth:

session required /lib/security/pam_mkhomedir.soskel=/etc/skel/umask=0022

(Garanta que seja inserido como uma única linha ao invés de duas linhas, como o que estáapresentado aqui). Note que isto irá criar um diretório pessoal Unix separado para ousuário em cada estação de trabalho que usarem. Também pode ser útil para inserir umscript no diretório /etc/skel para que cada usuário tenha que montar seus arquivosWindows NT em um local padrão na hora do login.

14.6.3. Executar estações de trabalho GNU/Linux em domíniosDiretório Ativo

Em princípio, máquinas estações de trabalho GNU/Linux podem juntar-se ao domínio AD(Active Directory) quase que da mesma forma que se juntam ao domínio Windows NT. Naverdade, se o domínio AD estiver funcionando em modo compatibilidade –NT, entãoexatamente o mesmo processo pode ser usado.

O domínio AD também oferece a possibilidade de usar o LDAP para autenticação e consultade dados. Este é o mesmo esquema proposto para redes maiores de sistemas software de fonteaberta puro, e vale bem a pena considerar. Ao estender o esquema AD para incluir dadosUnix, será possível gerenciar os usuários e servidores de estações de trabalho software defonte aberta, com ferramentas de administração AD. Para o esquema Winbind usado com oWindows NT, é preferível armazenar os dados de forma centralizada, já que ele mantém aorganização entre as IDs Windows NT e as Ids Unix consistentes entre todas as máquinas.

14.6.4. Substituir o Windows NT PDC/BDC por Samba+LDAP

O Samba pode cumprir o papel de Primary Domain Controller, permitindo assim, que todosos servidores Windows sejam eliminados, até mesmo se ainda forem necessários clientesWindows. Observe que não é possível substituir somente o PDC ou somente um BDC em umdomínio: todos os controladores de domínios devem estar operando o mesmo sistema, seja eleWindows ou Samba. Isso é porque, em parte, o protocolo de réplica do PDC não foisubmetido a uma engenharia reversa. Além disso, os Samba Domain Controllers tem umaabordagem diferente para resiliência: eles o delegam para os servidores LDAP, onde os dadossão realmente armazenados.

Instalar um Samba+LDAP Domain Controller é um trabalho muito grande para serdescrito aqui, mas pode ser feito em um dia mais ou menos, por uma pessoa experiente. Atarefa maior é planejar a migração dos usernames e groupnames de um domínio existente.Uma parte do trabalho é coberto pelo Samba-LDAP-HOWTO do IDEALX (veja referências naSeção 14.12 abaixo). A mesma fonte fornece um conjunto de estruturas de ferramentas demigração, que podem ser uma boa base para se construir.

Em resumo, o processo é:

1. Instale o(s) servidor(es) software de fonte aberta com Samba e OpenLDAP. Pose sernecessário construir o Samba a partir da fonte, por exemplo, o Red Hat Linux 7.3 nãoincluía a versão com LDAP disponibilizada.

2. Adicione as definições do esquema Samba ao servidor KDAP.

Página 58Versão 0.2

Page 59: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

3. Instale o servidor LDAP com uma base apropriada Distinguished Name (DN) e umaestrutura de árvore de diretório (possivelmente usando as ferramentas do IDEALXpara popular a árvore com entradas boilerplate).

4. Inicie o Samba e teste a função Domain Controller.

5. Use o pwdump no PDC para listar todas as entradas de usuários no SAM. Transfirao resultado como arquivo texto para o servidor software de fonte aberta.

6. Configure o ferramenta IDEALX smbldap-migrate-accounts.pl para igualar com oambiente em construção. Isso não é uma coisa simples, pois há várias opções aconsiderar.

7. Faça operar o smbldap-migrate-accounts.pl nos dados transferidos do PDC. Isso irácriar entradas no LDAP para todos os usuários do domínio. Também irá instalar suassenhas SMB para igualarem-se às senhas usadas no Windows NT (porém isso nãopermitirá logins Unix ou GNU/Linux , já que as senhas do Windows NT sãoembaralhadas e o esquema dos sistemas software de fonte aberta é diferente). Aferramenta pode criar diretórios pessoais ao mesmo tempo, caso desejado.

8. Copie arquivos de usuários e perfis roving dos servidores Windows para osservidores software de fonte aberta, ou religue os servidores Windows existentes aosdomínios agora servidos por Samba Domain Controllers.

Grandes redes provavelmente necessitarão múltiplos servidores LDAP com réplica de dadospara resiliência. Se um Samba Domain Controller estiver associado a casa servidor LDAP,pode ser realizado um esquema muito parecido com a instalação do Windows PDC/BDC.

Há muitas outras questões a serem consideradas, tais como:

1. Escolha das ferramentas para gerenciamento do usuário.

2. Como os grupos Windows NT e ACL serão organizados nos grupos Unix-style eACL.

3. Usar ou não um novo nome de dominio para o serviço baseado em software de fonteaberta.

4. Como criar misturas de senhas utilizáveis pelos sistemas software de fonte aberta (oucontinuar a usar as misturas Windows NT ou as LANMAN, até em um ambientepuramente software de fonte aberta).

14.6.5. Substituir o Diretório Ativo Windows 2000 por LDAP

O volume de dados mantido em um Diretório Ativo fica em um depósito acessível LDAP.

À primeira vista, isso deveria facilitar a substituição dos servidores AD por equivalentessoftware de fonte aberta. Infelizmente este não é o caso: os sistemas Windows 2000 nãousam LDAP puro para todos os acessos a dados, e sim uma variante não padronizada doKerberos para autenticação.

Muitas equipes de trabalho software de fonte aberta estão trabalhando para consertar esseproblema, porém, até o momento em que este trabalho foi escrito, a única forma possível dedar suporte aos clientes Windows 2000 e Windows XP, é faze-los operar no domínioWindows NT, como descrito acima.

Página 59Versão 0.2

Page 60: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

14.6.6. Executar uma infraestrutura GNU/Linux paralela e migrarusuários em grupos.

14.6.6.1. Substituindo todos os clientes Windows por GNU/Linux

Este é o mais simples de todos os esquemas de migração possíveis. A interação entre ossistemas Windows e software de fonte aberta é limitada à transferência exclusiva de arquivosde usuários. Em linhas gerais, o processo é:

1. Construa o núcleo do ambiente software de fonte aberta. Isto inclui servidores LDAPpara manter a configuração e os dados do username, servidores de instalação master,um ou mais servidores de arquivo e de impressão, e estações de trabalho clientesuficientes para o pessoal de gerenciamento de sistemas.

1. Construa uma instalação para desenvolvimento e treinamento, com estações de trabalhoestação de trabalho suficientes para permitir o treinamento de grupos de pessoas detamanhos apropriados. A tarefa inicial dessa instalação é validar e sintonizar aconfiguração antes da primeira apresentação do trabalho.

Nesse estágio, o processo de construção da estação de trabalho deve terminar de formaque as máquinas estejam configuradas com mínimo esforço humano. É muitoimportante que todas as máquinas estejam configuradas exatamente da mesma formadurante a primeira fase de apresentação do trabalho, portanto, isso deve ser testadocuidadosamente.

2. Use a instalação de desenvolvimento e treinamento consultando os representantes dabase de usuários para gerar entusiasmo pelo projeto e para reunir feedback sobre ainterface do usuário. Faça mudanças de acordo com as necessidades, de forma a chegarà imagem difundida. Chegue a um acordo sobre os requisitos para o treinamento e aagenda.

3. Construa um conjunto de novas estações de trabalho estação de trabalho suficientepara substituir o equipamento que está sendo usado pelo primeiro grupo a migrar parasistemas software de fonte aberta.

4. Registre o primeiro grupo de usuários no sistema novo.

5. Treine o primeiro grupo de usuários no sistema novo.

6. Caso necessário, reconfigure quaisquer configurações alteradas durante o treinamentode forma que todos comecem com um ambiente novo.

7. Substitua o primeiro grupo de estações de trabalho PC pelos sistemas software defonte aberta pré-construídos. Ao mesmo tempo, copie os arquivos dos grupos para osnovos servidores de arquivos e configure a cópia original para “somente para leitura”.

8. Ofereça suporte ativo ao primeiro grupo enquanto eles se acostumam a usar o sistemasoftware de fonte aberta.

9. Faça o atualização dos PCs removidos do primeiro grupo de acordo com a necessidade,e instale a imagem de estação de trabalho padrão.

10. Repita o procedimento a partir do item 5 com o próximo grupo de usuários.

11. Quando todos os usuários tiverem migrado para os sistemas software de fonte aberta,faça cópias de todos os arquivos dos velhos servidores e tire-os de circulação.

Página 60Versão 0.2

Page 61: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

14.6.6.2. Mantendo alguns clientes Windows

Onde for necessário manter alguns clientes Windows (por exemplo, para dar suporte aalgumas funções cuja migração não é economicamente indicada devido a softwares nãotransferíveis), há duas opções principais:

1. Retenha um pequeno domínio Windows usando um ou mais servidores Windows.2. Dê suporte aos clientes Windows de servidores baseados em software de fonte

aberta usando o Samba.

O caminho escolhido dependerá do motivo pelo qual os clientes estão sendo retidos, ede sua distribuição geográfica.

Em qualquer caso, é provável que o Samba será necessário em um ou mais dos novosservidores, para fornecer compartilhamento de arquivos entre clientes Windows eclientes com base software de fonte aberta.

14.7. Migrando aplicativos tipo servidor

14.7.1. Servidores da Web: mudando do IIS para o Apache

O servidor da web usual do Windows é o IIS (Internet Information Server), que forneceserviços HTTP, FTP, e Gopher em um pacote. O IIS é conhecido por apresentar problemascom segurança e estabilidade, o que fez muitas organizações substituí-lo por um servidoralternativo. Na verdade, após a explosão em 2001 de vários defeitos particularmente sérios,analistas de Gartner publicaram um estudo com fortes recomendações a seus clientessugerindo que o IIS não fosse utilizado para funções críticas, até que fosse completamentereescrito pela Microsoft.

Há vários servidores de rede à escolha para substituir o IIS. Muitos são software de fonteaberta ou possuem condições de licença muito liberais. Alguns dos servidores usados maisamplamente estão comentados na Seção 11.4.2 acima.

Ao migrar sites do IIS, a opção usual é o Apache, freqüentemente com PHP ou módulos Perlpara criptografar. O Apache trabalha em GNU/Linux, FreeBSD, quase todas as outrasvariantes Unix, e também no Windows. Isso oferece uma ampla gama de opções de migração.

14.7.1.1. Questões de Migração

1. Nomes de Arquivos e URLs

Ao mudar um simples website do IIS no Windows para o Apache no GNU/Linux ou Unix, aprincipal questão à qual deve-se estar atento é que o sistema de arquivo do Windows ignora“caixa alta/caixa baixa” em nomes de arquivos, porém a maior parte dos sistemas de arquivosGNU/Linux ou Unix são sensíveis às “caixa alta/caixa baixa”. Como a hierarquia das páginasda web é normalmente representada diretamente no sistema de arquivo, significa que URLstornam-se sensíveis no ambiente Unix ou GNU/Linux. (Isso não seria uma questão se oApache fosse usado em um servidor Windows).

Uma questão menos comum é que parece que o IIS aceita tanto “\” quanto “/” comocomponentes separadores. Traduzido para o sistema de arquivo Windows, “/”. e “\” , masparece permitir que “\” trabalhe originalmente. Então, pode-se referir a um arquivo em URLtanto como mydir\thisfile.html quanto mydir/thisfile.html.

Página 61Versão 0.2

Page 62: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Nenhuma questão afeta um website escrito corretamente e consistente. Infelizmente, sitesescritos com software Windows freqüentemente tem uso inconsistente de caixa alta e caixabaixa, e algumas vezes, tem o caractere “\” em URLs onde a estrutura de arquivo do websitecontem um subdiretório. Na verdade, o website exemplo distribuído com as versões maisrecentes do IIS apresenta ambas as questões. Há soluções paliativas fáceis para os doisproblemas no Apache, as quais são demonstradas em exemplo no decorrer do capítulo. Porém,como regra geral, é melhor corrigir tais problemas nos dados do website.

2. Mapas de imagem tipo servidor

Alguns websites mais antigos usavam um mapeamento tipo servidor de coordenadas x, y emuma imagem destinada a URLs. Isso agora é condenado porque é ineficiente e não trabalhabem com navegadors não-GUI, mas alguns sites ainda podem usa-lo. Os mapas tipo servidorno IIS tomam a forma de arquivos com extensão “map”, e seu formato não é compatível comos arquivos Apache equivalentes.

A melhor abordagem é converter qualquer mapa tipo servidor em mapas tipo cliente, já queisso fornece uma experiência de browsing melhor para o usuário. Se isso não é possível,pode-se usar um script Perl simples para editar arquivos para uma forma usável pelo Apache.

3. Scripts e conexões de bancos de dados

Sites mais complexos tendem a ter páginas dinâmicas baseadas em scripting e acesso a bancode dados. A maior parte dos sites IIS usam ASP (Active Server Pages) como estrutura descripting e podem usar o Access ou o SQL Server para banco de dados, dependendo dotamanho do aplicativo.

Há muitas formas de lidar com a migração de scripts ASP. Alguns dos mais populares são:

1. Pacote Chili!Soft ASP para Unix (agora chamado Sun ONE Active ServerPages)2. ASP2PHP3. O Apache do Apache::módulo ASP 4. Conversão manual para uma nova linguagem

O Chili!Soft ASP é um produto proprietário, mas em alguns casos, pode oferecer uma rota demigração muito econômica

O ASP2PHP é um conversor de script independente que converte arquivos de texto escritosem ASP e VBScript em arquivos de texto escritos em PHP. Está sendo desenvolvido umsuporte para arquivos ASP usando JScript. O PHP é uma estrutura de web-scripting muitopopular com características similares ao ASP, e pode ser, portanto, uma forma de transiçãobem fácil para os desenvolvedores. Para projetos maiores, é sempre bom fazer uma separaçãomaior entre desenho de página e lógica do script do que os modelos ASP ou PHP permitem.Nesses casos, uma conversão manual usando um sistema baseado em modelo pode ser umaopção melhor.

O Apache::ASP fornece características ASP diretamente através da estrutura Apache, juntocom scripting em Perl. O VBScript e o JScript não tem suporte.

Em alguns casos, pode ser melhor considerar uma conversão manual de ASP para uma novaestrutura. Isso garante maior flexibilidade e sites complexos podem beneficiar-se bastante namudança para um sistema baseado em modelo como o Template Toolkit(http://www.tt2.org/).

Todos os sistemas de scripting Apache possuem facilidades de acesso a bancos de dados parauma ampla faixa de tipos de bancos de dados (SQL, flat file, indexed, LDAP, NIS etc),

Página 62Versão 0.2

Page 63: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

portanto, podem ser construídos sites dinâmicos de qualquer complexidade, dirigidos parabancos de dados.

4. Extensões FrontPage

O pacote de web-design do FrontPage introduziu um conjunto de extensões que permitemgerenciamento remoto de conteúdo da web. Tem sido usado desde então por outros pacotesde web-design.

As extensões FrontPage são disponíveis para sistemas Unix, porém não universalmentepopulares com administradores Apache por várias razões, incluindo questões desegurança e o grande número de mudanças introduzidas na área de armazenamento dapágina web padrão. Há disponível agora uma substituição baseada em padrões no formatoprotocolo WebDAV (RFC2518). Recebe suporte da maior parte dos servidores de web(inclusive Apache, usando o módulo mod_dav) e é o protocolo de gerenciamento dewebsite preferido atualmente. A Microsoft fornece suporte ao WebDAV no seu Officedesde o Office 2000, e também pode ser acessado diretamente usando o WindowsExplorer. Portanto, um servidor Linux/Unix/Apache pode dar suporte tanto a clientessoftware de fonte aberta quanto a clientes proprietários usando o mesmo mecanismo.

14.7.1.2. Migrando um website estático

Este exemplo mostra um processo completo para migrar uma website simples e estáticodo IIS no Windows NT para o Apache no GNU/Linux.

1. Prepare o servidor GNU/Linux, conecte-o à rede e teste o Apache. A maior parte dasdistribuições GNU/Linux fornecem pacotes Apache pré-configurados, portanto, isso énormalmente automático. Um servidor visível na Internet vai precisar, sem dúvida, defortalecer sua segurança antes de conectar-se.

2. Localize os dados do website no servidor IIS (usualmente em C:\InetPub) e faça umacópia pronta para transferência, por exemplo, usando um pacote de arquivo Zip.

3. Copie o arquivo Zip para a máquina GNU/Linux (usando por exemplo, FTP) edesempacote-o no local escolhido para os dados do website. Isto é configurados como DocumentRoot em arquivo httpd.conf Apache, e normalmente está em algum lugarcomo /var/www/html.4. Edite httpd.conf e acrescente default.htm à cláusula DirectoryIndex. (Por convenção,o Apache é configurado para procurar por default/homepages chamadas index.html,enquanto o IIS usa default.htm . Isto permite o uso dos dois nomes).

5. Nesse estágio, o site deve começar a funcionar, embora deva ser acessado pelo nomedo novo servidor em vez do próprio URL. Também podem aparecer problemas onde osdados do site fazem uso inconsistente das caixas alta e baixa nos nomes de arquivos eURLs, e onde “\” tenha sido usado em URLs.

6. Se possível, teste o site neste estágio e corrija quaisquer problemas através da ediçãodos dados do site. Isto possibiltará melhor desempenho. Há ferramentas de checagemautomática disponíveis, os quais percorrerão o site e dirão se alguns pontos de ligaçãoapontam para locais não disponíveis. Você também pode fazer nesse estágio uma lista daspáginas não alcançáveis, e passar todas por um testador HTML.

7. Caso não seja possível consertar os dados do site, acrescente estas linhas deconfiguração à httpd.conf:

LoadModule speling_module modules/mod_speling.soAddModule mod_speling.cCheckSpelling on

Página 63Versão 0.2

Page 64: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Note que isso produz uma varredura no diretório e um redirecionamento do HTTP para cadaparte mal soletrada/com erros de caixas alta e baixa de um URL, portanto, preste atenção nasquestões de desempenho.

8. Páginas que usam “\” incorretamente em URLs podem ser manejadas usando mod_rewrite, através da adição das linhas abaixo ao httpd.conf:

RewriteEngine onRewriteRule ^(.*)\\(.*)$ $1/$2 [N]

Isto substitui a primeira \ por / no URL e depois repete, caso haja mais de uma \.

9. Verifique os mapas de imagem tipo servidor usando um comando do modo:

find /var/www/html -name '*.map' -print

Edite à mão, se houver somente um ou dois, ou use um script para consertá-los, se houvermuitos.

10. Nesse estágio, todo o site deve estar trabalhando corretamente. Você pode configurarFTP, Samba ou WebDAV para prover acesso para a atualização das páginas.

11. Para que o site entre em funcionamento, desconecte o velho servidor e mude o endereço IPda nova máquina para substituí-lo, ou mude a entrada DNS do website para que estejaapontada para o novo servidor.

14.7.1.3. Uma configuração WebDAV simples

O WebDAV pode ser usado para gerenciar o conteúdo de alguns ou todos os seus websites.Neste exemplo, ele é usado para todo o site, portanto não deve ser permitido qualquer outroacesso. (Outros sistemas de gerenciamento como FTP ou acesso direto ao arquivo iráconfundir os clientes WebDAV pois eles não usam o mesmo esquema de trava).

1. Faça um diretório para as travas WebDAV. Deve pertencer ao mesmo usuário e grupo noqual o Apache funciona (veja opções de configuração de User e Group em httpd.conf). Umaboa escolha seria /var/httpd/webdavlocks.

2. Acrescente estas linhas à parte principal de httpd.conf:

Loadmodule dav_module libexec/libdav.soAddmodule mod_dav.cDAVLockDB /var/httpd/webdavlocks

3. Encontre o Directory ou Location associados à website default, e acrescente estas linhas:

DAV OnAllowOverride NoneOptions IndexesAuthType BasicAuthName "Website Managers Only"AuthUserFile /var/httpd/htpasswd<LimitExcept GET HEAD OPTIONS>require valid-user</LimitExcept>

4. Assegure-se de que os arquivos e diretórios associados sejam propriedade do mesmousuário e grupo onde o Apache funciona, usando um comando do modo:

Página 64Versão 0.2

Page 65: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

chown -R apache:apache /var/www/html

5. Crie o arquivo senha:

touch /var/httpd/htpasswdchown root:apache /var/httpd/htpasswdchmod 640 /var/httpd/htpasswd

6. Crie uma senha para um usuário chamado webadmin (ou qulquer outro nome que vocêescolher):

htpasswd -m /var/httpd/htpasswd webadmin

7. Reinicie o Apache ou faça com que releia seus arquivos de configuração, por exemplo:

/etc/init.d/httpd reload

8. Você pode gerenciar todo o site usando o protocolo WebDAV. O Windows 2000 eclientes posteriores podem acessa-lo como um “Network Place” no Windows Explorer, eos aplicativos do Office podem salvar os dados diretamente no site. O GNU/Linuxfornece funções similares via davfs.

9. Note que o esquema aqui descrito fornece apensas segurança limitada. Você deve ler omanual do Apache para maiores detalhes sobre autenticação do usuário e escolher umesquema apropriado para suas necessidades. Pode ser necessário usar o SSL para protegeras transações; isto pode ser feito com o mod_ssl do Apache.

14.7.2. Bancos de Dados: mudando do Access e do Servidor SQL parao MySQL ou PostgreSQL

Muitos pequenos projetos de bancos de dados do Windows usam o Access. Este é umproduto atraente para muitas pessoas porque é muito simples para iniciar, e tem uma interfacefamiliar com o usuário. No entanto, o Access tem severas limitações; não foi desenhado paratrabalho multiusuário pesado, e não consegue lidar com grandes conjuntos de dados.

Bancos de dados maiores usam o Servidor SQL, ou um dos bem conhecidos bancos de dadosrelacionais: o Oracle, o Sybase, DB2 etc. No caso desses sistemas maiores, pode ser melhordeixar o banco de dados funcionar na plataforma existente e migrar somente os aplicativos docliente para plataformas software de fonte aberta. Isso é particularmente apropriado onde aAdministração tenha profunda habilidade com o banco de dados existente e esteja utilizandomuitos recursos proprietários. Há formas padrão de conectar-se a bancos de dados relacionaispela rede, portanto a escolha da plataforma pode ser diferente para o banco de dados e osaplicativos do cliente. Além disso, a maioria dos bancos de dados proprietários não-Microsoft são disponíveis em plataformas GNU/Linux e Unix, portanto, é possível mudar osistema operacional sem ter que aprender um banco de dados completamente novo.

Por outro lado, bancos de dados proprietários podem ser itens muito caros, portanto vale apena considerar se um produto software de fonte aberta poderia fazer o trabalho de formaefetiva.

Os dois mais conhecidos bancos de dados software de fonte aberta são MySQL ePostgreSQL. Ambos são produtos maduros com grandes bases instaladas e equipes dedesenvolvimento ativas. Ambos possuem bom suporte para o SQL padrão, e são capazes dedesempenho muito bom.

Página 65Versão 0.2

Page 66: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Também vale a pena lembrar que bancos de dados não tem que ser relacionais. Algumastarefas adaptam-se melhor com outros modelos, e o uso direto de um produto software defonte aberta como Sleepycat´s Berkeley DB pode ser extremamente eficiente. De formasimilar, o modelo LDAP de bancos de dados em rede de forma hierárquica é bastanteapropriado para alguns tipos de aplicativos distribuídos.

14.7.2.1. Migrando Bancos de Dados Access

O Access só é disponibilizado em plataformas Windows, portanto todos os bancos de dadossemelhantes devem ser migrados para algum outro pacote, caso esteja planejado um ambientecompletamente software de fonte aberta. Um cenário intermediário interessante e útilenvolve a migração de dados para um banco de dados software de fonte aberta, mascontinuando a utilizar o Access como parte responsável pela interface do usuário. Essasolução tem a característica desejada de remover muitas das restrições e problemas doarmazenamento de dados do Access.

1. Exportação/importação à mão

Há várias formas de migrar dados do Access para outros bancos de dados. Para conjuntos dedados simples, talvez a forma mais fácil seja a de exportar as tabelas do Access comoarquivos CSV (Comma Separated Values), e depois importa-las para o novo servidor. Estemétodo requer que as tabelas sejam criadas à mão no novo servidor primeiramente, mas nãonecessita de qualquer software especial.

Como exemplo, aqui estão os comandos para criar um banco de dados com uma simplestabela e para importar um arquivo CSV para o MySQL. Primeiro entre em um Shell prompt:

mysql --user=myusername –p

Depois entre com o seguinte: create database mydb;use mydb;create table mytable (firstname char(30),surname char(30),postcode char(10));load data local infile 'exportfile.csv'into table mytablefields terminated by ',' enclosed by '"'lines terminated by '\r\n';

2. Exportação/importação scripted

Existem vários scripts e programas que exportam um banco de dados Access completo comtoda a informação necessária para recriar as tabelas em um outro DBM. Alguns delesproduzem arquivos para serem copiados para a nova plataforma, enquanto outros conectam-sediretamente através da rede e fazem as alterações imediatamente. Um exemplo dos scriptsescritores de arquivos é o exportsql2.txt disponibilizado emhttp://www.cynergi.net/exportsql . Ele produz arquivos com instruções DROP TABLE,CREATE TABLE, e INSERT, que vão replicar o banco de dados Access em MySQL.

Vários outros ferramentas de migração são descritos no documento de Paul Dubois“Migrating from Microsoft Access to MySQL”  (http://www.kitebird.com/articles/access-migrate.html).

Página 66Versão 0.2

Page 67: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Uma vez migrados os dados, é possível continuar usando o Access como interface do usuário,deletando-se as tabelas localmente e ligando-se às recém criadas tabelas no servidor MySQL.

14.7.2.2. Migrando bancos de dados do Servidor SQL

O processo aqui é muito parecido com o descrito acima; para bancos de dados simples énormalmente suficiente exportar os dados para um formato comum (usualmente CSV) edepois importa-los para o novo banco de dados. Bancos de dados mais completos, queincluem procedimentos de armazenagem e triggers, precisarão de mais esforço, e nessescasos, vale a pena procurar entre a gama de ferramentas disponíveis para auxiliar no processode migração. Alguns deles são software de fonte aberta, outros são comerciais. Algunsexemplos:

1. O PGAdmin é um software grátuito para administração de bancos de dados PostgreSQLdatabases. Há utilidades plugin que conduzem a migração de dados de outras máquinas debancos de dados. Mais informação disponibilizada em http://www.pgadmin.org/.

2. O SQLPorter da Realsoftstudio - um produto comercial disponibilizado em muitasvariantes, dependendo da fonte e da máquina de banco de dados alvo. Para maioresinformações, veja http://www.realsoftstudio.com/overview.php.

3. O SQLWays da Ispirer - é um produto comercial que dá suporte a uma gama de máquinasde bancos de dados. Veja http://www.ispirer.com/products.

4. O SQLyog é uma outra ferramenta comercial. Ele gerencia o MySQL e também conduz amigração de dados de outros bancos de dados submetidos a ODBC: para detalhes, vejahttp://www. web yog.com/sqlyog .

5. O website do MySQL lista uma vasta gama de outras ferramentas de migração: veja a listadisponibilizada em http://www.mysql.com/portal/software /convertors/index.html.

14.7.2.3. Questões de migração de bancos de dados

A migração dos dados é, às vezes, a parte mais fácil do trabalho, contudo se os dados devemser acessados pela rede como tabelas no estilo direto SQL , então não há mais muito o quefazer.

É muito mais provável que os problemas venham a aparecer a partir dos utilitários auxiliares edas linguagens scripting que cercam qualquer banco de dados prático. O SQL é padronizado,no entanto, quase todos os vendedores de bancos de dados os estendem e encorajam aspessoas a usarem suas extensões não padronizadas.

Além disso, há várias formas diferentes para alcançar um dado resultado em SQL, e a escolhado mais eficiente pode variar de um banco de dados para outro.

Muitos aplicativos de bancos de dados são construídos com geradores de aplicativos ouconstrutores de formatos. Eles podem não funcionar com qualquer outro banco de dados quenão aqueles com os quais foram vendidos.

Tanto o MySQL como o PostgreSQL desenvolveram-se muito nos últimos anos, por isso éimportante que você leia revisões recentes ao considerar qual produto usará e se iniciará amigração.

14.7.3. Groupware: mudando do Exchange

Página 67Versão 0.2

Page 68: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Exchange oferece serviços de correio, calendário e livros de endereços. É normalmenteutilizado com o cliente Outlook no Windows, embora algumas instalações também usem oOutlook Web Access (OWA) para fornecer funções básicas através de uma interface web.

Todas as funções do Exchange podem ser substituídas por pacotes software de fonte aberta,freqüentemente de forma muito eficiente. Os problemas aparecem quando se tenta oferecê-lossem alterações para os clientes Outlook, já que o mecanismo de comunicação entre oExchange e o Outlook é proprietário. O Outlook é capaz de acessar alguns serviços baseadosem padrões abertos, embora em alguns casos a experiência do usuário seja diferente do que aencontrada ao usar o protocolo proprietário. Como resultado, vale a pena decidir no inícioproceder a migração para um pacote cliente software de fonte aberta ao mesmo tempo em quea migração do servidor está sendo feita, já que a população de usuários verá algumasdiferenças, mesmo que tenham aderido ao Outlook. O cliente para substituição mais óbvio é oXimian da Evolution.

14.7.3.1. Questões Gerais

Todos os usuários do Exchange terão usernames e senhas armazenados no sistema. Asversões recentes do Exchange usam o Diretório Ativo para isso, portanto as notas sobremigração de dados de registro do usuário que estejam em qualquer lugar do documento,também se aplicam ao Exchange. Resumindo, servidores com base em software de fonteaberta podem acessar dados de registro via LDAP, de forma que os novos servidores possamusar o Diretório Ativo existente ou os dados podem ser migrados para um armazém de dadoscom base em software de fonte aberta, como o OpenLDAP.

14.7.3.2. Questões de Correio

Usuários podem ter um volume considerável de correspondência armazenada, tanto pessoalquanto partilhada com membros de outros grupos. Deve haver um requisito legal ou deprocedimento para manter um registro de toda a correspondência enviada e recebida, e nessecaso, o armazenamento e o acesso a esses dados deve ser considerado. As pessoas comcomputadores portáteis podem transferir toda a sua correspondência para o laptop, ou optarpor manter uma cópia sincronizada com o documento principal no depósito central.

Ao planejar uma migração para os serviços de correio baseados no software de fonte aberta, éimportante localizar todos os dados armazenados e assegurar-se de que ainda estará acessívelapós a transição.

O Exchange pode usar grupos Windows como listas de distribuição – são os mesmosgrupos que o próprio Windows utiliza para controlar o acesso. Esta não é a maneira usualde manter listas de distribuição em um ambiente software de fonte aberta, porém ela podecontar com suporte, caso desejado.

Caso o Outlook seja retido como cliente correio, deve ser reconfigurado para usar IMAPem vez de acesso “original” às caixas de correio.

O Exchange não possui recurso de exportação, portanto a migração dos dados deve serfeita através de uma conexão de cliente.

Para maiores detalhes sobre sistemas de correio software de fonte aberta, verifique aSeção 11.2 e o Apêndice C.

14.7.3.3. Questões de Livros de Endereços

Usuários do Outlook constroem um livro de endereços pessoal automaticamente, aoenviar e receber mensagens. Também possuem acesso a um ou mais livros de endereçoscompartilhados, caso usem o servidor Exchange. O conteúdo desses livros de endereços

Página 68Versão 0.2

Page 69: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

devem ser migrados para um formulário legível pelo software de fonte aberta. Livros deendereços pessoais podem ser exportados em formulário vCard, o qual é entendido pormuitos clientes correio e pode ser subdividido por scripts para conversão em outrosformatos, caso necessário. De forma similar, livros de endereços compartilhados podemser exportados e depois carregados em um armazém LDAP.

É provável que os principais problemas venham do fato de que o Outlook e o Exchangetendem a não usar endereços de correio padrão RFC822 internamente, e portanto os dadosde livros de endereços podem não incluir endereços usáveis quando exportados. Nessecaso, será necessário algum processamento de correio, usando um script com acesso aodepósito do Diretório Ativo para traduzir os endereços do “formato interno” para osendereços RFC822 padrão. Esta tradução será provavelmente necessária mesmo que oOutlook estiver retido como cliente correio, já que não poderá usar os endereços“formulário interno” ao enviar correio em protocolos baseados em padrões como o SMTP.

14.7.3.4. Questões de Calendários

Algumas Administrações fazem uso considerável dos recursos do calendário do Outlookpara agendar reuniões e gerenciar reservas de salas. Esses recursos podem ser usados semo Exchange, porém há algumas limitações.

Se houver uma migração para clientes software de fonte aberta planejadaconcomitantemente, os calendários deverão ser exportados em formato vCal e movidospara a nova plataforma de gerenciamento de calendário.

14.8. Migrando aplicativos estação de trabalho para software de fonteaberta

14.8.1. Office

14.8.1.1. Conversão de documento

O OpenOffice.org é capaz de ler e escrever formatos Microsoft extraordinariamente bem,portanto não é necessário converter documentos durante o processo de migração. Caso sejadesejada a conversão do documento, isso pode ser automatizado com o recurso Autopilotselecionado no menu File do OpenOffice.org. Este recurso fornece uma forma de converterdocumentos em massa. A decisão de converter depende do uso futuro do documento. OCapítulo 5 fala sobre formatos de documentos e conversão em linhas gerais. Se osdocumentos vierem a ser editados repetidamente, o formato deverá ser o utilizado pelamaioria dos editores.

14.8.1.2. Conversão de modelo

O OpenOffice.org pode usar modelos diretamente em formato Word 97, mas na prática, émelhor converte-los para modelos originais e armazena-los em uma área modelocompartilhada apropriada. Esse procedimento oferece a oportunidade de testar cada modeloe corrigir cada erro de conversão. O OpenOffice.org faz, por si só, a maior parte dotrabalho de conversão, e o processo pode ser automatizado para grandes coleções demodelos, usando a função Autopilot Document Conversion, que encontra-se no menu File.

Modelos de outros processadores de texto provavelmente precisarão de recriação à mão.

Página 69Versão 0.2

Page 70: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

14.8.1.3. Conversão de Macro

O OpenOffice.org usa uma macro linguagem do tipo BASIC. É muito similar,estruturalmente, às linguagens usadas pelo Word e pelas versões posteriores doWordPerfect. No entanto, os nomes dos objetos sobre os quais trabalha são diferentes,portanto todas as macros necessitarão de algum esforço de conversão manual.

As macros são um grave risco de segurança em documentos e não são necessárias para amaioria das tarefas do dia-a-dia; assim vale muito a pena verificar se podem serdispensadas. A maioria das tarefas de formatação são mais bem manuseadas com o uso demodelos e estilos, e a manipulação de dados simples pode ser feita usando-se formulários.

As versões OpenOffice.org a partir da 1.1 incluem um gravador de macro, tornando maisfácil a criação de macros simples, caso se julgue serem essenciais.

Não há, atualmente, qualquer meio automático de conversão de macros, embora algumtrabalho sobre isso esteja sendo feito.

14.8.1.4. Processamento de texto

Há muitos pacotes de processadores de texto em uso nos sistemas Windows.Organizações bem gerenciadas tendem a tê-los padronizados em um pacote, ou talvezem transição de um para outro. Os pacotes mais comuns são:

. Microsof t Word

. Microsof t Works

. Worperfect

. Lotus AmiPro e Lotus WordPro

. Lotus Notes

. IBM Display Write

O alvo do software de fonte aberta é o OpenOffice.org .Arquivos em formatos Microsoft Works, IBM DisplayWrite e Lotus não são legíveisdiretamente pelo OpenOffice.org, portanto, precisarão de conversão. É freqüentementepossível exportar os arquivos do respectivo aplicativo em algum formato comumaceitável; a conversão pode, no entanto, requerer um terceiro ferramenta.

Arquivos WordPerfect ainda não são diretamente legíveis, mas há um projeto emandamento para incluir esse formato no OpenOffice.org. Há um programa de conversãobaseado em script disponível que pode ser usado para conversão formato bulk.

O websitehttp://www.raycomm.com/techwhirl/magazine/technical/openofficewriter.htmlcontem uma comparação extremamente útil das funções disponíveis no Word e noOpenOffice.org. A interface usuário é suficientemente similar à do Word, para aspessoas poderem trocar de um para o outro com pouca dificuldade (embora ainda fossemelhor promover treinamento para introduzir o novo pacote de forma efetiva).

14.8.1.5. Publishing

A produção de documentos além da capacidade dos processadores de texto énormalmente feita com Pacotes Desktop Publishing (DTP). Os comuns incluem:

Página 70Versão 0.2

Page 71: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

. Framemaker

. Pagemaker

. QuarkXPress

O produto software de fonte aberta Scribus de http:// web 2.altmuehlnet.de/fschmid pretende substituir esses pacotes e pode valer a pena avaliar.

O OpenOffice.org tem uma capacidade muito maior que os processadores de textocomumente tinham quando os pacotes DTP foram produzidos pela primeira vez.Recursos avançados como os do Master Documents possibiltam que se trabalhe comgrandes projetos como produção de livros, e recursos de layout são muito flexíveisagora.

Abordagens alternativas incluem o uso de pacotes de post-processing, onde o texto émarcado em uma linguagem similar ao HTML e depois convertido para seu layoutimprimível final através da aplicação de folhas de estilo. Esses sistemas não-GUI podemser muito úteis para a produção de documentos que mudam rapidamente e para impressãoon-demand de material baseado em banco de dados.

14.8.1.6. Planilhas

Planilhas comuns baseadas em Windows incluem:

Microsof t Excel Lótus 123 e derivativos Excel

O Excel é, de longe, a mais utilizada.

O alvo do software de fonte aberta é o OpenOffice.org, embora o Gnumeric tambémpossa ser considerado.

Na maioria dos casos, uma migração do Excel ou do Lótus 123 para o OpenOffice.org ouGnumeric apresenta poucos problemas, a não ser que a planilha contenha controles ououtros mecanismos que requeiram macros. Neste caso, esses controles e macros devemser reescritos.

14.8.1.7. Gráficos de apresentação

Em um ambiente Windows, as apresentações são normalmente criadas usando oMicrosoft PowerPoint ou o Corel Draw. O PowerPoint com seu formato de arquivo *.ppté o mais comum.

O alvo do software de fonte aberta é o OpenOffice.org. Ele pode ler slides e modelosPowerPoint com muito poucos erros, e pode ser configurado para escrever arquivos *.ppt,caso desejado. Como mencionado na Seção 14.8.1.2 acima, valeria a pena traduzir embulk modelos importantes para o formato OpenOffice.org original.

Os usuários devem poder trocar do PowerPoint para o OpenOffice.org facilmente, já queo conceito e o layout da tela são muito similares.

14.8.1.8. Manipulação de gráficos e imagens

Pacotes gráficos dividem-se em três principais categorias:

Gráficos de apresentação, tratados na Seção 14.8.1.7 acima.

Página 71Versão 0.2

Page 72: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Gráficos de vetores (linha), caracterizados por programas MCAD simples e pacotescomo o Microsoft Visio.

Gráficos Bitmap, incluindo programas paintbrush e pacotes de manipulaçãofotográfica, como o Adobe Photoshop.

1. Aplicativos para gráficos de vetores

O OpenOffice.org inclui um recurso de desenho.

O Dia (http://www.lysator.liu.se/~alla/dia) é um pacote software de fonte aberta similarao Visio. É muito utilizado para gerar diagramas de documentação, e possui filtros quelêem arquivos de outras versões do Visio (não a versão 2002). Há bibliotecas de símbolospara uma série de aplicativos. O Kivio faz um trabalho parecido e é desenhado paraintegrar-se bem com o ambiente KDE, porém parece mais focado em fluxogramas. OSodipodi (http://sodipodi.sourceforge.net/) trabalha bem com o SVG (Scalable VectorGraphics).

Arquivos originados no Visio e em pacotes similares podem ser legíveis em software defonte aberta, porem isso deve ser testado para cada caso individual antes de planejar amigração.

2. Gráficos Bitmap

Esta categoria alcança desde os programas simples como Paint, até manipuladores deimagem avançados como o Adobe Photoshop. O mundo software de fonte aberta gerou ,no mínimo, tantos programas gráficos quanto o setor proprietário, e com recursos equalidade igualmente variáveis. No entanto, um pacote se sobressai aos outros, o Gimp(http://www.gimp.org/).

O Gimp é capaz de ler quase todos os formatos de arquivos gráficos bitmap conhecidos(inclusive o formato do próprio Photoshop), e pode gerar a maioria deles também. Elefornece todos os recursos de um bom programa paintbrush junto com camadas, canais eoutras ferramentas avançadas familiares aos usuários do Photoshop. O Gimp éamplamente utilizado na geração e no aprimoramento de imagens para a web e parapublicação. O único recurso importante no qual é falho é no processo completo degerenciamento da cor, e portanto pode não ser apropriado para trabalhos de pré-impressão de alta qualidade.

14.8.1.9. Geração de PDF

Gerar um arquivo PDF em software de fonte aberta é mais fácil do que no Windows,onde algo como o Adobe Acrobat precisa ser comprado. Há vários ferramentas Postscripte PDF disponibilizados em distribuições padrão para isto. Adicionalmente, oOpenOffice.org oferece uma forma de produzir diretamente o produto do PDF. Aprodução de um PDF pode ser configurada como um serviço de impressão, fornecendo,desse modo, um método de continuidade para usuários Windows.

14.8.2. Correio

Há uma enorme gama de interfaces usuário para correio eletrônico, tanto para ambientesproprietários quanto software de fonte aberta. Por isso, este documento pode somentedelinear uma visão geral do processo de migração e suas questões. O Correio também estádiscutido na Seção 11.2 e no Apêndice C.

As principais questões do tipo cliente são:

Página 72Versão 0.2

Page 73: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Escolha do novo Mail User Agent (MUA), e conseqüentemente de sua interfaceusuário.

Migração da correspondência pessoal armazenada. Migração dos registros no livro de endereços.

Independentemente do MUA escolhido, será necessário migrar a correspondênciaarmazenada e os registros do livro de endereços.

Caso o MUA antigo tenha sido configurado para armazenar todas as pastas de correio emum servidor IMAP, será preciso muito pouco trabalho e o novo MUA pode sersimplesmente configurado para acessa-las em seu local. Onde os arquivos locais tenhamsido usados como pastas, será necessário rastreá-los e converte-los. Por default, o Outlookarmazena correspondência em arquivos com extensão .pst” em C:\Documents andSettings\<usernam e >\Local Settings\Application Data\Microsoft\Outlook.

Ferramentas de migração úteis incluem:

http://outport.sourceforge.net/ - exporta dados do Outlook para Evolution etc. Estáem desenvolvimento ativo e, em meados de 2003, ainda apresentava importanteslimitações, incluindo a incapacidade para exportar anexos à correspondência.

A própria ferramenta de exportação do Outlook, provavelmente escrevendo emformato CSV ou Excel. Também apresenta o problema de incapacidade de exportaranexos a esses formatos.

http://sourceforge.net/projects/ol2mbox - Ferramenta do software de fonte abertapara converter arquivos Outlook *.pst para um formato usável em correiossoftware de fonte aberta. Dá suporte aos anexos.

Kmailcvt – Ferramenta software de fonte aberta para converter alguns formatosproprietários para uso com Kmail.

14.8.3. Calendários e Groupware

Os calendários, junto com o gerenciamento de contatos e o correio, são usualmenteagrupados em um título geral Personal Information Management (PIM). Alguns pacotesintegrados, como o Outlook da Microsoft, oferecem as três funções em uma interface,porém outros como o ACTI, concentram-se em gerenciamento de contatos e poderiam serconsiderados próximos aos sistemas CRM (Customer Relationship Management).

O alvo do software de fonte aberta é o Evolution, que integra funções de uma formamuito próxima à que o Outlook faz. O Mozi lla também poderia ser considerado assim;ele inclui um cliente correio eletrônico eficiente e existe agora um módulo calendáriodisponibilizado em http://www.mozilla.org/projects/calendar . Ele é baseado no padrãoiCalendar aberto e os usuários podem publicar e partilhar calendários usando o protocoloWebDAV.

14.8.3.1. Calendários

Alguns dos mais bem desenvolvidos recursos de calendários software de fonte abertaestão em conjuntos groupware baseados na Web, e vale a pena examiná-los comopossíveis serviços amplos de organização.

Os padrões iCalendar (previamente vCalendar) definem um formato de troca para osregistros de calendário. Detalhes podem ser encontrados em http://www.imc.org/pdi eem RFC2445, RFC2446, e RFC2447. A maioria dos jogos de calendários software de

Página 73Versão 0.2

Page 74: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

fonte aberta podem lidar com dados nesse formato, portanto, é a rota de migraçãopreferida, bem como os meios normais de gerenciamento dia-a-dia.

Algumas das ferramentas de migração mencionados na Seção 14.8.2 acima também sãocapazes de extrair informação sobre calendários dos arquivos de dados do Outlook, para oformato iCalendar.

14.8.3.2. Gestão de contatos

Quase todos os pacotes de correio eletrônico que já existiram definiram seus própriosformatos para o armazenamento de dados de livros de endereços. Alguns se restringem aarmazenar somente endereços de correio eletrônico, porém formatos mais recentes tendema incluir todos os tipos de informações de contatos. Essa diversidade de formatos torna amigração mais difícil, ao contrário do que poderia ser.

Felizmente, a maioria dos aplicativos de correio eletrônico, tanto no mundo proprietárioquanto no mundo do software de fonte aberta, tenderam a implementar os formatos depermuta iCard (anteriormente vCard) nos últimos anos. A especificação desse formato éaberta, e pode ser obtida em http://www.imc.org/pdi e também em RFC2425 e RFC2426.Se os detalhes do contato devem ser transferidos de um aplicativo proprietário para umaplicativo software de fonte aberta, este é o formato preferido.

Uma outra forma de lidar com informação sobre contatos, é consolidá-la em um diretórioque abrange toda a organização e depois acessa-la via LDAP. Certamente isso deve serfeito com dados amplamente utilizados, tais como o livro de telefones internos e a lista decorreio eletrônicos mantidos por muitas organizações. Contudo, não é uma substituiçãocompleta por livros de endereços pessoais: um livro de endereços deve ser pequeno efocado nas necessidades da pessoa que o usa, enquanto um diretório deve ser abrangente e(provavelmente) e muito grande para folhear efetivamente.

Algumas das ferramentas mencionados na Seção 14.8.2 acima também são capazes deextrair informação dos arquivos de dados do Outlook para o formato iCard.

14.8.4. Web Browsing

Usuários Windows provavelmente usam alguma versão do Microsoft Internet Explorer paraweb browsing. Também é possível que alguns usem Netscape, Mozilla ou Opera. O alvo dosoftware de fonte aberta é o Galeon, embora o Mozilla possa ser considerado, porquefuncionará no Windows.

Migrar de um web navegador para outro é bastante fácil para usuários, já que todos possuemrecursos iguais e interfaces usuários (à parte de navegadors modo texto como o Lynx, porrazões óbvias). A questão, para usuários individuais, estará centrada na conversão da lista defavoritos: a maioria dos navegadors software de fonte aberta pode importar favoritos do IE edo Netscape, se instalados na mesma plataforma, porém se o OS também estiver sendomigrado, então pode ser necessário exportar primeiro favoritos no formato de um arquivoHTML.

Qualquer organização que use páginas da web intranet deve checar se o HTML está emconformidade com os padrões W3C, de forma que se apresente apropriadamente em todos osnavegadors. Há ferramentas para ajudar neste assunto em http://www.w3c.org/ .

Quaisquer páginas que dependam de JavaScript, necessitarão ser testadas com particularcuidado, já que o dialeto varia de um navegador para outro e o uso de extensões nãopadronizadas causará problemas.

Quaisquer páginas que dependam dos controles ActiveX , deverão ser redesenhadas paratrabalhar de alguma outra forma, já que os navegadors software de fonte aberta não dão

Página 74Versão 0.2

Page 75: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

suporte a essa tecnologia proprietária. O ActiveX tem um modelo de segurança muito pobre,assim, desabilita-lo é uma passo valioso, em qualquer caso.

Formatos de extensão da web comuns, como Java, PDF, Flash, e RealPlayer recebem um bomsuporte dos navegadors software de fonte aberta (embora usem freqüentemente plugin sem serde software de fonte aberta), o que algumas vezes pode ser difícil de encontrar no website dofornecedor.

Outros formatos como Shockwave Director, precisarão usar o plugin CodeWeavers' CrossOver.

14.8.5. Bancos de Dados Pessoais

Pessoas com volume de dados muito grande ou complexo para uma planilha, porém não grandeo suficiente que justifique um banco de dados comercial completo, freqüentemente usam oMicrosoft Acess. Este pacote oferece um depósito de dados relacionais simples, junto comscripting e ferramentas para construção de formulário.

A migração de dados para bancos de dados software de fonte aberta está coberta na Seção14.7.2.

Há vantagens em armazenar bancos de dados em servidores bem gerenciados, mesmo se afunção central IT não esteja gerenciando os dados ou fornecendo suporte aos aplicativos. Umamigração software de fonte aberta fornece a oportunidade de oferecer tal serviço dearmazenamento de dados, através da configuração de um servidor onde indivíduos possamconstruir seus próprios aplicativos de banco de dados. Há vários pacotes baseados na web quepoderiam ser escolhidos como base para isso, tal como o PHPmyAdmin: o sitehttp://www.phpmyadmin.net/documentation oferece os detalhes.

Ferramentas com GUIs mais convencionais incluem:

Kexi (http://www.koffice.org/kexi) - um banco de dados com a interface usuário doprojeto KDE, voltado para um mercado similar ao do Access .

DBDesigner (http://www.fabforce.net/dbdesigner4) - um ferramenta parausuários mais avançados, que se integra tanto ao Gnome quanto ao KDE.

Knoda (http://www.knoda.org/) - outro com interface usuário simples para o KDE .

Nenhuma dessas ferramentas tenta ler arquivos Access .

14.9. Migrando serviços de impressão para software de fonte aberta

Em ambientes de pequenos escritórios, é comum as impressoras estarem diretamente ligadas aestações de trabalho estação de trabalho. Escritórios maiores, e os que requerem um alto volumede impressão, tendem a usar impressoras ligadas à rede - elas podem estar diretamente ligadas àrede ou dirigidas por um servidor de impressão.

Os ambientes software de fonte aberta oferecem suporte a ambos os modelos, embora seja maiscomum encontrar servidores de impressão e um pequeno número de impressoras de grandecapacidade.

14.9.1. O modelo de impressão Windows

A impressão no Windows é quase sempre feita a partir de um item no menu de um aplicativoGUI. É muito raro que a linha de comando seja utilizada. Os aplicativos geram produtosimpressos usando um processo muito similar ao que usam para colocar informação na tela.Um conjunto de drivers específicos para impressão é usado pelo sistema operacional, paragerar o fluxo de dados correntes para a impressora. Esses drivers são normalmente fornecidospelo produtor da impressora, e devem ser instalados no local ou no servidor de impressão

Página 75Versão 0.2

Page 76: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

antes de qualquer impressão. Em um ambiente de rede, é normalmente melhor instalar econfigurar os drivers no servidor de impressão, de forma que os clientes não necessitem serconfigurados à mão. (Ainda é necessário conectar as impressoras ao cliente: isso pode serfeito à mão ou através de um script login).

14.9.2. O modelo de impressão Unix e GNU/Linux

O GNU/Linux herdou seu modelo de impressão do BSD Unix. Os aplicativos geram arquivosou fluxos de dados para impressão que são repassados para um “programa de impressão aofundo”, que se responsabiliza pelo trabalho de impressão. Os trabalhos podem ser colocadosem uma fila e passados transparentemente para outras máquinas na rede. Os primeirossistemas Unix não possuíam uma interface independente de impressão para gerar dados deimpressão, dessa forma, cada aplicativo tinha que incluir um código para cada tipo deimpressora que conduzisse. No tempo em que a impressão era feita com um único tipo decaractere, isso não era problema, porem, quando os fabricantes começaram a adicionarrecursos gráficos, cada um criou uma nova e diferente linguagem de impressão.

Os sistemas de impressão BSD sempre tiveram capacidade de alimentar trabalhos deimpressão através de um conjunto de filtros, então as pessoas começaram a desenhar filtrosque convertessem de uma linguagem de impressão para outra, para aumentar a variedade deimpressoras com suporte. Muitas das melhores impressoras usadas em laboratórios depesquisa possuíam intérpretes PostScript, portanto, o PostScript passou a ser usado como alinguagem de impressão independente comum.

A maioria dos distribuidores GNU/Linux estão substituindo agora o sistema de impressãoBSD por um novo pacote chamado CUPS (Common Unix Printing System), que dá suporteao Internet Printing Protocol (IPP) além do tradicional protocolo lpr. Isso completa atransição para o novo modelo de impressão:

Os aplicativos geram trabalhos de impressão no Postscript. Quando os trabalhos tiverem passado para o sistema de impressão, o aplicativo pode

requisitar qualquer recurso especial que a impressora suporte (impressão dupla,dobrada, costurada, perfurada, ligada etc). As requisições tem um formato padrão,mas obviamente só serão bem sucedidas se a impressora possuir o hardwarenecessário. Há um modo padrão para que os aplicativos possam saber quais osrecursos suportados por uma dada impressora.

Os trabalhos podem ser colocados em fila local na estação de trabalho ou passadosimediatamente para um servidor de impressão. O usuário não precisa saber quemétodo está sendo utilizado.

O sistema de impressão pode distribuir os trabalhos entre um conjunto de váriasimpressoras similares.

O servidor de impressão dirige o trabalho através de um canal de filtros, que oconverte em fases, para qualquer formato necessário à impressora corrente, e paracontrolar a comunicação com a impressora.

Há, no momento, mais de 600 modelos de impressoras conhecidas por trabalharem com essemodelo (i.e. aplicativos GNU/Linux podem acessar todas as funções disponibilizadas usandoos drivers Windows fornecidos pelos produtores, e com resultados equivalentes ou melhores).

Embora o PostScript seja o formato intermediário mais usados, o CUPS pode ser configuradopara dar suporte a quase todos os formatos de arquivos com os quais os filtros podemtrabalhar. Particularmente, é comum que se permita que PDF, JPEG e alguns outros formatos

Página 76Versão 0.2

Page 77: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

sejam impressos diretamente, e alguns sites adicionam filtros que fazem impressão bonita eautomática de correio eletrônico etc.

O CUPS fornece interfaces compatíveis com o conjunto lpr BSD e também com o lp doSystem V. Portanto, é possível substituir inteiramente os sistemas antigos por máquinasexistentes (FreeBSD, OpenBSD, e a maioria das variantes Unix). A porta para o Windowsestá a caminho.

O CUPS fornece uma vasta gama de características e recursos, incluindo identificaçãoautomática de servidores de impressão, contabilidade de páginas, cotas etc. Para maioresdetalhes veja o website CUPS referido abaixo.

14.9.3. Configurando um serviço de impressão baseado em softwarede fonte aberta

Para distribuições muito pequenas, é simples configurar impressoras diretamente ligadas àcada estação de trabalho de cada cliente. Elas podem ser compartilhadas através da rede, sedesejado, e o CUPS oferece suporte muito facilmente.

O uso de servidores de impressão é recomendado para todos os casos onde haja mais do queum punhado de clientes, ou quando haja um volume substancial de impressão. Devem serinstaladas uma ou mais máquinas servidoras de impressão, e elas devem receber nomeslógicos no DNS além de seus hostnames. Isso permite configurações para nomes dereferência como printserver.example.org em vez de pc35.example.org, tornando então maisfácil reorganizar o serviço mais tarde. Todas as máquinas de clientes devem ser configuradaspara dirigirem-se a um dos servidores de impressão para todas as necessidades de impressão:isso evita ter que reconfigurar quaisquer clientes quando impressoras forem adicionadas ouremovidas.

14.9.4. Imprimindo a partir de clientes Windows para impressorasGNU/Linux anexas

Há muitas formas de configurar servidores de impressão baseados em GNU/Linux paradar suporte à máquinas estação de trabalho. Isso varia de acordo com o volume deesforço inicial e com o volume de esforço requerido por cliente.

14.9.4.1. Usando o protocolo lpr

Esse método é apropriado onde um número muito pequeno de clientes Windows precisareceber suporte.

O lpr é um protocolo muito comum, para passar trabalhos de impressão entre máquinasUnix. Como mencionado acima, ele está sendo substituído gradualmente pelo IPP, mas élargamente implementado e pode ser utilizado a partir de muitas versões do Windows.

1. Assegure-se de que a máquina GNU/Linux esteja configurada para aceitar trabalhosusando o lpr.

2. Obtenha um jogo apropriado de drivers Windows para a impressora. Em termos ideais,deveria ser o driver CUPS genérico, que gera PostScript portátil, porém é possível usardrivers específicos para impressão, caso o CUPS esteja configurado para permitirimpressões simples.

Página 77Versão 0.2

Page 78: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

3. Conecte-se à máquina Windows como Administrador.

4. Abra o programa utilitário da Rede no Painel de Controle, selecione a tecla Serviços eassegure-se de que a ”impressão Microsoft TCP/IP da Microsoft” esteja listada. Adicione,se necessário (isso requer o CD de distribuição e a reiniciação do computador).

5. Configure a impressora no cliente Windows como se fosse uma impressora local (nãoconectada à rede). Ao selecionar uma porta para a impressora, crie uma nova “porta LPR”e configure-a para enviar os trabalhos para o servidor GNU/Linux.

Agora o cliente Windows poderá enviar trabalhos de impressão para a máquinaGNU/Linux, porém as ferramentas Windows podem não conseguir ver e manipulartrabalhos em fila. O CUPS fornece suporte ao gerenciamento baseado na web, portanto osusuários devem ser avisados para usarem esse recurso, quando necessário.

14.9.4.2. Usando cotas de impressoras

Esse método também é apropriado para um pequeno número de clientes Windows. Eletrabalha com Windows 95/98/ME, bem como com Windows NT/2000.

1. Instale e configure o Samba no servidor GNU/Linux. Siga as instruções para criar cotasde impressoras: é fácil fazer o Samba criar automaticamente uma cota para cadaimpressora que o servidor reconheça.

2. Em cada cliente Windows, use o Add Printer Wizard para acrescentar uma impressoraconectada à rede. Você deve ser capaz de folhear uma lista de servidores para encontrar oservidor que você quer usar. Você vai precisar instalar drivers de impressoras localmente,na máquina do cliente.

Como recurso para refinar o esquema, o Administrador pode usar o Add Printer Wizard paracarregar drivers de impressoras no servidor Samba, de forma que não seja necessário instala-los individualmente nos clientes.

14.9.4.3. Usando configuração Point and Print

Este método é apropriado para instalações maiores e para aquelas em que máquinas declientes novos devem ser configuradas por equipes menos qualificadas. Requer um poucomais de esforço para configurar num primeiro momento, porém é mais fácil de usar depois depronto. O processo é bastante complicado, portanto, consulte o HOWTO do Samba paramaiores detalhes.

1. Instale e configure o Samba no servidor GNU/Linux. Para suporte Point and Print deve sera versão 3.0 ou acima, embora muitas funções tenham suporte em 2.2.4. Assegure-se de que oSamba esteja construído com suporte CUPS.

2. Configure o CUPS para fornecer suporte às impressoras Windows, acrescentando o pacotede driver CUPS.

3. Use cupsaddsmb para instalar os drivers Windows do CUPS para o Samba.

4. Conecte-se a partir de um cliente Windows usando uma identidade que permita modificarconfigurações de impressão no servidor, e configure as características da impressora defaultapropriadamente (tamanho do papel etc). Isso é mais complicado do que parece, pois oWindows fornece duas janelas idênticas em partes diferentes da configuração GUI e somenteuma delas afeta as configurações default. (Veja o HOWTO do Samba para detalhes).

Página 78Versão 0.2

Page 79: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

5. Em cada cliente Windows, folheie a vizinhança da rede para encontrar o servidor. Clique naimpressora que você deseja e “Conecte-a”. A impressora agora aparece na lista de impressoraslocais e pode ser utilizada facilmente.

Grandes instalações tenderão a usar um script de conexão para o item 5, em vez de faze-lo àmão.

14.9.5. Imprimindo esquemas de migração

Para sites pequenos, com alguns estações de trabalho e impressoras, é simples configurar umservidor de impressão baseado em GNU/Linux e simplesmente reconfigurar cada estação detrabalho cliente à mão. Caso haja diversas impressoras compartilhadas ligadas às máquinasestação de trabalho, pode valer a pena aproveitar a oportunidade para consolida-las em umservidor de impressão. Isso pode tornar-se mais fácil ajustando placas ethernet às impressoras,onde elas suportem o recurso (isso também pode oferecer uma melhora substancial dodesempenho sobre interfaces seriais ou paralelas). Impressoras paralelas só podem ser ligadasà rede usando caixas de impressão de rede.

Sites maiores certamente irão beneficiar-se do uso de um ou mais servidores de impressão.Essas máquinas podem desempenhar outras tarefas também, porém, se há um volumesubstancial de impressão, deve-se lembrar que converter o PostScript para outros formatosgera um trabalho intensivo para a CPU e a capacidade das máquinas deve ser avaliadaapropriadamente. Vale a pena fazer a configuração Point and Print completa caso tenha queser fornecido suporte aos clientes Windows, já que a migração de máquinas clientes dosservidores de impressão do velho Windows para os novos GNU/Linux pode ser feita com umsimples script de conexão.

14.9.6. Problemas Potenciais

Há alguns problemas comuns que podem ser evitados através de um planejamento cuidadoso:

1. Assegure-se de que cada impressora seja controlada apenas por um servidor. Faça com quetodos os outros estações de trabalho e servidores enviem trabalhos para a impressora atravésdo servidor que os controla. Isto é particularmente importante com impressoras ligadas àrede. Caso isso não seja feito, a impressora poderá receber dois ou mais trabalhos ao mesmotempo, com possível corrupção do produto.

2. Se possível, tente fazer com que somente um jogo de drivers formate a produção de umaimpressora. Seria provavelmente melhor faze-lo no servidor controlador, porém nãonecessariamente – dependerá, até certo ponto, do servidor que possuir o melhor driver para aimpressora. Outras máquinas processando a impressão do produto, devem tratá-lo como dadosbrutos. Caso isso não seja feito, um driver poderá tentar formatar um fluxo de produtos jáformatado, corrompendo a produção. Isso só tende a tornar-se um problema quando o produtoformatado contem dados binários.

14.9.7. Informações adicionais sobre impressão

Uma boa parte da informação está disponibilizada na Web. Estes sites são pontos de partidaúteis:http://www.cups.org/ - CUPS, o Common Unix Printing System.http://www.linuxprinting.org/ - o site Linux Printing, com uma vasta gama de informaçãoútil.http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO - o HOWTO do SambaPrinting. Note que este é o site de distribuição do autor e que o documento é um trabalho emcurso. Procure pela última minuta.

Página 79Versão 0.2

Page 80: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

14.10. Aplicativos Legacy

Os aplicativos que não contarem com alternativa software de fonte aberta e que não possam serrecompilados para trabalhar em software de fonte aberta, terão que trabalhar em uma máquinarodando o sistema operacional legacy, ou em um emulador de hardware ou software. Astécnicas discutidas no capítulo são aplicáveis.

14.11. Proteção anti-VírusUm pacote anti-vírus atualizado é essencial atualmente nos ambientes Windows e Macintosh.Até mesmo organizações com pouco interesse em segurança ignoram esta proteção a seupróprio risco.

Em contraste, há muito poucos vírus viáveis que afetam os sistemas software de fonte aberta.Como conseqüência, a proteção contra vírus, nos ambientes software de fonte aberta, limita-senormalmente à varredura de correio eletrônicos para evitar a passagem de vírus para usuáriosWindows.

Houve ataques automatizados a sistemas software de fonte aberta no passado, dos quais o maisfamoso foi o “Verme Morris”. Um forte foco em segurança nos anos posteriores ao eventoreduziu os riscos consideravelmente, porem ainda é possível que um vírus efetivo possa um diaser liberado. Boas práticas de gerenciamento de sistemas e educação contínua do usuário sãoatualmente uma defesa maior que um software anti-vírus.

Há atualmente dois projetos anti-vírus software de fonte aberta conhecidos, o Open Anti Virus(http://www.openantivirus.org/) e o ClamAV (que aparentemente desapareceu da rede). Ambosencontram-se em estágios prematuros de desenvolvimento e nenhum dos dois é recomendadopara o serviço ainda. Muitos dos produtos anti-vírus comerciais possuem versões que funcionamem plataformas software de fonte aberta. Essas versões não são inteiramente equivalentes àssuas contrapartes Windows – no momento elas estão direcionadas para funções como varredurade correspondência em vez de detecção imediata em código executável de vírus, como é comumno ambiente Windows. No entanto, como explicado acima, detecção imediata é, na maior parte,desnecessária nos sistemas software de fonte aberta; a varredura da correspondência égeralmente suficiente.

14.12. Referências

http://www.samba.org/ The Samba SMB file/print/domain serverhttp://www.openldap.org/ The OpenLDAP directory serverhttp://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.htmlThe Linux-PAM system administrator's guidehttp://samba.mirror.ac.uk/samba/docs/man/Samba-HOWTO-Collection.htmlThe main Samba HOWTO collectionhttp://www.csn.ul.ie/~airlied/pam_smb pam_smb PAM module to authenticateGNU/Linux users with SMBhttp://samba.idealx.org/index.en.html IDEALX tools and HOWTOs relating to Samba(algumas em Francês).

Página 80Versão 0.2

Page 81: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

15. Cenário 2 - Unix

A Administração possui servidores Unix (“big Unix” - Solaris, HP/UX, AIX, OSF/1, etc).Usa PCs com aplicativos cliente-servidor. Algumas Desktops Unix e Terminals X.

A migração das estações de trabalhos PC será similar à do Cenário 1 acima. É provável queas Desktops e os Terminais X estejam funcionando com aplicativos baseados em X, os quaisdevem funcionar sem qualquer problema nos novas estações de trabalhos softwareOpen source. O principal problema aqui é migrar os servidores.

Migrar do Unix para o GNU/Linux é similar a transferir de uma versão do Unix para outra.Tendo em vista que o termo Unix inclui AT&T, BSD e os códigos base OSF/1, que sãoimplementações diferentes do padrão POSIX – como é o GNU/Linux. As diferenças aparecemquando um programa usa recursos que estão fora do POSIX, coisas típicas comoadministração de sistema e recursos para melhorar o desempenho. Programas escritos deforma pobre, com pouca atenção ao POSIX, também apresentarão problemas – escreverprogramas portáteis é uma arte, “programas cultivados em casa” tendem a demandar algumtrabalho (eliminação de todos os avisos do compilador produzidos no mais alto nível deadvertência é um bom começo). Contudo, é provável que os problemas sejam detalhes e nãoarquiteturais, fundamentais. Os Unixes usam protocolos abertos, tais como TCP/IP e serviçoscomuns como DNS and DHCP.

É provável que também a configuração seja diferente. No entanto, não é provável que osdados do sistema sejam mantidos em um formato proprietário, conseqüentemente, manipula-los para estarem em conformidade com os requisitos GNU/Linux deve ser bastante fácil. Issoinclui usernames e senhas, embora diferenças sutis possam significar que a simplestransferência não é possível.

Se o código de fonte estiver disponibilizado, a recompilação deve permitir que o código sejatransferido. Contudo há algumas questões que precisam ser comentadas:1. Não há padrão para a localização dos arquivos e eles podem estar bem criptografados nosprogramas (como /usr/bin, /usr/local/bin ou /opt/bin).

2. Pode haver valores diferentes para as constantes do sistema, por exemplo, o númeromáximo de arquivos que podem estar abertos ao mesmo tempo.

3. Diferenças sutis na linguagem de programação, por exemplo ksh e pdksh. Compiladores Cdiferentes são mais ou menos exatos na checagem da sintaxe, portanto, o código pode serpermitido em uma máquina e apresentar erro em outra.

O código pode não ser portátil por alguns motivos, por exemplo:

Uso não portátil das constantes, como usar número em vez de SIGPIPE (algo definidoem um arquivo cabeçalho C). Isso é um exemplo de um programador programandopara o sistema operacional em vez do padrão POSIX.

Suposições sobre o comprimento da palavra ou a ordenação do byte.

O gcc, compilador no GNU/Linux, tem opções bastante flexíveis nessas circunstâncias.

4. Cada Unix pode ter arquivos cabeçalhos e bibliotecas diferentes. Também podem estar emlocais diferentes. Os locais e nomes podem ser alterados automaticamente, uma vezencontrados. No entanto, se a biblioteca ou o arquivo cabeçalho apresentam comportamentosdiferentes, será preciso intervenção manual. Por exemplo:

A semântica de algumas chamadas de bibliotecas diferem:

Página 81Versão 0.2

Page 82: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Como threads; Exec (ignorado o bit setuid em scripts); Asynchronous I/O; Ioctl para controle tty.

Valores diferentes para errno.

O código original pode usar aplicativos proprietários ou bibliotecas não disponibilizadas emGNU/Linux. Pode precisar ser reescrito para usar o que estiver disponível em GNU/Linux.Pode ser o caso se forem requisitadas interfaces de hardware especiais, por exemplo, umaplaca de fax. Há, psoftware de fonte abertaivelmente, muito trabalho a fazer nessascircunstâncias.

5. Os makefiles que ajudam na construção de aplicativos podem precisar de atualização pararefletir as diferenças mencionadas acima.

6. Os aplicativos podem fazer suposições sobre subsistemas específicos como os de impressãoe bancos de dados. Isso significa, por exemplo, que o código SQL pode ter que ser reescrito.

7. Transferir qualquer código para um novo hardware, compilador ou sistema operacionalpode apresentar erros no programa, os quais estiveram sempre lá, porém nunca apareceram,por exemplo, por estar a memória disposta de forma diferente, números inteiros tem tamanhosdiferentes ou os bytes são ordenados de forma diferente.

As seguintes referências dão mais detalhes:http://www.linuxhq.com/guides/LPG/node136.htmlhttp://www1.ibm.com/servers/esdd/articles/porting_linux/index.html?t=gr,l=335,p=PortSolaris2Linuxhttp://www-106.ibm.com/developerworks/linux/library/l-solar/?open&t=grl,l=921,p=Sol-Lxhttp://www-1.ibm.com/servers/eserver/zseries/library/techpapers/pdf/gm130115.pdfhttp://www.unixporting.com/porting-guides.html

Página 82Versão 0.2

Page 83: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

16. Cenário 3 – Mainframe

A Administração é baseada em uma mainframe (pode funcionar com MVS, VM/CMS,AS/400, ou até Unix). A maioria dos usuários possuem acesso à tela verde. Há poucosPCs, a maior parte sendo usados como emuladores de terminais, mas com um ou doisaplicativos.

Este cenário é similar ao do Thin Client, no que diz respeito aa estação de trabalho,particularmente se a arquitetura for mantida.

Não há dados de migração de servidores disponíveis.

Página 83Versão 0.2

Page 84: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

17. Cenário 4 - Thin client

A Administração usa estações de trabalho thin com acesso via Citrix ou similar a umamescla de Windows e aplicativos Unix.

O uso do BRA não é assumido aqui porque as razões originais de utilizar um modelo thinclient possam ainda ser consideradas consistentes. Contudo, se for contemplada uma mudançapara o BRA, muitos dos mesmos problemas do Cenário 1 vão aparecer. A migração nesteCenário, sob esta pressuposição é, portanto, muito simples, já que a arquitetura não vai mudar.

Pelo fato de o cliente ser muito thin, tudo que é necessário é um software leitor de fonteaberta para cada protocolo requerido. O sistema de janelas não necessita de muitafuncionalidade, portanto será suficiente um gerenciador de peso leve como o tvwm.

Os seguintes protocolos podem obter suporte (entre outros):

1. HTTP. Qualquer navegador software de fonte aberta será suficiente. A capacidade defuncionar com Javascript e Java terá que ser investigada. Adicionalmente, quaisquer extensõesrequisitadas terão que receber suporte diretamente, através de um substituto usando o pacoteplugger ou através do pacote proprietário CodeWeavers CrossOver Plugin.

2. ICA. Este é o protocolo Citrix proprietário. O Citrix fornece um leitor ICA “preço zero”,porém não software de fonte aberta, que trabalha no GNU/Linux.

3. RDP. Este é o protocolo utilizado pelo Servidor de Terminal Windows. Há disponível umleitor software de fonte aberta para RDP, restação de trabalho.4. VT220, VT100 etc. Estes protocolos DEC recebem suporte de xterm usando o conjunto devariáveis ambientais TERM apropriadas. A conexão com o host é feita via telnet.

O xterm pode emular muitos tipos de terminais diferentes através da mudança do valor davariável TERM. Por exemplo, a configuração de TERM=prism9 vai emulara o protocolousado pelas máquinas PRIME. Todas as emulações assumem a conectividade telnet ou similare um protocolo baseado em caractere em vez de baseado em página.

5. 3270. O programa x3270 fornece o suporte apropriado. A conexão com o host é feita viatelnet.

6. X. Este é o protocolo de exibição original BGNU/Linux e, portanto, não deve apresentarproblemas.

Há produtos proprietários para alguns dos protocolos mais herméticos.

O Linux Terminal Server Project (LTSP) http://www.ltsp.org/ fornece um número de kitspara construir dispositivos thin client baseados em GNU/Linux. Este é um projetoextremamente ativo e a qualidade do software parece ser muito boa.As mudanças requisitadas nos servidores são similares às considerações discutidas nos outrosCenários.

Página 84Versão 0.2

Page 85: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Apêndice A – Estudos de Casos DisponibilizadosPublicamente

A.1. http://www.turku.fi/tieto/liite44.rtf

Teste na cidade de Turku:

1. OpenOffice.org,

2. x3270,

3. IBM Host On-Demand,

4. WRQ Reflection for the Web,

5. Hansa,

6. AS400 Emulator,

7. Netscape Communicator,

8. Mozilla,

9. Konqueror,

10.F-Secure Anti-Virus.

Nenhuma experiência de migração reportada. Intenção de migrar em 2003.

A.2. http://www.m- tech.ab.ca/linux-biz

Uma compilação de sites aparentemente usando GNU/Linux. A informação em cada site ésuperficial, porém há links com psoftware de fonte abertaíveis contatos que podem vir afornecer maiores informações.

A.3. http://www.washingtonpost.com/ac2/wp- dyn/A59197-2002Nov2?language=printer

Uma descrição do uso do software de fonte aberta em Extremadura, Espanha. Foi criada umadistribuição local chamada linex (see http://www.linex.org/ ). Sua experiência é de que osusuários tem poucos problemas ao usarem o software. Além disso, os usuários necessitam doacesso ao Windows para lidar com formatos de arquivos da Microsoft em algumascircunstâncias. Anunciaram recentemente que há 80.000 usuários recebendo suporte.

A.4. http://newsforge.com/print.pl?sid=02/12/04/2346215

Essa é uma história sobre a cidade de Largo. Tem vários links e está discutindo o custo depropriedade.

A.5. http://people.trustcommerce.com/~adam/office.html

Uma companhia que redigiu sua experiência de mudar para software open source na estaçãode trabalho bem como nos servidores. Site KDE.

A.6. http://www.business2.com/articles/mag/print/0,1643,44531,00.html

Página 85Versão 0.2

Page 86: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Uma descrição de Zumiez, que instalou estações de trabalhos Gnome da Ximian em suaorganização. Outros estudos de casos também.

A.7. http://lwn.net/Articles/13301/?format=printable

Contem relatos de experiências na Dinamarca. Refere-se a um relatório elaborado pelo ComitêDinamarquês de Tecnologia, o qual, infelizmente, não está totalmente traduzido para o inglês.

A.8. http://www.siriusit.co.uk/support/casestudies/k_g_case.html

Estudo de caso de uma companhia do Reino Unido que migrou recentemente para o softwarede fonte aberta.

A.9. http://staff.harrisonburg.k12.va.us/~rlineweaver

Experiência de uso do software de fonte aberta em escolas.

A.10. http://www.li.org/succes s

Uma lista de estudos de casos. Alguma informação útil.

A.11. http://www.statskontoret.se/pressrum/press/2003/press030207english.htm

http://www.statskontoret.se/pdf/200308eng.pdf

http://www.statskontoret.se/pdf/200308engappendix.pdf

Um estudo do software de fonte aberta na administração pública na Suécia.

A.12. http://www-3.ibm.com/software/succes s/c s sdb.nsf/topstoriesFM?OpenForm&Site=linuxatibm

Uma lista de estudos de casos específicos da IBM. Nenhum detalhe real e centrado emservidor, mas fornece uma visão do uso do GNU/Linux no mundo.

A.13. http://h30046.www3.hp.com/search.php?topiccode=linuxCASESTUDY Uma lista de estudos de casos específicos HP.

A.14. http://openapp.biz/seminar/Tony_Kenny/Tony_Kenny.pdf

O Hospital Beaumont em Dublin durante vários anos mudou completamente para software defonte aberta, não somente em sua administração técnica, mas também em TI. O link oferecebastante detalhes. O Hospital Beaumont espera economizar algo na ordem de €13 milhões emum período de 5 anos, em função da mudança. Chegaram à conclusão de que, bem gerida, amigração torna-se aceitável a todo o pessoal e que os sistemas software de fonte abertapodem ser operados de forma muito mais eficiente.

Página 86Versão 0.2

Page 87: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Apêndice B - Wine

Wine significa “Wine Is Not an Emulator”, e pode-se encontrar detalhes completos em http://www.winehq.com/ .

B.1. História

O desenvolvimento do Wine começou em torno de 1993, com Bob Armstad, que operavaGNU/Linux e Windows na mesma máquina. O softwareGNU/Linux atingiu o ponto de estarcapacitado a satisfazer a maior parte de suas necessidades, mas ele psoftware de fonteabertauía alguns programas de jogos dos quais gostava muito e que só estavam disponíveisem Windows.

Cansado de recarregar o sistema só para executar jogos, começou a trabalhar em um meio deinterceptar as chamadas do sistema aos jogos usados e mapeá-los para o ambiente GNU/LinuxX. Outras pessoas ouviram falar a respeito do trabalho e começaram a ajudar, até que o Winetornou-se capaz de executar os jogos que eles queriam jogar.

Em torno de 1995, as pessoas tentavam operar outros programas, inclusive o Quicken e oconjunto Office, e então esses aplicativos tornaram-se a principal área de interesse. Um gruposeparou-se, continuando a fornecer suporte às complexas técnicas gráficas usadas nos jogos,mas que não são usadas em geral em aplicativos de estilo escritório. O projeto agora adotouuma abordagem mais formal, com uma equipe com um núcleo de desenvolvedores e um líderde projeto. Desde 2000, o projeto estabeleceu-se em bases mais sistemáticas, com um líder deprojeto e uma equipe de suporte com base nos Estados Unidos, duas pequenas equipes dedesenvolvimento no Canadá e desenvolvedores na maioria dos países europeus. Os maioresvendedores também estão contribuindo, por exemplo, a IBM.

Foram criadas técnicas para identificar as chamadas do sistema operacional que o programafazia. Na maior parte dos casos, o desenvolvimento de um pequeno número de códigoshabilitaria um aplicativo a ser operado. Descobriu-se que os programas freqüentementepreparam-se para chamar uma interface particular, porém não fazem a chamada de fato. Entãoo código foi escrito para permitir aos programas continuarem a fazer essas chamadaspreparatórias, sem que ocorram erros imediatos, bem como códigos para dar suporte àschamadas verdadeiras.

O primeiro uso comercial do Wine foi pelo Corel, que trabalhou bastante no suporte do Wine,e usou-o para produzir uma versão nativa GNU/Linux do Wordperfect 8. Outras companhiasdesde então passaram a usar o Wine para produzir versões GNU/Linux de seus produtos como mínimo esforço e mudanças psoftware de fonte abertaíveis, sendo que uma das últimas é oXilinx, que produz pacotes CAD eletrônicos especialistas. É provável que o projeto XimianMono use o Wine para permitir que aplicativos .NET escritos para Windows trabalhem semserem re-escritos. Veja http://appde.winehq.com/ para detalhes sobre o nível de suportepara uma gama de aplicativos.Recentemente, uma equipe de desenvolvedores de aplicativos Windows experiente começou aproduzir um conjunto de programas-teste para checar sistematicamente as 12.000+ chamadasde sistema correntes na biblioteca do Windows.

Atualmente, o Wine abrange cerca de 750.000 linhas de código “C” realizando cerca de tornode 90% das chamadas em especificações populares do Windows, como ECMA-234 eOpen32. As chamadas não documentadas publicamente são mais difíceis de implementar, masestão sendo feitos progressos.

Algumas companhias que trabalham com o Wine, desenvolvem códigos para funçõesparticulares, que inicialmente são proprietárias. Elas o fazem para financiarem a si enquanto

Página 87Versão 0.2

Page 88: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

realizam seu trabalho no projeto principal. E movem seu código para o projeto principalquando obtém a uma fonte de receita alternativa conveniente.

B.2. O que o Wine faz

O Wine intercepta todas as chamadas aos sistemas Windows e DOS junto com as interrupçõesBIOS, e tenta mapeá-las no ambiente GNU/Linux X. São executadas instruções deprocessador original como se estivessem no ambiente Windows, portanto, o Wine não é umemulador completo.

O Wine não está amarrado à arquitetura Intel x86 – por exemplo, existe uma versão para oDEC/Compaq Alpha, mas o uso e a demanda séria existem somente no x86. Ele nãopossibilta a programas Windows x86 serem executados em outra arquitetura, como PowerPCou SPARC, embora o Wine faça compilações e opere em ambos.

Nem todas as interfaces no ambiente Windows podem ser mapeadas em uma interface nosambientes GNU/Linux e X. Algumas interfaces Windows simplesmente não psoftware defonte abertauem um equivalente. Isto significa que, em algumas instâncias, há que se escreveruma quantidade significativa de códigos para dar suporte ao mapeamento. Por exemplo, háproblemas com os cursores mais complexos usados por alguns programas Windows. O XWindow System não consegue lidar com mais de duas cores em um cursor, o que significa queo Wine precisa assumir quais cores usar, ocasionalmente com resultados inúteis.

O Wine é atualmente dois produtos, o Wine propriamente dito, que permite operar programasWindows pré-compilados, e o Winelib, que pode ser usado para compilar um programaWindows para produzir um programa GNU/Linux original (isso é o que o Corel usava paraproduzir a versão GNU/Linux do Wordperfect).

O Winelib pode ser usado para operar programas em outros hardwares alem do x86, caso ocódigo fonte estiver disponível, embora ainda possam permanecer alguns outros problemasespecíficos de arquitetura (por exemplo, questões endian).

B.3. Em que o Wine é bom

Há suporte disponível para programas Windows 3.x/95/98/ME/NT (embora o suporteWindows NT seja menos completo). Muitos programas dirigidos ao Windows 2000 vãooperar, a não ser que usem novas interfaces especializadas introduzidas com o Windows2000. Trabalhou-se pouco até agora no suporte específico a programas Windows XP, masexistem poucos deles ainda.

O Wine fornece suporte à maioria das interfaces Windows documentadas publicamente, noentanto, o suporte não é sempre tão completo quanto se gostaria. Vejahttp://www.winehq.com/?page=status para detalhes sobre a situação atual de suporteno Wine.

Programas que operam isolados ou que usam apenas interfaces de comunicação externa,trabalharão normalmente. Cada programa deve ser checado individualmente porque asinterfaces precisas e os parâmetros usados podem interagir causando problemas.

Há relatórios de pessoas que operaram compiladores e ambientes de desenvolvimento comalgum sucesso.

B.4. Em que o Wine não é bom

Algumas áreas específicas não estão completas, por exemplo a Dynamic Data Exchange(DDE). No entanto, muitos programas fazem chamadas DDE sem usa-las de fato, e portantofuncionarão bastante bem. O OpenGL e outras áreas gráficas especializadas de alta velocidade

Página 88Versão 0.2

Page 89: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

também apresentam questões. Existe, em parte, a implementação de Access Control Lists(como no Windows NT), mas ainda não foram integradas com ACLs na base O/S.

O dispositivo VxD de tecnologia de driver, introduzido com o Windows 98, é uma áreadifícil. Ele precisa de acesso ao interior do hardware e do kernel de uma forma que qualquersistema multiuso sério não permitiria. Há técnicas disponíveis para produzir equivalentes,porém envolvem bastante trabalho, sem garantia de que irão funcionar. Em alguns casos, ovendedor pode ser persuadido a produzir uma versão original GNU/Linux, que usa interfaceGNU/Linux normal. Como essa arquitetura está sendo abandonada pela Microsoft (o tipo dearquitetura do Windows NT não permite tal acesso), isso deixará de ser um problema aospoucos.

Alguns programas Windows tentam manipular dispositivos diretamente (especialmente portasseriais). Isso não é permitido no GNU/Linux, ou qualquer outra variante Unix. Issonormalmente só é aplicável a pacotes de comunicações como o Procomm, e programasderivados de produtos DOS onde tais coisas tinham que ser feitas.

O desenho de algumas imagens gráficas ainda não é satisfatório, especialmente o retoque dafonte True Type. Contudo, trabalha-se ativamente com esse objetivo.

A outra área difícil é o software desenvolvido pela própria Microsoft. Isso porque essesprodutos tendem a usar interfaces não documentadas. Embora seja possível descobrir o queacontece, os desenvolvedores devem ser cautelosos, já que as leis relativas à engenhariareversa são muito severas em alguns países. Nos EUA, por exemplo, é proibida a engenhariareversa para qualquer propósito, e a maior parte dos outros países ocidentais permitemsomente para o estabelecimento de compatibilidade. Portanto, o trabalho nessa área serásempre um pouco lento. A operação de instaladores de aplicativos tem sido particularmente problemática, mastrabalhos recentes resolveram a maior parte das dificuldades e esse trabalho continua.Algumas dessas dificuldades são causadas por desenvolvedores que não utilizam as técnicasrecomendadas. O acesso ao registro é um exemplo disso. O formato do Wine tem um formatodiferente do Windows, para facilitar a recuperação. Enquanto as interfaces documentadasforem usadas para acessar o registro, não há problema, porém, às vezes, os desenvolvedoresacessam o registro diretamente, sob o risco de corromperem um registro Windows verdadeiro,e isso resulta em que o programa não pode mais trabalhar no Wine.

O Wine é criticado algumas vezes por baixo desempenho, porém isso é freqüentementedevido a seu extenso código de debugging. É possível compilar o Wine sem isso, porém deve-se fazê-lo com cuidado, já que significa que os problemas não podem ser diagnosticados semrecompilação adicional.

B.5. Wine – alternativas comerciais

Como mencionado anteriormente, versões prolongadas do Wine estão disponibilizadas comoprodutos comerciais para dar suporte à corrente principal do Wine. As duas companhias queestão fazendo isso são a Transgaming e a CodeWeavers.

A Transgaming trabalha principalmente no aperfeiçoamento de gráficos e interfaces de som eseu produto visa o mercado de jogos. A CodeWeavers está trabalhando em aplicativos officede tendência dominante, e tem um produto, o Crsoftware de fonte abertaOver Office, que dásuporte, por exemplo, ao Office e ao Lótus Notes.

B.6. Wine e Visual Basic

Foi reportado que o Visual Basic 3 opera no Wine, porém não há detalhes disponíveis.

Página 89Versão 0.2

Page 90: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O Visual Basic 6 atualmente não é instalável. Está sendo feito um trabalho para resolver esseproblema, porém é muito cedo para dizer se será completamente bem sucedido ou não.

Não há informações de tentativas com outras versões.

B.7. Migração de Aplicativo para o Wine

Esta é uma lista de diretrizes gerais para gerir o processo de migração de aplicativos paraGNU/Linux no Wine:

1. Checar as condições da licença. Algumas companhias publicaram licenças que proíbem aexecução de seu aplicativo, exceto no sistema operacional alvo. Por exemplo, a Oraclecostumava fazer isso e a Microsoft começou a fazer isso para componentes que podem serlivremente downloaded; a situação é fluida. Remova qualquer programa em tais condições dalista teste e faça uma lista deles separada.

2. Obtenha cópias de todos os aplicativos para serem migrados (podem ser todos). Licenças desites podem não permitir cópias para testes.

3. Configure uma máquina com o último instantâneo do Wine.

4. Teste cada um dos programas da lista teste. Anote todos os problemas encontrados, anotetambém se eles estão na fase de instalação, inicialização ou execução. Além disso, avalie seeles afetam, na verdade, o que os usuários precisam fazer através de testes, com uma seleçãorepresentativa de usuários finais. Anote também o baixo desempenho. O produto disso serãoavisos indicando onde as chamadas do sistema ainda não foram implementadas ou estãoimplementadas de forma incompleta.

5. Para cada programa da lista de problemas, verifique primeiro se já existe umaimplementação GNU/Linux. Se houver, não deve haver problemas, mas teste até onde puder.Se não houver implementação GNU/Linux, será necessário contatar o vendedor e sugerir criaruma através do uso do Winelib. Novamente, podem estar faltando DLLs. Há que se lidar comcada vendedor separadamente.

6. Onde os vendedores recusarem-se a cooperar, terão que ser encontrados aplicativosalternativos, ou o projeto deverá ser abandonado .

7. Uma vez disponibilizadas a lista de DLLs extras e de chamadas de biblioteca requeridas,será possível obter um preço pela implementação.

8. Cada programa precisará ser retestado com novos instantâneos de Wine/Winelib até que osproblemas todos desapareçam. Remendos às vezes causam problemas com programas queanteriormente estavam operando corretamente, e isso precisa ser testado.

9. O Wine é normalmente compilado com rastreamento debugging, e isso atinge odesempenho de forma ruim, especialmente em interações de telas. Quaisquer programas queoperem corretamente, mas tenham problemas de desempenho, devem ser re-executados emcontraposição a uma cópia do Wine compilado without debug tracing. Se o desempenho aindafor insatisfatório, será necessário um trabalho de desenvolvimento.

Página 90Versão 0.2

Page 91: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Apêndice C – Sistemas de Correio

Este apêndice detalha sistemas de correio em geral, porque a abrangência dos produtos decorreio software de fonte aberta pode, às vezes, ser confusa e a terminologia usada nemsempre é clara.

O Modelo de Correio da Internet é baseado em vários componentes lógicos, cada um dosquais tem um trabalho específico para fazer, e comunica-se com os outros através do uso deprotocolos abertos. Este é o modelo usado pelos sistemas software de fonte aberta. O modelopode ser melhor descrito com a ajuda de alguns diagramas.

Este diagrama mostra o caminho para a entrega de uma correspondência simples. Acorrespondência é gerada por um Agente Usuário de Correio (Mail User Agent/ MUA) .Depois é passado para um servidor de correio, que tem que resolver se pode entregar acorrespondência localmente ou se a correspondência deve ser passada para outro servidor. Acorrespondência é passada de servidor em servidor, até que um deles decida que podeentregar a correspondência localmente, e o faz então. Quando essa entrega estiver completa, acorrespondência estará disponível para que um MUA a leia. O MUA final tem aresponsabilidade de recuperar a correspondência, bem como de passá-la para uma InterfaceUsuário de Correio (MUI), para exibi-la para o usuário.

De que forma cada servidor de correio decide entregar a correspondência localmente ou não,poderia ser assunto para um outro capítulo. Em síntese, cada servidor consulta um ou váriosarquivos de configuração local, junto com informação de servidores DNS (principalmente osregistros MX). Tudo isso é usado então para decidir o que é considerado local. Para acorrespondência não-local, o servidor usa a informação para determinar o endereço dopróximo servidor de correio ao qual mandar a correspondência.

Cada servidor de correio tem, em geral, a estrutura mostrada na figura 2.

O Agente de Transporte de Correio (Mail Transport Agent/ MTA) aceita conexões de outrosservidores de correio e MUAs via Protocolo de Transporte de Correio Simples (Simple MailTransport Protocol/ SMTP). Caso a correspondência não seja para entrega local, é então

Página 91Versão 0.2

Page 92: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

enviada a outro servidor pelo MTA. Se a correspondência for para entrega local, ela é passadapara um Agente de Entrega de Correio (Mail Delivery Agent/ MDA). O MDA é responsávelpor armazenar a correspondência na caixa de correio do usuário. A caixa de correio ésimplesmente uma forma de armazenar dados, por exemplo, um arquivo, uma série dearquivos separados ou até um banco de dados SQL. A estrutura de armazenamento preciso édefinida por aquilo que o MDA suporta. Quando um usuário deseja ver sua correspondência,ele usa um MUA que recupera a correspondência diretamente ou entra em contato com umcomponente do servidor, que recupera a correspondência da caixa de correio e passa-a para oMUA. Tais componentes do servidor não se encaixam no modelo tradicionalMTA/MDA/MUA e nós os chamaremos de Agentes de Acesso ao Correio (Mail AccessAgents/ MAA). Este termo, no entanto, não é de uso corrente.

O MUA comunica-se com um MAA usando um protocolo aberto, que usualmente é oProtocolo de Correio (Post Office Protocol/ POP), ou o Protocolo de Acesso ao CorreioInternet (Internet Mail Access Protocol/IMAP). O protocolo POP normalmente deletacorrespondências da caixa de correio quando estas são passadas ao cliente e o IMAPnormalmente as deixa lá. O protocolo IMAP também permite que o MUA altere a caixa decorreio, por exemplo, deletando correspondência ou movendo-a de um diretório para outro.

O MUA pode armazenar correio localmente, na máquina onde está trabalhando. Isso ocorrenormalmente quando o POP é usado. Esse armazenamento local então permite que o acessofuturo seja independente do servidor, que é particularmente útil para máquinas que não sãopermanentemente conectadas à rede. Por outro lado, o IMAP normalmente opera sem cópiaslocais, mas também pode operar no que chamamos de modo desconectado, que mantém umacópia local, permitindo ao correio ser manipulado sem uma conexão de rede. Nesse modo, ascaixas de correio local e do servidor estão sincronizadas quando é feita uma conexão de rede.Infelizmente, nem todos os MUAs suportam completamente o IMAP desconectado.

Algumas vezes, um programa diferente de um MUA recupera a correspondência e armazena-alocalmente para um MUA, sem ter que conectar-se ao servidor. Tais programas puxam correio

Página 92Versão 0.2

Page 93: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

para suas máquinas, em contraste com um MTA padrão, para o qual o correio é empurrado poroutros MTAs. Isso pode ser útil se os usuários não desejarem permitir conexões da Internetcom suas máquinas, ou estejam operando por trás de uma firewall. Um exemplo de talprograma é o fe tchmail .

A dificuldade com esse modelo é que os aplicativos disponíveis não se organizam diretamentepara ele. Os aplicativos, muito freqüentemente, fazem mais do que uma das funções; porexemplo, o MTA pode incorporar a função MDA, e o Sendmail MTA popular pode até serusado como um MUA em algumas circunstâncias.

Como a correspondência é passada do MUA origem através de vários servidores, até o MUAfinal, é acrescentada uma série de cabeçalhos, que grava os detalhes da viagem e tambémcontrola o processamento da correspondência pelos servidores intermediários e pelo MUAfinal. Alguns deles são cabeçalhos Multi-purpose Internet Mail Extension (MIME), que sãousados para uma série de objetivos de controle, inclusive suporte para conjuntos de caracteresnon-ASCII , suporte para conteúdo embutido como imagens e suporte para anexos. Quandoum MUA anexa um arquivo, ele grava seu tipo como um cabeçalho MIME e então, éresponsabilidade do MUA final estar apto a decodifica-lo.

Abaixo discutimos partes desse modelo mais detalhadamente:

C.1. MTA

A maior parte dos MTAs permite ao administrador controlar a aceitação da correspondênciaem função do remetente. Isso é feito, freqüentemente, limitando-se o número de endereços IP,vindos de conexões SMTP, que o MTA vai aceitar. Isso é extremamente valioso na prevençãode spammers que usam o MTA como um relay e entopem a largura de banda da rede aoMTA.

Existe um conjunto de mais ou menos 20 extensões para o SMTP chamadas Extended SMTPou ESMTP. Essas extensões permitem, entre outras coisas, transferência mais rápida decorrespondência entre MTAs concordantes, usando a extensão de um canal de informação.

Uma outra extensão possiblita a codificação do Transport Layer Security (TLS) entre MTAsconcordantes, e uma outra, a SMTP-AUTH, permite que os usuários sejam autenticados,usando uma série de técnicas. Ambas as extensões são úteis quando o MTA não permite queum cliente se conecte normalmente porque seu endereço IP está fora do espaço deendereçamento confiável. Isso pode acontecer, por exemplo, se um usuário de laptop digitarde um site qualquer da Internet. Veja C.4.2 abaixo.

O modelo original assumia que o proprietário de uma conta de correio tinha uma conta delogin no servidor de correio. Isso significava que o MTA poderia examinar o arquivo de senhalocal para autenticar os usuários. Esse modelo é muito restritivo e os MTAs modernosprecisam dar suporte aos Usuários Virtuais onde os detalhes do proprietário da conta sãomantidos em um banco de dados, freqüentemente de forma independente dos detalhes daconta de login normal. Isso significa que um usuário pode ter uma senha para correio e umaoutra para login.

O banco de dados pode receber suporte de LDAP, um banco SQL ou um arquivo simples. OMySQL é o servidor de SQL preferido pois é eficiente e rápido no que diz respeito a umaplicativo basicamente “somente para leitura”. O PostgreSQL e o Oracle também podem serusados.

Um banco de dados com suporte LDAP é recomendado pois oferece suporte melhor paradistribuição. Implementações com default LDAP freqüentemente usam os produtos BerkeleyDatabase da Sleepycat Systems.

Algumas vezes, uma máquina pode só conectar-se a um servidor de correio intermitentemente.Isso pode acontecer no caso dos que trabalham em casa ou usuários de laptop, por exemplo.

Página 93Versão 0.2

Page 94: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Também pode acontecer em pequenos escritórios, onde o custo de uma conexão permanentenão se justifica. Nessas circunstâncias, a central não pode enviar correspondência como farianormalmente, e precisa armazená-la até que seja feita uma conexão. Comentários similaressão válidos para o MTA (se houver) na máquina cliente, ou, no caso de um escritóriopequeno, o servidor de correio que é gateway. Esses MTAs precisam podem suportar taissituações e são normalmente chamados de Smart Host (Anfitriões Inteligentes) quando ofazem.

A distribuição de um Smart Host pode ser feita através de SMTP ou POP3.

A distribuição via SMTP é direta e a segurança da máquina receptora pode ser aperfeiçoadaatravés da restrição da conexão para dentro somente a partir do Smart Host.

A distribuição via POP3 pode ser feita usando-se o MUA ou o aplicativo fe tchmail . OFetchmai l fará o download da correspondência para uma caixa de correio local, comomencionado acima, ou entregará em um MTA local, caso seja requisitado, por exemplo, ondeestão envolvidas múltiplas contas de correio.

Ambos os métodos trabalham bem, porém apresentam a desvantagem de não permitirem o usode “listas negras” para prevenir spam de relays abertos e de outras fontes indesejáveis.Ferramentas como SpamAssassin podem eliminar a maior parte do spam, mas os custos deprocessamento são muito mais altos e largura de banda maior é utilizada para descarregarcorreio destinado ao exame.

C.2. MUA

O MUA e o MUI juntos formam o pacote que a maioria dos usuários consideram “o correio”.Esse é o software cliente que opera em um servidor da web ou diretamente em estação detrabalho para permitir às pessoas enviar e receber correspondência. É normalmente fornecidoalgum tipo de armazenamento, de forma que a correspondência possa ser inserida em “pastas”ou “ caixas de correio locais” para referência futura.

O MUA lida com protocolos do tipo SMTP para submissão de correspondência e IMAP ouPOP para recuperação de correspondência e arquivamento. Ele compreende o formato dasmensagens de correio e pode decompor mensagens MIME em suas partes componentes.Onde houver uma requisição de forte segurança “ponta-a-ponta”, o MUA também éresponsável pela codificação e assinatura das mensagens. Há dois padrões que competemnesse caso: o S/MIME, que é baseado em certificados X.509, e o PGP/GPG, que é baseadoem um formato diferente de certificado com um modelo mais “web-of-trust” do que“hierarchy-of-trust”.

A maioria dos MUAS de software de fonte aberta dão suporte a assinaturas digitais usando oGNU Privacy Guard (GPG). Somente poucos dão suporte a assinaturas S/MIME.Corporações de negócios e Governos optaram pelo padrão S/MIME e seu uso deve, portanto,contar com suporte.

C.3. Armazenagem de Correio

Os sistemas Unix assumiram originalmente que o proprietário de uma conta de correio teriaacesso à máquina recebendo o servidor de correio, e que poderia ler um arquivo contendo suascorrespondências – ou, alternativamente, que a correspondência seria entregue à máquinanormalmente usada pelo usuário para trabalhar. Isso funcionava bem para ambientes com umnúmero pequeno de usuários que também precisavam de uma conta login real em umamáquina com um servidor de correio, porém não é prático ou seguro em termos gerais.

O formato original para armazenar correio era um arquivo único por usuário, com ascorrespondências novas sendo anexadas ao final. Esse arquivo poderia ficar muito grande e aleitura através dele de uma correspondência aleatória seria logo ineficiente. Esse formato é

Página 94Versão 0.2

Page 95: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

freqüentemente conhecido como “mbox” e ainda é usado por alguns MUAs, em particularpara correio armazenado localmente para o usuário. Foi feita uma alteração em que cadacorrespondência passou a ser mantida como um arquivo diferente na estrutura do diretório,que permite acesso aleatório mais eficiente. Uma variante dessa estrutura é chamada “mh” euma outra particular com diretórios e procedimentos de acesso definidos é chamada“maildir”.

Algumas vezes, essas estruturas eram mantidas no servidor de correio e exportadas aosclientes usando, por exemplo, NFS. Isso permitia que o correio fosse mantido de formacentralizada, o que significava que poderia ser devolvido de forma apropriada, porémintroduziu problemas de fechamento com a estrutura de arquivo único. No entanto, o uso doNFS não se tornou popular, talvez pela falta de bons clientes NFS no Windows.

Nem todos os MTAs dão suporte a esses métodos diferentes de acesso direto, por isso anecessidade de MAAs. Um MUA que não pode acessar o depósito de correio diretamente,terá que usar um componente MAA que usa POP ou IMAP.

Tanto o POP3 quanto o IMAP enviam senhas como texto simples por default. O IMAP podeusar senhas misturadas, se o MUA suportar. O uso de links TLS criptografados é possível, seo MAA e o MUA suportarem, é recomendável em redes locais, e deve ser obrigatório paraacesso remoto.

Os MTAs algumas vezes comunicam-se com os MDAs usando o Local Mail TransportProtocol ou LMTP. A maior parte dos MTAs e MDAs dão suporte ao mesmo.

C.4. Usuários em Movimento

O problema com usuários em movimento é que eles podem conectar-se de endereços IPimprevisíveis, portanto os métodos normais usados pelos MTAs para aceitar correio chegandoirá impedi-los de enviar correio via servidor de correio da Administração. Os MTAs devemrestringir o acesso de clientes desconhecidos a eles mesmos, para impedir seu uso porspammers como relay de terceiros.

Há três técnicas gerais disponíveis para contornar esse problema:

C.4.1. Redes Privadas Virtuais (Virtual Private Networks - VPNs)

Num VPN, à máquina remota pode ser alocado um endereço que pode ser incluido no espaçoconfiado aos MTA. O problema é que todo o acesso para a rede interna ficará disponível aqualquer pessoa que acesse a máquina remota, um risco significativo com laptops, a não serque as chaves de acesso sejam codificadas com uma senha registrada toda vez que a conexãofor iniciada. Infelizmente, o problema é que os usuários algumas vezes configuram suasmáquinas para lembrar as senhas.

C.4.2. SMTP-AUTH e TLS

A extensão SMTP-AUTH para o SMTP permite que um MTA seja configurado pararequisitar uma senha para autenticar o usuário remoto. Os principais métodos de autenticaçãosão PLAIN, LOGIN e CRAM-MD5.

O PLAIN requer que a senha seja mantida em aberto no cliente, mas possa ser codificada noservidor. Se a conexão SMTP não estiver codificada, então a senha será passada em aberto(embora em base-64) pela rede.

O LOGIN é menos eficiente do que o PLAIN, pois requer três interações de rede em vez deuma e, como no PLAIN, o username e a senha viajam em aberto pela rede.

Página 95Versão 0.2

Page 96: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

O CRAM-MD5 codifica o username e a senha quando eles passam pela rede. No entanto, asenha deve ser mantida in texto simples no cliente e no servidor. Ele requer somente duasinterações de rede.

Nem todos os MUAs suportam SMTP-AUTH e os que o fazem, podem suportar um númerolimitado de métodos. Por exemplo, o Outlook Express usa o LOGIN.

Comparando-se ao uso de um VPN, o único acesso habilitado é o de enviar correspondência,assim outros serviços não estarão comprometidos se a máquina remota for roubada.

O ESMTP também permite que uma sessão TLS seja negociada entre cliente e servidor. Essaconexão codifica dados na rede e também pode autenticar a máquina cliente. A autenticaçãorequer um certificado de cliente que confira com aquele existente no servidor.

C.4.3. POP-before-SMTP.

Este método tira vantagem do fato de que os protocolos POP e o IMAP demandamautenticação da senha. Após uma conexão POP ou IMAP bem sucedida para ler o correio, oMAA mantém um login autenticado com o endereço IP do cliente, a data e a hora. Quando ocliente tenta enviar correspondência que não seja para o domínio local, o MTA verifica se oendereço IP do cliente está em seu espaço de endereçamento confiável. Se não estiver, eleverifica o banco de dados de logins autenticados para o endereço IP. Caso não haja loginautenticado registrado do endereço IP do cliente, ou caso a última conexão autenticada nãotenha acontecido recentemente, o MTA recusa a transmissão da mensagem. O período detempo é configurável e o default típico é de 20 minutos. Esse método requer que o MAA e oMTA cooperem. Por essa razão, nem todas as combinações funcionam. Esse método tem adesvantagem de que os usuários precisam verificar se há correspondência chegando primeiro.Alguns usuários podem considerar isso difícil, a não ser que o MTA o faça automaticamentepara eles.

C.5. Desempenho

Em geral, um MTA usa pouco poder de processamento; anfitriões que só operam isso sãousualmente limitados pela largura de banda ou pelo desempenho do disco. Os servidores doIMAP e do POP requerem maior poder de processamento e o IMAP requer um pouco mais deRAM do que o POP. Contudo, é provável que nenhum deles seja problema para o hardwareatual.

Os scanners anti-vírus requerem bastante RAM e poder de processamento, especialmente seforem permitidos anexos MIME.

Mesmo assim, os limites de desempenho são normalmente estabelecidos pelo tráfego e nãopelo número de contas.

Abaixo estão alguns exemplos de desempenho selecionados dos relatórios para listas decorreios e da experiência de consultores da netproject. Foram incluídos para dar alguma idéiado que é requerido:

Site 1 - 2 x Pentium III Xeon 2.4G, 4 Gb RAM, 3 x 36GB SCSI Raid 5Usuários virtuais com consulta em MySQL.Postfix 2.0.6, Courier-IMAP 1.7, MySQL 4.12, RAV-Antivirus, Mailman 2.1, Red HatLinux 8.0, sem SSL.Em torno de 4,800 usuários.

Site 2 - Athlon 1200, 1 Gb RAM, RAID5Postfix + Courier-IMAP (anti-virus scan em outra máquina), sem SSL.8,500 Usuários.

Site 3 - Pentium 133, 40 Mb RAM, IDE disk

Página 96Versão 0.2

Page 97: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Debian GNU/Linux, Courier-MTA + Courier-IMAP + SpamAssassin (o último somente paraum usuário).Tipicamente usuários 18 POP3 e 7 usuários IMAP a qualquer tempo.Processador em torno de 20% ocupado.

Site 4 - dual Pentium II 450 Xeon, 256 Mb RAMMySQL, Courier-MTA, Courier-IMAP, sqwebmail, SSL.50 usuários, principalmente POP3.

Site 5 - Pentium II 400 with 256M RAMCourier-MTA + SpamAssassin, Red Hat Linux 8.0.300 caixas de correio, em torno de 4,000 mensagens por dia.

Site 6 - Pentium III 677Mhz, 512Mb RAM, 2 x IDE diskFreeBSD 4.7, Exim 4.05, OpenLDAP 2.1.5, Cyrus 2.1.11, Mailman 2.1, Apache 1.3.26.A máquina é principalmente um webserver ocupado, porem ele também lida com muitosmilhares de correspondências por dia sem qualquer carga adicional perceptível.

Página 97Versão 0.2

Page 98: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Guia de Referência das Migrações para Software Livre do Governo Federal

Apêndice D – Software de Referência do Desktop

A lista mostra os pacotes RPM e os números de suas versões. A lista é baseadaem Red Hat Linux versão 8.0 junto com o software atualizado Red Carpet daXimian, e inclui somente o conjunto mínimo de anexos para o ambiente alvo. OEvolution foi atualizado através do Red Carpet para um lançamento posterioraquele entregue com o Red Hat.

       

Página 98Versão 0.2

Page 99: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

                             

Página99

Versão1.0

Page 100: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página100

Versão1.0

Page 101: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página101

Versão1.0

Page 102: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página102

Versão1.0

Page 103: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página103

Versão1.0

Page 104: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página104

Versão1.0

Page 105: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página105

Versão1.0

Page 106: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Apêndice E – Software de Referência doServidor

A lista mostra os pacotes RPM e seus números de versões. A lista é baseada emRed Hat Linux versão 8.0 junto com o software atualizado Red Carpet da Ximian.Note que esta não é uma lista mínima. Há aplicativos aqui que foram deixados porconveniência, por exemplo, o Gnome e os Xrelated. Eles permitiam o uso deinterfaces de gestão gráfica, mas poderiam ter sido usadas interfaces simplesbaseadas em texto em seu lugar.

Página106

Versão1.0

Page 107: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página107

Versão1.0

Page 108: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página108

Versão1.0

Page 109: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página109

Versão1.0

Page 110: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página110

Versão1.0

Page 111: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página111

Versão1.0

Page 112: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página112

Versão1.0

Page 113: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página113

Versão1.0

Page 114: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página114

Versão1.0

Page 115: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página115

Versão1.0

Page 116: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página116

Versão1.0

Page 117: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página117

Versão1.0

Page 118: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Página118

Versão1.0

Page 119: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

           

Page 120: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Apêndice F – Código de Instalação de PC

Este código é usado para configurar um PC com o Francês como língua default. Ele usa o programakickstart da Red Hat para instalar e o Red Carpet da Ximian para atualizar. Também é talhado para umainstalação específica de hardware e configuração de máquina, incluindo um cartão de vídeo particular econfiguração de rede; teriam que ser feitas mudanças para suprir a configuração particular daAdministração. O código mostrado aqui é somente um exemplo para mostrar que a funcionalidade pode serconstruída e, embora deva funcionar, não é garantido de forma alguma pela netproject.

lang fr_FRlangsupport fr_FR

# Outras linguagens podem precisar de outros teclados.keyboard uk

# Define o tipo de mouse anexo ao cliente.mouse --emulthree genericps/2

# Precisa trocar para o local do PC.timezone --utc Europe/London

# A senha mostrada aqui precisará ser alteradarootpw --iscrypted $1$7QNhVztt$2/DrxHONbGs91.D5k4rx21rebootinstall

# Mudar 192.168.1.1 para o endereço IP do servidor.# Mudar /mnt/space/RedHat-8.0 para o local do servidor do#repositório do software.nfs --server 192.168.1.1 --dir /mnt/space/RedHat-8.0bootloader --location=mbr --append vga=0x305zerombr yesclearpart --linux --initlabelpart / --fstype ext3 --size 256 --grow --maxsize 512part /usr --fstype ext3 --size 927 --grow --maxsize 2048part swap --recommendednetwork --bootproto dhcp

# Mudar 192.168.1.1 para os endereços IP dos servidores.auth --useshadow --enablemd5 --enableldap --enableldapauth --ldapserver192.168.1.1 --ldapbasedn dc=netproject,dc=comfirewall –disabled

# Pode precisar de mudança para refletir o monitor sendo usado.xconfig --depth 16 --resolution 1024x768 --defaultestação detrabalho=GNOME --startxonboot --card "S3 Savage (generic)" --videoram 16384

%packages --resolvedepslibrpm404redhat-artworkgnome-sessionXFree86gdmopenoffice-libs

Página120

Versão1.0

Page 121: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

openoffice-i18nlibgladegdk-pixbufGConfcompat-libstdc++indexhtmllibcapplet0gdk-pixbuf-gnomelibghttpmozilla-nssmetacitynautilusgnome-panelcontrol-centerXFree86-75dpi-fontgftpgeditemacsestação de trabalho-backgrounds-extra

%pre --interpreter /usr/bin/pythonimport os, fcntl, CDROMdef eject(file):try:

f = os.open(file, os.O_RDONLY | os.O_NONBLOCK)except OSError, (errno, strerror):

print "%s - OS error(%s): %s" % (file, errno,strerror)return

while 1:try:

fcntl.ioctl(f, CDROM.CDROMEJECT);except IOError, (errno, strerror):

print "%s - I/O error(%s): %s" % (file, errno,strerror)if (errno == 16):

continue

breakos.close(f)

eject("/dev/hda")eject("/dev/hdb")eject("/dev/hdc")eject("/dev/hdd")

%post/bin/sh << "EOF" >> /root/preboot.log 2>&1MNT=/mnt/tmp

# Mudar 192.168.1.1 para o endereço IP.HOST=192.168.1.1datemkdir -p $MNTmount $HOST:/kickstart $MNT -t nfs -o rocd $MNT./postinst.sh preboot

Page 122: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

EOF

O código acima chama um script chamado postinst.sh que contem o seguinte:

#!/bin/sh# description: Installation & upgrade script# chkconfig: 2345 25 03# © netproject 2003# Sean Atkinson <[email protected]>, March 2003

SERVICE=postinst

case $1 instart) exec $0 postboot >> /root/postboot.log 2>&1 ;;stop) exit 0 ;;preboot) rpm -U *.rpm mkdir /kickstart/ cp -v diffs.patch gdm_bg.png gdm_logo.png /kickstart/ cp -v grub_splash.xpm.gz /boot/grub/ cp -v postinst.sh /etc/rc.d/init.d/$SERVICE chkconfig --add $SERVICE exit 0 ;;postboot) ;; *) echo "Usage: $0 start|stop|preboot|postboot" exit 1 ;;esac

# Mudar 192,168.1.1 para o endereço IP dos servidores. Alémdisso, os detalhes devem refletir o lugar e a versão verdadeirada distribuição usada.# the actual location and version of the distribution usedHOST=192.168.1.1RCD=http://$HOST/rcd/REL=redhat-80-i386

date

# Os commandos rpm abaixo referem-se a versões específicas depacotes. As últimas versões devem ser substituídas casonecessário.rpm -U $RCD/redcarpet/$REL/rcd-1.2.1-1.ximian.3.i386.rpmcat << EOF >> /etc/ximian/rcd.conf[Network]host=$RCD

Página122

Versão1.0

Page 123: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

[Cache]enabled=falseEOFservice rcd startrpm -U $RCD/redcarpet/$REL/rc-1.2.1-1.ximian.1.i386.rpmuntil rc ping do sleep 1donerc subscribe $REL redcarpet ximian-evolutionservice rcd restartrpm -e kernel-pcmcia-csrpm -e kudzurpm -e compsrpm -e authconfiguntil rc ping do sleep 1donerc update --no-confirmationfor PKG in galeon evolution xpdf vnc vnc-doc openoffice do rc install --no-confirmation $PKGdone

# Este commando assume uma divulgação específica do ambienterun time da Java.ln -s /usr/java/j2re1.4.1_02/plugin/i386/ns610/libjavaplugin_oji.so \

/usr/lib/mozilla-1.0.1/plugins/patch -p0 < /kickstart/diffs.patchchkconfig --del $SERVICEchkconfig rcd offfor DIR in /tmp /var/tmpdorm -rf $DIRln -s /dev/shm $DIRdonereboot

O código acima usa os conteúdos de um arquivo chamado diffs.patch, que contem:

--- gdm.conf 2003-03-25 14:01:20.000000000 +0000+++ /etc/X11/gdm/gdm.conf 2003-03-25 14:02:38.000000000 +0000@@ -21,7 +21,7 @@ Chooser=/usr/bin/gdmchooser DefaultPath=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin DisplayInitDir=/etc/X11/gdm/Init -Greeter=/usr/bin/gdmgreeter +Greeter=/usr/bin/gdmlogin #Uncomment this for the regular greeter #Greeter=/usr/bin/gdmlogin --disable-sound --disable-crash-dialog RemoteGreeter=/usr/bin/gdmlogin@@ -99,7 +99,7 @@

Page 124: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

GlobalFaceDir=/usr/share/faces/ Icon=/usr/share/pixmaps/gdm.xpm LocaleFile=/etc/X11/gdm/locale.alias -Logo=

# Assume que o arquivo png existe no local mostrado. Mudarconforme requisitado.+Logo=/kickstart/gdm_logo.png ## nice RH logo para a linha acima /usr/share/pixmaps/redhat/shadowman-200.png Quiver=true SystemMenu=true@@ -114,8 +114,8 @@ PositionY=0 XineramaScreen=0 # O tipo pode ser 0=None, 1=Image, 2=Color-BackgroundType=0-BackgroundImage=+BackgroundType=1

# Assume que o arquivo png exist no local mostrado. Mudarconforme requisitado.+BackgroundImage=/kickstart/gdm_bg.png BackgroundScaleToFit=true BackgroundColor=#27408b BackgroundRemoteOnlyColor=true--- grub.conf 2003-03-25 14:01:20.000000000 +0000+++ /boot/grub/grub.conf 2003-03-25 14:01:20.000000000 +0000@@ -9,7 +9,7 @@ #boot=/dev/hda default=0timeout=10-splashimage=(hd0,0)/boot/grub/splash.xpm.gz

# Assume que o arquivo xpm.gz existe no local mostado. Mudarconforme requisitado.+splashimage=(hd0,0)/boot/grub/grub_splash.xpm.gz

# Assume uma versão particular do kernel ie 2.4.18-27.8.0.# Mudar todas as referências conforme necessário. title Red Hat Linux (2.4.18-27.8.0)

root (hd0,0)kernel /boot/vmlinuz-2.4.18-27.8.0 ro root=LABEL=vga=0x305

--- fstab 2003-03-27 10:52:12.000000000 +0000+++ /etc/fstab 2003-03-27 10:54:01.000000000 +0000@@ -1,8 +1,9 @@ LABEL=/ / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0-none /dev/shm tmpfs defaults 0 0-LABEL=/usr /usr ext3 defaults 1 2+none /dev/shm tmpfs defaults,noexec 0 0+LABEL=/usr /usr ext3 defaults,ro 1 2 /dev/hda3 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

Página124

Versão1.0

Page 125: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

# Mudar 192.168.1.1 para o endereço IP do servidor NFS.+192.168.1.1:/home /home nfs defaults,noexec 0 0

Page 126: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Apêndice G – Glossário

ACL Access Control List. Uma Lista de Controle de Acesso é uma listaanexa a um objeto, tal como um arquivo. Consiste de expressões decontrole, cada um das quais concede ou nega alguma capacidade a umusuário particular ou a um grupo de usuários.

Administration Uma administração pública européia.

Administrators A gerência de TI de uma Administração.

API Application Programming Interface. O método específicorecomendado por um sistema operacional de computador, aplicativo ouferramenta de terceiros, pelo qual um programador escrevendo umaplicativo pode fazer requisições do sistema operacional. Tambémconhecido por Application Programmers Interface.

ASP Active Server Pages. Uma página HTML que inclui um ou mais scripts(pequenos programas embutidos) que são processados em um servidorda Web Microsoft antes da página ser enviada para o usuário. Um ASPé, de alguma forma, similar à abrangência de um serverside ou umaplicativo de interface de gateway comum (Common Gateway Interface- CGI) em que tudo envolve programas que operam no servidor,normalmente talhando uma página para o usuário.

BDC Backup Domain Controller. Papéis que podem ser designados a umservidor em uma rede de computadores que usa o sistema operacionalWindows NT . O Windows NT usa a idéia de um domínio para geriracesso a um conjunto de recursos de rede (aplicativos, impressoras, etc)para um grupo de usuários. O usuário precisa somente conectar-se aodomínio para ganhar acesso aos recursos, que podem estar localizadosem vários servidores diferentes na rede. Um servidor, conhecido comocontrolador de domínio primário, gerencia o banco de dados master dousuário para o domíno. Um ou mais outros servidores são designadoscomo controladores do domínio de backup. O controlador de domínioprimário envia cópias do banco de dados, periodicamente, aoscontroladores de domínio do backup. Um controlador de domínio debackup pode intervir como controlador de domínio primário, caso oservidor de PDC falhe e também pode ajudar a equilibrar a carga detrabalho se a rede estiver muito ocupada.

Beta Code Quando o software é escrito, ele passa por vários estágios diferentesantes de ser considerado suficientemente livre de erros e funcionalmentecorreto para ser usado como software de produção. O primeiro dessesestágios é chamado de alfa e o segundo de beta. Beta Code é, portanto,um código substancialmente correto, porém ainda pode conter errossignificativos. Deve, portanto, ser usado com cautela.

Binaries O software é comumente escrito em uma linguagem facilmentecompreensível pelas pessoas, que é chamada de Código Fonte. Essecódigo é convertido para uma fórmula diretamente entendida peloprocessador do computador. Esse código é chamado de Binário porqueconsiste de uma fileira de zeros e uns. Essa é a fórmula na qual a maiorparte dos códigos proprietários são entregues e é muito difícil converterde volta para uma fórmula facilmente compreensível pelas pessoas. O

Página126

Versão1.0

Page 127: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

código fonte permite que sejam feitas alterações no software e tambémpermite que as pessoas entendam o que ele está fazendo.

Concurrent UserLicence. Uma forma de licença que cobra em base ao maior número de usuários

que podem acessar um aplicativo ao mesmo tempo.

Boilerplate Entries Qualquer padrão ou partes indiferenciadas de dados, usulamente coisasque devem estar presentes, porém não são de grande interesse.

CIL Common Intermediate Language. Código intermediário independentedo compilador e da máquina, que vai operar por um Common LanguageRuntime or CLR. Esse código pode ser obtido de várias linguagens,inclusive C# e C. Ambos, CIL e CLR, são parte do CLI ou CommonLanguage Infrastructure.

Daemon Um programa ligado a um sistema ou processo, aguardando paradesempenhar sua tarefa, até ser acionado por um outro processo ouevento.

DBMS Database Management System. Um programa que permite que um oumais usuários de computador acessem dados em um banco de dados. ODBMS gerencia requisições de usuários (e requisições de outrosprogramas), de forma que usuários e outros programas fiquem livres deter que entender onde os dados são mantidos fisicamente em mídia dearmazenamento e, em um sistema multi-uso, quem mais pode estaracessando os dados.

DEC Protocol The Digital Equipment Corporation or DEC created a set of protocolsfor controlling terminal devices. These protocols have become widelyused and are now standards.

DHCP Dynamic Host Configuration Protocol. Um protocolo de comunicaçãoque permite aos administradores da rede gerenciar de forma central eautomatizar a designação dos endereços do Internet Protocol (IP) narede de uma organização.

Distribution Para softwares de fonte aberta como o Linux, companhias como a RedHat epecializam-se em pacotes de componentes de muitas fontes juntosem um único pacote ou um conjunto de pacotes, que podem serdistribuídos convenientemente para usuários com um único download ouem um conjunto de CDs.

DNS Domain Name Server. Usado para conversão entre o nome da máquinana Internet e seu endereço numérico.

Domain(Authentication) Um conjunto de identificadores de autorização (pessoas e processos)

geridos por um servidor de autenticação.

Free Software Está definido em http://www.gnu.org/philosophy/free-sw.html .

FTP File Transfer Protocol. Um meio independente do sistema de transferirarquivos entre sistemas conectados via TCP/IP. Garante que o arquivofoi transferido corretamente, mesmo que tenha havido erros durante atransmissão.

Gopher Services Sistema antigo de recuperação de informação do tipo hipertexto.

Page 128: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

GPL General Public License do GNU.

Green Screen Um terminal ou monitor que só é capaz de exibir caracteres de tamanhofixo e (possivelmente) gráficos de blocos simples. O nome vem do fatode que muitas telas de monitores mainframe dos anos 1970 e 1980usavam fósforo verde.

GUI Graphical User Interface.

Hashes Um Hash é um identificador short-form único, uma “impressão digital”de algo mais complicado. Hashes são produzidos usando-se funçõesmatemáticas one-way. São usados em sistemas de banco de dados e emsistemas de segurança e de codificação.

HTTP Hypertext Transfer Protocol. Um conjunto de regras para troca dearquivos (texto, gráficos, imagens, som, video, e outros arquivosmultimídia) na World Wide Web. Com relação ao jogo de protocolosTCP/IP (que são a base para troca de informação na Internet), o HTTP éum protocolo de aplicativo.

Java Applet Um mini-programa de software que um navegador habilitado por Javaou ActiveX usa e do qual faz o download automaticamente. Podeacrescentar suporte sofisticado a páginas da Web, muito além deprogramações como DHTML ou Javascript.

Java Servlet um programa Java que opera como parte de um serviço de rede,tipicamente em um servidor HTTP e responde a necessidades declientes. O uso mais comum de um servlet é de estender um servidor daweb através da geração de conteúdo web dinamicamente. Por exemplo,um cliente pode precisar de informação de um banco de dados; pode serescrito um servlet que receba o pedido, consiga e processe os dados daforma como o cliente necessita e retorne o resultado para o cliente.

JDBC Java Database Connectivity. Uma especificação de interface deprograma aplicativo (application program interface - API) para conectarprogramas escritos em Java aos dados em bancos de dados populares. Ainterface de programa aplicativo permite que se codifique declarações derequisição de acesso em Structured Query Language (SQL), as quaissão então passadas para o programa que gerencia o banco de dados. Oresultado é retornado através de uma interface similar.

Kernel O núcleo de um sistema operacional que lida com tarefas como alocaçãode memória, dispositivo input e output, alocação de processo, segurançae acesso ao usuário.

LDAP Lightweight Directory Access Protocol. Um protocolo de softwarepara habilitar qualquer pessoa a localizar organizações, indivíduos eoutros recursos como arquivos e dispositivos em uma rede, seja em rede(Internet) pública ou em intranet interna. O LDAP é uma versão “leve”(com pouco volume de códigos) do Directory Access Protocol (DAP),que é parte do X.500, um padrão para serviços de diretório em uma rede.

LGPL Lesser General Public License do GNU

Load Balancing Equilibrar a carga é dividir o volume de trabalho que um computadortem para fazer entre dois ou mais processadores ou computadores, deforma que seja feito um volume maior de trabalho no mesmo tempo e,em geral, todos os usuários são mais bem servidos. O equilíbrio de carga

Página128

Versão1.0

Page 129: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

pode ser implementado com hardware, software ou uma combinaçãodos dois. Tipicamente, o equilíbrio de carga é a principal razãoagrupamento de servidores de computadores.

MAA Mail Access Agent. Um termo usado neste relatório para descrever ocomponente de correio do servidor que gerencia o acesso ao depósito decorreio por um MUA. São exemplos os servidores do POP e do IMAP.Veja Apêndice C página 108 acima para uma discussão completa.

MDA Mail Delivery Agent. Um componente de correio que aceita correio deum MTA e o devolve ao depósito de correio.

Metadata Uma definição ou descrição de dados.

MTA Mail Transport Agent. Esse é o componente de correio que tem aresponsabilidade de decidir se a correspondência entregue a ele é parauma conta local ou não. Ele passa a correspondência local para umMDA ou armazena-a direto no mailstore. O correio remoto é passadopara um outro MTA.

MUA Mail User Agent. O componente de correio do cliente, o qual recupera ocorreio do mailstore e apresenta-o para o usuário. Ele permite ao usuáriocriar novas correspondências e manda-las ao MTA para seremtransmitidas. O MUA sera freqüentemente associado a uma interfacegráfica.

.NET Conjunto de tecnologias de software da Microsoft para conectarinformação, pessoas, sistemas e dispositivos. É baseado em serviços daweb, que são pequenos aplicativos que podem conectar-se uns aosoutros, bem como a outros aplicativos maiores na Internet. O projetoMono software de fonte aberta é uma implementação da estrutura dedesenvolvimento .NET.

NFS Network File Service. Um protocolo usado comumente pelo Unix comosistema para acessar arquivos mantidos em sistemas remotos, como sefossem locais.

ODBC Open Database Connectivity. Uma interface de programação deaplicativo de padrão aberto (application programming interface - API)para acessar um banco de dados. Usando relatórios ODBC em umprograma, pode-se acessar aquivos em vários bancos de dadosdiferentes, inclusive Access, dBase, DB2, Excel, e Text. Além dosoftware ODBC, é necessário um modulo ou driver separado para cadabanco de dados a ser acessado.

Open Relay Um relay aberto (algumas vezes chamado de um relay inseguro outhird-party relay) é um servidor de correio SMTP que permite atransmissão de mensagens de correio por terceiros. Através doprocessamento de correio que não é para usuário local, nem de usuáriolocal, um relay aberto possibilta que um remetente inescrupulosoindique a rota de grandes volumes de spam. Na verdade, o proprietáriodo servidor – que, tipicamente, não tem conhecimento do problema –fornece rede e recursos de computador para os objetivos do remetente.Além dos custos financeiros incorridos quando um spammer seqüestraum servidor, uma organização pode também sofrer travamentos dosistema, danos a equipamentos e perda de negócios.

Open Source

Page 130: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Software Está definido emhttp://www.opensource.org/docs/definition_plain.html.

OSS Veja Open Source Software.

PDA Personal Digital Assistant. Um computador de mão eletrônico.

PDC Primary Domain Controller. Veja Backup Domain Controller (BDC).

PHP PHP: Hypertext Preprocessor. Uma linguagem e um intérpretecriptografados disponibilizados gratuitamente e usados primariamenteem servidores Linux Web. O PHP é uma alternativa à tecnologia ActiveServer Page (ASP) da Microsoft. Como o ASP, o script do PHP éembutido dentro de página da web junto de seu HTML. Antes de apágina ser enviada a um usuário que a tenha solicitado, o servidor daweb chama o PHP para interpretar e desempenhar as operaçõessolicitadas no script PHP.

PKI Public Key Infrastructure. Uma PKI possibilta que usuários de umarede pública insegura como a Internet, troquem dados e dinheiro deforma segura e privada, através do uso de um par de chavescriptográficas, que é obtido e partilhado através de uma autoridadeconfiável. A infraestrutura de chave pública fornece um certificadodigital que pode identificar um indivíduo ou uma organização, e serviçosde diretório que podem armazenar e, quando necessário, revogar oscertificados.

Potential UserLicence Uma forma de licença que cobra com base no número máximo de

usuários que tem capacidade de acessar um aplicativo.

Protocol Um conjunto especial de regras usado em uma conexão detelecomunicação, entre pontos finais. Existem protocolos em váriosníveis em uma conexão de telecomunicação. Há protocolos de hardwarede telefonia. Há protocolos entre cada uma das várias camadasfuncionais e cada camada correspondente do outro lado de umacomunicação. Ambos os pontos finais precisam reconhecer e cumprir ospreceitos do protocolo. Os protocolos são freqüentemente descritos emuma indústria ou padrão internacional.

Proxy Server Um servidor que atua como intermediário entre um usuário de umaestação de trabalho e a Internet, de forma que a empresa possa garantirsegurança, controle administrativo e serviço de caching. Um servidorproxy é associado a um servidor de gateway ou a parte dele, que separaa rede da empresa da rede de fora e um servidor firewall, que protege arede da empresa da intromissão de fora.

Scenario Veja Seção 4 para uma definição.

Esquema A organização ou estrutura para um banco de dados. A atividade demodelar dados conduz a um esquema.

Session Manager Quando um usuário se liga a um computador, cria-se uma sessão queconsiste de um ambiente completo de informação de controle pessoalpara eles, uma série de processos. O manager permite que o usuáriomude esse ambiente e pode também salva-lo de forma que o próximo

Página130

Versão1.0

Page 131: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

usuário, ao ligar-se ao computador, volte à situação em que estava antesde se desligar pela última vez.

Smart Card Um cartão plástico que contem um chip de computador. O cartão éusado para desempenhar operações que requerem os dados que estãoarmazenados no chip.

SMB Server Message Block. Este é o protocolo usado na rede Windows parapermitir que recursos como aquivos de uma máquina sejam partilhadosem outras máquinas como se fossem locais.

SMS Short Message Service. Um serviço para enviar mensagens de até 160caracteres (224 caracteres se estiver usando um modo 5-bit) paratelefones móveis que usam comunicação Global System for Mobile(GSM).

Source Code Veja Binaries.

SQL Structured Query Language. Uma linguagem de programação einterativa padrão para obter informação de um banco de dados e paraatualiza-lo. Embora o SQL seja padrão ANSI e ISO, muitos produtos debanco de dados suportam o SQL com extensões proprietárias para alinguagem padrão. As queries assumem o formato de uma linguagemcomando que permite selecionar, inserir, atualizar e encontrar o local dosdados, e assim por diante. Também há uma interface de programação.

SSL Secure Sockets Layers. Um protocolo comumente usado para gerenciara segurança de uma transmissão de mensagem na Internet. O SSL foisucedido recentemente pelo Transport Layer Security (TLS), que ébaseado no SSL. O SSL é incluído como parte dos navegadors daMicrosoft e da Netscape e da maior parte dos produtos servidores daWeb.

Stored Procedure Um conjunto de instruções do Structured Query Language (SQL) comum nome designado que é armazenado no banco de dados de formacompilada de forma que possa ser partilhado por vários programas .

Trigger Um conjunto de instruções do Structured Query Language (SQL) quedispara automaticamente uma ação, quando uma operação específicaocorre, como a mudança de dados em uma tabela.

TLS Transport Layer Security. Uma camada que provê serviços decriptografia e autenticação que podem ser negociados durante a faseinicial de muitos protocolos da Internet (e.g. SMTP, LDAP, IMAP,POP3). O TLS é derivado do SSL e usa os mesmos certificados, masnão requisita que cada serviço receba um novo número de porta; vejaSSL.

VMS Um sistema operacional desenvolvido pela Digital EquipmentCorporation (DEC) para usar em seus minicomputadores VAX.Posteriormente transferido para o sistema Alpha 64-bit. Um dosprincipais designers do VMS, posteriormante desenhou o kernel doWindows NT.

WebDAV World Wide Web Distributed Authoring and Versioning. O padrãoInternet Engineering Task Force (IETF) para autoria colaborativa naWeb: um conjunto de extensões para o Hypertext Transfer Protocol(HTTP) que facilita a edição colaborativa e a gestão de arquivos entreusuários localizados remotamente uns dos outros na Internet.

Page 132: PARTE 3 Diretrizes Técnicas - mat.unb.br · usar, em termos ideais, padrões abertos e bem definidos. Isso significa que qualquer aplicativo deve preocupar-se em desempenhar sua

Diretrizes do IDA para Migrações para Fonte Aberta

Window Manager Em um ambiente gráfico moderno um usuário é apresentado a uma sériede janelas onde operam processos. Isso significa que eles podem operarmuitas coisas diferentes ao mesmo tempo e ter o resultado exibido natela simultaneamente. O papel do window manager é gerir essasjanelas. Ele tem que manter a pista da janela na qual o usuário estáinteressado no momento, permitir ao usuário trocar janelas e criar edestruir janelas. Ele também controla a forma em que as janelasaparecem, seu formato e características de controle.

XML Extensible Markup Language. Uma forma flexível para formatos deinformação e para partilhar o formato e os dados na World Wide Web,nas intranets, e em qualquer outro lugar. O XML é uma recomendaçãoformal do World Wide Web Consortium (W3C), similar à linguagem daspáginas da Web atuais, o Hypertext Markup Language (HTML).

X Session Quando um usuário se liga a um computador e opera programas noprotocolo X, ele cria uma X session.

X Terminal Um terminal especialmente desenhado para operar um servidor X, quepermite aos usuários exibir o produto de programas operando em outrocomputador, usando o protocolo X em uma rede.

Página132

Versão1.0