Você está na página 1de 84

01/2008

UNIDOS PELO MIDDLEWARE p.24 SOA A SÉRIO p.22 CEZAR TAURION p.28
Entrevista com o Entrevista com o criador do Previsões para o
presidente do OW2 framework CoreBuilder SL/CA em 2008

#38 01/08

Linux Magazine

Janeiro 2008
R$ 13,90
€ 7,50

00038

9 771806 942009
# 38
# 38
A REVISTA DO PROFISSIONAL DE TI

Acesso

ACESSO REMOTO
ADMINISTRAR SERVIDORES

NX
Remoto
REMOTAMENTE E APROVEITAR SUAS
FÉRIAS NÃO É UM SONHO DISTANTE.

VNC
RDESKTOP
p.29

PHP-GTK
» O ultra-veloz NX p.34

VIRTUALIZAÇÃO
» Windows remoto através do Rdesktop p.39
» Várias opções de clientes e servidores VNC p.30

ENGENHARIA SOCIAL
SEGURANÇA URGENTE! p.64
Proteja sua empresa dos riscos da engenharia
social. Nunca é tarde demais.

VIRTUALIZAÇÃO: O KVM JÁ VEM NO KERNEL p.68


LPIC-2

O kernel Linux já oferece uma solução nativa de virtualização,


ideal para quem procura desempenho e facilidade de uso.
PROXY IMAP

VEJA TAMBÉM NESTA EDIÇÃO:


» Crie belas interfaces gráficas com PHP-GTK p.76
» Sétima aula preparatória para o LPIC-2 p.43
» Um proxy IMAP faz milagres p.56
» HPC: o Lustre faz seus arquivos voarem! p.49
» Redes neurais fazem programas inteligentes p.71

WWW.LINUXMAGAZINE.COM.BR © Linux New Media do Brasil Editora Ltda.


����������������������
���������

�������������
��������
�����������������
��������������������

�������������������������������������������������������������������������������������������
�������������������������������������������������������������������������������
������������������������������������������������������������������������������������������
���������������������������������������������������������������

������������������������������

����������������������������������������������������������

© Linux New Media do Brasil Editora Ltda.


Expediente editorial
Diretor Geral
Do nicho para
o mundo
Rafael Peregrino da Silva
rperegrino@linuxmagazine.com.br
Editor-chefe

EDITORIAL
Tadeu Carmona
tcarmona@linuxmagazine.com.br
Editor
Pablo Hess
phess@linuxmagazine.com.br
Revisão
Arali Lobo Gomes
agomes@linuxmagazine.com.br
Editor de Arte
Renan Herrera
rherrera@linuxmagazine.com.br
Assistente de Arte Prezados leitores da Linux Magazine,
Igor Daurício
isilva@linuxmagazine.com.br
Embora o mito da dificuldade em se ganhar dinheiro com
Centros de Competência
Centro de Competência em Software: Software Livre e de Código Aberto já tenha sido superado
Oliver Frommel: ofrommel@linuxnewmedia.de
Kristian Kißling: kkissling@linuxnewmedia.de
Peter Kreussel: pkreussel@linuxnewmedia.de
há tempos, ainda há partes do mercado em que suas raí-
Marcel Hilzinger: hilzinger@linuxnewmedia.de zes estão mais aprofundadas. Então, mesmo sob o risco de
Centro de Competência em Redes e Segurança:
Achim Leitner: aleitner@linuxnewmedia.de
me repetir ou, pior ainda, repetir célebres defensores do
Jens-Christoph B.: jbrendel@linuxnewmedia.de
Hans-Georg Eßer: hgesser@linuxnewmedia.de SL/CA, vou expor mais uma vez um recente fenômeno da
Thomas Leichtenstern: tleichtenstern@linuxnewmedia.de
Max Werner: mwerner@linuxnewmedia.de penetração do Linux.
Markus Feilner: mfeilner@linuxnewmedia.de
Nils Magnus: nmagnus@linuxnewmedia.de O subnotebook fabricado pela Asus e equipado com Li-
Anúncios: nux pela Xandros, o EeePC, ilustra como duas empresas
Rafael Peregrino da Silva (Brasil)
anuncios@linuxmagazine.com.br que dependem primordialmente de software estão conse-
Tel.: +55 (0)11 4082 1300
Fax: +55 (0)11 4082 1302 guindo atrair consumidores e gerar receita com base em
Hubert Wiest (Alemanha, Áustria e Suíça)
anzeigen@linuxnewmedia.de SL/CA. Na realidade, “atrair consumidores” seria menos-
Brian Osborn (Outros países)
ads@linux-magazine.com prezar o poder desse portátil de menos de um quilo. No
Assinaturas:
www.linuxnewmedia.com.br
último Natal, o EeePC foi um dos itens mais disputados,
assinaturas@linuxmagazine.com.br com os estoques acabando na maioria das lojas onde ele
Na Internet:
www.linuxmagazine.com.br – Brasil foi comercializado.
www.linux-magazin.de – Alemanha
www.linux-magazine.com – Portal Mundial A surpresa, aqui, é ver o SL/CA embarcado num pro-
www.linuxmagazine.com.au – Austrália
www.linux-magazine.ca – Canadá
www.linux-magazine.es – Espanha
duto de consumo de massa, no qual ele fornece a base da
www.linux-magazine.pl – Polônia
www.linux-magazine.co.uk – Reino Unido
interação com o usuário, provavelmente não técnico. Isso
www.linux-magazin.ro – Romênia é diferente, por exemplo, dos dispositivos que utilizam um
Gerente de Circulação
Cláudio Guilherme dos Santos kernel Linux e, quando muito, alguns programas de Código
csantos@linuxmagazine.com.br
Aberto na interação com o usuário. No EeePC, tudo o que
Apesar de todos os cuidados possíveis terem sido tomados
durante a produção desta revista, a editora não é responsável
por eventuais imprecisões nela contidas ou por conseqüências
se vê é de Código Aberto.
que advenham de seu uso. A utilização de qualquer material
da revista ocorre por conta e risco do leitor.
Nesse aspecto, é importante também salientar a rápida
Nenhum material pode ser reproduzido em qualquer meio, em par- providência para sanar o problema de violação da GPL,
te ou no todo, sem permissão expressa da editora. Assume-se que
qualquer correspondência recebida, tal como cartas, emails, faxes,
fotografias, artigos e desenhos, são fornecidos para publicação ou
tomada pela Asus ao disponibilizar, em pouco tempo, os
licenciamento a terceiros de forma mundial não exclusiva pela Li-
nux New Media do Brasil, a menos que explicitamente indicado.
trechos de código-fonte alterado incluídos no sistema ope-
Linux é uma marca registrada de Linus Torvalds. racional que equipa o EeePC.
Linux Magazine é publicada mensalmente por:
E é assim que o Linux chega às massas. Numa ponta,
Linux New Media do Brasil Editora Ltda.
Av. Fagundes Filho, 134
Conj. 53 – Saúde
partindo da ampla adoção em nichos específicos, como a
04304-000 – São Paulo – SP – Brasil
Tel.: +55 (0)11 4082 1300
computação de alto desempenho e os servidores web e de
Fax: +55 (0)11 4082 1302
Direitos Autorais e Marcas Registradas © 2004 - 2007:
email. Na outra, ocupando uma fatia cada vez maior do
Linux New Media do Brasil Editora Ltda.
mercado de sistemas embarcados, como telefones celula-
Distribuição: Distmag
Impressão e Acabamento: Parma res e Internet tablets.
Se 2007 foi ou não o tão desejado “ano do Linux no
Atendimento Assinantes
São Paulo: +55 (0)11 3512 9460 desktop”, não sei dizer. Mas parece que em dezembro ti-
Rio de Janeiro: +55 (0)21 3512 0888
Belo Horizonte: +55 (0)31 3516 1280 vemos o primeiro natal do Linux no notebook. ■
ISSN 1806-9428 Impresso no Brasil

Pablo Hess

Editor

Linux Magazine #38 | Janeiro de 2008 3


© Linux New Media do Brasil Editora Ltda.
ÍNDICE

CAPA

Tranqüilo à distância 29

Se já é ruim ser obrigado a deixar um

evento social devido a uma falha no servidor,

imagine isso durante as férias. Melhor prevenir-se.

Hora de compartilhar 30

O protocolo VNC oferece uma prática solução

multiplataforma para compartilhamento de tela.

Conheça as melhores soluções gratuitas para Linux.

Velocidade máXima! 34

O NX oferece serviços de terminal

velozes, mesmo em conexões lentas.

Cruzamento de terminais 39

O Rdesktop permite a abertura de uma sessão do Win-

dows Terminal Server a partir do desktop Linux.

4 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Linux Magazine 38 | ÍNDICE

COLUNAS REDES
Augusto Campos 08 Ilustres arquivos 49
Charly Kühnast 10 Sistemas de arquivos comuns não são capazes de forne-
Klaus Knopper 12 cer o alto desempenho exigido por algumas aplicações. O Lus-
Zack Brown 14 tre é um sistema de arquivos distribuído otimizado para HPC.

NOTÍCIAS
Segurança 16
➧ Mono

➧ SiteBar

➧ OpenSSL
Repasse a mensagem 56
➧ zope-cmfplone Proxies IMAP ajudam a distribuir os emails a múltiplos servi-
dores. Veja algumas opções de proxies IMAP para Linux.
➧ phpMyAdmin

➧ Nagios Plugins

➧ Perl
SEGURANÇA
Em nome da pátria 59
➧ Kernel Linux
Alguns países têm feito investidas no monitoramento do tráfego
➧ Arquivos PDF de seus cidadãos, mas nem sempre de forma declarada. Conhe-
ça oito formas de combater esses espiões federais silenciosos.
➧ PCRE
O lado analógico da segurança digital, parte 2 64
➧ OpenLDAP O primeiro artigo desta série mostrou como alguns fatores apa-
rentemente inofensivos podem afetar sobremaneira a seguran-
Geral 18
ça digital de sua empresa. Veja agora como agir contra eles.
➧ Rails 2.0

➧ Novos centros de treinamento RH

➧ OpenVZ sobre Xen?


ANÁLISE
Para todos, os direitos preservados 66
➧ Criptografia no Windows quebrável
Com o avanço do Software Livre, compreender o
➧ Google pagará secundaristas Copyleft torna-se ainda mais importante para
exigir seus direitos e evitar más interpretações.
➧ EeePC e a GPL
Virtude profunda 68
➧ SL nas escolas públicas
O KVM traz o kernel à era da virtualização. Saiba
por que o universo do Linux tem tanto interesse nessa
promissora alternativa de virtualização.
CORPORATE
Notícias 20
➧ Um ano do acordo MS-Novell PROGRAMAÇÃO
➧ Supercomputadores brasileiros Jogos cerebrais 71
3, 4, 8, 11… ? Uma rede neural consegue comple-
➧ Processadores Power 6 tar essa seqüência sem conhecer seu algoritmo subja-
cente. Veja como as redes neurais ajudam a resolver pro-
➧ Valorização da Red Hat
blemas simulando o comportamento de um cérebro.
➧ Suporte para antivírus aberto

➧ SonicWALL com suporte a Linux

➧ O mercado em 2008, segundo o IDC

Entrevista: CoreBuilder 22
Entrevista: OW2 24
Coluna: Edgar Silva 26 Hora de construir 76
Coluna: Cezar Taurion 28 Enquanto o uso das classes de PHP-GTK cria interfaces
rápidas, o Glade pode tornar a tarefa ainda mais fácil.

Tutorial
LPI nível 2: Aula 7 43 SERVIÇOS
Tarefas rotineiras de manutenção, tanto no âm-
Editorial 03
bito do hardware quanto do software.
Emails 06
Linux.local 78
Eventos 80
Índice de anunciantes 80
Preview 82

Linux Magazine #38 | Janeiro de 2008 5


© Linux New Media do Brasil Editora Ltda.
Emails para o editor

Permissão de Escrita

u
c.h
.s x
Se você tem dúvidas sobre o mundo Linux, críticas ou sugestões

ww
EMAIL

–w
que possam ajudar a melhorar a nossa revista, escreva para o

ro
ne
seguinte endereço: cartas@linuxmagazine.com.br. Devido ao

gje
nja
volume de correspondência, é impossível responder a todas as

sa
dúvidas sobre aplicativos, configurações e problemas de hardware
que chegam à Redação, mas garantimos que elas são lidas e
analisadas. As mais interessantes são publicadas nesta seção.

✎ Usuários de desktop o sistema dominante, e para sentir a liberdade de


Tenho acompanhado a Linux Magazine desde seu instalar um software disponível, sem a necessidade
lançamento, e tenho todos os números guardados, de buscar os programas em sites de terceiros.
mas sinto falta de alguns artigos direcionados para Ademais, parabéns por mais um ano de vida.
desktops. Saudações e recomendações,
Apesar do lançamento da Easy Linux, que trata Carlos Wagner
diretamente sobre o assunto, e que talvez seja o mo- Resposta
tivo para a Linux Magazine ter sido direcionada para Prezado Carlos, em primeiro lugar, muito obriga-
o público corporativo, a revista citada acima não é do pelos parabéns. De fato a Linux Magazine vem
mais encontrada nas bancas, deixando uma lacuna sendo progressivamente direcionada aos usuários
para os usuários domésticos da revista. técnicos e corporativos, como indica o novo slogan,
Creio que seria interessante algumas coisas “A revista do profissional de TI”. Essa decisão foi
mais, além das colunas já consagradas do Augusto, tomada concomitantemente ao início da produção
Charly, Klaus, Zack e Pablo (este último mais re- regular da Easy Linux, no início de 2006, que pas-
centemente), pois as colunas do Edgar e Cezar são sou, então, a ser direcionada aos usuários domésti-
puramente corporativas, sendo interessantes para o cos e entusiastas de Linux.
leitor mediano apenas em partes. Nosso desejo não é, nem jamais foi, eliminar a
Já que, pelo que me parece, a Easy Linux não mais Easy Linux. A revista foi suspensa para reestrutura-
deve ser editada, fica aqui meu pedido de ajustes ção e reformulação de seu modelo de negócio, e tão
na Linux Magazine, a fim de que, mais uma vez, logo esse objetivo seja atingido, a revista voltará a
não fiquemos órfãos de literatura apropriada para ser publicada no Brasil.
aqueles que simplesmente usam o Linux em suas Esperamos sinceramente que isso aconteça o mais
casas pelo simples prazer de ter nas mãos um sis- breve possível, e humildemente pedimos desculpas
tema robusto, livre das pragas digitais que assolam pela interrupção em nossa publicação. ■

6 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Sua Revenda de Hospedagem já encheu?
A melhor hospedagem do Brasil
agora com a melhor revenda Linux e Windows.

Gabarito
PLANOS DE REVENDA PLUGIN (com domínios ilimitados)
LINUX WINDOWS MISTA
Espaço Taxa de E-mails BD Preço Espaço Taxa de E-mails BD BD Preço Espaço Taxa de E-mails BD BD BD Preço
em Disco Transf. My-SQL em Disco Transf. Access MS-SQL em Disco Transf. Access MS-SQL My-SQL
STANDARD 500 MB 10 GB 40 un. 5 un. R$ 65,00 STANDARD 500 MB 10 GB 40 un. 4 un. 2 un. R$ 98,00 STANDARD 1 GB 25 GB 70 un. 8 un. 4 un. 8 un. R$ 170,00
PREMIUM 10 GB 250 GB 700 un. 80 un. R$ 500,00 PREMIUM 10 GB 250 GB 700 un. 80 un. 40 un. R$ 800,00 PREMIUM 10 GB 250 GB 700 un. 80 un. 40 un. 80 un. R$ 890,00
Páginas em PHP Páginas em ASP Páginas em ASP e PHP
Planos intermediários consulte www.plugin.com.br

A Plug In tem vários motivos para ser a sua nova revenda de hospedagem:
além de ter os pacotes mais atrativos do mercado, possui um grande
diferencial, que é ter os serviços (sites, e-mail, base de dados e painel de
controle) em servidores independentes, isso faz com que a Plug In garanta
99,9% de UPtime em suas aplicações de internet.
��������� - Linux e Windows
Contrate agora mesmo uma Revenda Plug In e abra espaço
para novos clientes.
����������� - Conexões Ilimitadas
������������������ - Ações Segmentadas

Powered by

500 MB 10 GB 40 un.
Ligue e contrate:
5 un. R$ 65,00
Contrate online:
4003-1001 www.plugin.com.br
STANDARD

© Linux New Media do Brasil Editora Ltda.


O que aprendi na aula de Biologia

Augusto Campos
COLUNA

Como lidar com a explosão de popularidade do Ubuntu, preservando a diversidade de distribuições.


por Augusto Campos

N
as aulas de Biologia, todos aprendemos so- compare o interesse despertado pelas principais
bre a importância da diversidade genética distribuições em anos recentes.
para o sucesso continuado de qualquer es- Outra fonte para análise é a pesquisa dos Favori-
pécie e sobre os perigos associados à ausência dela. tos da Comunidade Linux Brasileira, que promovo
O professor de Sociologia também recorria a esse anualmente no BR-Linux.org[1]. Até 2005, havia
mesmo argumento para ajudar a explicar a deca- alternância entre os vencedores na categoria Dis-
dência de dinastias ou grupos sociais que adotavam tribuição desktop, que obtinham sempre menos de
o costume de casar-se apenas ou principalmente 25% dos votos totais. Mas no final de 2005 foi lan-
entre si, eliminando assim a necessária diversidade. çado o Ubuntu, e a partir daí ele sempre ganhou
Nenhum geek, mesmo que tenha faltado a todas as – e em 2007 obteve a primeira maioria absoluta
aulas de Biologia, ignora o assunto, abordado até nessa categoria.
em um episódio (o segundo da quarta temporada) Tenho algo contra o Ubuntu? Não, pelo con-
da série cult Arquivo X. trário. Aprecio e uso diariamente. Mas tenho visto
Mercados equilibrados também apresentam di- cada vez mais reações por parte dos entusiastas
versidade, e tanto para o consumidor quanto para das distribuições cujo percentual de participa-
a cadeia de valor é sempre mais saudável que haja ção está se reduzindo, e noto que essas reações
diversidade do que concentração de opções. freqüentemente apontam para o lado errado e
Mesmo assim, estamos em um momento curio- impedem sua efetividade.
so: se as tendências permanecerem constantes, Fica, portanto, a minha dica: no meu entender,
provavelmente logo teremos uma distribuição co- para reagir a essa expansão de uma forma que to-
munitária de Linux assumindo a posição de líder dos ganhem, é necessário promover e divulgar o
inconteste, sendo vista até mesmo como sinônimo uso de outras distribuições – e não fazer o oposto,
de Linux no desktop. que é combater ou criticar o sucesso da distribuição
Eu vejo vários aspectos positivos nisso, e certamente mais popular. Diversidade é bom, mas já temos ad-
é mérito dos envolvidos na distribuição, por saber o versários suficientes; não precisamos criar disputas
que fazer para atingir uma fatia cada vez maior dos adicionais entre nós mesmos. ■
usuários e interessados em Linux no desktop. Sob
o ponto de vista do crescimento do Linux no mer-
cado, a consolidação também é positiva, mas creio
que seria mais vantajosa se houvesse a dominância Mais informações
de dois ou três fornecedores, e não de apenas um. [1] BR-Linux.org: http://www.br-linux.org/
E note que não estou me referindo ao desktop cor-
porativo, e sim ao meu e ao seu.
Infelizmente, não dispomos de grande riqueza
estatística nos dados históricos que podem ser con- Sobre o autor
sultados publicamente. Mas a reflexão pode partir
Augusto César Campos é administrador de
até mesmo da pouca informação isenta que se pode TI e, desde 1996, mantém o site BR-linux.org,
obter – uma das minhas preferidas é a do Google que cobre a cena do Software Livre no Brasil
e no mundo.
Trends, que mostra a popularidade das buscas por
determinados temas ao longo dos anos. Visite e

8 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Conheça
a solução
flexível
Kenos
ADempiere.

www.kenos.com.br
(11) 4082-1305
© Linux New Media do Brasil Editora Ltda.
Munin

Charly Kühnast
COLUNA

O verdadeiro cleptomaníaco entre as aves é o corvo. É bom os detentores dos dados


conhecerem o Munin, uma ferramenta de monitoramento que homenageia um famoso corvo.
por Charly Kühnast

Desde que nos lembramos, os humanos convi- dbdir /var/lib/munin


vem com animais domésticos. O deus nórdico htmldir /var/www/munin
Odin tinha um cavalo chamado Sleipnir, dois logdir /var/log/munin
lobos, com os nomes Geri e Freki (“glutão” e rundir /var/run/munin
“ganancioso”), e os corvos Hugin e Munin. Odin
enviava os corvos para o mundo toda manhã, e à [gw.kuehnast.com]
noite eles retornavam para relatar o que haviam address 192.168.0.127
observado – um tipo de news ticker primitivo,
alado e com penas. Esse exemplo possui somente um nó, gw.kueh-
nast.com. A configuração dos nós é bastante exaus-
tiva, mas os padrões são muito úteis. Alterei apenas
Memória o usuário e as configurações de grupo:
Enquanto Hugin representa o poder da imagina-
ção e da fantasia, Munin significa memória, que é user root
um nome apropriado para um software que coleta, group root
processa e arquiva dados do sistema. O Munin[1] setsid yes
possui dois componentes: um servidor e vários nós.
O software de cada nó coleta os dados a respeito de É claro que é necessário permitir que o servidor
sua própria máquina e os serviços nela instalados. acesse a porta 4949 do Munin, allow ^192\.168\.0\.42$.
O servidor obtém os dados periodicamente, e usa Mas como o Munin sabe quais serviços e estados de
o RRDtool para processar os dados e gerar gráficos sistema devem ter seus dados coletados?
detalhados como o exibido na figura 1. Nesse sentido, o software segue o exemplo de
seu amigo emplumado – simplesmente relata tudo
que acontece lá no grande mundo exterior, ou ao
Configurando a ave menos em seus próprios nós.
O minúsculo arquivo de configuração do servidor, Antes de começar a alimentar seus amigos vo-
/etc/munin/munin.conf, é semelhante a: adores, talvez seja uma boa idéia ler as FAQs do
Munin, que mostram exemplos e respostas especí-
ficos a respeito de gráficos, plugins, configurações
do servidor e outros. ■

Mais informações
[1] Munin: http://munin.projects.linpro.no

Sobre o autor
Charly Kühnast é administrador de sistemas
Unix no datacenter Moers, perto do famoso rio
Figura 1 O servidor do Munin agrupa dados de Reno, na Alemanha. Lá ele cuida, principalmen-
te, dos firewalls.
sistema coletados dos nós, e usa a RRDtool
para gerar a visualização.

10 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


© Linux New Media do Brasil Editora Ltda.
Pergunte ao Klaus!

Klaus Knopper
COLUNA

O criador do Knoppix responde as mais diversas dúvidas de leitores.


por Klaus Knopper

NDISwrapper
Tenho um laptop antigo que gostaria de usar para para fazer o download, ou então você pode inicia-
navegar sem fio na Internet. Instalei o Debian Etch lizar outro sistema operacional que já possua um
recentemente. O laptopt não tem uma placa de rede. driver funcional para a rede sem fio. Salve o arquivo
Eu gostaria de usar o NDISwrapper para fazer funcio- baixado num pendrive ou numa partição do disco
nar um adaptador de rede sem fio USB Belkin. rígido que seja acessível a partir do Linux.
Não uso Linux em desktops há muito tempo, e Após entrar no Linux, descompacte o código-fon-
não sei como fazer isso. Eu agradeceria se você pu- te do NDISwrapper no diretório home do usuário e
desse me dizer como instalar o NDISwrapper e pôr compile com o make o módulo do NDISwrapper.
tudo para funcionar. Atualmente estou acessando a (Para isso funcionar, os fontes do kernel referentes
Internet por um PC com Windows® XP. ao kernel em execução precisam estar instalados).
Resposta Instale o módulo e seus utilitários com o coman-
O NDISwrapper é uma extensão do kernel Li- do make install (como root).
nux que permite o carregamento de um driver de Entre no diretório onde estão os arquivos do driver
rede do Windows como se fosse um módulo do para Windows (cd /media/sdb1, em meu exemplo)
kernel Linux. Com isso, é possível oferecer supor- e carregue-os (novamente como root):
te a adaptadores de rede que não possuam suporte
nativo no kernel Linux. ndiswrapper -i minhaplaca.inf
Os iniciantes enfrentam alguns obstáculos porque
as extensões do kernel, como módulos, exigem conhe- Se o driver para Windows demandar outros arquivos
cimentos básicos sobre o funcionamento do sistema de driver (algo.sys e possivelmente firmware.bin), eles
operacional, e precisam que o código-fonte do kernel precisarão estar presentes no mesmo diretório.
e o compilador C estejam instalados corretamente. Com ndiswrapper -l, verifique se funcionou. A res-
Portanto, não posso prometer que as instruções a seguir posta deve ser: driver present, hardware present.
vão funcionar precisamente caso você jamais tenha ins- Carregue o módulo do NDISwrapper, caso ainda
talado um módulo do kernel ou trabalhado na linha não o tenha feito (novamente como root):
de comando. Uma solução melhor seria instalar uma
versão do kernel mais recente que suporte o adaptador modprobe ndiswrapper
de rede nativamente (com um driver do Linux, em vez
de um driver para Windows com o NDISwrapper). Ao digitar /sbin/ifconfig -a, agora o adaptador
Se seu desejo for experimentar o NDISwrapper, deve aparecer como wifi0. Pode-se configurá-lo com
as instruções abaixo devem ajudá-lo. Nesse exemplo, as ferramentas para redes sem fio fornecidas pela
parto do princípio de que o pacote com o código-fonte distribuição usada. ■
do NDISwrapper, ndiswrapper-1.49.tar.gz, e o driver
da sua placa de rede para Windows, meudriver.inf,
estejam presentes numa partição do disco rígido ou
em um pendrive montado em /media/sdb1/.. Sobre o autor
Obtenha o código-fonte mais recente do NDISwra-
Klaus Knopper é o criador do Knoppix e
pper em http://ndiswrapper.sourceforge.net/, nor- co-fundador do evento Linux Tag. Atual-
malmente distribuído como um arquivo compacta- mente ele trabalha como professor, progra-
mador e consultor.
do. Para resolver o problema de “ovo ou galinha”,
provavelmente será necessário outro computador

12 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


© Linux New Media do Brasil Editora Ltda.
Crônicas do kernel

Zack Brown
COLUNA

Empresas desenvolvem o kernel, enquanto programadores eliminam


grande quantidade de lixo. Mas não sem dificuldades.
por Zack Brown

Trabalho com Linux? estilo nos patches enviados não acabe incomodando
Algumas pessoas têm se interessado em encontrar em- seus autores com infrações menores.
pregos em empresas para desenvolver o Linux, ou então
em descobrir outras formas de se envolver nisso profissio-
nalmente. Ao longo de um debate, na lista de discussão Remoção de código
do kernel, Greg Kroah-Hartman postou suas estimativas Graças a Adrian Bunk, sempre há muito código
da participação das empresas no desenvolvimento do saindo do kernel, e quando outros tentam retirá-
kernel: http://lkml.org/lkml/2007/10/14/241. los, geralmente descobrem que Adrian já esteve lá.
As cinco principais empresas no desenvolvimen- Por exemplo, Robert P. J. Day recentemente ten-
to do Linux, segundo a lista feita por Greg, são um tou eliminar alguns códigos de suporte a APUS da
tanto previsíveis: Red Hat, IBM, Linux Foundation, arquitetura PowerPC; Adrian disse que já possuía
Novell e Intel. um patch aguardando na fila.
O código de APUS já está listado como defeituo-
so há mais de dois anos, e alguns códigos de APUS
Padrões de código foram eliminados no kernel 2.6.23. Robert havia
Recentemente, alguns desenvolvedores começaram a descoberto os pedaços restantes através de um script
aumentar o tamanho do arquivo CodingStyle para in- feito por ele mesmo, que identifica segmentos de
cluir boas práticas e recomendações para a escrita de código mortos nos fontes do kernel.
código legível. Isso levou a um debate em que Linus Adrian ainda tentou mais uma vez livrar o kernel
Torvalds deixou claro que não queria forçar um padrão do driver eepro100. Esse driver foi substituído há
rigoroso em áreas nas quais houvesse espaço para indivi- muito tempo pelo e100 e foi marcado para elimina-
dualidade. Ele queria que o CodingStyle fosse o menor ção, mas como explicaram Jeff Garzik e Auke Kok
possível, e contivesse apenas as grandes questões, como antes, o e100 ainda tem problemas que dificultam
a obrigatoriedade da indentação correta. Outros aspec- a troca pelo eepro100.
tos, como a idéia de que não se deve usar parênteses em Além disso, David Acker, que está trabalhando em
printk(), são considerados problemas menores de estilo melhorias no driver e100, precisou dedicar sua atenção
que não devem ser exigidos de ninguém. Na verdade, a vários outros projetos, o que reduziu seus esforços no
ele já considera o arquivo CodingStyle atual preocupado e100. Para piorar, algumas falhas do e100 são difíceis de
demais com detalhes, quando seu propósito deveria ser testar, o que torna o processo inteiro ainda mais lento.
explicar princípios mais gerais. Em virtude da vontade coletiva de eliminar o driver
Alexander Viro também levantou a questão de eepro100, no entanto, David disse que fará seu melhor
que não importa quão draconianas fiquem as dire- para cumprir o prometido. Porém, por enquanto, o có-
trizes de estilo de código, sempre será possível al- digo de Adrian ainda precisará esperar. ■
guém aderir a elas estritamente e ainda conseguir
escrever código ruim ou feio. Sobre o autor
Os que apoiavam o arquivo CodingStyle expandi-
do agora estão trabalhando num documento anexo A lista de discussão Linux-kernel é o núcleo
das atividades de desenvolvimento do kernel.
que contenha apenas sugestões, e então o Coding- Zack Brown consegue se perder nesse oce-
Style poderá focar-se no que deve ser obrigatório ano de mensagens e extrair significado! Sua
newsletter Kernel Traffic esteve em atividade
no kernel. Linus está de acordo com essa solução, de 1999 a 2005.
contanto que os scripts usados para verificar erros de

14 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


�������������������
��������������

�������������������������������������������������������������������������������������
������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������
������������������������������������������������������������������������������������
�������������������������������

�����������������
������������������������������
�������������������
© Linux New Media do Brasil Editora Ltda.
➧Mono
INSEGURANÇA

O Mono oferece o software necessário ao desenvolvimen- Mono que usem a classe BigInteger, o que poderia acar-
to e à execução de aplicativos .NET clientes e servidores retar a execução de código arbitrário sob os privilégios do
em várias plataformas. A implementação BigInteger do usuário que estivesse rodando o aplicativo (possivelmente
Mono contém uma vulnerabilidade de estouro de buffer root), ou uma negação de serviço. (CVE-2007-5197) ■
que poderia levar à execução de código arbitrário. Debian: DSA-1397
Um agressor remoto poderia explorar essa vulnerabili- Gentoo: GLSA 200711-10
dade enviando dados especialmente criados a aplicativos SUSE: SUSE-SR:2007:023

➧ SiteBar e include(). (CVE-2007-5492, CVE- que agressores executem códigos ar-


O SiteBar é um aplicativo em PHP 2007-5693) bitrários através de vetores não espe-
que permite aos usuários armaze- O comando de login não valida a cificados. (CVE-2007-4995) ■
nar suas páginas web favoritas num URL à qual os usuários são redireciona- Fedora: Fedora-2007-725
servidor web. Foram identificadas dos após o registro. (CVE-2007-5695) Gentoo: GLSA 200710-30
no SiteBar múltiplas falhas que O SiteBar contém ainda várias Red Hat: RHSA-2007:0964
poderiam permitir a execução de vulnerabilidades do tipo cross-site SUSE: SUSE-SR:2007:021
código arbitrário e a revelação de scripting. (CVE-2007-5692) ■ Ubuntu: USN-534-1
arquivos arbitrários. O módulo de Gentoo: GLSA 200711-05
tradução não trata corretamente o
valor do parâmetro dir. (CVE-2007- ➧ zope-cmfplone
5491, CVE-2007-5694) O módulo ➧ OpenSSL O Plone, nas versões de 2.5 a 2.5.4, e 3.0
de tradução também não cuida Um erro do tipo off-by-one na imple- a 3.0.2, permite que agressores remo-
dos valores de edit e value que mentação de DTLS do OpenSSL tos executem código Python arbitrário
ele passa para as funções eval() 0.9.8 anterior à versão 0.9.89f permite através de dados de rede contendo

Postura das principais distribuições Linux quanto à segurança

Distribuição Referência de Segurança Comentários


Debian Info: www.debian.org/security Alertas de segurança recentes são colocados na homepage e distribu-
Lista: lists.debian.org/debian-security-announce ídos como arquivos HTML com links para os patches. O anúncio tam-
Referência: DSA-… 1 bém contém uma referência à lista de discussão.
Gentoo Info: www.gentoo.org/security/en/glsa Os alertas de segurança são listados no site de segurança da distribui-
Fórum: forums.gentoo.org ção, com link na homepage. São distribuídos como páginas HTML e
Lista: www.gentoo.org/main/en/lists.xml mostram os comandos necessários para baixar versões corrigidas dos
Referência: GLSA: … 1 softwares afetados.
Mandriva Info: www.mandriva.com/security A Mandriva tem seu próprio site sobre segurança. Entre outras coisas,
Lista: www1.mandrdrivalinux.com/en/flists.php3#2security inclui alertas e referência a listas de discussão. Os alertas são arquivos
Referência: MDKSA-… 1 HTML, mas não há links para os patches.
Red Hat Info: www.redhat.com/errata A Red Hat classifica os alertas de segurança como “Erratas”. Proble-
Lista: www.redhat.com/mailing-lists mas com cada versão do Red Hat Linux são agrupados. Os alertas são
Referência: RHSA-… 1 distribuídos na forma de páginas HTML com links para os patches.
Slackware Info: www.slackware.com/security A página principal contém links para os arquivos da lista de discussão
Lista: www.slackware.com/lists (slackware-security) sobre segurança. Nenhuma informação adicional sobre segurança no
Referência: [slackware-security] … 1 Slackware está disponível.
Suse Info: www.novell.com/linux/security Após mudanças no site, não há mais um link para a página sobre se-
Lista: www.novell.com/linux/download/updates gurança, contendo informações sobre a lista de discussão e os alertas.
Referência: suse-security-announce Referência: SUSE-SA … 1 Patches de segurança para cada versão do Suse são mostrados em
vermelho na página de atualizações. Uma curta descrição da vulnera-
bilidade corrigida pelo patch é fornecida.
Ubuntu Ubuntu Info: www.ubuntu.com/usn O Ubuntu, baseado no Debian, mantém um sistema de atualizações
Lista: lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce de segurança independente. Muitas notas do Debian podem ser apli-
Referência: USN-... 1 | cadas também ao Ubuntu. |
1 Todas as distribuições indicam, no assunto da mensagem, que o tema é segurança.

