������������
Número 19 Linux Turbo hdparm Sistemas de Arquivos WordPress Blender Cron & AT Jython
www.smartbrasil.com.br central de atendimento: 11 5072-5958
CentOS
- Firewall; - Proxy; - Servidor Web; - Servidor DNS; - Servidor de E-mails com Anti-Spam; - VPN; - Balanceamento de link; - Interface de fácil administração e muito mais.
Super Linux
Monitore e controle o envio e recebimento de e-mails, MSN Messenger e todo o conteúdo trafegado em sua rede. Hospede suas páginas dentro de sua própria empresa com facilidade e segurança. Outros recursos disponívies no Smart Manager:
Underground
Tenha total controle do que acontece entre sua rede interna e a Internet. Com o Smart Manager, você gerencia o uso da web na sua empresa de forma fácil, rápida e segura.
Os pingüins da Band p.10 Emissora migra para Software Livre a revista do profissional de ti
Número 19
Linux Magazine
PARA O CONTROLE DO ACESSO À INTERNET
corporativo p.14 Abordando projetos de migração
Maio 2006
A SOLUÇÃO DEFINITIVA
��� Seminário
Linux Turbo » Otimização de discos rígidos » Acelere aplicativos multimídia » O sistema de arquivos ideal
p.31
Campeões de velocidade Underground Desktop e Super Linux
p.44
Animação 3D
Dê vida a personagens com o Blender
p.54
Veja também:
» Blogs com o WordPress » CentOS, o fator corporativo » Cron & At: agendamento de tarefas » Crie um MP3 Player com Java e Python
0 0 1 9 R$10,90 exemplar de 0assinante € 5,50
venda proibida 9 771806 942009
http://supertuxbr.blogspot.com
W W W. L I N UX M AG A Z I N E . CO M . B R
Ed. 19 05/2006
CD DO ASSI NANTE: MURIQUI 1.4
http://supertuxbr.blogspot.com
Expediente editorial
Editores Rafael Peregrino da Silva, rperegrino@linuxmagazine.com.br Emerson Satomi, esatomi@linuxmagazine.com.br
Direção de Arte e Projeto Gráfico Luciano Hagge Dias, lhagge@linuxmagazine.com.br Judith Erb, jerb@linuxnewmedia.de
Centros de Competência Centro de Competência em Software: Oliver Frommel, ofrommel@linux-magazine.com Centro de Competência em Hardware: Mirko Dölle, mdoelle@linux-magazine.com Centro de Competência em Redes e Segurança: Achim Leitner, aleitner@linux-magazine.com
Correspondentes & Colaboradores Augusto de Campos, Carsten Schnober, Daniel S. Haischt, Dmitri Popov, Heike Jurzik, Joe Casad, José Maria Ruiz, José Pedro Orantes, Johnny Hughes, Kristian Kissling, Marcel Hilzinger, Martin Loschwitz, Oliver Frommel, Peter Kreussel, Rafael Peregrino da Silva, Rolf Strathewerd, Ulisses Leitão e Zack Brown.
Tradução e Revisão Livea Marchiori, lmarchiori@linuxnewmedia.com.br Design da Capa Pinball, info@pinball-werbeagentur.de
Anúncios: www.linuxmagazine.com.br/Advertise Brasil Claudio Bazzoli, anuncios@linuxmagazine.com.br Tel.: +55 (0)11 2161 5400 Fax: +55 (0)11 2161 5410 Todos os países (exceto Alemanha, Áustria e Suíça) Brian Osborn, ads@linux-magazine.com Tel.: +49 (0)6509 910 495 Fax: +49 (0)6509 910 497 Alemanha, Áustria e Suíça Osmund Schmidt, anzeigen@linux-magazine.com Tel.: +49 (0)6335 9110 Fax: +49 (0)6335 7779
Diretoria Rafael Peregrino da Silva, rperegrino@linuxmagazine.com.br Claudio Bazzoli, cbazzoli@linuxmagazine.com.br Linux Magazine Rua Arizona, 1349 Conj. 5B – Cidade Monções 04567-003 – São Paulo – SP – Brasil Tel.: +55 (0)11 2161 5400 Fax: +55 (0)11 2161 5410
Assinaturas: www.linuxnewmedia.com.br assinaturas@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br – Brasil www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial www.linuxmagazine.com.au – Austrália www.linux-magazine.ca – Canadá www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia www.linux-magazine.co.uk – Reino Unido www.linux-magazin.ro – Romênia
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 que advenham de seu uso. A utilização de qualquer material da revista bem como do CD-ROM incluso ocorre por conta e risco do leitor. O CD-ROM foi testado extensivamente e, até onde pudemos verificar, se encontra livre de qualquer vírus ou outro tipo de software de conteúdo malicioso, bem como de defeitos.
Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permissão expressa da editora. Assumese que qualquer correspondência recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, são fornecidos para publicação ou licenciamento a terceiros de forma mundial não exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux é uma marca registrada de Linus Torvalds.
Linux Magazine é publicada mensalmente por: Linux New Media do Brasil Editora Ltda., São Paulo/SP, Brasil. Direitos Autorais e Marcas Registradas © 2004 - 2005: Linux New Media do Brasil Editora Ltda. Distribuído por Distmag
Impressão e Acabamento: Parma ISSN 1806-9428
Impresso no Brasil
INSTITUTO VERIFICADOR DE CIRCULAÇÃO
em processo de filiação
Bem-vindo
Editorial
A seguir, na sua empresa... Prezado leitor, prezada leitora da Linux Magazine, nunca o momento foi tão propício para a adoção de soluções de código aberto em empresas. Na edição anterior, citamos, de passagem, a pesquisa realizada em fevereiro de 2006 pela empresa norte-americana Enterprise Management Associates (EMA), que analisou os fatores de custo anteriormente mencionados em outras pesquisas, como custos de gerenciamento, suporte etc. Realizada com mais de 200 empresas da área de TI, por telefone, via Internet ou através de entrevistas detalhadas com CIOs, essa análise, convenientemente abordada por Cezar Taurion, Gerente de Novas Tecnologias Aplicadas da IBM do Brasil, por ocasião do I Seminário LinuxPark'06 (leia mais a respeito à página 14 desta edição), chegou aos seguintes resultados em uma comparação direta entre o Windows® e o Linux: P Gerenciamento de correções do sistema (patches): menos de 5 minutos por servidor Linux por semana. P Gerenciamento de configuração: suportar múltiplas versões do Linux não traz impacto perceptível no gerenciamento dos servidores. Em alguns casos, usuários reportaram ter mais versões do Windows que do Linux em sua estrutura de TI. P Estabilidade: a maioria reportou 99,99% ou mais! E 17% reportaram não ter tido nenhuma queda de serviço. P Resolução de problemas: em mais de 60% dos casos os problemas foram diagnosticados e resolvidos em menos de 30 minutos, 8 vezes melhor que a média da indústria. P Gerenciamento e suporte: 88% das empresas com Linux e Windows gastam menos gerenciando Linux. P Custos de aquisição: para ambientes similares, Linux implica em custos menores. P Produtividade: administradores de sistemas Linux tendem a gerenciar mais servidores que administradores de sistemas Windows. Além disso, o Linux é capaz de gerenciar uma carga maior de trabalho (workload) que o Windows. P Gerenciamento de segurança: 75% apontaram gastar menos de 10 minutos por servidor, por semana, gerenciando segurança. P Vírus e spyware: 95% gastam menos de 10 minutos por servidor, por semana, e consideram o Linux muito menos vulnerável a tais ataques. Durante a Brainshare 2006, evento da Novell ocorrido em meados de março deste ano em Salt Lake City, nos Estados Unidos, Jack Messman, CEO e Chairman da empresa, relatou que, em estudo recente realizado pela Chadwick Martin Bailey com 500 executivos seniores de TI, o custo está apenas em quarto lugar como critério para o uso de Linux: mais importantes para o mercado corporativo são a estabilidade, a segurança e o desempenho do sistema, nessa ordem. Com tudo isso acontecendo, a Linux New Media do Brasil, no intuito de facilitar o acesso às tecnologias baseadas em SL/CA, vai lançar em maio deste ano um anuário de informática reunindo produtos e projetos livres ou que rodem sobre plataformas abertas, com sugestão de soluções para diversas aplicações e um catálogo de seus fornecedores no Brasil. Cadastre já a sua empresa, produto ou solução: www.guiadeti.com.br.
Rafael Peregrino da Silva Editor
3
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Índice
Linux Magazine
Cartas
06
Notícias
10
Entrevista
Gisele Moreira Caetano, Gerente de TI da Band.
10
1º Seminário LinuxPark'06
14
Mundo livre em revista Dicas de [In]segurança Notícias do Kernel
22 24 26
Como implementar Software Livre.
Capa
29
Linux turbo
As opções padrão de muitas distribuições, usam um mínimo denominador comum para configurar o hardware. Como conseqüência, é grande a chance de seu sistema não estar tão rápido como poderia. Saiba como utilizar o hdparm para aumentar a velocidade da leitura e gravação de dados. O segundo assunto é a configuração de prioridade em tempo real. Essa é uma técnica bastante útil em computadores pessoais, para aplicativos multimídia. Por fi m, conheça as vantagens e desvantagens dos sistemas de arquivos disponíveis e como eles se comportam em relação à velocidade e outros fatores.
29
Linux turbo
29
Obtenha o máximo de desempenho.
Turbina de dados
30
Tempo real
34
Estrutura certa
37
Otimização de discos com hdparm.
Agilidade em aplicativos multimídia. Comparativo de sistemas de arquivos.
Análises
42
Nascidos para voar
Sistemas otimizados: Underground e Super.
Empresa livre
42
46
CentOS, o fator corporativo.
42
Nascidos para voar
Sistemas mais experimentais podem assumir riscos na busca por melhor desempenho. Conheça duas das distribuições do tipo que mais prometem: Underground Desktop e Super Linux. A primeira é uma versão desktop do já otimizado Arch Linux. A segunda é uma versão enxuta e rápida do Suse.
48
Querido diário...
Foi-se a era de páginas HTML estáticas. Gerenciadores de conteúdo (ou Content Management Systems) como o Wordpress permitem a administração fácil de sites dinâmicos. Nesse caso, de um blog atraente e com muitos recursos. Saiba como tirar o máximo desse sistema.
4
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
��
Índice
��
Linux Magazine �
�
52
Despertar para a vida
Na segunda parte de nosso tutorial sobre o Blender, ferramenta profi ssional de criação 3D, vamos dar vida ao personagem criado na edição passada. Para isso, usaremos recursos como key frames (que eliminam a necessidade de se projetar todas as etapas de uma seqüência de animação) e armature (estrutura similar a um esqueleto para movimentar o objeto).
62
50
54
Na hora certa
Agendar tarefas é um das procedimentos fundamentais da administração de sistemas. Qualquer comando ou programa pode ser executado em determinada data ou hora. Mas é possível agendar processos também para funções mais domésticas. Por exemplo, configurar o PC para tocar determinada faixa MP3 às 7h, funcionando como um despertador. Explore em detalhes as opções das duas ferramentas mais comuns para esse fi m: o cron e o at.
66
50
Tutorial
Querido diário…
Criação e administração de blogs com Wordpress.
Despertar para a vida
Animação de personagem com Blender.
61
SysAdmin
61
62
Coluna do Augusto
Monitoramento sem complicação.
Na hora certa
Agendamento de tarefas com cron e at.
66
66
Reprodutor de MP3 com Jython
Nesse capítulo do curso de Python, voltamos ao Jython, ferramenta que permite a utilização das poderosas bibliotecas Java junto com a simplicidade e elegância da programação em Python. Nesse tutorial, aprenda como construir um reprodutor simples de faixas MP3, usando o Jython.
Programação
Reprodutor de MP3 com Jython
Crie um player simples com Java e Python.
72
Comunidade
72
Projetos na incubadora
76
Serviços
76 78 80 82
CD do Assinante Linux.local Eventos / Índice de Anunciantes Na próxima edição
5
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Cartas
Escreva pra gente
Cartas para o Editor
Permissão de escrita ✎ Desabafo
como queiram). Ou placas de vídeo. Por de se instalar os CDs da Linux Magazine Lendo a carta de Rodrigo Camargo e último li a matéria sobre o Digikam e é ler o artigo sobre o CD na revista. Pelo após ter passado algumas mazelas ao gostei demais, principalmente porque menos, é isso que esperamos que nossos fazer um upgrade no meu sistema pes- já usava o programa, mas, tenho uma leitores façam. Pedimos novamente dessoal, resolvi escrever este email para dúvida. Como já ficou claro, tenho duas culpas pela falha. ■ compartilhar minhas experiências. versões do Mandriva 2006: a Discovery e Uso o GNU/Linux desde 1998, quan- a Comunitária. Não encontrei o Digikam do, alguns meses após comprar meu na versão comunitária, portanto, instalei Olá, vocês cometeram um engano ao primeiro computador e já ter algumas da Discovery, sem problemas – funciona publicar que o antivírus Clamav versão “horas de reinstalação” do Windows® no perfeitamente. Mas, como vi na matéria, “0.97” está com uma falha de segurança currículo, resolvi instalar esse “tal de resolvi instalar também os plugins, mas, (na Linux Magazine no. 17). O problema Linux” de que ouvia falar nas revistas uma das dependências das dependências está na versão 0.87. O Clamav está em de informática que comprava na épo- é uma tal de liblavjpeg (ou algo assim) sua versão estável 0.88. Marcelo ca. Para tanto, tomei logo uma medida que eu já procurei nos pacotes pelo nome, radical, que, certamente, muitos não mas não encontrei. Realmente, desculpe nosso erro. ObriMarcelo de Matos Soeiro, tomariam (aliás, sete anos depois, ainda gado pela correção. ■ Angra dos Reis - RJ não tomariam): comprei uma caixa de uma tal de Conectiva , com os dizeres Olá Marcelo. Obrigado pelo “desabafo” e na embalagem: Conectiva Guarani 3.0. desculpe a demora em publicar seu email Olá, a matéria do Fabrizio Ciacchi, sobre Por isso, ao ler o desabafo do Rodrigo, (que está conosco desde a edição 17, mas as distribuições live, foi boa e mostrou constatei que, realmente, ele não an- por problemas de espaço não pôde ser pu- o panorama atual das distribuições que dou dando muita sorte com seus siste- blicado). A biblioteca liblavjpeg faz parte do rodam diretamente no CD. Mas não pude mas, mas, de maneira nenhuma, acho pacote mjpegtools, disponível para o Man- deixar de notar que uma distribuição que seus protestos são totalmente sem driva 2006 nos repositórios oficiais. ■ baseada no Knoppix e Kurumin, e que fundamento. Meu sistema atual é um é extremamente organizada e estável, Mandriva 2006, antes era um Mandrake não foi citada. Trata-se do KalangoLinux, 10.1. Sempre gostei do Mandrake, tanto Venho aqui deixar minha indignação uma distribuição baseada no Kurumin, que o meu Guarani foi substituído por com essa prezada revista. Na edição no com um apelo visual sensacional. E paum. Segue aqui o relato de minha mi- 18, o CD ASTERISK é um "vírus" traves- rabéns pela revista, a cada edição ela gração... Instalar um modem no Linux tido de Linux. Que instalador é esse que se supera! Marcelo Rezende ainda é um martírio. E tenho certeza que, destrói o HD inteiro?! Sim, está escrito mesmo acreditando que não se trata de na revista o que ele faz. Mas no meio Olá Marcelo, obrigado pela força. má vontade das nossas queridas softwa- do texto. Quanto ao Kalango, ele não havia sido Alexandre Lima rehouses, há, pelo menos, um descaso, analisado no artigo original que traduziAlexandre, realmente cometemos um mos. Com freqüência, complementamos uma vez que, em distros teoricamente mais simples, não tenho tido problemas. erro ao não destacar em “letras garrafais” os artigos aqui, mas nesse caso não foi Não acho que, atualmente, o GNU/Linux a informação de que o Asterisk@home necessário, já que se tratava de uma anátenha deficiência de drivers, mas isso apagaria as partições. Só podemos la- lise de distribuições live “clássicas”. Mas acontece apenas em alguns pontos, como mentar o que aconteceu com você. Além conhecemos o Kalango e nada impede é o caso dos modems (ou winmodems, de becapes, a mínima precaução antes que ele saia em artigos futuros. ■
✎ Errata 2
✎ Kalango
✎ Errata 1
6
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Cartas
✎ Mudanças 1
✎ Mudanças 2
Quero deixar registrada minha insatisfação devido ao fato de a edição de numero 17 estar sendo vendida sem o CD do mês. Não posso comprar meu exemplar nas bancas de minha preferência mensalmente e obter os mesmos benefícios? Grato, José Roberto Musseli. José Roberto, lamentamos sua insatisfação, mas os assinantes não estão comprando o mesmo produto. O preço por edição é superior (devido ao CD incluso). Seria inviável oferecer a revista com CD na banca pelo preço reduzido da revista sem CD. Além disso, não estamos limitando o acesso ao conteúdo do CDROM. Ele pode ser baixado gratuitamente em linuxmagazine.com.br. Alguns leitores também se queixaram dessa mudança. Estamos analisando soluções. ■
8
Escreva pra gente
as mudanças (retirada do CD, redução Gostaria primeiramente de parabenizar do preço em banca...). Fica aqui nosso pelo conteúdo que a revista Linux Ma- agradecimento. ■ gazine vem trazendo em seus exemplares. Particularmente esse exemplar de número 17 foi o primeiro que comprei, Olá, tenho em minha casa o Kurumin pois sempre tive vontade de comprar a 5.1. Na edição 17, sobre vírus e serevista mas o fato das edições anteriores gurança no Linux, é citado que alguvirem fechadas... Não queria arriscar mas distribuições deixam o root com comprar uma revista no qual não satis- alguns acessos desnecessários (que fi zesse os meus interesses em relação poderiam ser feitos pelo usuário norao Linux. Mesmo não tendo acesso aos mal) a fi m de tornar o sistema mais exemplares anteriores, acredito que as “amigável” mas que acabam deixando modificações realizadas na revista fo- o sistema “amigável para vírus e ataram de grande valia, principalmente ques”. Minha dúvida é: o Kurumin pelo fato de a revista vir hoje aberta seria uma dessas distribuições que, para que as pessoas possam dar uma por sua “amigabilidade”, deixa o micro olhada no seu conteúdo. com riscos de segurança? Marcelo Caçapava Lopes Daniel Adornes Obrigado, Marcelo. Muitos outros Não se preocupe, Daniel. Isso não aconleitores também escreveram aprovando tece com o Kurumin. ■
✎ Kurumin
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Transforme o poder do MultiCore em aplicativos de alto-desempenho. Tenha seus aplicativos preparados para o processamento paralelo e escalável. Faça certo na primeira vez: Intel® Thread Checker Localiza os problemas de threadings latentes com visualização em tempo real. Compiladores Intel C++ e Fortran Aumenta o desempenho sem mudar o ambiente de desenvolvimento. Analisadores de Desempenho Intel VTune™ Identifica de forma bastante rápida gargalos de desempenho nos aplicativos. Intel Integrated Performance Primitives Acesse bibliotecas de rotinas multimídia otimizadas para múltiplas plataformas. Intel Math Kernel Library Aumenta o desempenho de aplicativos através do uso de rotinas otimizadas como BLAS, FFT, LAPACK, incluindo suporte a MPI.
“As ferramentas de threading da Intel tem acelerado nosso ciclo de desenvolvimento imensamente”. Dana Batalli Diretora de Desenvolvimento do RenderMan Pixar
Itautec 0800 121444 www.itautec.com.br/intel Katalogo 0800 7729897 www.katalogo.com.br/intel MStech (11) 5080-3838 www.mstech.com.br/intel Strattus (11) 3531-6550 www.strattus.com.br/intel Tech Digital (11) 5181-1852 www.techdigital.com.br/intel
http://supertuxbr.blogspot.com © 2006 Intel Corporation, Intel, the Intel logo, Pentium, Itanium, Intel Xeon and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands maybe claimed as the property of others.
Notícias
Linux na Rede Bandeirantes de Rádio e TV
Entrevista com Gisele Caetano e Paulo Santos, da Band
Os pingüins
da Band Fatos contra fatos: o plano de migração de servidores de
acesso à Internet da plataforma Microsoft para Linux ajudou a Rede Bandeirantes de Rádio e TV a “tirar o pé do freio” na sua rede. As vantagens de custo e desempenho foram tantas, que sobrou dinheiro para atualizar o parque de hardware. Saiba porque nesta entrevista exclusiva para a Linux Magazine. Figura 1: Gisele Moreira Caetano, Gerente de TI do Grupo Bandeirantes de Comunicação
Por Rafael Peregrino da Silva
P
roblemas sem fim: usuários em pâ- Linux Magazine» Por que Linux e como Gisele Caetano» De lá pra cá a Band pronico, estressados, irritados, trava- foi o processo de migração? curou investir bastante em tecnologia. mentos, indisponibilidade de acesso Paulo Santos» O processo teve seu início em Entre 2002 e 2003 nosso parque tecnoà rede, limitações no número de usuários, 2002, época em que a nossa estrutura era lógico, no que tange à TI, era bastante desempenho reduzido, falta de segurança baseada no Microsoft Internet Security and precário, mas, desde então, reestrutu– esse era o inferno diário que assolava o Acceleration (ISA) Server 2000. Essa solu- ramos toda a área, trocamos nossos departamento de informática da Band, à ção não estava atendendo a necessidade servidores e temos avançado bastante. época usando tecnologia Microsoft para aqui da emissora, cuja infraestrutura É importante entender que a área de acesso à Internet e autenticação de usu- dispõe de diversos níveis de acesso. À TI da Band está alocada sob a diretoários na sua rede. O Linux exorcizou os frente desse ISA Server havia um sistema ria de controladoria e, assim, para a demônios desse inferno e trouxe a solução de segurança terceirizado, que era um emissora os investimentos em inforpara os problemas, além de uma economia Checkpoint, administrado pela telefônica mática têm como principal parâmetro tão significativa de recursos, que tornou em parceria conosco, e que também esta- o custo da solução. A opção pelo uso possível investir na aquisição de servidores va gerando problemas para nós. Nós co- da plataforma Linux para o controle novos, modernizar o parque de hardware meçamos a realizar alguns estudos com do acesso à Internet, na forma que nos instalado e aumentar a banda do link com o Linux quando eu comecei a perceber foi fornecida pela Snap IT, nos atende a Internet. Gisele Moreira Caetano, há três uma perda de desempenho no cache do perfeitamente, com ganho de desemanos na Band, é a Gerente de Informática ISA Server. Nós tivemos aqui literalmente penho e a um custo muito inferior ao da empresa, e, em conjunto com Paulo uma explosão no número de usuários. oferecido pela solução da Microsoft. Santos, Coordenador da Área de Adminis- Em 2002 nós tínhamos em torno de 500 A economia anual somente para essa tração de Redes e Suporte a Servidores, são usuários e atualmente esse número sal- aplicação gira em torno dos 200 mil as cabeças por trás da mudança cultural tou para algo por volta de 1300 usuários, reais, valor que pode ser reutilizado na área de TI da emissora. trabalhando em vários turnos. em outros projetos da empresa.
10
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Linux na Rede Bandeirantes de Rádio e TV
LM» Especificamente, quais os serviços que estão disponíveis na plataforma Linux? PS» Todo nosso frontend Internet, ou seja, toda a nossa camada de acesso à Internet roda sobre Linux. Isso compreende nosso firewall, nosso sistema de detecção de intrusão (IDS) e o sistema de monitoramento destes, além do nosso servidor proxy. No que se refere ao investimento em licenças, esses sistemas saíram a custo zero – nós só tivemos que adquirir o hardware. Removemos os três ISA Servers, tendo uma redução dos custos com licenças e, com a adoção do Linux, experimentamos um ganho considerável em performance. Com os recursos economizados, foi possível investir no aumento da banda do nosso link com a Internet, e hoje eu posso dizer que o acesso à Internet da Band é em torno de 95%, reaproveitando o conteúdo do cache. Nós temos atualmente um link de 8 Mbits e a nova solução acabou com nosso gargalo de acesso. Só para você ter uma idéia, nós fomos elogiados pelos âncoras do jornalismo um dia depois da migração. GC» Os jornalistas ficaram muito felizes com as mudanças, uma vez que eles dependem muito da Internet. Sem contar a área de segurança, cujo gerenciamento melhorou muito. LM» Havia dificuldades de gerenciamento na área de segurança com a solução proprietária? PS» Sim, faltavam ferramentas. Um dos principais problemas é que várias vezes, quando havia necessidade de administrar o firewall, o acesso à Internet era totalmente interrompido. Atualmente com o Linux nós estamos usando o IPtables como firewall, no servidor proxy estamos usando a versão 3.0 do Squid, o Snort como IDS e o pessoal da Snap IT fez uma customização do Fedora Core, adaptando-o às nossas necessidades. Essa
solução simples nos atende muito bem, a um custo muito reduzido, e nós não temos tido problemas de segurança desde a sua implantação. Como somos uma emissora de rádio e televisão, nossa infraestrutura é muito visada por invasores – nosso IDS registra uma média de quinhentos ataques por dia. E nossos sistemas Linux agüentam bem o “tranco”. GC» Outros problemas que tínhamos com a solução anterior era o gerenciamento e a auditoria do uso dos recursos de Internet. De um lado, havia limitações sérias quanto à liberação do acesso a todos os usuários, de outro, não havia como monitorar o acesso à Internet, não era possível saber que usuário estava acessando qual página. Com o ISA Server só
“Nosso IDS registra uma média de quinhentos ataques por dia. E nossos sistemas Linux agüentam bem o ‘tranco’.” era possível identificar os 10 usuários que mais consumiam a banda do nosso link. Num universo de mais de 1.000 usuários, conseguir monitorar somente os 10 maiores consumidores de banda não é lá muito útil. Hoje a situação é totalmente diferente: se porventura temos um gargalo de desempenho na rede, é muito fácil de identificar o que está acontecendo – o sistema emite um relatório detalhado do uso da banda da Intenet. Esses relatórios trazem também alguns dados importantes que ajudam a definir o perfil do usuário aqui da Band, mostrando quais as páginas web mais acessadas em um determinado período de tempo, quem acessou qual página, quanto tempo o usuário passou analisando determinado conteúdo etc. Para completar, também temos agora a
Notícias
distribuição de banda diferenciada por grupos, limitação de acesso a determinados conteúdos baseada em regras (para evitar acesso a sites de conteúdo ofensivo ou que sabidamente representem risco de segurança aos desktops Windows dos funcionários etc.). Resumindo, hoje nós temos o acesso à Internet totalmente sob controle aqui na emissora, além de nossos usuários estarem muito satisfeitos. PS» O mais interessante é que o pessoal do suporte técnico ao usuário teve uma queda de chamados de 70% após a migração. Coisas como vírus, links indevidos, e outros malwares que os usuários recebiam, agora são bloqueados diretamente nos servidores – atrás do meu firewall há um sistema anti-vírus da Symantec. E estamos estudando esse ano junto com o nosso diretor e a Snap IT a possibilidade de colocar um outro sistema anti-vírus que rode diretamente no servidor proxy. LM» Quanto tempo levou o processo de implementação da nova solução? GC» De maio a julho de 2005 nós realizamos o processo de aquisição de novos servidores – possível graças à redução de custos auferida com a nova solução. Fizemos então um planejamento do projeto junto com a Snap IT, que se seguiu de um projeto piloto, onde testes foram intensivamente realizados. A migração mesmo durou por volta de três semanas. ➟
11
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Notícias
LM» Como é que vocês avaliam todo esse processo? Vocês já esperavam que as coisas fossem melhorar ou o aumento do nível de gerência e de desempenho foi uma surpresa? PS» Não foi uma surpresa. Havia uma segurança muito grande de que as melhorias aconteceriam, pois realizamos estudos e testes que as comprovaram antes de migrar. Fizemos tudo calculado, uma vez que estávamos investindo também na aquisição de hardware novo, e a própria solução deveria gerar a economia para assimilar esse custo. A única coisa que sabíamos que ia acontecer era um aumento no chamado ao suporte técnico nas primeiras duas semanas posteriores à migração, por conta da fase de “sintonia fina” do acesso à Internet. Como havia uma série de regras de acesso, aconteceu eventualmente de um determinado usuário não conseguir acessar o conteúdo de determinada página web válida, mas que o sistema classificava como proibida. Após a migração houve uma fase de ajustes que levou mais ou menos um mês, mas que já era esperada. Nosso fornecedor da solução também nos atendeu muito bem nessa fase. Houve, por exemplo, um problema de acesso à página do Bradesco, uma vez que o banco dá o acesso através de uma faixa de endereços IP e registra o endereço de origem do usuário. E, como nós trabalhamos com links redundantes e de provedores diferentes – Embratel e Brasil Telecom –, em um esquema de balanceamento de banda, às vezes o usuário saía acessando o Bradesco através do link da Embratel, mas a sessão acabava por ser aberta através do link da Brasil Telecom, o que levava o banco a cortar o acesso ao site por questões de segurança. Se isso acontece hoje, há um script que automatiza a mudança de provedor instananeamente, de modo que o usuário
12
Linux na Rede Bandeirantes de Rádio e TV
nem percebe que algo aconteceu. Esse é um exemplo do tipo de trabalho que tivemos que desenvolver posteriormente junto com a Snap IT. LM» Qual foi a reação do usuário final depois do processo de migração? PS» Hoje o pessoal lembra como era ruim antes. Uma vez, conversando com o editor chefe de jornalismo, ele nos relatou que antes, quando se tentava acessar o conteúdo de uma determinada página, muitas vezes não se conseguia o acesso ou o conteúdo que vinha era o do dia anterior. E atualmente isso não acontece mais, o que causou uma resposta muito positiva por parte do usuário final. O mais interessante é que, logo depois do
“Havia uma segurança muito grande de que as melhorias aconteceriam, pois realizamos estudos e testes que as comprovaram antes de migrar.” processo de migração ter sido encerrado e estabilizado, o usuário fazia questão de perguntar o que havíamos feito e esse era o momento de enaltecer o uso de um sistema livre, cuja implementação ocorreu a um custo muito mais baixo do que a da solução deficiente que estávamos usando até então. LM» Os investimentos feitos na área de serviços com o seu provedor de tecnologia foram muito elevados? GC» Não foram muito elevados. Foi até engraçado: quando levei a proposta com os custos de migração até a diretoria, nosso diretor perguntou: “O valor a ser investido será somente este? Ou seja, não teremos que pagar por nenhuma licença? E para o ano que vem não teremos
que renovar? Você tem certeza?” isso foi muito positivo. [risos] LM» Vocês planejam migrar mais sistemas para Linux e Software Livre e de Código Aberto (SL/CA)? GC» No momento, por conta de um grande número de sistemas legados que estão funcionando aqui na emissora, ainda não. Já cogitamos fazêlo, mas no momento ainda estamos “aprisionados” em diversas áreas ao mundo Microsoft, infelizmente, e o custo de migração daquelas soluções iria ficar muito alto. Mas uma vez que agora nós tivemos uma excelente experiência e, além disso, criamos uma cultura de uso dessas tecnologias aqui dentro de casa, toda vez que tivermos que pôr a mão em um desses sistemas legados, inevitavelmente vamos tentar usar SL/CA no momento de atualizar. Mesmo porque o propósito de qualquer profissional de TI que se preze é usar a tecnologia certa para cada tarefa específica, considerando aspectos como custo, desempenho, estabilidade, confiabilidade, necessidade de treinamento etc. Sob esse aspecto, no caso da infraestrutura de rede e de acesso à Internet, a escolha pelo Linux foi a mais acertada. Mas não quer dizer que vamos trocar tudo indiscriminadamente. O importante é a disponibilidade da alternativa. Acredito que há espaço para tudo. PS» Agora uma coisa é garantida: onde o Linux já entrou aqui na Band não há mais espaço para produtos da Microsoft. As soluções Linux são mais flexíveis e rápidas – o que na emissora é um fator decisivo, pois aqui tempo é realmente dinheiro (basta checar quão rápido ocorre uma variação de IBOPE). Na infraestrutura anterior nós tínhamos que investir em mais hardware e em licenças. Hoje os sistemas Linux rodam
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Linux na Rede Bandeirantes de Rádio e TV
mais “leve”, de modo que há a possibilidade de tirar mais do investimento em hardware. Só para você ter uma idéia, com a solução Microsoft as máquinas rodavam com uma taxa média de consumo da capacidade do processador de 60% a 70%. Com a solução atual essa taxa caiu para 2%. Na hora que o pessoal da Snap IT me mostrou isso, eu não queria acreditar. Achei que havia um erro de medição. Mas o valor era esse mesmo! LM» O que vocês ainda acham que falta para o Linux ser mais amplamente utilizado no ambiente corporativo? GC» Na minha opinião, uma grande lacuna da plataforma ainda está nos ambientes e ferramentas de desenvolvimento. Não que elas não existam, mas falta uma integração entre elas como ocorre no mundo Microsoft, onde a criação de aplicações é muito simples e apresenta um aspecto muito semelhante, independentemente da área para qual o desenvolvimento ocorra. No Linux o desenvolvimento ocorre entre mundos que não necessariamente estão integrados, por exemplo, no caso de aplicações web, pode ser feito em PHP “misturado” com Javascript e, muitas vezes, utilizando ferramentas com Shell Script, Perl, CGI etc. Isso é, de certa forma, um desafio de gestão de desenvolvimento, de modo que seria importante ter um ambiente integrado de desenvolvimento com o qual todas essas tecnologias pudessem ser utilizadas de forma mais transparente. Além disso, a hora do profissional Linux ainda é mais cara que a do programador Windows, obviamente pela carência de mão-de-obra especializada em Linux no país. Isso deve melhorar com uma adoção maior do sistema no mercado. PS» Eu concordo com a Gisele. Só está faltando uma melhor integração das plataformas de desenvolvimento no Linux.
LM» Vocês estão planejando usar Linux para mais alguma coisa aqui na Band? GC» Atualmente, o Grupo Bandeirantes de Comunicação possui 10 emissoras próprias e 33 afiliadas. Para 2006 está no nosso planejamento de visitar todas as nossas emissoras próprias e revisar a infraestrutura de cada uma delas. Cada uma delas possui o seu próprio administrador de redes, e nós vamos especificar a infraestrutura de rede para uma melhor integração com a nossa central aqui em São Paulo. Isso é importante porque assim é possível especificar um nível de segurança para toda a rede corporativa. Desde 2004 nós fomos integrando todas as emissoras na nossa rede e a base de dados fica aqui na matriz, sendo acessada via
“Quando a Mariana Ferrão está apresentando a previsão do tempo, aquele é um sistema da ClimaTempo que roda inteiramente em Linux.” Citrix Metaframe pelos usuários das filiais. O problema é que a estrutura dessas filiais ainda é insatisfatória e nós pretendemos atualizá-la usando Linux, pois eu tenho que ter a segurança de que um ataque realizado sobre a infraestrutura de uma filial não acabará trazendo conseqüências para toda a rede da emissora. Nós temos inclusive alguns casos de filiais em que isso já foi feito. Na cidade de Presidente Prudente, no Estado de São Paulo, tínhamos ainda uma rede Novell que foi migrada inteiramente para Linux – servidor proxy, de arquivos, de aplicações e firewall. Em Campinas foi instalado um servidor proxy e um firewall, da mesma forma que em nossa filial na Bahia e no Rio de Janeiro, onde a rede também roda totalmente em Linux.
Notícias
Figura 2: Paulo Santos, Administração de Redes da Band
PS» Aqui em São Paulo há também algumas coisas que pretendemos fazer. Uma delas são os micros de visualização de IBOPE, que ficam o tempo todo registrando qual é o nível de audiência dos programas da emissora (cerca de 70% deles são ao vivo). O IBOPE nos envia uma atualização desses valores a cada minuto, e hoje temos microcomputadores usando o Windows com o único propósito de permitir a visualização desses valores, que determinam a direção que os programas da Band devem tomar. Essas máquinas definitivamente não precisam de Windows e pretendemos migrá-las também para Linux. Uma outra coisa que pretendemos fazer é criar uma rede sem fio aqui dentro da emissora, e para isso também devemos usar o Linux. Você já teve a oportunidade de assistir ao bloco de previsão de tempo do Jornal da Band? Quando a Mariana Ferrão está apresentando a previsão do tempo, aquele é um sistema da ClimaTempo que roda inteiramente em Linux. Na verdade aquilo que é mostrado na televisão é simplesmente uma captura de tela do Firefox rodando em Linux. LM» Uma última mensagem para os nossos leitores? PS» O Linux pode contribuir muito para a sua empresa, assim como contribuiu para a Band. ■
13
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Notícias
Evento
������������
���
Em sua segunda edição no Brasil, o evento se propôs a abandonar a retórica e mostrar o lado prático de diversas implementações de soluções livres e de código aberto realizadas no mercado corporativo. Além disso, trouxe dois palestrantes com vasta experiência e vivência no mercado de TI para ilustrar a viabilidade desse tipo de solução e a necessidade de uma abordagem profissional. por Rafael Peregrino da Silva
N
Assim, no dia 15 de março, mais de 100 o ano passado, o sucesso do seminário LinuxPark'05, cujo tema foi “O pessoas circulavam interessadas pelo reImpacto da Escolha de Tecnologias cinto do Centro de Convenções Millenium, Abertas nos Negócios Corporativos” criou em São Paulo, visitando os estandes dos uma expectativa positiva nos participantes patrocinadores, conhecendo suas últimas quanto à realização de uma segunda edição. novidades em tecnologias abertas, além, Neste ano, o primeiro de uma série de três claro, de participar do ciclo de palestras e seminários planejados pretendeu trazer apresentações de cases de sucesso de adoção um aspecto mais prático à sua audiência. de sistemas baseados em Software Livre e Além de mostrar as vantagens do uso desse de Código Aberto (SL/CA). tipo de tecnologia, os estudos de caso de implementação apresentados trouxeram números e experiências práticas na baga- Mais uma vez, o mercado corporativo nagem, indicando o “caminho das pedras” cional se fez presente, apoiando a Linux para o decisor na área de TI. Entre os par- New Media do Brasil com o suporte finanticipantes, estavam: Aços Villares, Banco ceiro necessário. Foi mantida a fórmula do do Brasil, Caixa Econômica Federal, C&A evento anterior, que aposta em um esquema Modas, Centrais Elétricas de Santa Catarina, “cliente-cliente” de troca de experiências, no EDS Brasil, FASP, Granero, Internetmídia, qual aqueles que já realizaram uma impleLojas Marabraz, Marisa Lojas Varejistas, mentação bem sucedida baseada em SL/CA Pfizer, Serasa, TECUMSEH do Brasil, Uni- relatam aos interessados na audiência as banco, Unidas Rent-a-Car, Vigor, e muitas decisões e medidas práticas que foram neoutras. Seus representantes passaram o dia cessárias. Novamente, gigantes do mercado entendendo como a combinação de platafor- de TI nacional e internacional, como Itautec mas abertas e Software Livre, associados à e IBM, mas também empresas de serviço e prestação de serviços profissionais, podem desenvolvimento de software nacional como contribuir de maneira decisiva para a redu- iFractal e Simples Consultoria, tornaram o ção de custos com TI e, concomitantemente, LinuxPark possível através do seu patrocínio aumentar sobremaneira o desempenho de e apoio. A Itautec ofereceu adicionalmente sua estrutura de informática. um almoço aos participantes.
Patrocinadores
14
Palestrantes Em sua segunda edição, a distribuição de palestras e apresentações de estudos de caso de implementação diferiu da edição do ano anterior: as palestras (keynotes) abriram e fecharam o evento. Encerrado o café da manhã e o credenciamento dos participantes, Claudio Bazzoli, Diretor Comercial da Linux New Media do Brasil, deu as boas-vindas ao público apresentando a editora, seus produtos de mídia impressa, web e seu calendário de eventos para 2006, introduzindo o primeiro palestrante do dia. Cezar Taurion, Gerente de Novas Tecnologias Aplicadas da IBM do Brasil e autor de diversos livros como Software Livre: Potencialidade e Modelos de Negócio, Internet Móvel: Tecnologias, Aplicações e Modelos, Grid Computing: um Novo Paradigma Computacional e Software Embarcado: a Nova Onda da Informática, abordou em sua palestra as estratégias de ação para levar o Linux e o SL/CA para dentro do ambiente corporativo. Durante uma hora, Taurion discorreu sobre as vantagens da utilização de tecnologias abertas nas empresas, enriquecendo sua apresentação com estatísticas e pesquisas de mercado (de instituições como o IDC, Forrester Research, InfoWorld etc.), ilustrando tendências e mostrando que essas
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Evento
Transportes
tecnologias já estão presentes em quase 90% das instituições. Além disso, falou de- O primeiro case a ser apresentado foi o do uso talhadamente sobre os motivos que estão de Linux e SL/CA como plataforma para apliestimulando a adoção de soluções abertas, cativos de missão crítica no Expresso Araçacomo: qualidade do código, segurança, es- tuba, empresa líder no transporte rodoviário calabilidade, flexibilidade, custo total de pro- e aéreo de cargas nas regiões Centro-Oeste, priedade (TCO), desempenho, estabilidade, Norte e para a América do Sul. O estudo de continuidade, independência de uma única caso foi apresentado pelo Gerente de Tecnofonte, liberdade de escolha, inovação, uso logia de Informação da empresa, Ariovaldo de padrões abertos, melhor gerenciamento Simielli Branco, que foi acompanhado por de ambiente a um custo menor etc. Wilson Godoy, vice-presidente de Tecnologia e A segunda palestra ocorreu no final da Sistemas da TOTVS/Microsiga, fornecedor da tarde e tratou de um tema cada vez mais solução de gerenciamento de transporte (TMS importante: a questão da certificação dos – Transportation Management System) da emprofissionais de consultoria e suporte. Essa presa – um sistema exclusivo de ferramentas apresentação ficou a cargo de José Carlos informatizadas que proporcionam integração Gouveia, ex-presidente da Silicon Graphics de todas as áreas da transportadora. para a América Latina, ex-presidente da O Expresso Araçatuba, que já acumula Novell, da PeopleSoft e da JDEdwards e ex- mais de 50 anos de experiência no mercado diretor da Accenture no Brasil, atualmente de transportes, movimenta mais de 210 mil atuando como Area Regional Manager do toneladas por quase 100 milhões de quilôLinux Professional Institute (LPI) para a Amé- metros rodados, anualmente. O transporte rica Latina. Gouveia forneceu um panorama de mercadorias parte de 756 cidades, locageral das certificações disponíveis para o lizadas nos principais pólos industriais do profissional de Linux, indicando o foco e o Brasil, com destino a outras 1090 cidades. mercado de cada uma delas, suas vantagens, Além disso, a companhia também opera discorrendo extensamente sobre a sua ne- na Argentina, Bolívia, Chile, Paraguai, Peru, cessidade em uma indústria de TI madura. Venezuela e Uruguai. Nesse contexto, o acesUma indicação disso, atualmente, seria o fato de que apenas um pequeno número de profissionais Linux já estão certificados no Brasil: de um total de 35.000 profissionais certificados pelo LPI no mundo todo, apenas 750 são brasileiros. Só para ilustrar, em torno de 50% dos profissionais certificados pelo LPI no mundo se encontram no Japão.
Notícias
so à informação é tão importante quanto a entrega da mercadoria no prazo correto. Com o sistema desenvolvido em parceria com o fornecedor de soluções, todos os dados relativos à movimentação das mercadorias são recebidos, processados e transmitidos praticamente sem atraso, possibilitando o acompanhamento da carga desde a sua entrada nos terminais. Além disso, através do recurso Radar II, incorporado à página web da empresa (www.arex.com.br), o cliente acessa todas as informações sobre suas mercadorias, que também podem ser obtidas por linha telefônica 0800 ou pelo sistema E.D.I (Eletronic Data Interchange). A solução, baseada no sistema ERP/CRM e TMS Protheus 8, roda inteiramente sobre plataforma Linux, tanto em servidores como nas estações dos funcionários da empresa. Do lado dos servidores, a infraestrutura de TI dispõe de um IBM eServer xSeries 455, dotado de 4 processadores Intel® Itanium® 2 de 64 bits, 16 GB de memória RAM, sistema de armazenamento de dados IBM TotalStorage DS4300 (FAStT600), rodando SUSE Linux Enterprise Server 9 para Intel EM64T, banco de dados Oracle 10g com uma base de dados de 110 GB. Adicionalmente, há 11 servidores
Estudos de Caso Quatro cases de sucesso foram apresentados, dois de manhã e dois à tarde, após o almoço. Cada um deles contou com um tempo de trinta minutos, com quinze minutos adicionais para perguntas. A idéia foi abordar casos de migração abrangendo diferentes áreas do mercado – nessa edição do evento, especificamente, tivemos: transportes, indústria, rádio e televisão e serviços.
Figura 1: Cezar Taurion (à esquerda) discorreu sobre as vantagens do uso de Linux e SL/CA no ambiente empresarial; José Carlos Gouveia (à direita) falou sobre a necessidade de certificação.
15
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Notícias
de aplicação Intel® Pentium® 4, com 2 GB de RAM, rodando SUSE Linux Enterprise Server 8 e 9, 2 servidores de aplicação Intel® Pentium® Xeon® com 4 GB de RAM, rodando SUSE Linux Enterprise Server 9. Do lado das estações de trabalho, há 230 estações remotas e 120 estações locais operando o novo sistema, todas rodando Linux (Conectiva ou Slackware, este último customizado de acordo com as necessidades da empresa e disponível em um CD de instalação único). Todo esse aparato tecnológico permite o acesso remoto ao sistema pelos operadores de 35 filiais, proporcionando aos clientes uma nova ferramenta para bancos de dados com alto volume de transações e cargas de trabalho de aplicativos ERP, com uma média de 200.000 conhecimentos de frete por mês. A implementação do novo sistema consumiu recursos da ordem de R$ 2 milhões, e foi iniciada em março de 2004, levando cerca de um ano para ser finalizada. Entre as vantagens do novo sistema, foram citadas: P Maior controle do fluxo de documentos. P Redução de custo fixo (menos funcionários / conhecimento de frete emitido). P Possibilidade de gestão de volumes transacionais maiores. P Sistema centralizado, online e confiável. P Possibilidade de simulações. P Criação de indicadores financeiros e de desempenho mais apurados. P Integração nativa com o ERP. Os ganhos de investimento em TI com a adoção do sistema foram de R$ 500 mil e possibilitaram uma melhor aplicação dos recursos da empresa.
Figura 2: Público altamente selecionado.
16
Evento
Indústria
ainda os sistemas de fax (FAXserve), email O case de indústria apresentado foi o da (MS Mail), backup (ARCserve) e anti-vírus Copagaz, empresa de engarrafamento e (McAfee). Somente o custo com a atualização distribuição de gás liqüefeito de petróleo das versões e do número de usuários do Net(GLP), com 50 anos de mercado e fatura- Ware beirava os R$ 100 mil. Uma migração mento anual de R$ 1,3 bilhão, que começou para Linux, que acabaria inclusive com a suas atividades distribuindo uma tonelada limitação do número de usuários do sistema de GLP por dia nos Estados de São Paulo, e que compreenderia também custos com Mato Grosso e Mato Grosso do Sul. Hoje, a consultoria e treinamento, teria um custo empresa distribui gás em 19 Estados brasi- total de R$ 60 mil, que poderia ser diluído leiros e no Distrito Federal, e está entre as 6 no andamento do projeto. Além disso, a mimaiores distribuidoras do país. A Copagaz gração implicaria em um enorme aumento possui 13 engarrafadoras e distribui cerca de desempenho dos sistemas da companhia, de 40.000 toneladas por mês de GLP para como se verificou na prática. Como o Linux já havia apresentado bons milhões de lares, indústrias e estabelecimentos comerciais. resultados no projeto de um proxy de acesso A apresentação do estudo de caso de su- à Internet, a empresa resolveu arriscar. Após cesso de migração da Copagaz foi realizada uma análise inicial e consulta a prestadores por Reinaldo Gonçalves Melero, Gerente de de serviço especializados em SL/CA, um Informática da companhia, que, após uma plano de migração detalhado foi elaborado breve introdução institucional, foi direto ao e apresentado à diretoria da Copagaz. O assunto, explicando qual é a estrutura de TI processo de migração teve início na sede da empresa e relatando qual a situação em da empresa em São Paulo e se estendeu que ela se encontrava antes da migração. Por posteriormente às suas 16 filiais, depois volta do ano 2000, a área de informática da que a primeira fase na matriz foi concluída empresa vivia uma necessidade de cresci- com sucesso. Os sistemas NetWare foram mento e expansão, mas esbarrava em um substituídos por sistemas Conectiva Linux 8, problema de escalabilidade e no custo do configurados como servidores Samba (com modelo tradicional de aquisição de licenças ACLs, Access Control Lists). O ERP permanede software e serviços. A empresa havia ceu em Clipper, rodando agora em Linux via montado sua estrutura de informática com FlagShip. As soluções de fax e email foram base em diferentes versões do NetWare®, trocadas por soluções de código aberto (Hylasistema operacional para servidores de arqui- fax e qmail, respectivamente) e os sistemas vos, desenvolvido pela Novell. O ambiente de backup e anti-vírus foram mantidos. de produção NetWare tinha versões para as Uma vez que a plataforma Linux estava quais a fabricante não oferecia mais supor- disponível, diversos serviços novos foram te. Havia máquinas rodando NetWare 3.12, disponibilizados, tais como a Intranet (utiNetWare 5 e Microsoft Windows® NT que, lizando o servidor web Apache), um sistema devido à defasagem tecnológica e à diver- anti-spam (usando o Spamassassin), agensidade de versões do sistema operacional, damento de tarefas (com o cron), além de travavam constantemente. O sistema de ges- alta-disponibilidade (utilizando Heartbeat e tão empresarial da Copagaz era baseado em DRBD). Segundo Melero, durante a migrauma combinação de Clipper e Advantage ção, os benefícios foram ficando cada vez Database Server (ADS, recentemente adqui- mais evidentes. O processo de fechamenrido pela Sybase na compra da Extended to de estoque para cada filial, que levava Systems, em outubro de 2005). A estrutura de 40 minutos a uma hora, passou a levar de serviços de TI da empresa compreendia no máximo 3 minutos! Tornou-se possível
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Banco de Dados Oracle 10g O Banco de Dados número 1 do mundo
a Agortambém para pequenas e médias empresas
A partir R$ 327,00 por usuário
Banco de Dados Oracle 10g Fácil de usar. Fácil de gerenciar.
oracle.com/standardedition ou ligue para 0800 901 985 As seguintes condições e restrições são aplicáveis: o Banco de Dados Oracle 10g Standard Edition One está disponível para licenciamento em duas modalidades: Named User Plus a R$ 327,00 por usuário com um licenciamento mínimo de cinco usuários e Processor a R$ 10.974,00 por processador. O licenciamento do Banco de Dados Oracle 10g Standard Edition One é permitido em servidores que tenham capacidade máxima de 2 CPUs por servidor. Aos valores acima serão acrescidos os tributos aplicáveis. Oferta válida até 31/05/2006. Para mais informações, visite www.oracle.com/standardedition.
http://supertuxbr.blogspot.com Copyright © 2006, Oracle. Todos os direitos reservados. Oracle, JD Edwards e PeopleSoft são marcas registradas da Oracle Corporation e/ou de suas afiliadas. Outros nomes podem ser marcas comerciais de seus respectivos proprietários.
Notícias
Figura 3: Participação do público durante a apresentação dos casos de sucesso. acessar remotamente o ERP da empresa, o acesso à Internet foi centralizado, o serviço de email pôde ser finalmente estendido a todos os funcionários da companhia, o sistema anti-vírus passou a ser atualizado automaticamente etc. Segundo o gerente de TI da Copagaz, na agenda de novos projetos com SL/CA da empresa estão a atualização do Conectiva Linux 8 para o Mandriva Linux, a implementação de um sistema LDAP de autenticação centralizado e a adoção de certificados digitais para acesso à Intranet e à Internet. Estão também em estudo o uso de tecnologia thin client onde for conveniente, a migração do ERP da empresa de Clipper para Java, bem como do FlagShip para MySQL ou PostgreSQL.
Rádio e Televisão Após a pausa para o almoço, Gisele Moreira Caetano e Paulo Roberto P. dos Santos, respectivamente Gerente de Informática e Coordenador da Área de Administração de Redes e Suporte a Servidores do Grupo Bandeirantes de Comunicação, iniciaram a apresentação do caso de sucesso de migração para Software Livre do sistema de acesso à Internet da empresa. Nessa área, especificamente, havia pelo menos cinco necessidades básicas dentro da estrutura de TI da Band que não estavam sendo atendidas de modo satisfatório: suprir o acesso à Internet para 1.334 usuários (24 × 7), disponibilizar uma estrutura de segurança flexível para atender
18
Evento
ao setor de jornalismo da empresa, reservar atualmente 95% do conteúdo acessado é banda de Internet para tráfego de conteúdo “cacheado”, há várias funcionalidades de jornalístico de correspondentes internacio- segurança em uma única solução, com o nais e colaboradores, prover acesso à Internet uso de diversos tipos de bloqueio, resposta redundante a falhas e atender à alta carga eficiente a ataques (a base de conhecimento de emails de toda a emissora. do IDS/IPS é atualizada constantemente) e No início de 2002, a estrutura de TI para possibilidade de criação de vários níveis de acesso à Internet era baseada em 3 servido- acesso. Os serviços de Internet passaram a res rodando Microsoft Internet Security and desfrutar de QoS com alta performance no Acceleration (ISA) Server 2000, e um firewall acesso e relatórios de acesso e consumo de rodando Check Point Firewall-1, a uma banda banda detalhados, alta velocidade no tráde 3 Mbps. Segundo Paulo Santos, as dores fego de notícias e integração com diversos de cabeça com essa infraestrutura come- tipos de sistemas operacionais. Tudo isso çaram a se tornar intratáveis a partir dos com os servidores Linux – dois como proxy 900 usuários. Os problemas eram muitos: (rodando Squid 3.0 em paralelo), um como dificuldade para bloqueio de conteúdo in- firewall (rodando Iptables), um como IDS/ devido, para se trabalhar com distribuição IPS (rodando Snort) e um como backup para de banda (QoS) e em prover acesso para as 3 soluções anteriores – operando a uma usuários usando Macintosh, relatórios de carga variando entre 1% e 15%. A migração consumo de banda e de acesso incompletos, resultou em um ambiente de TI mais flexível servidores operando com carga média de e estável, levando a uma queda de 40% dos 70%, sistema de proteção contra ataques chamados do Help Desk, além de possibilitar (IDS/IPS) com poucos níveis de resposta a a criação de novos serviços agregados. ataques, pouca flexibilidade para criação O processo de migração foi tranqüilo, uma de regras de firewall (que era gerenciado vez que um levantamento dos serviços das externamente), além de lentidão nos serviços áreas afetadas foi realizado e um planejade notícias e tráfego de informações e no mento detalhado foi seguido, que consistiu acesso à Internet. O resultado disso tudo na criação de um ambiente de testes com a era um Help Desk sobrecarregado. O custo equipe de TI e, posteriormente, com usuáanual para manter essa solução era da ordem rios previamente escolhidos. Todas as áreas de R$ 360 mil. Uma atualização que pudes- da emissora foram avisadas das mudanças se resolver todos os problemas da empresa, que iriam acontecer antecipadamente. O em se mantendo o mesmo tipo de solução, leitor pode ter mais detalhes a respeito desse elevaria esse custo para aproximadamente caso de sucesso de migração na entrevista à R$ 450 mil por ano. página 10 desta edição, realizada pela Linux A migração para Linux e SL/CA, associa- Magazine com os responsáveis por TI da dos à prestação de serviços de consultoria e Band, citados acima. suporte de qualidade, fornecidos pela Snap IT, vieram pôr um fim a esses problemas. Com melhor relação custo/benefício, redu- O último case de sucesso apresentado nessa ção de custos e economia na contratação de edição do LinuxPark foi o do Habib's. Eduserviços de manutenção, foi possível ainda ardo Perline, Gerente de TI da maior rede de investir na aquisição de 5 servidores novos, comida árabe do mundo, iniciou sua palestra aumentar a banda da Internet de 3 Mbps mostrando um vídeo institucional da emprepara 8 Mbps e modernizar o parque tecno- sa – e os números são impressionantes: são lógico da área. Tudo isso, a um custo de R$ 15 centrais de produção, 260 lojas Habib’s, 200 mil/ano! Com a migração para Linux, 600 milhões de Bib'sfihas, 20 milhões de
Serviços
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
MELHOR NEGÓCIO A LONGO PRAZO O SUPORTE INCLUSO VALORIZA O INVESTIMENTO
REDUÇÃO DO CUSTO TOTAL DE PROPRIEDADE
LINUX
OU WINDOWS SERVER
VEJA OS FATOS. A TV CULTURA MIGROU DO LINUX PARA O WINDOWS SERVER. O CUSTO TOTAL DE PROPRIEDADE CAIU E O AMBIENTE DE REDE FICOU MAIS SEGURO. “O custo total de propriedade existe sim, mas não pode ser resumido em números. Afinal, como medir o custo da falta de segurança em uma rede corporativa? O sistema Linux era totalmente vulnerável, sem o menor controle. Praticamente, partimos do zero. Com 1.500 funcionários, tínhamos o desafio de implementar um servidor de rede e e-mail com segurança e baixo TCO. Por isso escolhemos a plataforma Microsoft.” – Paulo Spaccaquerche, Gerente de TI, TV Cultura.
Para obter o estudo completo do caso e outras conclusões de terceiros, visite microsoft.com/brasil/fatos
http://supertuxbr.blogspot.com
© 2006 Microsoft Corporation. Todos os direitos reservados. Microsoft, o logotipo do Windows, Windows Server e Windows Server System são marcas registradas ou marcas da Microsoft Corporation nos Estados Unidos e/ou outros países. Os nomes das empresas e produtos reais mencionados aqui podem ser marcas comerciais de seus respectivos detentores.
Notícias
Evento
Figura 4: Da esquerda para a direita, de cima para baixo: Ariovaldo Branco, do Expresso Araçatuba, Reinaldo Melero, da Copagaz, Paulo Santos, da Band e Eduardo Perline, do Habib’s. quibes, 10 milhões de beirutes e 10 milhões empresa beirava as 500 páginas. O conteúdo de pratos árabes consumidos anualmente dessas páginas ainda tinha que ser digitado por 120 milhões de clientes e servidos por para gerar a nota fiscal e a guia de cobrança 14 mil funcionários diretos! de cada pedido. Para resolver esses problemas, a InternetSegundo Perline, o envolvimento do Habib's com TI teve início em 1997, quando mídia desenvolveu uma primeira versão do o seu primeiro servidor de acesso à Internet, Pedidonet, que usava bases de dados em forà época um IBM Netfinity 3000 rodando mato TXT (entre outras coisas) e exigia inteWindows NT, entrou em operação. Já na- grações avançadas em Clipper. Esse sistema quele ano, a empresa faria o seu primeiro já possibilitava a realização de pedidos via contato com o Linux, através da fornecedora Internet e um certo nível de integração dos de serviços Internetmídia, responsável pelo sistemas, mas requeria a digitação dos pedidesenvolvimento do Pedidonet, sistema que dos, sua conferência e confirmação, além da funciona entre as lojas do Habib's e as 15 geração de um protocolo para cada operação. centrais de produção, e que é responsável por As vantagens eram a recepção automática coordenar todos os pedidos diários de ma- dos pedidos e a geração das notas fiscais e teriais e produtos, possibilitando à direção das guias de cobrança. Os dados passaram da empresa realizar o acompanhamento em a ser invioláveis com o sistema. tempo real dessas operações. No princípio, Com o crescimento da empresa, essa o sistema de pedidos era realizado por fax, solução começou, entretanto, a apresentar com todos os problemas inerentes a esse problemas de escalabilidade. Havia uma tipo de operação, muito mais demorada e constante demanda para atualização e para burocrática. Perline conta que a central de crescimento da capacidade de armazenamenprodução dispunha de 5 aparelhos de fax to e processamento, barradas pelo aumento para realização dos pedidos, em média 250 de custo com licenças de aplicativos e pelo por dia. Como cada fax enviado precisava crescimento constante dos custos externos ser copiado para gerar uma via de segurança, (estrutura de email, manutenção). A estratéa quantidade de papel diária utilizada pela gia para resolver esses problemas foi buscar
20
uma melhoria na relação custo-benefício da infraestrutura de TI, internalizando (verticalizando) serviços, além de buscar maior confiabilidade e estabilidade dos serviços de informática a longo prazo. A execução dessa estratégia foi realizada através da combinação de duas tecnologias básicas: Linux e servidores potentes (IBM). Foram realizados investimentos em consultoria em SL/CA, uma vez que a equipe de TI da empresa tinha pouco conhecimento dessas tecnologias. A parceria com a Internetmídia foi fundamental para a implementação e migração dos sistemas e para a transferência de know-how na solução Linux. A 4Linux forneceu treinamento e certificação para a equipe, capacitada assim a realizar o gerenciamento da mudança de sistemas. Também foi fundamental o envolvimento direto da diretoria em todo o projeto. A especificação técnica do projeto foi então realizada, tendo sido usada a distribuição Red Hat Enterprise Linux nos servidores: 1 servidor de arquivo (Samba), 1 servidor de Internet rodando DNS próprio, 2 sistemas de segurança (Iptables), 1 servidor de email (Postfix) e 1 servidor de aplicação (LAMP). Além da mudança da plataforma operacional em torno do sistema Pedidonet, aproveitou-se a oportunidade para criar a infraestrutura da Voxline, empresa também pertencente ao Grupo Alsaraiva, responsável pelo atendimento dos serviços Delivery 28 Minutos e Alô Tia Eda, com 700 posições de atendimento, Frame Relay com as lojas da rede e uma infraestrutura com 18 servidores rodando Red Hat Entreprise Linux e 120 PCs funcionando com o conjunto de aplicativos para escritório OpenOffice.org. Todo o projeto, após a especificação e a análise, teve um tempo de implementação de 3 meses e consumiu investimentos da ordem de R$300 mil (em equipamentos, treinamento e serviços), trazendo um retorno de investimento (ROI) de 40% nos custos operacionais, com aumento de produtividade através do uso de emails. ■
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Notícias
Librix Server
Curtas
A Itautec lançou em março o Librix Server, versão para servidores corporativos da distribuição Librix (www.itautec.com.br/softwares/librix. aspx), usada nos PCs do programa Computador para Todos da empresa. Um dos destaques do sistema são os perfis de servidor (banco de dados, email, FTP, web, DNS, Samba e firewall) que o usuário pode escolher na hora da instalação.
IBM cede mainframe à USP
A IBM fechou uma parceria com a Escola Politécnica da USP, para que os alunos tenham acesso a um mainframe Z900. Trata-se de um computador com 16 processadores e 64 GB de RAM, rodando Linux. Os alunos acessarão o mainframe remotamente (ele se encontra fisicamente no laboratório da Universidade Estadual de Campinas) e essa atividade fará parte da grade curricular. Já a Information Builders (IBI) fechou parcerias com revendas IBM para promover a solução de business intelligence WebFOCUS em Linux, no sistema z9 da IBM.
BB continua migração
Continuando em seus planos de migração para Software Livre, o Banco do Brasil começou a migrar o sistema operacional de seus caixas eletrônicos, do IBM OS/2 para Red Hat Linux. Serão afetadas 500 agências por todo o país. A empresa também deve eliminar todas as cópias restantes do pacote Microsoft Office em uso nas agências e escritórios da empresa, até o final de 2006. Em seu lugar, será usado o OpenOffice.org (BrOffice). Com isso, serão economizados cerca de R$ 13 milhões. Além do conjunto livre de aplicativos para escritório, o BB também planeja migrar todos seus servidores para Linux até o meio desse ano. Hoje, apenas 20% dos servidores rodam Linux.
Oracle 10g Express Edition
A Oracle lançou oficialmente a versão gratuita de seu banco de dados 10g. Trata-se do Oracle 10g Express Edition (ou XE). Ele traz a mesma performance da versão 2 do 10g, já que foi construído sobre a mesma base. Está disponível tanto para Windows® quanto Linux (Mandriva 2006, Suse Enterprise Server 9, Suse 10, Red Hat Enterprise 4, Fedora e Ubuntu): www.oracle.com/technology/xe. Em fevereiro, a Oracle comprou a Sleepcat Software, que tem os direitos sobre o mais usado banco de dados embarcado open source: o Berkeley DB. Na mesma época, o presidente da MySQL (o banco de dados livre mais usado) confirmou que a Oracle tentou comprar sua empresa.
22
Mundo Livre em Revista
Mundo livre em revista ❐ PS3 virá com Linux
O novo console de videogame da Sony, o Playstation 3, deve vir com um disco rígido de 60 GB pré-instalado com Linux. Durante entrevista coletiva realizada em março, o presidente da Sony, Ken Kutaragi, confirmou que o console virá com HD de 60 GB. Além de adicionar funcionalidade aos jogos, outro objetivo é fazer o aparelho atuar como um servidor doméstico de arquivos. Já a informação de que ele virá com Linux pré-instalado foi divulgada durante a DevStation 2006, a conferência de desenvolvedores do PlayStation. Recentemente, foi lançada a versão 2.6.16 do kernel Linux, a primeira compatível com o processador Cell, que vai equipar o
PS3. Linux em videogames não é uma área nova para a Sony. Para o PS2, a empresa vendia um kit oficial com uma distribuição Linux, que transformava o videogame em computador. Se a Sony cumprir mesmo seus anúncios, o PS3 pode ser mostrar um “servidor caseiro” impressionante, levando em conta suas especificações de rede: três portas Gigabit Ethernet, WiFi (802.11g), Bluetooth 2.0 e USB 2.0. O lançamento está previsto para o primeiro semestre deste ano. ■
❐ Laptop de US$ 100 em junho O computador portátil de US$ 100 e que roda Linux, idealizado pelo MIT (Massachusetts Institute of Technology), estará pronto para produção em junho, conforme anunciou o “pai da criança” Nicholas Negroponte, em março. Esse é um projeto de inclusão digital que tem como objetivo fornecer computadores portáteis de baixo custo a países em desenvolvimento. O Brasil é um dos países interessados no projeto. Para começar a ser produzido, é preciso que três países façam pedidos somando milhões de unidades. Entre as especificações do laptop estão: processador de 500 MHz; 500 MB de memória flash para armazenamento e 128 MB de RAM, distribuição Linux Red Hat customizada e possibilidade de recarregar a bateria com manivela. ■
❐ Macros MS no OpenOffice.org A próxima versão do OpenOffice. org vai conter um assistente para importar e rodar macros VBA criadas no Microsoft Office. A novidade foi produzida pela Novell e já está no Suse Linux Enterprise 10 (a nova versão da distribuição para desktops corporativos, antes chamada Novell Linux Desktop). Em breve, essa funcionalidade deve chegar também ao OpenOffice.org padrão (que no Brasil, se chama BrOffice). Durante o evento Brainshare 2006, a empresa também apresentou o Novell Zenworks 7 Linux Management - Dell Edition, produto em parceria com a fabricante Dell, para o gerenciamento da área de TI de uma empresa. ■
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Notícias
❐ Autodesk abre MapServer Enterprise A Autodesk abriu o código-fonte da sua nova plataforma para mapas na web, o MapServer Enterprise, sob a licença LGPL (GNU Lesser General Public License). O produto derivado desse código é o MapGuide Open Source, cuja versão 1.0.0 RC 1 está disponível em www.mapserverfoundation.org. O motivo por trás dessa decisão é o desejo dos clientes por novas versões em intervalos mais curtos e custo mais baixo. O MapGuide permite que desenvolvedores web criem mais rapidamente aplicativos geográficos, funcionando com PHP, .NET ou Java, tanto em ambientes Linux quanto Windows®. Recentemente, a Autodesk portou para o Linux diversos programas de efeitos especiais cinematográficos como o Discreet Flame e o Discreet Smoke. ■
Mundo Livre em Revista
❐ Panda DesktopSecure A Panda Software lançou uma versão beta do DesktopSecure para Linux, que inclui antivírus, antispyware, firewall e prevenção contra invasões. Segundo a empresa, o que motivou esse produto é o aumento no número de computadores pessoais domésticos ou em empresas rodando Linux. Para usuários caseiros, o produto será gratuito. Segundo a empresa, ele poderia ser instalado em qualquer distribuição Linux, mas usuários do Suse, Debian, Fedora e Red Hat teriam suporte mais detalhado. No entanto, em nossos testes, a instalação não funcionou no Suse 10, Ubuntu 5.10 e nem no Mandriva 2006, surgindo uma mensagem dizendo que a instalação não poderia continuar devido à distribuição não suportada. O download pode ser feito em tinyurl.com/eonw7, mas é preciso se cadastrar. ■
❐ Xara LX: Gráficos profissionais Está disponível para download a versão 0.3 beta do Xara LX, programa profissional de ilustração vetorial e manipulação de fotos de código aberto. Trata-se de uma versão open source do tradicional programa gráfico Xara Extreme. Entre os principais recursos está a velocidade do programa, além da versátil edição de fotos integrada com gráficos vetoriais. Seus desenvolvedores garantem que esse era o programa que faltava para o Linux, torcendo para que ele se torne o OpenOffice. org da área gráfica. A versão 0.3 é a primeira que cria de fato arquivos .xar, já que versões anteriores permitiam apenas a abertura de arquivos de demonstração. Fundada em 1981, a empresa inglesa Xara é uma das mais antigas produtoras independentes de software. Por enquanto, só está disponível na forma de código fonte, sendo necessária a biblioteca wxWidgets. ■ www.xaraxtreme.org
24
Curtas Semana do Software Livre
Será realizada de 20 a 21 de outubro a 2ª Semana Software Livre Univale (www.univale. com.br/livre/2_sslu_br.htm), em Ivaiporã (PR). Serão realizadas palestras sobre temas como Mono, XUL (XML User Interface Language), Web 2.0, entre outros. O evento está sendo promovido pela Univale (Faculdades Integradas do Vale do Ivaí). Outro projeto dessa faculdade é o 1º Prêmio Antonio Pietrobon, para premiar com um computador o autor do melhor projeto de Software Livre brasileiro para a colaboração entre pesquisadores brasileiros e estrangeiros.
PC para todos da HP
Dois modelos da HP entraram no programa Computador para Todos, projeto de inclusão digital que está barateando o preço dos computadores. Trata-se do Pavillion b1010 (Celeron 2.8 GHz) e do HP Compaq dx2025 (Sempron 1.8 GHz). O preço sugerido dos dois é de R$ 899 (sem monitor), com a distribuição Mandriva incluída. O Computador para Todos, que começou em dezembro, vem turbinando a venda de computadores no Brasil. A rede Extra, por exemplo, está vendendo três vezes mais PCs do que na mesma época do ano passado. Os PCs para Todos respondem por 60% dessas vendas.
Sistema de contabilidade na web
Está disponível para download o sistema FIEL Contábil. Trata-se de um aplicativo de contabilidade empresarial que roda no navegador. Com ele, é possível fazer escrituração contábil, acompanhar a execução orçamentária, gerar gráficos, balanços etc. Para instalá-lo é necessário um servidor com Linux, Apache, PosgreSQL e PHP. É possível testar ou baixar o sistema em www.sistemafielcontabil.com.br.
Criador do Mandrake demitido
O francês Gaël Duval, criador da distribuição Mandrake, foi demitido da Mandriva. Duval criou essa distribuição em 1998 e foi co-fundador da MandrakeSoft (hoje Mandriva). Ele era o responsável pela comunicação da equipe de administração da empresa. No Brasil, a Mandriva Conectiva continua crescendo. Foram fechadas novas parcerias com o Senac (Serviço Nacional de Aprendizagem Comercial) do Rio de Janeiro, para doação de material para treinamento em Linux, e com o Senai da Bahia, para treinamento em Linux.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Notícias
Segurança
Dicas de [In]segurança ❐ Kdegraphics
Referência no Red Hat: RHSA-2006:0206-3
possível que comandos arbitrários sejam executados, se um usuário for induzido a rodar o display em um arquivo com um nome especialmente manipulado. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-4601. Além disso, um erro de formatação de cadeia de caracteres foi descoberto no modo como o ImageMagick lida com o nome dos arquivos. Isso pode levar à execução arbitrária, se o usuário executar um comando do ImageMagick especialmente “talhado” (CVE-2006-0082). ■
Referência no Slackware: SSA:2006-045-04
Referência no Red Hat: RHSA-2006:0178-4
O pacote kdegraphics contém diversos aplicativos para o KDE, incluindo o KPDF, um visualizador de PDFs. Um erro que causa um estouro de memória heap (heap overflow) foi descoberto no KPDF. Um invasor poderia construir um arquivo PDF que poderia causar a interrupção do programa ou possivelmente executar códigos arbitrários quando aberto. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2006-0301. ■ Referência no Gentoo: GLSA 200602-05
Referência no Slackware: SSA:2006-045-03
❐ Tar O programa GNU tar compacta e descompacta arquivos. Jim Meyering descobriu um erro de estouro de memória (buffer overflow) no modo como o tar extrai arquivos de pacotes compactados mal formados. O usuário poderia ser persuadido a descompactar um pacote tar malicioso, possibilitando que códigos arbitrários sejam executados enquanto o tar estiver rodando. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu ao essa falha o código CVE-2006-0300. ■ Referência no Mandriva: MDKSA-2006:046 Referência no Red Hat: RHSA:-2006:0232-3 Referência no Suse: SUSE-SR:2006:005
❐ ImageMagick O ImageMagick é uma ferramenta para visualizar e manipular imagens no X Window. Ele consegue ler e escrever múltiplos formatos de imagens. Uma falha que permite a injeção de comandos no shell foi encontrada no comando display do ImageMagick. É
26
❐ Apache O servidor web Apache é um dos mais populares da Internet. O módulo mod_ imap é responsável pela compatibilidade com mapas no servidor; já o mod_ssl se encarrega de conexões HTTP seguras. O mod_imap do Apache falha ao limpar corretamente a instrução Referer dos mapas em alguns casos, deixando o cabeçalho do Referer sem escape. Um erro no mod_ssl pode levar a um desreferenciamento de ponteiro nulo, caso o site use uma mensagem personalizada para o documento “Error 400”. Essas vulnerabilidades foram reportadas por Marc Cox e Hartmut Keil, respectivamente. Um agressor remoto poderia explorar o mod_imap para injetar HTML ou Javascript arbitrário no navegador do usuário, e obter informações importantes. Agressores poderiam causar também uma negação de serviço nos hosts usando o módulo SSL (somente para o Apache 2.0). O projeto Common Vulnera-
bilities and Exposures (cve.mitre.org) deu a essa falha os códigos CVE-2005-3352 e CVE-20053357. ■ Referência no Gentoo: GLSA 200602-03 Referência no Suse: SUSE-SR: 2006:004
❐ OpenSSH O OpenSSH é um pacote livre com servidores e clientes que substituem ferramentas como telnet, rlogin, rcp e ftp, de maneira mais segura e funcional. O Dropbear é um servidor e cliente SSH projetado para consumir poucos recursos e que usa código scp do OpenSSH. Para copiar dados de um sistema de arquivos local para um outro sistema de arquivos local, o scp constrói um comando usando o cp, que depois é executado via system(). Josh Bressers descobriu os caracteres especiais que ficam sem escape no scp, sendo simplesmente passados ao shell. Conduzindo outros usuários ou aplicativos a usar o scp em arquivos com nomes maliciosamente engendrados, um agressor local pode executar comandos arbitrários com os direitos do usuário do scp. ■ Referência no Gentoo: GLSA 200602-11 Referência no Slackware: SSA:2006-045-06 Referência no Suse: SUSE-SA:2006:008
❐ Linux kernel Diversas vulnerabilidades foram descobertas e já corrigidas no kernel Linux 2.6: a função udp_v6_get_port em udp. c, rodando Ipv6, permite a usuários locais um ataque para negação de serviço (laço infinito e crash) (CVE-2005-2973). A chamada de sistema mq_open pode, em determinadas situações, reduzir um contador em duas vezes como resultado de múltiplas chamadas à função mntput,
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Segurança
quando a chamada à função dentry_ open falha. Isso permite que um usuário
local provoque uma negação de serviço com vetores de ataque não especificados (CVE-2005-3356). Um erro no código do procfs permite que agressores leiam partes delicadas da memória do kernel através de vetores não especificados, no qual um valor assinado é adicionado a um valor nãoassinado (CVE-20054618). Um estouro de memória no sysctl permite a usuários locais causar uma negação de serviço e, possivelmente, executar código arbitrário por meio de um longa cadeia de caracteres, que leva o sysctl a escrever um byte de tamanho zero fora do buffer (CVE-2005-4618). Um estouro de memória no driver CA para a placa receptora de TV digital TwinHan DST Frontend/Card permite que usuários locais causem uma negação de
Notícias
serviço (crash) e, possivelmente, execu- Audigy 2 ZS Video Editor, reparo para o tem códigos arbitrários, após a leitura crash do supermount ao se acessar um de mais de oito bytes em uma matriz de CD/DVD montado com esse recurso e, oito bytes (CVE-2005-4639). finalmente, correção para o descarregaO dm-crypt não limpa uma estrutu- mento incorreto de um módulo sbp2. ■ ra depois que ela é liberada, causando Referência no Mandriva: MDKSA-2006:040 uma vulnerabilidade do tipo abertura Referência no Suse: SUSE-SA:2006:006 de memória (memory disclosure). Por exemplo, usuários locais poderiam obter informações cruciais sobre uma chave Duas vulnerabilidades foram descobertas criptográfica (CVE-2006-0095). no Heimdal, uma implementação livre Agressores remotos podem causar uma do Kerberos 5. Privilégios escalados no negação de serviço com vetores de ata- servidor rsh permitem que um agressor que desconhecidos relacionados a linha autenticado sobrescreva arquivos arbi“extra dst release when ip_options_echo trários e obtenha propriedade sobre eles fails” do icmp.c (CVE-2006-0454). Além (CVE-2006-0582). E um invasor remoto dessas atualizações de segurança, outras poderia forçar um crash no servidor correções foram incluídas, tais como: telnet antes que o usuário se registre compatibilidade para mptsas, reparo nele, fazendo com que o inetd desative para o Ipv6 no driver sis190, problema o telnetd (CVE-2006-0677). ■ de progressão de tempo duas vezes mais Referência no Debian: das-977-1 rápida, correção nas sample rates para Referência no Suse: SUSE-SA:2006:011
❐ Heimdal
Postura das principais distribuições Linux quanto à segurança Distribuição Referência de Segurança Conectiva Info: distro2.conectiva.com.br/ Lista: seguranca-admin@distro.conectiva.com.br e distro2.conectiva.com.br/lista Referência: CLSA-... 1 Debian Gentoo
Mandriva
Info: www.debian.org/security Lista: lists.debian.org/debian-security-announce Referência: DSA-… 1 Info: www.gentoo.org/security/en/gsla/index.html Fórum: forums.gentoo.org Lista: www.gentoo.org/main/en/lists.xml Referência: GLSA: … 1 Info: www.mandriva.com/security Lista: www1.mandrdrivalinux.com/en/flists.php3#2security Referência: MDKSA-… 1 Info: www.redhat.com/errata Lista: www.redhat.com/mailing-lists Referência: RHSA-… 1 Info: www.slackware.com/security Lista: www.slackware.com/lists (slackware-security) Referência: [slackware-security] … 1 Info: www.novell.com/linux/security Lista: www.novell.com/linux/download/updates Referência: suse-security-announce Referência: SUSE-SA … 1
Comentários Possui uma página específica; não há link para ela na página principal. Os alertas são sobre segurança, mas distribuídos através de emails assinados com a chave PGP da empresa para assegurar sua autenticidade. Contém também links para os pacotes atualizados e para fontes de referência sobre o problema sendo corrigido. Alertas de segurança recentes são colocados na homepage e distribuídos como arquivos HTML com links para os patches. O anúncio também contém uma referência à lista de discussão. Os alertas de segurança são listados no site de segurança da distribuição, com link na homepage. São distribuídos como páginas HTML e mostram os comandos necessários para baixar versões corrigidas dos softwares afetados.
A Mandriva tem seu próprio site sobre segurança. Entre outras coisas, inclui alertas e referência a listas de discussão. Os alertas são arquivos HTML, mas não há links para os patches. Red Hat A Red Hat classifica os alertas de segurança como “Erratas”. Problemas com cada versão do Red Hat Linux são agrupados. Os alertas são distribuídos na forma de páginas HTML com links para os patches. Slackware A página principal contém um link para uma lista de emails sobre segurança. Quando um patch é lançado, emails de aviso são enviados aos usuários cadastrados. SUSE Após mudanças no site, não há mais um link para a página sobre segurança, que contém informações sobre a lista de discussão e os alertas. Patches de segurança para cada versão do SUSE LINUX são mostrados em vermelho na página de atualizações. Uma curta descrição da vulnerabilidade corrigida pelo patch é fornecida. 1 Todas as distribuições indicam, no assunto da mensagem, que o tema é segurança.
27
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Notícias
Kernel
Notícias do Kernel por Zack Brown
❐ GPLv3 para quem precisa O kernel Linux vai adotar a versão 3 da GPL ou se manter na 2? A resposta é, na verdade, bem complicada. Linus Torvalds tem proclamado que não pretende licenciar nenhuma parte de suas contribuições em outra coisa que não seja a versão 2 da GPL. Contudo, isso não impede ninguém de licenciar suas próprias contribuições com a licença que quiser, desde que estejam também licenciados sob a GPLv2, ou (como acontece com código BSD) que possa ser relicenciado sob a GPLv2. Além disso, mesmo que Linus queira, seria difícil mudar toda a licença do kernel. Qualquer pessoa que contribua com código possui seu copyright e, simplesmente, concede uma licença para que esse código seja incluído no kernel. A menos que a própria licença defina condições em que ela pode ser alterada, ninguém além do dono do copyright tem permissão para fazer isso. Então, passar o kernel de GPLv2 para GPLv3 envolveria, teoricamente, rastrear todos os milhares de programadores que enviaram código ao longo dos anos e pedir a eles que relicenciem seus códigos para a versão 3 da GPL. Depois, todas essas pessoas teriam que concordar, sem exceção. Uma alternativa seria insistir que todas as novas contribuições sejam licenciadas duplamente, nas versões 2 e 3. Eventualmente (na terra perfeita dos sonhos), todo o código coberto apenas pela versão 2 seria substituído
28
e o kernel seria coberto como um todo pela versão 3. O argumento de que código sob a GPL costuma ser licenciado sob a versão 2 “ou qualquer versão posterior” não se aplica nesse caso. O kernel não usa essas condições ao descrever sua licença, já que Linus não confiava em Richard Stallman para a produção de uma versão 3 aceitável para o kernel. E, embora a GPL declare que o dono do copyright não pode impor restrições adicionais, evitar os termos “qualquer versão posterior” não traz quaisquer restrições extras, porque esses termos não fazem parte da licença. É apenas o texto sugerido para uso no caso de licenciar algo sob a GPL. Então (encurtando uma longa história), mudar a licença do kernel (ou atualizar sua versão) é um processo que envolveria uma seqüência inviável de circunstâncias complexas (obs: se o kernel não existisse, também falariam que criá-lo seria absurdamente inviável). ■
❐ Fora IDE O projeto libata está chegando bem perto de se tornar um substituto eficiente ao driver IDE, segundo Alan Cox. Isso fez desenvolvedores como Wakko Warner sugerirem a remoção completa do IDE. É difícil acreditar que após anos de pesadelos se projetando e reprojetando o driver, mantenedores sendo derrubados e caos generalizado na área, a resposta seria essa: descartar
totalmente a besta-fera. Mas parece que isso é exatamente o que pode acontecer. Alan Cox apontou claramente que agora não é a hora para isso: remover o driver IDE é um objetivo a longo prazo. No entanto, a superioridade do libata sobre o driver IDE já está se tornando senso comum. ■
❐ 2.4: antes tarde Como o kernel 2.4 já tem mais de cinco anos de vida, seu desenvolvimento se tornou muito lento. O problema é que muitas pessoas ainda usam o 2.4, especialmente levando em conta o abandono do ciclo par/ímpar de desenvolvimento. Para muitos, a árvore 2.4 é a única confiável, já que só ela passou por um esforço consistente de estabilização. Há argumentos contrários: as próprias distribuições já fazem cada uma seu trabalho de estabilização, e as séries w.x.y.z do 2.4 também cuidam da estabilização. São esforços que se restringem essencialmente ao uptime. O código-base do 2.6 não é estável, muda constantemente. Isso deixa muitas pessoas nervosas em relação à árvore 2.6. Recentemente, Willy Tarreau postou sobre a possibilidade de enviar uma dúzia de patches 2.4, principalmente drivers, melhorias de segurança e otimização de memória. Houve interesse imediato de muitas pessoas, além de requisições sobre recursos adicionais, referências a outros patches 2.4 que poderiam ser coletados e disponibilizados em um local central.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Kernel
Embora seja difícil imaginar esses patches ganhando a árvore principal nessa altura do campeonato, é possível que esse novo e alternativo ramo 2.4 se torne mais sério, com um número maior de seguidores, enquanto o 2.6 continua em sua dolorida luta evolutiva. ■
❐ Gambiarra amigável Já faz algum tempo que o kernel vem restringindo o que códigos externos podem linkar e o uso de seus símbolos (variáveis e funções). Esses símbolos são necessários para que drivers externos possam interagir com as profundezas do kernel. No entanto, muitas partes do kernel vão apenas exportar seus símbolos em uma variável para indicar que elas estão licenciadas sob a GPL, sendo possível a interação apenas de drivers GPL. Esse é, de fato, um mecanismo bem esperto, que já inspirou algumas tentativas curiosas de contorná-lo, como adicionar caracteres bizarros à variável de licença que satisfazem as exigências para interação, mas que não indicam em nenhum momento que o driver é GPL. Esses “túneis de fuga” vão sendo tapados assim que são descobertos. Mas é de se admirar a audácia dessas empresas que lançam apenas drivers binários e conseguem interagir funcionalmente com o centro do kernel. São poucos esses casos. A questão agora é outra: o que fazer com as tentativas de se fazer isso que partem de empresas amigáveis ao Linux? Recentemente, Sven Schmidt da empresa AVM reclamou que Greg Kroah-Hartman alterou os requerimentos do subsistema USB para a variável de licença. Isso tornou impossível rodar drivers USB que não sejam GPL em um kernel sem patches especiais. Sven afirmou que a AVM tem sido um exemplo de empresa compatível com
Notícias
Linux, oferecendo aos consumidores a escolha de drivers Microsoft ou Linux. No entanto, agora eles terão que cancelar a compatibilidade Linux de todos seus produtos USB. Houve muitas respostas. A mais tradicional, expressada por Valdis Kletnieks e outros, era que a AVM devia lançar drivers GPL, assim não teriam mais problemas de interação com o kernel. Uma resposta mais técnica veio do próprio Greg: o advento do usbfs e da libusb tornou possível escrever drivers USB no espaço do usuário, sem sacrificar a velocidade. Assim, a AVM poderia disponibilizar seus drivers fechados (no espaço do usuário) sem se preocupar com a acessibilidade de símbolos do kernel. Isso poderia ter encerrado o debate, mas como tudo no mundo do kernel, sempre há algo mais rolando. Por exemplo, o FAQ do kernel declara há anos que o uso de símbolos não seria mais exclusidade de softwares GPL, e que desenvolvedores de módulos proprietários poderiam confortavelmente lançar esse tipo de drivers. A resposta de Greg foi que essa parte do FAQ tem oito anos e deveria ser atualizada. Já Sven, da AVM, apontou que drivers no espaço do usuário não garantem a confiabilidade de aplicações críticas do mesmo modo que o espaço do kernel faz. Além disso, migrar para o espaço do usuário envolveria um esforço de desenvolvimento gigantesco. Fora o fato de que a AVM quer proteger sua propriedade intelectual. Problemas como esse vão continuar a aparecer. Aparentemente, a alteração no subsistema USB de Greg foi retirada, pelo menos até o momento. A decisão final é uma incógnita. Mas parte dela já se revelou, como resultado dessa discussão: Greg enviou um patch para tornar mais óbvio a usuários e admi-
29
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
nistradores quando um programa usa símbolos que deveriam ser restritos à interação com aplicativos GPL. Ele espera que isso dê às empresas tempo suficiente para considerar as diversas alternativas antes de serem atingidas pelas restrições. ■
❐ Engenharia reversa, sabia? Adrian Bunk submeteu um patch para não mais listar o driver Forcedeth como experimental durante a configuração da compilação do kernel. Aparentemente, ele se tornou bem estável, como diversos usuários afirmaram em resposta ao patch. Outra parte do patch retira uma linha na descrição que informa tratar-se de um driver obtido através de engenharia reversa no driver binário da Nvidia. Adrian achou que o usuário só precisava saber o que o driver faz, não como ele foi desenvolvido. Mas Lee Revell apontou que a informação ainda é útil, mesmo apenas para que o usuário saiba quais empresas não são amigáveis ao Linux para, possivelmente, boicotá-las. Contudo, Arthur Othieno apontou que a referência à engenharia reversa poderia ser mantida na ajuda do driver, mas que não precisaria ser mostrada na descrição. Já Alistair John Strachan lembrou que nem toda a Nvidia é hostil ao Software Livre: pelo menos dois funcionários da empresa contribuíram para esse driver livre. ■
❐ git prodígio O sistema de controle de revisão git, criado recentemente pelo próprio Linus, continua evoluindo a uma velocidade estonteante. Torvalds e outros têm dado atenção especial para a compatibilidade com sub-projetos, em que uma porção de um repositório git pode ser checada de maneira independente do resto.
30
Kernel
O valor do recurso de sub-projeto, ele Mesmo um projeto pequeno pode vir acha, é que para projetos com muitos a ter um histórico enorme, conforme sub-projetos, isso permite que usuários passa o tempo. Tão grande que seria regulares verifiquem todo o repositório difícil mantê-lo no computador caseiro sem ter que digitar muitos comandos de um programador. A clonagem rasa diferentes. Ou seja, o git pode acabar permite que o desenvolvedor escolha sendo compatível com sub-projetos, em- quanto do histórico é relevante para bora os detalhes de fato ainda estejam sua contribuição particular. sendo trabalhados. Muitas ferramentas complementaOutra novidade é o uso do git no X.org. res estão sendo desenvolvidas para o Esse projeto está começando a migrar git. Aneesh Kumar tem trabalhado no – pelo menos parte de seu código-base gitview, outro navegador de repositó– para o git, começando com o núcleo do rio, como o qgit e o gitk. Embora seja servidor X. Keith Packard está lideran- um projeto bem novo, o gitview está do essa empreitada. Ele planeja migrar recebendo bastante atenção de Linus, todos os módulos X.org de sua respon- Junio e outros. Junio inclusive o colocou sabilidade. Mas os outros módulos vão na árvore oficial do git. Pessoalmente, continuar com seu sistema de revisão. Linus usa o gitk, mas antes de tentar Já o “código morto” (que Keith afirma um merge mamutesco, ele postou com haver aos montes) pode acabar nunca cópia para Aneesh e os desenvolvedores sendo migrado. qgit, para que eles ajudem com suas A questão se arquivos devem ser tran- habilidades especiais. cados para edição é outra das que estão Já Eric Wong escreveu o git-svn, que em consideração, no git. Isso envolveria permite a desenvolvedores de deterdar um comando edit em um arquivo a minado projeto escolherem tanto o git ser editado, para que o git saiba precisa- quanto o Subversion. Ele fez isso para mente que arquivos estão sendo altera- que pudesse usar o git em projetos em dos. O BitKeeper se comportava assim, e o Subversion. Então, resolveu liberar o ganho em velocidade era considerável. bicho. Junio gostou, acolheu a criatura Linus está relutante em seguir nessa e a colocou na árvore oficial do códigodireção, porque o git – no Linux – já é fonte git, junto com o gitview. incrivelmente rápido, devido em parte Com o gitview e o git-svn, Junio à veloz função de listar o estado de criou uma área contrib na árvore-fonarquivos lstat(), do kernel. Infeliz- te para ferramentas interessantes e mente, em sistemas operacionais de de- experimentais. A mais recente adição sign mais pobre para a interação com é uma interface emacs para o git, de o sistema de arquivos, esse ganho de Alexandre Julliard. ■ velocidade é perdido, e o git pode ficar A lista de discussão consideravelmente mais lento. linux-kernel é o Outra novidade: o git pode começar a núcleo das atividades suportar “clonagem rasa”, recurso que de desenvolvimento do kernel. Uma permite a usuários a clonagem parcial das poucas pessoas do histórico de determinado repositócorajosas o suficiente rio. Junio C. Hamano, o mantenedor para perder-se nesse git, propôs um recurso ao estilo CVS oceano de mensagens e manter-se atualipara proteger desenvolvedores do tazada é Zack Brown. manho gigantesco de certos projetos.
Sobre o autor
Notícias
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Desempenho
Técnicas para afinar o desempenho
Linux turbo Suas aplicações multimídia estão acessando os recursos de que
Capa Turbina de dados
32
Tempo real
36
Estrutura certa
39
Otimização de discos com hdparm.
Agilidade em aplicativos multimídia. Comparativo de sistemas de arquivos.
necessitam? Você está usando o melhor sistema de arquivos para o que precisa? Não é preciso nenhum especialista para melhorar o desempenho no Linux. Basta saber onde olhar. por Joe Casad
A
nova geração de instaladores gráficos facilitam tanto a vida... Praticamente nem é preciso atenção no que o instalador está fazendo. Digita-se apenas alguns parâmetros-chave e pronto. Mas as configurações padrão de um típico instalador gráfico dificilmente possibilitam o melhor desempenho para seu hardware e sua necessidade de trabalho. O Linux oferece várias opções para afinar o desempenho do sistema para necessidades específicas. Neste mês, vamos analisar algumas maneiras de otimizar o desempenho. O primeiro lugar a olhar na hora de realizar otimizações, geralmente, é o disco rígido. A abundância de hardware nessa área hoje torna muito difícil implementar uma solução que otimize qualquer HD. Uma boa maneira de melhorar o desempenho do disco é a tecnologia DMA (Direct Memory Access), presente na maioria dos sistemas BIOS (Basic Input/Output System) das placas-mãe e discos rígidos de hoje. Com ela, dados do disco usam um canal DMA para chegar diretamente à memória principal. Mostraremos como o método DMA funciona no Linux através do utilitário de linha de comando hdparm, que pode ativar esse recurso para a leitura e gravação de dados.
algumas das situações em que não vale a pena usar a opção padrão do instalador. Ainda no assunto desempenho, confira a análise de duas distribuições voltadas especificamente para isso: Super, a versão turbinada do projeto OpenSuse, e o Underground Desktop, um sistema voltado para computadores pessoais, baseado na leve e rápida distribuição Arch. Se você quer aumentar a velocidade de seu sistema, ou se deseja apenas aprender mais sobre a relação do hardware com o Linux e sobre sistemas multimídia, a hora é agora. ■
Multimídia Também serão analisadas técnicas para melhorar a qualidade e o desempenho de aplicativos multimídia através do gerenciamento das prioridades do sistema. Em particular, vamos focar na prioridade em tempo real (realtime priority), que dá à determinado programa uma fatia maior dos recursos de processamento. No último artigo dessa série, vamos analisar os diferentes sistemas de arquivos disponíveis e discutir
31
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Capa
hdparm
Turbina de dados
Otimizando discos rígidos com hdparm
Um simples comando pode ativar a “turbina” de seu drive para leitura e gravação de dados. por Kristian Kissling
M
esmo com um disco rígido novinho em folha, as cópias de arquivos demoram... Há ainda saltos irritantes quando se toca um DVD. Por que isso? Muitos discos rígidos e drives óticos – principalmente, se são um pouco antigos – não têm o desempenho que deveriam ter. O sistema operacional e a BIOS (Basic Input/Output System) não ativam o verdadeiro potencial dos recursos dos dispositivos de armazenamento. Mas ativar ou otimizar o uso do recurso DMA, com o hdparm [1], pode aumentar muito a velocidade do tráfego de dados para discos rígidos e drives de CD ou DVD. DMA é a abreviação de Direct Memory Access (ou “acesso direto à memória”). Essa técnica permite o tráfego direto de um disco ou drive ótico (CD, DVD...) para a memória principal. O controlador DMA da placa mãe do computador gerencia a operação de transferência de dados. Obviamente, a BIOS e os drives do computador precisam ser compatíveis com o DMA, para que mais dados possam ser transferidos em um mesmo intervalo de tempo. Como isso também reduz a carga no processador, filmes rodam melhor, a cópia de arquivos fica mais rápida e menos problemas ocorrem na gravação de DVDs ou CDs.
32
Cuidado
las palavras “Dangerous” ou “Massive Distribuições Linux atuais tipicamen- filesystem corruption” e não esqueça te detectam e ativam o DMA durante a de fazer becape de seus dados antes de instalação. As versões 9.3 e 10 do Suse, começar a experimentar, especialmenentre outras, liberam toda a velocidade te se estiver usando kernel e hardware dos dispositivos de armazenamento. Ou- antigos. Uma boa alternativa pode ser tras distribuições usam configurações montar suas partições em modo somente mais conservadoras. Há boas razões leitura durante as experiências. para isso, já que esse recurso pode trazer complicações. Ativar o DMA pode fazer com que o sistema operacional trave com O programa hdparm (caso ele não esteja freqüência (às vezes, até antes de com- instalado, é possível instalá-lo através pletar uma instalação), e trazer falhas do gerenciador de pacotes de sua disna detecção de drives. Além disso, apli- tribuição) é uma ferramenta de linha cativos comuns podem travar durante de comando que requer privilégios de operações de rotina. root. A ferramenta fornece informações Esses sintomas, aparentemente arbi- sobre os recursos de seus dispositivos trários, também podem ser causados pelos cabos que conectam os discos rígidos e outros drives à placa-mãe. Cabos devem ter um máximo de 45 cm e não devem estar torcidos (raramente essa é a causa). Placas-mãe mais modernas cuidam desses problemas de maneira mais otimizada. Nas páginas (em inglês) do manual do hdparm (man Figura 1: O comando hdparm /dev/hdc sem nenhuma hdparm) há ainda muitos opção diz quais recursos do drive estão ativados. outros alertas. Procure pe-
Subindo uma marcha
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
hdparm
Capa
de armazenamento e pode habilitá-las DMA (UDMA) – padrão ou desabilitá-las. Digitar mount como ATA4, de 1997 – alcançaroot, mostra os nomes de seus discos vam 16,7 MB/s no modo rígidos e outros drives. O comando lista UDMA0. O padrão UDMA os drives montados e os arquivos de dis- atualmente especifica uma positivos correspondentes. Nosso exem- taxa de transferência a ser plo usa um disco Samsung-SP1203N atingida no próprio nome em /dev/hdc. da versão. Por exemplo, Para ativar toda a velocidade de seu UDMA133 atinge, teoricadrive, primeiro é necessário descobrir mente, uma taxa de 133 quais recursos já estão ativados. Para MB/s. Na realidade, o ín- Figura 3: Bem rápido: antes de ativar o DMA, a taxa de transferência era de 2 MB/s. Subiu para 53,9 MB/s após o uso fazer isso, como root, digite hdparm / dice real costuma ser bem do hdparm. dev/hdc. Isso vai gerar uma saída como abaixo do valor teórico. a da figura 1. A expressão 0 (off) inAntes de ativar o DMA, dica que o recurso correspondente está verifique primeiro quais modos DMA /dev/hdc para ativar o DMA, sem esdesativado. É possível, agora, ativarmos seu drive permite. A saída do comando quecer de substituir hdc pelo dispositivo cada recurso individualmente. hdparm -i /dev/hdc dá essa informa- correto no seu caso. A opção -d1 ativa Contudo, em nossos testes, os úni- ção (figura 2). A linha com essa infor- o DMA com a escolha automática do cos ganhos genuínos de velocidade de mação começa com “UDMA modes:”. melhor valor disponível. transferência foram alcançados com a À direita está o modo atual escolhido Para garantir, talvez seja preferível esativação do DMA. Ativar todos os ou- pelo sistema (udma5). pecificar o modo manualmente com a tros recursos não teve nenhum efeito Antes de habilitar algumas das opções, opção -X69. O número é resultado de uma significativo. Contudo, isso pode variar rode um teste de desempenho que vai conta: some o modo UDMA mais alto que se você estiver usando discos e drives fornecer um valor para comparações seu HD suporta ao número 64: UDMA5 + antigos, ou conforme a distribuição. A futuras. Para isso, digite hdparm -Tt 64 = 69. Talvez seja preciso fazer contas única forma de saber é experimentar. /dev/hdc. Dois resultados serão forne- parecidas para configurar o DMA e o PIO cidos, como mostrou a figura 1. (digite man hdparm para mais detalhes, em O valor de cima mede a velocidade de inglês). Agora rode novamente o teste de A tecnologia DMA existe desde 1989 leitura no buffer cache (trecho do disco desempenho (figura 3) e segure o queixo. e era parte da especificação de discos armazenado na memória). O valor mais Graças ao DMA, a taxa de transferência rígidos ATA [2]. Enquanto drives que decisivo está embaixo, indicando a taxa atinge agora 53,9 MB/s! usavam o modo DMA single 2 alcan- de transferência da leitura diretamenPara verificar se essa mudança é esçavam taxas de transferência de 8,3 te no disco. É melhor rodar esse teste tável, apenas toque alguns arquivos de MB/s, os drives então chamados Ultra quando o computador não estiver com música, um DVD, ou copie grandes arnenhuma outra tarefa em quivos. Se o sistema travar, opte por um andamento. E vale a pena modo DMA mais devagar, ou desative a repetir esse teste várias ve- função, como explicado mais adiante. zes, para poder tirar uma média confiável. Em nosso exemplo, quan- O DMA pode ajudar a turbinar a velodo nenhum dos recursos cidade do disco, mas as outras opções está ativado, o disco rígido parecem não fazer muito pelo desemconsegue uma taxa média penho. Mas elas podem ser úteis em de 2,1 MB/s, ou seja, ape- um hardware um pouco mais antigo. A Figura 2: Teste os modos DMA disponíveis: a linha “UDMA nas 2% do limite teórico opção -m16 ativa o Multiple sector mode, modes” (após o comando hdparm -i /dev/hdc) diz quais de 100 MB/s. Hora de agir! ou seja, a leitura de 16 setores por vez, opções estão disponíveis. Digite hdparm -d1 -X69 ao invés de um só. ➟
DMA
Outras opções
33
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Capa
hdparm
Como desativar o DMA
Figura 4: Configurar o DMA é bem fácil no Suse, através do centro de controle YaST.
O comando hdparm -i /dev/hdc (figura 2) indica o número máximo de setores. Esse valor está na entrada MaxMultSect= . Ao habilitar essa opção, a taxa subiu para 54,74 MB/s, um ganho pequeno. Uma lida rápida nas páginas do manual também indica que essa opção pode causar problemas em alguns discos rígidos. Por exemplo, a Western Digital recomenda manter esse valor entre 4 e 8 setores. A opção -c3 permite a ativação da entrada e saída no modo (E)IDE 32-bit, que controla o fluxo de dados entre o barramento PCI e o controlador, acelerando os pedidos de dados para o drive. Resta ainda a opção -u1, que permite que você configure a opção unmask para interrupções, permitindo que o sistema realize outras tarefas enquanto espera por dados do disco rígido.
suas opções a um dos scripts de inicialização do Linux. Por exemplo, no Mandriva, é preciso acrescentar o comando ao arquivo /etc/rc.d/rc.local, com privilégios de root. No Debian, o arquivo se chama /etc/rc.d/rc.local. Em nosso exemplo, o comando a ser acrescentado é hdparm -d1 -X69 -u1 -m16 -c3 -k1 /dev/hdc. Graças à opção -k1, a configuração permanece ativa mesmo com um soft reset (reset de parâmetros do HD) enviado pelo sistema, para correção de possíveis erros. No Suse, o script de inicialização se chama boot.local. Mas, talvez seja preferível ativar o DMA no YaST. Para fazer isso, inicie o YaST, clique na seção Hardware e selecione a entrada Modo DMA do IDE. Essa opção lista os modos ativos para os drives do sistema (figura 4). Um menu na parte de baixo da janela permite a escolha do modo. Para configurar que os parâmetros se- Se sua máquina mostrar uma tendência jam carregados durante o boot, acres- para travar em leitura ou gravação de cente o comando hdparm com todas dados, tente um modo diferente.
Boot
34
Para desativar esse recurso, muitas vezes, serão necessários dois procedimentos, já que tanto o gerenciador de boot quanto o sistema operacional ativam o DMA. Comece desativando o DMA no gerenciador de boot. Para o Suse, e também para o Debian, abra o arquivo /boot/grub/menu.lst como root. Encontre a seção correspondente ao kernel padrão de boot e, no final da linha que começa com “kernel”, acrescente ide=nodma para informar à BIOS que o modo DMA não deve ser usado. No Mandriva 2006, acrescente ide=nodma ao arquivo /etc/lilo.conf. Isso deve ser feito na seção apppend do kernel padrão. Se o sistema travar na ativação do DMA durante a inicialização, é possível iniciar o sistema com um CD/DVD Knoppix para correção. Como root, digite mount -t auto /dev/hdc /harddisk para montar o disco no diretório harddisk. Nesse caso, é preciso criar esse diretório na raiz do sistema. Então digite cd /harddisk/etc/rc.d para entrar no diretório com os scripts de inicialização. Digite mv boot.idedma boot.idedma.old para renomear o arquivo que ativa o DMA na inicialização. No próximo boot, o sistema operacional vai ignorar o DMA. Agora é possível, como root novamente, mudar o nome do arquivo de volta: mv boot.idedma.old boot.idedma. E usar o YaST, no caso do Suse, para desativar o DMA. No caso de um comando hdparm adicionado manualmente ao script de inicialização, basta comentar essa linha fora, para restaurar o estado antigo. ■
Informações [1] Página do hdparm no Sourceforge.net: sourceforge.net/projects/hdparm/ [2] Padrão ATA: pt.wikipedia.org/wiki/ATA
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Capa
Prioridade multimídia
Conheça as ferramentas do Linux para aumentar a prioridade de aplicativos multimídia, obtendo o desempenho que esses programas precisam. por Oliver Frommel
Aumente a prioridade de programas exigentes
Tempo real M
esmo com os múltiplos GigaHertz e GigaBytes de velocidade e memória dos novos computadores, tarefas que envolvem multimídia pesada, como ver e gravar programas de TV, podem não rodar de maneira satisfatória. Em alguns casos, o desempenho insatisfatório pode ser conseqüência da prioridade insuficiente desse programa. Uma das grandes vantagens do Linux como sistema operacional acaba causando esse tipo de problema. Como o Linux foi projetado como um sistema multiusuário e multitarefa, a ênfase é manter muitos programas rodando ao mesmo tempo. Assim, por padrão, não há como um programa ganhar todo o poder do sistema. No entanto, como muitos dos computadores Linux atuais pertencem e são usados por um único usuário, essa
pessoa pode se beneficiar da técnica de aumentar a prioridade de aplicações multimídia que necessitam de mais recursos de processamento. Variações modernas do kernel Linux permitem que usuários definam prioridades mais altas para aplicativos individuais, dando a eles tratamento preferencial no que se refere a ciclos de processamento. Há muitas soluções diferentes para alterar essas prioridades de aplicações. Quem usa a última versão de sua distribuição preferida, pode perceber que muitas dessas técnicas estão ativadas no kernel padrão. Uma delas é o recurso Rlimits (abordado mais adiante neste artigo), ativado a partir da versão 2.6.14 do kernel. Durante as experiências para redefinir os níveis de prioridade do sistema, provavelmente você vai querer habilitar o modo preemptivo do kernel ao compilá-lo. Para saber se sua distribuição adiciona esse recurso por padrão, confira o arquivo de configuração do kernel, tipicaFigura 1: Se você está procurando por um sistema de resposta rápida, mente no diretório vai querer habilitar a opção CONFIG_PREEMPT ao compilar o kernel. /boot/grub.
36
No Ubuntu, por exemplo, esse arquivo se chama config-2.6.12-9-k7. Use o grep para buscar por PREEMPT. Se você descobrir que a opção CONFIG_PREEMPT não está ativa ou que existe a opção PREEMPT_NONE, é possível recompilar o kernel com configurações modificadas (figura 1). Contudo, o parâmetro CONFIG_PREEMPT_VOLUNTARY=y já seria aceitável. Mas PREEMPT seria melhor ainda. Se você realmente quer aumentar a prioridade de um programa multimídia, a prioridade de tempo real (realtime priority) é o grande objetivo. Ela dá à aplicação acesso quase completo aos recursos do sistema. Como efeito colateral, outros programas podem se tornar bem lentos. Se seu kernel é compatível com prioridade em tempo real, ainda será preciso descobrir como ativar esse recurso. Normalmente, apenas o usuário root pode rodar um programa com prioridade de tempo real, já que deixar qualquer usuário sugar todos os recursos do sistema para rodar seu aplicativo particular não é uma boa idéia. Contudo, iniciar aplicativos multimídia como root é outra má idéia. Para um usuário único (e responsável), a melhor solução é configurar o Linux para que a prioridade em tempo
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Prioridade multimídia
Capa
real possa funcionar sem a necessidade Por exemplo, any=1 espede privilégios de root. O objetivo deste cifica que qualquer prograartigo é analisar algumas técnicas para ma que solicitar prioridade rodar seus aplicativos com prioridade de de tempo real possa tê-la. tempo real, sem acesso root. Para mais controle, o parâUsuários avançados de programas de metro gid permite que você áudio desenvolveram há tempos uma especifique o ID de grupo técnica para satisfazer os requerimentos de programas autorizados. de tempo real do servidor de som Jack Por exemplo, se seus pro[2]: o módulo do kernel realtime-lsm [3]. gramas de áudio pertenDesenvolvedores não adicionaram esse cem ao grupo audio, com módulo ao kernel padrão devido a diver- um GID de 33, é possível sos mal entendidos, mas ele já provou carregar o módulo assim: seu valor em aplicações práticas. modprobe realtime-lsm O objetivo desse módulo é dar priori- gid=33. Isso permite rodar dade de tempo real para programas que o jackd em modo realtime não estejam rodando como root. Isso é com a opção -R, sem priviimportante para o Jack, já que ele precisa légios de root. Figura 2: O recurso Capabilities precisa estar na forma de rodar sob o mesmo ID de usuário dos módulo para se usar o realtime-lsm. programas que o acessarem (não é uma boa idéia rodar todo programa que use No lugar das técnicas que o Jack como root). descrevemos acima, a maioria dos Cada entrada começa com o grupo, No Ubuntu, por exemplo, o módulo re- desenvolvedores do kernel preferem seguido pelo recurso e, então, o valor. altime-lsm está nos repositórios oficiais. usar o mecanismo Rlimits para asso- A segunda coluna tipicamente especifiUsuários de outras distribuições podem ciar prioridades de tempo real para ca se o usuário pode modificar o valor baixar o código fonte. Para usar o realti- programas específicos. Por isso, ele se presente (“soft” se sim, “hard” se não). me-lsm, é necessário ter o recurso Capa- tornou parte do kernel padrão, na ver- Recursos incluem a prioridade realtime bilities do kernel funcionando como um são 2.6.14. Mas o “R” de “Rlimits” não (“rt_priority”), o nível nice (“nice”) e módulo, e não embutido no kernel. Esse significa “realtime” (tempo real), e sim a quantidade de memória para trancar é o caso com o Suse 9.3, mas não com o “resource” (recurso). Ele permite que se (“memlock”). Por exemplo: Fedora Core 4, em que seus usuários pre- especifique o uso de vários recursos do audio hard rt_priority 80 cisam recompilar o kernel e configurar sistema, como memória e, o que mais audio hard nice -10 o Capabilities como um módulo (figura nos interessa aqui: prioridades. 2). Usuários de outras distribuições vão O modo de usar o controle Rlimits, precisar do código fonte do kernel, ou que a maioria dos desenvolvedores pelo menos os cabeçalhos (headers), de- prefere, envolve o subsistema PAM Se preferir não atualizar todo o subsispendendo de sua distribuição. (Pluggable Authentication Module), tema PAM de sua distribuição, é possíApós satisfazer todos os requerimen- que gerencia senhas em muitas dis- vel usar uma ferramenta especial que tos, compile e instale o realtime-lsm tribuições (como Fedora, Suse...). In- gerencia apenas a prioridade realtime: com o comando make e, em seguida, felizmente, apenas as últimas versões o set_rtlimits [4]. Para evitar a situação make install. Se você adicionalmen- (0.79 ou mais novas) do PAM são com- em que qualquer usuário pode definir te rodar depmod -a, é possível, depois, patíveis com o Rlimits. Se, por acaso, prioridades à vontade, o administrador digitar modprobe realtime-lsm para você tem uma nova versão do PAM, pode usar o arquivo de configuração carregar o módulo. O realtime-lsm en- é possível especificar os usuários ou /etc/set_rtlimits.conf para espetende alguns poucos parâmetros que grupos que podem ganhar prioridade cificar quais usuários e grupos podem você pode configurar para influenciar de tempo real no arquivo /etc/secu- fazer isso. Adicionalmente, o arquivo o comportamento do módulo. rity/limits.conf. lista os programas com permissão para
Rlimits
set_rtlimits
37
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Capa
assumir prioridade realtime. A seguinte linha permite que um usuário chamado “joao” dê ao comando /usr/sbin/jackd prioridade realtime: joao /usr/bin/jackd -1 80
O primeiro número dessa linha determina o valor máximo do nice (consulte o manual do nice com man nice). O segundo valor define a prioridade máxima realtime. Um número negativo significa que não é permitido o usuário mudar o valor determinado. O programa detecta grupos de usuários autorizados baseados em um caractere “@” antes do nome do grupo. Por exemplo, “@audio”. Você pode então rodar o programa requerido passando seu caminho completo: set_rlimits -r=80 /usr/bin/mythfrontend
Como o Rlimits é agora parte do kernel padrão, as próximas versões da maior parte das distribuições vão ser compatíveis com esse recurso. Vamos esperar que isso leve a ferramentas menos complexas para que usuários gerenciem as prioridades dos programas de maneira mais simples.
Patches de Con Kolivas
Entre outras coisas, o patch inclui vá- do sistema. Mas, como as mudanças rias novas classes para tempo real. Por ainda não são parte do kernel padrão, exemplo, SCHED_ISO e SCHED_BATCH. A usuários ainda precisam compilar o prioridade de batch é útil para processos kernel otimizado. Há pacotes binários que tomam um longo tempo para serem para usuários do Fedora [7], mas eles completados em servidores. Essa classe não são muito atuais. permite que programas de servidores rodem um pouco mais, antes do agendador interrompê-los. Isso significa menos Claro que há limites para as técnicas tempo perdido em alternância de tarefas descritas neste artigo, e os resultados (task switching). Por outro lado, o servi- desse tipo de “tuning” vão variar condor não vai responder tão rapidamente à forme a sobrecarga no sistema. A prioentrada do usuário – algo aceitável em ridade de tempo real é na verdade o um servidor. “melhor esforço” dentro dessa área, mas ela não vai eliminar todos os problemas. Mesmo assim, em circunstâncias A classe de prioridade SCHED_ISO é como normais, as técnicas descritas trazem uma versão leve da prioridade realtime. resultados bem tangíveis na forma de Ela não requer privilégios de root, mas mais velocidade e estabilidade para também não define a mais alta priorida- muitos programas multimídia. ■ de. Se um usuário sem privilégios de root Informações tentar definir a prioridade de tempo real para um aplicativo, o agendador Kolivas [1] Patches de Con Kolivas: members.optusnet.com.au/ automaticamente coloca o programa em ckolivas/kernel/ uma classe SCHED_ISO. [2] Servidor de audio Jack: Em nossos testes, o comando schedtojackit.sourceforge.nets ol se mostrou útil para a configuração de [3] Realtime-LSM: prioridades. Para usá-lo, apenas execute o sourceforge.net/projects/realtime-lsm programa com a requerida prioridade: [4] set_rtlimits: www.physics.adelaide.edu.au/ schedtool -R -p 50 -e mplayer teste.avi ~jwoithe
Conclusão
Realtime leve
[5] schedtool: freequaos.host.sk/schedtool A opção -R define a prioridade de tempo real, -p 50 é o valor. Se o -e estiver faltando, o Schedtool espera o ID do processo ativo. O pacote schedutils de Robert Love [6] realiza uma tarefa similar ao Schedtool, mas ele não é compatível com todo o conjunto das prioridades do agendador. Em nossos testes, o conjunto de patches de Con Kolivas provou ser a técnica mais efetiva. Com ele, o programa MythTV tocou e decodificou uma transmissão de TV digital sem defeitos de vídeo ou som em uma máquina sobrecarregada com processos
[6] schedutils: rlove.org/schedutilss [7] Kernel desktop para Fedora: apt.bea.ki.se/kernel-desktop
Sobre o autor
Não muito tempo atrás, um médico chamado Con Kolivas agitou bastante a lista de emails do kernel. Ele aprendeu programação C rapidamente e passou a “hackear” o kernel. Finalmente, otimizou o agendador (scheduler) do kernel. Esse é o componente que associa tempo de CPU aos programas ativos. Quanto menos o agendador precisar fazer isso, mais rápido o programa roda, chegando perto do tempo real. O agendador de Con Kolivas é agora parte do kernel padrão. Mas há alguns outros patches voltados para desempenho em sua página na internet [1].
38
Prioridade multimídia
Oliver Frommel foi programador e administrador de sistemas da Ars Electronica Center, em Linz (Áustria), por muitos anos. Após concluir seus estudos de Filosofia, Linguística e Ciência da Computação, se tornou editor da Bavarian Broadcasting Corporation. Hoje é editor do Centro de Competência de Software da Linux New Media AG.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Sistema de Arquivos
Capa
Comparativo de sistemas de arquivos
Estrutura certa
Muitos usuários aceitam apenas as opções padrão e nem consideram os diferentes sistemas de arquivos durante a instalação. Se o seu objetivo é desempenho, saber o que cada um oferece é fundamental. por Marcel Hilzinger
N
as distribuições Linux atuais, é possível selecionar um sistema de arquivos com apenas alguns cliques. Em alguns casos, nem há possibilidade de fazer essa escolha durante a instalação. A maioria dos usuários simplesmente adere ao padrão de sua distribuição. Para quem está de olho no desempenho, vale a pena considerar as opções de sistemas de arquivos antes da instalação. Levando em conta os resultados gerais dos testes realizados pela Linux Magazine, o XFS (com kernel 2.6) é tão rápido quanto o ReiserFS e o Ext3. Já a próxima versão do Reiser trará ganhos de velocidade enormes. Os desenvolvedores do Reiser4 estão procurando garantir a maior fatia possível do bolo dos sistemas de arquivos Linux, com um novo design interno e recordes de velocidade. No entanto, ainda há falhas básicas a serem eliminadas. Ou seja, ele não está pronto para uso em sistemas produtivos.
Padrões A maioria absoluta dos computadores Linux de hoje usa ou o Ext3 [1] ou ReiserFS [2] como os sistemas de arquivos principais, já que eles são as opçõespadrão na maioria das distribuições. O ReiserFS e o Ext3 não são particularmente rápidos nem possuem um conjunto impressionante de recursos. Mas os responsáveis pelas distribuições costumam turbinar seus sistemas de arquivos com patches de otimização. Isso faz muita diferença, em termos de desempenho. Sob esse ângulo, acaba sendo bastante difícil tirar conclusões universais sobre esses sistemas de arquivos. O quadro 1 (“Tudo começou com o Ext2”) ajuda a entender porque as distribuições usam sempre Ext2 ou ReiserFS. Eles são dois membros da família de sistemas de arquivos com journaling. Basicamente, journaling é uma técnica de prevenção de perda de dados, em que eles são gravados duas vezes: primeiro na área de journal, depois em seu
destino final. Assim é fácil ver porque um sistema de arquivos com journaling perde velocidade. Por padrão, o Ext3 e o ReiserFS usam um modo especial, em que o sistema apenas grava os metadados (informações sobre mudanças no sistema de arquivos) na área de journal, em vez dos dados de fato. Para montar uma partição Ext3 ou ReiserFS desse modo, é preciso usar a opção data=ordered. Ela é ativada por padrão na maioria das distribuições. A tabela 1 mostra mais informações sobre outras opções de montagem.
Opções de montagem Se a integridade dos dados é a preocupação principal e velocidade for um item secundário, a opção de montagem data=journal é recomendada. Ela diminui o desempenho de gravação do Ext3 em 50%. No caso de arquivos grandes, a taxa de redução da velocidade fica em 20 % (veja a figura 1). Mas essa opção não é recomendada para o diretório root,
39
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Capa
apenas para partições de dados separadas. Por exemplo, o diretório /home – situação em que essa recomendação por ser feita sem ressalvas. Já a opção data=writeback permite a gravação na área de journal antes dos dados chegarem ao destino final, o que traz um ganho de performance de 10%. Essa opção é útil para a partição root, em que ocorrem muitas operações de escrita e a perda de dados pode ser aceitável. Obviamente, uma partição /home ou de dados é recomendada nesse caso. O Ext2 ainda possui excelente desempenho para sua longa idade. Em muitos testes, o veterano é mais rápido que o Ext3 ou o ReiserFS. De novo, isso mostra que os recursos de journaling do Ext3 reduzem a performance, em relação ao Ext2. Para partições sem dados críticos (como um /tmp), o Ext2 é preferível ao Ext3, se o tamanho for inferior a 1 GB. Em todos os outros casos, o Ext2 não é recomendado, já que a checagem no sistema de arquivos pode demorar mais que a restauração de um becape. O Ext2 ainda é o sistema padrão de partições
Sistemas de Arquivos
de boot separadas, já que ocupa menos espaço (apenas o journal do ReiserFS, por exemplo, precisa de 33MB).
Reiser4 e XFS Se o desempenho está no topo da lista de requerimentos, a melhor escolha é o Reiser4. Os benchmarks da Linux Magazine confirmam a afirmação na página da Namesys (empresa responsável pelo sistema) de que o Reiser4 é duas vezes mais rápido que o ReiserFS. Esse sistema de arquivos venceu mais avaliações que qualquer outro no quesito velocidade. Ele é três vezes mais rápido que o segundo colocado, o XFS [3], na tarefa de criar 50 mil arquivos. Isso é uma evidência clara de quanto trabalho seus desenvolvedores colocaram na otimização do desempenho de gravação. E o Reiser4 é, pelo menos, de 10 a 20 vezes mais rápido que o rival mais próximo em todas as outras operações de gravação. É o sistema de arquivos Linux mais rápido. Já quanto ao uso dos recursos de processamento, as coisas não são tão boas.
Quadro 1:Tudo começou com o Ext2 Quem usa Linux há bastante tempo vai lembrar da época em que, praticamente, todas as distribuições usavam o Ext2 como sistema de arquivos padrão. Ele foi o sistema de arquivos Linux mais popular por 8 anos. A primeira versão do Linux usava o sistema de arquivos do Minix. Um grupo de programadores começou a trabalhar em um novo sistema de arquivos em 1992: o Extended Filesystem, ou ExtFS. Infelizmente, ele estava infestado de bugs e, um ano depois, Rémy Card lançou o Second Extended Filesystem (Ext2). O Ext2 se desenvolveu como um sistema estável e estensível, embora tivesse uma desvantagem: como ele não tinha journaling, verificações intermináveis tinham que ser realizadas no caso de corrupção de arquivos e também em intervalos regulares, como precaução. Dependendo do tamanho do disco rígido, uma simples checagem levava muitas horas. Além disso, eram necessárias ferramentas proprietárias para aumentar ou encolher o sistema de arquivos “on the fly”, ou seja, sem precisar desmontá-los. Na virada do milênio, os discos rígidos estavam muito grandes e as checagens, muito lentas para o Ext2. Prevendo esse problema, desenvolvedores do kernel já tinham lançado dois projetos para tentar resolver isso. Um era o Ext3 como um extensão
40
Por exemplo, na criação seqüencial de 50 mil arquivos, o sistema causou uma carga na CPU de 26%. Todos os outros ficaram entre 1% e 4%. Na média, o Reiser4 causa cerca de 10% mais processamento que os outros. Em alguns casos, esse aumento passa de 50%. De fato, o ReiserFS foi o único sistema a exigir mais ciclos de CPU que o Reiser4, em algumas categorias testadas. Se o seu computador tem uma CPU lenta, é melhor ficar com o Ext3 ou XFS. O Reiser4 também não possui alguns recursos básicos como cotas ou listas de controle de acesso (ACL – Access Control List). Já o XFS tem tudo o que é necessário para ser o sistema de arquivos número 1. É usado em uma boa fatia dos sistemas produtivos e suporta cotas, ACLs e atributos estensíveis. O XFS é o sistema mais rápido depois do Reiser4, chegando a bater o primeiro colocado em algumas categorias. Ele é bom particularmente ao lidar com grandes volumes de dados. O desempenho foi excelente com arquivos de 4 GB. Para quem pretende editar vídeos, o XFS é a melhor opção.
journaling do Ext2. A outra era um novo sistema de arquivos, do zero, com journaling nativo: o ReiserFS v3. Esse último venceu a corrida e se tornou o primeiro sistema de arquivos com journaling para Linux, em 1999. A distribuição Suse, o principal patrocinador dessas iniciativas, estava extremamente interessada em redimensionamento “on the fly”. Ela foi a primeira a incluir o ReiserFS, como padrão, no Suse 6.4, lançado no início de 2000 (na verdade, o ReiserFS já estava disponível como um update da versão 6.3). Mas o ReiserFS ainda tinha alguns problemas. Por exemplo, não trabalhava tão bem com o sistema NFS. Já o Ext3 foi lançado primeiro como o sistema de arquivos oficial do Red Hat 7.2, em 2001. A Red Hat optou pelo Ext3, já que ele se mostrava pronto para ser incluído oficialmente no kernel Linux (isso aconteceu na versão 2.2.15 do kernel, na série que antecedeu o ramo 2.4). O ReiserFS teve que esperar até o kernel 2.4.1 para a inclusão oficial. Mas a maioria das distribuições já usava esses dois sistemas como opção padrão, já que ambos tinham a reputação de serem bastante estáveis. No mesmo ano (2001), dois sistemas de arquivos Unix foram portados para o Linux. O XFS, da Silicon Graphics, é um dos melhores sistemas para arquivos de 1 MB ou mais. Já o JFS, da IBM, falhou em se estabelecer e nem é mais parte oficial de muitas distribuições.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Sistema de Arquivos
Capa
Tabela 1: Opções de montagem Opção
Função
data=journal
Essa opção, que primeiro copia toda informação para a área de journal antes de armazená-la no destino final, garante segurança máxima dos dados. Contudo, a velocidade cai cerca de 50% tanto no Ext3 quanto no ReiserFS: operações de escrita levam o dobro do tempo.
data=ordered
Essa é a opção padrão da maioria das distribuições. O sistema de arquivos primeiro grava os dados em seu destino final. Depois, cria a entrada journal para a operação realizada.
data=writeback
Isso leva a um ganho de velocidade de 10% no Ext3 e cerca de 30% no ReiserFS, em relação à opção padrão. Permite que entradas journal sejam criadas antes da finalização da operação de escrita. No caso de falhas, os arquivos podem ser recuperados. Essa opção só está disponível para o Reiser no kernel 2.6.
data=notail
Apenas para ReiserFS. Por padrão, o ReiserFS usa o espaço não usado em blocos para armazenar o excesso de dados de outros blocos. Isso permite um ganho de 10% a 20% no armazenamento, em comparação com uma partição de Ext3 de mesmo tamanho. Como isso diminui ligeiramente o desempenho, o recurso pode ser desabilitado com a opção data=notail. Mas o aumento do desempenho não chega a 5%.
Quem ganha? Na maioria dos casos, você não vai se arrepender ao optar pelo Ext3 ou ReiserFS. Mas há algumas situações em que um é melhor que o outro. O ReiserFS demora para montar partições. A diferença, em comparação com o Ext3 ou XFS, é mínima para partições de 5 GB ou 10 GB. Já com uma de 80 GB, o Ext3 dará vários segundos de vantagem no tempo de boot. É por isso que o ReiserFS não é recomendado para discos rígidos externos. Ao espetar um HD de 200 GB com um sistema de arquivos ReiserFS, por exemplo, será preciso esperar mais de 10 segundos para o disco ser montado. Com o Ext3, isso é feito em três segundos. Mas arquivos pequenos e processos de formatação são grandes desafios para o Ext3. Por exemplo, ele leva cerca de cinco minutos para criar uma partição de 200 GB. Quem costuma reformatar partições sempre, deve optar pelo ReiserFS ou XFS, que fazem a mesma tarefa em poucos segundos. Já para quem trabalha com muitos arquivos, de aproximadamente 100 KB cada, o ReiserFS novamente é a melhor opção, independente do que a distribuição em questão sugerir. O
sistema de arquivos da Namesys é muito mais rápido que o Ext3 ou XFS com arquivos desse tamanho. Evite também o Ext3 para diretórios com muitos arquivos, já que esse sistema de arquivos especifica o número de inodes (estruturas de dados) durante a formatação. Isso restringe o número de arquivos que podem ser armazenados na partição. O ReiserFS e o XFS trabalham com alocação dinâmica de inodes. Isso elimina completamente o risco de ter espaço em disco, mas nenhum inode livre. O Ext3 e o XFS são preferíveis se você usar o PC para gerenciar grandes coleções de áudio ou vídeo. O XFS é
bem mais rápido para arquivos com mais de um GigaByte em relação ao Ext3 e o ReiserFS. O gerenciamento do espaço requerido é outro fator importante. Devido a seu formato eficiente, o ReiserFS armazena arquivos menores em menos espaço que o Ext3 ou XFS. Por exemplo, os arquivos fonte do kernel ocupam 250 MB no ReiserFS, 252 MB no XFS e 260 MB no Ext3. Como recomendação final, não esqueça de otimizar o uso de seu disco. A maioria dos HDs acessam mais rapidamente os últimos cilindros do que o começo do disco. Se esse for o caso, é melhor colocar as partições root e de dados no final do disco. ➟
Figura 1: Desempenho de escrita usando a ferramenta de benchmark IOzone. Em modo journaling, o Ext3 e o ReiserFS têm velocidades (baixas) semelhantes. Já os modos Writeback e Ordered aumentam o desempenho do Ext3 e do ReiserFS em 40% e 120%, respectivamente.
41
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Capa
Sistemas de Arquivos
Tabela 2: Cópia dos arquivos-fonte do kernel
Otimização
Primeiro as boas notícias: a maioDistribuição Sistema de arquivos Tempo ria das distribuições implementam Ubuntu 5.10 Ext3 70s diversas otimizações por padrão. Ubuntu 5.10 ReiserFS 65s Contudo, há muitos parâmetros Suse 10.0 ReiserFS 100s do ReiserFS e do Ext3 que podem Suse 10.0 Ext3 70s aumentar ligeiramente o desempeSuse 10.0 XFS 80s nho. Sistemas de arquivos Linux armazenam a data e hora do último acesso a cada arquivo. É possível desativar isso com o parâmetro de 5.10, descobrindo que o Ext3 e o ReiOutra técnica para acelerar discos montagem noatime. Essa opção serFS são ligeiramente mais rápidos é jogar a área de journal em um segundo HD (de preferência, coexiste para o Ext3, ReiserFS e XFS. em comparação com o Suse. Não há desvantagens em especificar Usar ReiserFS no diretório root nectado a outra controladora IDE). o noatime em computadores pes- no Suse 10 faz o sistema todo ficar Para fazer isso com o Ext3, especisoais. Outra opção é o nodiratime, mais lento. Após uma reinstalação fique -O journal_dev /dev/hdd1 que desativa o registro de data e usando Ext3 no diretório root, có- ao criar a partição (assumindo que hora para diretórios. pias para a partição ReiserFS foram hdd1 é a partição de journaling). No Para testar essa opção na partição mais rápidas, atingindo as mesmas ReiserFS, a opção é -j /dev/hdd1. /dev/hda6, que será montada em / velocidades do Ubuntu. Um desenvolvedor do kernel recenteste, use o seguinte comando: Já a opção data=writeback é outro temente descobriu um bug em que assunto (veja a tabela 1). As diferenças o ReiserFS cai (crash) sob intenso mount -o noatime,nodiratime /dev/hda6 U são facilmente mensuráveis, e o ga- processamento. Para evitar esse erro, /teste nho é de 10% com o Ext3 e mais de é melhor obter a última versão do 30% com o ReiserFS. Contudo, essa ReiserFS antes de tentar usar um Para acrescentar essa opção de não é uma opção fácil de configurar journal externo. A opção para o XFS modo permanente, edite seu arquivo com Ext3 no diretório root (pelo me- é -l logdev=/dev/hdd1. /etc/fstab, acrescentando as entra- nos no Suse). Para otimizar o /dev/ O ReiserFS ainda tem outras opdas noatime,nodiratime às opções hda7, por exemplo, é preciso rodar ções de montagem que aumentam existentes na quarta coluna. o comando tune2fs /dev/hda7 -o a performance. Como muitas delas Em nossos testes, essa opção deu journal_data_writeback. são altamente experimentais, talum ganho ligeiro no desempenho O recurso dir_index pode melho- vez seja preferível saltar logo para de gravação para o ReiserFS, em- rar a velocidade de grandes partições o Reiser4, caso queira mesmo se bora os resultados do teste tenham Ext3. Essa opção ativa uma técnica aventurar. Obviamente, o Reiser4 é variado bastante. Com o Suse Linux especial que acelera a busca em gran- parcialmente experimental, mas é 10.0 OSS, sem essas opções, a cópia des diretórios. Para otimizar uma par- muito mais rápido. Em nosso teste dos fontes do kernel de uma partição tição Ext3 dessa maneira, é preciso de cópia dos fontes do kernel, isso para outra levou 110 segundos. Com digitar os comandos: pôde ser feito em 30 segundos. noatime,nodiratime, o processo leO Suse 10 vem com pacotes Reivou 100 segundos. tune2fs -O dir_index /dev/hda7 ser4. Se você planeja instalar o fsck.ext3 -fD /dev/hda7 novo sistema de arquivos Reiser, De maneira interessante, o Ext3 foi bem mais rápido nesse teste. Levou primeiro instale os pacotes libaal apenas 70 segundos, com ou sem a No caso de uma partição nova, a e reiser4progs, com o YaST. Deopção noatime. O XFS levou 80 segun- checagem (fsck) não é necessária. pois, formate a partição alvo com o dos para copiar esses 20 mil arquivos, Apenas digite mkfs.ext3 -O dir_in- comando mkfs.reiser4 /dev/hdxx. também independente dessas opções. dex /dev/hda7 (levando em conta Há um tutorial (em inglês) para a Repetimos esses testes com o Ubuntu que a partição nova é a hda7). instalação no Ubuntu na lista de
42
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Sistema de Arquivos
Reduza a marcha Se velocidade for uma consideração secundária, sendo mais importante a segurança dos dados, sempre é possível diminuir a velocidade do sistema de arquivos. A opção data=journal diz ao Ext3 e ao ReiserFS para gravar os dados no journal primeiro e, só depois, no destino final. Como isso duplica o trabalho, o desempenho será bem afetado. Mas a chance de encontrar todos os dados após um crash é muito maior do que com as opções-padrão. Se uma máquina costuma falhar com freqüência, essa é uma boa opção para assegurar a integridade dos dados. Para atingir bom desempenho junto com o
data=journal, é possível usar um
segundo disco para o journaling.
Conclusão Afinar o desempenho de sistemas de arquivos toma muito tempo, e os ganhos freqüentemente são mínimos. Faz muito mais sentido escolher o sistema de arquivos certo para sua aplicação durante a instalação, do que tentar otimizá-lo depois. No caso do Suse 10, o Ext3 é uma opção melhor: o sistema inicia mais
rapidamente e partições também são montadas com mais velocidade. Mas, no geral, Ext3 e ReiserFS são sistemas bem equivalentes. O XFS é uma opção útil para a edição de vídeo. Maníacos por velocidade vão optar pelo Reiser4, mas cuidado: instalar o Reiser4 no diretório root traz conseqüências imprevisíveis. Talvez seja melhor usar uma distribuição que traga o Reiser4 como opção de instalação, como o Underground Desktop (leia mais na pág. 42). ■
Informações [1] Ext3: www.zipworld.com.au/ ~akpm/linux/ext3/ [2] ReiserFS: www.namesys.com [3] XFS: linux-xfs.sgi.com/projects/xfs/ [4] Reiser4 no Ubuntu: tinyurl.com/p96lr [5] Instalação do Reiser4: www.namesys.com/install_v4.html
Sobre o autor
emails do Reiser4 [4]. O tutorial oficial da Namesys pode ser consultado aqui [5].
Capa
Com formação acadêmica de historiador, Marcel Hilzinger trabalha no escritório do Suse Linux de Budapeste desde 2001. Ele traduziu a documentação oficial da distribuição para o húngaro, entre muitas outras tarefas...
43
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Análise
Super Linux e Underground Desktop
Sistemas otimizados para desempenho
Nascidos para voar Distribuições mais experimentais
podem assumir riscos na busca pela melhor performance. Conheça duas promissoras “experiências” do tipo: Super Linux e Underground Desktop. por Marcel Hilzinger
A
beleza do Linux é que é possível O desempenho superior é obtido com moldá-lo para qualquer fim. Mui- tecnologias consideradas arriscadas e tas distribuições focam no alto novas demais para um produto tradidesempenho. Obviamente, há muitos cional como o Suse. caminhos para se chegar a isso. Cada Já o Underground Desktop Linux segue sistema otimizado para velocidade usa um caminho diferente para conseguir técnicas diferentes para melhorar a per- mais velocidade. Diferentemente de formance. Neste artigo, vamos analisar muitas distribuições baseadas em “giduas dessas distribuições “construídas gantes” como Debian, Suse e Red Hat, o para voar”. São relativamente desconhe- Underground deriva da veloz, minimacidas, mas muito promissoras. lista e moderna distribuição Arch Linux Baseado no Suse, o Super Linux foi (analisada na Linux Magazine nº 18). O construído para servir como campo Arch é otimizado para alto desempenho de testes para novas tecnologias, que na arquitetura i686. Essa estrutura de podem ser incorporadas ao Suse. Ele, alta velocidade é a base do Underground, essencialmente, é uma versão mais rá- que oferece um ambiente mais amigável, pida e “moderna” que o Suse OSS (ver- voltado para computadores pessoais. são 100% de código aberto, disponível Confira o que descobrimos ao levar para download) do projeto openSuse. essas distribuições para um test-drive.
Super Linux: instalação Baseadas no Suse, as distribuições Super [1] e Slick [2] começaram como projetos separados, ambas com o objetivo de acrescentar recursos não disponíveis no projeto-mãe. Como havia muito esforço duplicado desnecessariamente, os desenvolvedores decidiram concentrar a energia em um projeto só. Quem está interessado em testar o Super pode escolher uma das três imagens ISO no link [3]. O arquivo super-openSUSE-final-20051003-standard-minimal.iso contém o sistema básico,
sem ambiente gráfico. Os outros dois se referem a instalações com o KDE ou o Gnome. Confira o quadro 1 (“Acelerando o Suse”) para saber como converter um Suse instalado no Super. A instalação
Quadro 1:Acelerando o Suse Quem já tem o Suse instalado pode otimizá-lo com os recursos do Super, acrescentando os repositórios apt do Super. Primeiro, instale o apt, via YaST. Depois, como root, abra o arquivo /etc/apt/sources.list e insira a seguinte linha: rpm http://ftp4.gwdg.de/pub/linux/suse/apt SuSE/10.0-i386 rpmkeys base java update extra suser-jengelh suser-guru suserjogley suser-agirardet packman packman-i686 wine suse-people security
Quem já usou Debian ou uma distribuição derivada não vai estranhar os próximos passos para transformar o Suse no Super-Suse: apt-get update apt-get install kernel apt-get dist-upgrade
44
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Super Linux e Underground Desktop
Figura 1: O instalador baseado em texto do Underground Desktop solicita apenas duas partições e a senha root. O resto é feito automaticamente. do Super não difere muito de uma típica instalação Suse. Duas diferenças que notamos de cara no Super: P A porta 22 fica aberta por padrão para acesso remoto SSH. P O login automático do KDE é desativado por padrão. Ao terminar a instalação e reiniciar, o Prelinker é configurado, para que os programas iniciem mais rapidamente. Ele modifica todos os arquivos binários e bibliotecas. Dependendo da CPU, esse processo pode levar mais de 45 minutos. Depois disso, é possível se logar no KDE ou no Gnome com seu nome de usuário.
Após iniciar o sistema pelo CD, uma tela de boas-vindas aparece listando as etapas necessárias (figura 1). Clique em OK e selecione o disco onde o sistema será instalado. Clique na entrada mostrando o tamanho do disco e crie uma partição swap e uma root (requerimentos mínimos). Escolha o tipo 82 para a partição swap e 83 para a root. Saia do menu e selecione DONE para continuar. Em nossos testes, o Underground não pode gerenciar partições existentes e mostrou o seguinte erro: /bin/setup: 473: Syntax error: 5245191 32098/1000000
Análise
Após apagar duas partições e reiniciar, a ferramenta de particionamento cfdisk funcionou como deveria. Se preferir formatar uma partição existente, apenas selecione DONE. Use as próximas telas para especificar a partição root e a área de swap. É possível selecionar a partição que acabamos de criar ou escolher uma existente para formatar. Defina a senha de root na próxima janela. Após essa etapa, será exibido um resumo da instalação a ser feita (figura 2). O procedimento todo leva menos de dez minutos. É possível então se logar como root no novo desktop KDE. Em nossos testes, o hardware não foi bem reconhecido. A resolução foi definida como 1024x768 em vez de 1280x1024. E foi impossível ativar a aceleração 3D na placa de vídeo ATI.
Retoques finais Tanto o Underground quanto o Super mostram a janela de login do KDE após a instalação. O desktop Super é bem polido e sem excessos, mantendo-se nos padrões Suse. O Underground coloca vários ícones na área de trabalho (alguns dos quais ajudam a configurar a sistema), incluindo alguns jogos. A primeira coisa que testamos foi o acesso à Internet. O Super dá acesso via DHCP após solicitarmos uma conexão. O
Underground A instalação do Underground Desktop [4] é toda baseada em texto. Antigamente, essa distribuição usava o Debian como base e tinha um instalador gráfico. Mas os desenvolvedores resolveram mudar para o Arch. A versão 020 do Underground é baseada no Arch Linux “Noodle” e, como o Super, acrescenta os patches CK (Con Kolivas) ao kernel [5] (leia mais sobre isso na pág.36). O Underground Desktop usa o velocíssimo (porém ainda instável) sistema de arquivos Reiser4 e a versão RC1 do KDE 3.5.
Figura 2: Antes do início dos procedimentos de instalação do Underground, um resumo das alterações a serem aplicadas é mostrado.
45
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Análise
Super Linux e Underground Desktop
Figura 3: Guzuta: o gerenciador gráfico de pacotes do Underground.
Underground configura um endereço IP estático. Mas á possível clicar em Lan Setup para mudar para DHCP. Também há ícones para conexão ADSL ou por modem na área de trabalho do Underground, mas ele não suporta ISDN. O som e a impressão funcionaram de primeira. O gerenciador gráfico de pacotes do Underground, o Guzuta, já vem préconfigurado. Após iniciar o programa e clicar em Refresh, é possível instalar pacotes de todos os repositórios Arch: Community, Current, Extra e Testing. Já a ferramenta de linha de comando pacman pode ser usada para se instalar pacotes via terminal. No Super, isso já foi mais trabalhoso. É preciso acrescentar os repositórios Apt ao arquivo /etc/apt/sources.list (veja o quadro 1: “Acelerando o Suse”). Estranhamente, o Super não vem com uma interface gráfica para o Apt. Mas isso pode ser contornado com o comando:
46
apt-get install kynaptic
Assim, teremos a interface Kynaptic para o Apt. Depois disso, até novatos não vão ter dificuldade nenhuma para instalar pacotes.
Prós e contras Tanto o Super quanto o Underground foram projetados para serem distribuições velozes para computadores pessoais, embora a versão 020 do Underground seja claramente uma versão teste. Os problemas de desempenho do Underground nos desapontou muito. DVDs e arquivos de vídeo foram tocados com engasgos e outros programas não iniciaram tão rápido como esperávamos, chegando a travar algumas vezes. Após alguma pesquisa, descobrimos que o sistema de arquivos Reiser4 é o culpado. Ele costuma travar tudo por uma fração de segundo enquanto sincroniza o sistema de arquivos. A
ferramenta do KDE Ksysguard mostra esses picos de CPU (figura 4). É possível contornar esse problema (mas não eliminá-lo por completo) usando as opções de montagem noatime, nodiratime no arquivo /etc/fstab. O interessante é que esse problema não afetou todas as máquinas em que testamos o Underground. Ainda estamos tentando descobrir a causa do problema. Mas o Underground tem uma boa seleção de pacotes: o Mplayer e o Xine já vêm instalados, assim como a biblioteca libdvdcss (para execução de DVDs). As notificações do sistema já estão configuradas e o Underground tocou arquivos de áudio de primeira. Ele também passou em nosso “stress-test”: queimar um CD, compilar um programa e tocar um MP3 ao mesmo tempo. No entanto, a seleção de pacotes do sistema básico é um pouco estranha, já que não há aplicativos básicos como OpenSSH para acesso remoto ou hdparm para otimização do disco rígido. Ficamos surpresos também com o gerenciador de boot padrão: o Lilo. O
Perfil: Super/Slick
Público-alvo: Usuários avançados (com conexão de banda larga) que não têm medo de experimentar uma nova distribuição, ou usuários experientes do Suse que prefeririam um sistema básico mais enxuto. Recursos especiais: Três ISOs diferentes disponíveis: sistema mínimo de 290 MB sem ambiente gráfico, ou discos completos de 650 MB com KDE ou Gnome. Patches de Con Kolivas para otimização multimídia. Não adequado para: Usuários iniciantes ou sem conexão com Internet.
Perfil: Underground Desktop
Público-alvo: Usuários avançados (com conexão banda larga). Experiência com Arch ou Debian é útil, mas não essencial. Recursos especiais: Sistema de arquivos Reiser4 e KDE 3.5. Recheado de programas beta. Patches Archck5 para desempenho excepcional de multimídia. ISO de 600 MB. Não adequado para: Novatos no Linux ou qualquer pessoa que se irrite facilmente.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Super Linux e Underground Desktop
Análise
Figura 4: O monitor de sistema do KDE indicando os picos de CPU do Underground Desktop.
Grub é muito superior, principalmente em /mnt como o novo diretório root (chroot máquinas com diversas distribuições. Mas /mnt) e digite o comando lilo, para que isso tem a ver com a escolha do Reiser4, o Lilo seja reinstalado. compatível apenas com o Lilo. Quanto ao Super/Slick, não houve neO tempo de boot do Underground é nhum problema de performance. Usando rápido (35 segundos), mas o sistema o Ext3 como sistema de arquivos, o Super não correspondeu às nossas expectati- conseguiu um recorde em tempo de boot: vas quanto ao Reiser4. Caso os bugs do 29 segundos. Ele também passou incólume Reiser sejam corrigidos na versão 021, no teste de queimar um CD, compilar um aí sim vai valer a pena conferir a nova programa e tocar um arquivo multimídia versão do Underground. ao mesmo tempo. Há uma única ressalva: o visual do Super é muito parecido com o do Suse para causar a impressão de algo Se você tentar substituir o Lilo pelo Grub realmente novo. Mas a nova versão do após a instalação, não será possível ini- Super conterá um KDE modificado. Essa ciar mais o Underground, já que o Grub versão provavelmente já vai estar dispoainda não é compatível com o Reiser4. nível para download quando você estiver No entanto, é possível usar algum recu- lendo esta revista. ■ perador (como o sistema de recuperação Informações do Suse) para reinstalar o Lilo. Para fazer isso, inicie o modo de recuperação e car- [1] Super: www.opensuse.org/SUPER regue o módulo Reiser4 com o comando [2] Slick: www.opensuse.org/SLICK modprobe reiser4. [3] Download de ISOs Super: ftp://opensuse. Agora monte a partição do Underlinux.co.nz/pub/SUPER/iso/ ground em um diretório temporário. [4] Underground Desktop: Caso a partição Underground seja /dev/ www.ludos.org/Underground/ hda7 e o diretório temporário /mnt, por [5] Pacotes CK Arch: iphitus.loudas.com/archck.php exemplo, o comando é mount -t rei-
Grub X Lilo
ser4 /dev/hda7 /mnt. Agora defina o
47
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Análise
CentOS
CentOS: o fator corporativo
Empresa livre
A estabilidade e longevidade de distribuições corporativas custam caro. Mas uma alternativa livre é o Community ENTerprise Operating System, também conhecido como CentOS. Conheça os detalhes do sistema, na apresentação de um dos líderes do projeto. por Johnny Hughes
M
uitas pessoas ainda se perJá uma distribuição corporativa (ou guntam: o que é um sistema “enterprise”, como costuma ser chamada) operacional corporativo? Não tem um ciclo de lançamentos e suporte é um sistema feito para usuários ávidos bem mais longo. São sistemas operapelos “melhores” e mais novos progra- cionais projetados para longevidade e mas, com gráficos de última geração, estabilidade. Surge uma nova versão a os mais recentes kernels, listas inter- cada 12 ou 18 meses, com suporte entre mináveis de games e outros aplicativos. 5 a 7 anos para cada uma. Antes das distribuições corporativas, Esses usuários preferem distribuições com ciclos de lançamento curtos, mas usuários de GNU/Linux precisavam atuque requerem atualizações constantes, já alizar seus sistemas, pelo menos, todo que o suporte vai sumindo à medida que ano para manter a habilidade de incornovas versões vão aparecendo. Nessas porar updates de segurança. O problema distribuições convencionais, cada versão disso é que scripts e programas customitem suporte entre 12 a 18 meses depois zados frequentemente começam a falhar do lançamento. após uma atualização de componentes como Bash, GCC ou Python. Quadro 1: Duração do suporte Um sistema operacional corporativo não muda as versões de seus componenO CentOS usa a seguinte agenda de suporte: tes-chave durante seu ciclo de vida. O obP Centos-2: Todas as atualizações (incluindo jetivo é um produto estável a longo prazo, updates de drivers): terminou em 31 de para usuários que querem construir seus maio de 2005. Atualizações de manutenção: 1 de junho de 2005 a 31 de maio de 2009. processos em cima disso e mantê-los por muitos anos. Obviamente, eles ainda P CentOS-3: Todas as atualizações (incluindo updates de drivers): até 31 de outubro de precisam de atualizações de segurança, 2006. Atualizações de manutenção: 1 de nomas não “quebram” componentes como vembro de 2006 a 31 de outubro de 2010. módulos API do Apache ou opções de P CentOS-4: Todas as atualizações (incluindo compilação C. Essa longevidade e esupdates de drivers): até 29 de fevereiro de tabilidade permite que seus usuários 2008. Atualizações de manutenção: 1 de invistam em software customizado e março de 2008 a 29 de fevereiro de 2012. desenvolvam práticas administrativas
48
nessa estrutura, sem receio de que o sistema operacional fique obsoleto e impossível de atualizar. Mas isso tem um custo, geralmente bem significativo. A licença da maioria desses sistemas custa entre US$ 300 e US$ 2.500 por ano, por servidor, incluindo atualizações e suporte telefônico. Os planos mais caros incluem vantagens como respostas mais rápidas e horas extras de suporte.
Projetos recompilados Muitos membros da comunidade GNU/ Linux começaram a se perguntar se seria possível obter o melhor dos dois mundos: um sistema estável de longos ciclos a custo zero. O surpreendente é que essa opção existe. A maioria das distribuições Linux, inclusive as corporativas, são licenciadas sob a GPLv2 [2], que determina que o código fonte precisa ser dado às pessoas que o solicitarem. A licença não diz que o programa compilado precisa ser distribuído gratuitamente, mas a disponibilidade do código fonte é a pedra fundamental da GPL. Por isso, é possível, a partir do código-fonte, gerar um sistema corporativo completo e funcional. Essa idéia deu origem a uma nova forma de distribuição GNU/Linux:
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
CentOS
o projeto recompilado. Trata-se de uma recompilação do código-fonte (fornecido pela empresa de algum sistema corporativo) que gera uma distribuição completa e livre. O CentOS é uma recompilação do Red Hat Enterprise Linux. Outros projetos famosos são: Scientific Linux [3], Tao Linux [4] e White Box Enterprise Linux [5].
Introdução O CentOS envolve uma operação maior que muitos dos outros projetos recompilados. Temos 11 desenvolvedores, cujo trabalho está disponível em mais de 70 espelhos pelo mundo todo [6]. Ele vem em três versões: CentOS-2, CentOS-3 e CentOS-4, sendo disponível para as arquiteturas x86, x86_64, S390, S390x, IA64, Sparc, PPC, PPC64 e Alpha. A última pesquisa da Netcraft estima que o CentOS roda em cerca de 100 mil servidores web do mundo, colocando o sistema entre as oito distribuições mais usadas para esse fim [7], sendo a única distribuição corporativa livre entre essas oito.
O que fazer com o CentOS?
Análise
especialmente promissora como um substituto SMB em conjunto com o OpenLDAP (openldap-2.2.13-4) e o pacote smbldap-tools da IDEALX [9]. Usuários também costumam implementar o CentOS como servidores corporativos para email, DNS, web, de arquivos e banco de dados, além de Figura 1: As atualizações podem ser feitas com o Up2date. cliente desktop. Também é muito usado como servidor ISP (Internet Service Provider, últimos oferecem suporte comercial ou provedor de Internet), através de com licenças anuais. O CentOS ofeaplicativos de terceiros como cPanel, rece suporte da comunidade apenas na forma de listas de email, fóruns e Ensim, Plesk e Virtuozzo. chat IRC. Mas muitas empresas pelo mundo estão oferecendo suporte coÉ possível fazer atualizações tanto com mercial ao CentOS. ■ o Up2date (figura 1) quanto com o Yum. Informações Leia mais sobre o suporte a atualizações no quadro 1 (“Duração do suporte”). [1] CentOS: www.centos.org/ As atualizações podem ser feitas de [2] GPLv2: www.gnu.org/copyleft/gpl.html duas maneiras. O método mais simples [3] Scientific Linux: www.scientificlinux.org é com uma nova versão do pacote. A [4] Tao Linux: www.taolinux.org segunda é feita através de um processo chamado “backporting” [12], ou seja, [5] White Box Linux: www.whiteboxlinux.org/
Atualizações
É possível usar o sistema para qualquer tarefa que um sistema corporativo faça. uma atualização de segurança para um Ele pode ser um substituto para domí- pacote existente, em vez de substituí-lo nios SMB com o Samba (samba-3.0.10- pela versão atualizada. O backporting é 1.4E.2). Como não há mais suporte para útil quando um novo pacote pode quebrar o Microsoft Windows NT [8], o CentOS e compatibilidade com outros programas. o Samba podem ser um substituto seguro para um controlador de domínios SMB primários ou secundários, servidores de A diferença entre o CentOS e os sisarquivos e de impressão. Essa solução é temas corporativos pagos é que estes
Suporte ao cliente
Quadro 2: Projetos derivados do CentOS
[6] Espelhos CentOS: www.centos.org/mirrors/ [7] Ranking de distribuições: tinyurl.com/7v5qg [8] Fim do Windows NT: tinyurl.com/kpcwv [9] IDEALX: www.idealx.org/prj/index.en.html [10] Documentação CentOS: http://mirror.centos.org/centos/4/docs/ [11] Repositórios CentOS: http://mirror.centos.org/ centos/4/Readme.txt [12] Backporting: www.redhat.com/advice/ speaks_backport.html
Muitos projetos de código aberto hoje são baseados no CentOS. Os mais famosos são: OpenFiler: www.openfiler.org/ SME Server: smeserver.sourceforge.net/HomePage P RocksClusters: www.rocksclusters.org/ P Asterisk@Home: asteriskathome.sourceforge.net/ P Boston University BU Linux 4.5 Server Edition (Zodiac): linux.bu.edu/content/view/64/36/ P NewOnce Networks CentOS / Blue Quartz Installation CD: www.nuonce.net/bq-cd.php P
O autor
P
Johnny Hughes é engenheiro de redes, administrador de sistemas Unix e Windows
e desenvolvedor Oracle DBA da empresa Delphinux Engineering. Também é o
desenvolvedor líder do CentOS-4.
49
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Tutorial
Wordpress
Crie um blog com o Wordpress
Querido diário…
O Wordpress é uma ferramenta simples e prática, mas rica em recursos, para criar um site do tipo blog. Saiba como instalar e aproveitar melhor seus recursos. Por Rolf Strathewerd
C
om a consolidação dos gerenciadores de conteúdo (ou CMS - Content Management System), hoje já é possível publicar na web sem se preocupar com a tecnologia estrutural. Principalmente no mundo dos blogs. Há muitas opções de código aberto nessa área. Uma das mais práticas e versáteis é o Wordpress [1]. O site desse aplicativo define o Wordpress como “… uma plataforma de tecnologia de ponta para publicação pessoal semântica, com foco em estética, padrões web e usabilidade”. O objetivo do programa é facilitar a criação, o gerenciamento e o monitoramento de blogs. Trata-se de um programa gratuito (figura 1), fácil de usar e estensível (leia o quadro 1: “Plugins úteis”). É possível instalá-lo em poucas etapas: ele requer apenas aplicativos-padrão em provedores de hospedagem, como: Apache, PHP 4.1 (ou mais novo) e MySQL 3.23.23 (ou superior). Por padrão o sistema vem em inglês, mas há traduções prontas na Internet, bastando copiar o arquivo de tradução no diretório apropriado [2].
50
Figura 1: O Wordpress permite que se crie rapidamente um blog atraente.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Wordpress
Tutorial
Instalação Depois de baixar o código fonte atual do link [1], descompacte tudo em algum diretório de seu computador. Depois, renomeie o arquivo de exemplo wp-configsample.php para wp-config.php. Agora copie todo o diretório descompactado para o diretório raiz www do servidor. Inicie o instalador acessando o seguinte endereço no navegador: http://seuservidor/wp-admin/install.php. É preciso ter um banco de dados já criado no servidor MySQL, como um usuário e senha associados a esse banco. Se tudo correr como planejado, o Wordpress vai criar as tabelas requeridas no banco de dados MySQL, solicitar o título do blog e um endereço de email Figura 2: Você vai encontrar diversos temas atrativos de Wordpress na Internet, incluindo esse: o do administrador. Finalmente, uma Pray for Mercy. senha aleatória de administrador será gerada, mostrada e enviada ao email do administrador. através de temas, bastante flexíveis em Escolha Themes | Theme Editor para termos de personalização. iniciar essa ferramenta. Isso lista os arquivos que pertencem ao tema atual e Logue-se para criar seu primeiro artigo. permite que eles sejam editados em um Para fazer isso, clique em Write | Write O Wordpress é um sistema poderoso, campo de edição integrado. Obviamente, Post. Esse painel – que você pode adi- mas mesmo o melhor programa não pode é possível usar outros editores externos cionar como um link na barra de ferra- prever as necessidades de cada usuário. para esse fim. mentas de seu navegador – usa códigos Para permitir que os usuários personaNão há necessidade de fluência em Javascript para criar o código HTML lizem seus blogs, sem sobrecarregar o PHP para modificar um tema, embora necessário dos artigos. sistema básico, foi desenvolvida uma algum conhecimento de HTML ajude. Para listar aos visitantes os assuntos interface que permite a programadores De fato, gastamos apenas uma hora para do blog, é possível criar um nome para acrescentar extensões. traduzir e modificar o popular tema ConInstalar um tema é bastante simples. nections [6]. cada categoria em Manage | Categories. Para criar esses primeiros artigos de Primeiro, baixe o arquivo compactado teste, é possível gravá-los temporaria- desse tema e copie-o para o diretório wpmente, protegê-los com senha e publicá- content/themes. Ele vai aparecer então O procedimento para instalar plugins é los mais tarde. na lista Themes | Themes. O tema padrão parecido, embora eles usem outro direApós publicar seu primeiro artigo, do Wordpress 2.0.2 é o Kubrick. tório: o wp-content/plugins. Há ainda verifique se tudo está do jeito que você Quem preferir modificar um tema outros preparativos necessários antes de quer. O visual do blog é gerenciado existente pode usar o editor de temas. usar um plugin. É importante, por exemplo, ler a documentação do plugin. Dica: Mantenha segredo A instalação padrão do Wordpress vem com três plugins: um só de exemplo, o Ao configurar um email como a caixa de entrada para novos artigos, guarde muito bem o endereço Markdown e o Textile. Esses últimos dois dele. Se outra pessoa souber esse endereço, basta ela enviar um email para que o corpo de texto dessa mensagem seja publicado em seu blog! Isso acontece porque o Wordpress não possui nenhupermitem formatar textos com marcama maneira de validar o remetente. ções simples ao invés das tradicionais
Criando artigos
Sob olhos alheios
Plugins
51
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Tutorial
tags HTML. Por exemplo, para destacar um texto com o Markdown, basta acrescentar asteriscos (“*”) no começo e no fim da expressão a ser destacada: “*texto em destaque*”. Com a exceção de alguns plugins listados em [3], quase todos rodam na versão 2.0.x do Wordpress. O quadro 1 (“Plugins úteis”) contém informações sobre outras extensões.
Imagens Blogs não são exceções à regra de que uma imagem vale por mil palavras. Use a interface abaixo da aba Upload (no modo Write Post) para armazenar imagens no servidor, então redimensione-a para casar com o tamanho da página, se necessário. O plugin IImage Browser (veja o quadro 1: “Plugins úteis”) faz um trabalho melhor, dando aos usuários mais recursos que os da instalação padrão.
Wordpress
Não há necessidade de escrever artigos na interface web do Wordpress. Como a maioria dos sistemas de blog, o Wordpress tem uma interface aberta. Isso permite que se escreva os textos em um programa instalado localmente, como o BloGTK [4], bastando um clique para publicá-lo. Quem preferir publicar artigos sem o uso de nenhum programa adicional, é possível fazê-lo enviando emails com o texto a ser publicado. Para fazer isso, primeiro crie um email secreto (em algum serviço como Yahoo! ou Gmail) e informe os dados dessa conta ao Wordpress em Options | Writing. O script wp-mail.php converte todos os emails recebidos nessa conta em artigos do blog. Para evitar ter que rodar o script manualmente, é possível configurar um cron job ou usar o plugin WP-Cron, para que o wp-mail.php seja executado em intervalos regulares.
Quadro 1: Plugins úteis P
P
P
P
P
WYSI-Wordpress: Permite aos usuários escrever sem nenhum conhecimento de HTML, transformando o Wordpress em um editor WYSIWYG ("What You See Is What You Get", ou “o que você vê é o que você obtém”). Algumas versões do plugin até permitem o gerenciamento de imagens. Teoricamente, esse plugin permite a edição direta de tags HTML, mas isso não costuma funcionar muito bem em ambientes que precisam ser 100% funcionais. mudbomb.com/archives/2005/02/02/wysiwyg-plugin-for-wordpress/ Multi-Topic Icon: Acrescenta ícones de categorias às postagens. Além de agradável, fornece aos usuários uma visão mais clara do conteúdo. www.khertz.net/multi-topic-icon/?lp_lang_view=en WP-Cron: O Linux tipicamente usa a tabela cron para agendar tarefas. Se você não possui essa opção, mas gostaria de agendar becapes, por exemplo, é possível usar esse plugin. Ele gerencia tarefas a serem executadas de tempos em tempos. Como ele não tem permissão para
52
Há três possíveis portas de entrada para conteúdo indesejado em seu blog: comentários, trackback e endereços de email publicados. Ao habilitar a função de comentários livremente, eventualmente bots (scripts automatizados que vasculham a Internet) vão visitar sua página e usar os comentários para anunciar produtos diversos. Mas há maneiras de reagir a isso. A mais simples é barrar entradas que contenham algumas palavras-chave. Essa é uma opção do Wordpress. No entanto, como spammers sempre inventam novas maneiras de escrever seus anúncios, essa função pode não dar uma proteção muito efetiva. Além disso, comentários verdadeiros podem acabar sendo barrados. O modo mais eficiente de proteger seu blog contra spam é moderar os co-
acessar os controles internos do sistema operacional, ele usa o número de acessos para ter um controle de tempo. Sempre que o Wordpress cria uma página HTML, ele pode checar por tarefas a serem realizadas. Caso o blog tenha visitas freqüentes, o plugin pode ser usado para gerenciar tarefas automatizadas. www.skippy.net/blog/category/wordpress/plugins/wp-cron/
WP-DB-Backup: Becapes freqüentes são parte da rotina diária de um administrador de sistemas. Mas quem prefere não usar as funções do MySQL ou do phpMyAdmin, pode tentar essa alternativa. www.skippy.net/blog/category/wordpress/plugins/wp-db-backup/ IImage Browser: O Wordpress permite que você “suba” imagens, mas elas “somem” do espaço que pode ser administrado, depois que você faz isso. Além de fornecer recursos excelentes de gerenciamento, esse plugin gera miniaturas automaticamente e insere a imagem na página. fredfred.net/skriker/index.php/iimage-browser
Barrando spam
P
P
P
P
P
P
FeedWordPress: Agregador de feeds para a inclusão de chamadas de outros sites em seu blog. projects.radgeek.com/feedwordpress Identify External Links: Filtro que identifica trechos de texto que se referem a links, criando automaticamente esses links. Eles ganham uma classe CSS (Cascade Style Sheets) especial e podem ser destacados. txfx.net/code/wordpress/identify-external-links/ EmailShroud: Protege os endereços de email que aparecem em seu site contra bots de spammers que vasculham a Internet atrás de emails. www.somethinkodd.com/oddthinking/emailshroud-wordpress-plugin/ User Online: Responde a pergunta: "Quem está lendo esse blog agora?" www.lesterchan.net/portfolio/programming.php Code Viewer: Permite a visualização de textos externos. Não é único programa que faz isso, mas é o menor. elasticdog.com/2004/09/code-viewer/ StatTraq: Caso esteja insatisfeito com as estatísticas básicas, esse plugin oferece mais detalhes. randypeterman.com/StatTraq/index.php
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Wordpress
Aspectos legais O ideal é se manter longe de qualquer possibilidade de processos judiciais. Se você não habilitou algum tipo de filtro para comentários, não há nada que impeça visitantes de publicarem conteúdo ilegal ou que pode ser questionado juridicamente. Quanto a esse aspecto, o ideal seria permitir comentários apenas em modo moderado, ou restringi-los a usuários registrados. Provavelmente, você também quer evitar que visitantes roubem seu conteúdo e use isso para ganhar dinheiro ou para fins que você não aprovaria. Portanto, declare explicitamente as condições para o uso de seus textos. As licenças Creative Commons [5] podem ajudar nisso, já que há vários tipos e alguma delas vai se adequar aos seus propósitos.
Dica: Blog comunitário O Wordpress não restringe seu blog a um único usuário. De fato, é possível criar verdadeiras comunidades, com diversas pessoas escrevendo no mesmo site. Há um recurso de gerenciamento de usuários que facilita bastante o gerenciamento desse tipo de situação. É possível associar privilégios diferentes para cada usuário. Usuários no nível 0 podem apenas comentar, por exemplo. Já usuários no nível 1 podem publicar artigos. No nível 6 ou superior é possível fazer upload de fotos. Usuários no nível 9 podem realizar tarefas administrativas.
Interligados Visitantes que queiram linkar um dos artigos podem ter problemas à primeira vista, já que o conteúdo do Wordpress é gerado dinamicamente. A solução são endereços permanentes (ou permalinks). Um permalink é uma URL que aponta para uma página de controle do Wordpress que identifica determinado artigo. É possível mudar o formato padrão do permalink, mas o ideal é manter uma estrutura simples, como por exemplo: http://seublog.com.br/artigos/titulo-do-artigo. Muitos usuários digitam URLs manualmente, assim, uma estrutura complexa pode dificultar o acesso ao conteúdo do seu blog. Uma das conseqüências de se criar um blog é passar a acessar muitos outros blogs de amigos, profissionais da mesma área ou de curiosidades. Com esse hábito, é muito comum comentarmos sobre algo que lemos, não na forma de um comentário no site original, mas como um pequeno artigo em nosso próprio blog. Nesse caso, o autor do blog comentado não iria saber que foi citado por outra pessoa. A solução para isso são os links do tipo trackback. Se o blog que você quer comentar possuir links trackback, é possível colar essa URL em um campo próprio do novo artigo no Wordpress.
Dica: Conteúdo é tudo A coisa mais importante de um blog é seu conteúdo. Se ele não interessar ao seu públicoalvo – independente de quão pequeno ele seja – ninguém vai lê-lo, e ele não vai cumprir sua função. Infelizmente (ou felizmente!), nenhum software ou tecnologia vai poder te ajudar a criar conteúdo interessante.
Ao publicar isso, o Wordpress vai seguir o trackback e informar o outro blog sobre seu novo texto, permitindo ao autor medir a popularidade de seu texto e a qualidade dos leitores do seu site. Ao mesmo tempo, isso dá oportunidade ao autor do texto original para comentar o novo artigo. Embora essa descrição seja complicada, o recurso é muito fácil de usar e é extremamente recomendado, já que além de mostrar respeito ao autor, permite uma rede bem prática de conteúdos interligados. Outra forma de interligação é o plugin FeedWordPress, que permite listar chamadas de outros blogs que suportem feeds RSS em seu próprio site. No entanto, como isso gera hits e suga banda de blogs alheios, é fundamental pedir permissão para se fazer isso. ■
Autor
mentários. O sistema permite que você seja avisado a cada novo comentário, para aprová-lo ou rejeitá-lo. Se um bot insistir em ficar postando lixo em seu site, é possível restringir comentários a usuários registrados. Isso certamente vai atrapalhar seus visitantes e muitos vão desistir de comentar por causa disso, mas certamente vai melhorar a qualidade do blog. Outro modo de proteção contra spam é o Teste de Turing. Usuários precisam digitar letras aleatórias e distorcidas mostradas em um campo extra. Há diversos plugins que implementam essa função no Wordpress. No entanto, sua funcionalidade não é garantida, já que há mecanismos que contornam essa barreira de maneira automatizada [7].
Tutorial
Rolf Strathewerd cursou filosofia e
trabalha como web designer. Acabou se
apaixonando pela arte dos blogs após
começar o publicar o seu recentemente.
Informações [1] Wordpress: www.wordpress.org [2] Tradução do Wordpress: www.taijiquan.pro.br/baixar/ [3] Wordpress plug-ins: www.wp-plugins.net [4] BloGTK: blogtk.sourceforge.net [5] Creative Commons: creativecommons.org/worldwide/br/ [6] Tema Connections: www.vanillamist.com/blog/ [7] Trapaça no Teste de Turing: sam.zoy.org/pwntcha/
53
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Tutorial
Blender
Animação com o Blender
Despertar para a vida Na edição anterior abordamos os princípios básicos da modelagem 3D com o Blender. Nesta segunda e última parte do tutorial, faremos nosso personagem andar. Por Peter Kreussel
A
arte de dar vida a personagens virtuais é chamada em inglês de “character animation”. Ela é o desenho animado do mundo dos bits e bytes. Quando se substitui o lápis pelo computador podemos notar claramente a diferença: as animações digitais conseguem reproduzir uma atmosfera bem mais realista. O Blender pode criar cenas de qualidade foto-realista, nas quais os objetos interagem de maneira independente, conservando os efeitos de luz e sombra corretos mesmo quando mudam de posição (figura 1). Esse é um efeito que não se costuma ver na animação tradicional, já que seus artistas são forçados a simplificar bastante o processo de luz e sombra, devido ao grande número de cenas individuais a serem desenhadas.
Cordas O Blender dispõe de ferramentas poderosas para reproduzir movimentos de caminhada. Uma delas é a utilização de keyframes. Isso significa que não será
54
preciso se preocupar com cada uma das inúmeras cenas de uma seqüência. Determine apenas a posição de um objeto na primeira e na décima cena, por exemplo, e o programa desenvolve as cenas intermediárias automaticamente, economizando bastante mão-de-obra. Deixar objetos suspensos em rotação, mudando de cor e tamanho, pode ser um efeito interessante para a abertura de um telejornal. Mas isso não é animação gráfica propriamente dita. Nosso personagem não deve se deslocar com movimentos rígidos no espaço. As pernas devem se mover no transcorrer da cena e os joelhos devem se dobrar. Afinal, animação gráfica não é apenas rotacionar e deslocar objetos, mas transpor suas alterações para o espaço tridimensional. Por exemplo, ao dobrarmos um cabo, toda sua extensão é alterada. Fazendo uma comparação com a anatomia do corpo humano, a pele e músculos devem refletir os movimentos dos ossos. Aqui, o Blender imita mais uma vez a natureza: o programa se utiliza de
um “esqueleto” (armature) de ossos e articulações como base para os movimentos das figuras. Os ossos se mexem como os de uma marionete controlada por cordões. O Blender trata os membros como objetos maleáveis e os modela de acordo com o movimento. Para instalar o Blender, use o gerenciador de pacotes de sua distribuição ou faça o download no site do Blender [1]. Neste tutorial, estamos utilizando a versão mais atual, 2.40, já que nela as funções de animação são bem mais rápidas. Como o Blender utiliza a tecnologia OpenGL para criar os modelos das malhas, é bom você se certificar de que a aceleração 3D da sua placa de vídeo está funcionando corretamente.
Quadro 1: Leia me O Blender não cria apenas imagens isoladas. O programa também reproduz o movimento natural de pessoas e animais. Este tutorial, que é a seqüência do artigo “Curvas suaves” da edição anterior, é uma introdução às funções de animação do Blender.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Blender
Para prosseguir, partiremos do prin- sione [Z] para mudar da malha para a cípio que você já domina as funções representação sólida da pré-visualização. básicas do Blender, como, por exem- A pré-visualização da malha é mais utiplo, aproximar/recuar com o zoom, lizada, já que ela trabalha mais rápido. selecionar e mover objetos. Caso você Certifique-se de estar trabalhando no ainda não possua esses conhecimentos, modo objeto e não no modo de edição. aproveite para se familiarizar lendo a O painel de edição do Blender 2.40. foi primeira parte deste tutorial na Linux aperfeiçoado. Muitas funções, que na Magazine nº 18. versão anterior eram feitas com o gruA animação 3D é um processo que po de botões Mesh, são encontradas consome muitos recursos do computador. agora em Modifiers. O alisamento das A pequena cena que iremos criar requer superfícies (Subsurf ), que nós usamos 20 cenas individuais (“frames”). Isso na primeira parte deste tutorial para a significa que o Blender precisa recalcu- maioria dos objetos, é mostrado agora lar a cena 20 vezes. Antes de iniciar a neste local. animação, é preciso simplificar nosso A seguir, selecione o boné. Primeimodelo de malha. ramente, você deverá ter desativado Ative, no terço inferior da janela, o na figura 2 o botão marcado no ponto botão Editing (figura 2, ponto 1), para 2, depois de Subsurf. Assim você disponibilizar o painel de edição (Editing desativa a pré-visualização da subPanel) da manipulação do objeto. Pres- divisão da estrutura de malha. Desse
Tutorial
Figura 1: O personagem completo, sob todos os ângulos: objetos são rotacionados e produzem sombras como objetos tridimensionais do mundo real. modo, a renderização definitiva não será afetada e a pré-visualização é acelerada consideravelmente. ➟
����� ��� �������������� ��� �����
��� ������� �������� ��� ������ ��� ������
������� ������� ��������� ������ ��������� ���������
������ ������� ����������� � ������ ������� ������� ��� ������ �� ������������� ����� ������������� ������ ������ ��� ��������������� �������������� � ������������� ��� ������ �� ����������� ��� ������
������ ������� ������������
����� ������ ������
�������� �� ������������ �� �����������
����� ��������� ����� ���� ������� ���� ���������� ����� ���� ����� �������� �� ��������� �� ��������� �� ���� ��� �������
��� ������ �� ������������� ����� ������������� ������ ������ ��� �������������� ��������� ��� ������ �� ����������� ��� ���������� �������� ������ �� ���������
��������� ��� ������
������ ����������� ������ ���������� ��������� ��������� ��������� � maio���� 2006 ��� ������� ���� edição 19 ������ 55 �������� �������� ������� ���� ���� www.linuxmagazine.com.br ������������ ���� ������ ������������ ������� ��������������
��������������� http://supertuxbr.blogspot.com
Tutorial
Blender
Figura 2: Economia de trabalho: a aplicação das ferramentas Decimator diminui o tempo de processamento e uso do disco na renderização. Clique agora em Add Modifier e selecione Decimate no menu popup. Marque no campo Percent: o valor 0.100 e clique em Apply. Quando o Blender aceitar novos comandos (os botões passam a ficar coloridos como de costume), clique no botão novamente e responda a todas as perguntas feitas pelo Blender com OK. Repita o processo para todos os objetos, para os quais, na figura 2, você deve encontrar um valor para Decimate | Percent. Desative a pré-visualização da subdivisão de superfícies (figura 2, ponto 2) também para os demais objetos que possuem uma entrada Subsurf em Modifiers.
Coluna e perna Posicione o cursor como na figura 3. Cheque a posição das perspectivas frontais e laterais. Pressione a barra de espaço e selecione Add | Armature do menu popup. Pressionando [G] e movimentando o mouse é possível arrastar pela extremidade inferior o “osso” que acabou de ser inserido para a posição do joelho (exatamente no meio da perna). Pressionando [E] para extrusão, um segundo osso
56
é inserido. Coloque-o na posição anatomicamente correta. Pressione então duas vezes a tecla [A] para selecionar ambos os ossos. Com [Shift]+[D] é produzida uma duplicata, que deve ser arrastada com o mouse para sobre a outra perna. Pressione novamente [A] duas vezes para ativar todos os quatro ossos. Ative então os botões Draw Name e X-Ray no meio do campo Armature, abaixo, na janela do Blender. O Blender mostra agora o nome dos ossos, de Bone até Bone.003. Para uma melhor identificação, é bom colocar os nomes bem claros aqui. Caso a lista dos nomes dos ossos não caiba na janela mostrada, arraste a parte de baixo da janela um pouco para cima com o mouse. Nomeie os ossos: Co para “coxa” e Pe para a parte inferior da perna. Associe às pernas as letras “E” e “D” para esquerda e direita, respectivamente (figura 4). Caracterizar os objetos simétricos mostrados com “E” e “D”, e não nomeá-los igualmente, é um pré-requisito para o espelhamento automático das posições dos ossos, dos quais precisaremos mais tarde. O esqueleto da perna fica estanque quando você deveria poder movê-lo e também não produz efeito algum na renderização. Os ossos no Blender são meros objetos de apoio que servem apenas para definir o movimento e deformação das malhas envoltas neles. Para que isso funcione, é preciso informar ao Blender a qual região do objeto 3D deve ser dado movimento aos ossos. Esse processo é chamado de Skinning, pois, através dele, os ossos são revestidos com pele virtualmente flexível. As pernas de forma tubular devem dobrar os joelhos ao caminhar e produzir as deformações correspondentes. Você deve informar ao Blender com quais ossos cada região do objeto 3D deve estar conectada. Até agora as pernas se constituem de um único tubo. Para conseguir ligar a metade superior dos ossos da coxa com a metade inferior, as pernas precisam ser subdivididas. No entanto, para que as pernas se movimentem sempre continuamente, é necessário primeiro uni-las em um objeto. Marque a perna esquerda, com a tecla direita do mouse, e adicione então a perna direita com a tecla [Shift] pressionada para dentro da seleção. Com [Ctlr]+[J] una os dois objetos. Acione o modo de edição pressionando [Tab]. Caso você veja pontos marcados em amarelo, desative-os pressionando [Shift]+[A]. Na vista lateral ([3] no teclado), pressione [B] e construa uma área de seleção na seção inferior e superior da perna (figura 5, à esquerda). Selecione no menu abaixo, no final da área do desenho, Mesh | Edges | Subdivide. Aparece então um anel a partir dos novos pontos de manipulação, que subdivide a perna bem na posição onde está a junção do joelho. Deixe então o modo de edição. Para ativar a malha da perna, selecione os ossos com a tecla [Shift] pressionada. Basta um clique para que os quatro ossos mostrem apenas os elementos inferiores de um objeto. Pressione agora [Ctlr]+[P]. No menu Make Parent,
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Blender
Figura 3: O cursor no espaço 3D pressupõe sempre o controle sob duas perspectivas.
selecione Armature e, por fim, Create from Closest Bones do menu Create Vertex Groups ?. Os Vertex Groups (grupos dos pontos das extremidades) representam a coxa e a parte inferior da perna de ambas as pernas e são movidos separadamente. Apague a seleção pressionando [Ctrl]+[A] e selecione somente as pernas. Agora, quando o modo de edição for ativado, você verá o nome dos quatro ossos novamente no campo Link and Materials em Vertex Groups. Todos os campos que se movem quando a PeE (perna esquerda) é girada, são coloridos de amarelo. Aqui você verá que a ordenação automática dos pontos da malha com os ossos não foi perfeita. Para produzir o movimento da junção do tornozelo em nossa figura, a parte inferior da perna deve se mover junto com os pés. Pressione [B] e depois selecione os pontos que estão faltando. Clique em Assign para selecionar os ossos da parte inferior da perna. Apague a seleção pressionando [Ctlr]+[A] e repita o processo para a perna direita no respectivo Vertex Group PeD.
Nosso próximo passo é fazer a figura andar no espaço. Para isso são necessárias quatro cenas-chave (keyframes), que correspondem às quatro fases do processo de andar (figura 6). As transições são coordenadas automaticamente pelo Blender. Na primeira cena da seqüência de vídeo a figura deve ficar de pé, conforme o apresentado na primeira parte de nosso tutorial. Para deixá-la na posição da figura 1, certifique-se de que na linha de cima do campo de números da janela inferior está marcado o número 1. Selecione todos os ossos pressionando duas vezes [A], de modo que eles fiquem azuis. Pressione [I] e selecione LocRot. Assim o Blender sabe que tem que salvar a posição e rotação dos ossos marcados. Marque 5 no campo Frame. No frame 5, o personagem deve ser visto como na figura 6, movimentando o pé esquerdo para frente e o direito para trás, com os joelhos um pouco flexionados. Isso é muito simples: selecione, na vista frontal, os ossos da coxa direita pressionando [R], e gire a perna de acordo com a posição do passo para a esquerda. Ative os ossos da parte
Tutorial
inferior da perna e pressione novamente [R] para dobrar levemente o joelho. Por fim, ative todos os ossos e salve a posição e rotação pressionando [I]. A terceira posição, em que a perna direita está para frente e a esquerda atrás, é um espelho exato da cena 5 e não precisa ser colocada manualmente. Para inserila, selecione no menu Pose a opção Copy Current Pose e depois ajuste para a cena 15. Selecione agora Paste flipped pose. A perna se transformou então na sua imagem espelhada, conforme desejado. Confirme se todos os ossos estão ativos e salve a posição da figura com [I]. Na cena 20, a posição das pernas deve voltar à posição inicial mostrada na cena 1. Retorne à cena 1 e selecione Copy Current Pose. Insira na cena 20 as posições intermediárias que foram salvas clicando em Paste Pose e pressione [I] para salválas nessa cena. Agora, indo para a cena 1 e pressionando [Alt]+[A], a figura vai se movimentar na pré-visualização. O cursor mostra a cena que está acontecendo no Blender. Pressionando [Esc] é possível interromper a animação. ➟
Tem algo se mexendo! Agora você já pode movimentar as pernas do nosso personagem. Deixe o modo de edição. Selecione apenas o esqueleto e vá para a perspectiva lateral. Ao invés do modo objeto, selecione na lista adiante do menu de objeto a opção Pose Mode. Selecione uma parte inferior da perna e pressione [G]. Ao arrastar o mouse, a articulação do joelho se move. Interrompa a rotação, desta vez, pressionando [Esc].
Figura 4: O conjunto de movimentos simula um ser vivo de verdade. Na animação do personagem são empregados ossos e membros.
57
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Tutorial
Figura 5: Para mover os joelhos é preciso dividir as pernas em duas partes.
À diante Andar corretamente também significa fazer a figura sair do lugar. Isso se consegue no Blender salvando as diferentes posições para a figura nas cenas 1 e 20. Depois de clicar em um espaço vazio na superfície de desenho, selecione todos os objetos pressionando [A]. Deste modo, todas as partes da figura, inclusive as lâmpadas, ficam ativas. Com a combinação de teclas [Ctrl]+[Esquerda]+[Direita] é possível navegar por layouts de janela pré-selecionados. Depois de pressionar [Ctrl]+[Esquerda] na borda esquerda da janela, você terá uma uma visão de cima do objeto. Clique nele com a tecla [Shift] pressionada na opção Camera e Lamp.001 até Lamp.003, para sair da seleção. Volte para a ordem usual das janelas com [Ctrl]+[Direita]. A seguir, é preciso definir qual distância deve ser percorrida pela figura para completar um ciclo
Blender
de passos. Vá para a cena 5 e amplie Sendo assim, marque 20 no campo a seção mostrada usando a rodinha do End:, abaixo do botão Play. O grande mouse e [Ctrl]+[2], [4], [6] ou [8] no botão Anim, no meio da janela inferior, teclado numérico, de modo que só os inicia o processo no computador. O pés apareçam. Conte então as pequenas cursor mostra o número da cena que e grandes caixinhas que estão entre as está sendo reproduzida. extremidades dos ossos das pernas diQuando o cursor tiver voltado à sua reita e esquerda. Essa é a distância que forma normal e a janela de renderização a figura deve andar para frente. Marque estiver mostrando permanentemente a como cena 1. última cena, a animação está pronta. O personagem encontra-se agora Feche a janela de renderização e observe no meio da tela. Pressionando [0] no o resultado clicando em Play. Para voltar teclado numérico, selecione a pers- ao painel de edição, pressione [F9] no pectiva da câmera e leve a figura para terço inferior da tela. trás pressionando [G], [Y], de modo que sua cabeça esteja alinhada, mas dentro do campo de visão da câmera O Blender reconstitui os passos in(simbolizado por um quadro listrado). termediários entre as cenas-chave Pressione [I] e selecione LocRot para (interpolação). Da mesma forma, determinar a posição inicial da pri- também é possível aumentar ou exmeira cena. Agora, ao ir para a cena 1 trapolar a seqüência de movimentos e pressionar [Alt]+[A], a figura deve de um passo. Assim dá para deixar andar corretamente. o personagem andando por toda a Chegou a hora da renderização. De- cena sem ter que definir novamente pois de clicar no campo da janela in- a posição das pernas. ferior, pressione [F10] para mostrar o Ative – pressionando [Ctrl]+[Esquerda] painel de renderização. Aqui veremos – a divisão da janela que acabamos de a apresentação da primeira parte deste utilizar para selecionar elementos inditutorial. A renderização das seqüên- viduais de uma lista. Eles foram especias é bem longa. Para uma primeira cialmente projetados para o trabalho de avaliação, é aconselhável diminuir a animação. Junto com a lista de objetos resolução e desligar o Oversampling, à esquerda e uma pré-visualização da que causa o alisamento das superfí- malha, você encontra acima, à direita, a cies na renderização. Desative o botão janela IPO (IPO significa “interpolação”). OSA no campo Renderer e reduza a Com essa ferramenta você influencia resolução clicando em 25%. Até aqui, a maneira como o Blender interpola a a seqüência é composta de 20 cenas. seqüência de movimentos. ➟
Além
Figura 6: O passo de uma figura de animação requer apenas 4 cenas-chave: os outros passos intermediários são criados automaticamente.
58
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Tutorial
Blender
Figura 7: Um padrão de caminhada (na esquerda) pode ser repetido para a criação de um movimento cíclico (direita).
Na lista de objetos, ative Armature. Mude todos os campos abaixo da janela de Object Mode | Object para Pose Mode ou Pose. Na pré-visualização, selecione um dos ossos da parte inferior da perna. As curvas coloridas na janela direita representam a posição do objeto e rotação dos ossos. O eixo X descreve o tempo aplicado às cenas e o eixo Y o movimento/rotação nas unidades do Blender. É possível modificar a seção mostrada com o indicador de medida da rodinha do mouse. Mova o mouse para cima da janela IPO e pressione [A] para selecionar todos os pontos do gráfico. Ao selecionar a janela Curve | Extend Mode | Cyclic do menu na parte de baixo, todas as curvas se estendem ciclicamente por toda a janela. Agora, insira no campo End: o valor 100 e pressione [Alt]+[A], enquanto o cursor do mouse encontra-se sobre a figura. Você verá as 20 primeiras cenas transcorrerem como de costume. Então, o deslocamento para frente pára e, no entanto, o movimento das pernas prossegue: o movimento cíclico das pernas foi extrapolado, de modo que ele continua por todas as cenas. Para os movimentos em linha reta de toda a figura isso ainda não acontece.
60
Selecione a opção Curve.001 da lista de objetos. Você verá que, para o fator de zoom indicado e a seção mostrada, as linhas cor de laranja, descritas com LocY no gráfico (igual à posição na direção Y), continuam em movimento constante na seqüência. Isso corresponde ao movimento do nosso personagem, que começa na cena 0 e termina na 20. Pressione então [A], mantendo o mouse ainda sobre a janela IPO. No menu abaixo da janela, selecione Curve | Extend Mode | Extrapolation. As linhas LocY laranja percorrem a partir de então profunda e constantemente todo o sistema de coordenação. Extrapole, do modo já descrito, o movimento de todos os objetos, com exceção de World, Camera e Lamp.001 até Lamp.003. No objeto Armature, selecione dessa vez Object Mode | Object para ambas as janelas: o movimento dos passos da perna foram feitos no modo Pose. A transição em linhas retas da figura ocorrem no entanto no modo objeto: aqui o Blender reconhece dois sistemas de animação distintos. Agora é possível fazer a última cena, de modo que a figura saia por completo da tela e ande. Com [F10] chegamos às
opções de elementos para a renderização. No campo Output, insira um diretório no qual o Blender deve colocar a animação pronta. Por padrão, o Blender salva cada imagem em formato JPEG. Isso pode ser alterado no campo Format, abaixo, à esquerda, no qual você seleciona a opção AVI Jpeg ao invés de Jpeg. Até aqui nossa figura movimenta somente as pernas e anda rijo pelo mundo. Entretanto, a partir das etapas mostradas você já tem condições de prosseguir e dar movimento aos demais membros do nosso personagem. Profissionais usam técnicas similares quando projetam ossos e ligações para imitarem expressões faciais. Como fonte de inspiração, dê uma olhada no site da Internet no qual o time da Pixar mostra como foi feito o filme Toy Story [2]. ■
Glossário Keyframes - Definição para imagens em arquivos de vídeo comprimidos que, ao contrário das cenas intermediárias, contêm todas as informações das imagens. No Blender, keyframe corresponde à cena inserida manualmente, em oposição às cenas intermediárias produzidas automaticamente pelo programa. Armature, Skinning - O Blender utiliza o objeto Amature (uma combinação de ossos e articulações) como base para a movimentação das figuras. Pelo processo de Skinning, comunicamos ao Blender como devem ser os movimentos dessa “armadura” para que ela se comporte como um legítimo objeto 3D na renderização. Interpolação, Extrapolação - Chamamos de interpolação o cálculo entre dois valores conhecidos. Extrapolação é a continuação da seqüência para além de seus pontos de início e fim.
Informações [1] Download do Blender: www.blender.org/ cms/Blender.31.0.html [2] Site da Pixar sobre o filme Toy Story 2: www.pixar.com/howwedoit/index.html
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Coluna do Augusto
SysAdmin
Monitoramento Bandwidth Monitor NG
Robin Liang – www.sxc.hu
sem complicação
Você pode monitorar todas as suas interfaces de rede “ao vivo” com um utilitário simples. por Augusto de Campos (bytes ou bits por segundo), intervalo de timeout, grandeza a ser exibida (bytes, bits, pacotes ou erros), e o modo de agregação (valor corrente, máximas, total geral, média dos últimos 30 segundos). Outra seleção que pode ser importante em alguns contextos específicos é a do método de aquisição dos dados (o sistema suporta /proc/net/dev, netstat, getifaddr, sysctl, kstat e libstatgrab).
Instalação Instalar o bwm-ng em meu notebook rodando o Suse 10 foi muito simples. O site oficial do utilitário apresenta links para pacotes prontos para diversas distribuições, e a lista inclui o Suse. O pacote disponível no repositório apontado apresentou como dependência apenas a biblioteca libstatgrab, portanto pude instalá-lo com os seguintes comandos: sudo rpm -ivh http://ftp.gwdg.de/pub/U linux/misc/suser-guru/rpm/packages/U System/statgrab/libstatgrab-0.12-3.guru.U suse100.i686.rpm
Após a instalação, bastou executar o comando bwm-ng (não é necessário usar privilégios de root) para ver o monitoramento do sistema em modo default, similar ao comando top. Enquanto o software estiver rodando, a tecla [H] exibe uma lista dos comandos que podem ser dados para configurar o comportamento do sistema. É possível também editar um arquivo de configuração para deixar tudo como você prefere. Um recurso extra que pode ser útil para monitoramento remoto sob demanda é a geração da saída do sistema em HTML. Se o que você precisa é processar posteriormente dados acumulados, use a opção de saída em formato CSV, facilmente processável por planilhas de cálculo, bancos de dados ou mesmo scripts shell. ■
Informações [1] Ping: http://ftp.arl.mil/~mike/ping.html [2] Fping: www.fping.com [3] Bing: www.freenix.fr/freenix/ logiciels/bing.html [4] ntop: www.ntop.org [5] Nagius: www.nagios.org
sudo rpm -ivh http://ftp.gwdg.de/pub/U
[6] Bandwidth Monitor NG: www.gropp.org
linux/misc/suser-guru/rpm/packages/U Network/bwm-ng/bwm-ng-0.5-2.guru.U suse100.i686.rpm
Mas atenção: as URLs acima estavam corretas no momento do fechamento desta coluna, mas podem já ter sido atualizadas enquanto você lê. Verifique sempre os links no site do bwm.ng.
Sobre o autor
O
monitoramento de desempenho, de atividade ou disponibilidade é uma das funções-chave da administração de sistemas. Isso explica a grande variedade de sistemas disponíveis para essa finalidade. Todo administrador tem seu conjunto de softwares de monitoramento e acompanhamento de redes favoritos, desde ferramentas simples como o ping [1], o fping [2] e o bing [3] até sistemas complexos como o ntop [4] ou o Nagios [5]. E todas elas fazem bem seu papel, cada uma com seus pontos fortes específicos. A coluna deste mês destaca uma ferramenta menos conhecida, mas que merece ser incluída no cinto de utilidades de todo administrador de redes: o Bandwidth Monitor NG [6] (ou bwm-ng). Trata-se de uma ferramenta pequena, simples, com poucas dependências e fácil de instalar, que desempenha (e bem!) apenas uma função: o monitoramento “ao vivo” do tráfego e desempenho nas interfaces de rede no seu computador. Ele roda no console (ou em um xterm ou shell remoto) e exibe em uma mesma tela todas as interfaces de rede ativas, ao lado de suas taxas de transmissão e recepção correntes. Não há um limite máximo pré-determinado de interfaces locais que o bwm-ng pode suportar, mas caso você tenha mais interfaces do que é possível exibir em uma mesma tela, é possível selecionar critérios para escolher quais devem ser exibidas. Há várias outras seleções disponíveis, incluindo a unidade de medida
Augusto César Campos é administrador de TI e, desde 1996, mantém o site BR-linux.org, onde cobre a cena do Software Livre no Brasil e no mundo.
61
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
SysAdmin
at & cron
Agendamento com at e cron
Na hora certa Fleur Suijten – www.sxc.hu
As ferramentas cron e at
ajudam a automatizar processos como becapes agendados e despertador com faixas de MP3. Por Heike Jurzik
N
ada como o momento presente. Em um sistema Linux padrão, não é necessário ficar tomando notas sobre tarefas a serem realizadas no futuro. O programa at permite o agendamento no mesmo momento em que lembramos de um trabalho importante a realizar. Já o cron gerencia automaticamente esses processos recorrentes. Um daemon roda nos fundos para garantir que as tarefas serão realizadas no tempo certo. Os serviços verificam por novas tarefas todo minuto. O daemon do at é o atd; o do cron, cron(d).
A seu dispor É possível agendar uma tarefa no at com o comando de mesmo nome, seguido por um valor de tempo. Então, digite os comandos que devem ser executados. Quando terminar, use o atalho [Ctrl]+[D].
62
$ at 07:00 warning: commands will be executed U using /bin/sh at> mpg321 -z /home/usuario1/mp3/* at> <EOT> job 6 at 2006-01-03 07:00
Isso vai fazer o player de linha de comando Mpg321 tocar os arquivos da pasta /home/usuario1/mp3/ às 7h. Obviamente, isso só vai acontecer se o computador estiver ligado. Há muitas maneiras de especificar valores temporais. A tabela 1 contém um resumo dos modos mais comuns. Vale lembrar que o at é uma ferramenta persistente, ou seja, ele vai manter seu agendamento mesmo que o computador seja reiniciado. E as tarefas dos próximos seis meses serão “lembradas”. Após completar uma tarefa, o at envia um email informando o status da tarefa ao usuário que a criou, independente de
o processo ter sido completado ou não. Mas, para isso funcionar, é preciso um servidor de email funcional (pelo menos para envio local). Para comandos que não geram saída por padrão – como rm, mv ou cp – é possível forçar uma mensagem. Para fazer isso, use a opção -m. Por exemplo: at -m 13:31.
Filas Comandos agendados pelo at são guardados em uma fila. É possível ver essa fila com at -l ou atq: $ atq 7
2006-01-03 07:00 a usuario1
11
2006-01-03 12:00 a usuario1
12
2006-06-09 14:24 a usuario1
Infelizmente, o at não é muito “falante” nesse aspecto. Ele apenas informa o número da tarefa no começo da linha, a data e hora da execução, o nome da fila
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
at & cron
SysAdmin
Tabela 1: Formatos de data e hora do at Tarefas individuais são chamadas de cronjobs, e são Formato Significado gerenciadas na tabela crontab. 16:16 16:16 de hoje. Essa é uma tabela com seis 07:00pm 19:00 de hoje (se “am” ou “pm” não for colunas que define quando especificado, o padrão é “am”). uma tarefa específica deve now Agora. ser executada. Cada tarefa tomorrow Amanhã. ocupa uma única linha. Os today Hoje. primeiros cinco campos são now + Dentro de 10 minutos. Também é possível valores de tempo, enquanto 10min usar hours (horas), days (dias), weeks o sexto indica o programa a (semanas) e months (meses). ser executado, com todos os noon Às 12:00 do próximo dia. O at também parâmtetros. tomorrow entende as expressões teatime (16:00) Como usuário normal, é e midnight (meia-noite). possível criar uma tabela 6/9/06 9 de junho de 2006. Outras maneiras de se dessas rodando o comando colocar datas são: “6.9.06” e “6906”. $ atrm 7 11 crontab. Para fazer isso di$ atq gite crontab -e. O -e indica P Dias da semana: 0 a 7 (tanto 0 quanto 12 2006-06-09 14:24 a usuario1 que a tabela será editada. 7 significam “domingo”), ou as abreComo administrador do sistema, é posviações em inglês: Sun até Sat, sun sível modificar a crontab de qualquer até sat, ou *. Dois arquivos – /etc/at.allow e /etc/ usuário, com o parâmetro -u seguido Para, por exemplo, fazer o computaat.deny – controlam quem pode usar o at. do nome do usuário: crontab -u usu- dor tocar arquivos .mp3 todo dia às 7h, basta acrescentar uma entrada como a A maioria das distribuições possui apenas ario1 -e. um arquivo at.deny barrando alguns Por padrão, o editor vi é utilizado. seguinte na crontab: “pseudo-usuários” como o lp (do daemon Para definir outro aplicativo, basta rede impressão) e o mail (para o daemon de definir a variável de ambiente $EDITOR: 0 7 * * * mpg321 -z /home/usuario1/U mp3/* email). Se houver um arquivo at.allow, export EDITOR=/usr/bin/kwrite. criado como root, ele precisa conter todos Para tornar essa mudança permanente, os usuários que podem usar o at. Nesse acrescente essa linha ao arquivo de conSe preferir, os valores de um dos pricaso, o at.deny é desconsiderado. figuração do Bash (/home/usuario1/. meiros cinco campos podem ser sepabashrc) e digite source ~/.bashrc. rados por vírgulas. Por exemplo, para evitar que esse alarme toque nos sábados Já para quem está procurando uma e domingos, use a expressão “1,2,3,4,5” maneira de gerenciar tarefas recor- As linhas da crontab não podem conter em dias da semana (quinta coluna): rentes freqüentes, ficar rodando o at quebras de linha. Comentários são indinão é recomendado. Nesse caso, vale cados com a cerquilha (“#”) no começo 0 7 * * 1,2,3,4,5 mpg321 -z /home/U usuario1/mp3/* apenas experimentar a outra opção do da linha. Os primeiros cinco campos Linux. O cron também roda nos fundos precisam conter os seguintes valores e executa tarefas em intervalos regu- (nessa ordem): Também é possível especificar um lares. Como o at, ele só precisa que o P Minutos: Valores entre 0 e 59 são possí- intervalo usando traços (“1-5”). Talvez computador esteja ligado, já que pode veis, assim como o curinga: * (tudo). usar as abreviações dos dias da semana “se lembrar” das tarefas agendadas mes- P Horas: Valores entre 0 e 23, ou *. (em inglês) faça as entradas serem mais mo após um reboot. Outra semelhança P Dias: Valores entre 1 e 31, ou *. compreensíveis: é que o cron também envia um email P Mês: Entre 1 e 12. Também podem ser para o dono da tarefa quando ela é usadas abreviações em inglês: Jan a 0 7 * * mon-fri mpg321 -z /home/U usuario1/mp3/* completada corretamente. Dec, ou jan até dec, ou *. ➟ (“a”) e o nome do usuário (“usuario1”). A lista não informa quais tarefas estão agendadas. Além disso, como usuário normal, só é possível ver suas próprias tarefas. Apenas o administrador vê uma lista de todas as tarefas agendadas. Para obter mais detalhes sobre as tarefas futuras, é preciso (como root) acessar o diretório atjobs. No Debian, ele fica em /var/spool/atjobs; no Suse em /var/spool/cron/atjobs. Os arquivos de textos nesse diretório mostram exatamente quais comandos vão rodar. Para apagar uma tarefa at, use at -d (ou atrm), seguido do número da tarefa:
Privilégios
Cron
Estrutura
63
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
SysAdmin
at & cron
Listagem 1: Entradas crontab do Debian 17 25 47 52
* 6 6 6
* * * 1
* * * *
* * 7 *
root root root root
run-parts --report /etc/cron.hourly test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
Uma combinação de valores temporais Se você não tem permissão nesse di- O cron toma conta das tarefas diárias (os também pode ser útil. Se o quarto campo retório, é possível ver sua própria tabela scripts executáveis em /etc/cron.daily) às 6h25, incluindo o script logro(para mês) tiver uma expressão como com o comando cron no shell. tate, que recicla, compacta e classifica “1-4,7,10-12”, isso significa “de janeiro a os arquivos de log. abril, julho, outubro a dezembro”. Uma $ crontab -l 10 8 * * mon-fri mpg321 U Se seu computador não fica ligado 24 barra seguida de um número também -z /home/usuario1/mp3/* horas por dia, pode valer a pena reagendefine intervalos regulares de tempo. Por exemplo, “*/2” na segunda coluna Para apagar entradas individuais, ini- dar as tarefas diárias para um horário significa “a cada duas horas”. Já “1-6/2” cie o editor novamente com o comando em que o PC vai estar ligado com certeza. significa “a cada duas horas, nas horas crontab -e. Para apagar toda a tabela, Por exemplo, 17h25: de 1 a 6, ou seja, nas horas 1,3 e 5. use crontab -r.
Tabelas globais
As tabelas cron de usuários são armazenadas no diretório /var. Cada distribuição tem um jeito diferente de classificar as tabelas. Por exemplo, o Debian as armazena em /var/spool/cron/crontabs/ e as classifica por nome de usuário. O Suse usa o diretório /var/spool/cron/tabs/.
O Cron gerencia não apenas listas de usuários específicos. Ele também ajuda o usuário root em tarefas administrativas. Como root, experimente olhar o arquivo /etc/crontab. Ele mostra quais tarefas estão agendadas. Dependendo da distribuição, a crontab global pode variar. O Debian usa as entradas mostradas na listagem 1: Diferentemente de tabelas normais de usuários, a crontab global tem um campo extra, com o nome do usuário de quem o comando vai usar os privilégios. Geralmente, root. A listagem 1 especifica que o daemon roda o comando run-parts --report /etc/cron.hourly
Figura 1: O KCron oferece uma interface gráfica conveniente para gerenciar configurações do cron.
64
com privilégios de root, toda hora, sempre 17 minutos depois de cada hora. Já às 6h52 do primeiro dia de cada mês, o cron executa o comando run-parts --report /etc/cron.monthly.
25 17
* * *
root
test -x /usr/U
sbin/anacron || run-parts --report /etc/U cron.daily
Conforto gráfico Há diversas ferramentas gráficas para ajudar a criar uma tabela cron. Para Gnome, há o Gcrontab, um programa fácil de usar e bem organizado, que permite agendar tarefas com poucos cliques. O KCron, para KDE, é ainda mais fácil. Mas ele não exibe as entradas criadas na sintaxe do cron, ou seja, ele não ajuda você a se familiarizar com o cron (figura 1). Mas no final (como é quase sempre o caso), a linha de comando traz mais flexibilidade, além de permitir uma digitação mais rápida do que ficar clicando com o mouse. ■
Sobre o autor
Tabelas
Heike Jurzik estudou Alemão, Ciência da Computação e Inglês na Universidade de Colônia, na Alemanha. Descobriu Linux em 1996 e, desde então, é fascinada com a abrangência de recursos do shell. Em seu tempo livre, pode ser encontrada na Irlanda curtindo a música tradicional desse país.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Programação
Python + Java
Construa um player simples com Java no Python
Reprodutor de MP3 com Jython Vamos avançar mais um pouco
Ma
t th e
wd w Bo
en –
.sxc www
no Jython: neste mês, usaremos
.hu
as bibliotecas Java para a reprodução de sons e criaremos um mini tocador de MP3. por José Pedro Orantes e José Maria Ruíz
O
MP3 é um dos formatos de som mais difundidos no mundo da música digital. Todos os dias, milhares de pessoas criam arquivos em MP3, e muitos aparelhos de som, inclusive de carros, já tocam esse formato. Atualmente, a maioria dos programas para tocar MP3 suporta esse formato. Mas como criar nosso próprio reprodutor de MP3? Programar um reprodutor de som em Java, com a exceção de um compatível com os formatos comuns que o Java suporta, é bastante complicado. É necessário muito tempo para decodificar o formato MP3. Por isso, para criar nosso reprodutor, vamos utilizar bibliotecas preparadas para essa decodificação. Nesse caso, vamos utilizar as bibliotecas com licença LGPL (Lesser General Public License). Geralmente, é preciso definir várias etapas para reproduzir som em Java: obter o stream de áudio, decodificá-lo, tratá-lo e escrevê-lo no dispositivo do nosso PC.
66
Requisitos
meiro passo é copiar as bibliotecas Como requisitos fundamentais, ire- necessárias para o diretório lib/ext/ mos precisar do nosso querido intér- do nosso JRE (máquina virtual Java). prete Jython (abordado inicialmente No nosso caso, depois de instalar o no tutorial de Python da edição 16). JDK 1.5, esse diretório se encontra em Para obtê-lo, vá à página da Internet /usr/Java/jdk1.5.0_02/jre/lib/ e baixe sua última versão (2.1, no ext/; devemos copiar aqui os arquivos fechamento desta edição). Também mp3spi1.9.2.jar, jl1.0.jar e triprecisaremos da nova versão do Java tonus_share.jar (esses dois últimos (JRE 1.5 ou JDK 1.5 ), disponível em estão no diretório /lib do arquivo [3] . Essa versão incorpora algumas descompactado). novidades e melhorias necessárias Feito isso, ao iniciar o intérprete para nosso pequeno reprodutor de Jython, aparecerá uma mensagem para MP3. Por último, temos que obter as cada arquivo copiado, indicando que o bibliotecas que vamos utilizar: trata- respectivo pacote está sendo processase do pacote MPSPI, encontrado no do para uso. Para confi rmar que tudo site Javazoom [2] , ou em www.javazoom. está correto, digite import javazoom net/mp3spi/mp3spi.html. no interpretador. Nenhuma mensagem Uma vez instalados o intérprete de de erro deve aparecer (caso isso ocorJython e o JDK 1.5 (ou 1.5), devemos ra, verifique se todos os arquivos estão prosseguir instalando as bibliotecas copiados no local certo). do Javazoom (unzip -x pasta.zip Com essas bibliotecas, temos agora ou tar xvfz pasta.tar.gz). O pri- um decodificador do stream de nossos
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Python + Java
Listagem 1: jython-mp3.py 001 import org.tritonus.share.sampled.TAudioFormat as taf 002 import org.tritonus.share.sampled.file.TAudioFileFormat U as ftaf 003 import javax.sound.sampled as sampled 004 import java.io as io 005 import jarray 006 import java.util as util 007 import javax.swing as swing 008 import java.lang as lang 009 import java.awt as awt 010 import java.util as util 011 import javazoom.jl.player.advanced as pad 012 import java.io as io 013 014 class jyMusica(lang.Thread): 015 def __init__(self): 016 self.panelReprodutor() 017 self.menu() 018 self.win = swing.JFrame(“JyMusica”, size=(150,U 150),windowClosing=self.exit) 019 self.win.setJMenuBar(self.menu) 020 self.win.contentPane.add(self.pnlBotao, awt.U BorderLayout.NORTH) 021 self.win.contentPane.add(self.pnlBotao2, awt.U BorderLayout.CENTER) 022 self.win.show() 023 self.win.setResizable(0) 024 self.win.pack() 025 026 def exit(self, event): 027 lang.System.exit(0) 028 029 def run(self): 030 arquivo = io.File(self.nome) 031 inp = sampled.AudioSystem.getAudioInputStream(U arquivo) 032 baseFileFormat = sampled.AudioSystem.getAudioFiU leFormat(arquivo) 033 baseFormat = baseFileFormat.getFormat() 034 self.getTag(baseFileFormat) 035 self.player.play() 036 037 def getTag(self, baseFileFormat): 038 properties = ftaf.properties(baseFileFormat) 039 key = “author” 040 val = properties.get(key) 041 key = “title” 042 tag= properties.get(key) 043 key = “album” 044 alb = properties.get(key) 045 self.txtArea.setText(“”) 046 self.txtArea.append(“\nArtista: “) 047 self.txtArea.append(val + “\n”) 048 self.txtArea.append(“Faixa: “) 049 self.txtArea.append(tag +”\n”)
050 051 052 053 054 055 056 057 058 059 060 061
Programação
self.txtArea.append(“ÔøΩbum: “) self.txtArea.append(alb + “\n”) def panelReprodutor(self): self.pnlBotao = swing.JPanel(awt.FlowLayout()) self.pnlBotao2 = swing.JPanel(awt.FlowLayout()) acoes = [“Tocar”, “Parar”] self.txtArea = swing.JTextArea(6,18) self.areaSrl = swing.JScrollPane(self.txtArea) self.pnlBotao.add(self.areaSrl) for cadaBotao in acoes: self.pnlBotao2.add(swing.JButton(cadaBotao, U actionPerformed=self.acaoMenu))
062 063 064 065 066 067 068
def menu(self): opciones = [“Tocar”, “Parar”] self.menu = swing.JMenuBar() arquivo = swing.JMenu(“Arquivo”) for eachOpcion in opciones: arquivo.add(swing.JMenuItem(eachOpcion, U actionPerformed=self.acaoMenu)) 069 arquivo.addSeparator() 070 self.menu.add(arquivo) 071 072 def acaoMenu(self, event): 073 self.acao = event.getActionCommand() 074 if self.acao == ‘Tocar’: 075 selector = swing.JFileChooser() 076 rtn = selector.showOpenDialog(self.win) 077 arquivo = selector.getSelectedFile() 078 self.player = pad.AdvancedPlayer(io.FileInpU utStream(arquivo)) 079 self.nome=arquivo.toString() 080 self.play() 081 082 elif self.acao==’Parar’: 083 self.stop() 084 085 def play(self): 086 self.thread = lang.Thread(self) 087 self.thread.start() 088 089 def stop(self): 090 self.player.stop() 091 # self.line.drain() 092 # self.line.stop() 093 # self.line.close() 094 # self.din.close() 095 # self.thread.interrupt() 096 # self.thread.finalize() 097 # 098 099 if __name__==’__main__’: 100 jyMusica()
67
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Programação
arquivos MP3 além de algumas outras ferramentas (bibliotecas para conversão de formatos, leitor de informações de canções, artistas, álbum etc). Ainda falta um último passo: devemos eliminar uma das limitações do Jython. O Java possui diferentes tipos de variáveis, métodos, construtores etc, que podem ser privados (private) ou públicos (public). É importante saber que no Jython não se pode declarar variáveis, métodos etc, como públicas nem como privadas. Ao tentarmos acessar, por exemplo, uma interface abstrata privada, aparecerá uma mensagem de erro dizendo que não se pode acessar a interface com o denominador public. Solucionar essa limitação é muito simples. Basta editar a pasta de registro do Jython no diretório onde ele está instalado (no nosso caso, $HOME/ Desenvolvimento/jython-2.1/registry) e buscar a linha python.security.respectJavaAcessibility = true e mudar “true” para “false”.
Agora o nosso sistema já está pronto. Por fim, é muito importante ter à mão a documentação da API do Java, também disponível em sua página da Internet, e a das bibliotecas que iremos utilizar. Do Javazoom, será necessária a documentação do JLayer (a do MPSPI vem com o arquivo bai-
Figura 1: Aqui temos nosso pequeno reprodutor de arquivos MP3.
68
Python + Java
xado). A API das bibliotecas Tritonus podem ser baixadas em [4].
Som em Java? Produzir sons em Java requer que os programadores conheçam o funcionamento de suas classes principais. As que iremos utilizar são Audiosystem, AudioFormat e SourceDataLine. A AudioSystem está conectada aos dispositivos do sistema, de modo que podemos acessá-los. Dentro dela, dispomos de métodos para tratar o stream de áudio AudioFormat, com o qual manipulamos o formato de áudio de que necessitamos e o SourceDataLine, que nos possibilita entrar no dispositivo de som, ou seja, introduzir som no dispositivo e, dessa forma, escutá-lo. O Java proporciona uma classe mais direta, que é o CLIP. Costuma-se utilizá-lo mais para sons pequenos em aplicações ou em applets. Uma das limitações do CLIP é que é necessário carregar o som inteiro na memória antes de reproduzi-lo, o que aumenta os recursos utilizados, além de estar preparado para reproduzir somente os formatos típicos em Java (Wav, A-Law, U-Law etc). Vamos utilizar um SourceDataLine e trabalharemos com um pequeno buffer com o stream de som decodificado, a ser introduzido em nosso dispositivo de som. Os passos para tratar o som são os seguintes. Primeiro, temos que obter o stream e o formato de som (utilizando AudioSystem e seus métodos getAudioInputStream e getAudioFileFormat). Além do formato de áudio (AudioFormat), iremos ler os metadados do MP3 (título, álbum, autor etc). Com isso feito (o decodificador já está fazendo seu trabalho), precisamos criar um buffer, que não é nada mais que uma matriz (array) de bytes. Para criar o chamado array, o Jython nos fornece um módulo chamado jarray, que tem dois construtores: zeros e array. O primeiro cria uma matriz
iniciada com 0 do tamanho e tipo que precisamos; o segundo cria uma matriz já inicializada (por nós mesmos) de um tipo de dados. Vejamos um exemplo do uso do Jarray: >>> import jarray >>> a = jarray.zeros(4,'i') >>> print a array([0, 0, 0, 0], int) >>> b = jarray.array([1,2,3,4], 'i') >>> print b array([1, 2, 3, 4], int)
Como se pode ver, o funcionamento é bem simples. jarray.zeros recebe os argumentos que são o número de elementos e o tipo de dados – nesse caso, 'i' são inteiros (integer). Já jarray.array recebe a seqüência que forma o array e o tipo de dados também. Para nosso buffer é necessário um array de 4096 Bytes, que criaremos usando jarray. zeros (4096, 'b'). Se quiséssemos que nosso array fosse formado por cadeias de caracteres (strings), teríamos um array.zeros (45, Java.lang.String). Se precisarmos (de fato, precisamos) passar a longitude do nosso array como argumento a um método, usamos len(array), já que os arrays do Jython não têm um método como o .length dos arrays Java. Por último, criaremos o SourceDataLine e, a partir do seu método write, gravaremos o som no dispositivo de áudio (então já começaremos a ouvir música). Assim, restará apenas preencher o buffer (a partir do AudioInputStream) e voltar a escrevê-lo no dispositivo de som, até chegar ao final da canção ou até que se interrompa a reprodução. Finalmente, já que usaremos uma pequena interface (feita com swing), vamos precisar programar o Java com threads – através do que nosso reprodutor herdou da classe Thread – e, no momento de reproduzir, será produzido um thread, que se encarregará de tocar a música,
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Python + Java
enquanto continuamos tendo controle em nosso pequeno reprodutor. Um thread é uma seqüência de instruções executadas em paralelo com a aplicação que o chama. Podemos dizer que enquanto usamos nossa aplicação, produzimos outra pequena aplicação que reproduzirá o som sem interferir na primeira (execução em paralelo).
Métodos e bibliotecas Vamos implementar um total de onze métodos. Começaremos descrevendo o “motor” do reprodutor e terminaremos com os de criação da interface. Os métodos são quatro: P Run() - É neste método que começa o processo de tratamento de nosso arquivo MP3. Daqui obtemos o InputStream e o AudioFormat. Depois, chamaremos o método seguinte. Reproduzir() vai se chamar
Programação
run(), já que é uma implementa-
ção do método run() que herdamos da classe Thread. Dessa forma, ao chamar o método start() do novo thread, o método run() será executado diretamente. P Reproduzir(): aqui é criado o buffer de Bytes e o SourceDataLine. Assim, recebemos o AudioInputS- Figura 2: Esse é o selecionador de arquivos (JFileChooser) que será produzido ao se tream (o stream de áudio) e criaexecutar o método showOpenDialog. mos o SourceDataLine (recebido do método getLine, que definiremos mais tarde). Entramos então em um P GetLine(): Com este método crialoop no qual contamos os bytes que mos o SourceDataLine (através do vamos ler e os que serão escritos, e AudioSystem ), a partir do stream com o qual leremos (preenchendo o já decodificado e que nos será debuffer) através do AudioInputStrevolvido. Usaremos um método que am, e então o escrevemos no disposiimplementa o JDK1.5, que é o gettivo de som com o SourceDataLine. SourceDataLine. Dessa forma, eviFinalmente, quando a canção tertamos ter que fazer o downcasting minar, fechamos o SourceDataLine (fazer o molde de uma classe baixa a e o AudioInputSource. uma classe mais específica. O molde
69
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
não converte o objeto, é apenas um objeto prolongado mais específico) do método getLine do audioSystem (que produz um DataLine.info). P Finalmente, temos o getTag(): esse método será encarregado de nos fornecer a informação da canção (autor, título etc). Ele irá receber o formato do arquivo sem decodificá-lo e criar uma ocorrência do tipo Map, com a qual acessaremos os dados que mais nos interessam – neste caso, álbum, título e autor. Para os métodos da interface (figura 1), teremos o criador do botão e do quadro de texto (panelReprodutor()), com o qual criaremos os botões (Jbuttons) e a área de texto (JtextArea()), que nos mostrará a informação do MP3; o criador do menu (menu()), que criará um menu com duas opções (Tocar e Parar, que realizarão as mesmas funções dos botões); o receptor das funções do mouse (acaoMenu()), que executará os métodos play e stop; o método Play(), que iniciará o thread que irá reproduzir a canção, além de produzir o selecionador de pastas; e o método Stop(), que irá interromper a reprodução em curso. A interface é muito simples. Uma área de texto (onde serão inseridos os dados do MP3), o botão Tocar, que abrirá um selecionador de arquivos (figura 2), com o qual selecionaremos o arquivo a ser reproduzido, e o botão Parar, com o qual se interrompe a reprodução da música. Cada vez que clicarmos no Play, teremos que selecionar novamente a canção que será tocada. É possível que você queira melhorá-lo, adicionando uma lista de reprodução, um botão para avançar ou retroceder etc. No número 16 da Linux Magazine, vimos como usar outros componentes da Jlist e armazenar dados em pastas. Com essas informações é possível criar uma lista de reprodução para o nosso “player”.
70
Python + Java
Para reduzir o tamanho da aplicação, tivemos que omitir alguns pontos, como guardar as exceções. Isso é notado ao se abrir o selecionador de arquivos e, clicando no botão Cancelar, abre-se um arquivo que não é um MP3 etc. Esse é um programa exemplo que precisa ainda de depuração. E, por último, o método __init__(), típico das aplicações Java e Jython, que iniciará os valores da aplicação, criando o painel que contém a interface gráfica, e inicializará a variável booleana com a qual será controlada a parada do reprodutor (Parar) e o método exit(), que permitirá sair da aplicação ao clicarmos no botão para fechar a janela (o típico X, acima, à direita). Outro aspecto que devemos comentar é o tratamento que o Jython dá às variáveis booleanas, já que não existem os valores true e false. Para solucionar este problema, ao invés de true, utilizamos o valor 1, e 0 no lugar de false, que são os valores equivalentes no Java. As bibliotecas que vamos utilizar são as seguintes: org.tritonus.share.sampled. TAudioFormat e org.tritonus.share.sampled.file.TAudioFileFormat, que será usado para obter a informação do nosso arquivo MP3. Java.sound.sample, onde estão as classes (SourceDataLine, AudioSystem etc) de que vamos precisar; ponto.java.io, para acessar as pastas. A biblioteca jarray nos permite criar arrays compatíveis com Java. Por último, java.util, javax.swing, java.lang, java. awt, java.util, que servirão para o resto de nossas tarefas. No caso de querermos reproduzir músicas da Internet, abrimos o endereço criando uma ocorrência URL (devemos acrescentar a biblioteca java.net, à qual passaremos o protocolo que vamos usar, o host que deverá ser conectado, o ponto de co-
nexão e o nome da pasta). Preparado o endereço, o objeto URL com o método openStream começa a extrair o stream desse arquivo, e temos apenas que passá-lo para nosso reprodutor (com get.AudioInputStream()) e logo (dependendo da velocidade e tamanho da conexão) começaremos a escutar a música. O programa completo pode ser visto na listagem 1.
Outro reprodutor É claro que há uma forma mais fácil de criar um reprodutor. Mas o objetivo deste artigo foi ver como podemos criar, a partir dos elementos do Java, um reprodutor de acordo com nossas necessidades (como o tamanho do buffer). Nas bibliotecas instaladas com o javazoom, mais concretamente no JPlayer, existe uma classe que cria um reprodutor de MP3 completo, ao qual devemos apenas passar o InputStream (com FileInputStream ) quando o criamos. Ao executar o método .play() do respectivo reprodutor, ele se encarregará do resto. No próximo mês voltaremos com mais scripts em Python e Jython. ■
Informações [1] Jython: www.jython.org [2] Javazoom: www.javazoom.net [3] Java: java.sun.com [4] Tritonux: www.tritonus.org
Sobre o autor
Programação
José Pedro Orantes Casado cursa o 3º ano de Engenharia Técnica em Informática de Sistemas e, há muitos anos, utiliza Linux como ferramenta de trabalho. José Maria Ruíz está terminando seu projeto de conclusão de curso na Faculdade de Engenharia Técnica em Informática de Sistemas, também na Espanha. Usa e desenvolve Software Livre há mais de 7 anos , dois deles no FreeBSD.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Comunidade
Projetos
O que os desenvolvedores andam aprontando
Projetos na incubadora
O Soundmural produz som a partir de uma imagem. Já o Hacker Key cria código para
corresponder ao programador. Conheça também o AKFQuiz, como anda o Linux no UltraSPARC T1 e que fim levou a polêmica sobre a licença GFDL no Debian. Por Carsten Schnober e Martin Loschwitz
A
rtistas plásticos sempre gostaram de experimentar a relação entre diferentes formas de percepção. Por exemplo, imagem e som. Nesse campo, o computador é uma ferramenta particularmente útil, já que não faltam dados que podem ser facilmente usados para tarefas não imaginadas pelos seus autores. O programa Soundmural [1], de Kurt Rosenfeld, interpreta imagens como se elas fossem espectrogramas de sons e salva os “ruídos” correspondentes em um arquivo .wav.
Onomatopéia Um espectrograma fornece uma representação gráfica do espectro de freqüência de cada ponto de uma gravação. Em uma representação monocromática, as freqüências mais altas são escuras; as mais baixas, claras. Intervalos de silêncio são espaços em branco. Representações coloridas usam uma técnica simlar, mas aplicam cores mais escuras ou mais claras. Assim, um espectrograma fornece um mapeamento visual do som, muito mais preciso que os diagramas de aplicativos para edição de áudio, que apenas mostram a intensidade do volume em determinado tempo. Além disso, o espectrograma é uma interface precisa entre uma música e uma imagem, devido às variações de cores.
72
Figura 1: Exemplo do espectrograma (mostrado no Audacity) de um arquivo de som, criado pelo Soundmural a partir de uma imagem.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Projetos
Comunidade
Os sons que o Soundmural cria são qualquer coisa menos música. De fato, o zumbido e os bips eletrônicos soam como um robô quebrado. Mas ver o espectrograma do arquivo de som resultante final é fascinante e matematicamente exato: ele até parece a imagem original em algumas partes. Levando em conta que as bibliotecas de desenvolvimento libnetpbm e libsndfile estão instaladas, é bem simples compilar o programa. O Soundmural possui duas opções para se criar arquivos de som: a logarítimica tem mais sentido musical, já que ela reduz variações de cor extremas. A linear cria um som cujo espectro se parece mais com a imagem original. Para mudar os modos, basta comentar ou descomentar as linhas requeridas no arquivo soundmural.h, antes de compilar.
A vida secreta dos hackers Hackers e geeks da velha guarda ainda se lembram: em 1993, Robert Hayden criou o Geek Code [2], que permite uma forma compacta e bem nerd de informar detalhes e gostos pessoais em uma assinatura. Trata-se de um bloco de caracteres que não faz sentido nenhum para o não-iniciado, mas que geeks decifram facilmente. Trata-se do estilo preferido de se vestir, variante Unix preferida, visões políticas, estilo de vida e programas de TV favoritos. Por exemplo: GED/J d-- s:++>: a-C++(++++) ULU++ P+ L++ E–- W+(-) N+++ o+ K+++ w– OM+ V-PS++>$ PE++>$
Figura 2: O UltraSPARC T1, da Sun, tem especificações abertas sob a GPL. (“+” e “-”). Os modificadores indicam o que um geek gosta ou desgosta. Para quem quer contar ao mundo sobre sua vida privada, apenas acesse a página, leia tudo (em inglês) e passe a assinar seus emails com sua própria Hacker Key ou publique a chave em seu site.
Linux no UltraSparc T1
Y++ PGP++ t-
Cerca de 20 anos atrás, Software Livre era o sonho de alguns 5+++ X++ R+++>$ idealistas. Virou realidade. Havia planos também de se criar tv+ b+ DI+++ D+++ G+++++ e++ h r-hardware de maneira similar. Mas isso falhava no passado y++** devido à falta dos recursos técnicos para se produzir “cópias”. Agora isso já é possível. O Ultrasparc T1, mais conhecido Mas os gostos mudaram bastante nesses últimos dez anos, como Niagara, é a primeira grande peça dessa onda. Trata-se até na comunidade hacker – embora eles não sejam vistos de um processador ao mesmo tempo moderno e livre, agora normalmente como grandes lançadores de moda. Isso fez que a Sun colocou suas especificações sob a GPL [4]. Chris Allegretta acrescentar novas séries de TV e publicar Um sistema livre se sente tão à vontade em uma CPU livre uma nova versão chamada Hacker Key [3]. A versão três apa- quanto um gnu (o bovino africano) correndo pelas savanas receu, adicionando novas linguagens de programação, filmes da África. Não demorou para David Miller, veterano mantee sistemas operacionais. Exemplo de uma Hacker Key: nedor da versão do kernel para Sparc, publicar o protocolo de um boot Linux em uma máquina Niagara em seu blog [5]. v2sw7CUPhw5ln6pr5Pck4ma7u7LFw0m6g/l7Di5e6t5Ab6THen7g6Ma29s5r3p7 A primeira tentativa falhou em montar o sistema de arquivos root, mas também não demorou para que o culpado fosse A razão para as atualizações, segundo o site do Hacker Key, encontrado: um parâmetro incorreto sobre a partição. é tanto o espaço considerável exigido pelo Geek Code quanto Agora, o kernel Linux inicia tranqüilamente no UltraSparc T1 o fato de ele ser muito fácil de decifrar. O Hacker Key parece (apesar de, no fechamento desta edição, haver ainda muitas insum bloco PGP e faz um uso mais eficiente de modificadores tabilidades). Confira o blog de David Miller para saber como anda
73
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Comunidade
Projetos
a empreitada. Quem dominar programação (e inglês) e quiser se juntar ao time desse projeto, confira a lista to-do em [6].
Debian: GFDL revisitada
Desenvolvedores Debian votaram em prol de algumas “mudanças formais” no contrato social da distribuição, em 2004. Esse documento especifica algumas políticas básicas, como a Jogos de perguntas, ou quiz, são uma presença constante na TV. exigência de que o Debian seja e continue livre. Após a votação, Realmente há pessoas que apreciam esse tipo de programa! Mas a comunidade de repente percebeu que essas mudanças iam tanto o apresentador quanto as questões podem não ter muito apelo ter conseqüências muito menos marginais do que imaginavam. para nós. Alguém já viu uma pergunta de R$ 100 mil sobre Bash? Isso ia impedir, por exemplo, que o tão aguardado Sarge fosse É preciso admitir que esse tipo de conteúdo talvez nunca lançado em um futuro próximo. Então, as mudanças propostas se torne popular. A chance de um programa com esse tipo foram adiadas para algum tempo depois do Sarge. de conteúdo ter sucesso é ínfima. Mas não deixe que isso Na época, isso trouxe alguns uivos de protesto, já que muitos lhe impeça de desenvolver seu próprio quiz, para torrar o desenvolvedores não consideram a GFDL (GNU Free Documencérebro de quem se arriscar a enfrentá-lo. Para ajudar nisso, tation License) livre no sentido Debian. a ferramenta AFKQuiz [7], escrita em Pascal, fornece um Entre os motivos da incompatibilidade da GFDL com o framework útil para Linux e Windows®. Ele usa como fonte Debian estavam: impossibilidade de se inserir documentos arquivos de quiz e fornece uma coleção de front-ends para diretamente em outro sob a GFDL, seções imutáveis que não apresentar as questões para a audiência. podem ser removidas ou alteradas no futuro, exigência de O GRQuiz inicia uma interface gráfica para usuários locais. distribuir cópias editáveis dos documentos até um ano depois Para quem preferir um quiz via console, há o SCRQuiz ou o de o documento deixar de circular, impossibilidade potencial Linequiz. Quem quiser publicar seu quiz na web tem duas de copiar os arquivos em sistemas criptografados – na cláusula opções: o CGIQuiz cria arquivos .cgi para o servidor web. Se o contra DRM (Digital Rights Management) – entre outras. servidor não for compatível com esses scripts, o MKQuiz gera Desenvolvedores e usuários argumentavam que uma distribuipáginas HTML com Javascript a partir de um arquivo quiz. ção sem documentação é impossível de usar. Isso é o que o Debian No momento, o pacote AFKQuiz vem apenas com quatro se tornaria se toda a documentação licenciada sob a GFDL fosse arquivos de quiz: sobre GNU/Linux , cristianismo e chocolate removida. Por outro lado, a ala linha-dura insistia em aplicar o (!), em inglês e alemão. Os arquivos são ASCII puro. Cada um contrato social, querendo remover qualquer vestígio de GFDL. contém as perguntas, um punhado de opções corretas ou inEm março, houve outra votação sobre isso [8]. Foram apresencorretas e comentários opcionais para explicar as respostas. tadas diferentes maneiras de lidar com o dilema e os desenvolveHá diversos chamativos para testes do tipo na página do dores foram questionados se a GFDL é aceitável para o Debian. projeto. Para aprimorar esse tipo de conteúdo, o autor pede As opções foram: mover esse tipo de documentação do “main” (principal) para a seção “non-free” (não-livre) ou manter tudo que os usuários disponibilizem seus arquivos de quiz. no “main”. Após a votação, foi decidido que documentos sob a GFDL continuariam a ser distribuídos na seção “non-free”. ■
Quiz Master Tool
Informações [1] Soundmural: http://134.74.16.64/wwwa/web/hardware/soundmural [2] Geek Code: www.geekcode.com/geek.html [3] Hacker Key Guide: www.hackerkey.com [4] OpenSparc: www.opensparc.net [5] Blog de David Miller: vger.kernel.org/~davem/cgi-bin/blog.cgi [6] Lista de tarefas para Linux Sparc64: vger.kernel.org/~davem/sparc64_todo.html [7] AKFQuiz: akfoerster.de/akfquiz
Figura 3: Exemplo de um quiz sobre Linux gerado pelo AFKQuiz.
74
[8] Resultados da votação sobre a GFDL: www.debian.org/vote/2006/vote_001
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Serviços
CD do Assinante
Desktop Muriqui Linux 1.4 - LM
tupiniquim O Muriqui é uma opção versátil para uso em computadores pessoais. por Ulisses Leitão
N
unca se pensou tanto no usuário fico Anaconda da Red Hat, na versão final. Agora mais do que nunca, “debianizada” pela Progeny, traduzida o Software Livre parte para a para o português. conquista tanto do desktop corporativo Entre seus recursos estão: reduzido quanto o do usuário doméstico. Nesse número de etapas de instalação, textos trajeto, também caminha o Muriqui Linux de ajuda em português e opções padrão [1], desenvolvido pela DoctumTec [2] e lan- voltadas para usuários brasileiros (fuso çado em maio do ano passado. A versão horário, idioma e layout de teclado). A 1.4 - LM (que acompanha e edição para instalação dura entre 20 e 45 minutos, assinantes) contém o sistema básico Mu- dependendo da capacidade de procesriqui com os aplicativos mais comuns. samento da máquina. Trata-se de um Baseado no Debian, com kernel 2.6.11 sistema de instalação “verdadeiro”, com e ambiente KDE 3.3.2, o objetivo do Mu- reconhecimento e configuração de hardriqui é se mostrar um sistema prático, ware, não se tratando de um processo de rápido e seguro. Utiliza o instalador grá- cópia de uma imagem de disco no HD.
Concluída a instalação, temos um sistema básico pronto para uso. O Muriqui Linux oferece um programa simples e fácil para a instalação de aplicativos adicionais, o Muriqui Install. Ele permite complementar a instalação padrão através de um CD extra (que não acompanha esta edição) com pacotes de aplicativos selecionados de acordo com o perfil do sistema que se pretende utilizar. O kernel foi compilado para suportar o sistema de montagem automática supermount, permitindo que o acesso a dispositivos removíveis seja feito sem a necessidade de comandos e privilégios de superusuário. Isso facilita o uso de acessórios como pen drives, câmeras fotográficas e filmadoras digitais. Basta conectar
Quadro 1: Projeto Muriqui Linux O Muriqui Linux nasceu da experiência das Faculdades Doctum [3] com a utilização exclusiva de Linux em seus laboratórios de ensino desde 1998. O Centro de Tecnologia das Faculdades Doctum [2] desenvolveu o Muriqui Linux tendo o usuário final como modelo. Assim, o seu instalador gráfico, o menu principal organizado e o conjunto de aulas multimídia são características de um projeto que visa a facilidade de uso e a aceleração da curva de aprendizado do sistema.
Figura 1: O KPackage pode ser usado na administração dos pacotes. A distribuição é compatível com o repositório stable do Debian.
76
O projeto chamou a atenção do MEC (Ministério da Educação e Cultura), que solicitou o desenvolvimento de uma personalização do Muriqui para a instalação em 100 mil computadores de escolas públicas do País.
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
CD do Assinante
Serviços
Quadro 2: Administração A administração do Muriqui Linux é realizada através de aplicativos com interface gráfica:
P
P
P
Criação e gerenciamento de usuários: Clique no botão K Muriqui | Sistema | KUser. A interface permite criar novos usuários, gerenciar senhas e o diretório home dos usuários. Instalação e desinstalação de pacotes: Como se trata de uma distribuição baseada no Debian, os pacotes podem ser manipulados através do apt-get na linha de comando. Um modo mais simples é o KPackage (K Muriqui | Sistema | KPackage). Edite o link de seu repositório predileto diretamente na configuração do KPackage ou no arquivo /etc/apt/source.list. No Menu Especial | Apt: Debian | Atualizar é possível atualizar a base de dados do apt-get. Agora, basta instalar ou desinstalar o pacote que desejar. Mas CUIDADO: a utilização de repositórios não oficiais pode quebrar a integridade do Muriqui. Como precaução, utilize preferencialmente o repositório da própria distribuição ou qualquer repositório stable do Debian. Configuração do sistema: Acione o botão K Muriqui | Sistema | Configurações | Centro de Controle. O aplicativo Centro de Controle possui diversas opções de configuração do sistema: da aparência da área de trabalho até a configuração de rede. Impressoras - O sistema vem com uma grande lista de drivers para impressoras. No Centro de Controle, acesse Periféricos | Impressoras e siga as instruções de instalação. Se o driver de sua impressora estiver na lista, não haverá nenhuma dificuldade. Se não estiver, verifique o FAQ no site do Muriqui [1] para mais informações sobre novos drivers e tutoriais de instalação.
o dispositivo à porta USB e automaticamente ele será reconhecido, montado e um aviso no painel de ícones do sistema indicará que ele está disponível. Além disso, o acesso a CDs de música, VCDs ou DVDs está simplificado e automatizado, graças ao sistema de auto-execução, que identifica o conteúdo da mídia inserida e permite iniciar o Xine automaticamente para reproduzir áudio ou vídeo.
Figura 2: O Muriqui é compatível com diversos periféricos, incluindo scanners de multifuncionais. Na instalação padrão, o Muriqui Linux traz como ambiente gráfico o KDE, personalizado para oferecer ao usuário um visual moderno e facilitar o acesso aos aplicativos, arquivos e configurações. O conjunto de aplicativos atende às necessidades principais de um usuário doméstico: recursos multimídia, aplicativos de escritório, gerenciamento do sistema e central de ajuda em português. O principal destaque é a Central de Ajuda (independente da ajuda padrão do KDE) do Muriqui Linux, que pode ser acessada diretamente do painel. O aplicativo é simples e leve, e oferece acesso à documentação de pós-instalação, além de informações básicas sobre o uso de aplicativos e os principais aspectos do sistema. A Central de Ajuda também dá acesso às aulas multimídia do Muriqui. Tratase de um conjunto de aulas exclusivas com o objetivo de agilizar o processo de aprendizagem do usuário que está tendo seu primeiro contato com o Linux. Elas estão em CDs que não acompanham essa versão do Muriqui. Em breve, poderão ser adquiridas separadamente no mercado.
O Muriqui Linux 1.4 integra recursos avançados e seu projeto traz a constante preocupação em oferecer um sistema agradável, robusto e amigável. Na versão completa, as aulas multimídia são uma ferramenta que pode acelerar a curva de aprendizado do Linux. Esse conjunto faz desse sistema uma boa opção para projetos de migração corporativa, ambientes educacionais e de inclusão digital. ■
Sobre o autor
P
Ulisses Leitão é diretor de Tecnologia do Instituto Doctum e coordenador geral do Projeto Muriqui Linux. Pesquisador e professor com doutorado na Alemanha, está engajado na adoção de Software Livre no setor público e empresarial desde 1998.
Informações [1] Muriqui Linux: www.muriquilinux.com.br [2] DoctumTec: www.doctumtec.com.br [3] Faculdades Doctum: www.doctum.com.br
77
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Serviços
Linux.local
Linux.local
O maior diretório de empresas que oferecem produtos, soluções e Fornecedor de Hardware = 1 Redes e Telefonia / PBX = 2 Integrador de Soluções = 3 Literatura / Editora = 4 Fornecedor de Software = 5 Consultoria / Treinamento = 6
serviços em Linux e Software Livre, organizado por estado. Sentiu falta do nome de sua empresa aqui? Entre em contato com a gente: 11 2161-5400 ou anuncios@linuxmagazine.com.br Empresa
Cidade
Endereço
Linux Shopp Megawork Consultoria e Sistemas Spirit Linux
Vila Velha
Rua São Simão (Correspondência), 18 – CEP: 29113-120 Rua Chapot Presvot, 389 – Praia do Canto – CEP: 29055-410 sl 201, 202 Rua Marins Alvarino, 150 – CEP: 29047-660
Telefone
Web
1 2 3 4 5 6
27 3082-0932
www.linuxshopp.com.br
✔✔
27 3315-2370
www.megawork.com.br
✔
✔✔
27 3227-5543
www.spiritlinux.com.br
✔
✔✔
Espírito Santo Vitória Vitória
✔✔
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
TurboSite
Belo Horizonte
Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141
0800 702-9004
www.turbosite.com.br
✔
✔✔
Microhard
Belo Horizonte
Rua República da Argentina, 520 – Sion – CEP: 30315-490
31 3281-5522
www.microhard.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
NSI Training
Rio de Janeiro
21 2220-7055
www.nsi.com.br
✔
✔
Open IT
Rio de Janeiro
Rio de Janeiro Rua Araújo Porto Alegre, 71, 4ºandar Centro – CEP: 20030-012 Rua do Mercado, 34, Sl, 402 – Centro – CEP: 20010-120
21 2508-9103
www.openit.com.br
✔
✔
51 3714-6653
www.solis.coop.br
✔✔✔✔
Plugin
Porto Alegre
TeHospedo
Porto Alegre
Rio Grande do Sul Rua Comandante Wagner, 12 – São Cristóvão – CEP: 95900-000 Rua Joaquim Pedro Soares, 1099, Sl. 305 – Centro Av. Carlos Gomes, 403, Sala 908, Centro Comercial Atrium Center – Bela Vista – CEP: 90480-003 Rua Germano Petersen Junior, 101-Sl 202 – Higienópolis – CEP: 90540-140 Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193 Av. Júlio de Castilhos, 132, 11º andar Centro – CEP: 90030-130 Rua dos Andradas, 1234/610 – Centro – CEP: 90020-008
Ws Host
Arthur Nogueira
Rua Jerere, 36 – Vista Alegre – CEP: 13280-000
19 3846-1137
www.wshost.com.br
✔
DigiVoice
Barueri
11 4195-2557
www.digivoice.com.br
✔✔✔
✔✔
Dextra Sistemas
Campinas
19 3256-6722
www.dextra.com.br
✔
✔✔
✔
Solis
Lajeado
DualCon
Novo Hamburgo
Datarecover
Porto Alegre
LM2 Consulting
Porto Alegre
Lnx-IT Informação e Tecnologia Porto Alegre
51 3593-5437
✔ ✔✔✔
✔ ✔✔
51 3018-1200
www.datarecover.com.br
51 3018-1007
www.lm2.com.br
✔
✔✔
51 3331-1446
www.lnx-it.inf.br
✔
✔
✔✔
51 3287-1700
www.plugin.com.br
✔
✔
✔✔
51 3286-3799
www.tehospedo.com.br
✔✔
✔
✔
✔
✔
São Paulo
Insigne Free Software do Brasil Campinas
Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010 Rua Antônio Paioli, 320 – Pq. das Universidades – CEP: 13086-045 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
Savant Tecnologia
Diadema
Av. Senador Vitorino Freire, 465 – CEP: 09910-550
11 5034-4199
www.savant.com.br
Epopéia Informática
Marília
14 3413-1137
www.epopeia.com.br
AW2NET
Rua Goiás, 392 – Bairro Cascata – CEP 17509-140 Rua Costante Piovan, 150 – Jd. Três Osasco Montanhas – CEP: 06263-270 Av. Yojiro Takaoca, 4384, Ed. Shopping Santana de Parnaíba Service, Cj. 1013 – CEP: 06541-038 Santo André Rua Edson Soares, 59 – CEP: 09760-350
Async Open Source
São Carlos
Redentor Go-Global
www.redentor.ind.br www.go-global.com.br
11 4990-0065
www.aw2net.com.br
16 3376-0125
www.async.com.br
✔ ✔
www.delixhosting.com.br
4Linux
11 2125-4747
www.4linux.com.br
A Casa do Linux
São Paulo
11 3549-5151
www.acasadolinux.com.br
78
Al. Jaú, 490 – Jd. Paulista – CEP 01420-000
✔ ✔
11 2106-9392
11 4062-9889
Delix Internet
✔
✔✔✔
11 2173-4211
Rua Orlando Damiano, 2212 – CEP 13560-450 Rua Voluntário de São Paulo, 3066 São José do Rio Preto 9º – Centro – CEP: 15015-909 São Paulo Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031
✔✔ ✔
✔ ✔
✔✔
✔
✔✔ ✔✔
✔
✔ ✔✔
✔
✔✔
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
Linux.local
Empresa
Cidade
Accenture do Brasil Ltda.
São Paulo
ACR Informática
São Paulo
Agit Informática
São Paulo
Altbit - Informática Comércio e Serviços LTDA.
São Paulo
AS2M -WPC Consultoria
São Paulo
Big Host
São Paulo
Blanes
São Paulo
Commlogik do Brasil Ltda.
São Paulo
Computer Consulting Projeto e Consultoria Ltda. Consist Consultoria, Sistemas e Representações Ltda.
São Paulo
Endereço São Paulo (continuação) Rua Alexandre Dumas, 2051 – Chácara Santo Antônio – CEP: 04717-004 Rua Lincoln de Albuquerque, 65 –Perdizes – CEP: 05004-010 Rua Major Quedinho, 111, 5º andar, Cj. 508 – Centro – CEP: 01050-030 Av. Francisco Matarazzo, 229, Cj. 57 – Água Branca – CEP 05001-000 Av. Tiradentes, 615, Ed. Santiago, 2º andar Bom Retiro – CEP: 01101-010 Rua Dr. Miguel Couto, 58 – Centro – CEP: 01008-010 Rua André Ampére, 153 – 9º andar – Conj. 91 CEP: 04562-907 (próx. Av. L. C. Berrini) Av. das Nações Unidas, 13.797, Bloco II, 6º andar – Morumbi – CEP: 04794-000 Rua Vergueiro, 6455, Cj. 06 – Alto do Ipiranga – CEP: 04273-100
Serviços
Telefone
Web
1 2 3 4 5 6
11 5188-3000
www.accenture.com.br
11 3873-1515
www.acrinformatica.com.br
✔
✔
11 3255-4945
www.agit.com.br
✔✔
✔
11 3879-9390
www.altbit.com.br
✔
11 3228-3709
www.wpc.com.br
11 3033-4000
www.bighost.com.br
✔
✔✔
11 5506-9677
www.blanes.com.br
✔✔✔
✔✔
11 5503-1011
www.commlogik.com.br
✔✔✔
✔✔
11 5062-3927
www.computerconsulting.com.br
✔
✔✔
✔
✔✔
✔
✔✔
✔
✔✔
✔
São Paulo
Av. das Nações Unidas, 20.727 – CEP: 04795-100
11 5693-7210
www.consist.com.br
Domínio Tecnologia
São Paulo
11 5017-0040
www.dominiotecnologia.com.br
EDS do Brasil
São Paulo
Rua das Carnaubeiras, 98 – Metrô Conceição – CEP: 04343-080 Av. Pres. Juscelino Kubistcheck, 1830 T4 5º andar
3707-4100
www.eds.com
Ética Tecnologia Getronics ICT Solutions and Services
São Paulo
Rua Nova York, 945 – Brooklin – CEP:04560-002
11 5093-3025
www.etica.net
São Paulo
Rua Verbo Divino, 1207 – São Paulo/SP – CEP: 04719-002
11 5187-2700
www.getronics.com/br
Hewlett-Packard Brasil Ltda.
São Paulo
11 5502-5000
www.hp.com.br
✔
✔✔✔✔
IBM Brasil Ltda.
São Paulo
Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000 Rua Tutóia, 1157 – CEP: 04007-900
0800-7074 837
www.br.ibm.com
✔
✔
✔✔
iFractal
São Paulo
11 5667-9308
www.ifractal.com.br
✔
✔✔
11 5545-2600
www.integral.com.br
✔
11 6097-3000
www.itautec.com.br
✔✔✔
✔✔ ✔✔
✔✔✔✔ ✔
✔
✔ ✔✔
✔
✔
✔✔
✔
✔✔
Integral
São Paulo
Itautec S.A.
São Paulo
Rua N. Sra. do Outeiro, 480, Sala 19 – CEP: 04807-010 Rua Dr. Gentil Leite Martins, 295, 2º andar Jd. Prudência – CEP: 04648-001 Rua Santa Catarina, 1 – Tatuapé – CEP: 03086-025
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
11 3266-2988
www.temporeal.com.br
Locasite Internet Service
São Paulo
11 2121-4555
www.locasite.com.br
Microsiga
São Paulo
Al. Santos, 1202 – Cerqueira César – CEP: 01418-100 Av. Brigadeiro Luiz Antonio, 2482, 3º andar – Centro – CEP: 01402-000 Av. Braz Leme, 1631 – CEP: 02511-000
11 3981-7200
www.microsiga.com.br
Novatec Editora Ltda.
São Paulo
R. Luis Antonio dos Santos, 110 – Santana – 02460-000
11 6979-0071
www.novateceditora.com.br
Rua Funchal, 418 – Vila Olímpia Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º andar – CEP: 04726-170 Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001 Av. Cardoso de Melo, 1450, 6º andar – Vila Olímpia – CEP: 04548-005 Av. Angélica, 2503, 8º andar Consolação – CEP: 01227-200 Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002 Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000 Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010 Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000 Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919
11 3345-3900
www.novell.com/brasil
11 5189-3000
www.oracle.com.br
11 5052- 8044
www.proelbra.com.br
11 2165-6500
www.e-provider.com.br
11 3124-6000
www.latinsourcetech.com.br
11 5097-3014
www.samurai.com.br
✔
✔✔
11 5503-2400
www.sap.com.br
✔
✔✔
11 3898-2121
www.simplesconsultoria.com.br
✔
✔✔
11 3731-8008
www.snapit.com.br
✔
✔✔
11- 3039-2000
www.stefanini.com.br
✔
✔✔
11 5187-2100
www.sun.com.br
✔
✔✔
11 3046-7388
www.sybase.com.br
11 6698-5090
www.thesource.com.br
11 3305-7000
www.unisys.com.br
11 3145-5888
www.utah.com.br
✔
✔✔
11 5614-1010
www.visuelles.com.br
✔
✔✔
11 5503-6510
www.webnow.com.br
✔
✔
✔
11 3362-1334
www.wrl.com.br
✔
✔
✔
Novell América Latina
São Paulo
Oracle do Brasil Sistemas Ltda.
São Paulo
Proelbra Tecnologia Eletrônica Ltda.
São Paulo
Provider
São Paulo
Red Hat Brasil
São Paulo
Samurai Projetos Especiais
São Paulo
SAP Brasil
São Paulo
Simples Consultoria
São Paulo
Snap IT
São Paulo
Stefanini IT Solutions
São Paulo
Sun Microsystems
São Paulo
Sybase Brasil
São Paulo
The Source
São Paulo
Unisys Brasil Ltda.
São Paulo
Utah
São Paulo
Visuelles
São Paulo
Webnow
São Paulo
WRL Informática Ltda.
São Paulo
Rua Alexandre Dumas, 2016 – CEP: 04717-004 Av. Juscelino Kubitschek, 510, 9º andar Itaim Bibi – CEP: 04543-000 Rua Marquês de Abrantes, 203 – Chácara Tatuapé – CEP: 03060-020 Rua Alexandre Dumas, 1711, 10º andar, Ed. Birmann 11 – São Paulo/SP – CEP: 04717-004 Av. Paulista, 925, 13º andar – Cerqueira César – São Paulo/SP – CEP: 01311-916 R. Eng. Domicio Diele Pacheco e Silva, 585 – Interlagos – CEP 04455-310 Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Centenário – Chácara Itaim – CEP: 04578-000 Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001
✔
✔
✔✔ ✔✔✔
✔
✔✔ ✔
✔✔ ✔
✔
✔✔ ✔✔
✔
✔
✔
✔
✔✔ ✔
✔
✔
✔✔
✔
✔
✔✔
✔
✔✔
79
http://supertuxbr.blogspot.com maio 2006
www.linuxmagazine.com.br
edição 19
Serviços
Eventos + Índice de Anunciantes
Calendário de eventos Evento
Data
Local
Website
LinuxTag 2006
3 a 6 de Maio
Wiesbaden, Alemanha
www.linuxtag.org/2006/en
I Circuito Paranaense de Software Livre
Maio a Setembro
(diversas cidades do Paraná)
www.circuitopsl.pr.gov.br
1º Linux Day - CEFETES
6 de Maio
Centro Fed. de Ed. Tecnológica, ES
www.cefetes.br
III Semin. Banco de Dados - PostgreSQL/MySQL 6 de Maio
São Paulo, SP
eventos.temporeal.com.br
I Ensol (Enc. Soft. Livre da Paraíba)
12 a 14 de Maio
João Pessoa, PB
www.ensol.org.br
Debconf 6
14 a 22 de Maio
Oaxtepec, México
debconf6.debconf.org
LinuxWorld Conference & Expo South Africa
16 a 19 de Maio
Johannesburgo, África do Sul
www.linuxworldexpo.co.za
LinuxWorld Conferecence & Expo Brasil
23 a 25 de Maio
São Paulo, SP
www.linuxworldexpo.com
Servidores de Aplicação J2EE
27 de Maio
FIAP, SP
eventos.temporeal.com.br
LinuxWorld Conference & Expo Japan
31 de Maio a 1º de Junho
Tokyo, Japão
www.linuxworldexpo.com
PyConBrasil 2006
1 e 2 de Junho
Braslia - DF
pyconbrasil.interlegis.gov.br
Semin. Soluç. Corporativas com Software Livre 24 de Junho
São Paulo, SP
eventos.temporeal.com.br
GUADEC 2006
24 a 30 de Junho
Vilanova i la Geltrú, Espanha
2006.guadec.org
II Seminário LinuxPark'06
28 de Junho
São Paulo, SP
www.linuxpark.com.br
Executivos do ABC
20 de Julho
São Bernardo do Campo, SP
www.executivosdoabc.com.br
III Festival Software Livre da Bahia
24 a 26 de Agosto
Lauro de Freitas, BA
festival.softwarelivre.org
Semana de Informática do Unisal
18 a 23 de Setembro
Americana - SP
www.unisal.br
III Seminário LinuxPark'06
20 de Setembro
São Paulo, SP
www.linuxpark.com.br
Seminário Web com Ruby on Rails
23 de Setembro
São Paulo, SP
eventos.temporeal.com.br
2ª Semana Software Livre Univale
20 e 21 de Outubro
Ivaiporã - PR
www.univale.com.br/livre/
Índice de anunciantes Anunciante A Casa do Linux ARC System BRconnection Devmedia DVDs Linux New Media Easy Linux Guia de TI Itautec Intel Linux.local Linux Magazine Linux Park Linux World Locasite Microsoft Oracle Simples Consultoria Snap IT Smart
Página 95 43 02 71 65 23 02 07 09 25 47, 75 21 59, 81 35 19 17 69 29 84
http://supertuxbr.blogspot.com
80
maio 2006
edição 19
www.linuxmagazine.com.br
�������������������������������
���������������� ������� ������� ������������� �������� ��������� ������ ������������� ���������� ���������� ������ ������ ������� ���������� �������� �������������� ������� �������� ������� ���������� �������� ������������
������������������� �������������������� ���������������� ��������������������� ��������� ������������������� ������������������� ������������������� �������������� ����������������������� ������������������ ��������������� ��������������� ������������� ���������������������� ����������������������� ����������������������� ����������������������� ��������������� ������������������������ �����������������������������
���������������������� ���������������������� ���������������������� ������������������������ ����������������������� ����������������������� ������������������������ ��������������������������� ���������������������� ���������������������� ����������������������� ����������������������� ���������������������� ����������������������� ���������������������� ��������������������� ��������������������� ������������������������ ����������������������� ��������������������� �������������������������
http://supertuxbr.blogspot.com �����������������������������������������������������������������
���������������������������
Preview
O que vem por aí
Junho de 2006
Na próxima edição... Destaque
❐ Administração de redes Quanto maior o rebanho de computadores que necessitam de administração, maior é a necessidade de automatização de tarefas. Na próxima edição da Linux Magazine vamos mostrar como minimizar o problema da “multiplicação dos PCs”, ilustrando téc-
nicas e ferramentas para facilitar a vida do administrador com dezenas ou centenas de clientes na sua rede. Para começar, vamos falar sobre “Thin Clients”, computadores geralmente com recursos mínimos de hardware, conectados a um servidor central onde vão buscar desde o sistema operacional, passando pela interface gráfica e até mesmo os aplicativos. Uma outra alternativa para reduzir de modo sensível o trabalho de administração de sistemas – pelo menos no que tange à alocação de endereços IP, à configuração de DNS e à disponibilização e procura de serviços de rede – é usar o Avahi, um sistema Zeroconf (para "macmaníacos", Rendezvous ou Bonjour) para o Linux. Mas se a administração de diversos computadores é inevitável, é necessário ficar de olho neles: SNMP é a salvação da lavoura nesses casos, com o qual não somente informações dos servidores e equipamentos de rede podem ser acessadas, como algumas tarefas básicas de administração podem ser realizadas. ■
SysAdmin
Análise
❐ De olho na performance
❐ No caminho da luz
O mundo do monitoramento de desempenho é bastante misterioso para o não iniciado, já que essa é uma tarefa bastante complexa. Profissionais da área costumam entregar grossos relatórios recheados de equações estatísticas, gráficos cifrados e expressões incompreensíveis. Um programa que ajuda a tornar essa área menos tediosa é o Orca. Além de ser fácil de instalar, o aplicativo fornece relatórios gráficos em HTML, com os principais parâmetros de desempenho. ■
82
O Enlightenment é um gerenciador de janelas com inúmeros fãs. Uma nova versão estável é aguardada como a chegada do messias. Mas a versão de desenvolvimento 17, conhecida também como E17, já circula há algum tempo. Quem gosta de arriscar a instalação de “protótipos”, pode se deliciar com o E17, um ambiente veloz e bem agradável esteticamente. ■
http://supertuxbr.blogspot.com maio 2006
edição 19
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
������������
Número 19 Linux Turbo hdparm Sistemas de Arquivos WordPress Blender Cron & AT Jython
http://supertuxbr.blogspot.com
www.smartbrasil.com.br central de atendimento: 11 5072-5958
CentOS
- Firewall; - Proxy; - Servidor Web; - Servidor DNS; - Servidor de E-mails com Anti-Spam; - VPN; - Balanceamento de link; - Interface de fácil administração e muito mais.
Super Linux
Monitore e controle o envio e recebimento de e-mails, MSN Messenger e todo o conteúdo trafegado em sua rede. Hospede suas páginas dentro de sua própria empresa com facilidade e segurança. Outros recursos disponívies no Smart Manager:
Underground
Tenha total controle do que acontece entre sua rede interna e a Internet. Com o Smart Manager, você gerencia o uso da web na sua empresa de forma fácil, rápida e segura.
Os pingüins da Band p.10 Emissora migra para Software Livre a revista do profissional de ti
Número 19
Linux Magazine
PARA O CONTROLE DO ACESSO À INTERNET
corporativo p.14 Abordando projetos de migração
Maio 2006
A SOLUÇÃO DEFINITIVA
��� Seminário
Linux Turbo » Otimização de discos rígidos » Acelere aplicativos multimídia » O sistema de arquivos ideal
p.31
Campeões de velocidade Underground Desktop e Super Linux
p.44
Animação 3D
Dê vida a personagens com o Blender
p.54
Veja também:
» Blogs com o WordPress » CentOS, o fator corporativo » Cron & At: agendamento de tarefas » Crie um MP3 Player com Java e Python W W W. L I N UX M AG A Z I N E . CO M . B R
0 0 1 9 R$10,90 exemplar de 0assinante € 5,50
venda proibida 9 771806 942009
Ed. 19 05/2006
CD DO ASSI NANTE: MURIQUI 1.4