1) A revista apresenta artigos sobre SEO, alternativas ao Microsoft Exchange e o sistema operacional OpenSolaris.
2) Há também uma coluna sobre a nova versão do shell Bash e um tutorial sobre depuração profunda com o Strace.
3) A seção de notícias traz reportagens sobre patentes de software nos EUA e o mercado de código aberto.
1. PATENTES DE SOFTWARE p.22 CRESCEU NA CRISE p.26 DE HACKER A PROGRAMADOR p.30
Temporariamente Red Hat relata como enfrentou Maddog explica a qualidade
suspensas nos EUA e venceu a crise de software
# 58 Setembro 2009
A REVISTA DO PROFISSIONAL DE TI
CASE ALFRESCO p.26 LINUX PARK 2008 p.28 CEZAR TAURION p.34
A Construcap agilizou seus Iniciada em Porto Alegre a temporada O Código Aberto como
projetos com o Alfresco de seminários Linux Park de 2008 incentivo à inovação
#44 07/08
R$ 13,90
€ 7,50
00044
9 771806 942009
A REVISTA DO PROFISSIONAL DE TI
GOVERNANÇA COM
SEJA UM BOM GESTOR E UTILIZE AS
MELHORES PRÁTICAS ADOTADAS E
GRÁTIS
RECOMENDADAS PELOS PROFISSIONAIS
MAIS EXPERIENTES NESSA ÁREA p.36
» O que dizem os profissionais
certificados p.24
» Cobit, CMMI, ITIL. Quais as
melhores práticas? p.36
» ITIL na prática p.39
» Novidades do ITIL v3. p.44
SEGURANÇA: DNSSEC p.69 VEJA TAMBÉM NESTA EDIÇÃO:
Com o DNSSEC, a resolução » Relatórios do Squid com o SARG p.60
de nomes fica protegida
» Java, Ruby e Rails: conheça o JRuby on Rails p.74
de ataques. Mas seu
preço vale a pena? » Benchmarks do GCC 4.3? p.58
» Becape de bancos de dados com a Libferris p.46
REDES: IPV6 p.64
Conheça as vantagens da » LPI nível 2: Servidores NIS e DHCP p.52
nova versão do Internet
Protocol, e veja por que
é difícil adotá-la
WWW.LINUXMAGAZINE.COM.BR
TÉCNICAS E FERRAMENTAS DE SEO PODEM AJUDÁ-LO A
CONSEGUIR O TÃO SONHADO LUCRO NA INTERNET. p.33
» Programe no Google com o App Engine p.34
» SEO na fonte p.41
» Seu Apache aguenta? p.46
» CMS colaborativo p.51
REDES: SUBSTITUTO DO EXCHANGE! p.68 OPENSOLARIS p.64 VEJA TAMBÉM NESTA EDIÇÃO:
O groupware Zarafa implementa todos No quinto artigo da série, veja » Bash 4: ainda melhor p.58
os recursos do MS Exchange e pode como o sistema da Sun trata os » Depuração profunda com o Strace p.74
até servir clientes Outlook. dispositivos físicos e lógicos. » Chrome OS na visão de Cezar Taurion p.32
WWW.LINUXMAGAZINE.COM.BR
2. ÍNDICE
CAPA
Seu site contra a internet 33
Se a concorrência pela atenção dos visitantes na Internet é
grande, aprimore seus conhecimentos e seu site para atraí-los.
Powered by Google 34
Desenvolvedores web sonham em pôr as mãos no poder
coletivo dos servidores do Google. O Google App Engine
oferece um pedaço desse universo de máquinas.
SEO sim, senhor 41
As Google Webmaster Tools oferecem a visão
que o bot do Google tem do seu site. Use-as
para melhorar a visibilidade de seu site.
Apache tunado 46
Na batalha por visitantes, milésimos de
segundo contam. Algumas mudanças simples
ajudarão a manter o seu site popular.
Raio de vida na colaboração 51
O Liferay é um poderoso sistema de gerenciamento de
conteúdo, facilmente customizável e – uma vez configurado
– uma ferramenta ideal para colaboração corporativa.
4 http://www.linuxmagazine.com.br
3. Linux Magazine 58 | ÍNDICE
COLUNAS ANÁLISE
Klaus Knopper 08 Bash novo 58
Apesar da maturidade do Bash, seus desenvolvedores continuam
Charly Kühnast 10
aprimorando-o. A versão 4 do shell está cheia de novidades.
Zack Brown 12
Augusto Campos 14
Alexandre Borges 16
Kurt Seifried 18
NOTÍCIAS
Geral 22
➧ Linux Foundation: quem escreve o Linux?
➧ Lançado o Slackware 13
➧ RHEL 5.4 lançado com suporte ao KVM
TUTORIAL
➧ Google Chrome de 64 bits para Linux
OpenSolaris, parte 5 64
Na continuação da série, veja como o sistema operacional de código
CORPORATE aberto da Sun identifica e reconhece dispositivos de hardware.
Notícias 24
➧ EUA bane patentes de software
➧ Patentes e suporte no Ubuntu REDES
Alternativa ao Exchange 68
O Zarafa oferece o que há de melhor em groupware:
acesso nativo do MS Outlook, mobilidade com “push”
e a confiabilidade de um servidor Linux.
➧ Gartner recomenda Código Aberto para ECM
➧ Acordo sobre patentes com a Microsoft
➧ IDC: Mercado Linux na casa dos bilhões
PROGRAMAÇÃO
Depuração profunda 74
Depois do nosso “Hello World”, vamos examinar as
chamadas de sistema mais detalhadamente. Neste
artigo final, veremos a depuração no mundo real.
➧ Novell tem lucro com Linux
Entrevista com Michael Tiemann, Red Hat 26
SERVIÇOS
Editorial 03
Emails 06
Linux.local 78
Coluna: Jon “maddog” Hall 30 Eventos 80
Coluna: Cezar Taurion 32 Preview 82
Linux Magazine #58 | Setembro de 2009 5
5. Emails para o editor
Permissão
u
c.h
CARTAS
.s x
de Escrita
ww
–w
ro
ne
gje
nja
sa
Linux ou GNU/Linux ✉
Sou leitor assíduo das revistas Linux Magazine e Easy Linux há muitos
anos, e percebo que vocês cometem o erro da maioria de não creditar o
GNU ao se referir ao sistema como um todo (o GNU/Linux). Isso é mui-
to importante, principalmente na Revista Easy Linux (voltada ao público
iniciante), pois vocês ensinam mais GNU do que Linux. O Linux não seria
nada hoje em dia se não existisse o GNU.
Apelo inclusive para o artigo publicado na Linux Magazine 56, de Ale-
xandre Oliva: “GNU e Linux, uma questão de renome” para deixar-lhes
pensar melhor no assunto.
Claro que eu não estou falando do título das revistas, que já são “marcas
registradas”, mas sim do conteúdo dos artigos.
Rafael Raposo. Nilópolis, RJ
Resposta
Rafael, de fato estamos tentando reduzir a falta de referências ao GNU.
Concordamos, na maior parte, com as suas afirmações.
No entanto, nossos artigos são escritos por autores que podem ter – e fre-
quentemente têm – pontos de vista diferentes.
Sempre que possível, buscamos fazer a referência correta ao GNU/Linux.
Contudo, nomes de distribuição também costumam ser marcas registradas,
assim como o título desta revista, e o próprio Richard Stallman não se opõe
ao uso de “Ubuntu” ou “Slackware” sem “GNU/Linux” em seguida, já que
se tratam de sistemas operacionais completos baseados no kernel Linux, nos Escreva para nós! ✉
aplicativos GNU e em diversos outros programas. n
Sempre queremos sua
opinião sobre a Linux
Magazine e nossos artigos.
Envie seus emails para
Agenda e contatos ✉ cartas@linuxmagazine.com.br
Sugiro uma matéria sobre alguma solução GPL similar à agenda e conta- e compartilhe suas dúvidas,
tos compartilhados do Microsoft Outlook. opiniões, sugestões e críticas.
Mauro de Souza Madela
Infelizmente, devido ao volume
de emails, não podemos
Resposta garantir que seu email seja
Mauro, muito obrigado por sua sugestão. Aos nossos contribuidores e leito- publicado, mas é certo que
res, fica a sugestão de um assunto altamente importante. n ele será lido e analisado.
6
6.
7. Coluna do Charly
Euforia lá no alto
COLUNA
Immenstadt, Alemanha, foi o local do 10º aniversário do LUG
Camp dos grupos de usuários Linux a que Charly pertence.
O
10º LUG Camp testemunhou a escalada dos fica lento porque os discos estão sendo acessados o tem-
fiéis ao Linux montanha acima. Aproximada- po inteiro, mas não consigo identificar o processo que
mente 120 fãs, incluindo vosso interlocutor, causa isso. O Iotop fornece exatamente essa informação.
encontraram-se num albergue-escola em Gschwend, Esse programa em Python precisa do kernel 2.6.20
próximo a Immenstadt. Ninguém precisou ficar sem ou posterior, com as opções de configuração TASK_DE-
água: a cachoeira do próprio albergue, alimentada pelo LAY_ACCT e TASK_IO_ACCOUNTING ativadas. Ao iniciar, a
degelo das montanhas ainda mais altas, resfriou os barris primeira linha da saída exibe as taxas atuais de I/O,
de cerveja e até serviu de chuveiro para os mais corajosos. tanto de leitura quanto de escrita. Sob elas fica a lista
Embora o LUG Camp tradicionalmente se identifi- de atividade de entrada e saída por processo (figura 1).
que como um encontro familiar geek com foco óbvio
em diversão, isso não significa uma total falta de con- Contos
teúdo: lá, qualquer um com o conhecimento necessário O comando iotop -o facilita a leitura da saída. Neste
pode fazer um exame LPIC, além de haver algumas modo, observa-se somente os processos causadores da
apresentações muito boas. Não por acaso, o ar rarefeito I/O no momento. Para estender o intervalo de atualiza-
em Gschwend não preocupou os participantes nem um ção de 1 para 10 segundos, use a opção -d 10. O modo
pouco após a competição de chili expandir seus pulmões de lote do Iotop é muito útil. O comando:
para pelo menos o dobro de sua capacidade normal.
iotop -o -b -d10 -n30 > io.txt
Iotop
O processamento de dados também é a área da ferra- faz o Iotop gravar o último status de I/O 30 vezes num
menta que vou analisar hoje. O Iotop [1] resolve um arquivo chamado io.txt em intervalos de dez segundos.
problema que me incomoda há muito tempo: o sistema Isso mostra como as taxas de dados se comportam ao
longo de um período de cinco minutos.
Conclusões
Se as luzes do seu disco rígido ficam permanentemen-
te acesas, o Iotop é indispensável. Para mim, o LUG
Camp é igualmente indispensável – já me registrei para
o evento do ano que vem. n
Mais informações
[1] Iotop: http://guichaz.free.fr/iotop/
Charly Kühnast é administrador de sistemas Unix no datacenter Moers,
perto do famoso rio Reno, na Alemanha. Lá ele cuida principalmente
dos firewalls.
Figura 1 O Iotop lista a atividade de disco dos processos ativos.
10 http://www.linuxmagazine.com.br
8. Coluna do Zack
Crônicas do kernel
COLUNA
Este mês, temos conflitos (Xen), novidades
(podcast) e intriga (Perl).
Kernel depende do Perl para dentro do Linux, de alguma forma’”. Ele sugeriu que
Jose Luis Perez Diez mostrou que o Perl 5 é necessário ao incluir o Xen seria menos importante que criar a estrutu-
sistema de compilação do kernel Linux para criar a docu- ra adequada no Linux para suportar o Xen. Além disso,
mentação, gráficos e até cabeçalhos e firmware; porém, afirmou que a implementação do Xen talvez seja errada,
isso não estava documentado em lugar algum. Então, sugerindo “desligar” alguns recursos do sistema de virtua-
ele postou um patch para o arquivo CHANGES listando a de- lização para obter uma implementação mínima, que por
pendência do Perl juntamente com alguns módulos da sua vez seria arquitetada de forma correta e incluída no
linguagem. Imagino que vários hackers do kernel ficarão kernel sem grandes problemas, para depois acrescentar
irritadíssimos com o patch, pois debateram durante anos mais recursos ao longo do tempo.
sobre a introdução de uma dependência do Perl – e sem- Parte do problema, segundo Ts’o, é que aceitar um
pre decidiram contra essa dependência. É provável que projeto ruim no kernel poderia dificultar muito a tarefa
um fork do engine do Perl venha a ser embutido no kernel. de consertá-lo no futuro. Então, uma decisão mal to-
mada no início da inclusão do Xen poderia dificultar a
Podcast do kernel! manutenção ou depuração de várias regiões do kernel
Jon Masters criou o site kernelpodcast.org com um re- durante muito tempo.
sumo semi-diário dos eventos relacionados ao mundo O pessoal do Xen, muito frustrado, não ficou calado.
do desenvolvimento do kernel sob a forma de podcasts George Dunlap afirmou que uma reimplementação tão
e transcrições de áudio. Desejamos a ele muito boa fundamental, juntamente com a desativação de vários
sorte – parece um ótimo projeto! recursos, significaria basicamente iniciar um projeto
totalmente novo – e bem diferente do Xen.
Status do Xen Foi então que Linus Torvalds entrou no debate di-
A incorporação dos patches do sistema de virtualização zendo: “Vocês estão olhando o problema errado. Se o
Xen ao kernel oficial atraiu muita atenção. Recentemen- Xen fosse apenas um driver, não teríamos essa discussão.
te, Ingo Molnar sugeriu que isso seria uma boa ideia Mas, da forma atual, o Xen emporcalha O CÓDIGO
e, sem surpresa alguma, vários desenvolvedores mani- DE OUTRAS PESSOAS. Se essas pessoas não têm
festaram interesse e começaram a discutir sobre quais interesse no Xen, qual a surpresa no fato de as pessoas
elementos do Xen deveriam ser incluídos ou excluídos não estarem entusiasmadas?”. E depois acrescentou,
de um conjunto inicial de patches. Ted Ts’o também em outro tópico da discussão: “O Xen polui o código
aprovou a ideia e Steven Rostedt comparou a situação de arquitetura de uma forma que NENHUM OUTRO
toda aos desenvolvedores do Xen pedirem uma maçã subsistema polui. E eu NUNCA vi os desenvolvedores
e ganharem uma torta de maçã no lugar. do Xen assumirem isso para consertar o problema”. n
Alan Cox, entretanto, se mostrou contrário à inclusão.
Ele afirmou que é preciso “começar mudando a mentali- A lista de discussão Linux-kernel é o núcleo das atividades de
dade. Neste momento, grande parte do código parece ser desenvolvimento do kernel. Zack Brown consegue se perder nesse
oceano de mensagens e extrair significado! Sua newsletter
‘Tomamos uma decisão há vários anos quando criamos o Kernel Traffic esteve em atividade de 1999 a 2005.
Xen. Agora precisamos forçar esse código que escrevemos
12 http://www.linuxmagazine.com.br
9. Coluna do Augusto
Previsões e
COLUNA
imprevistos
O Código Aberto não dominou o cenário dos netbooks
como se previa, mas se encaminha para uma grande
presença na área dos sistemas embarcados.
H
ouve um momento, ao longo do ano passado, presença se ler com atenção o manual e descobrir que
em que muitos analistas se arriscaram a prever ele vem acompanhado de uma cópia da GPL, e isto
um futuro em que o Linux e o Código Aberto levá-lo a investigar a razão. Porém, se ele quiser tentar
seriam predominantes no cenário dos netbooks, uma interagir com o kernel das formas como está acostu-
novidade à época. Alguns meses se passaram e a reali- mado – por exemplo, abrindo um terminal, rodando
dade não foi bem assim: o Linux está presente em uma um aplicativo ou conectando-se via SSH –, descobrirá
fatia deste nicho, mas esta fatia é bem menor do que se que não há acesso.
antecipava de forma otimista. Adoções mais assumidas do Linux, como ocorre no
Curiosamente, entretanto, outra fatia parece crescer Palm Pre ou nos aparelhos baseados no Android, têm
mais, tanto de forma absoluta quanto potencial: é a do graus variados de abertura, permitindo que o usuário
Linux nos dispositivos móveis e de pequeno porte, em tecnicamente inclinado desenvolva programas, acesse
categorias como a dos celulares, smartphones, games, diretamente alguns recursos e, dependendo do caso,
set-top boxes, televisores e outros appliances domésticos. até mesmo chegando a contar com um shell de root.
E isto me leva a uma reflexão com mais perguntas do Uma categoria à parte é a dos aparelhos que não vêm
que respostas definitivas, conforme detalharei a seguir. com Linux, mas permitem com (razoável) facilidade
a instalação pelo usuário, como ocorre em aparelhos
como o Dingoo ou a versão inicial do Playstation 3, cujo
Em muitos casos menu inclui oficialmente a opção que permite instalar e
a própria presença executar o Linux. E, fechando a fila, temos os aparelhos
da Nokia (como o recém-anunciado N900) que vêm
do Linux não é com o Maemo, que de todos é o que mais se aproxima
visível, ou ao menos de uma distribuição Linux tradicional, incluindo com
não é evidente possibilidade de maior acesso do usuário ao sistema.
Vitória do Código Aberto ou não? Já vi pessoas duvi-
para o usuário. darem, baseadas em questionamentos sobre a consciên-
cia do usuário de que está rodando o Linux, ou mesmo
sobre o nível de acesso e de abertura que ele tem ao
Ocorre que a presença do Linux em vários destes lidar com o aparelho. Minha opinião, entretanto, é que
aparelhinhos tem características bem diferentes daque- a presença do Linux nestes aparelhos está plenamente
las com que muitos de nós estamos acostumados nos de acordo com os objetivos de seus desenvolvedores.
servidores, desktops, notebooks e mesmo nos netbooks. Mas claro que a situação é bem melhor em casos como
Para começar, em muitos casos a própria presença do o do Maemo e outros em que o usuário tem acesso
Linux não é visível, ou ao menos não é evidente para mais amplo por opção de seus desenvolvedores. ;-) n
o usuário. Ele está lá para discretamente dar suporte à
Augusto César Campos é administrador de TI e desde 1996 mantém o
aplicação do aparelho, como no caso de algumas TVs site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.
Sony Bravia, em que o usuário atento só percebe sua
14 http://www.linuxmagazine.com.br
10.
11. ➧ Linux Foundation:
quem escreve o Linux?
NOTÍCIAS
Greg Kroah-Hartman, Jonathan Corbet Canonical criticada
e Amanda McPherson publicaram em Uma surpresa para muitos foi a ausência de menções à Canonical,
agosto o relatório estatístico periódico de patrocinadora do Ubuntu. Sam Varghese, da iTWire.com, publicou
desenvolvedores do kernel Linux. o artigo “Canonical, cadê você?”, afirmando: “Red Hat, IBM, Novell
O PDF, intitulado “Linux Kernel Deve- e Intel são mencionadas no estudo da Linux Foundation, mas não há
lopment”, mostra com números e gráficos menção à tão popular distribuição GNU/Linux”.
como tem ocorrido o desenvolvimento do Críticas semelhantes já foram feitas pelo desenvolvedor do kernel
Linux. Publicado pela primeira vez em e autor das estatísticas Greg Kroah-Hartman, da Novell. Em setembro
2008, o documento fornece uma visão do ano passado, Kroah-Hartman usou seu keynote na Linux Plumbers
sobre o processo nos últimos quatro anos, Conference para atacar a Canonical com relação à sua contribuição
entre as versões 2.6.11 e 2.6.30. para o desenvolvimento do kernel.
Com relação ao número de desenvolvedo- Novamente, as réplicas às críticas vieram rápido – um comentário
res, não há dúvidas sobre o crescimento nessa na notícia de Varghese mostra que o GNU/Linux não consiste apenas
área: 389 pessoas se envolveram no kernel no kernel, e a Canonical faz um importante trabalho de marketing
2.6.11, comparadas a 1.150 na versão 2.6.30. muito positivo para o GNU/Linux. n
➧ Lançado o
Slackware 13 ➧ RHEL 5.4 lançado com suporte ao KVM
Foi anunciada durante o Red Hat Summit em Chicago, no início deste mês,
Patrick Volkerding, ditador be- a atualização da versão 5 do Red Hat Enterprise Linux. O RHEL 5.4 tem seu
nevolente da distribuição GNU/ maior foco nas áreas de virtualização e computação em nuvem. Ele deve
Linux Slackware, lançou no tornar-se a base do produto Red Hat Enterprise Virtualization, cujo lança-
dia 27 de agosto a versão 13.0 mento está planejado para este ano.
de seu sistema operacional. No Segundo o anúncio da empresa, com esta versão, a Red Hat se torna a pri-
anúncio, Patrick afirma que meira a oferecer suporte à tecnologia de virtualização VT-d da Intel e também
este foi “um dos períodos de à SR-IOV da PCI-SIG. Apesar da preferência pelo sistema de virtualização
desenvolvimento mais inten- KVM – conforme amplamente divulgado pela Red Hat nos últimos meses – ,
sos na história do Slackware”. a companhia garante aos clientes usuários do Xen que estes podem continuar
As alterações em relação à usando-o ao longo do ciclo de vida do RHEL 5. n
versão anterior, 12.2, são muitas,
abrangendo desde o servidor
gráfico Xorg até o formato dos ➧ Google Chrome de 64 bits para Linux
pacotes (.txz, compactados com Apesar de o navegador Chrome, do Google, ainda não ter uma versão ofi-
o algoritmo LZMA, superior em cial e estável para sistemas GNU/Linux, já começaram os trabalhos numa
poder ao gzip), passando pelos versão de 64 bits.
ambientes gráficos KDE 4 (na O desenvolvedor Dean McNamee escreveu para a lista de desenvolvedo-
versão 4.2.4) e Xfce 4.6 e pelos res que já tem uma versão de 64 bits funcionando há algumas semanas “após
inúmeros componentes mais algumas alterações no Chromium”. As instruções de compilação já foram
básicos do sistema. incluídas no site do projeto.
Patrick relembrou também O mais surpreendente é o fato de que os usuários de sistemas Windows não
que esta é a primeira versão do contarão tão cedo com a versão de 64 bits. O desenvolvedor Mads Sig Ager
Slackware com suporte nativo à afirmou, na mesma lista de desenvlvimento, que “estamos nos concentrando
arquitetura de 64 bits x86-64. n em fazer a versão do V8 em 64 bits funcionar primeiro em Linux e Mac”. n
22 http://www.linuxmagazine.com.br
12. ➧ EUA bane
CORPORATE
patentes de software
A Secretaria de Patentes dos Estados Unidos presas e pessoas também deixam de existir provisoriamente.
(USPTO, na sigla em inglês) publicou no A USPTO afirmou ainda que adotará, a partir de agora, as
início deste mês uma nova determinação normas empregadas pela União Européia para a concessão
regulando a concessão de patentes. Segun- de patentes.
do as novas regras – temporárias, de acordo O motivo para a nova determinação foi a decisão do Tribu-
com o órgão –, programas de computador nal Federal de Apelações (Court of Appeals for the Federal Cir-
não poderão mais ser protegidos por esse tipo cuit), que negou ao inventor Bernard Bilski a concessão de uma
de expediente, a menos que haja uma tran- patente sobre determinado modelo de negócios. Bilski e Rand
formação efetiva de estado ou a produção de Warsaw foram então até a Suprema Corte, que está reunindo
algo palpável a partir de um objeto inicial. argumentos de proponentes e opositores da decisão para definir
Além das patentes de software, as de as novas regras a esse respeito.
organismos naturais, textos de contrato, As patentes de software permanecerão banidas até que a de-
regras de jogos, modelos de negócios, em- cisão da Suprema Corte seja promulgada. n
➧ Patentes e ➧ Gartner recomenda
suporte no Ubuntu Código Aberto para ECM
A loja da Canonical agora oferece três pacotes de O Gartner forneceu no final de agosto uma pequena lista
suporte para a versão desktop do Ubuntu. O pa- de medidas para evitar problemas com aplicações de geren-
cote básico, Starter Support, que oferece amplo ciamento de conteúdo corporativo (ECM, ou Enterprise
suporte para a instalação por telefone e email, Content Management).
custa aproximadamente US$ 55,00 para um ano. Quando organizações tomam decisões sobre ECM, mui-
O Advanced Support contém os mesmos serviços, tas se decepcionam com a quantidade de concessões que
mas cobre mais que dificuldades de instalação por precisam fazer, segundo o estudo do Gartnet. Por exemplo,
US$ 115,00 por ano. O pacote Professional custa sistemas ECM são caros, mas poucos funcionários têm aces-
quase US$ 220,00 e traz suporte para instalação so a eles. Em outros casos, projetos de adoção de sistemas
e aplicativos, além de cobrir a virtualização e a ECM fracassaram por não considerarem as mudanças que
integração com redes Windows. Para pacotes de exigiam sobre o estilo de trabalho da empresa. O Gartner
três anos, há também pequenos descontos sugere que é preciso usar a “abordagem correta” e oferece
Além disso, a Canonical apresentou uma nova uma lista com seis sugestões táticas. O terceiro item da lista
política de patentes para ajudar os desenvolve- sugere incluir um provedor de conteúdo e ofertas de código
dores e detentores de direitos a aberto na estratégia.
lidar com questões de patente O motivo para o Código Aberto é que ele já amadureceu e
de software. seu mercado se estabilizou. As organizações de código aberto
O lucro da loja do competem com os tradicionais líderes do mercado de ECM
Ubuntu poderia ajudar pelos contratos de governos e educação superior. Também
a Canonical com ques-
ques são muito úteis os provedores de serviços de conteúdo que
tões de patentes. Sua aprimoram as ofertas de software com consultoria, imple-
nova política de pa- mentação e suporte. Juntamente com esses pontos, o Gartner
tentes foi projetada sugere perguntar desde o início como as regras e metadados
para evitar ao máxi- de políticas podem ajudar a eliminar a duplicação e a prolife-
mo tais problemas. n ração de documentos, assim como facilitar sua obtenção. n
Canonical
24 http://www.linuxmagazine.com.br
13. Notícias | CORPORATE
➧ Acordo sobre patentes ➧ IDC: Mercado Linux na
com a Microsoft casa dos bilhões
A empresa finlandesa Tuxera, res- A empresa de pesquisas de mercado IDC anunciou em agosto a
ponsável pelo driver de código aberto previsão de que o Linux continuará crescendo firmemente nos
NTFS-3G que permite ao kernel Linux próximos cinco anos, alcançando os bilhões de dólares em 2012.
realizar operações em sistemas de ar- Num estudo intitulado “Worldwide Linux Operating Envi-
quivos NTFS, formalizou um acordo ronment 2009-2013 Forecast: Can Linux Prove Resilience in
de patentes com a Microsoft sobre os an Economic Slimp”, a IDC pesquisou o desenvolvimento de
drivers exFAT. mercado do sistema operacional livre sob as atuais pressões. Al
Além do Linux, o NTFS também Gillen, vice-presidente do programa de estudo, descreveu a situ-
é utilizado por sistemas como Free- ação da seguinte forma: “O Linux Comercial mostrou seu ama-
BSD, OpenSolaris e outros. O líder e durecimento durante a crise econômica de 2001-2002, e agora
desenvolvedor chefe do projeto NTFS, o sapato está no outro pé, conforme o ecossistema do Linux se
Szabolcs Szakacsits, fundou a Tuxera esforça para se adaptar às novas condições do mercado”. Ele vê
em 2008 com o objetivo de oferecer um futuro brilhante para o Linux no futuro: “...a boa notícia é
drivers para exFAT e NTFS em inte- que é quase garantido que o Linux fará uma transição de sucesso
roperabilidade com sistemas Windows. ao longo desses tempos difíceis”.
Outras empresas de código aberto fi- O pesquisador sustenta seu otimismo com algumas estatísticas:
caram duvidosas quanto a seus acordos enquanto boa parte da indústria estagnou ou até diminuiu em
com a Microsoft com relação a patentes 2008, as receitas com Linux cresceram 23,4%, chegando a US$
do FAT. A fabricante de softwares de 267 milhões. Red Hat e Novell venderam o maior número de sis-
navegação TomTom enfrentou recente- temas para servidores, e o analista vê a continuação
mente problemas de legalidade de pa- desse crescimento.
tentes com a Microsoft, a OIN (Open Com relação aos sistemas Li-
Invention Network) está reunindo provas nux gratuitos, Gillen diz que “o
contra Redmond, e os desenvolvedores papel do Linux gratuito continua
de produtos baseados em Linux estão significativo em termos tanto de
rapidamente retirando os códigos do volume de unidades quanto de
FAT de seus produtos. n cultivo de uma maior base de
usuários. Esta porção do mercado de sistemas
operacionais Linux para servidores continua
se expandindo”. n
➧ Novell tem lucro com Linux
Aparentemente, apertar o cinto mestre acaba de terminar, foi de 17 milhões de dólares. A receita geral da em-
fez bem à Novell. Após demitir presa neste trimestre (US$ 216 milhões) foi menor que a do mesmo trimestre
diversos funcionários de sua di- de 2008 (US$ 245 milhões). O lucro festejado foi possível graças aos US$ 160
visão de Linux há poucos me- milhões provenientes de “subscrições” e manutenção. Por um lado, licenças
ses, a fabricante do Suse Linux de software e serviços (como suporte técnico e treinamentos) contribuíram
Enterprise divulgou esta semana com apenas US$ 27 milhões (em 2008) e US$ 25 milhões (em 2009). Por outro
seu relatório financeiro trimes- lado, a Novell lucrou US$ 30 milhões com produtos Linux, 22% a mais que no
tral, demonstrando que a divisão terceiro trimestre de 2008.
faturou 38 milhões de dólares Apenas um ano atrás, os proprietários do Suse Linux Enterprise amargaram
no último trimestre. um prejuízo de US$ 15 milhões. Foi este o motivo para o corte geral de gastos
O lucro da empresa no ano na Novell. Várias vagas foram cortadas, assim como o evento anual Brainshare
fiscal de 2009, cujo terceiro tri- de 2009. n
Linux Magazine #58 | Setembro de 2009 25
14. Entrevista com Michael Tiemann, Vice-Presidente da Red Hat para Assuntos de Código Aberto
A Red Hat e o mercado
CORPORATE
Em conversa exclusiva com a Linux Magazine, o executivo da Red Hat explica a relação
da empresa com a comunidade Fedora, o CentOS, o Ubuntu e todo o mercado.
por Luciano Siqueira, Rafael Peregrino da Silva e Pablo Hess
M
ichael Tiemann é um dos dade, um plano de negócios disfar- ços a pequenas empresas que não
primeiros empreendedo- çado”. Nota-se rapidamente a visão possam ou não precisem pagar por
res de sucesso do mercado privilegiada que o agora executivo, soluções mais sofisticadas?
de Software Livre. A Cygnus Solu- ex-desenvolvedor, tem dos negócios MichaelÊ TiemannÈ Uma das melhores
tions, fundada por ele em 1989, foi com base em Software Livre. formas de entender o processo de
possivelmente a primeira empresa Na aquisição da Cygnus pela Red adoção pelo mercado é ler o livro
em todo o planeta a se especializar Hat em 1999 (a terceira da empre- de Geoffrey Moore, “Crossing the
no suporte comercial ao Software sa), Michael tornou-se CTO (Chief Chasm”. Ele explica que existem
Livre. “Em 1987, eu percebi que os Technology Officer) da companhia, vários tipos de subgrupos distintos
softwares GNU eram alguns dos me- e cinco anos depois foi alçado à po- em qualquer mercado: os inovado-
lhores disponíveis”, afirma Tiemann sição de vice-presidente de assuntos res (que trabalham com as últimas
em sua página pessoal, “e também de Código Aberto. novidades), os pioneiros da adoção
que o Manifesto GNU era, na reali- Em sua passagem pelo Brasil (primeiros a adotar as tecnologias
durante o 10º FISL, que devem tornar-se populares), os
Montagem sobre foto de James Duncan Davidson/O'Reilly Media
Michael conversou populares, os atrasados na adoção
com a Linux Magazi- (aqueles que se encontram entre
ne sobre a Red Hat, o os últimos a adotar tecnologias po-
Fedora, o Ubuntu, o pulares por escolha própria) e os
CentOS – em suma, proteladores (que jamais adotarão
sobre sua atual visão a tecnologia, a menos que seja a
sobre o mercado do única opção).
Software Livre. O livro de Moore foi escrito como
um alerta às novas empresas que já
LinuxÊ MagazineÈ É co- tiveram sucesso nos grupos dos ino-
mum a percepção de vadores e dos pioneiros da adoção,
que a Red Hat tem mas cujos negócios são prejudicados
uma forte presença quando sua tecnologia não cai no
em grandes e médias gosto popular. Porém, ele também
empresas. Existe al- ajuda a responder essa pergunta: os
guma estratégia da inovadores e pioneiros da adoção têm
empresa, envolvendo mais curiosidade que dinheiro, e nor-
o Fedora ou o Red malmente têm muito mais interesse
Michael Tiemann, Vice-Presidente da Red Hat para Hat Enterprise Linux, em descobrir se algo realmente fun-
Assuntos de Código Aberto da Red Hat para fornecer servi- ciona, em vez de como funcionaria
26 http://www.linuxmagazine.com.br
15. CORPORATE | Red Hat
num contexto mais difundido, ou O ciclo de lançamentos mais O modelo de segurança do Linux
seja, com um modelo definido de longo do RHEL (18 a 24 meses) protege os usuários mais ingênuos
operação, serviços, atualizações etc. oferece uma base de prazo mais de si mesmos, evitando que com-
A Red Hat acredita firmemente longo para amortizar o custo do prometam seus sistemas imediata e
no modelo de desenvolvimento de treinamento Red Hat. A realidade constantemente.
código aberto, principalmente na é que o Fedora é voltado para os Abrir uma janela de terminal e
ideia de que a inovação promovida inovadores e pioneiros da adoção digitar yum install blender não é
pelos usuários é a fonte mais podero- que desejam resolver problemas difícil a ponto de levar o usuário a
sa, escalável e confiável de inovação. que ninguém jamais resolveu. É dizer: “jamais vou tentar aprender
Porém, conforme a adoção de difícil criar um programa de trei- a usar o Blender porque o processo
tecnologia alterna as necessidades namento para isso. de instalação é muito complicado”.
dos inovadores e pioneiros da ado- O treinamento em RHEL per- Quando descobri o projeto Miro
ção para as necessidades populares, mite ao público popular aplicar as no FISL, entrei no meu sistema
diversas empresas perdem interesse melhores práticas ao longo de vários Fedora e digitei yum install Miro e
em se especializar na forma de ge- casos de uso, e essas práticas levam instalei o software. O que poderia
renciar o conteúdo de software que tempo para desenvolver. ser mais fácil?
direciona a empresa. Elas desejam Então, no caso do Fedora, o me-
uma fonte confiável capaz de acom- lhor treinamento é “Faça! Se não LMÈ Poderia existir alguma colabo-
panhar as plataformas de hardware funcionar, que seja rápido para que ração entre o Fedora e o CentOS?
mais recentes, aplicativos de ISVs, o sucesso venha mais rápido!”. E quanto a unificar os sistemas de
ameaças de segurança e, em alguns gerenciamento de bugs com ou-
casos, certificações de segurança. LMÈ Fato: o Ubuntu está se tornando tras distribuições GNU/Linux para
As duas abordagens (Red Hat a distribuição GNU/Linux padrão evitar resolver o mesmo problema
Enterprise Linux e Fedora) podem para desktops, e o Fedora também várias vezes?
conviver, como mostra o fato de que tem o objetivo de alcançar os usuá- MTÈ Eu costumava falar muito sobre
o Fedora cresceu mais de 100% (me- rios não técnicos. Com relação ao isso, mas fui informado por várias
dido pelo número de visitantes únicos projeto, o que diferencia o Ubuntu pessoas que mesmo que conseguís-
por mês) e também pelo fato de que do Fedora? semos unificar os sistemas de rastre-
a receita da Red Hat cresceu duran- MTÈ Nem o Ubuntu nem o Fedora amento de bugs num único banco
te a crise, em vez de diminuir como estão sozinhos: ambos dependem de dados, o verdadeiro problema
muitas outras empresas de software. de outros projetos. O Fedora é a res- seria fazer o mantenedor certo to-
posta à pergunta: “como a Red Hat mar a ação certa com relação a sua
LMÈ As certificações profissionais da integra e testa todos os milhares de distribuição. Se ele tiver o relacio-
Red Hat são bastante respeitadas projetos, e como ela contribui para namento correto com os projetos
pela comunidade e pelo mercado. a inovação neles?”. originais (o que creio que o Fedora
Existem planos de algo semelhante O Ubuntu fez um ótimo traba- faz), os bugs não se multiplicarão
para o Fedora? lho de trazer novos usuários para o desnecessariamente. Se um man-
MTÈ O melhor treinamento que Linux, mas acho que o Fedora pode tenedor de distribuição não puder
podemos oferecer à comunidade enriquecer a base de desenvolvedo- gastar seu tempo relatando um bug
Fedora é o de como ser um contri- res no Linux e no Código Aberto. para o projeto original, talvez ele
buidor. Nesse sentido, a Red Hat tem não seja a pessoa mais adequada
trabalhado no desenvolvimento de LMÈ A instalação de pacotes ainda é para essa função. n
algumas “receitas” para comunida- a tarefa mais complicada para no-
des, além de realizar eventos como vos usuários que adotam o GNU/
FUDcons, FADs e outros. Porém, a Linux. O Fedora tem alguma es-
ideia de oferecer treinamento para tratégia para facilitar essa etapa? Gostou do artigo?
que as pessoas usem o Fedora em MTÈ Acho que existe um limite de Queremos ouvir sua opinião.
contexto corporativo não faz sen- complexidade que é aceitável no Fale conosco em
tido: assim que terminássemos de mundo real. Quantos usuários no cartas@linuxmagazine.com.br
atualizar o treinamento para uma Windows podem baixar um vírus ou Este artigo no nosso site:
dada versão, a seguinte já a torna- outro software malicioso com um ou http://lnm.com.br/article/3020
ria obsoleta. dois cliques sem jamais perceber?
28 http://www.linuxmagazine.com.br
16. Coluna do Taurion
CORPORATE
O Chrome OS
O recém-anunciado Chrome OS, do Google, vem
reforçar o contraste entre a nova economia do grátis e o
modelo tradicional de venda de licenças para PCs.
H
á algumas semanas, o Google anunciou um O Chrome OS será inicialmente centrado nos net-
novo sistema operacional para PCs e netbooks, books, um mercado que cresce a cada dia. Os netbooks,
de código aberto, baseado no kernel Linux, que são máquinas voltadas a operar em nuvens com-
chamado de Chrome OS. putacionais, na minha opinião estão um pouco fora do
Distribuído gratuitamente, o Chrome OS se insere alvo da Microsoft. A maior base instalada de netbooks
no contexto da economia do grátis, proposto por Chris roda Linux, e a versão Windows disponível é um subset
Anderson em seu último livro, intitulado “Free”. A tese do XP, uma vez que o Vista é muito grande para caber
de Anderson é muito interessante: dado que os cus- nestas máquinas. E o Windows XP é vendido para es-
tos de armazenamento e transmissão de informações ses computadores a preços menores que os comercia-
tornam-se desprezíveis, veremos nos próximos anos o lizados nos PCs. O mesmo fenômeno ocorrerá com o
crescimento da economia das coisas sem custo direto, Windows 7 e sua versão simplificada para netbooks. O
como o Google (onde o Chrome OS se insere), a Wi- resultado é que o crescimento do mercado de netbooks
kipédia e os softwares de código aberto. Um exemplo canibaliza a receita do Windows.
deste barateamento é o preço dos transistores, que em Nos próximos anos assistiremos a uma batalha inte-
1960 custavam cerca de 100 dólares e hoje custam zero ressante pelo mercado de PCs e netbooks, quando dois
ou 0,000015 centavos de dólar. O valor de mercado do modelos de negócio diferentes estarão em choque: o
Google, ícone desta economia, é de vinte bilhões de modelo tradicional, como o da Microsoft, e o modelo do
dólares, superior à soma de todas as montadoras e as grátis, baseado em nuvem, como proposto pelo Google.
empresas aéreas dos EUA! A rede de valor do Google é baseada na economia do
O Chrome OS ajudará a gerar mais tráfego na Inter- grátis, na qual o software é um meio para vender mais
net, o que aumentará as chances de o Google vender anúncios. Os exemplos estão se encaixando: o Chrome
mais anúncios, que é a sua fonte de receitas. O Chrome OS, o navegador Chrome, o Google Gears, Google Apps
OS colide diretamente com o modelo estabelecido da e o Google App Engine. Esta rede de valor é diferente
indústria de sistemas operacionais para PCs, dominado do modelo da Microsoft, que obtém sua receita exata-
hoje pela Microsoft com o Windows. mente da venda de licenças de seus softwares.
A arquitetura do Chrome OS é orientada ao modelo Um ponto chave para o sucesso do Google será a acei-
de computação em nuvem. Porém, na verdade, com tação do modelo de computação em nuvem. Na minha
base nas poucas informações disponíveis, parece-me opinião, esse modelo computacional vai se consolidar
que se trata do navegador Chrome rodando sobre um nos próximos anos e muitas das atuais limitações e res-
sistema de janelas em cima de um kernel Linux; ou trições serão minimizadas ou até mesmo eliminadas.
seja, o Chrome OS é uma plataforma para o navegador Vale uma aposta? n
Chrome e suas aplicações. O Google afirmou que seu
código será aberto, e eu acredito que será baseado na Cezar Taurion (ctaurion@br.ibm.com) é gerente de novas tecnologias
licença GPLv2. Usando o kernel Linux, o Chrome OS aplicadas da IBM Brasil e editor do primeiro blog da América Latina do
Portal de Tecnologia da IBM developerWorks. Seu blog está disponível
aproveita todo o desenvolvimento já feito em drivers e em http://www-03.ibm.com/developerworks/blogs/page/ctaurion.
a sua imensa comunidade de desenvolvedores.
32 http://www.linuxmagazine.com.br
17. Apareça na Web
Seu site contra a Internet
CAPA
Se a concorrência pela atenção dos visitantes na Internet é grande,
aprimore seus conhecimentos e seu site para atraí-los.
por Pablo Hess
A
Internet é uma selva. Mi- que nos lembramos de que, embo- Em seguida, explicaremos como
lhões ou até bilhões de pes- ra o Google seja o ás da busca, são utilizar as eficazes ferramentas online
soas competindo por fama, muitos os sites que concorrem pelas disponibilizadas gratuitamente pelo
dinheiro fácil, sucesso e reconheci- melhores posições em seu índice. fenômeno da Internet para tornar seu
mento. Não à toa, o Google, peça Felizmente para os alfabetizados, o site mais visível e desejável para os
que se tornou fundamental para próprio Google oferece uma grande visitantes que você deseja. Não há
encontrarmos algo na Web, é um ajuda na hora de nos candidatarmos forma mais rápida de atrair cliques.
fenômeno de rentabilidade. ao posto de primeiro colocado das E quando os visitantes chegarem,
Com uma infraestrutura compos- buscas. Esta edição da Linux Ma- é bom seu servidor estar preparado.
ta por diversos data centers, cada um gazine aborda justamente as formas Veja como ajustar o poderoso Apa-
com vários milhares de servidores, o de aproveitar essa “mãozinha”, jun- che para fazer frente à enxurrada de
gigante da Internet emprega seus am- tamente com os poderes do Código cliques e ao novo volume de tráfego.
plos tentáculos para servir aos clientes Aberto, para lançar seu site – ou o Por último, se você procura um
diversos outros serviços além das bus- da sua loja online, do seu grupo de sistema único para montar seu por-
cas, sempre com o intuito de exibir usuários, da sua família – em uma tal e também a intranet da empresa,
mais e mais anúncios direcionados. nova onda de visitação e, com sor- conheça o CMS colaborativo Life-
Independentemente do ques- te, lucro! ray e construa tudo com muito mais
tionamento sobre a ética da ”bisbi- Começaremos mostrando como simplicidade e velocidade.
lhotice” do Google, não há quem tirar proveito da infraestrutura des- Seja para realizar um novo pro-
não deseje aproveitar as facilidades comunal do Google para criar suas jeto desenvolvido nas horas vagas
oferecidas pela empresa para obter próprias aplicações web. Basta um ou para manter e aprimorar o site
alguma receita. sistema GNU/Linux para montar sua da empresa, as dicas desta edição
No entanto, o que à primeira vista aplicação, subi-la para as dezenas de são essenciais para você aproveitar
parece fácil se mostra muitas vezes milhares de servidores da empresa e cada oportunidade oferecida na Web.
uma tarefa hercúlea: ser visto. É aí começar a servir clientes. Faça bom proveito! n
Índice das matérias de capa
Powered by Google
SEO, sim senhor
Apache tunado
Raio de vida na colaboração
Linux Magazine #58 | Setembro de 2009 33
18. Explore a última versão do grande Bourne-again shell
Bash novo
ANÁLISE
Apesar da maturidade do Bash, seus
desenvolvedores continuam aprimorando-o.
A versão 4 do shell está cheia de novidades.
por Bernhard Bablok e Nils Magnus
yewkeo, 123RF
A
pesar da competição recente gostará de passar algum tempo com Vetores associativos
por parte de poderosas alter o Bash 4 já. A crença popular reza que scripts
nativas como o Zsh [1], o A tabelaÊ 1 mostra um resumo de Bash criam muitos processos, que
Bourne-again shell (Bash) [2] ain alguns novos recursos importantes; acabam prejudicando o desempe
da é o rei do pedaço no console para uma listagem completa, verifi nho. Mas muitos dos aplicativos
do GNU/Linux. O Bash, que pode que o arquivo NEWS na documentação simples que costumavam ser usados
ser usado de forma interativa, tam do Bash. Este artigo levanta algumas com o Bash, incluindo sed, grep,
bém serve como uma linguagem de das mudanças mais importantes. basename e dirname, já não são mais
script simples e prática. O Bash faz necessários; o Bash realiza essas
parte do esqueleto de todo sistema Linha de comando tarefas tão rápido quanto qualquer
GNU/Linux – mais um motivo para Usuários da linha de comando apre outra linguagem de script com fer
investigar os benefícios de adotar a ciarão algumas extensões inconspí ramentas embutidas. Apesar desses
nova versão 4, lançada em fevereiro cuas, mas muito úteis, incorporadas avanços, os programadores Bash
de 2009. ao novo Bash. Por exemplo, a string continuam com olhares invejosos a
** é expandida para uma lista de Perl e Python, ambos com estruturas
Por que não? arquivos e caminhos sob o diretório de dados mais versáteis.
Em sistemas em produção, talvez atual, de forma semelhante ao co Em sua versão 4, o Bash final
seja mais recomendável avaliar se mando externo find. Porém, os usuá mente acrescenta a seus vetores uni
é realmente necessário atualizar o rios precisam ativar esse recurso por dimensionais os vetores associativos
Bash para sua nova versão. Por um meio do comando shopt -s globstar. (semelhantes aos hashes em Perl e
lado, as principais distribuições cer Os desenvolvedores agora ado dicionários em Python). Para muitos
tamente difundirão a nova versão por taram uma técnica mais amigável programadores, essa mudança, por si
meio de suas atualizações, então o para um dos maiores mistérios do só, já é motivo suficiente para ado
novo Bash fatalmente vai chegar ao Bash: o redirecionamento da saída tar a nova versão, pois ela oferece
seu sistema mais cedo ou mais tarde. de erro padrão. Em vez do mantra uma solução bem mais elegante a
Programadores e usuários avançados, 2>&1 1>arquivo, agora os usuários po vários problemas. Por exemplo, os
por outro lado, gostam de usufruir dem usar simplesmente &> >arquivo desenvolvedores podem usar textos
os benefícios oferecidos por novas para redirecionar as saídas padrão e arbitrários como índices de vetores
versões o mais rápido possível. de erro para um único arquivo. O associativos em vez de apenas intei
Quem desejar já se familiarizar atalho |&, que redireciona o erro ros. A listagemÊ 1 mostra um exemplo.
com o shell principal da maioria das padrão de um comando para um A listagemÊ 2 contém um script
distribuições do futuro certamente pipe, é outra novidade útil. que ordena arquivos em diretórios
58 http://www.linuxmagazine.com.br
19. Bash 4 | ANÁLISE
Tabela 1: Principais mudanças
Mudança Descrição
Substrings A extensão para parâmetros de posição suporta o desvio zero
PID O PID do shell atual está disponível na variável BASHPID
autocd Suporta navegação rápida por meio do nome do diretório
checkjobs Verifica e relata trabalhos (jobs) ativos ou parados na saída
read Atribui entradas parciais a variáveis e mantém seus valores mesmo que o comando te-
nha seu tempo expirado
mapfile Facilita o processamento de arquivos
command_not_found_handle O Bash 4 chama essa função caso não consiga encontrar um comando
globstar Usa ** para realizar buscas recursivas ao longo de múltiplos diretórios
Chaves A extensão cria uma lista de valores com zeros na frente
Saída de erro padrão Em vez de 2>&1 1>arquivo, o Bash agora suporta &> >arquivo
Saída de erro padrão Da mesma forma, |& substitui 2>&1 |
case Agora o Bash 4 suporta ;;, ;& e ;;& para terminar um case. O primeiro processa incon-
dicionalmente as instruções do próximo grupo; o segundo verifica mais uma vez e, se
adequado, continua processando o próximo grupo.
Expansão variável Os operadores ^ e , alteram para caixa alta ou baixa
Conversão automática declare -u e declare -l convertem automaticamente para caixa alta ou baixa ao atri-
buir valores
Vetores associativos Os índices podem ser strings: $idade[“fulano”]
coproc Cria processos assíncronos
Seleção O comando read -t 0 -u fd verifica se o descritor de arquivo fd fornece dados
Complete
a sua coleção
O objetivo da coleção é trazer
conhecimento confiável e
de alto nível sempre com
enfoque prático e voltado para
a utilização do sistema Linux
e de outras tecnologias livres.
Mais
informações
Site:
www.linuxmagazine.com.br
Linux Magazine #58 | Setembro de 2009
Tel: 11 4082-1300
59
20. ANÁLISE | Bash 4
Listagem 1: Programação segundo suas propriedades – por balho sujo (linhaÊ 4 da listagemÊ 5).
com vetores associativos exemplo, a data de criação. O script O comando mapfile usa o “apelido”
possui dois problemas fundamen readarray, que descreve seu propósito
01 #!/bin/bash
02 tais: primeiro, ele não funciona de forma mais precisa.
03 declare -A name com diretórios que contenham O comando mapfile pode até fazer
04 espaços em branco, e segundo, ele mais que isso. Para mais detalhes,
05 nome[“Linus”]=”Torvalds” pode processar cada diretório mais help mapfile e man mapfile devem
06 nome[“Bill”]=”Gates”
de uma vez. ajudar bastante. O comando pode
07 nome[“Steve”]=”Jobs”
08 nome[“Richard”]=”Stallman” As versões anteriores do Bash processar múltiplas linhas de uma
09 usavam técnicas diferentes para re única vez e processálas uma a uma
10 # Mostrar todos os valores: solver esse problema. No Bash 3.2, com uso de uma função callback.
11 echo “Valores: ${nome[@]}” os programadores podem armaze Infelizmente, os desenvolvedores não
12
13 # Mostrar todas as chaves:
nar os nomes de diretórios entre forneceram uma implementação es
14 echo “Chave: ${!nome[@]}” aspas num vetor. Um script poderia pecialmente elegante dessa função.
15 evitar o duplo processamento por O Bash 4 chama a função callback
16 # Acessar valores individuais meio de buscas no nome – ou por antes de processála, e não depois.
17 for v in “{!nome[@]}”; do meio de uma lenta busca linear no Essa técnica oferece ao script um
18 echo “$v ${name[$v]}”
19 done vetor. Nenhuma dessas técnicas é callback antes de o shell de fato ler
particularmente elegante. algo, mas perde um callback após
O Bash 4 lida com essa tarefa a última linha. Apesar dessa com
Listagem 2: de forma bem mais simples (veja plicação, a função ainda é útil para
Texto errado em listas a listagemÊ 3): o nome do diretó processar arquivos inteiros.
rio serve como chave; o valor não
01
02
#!/bin/bash tem importância. Na linhaÊ 12, o Caixa alta e baixa
loop itera por todas as chaves. A Se você já precisou implementar
03 dirs=””
04 construção especial com alguns uma técnica robusta para processa
05 for f in “$@”; do & entre aspas duplas faz o mesmo mento de arquivos de configuração
06 d=`getDir “$f”` que em outros pontos do Bash: faz ou entrada de usuários, já conhece
07 mkdir -p “$d” com que o shell processe os valo o seguinte problema: o valor no ar
08 mv -f “$f” “$d”
res como elementos individuais. quivo de configuração ou o resultado
09 dirs=”$dirs $d”
10 done Portanto, a solução funciona com da operação read pode ser SIM, sim,
11 diretórios que contenham espaços Sim, YES, true ou eViDentemEnte.
12 for d in $dirs; do em branco. Até o Bash 3.2, os autores de scripts
13 createIndex “$d” usavam o utilitário externo tr para
14 done
Arquivos converter o valor para caixa alta
A listagemÊ 4 contém um padrão de ou baixa.
programação típico. O loop while O Bash 4 facilita isso. A instrução
Listagem 3: nas linhasÊ 5Ê aÊ 8 processa as linhas declare -u Variável converte auto
Vetores associativos de um arquivo uma após a outra e maticamente todas as atribuições da
01 #!/bin/bash guarda o resultado num vetor. Essa variável Variável para caixa alta. De
02 construção ocorre com frequência, forma análoga, declare -l converte
03 declare -A dirs mas infelizmente é imperfeita. Caso para caixa baixa. Essas ferramentas
04
a úlima linha não termine com um de conversão economizam chamadas
05 for f in “$@”; do
06 d=`getDir “$f”` caractere de nova linha, o loop não a programas externos e melhoram
07 mkdir -p “$d” armazenará a linha. O comando read o desempenho do script. Para con
08 mv -f “$f” “$d” embutido não fará a atribuição sem verter apenas uma vez, em vez de
09 dirs[$d]=1 a nova linha. globalmente, é possível usar a nova
10 done
11
A nova versão do Bash não ape extensão de parâmetro:
12 for d in “${!dirs[@]}”; do nas economiza teclas como tam
13 createIndex “$d” bém oferece uma implementação foo=SIM
14 done mais limpa. Em vez do loop while, echo ${foo^}
uma única linha já faz todo o tra echo ${foo^^}
60 http://www.linuxmagazine.com.br
21. Bash 4 | ANÁLISE
Quadro 1: Entrevista com o desenvolvedor do Bash 4 Chet Ramey
Chat Ramey é gerente do Grupo de Segurança e Engenharia de Redes da divisão de serviços
de TI da Case Western Reserve University. Ele é o mantenedor do Bash desde 1990. A Linux
Magazine fez algumas perguntas a ele com relação à última versão do Bash.
A comunidade do Software Livre não via uma nova ver- O Bash 4 também acrescentou diversos novos recur-
são do Bash há algum tempo. Alguns dizem que a ver- sos para usuários da linha de comando. Agora ele está
são 3.2 era adequada para praticamente todas as tare- pronto para competir com shells especializadas nisso,
fas necessárias. Então, por que algo novo? como o Zsh?
Fico feliz que as pessoas tenham uma opinião tão boa Acho que sim. O Bash talvez não tenha tantas funcio-
sobre o Bash 3.2. Eu não gosto de lançar novas ver- nalidades embutidas, mas acho que oferece ferramen-
sões com muita frequência, pois o shell é muito bási- tas suficientes para torná-lo um ambiente interativo tão
co para vários distribuidores, mas já estava na hora. O bom quanto o Zsh.
Bash 4.0 oferece diversos recursos novos (normalmen-
te eu não incluo grandes recursos novos em versões Há algumas discussões sobre estilos de programação
de atualização), várias correções de falhas que não en- e uso de recursos em shell scripts. Enquanto alguns
traram como patches no 3.2, e mais funcionalidades tradicionalistas exigem compatibilidade com o Bourne
para os recursos já presentes. shell, outros usam inúmeros recursos do Bash. Qual o
seu ponto de vista? E a compatibilidade com o Bash
Quais os três avanços ou novos recursos que você 3.2? Você recomenda adotar o 4.0 imediatamente ou
acha mais interessantes? deixá-lo em paralelo com o 3.2 por certo tempo?
Vejamos. Essa é difícil, porque há várias que são boas. Acho que depende dos seus objetivos. É fato que
1. Vetores associativos; quando pedem “compatibilidade total com o Bourne
2. A correção para o último trecho incompatível com shell”, referem-se à versão do sh presente em suas
Posix. O shell não exige mais os parênteses balan- máquinas. Há diferentes versões do Bourne shell:
ceados ao processar substituições de comandos no v7, SVR2, SVR3, SVR4, SVR4.2... E fornecedores
estilo $(...) (por exemplo, ao processar uma instru- distintos acrescentam diferentes conjuntos de recur-
ção case dentro de uma substituição de comando). sos à mesma versão do Bourne shell. É difícil des-
Estou empolgado com isso porque foi, certamente, cobrir exatamente o que se quer dizer com “Bourne
a parte mais complicada para implementar. Não foi shell original”.
fácil com um parser gerado pelo yacc.
3. As melhorias possíveis com o bind -x. Ao execu- Para quem se interessar em escrever scripts portáveis,
tar um comando associado a uma sequência chave eu sugeriria seguir o padrão Posix. Ele pode ser consi-
com bind -x, esse comando terá acesso ao buffer derado uma linha de base que todos os shells padrão
do readline e à posição atual do cursor e poderá al- implementam. Muitos – senão todos – fornecedores in-
terá-la. Uma função de shell poderia chamar um pro- cluem um shell que obedece ao Posix. E se o seu for-
grama externo para rearranjar as palavras na linha de necedor não incluir um, o Bash é compatível com pra-
comando, por exemplo, e fazer com que se refletis- ticamente todas as plataformas existentes.
sem no buffer de edição. Acho que esse recurso ain- Com relação à retrocompatibilidade com o Bash 3.2,
da não foi muito usado, mas há várias possibilidades. tentei mantê-la ao máximo. Em certos locais, achei que
o comportamento do Bash 3.2 era errado e o corrigi,
O Bash 4 acrescentou vários novos recursos para fa- sacrificando a retrocompatibilidade. Também existe a
cilitar a programação. Você acha que ele já consegue noção do “nível de compatibilidade” do shell, que pre-
competir com linguagens como Perl e Python? serva explicitamente certos comportamentos antigos
Acho que Perl e Python são linguagens mais sofistica- quando ativado (veja as opções compat31 e compat32
das, pois têm muito mais funções embutidas. Shells do Bash). Creio que o nível de compatibilidade com o
em geral são feitas para “grudar” programas externos Bash 3.2 é bem alto e não deveria afetar a portabilida-
ou funções de shell, além de oferecerem um ambien- de dos scripts.
te para facilitar essas tarefas. Porém, é possível escre- Acho que a compatibilidade é suficiente para os usuá-
ver programas bastante complexos usando shell: veja rios atualizarem para o Bash 4.0 imediatamente e gra-
o bash debugger, por exemplo. dativamente acostumarem-se com os novos recursos.
Linux Magazine #58 | Setembro de 2009 61