16 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Segurança | NOTÍCIAS

objetos pickled para as mensagens de alocar memória inadequadamente, ➧ PCRE


status ou para o módulo linkintegrity, resultando na possível execução de Múltiplos estouros de inteiros na
no qual o módulo faz um unpickle e código arbitrário com as permissões biblioteca Perl-Compatible Regular
executa. (CVE-2007-5741) ■ do usuário que estiver executando o Expressions (PCRE) anterior à versão
Debian: DSA-1405-1 Perl. (CVE-2007-5116) ■ 6.7 permitem que agressores depen-
Debian: DSA-1400-1 dentes do contexto executem código
Mandriva: MDKSA-2007:207 arbitrário através de uma expressão
➧ phpMyAdmin Red Hat: RHSA-2007:0966-5, RHSA- regular que contenha um grande
Várias vulnerabilidades foram encon- 2007:1011-3 número de subpadrões com nomes
tradas no phpMyAdmin, um aplica- (name_count), nomes longos de subpa-
tivo que administra o MySQL pela drões (max_name_size), um subpadrão
Web. O phpMyAdmin permite que ➧ Kernel Linux repetido com um nome longo ou um
um agressor remoto injete um script Um underflow de inteiros na fun- vetor não especificado envolvendo
web ou HTML no contexto da ses- ção ieee80211_rx em net/ieee80211/ as variáveis max, min e duplength no
são de um usuário logado (cross-site ieee80211_rx.c no kernel Linux 2.6.x cálculo de comprimento de pcre_
scripting). (CVE-2007-5589) anterior à versão 2.6.23 permite que compile. (CVE-2006-7224) ■
Quando acessado por um navega- agressores remotos causem uma ne- Red Hat: RHSA-2007:1052-4
dor que não codifica as requisições na gação de serviço (travamento) através
URL, o phpMyAdmin permite que de um valor de comprimento SKB
agressores remotos injetem scripts web num quadro IEEE 802.11 quando a ➧ OpenLDAP
ou HTML arbitrários através da cadeia flag IEEE80211_STYPE_QOS_DATA está Foi descoberta uma falha na forma
de consulta. (CVE-2007-5386) ■ ativada. (CVE-2007-4997) ■ como o daemon slapd do OpenLDAP
Debian: DSA-1403-1 Debian: DSA-1381-2 lida com atributos mal formados de ob-
SUSE: SUSE-SA:2007:059 jectClasses LDAP. Um agressor poderia
criar uma requisição LDAP para causar
➧ Nagios Plugins uma negação de serviço pela parada
Duas vulnerabilidades de estouro de ➧ Arquivos PDF do slapd. (CVE-2007-5707) ■
buffer no pacote Nagios Plugins po- Várias falhas foram descobertas no Mandriva: MDKSA-2007:215
dem permitir a execução remota de uso de arquivos PDF, e poderiam Red Hat: RHSA-2007:1037-3
código arbitrário. O Nagios Plugins é afetar aplicativos como CUPS, gpdf,
um conjunto oficial de plugins para Poppler, Xpdf e TeTex. Um agressor
o Nagios, um programa de Código poderia criar um arquivo PDF ma-
Aberto para monitoramento de má- licioso para fazer esses aplicativos Soluções
quinas, serviços e rede.
Um erro de verificação de limites
fecharem ou potencialmente exe-
cutarem código arbitrário ao serem
Completas em
no plugin check_snmp, ao processar abertos. (CVE-2007-4352, CVE-2007- Open Source
respostas GET SNMP pode levar a um 5392, CVE-2007-5393)
estouro de buffer baseado na pilha. Uma falha foi encontrada na forma
(CVE-2007-5623) Um erro de verifi- como o CUPS lida com a negociação
cação de limites na função redir() SSL. Um agressor remoto capaz de se
do plugin check_http ao processar conectar ao daemon do CUPS poderia
informações do cabeçalho Location: fazê-lo fechar. (CVE-2007-4045)
HTTP pode levar a um estouro de Foi descoberta também uma falha
buffer. (CVE-2007-5198) ■ na biblioteca t1lib, usada no tratamento Suporte • Desenvolvimento • Treinamento
Gentoo: GLSA 200711-11 de fontes Type 1. Um agressor poderia
criar um arquivo malicioso que faria Av. Presidente Vargas, 962 - Grupo 1001
o TeTex fechar, ou potencialmente Centro - Rio de Janeiro/RJ • 20071-003
➧ Perl executar código arbitrário ao ser aber- Tel.: (21) 2526-7262
Foi descoberta uma falha no meca- to. (CVE-2007-4033) ■ Fax: (21) 2203-1748
nismo de expressões regulares de Perl. Red Hat: RHSA-2007:1023-01, RHSA-
www.linuxsolutions.com.br
Uma entrada especialmente criada para 2007:1025-01, RHSA-2007:1026-01, RHSA-
uma expressão regular pode fazer o Perl 2007:1027-6, RHSA-2007:1031-01

Linux Magazine #38 | Janeiro de 2008 17


© Linux New Media do Brasil Editora Ltda.
➧ Rails 2.0
Após mais de um ano de desenvolvimento, finalmen- O Rails 2.0 traz diversas incompatibilidades com re-
te foi lançado, em dezembro de 2007, a versão 2.0 do cursos da versão anterior, após um longo tempo de avisos
NOTÍCIAS

framework web Rails. Segundo o anúncio oficial, a de que tais recursos já se tornavam obsoletos.
nova versão inclui diversos novos recursos, correções Feito na linguagem Ruby, com a qual compõe o siste-
de falhas e bastante polimento. Segmentos de código ma Ruby on Rails, o pacote recebeu grande atenção dos
também foram retirados, no intuito de tornar “o pacote desenvolvedores web quando de seu lançamento, inspi-
mais coerente e leve”, de acordo com David, líder no rando, inclusive, programadores de diversas outras lin-
desenvolvimento do sistema. guagens a desenvolverem soluções semelhantes. ■

➧ Novos centros de treinamento RH serviços da Red Hat para a América Latina e res-
A Red Hat inaugurou no final de 2007 novos centros ponsável pela área de treinamento. “Nossos novos
de treinamento para atender o aquecido mercado parceiros de treinamento nos ajudarão a prover um
de tecnologia. Os novos parceiros da empresa mi- melhor treinamento aos profissionais de Linux e
nistrarão os cursos nas cidades de Belo Horizonte, expandir o entendimento e adoção da tecnologia
Brasília, Porto Alegre e Rio de Janeiro. Além desses de Código Aberto no Brasil”.
centros, a Red Hat conta com seu Os cursos ministrados pelos
próprio centro de treinamento e parceiros abrangem desde o ser-
um parceiro, ambos na cidade de vidor de aplicações Java JBoss até
São Paulo. aspectos específicos das distribui-
“O mercado Linux no Brasil e ções Red Hat Enterprise Linux,
na América Latina está em franca como administração do sistema,
expansão e esperamos que a demanda por treina- implementação em empresas, desenvolvimento e
mento continue aumentando em toda a região”, segurança, e também as certificações da empresa,
afirmou Mariano Fernandez, gerente regional de RHCE, RHCT e RHCA. ■

➧ OpenVZ sobre Xen? ➧ Criptografia no Windows quebrável


Máquinas virtuais dentro de máquinas virtuais. Isso Pesquisadores da Universidade de Haifa, em Israel, desco-
é possível há tempos. Mas uma novidade é a libe- briram uma séria falha de segurança no gerador de núme-
ração, pela equipe de desenvolvimento da tecno- ros pseudo-aleatórios do Windows. Ao descobrirem como
logia OpenVZ, de um kernel 2.6.18 para o Red Hat funciona a geração desses números, os pesquisadores foram
Enterprise Linux. Essa versão contém, além dos capazes de prever números passados e futuros que serviriam
patches do OpenVZ, as alterações para viabilizar o para a criação de chaves criptográficas, entre outros usos.
funcionamento do Xen. O uso de chaves criptográficas que possam ser descober-
É muito interessante a possibilidade de se exe- tas põe em xeque toda a segurança derivada do uso de crip-
cutar múltiplos sistemas sobre o OpenVZ numa tografia, uma vez que o usuário crê estar protegendo seus
máquina virtualizada sobre Xen, justamente por dados de olhos maliciosos quando na realidade o eventual
tratarem-se de tecnologias de virtualização radi- agressor tem acesso integral aos dados trafegados.
calmente diferentes. Enquanto o Xen emprega O sistema investigado foi o Windows 2000, mas os pes-
a abordagem de controle das máquinas virtuais quisadores presumem que o mesmo código tenha sido
por um hypervisor, o OpenVZ compartilha um empregado nas versões seguintes do sistema, como Win-
único kernel Linux por múltiplos aplicativos dows XP e Vista. A conclusão dos pesquisadores é de que
de espaço do usuário – como se fossem vários a Microsoft precisa melhorar a forma como criptografa as
sistemas Linux rodando em paralelo sobre um informações, e que a liberação do código-fonte do gerador
único kernel. de números pseudo-aleatórios – associado ao código de ou-
Além do RHEL, o Debian também dispõe de tros segmentos relacionados à segurança – permitiria que
versões do kernel com ambos os patches integra- especialistas em segurança externos à empresa implemen-
dos, permitindo a mesma funcionalidade. ■ tassem tais melhorias no código. ■

18 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Gerais | NOTÍCIAS

➧ Google pagará secundaristas ➧ EeePC e a GPL


Seguindo o estrondoso sucesso das edições do Google A variante comercial do laptop educativo Classmate PC da Intel,
Summer of Code, nas quais programadores rece- o EeePC, fabricado pela Asus, gerou polêmica no fim de 2007.
bem da gigante das buscas e anúncios online uma Segundo um analista, o laptop necessita de drivers de dispositivos
quantia para contribuírem no desenvolvimento de levemente alterados em relação ao código-fonte original. Porém,
aplicativos de Código Aberto, agora os estudantes nem a fabricante do laptop nem a da distribuição, Xandros, ha-
secundaristas também têm a chance de serem re- viam publicado as alterações realizadas sobre esse código-fonte,
compensados para desenvolver Software Livre. caracterizando uma violação da licença GPL.
Em comparação com o já tradicional Summer of Ao ser notificada a respeito da violação, a Asus procedeu
Code, o Google Highly Open Participation Contest ofe- à publicação do link para download dos códigos referidos
rece um menor número de projetos e, em vez de salários em sua página de suporte. Em todo o ocorrido, chamou
temporários, premiações com camisas e outros objetos, atenção a rapidez da resposta do fabricante. ■
incluindo pequenos prêmios em dinheiro. ■

➧ SL nas escolas públicas


Corinto Meffe, gerente de inovações tecnológicas
do Ministério do Planejamento, informou que o
Governo Federal já começou a distribuir os 90
mil computadores equipados com Software Livre
às escolas públicas. Somados às 50 mil máquinas
já distribuídas, esses PCs devem ser distribuídos
a escolas por todo o país, no intuito de promover
e facilitar a inclusão digital dos alunos e também
dos professores. ■

© Linux New Media do Brasil Editora Ltda.


➧Um ano do acordo
MS-Novell
CORPORATE

Em dezembro de 2007 Novell e Microsoft celebraram empresas integradas, resultado esse que se reflete no
um ano da assinatura do acordo de cooperação entre significativo crescimento das vendas”.
as duas empresas. Seus objetivos iniciais, a colaboração Do outro lado, Bob Muglia, vice-presidente sênior da divisão
na criação de uma conexão entre softwares proprietá- de servidores e ferramentas da Microsoft, afirmou também:
rios e de Código Aberto, foram até superados, segundo “Estamos muito interessados em trabalhar com a Novell para
anúncio da Novell à imprensa. (...) ajudar um grande grupo de pessoas com deficiências no
As duas empresas “continuam mundo todo a trabalhar com computadores”.
enxergando uma importante de-
manda por interoperabilidade”,
informou o comunicado, “e mais Novos clientes
tranqüilidade com relação a proprie- O anúncio comemorativo da Novell inclui também uma
dade intelectual”. Como forma de lista com 30 novos clientes – de setores diversos – que
ampliação do acordo, as parceiras aderiram à solução conjunta proveniente do acordo,
agora pretendem “criar um modelo isto é, receberam da Microsoft certificados de três anos
de plataforma mista interligando de suporte ao Suse Linux Enterprise Server.
Linux e Windows”, com a meta de A colaboração técnica nas áreas de virtualização, ge-
“ajudar deficientes a interagirem renciamento de padrões, diretórios, identidade e com-
com computadores”. patibilidade de documentos permanecem como parte
Jeff Jaffe, vice-presidente exe- importante do acordo. Em seus laboratórios conjuntos
cutivo e CTO da Novell, afirmou de interoperabilidade, nos EUA e na Alemanha, as duas
que, devido ao acordo, a fabricante vêm trabalhando para garantir a interoperabilidade do
Jeff Jaffe, da Novell: “deman- do Suse Linux “está se tornando SLED 10 com as novas versões do Windows Server com
da por interoperabilidade”. a melhor escolha de Linux para uso do Xen. ■

➧ Supercomputadores brasileiros ➧ Processadores Power 6


A francesa Bull, fornecedora de infraestrutura de TI, fechou com o No mesmo mês, a Bull apresentou também
Governo Federal a negociação para aquisição de dois supercompu- sua nova linha Escala de servidores blade.
tadores. Cada uma das duas máquinas tem poder de processamento As novas supermáquinas vêm equipadas, em
de 6,1 TFLOPS e é composta por 72 servidores Bull NovaScale com cada unidade, do modelo EL406B, com até
dois processadores Xeon quad-core, totalizando 576 núcleos, 1 TB de dois processadores Power 6 de núcleo duplo
memória e 45 TB de espaço para armazenamento de dados. e freqüência de 4 GHz. Esse modelo traz
Os supercomputadores estão sendo instalados nas Universida- também um disco rígido SAS e duas portas
des Federais do Ceará (UFCE) e de Pernambuco (UFPE), e in- Ethernet e conexões extras, como Ethernet
tegram o Sistema Nacional de Processamento de Alto Desempe- 10 Gb, InfiniBand e Fiber Channel, podem
nho (SINAPAD), que reúne centros (CENAPADS) de excelência ser adicionadas com placas opcionais.
em computação nas regiões Sul, Sudeste e Nordeste. Os dados Os sistemas operacionais oferecidos pelo
processados pelo SINAPAD englobam áreas como simulação de fabricante são o AIX 6 e Linux. Além da ofer-
reservatórios de petróleo, química computacional, oceanografia, ta dos novos processadores Power 6, outro
recursos hídricos, clima e genômica. grande avanço nesses servidores blade é sua
Sobre a aquisição, Alberto Araújo, presidente da Bull no Brasil, afir- compatibilidade com chassis que compor-
mou: “Estamos muito orgulhosos pela Bull ter sido selecionada pelas tam também servidores blade equipados
Universidades Federais. Este negócio confirma que a Bull, responsável com processadores x86. Isso significa que é
pelo desenvolvimento do mais poderoso Supercomputador da Europa, possível unir, num mesmo chassi, as duas
está pronta para desenvolver as melhores soluções de alto desempenho plataformas, da forma mais adequada ao
em todo o mundo, desde a Ásia até a América do Sul” ■ processamento a ser realizado. ■

20 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Notícias | CORPORATE

➧ Valorização da Red Hat ➧ Suporte para antivírus aberto


A americana Red Hat, fabricante do Red Hat Enterprise O sistema antivírus ClamAV é o mais utilizando
Linux e da distribuição comunitária Fedora, foi eleita dentre as alternativas de Código Aberto. No Brasil,
líder em satisfação na quarta edição do estudo intitu- até há pouco, ele não contava com
lado “CIO Insight Vendor Value”. Ziff Davis, autor do suporte por nenhuma empresa. Po-
estudo, entrevistou 472 executivos de TI (mais da me- rém, desde o final de novembro, a
tade em cargos máximos de sua função) a respeito da brasileira CLM Software mudou
confiança e do valor oferecidos pelos fornecedores de esse quadro, e passou a oferecer
software, e mais uma vez a empresa de Raleigh ganhou suporte de nível corporativo ao
a primeira colocação. antivírus de Código Aberto.
Este ano, além do ranking geral, a Red Hat ocupou o A CLM é especializada em
primeiro lugar em outras categorias da pesquisa, como sa- softwares de gestão de risco e
tisfação do cliente e cumprimento de tempo e orçamento, segurança da informação, entre
por exemplo. outras áreas, sendo também re-
Nas três edições anteriores do estudo, a Red Hat ocupou presentante no Brasil da Sour-
a primeira posição em duas ocasiões, e em todos os estudos cefire, que desenvolve o IDS/
foi eleita como a empresa que oferece o maior valor entre IPS Snort – também de Códi-
os fornecedores de software. ■ go Aberto – e que adquiriu o
ClamAV em agosto de 2007.
Segundo a CLM, em 2008 devem começar a ser
comercializados appliances contendo as soluções de
segurança, como o Snort e as funcionalidades de
antivírus, anti-spyware e anti-worms do ClamAV,
sob a marca da Sourcefire. ■

➧ SonicWALL com suporte a Linux Outra importante novidade da versão 2.5 do firmware
A SonicWALL, fabricante americana de soluções de do SSL VPN é o suporte a sistemas Linux e Mac OS
segurança, anunciou o lançamento do produto SSL X. Com o SonicWALL Virtual Assist, o suporte técnico
VPN para pequenas e médias empresas. O produto agora pode ser iniciado por qualquer um dos dois envolvidos:
pode receber um módulo que permite acesso externo às o usuário ou o técnico. O usuário pode enviar uma soli-
máquinas gerenciadas por ele. O objetivo é possibilitar citação de suporte através do portal, ou o técnico pode
o suporte remoto, com o técnico acessando o compu- indicar, por email, o link para o usuário acessar o portal
tador sem precisar se deslocar até a máquina. e assim possibilitar o suporte remoto. ■

➧ O mercado em 2008, segundo o IDC


O IDC divulgou suas previsões para o mercado global te, isso inclui a abertura de modelos de negócios
de TI no ano de 2008. Segundo o anúncio das previsões, para a participação da comunidade, e também o
os últimos anos foram marcados por inúmeros eventos crescimento dos investimentos para desenvolver
disruptivos na área de TI, incluindo o desenvolvimen- esses modelos.
to colaborativo de softwares, representado em grande “O status quo está pres-
parte pelo Software Livre e de Código Aberto. A atua- tes a mudar”, afirma Frank
ção e o crescimento de empresas pouco convencionais Gens, vice-presidente sê-
no setor, como Google, Youtube e Facebook, também nior de pesquisa do IDC.
reforçam essa observação. As tecnologias disruptivas
Em 2008, segundo o IDC, o mercado deve co- serão o novo padrão e dei-
meçar a entrar na fase chamada “pós-disrupção”. xarão de receber essa deno-
Isso significa o estabelecimento e fortalecimento minação, enquanto mais e
desses modelos e empresas até agora considerados mais empresas adotarão os
heterodoxos, com representantes do mercado tra- novos modelos de negócios Frank Gens, do IDC, afirma: “o status
dicional adotando as novas práticas. Evidentemen- e tecnologias. ■ quo está prestes a mudar”

Linux Magazine #38 | Janeiro de 2008 21


© Linux New Media do Brasil Editora Ltda.
Entrevista com Marcelo Lombardo, Diretor de Tecnologia da NewAge Software

SOA sem suor


CORPORATE

O CoreBuilder é um grande curinga no desenvolvimento de softwares


para gestão empresarial. Conheça a visão de seu criador.
por Pablo Hess

A
brasileira NewAge Software senvolve também sistemas especiais Linux Magazine» O que é o CoreBuil-
iniciou suas operações já em para alguns setores da indústria. der, e quais as suas vantagens em
1989. Em 1999, lançou o pri- Seu principal produto na área de relação a seus concorrentes?
meiro sistema ERP brasileiro em Java, desenvolvimento é o CoreBuil- Marcelo Lombardo» O CoreBuilder
e em 2002 criou o primeiro ERP em der, que, com o lema Code once, é um framework de altíssima pro-
.NET da América Latina. run everywhere (Programe uma dutividade para o desenvolvimento
Com várias ofertas na área de vez, execute em qualquer lugar), de aplicações de gestão de negócio.
gestão empresarial, a empresa de- possibilita o desenvolvimento de Sua diferença básica em relação aos
aplicativos para múltiplas plata- outros frameworks é isolar comple-
formas sem necessidade de re- tamente a tecnologia das regras de
compilação. negócio. Com isso, a “camada tec-
Marcelo Lombardo, Diretor de nológica” pode ser substituída sem
Tecnologia da NewAge e criador necessidade de reescrever as regras

O suporte ao Linux e
a bancos de dados de
Código Aberto fazem
parte da linha mestre
de nossa estratégia.

do CoreBuilder, explica nesta en- de negócio, o que permite que sejam


trevista de que forma esse sistema preservados os investimentos reali-
pode ajudar as empresas a adotarem zados no desenvolvimento contra
SOA sem qualquer acréscimo de rupturas tecnológicas.
Figura 1 Marcelo Lombardo, Diretor complexidade no desenvolvimento,
de Tecnologia da NewAge manutenção ou portabilidade de LM» Como as tecnologias que for-
Software. seus sistemas mais críticos. mam a base do CoreBuilder o dife-

22 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


CoreBuilder | CORPORATE

renciam de um gerador de código- des redes de lojas com centenas de nal do gerenciamento do ambiente,
fonte comum? usuários simultâneos, fazendo uso do banco de dados, dos backups e
ML» Nos últimos anos, as empresas de Linux tanto nos servidores quanto da segurança dos dados garantem
desenvolvedoras de aplicativos vêm nas estações. uma operação livre de falhas e sem
tendo a necessidade de escolher se preocupações de infraestrutura para
vão entrar no mundo Microsoft – pla- LM» Existe alguma plataforma pre- o empresário.
taforma .NET – ou no mundo Java. ferida (entre Java e .NET) por seus
Decisões como essa inevitavelmente clientes para a geração de seus LM» De que forma a recente ênfa-
levam a empresa a perder alguma softwares? se em SOA no Brasil pode ajudar
fatia de mercado. A vantagem ao ML» Existe uma clara preferência: a aumentar o uso de ferramentas
trabalhar com o CoreBuilder é que percebemos que mais de 70% es- como o CoreBuilder?
a aplicação é desenvolvida uma úni- colhem a plataforma Java, mesmo ML» Ferramentas como o CoreBuilder
ca vez, e no mesmo instante já pode que seja em ambientes diferentes assumem um papel decisivo nesse ce-
ser executada em qualquer front-end, de Linux e mesmo que com bancos nário de SOA, pois viabilizam o mo-
assim como em qualquer banco de de dados de código fechado, como delo na prática, já que as aplicações
dados do mercado, sem exigir a re- o MSSQL Server. desenvolvidas podem rodar totalmente
compilação da aplicação.
O CoreBuilder se diferencia dos
geradores de código-fonte por não Nossa meta é que as
necessitar de processos complexos software houses não
de compilação e instalação. Uma vez
criado um form, por exemplo, este já fiquem dependendo
pode instantaneamente ser executado da ferramenta de
em Java, .NET ou AJAX. Além disso,
nosso produto gerencia muito melhor
desenvolvimento
as mudanças e trabalhos realizados ou do banco de
por cada programador.
Em outras palavras, o CoreBuil-
dados da moda.
der cuida não apenas do desenvol-
vimento do aplicativo, mas também Porém, nosso objetivo vai um desacompanhadas de um front-end.
gerencia o trabalho em equipe e a pouco além desse fator. Nossa meta Isso é possível porque quaisquer com-
manutenção dos sistemas em am- é que as software houses não fiquem ponentes, sejam objetos ou forms,
biente de produção. dependendo da ferramenta de desen- podem ser acessados como um web
volvimento ou do banco de dados da service automaticamente.
LM» Qual a importância estratégica moda, e com isso seja possível mini- Acredito que, através da especia-
de suportar o Linux e os bancos de mizar os riscos no desenvolvimento lização das empresas produtoras de
dados de Código Aberto? de suas soluções. sistemas em setores específicos, po-
ML» O suporte ao Linux e a bancos de demos chegar ao tão sonhado SOA
dados de Código Aberto fazem parte LM» Quais as vantagens do modelo Marketplace, no qual aplicações
da linha mestre de nossa estratégia, de negócios de software como ser- – ou componentes, dependendo do
já que possuem a finalidade de dis- viço, adotado pelo CoreBuilder, caso – especializadas podem ser or-
ponibilizar soluções de baixo custo e com assinatura mensal, em com- questradas por um middleware que
alta confiabilidade. Prova disso é que paração com o modelo de venda automatiza as transações.
cerca de 20% dos usuários finais dos de licenças? Entretanto, percebo que os aplica-
aplicativos desenvolvidos já fazem sua ML» Na minha opinião, a maior tivos que estão sendo desenvolvidos
instalação nessas plataformas abertas, vantagem é a segurança e não a no Brasil ainda tendem a ser prepon-
ou estão migrando para elas. simples redução de custos, como se derantemente monolíticos. Isso é ne-
Calculamos que existem hoje, costuma crer. É verdade que o cus- gativo, pois esse mercado no futuro
em produção, aproximadamente 60 to total de propriedade no modelo demandará granularidade, a qual não
clientes nessa situação. Esse número ASP tende a ser menor que aquele será atendida por sistemas monolí-
engloba clientes de todos os portes, visto no modelo tradicional. Porém, ticos. Ainda há muito que aprender
desde pequenas empresas até gran- entendo que o tratamento profissio- sobre SOA no Brasil. ■

Linux Magazine #38 | Janeiro de 2008 23


© Linux New Media do Brasil Editora Ltda.
Entrevista com Jean-Pierre Laisné, Presidente do OW2

Benefícios
CORPORATE

intercontinentais
O consórcio OW2 visa a desenvolver um middleware de Código Aberto e
alta qualidade. Em sua visita ao Brasil, o presidente do OW2 nos explicou
por que nosso país faz parte de sua estratégia para 2008.
por Pablo Hess

Linux Magazine» Como você descre- num consórcio de universidades e Nós realmente não favorecemos a li-
veria o OW2? Qual seu propósito, empresas chinesas, com o mesmo cença Apache. Porém, assim como nós
e por que ele é importante para objetivo da ObjectWeb. utilizamos alguns de seus componentes,
o mundo corporativo atualmente? A união entre as duas iniciativas gerou eles também utilizam alguns dos nos-
Jean-Pierre Laisné» O OW2 descen- o consórcio OW2, que agora engloba sos. Há ocasiões em que competimos
de da fusão entre a ObjectWeb e a três continentes. A missão do OW2, e outras em que colaboramos.
OrientWare. A ObjectWeb foi funda- portanto, permanece igual à de seus Isso é típico do Código Aberto, e
da em 2002 por uma parceria entre o fundadores, e baseia-se na idéia de que é saudável. Como no OW2 somos
Instituto de Pesquisa em Informática o middleware deve ser aberto. Somente pessoas de bem, assim como na
da França (INRIA), a também fran- se o middleware for de Código Aberto, Fundação Apache, nós não criamos
cesa Bull e a France Telecom. Seu totalmente transparente e independen- problemas uns para os outros.
objetivo era desenvolver e abrigar te, poderemos evitar problemas com
um middleware de Código Aberto e governos, instituições privadas e até LM» E quanto ao Eclipse? A Fun-
distribuído, e antes da fusão, no fim mesmo com a vida das pessoas. dação Eclipse tem o mesmo tipo
de 2006, já havia alcançado relativo de relação com a OW2?
sucesso nisso. A chinesa OrientWa- LM» Como está a evolução desses ob- JL» Nossa relação com o Eclipse é
re, mais recente, consistia também jetivos? Eles já foram alcançados? mais próxima do que com o Apache.
JL» O middleware já existe há vinte A Fundação Eclipse já participou da
anos, e é uma tecnologia em cons- ObjectWeb, mais especificamente no
tante modificação. Hoje, nossos projeto das Webtools. Alguns de nossos
esforços se destinam ao suporte a membros ainda colaboram de perto
SOA, Business Intelligence e go- no projeto Service Oriented Tools.
verno eletrônico (o e-Gov). Tam- Na realidade, nossa relação com
bém estamos trabalhando numa o Eclipse é mais simples. O OW2 é
plataforma completa e integrada e especialista na plataforma de execu-
numa implementação de referência ção, e não existiria uma plataforma
de todos os componentes do OW2, dessas sem as ferramentas de desen-
para fornecer serviços a empresas volvimento. Então, não concorremos
privadas, governos etc. em nenhuma esfera.
Nossa intenção é completarmos
isso tudo em janeiro de 2008. LM» Na sua visão, qual a importância
da adoção de uma licença de Códi-
LM» O OW2 parece depender muito go Aberto pelo Java da Sun?
do servidor web Apache. Como é a sua JL» A nosso ver, no OW2, é um movi-
relação com a Fundação Apache? mento muito natural. Eles precisavam
JL» A relação é boa. Não utilizamos o fazer isso, e ficamos muito contentes
Figura 1 Jean-Pierre Laisné, mesmo modelo de licenciamento, ou que de fato tenham feito. Mesmo antes
Presidente do OW2 as mesmas políticas de direitos autorais. desse movimento, a Sun sempre foi

24 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


OW2 | CORPORATE

muito amistosa com o OW2, assim a tem seu próprio perfil. Há grandes LM» Como você caracteriza o su-
mudança do licenciamento do Java integradores de sistemas, com forte cesso do OW2 em 2007, e quais os
ainda não alterará nossa relação. base em serviços e especializados planos para 2008?
em seus mercados. Por outro lado, JL» Disponibilizamos importantes
LM» Quais são os principais respon- as startups costumam adotar uma porções de código sob a GPL, vol-
sáveis por contribuições ao OW2? mistura de modelos diferentes, como tadas a todas essas áreas, e esse é
Empresas privadas, indivíduos ou serviços e até OEM. exatamente o nosso objetivo.
governos? Cientistas e pesquisadores também Em nossa passagem pelo Brasil,
JL» Temos muitos participantes no têm usado nosso código, e publicam a meta é preparar o terreno para a
consórcio, então apontar apenas um na comunidade acadêmica com base expansão do OW2 por todo o mun-
subconjunto deles como principais nele. Esse é mais um modelo de ne- do. Desejamos criar uma verdadeira
contribuidores não seria correto. gócios que vem crescendo. massa crítica de desenvolvedores e
Como somos compostos por empre- Por último, temos também empre- usuários de nosso código ao redor
sas de todos os tamanhos e setores, sas voltadas unicamente ao Código do planeta. Já estamos presentes na
que desenvolvem códigos voltados Aberto, como a Red Hat, por exem- China e na Europa, assim nossa ex-
a suas próprias necessidades, re- plo, que obtêm sua receita dentro pansão deve continuar pelo Brasil e
almente é impossível afirmarmos desse modelo. o restante da América Latina.
qual ou quais são mais presentes
com seus códigos. LM» Como é a política de licencia- LM» Por que a América Latina?
mento do consórcio? JL» Nossa motivação é a oportuni-
LM» Todo esse ecossistema certamen- JL» Nós aceitamos o duplo licencia- dade que vislumbramos aqui, com
te gera competição entre membros mento de nossos projetos. Com isso, diversas empresas e pessoas extre-
do OW2. Como o consórcio lida a licença mais comum entre eles é mamente amigáveis e acolhedoras
com esse aspecto? a GNU GPL, com uma alternativa ao Código Aberto.
JL» Nós não forçamos qualquer tipo proprietária. Se Ásia, Europa e América La-
de competição. Para nós, os projetos tina unirem forças para construir
surgem para preencher uma demanda LM» Para uma empresa que ain- em conjunto um middleware de
tecnológica. Portanto, nós geralmente da não faz parte do
não incentivamos a existência de mais consórcio, quais as
de duas respostas para uma mesma vantagens de vir a Em nossa passagem
questão, tecnicamente falando. integrá-lo? pelo Brasil, a meta é
LM» Como é feita a seleção de pro-
JL» O OW2 é uma fon-
te reconhecida de com-
preparar o terreno para
jetos para inclusão no OW2? ponentes confiáveis e a expansão do OW2
JL» Temos um comitê, formado por
desenvolvedores, representantes da
de Código Aberto. So-
mos a terceira geração
por todo o mundo.
OW2 e especialistas, que constrói a do Código Aberto. As
visão da arquitetura de nossas soluções. empresas que se juntam a nós são aque- Código Aberto e alta qualidade,
Além disso, esse comitê decide quais las que compartilham nossa visão sobre conseguiremos mudar as regras do
serão os projetos que comporão nossa a importância do desenvolvimento de mercado desse segmento.
base, fundamentados na adequação componentes em Código Aberto para No Brasil, nosso primeiro associa-
de cada candidato a essa mesma visão. a formação de um middleware de alta do é o Serpro, que já está altamente
Novos projetos cujo código não seja qualidade e distribuído. comprometido com a comunidade do
utilizável por outros projetos dentro Além disso, como parte de um OW2, e mostrou muito interesse em
do OW2 dificilmente terão chance consórcio, todos os nossos projetos participar do desenvolvimento de um
de se juntar ao consórcio. dispõem de uma espécie de marke- middleware de Código Aberto.
ting colaborativo. Outros órgãos federais, como o ITI
LM» Quais os modelos de negócio Em resumo, juntar-se ao OW2 é bom e a Casa Civil, também mostraram
mais populares entre os projetos para a imagem da empresa e oferece interesse, e verificamos vários outros
que compõem o OW2? acesso a uma base de código de qualida- potenciais interessados entre univer-
JL» Como eu disse, nós englobamos de garantida e perfeitamente legalizada sidades privadas e órgãos públicos
diversos tipos de empresas, e cada uma quanto à questão de licenças. estaduais e municipais. ■

Linux Magazine #38 | Janeiro de 2008 25


© Linux New Media do Brasil Editora Ltda.
Quando a educação tem Código Aberto

Edgar Silva
CORPORATE

Iniciativas colaborativas para a educação técnica e superior.


por Edgar Silva

Com a chegada dos conteúdos colaborativos, wikis, em Java, onde os alunos do professor Daniel aplicam
fóruns e canais de IRC, a disseminação de cultura toda a teoria das disciplinas na forma de desenvolvi-
e conhecimento derrubou fronteiras geográficas e mento de software, cujos códigos ficam abertos para
sociais. É a grande chance de encontrar talentos em que qualquer pessoa possa conferir. Um resultado
todos os lugares do mundo, em todas as esquinas de dessa iniciativa são as empresas do TecnoPuc de Por-
uma cidade, e a chave para isso ainda é a educação. to Alegre, que começaram a consumir os recursos
Como grande alternativa à indústria, a tecnologia criados por esse projeto educacional.
da informação ganha alicerces em vários países que Na minha época de faculdade, recursos como
buscam desenvolvimento, como o Brasil. Neste ar- esses jamais foram disponibilizados. Talvez por isso
tigo vou listar alguns movimentos interessantes que, eu tenha resolvido divulgar o admirável trabalho
com certeza, podem ser adaptados aqui. dessas pessoas, que têm o potencial de transformar
A Educação Livre é uma iniciativa muito antiga; realidades com criatividade, dedicação e coragem.
usemos como exemplo os grupos de usuários Java. Certamente são idéias a serem copiadas. Afinal, no
Vamos pensar no projeto JEDI[1], que nasceu nas mundo do Código Aberto, copiar é legal.
Filipinas para fomentar o aprendizado e o ensino O Código Aberto oferece um meio de criar mais
de Java em vários países. No Brasil, ele é liderado que tecnologia; cria a cultura colaborativa. Essa cul-
pelo DFJUG (Grupo Java de Brasília), na figura de tura já traz sinais de grandes transformações – tanto
Daniel de Oliveira, que dirige o projeto visando ao de cunho econômico quanto social – ao nosso País.
alcance de todos os países de língua portuguesa. O Os projetos JEDI e Fuja podem ser replicados para
objetivo é incentivar a profissionalização e, claro, qualquer tecnologia de padrão aberto, já que não
propiciar oportunidades a uma legião de talentos influenciam em custos, mas na boa vontade e no
escondidos no meio de tanta dificuldade nessa bus- trabalho colaborativo. Minha recomendação? Pro-
ca do aprendizado e do saber. cure seus grupos locais de tecnologia; se não houver
Como aplicativos do JEDI, destaco o uso do um em sua cidade, não desista, reúna os amigos e
Moodle[2], uma ótima solução de ensino a distân- monte um. Assim como fizeram Oliveira e Wildt,
cia, de custo zero e Código Aberto; como caracte- você pode fazer a diferença! ■
rísticas mais importantes, a vontade de realizar e de
fazer a diferença que os participantes demonstram
no projeto. Pode-se acessar o site do JEDI e buscar Mais informações
informações para levar a solução à sua cidade ou
[1] JEDI:
instituições de ensino locais. http://www.dfjug.org/DFJUG/jedi/index.jsp
A segunda iniciativa vem do Rio Grande do Sul,
do consultor e professor universitário Daniel Wildt. [2] Moodle: http://moodle.org/
O projeto Fuja[3] transmite aos alunos muito mais
[3] Fuja: https://fuja.dev.java.net/
que conhecimento sobre programação em Java e
Ruby, e também os conceitos da cultura do Código
Aberto, como o trabalho em equipe, a busca pela
Sobre o autor
qualidade, a colaboração e, claro, o sucesso.
O Fuja fica hospedado no Java.Net, que fornece Edgar Silva é Solutions Architect e JBoss Sales Engineer da
Red Hat Brasil, além de também ministrar palestras no Brasil e
infraestrutura de controle de versão, fóruns, listas e no exterior sobre Java.
homepage para diversos projetos de Código Aberto

26 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


© Linux New Media do Brasil Editora Ltda.
Código Aberto: novas perspectivas para um novo ano

Cezar Taurion
CORPORATE

Como será o Código Aberto em 2008?


por Cezar Taurion

P
ara mim está ficando claro que o Código intenção é reduzir custos em relação às alternativas
Aberto é muito mais uma tecnologia social proprietárias. A grande maioria das empresas usuá-
que simplesmente programação de software. rias está neste estágio.
Sua essência é a colaboração, criação de comuni- No próximo estágio, que chamaremos de colabora-
dades e redes sociais. Ele pode ser definido como dor, a empresa começa a usufruir mais intensamente
um modelo técnico e social de desenvolvimento dos conceitos de Código Aberto, fazendo modifi-
de artefatos de software baseado no desenvolvi- cações e melhorias em softwares e devolvendo-as à
mento colaborativo. comunidade. Mas ainda não existe uma estratégia
Software é uma forma de representar conheci- real de uso e exploração dos conceitos do Código
mento. E um novo sistema de riqueza baseado em Aberto. Algumas empresas usuárias e mesmo algu-
conhecimento ainda é um território escassamente mas produtoras de software encontram-se aqui.
mapeado. Ao contrário dos recursos materiais, o con- O quarto estágio já mostra uma estratégia de-
sumo de conhecimento gera mais conhecimento. finida. A empresa assume um papel pró-ativo no
Também está bem nítido que o discurso ideológi- desenvolvimento de uma comunidade, inclusive
co da fase inicial e romântica do Código Aberto está alocando profissionais de sua equipe ao projeto. O
ficando em segundo plano. O Código Aberto não software não é mais desenvolvido ou evoluído dentro
é antagônico ao software proprietário, mas permi- de casa, mas de forma independente, com a comu-
te uma coexistência entre os diversos e alternativos nidade estruturada em fundações, por exemplo. A
modelos de negócio. empresa incentiva o ecossistema em torno de seus
O movimento do Código Aberto incentiva a cria- softwares. Poucas empresas estão aqui, a maioria
ção de redes, inclusive a cooperação entre projetos. produtoras de software.
É muito comum partes de um mesmo software se- Finalmente, no quinto estágio a empresa participa
rem inseridas em outros projetos. Criam-se muitas ativamente de diversos projetos de Código Aberto,
vezes processos de co-evolução, com os projetos que se torna parte integrante e essencial da estra-
desenvolvendo-se de forma interdependente. O tégia e modelo de negócios. A IBM, por exemplo,
resultado dos projetos não beneficia apenas uma encontra-se nesse estágio.
empresa ou indivíduo, mas toda uma comunidade Em 2008, o cenário do Código Aberto deve evo-
interessada no uso daqueles softwares. luir. Desejo que, nos eventos de nossa comunidade,
Para imaginar 2008, vamos criar um modelo de além dos gurus sempre presentes, que certamente
medição de maturidade de uso do Código Aberto, têm muito a dizer, tenhamos também representantes
algo como o CMMi para Código Aberto, e inserir da Linux Foundation, Eclipse Foundation, Apache
as empresas em determinados estágios evolutivos, Software Foundation e diversas outras comunidades
considerando seu comprometimento com o Código de grande reputação. Afinal, são esses projetos que
Aberto. Quanto mais empresas estiverem nos estágios estão disseminando o Código Aberto! ■
mais evoluídos, mais maduro estará o movimento.
O primeiro estágio é a negação, estágio no qual a
empresa luta contra o Código Aberto, seja por desin- Sobre o autor
formação ou por sentir-se ameaçada em seu modelo
Cezar Taurion é gerente de novas tecnolo-
de negócio. Ainda há muitas empresas neste estágio. gias aplicadas da IBM Brasil. Seu blog está
No segundo estágio, não existe contribuição disponível em www.ibm.com/developerworks/
blogs/page/ctaurion.
com a comunidade. A empresa é apenas usuária
de programas abertos, às vezes até sem saber. Sua

28 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Controle remoto, compartilhamento de telas e serviço de terminais no Linux

Tranqüilo à distância

CAPA
Se já é ruim ser obrigado a deixar um evento social devido a uma falha
no servidor, imagine isso durante as férias. Melhor prevenir-se.
por Pablo Hess e Joe Casad

O
controle de sistemas ba- apresenta três importantes soluções
seados em Unix, como o para garantir a tranqüilidade do ad-
Linux, sempre foi fácil. ministrador nessas férias.
Antigamente, ferramentas simples O já antigo VNC é tema do primei-
já permitiam ao usuário abrir uma ro artigo. Nele, comparamos algumas
conexão remota para acesso pela alternativas livres para servidores e
linha de comando. O surgimento e clientes VNC para Linux. Felizmente,
posterior desenvolvimento da inter- há desenvolvedores criando servidores
face gráfica, no entanto, ao mesmo também para sistemas proprietários,
tempo em que facilitaram várias ta- permitindo o acesso remoto até mes-
refas antes entediantes, introduziram mo a servidores Windows®.
uma boa dose de complexidade a Em seguida, o inovador NX, da
essa fórmula simples. NoMachine, é explicado em pro-
Nos anos recentes, os relatos de fundidade. Unindo funcionalida-
economia proveniente da adoção de des do X, SSH e VNC, o produto
thin clients lembraram o mundo das da NoMachine tem uma versão
vantagens do modelo de serviços de proprietária gratuita (NX Free
terminal, e a virtualização também Edition) e a versão comunitária
se concentrou em operar múltiplos (FreeNX). Ambas são exploradas
sistemas com um único conjunto de detalhadamente, para que você
teclado e mouse. escolha o modelo mais adequado
a suas necessidades.
Por último, a operação à distân-
Operação cia de servidores Windows tam-
Para os administradores de sistemas, bém é coberta, através do fabuloso
os recentes avanços significam uma Rdesktop, um software de Código
grande ajuda nos raros momentos de Aberto que implementa o protocolo
ausência do escritório, como são os RDP, incluído em todos os sistemas
fins de semana ou as férias. da Microsoft.
Se o local de lazer oferecer um Prepare seus servidores para a ope-
computador com navegador web ração remota e divirta-se! ■
com Java ativado, talvez já seja pos-
sível solucionar eventuais problemas,
mesmo a milhares de quilômetros Índice
de distância. Hora de compartilhar pág:30
É pensando no sossego merecido Velocidade máXima! pág:34
que a Linux Magazine, neste mês, Cruzamento de terminais pág:39

Linux Magazine #38 | Janeiro de 2008 29


© Linux New Media do Brasil Editora Ltda.
Acesso remoto e gráfico com VNC

Hora de compartilhar
CAPA

O protocolo VNC oferece uma prática solução multiplataforma para compartilhamento


de tela. Conheça as melhores soluções gratuitas para Linux.
por James Mohr

H
á muitos administradores recurso é útil em várias atividades, sa forma, somente as áreas alteradas
hoje em dia trabalhando em tais como acessar o computador do precisam de atualização.
data centers espalhados por trabalho a partir de casa, trabalhar Como mais informação é enviada pela
múltiplos prédios. Normalmente, a com estudantes num ambiente de rede do que no X11, o VNC obviamente é
maioria das atividades de manuten- treinamento, oferecer suporte técni- mais lento; entretanto, nos testes que fiz,
ção em sistemas Linux e Unix pode co ou incomodar seu filho enquanto o VNC não causou qualquer problema
ser realizada via SSH; entretanto, em ele joga no computador. de desempenho significativo.
vários casos, a ferramenta usada pode No protocolo X, a máquina local Mesmo limitando os dados envia-
não possuir uma interface em linha é responsável por gerenciar a tela e dos dessa forma, ainda pode haver
de comando, ou o sistema remoto as janelas. O VNC usa o protocolo problemas de banda com conexões
pode estar rodando alguma versão Remote Frame Buffer (RFB), trans- lentas com muitas atualizações. Por-
do Windows® que exija acesso à mitindo os eventos do mouse e do tanto, inúmeras técnicas de compres-
interface gráfica. teclado do cliente para o servidor, e são diferentes foram desenvolvidas
O Virtual Network Computing depois enviando atualizações da tela para reduzir ainda mais a quantidade
(VNC) é uma alternativa popular de volta ao cliente. de informação transferida.
para o compartilhamento de tela em O método mais simples para se atu- Como interage diretamente com
redes heterogêneas. O comportamen- alizar a tela é enviar os dados brutos o frame buffer, o protocolo RFB – e
to do VNC é levemente diferente de pixels na ordem de formação da portanto o VNC – é independente de
daquele do sistema X Window. Uma imagem (da esquerda para a direita, plataforma. Uma máquina Windows
diferença é que o VNC compartilha de cima para baixo). Assim que a tela pode conectar-se ao Linux assim como
o desktop inteiro. Um usuário em inicial é desenhada, em vez de atuali- a outro Windows. O VNC pode es-
uma máquina consegue visualizar a zar a tela inteira quando algo mudar, sencialmente trabalhar com qualquer
área de trabalho de um usuário em o protocolo VNC usa uma primitiva sistema de janelas, e portanto é ideal
outra máquina, e controlar o mouse simples para desenhar um retângulo para Windows e X11, assim como para
e o teclado do sistema remoto. Esse de dados num local particular. Des- sistemas Macintosh. ➧

30 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Alternativas VNC | CAPA

Conexão É importante lembrar-se de que o para iniciar o programa Xvnc, que


Assim como o cliente para desktop VNC precisa atualizar a tela local a é o verdadeiro servidor. Esse script
Windows remoto, o servidor VNC cada alteração, como ao movimentar aceita bem menos opções do que o
guarda todas as informações de co- ou redimensionar uma janela. A ja- Xvnc, mas elas devem ser suficientes
nexão e sessão. Portanto, pode-se nela não apenas deve ser redesenha- para a maioria dos usos. O programa
desconectar um cliente numa loca- da, como o fundo por trás da janela cliente é o vncviewer.
lização, e depois reconectar de um também precisa ser atualizado. Dois programas de suporte tam-
ponto diferente, e retomar de onde Fundos complexos levam mais bém são incluídos. O vncpasswd
se havia parado. Um cliente X11 ge- tempo para serem atualizados. Além permite a configuração da senha
ralmente não é capaz de se desligar disso, quanto maior a resolução, mais para o usuário atual. As senhas
do servidor e depois reconectar-se dados são transmitidos, afetando precisam ter pelo menos seis ca-
(embora haja alguns aplicativos X11 também o desempenho. racteres. Note que na maioria dos
que fazem isso). casos apenas os oito primeiros ca-
O aplicativo de controle, ou racteres são importantes, com os
cliente, costuma ser chamado de Xvnc demais sendo ignorados.
visualizador, ou viewer, pois é usado Algumas versões do VNC oferecem Por padrão, o arquivo $HOME/.vnc/
para visualizar a máquina remota. não somente serviços VNC, mas passwd é usado, mas é possível espe-
Esse nome tem uma implicação também X11. O Xvnc, o verdadeiro cificar um diferente. Por exemplo,
muito mais profunda, pois na ver- aplicativo servidor no Linux, oferece um administrador que deseje criar
dade pode-se até configurar o ser- X11 e VNC, suportando múltiplas um arquivo de senha para um usu-
vidor para ser “somente leitura”, ou sessões X11 simultâneas na mesma ário específico (ou seja, recriar uma
“somente visualização”. Ou seja, o máquina remota, e inclui a conexão senha) pode especificá-lo pela linha
usuário consegue visualizar a tela, a sessões X11 pré-existentes, assim de comando, assim:
mas não é possível realizar altera- como a criação de novas sessões
ções. Pode-se usar esse recurso para independentes. Isso significa que o vncpasswd arquivo
monitoramento remoto de aplica- que é mostrado pelo Xvnc no clien-
tivos nos quais não são permitidas te não necessariamente é a mesma Se, por exemplo, o diretório home
mudanças, apenas para relatar qual- imagem exibida na máquina que do usuário estiver num sistema de
quer evento observado. está rodando o Xvnc. arquivos compartilhado (isto é,
Num ambiente de suporte, o Assim como o X11, o VNC cria Samba ou NFS) e se desejar garan-
técnico consegue visualizar os telas virtuais, ou screens, para cada tir que o arquivo de senhas VNC
passos que o usuário toma, sem conexão. Por padrão, o VNC usa as seja local, é possível especificar a
poder alterá-los. Em outros casos, portas 5900 a 5906, com cada porta opção -t no vncpasswd, fazendo
pode-se configurar o VNC para correspondendo a uma dessas telas; o aplicativo gravar as senhas em
exibir uma única tela em múltiplas então ao final tem-se as telas de :0 /tmp/$USER-vnc/passwd.
máquinas, como num ambiente de a :6. Note o sinal de dois-pontos à O programa vncconnect é usado
treinamento quando o instrutor está frente de cada número de tela, que para conectar um servidor VNC a
demonstrando algo para um grande é semelhante à notação usada pelas um visualizador VNC numa máqui-
número de estudantes. telas no X11. na diferente. Alguns pacotes VNC
também incluem o programa vnc-
config, que oferece duas funções.
VNC por dentro A primeira é exibir ou estabelecer
Os pacotes costumam trazer cinco os parâmetros do Xvnc para um
programas, mas o servidor e o visuali- servidor em execução. A segunda
zador VNC às vezes vêm em pacotes função é auxiliar a transferência da
separados. Apesar de o comportamen- área de trabalho de e para o visua-
to geralmente ser o mesmo, podemos lizador VNC.
encontrar pequenas diferenças nas O uso do VNC não é garantido
várias alternativas do VNC. em todas as distribuições. Algumas
O script vncserver costuma ser têm problemas devido à configuração
Figura 1 Opções de configuração do usado para iniciar o servidor VNC. de seus firewalls, que bloqueiam as
visualizador no Linux. O script é simplesmente um wrapper portas usadas pelo programa.

Linux Magazine #38 | Janeiro de 2008 31


© Linux New Media do Brasil Editora Ltda.
CAPA | Alternativas VNC

Em ação Documentação mesmo sem qualquer conexão de


O primeiro passo para executar o A documentação, por padrão, é um cliente VNC.
VNC é executar o script vncserver esparsa e geralmente limitada às Removido o driver, o programa
como qualquer usuário. Na primeira manpages, bem semelhantes para voltou a funcionar, o que mostra que
vez que se faz isso, é necessário forne- todos os produtos. Embora em há certas restrições à forma como
cer uma senha para a conexão. geral os mesmos programas sejam alguns programas para Windows
O script então cria os arquivos de fornecidos, seu comportamento reagem a esse driver.
configuração necessários, incluin- pode variar, com alguns casos de Um aspecto interessante é que o
do todos os aplicativos que devem diferenças eneromes. servidor pode alterar a área de tra-
iniciar automaticamente, que por Os produtos foram instalados balho para uma cor sólida, em vez
sua vez são inseridos no diretório em diferentes distribuições Linux de transmitir o papel de parede.
$HOME/.vnc/. e também no Windows, com vá- Também é possível desativar efeitos
Depois de pedir a senha, ou caso rias combinações de servidores e gráficos desnecessários da interface
já exista uma, o servidor VNC exibe clientes. Apesar do comportamento do Windows XP. Esses recursos au-
as informações básicas a respeito da diferente entre diferentes produtos, mentam a eficiência das atualizações
conexão, e qual arquivo ele está usan- não houve problemas de incompa- da tela reduzindo a informação que
do para iniciar algum aplicativo. Por tibilidade entre componentes de é transmitida.
padrão, os aplicativos são iniciados pacotes diferentes. Uma eficiência ainda maior pode
por $HOME/.vnc/xstartup. Na primeira Na rede de 100 Mbps em que fo- ser alcançada pela compressão JPEG.
vez que o navegador for iniciado, o ram realizados os testes, não houve Segundo a documentação do Tight-
visualizador geralmente vai criar um grandes atrasos devidos à atualiza- VNC, essa codificação é otimizada
arquivo xstartup sozinho. ção de toda a área da tela, como ao para “conexões lentas e de média
No Linux, por padrão, o script abrir o menu Iniciar do Windows velocidade”, mas não fica claro quais
xstartup simplesmente configura o ou iniciar um novo gerenciador de são essas velocidades.
ambiente básico, e depois inicia um arquivos. Entretanto, foi impossível
Xterm e o gerenciador de janelas jogar World of Warcraft através da RealVNC
TWM, que, apesar de exagerada- conexão VNC. Como a empresa RealVNC foi cria-
mente simples, é suficiente para a da pelos desenvolvedores do VNC
administração remota. original, pode-se argumentar que o
Como mostram as figuras 1 e 2, a TightVNC RealVNC[2] é o herdeiro do legado
interface gráfica do cliente Windows O TightVNC se auto-intitula uma do VNC original. O RealVNC atual-
oferece muito mais opções que a do “versão melhorada do VNC”, e alega mente está disponível em três versões:
Linux, que só as disponibiliza pela incluir “vários novos recursos, me- free, personal e enterprise. ➧
linha de comando. lhorias, otimizações e cor-
Dependendo da distribuição usa- reções de falhas”, a maioria
da, o cliente vncviewer pode possuir dos quais requer uma excur-
uma interface gráfica para a execução, são pelos changelogs.
como o Cliente do Terminal Server O TightVNC oferece o
do Gnome (figura 3). driver de vídeo espelha-
Todos os servidores VNC avalia- do DFMirage, que roda
dos neste artigo trazem um servidor em Windows 2000, XP e
HTTP embutido, que permite a co- mais recentes. Assim como
nexão através de um navegador com o TightVNC, o driver é
Java habilitado. Apesar de a opção gratuito e oferece uma
web ser útil em princípio, a veloci- forma ainda mais prática
dade da atualização da tela é sensi- de atualização das infor-
velmente pior do que todas as outras mações da tela. Mesmo
combinações experimentadas, e a sem o driver, não houve
qualidade gráfica não é boa. Ainda atrasos; entretanto, de-
assim, essa é a única modalidade de pois de instalar o driver,
acesso possível quando não se dispõe pelo menos um programa Figura 2 Opções de configuração do visualiza-
de um visualizador VNC. congelou completamente dor no Windows®.

32 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Alternativas VNC | CAPA

Nos testes, foi usada a versão free operacional, exigin-


4.1.2, que parece ser uma versão res- do assim uma única
trita dos produtos de Código Aberto senha. Em servidores
disponíveis. Por exemplo, o script Windows, isso sig-
vncserver não suporta um arquivo de nifica que se pode
senhas fora da localização padrão, realizar a autenti-
$USER/.vnc/passwd. cação tanto com um
Além disso, diferentemente dos domínio NT quanto
outros produtos, o vncpasswd do Re- com credenciais do
alVNC não pede uma senha para o Active Directory.
modo “somente visualização”. Na No Linux ou Unix,
verdade, a versão do RealVNC nem a autenticação é feita
parece suportar qualquer opção que via NIS/NIS+. Como
os outros produtos suportam. o sistema já consegue
Outro inconveniente é que o distinguir os usuários,
programa não pede uma senha caso esse mecanismo tam-
ainda não tenha sido fornecida al- bém significa que é
guma. Porém, o RealVNC sugere possível criar ambien-
o uso do programa vncpasswd, que tes separados para di-
pedirá uma senha para visualiza- ferentes usuários. Figura 3 O Gnome traz o Cliente do Terminal
ção. O incômodo é ainda maior Server, que suporta alguns protocolos
porque ele exibe uma mensagem além de VNC.
de uso que indica a possibilidade MetaVNC
de se especificar um arquivo de Em termos de escopo do produto mais facilmente acessíveis. A ver-
senhas com a opção -t; todavia, e informação disponível, o Meta- são gratuita do RealVNC tem
nenhum é suportado pelo script VNC[3] parece ser o mais exíguo. muito poucas funcionalidades.
vncserver. Se o vncpasswd for exe- A versão 0.6.5, usada no teste, é Apesar de o MetaVNC ter mais
cutado com a opção -t, e depois se baseada no TightVNC 1.3.9. A recursos que o TightVNC, a fal-
tentar iniciar o servidor, ele falhará instalação no Windows funcionou ta de documentação útil afasta
novamente, pedindo que a senha sem dificuldade, mas no Linux a os usuários, principalmente no
seja configurada. documentação só explica os pro- ambiente corporativo. ■
Além dos recursos suportados cedimentos para o Fedora.
pela versão gratuita e aberta, a Em geral, o MetaVNC também Mais informações
versão personal também supor- parece ser o mais lento, indepen-
ta a autenticação RSA com 2048 dente de estar no servidor ou no [1] TightVNC:
bits, a criptografia da sessão com cliente. Apesar da conexão com o http://www.tightvnc.com/
AES de 128 bits e a transferência MetaVNC nas duas pontas ainda [2] RealVNC:
de arquivos, entre outros recursos, ser aceitável, clientes diferentes http://www.realvnc.com/
mas não suporta Linux ou outras operando junto com um servidor
[3] MetaVNC:
variantes de Unix. MetaVNC tiveram desempenho http://metavnc.
A versão enterprise do Real- sofrível. sourceforge.net/
VNC exige uma licença separada Os recursos dessa solução são
para servidores Windows e Linux, quase idênticos aos do TightVNC.
e também suporta o Mac OS X. O cliente Windows tem várias novas
Uma adição é a Direct platform opções, mas a documentação não Sobre o autor
native authentication, que signi- informa o que elas fazem. James Mohr é responsável pelo moni-
fica que não é necessário criar um toramento de vários datacenters de um
arquivo de senhas adicional para provedor de soluções corporativas em

cada usuário para que este se co- Conclusões Coburg, Alemanha. Além de organizar o
site Linux Tutorial, em http://www.linux-
necte ao servidor. Em vez disso, Apesar de algumas frustrações tutorial.info, James é autor de diversos
livros e dezenas de artigos sobre grande
a ferramenta usa os métodos de iniciais, o TightVNC oferece o número de tópicos.
autenticação do próprio sistema melhor pacote e as informações

Linux Magazine #38 | Janeiro de 2008 33


© Linux New Media do Brasil Editora Ltda.
CAPA

Serviço de terminais veloz com NX

Velocidade máXima!
O NX oferece serviços de terminal velozes, mesmo em conexões lentas.
por Markus Feilner

S
erviços gráficos de terminal de alta a GPL em março de 2003 causou re- eventualmente forçados a trabalhar
performance não passavam de buliço, particularmente porque o NX no Windows ficarão felizes ao verem
sonho para os usuários de Linux. suporta os principais protocolos, como seus terminais favoritos, como o Gno-
Agora, o NX da NoMachine[1] e o pro- o RDP, da Microsoft, o VNC (Virtual me-terminal ou o Konsole, na área de
jeto independente FreeNX[2] oferecem Network Computing) e o X11. A NoMa- trabalho do Windows.
a combinação de ferramentas necessárias chine também permite que os usuários O suporte local a áudio, impres-
para sessões gráficas de terminal no Li- controlem qualquer sessão do KDE, soras (veja a figura 1) e mídias de ar-
nux. É possível até mesmo conectar-se Gnome ou Windows® com apenas mazenamento está incluído, assim
por uma janela de terminal. uma lenta conexão de modem, o que como o acesso a sessões VNC através
A NoMachine começou a desen- é ainda mais surpreendente frente ao de um proxy. Os usuários têm con-
volver uma solução de servidor de ter- fato de que o NX suporta criptografia trole intuitivo do cliente, e os admi-
minais de alta performance em 2000. por RSA e DSA. nistradores também podem acessar
O anúncio de que a NoMacine havia ferramentas de linha de comando. A
liberado suas próprias bibliotecas sob suspensão e recuperação de sessões
Por que NX? também são suportadas, e a versão 3 da
A tecnologia NX per- ferramenta acrescentou o suporte ao
mite que os usuários mascaramento e compartilhamento
contectem-se aos ser- de desktop. O administrador precisa
vidores de terminal apenas abrir a porta 22 no firewall.
Linux ou Windows, A tecnologia do NX depende de X
com um cliente Linux, Window, SSH, Rdesktop, VNC e
Windows ou Mac, ou outros projetos livres.
com qualquer outro O que torna as sessões muito mais
navegador. Os usu- velozes do que o encaminhamento
ários podem iniciar convencional do X por comandos
aplicativos individu- como ssh -X -C usuário@máquina X
ais que o cliente exi- programa é uma combinação inteli-
Figura 1 Uma HP Laserjet local está disponível na sessão be perfeitamente em gente de cache e um proxy eficiente,
de terminal. O NX depende do CUPS para ligar a janelas separadas. Os assim como otimização com biblio-
impressora do cliente ao servidor de terminal. administradores Linux tecas como Zlib e JPG.

34 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


NX | CAPA

Sob condições ótimas, o aplicativo do banco. E como o NX salva o banco


recebe uma resposta diretamente do de mensagens ao final da sessão, este
processo local, que envia as modifica- ficará disponível para uma segunda
ções (deltas) ao servidor. Na média, o sessão idêntica – mesmo após reini-
NX consegue carregar entre 60% e ciar a máquina cliente. Esse método é
80% dos dados diretamente a partir eficaz, mas gera preocupações quanto
do cache, analisando o protocolo X. à segurança. Um agressor conseguiria
As taxas de acerto do cache costumam extrair dados críticos de sessão do ca-
ficar pouco abaixo de 100% no caso de che do NX num laptop roubado ou
imagens, como ícones e pixmaps. comprometido? Essa pergunta requer
O NX começa verificando se uma investigação mais profunda.
consegue responder uma requisição
diretamente a partir do seu próprio
cache; se não, os passos de codifi- Segurança
Figura 2 A barra define o nível cação do protocolo X com base em O NX comprime os dados restantes
de compressão. Nessa armazenamento de mensagens é com uma técnica voltada ao suporte o
figura, o usuário configu- iniciado. O NX analisa o protocolo que é ótimo ao protocolo X, chamada
rou uma entrada perso- X e disseca suas mensagens em duas differential X protocol encoding, ou
nalizada para exibir um partes: um componente de dados e codificação diferencial do protocolo
aplicativo individual.
uma identidade, ou fingerprint. X. Como as mensagens do X trans-
O NX não apenas comprime todos O fingerprint costuma ocupar ape- portam conteúdos muito diferentes,
os dados intercambiados entre o cliente nas alguns bytes; o componente de como imagens, fontes, texto e outras
e o servidor, como também tudo que dados é a parte interessante do tráfego. informações, e devido ao fato de o NX
ele guarda em seu cache local. As fingerprints de duas mensagens são também “falar” RDP e VNC, assim
A maior parte da velocidade do diferentes, mas a probabilidade de o como X, ele usa diferentes métodos
NX vem do conhecimento exato do componente de dados já ter sido trans- de compressão, dependendo do obje-
funcionamento do X Window. O de- mitido cresce junto com a duração da to e do tipo de conexão: JPG, PNG,
sempenho ruim geralmente demons- sessão X. O NX consulta e armazena RDP, Tight ou Zlib. Combinações
trado por aplicativos X legados em cada bloco de dados individual que inteligentes ajudam o programa a al-
conexões de banda estreita se deve, transfere em seu armazém de men- cançar taxas entre 20:1 e 2000:1 (veja
principalmente, à estrutura interna do sagens. Checksums MD5 aceleram a também o quadro 1).
desktop X11 Unix padrão, que é proje- busca. Como o NX somente precisa A biblioteca Zlib ainda atinge uma
tado para linhas velozes e com banda calcular as checksums que vai codificar taxa de 4:1 com dados desconheci-
larga. O NX emprega vários truques e a ponta que decodifica guarda ape- dos que não possuam um método de
para superar alguns desses problemas nas os dados, os requisitos de memória compressão específico, e o NX usa
de desempenho associados ao X. são comparativamente baixos. Graças esse mesmo software para compri-
a isso, o banco de mensagens é capaz mir todo o tráfego entre o cliente e o
de guardar até 3 mil mensagens. servidor. As configurações do clien-
O NX substitui o X Na primeira vez que um usuário te definem um nível de compressão
Em vez de usar o X11, com suas várias abre um menu de aplicativos, o cliente entre 1 (WAN) e 9 (MODEM) (veja
desvantagens, para a transmissão de NX pede todos os dados do servidor. a figura 2). De acordo com a NoMa-
dados, o desenvolvimento da NoMa- Este comprime e criptografa os dados, chine, esse último estágio reduz o
chine se baseia no protocolo NX. O e depois envia-os ao cliente. Quan- volume de dados em mais 30%.
programa nxserver comunica-se com do uma segunda requisição é feita,
o programa nxclient. O nxagent do
servidor lida com as requisições de
quase todos os dados são obtidos da
memória local. Isso ajuda o cliente
Streaming e
aplicativos, o nxclient lida com a a evitar a transmissão de dados, pois priorização
renderização no lado cliente, e o pode-se atender as requisições ao X O NX faz uso de streaming em casos
nxproxy comprime e otimiza. diretamente do cache local. como GSM (4 kbps), nos quais a trans-
Como tanto o cliente quanto o O banco de mensagens é persistente; missão de uma imagem de 12 KB leva-
servidor fazem cache dos dados de X o usuário pode suspender e retornar a ria tempo demais. O servidor divide a
Window, o NX evita muita repetição. uma sessão sem se desfazer do conteúdo imagem em segmentos, transmitidos

Linux Magazine #38 | Janeiro de 2008 35


© Linux New Media do Brasil Editora Ltda.
CAPA | NX

detalhes da compressão mais o NX for usado, melhor será


do protocolo X do NX seu desempenho.
estão disponíveis no site
da NoMachine[4].
Esse esforço todo FreeNX ou NX?
tem resultado. Depen- Há várias versões do NX disponíveis,
dendo do aplicativo, o sendo a mais importante a Free Edition,
NX suporta a operação da NoMachine[5], além dos pacotes
suficientemente suave fornecidos pelo projeto FreeNX. As duas
com bandas de 10 a 20 implementações baseiam-se nas mes-
kbps e tempos de la- mas bibliotecas, mas a versão gratuita
tência de décimos de e aberta do NoMachine é mais nova,
segundo. Com uma mais estável, mais rápida e tem mais re-
Figura 3 Configuração de um cliente NoMachine para acessar banda de 30 ou 40 kbps cursos. A NoMachine oferece o cliente
um servidor Windows. Os usuários podem redimen- e latências de 0,01 se- nos formatos Windows, RPM e DEB,
sionar as sessões Linux dinamicamente, mas é melhor
pré-selecionar a resolução exigida para as sessões
gundo, o desktop KDE além de arquivos com o código-fonte
Windows. O modo de autenticação é especificado no ou Gnome fica tão e softwares para Mac e Solaris.
diálogo Settings. rápido que parece que Além disso, os desenvolvedores ofe-
se está trabalhando recem um gerenciador para o servidor e
com baixa prioridade após a aplicação localmente. Os múltiplos megabytes um recurso chamado Web Companion,
da compressão JPG. Isso permite que exigidos para a primeira execução que permite que os usuários acessem
o aplicativo continue respondendo do KDE são reduzidos a uns poucos desktops Linux ou Windows a partir de
às ações do usuário enquanto o NX kilobytes na próxima execução. Esse um navegador web. Um cliente em-
carrega a imagem de fundo. uso frugal de recursos significa que o barcado oferece a dispositivos portáteis,
Genericamente falando, o NoMa- NX economiza até 60% no volume como Ipaqs com Linux ou o Zaurus,
chine oferece aos aplicativos interati- de transmissão de dados em compa- acesso a servidores NX.
vos uma prioridade maior do que aos ração com uma LAN. O FreeNX fornece pacotes RPM e
programas dependentes de imagens, Os clientes guardam dados com- DEB, além de arquivos tar.gz da atual
analisando os dados trafegados e adap- primidos e descomprimem-nos dina- versão 0.7.0. Os usuários de Debian
tando vários parâmetros dinamicamen- micamente – com resultados incríveis e Ubuntu podem acessar os repositó-
te. Acima disso, controles internos de em alguns casos. Na segunda vez que rios[6] e executar apt-get install fre-
largura de banda, cotas e a compressão se executa o OpenOffice.org num ser- enx nxclient para instalar a versão 0.6
de tráfego são aplicados para reduzir o vidor NX remoto, o programa começa e o Nxclient versão 2.1.0-17. O Open
volume de dados transmitidos. Mais bem mais rápido que no disco local. Suse e o Fedora ainda funcionam com
As velocidades têm as antigas versões 0.4 e 0.5.
forte contraste com O FreeNX e o NX são compatíveis
Exemplo 1: /usr/NX/etc/server.cfg
aquelas alcançadas na maioria dos aspectos; de acordo
[...] nos sobrecarregados com a lista de discussão[7], tanto o
# (Des)ativar o BD de usuários NX: e mal configurados applet Java quanto o Web Companion
#
# 1: Ativado. Somente os usuários no BD do NX podem PCs Windows típi- funcionam com o FreeNX. Porém, as
# fazer login no servidor cos da maioria dos diferenças logo aparecem. O FreeNX
# ambientes de escri- é bem mais lento e não se aproxima
# 0: Desativado. Qualquer usuário autenticado pode fazer
tório. da estabilidade demostrada pela ver-
# login.
# Se o BD de usuários do NX for desativado, qualquer Como as sessões são gratuita do produto comercial.
# usuário com uma senha válida no BD ou por autenticação de desktop geral- Apesar disso, o Nxclient das duas
# SSHD conseguirá conectar-se ao sistema NX. mente incluem instalações roda com servidores do
# Esse provavelmente é o padrão quando a autenticação
# por SSHD com PAM está ativada. tarefas freqüente- concorrente. Até mesmo sessões NX
# mente recorrentes aninhadas respondem rapidamente
EnableUserDB = “1” (abrir o menu, abrir à interação do usuário.
[...] uma caixa de diá- A experiência pode ser diferen-
EnablePasswordDB = “1”
[...] logo, mover uma te em cada instalação do FreeNX,
janela), quanto então os administradores podem

36 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


NX | CAPA

esperar alguns passos manuais. Há O Advanced Server oferece ses- Quadro 1: dxpc
Howtos (para Ubuntu, por exemplo sões ilimitadas por um preço (por
[8]) que ajudam a resolver várias di- volta de US$ 3.500), adicionando Outra tecnologia conhecida como Differen-
ficuldades. Em contraste com isso, possibilidades simples de criação tial X Protocol Compressor (dxpc[3]) funcio-
na de forma semelhante ao NX. A técnica do
o software da NoMachine funciona de clusters e balanceamento de dxpc inspirou os desenvolvedores da NoMa-
sem dificuldade a partir da primeira carga aos recursos oferecidos pela chine, e eles fizeram bom uso das análises e
execução, e o cliente é integrado ao versão Enterprise Server. A NoMa- ferramentas para codificação diferencial dos
firmware de vários thin clients. chine recomenda Suse, Red Hat, 160 diferentes tipos de mensagens do proto-
Mandriva, Debian ou Solaris como colo X. O dxpc ainda existe e, de acordo com
plataforma de sistema operacional, seu site, o desempenho alcançado pela ver-
Recursos e preços mas Xandros e outras distribuições
são atual suporta o uso de um Xterm sobre
uma conexão moderna. Mas ainda é pratica-
Embora o FreeNX seja totalmente também são suportados. mente impossível usar um navegador numa
GPL, a NoMachine restringe sua conexão de 28,8 kbps com o dxpc.
Free Edition a dois usuários com ses-
sões simlutâneas. A versão comercial Configuração /usr/NX/, o que é comum na maioria
suporta dez usuários (NX Enterprise Os arquivos de configuração do servidor dos softwares comerciais.
Desktop) ou dez sessões simultâneas FreeNX localizam-se em /etc/nxser- A configuração, os binários, as
(Small Business Server). O Enterpri- ver/; os binários ficam em /usr/bin/ bibliotecas, os scripts e a documen-
se Server elimina essas restrições por e /usr/sbin/, com as bibliotecas em tação ficam todos disponíveis sob
aproximadamente US$ 1.500 e acres- /usr/lib/nx/ e a documentação em esse diretório. A pasta /usr/NX/etc/
centa a integração ao LDAP e Active /usr/share/doc/freenx/. Já a versão contém arquivos .cfg, modelos e
Directory, um modo de quiosque e da NoMachine não respeita as reco- arquivos de banco de dados de usu-
perfis de usuários. mendações da FSB, e instala tudo sob ários e senhas. Após a instalação, o

© Linux New Media do Brasil Editora Ltda.


CAPA | NX

servidor de terminais Windows. Nesse No modo de programas individuais,


caso, é possível exportar aplicativos os administradores inteligentes po-
individuais; pode-se ver o NX exi- dem possibilitar que seus usuários
bindo aplicativos individuais num de Windows executem aplicativos
desktop Linux – uma ferramenta do Linux, como Firefox, Thunder-
muito útil para acelerar o processo bird e OpenOffice.org – a única
de migração. mudança que os usuários percebe-
O NX inicia o programa rdesktop e rão é que tudo roda mais rápido. O
abre uma sessão. É importante que o Web Companion significa que um
servidor NX – não o cliente – estabeleça desktop cliente precisa somente de
Figura 4 Gerenciamento de múltiplos servidores a conexão com o servidor Microsoft. A um navegador, e há ainda um clien-
NX no Firefox. Os administradores de
conexão entre o cliente o servidor NX te móvel disponível. Profissionais de
grandes redes com múltiplos servidores
de terminal podem gerenciar seus
é novamente criptografada utilizando treinamento e suporte têm também
bancos de dados de usuários e confi- SSH através da porta 22. a possibilidade de mascarar ou com-
gurações dos servidores dessa forma. O Server Manager (figura 4) geren- partilhar os desktops dos usuários
cia uma rede de servidores NX (por diretamente.
NoMachine usa o PAM como fonte exemplo, um grupo de servidores A NoMachine mostra a outros
de autenticação, mas também pode num cluster com balanceamento de projetos como um modelo de desen-
utilizar um banco de dados de usu- carga). A alta disponibilidade genu- volvimento de sucesso baseado em
ários completamente independente ína não é suportada, e sessões ativas Código Aberto pode ser, acrescen-
do sistema operacional do servidor. são perdidas se um servidor morrer. tando produtos de nível corporativo
Caso seja necessário, é possível alterar O Web Companion (figura 5) ofere- e suporte com base em bibliotecas
as configurações através das entradas ce o acesso pelo navegador web. Os GPL. Para experimentar o NX, há
de /usr/NX/etc/server.cfg. administradores instalam um servi- dois servidores de teste disponíveis
As opções do servidor para com- dor Apache padrão no servidor NX, no site da NoMachine[1]. ■
partilhamento de arquivos e desktop, seguem alguns passos detalhados na
assim como o suporte a multimídia, documentação, e voilà – qualquer
também se localizam nesse diretó- usuário com um navegador compa- Mais informações
rio. Os bem documentados arquivos tível com Java e as credenciais cor-
[1] Página da NoMachine:
de configuração das duas variantes retas é capaz de iniciar uma sessão http://www.nomachine.com
explicam todas as opções oferecidas no servidor NX.
pelo servidor. O NoMachine esconde o plugin Java [2] FreeNX:
A figura 3 mostra como usar o na versão tar.gz, e os pacotes RPM e http://freenx.berlios.de
cliente NX para acesso RDP a um DEB do Web Companion vêm sem [3] Compressor diferencial
o arquivo nxapplet.jar. Para ativar o do protocolo X (dxpc):
acesso por navegador conforme descrito http://www.vigor.nu/dxpc
na documentação, é necessário baixar
[4] Compressão do protocolo X
o nxplugin-Versão.tar.gz, descompac- do NX:
tá-lo e salvar o arquivo em /var/www/ http://tinyurl.com/d6abc
plugin/Java/nxapplet.jar.
[5] Downloads do NoMachine:
http://www.nomachine.
com/download.php
Conclusões
O NX redefine o serviço de termi- [6] Repositórios do FreeNX
nais no Linux. Otimizado ao máxi- para Ubuntu:
http://tinyurl.com/ggg7f
mo e baseado num conhecimento
profundo, o NX atinge desempenho [7] Lista de discussão do
incrível sem compometer a seguran- FreeNX:
Figura 5 O Web Companion oferece acesso ça. Os clientes estão disponíveis para http://tinyurl.com/2nt2ve
ao desktop pelo navegador. Um qualquer sistema operacional atual, [8] FreeNX no Ubuntu:
applet Java evita a necessidade de e os usuários podem acessar tanto http://tinyurl.com/yhos6o
instalação de softwares no cliente. servidores Windows quanto Linux.

38 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Rdesktop | CAPA

CAPA
Serviço de terminais do Windows no Linux com Rdesktop

Cruzamento de terminais
O Rdesktop permite a abertura de uma sessão do Windows
Terminal Server a partir do desktop Linux.
por Markus Klimke

O
projeto Rdesktop [1], ini- estendeu o protocolo e o introdu- sibilita a exibição de um desktop
ciado por Matthew Chap- ziu na versão 4 do Windows NT, remoto nas máquinas de múltiplos
man, é um cliente de como Windows Terminal Services. usuários, e também a execução de
Código Aberto para os servido- O Windows Terminal Server pos- aplicativos no servidor de termi-
res de terminais Windows®. O
Rdesktop implementa no Linux
o mal documentado protocolo
RDP, da Microsoft. Ele se adapta
flexivelmente à largura de banda
disponível, oferecendo aos usuá-
rios as mesmas opções para aces-
sar os servidores de terminal que
os sistemas Windows possuem. O
SeamlessRDP da Cendio [2] leva
essa solução um passo adiante,
dando aos usuários a possibilida-
de de iniciar aplicativos individu-
ais, como o Word ou o Microsoft
Management Console, no Linux
(figura 1).
O RDP é baseado no padrão
T.120 / T.128 [3] (originalmente
chamado de T.SHARE) da Interna-
tional Telecommunications Union Figura 1 O SeamlessRDP permite a exibição de aplicativos Windows individu-
(ITU [4], figura 2 ). A Microsoft ais no desktop Linux.

Linux Magazine #38 | Janeiro de 2008 39


© Linux New Media do Brasil Editora Ltda.
CAPA | Rdesktop

Quadro 1: Parâmetros do Rdesktop atual do Rdesktop é a 1.5.0, usada


nos exemplos deste artigo.
➧ -u usuário: Nome de usuário para login no Windows. Por último, o VirtualBox [7],
➧ -d Domínio: Domínio de autenticação. fabricado pela alemã Innotek,
também faz uso do RDP. A In-
➧ -s shell: Substituir a shell padrão do Windows (Explorer.exe). notek inclui nas duas versões do
➧ -g geometria: Dimensões da janela para a conexão remota (largura x altu-
Virtualbox – a de Código Aberto,
ra). Também é possível especificar uma porcentagem da resolução da tela chamada de OSE, e a proprietá-
do cliente, como 80%. ria, com recursos adicionais – a
capacidade de acesso remoto via
➧ -f: Modo de tela cheia (figura 4). Pode ser ativado ou desativado com
RDP para qualquer máquina vir-
[Ctrl] + [Alt] + [Enter].
tual em execução sob o sistema,
➧ -K: Manter os atalhos de teclado do gerenciador de janelas. Por padrão, o independente do sistema opera-
Rdesktop passa toda a entrada do teclado para o aplicativo Windows, se cional hóspede.
sua janela estiver ativa. Para ativar o acesso remoto a
➧ -r comport:número_de_porta_Windows: Redireciona a porta serial.
uma máquina virtual do Virtual-
Box, basta abrir as configurações
➧ -r disk:nome=/caminho/local: Compartilhar /caminho/local como nome da máquina virtual específica e
para acesso pelo servidor. Requer Windows XP ou mais recente. selecionar o último item de con-
➧ -r lptport:número_de_porta_Windows: Redireciona a porta paralela. Para figuração na lista à esquerda, Tela
operação bidirecional, é necessário Windows XP ou mais recente. Remota. Após marcar a caixa Ha-
bilita o servidor VRDP, é possível
➧ -r printer:nome_da_fila[=<driver>]: Redireciona a impressora. O driver, configurar a porta a ser usada para
se especificado, deve ser o mesmo da fila local. O Rdesktop usará a pri-
acesso a essa máquina por RDP, o
meira impressora especificada como padrão.
método de autenticação e o tempo
➧ -r sound:[local|off|remote]: Redireciona a saída de som do servidor máximo para esse procedimento
para o cliente. (figura 3).

nais, exatamente como o X Win- sistema proprietário tem diferen-


dow. Os aplicativos de Windows ças entre as versões do RDP: os Acesso remoto
sedentos por recursos podem ro- Windows XP e Server 2003 falam Para se conectar a um servidor
dar em poderosos servidores, em RDP5, enquanto o Vista e o futuro Windows, simplesmente inicie o
vez de se espremerem dentro das Server 2008 falam RDP6. A versão Rdesktop com o nome do servi-
limitações dos desktops.
Além dos serviços de terminal
integrados ao Windows, fabricantes
como Citrix[5] e NoMachine[6]
oferecem suas próprias soluções de
servidores de terminal. As duas exi-
gem a instalação de softwares clientes
e servidores.
Se a única intenção for geren-
ciar um ou mais sistemas Win-
dows remotamente, então esse
problema não é necessário: em-
bora a Microsoft cobre uma taxa
de licenciamento para serviços
de terminal multi-usuário, quase
todas as variantes do Windows,
seja para servidores ou desktops,
incluem duas conexões gratuitas
para gerenciamento. Dito isso, o Figura 2 O RDP é uma extensão do protocolo T.128 da ITU.

40 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Rdesktop | CAPA

dor como parâmetro. O progra- fissional de TI. Devido às baixas preciso ativar a opção "BackingStore"
ma escolherá automaticamente taxas de transmissão, mecanismos "true" no arquivo xorg.conf.
a profundidade de cor e o layout que aglutinam o máximo de dados
de teclado adequados. Os usuá-
rios podem alterar essas confi-
possível num pacote são tão im-
portantes, nesse caso, quanto com
Redirecionamento
gurações através de opções de linhas discadas ou ISDN. de dispositivos
linha de comando. O Rdesktop A opção -z da linha de comando O redirecionamento de dispositivos
também aceita nomes de usuá- do Rdesktop comprime os dados oferece ao servidor remoto acesso à
rios e senhas, mas é importante como pré-requisito para conexões impressora local, assim como às por-
considerar as implicações de se- em redes lentas. Porém, o uso do tas seriais e paralelas, saída de som
gurança ao digitar uma senha na parâmetro -x na conexão com os e sistema de arquivos. Isso funciona
linha de comando. Uma típica parâmetros b, l ou m para otimizar perfeitamente com o Rdesktop no
linha de comando do Rdesktop a conexão pode economizar muito Linux: a opção -r, seguida de disk,
é semelhante a: mais largura de banda. lptport impressora ou sound, ativa o
O parâmetro -P guarda no disco compartilhamento desses recursos.
$ rdesktop -a 16 -x l rígido bitmaps muito recorrentes, Por exemplo, disk:share=/home/usu-
➥ -g 1200x900 -u Administrador o que pode causar um atraso ao se ário/compartilhado compartilha o
➥ Windows_Terminal_Server estabelecer uma conexão. A opção diretório especificado, sob o nome
-b evita operações baseadas em ca- share. Compartilhamentos são úteis
A opção -a 16 seleciona a pro- racteres no lado cliente, forçando caso se precise instalar, por exemplo,
fundidade de cor de 16 bits. As o servidor a atualizar a tela inteira um service pack em múltiplas máqui-
políticas do Windows não permi- como um bitmap. nas Windows, e o arquivo com este
tem uma profundidade maior por O Rdesktop utiliza o que se co- tenha sido baixado no cliente local
padrão, mas é possível contornar nhece como backing store para arma- (veja também o quadro 1).
essa restrição nas opções de grupo zenar seções de telas que já tenham
para seu domínio. A configuração sido renderizadas, acelerando assim
se localiza no item Computador o redesenho de telas. SeamlessRDP
| Serviços de Terminal | Rdesktop. A opção -B faz o software usar o Como dito acima, o Rdesktop tam-
Como o Rdesktop usa uma reso- backing store do servidor X em lugar bém permite a exibição de um apli-
lução padrão de 800x600, e isso do seu próprio; para isso funcionar, é cativo Windows individual, em vez
pode dificultar o trabalho com a
máquina Windows remota, é bom
especificar um valor mais alto com
o parâmetro -g.
As interfaces gráficas, como
Grdesktop [8] , TSClient [9] e
KRDesktop [10] ,eliminam a ne-
cessidade da linha de comando.
Entretanto, não oferecem todos
os recursos do Rdesktop, e por
isso a ferramenta de linha de
comando é preferida por muitos
administradores.

Conexões lentas
Apesar das larguras de banda de
menos de 100 MBps estarem tor-
nando-se raras nas LANs atuais,
ainda têm um importante papel
como linhas de gerenciamento Figura 3 O VirtualBox oferece acesso remoto por RDP a qualquer máquina virtual
redundantes na infraestrutura pro- hospedada por ele.

Linux Magazine #38 | Janeiro de 2008 41


© Linux New Media do Brasil Editora Ltda.
CAPA | Rdesktop

do desktop completo. Para isso, basta como arquivos .doc, não podem ser a restrição de que somente duas
passar a opção -s para o Rdesktop e diretamente abertos por referência conexões RDP estão disponíveis si-
especificar o nome do aplicativo a ser ao tipo de documento e aplicativo. multaneamente. O Rdesktop exibe
iniciado no lugar do Explorer.exe. O Se o arquivo .exe não estiver no ca- quaisquer aplicativos Windows no
aplicativo iniciado pelo SeamlessRDP minho de executáveis do Windows, Linux sem reduzir sua funcionalida-
é a shell GPL da Cendio[2]. será necessário especificar o cami- de, embora se possa esperar alguns
Para instalar, descompacte o nho completo. Diferentemente do engasgos no modo de janela única
arquivo ZIP[11], copie seu con- Windows, é importante usar letras ao usar o SeamlessRDP. ■
teúdo para um diretório do sis- maiúsculas para as unidades. Se a
tema Windows e lembre-se do shell do SeamlessRDP não puder
caminho. O Rdesktop termina o ser iniciada, a conexão entrará no
Mais informações
trabalho no Linux, com o seguin- modo desktop padrão. Ao acessar o
te comando: Windows XP, note que a mudança [1] Rdesktop:
rápida de usuários e a tela de boas http://www.rdesktop.org/
rdesktop -u Administrador vindas estão ativas na página inicial [2] SeamlessRDP, da Cendio:
➥-A -s "C:\seamlessrdp do Windows. http://www.cendio.
➥seamlessrdpshell.exe mmc.exe" com/seamlessrdp/
➥servidor
Substituições [3] T.120 (em inglês):
http://en.wikipedia.
O -A informa ao Rdesktop tratar-se O Rdesktop com ou sem Seamless- org/wiki/T.120
de uma conexão do SeamlessRDP. RDP pode facilitar a administração
O -u Administrador dá privilégios de máquinas Windows em ambientes [4] ITU:
http://www.itu.int
administrativos. Antes de iniciar o heterogêneos: é fácil compartilhar
Management Console, a tela de arquivos guardados centralmente [5] Citrix Terminal Server:
login do Windows aparecerá na no cliente para tarefas em múltiplos http://www.citrix.com
janela do Rdesktop. Dessa forma, servidores. O intercâmbio de dados
[6] NX, da NoMachine: http://
pode-se rodar qualquer executável pela área de transferência funciona www.nomachine.com/
proveniente do Windows. bem até mesmo entre diferentes pla-
Os arquivos MSC criados com o taformas. Pode-se até redirecionar a [7] VirtualBox:
uso do Management Console, assim saída da impressora ou do som, com http://www.virtualbox.org

[8] Grdesktop:
http://savannah.nongnu.
org/projects/grdesktop

[9] TSClient:
http://freshmeat.net/
projects/tsclient/

[10] KRDesktop:
http://krdesktop.
sourceforge.net/

[11] Download do
SeamlessRDP:
http://tinyurl.
com/293rcg

Sobre o autor
Markus Klimke é engenheiro de sistemas
no Centro de Processamento de Dados da
Universidade Técnica de Hamburgo-Har-
burgo, na Alemanha, e é responsável pela
Figura 4 As aparências enganam: este não é um sistema Vista. O que se vê é integração de sistemas.
o Rdesktop exibindo o Windows em modo de tela cheia no Linux.

42 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Sexta aula da preparação LPIC-2

LPI nível 2: Aula 7

TUTORIAL
Tarefas rotineiras de manutenção, tanto no âmbito do hardware quanto do software.
por Luciano Siqueira

Tópico 214: Resolução Montando o disquete: Desmontar o disquete:


de problemas # mount /dev/fd0 /mnt/floppy # umount /mnt/floppy

2.214.2 Criando discos É necessário criar um arquivo O disquete de boot está pronto. É
de recuperação de configuração do lilo alternativo, importante lembrar que disquetes de
Discos de recuperação são ferra- como /boot/lilo.floppy, contendo as boot criados dessa forma só funciona-
mentas indispensáveis para iniciar informações necessárias para criação rão na própria máquina onde foram
sistemas com o setor de boot dani- do disquete de boot: feitos. Caso sejam feitas alterações
ficado. Além de ser capaz de iniciar no kernel ou localização da parti-
um sistema nesse estado, um disco boot = /dev/fd0 # O ção raiz, as configurações deverão
de boot pode conter ferramentas ➥dispositivo de disquete ser adequadas e o Lilo reinstalado
para recuperá-lo. map = /mnt/floppy/map no disquete.
Mesmo com a maioria dos ker- compact Geralmente é necessário alterar
nels atuais não mais cabendo num image = /boot/vmlinuz # a seqüência dos dispositivos de boot
disquete, ainda é possível criar um ➥Substituir para o kernel do no BIOS da máquina sempre que
disquete de boot com o lilo. ➥sistema um dispositivo de boot alternativo
root = /dev/hda1 # Partição for utilizado. ➧
Primeiro, o disquete deverá ser forma- ➥raiz do sistema
tado e ter um sistema de arquivos: read-only

# fdformat /dev/fd0h1440 Agora o Lilo pode ser instalado


no disquete, usando o arquivo de
Usando o sistema de arquivos minix: configuração criado: Figura 1 Mensagem exibida durante
a execução do carregador
# mkfs -t minix /dev/fd0 # lilo -C /boot/lilo.floppy GRUB.

Linux Magazine #38 | Janeiro de 2007 43


© Linux New Media do Brasil Editora Ltda.
TUTORIAL | LPI Nível 2

Para fazer o backup da MBR, bas- básicas passadas ao kernel pelo car- raiz for montada, o init será dispa-
ta copiar os primeiros 512 bytes do regador de boot serão mostradas na rado e as configurações mais avan-
disco, o que pode ser feito usando o tela e o processo de carregamento çadas de hardware e os daemons
comando dd: terá início (figura 3). serão iniciados. Neste estágio, entre
Neste momento o kernel será outros procedimentos, são monta-
# dd if=/dev/hda of=mbr.backup iniciado. A partir dessas informa- das as demais partições, inclusive a
➥bs=1b count=512 ções podemos verificar que o dis- partição swap, conforme constadas
positivo raiz indicado para o sis- em /etc/fstab (figura 7).
Este backup pode ser guardado tema será a primeira partição no Continuando a última etapa, de-
num disquete e depois restaurado primeiro disco ( hd0, 0), o sistema mais daemons de serviços são dispa-
para o setor MBR: de arquivos identificado (ext2fs) rados e o usuário poderá ingressar no
e o tipo da partição ( 0x83 - Linux). sistema (figura 8).
# dd if=mbr.backup of=/dev/hda Também é mostrada qual imagem
do kernel será utilizada ( /boot/ 2.214.4 Resolvendo problemas
vmlinuz-2.6.18-4-686) e a imagem no carregador de boot
2.214.3 Identificação (se houver) initrd ( /boot/initrd. O carregador de boot pode deixar
dos estágios de boot img-2.6.18-4-686). de funcionar corretamente por uma
A inicialização de um sistema Linux Assim que o kernel assume o variedade de fatores, como remoção
pode ser dividida em quatro estágios controle, informações conseguidas do kernel, defeito no sistema de ar-
principais: junto ao BIOS e outras informa- quivos, entre outros.
1.Carregamento do kernel pelo ções de hardware são mostradas na O processo de boot acontece em
Lilo ou Grub tela. É um processo muito rápido dois estágios. O primeiro estágio
2.Inicialização do kernel e dificilmente pode ser acompa- do Lilo consiste num único setor
3.Identificação de configuração nhado (figura 4). carregado pelo BIOS, que por sua
do hardware O hardware fundamental do vez carrega o segundo estágio do
4.Disparo dos daemons sistema, como portas seriais, te- Lilo; o carregador Lilo multi-se-
O primeiro estágio é o mais bre- clado e mouse, será então iniciado tor. O Lilo é capaz de informar ao
ve dos quatro. O BIOS do sistema (figura 5). administrador a natureza do erro
executa as informações encontra- Outros itens de hardware sen- ocorrido, sinalizando no momento
das no setor de boot no dispositivo do identificados e minimamente em que é carregado.
marcado como boot primário. Se o configurados, como barramentos, Quando o primeiro estágio está
carregador de boot estiver instalado discos rígidos e dispositivo de rede ativo, é mostrada a letra “L”. Assim
corretamente num dos dispositivos ( figura 6 ). que o primeiro estágio for invocar o
indicados, o mesmo será disparado Assim que a identificação inicial segundo estágio, é mostrada a letra
(figura 1). do hardware terminar e a partição “I”. Neste momento, caso ocorra al-
Neste caso, o carregador de boot
utilizado é o GRUB. Em seguida, o
kernel será carregado ou aparecerá
um menu com as opções de kernels
e outros sistemas operacionais por-
ventura instalados no computador.
Essa última é o comportamento
padrão na maioria das distribuições
Linux (figura 2).
Como descrito nas instruções do
menu, basta pressionar [Enter] ou
aguardar 5 segundos para que a pri-
meira opção seja utilizada.
O carregador de boot, como o
nome sugere, carregará o kernel,
que passará a ter o controle sobre o Figura 2 O menu do GRUB pode exibir múltiplas opções de kernels e siste-
computador. Algumas informações mas operacionais.

44 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


LPI Nível 2 | TUTORIAL

por exemplo, de kernels ou discos


RAM iniciais (initrd) alternativos,
localizados em qualquer disco co-
nectado ao sistema, contanto que
use um sistema de arquivos legível
pelo GRUB.

2.214.5 Resolução de
problemas gerais
Apesar de existirem problemas
Figura 3 No processo de carregamento do kernel são mostradas algu-
realmente difíceis de diagnosticar
mas informações.
e corrigir, a maioria das causas
gum erro, um código hexadecimal sagens de erro do carregador de para uma interrupção de fun-
é mostrado: segundo estágio são textuais. cionamento do sistema são mais
➧ 00: Nenhum erro Ainda, podem aparecer erros da simples do que imagina. Muitas
➧ 01: Comando de disco inválido seguinte forma: vezes, detalhes como um cabo
➧ 02: Indicador de endereço não ➧ LIL?: O carregador de segundo mal conectado podem levar a
encontrado estágio foi carregado num en- crer que a configuração das rotas
➧ 03: Disco protegido contra gra- dereço incorreto; da rede ou o firewall estão com
vação ➧ LIL-: A tabela de kernels está problemas.
➧ 04: Setor não encontrado corrompida. Sempre que um problema surgir
➧ 06: Disquete removido A maioria desses erros podem ser devem ser primeiro investigados os
➧ 08: DMA overrun corrigidos simplesmente reinstalando detalhes mais fundamentais do fun-
➧ 0A: Setor defeituoso o carregador de boot. cionamento do sistema, evitando
➧ 0B: Trilha defeituosa O carregador de boot GRUB embrenhar-se em configurações
➧ 20: Falha no controlador proporciona recursos adicionais avançadas que podem não ser a causa
➧ 40: Falha no rastreio (BIOS) – em comparação ao Lilo – para a dos problemas.
➧ 40: Cilindro > 1023 (LILO) resolução de problemas de inicia- O primeiro passo é checar os
➧ 99: Índice de setor inválido para lização. O GRUB carrega na MBR logs e mensagens do kernel, bus-
o segundo estágio (LILO) um programa encarregado de ler, cando por possíveis avisos de erro.
➧ 9A: Ausência de assinatura para a partir de uma partição do disco Dependendo do escopo da falha
o carregador de segundo estágio rígido, as configurações de boot. identificada, o log específico de
(LILO) Caso esse programa falhe, é iniciado um serviço em /var/log deve ser
➧ AA: Drive não pronto um prompt que permite a execução consultado. Mensagens do ker-
➧ FF: Falha geral de comandos para carregamento, nel, mostradas através do coman-
O erro 40 é gerado pelo BIOS
ou pelo Lilo quando convertendo
um endereço de disco linear (24bit)
para um endereço geométrico (C:
H:S). Os erros 99 e 9A geralmente
ocorrem quando o arquivo de mapa
não pôde ser lido. No caso de erro,
o Lilo repetirá a operação, o que
pode gerar o mesmo código de erro
repetidas vezes.
Se o carregador de segundo es-
tágio for carregado, será mostrada
outra letra “L”. Então, se a tabela
de kernels e outros sistemas puder
ser verificada, será mostrada a le-
tra “O”, completando a palavra Figura 4 As informações obtidas pelo kernel a partir da BIOS aparecem
“LILO”, em maiúsculas. Men- rapidamente no boot.

Linux Magazine #38 | Janeiro de 2007 45


© Linux New Media do Brasil Editora Ltda.
TUTORIAL | LPI Nível 2

do dmesg , podem ajudar tanto


no diagnóstico de problemas de
hardware quanto de problemas
de software.
Para verificar se dispositivos
de hardware foram corretamente
identificados pelo sistema, podem
ser utilizados os comandos lspci
e lsdev. Se o dispositivo suspeito
de falha aparecer na listagem re-
sultante, provavelmente trata-se
de um erro de software.
Caso o dispositivo tenha sido
corretamente identificado, mas
Figura 6 Identificação de outros itens de hardware do sistema, como barra-
ainda assim não funciona, o pro- mento, discos rígidos e placa de rede.
blema pode ser um módulo não
existente ou não carregado. Com Um erro pode ainda ser pro- -p para fornecer o PID de um pro-
o comando uname -r é mostrada a vocado por programas buscando cesso existente.
versão do kernel utilizado. Verifi- recursos não disponíveis, como Para investigar quem ou quais
que em /lib/modules se existe um bibliotecas não instaladas. O co- processos estão utilizando um deter-
diretório de módulos para a versão mando strace é capaz de rastrear minado arquivo, é usado o comando
do kernel em questão. Este tipo de todas as chamadas de sistema fei- lsof. Na medida que, em ambientes
problema é comum quando se es- tas por um programa. Basta for- Unix, praticamente todos os recur-
quece de instalar os módulos após necer o nome do comando como sos podem ser acessados através de
instalar um kernel. argumento para strace e todas as arquivos ou pseudo-arquivos, o lsof
Se o módulo do dispositivo não chamadas de sistema feitas por ele é uma ferramenta de investigação
for carregado automaticamente, serão mostradas na tela. Para rastre- bastante poderosa.
inclua nos scripts de inicializa- ar um programa já em execução, Por exemplo, é possível listar
ção o comando /sbin/modprobe utilize a opção -p PID, com o PID todos os arquivos abertos por um
nome_do_modulo. Consulte na do- do programa em questão. determinado processo utilizando
cumentação do kernel – /usr/src/ Com propósito parecido ao do o comando:
linux/Documentation, se o código strace, o ltrace intercepta e mostra
fonte do kernel estiver instalado todas as chamadas que um progra- lsof -p PID
– o nome do módulo para o dis- ma faz para bibliotecas dinâmicas.
positivo em questão. Também pode ser utilizada a opção Onde PID representa o PID do
programa em questão. Para verificar
todos os arquivos sendo utilizados por
processos disparados por um usuário
em particular, utiliza-se a opção -u
usuário. Para checar quais processos
estão utilizando um arquivo, basta
executar o comando lsof fornecendo
como argumento o caminho com-
pleto para o arquivo:

# lsof /dev/net/tun
COMMAND PID USER FD TYPE
➥DEVICE SIZE NODE NAME
VBoxVRDP 25874 luciano 12u CHR
➥10,200 7885 /dev/net/tun
Figura 5 Inicialização do hardware fundamental do sistema, como tecla- VBoxVRDP 25922 luciano 12u CHR
do, mouse e portas seriais. ➥10,200 7885 /dev/net/tun

46 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


LPI Nível 2 | TUTORIAL

A saída deste comando mostra


várias informações úteis sobre
o(s) processo(s) a acessar o arqui-
vo /dev/net/tun (interface de rede
TUN). Este uso é especialmente
útil para checar processos blo-
queando dispositivos ou pontos
de montagem.

2.214.6 Problemas em
recursos do sistema
Configurações mal feitas no am-
biente do shell também podem
causar falhas no funcionamento
Figura 7 O processo INIT é iniciado após a identificação do hardware, e lança
do sistema ou mesmo travamen- os daemons de serviço.
to total. Mesmo aplicações do
modo gráfico, como navegadores maioria dos programas. Os pa- programa em questão possa ser
e editores de texto, poderão não drões para o sistema são especi- encontrado num dos diretórios
funcionar se algumas variáveis do ficados no arquivo /etc/profile e na variável, o mesmo só poderá
shell não estiverem corretamente /etc/bashrc. As principais variáveis ser executado fornecendo seu
especificadas. globais são: caminho completo na árvore
➧ PATH: Lista de diretórios, sepa- de diretórios;
Variáveis de ambiente rados por dois-pontos, onde ➧ LANG: Idioma padrão do siste-
As variáveis de ambiente princi- programas requisitados serão ma. Usado inclusive pelo seu
pais do shell são utilizadas pela procurados. A menos que o ambiente gráfico;

�����

������
�������������
���������

© Linux New Media do Brasil Editora Ltda.


TUTORIAL | LPI Nível 2

contrário será mantido o valor atual.


Esses valores podem ser mantidos
incluindo as mudanças no arquivo
/etc/sysctl.conf, no formato nome_
variável=valor.

2.214.8 Configurações
de ambiente
Alguns problemas de login po-
dem ocorrer quando se editam os
arquivos /etc/passwd, /etc/shadow
ou /etc/group diretamente. Se um
destes arquivos estiver corrompi-
do, o login poderá não acontecer.
Figura 8 Mensagens emitidas pela execução dos daemons de serviço.
Por esse motivo, estes arquivos
➧ EDITOR: Especifica qual é o edi- sistema devem ser especificados devem ser editados através dos
tor de textos padrão utilizado no arquivo /etc/ld.so.conf: comando especializados vipw e
no console; vigr, que utilizam o editor padrão
➧ PAGER: O paginador usado no /usr/local/lib do sistema (na maioria das distri-
console, como o less ou more. /usr/X11R6/lib buições, o vi ou seu descendente
A lista completa de variáveis glo- /opt/kde/lib vim) e evitam que o arquivo seja
bais pode ser obtida executando o /usr/lib/qt/lib alterado por outro comando ou
comando env: usuário durante a edição.
Caso alguma alteração seja feita Usuários podem não conseguir
# env neste arquivo, é necessário executar entrar no sistema se suas contas es-
SHELL=/bin/bash o comando ldconfig, que regenerará tiverem bloqueadas. As contas de
TERM=xterm o arquivo binário /etc/ld.so.cache, usuários podem ser bloqueadas se
USER=root onde são armazenados os endereços estiver presente a exclamação no lu-
MAIL=/var/mail/root das bibliotecas. gar da senha em /etc/shadow ou se o
PATH=/usr/local/sbin:/usr/local/ Opções do Kernel shell padrão apontar para /bin/false,
➥bin:/usr/sbin:/usr/bin:/sbin:/ O kernel também possui algumas por exemplo.
➥bin opções que influem diretamente Outras configurações referentes
PWD=/root no funcionamento de programas. ao modo e à segurança do login
LANG=pt_BR.UTF-8 São opções como ip_forward, que podem ser feitas no arquivo /etc/
PS1=\h:\w\$ determina se o sistema deve agir login.defs. Por exemplo, valores
SHLVL=1 como um roteador de pacotes IP. padrão para validade de contas
HOME=/root Essas opções podem ser alteradas e número máximo de tentativas
LANGUAGE=pt_BR:pt:en sem reiniciar o sistema, editan- de login. Importante lembrar que
LOGNAME=root do diretamente os arquivos sob algumas opções deste arquivo po-
_=/usr/bin/env o diretório /proc/sys ou através dem estar em desuso se for utiliza-
OLDPWD=/etc do comando sysctl. Este mesmo do outro sistema de autenticação,
comando, sysctl, pode ser utili- como o PAM.
Semelhante a variável PATH, que zado para mostrar todas as opções
determina onde são encontrados os possíveis e seus valores, através do Considerações sobre o tópico
comandos, a variável LD_LIBRARY_ comando sysctl -a. Saiba diferenciar as variadas men-
PATH pode ser utilizada para especi- A sintaxe do comando sysctl para sagens da inicialização, de forma
ficar onde podem ser encontradas alterar parâmetros é: que falhas possam ser identificadas
as bibliotecas de sistema. Porém, e corrigidas. Conheça a localiza-
essa variável não é utilizada por sysctl -w net.ipv4.ip_forward=1 ção dos arquivos de log do siste-
padrão (apenas em circunstân- ma e a utilização dos diferentes
cias pontuais). Em seu lugar, os Deve ser fornecida a opção -w carregadores de boot e scripts de
caminhos para as bibliotecas de para alterar a opção indicada, caso inicialização. ■

48 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


O sistema de arquivos distribuído Lustre

Ilustres arquivos

REDES
Sistemas de arquivos comuns não são capazes de fornecer o alto desempenho exigido por
algumas aplicações. O Lustre é um sistema de arquivos distribuído otimizado para HPC.
por Oliver Tennert

Francis Valadj - www.sxc.hu

A
computação de alta perfor- arquivos para evitar a exaustiva có- tação. Até mesmo o Blue Gene/L,
mance é, ao que parece, uma pia de dados. Além disso, o sistema primeiro colocado, abriga seus dados
luta constante contra a ine- de arquivos precisa estar disponível com a ajuda do Lustre.
ficiência. Inicialmente, o artigo em em todos os nós do cluster, e deve Mas não imagine que essa escolha
falta era o poder de processamento. utilizar as redes de alta velocidade dos fabricantes de supercomputadores
Com a criação dos clusters de PCs, para o transporte de dados. é óbvia. A IBM, por exemplo, produz
isso foi resolvido. Mas somente até um sistema de arquivos concorrente, o
ser descoberto o novo gargalo: a rede. GPFS[7], muito semelhante em pro-
A solução para esse novo problema A solução é o Lustre jeto ao Lustre, mas com mais funções,
está nas redes de alto desempenho, Quem busca uma solução para esse como backup e uma administração
como Quadrics Elan[1], Rapid Array, problema dificilmente escapará do de memória hierárquica. Os desen-
Myrinet[2] da Myricom ou Infiniband Lustre[4], um sistema de arquivos volvedores do Lustre, no entanto, não
[3]. Como de costume, o gargalo en- distribuído que a empresa norte- têm em vista todos esses recursos, mas
tão é transferido a um outro ponto, americana Cluster File Systems[5] apenas o alto desempenho (figura 1).
o espaço de armazenamento. comercializa e desenvolve, e que foi
Resultados de cálculos com te-
rabytes de tamanho não são raros;
disponibilizado sob a Licença GPL.
O nome do software corresponde
Comunicação
na verdade, servidores de arquivo apenas por acaso ao termo lustre em em LNET
sobrecarregados são a regra. Como português. Na verdade, ele é uma Embora vise primordialmente ao
não apenas a entrada de dados cres- brincadeira com as palavras Linux e mercado clusters, o Lustre não é um
ce, mas também o tamanho de cada cluster – caracterizado pelo sistema sistema de arquivos para clusters no
um dos arquivos, não adianta sim- operacional predileto do sistema de sentido mais estrito. Esse termo cos-
plesmente exportá-los por NFS. É arquivos compartilhado. tuma denotar sistemas de arquivos
preciso que haja muito mais espaço Entre os clusters da lista dos 500 através dos quais vários computado-
livre disponível em um ou possivel- supercomputadores mais podero- res acessam simultaneamente um
mente alguns poucos sistemas de sos[6] ele desfruta de grande acei- dispositivo de bloco comum, como

Linux Magazine #38 | Janeiro de 2008 49


© Linux New Media do Brasil Editora Ltda.
REDES | Lustre

rede em sua maioria chamam-se


abreviadamente de LND. Os demais
componentes do sistema Lustre tam-
bém adotam diversas abreviações de
três letras: o servidor de metadados
costuma chamar-se MDS e os dados
propriamente ditos residem em Ob-
ject Storage Servers (OSS). Para isso,
existe ainda um servidor de gerencia-
mento (MGS) que administra todas
as informações de configuração de
maneira centralizada (figura 2).
Para a tarefa de requisitar os da-
dos aos servidores, cada um desses
componentes possui também um
software cliente: MGCs, MDCs e
OSCs. Depois, a coisa fica um pou-
co mais complicada, pois o servidor,
Figura 1 Construção esquemática de um cluster Lustre com as proteções na terminologia do Lustre, é apenas
contra falha necessárias. o computador que oferece um de-
terminado serviço. Os programas
em uma SAN por fibra óptica ou numa segunda etapa. Todas as máqui- correspondentes em um servidor
iSCSI, ou ainda a partir de várias nas envolvidas empregam o protocolo respondem pelo nome Target, ou,
máquinas virtuais. especial do Lustre para essa finalidade, abreviadamente, MGT, MDT e
Representantes dessa categoria, como o LNET, que suporta não apenas o ób- OST. Partições de dados nos servido-
o GFS[8] e o OCFS2[9] são freqüente- vio TCP/IP, mas também se comunica res de armazenamento chamam-se
mente empregados nos clusters de alta diretamente por meio de redes de alto Object Storage Devices (OSD); um
disponibilidade, e mais raramente em desempenho, como as já citadas Infini- sistema de arquivos Lustre completo
clusters de alto desempenho, uma vez band, Quadrics ou Myrinet. é chamado Logical Object Volume
que dispõem de escalabilidade limitada No jargão do Lustre, os drivers (LOV). Para se usar o Lustre, essas
e custos elevados devido à exigência do LNET para os diferentes tipos de abreviações são inevitáveis.
canal de fibra óptica.
A arquitetura do Lustre, pelo con-
trário, segue o modelo de sistemas Exemplo 1: Instalação de um sistema de arquivos de
de arquivos compartilhados, como backend
o AFS[10] ou o pNFS[11] (NFS 01 root@metanode # mkfs.lustre --fsname ex1fs --mdt --mgs /dev/
paralelo). Eles reúnem localmente ➥sda1
os dados existentes em vários com- 02 Permanent disk data:
putadores em uma única árvore de 03 Target: ex1fs-MDT0000
04 Index: unassigned
sistema de arquivos. Por último, 05 Lustre FS: ex1fs
um dispositivo de bloco armazena 06 Mount type: ldiskfs
os dados, mas, diferentemente dos 07 Flags: 0x75 (MDT MGS needs_index first_time update)
08 Persistent mount opts: errors=remount,ro,iopen_nopriv,
sistemas de arquivos para clusters,
➥user_xattr
apenas um determinado computador 09 Parameters:
acessa cada dispositivo de bloco. O 10 checking for existing Lustre data: not found
acesso concorrente é regulado pelas 11 device size = 4096MB
12 formatting backing filesystem ldiskfs on /dev/sda1
camadas mais altas do software. 13 target name examplefs-MDT0000
Para utilizar dados de um sistema 14 4k blocks 0
Lustre, o cliente deve primeiro requisi- 15 options -J size=160 -i 4096 -I 512 -q -O dir_index -F
tá-los a um servidor de metadados, que 16 mkfs_cmd = mkfs.ext2 -j -b 4096 -L ex1fs-MDT0000 -J \
17 size=160 -i 4096 -I 512 -q -O dir_index -F /dev/sda1
informa onde os dados desejados se 18 Writing CONFIGS/mountdata
encontram, para que eles sejam obtidos

50 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Lustre | REDES

Acesso de dois níveis do então encaminha o cliente, por possibilidade de autenticação por
A princípio, o acesso a dados em um meio do nome do sistema de arqui- Kerberos no lugar de IDs.
sistema de arquivos Lustre transcor- vos, junto com o processo de mon- Como o Lustre é implementado
re em dois níveis: primeiro o cliente tagem propriamente dito, ao MDS em grande parte através de módulos
realiza a conexão com o MDS. Com responsável. O serviço de gerencia- do kernel, ele não consegue acessar
isso, obtém as informações sobre os mento é um recurso da nova versão automaticamente os arquivos de
metadados, como quais arquivos e 1.6 do Lustre. Anteriormente, era configuração no sistema de arquivos
diretórios estão disponíveis, ou quais preciso dividir um arquivo com as normal. Por isso, versões anteriores
seus direitos de acesso. Sobretudo, informações de configuração para utilizam a ferramenta especial de
ele compartilha com o MDS quais todos os computadores envolvidos linha de comando lconf para trans-
são os nós OSS responsáveis pelo e mantê-los sincronizados. mitir as informações ao kernel. Na
conteúdo de um arquivo desejado. versão 1.6 os desenvolvedores cria-
O cliente então lê e escreve seus ar-
quivos diretamente nos OSTs para o
Preparação e ram um novo método que, embora
seja mais fácil de utilizar, parece
MDS sem demais rodeios. instalação conceitualmente duvidoso. O cha-
O velho sistema AFS funciona da O Lustre consiste, em grande parte, mado mountconf é uma extensão
mesma forma. Diferentemente do em módulos e patches para o kernel dos famosos programas mkfs, tunefs
AFS, no entanto, o Lustre armazena Linux. A maioria dos patches se refere e mount, visto que todos podem esta-
nos OSSs não os arquivos completos, ao sistema de arquivos virtual. belecer parâmetros para um sistema
mas os chamados objetos, que são Mesmo usuários experientes po- de arquivos Lustre.
fragmentos com apenas uma parte dem ter dificuldades com o uso do
dos dados originais. Dessa forma, um Lustre no kernel. Por isso, é acon-
arquivo pode ser dividido em mais selhável baixar um dos kernels já ldiskfs como back-end
de um OST. alterados do site do projeto, mesmo O uso do ldiskfs como back-end
O cliente busca os fragmentos dos que isso signifique usar uma versão possibilita a proibição de acesso
OSTs e os recompõe na forma do um pouco ultrapassada do Linux dos usuários a partes do sistema de
arquivo original de maneira transpa- e nem sempre dispor dos patches arquivos. O ldiskfs é um aprimora-
rente para o usuário. O princípio é aplicados por sua distribuição prefe- mento do sistema de arquivos Ext3,
comparável ao de um arranjo RAID rida. O fabricante do Lustre suporta e também já está contido no kernel
0, que separa os dados dos stripes somente esses kernels que distribui, como parte do Ext4. ➧
em diversos discos rígidos (figura 3). além das versões oficiais do SLES 9
Com isso, o fluxo de dados aumenta e 10, e RHEL 4 e 5 (veja a tabela 1). Cliente
e, além disso, esse princípio possibi- Fora essas distribuições, somente o MGC MDC
LOV
OSC OSC
lita o armazenamento de arquivos Debian oferece pacotes próprios de
maiores do que as partições de cada suporte ao Lustre. LNET
um dos OSTs. O Lustre necessita também de
O servidor de gerenciamento ci- um moderníssimo pacote e2fsprogs,
tado anteriormente não é propria- acrescentado recentemente ao Ext3
MGT MGC MDT
mente uma parte do sistema Lustre, / Ext4, e ainda suporta um recurso
LNET LNET
mesmo quando executado no mesmo experimental para o endereçamento MGS MDS
computador que abriga um MDS. baseado em extensões. A versão 1.39
O MGS entra em jogo somente desse pacote contém as novidades
MGC OST0 OST1
no início. Independentemente se necessárias, e há também pacotes LNET
o cliente é MDS, OSS ou Lustre, RPM com os e2fsprogs na página OSS1
qualquer outro serviço primeiro as- do Lustre.
sume o contato com o MGS, e en- Outros pré-requisitos para o uso MGC OST2 OST3
tão recebe todas as informações de do sistema de arquivos são a sincro- LNET
configuração que faltam. nização do relógio de todos os com- OSS2
Caso um cliente deseje montar putadores envolvidos e a unificação Figura 2 A interação dos diferentes compo-
um sistema de arquivos Lustre, por dos IDs de usuários e grupos para nentes de servidor e respectivas
exemplo, o comando de montagem autenticação. As versões prelimina- clientes (LOV/OSC/LND, MDT/LND,
conterá o nome do MGS. O coman- res do futuro Lustre 1.8 oferecem a OBD/OST/LND).

Linux Magazine #38 | Janeiro de 2008 51


© Linux New Media do Brasil Editora Ltda.
REDES | Lustre

Quadro 1: LNET, o subsistema de rede do Lustre Caso uma determinada partição


deva agir como parte de um sistema
Para desempenho de rede ótimo, o Lustre evita ao máximo a pilha TCP/IP do kernel. de arquivos Lustre, é preciso primeiro
Para isso, utiliza recursos de RDMA de interconexões atuais para evitar, por meio do que seja instalado o sistema de arqui-
acesso direto à memória, a cópia desnecessária de dados e a sobrecarga da CPU.
vos de back-end local. Isso costumava
Para isso, o Lustre implementa sua própria camada de abstração de rede LNET, que ser apenas um detalhe da implemen-
emprega LNDs (back-ends de drivers) para controlar os diferentes tipos de rede, como tação, mas agora o mountconf exige
Infiniband, Myrinet, Quadrics Elan, Rapidarray e também o TCP/IP comum, tudo isso que o administrador crie a partição
através da Ethernet. O LNET consegue rotear entre cada uma das redes, e assim, pode
com o mkfs (exemplo 1).
integrar, por exemplo, um cluster Myrinet a um sistema Infiniband.
O exemplo 1 configura no com-
IDs em vez de IPs putador metanode (veja o quadro 1)
O Lustre não identifica um computador da maneira convencional, mas por meio de a partição /dev/sda1 como back-end
seu ID de rede de LNET (NID). Esse ID contém duas partes: a primeira se refere ao de MDT do sistema de arquivos
computador dentro da sub-rede, e a segunda é definida pela própria sub-rede. O for-
Lustre ex1fs. Além disso, há um
mato exato depende do tipo de rede utilizada. Por exemplo, 42@elan0 é um nó com
ID de sub-rede 42, conectado através da primeira interface Quadrics Elan, enquanto detalhe: como um MGS administra
192.168.16.21@tcp0 representa um nó com endereço IP 192.168.16.21. somente poucos dados, ele permite
que o Lustre utilize uma partição si-
O LNET utiliza o TCP como protocolo padrão caso o NID não contenha indicação da multaneamente para MDT e MGT.
interface a usar, de forma que também se possa trabalhar facilmente com endereços
Para um LOV de Lustre adicional,
IP e nomes de host. Nos exemplos deste artigo, o metanó 192.168.16.21 é abreviado
para o NID 192.168.16.21@tcp0. é necessário então um novo MDT,
porém pode-se utilizar o serviço de
Na parte de rede do NID, alguns LNDs usam uma convenção um pouco confusa: o driver gerenciamento já existente. O co-
C2ib, por exemplo, que controla placas Infiniband por meio da fila OpenFabrics, utiliza o mando adequado, portanto, é:
endereço IP da interface IPoIB. Em virtude disso, o administrador precisa, em todo caso,
ativar o IP-over-Infiniband nos nós envolvidos, mesmo que o Lustre não o utilize para co-
municação, mas somente para identificar o computador e a porta IB desejados. root@metanode # mkfs.lustre --
➥fsname ex2fs --mdt --
Configuração por módulo do kernel ➥mgsnode=metanode /dev/sda2
A configuração LNET é feita totalmente por meio das opções dos módulos do kernel
envolvidos. Nas configurações padrão, eles ativam somente o back-end TCP. Para se
Uma partição de dados no com-
comunicar por redes de alta velocidade, é necessário fornecer os LNDs para o módulo
Inet no parâmetro networks, como em /etc/modprobe.conf: putador node0 também pode ser pre-
parada para utilização como OST, e
options lnet networks=”tcp,o2ib” de forma bem parecida. O MGS e o
Como alternativa, o administrador também pode fornecer ao módulo Inet, no parâmetro
nome do respectivo sistema de arqui-
ip2net, uma tabela de modelos de endereço IP e os respectivos tipos de rede. O módulo vos são os únicos parâmetros obriga-
verifica então os endereços IP disponíveis localmente e inicia os LNDs correspondentes. tórios necessários (exemplo 2).
Com isso, pode ser utilizada uma configuração de módulo unificada para todos os nós. Esse exemplo esconde uma cha-
mada a mkfs.ext2 –j, que configura
Caso a sub-rede Ethernet possua, por exemplo, o IP 192.168.16.0/24 e tenha IP-over-Infini-
band através da sub-rede 192.168.17.0/24, então a configuração terá o seguinte aspecto: um ldiskfs na partição /dev/sda1 e,
definindo o tamanho de bloco, ha-
options lnet ip2nets=”tcp 192.168.16.*; o2ib 192.168.17.*” shes para diretórios e ainda o tama-
nho do journal otimiza um pouco
A opção routes determina quais nós devem transferir o fluxo de dados de um tipo de
rede para outro: o desempenho.
O nome do sistema de arqui-
options lnet routes=”o2ib 192.168.16.42@tcp” vos Lustre é refletido no nome do
Com isso, o nó 192.168.16.42 transmite da Ethernet para a Infiniband. Caso ele também
sistema de arquivos do ldiskfs que
deva fazer o encaminhamento na direção contrária, é necessária mais uma entrada: lhe serviu de base: pode conter
até 16 caracteres e tem o forma-
options lnet routes=”o2ib 192.168.16.42@tcp; tcp 192.168.17.42@o2ib” to lustrefs-Nome-MDTxxxx para um
Para modificar informações de roteamento, é preciso desativar completamente o Lus-
MDT, ou lustrefs-Nome-OST para
tre e o LNET, descarregar os módulos e recarregá-los com uma nova configuração. um OST. Os quatro últimos ca-
Não é possível realizar alterações com o serviço em execução. racteres (xxxx) correspondem ao
índice do OST atual, que o usu-

52 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Lustre | REDES

Tabela 1: Pacotes RPM do Lustre espaço, o administrador pode inserir


outros OSTs na operação em execu-
Pacote Descrição ção. No entanto, a CFS aconselha
a não acessar o sistema durante esse
kernel-smp-<relea- Kernel do Lustre corrigido dependente de
se-version>.rpm distribuição (sem módulos do Lustre)
período, pois ainda não foi testada
a inserção de OSTs em condições
kernel-source-<re- Kernel do Lustre corrigido como
lease-version>.rpm código-fonte (opcional)
de sobrecarga.
O cliente Lustre acessa normal-
lustre-modules-<re- Módulos do Lustre adequados
lease-version>.rpm mente o sistema de arquivos através
de um comando mount. Para isso,
lustre-<relea- Ferramentas de espaço de usuário do
se-version>.rpm Lustre adequadas à versão do módulo precisa do ID de rede do MGS, bem
como do nome do LOV:
lustre-source-<re- Ferramentas de espaço de usuário,
lease-version>.rpm correções do kernel e módulos como fontes
root@cliente # mount -t lustre
➥/mnt/ex1fs
ário pode definir manualmente root@metanode # lctl dl
com a opção do mkfs --index. Do 0 UP mgs MGS MGS 5 Esse comando funciona da forma
contrário, o Lustre atribui os índi- 1 UP mgc MGC192.168.16.21@tcp convencional.
ces seqüencialmente na primeira ➥bf0619d6-57e9-865c-551c-
inicialização dos OSTs. ➥06cc28f3806c 5
2 UP mdt MDS MDS_uuid 3 Lustre no dia-a-dia
“mount” sem 3 UP lov ex1fs-mdtlov ex1fs-
➥mdtlov_UUID 4
Durante o funcionamento normal, o
Lustre é simples. Como sistema de
montagem 4 UP mds ex1fs-MDT0000 ex1fs- arquivos, ele suporta praticamente
O comando mount é usado para ini- ➥MDT0000_UUID 3 todas as exigências do padrão POSIX.
ciar o serviço do Lustre: Nas configurações padrão, ele não
E num OSS: usa as funções de bloqueio lockf()
root@metanode # mount -t lustre e flock(). A opção de montagem
➥/dev/sda1 /lustre/ex1/mdt root@node0 # lctl dl flock, no entanto, exige o bloqueio
0 UP mgc MGC192.168.16.21@tcp explícito.
Na verdade, esse comando não signi- ➥7ed113fe-dd48-8518-a387- Com a opção localflock, o Lustre
fica nada. Nesse exemplo, montou- ➥5c34eec6fbf4 5 aloca os bloqueios eficientemente,
se um sistema de arquivos Lustre no 1 UP ost OSS OSS_uuid 3 porém eles perdem a consistência
ponto /lustre/ex1/mdt. Isso significa 2 UP obdfilter ex1fs-OST0000 global entre todos os nós envolvidos.
que foram ativados os serviços ldiskfs ➥ex1fs-OST0000_UUID 5 Isso é útil nos casos em que já tenha
em /dev/sda1. O último argumento, sido garantido de outra forma que
/lustre/ex1/mdt, não é usado pelo Podem ser instalados até 1020 OSTs somente os processos de uma máqui-
comando. Somente o comando df para um único sistema de arquivos na usarão um recurso. A opção de
fornece saídas com algum sentido, Lustre. Do contrário, cada sistema de montagem acl fornece, além disso,
e mostra o estado atual de preenchi- arquivos pode ser fixado em apenas o suporte a ACLs POSIX.
mento do respectivo MDT. Os OSTs um MDT. Entretanto, o fabricante A ferramenta de linha de co-
são iniciados de maneira semelhante CFS trabalha para que no futuro mando lfs oferece uma visão das
com o comando: também possa oferecer clusters de entranhas do Lustre. O comando
servidores de metadados. lfs getstripe nome_do_arquivo, por
root@node0 # mount -t lustre O tamanho do MDT limita o nú- exemplo, mostra em quais OSTs e
➥/dev/sda1/lustre/ex1/ost0 mero de arquivos e diretórios com objetos um arquivo está dividido.
que o sistema de arquivos consegue Com lfs setstripe, também se pode
O comando do Lustre lctl mostra lidar. Cada entrada ocupa até 4 KB definir o comportamento de distri-
o estado atual do servidor. Por exem- a mais. O número de arquivos que buição de um novo arquivo aloca-
plo, ele pode exibir um panorama o LOV pode armazenar resulta da do para um determinado servidor,
dos serviços atualmente em execu- soma dos tamanhos dos respectivos ou dividir arquivos especialmente
ção. Em um MDS: OSTs. Uma vez que foi conseguido grandes em vários OSTs. Aplica-

Linux Magazine #38 | Janeiro de 2008 53


© Linux New Media do Brasil Editora Ltda.
REDES | Lustre

MDT escrita, pois isso reduz drasticamente O escalonador de I/O pode ser es-
Arquivo grmpf (20 MByte) o desempenho. pecificado pelo parâmetro do kernel
O MDT, armazena inodes de elevator=Nome, ou, dinamicamente,
strip es=2 poucos KB de tamanho, e por isso do sistema de arquivos /sys:
é aconselhável escolher um nível
Índice=0 de RAID sem paridade, como 10, root@node0 # cat /sys/block/sda/
por exemplo. Os níveis 5 e 6 po- ➥queue/scheduler
OST0: obj441 3 dem ser úteis para OSTs, mas é noop anticipatory deadline [cfq]
necessário levar em consideração o root@node0 # echo “noop” > /sys/
OST1: obj 851 0
processo do kjournald. Novamente, ➥block/sda/queue/scheduler
para evitar maiores dores de cabe- root@node0 # cat /sys/block/sda/
OST0 O ST 1 ça, recomenda-se optar por RAID ➥queue/scheduler
sem paridade. [noop] anticipatory deadline cfq
obj 4 41 3 obj 851 0
0-4 4- 8 Escalonamento Redundância
e desempenho e segurança
8 -1 2 1 2-1 6
O desempenho do Lustre depende O desempenho é o fator mais im-
16 -20 fortemente da escolha do escalona- portante no Lustre, e por isso ele é a
dor de I/O empregado. As versões primeira opção como diretório para
mais recentes do kernel incluem velocidade em grandes clusters Linux.
Figura 3 Segmentação de um arquivo em quatro diferentes escalonadores: A segurança dos dados, ao contrário,
objetos, em vários OSTs. Completely Fair Queueing (CFQ), é seu calcanhar de Aquiles, atual-
Anticipatory, Deadline e NOOP. O mente. A CFS vem se esforçando
do a um diretório, lfs setstripe último é o mais simples: simples- para evitar a perda de dados por fa-
define a configuração padrão para mente não age sobre a ordem das lhas no Lustre, mas o sistema ainda
todos os novos arquivos e subdire- requisições. Quando o controlador implementa qualquer redundância,
tórios criados ali. Posteriormente, de armazenamento do servidor já e por isso é vulnerável às menores
as configurações de um arquivo só se encarrega de escalonar adequa- falhas de hardware.
podem ser modificadas por meio damente o fluxo de I/O, este é o Portanto, é interessante utilizar
de cópia de seu conteúdo para um mais indicado. RAID 1 (espelhamento completo)
novo arquivo. O CFQ é padrão na maioria das nos OSTs, fornecendo a redundância
As cotas também são administradas distribuições, mas não é indicado sem que o sistema de arquivos tenha
com o lfs – os comandos são auto- para aplicação em servidores de de lidar com isso. Algo equivalente
explicáveis. O comando lfs find é arquivo, já que seu algoritmo favo- para os OSSs – suporte ao desliga-
muito importante no desligamento rece uma operação bem diversifi- mento de OSSs – também está nos
de um OSS. Com a opção --pbd, o cada, com poder de processamento planos da CFS, e já tem o nome de
comando detecta todos os arquivos excedente e pouca carga de I/O. O LAID 1 (RAID 1 para Lustre). Esse
de um determinado tipo – desde que Anticipatory tem em vista a típica recurso integrará o Lustre 2.0, mas
o usuário ou o administrador não carga de I/O em estações de traba- ainda não está presente.
tenham utilizado anteriormente lfs lho, e favorece o volume de dados
setstripe para copiar os dados para
outros OSTs.
em detrimento da latência, sendo
muito pouco indicado para servido-
Armazenamento
res de arquivos. sem garantia
Finalmente, o escalonador Deadli- Na verdade, o Lustre não garante
Ajuste de desempenho ne minimiza a latência e é indicado a segurança dos dados que arma-
Geralmente os arranjos RAID agem para servidores com discos rígidos zena. Quando escrevemos dados
como back-end de armazenamento comuns, com RAID via software num arquivo e depois de alguns
para os serviços do Lustre. Porém, ou LVM. Portanto, dependendo do minutos o abrimos novamente,
note que os níveis 5 e 6, que tra- hardware dos nós do Lustre, NOOP talvez não encontremos os dados
balham com paridade, não afetem ou Deadline são as melhores opções gravados, mesmo que nenhum
pequenos blocos de dados durante a para os OSSs. erro ou falha tenha ocorrido nes-

54 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Lustre | REDES

local e econômico, uma configu-


Exemplo 2: Preparação de um OST
ração como essa requer armaze-
01 root@node0 # mkfs.lustre --fsname ex1fs --ost -- namento compartilhado, como
➥mgsnode=metanode /dev/sda1 SANs ou iSCSI.
02 Permanent disk data:
03 Target: ex1fs-OST0000 Como mostra a lista Top500,
04 Index: unassigned o Lustre é ótimo para abrigar um
05 Lustre FS: ex1fs espaço temporário de armazena-
06 Mount type: ldiskfs
mento, tão necessário no caso de
07 Flags: 0x72 (OST needs_index first_time update)
08 Persistent mount opts: errors=remount-ro,extents,mballoc cálculos intensivos. No entanto,
09 Parameters: mgsnode=192.168.16.21@tcp é importante evitar seu uso em
10 device size = 4096MB sistemas de arquivo como /home
11 formatting backing filesystem ldiskfs on /dev/sda1
12 target name ex1fs-OST0000 ou raiz. ■
13 4k blocks 0
14 options -J size=160 -i 16384 -I 256 -q -O dir_index -F Mais informações
15 mkfs_cmd = mkfs.ext2 -j -b 4096 -L ex1fs-OST0000 -J \
16 size=160 -i 16384 -I 256 -q -O dir_index -F /dev/sda1 [1] Quadrics Elan:
17 Writing CONFIGS/mountdata http://www.quadrics.com

[2] Myrinet:
se intervalo. Às vezes, problemas já que o backup precisa restaurar http://www.myri.com
temporários na rede podem des- cada arquivo por completo, mes-
[3] Infiniband:
conectar alguns clientes, e então mo quando são perdidos apenas http://www.intel.com/
os ainda conectados conseguem segmentos específicos. technology/infiniband/
alterar os dados, gerando quadros O trabalho extra pode prolongar
[4] Recursos do Lustre:
bizarros como esse. O NFS, por significativamente o tempo de re-
http://wiki.lustre.org
exemplo, contorna isso em sua cuperação do sistema, pois sistemas
versão 3, por meio do recurso Sync de arquivos Lustre costumam reu- [5] Cluster File Systems:
on Close. nir quantidades de dados de mui- http://www.clusterfs.com
Os desenvolvedores do Lustre tos TB ou até alguns PB. A CFS [6] Top 500:
recomendam o comando sync ou as já planeja soluções de backup para http://www.top500.org
chamadas de sistema sync() e fda- salvar cada um dos OSTs como um
tasync() para assegurar a integridade snapshot LVM. [7] GPFS:
http://www-03.ibm.
dos dados, mas isso exige trabalho de com/systems/clusters/
todos os desenvolvedores. A versão software/gpfs.html
1.6.2, publicada no final de agosto, Recomendação
oferece agora uma opção sync para O uso de sistemas Lustre requer [8] GFS:
http://www.redhat.com/
montagem, que realiza todas as ope- a redução de fontes de erro por software/rha/gfs/
rações em arquivos de forma sincro- defeitos de hardware de todas as
nizada – com significativa perda de espécies. O uso de RAID e bons [9] OCFS2:
desempenho. no-breaks, portanto, é absoluta- http://oss.oracle.
com/ projects/ocfs2/
mente obrigatório. O MDS deve
contar com redundância, e os OSSs [10] OpenAFS:
Backup também precisam empregar pares http://www.openafs.org
Também falta ao software uma de alta disponibilidade. [11] pNFS:
solução para backup. Embora O Lustre oferece mecanismos http://www.pnfs.com/
soluções com o velho tar ainda de proteção contra falhas que
possam ser usadas em cada clien- permitem, com softwares como
te, todas as meta-informações es- o Heartbeat ou Cluster Manager,
pecíficas do Lustre, como o mo- transferir cada um dos serviços Sobre o autor
delo de faixas, por exemplo, são para outros computadores durante Oliver Tennert é Engenheiro de soluções
perdidas. Caso um OST falhe, o a operação. O preço disso é con- sênior desde 1999 na prestadora de servi-
ços de TI Science+computing AG de Tü-
administrador tem de reescrever tabilizado no lado do hardware, bingen, Alemanha.
uma grande quantidade de dados, pois, em vez de um disco rígido

Linux Magazine #38 | Janeiro de 2008 55


© Linux New Media do Brasil Editora Ltda.
Gerenciamento de tráfego de email com um proxy IMAP

Repasse a mensagem
REDES

Proxies IMAP ajudam a distribuir os emails a múltiplos servidores.


Veja algumas opções de proxies IMAP para Linux.
por Jack Chongjie Xue e Markus Feilner

Sophie – www.sxc.hu

C
ada vez mais servidores IMAP disponibilidade dos atuais servidores Fachada para o IMAP
estão sofrendo sob o preso IMAP. Enquanto as soluções redun- Pode-se pensar no proxy IMAP como
crescente do tráfego de email. dantes para os MTAs dos populares uma interface para o servidor de
Isso significa um problema para os servidores SMTP atuais são facil- emails. O cliente se conecta ao
administradores: criar um cluster de mente implementadas por DNS ou proxy, que por sua vez se comunica
servidores IMAP não é uma tarefa tri- técnicas de balanceamento de carga com os servidores de email subja-
vial. Para assegurar a disponibilidade por IP, a qualidade do back-end de centes para obter os dados de email
de um banco de dados compartilhado armazenamento determina o sucesso dos usuários. Essa técnica adiciona
para as caixas de correio dos usuários, ou falha de um cluster IMAP. uma flexibilidade inesperada, pois o
os administradores costumam apelar cliente sempre se conecta à mesma
para caros SANs para armazenamento máquina, mesmo que os dados do
compartilhado ou mecanismos com- Mais fácil que cluster email sejam movidos para um local
plexos de replicação. Um proxy IMAP é uma alternativa completamente diferente.
O custo dos sistemas comerciais simples e flexível à solução de criação Os recursos padrão do protocolo
para criação de clusters, como o Red de um cluster. Os proxies IMAP fa- IMAP oferecem diversas funções
Hat Cluster Suite, podem deixar ge- zem uma separação entre o transporte de encaminhamento e redirecio-
rentes de TI nervosos, e a perspectiva das mensagens e o armazenamento namento; entretanto, os vários pro-
de migrar um servidor IMAP antigo dos dados. Os clientes de email não jetos de software usam diferentes
para um novo cluster e a comple- usam IMAP nem POP para conversar técnicas para realizar basicamente
xidade técnica envolvida também com o servidor de email, simplesmen- a mesma tarefa.
pode prejudicar o sono de muitos te comunicando-se com o proxy. O Todas as ferramentas para proxy
administradores de sistema. proxy IMAP então verifica seu banco IMAP possuem duas características
Os administradores de Linux que de dados, encontra o servidor IMAP em comum:
instalam seus sistemas com base em responsável pelo usuário e encaminha ➧ O front-end e o back-end pre-
Software Livre geralmente se frustram a requisição para o servidor respon- cisam oferecer as mesmas fun-
com a medíocre capacidade de alta sável (figura 1). cionalidades IMAP;

56 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Proxy Imap | REDES

Gateway SMTP Postfix Frontend Master B ackend


tabela de busca num banco de dados
Envia Mensagem Mensagem vai para fila MySQL. Nesse exemplo, o banco se
localiza na máquina local; o exemplo
Conexão LMTP 2 mostra seu conteúdo.
Obtém local da caixa Durante a migração, scripts auto-
de mensagem
matizados podem copiar as caixas de
Local de caixa mensagens do servidor antigo para
Entrega do Proxy o novo, e em seguida atualizar as
por LMTP entradas necessárias do banco de
dados. O proxy Perdition redirecio-
Figura 1 Os gateways de email entregam ao servidor SMTP a mensagem na automaticamente para o novo
recebida. O servidor SMTP usa LMTP para encaminhar a mensagem servidor de back-end os usuários
ao servidor do front-end, e finalmente a mensagem é entregue ao migrados. Não é necessário alterar
back-end correspondente. qualquer configuração no cliente, e
os usuários desfrutam de um serviço
➧ O proxy usa um banco de dados namento do programa para aqueles de email sem interrupções.
para lidar com os mapeamentos interessados numa visão aprofundada
usuário-servidor; o acesso é local e em inglês. Mesmo tendo alguns
ou através da rede. anos de idade, esse documento ain- Imapproxy
Um dos proxies IMAP mais co- da é considerado a referência para o O Imapproxy é projetado para a
nhecidos e flexíveis é o Perdition[1]. uso do Perdition. tarefa, altamente especializada, de
Outro, chamado Imapproxy[2], se O proxy IMAP envia uma requisi- acelerar o desempenho de servidores
concentra no problema de clien- ção para o banco de dados, e descobre de webmail através do cache de da-
tes de webmail. Pacotes específicos o servidor correto para a conexão do dos de conexões POP e IMAP com
de servidores, como o Cyrus IMAP cliente a partir da resposta. o servidor de emails.
Aggregator[3] oferecem uma gran- Um recurso notável desse progra- Servindo um cache IMAP, o Imap-
de gama de recursos, geralmente ma é seu suporte a múltiplas fontes proxy reduz o número de conexões
compatíveis somente para o servidor de dados. O Perdition se comuni- exigidas pelo programa de webmail.
IMAP correspondente. ca com back-ends LDAP, ODBC, Normalmente, cada ação do cliente
MySQL e PostgreSQL, ou qualquer do webmail aciona uma operação de
mistura deles. Outra vantagem é sua leitura ou escrita no servidor IMAP,
Perdition extensibilidade modular. demandando assim o intercâmbio de
O Perdition é um simples proxy de vários pacotes de dados. O cache do
obtenção de email que suporta os Imapproxy consegue lidar com várias
padrões IMAP4 e POP3 tanto por Instalação requisições diretamente, acelerando
conexões SSL quanto TLS. Ele en- É muito fácil instalar o Perdition. Os o aplicativo do webmail.
tende somente os comandos IMAP usuários de Linux podem optar por Diferentemente do Perdition, o
necessários para a autenticação; de baixar o código fonte e compilá-lo Imapproxy é mais uma ferramenta
resto, ele simplesmente repassa os ou usar os RPMs binários. Se hou- de otimização do que um verdadei-
dados conforme são recebidos. ver interesse no logging detalhado, ro proxy. Ele é útil sempre que os
O artigo do Perdition (Perdition pode-se instalar também o Vanessa usuários precisarem de acesso via
Paper, de Simon Horman)[4] dá Logger[5]. O exemplo 1 demonstra a navegador ao servidor IMAP. Pode-
mais detalhes dos recursos e funcio- configuração do Perdition com uma se até combinar o Imapproxy com
o Perdition (figura 2).

Exemplo 1: /etc/perdition/perdition.conf
Alta performance:
01 connection_logging
02 connection_limit 1000 Cyrus
03 map_library /usr/lib/libperditiondb_mysql.so.0 Outra solução de proxy IMAP é o
04 map_library_opt “localhost:3306:dbPerdition:tblPerdition: Cyrus IMAP Aggregator Proxy (ou
➥perdition:x:username:servername:port”
05 username_from_database Cyrus IMAP Proxy, para abreviar).
O proxy do Cyrus, é provavelmen-

Linux Magazine #38 | Janeiro de 2008 57


© Linux New Media do Brasil Editora Ltda.
REDES | Proxy Imap

Webmail Webmail to de carga, criando ele fornece um sistema completo de


servidores front-end proxy de email em colaboração com o
Imapproxy Imapproxy para se comunicarem Cyrus (mas somente com o Cyrus).
com os back-ends de
IMAP armazenamento. A
replicação em pares Conclusões
Proxy IMAP perdition e o armazenamento Com muito pouco trabalho, um proxy
compartilhado por IMAP pode adicionar funcionalidade
sistemas de arquivos a um ambiente já instalado que, sem
IMAP

para clusters, como isso, exigiria um cenário de cluster


GFS, oferecem mui- bem mais caro. Todos os programas
tas possibilidades de descritos neste artigo facilitam o tra-
exploração. Mas isso balho do administrador com uma
Servidor Servidor Servidor Servidor tudo requer tempo, enxurrada diária de emails.
IMAP IMAP IMAP IMAP
tenacidade e algum As opções de proxy IMAP para
dinheiro. Linux acrescentam conveniência
Figura 2 Enquanto o Perdition é uma solução completa para O Aggregator fre- e aumentam o desempenho de sis-
proxy IMAP e POP, o Imapproxy acelera os webmails qüentemente é usado temas de email movimentados. Se
através de um cache local de conexões IMAP. como proxy IMAP você planeja migrar seu servidor e
para o popular servi- está procurando compatibilidade, o
te a ferramenta mais robusta de dor de email Cyrus. Nesse cenário, Perdition é a escolha certa.
sua estirpe. O IMAP Aggregator múltiplos back-ends compartilham O Imapproxy dá conta de seu traba-
Proxy suporta tanto a obtenção de o trabalho, e o front-end distribui lho como um cache para webmail; não
emails (POP/IMAP) quanto sua as requisições. Os detalhes de qual é um concorrente do Perdition como
entrega (LMTP), embora somen- conta de usuário do email reside em solução completa, mas é uma extensão
te em parceria com o servidor de qual servidor são guardados numa útil. O Cyrus Aggregator pode distri-
email Cyrus. máquina separada, chamada de buir a entrega de emails por múltiplos
Assim como o UW, o Courier e servidor Mupdate. O servidor age servidores no back-end. ■
o Dovecot, o IMAP Cyrus é um dos como um tipo de nó mestre e usa
grandes servidores IMAP, e prova- o protocolo Mupdate para entregar
velmente é o que oferece a maior os dados requisitados por SMTP, Mais informações
variedade de recursos. IMAP ou POP. [1] Perdition:
O Cyrus armazena emails em http://www.vergenet.
seu próprio formato no servidor, net/linux/perdition
ignorando completamente os for- Proxy de entrega [2] Imapproxy:
matos testados e aprovados, mail- Fora a entrega de emails, o Cyrus Ag- http://www.imapproxy.org
box e maildir, e também funciona gregator é semelhante ao Perdition;
ao seu próprio modo em cenários porém, ele usa seu próprio servidor e [3] Cyrus IMAP:
http://cyrusimap.web.
multi-servidor. O Cyrus Murder um protocolo modificado. A grande
cmu.edu/ag.html
Aggregator suporta clusters de alta vantagem do Aggregator é que tam-
performance com balanceamen- bém suporta SMTP e LMTP; assim, [4] Perdition Paper:
http://tinyurl.com/23jwlo

Exemplo 2: Tabela do MySQL [5] Vanessa Logger:


http://tinyurl.com/393k2x
01 mysql> select * from dbPerdition.tblPerdition;
02 +------+--------------------+------+
03 | user | servername | port |
04 +------+--------------------+------+ Sobre o autor
05 |nome1 | imap01.empresa.com | 143 | “Jack” Chongjie Xue trabalha na Univer-
06 +------+--------------------+------+ sidade Marshall, nos EUA, onde recente-
07 |nome2 | imap02.empresa.com | 143 | mente migrou o cluster de email usado por
08 +------+--------------------+------+ 30.000 alunos de OpenVMS para Linux
09 ... sem interrupção no serviço.

58 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


De que forma um país poderia espionar seus cidadãos online?

Em nome da

SEGURANÇA
pátria
Alguns países têm feito investidas no
monitoramento do tráfego de seus cidadãos,
mas nem sempre de forma declarada.
Conheça oito formas de combater
esses espiões federais silenciosos.
por Nils Magnus

C
om o pensamento nada gen- centemente integraram esse grupo. os por meio do sistema de arquivos.
til de que “os fins justificam Sua agência federal de criminalís- Worms (em português, vermes) são
a invasão”, os governos de tica anunciou há poucos meses o um tipo semelhante de praga. A dife-
alguns países têm flertado com a desejo de legalizar a investigação rença entre eles é que, enquanto os
idéia de instalar softwares espiões online, e tem recebido duras críti- vírus necessitam da ação do usuário,
nos computadores pessoais dos ci- cas da população, em especial dos os worms são executados de forma
dadãos a fim de monitorar os dados círculos de TI. autônoma, ou seja, sem programas
trafegados para suposto benefício da No caso da Alemanha, o objeti- hospedeiros, e utilizam a rede para
segurança nacional. vo do governo parece apontar para sua propagação. Tanto vírus quanto
O governo federal dos Estados a instalação de cavalos-de-tróia nos worms possuem duas característi-
Unidos, através do FBI, criou o soft- computadores. Os usuários de Linux cas básicas comuns: replicação e
ware Carnivore na virada do século. obviamente se deleitam com a teórica destruição. Com a primeira, infec-
Paradoxalmente destinado a prote- imunidade de seus sistemas operacio- tam outros alvos, e com a segunda,
ger a segurança dos cidadãos através nais a esse tipo de praga virtual. Porém, apagam, por exemplo, o conteúdo
do monitoramento do conteúdo de essa confiança é um tanto exagerada. do disco rígido, senhas e cartas de
pacotes de rede enviados por esses Sistemas Linux são, sim, vulneráveis amor – ou espionam o plano de
mesmos cidadãos, o programa foi à ação de programas espiões. um próximo ataque suicida, como
amplamente atacado e, em poucos Neste artigo, mostraremos como crêem os agentes federais.
anos, retirado de operação. No en- esses programas podem agir e, melhor Embora sejam conhecidos alguns
tanto, há diversos outros programas ainda, como os usuários de Linux worms para Linux, os vírus clássicos
semelhantes já em andamento nos podem contra-atacar para manter são praticamente inexistentes. O argu-
EUA, e provavelmente, também, sua privacidade intocada. mento da arquitetura de permissões é
em muitas outras nações, violando perfeitamente válido contra a ação de
a privacidade da população para fins vírus, pois é bem difícil para um pro-
nem sempre muito coerentes. Ataque 1: Vírus e worms cesso não privilegiado sobrescrever pro-
A Alemanha, outro país de gran- O tipo clássico de construção de gramas de outros e arquivos de sistema.
de importância no atual cenário vírus (figura 1) ataca os arquivos Além disso, por ter seu código-fonte
mundial de TI, é um dos que re- disponíveis, modifica-os e espalha- aberto, o Linux também não sofre o

Linux Magazine #38 | Janeiro de 2008 59


© Linux New Media do Brasil Editora Ltda.
SEGURANÇA | Invasão de privacidade

Quadro 1: Panorama do malware criptográficos para todos os arqui-


vos, e com isso reconhece modifi-
Softwares mal intencionados são chamados, na linguagem técnica, de cações indesejadas, ou ainda como
malware. Os termos “vírus”, “worm” ou “cavalo-de-tróia” referem-se a cada lsof (figura 2 e 3).
um dos aspectos do malware, cujos significados normalmente se confun-
dem. Em resumo, vírus são programas que necessitam de um software hos-
pedeiro para infectarem. Os vírus rodam como parte de seu hospedeiro,
modificam suas funções e se difundem, injetando seus códigos também em Ataque 2: Utilização
outros programas. Os worms podem, além disso, rodar de forma indepen-
dente e multiplicar-se e espalhar-se de maneira autônoma.
de vulnerabilidades
O termo cavalo-de-tróia se refere a funções ocultas (sempre com o intuito
disponíveis
de causar danos) de um programa, as quais aparentemente inofensivas. Um Independentemente da forma que a
cavalo-de-tróia é constituído de vários componentes, e alguns podem ser agência federal escolher para vigiar
omitidos. Primeiro, o código invasor deve ser inserido no sistema alvo (vetor os cidadãos – seja por vírus, worm ou
de ataque). Portanto, deve se acomodar (infecção) da forma mais resistente cavalo-de-tróia –, de alguma forma
possível, para sobreviver, por exemplo, a uma reinicialização. será preciso encontrar um caminho
Para isso, alguns programas destrutivos chegam a se disfarçar (camufla- para entrar nos sistemas vigiados,
gem), modificando programas do sistema que poderiam denunciar sua ou seja, um vetor de ataque. Nesse
existência, e depois eliminam seus rastros. Eventualmente, do ponto de caso, podem ser utilizadas as vul-
vista do invasor, o cavalo-de-tróia deveria rodar com privilégios abran- nerabilidades do software que está
gentes, de forma que obtivesse máximo acesso ao sistema hospedeiro sendo utilizado.
(função destrutiva).
Erros críticos de segurança não são
Desde que os cavalos-de-tróia trabalhem apenas localmente, sua utili- raridade. A organização americana Mi-
dade para um agressor permanecerá limitada. Por isso, eles transmitem tre cataloga as vulnerabilidades conhe-
dados sensíveis do dispositivo afetado para um local da Internet (o cha- cidas[3], e listou, somente na primeira
mado drop host, algo como máquina receptora). Exemplares mais apri-
metade de 2007, mais de 3 mil falhas
morados também assumem novas funções através das redes de comuni-
cação, implementando backdoors por meio delas. Muitos programadores
em todos os sistemas operacionais e
bloqueiam a comunicação externa, e às vezes também a memória tem- aplicativos. É lógico que o Linux tam-
porária local de seu malware, para ocultar a existência ou o modo de fun- bém consta nessa lista, como se pode
cionamento dos programas. perceber pela seção de notícias de se-
gurança da Linux Magazine.
fenômeno do Windows® das cópias antivírus, afinal, têm como função A diferença mais óbvia entre o
piratas contaminadas por vírus. justamente descobrir esses molesta- Software Livre e os proprietários,
Restam os vírus de macro. Eles dores e eliminá-los. a disponibilidade do código-fonte,
podem muito bem existir no Linux, é usada tanto por invasores quanto
mas nenhum deles foi visto no mun- por defensores. As vulnerabilidades
do livre até agora. Efeito colateral são mais facilmente encontradas
Como os vírus e worms, de acordo quando se tem acesso ao código-
com os mecanismos de replicação fonte, seja qual for a finalidade de
Probabilidade de êxito de cada um, escondem o perigo de quem as busca. Os engenheiros
Os worms para Linux parecem mais se multiplicarem de forma descon- de segurança discutem se existem
promissores. Eles não se limitam a pro- trolada e assim também afetarem mais vantagens ou desvantagens,
gramas hospedeiros, e também acessam infraestruturas críticas, parece menos ou seja, se existem mais criminosos
computadores remotos por meio da provável que cavalos-de-tróia federais que exploram uma brecha do que
Internet. Entretanto, como a maioria adotem esse caminho. especialistas em segurança que as
das distribuições ainda não iniciam A melhor forma de um adminis- corrigem. De maneira geral, todos
muitos serviços de rede, esse caminho trador se proteger contra ataques é estão convencidos de que vulnera-
de invasão é mais complicado. através de um sistema com todas as bilidades desconhecidas ou secre-
Ambas as formas clássicas de pragas atualizações de segurança, e tam- tas são mais problemáticas que as
são completamente imagináveis no bém da atribuição correta de direi- falhas já expostas.
Linux; no entanto, podem ser desco- tos e de um sistema de checksums Via de regra, a segurança pela
bertas de forma relativamente fácil como o Aide [1] ou a versão livre obscuridade não funciona. Ocul-
em situações normais. Os softwares do Tripwire [2], que usa checksums tar uma vulnerabilidade não im-

60 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Invasão de privacidade | SEGURANÇA

disponível. Isso poderia ser desde


um plugin multimídia para um
navegador web, passando por um
aplicativo VoIP, até um inocente
driver de impressora. O cavalo-
de-tróia obtém, com isso, todos os
direitos que seu usuário possui. Do
ponto de vista do invasor, a melhor
das hipóteses seria ter o root como
usuário. Para os investigadores dos
governos, é relativamente complexo
infiltrar-se nos processos de desen-
volvimento de empresas privadas, e
deve-se lembrar a grande indigna-
ção popular que surgiria caso algo
assim fosse descoberto.

Ataque 4: Inserção
Figura 1 Assim como esse vírus biológico, os vírus de computador também
no código-fonte
infectam um portador, com ajuda do qual eles se espalham e perpe- Inserir backdoors ou funções de ca-
tram danos. valo-de-tróia num Software Livre é
muito mais difícil em comparação
pede que ela seja encontrada e comunidade do Software Livre, os com aplicativos proprietários, visto
explorada por outra pessoa. É um investigadores criminais dos gover- que a tramóia seria rapidamente
verdadeiro absurdo a tentativa de nos dispõem apenas de um peque- descoberta por meio da revisão
se proibir a busca de brechas de no espaço de tempo para explorar pública pelos desenvolvedores
segurança, como a Alemanha fez as vulnerabilidades, e precisam de e especialistas em segurança.O
recentemente com as “ferramen- uma equipe de especialistas real- bom funcionamento do trabalho
tas para hackers”, como o famoso mente eficiente, capaz de desen- de revisão, na prática, depende
Nmap. Pelo contrário, é impor- volver rapidamente uma forma de de muitos fatores. É claro que o
tante solucionar rapidamente explorar a falha do sistema. tamanho e a complexidade do
os pontos fracos que se tornam código-fonte desempenham um
conhecidos. papel importante, somando-se
No Software Livre, isso é feito, em Ataque 3: Backdoor a isso a preferência popular e a
geral, dentro de algumas horas, ou
no máximo em poucos dias. No caso
em software importância dos programas, bem
como os potenciais danos.
do software proprietário, geralmente proprietário Uma ferramenta aparentemen-
demora mais, pois o gerenciamento Há algum tempo, os espiões dos te inofensiva, quase desconhecida,
do produto, os ciclos de lançamento governos construiriam um cava- executada sem direitos especiais,
e questões de marketing impedem a lo-de-tróia clássico (veja o qua- atrai muito menos revisores do que
rápida publicação de correções. dro 1 ). Nesse caso, seria possível o kernel Linux. Enquanto centenas
Vulnerabilidades constituem esconder as funções de espiona- de desenvolvedores trabalham no
um vetor de ataque perigoso para gem num software aparentemente kernel, empregando um processo
qualquer sistema, mas podem ser inofensivo, que a vítima instalaria com vários níveis de revisão, um
minimizadas pelo administrador desavisadamente. Com isso, os projeto menos proeminente que
através das atualizações regulares investigadores infiltrariam seus implemente funções primárias úteis
de segurança. A maioria das dis- próprios códigos em um aplica- poderia sucumbir diante de um
tribuições mais populares oferece tivo popular. grande patch.
correções em tempo real, e ajuda Para manter-se oculto, seria acon- As autoridades governamentais
a executá-las de uma maneira sim- selhável escolher um aplicativo de fiscalização criminal precisa-
ples. Quando tentam atuar contra a cujo código-fonte não estivesse riam discutir intensivamente com

Linux Magazine #38 | Janeiro de 2008 61


© Linux New Media do Brasil Editora Ltda.
SEGURANÇA | Invasão de privacidade

os engenheiros específicos do pro-


jeto de cada um dos processos de
desenvolvimento para realizar esse
tipo de ataque com sucesso. Caso
as alterações conseguissem passar
despercebidas, os efeitos teriam um
alcance muito maior.

Ataque 5: Ataque
a repositórios
Um sucesso maior que o do ataque 4
pode ser alcançado optando-se pela
manipulação direta do código-fonte
de um aplicativo em seu repositório.
Caso as alterações não surtam qual-
quer efeito real na funcionalidade
do programa, poderiam permanecer Figura 2 O Glsof é uma interface para o lsof, que permite descobrir o com-
portamento suspeito de programas.
ocultas por um período.
Entretanto, essas manipulações divulgados. Nesse caso, uma questão camada de virtualização e lançar
também correm o risco de serem des- colocada aos investigadores de qualquer mão de ferramentas de monito-
cobertas pela revisão de um desenvol- governo é se esse modelo de ataque ramento no sistema hóspede. A
vedor interessado. Essa via de ataque pode ser articulado de forma legal, identificação do uso de virtua-
já foi usada, por exemplo, contra o pois certamente cidadãos de outros lização é difícil, pois o sistema
servidor de emails Sendmail. países seriam igualmente afetados hóspede, ou seja, aquele operado
Alvos de ataque especialmente re- pela artimanha. pelo usuário, não teria indícios
compensadores e por isso mesmo sob do problema, já que todos os ar-
constante risco são as plataformas de quivos permanecem intocados no
desenvolvimento e repositórios como Ataque 6: Virtualização ambiente virtualizado.
o SourceForge e o BerliOS. Uma vez As modernas técnicas de virtua- Por isso, tal ataque teria grande
realizada a invasão, o desenvolvedor lização funcionam tão bem que chance de sucesso, e vários projetos
de um cavalo-de-tróia federal poderia um usuário tem dificuldade para já o implementaram como prova
escolher dentre a ampla oferta de reconhecer, em um sistema hós- do conceito. A combinação des-
programas aqueles com perfil mais pede, se ele se encontra de fato sas técnicas de virtualização ainda
adequado a suas intenções. em um hóspede virtualizado ou está no início, e com certeza esse
Ataques bem sucedidos que empre- no sistema de verdade. O órgão é um campo interessante para fu-
guem esse modelo ainda não foram federal poderia introduzir uma turos desenvolvimentos.

Tabela 1: Técnicas de ataque

Ataque Descrição Complexidade Eficácia Medidas de defesa


1 Vírus e worms média alta Antivírus, atribuição de direitos, checksums
2 Exploração de vulnerabilidades média alta Atualizações de segurança
3 Backdoor baixa média Melhores práticas de administração de sistemas
4 Modificação de código-fonte alta alta Revisão do código
5 Ataque a repositórios alta alta Segurança do sistema
6 Virtualização alta alta Nenhuma
7 Manipulação de hardware baixa alta Barreira física
8 Regulamentação por lei baixa baixa Mudança para áreas não regulamentadas

62 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Invasão de privacidade | SEGURANÇA

Porém, resta um problema para os operação de forma fur-


hospedeiros: eles precisam instalar tiva. Em vários países
seus softwares no sistema a ser mo- isso já é válido em al-
nitorado. A solução mais funcional, gumas áreas, como na
nesse caso, seria usar um dos vetores escuta telefônica. Os
de ataque já descritos. fabricantes poderiam
ser obrigados a instalar
componentes que per-
Ataque 7: mitam rastrear dados,
Monitoramento endereços IP e emails,
por exemplo.
de hardware As tentativas de
É possível instalar hardwares para utilização de cripto-
monitoramento. Sua função pode grafia seguem uma Figura 3 O Jlsof é a interface em Java para o
ser, por exemplo, a de um keylogger, tendência semelhan- utilitário lsof.
registrando todas as ações do usuário. te. O método Key
Apesar de tais dispositivos serem fá- Escrow, por exemplo, em vez de Nesse ponto, as soluções anti-
ceis de instalar, eles requerem acesso proibir o uso de criptografia de vírus proprietárias teriam maior
físico ao dispositivo monitorado, e boa qualidade pelos cidadãos, probabilidade de adotar a obriga-
correm o risco de identificação por como faz o governo americano, ção, sobretudo se as negociações
usuários técnicos. mantém as chaves criptográficas envolvessem grandes cifras, por
Além disso, podem existir outros em poder de alguma autoridade. exemplo, de aquisição de software.
mecanismos de escuta no hard- Com isso, todos se comunicam de Já os projetos de Código Aberto,
ware. A BIOS da placa-mãe, por forma segura, mas ainda é possí- geralmente organizados internacio-
exemplo, costuma ser extensível. vel ceder as chaves a terceiros. A nalmente, dificilmente sofreriam
Seria possível por exemplo ter um autoridade detentora das chaves, esse tipo de influência.
mini hypervisor na bios, o qual fa- nesse caso, poderia ser o próprio
ria os preparativos para o ataque governo, e seu uso seria obrigató-
6. Controladores de disco rígido rio por lei. Conclusões
também seriam alvos interessantes A obrigatoriedade das interfaces A tabela 1 resume as diferenças en-
para essa abordagem, assim como físicas de monitoramento seria efi- tre os métodos de monitoramento
os firmwares de placas de rede ou caz para as autoridades de investi- online. Ela cita ainda os efeitos
de vídeo. gação somente quando utilizadas dos ataques e como proteger-se
Assim, um chip de cavalo-de- em todo o país. Isso é viável para dos mesmos. Na verdade, essas
tróia teria condições de buscar algumas centenas de provedores de mesmas formas de defesa devem
determinados dados ou, pelo me- acesso, mas supera todos os limites ser empregadas para proteger os
nos, abrir um canal externo para no caso dos muitos milhões de PCs. usuários de qualquer tipo de cri-
permitir o download de outros soft- Seriam necessárias amplas modifi- me por praga virtual. ■
wares ou o upload de informações. cações em toda a infraestrutura de
Novamente, a maior barreira para TI, do projeto do PC às portas de
as autoridades de investigação é comunicação.
que a instalação de um aparelho Um bom resultado também po- Mais informações
como esse exige acesso físico ao deria vir da introdução de interfaces [1] Aide:
dispositivo. ou funções de monitoramento em http://sourceforge.
softwares mais baratos e comuns, net/projects/aide

Ataque 8: O poder como antivírus ou sistemas opera-


cionais. Poderia ser estabelecido
[2] Tripwire:
http://sourceforge.
do Estado algum tipo de acordo entre o gover- net/projects/tripwire/
Um método inteiramente diferente, do no e os responsáveis pelas soluções
[3] Lista de vulnerabilidades no
ponto de vista conceitual, seria exigir antivírus, a fim de evitar conflitos Mitre:
legalmente a instalação de interfaces posteriores quanto à privacidade http://cve.mitre.org/cve/
de observação em vez de realizar essa dos usuários afetados.

Linux Magazine #38 | Janeiro de 2008 63


© Linux New Media do Brasil Editora Ltda.
Procedimentos para evitar a engenharia social

O lado analógico
SEGURANÇA

da segurança
digital, parte 2

Michal Zacharzewski - www.sxc.hu


O primeiro artigo desta série mostrou como
alguns fatores aparentemente inofensivos podem
afetar sobremaneira a segurança digital de sua
empresa. Veja agora como agir contra eles.
por Eduardo Moura

E
m nosso artigo anterior[1][2], nheiro social. Pensar segurança está cidentes de segurança e o desfecho
levantamos algumas questões, mais relacionado à importância do potencial de cada um dos cenários
na forma de perguntas, com negócio em um determinado mer- obtidos, além da percepção geral
o objetivo de revelar os principais cado do que necessariamente ao seu das pessoas sobre o assunto.
pontos com respeito à segurança poderio econômico. Iniciativas de treinamento com
da informação no ambiente cor- A cultura vigente da empresa tam- abordagens excessivamente técnicas
porativo. bém não deve receber tanta confiança. espantam as pessoas que porventura
É importante deixar claro que, Acreditar que todos os funcionários tenham dificuldades com compu-
embora esse seja um engano bastan- são bem informados quanto à seguran- tadores. Abordagens excessivamen-
te freqüente, não há um tamanho de ça digital, ou que já estão cientes de te pirotécnicas ou hollywoodianas
empresa mínimo ou máximo para a todos os aspectos citados neste artigo tendem a desacreditar o assunto, e
suscetibilidade de uma companhia a ou no anterior é um perigo. o balanço entre forma e conteúdo
problemas de segurança. Nenhuma Todas as perguntas feitas no pri- deve ser buscado para obter uma
empresa é pequena demais para ter de meiro artigo desta série possuem um correta motivação das pessoas.
se preocupar com essas questões. De elemento em comum nas respostas: Outra relação constantemente
forma semelhante, não é necessário o elemento humano! menosprezada é aquela entre o pes-
que o mercado em que atua a empresa Segurança da informação depen- soal de TI e os integrantes da linha
seja extremamente competitivo. de da percepção das pessoas sobre de negócios da empresa. Enquanto
Esses descuidos proporcionam ameaças. Percepção se adquire o assunto segurança da informação
uma oportunidade de ouro para ata- com treinamento e com processos for tratado de forma fechada pelos
ques de engenharia social. Sempre de verificação claros e constantes. profissionais técnicos, ele permane-
há uma recompensa que vale a pena Não basta treinar as pessoas e não cerá suficientemente árido para que
para um atacante motivado. A cada sensibilizá-las de forma adequada. as pessoas na linha de frente não se
dia mais invasores estão se arriscan- Tampouco basta identificar inci- interessem pelo mesmo. Um contato
do na seara da engenharia social, e dentes de segurança e corrigi-los mais próximo entre essas duas áre-
com isso os alvos de “menor visibi- “sob demanda”; é necessário que o as da companhia proporciona uma
lidade” também são interessantes. grupo de segurança da informação correta avaliação dos riscos a que
Pequenas empresas que atendem esteja sempre atento ao que cha- todos estão expostos, e facilita, por
grandes corporações podem ser uma mamos de quadro geral, ou seja, as conseguinte, a adoção de protocolos
boa porta de entrada para um enge- inter-relações possíveis entre os in- de segurança adequados.

64 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Quadro 1: Risco e incerteza
É muito importante relembrar os conceitos de risco e incerteza, tão funda-
mentais à gestão da segurança da informação.

Risco é a chance de um evento não previsto ocorrer e trazer algum impacto


para a organização, seja positivo ou negativo. O risco, normalmente, é trata-
do em uma escala quantitativa, do mais alto para o mais baixo.

Incerteza é o limite de visão dos desfechos de fatos que podem ocorrer com
a organização. A incerteza pode ser:

➧ conhecida, ou seja, aquela na qual sabemos quais fatos podem ocorrer,


porém não o seu desfecho;

➧ desconhecida, que é a presença de fatos que desconhecemos, mas cuja


ocorrência pode ser simulada para fins de previsão de seus desfechos; e
por fim

➧ a imprevisibilidade, que responde por fatos que não tinham como ser
previstos.

Paranóia inglês compliant). Porém, sem uma


Empresas que assimilaram a cultura estratégia global de segurança da in-
da segurança mantêm-se atentas ao formação que envolva fortemente o
quadro geral, sem, no entanto desen- elemento humano, de nada adian-
volverem uma paranóia de inseguran- tam os sofisticados recursos ofereci-
ça. Nesse ponto, é importante lembrar dos pelas fabricantes de produtos de
que a paranóia também tem efeito segurança ou pelos esforços imple-
extremamente danoso. No estado de mentados na comunidade de Soft-
paranóia, uma empresa pode vir a ser ware Livre. Sem esse composto, – o
explorada por engenheiros sociais que humano– as empresas continuarão
se passam por consultores de seguran- a viver em um ambiente eminente-
ça e infiltram-se profundamente na mente inseguro. ■
organização, retirando dela vantagens
maiores e mais rápidas do que aquelas
que as obteriam por meio de um ataque Mais informações
“convencional”. O equilíbrio correto
nas percepções de risco e incerteza [1] Eduardo Moura, “O lado
(veja o quadro 1) é fundamental para analógico da segurança
digital”. Linux Magazine 37,
evitar esse tipo de paranóia.
dezembro de 2007, pág. 64.
Portanto, se os profissionais de segu-
rança possuírem uma visão clara dos [2] Eduardo Moura, “O lado
riscos, eventos e incertezas, o quadro analógico da segurança
de segurança fica mais definido. Essa digital” (em PDF):
http://www.linuxmagazine.
clareza de visão é mais um elemento de com.br/lm/articles/
reforço à segurança da informação. o_lado_analogico_da_
Empresas que não possuem essa seguranca_digital
visão e entendimento certamente
estão expostas ao risco de um ata-
que de alto nível, e com conseqüên- Sobre o autor
cias devastadoras. A tecnologia e as Eduardo Moura (eduardo.moura@telway.
normas – como a ISO:NBR 17799, com.br) é consultor em segurança da infor-
mação e governança de TI. É entusiasta do
por exemplo – ajudam o ambiente Software livre e atua na Telway Tecnologia.
técnico a tornar-se “aderente” (do

Linux Magazine #38 | Janeiro de 2008

© Linux New Media do Brasil Editora Ltda.


Copyleft

Para todos, os direitos ©


ANÁLISE

preservados
Com o avanço do Software Livre, compreender o Copyleft torna-se ainda
mais importante para exigir seus direitos e evitar más interpretações.
por Alexandre Oliva

D
a tão conhecida frase “Co- contemporâneas suas. Não fosse assim, Inversão de valores
pyright, all rights reserved” provavelmente hoje estaríamos privados Pela lógica original, fazer valer o mo-
(Direitos autorais, todos os de muito de sua genialidade. nopólio pode até parecer sensato, mas
direitos reservados) surgiu o troca- Curiosamente, é outro William, a privação do código-fonte falha na
dilho “Copyleft, all rights reversed” mais conhecido como Bill Gates, contrapartida, pois impede[2] a reu-
(Esquerdos autorais, todos os direitos quem vem suprimindo energicamen- tilização e o aprimoramento da obra,
invertidos), que dá a impressão de te, em várias frentes, a possibilidade mesmo após o término do monopólio
que copyleft inverte a lógica das leis de usuários de software se compor- de pelo menos 50 anos. Esse prazo mí-
de direito autoral. Outros preferem tarem da mesma maneira. nimo descabido é imposto pela Orga-
“all wrongs reversed” (todos os erros Na frente social, já em 1976, publi- nização Mundial de Comércio, e não
corrigidos), que deixa ainda mais claro cou a “carta aberta aos hobbistas”[1]; sugerido pela Organização Mundial
o propósito do copyleft: consertar a mais recentemente, apóia grupos de Propriedade Intelectual[3] (um
lógica anti-social que se tem aplicado que promovem o slogan “Pirataria termo que só faz confundir) como
ao direito autoral, usando a força da é roubo”, tentando levar a crer que seria de se esperar.
própria lei para restaurar e reforçar o pilar moral do compartilhamen- A confusão de direito autoral,
sua finalidade original: beneficiar to tem mais a ver com saquear um patentes e marcas num termo que
a sociedade. No caso do software, navio do que com usar a chama de alude a bens rivais se compara à da
para beneficiar especialmente seus uma vela para acender outra. aplicação das mesmas regras a obras
usuários e desenvolvedores. Na jurídica, utiliza licenças e con- funcionais e artísticas.
tratos restritivos de direito autoral, Essas buscam proporcionar pra-
patentes e segredo industrial, assim zer estético, em suas muitas dimen-
Lá vem história como EULAs (contratos de licen- sões. Por mais especiais que sejam,
Direito autoral é um monopólio tem- ciamento para usuário final), NDAs não são insubstituíveis: prazer se-
porário que a sociedade viu por bem (contratos de confidencialidade) e melhante pode ser alcançável com
conceder aos autores de certos tipos de outras artimanhas de cunho legal. outras obras.
obras, a título de incentivo à criatividade. Na tecnológica, utiliza mecanis- Obras funcionais, particularmen-
Em troca do monopólio, um número mos de controle de cópia, limitação te software, são diferentes. Processos
supostamente maior de obras se torna artificial de funcionalidade de soft- críticos de sua empresa podem ficar
disponível, ainda que com algum atraso, ware e hardware, impedimento de dependentes e engessados por um
para toda a sociedade usar, aprimorar e instalação de software “não autoriza- software específico que armazene
compartilhar: o domínio público. do” e privação de acesso ao código- informações essenciais em formatos
Ao contrário do domínio público, fonte, a forma ideal para entender secretos e que não possa ser adaptado
direito autoral é uma idéia relativamen- como funciona e para modificar um de acordo com os interesses de quem
te recente. William Shakespeare não programa, distribuindo apenas o có- o usa. Esse poder vai muito além do
precisava se preocupar com a legali- digo-objeto, incompreensível para que se pretendia conceder aos autores
dade de adaptar obras anteriores e até meros mortais como nós. através do direito autoral, e fica exa-

66 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Copyleft | ANÁLISE

cerbado pela crescente importância mais conhecida é a GNU GPL, que Por isso é tão difícil subverter o
do software em cadeias produtivas e adota um copyleft forte: tanto a obra copyleft, em particular o da GPL.
no cotidiano das pessoas. original quanto suas derivadas só po- Negar a validade da licença é con-
dem ser distribuídas sob os mesmos fessar infração de direito autoral,
termos e condições. enquanto reconhecê-la, com suas
Livrai-nos do mal Há quem a chame de licença condições, não ajuda a quem tenha
Software Livre surgiu num movimen- viral, querendo fazer parecer que a agido fora de seus limites.
to social que entende que negar a al- licença é uma doença cuja forma
guém as liberdades de executar um
programa para qualquer propósito,
de contágio é o mero contato físico.
Na realidade, as liberdades são uma
Nasce torto mas
estudar o programa, adaptá-lo para herança que o software sob licença endireita
suas necessidades e distribuí-lo, com copyleft deixa para todos os seus Por contrariar a concepção mesquinha
ou sem modificações é anti-ético e descendentes, sem afetar obras que da lei de direito autoral e usá-la uma
imoral, pois causa prejuízos financei- não sejam dele derivadas. vez mais em prol da sociedade, diz-se
ros e morais a quem é privado dessas que copyleft inverte os direitos. Como
liberdades e a toda a sociedade.
Escolher Software Livre para de-
Com trato ou isso conserta várias distorções, diz-se
que copyleft também corrige os erros
sempenhar uma determinada compu- sem licença? do direito autoral. Por ser uma idéia de
tação livra o usuário de monopólios de A GPL não cria obrigações contratu- tamanho avanço social, faz sentido tra-
suporte, correções e aprimoramentos ais, apenas condiciona as permissões duzi-lo como “esquerdos” autorais.
sobre esse software. Porém, alguém ter que concede, deixando a lei prevalecer Copyleft usa a lei do direito au-
suas liberdades respeitadas com relação quando as condições não são respeita- toral não para manter o monopólio
ao software não significa que todos as das. Se eu digo: “pode estacionar seu legal, mas para evitar seu abuso, ga-
tenham. Um autor pode oferecer o carro na minha garagem”, estou con- rantindo o respeito às liberdades de
software com liberdade para alguns cedendo uma permissão legalmente quem quer que receba a obra, im-
e sem liberdade para outros. Pode necessária para alguém que não tinha pedindo a supressão desses direitos
inclusive autorizar quem receber o o direito de sequer entrar no prédio sobre ela. Daí dizer: para todos, os
software de maneira livre a distribuí- onde moro, mas delimitada de tal for- direitos preservados. ■
lo, talvez modificado, de maneira não ma que o acesso à minha residência
livre, pondo a perder as liberdades de continua não permitido. Da mesma
Mais informações
quem mais importa: o usuário e poten- forma, a GPL concede a permissão le-
cial desenvolvedor do software. galmente necessária para quem queira [1] Bill Gates, “Carta aberta aos
distribuir o software, mas delimitada de hobbistas”:
http://en.wikipedia.
Endireitando forma que a supressão do código-fonte
e o uso de outros termos e condições
org/wiki/Open_Letter_
direitinho continuem não permitidos.
to_Hobbyists

Copyleft é uma técnica de licencia- As permissões são indiferentes a [2] Boletim da FSFLA,
mento que evita essa ruptura. Va- quem não tenha intenção de ir à ga- editorial “Problemas com
‘Propriedade Intelectual’”:
lendo-se justamente do monopólio ragem do prédio ou de distribuir o pro- http://www.fsfla.
legal (no Brasil, as leis 9609/98, do grama da forma especificada. Quem org/?q=pt/node/129#1
Software, e 9610/98, de Direito Au- não quiser vir ao meu prédio e não
toral), uma licença copyleft concede quiser distribuir o programa não preci- [3] Richard Stallman, “Did You
Say ‘Intellectual Property’?
permissões que respeitam as liber- sa delas. Já quem tenha as permissões
It’s a Seductive Mirage”:
dades do usuário, mas limitadas, de acima mas invada minha residência http://www.gnu.org/
modo que o software, com ou sem ou distribua software GPL com restri- philosophy/not-ipr.html
modificações, só possa ser distribuído ções adicionais não está descumprindo
sob a mesma licença. Copyleft tor- obrigação para comigo, mas agindo
na as liberdades parte integrante e fora do escopo das permissões que Sobre o autor
inseparável do software. concedi. Na ausência de permissões Alexandre Oliva é engenheiro, mestre em
Das várias licenças copyleft, algu- adicionais, esses atos são ilegais: inva- Ciências da Computação e trabalha na Red
Hat, além de ser co-fundador e conselheiro
mas permitem a combinação com são de domicílio e infração de direito da Free Software Foundation Latin America.
software sob outras licenças, mas a autoral, respectivamente.

Linux Magazine #38 | Janeiro de 2008 67


© Linux New Media do Brasil Editora Ltda.
Virtualização no kernel com KVM

Virtude profunda
ANÁLISE

O KVM traz o kernel à era da virtualização. Saiba


por que o universo do Linux tem tanto interesse
nessa promissora alternativa de virtualização.
por Amit Shah

E
m dezembro de 2006, Linus memória são realizados pelo próprio rio, quase não há diferença entre rodar
Torvalds anunciou que as no- kernel. Um pequeno módulo do kernel uma máquina virtual do Qemu com
vas versões do kernel Linux in- Linux introduz o modo de hóspede, KVM desativado e uma com o KVM
cluiriam a ferramenta de virtualização define as tabelas de página do hóspede ativado, exceto, é claro, pela diferença
conhecida como KVM (Kernel Virtual e emula certas instruções chaves. significativa de velocidade.
Machine Monitor). O KVM surgiu As versões atuais do KVM trazem O KVM segue o ideal de desenvol-
há relativamente pouco tempo, e sua uma versão modificada do emulador vimento e liberação do Linux: liberar
súbita chegada aos holofotes revela o Qemu, que gerencia a entrada e saída, cedo e freqüentemente. A versão está-
poder do modelo de virtualização ba- e opera como lar virtual para o sistema vel mais recente é parte do Linux 2.6.x,
seado no kernel. Esse modelo oferece hóspede (figura 1). Este roda dentro do com correções de falhas ocorrendo nas
várias vantagens potenciais, incluindo Qemu, que por sua vez roda como um versões 2.6.x.y. O código-fonte do KVM
melhor desempenho e suporte mais processo comum no espaço do usuário. é mantido numa árvore git. Para obter
uniforme a todo o ambiente Linux. Este O ambiente resultante é semelhante a versão mais recente, ou a árvore git
artigo mostra como o KVM funciona ao cenário exibido na figura 2, em que mais recente, basta acessar o wiki do pro-
e introduz a configuração de sistemas vários processos de máquinas virtuais jeto[1] para os detalhes do download.
virtuais baseados nessa ferramenta. são executados lado a lado com outras
tarefas de espaço do usuário gerencia-
das diretamente pelo kernel. Cada Using KVM
O jeito do KVM hóspede consiste em duas partes: a de Como o KVM explora apenas os últi-
Num cenário comum de virtuali- espaço do usuário (Qemu) e a do hós- mos avanços do hardware, é necessário
zação, um componente conhecido pede (o hóspede propriamente dito). assegurar a presença de um proces-
como hypervisor funciona como uma A memória física do hóspede é mape- sador com suporte às extensões de
interface entre os sistemas hóspede e ada no espaço de memória virtual da virtualização. Para descobrir isso:
hospedeiro. O hypervisor se localiza tarefa, e então os hóspedes também
sobre o sistema hospedeiro, lidando podem ir para a swap. Processos vir- $ egrep ‘^flags.*(vmx|svm)’ \
com as tarefas de escalonamento tuais dentro de uma máquina virtual /proc/cpuinfo
do processador e gerenciamento da são simplesmente threads no processo
memória para os hóspedes. do hospedeiro. Se for gerada alguma saída, então os
O KVM funde o hypervisor ao ker- Esse modelo se encaixa perfeitamen- recursos necessários estão presentes
nel, reduzindo a redundância e ace- te no modo Unix de realizar somente na CPU.
lerando a execução. Um driver KVM uma tarefa, e realizá-la corretamente. Nesse caso, meio caminho já está
comunica-se com o kernel e age como O módulo do KVM trata apenas de andado. É necessário ter uma versão
interface para uma máquina virtual no criar e ativar o modo de hóspede e recente do kernel 2.6. Se a versão do
espaço do usuário. O escalonamento lidar com acessos virtualizados aos kernel for recente e já contiver o KVM,
de processos e o gerenciamento da registradores. Da perspectiva do usuá- seja como módulo ou embutido, ele

68 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


KVM | ANÁLISE

já pode ser usado caso não se deseje $ qemu-img create -f qcow \ máquina virtual. O valor padrão é de
compilar os módulos pessoalmente. debian-etch.img 10G 128 MB. As versões recentes do KVM
Entretanto, o projeto KVM recomen- possuem suporte à passagem da me-
da a versão mais recente disponível no Isso cria um arquivo debian-etch. mória do hóspede para a swap, para
site, pois ele recebe novos recursos e img com 10 GB no formato qcow. São que a RAM alocada ao hóspede não
correções continuamente – para não suportados alguns outros formatos, cada sobrecarregue o hospedeiro.
mencionar as novas falhas, o que pode um com vantagens e desvantagens. Pode-se ocasionalmente encontrar
causar problemas ocasionais. Assim que o arquivo de imagem é falhas ao rodar máquinas virtuais com
Baixe o código-fonte na página de criado, já é possível instalar um siste- o KVM. A saída nos logs do kernel do
download[1]. O tarball tem duas partes. ma hóspede nele. Para isso, deve-se hospedeiro ajudam na busca de proble-
O diretório kernel/ contém os fontes dos carregar os módulos do KVM, caso mas semelhantes relatados antes, bem
módulos do kernel. Os outros arquivos não estejam embutidos no kernel. como de quaisquer sugestões disponíveis.
são a porção de espaço do usuário, uma A atualização para a última versão do
versão levemente modificada do Qemu. $ sudo modprobe kvm-intel KVM deve solucionar o problema.
Se o suporte ao KVM já estiver presen- OU Caso uma solução não seja encon-
te, seja como módulo ou embutido no $ sudo modprobe kvm-amd trada, executar a máquina virtual com a
kernel, é importante impedir o progra- $ qemu-system-x86_64 -boot d \ opção -no-kvm inicia o Qemu sem suporte
ma de compilar os módulos. -cdrom /images/debian-cd.iso \ ao KVM. Se nem assim o problema for
Compilar os utilitários de espaço -hda debian-etch.img resolvido, isso significa que ele reside no
do usuário a partir do tarball requer Qemu, e não no KVM. Outra tentativa
algumas bibliotecas. A lista detalha- Esse comando inicia uma sessão pode ser passar o parâmetro -no-kvm-ir-
da e as instruções estão disponíveis de máquina virtual. A janela exibe qchip ao iniciar a máquina virtual. Tam-
através do wiki do KVM[1]. QEMU/KVM em seu título, o que bém se pode perguntar na amigável lista
É necessário usar a versão 3 do significa que o KVM está ativo. As- de discussão do KVM.
compilador GCC; parte do código sim que a instalação termina, pode-
do Qemu não se entende com o se rodar o hóspede com:
GCC 4, o compilador padrão das Qemu monitor
distribuições Linux recentes. $ qemu-system-x86_64 \ O Qemu monitor é aberto com a com-
Depois de compilar e instalar o debian-etch.img binação de teclas [Ctrl]+[Alt]+[2] quan-
utilitário (e o módulo, se desejado), do a versão do Qemu é selecionada. O
antes de começar a usar o KVM é ne- Também é possível passar o parâ- monitor dá acesso a alguns comandos
cessário criar um arquivo para abrigar metro -m para especificar a quanti- de depuração e alguns comandos que
o sistema operacional hóspede: dade de memória RAM usada pela podem auxiliar a inspeção do estado
da máquina virtual. Por exemplo, info
registers exibe o conteúdo dos regis-
tradores da CPU virtual. Também é
possível conectar dispositivos USB a
uma máquina virtual usando coman-
dos do Qemu monitor.

Migração de
máquinas virtuais
Migrar máquinas virtuais é muito im-
portante para o balanceamento de carga
e a redução do tempo de interrupção
durante atualizações. O processo de
migração inclui mover um hóspede
de uma máquina física para outra. A
vantagem da técnica do KVM é que
os hóspedes não se envolvem na mi-
Figura 1 O KVM traz uma versão modificada do emulador Qemu. gração. Além disso, não são necessários

Linux Magazine #38 | Dezembro de 2007 69


© Linux New Media do Brasil Editora Ltda.
ANÁLISE | KVM

componentes especiais para realizar a


migração através de um túnel SSH ou
comprimir a imagem em migração.
Pode-se até passar a imagem por um
programa antes de ser transmitida à má-
quina alvo. A menos que estejam ativos
recursos específicos de hardware ou da
máquina, pode ser feita a migração entre
duas máquinas. Além disso, hóspedes
parados também podem ser migrados,
assim como os ativos. A estrutura que
permite isso é do próprio Qemu, então
não são necessárias alterações no kernel
para ativar o recurso. A sincronização
do estado do dispositivo para efetuar a
migração e o estado da máquina virtual
são fornecidos e gerenciados transparen-
temente no espaço do usuário.
Na máquina de destino, pode-se
executar o Qemu com as mesmas op- Figura 2 Um processo de máquina virtual roda ao lado de outras tarefas do
ções de linha de comando usadas para espaço do usuário, e é gerenciado diretamente pelo kernel.
a máquina virtual na origem, mas com
parâmetros adicionais para comandos então o parâmetro para migração no hóspede conseguir comunicar-se
específicos de migração: destino será: com o hospedeiro, atividades como
as de rede ou I/O podem ser mais
$ qemu-system-x86 -incoming -incoming ssh://0 velozes. Além disso, modificações
➥<protocolo:parâmetros> no sistema operacional hospedeiro
Há opções semelhantes para re- (Linux) para melhorar o escalona-
Por exemplo: alizar a compressão por Gzip e a mento de processos e o uso da swap
criptografia por GPG, e até mesmo já foram propostas e aceitas.
$ qemu-system-x86 -m 512 para processar os dados num script O KVM funciona sem problemas
➥-hda /images/a.img antes de enviá-los. em todos os tipos de máquinas – ser-
➥-incoming stdio vidores, desktops, laptops e placas
embarcadas – e é possível usar as mes-
Na máquina de origem, a migra- Vantagens mas ferramentas de gerenciamento e
ção deve ser iniciada com o comando A técnica do KVM oferece várias infraestrutura comuns do Linux.
migrate do Qemu monitor, indicando vantagens. Pode-se reutilizar todo o O sistema KVM se integra ao esca-
o protocolo e seus parâmetros, como software e infraestrutura já existentes, lonador, à camada de I/O e todos os
por exemplo: e não é necessário aprender novos co- sistemas de arquivos do Linux. Outros
mandos. Por exemplo, kill e top fun- benefícios incluem a migração ao
(qemu) migrate cionam como de costume na tarefa de vivo e o suporte a NUMA e máqui-
➥tcp://ipdestino:portadestino hóspede do sistema hospedeiro. nas com 4096 processadores.
O KVM foi projetado original- Se o objetivo for uma alternati-
O parâmetro de linha de comando mente para suportar hospedeiros x86, va eficiente para virtualização bem
para a migração no destino é: e seu foco é na virtualização com- integrada ao Linux, é hora de expe-
pleta, sem modificações no sistema rimentar o KVM. ■
-incoming tcp://0:porta operacional hóspede. Entretanto,
conforme ele foi ganhando mais
Se o comando de origem no Qemu desenvolvedores e casos de uso in- Mais informações
monitor for: teressantes, começou a ser portado [1] KVM:
para outras arquiteturas e a ganhar http://kvm.qumranet.com
(qemu) migrate ssh://ipdestino suporte à paravirtualização. Se um

70 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Programação de redes neurais com a Libfann

Jogos cerebrais

PROGRAMAÇÃO
3, 4, 8, 11… ? Uma rede neural consegue completar
essa seqüência sem conhecer seu algoritmo subjacente.
Veja como as redes neurais ajudam a resolver problemas
simulando o comportamento de um cérebro.
por Andreas Romeyke

Miranda Knox - www.sxc.hu

A
o procurar um caminho num Neste artigo, veremos os princípios soluções não especificamente apre-
mapa, seus olhos cairão direta- básicos das redes neurais, e introdu- sentadas como exemplos.
mente numa solução eficiente. ziremos a biblioteca Libfann[1], que A figura 1 mostra uma célula nervo-
O cérebro humano é capaz de fazer pode ser usada para criação de apli- sa, o modelo natural dos neurônios de
julgamentos sem muita atenção a al- cações com uso de redes neurais. uma RNA. A célula nervosa contém
goritmos de otimização ou cálculos o corpo e dendritos que saem deste.
de distância. Essa técnica intuitiva é Os dendritos transportam impulsos
totalmente alheia aos computadores Modelo natural elétricos ao corpo da célula. Se a
digitais. Os programas de computa- Uma rede neural simula a estrutura soma total desses impulsos exceder
dor convencionais tendem a operar de um cérebro. Ela modela o efeito um valor limite pré-definido (poten-
através de soluções matemáticas, de um conjunto de neurônios que cial de ação), o neurônio torna-se
tornando-os ineficientes em tarefas influenciam os estados uns dos ou- ativo, enviando impulsos às células
como predição e reconhecimento de tros através de um grande número às quais está conectado.
padrões. Uma forma experimental de conexões. O peso diferencial das Um neurônio artificial simula
de programa conhecida como Rede conexões neurais, que representam as propriedades de seu equivalente
Neural Artificial (RNA, ou ANN na as fibras nervosas do
abreviação em inglês) resolve esse cérebro, produz um Corpo da célula
problema fazendo o computador valor de saída específi-
funcionar de forma mais semelhante co para um padrão es- Dendritos
a um cérebro biológico. pecífico de neurônios
Uma rede neural artificial simula receptores. As cone-
um conjunto de células nervosas co- xões entre neurônios Axônio
nectadas por caminhos ponderados. são ajustadas através
Um uso de sucesso para redes neu- de um processo aná-
rais é o campo do reconhecimento logo a um treinamen-
de faces. Uma rede neural consegue to. Nesse processo, a
reconhecer um rosto com base num rede neural aprende
conjunto de pixels coloridos, apesar a associar padrões de
de ruído ou distorção, exatamente entrada específicos a
como um humano. Outras aplicações valores de saída espe-
para a tecnologia de redes neurais in- cíficos. Se o treina-
cluem o reconhecimento óptico de mento tiver sucesso, o Figura 1 Os neurocientistas consideram as ramificações das células
caracteres ou previsões de manchas cérebro artificial será nervosas como a base do poder do cérebro para reconhecer
solares e preços de ações. capaz de descobrir padrões ou prever estados do sistema difíceis de calcular.

Linux Magazine #38 | Janeiro de 2008 71


© Linux New Media do Brasil Editora Ltda.
PROGRAMAÇÃO | Redes neurais

Neurônio ativo As capacidades de uma rede neural,


tais como a habilidade de reconhecer
w{0} padrões ou prever valores, são um pro-
duto da estrutura interna da rede.
w{1}
As operações a seguir modificam
as características de uma RNA:
➧ adicionar novas conexões ou
Entrada w{2} Saída eliminar as já existentes;

w{3}
f(x) ➧ modificar os pesos das conexões
entre neurônios;
➧ modificar os valores de limite
dos neurônios;
Função de ativação ➧ acrescentar ou eliminar neu-
rônios.
O treinamento oferece os pesos
adequados para resolver um problema
Figura 2 Assim como seus equivalentes biológicos, neurônios artificiais
calculam a soma do potencial de ação dos neurônios conectados a específico. No caso do reconhecimen-
eles, e repassam o sinal para outros neurônios através de conexões to de caracteres, a entrada seria uma
ponderadas. imagem ou um trecho de um texto
e os respectivos códigos de caracte-
natural: ele soma os potenciais de Uma das topologias de rede mais res. No caso do comportamento do
seus dendritos, aplica uma função simples, bem explorada pela pesquisa mercado de ações ou da atividade das
fixa especial de ativação e passa os científica, é o modelo de perceptron manchas solares, os dados históricos
resultados a todas as células conec- multicamada (MLP, na sigla em portu- são usados para treinar a rede neural
tadas a ele (figura 2). As conexões guês) pró-alimentado[2]. Esse modelo (figura 4). Uma função de aprendizado
com outros neurônios são ponderadas divide a rede em camadas separadas. compara a entrada do exemplo com
para atenuar ou amplificar o sinal ao Essa rede não possui feedback; em ou- os valores de objetivo, e modifica as
longo de seu caminho. tras palavras, o potencial de atuação conexões neuronais, pesando até a
A função de ativação define o limite simplesmente se propaga da esquerda reação da rede ser correspondente
no qual o neurônio será ativado. Abai- para a direita (veja a figura 3). ao objetivo.
xo desse valor, o neurônio não enviará
sinais. Essa função freqüentemente é Camada de entrada Camada oculta Camada de saída
uma função simples de limite que re-
torna 1 se a soma de todas as saídas for
superior a um valor específico. É comum
representar a função de ativação num
neurônio separado conhecido como ati-
var neurônio (on neuron). Então, pode-
se ponderar a ativar neurônio como as
conexões a outros neurônios.

Projeto Pesos
O processo de treinamento adapta Neurônios
a rede neural a uma situação espe-
cífica; porém, na escala estrutural,
o desenvolvedor também pode es- 1 1 1
colher uma topologia para a rede
neural que reflita seu uso preten- Neurônios ativos
dido. Diferentes tipos de conexões Figura 3 O perceptron multi-camada, que permite a propagação do potencial
entre neurônios levam a redes com da entrada para a saída sem loops de retorno, é a rede neural
características diferentes[2]. artificial mais simples e melhor explorada.

72 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Redes neurais | PROGRAMAÇÃO

Dentro da mente (sentido normal). Um método de Ao final, um fator fixo de aprendi-


Descreveremos agora, com um exem- ensino conhecido como propaga- zado estipula como uma contribui-
plo simples, o que acontece na fase ção reversa (ou back propagation, ção de erro influencia o peso. Uma
de aprendizado de uma rede neural. como costuma ser chamado) in- boa escolha de fator de aprendizado
Imagine que queiramos uma rede verte essa direção. Ele informa o é um pré-requisito importante para
com quatro neurônios para prever o valor de erro retornado na saída de o treinamento eficaz. Assim como
valor médio de dois números (veja a volta, através da rede em direção vários outros parâmetros da rede,
figura 5). No lado esquerdo da figura, à entrada, com base nos pesos das esse fator é desconhecido no iní-
os números 0,1 e 0,3 são entrados nos conexões individuais. A distribuição cio do treinamento. O treinamento
neurônios receptores. Inicialmente, dos valores de erro sobre os nós da completo de uma RNA sempre en-
as conexões neuronais possuem pesos rede oferece a base para a modifi- volve um grande número de ciclos
aleatórios. A função de ativação, que cação dos pesos. Os especialistas de propagações reversas, com pares
define a forma como um neurônio já desenvolveram vários outros de valores de entrada e saída para
reage à entrada, é f(x) = x. RNAs mais métodos de ensino além desse, e o problema que deve ser resolvido
poderosas precisam de funções mais alguns prometem resultados me- pela rede ao final.
complexas, obviamente, mas esse lhores para certas tarefas.
exemplo simples é adequado para A figura 6 mostra como a con-
explicar o princípio subjacente. tribuição do erro se propaga para Plano de treinamento
Se os neurônios receptores pos- trás a partir da saída. O potencial É óbvio que os pesos jamais devem
suem os valores de 0,1 e 0,3, pesar do neurônio de saída é a soma de ter valor zero, pois não haveria for-
as conexões para os potenciais ofe- suas duas conexões: aquela com o ma de traçar os erros. Pesos muito
recem os seguintes valores: (0,1*1,0 neurônio ativo, com peso de 0,3, e a semelhantes ou com diferenças muito
+ 0,3*0,9 + 1,0*0,4) = 0,77 para o com o neurônio na camada abaixo, grandes teriam efeito negativo sobre
primeiro neurônio N(1,1), e (0,1*0,2 com peso de 0,2. Com base nisso, o processo de aprendizado. Para uma
+ 0,3*0,3 + 1,0*0,7) = 0,81 para o se- a contribuição do erro (0,433 - 0,2 RNA eficiente, é preferível que os si-
gundo neurônio N(1,2). O neurônio = 0,233) no neurônio de saída é nais se propaguem através de toda a
entre as camadas de entrada e saída distribuída pelas duas conexões. O rede, exceto por áreas específicas, para
possui valor de (0,77*0,5 + 0,81*0,1 + caminho para o neurônio ativo tem lidar com padrões específicos.
1,0*0,2) = 0,666. O neurônio de saída uma fatia de 0,3/(0,2+0,3) = 60%, e Em aplicações práticas, a simples
retorna o valor de (0,666*0,2 + 1,0*0,3) o caminho para o neurônio abaixo função de ativação f(x) = x será subs-
= 0,433, embora a média correta dos tem a fatia de 0,2/(0,2+0,3) = 40%. tituída por uma tangente hiperbólica
números 0,1 e 0,3 seja 0,2. Essa técnica possibilita o cálculo ou uma função sigmoidal. Isso au-
Em outras palavras, a rede não chegou do potencial de erro total para cada menta o desempenho da rede neural,
muito perto do valor correto na primeira conexão neuronal. pois essas funções podem mapear
tentativa. Para permitir que a RNA ajuste
sua matemática, é necessário modificar 1 Neurônio
30 Neurônios
a pesagem das conexões neuronais. A de entrada de saída
contribuição do erro permite descobrir
qual pesagem entre quais neurônios 180
atividade
180
atividade

devem ser corrigidas. A contribuição


160
160

140
140

do erro é o quadrado do valor de saída


120
120
atividade solar

100
sunspot activity

100

esperado menos o quadrado dos valores


80
80

60
60

retornados nos neurônios de saída. O 40

20
40

20

valor resultante é conhecido como erro 0


1950 1960 1970 1980

anos
1990 2000 2010
Ponderação
0
1950 1960 1970 1980

anos
1990 2000 2010

quadrado médio (MSE ou MQLE, na Neurônios

notação em inglês).
1 1 1

30 Neurônios ocultos
Marcha a ré
Potenciais de ação geralmente Figura 4 Uma rede neural com três camadas de neurônios prevê a atividade
movem-se adiante na rede a par- das manchas solares nos últimos 30 anos, e assim aprende a prever
tir da entrada em direção à saída o fenômeno para o ano que vem.

Linux Magazine #38 | Janeiro de 2008 73


© Linux New Media do Brasil Editora Ltda.
PROGRAMAÇÃO | Redes neurais

Camada de entrada Camada oculta Camada de saída


práticos que facilitam chamar ann=fann_create(taxa_cone-
a introdução a seu uso. xão, taxa_aprendizado, num_camadas,
1, 0 0, 5
0,1 Fora C, há ligações para num_entrada, num_neurônios_ocultos,
0, 2 0,433 todas as linguagens de num_saída); para criar a struct. taxa_co-
0, 9
Neurônios programação mais co- nexão especifica a força das conexões
0, 2 0, 4
muns. No momento entre os neurônios. O valor correto
0,3 0, 1
da escrita deste artigo, normalmente é 1.0. taxa_aprendizado
0, 3
a Libfann é uma das deve ficar entre 0.7 e 0.00001. O pa-
0, 2 0, 3
implementações mais râmetro num_camadas e os valores após
rápidas para simulações ele informam à Libfann o número de
0, 7
Ponderação de redes neurais. camadas da rede e o número de neu-
A maioria das distri- rônios em cada uma delas.
1 1 1 Neurônios ativos buições Linux inclui a
versão 1.2 da biblioteca.
Um aptitude install Treino e pensamento
libfann1-dev instala-a Paralelos com o pensamento humano
1,0
0,9 0,5 0,2
em qualquer distribui- são úteis para entender o que se passa
çaõ derivada do De- durante o treinamento e descobrir a
0,4 0,1 0,3
0,2 0,2
Pesos bian. O código-fonte, fonte de quaisquer problemas numa
0,3 que pode ser compila- rede neural – afinal, elas emulam a
0,7 do com os passos tra- estrutura do cérebro. Se a sessão de
Figura 5 O comportamento da rede neural é definido pela dicionais, configure; treinamento informar os dados histó-
ponderação das conexões neuronais e os neurônios make; make install, está ricos em ordem cronológica, a rede
ativos, que fixam o limite pelos quais os neurônios disponível em [1]. talvez desenvolva visão em túnel.
passarão estímulos para os outros. Isso afetaria a capacidade da RNA
de lidar com novos dados.
uma faixa de entrada até o infinito Compilação Uma ordem aleatória evita a gene-
com valores úteis. A back propaga- Todas as aplicações de redes neurais ralização prematura, e portanto a ne-
tion também pressupõe que a fun- são diferentes, e é impossível explo- cessidade de treinar novamente a rede
ção de ativação possa ser invertida. rar todas as sutilezas desse complexo neural após uma estrutura inválida ser
A vantagem desse esforço adicional campo num único artigo. O site do estabelecida nas conexões neuronais.
é que os perceptrons de três cama- projeto Libfann inclui um manual Por isso, o script em Perl[3] garante
das são capazes de aprender funções de referência com descrições e notas uma ordem aleatória aos dados.
matemáticas arbitrárias, supondo de uso para as funções
que usem funções de ativação não da biblioteca. O site Camada Camada
oculta de saída
lineares adequadas. da Linux Magazine
contém em [3] um Neurônios Calculado: 0,433
exemplo de progra- 0,2
Esperado: 0,2

Libfann ma em C que cria ---------------


Erro e = 0,233
A biblioteca Fast Artificial Neural Ne- uma rede neural e a
twork (FANN) é uma biblioteca gratuita treina. e = 0,093
e = 0,233
e de Código Aberto que fornece uma Para os que deseja-
interface em C para implementar redes rem experimentar, al-
0,3
neurais multicamadas. A biblioteca foi gumas das funções mais
desenvolvida em 2003 por Steffen Nis- importantes da Libfann e =0,14
sen, na Universidade de Copenhague, são fann_train(), fann_ 1
Correção por etapa Retorno do erro
como parte de sua pesquisa científica, run() e fann_test(). A de aprendizado Neurônios ativos
e ainda está em desenvolvimento ati- função fann_train() Figura 6 Redes neurais aprendem cometendo erros
vo. A Libfann é fácil de usar e bem espera uma struct de de previsão de valores específicos, rastre-
documentada, e roda em qualquer rede, struct fann * ando esses erros de volta por sua estrutura
plataforma popular. A página do pro- ann;, como seu primei- e re-pesando as conexões entre neurônios
jeto também possui alguns exemplos ro parâmetro. Pode-se que contribuíram para esses erros.

74 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Redes neurais | PROGRAMAÇÃO

Progresso do treinamento
Dados que a rede não tenha visto du- Se o número de er-
0.4
rante o treinamento ajudam a julgar a ros de aprendizado não Erros de aprendizagem

eficácia com que a RNA consegue lidar cair continuamente, a 0.35


Erros de generalização

com abstrações no estado atual do treina- rede fica parada num

Erro quadrado médio (MQLE)


mento. O script em Perl divide os dados mínimo local, e seu de- 0.3

em dois subconjuntos. O erro que ocor- sempenho dificilmente 0.25


re nesse caso é chamado de erro médio melhora, não importa
quadrado de generalização, ou MQGE. a duração do treina- 0.2

Junto com o MQLE (erro médio quadra- mento. Nesse caso, é


0.15
do de aprendizado), ele informa se a rede necessário reiniciar o
neural está pronta para prever o futuro treinamento com um 0.1
ou se é necessário mais treinamento. A fator de aprendizado
Libfann injeta os dois valores através das menor, e possivelmen- 0.05

funções fanntest(rna, vetor_entrada, te alterando a estrutura 0


vetor_saídaesperada) e fann_get_MSE(). da rede. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Por último, fann_save(rna,arquivo) ar- Inspecionar o ar- Passos de aprendizagem


mazena a estrutura da rede e os pesos quivo fann_save pode Figura 7 Num treinamento de sucesso, o MQLE cai continua-
atuais para uso futuro. revelar o motivo do mente, e a rede vai melhorando seu desempenho.
baixo desempenho da
rede simplesmente pelo treinamento: talhes matemáticos como a inversão
Vida real neurônios individuais com pesos ex- da função de ativação.
O sucesso do treinamento depende cessivos freqüentemente interferem Escolher parâmetros como a taxa
não apenas dos dados, mas também no processo de aprendizado. de aprendizado e o número de neu-
da adequação da estrutura da rede à Se a curva de aprendizado conti- rônios intermediários realmente de-
tarefa em questão – a começar pela nuar caindo, como mostrado na figura manda experiência e paciência. Os
função de ativação. 7, então é hora de consultar o erro de erros de aprendizado e generalização,
A Libfann usa a função sigmóide generalização: se a curva for suave, além de um conhecimento da satura-
por padrão, e isso não é um problema não se deve esperar grande capaci- ção de neurônios individuais, forne-
para prever a atividade das manchas dade de previsão. A rede aprendeu cem indicações dos motivos de falha
solares e outros fenômenos que se en- os valores de treinamento e receberá de uma rede específica. A Libfann
caixam numa faixa positiva. Porém, valores de entrada desconhecidos. ajuda a precisar esses valores.
no caso de preços de ações e outras Para alterar isso, é necessário reduzir A versão atual (2.0) da Libfann
séries temporais com valores negati- o número de neurônios ocultos. estende seu escopo funcional, acres-
vos, é necessária a função de tangente Se o erro de generalização estiver centando novos algoritmos de apren-
hiperbólica fann_set_activation_func- num nível consistentemente alto, o dizado e tipos de neurônios. ■
tion_output(rna, FANN_SIGMOID). número de nós ocultos está pequeno
O fator de aprendizado também demais, ou a sessão de treinamento
influencia fortemente o sucesso ou não foi suficientemente intensa. Mais informações
fracasso do treinamento, pois especifica A função fann_load da Libfann carre-
qual o efeito dos erros de aprendizado ga uma rede armazenada anteriormente [1] Libfann:
sobre os pesos das conexões entre neu- com fann_save(). A função fann_run(rna, http://fann.sourceforge.net
rônios, e sobre o número de neurônios entrada) retorna a saída da rede treina- [2] Redes neurais artificiais:
da rede. O número de neurônios na da. O script em Perl automatiza o teste http://pt.wikipedia.
camada intermediária deveria manter- do cérebro artificial. Nesse teste, a saída org/wiki/Rede_neural
se num mínimo, inicialmente. Três ou de uma rede treinada com sucesso foi
[3] Programa de
um máximo de 15 neurônios são sufi- bastante próximo às previsões. treinamento: http://www.
cientes para a maioria das aplicações. linuxmagazine.com.br/
A tentativa e erro também oferecerão
uma medida dos números adequados. Conclusão [4] Warren Sarle, FAQ
sobre RNAs: http://
Para essa sessão de treinamento, 500 A Libfann facilita a criação, treina- www.faqs.org/faqs/ai-
mil passos de aprendizado devem ser mento e uso de RNAs. Os usuários faq/neural-nets/
um número suficiente. não precisam preocupar-se com de-

Linux Magazine #38 | Janeiro de 2008 75


© Linux New Media do Brasil Editora Ltda.
Construindo interfaces com PHP-GTK

Hora de construir
PROGRAMAÇÃO

Enquanto o uso das classes de PHP-GTK cria interfaces rápidas,


o Glade pode tornar a tarefa ainda mais fácil.
por Pablo Dall’Oglio

N
o primeiro artigo desta sé- iremos estudar as diversas formas de de, e uma caixa vertical no centro,
rie[1], conhecemos o PHP- se construir uma interface. sendo que essa caixa vertical contém
GTK, extensão da linguagem A biblioteca GTK é formada por outros três objetos do tipo GtkLabel
de programação PHP, que nos per- um conjunto de classes, organizadas (rótulos de texto).
mite desenvolver aplicações gráficas hierarquicamente e que disponi- Observe que podemos construir a
standalone. Neste segundo artigo, bilizam uma interface totalmente interface recursivamente, colocando
orientada a objetos. Isso permite o objetos dentro de objetos.
Exemplo 1: Janela subdividida reaproveitamento de código através
01 <?php
de mecanismos como a herança. A Posições Fixas
02 // cria a janela grande maioria das classes descen- Quem considera complexo de-
03 $janela = new GtkWindow; de da superclasse GtkObject. Toda mais projetar o visual do aplicativo
04 $janela->set_size_request(300,200); classe-filha herda automaticamente com base no empacotamento pode
05 $janela->set_border_width(20);
06 $janela->set_title(‘Título da
o comportamento (métodos e pro- dispor da construção baseada em
➥Janela’); priedades) da classe pai. Para exem- posições fixas. O GTK possui um
07 plificarmos, todas as classes descen- contêiner chamado GtkFixed, que
08 // cria boxes dentes de GtkBin são contêineres que proporciona uma área na qual os
09 $caixa_vert= new GtkVBox;
10 $caixa_horz= new GtkHBox; podem conter um elemento em seu objetos podem ser ancorados em
11 interior. Já as classes descendentes de coordenadas absolutas definidas em
12 // adiciona caixa horizontal na GtkBox podem conter vários. pixels. No exemplo 2, criamos um
➥janela objeto chamado $fixed_area, que
13 $janela->add($caixa_horz);
14 é justamente um objeto do tipo
15 // adiciona elementos na caixa Empacotamento GtkFixed dentro da janela. A par-
➥horizontal A primeira forma de construirmos tir disso, colocamos vários objetos
16 $caixa_horz->pack_start(new
➥GtkLabel(‘elemento1’));
a interface gráfica é através do em- em seu interior (figura 2), sempre
17 $caixa_horz->pack_start($caixa_ pacotamento de objetos, ou seja, definindo a posição em termos de
➥vert); colocando uns objetos dentro de coluna e linha, por meio do mé-
18 $caixa_horz->pack_start(new outros. Para tal, é necessário enten- todo put().
➥GtkLabel(‘elemento2’));
19 der quais objetos permitem que se
20 // adiciona elementos na caixa adicione conteúdo (contêineres) e
➥vertical
21 $caixa_vert->pack_start(new
quais não. Glade
Em princípio, objetos descen- Até o momento, construímos o visual
➥GtkLabel(‘elementoA’));
22 $caixa_vert->pack_start(new dentes da classe GtkContainer podem do aplicativo via programação. Essa
➥GtkLabel(‘elementoB’)); conter outros elementos dentro de forma de desenvolvimento melhora o
23 $caixa_vert->pack_start(new si. No exemplo 1, iremos construir desempenho do aplicativo, mas, por
➥GtkLabel(‘elementoC’));
24 uma janela (GtkWindow) e adicionar outro lado, não é tão produtiva para
25 // exibe a janela uma caixa horizontal em seu interior. programadores acostumados com
26 $janela->show_all(); Dentro da caixa horizontal, vamos ambientes RAD. Para situações em
27 adicionar três objetos, conforme a que precisamos de maior agilidade no
28 Gtk::Main();
29 ?> figura 1: dois rótulos de texto (GtkLa- desenvolvimento visual do aplicativo,
bel), sendo um em cada extremida- podemos utilizar o Glade.

76 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


PHP-GTK, parte 2 | PROGRAMAÇÃO

Exemplo 3: Uso de arquivo .glade


01 <?php
02 //realiza leitura do documento glade
03 $glade = new GladeXML(‘exemplo.
➥glade’);
04
05 //obtém a janela contida no glade
06 $janela = $glade->get_
➥widget(‘window1’);
Figura 1 Uma janela com três ele- 07
Figura 2 Uma janela com múltiplos
08 //obtém o campo para digitação do
mentos dispostos horizon- elementos, usando localiza- ➥nome da pessoa
talmente. ção fixa. 09 $nome = $glade->get_widget(‘nome_
➥pessoa’);
O Glade é uma ferramenta criada ponentes e uma janela de proprie- 10
especialmente para desenho visual dades que propiciam a construção 11 //joga um texto dentro do campo
de aplicativos GTK. Ele pode ser de interfaces por meio de recursos 12 $nome->set_text(‘digite o nome
➥aqui...’);
utilizado em conjunto com todas as como clicar-e-arrastar, entre outros. 13
linguagens que suportam o GTK. O resultado final do arquivo salvo 14 //exibe a janela
Essa ferramenta disponibiliza ao pelo Glade é um documento XML 15 $janela->show_all();
16
programador uma paleta de com- com a extensão .glade. 17 Gtk::Main();
No exemplo 3, uti- 18 ?>
Exemplo 2: Janela com múltiplos lizamos uma interfa-
elementos ce criada no Glade.
Veja que para inter- vamos estudar como se dá a progra-
01 <?php pretar o documen- mação de eventos, que nos permi-
02 // cria a janela
03 $janela = new GtkWindow;
to Glade precisamos tirá escrever funções que reagem às
04 $janela->set_size_request(300,200); fazer uso da classe ações tomadas pelo usuário frente à
05 $janela->set_border_width(20); GladeXML. Essa classe aplicação. ■
06 $janela->set_title(‘Título da Janela’); retorna um objeto
07
08 // cria fixed $glade, que disponi-
09 $fixed_area= new GtkFixed; biliza acesso a todos Mais informações
10 os objetos contidos
11 // adiciona área fixa na janela [1] Pablo Dall’Oglio, “Sempre
dentro do documen- Nativo”. Linux Magazine 37,
12 $janela->add($fixed_area);
13 to. Para obtermos tais dezembro de 2007, pág. 70.
14 // instancia diversos objetos objetos, precisamos
15 $rotulo1 = new GtkLabel(‘elemento1’); [2] PHP-GTK Brasil:
executar o método
16 $rotulo2 = new GtkLabel(‘elemento2’); http://www.php-gtk.com.br
get_widget() , que
17 $botao = new GtkButton(‘clique aqui’);
18 $check = new GtkCheckButton(‘checkbutto recebe o nome do [3] Site do autor:
➥n’); objeto (exibido na http://www.pablo.blog.br
19 $radio = new GtkRadioButton(null, janela de proprie-
➥‘radiobutton’); [4] Livro PHP-GTK:
20 $combo = new GtkCombo; dades) e retorna o http://www.php-gtk.
21 objeto corresponden- com.br/book
22 // coloca objetos na área fixa te, como se ele fosse
23 $fixed_area->put($rotulo1, 10, 10);
instanciado naquele
24 $fixed_area->put($rotulo2, 140, 10);
25 $fixed_area->put($botao, 10, 50); momento. Sobre o autor
26 $fixed_area->put($check, 120, 50);
27 $fixed_area->put($radio, 120, 80); Pablo Dall’Oglio (pablo@php.net) é gradua-
28
29
$fixed_area->put($combo, 0, 120);
Conclusão do em Análise de Sistemas, autor de um livro
sobre PHP-GTK e programa em PHP-GTK
Neste artigo, apenas desde sua criação em 2001. É membro da
30 // exibe a janela equipe de documentação e criador da co-
31 $janela->show_all(); vimos como cons- munidade brasileira de PHP-GTK. Atualmen-
32 truir uma interface te, é diretor de tecnologia e proprietário da
33 Gtk::Main(); Adianti Solutions, onde atua como consultor
34 ?> inanimada. No pró- de tecnologia e engenheiro de software.
ximo artigo da série,

Linux Magazine #38 | Janeiro de 2008 77


© Linux New Media do Brasil Editora Ltda.
Linux.local
O maior diretório de empresas que oferecem produtos, soluções e
SERVIÇOS

serviços em Linux e Software Livre, organizado por Estado. Sentiu


Fornecedor de Hardware = 1
falta do nome de sua empresa aqui? Entre em contato com a gente: Redes e Telefonia / PBX = 2
11 4082-1300 ou anuncios@linuxmagazine.com.br Integrador de Soluções = 3
Literatura / Editora = 4
Fornecedor de Software = 5
Consultoria / Treinamento = 6

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6


Ceará
F13 Tecnologia Fortaleza Rua Coronel Solon, 480 – Bairro de Fátima 85 3252-3836 www.f13.com.br ✔ ✔ ✔ ✔
Fortaleza - CE - CEP 60040-270
Espírito Santo
Linux Shopp Vila Velha Rua São Simão (Correspondência), 18 – CEP: 29113-120 27 3082-0932 www.linuxshopp.com.br ✔ ✔ ✔ ✔
Megawork Consul- Vitória Rua Chapot Presvot, 389 – Praia do Can- 27 3315-2370 www.megawork.com.br ✔ ✔ ✔
toria e Sistemas to – CEP: 29055-410 sl 201, 202
Spirit Linux Vitória Rua Marins Alvarino, 150 – CEP: 29047-660 27 3227-5543 www.spiritlinux.com.br ✔ ✔ ✔
Minas Gerais
Instituto Online Belo Horizonte Av. Bias Fortes, 932, Sala 204 – CEP: 30170-011 31 3224-7920 www.institutoonline.com.br ✔ ✔
Linux Place Belo Horizonte Rua do Ouro, 136, Sala 301 – Serra – CEP: 30220-000 31 3284-0575 corporate.linuxplace.com.br ✔ ✔ ✔ ✔
Microhard Belo Horizonte Rua República da Argentina, 520 – Sion – CEP: 30315-490 31 3281-5522 www.microhard.com.br ✔ ✔ ✔ ✔ ✔
TurboSite Belo Horizonte Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141 0800 702-9004 www.turbosite.com.br ✔ ✔ ✔
Paraná
iSolve Curitiba Av. Cândido de Abreu, 526, Cj. 1206B – CEP: 80530-000 41 252-2977 www.isolve.com.br ✔ ✔ ✔
Mandriva Conectiva Curitiba Rua Tocantins, 89 – Cristo Rei – CEP: 80050-430 41 3360-2600 www.mandriva.com.br ✔ ✔ ✔ ✔
Telway Tecnologia Curitiba Rua Francisco Rocha 1830/71 41 3203-0375 www.telway.com.br ✔ ✔
Rio de Janeiro
NSI Training Rio de Janeiro Rua Araújo Porto Alegre, 71, 4ºandar Centro – CEP: 20030-012 21 2220-7055 www.nsi.com.br ✔ ✔
Open IT Rio de Janeiro Rua do Mercado, 34, Sl, 402 – Centro – CEP: 20010-120 21 2508-9103 www.openit.com.br ✔ ✔
Unipi Tecnologias Campos dos Av. Alberto Torres, 303, 1ºandar - Centro – CEP 28035-581 22 2725-1041 www.unipi.com.br ✔ ✔ ✔ ✔
Goytacazes
Rio Grande do Sul
4up Soluções Corporativas Novo Hamburgo Pso. Calçadão Osvaldo Cruz, 54 sl. 301 CEP: 93510-015 51 3581-4383 www.4up.com.br ✔ ✔
Solis Lajeado Rua Comandante Wagner, 12 – São Cristóvão – CEP: 95900-000 51 3714-6653 www.solis.coop.br ✔ ✔ ✔ ✔ ✔
DualCon Novo Hamburgo Rua Joaquim Pedro Soares, 1099, Sl. 305 – Centro 51 3593-5437 www.dualcon.com.br ✔ ✔ ✔ ✔
Datarecover Porto Alegre Av. Carlos Gomes, 403, Sala 908, Centro Comer- 51 3018-1200 www.datarecover.com.br ✔ ✔
cial Atrium Center – Bela Vista – CEP: 90480-003
LM2 Consulting Porto Alegre Rua Germano Petersen Junior, 101-Sl 202 – Hi- 51 3018-1007 www.lm2.com.br ✔ ✔ ✔
gienópolis – CEP: 90540-140
Lnx-IT Informação e Tecnologia Porto Alegre Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193 51 3331-1446 www.lnx-it.inf.br ✔ ✔ ✔ ✔
Plugin Porto Alegre Av. Júlio de Castilhos, 132, 11º andar Centro – CEP: 90030-130 51 4003-1001 www.plugin.com.br ✔ ✔ ✔
TeHospedo Porto Alegre Rua dos Andradas, 1234/610 – Centro – CEP: 90020-008 51 3286-3799 www.tehospedo.com.br ✔ ✔
São Paulo
Ws Host Arthur Nogueira Rua Jerere, 36 – Vista Alegre – CEP: 13280-000 19 3846-1137 www.wshost.com.br ✔ ✔ ✔
DigiVoice Barueri Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010 11 4195-2557 www.digivoice.com.br ✔ ✔ ✔ ✔ ✔
Dextra Sistemas Campinas Rua Antônio Paioli, 320 – Pq. das Universidades – CEP: 13086-045 19 3256-6722 www.dextra.com.br ✔ ✔ ✔
Insigne Free Software do Brasil Campinas Av. Andrades Neves, 1579 – Castelo – CEP: 13070-001 19 3213-2100 www.insignesoftware.com ✔ ✔ ✔
Microcamp Campinas Av. Thomaz Alves, 20 – Centro – CEP: 13010-160 19 3236-1915 www.microcamp.com.br ✔ ✔
PC2 Consultoria em Carapicuiba Rua Edeia, 500 - 06350-080 11 3213-6388 www.pc2consultoria.com ✔ ✔
Software Livre
Savant Tecnologia Diadema Av. Senador Vitorino Freire, 465 – CEP: 09910-550 11 5034-4199 www.savant.com.br ✔ ✔ ✔ ✔
Epopéia Informática Marília Rua Goiás, 392 – Bairro Cascata – CEP 17509-140 14 3413-1137 www.epopeia.com.br ✔
Redentor Osasco Rua Costante Piovan, 150 – Jd. Três Montanhas – CEP: 06263-270 11 2106-9392 www.redentor.ind.br ✔
Go-Global Santana de Av. Yojiro Takaoca, 4384, Ed. Shopping Ser- 11 2173-4211 www.go-global.com.br ✔ ✔ ✔
Parnaíba vice, Cj. 1013 – CEP: 06541-038
AW2NET Santo André Rua Edson Soares, 59 – CEP: 09760-350 11 4990-0065 www.aw2net.com.br ✔ ✔ ✔
Async Open Source São Carlos Rua Orlando Damiano, 2212 – CEP 13560-450 16 3376-0125 www.async.com.br ✔ ✔ ✔
Delix Internet São José do Rua Voluntário de São Paulo, 3066 9º – Centro – CEP: 15015-909 11 4062-9889 www.delixhosting.com.br ✔ ✔ ✔
Rio Preto

78 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


Linux.local | SERVIÇOS

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6


São Paulo (continuação)
4Linux São Paulo Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031 11 2125-4747 www.4linux.com.br ✔ ✔
A Casa do Linux São Paulo Al. Jaú, 490 – Jd. Paulista – CEP 01420-000 11 3549-5151 www.acasadolinux.com.br ✔ ✔ ✔
Accenture do Brasil Ltda. São Paulo Rua Alexandre Dumas, 2051 – Chácara San- 11 5188-3000 www.accenture.com.br ✔ ✔ ✔
to Antônio – CEP: 04717-004
ACR Informática São Paulo Rua Lincoln de Albuquerque, 65 –Perdizes – CEP: 05004-010 11 3873-1515 www.acrinformatica.com.br ✔ ✔
Agit Informática São Paulo Rua Major Quedinho, 111, 5º andar, Cj. 11 3255-4945 www.agit.com.br ✔ ✔ ✔
508 – Centro – CEP: 01050-030
Altbit - Informática Co- São Paulo Av. Francisco Matarazzo, 229, Cj. 57 11 3879-9390 www.altbit.com.br ✔ ✔ ✔ ✔
mércio e Serviços LTDA. – Água Branca – CEP 05001-000
AS2M -WPC Consultoria São Paulo Rua Três Rios, 131, Cj. 61A – Bom Retiro – CEP: 01123-001 11 3228-3709 www.wpc.com.br ✔ ✔ ✔
Big Host São Paulo Rua Dr. Miguel Couto, 58 – Centro – CEP: 01008-010 11 3033-4000 www.bighost.com.br ✔ ✔ ✔
Blanes São Paulo Rua André Ampére, 153 – 9º andar – Conj. 91 11 5506-9677 www.blanes.com.br ✔ ✔ ✔ ✔ ✔
CEP: 04562-907 (próx. Av. L. C. Berrini)
Commlogik do Brasil Ltda. São Paulo Av. das Nações Unidas, 13.797, Bloco II, 6º an- 11 5503-1011 www.commlogik.com.br ✔ ✔ ✔ ✔ ✔
dar – Morumbi – CEP: 04794-000
Computer Consulting Pro- São Paulo Rua Vergueiro, 6455, Cj. 06 – Alto do Ipiranga – CEP: 04273-100 11 5062-3927 www.computerconsulting.com.br ✔ ✔ ✔ ✔
jeto e Consultoria Ltda.
Consist Consultoria, Siste- São Paulo Av. das Nações Unidas, 20.727 – CEP: 04795-100 11 5693-7210 www.consist.com.br ✔ ✔ ✔ ✔
mas e Representações Ltda.
Domínio Tecnologia São Paulo Rua das Carnaubeiras, 98 – Metrô Conceição – CEP: 04343-080 11 5017-0040 www.dominiotecnologia.com.br ✔ ✔
EDS do Brasil São Paulo Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5º andar 11 3707-4100 www.eds.com ✔ ✔ ✔
Ética Tecnologia São Paulo Rua Nova York, 945 – Brooklin – CEP:04560-002 11 5093-3025 www.etica.net ✔ ✔ ✔ ✔
Getronics ICT Solu- São Paulo Rua Verbo Divino, 1207 – CEP: 04719-002 11 5187-2700 www.getronics.com/br ✔ ✔ ✔
tions and Services
Hewlett-Packard Brasil Ltda. São Paulo Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000 11 5502-5000 www.hp.com.br ✔ ✔ ✔ ✔ ✔
IBM Brasil Ltda. São Paulo Rua Tutóia, 1157 – CEP: 04007-900 0800-7074 837 www.br.ibm.com ✔ ✔ ✔ ✔
iFractal São Paulo Rua Fiação da Saúde, 145, Conj. 66 – Saúde – CEP: 04144-020 11 5078-6618 www.ifractal.com.br ✔ ✔ ✔
Integral São Paulo Rua Dr. Gentil Leite Martins, 295, 2º an- 11 5545-2600 www.integral.com.br ✔ ✔
dar Jd. Prudência – CEP: 04648-001
Itautec S.A. São Paulo Rua Santa Catarina, 1 – Tatuapé – CEP: 03086-025 11 6097-3000 www.itautec.com.br ✔ ✔ ✔ ✔ ✔
Kenos Consultoria São Paulo Av: Fagundes Filho, 13, Conj -53, Cep: 04304-000 11 40821305 www.kenos.com.br ✔ ✔
Konsultex Informatica São Paulo Av. Dr. Guilherme Dumont Villares, 1410 6 andar, CEP05640-003 11 3773-9009 www.konsultex.com.br ✔ ✔ ✔
Linux Komputer Informática São Paulo Av. Dr. Lino de Moraes Leme, 185 – CEP: 04360-001 11 5034-4191 www.komputer.com.br ✔ ✔ ✔ ✔
Linux Mall São Paulo Rua Machado Bittencourt, 190, Cj. 2087 – CEP: 04044-001 11 5087-9441 www.linuxmall.com.br ✔ ✔ ✔
Livraria Tempo Real São Paulo Al. Santos, 1202 – Cerqueira César – CEP: 01418-100 11 3266-2988 www.temporeal.com.br ✔ ✔ ✔
Locasite Internet Service São Paulo Av. Brigadeiro Luiz Antonio, 2482, 3º an- 11 2121-4555 www.locasite.com.br ✔ ✔ ✔
dar – Centro – CEP: 01402-000
Microsiga São Paulo Av. Braz Leme, 1631 – CEP: 02511-000 11 3981-7200 www.microsiga.com.br ✔ ✔ ✔
Novatec Editora Ltda. São Paulo Rua Luis Antonio dos Santos, 110 – Santana – 02460-000 11 6979-0071 www.novateceditora.com.br ✔
Novell América Latina São Paulo Rua Funchal, 418 – Vila Olímpia 11 3345-3900 www.novell.com/brasil ✔ ✔ ✔
Oracle do Brasil Sistemas Ltda. São Paulo Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º 11 5189-3000 www.oracle.com.br ✔ ✔
andar – CEP: 04726-170
Proelbra Tecnolo- São Paulo Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001 11 5052- 8044 www.proelbra.com.br ✔ ✔ ✔
gia Eletrônica Ltda.
Provider São Paulo Av. Cardoso de Melo, 1450, 6º an- 11 2165-6500 www.e-provider.com.br ✔ ✔ ✔
dar – Vila Olímpia – CEP: 04548-005
Red Hat Brasil São Paulo Av. Brigadeiro Faria Lima, 3900, Cj 81 8º andar 11 3529-6000 www.redhat.com.br ✔ ✔ ✔
Itaim Bibi – CEP: 04538-132
Samurai Projetos Especiais São Paulo Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002 11 5097-3014 www.samurai.com.br ✔ ✔ ✔
SAP Brasil São Paulo Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000 11 5503-2400 www.sap.com.br ✔ ✔ ✔
Simples Consultoria São Paulo Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010 11 3898-2121 www.simplesconsultoria.com.br ✔ ✔ ✔
Smart Solutions São Paulo Av. Jabaquara, 2940 cj 56 e 57 11 5052-5958 www.smart-tec.com.br ✔ ✔ ✔ ✔
Snap IT São Paulo Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000 11 3731-8008 www.snapit.com.br ✔ ✔ ✔
Stefanini IT Solutions São Paulo Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919 11 3039-2000 www.stefanini.com.br ✔ ✔ ✔
Sun Microsystems São Paulo Rua Alexandre Dumas, 2016 – CEP: 04717-004 11 5187-2100 www.sun.com.br ✔ ✔ ✔ ✔
Sybase Brasil São Paulo Av. Juscelino Kubitschek, 510, 9º andar Itaim Bibi – CEP: 04543-000 11 3046-7388 www.sybase.com.br ✔ ✔
The Source São Paulo Rua Marquês de Abrantes, 203 – Cháca- 11 6698-5090 www.thesource.com.br ✔ ✔ ✔
ra Tatuapé – CEP: 03060-020
Unisys Brasil Ltda. São Paulo R. Alexandre Dumas 1658 – 6º, 7º e 8º anda- 11 3305-7000 www.unisys.com.br ✔ ✔ ✔ ✔
res – Chácara Santo Antônio – CEP: 04717-004
Utah São Paulo Av. Paulista, 925, 13º andar – Cerqueira César – CEP: 01311-916 11 3145-5888 www.utah.com.br ✔ ✔ ✔
Visuelles São Paulo Rua Eng. Domicio Diele Pacheco e Sil- 11 5614-1010 www.visuelles.com.br ✔ ✔ ✔
va, 585 – Interlagos – CEP 04455-310
Webnow São Paulo Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Cen- 11 5503-6510 www.webnow.com.br ✔ ✔ ✔
tenário – Chácara Itaim – CEP: 04578-000
WRL Informática Ltda. São Paulo Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001 11 3362-1334 www.wrl.com.br ✔ ✔ ✔
Systech Taquaritinga Rua São José, 1126 – Centro - Caixa Postal 71 – CEP: 15.900-000 16 3252-7308 www.systech-ltd.com.br ✔ ✔ ✔

Linux Magazine #38 | Janeiro de 2008 79


© Linux New Media do Brasil Editora Ltda.
Calendário de eventos Índice de anunciantes

Empresa Pág.
Evento Data Local Website Bossa Conference 84
SERVIÇOS

Celepar 13
Lançamento do KDE 4.0 17 a 19 de janeiro Mountain View, EUA http://dot.kde.org/1191409937
F-Secure 02
Guia de TI 11
Campus Party Brasil 2008 11 a 17 de fevereiro São Paulo, SP www.campusparty.com.br Impacta 19
Kenos 09
PyCon 13 a 20 de março Chicago, EUA us.pycon.org Linux Magazine 27 e 65
Linux Pro 83
II Encontro Software Livre Linux Solutions 17
2 a 4 de maio João Pessoa, PB ensol.org.br
da Paraíba Linux World 81
LPI 47
Plugin 07
Pocket Pro 15
Watch Guard 37

User Friendly – Os quadrinhos mensais da Linux Magazine

80 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


�������������������������������
����������������
������ �������������������� �����������������������

�������������� �������������������� ����������������������

�������� ����������������������� �����������������������

���������� ������������������� �����������������������

������� ������������������������ ������������������������

�������� ������������������������������ ���������������������

�����������������������������������������������������������������
© Linux New Media do Brasil Editora Ltda. ���������������������������
Na Linux Magazine #39
PREVIEW

DESTAQUE

ERP e CRM em Linux


Se a palavra de ordem nas corporações atualmente é formação, processos de produção, fluxos de dados
o controle, os aplicativos do momento são o ERP e o e informações financeiras, entre outros, em um
CRM. Para aumentar a eficiência de sua empresa, é único sistema, de forma a possibilitar a consulta
fundamental reduzir os custos e aumentar a receita. unificada desses dados pelos responsáveis, assim
Na busca desse objetivo, somente o controle das fi- como a geração de relatórios e o acompanhamen-
nanças e, em última instância, dos processos internos, to dos processos.
pode ajudar. Na Linux Magazine 39, apresentaremos o sistema
Os softwares de Enterprise Resource Planning de gestão empresarial Openbravo. Totalmente baseado
(Planejamento de Recursos da Empresa) e Custo- na Web e de Código Aberto, o Openbravo é destinado
mer Relationship Management (Gerenciamento às pequenas e médias empresas, e adota o modelo de
de Relacionamento com o Cliente) oferecem a software como serviço. Acessado por meio de qualquer
possibilidade de integrar as diversas fontes de in- navegador web, o Openbravo inclui as funcionalidades
de ERP, partes de um CRM e ainda recursos de Busi-
ness Intelligence. Sua arquitetura unificada elimina a
falta de integração de diferentes módulos, oferecendo
maior desempenho e flexibilidade.
Com arquitetura semelhante, o ADempiere tam-
bém será apresentado na Linux Magazine 39. Criado
como um fork do Compiere, o ADempiere introdu-
ziu o suporte ao banco de dados de Código Aberto
PostgreSQL, além de aperfeiçoar alguns recursos
de seu antecessor.
A arquitetura do ADempiere tem características em
comum com a do Openbravo, como a ausência de
modularidade, oferecendo grande flexibilidade e ve-
locidade de execução. ■

TUTORIAL

Curso LPI
A oitava aula do curso preparatório para a certificação Por último, será abordada a configuração de redes
LPIC-2 ensina a configuração de redes no Linux. Além pessoais privadas (VPNs, na sigla em inglês) através do
da simples configuração das onipresentes redes Ether- aplicativo OpenVPN. ■
net, serão apresentados temas como a configuração do
protocolo ARP, a configuração de conexões discadas,
ISDN e redes sem fio, assim como a manipulação da
tabela de rotas do kernel.
Para isso, serão explorados os comandos ifconfig,
route, netstat, tcpdump, netcat e lsof, com aprofunda-
mento em sua sintaxe e suas múltiplas utilidades na
administração de sistemas e redes.

82 http://www.linuxmagazine.com.br

© Linux New Media do Brasil Editora Ltda.


����������������������
���������

�������������
��������
�����������������
��������������������

�������������������������������������������������������������������������������������������
�������������������������������������������������������������������������������
������������������������������������������������������������������������������������������
���������������������������������������������������������������

������������������������������

����������������������������������������������������������

© Linux New Media do Brasil Editora Ltda.


01/2008
UNIDOS PELO MIDDLEWARE p.24 SOA A SÉRIO p.22 CEZAR TAURION p.28
Entrevista com o Entrevista com o criador do Previsões para o
presidente do OW2 framework CoreBuilder SL/CA em 2008

#38 01/08

Linux Magazine

Janeiro 2008
R$ 13,90
€ 7,50

00038

9 771806 942009
# 38
# 38
A REVISTA DO PROFISSIONAL DE TI

Acesso

ACESSO REMOTO
ADMINISTRAR SERVIDORES

NX
Remoto
REMOTAMENTE E APROVEITAR SUAS
FÉRIAS NÃO É UM SONHO DISTANTE.

VNC
RDESKTOP
p.29

PHP-GTK
» O ultra-veloz NX p.34

VIRTUALIZAÇÃO
» Windows remoto através do Rdesktop p.39
» Várias opções de clientes e servidores VNC p.30

ENGENHARIA SOCIAL
SEGURANÇA URGENTE! p.64
Proteja sua empresa dos riscos da engenharia
social. Nunca é tarde demais.

VIRTUALIZAÇÃO: O KVM JÁ VEM NO KERNEL p.68


LPIC-2

O kernel Linux já oferece uma solução nativa de virtualização,


ideal para quem procura desempenho e facilidade de uso.
PROXY IMAP

VEJA TAMBÉM NESTA EDIÇÃO:


» Crie belas interfaces gráficas com PHP-GTK p.76
» Sétima aula preparatória para o LPIC-2 p.43
» Um proxy IMAP faz milagres p.56
» HPC: o Lustre faz seus arquivos voarem! p.49
» Redes neurais fazem programas inteligentes p.71

© Linux New Media do Brasil Editora Ltda. WWW.LINUXMAGAZINE.COM.BR

Você também pode gostar