Compartilhamento
Expediente editorial Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br
EDITORIAL
Editores Flávia Jobstraibizer fjobs@linuxmagazine.com.br Kemel Zaidan kzaidan@linuxmagazine.com.br Editora de Arte Larissa Lima Zanini llima@linuxmagazine.com.br Estagiário Felipe Brumatti Sentelhas fsentelhas@linuxmagazine.com.br Colaboradores Alessandra Toninelli, Alexandre Borges, Alexandre Santos, Augusto Campos, Charly Kühnast, Christoph Baudson, David Dodd, Erik Bärwaldt, Florian Effenberger, Grazia Cazzin, Jens Michelsons, Jon ‘maddog’ Hall, Klaus Knopper, Kurt Seifried, Markus Feilner, Martin Loschwitz, Peter Stamm, Thomas Leichtenstern, Tim Schürmann, Ygor Bittencourt, Zack Brown. Tradução Elias Praciano, Gabriela Edel Mei, Joice Käfer, Raquel Lucas, Rodrigo Garcia. Revisão Ana Carolina Hunger, Cristiana Ferraz Coimbra, Gabriela Edel Mei. Editores internacionais Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eßer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kißling, Jan Kleinert, Daniel Kottmair, Thomas Leichtenstern, Jörg Luther, Nils Magnus. Anúncios: Rafael Peregrino da Silva (Brasil) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 3675-2600 Penny Wilby (Reino Unido e Irlanda) pwilby@linux-magazine.com Amy Phalen (América do Norte) aphalen@linuxpromagazine.com Hubert Wiest (Outros países) hwiest@linuxnewmedia.de Diretor de operações Claudio Bazzoli cbazzoli@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.es – Espanha www.linux-magazine.pl – Polônia www.linux-magazine.co.uk – Reino Unido www.linuxpromagazine.com – América do Norte 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 consequências que advenham de seu uso. A utilização de qualquer material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permissão expressa da editora. Assume-se que qualquer correspondência recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, sejam 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. Rua São Bento, 500 Conj. 802 – Sé 01010-001 – São Paulo – SP – Brasil Tel.: +55 (0)11 3675-2600 Direitos Autorais e Marcas Registradas © 2004 - 2011–: Linux New Media do Brasil Editora Ltda. Impressão e Acabamento: RR Donnelley Distribuída em todo o país pela Dinap S.A., Distribuidora Nacional de Publicações, São Paulo. Atendimento Assinante www.linuxnewmedia.com.br/atendimento São Paulo: +55 (0)11 3675-2600 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428
4
Impresso no Brasil
2012 chegou e o Software Livre e de Código Aberto (SL/CA) é tecnologia onipresente nas mãos de todo mundo, embora pouca gente se aperceba. Mais do que isso: o conceito está disseminado em um sem-número de outras iniciativas, e pouca gente remonta à fonte da ideia original. As vantagens são imensas e o autor dessas mal-digitadas linhas topou recentemente com uma delas: o livre acesso à informação acelerou até mesmo o processo de preparação desta revista que você está lendo – mais especificamente do artigo que inaugura a nossa nova seção sobre Android, doravante presente em todas as edições da Linux Magazine. Como o original do artigo está em alemão, para traduzi-lo é necessário refazer todos os screenshots do sistema de que trata o artigo, o que implica na instalação completa desse sistema em língua portuguesa. Esse é um processo moroso, como se pode imaginar, mas o fato de o código fonte estar disponível para consulta, permitiu que a tradução fosse feita em paralelo à instalação, já que foi possível checar o nome de cada string em alemão e encontrar o nome correspondente em português, sem precisar ter o sistema instalado. A instalação levou mais dois dias, mas quando isso aconteceu, o artigo já estava traduzido e revisado. Da mesma forma que esse benefício oculto afeta diretamente a vida das pessoas (nesse caso, dos nossos leitores, editores etc.), o ganho de agilidade, a redução de custos, a facilidade de acesso ao código e a possibilidade de realizar alterações nele, de modo a criar soluções para as mais diferentes demandas, transformaram esse tipo de tecnologia em padrão para sistemas de todo tipo. E tudo isso teve seu início na possibilidade de compartilhar conhecimento – no caso do SL/CA, o conhecimento de tecnologia. Como os desenvolvedores tiveram acesso à Internet muito mais cedo, eles começaram a compartilhar esse tipo de conhecimento com antecedência. A partir do momento em que a tecnologia passou a incluir mais pessoas, o compartilhamento começou a abranger áreas diferentes, e novas licenças passaram a existir para regular a distribuição de textos, músicas etc. A Wikipedia é um exemplo desse desenvolvimento. O movimento Creative Commons criou uma série de licenças para praticamente todas as áreas do conhecimento. Voltando ao campo da tecnologia, a base de praticamente tudo o que vemos hoje em dia é SL/CA. A “computação em nuvem” é livre e a computação móvel também. A conclusão a que chegamos é que, quando a plataforma permite a socialização do conhecimento, as mais ricas criações podem florescer. O ser humano é um ser social em todos os aspectos e a busca por compartilhamento é uma atividade inerente à nossa espécie. O advento e o sucesso das redes sociais referendam essa urgência em compartilhar – nem que seja compartilhar “abobrinhas”. O mundo mudou, a tecnologia avançou, mas o ser humano continua mais humano do que nunca. ■ Rafael Peregrino da Silva Diretor de Redação
www.linuxmagazine.com.br
Em 2012 chega ao Brasil a maior revista alemã de informática e tecnologia
iCloud
e 4S
Teste | iPhon
Teste
ne 4S
iPho Teste |
4S
de sinível tes e os o ren tam dife o mes. Tes ações ena ente a ant ias situ exatam nov vár l faeu em nec possívea , nal perma no S. vez é S cosa one , mas suas ça ele no e eira e em prim no iPh ren mo texto r a dife ssor. Pela nloads do iPhonepermanec qual pelo ece Tal e mesmo determina se ant uciosa zer dow o dobro upload de Mbit/s, e de a sair Nem S e o min e-se o eiro pod one paraçã o o fato dad o primple com os tas re o iPh a com es com m alguns veloci S foi da Ap model , ent s um detalh estare que faz os de one GS Apena revelar volume baixo, o de proiPhone ricas e don fáb adas mas os tir do iPh o ou do s pod ões de is para inhas feit per , par os bot tros ma umas cap mais geraçã alizado iOS á nas sa m eira ra milímeque alg encaixe smo est caça ser atu a libe antigo terc car me mais touch de podem sistem mite se dina o per as comão não tas rença do e iPod também O nov nes e dife as pre feit teç e. .A esquerestrutura linh o iTu es sejam iPad ament a lados mente novas do mo a dos idindo s gratuit arras com alizaçõ acordo , dua mínio, res, div atu tra trêsário par a de alu as am uras rias Fi. fut traz, melho i- de o superio tes, con necess is um que ar”, via Wi- ema de not reit tro par Isso foi de ma que sist ção defeito de“pelo novo , mais de ema ovado, em qua erior. stru o O ant um ple con o sist era ren uma uen unov delo dar a e rige a Ap peq ao seg ra, com do um app Câm (tarefas) gra- acomo que cor a um inte , nei licas: incluin s, um app bretes á agora antena o iPhoneções púb certa ma rede lem igo a ficaçõelista de Ele est o ant elha- levou de rela al da one um . ui esp de , o sin o iPh reuma virtual substit e faz o que sastre fone r, ca ge tele a antena . Com ças à a ind um ban Twitte iMessa permit a rar o do ort is, gra o ralo do ao S pelo AirPlay, ectadaestá na tampan ia para ntece ma Não imp epo con rec r s. de SM com a TV e o que em de- celula não aco antena relho, a os , mento a, em umtament ram o apa . nossa S isso cia de Ent vej em poréma ure exa fone. dân ra cta se ão, TV, dun se seg inta idades A out Apple seu tele as nov iOS . tware como manece da recepçado com do tela sobre ess al sobre o do sof a usuá- ção per lidade aument es A quanão ter talh a especi de do lad web par ou PCs, matéri novida serviço t, Macs maté- parece os nde um dge gra iGa ud, icam iClo ded . lquer éo bém ção de qua rios o qual tam nessa edi para pletas com rias
O Teste
| iPhone
4S one
| iPh
o futuro
Entre o iCloud
R Terra
iCloud oéo ecentem do serviç bacana ente o pelo agen Outra parteFotos. Se ativad todas da está , na reda Contatos e comprom iCloud no que finalmen ção: “Min pode artilhar issos Com os endereços MacBoo PC casa, ha Essa opção no Comp o recurso faz com capturate igua no bém dos servidores io, dias aplicativos. uer momento foi inco para compromis pa!” O k da editora. meu iPho lzinha e ou últimos tos e de ós- usuár sos e contatos time O iClou ne e no ta do iClo rporado > Diagn da a qualq fotos dos ra do seu iPhon Fotos com o da c’t soluto. Apple infelizment a na ud. et as ser altera Geral > Sobre dé entr guro câme acontece e não é assim uma ncia de em seu iGadg a arqu Ele perm versão grat colega O que pod ou em silên supimtão generosa. Mas Outrora das pela ssim como a Apple lança à Sequê enados nos Ajustes, Depois disso o ite o ivos emo uiquem já criou iCloud umuma cio ab- Mac da X, sisteele tentrepresentant s dizer isitos: problema adicionadas os e armaz conta no iCloud, sua casae pastas que acesso se- usado qua do seu Mac OS istivos tico e uso. o para usar! tador ao seja uma nova dipos enviad anos traz novos pré-requ Os atualizada apenas pretend ndo um estão os serviços ado iron e de vend nosso do escr a part ou sejam uma migração de todo fotos, online da Apple Apple. versão estará pront l todos no ção de icam dos exec as? ir do do MobileMe, itório, s ospode ores da O novo até serviço val de e se enc grupo de truque de sincroni ente dize Teria OS com don se cional móve ente com um facilmente encontrar utivos, ago sem limite ontr nublado údo tam- servid iOS armazenam ami ma opera a com pu- exem música r que soluçõe criar um sozinho os en- os de um com iOS ou Mac não tem os nenhumvelho e que zação já e-m Esse ano, Parcialmente PCs com s túne ra conte dereços em camar em um gos até Mac , juntam plica com e. equipad e ou um plo, eram ails, com desses servidores. ivos propósito , iPhone, velho conh Macs ndo da desde domínio l VPN ou dados ao nome festidisposit sem um do? Afin a novidad o iCloud lo de iPhon ntou o sisO endepromissos mas os não te migra reço para o servidor apenas o faz juz os a nec po aberto, troca de , isso iPad ou usar telefonarem enviar não era Snow e de al, o novo mode s para a sa aprese não funcs dinâmic essid . O recurs ores A de calendários por gradualmen O que a empresa o nada de iPod touc , endereç Leop antigecid pessoais ade encontra-se em a empre os. A o objetivo O dezenas ard. o .Mac MobileMe abalar o mun bém vêm USB com o iTune anos já algum nto, ou seja, iona desenvolved brincar nas nuvens. os e nota A porém, h: ter seus ˜/Library/Ca atua controle sejaiColou de veze de se e até já perm mais de end . Há podem leto aos lendars, ão via de fotos. ento. o mome o rolo - o recuApple trou lizad em um arquivo X . capdo iCloud opod mes no s em todo Ocu .plist que fica dentro os insta sto, bast s. Caso tema compantes do lançam empresa conex et – caso se queira contatos, caas fotos xe ao rso e mui ereços, com itiam e equ mo o algumas partes prom s, vídeos para Inov M ltar dos ch ntaneam do diretório que s os seus ,a de todas egaou direta-o usuário é que tas iparação ou iPod Buscar meu iCloud a para usar o ete com Seguido três meses quinta versão além das intern el obter email s de contas começa isso também backup açãoac ente lava sério outras coispromissos Uma cópiaodeixa é enviad .. disp claro imp s X touc ou uma e OS iOS sequência na iPho . co possív , mui O atravé ositi res. ortaiO Mac favoritos ção foi é além: h). O Mas novo serv bizarra de letras onli as. Servine (ou to mais mm com . “Nun nte mas apena pena vos funcioiOS ou com o rios e notas turadas ou IMAP. ca ache Mas não, ir um passo iPad, iOS. Até an ne de disp S eé cu nuvem, , mas tam e termina compor Leonh e números iço grat o nov perm inclusive serviço de como pag uitas ele entã mesmo com o teoce a extensãoard para a resolveu melhorias e novas concep- lendá eMe, Exchange Buscar iPhone, assimaté back ositivos sta o loca uito Oda Becker .caldav. bém não uem iClou ar cem dóla i que vale fa- que itindo que estendid a ão Wi-Fi, amAs o novid o sso funcion fotos O endereço para e Ole Meine Mobil os mente d é entã resp o aos liza- máq up, que conex com men sse a res cidos inúmeras que vão desde deixa de nais como que App le ações r todos com está A conta de e-mail Mac rs m vel pelo com uma er novas fotos. Fotos no ades ou roub computa uinaes precisav r,onsá os (d DAV fica escondido o servidor Cardisso.” res do iCloud pode ser ter suas com é gratuito o supimpapor a de notific ce, o ços adicioilidade de apaga e a sincronalidades, a ser as alg dores s, um cabo dotá é gra rec o iCl começan visualizada basicamente ados usuá corio, Stöbe ncia de para e gr ! Assi chances IMAP, como o Mail ápara receb àpor Markus man GB de em sua , apenas Aha novo sistem es de interfa feito un ou do nas entranhas ainda mais funeslam mcon Sequê em qualquer cliente amente a possib do OS X .. Apenas m com de sere tenham aça!) fazem ção do saectado cas tuito porsincroni PoUSB, era na s se os us cem autom nadas mento has. ar. O d nã do do do sistema em com suporte a as notas ficam separadas capacida versão nome no servidor. mai ical com dados remot nos detalh os, do Safari máquina o no iOS, m enc Library/Application o iTun ud ˜/ rviço que em uma pasta normal do adicio também apareos dispositivos ades bási com uário zero o ser nem e serve paco o tem de de ontrado o- serviços zaçãr oMa até peque seu cordão umbil é mais seus o dos favoritos nizadorenas nuvens. es. Ape Suport/Addresssem rkufio de mesmo s pod os o deste ano, iPhoto oM do s foram armazenca gem não Book/Sources. s Stö s de nizaçã sar , alt do em todos em env donos dess s. feita ciente viço. que sej para te de qu não outubro , bloq . O recurs iOS corta partir de agora Também aqui obile diversas s mais expeMas para com amente iCloud, ela beser um da erna Caso ticamente a essa conta o e deve é possía ap a ma entra e s. A vel achar um utador s rem parte, desde. novidad tivas po, rientes os sincro- mente seusuear ou apaiar uma men as libe Me, conta o iTune da arquivo Configurati ior en os um comp po para rtar seusna estratég se encaixa dos configuov lizar seus iPhones iCloud es no conectados vão acha em uma seu o por padrã gar sadad pelo on. não plist dentro de nível de-se você GB as pa ia do para o iOS . com) iClou necessário ou Windows para caixa e novo iCloud consiste Por den uma dispositi ia da App pervem ativad nte autorizado um r locaUm outro os à distâ completa- amarras faltam idos. Pa d. de sej ra tes s da Mas para uma eço @me. au corretamente X O - não ma para com uma sequência pasta nomeada recurso ncia. lização, tro da no app Notas parte do serviço ra qu rência com Mac vos móv le de Mac OS O iClo sisBasta tirar is ba até menta pois de am ins tar (com endercontatos, calen ser explicitame aparecem em do et. de e, letras existe no no sere OS X nuv email s e núeis das ud ., como uma iGadg uma entrada Fotos. rat r e PCs. de fotos ufi em s hum desta vez baseado merc mera de fotos atualizações para de rar seu de e-m é basicam em subpasta da seção meros. do app nização favoritos e notas usuário. As jáantigPara os o que oGB e o preo espaçoum tem Apple utiliza para pelos fundos. A Lembretes. em app Ami anos, mesmo dos iGad capturad A tran para de fotos ial, dentro e sincro ado. ente Ambos os arquivos eu uma seus sfeSe você che Com o e-mail, calendáloca envio ail IMAP usar. Até lembretes, iGadgets e podem ser aberps e envio “pelo ar” – o das o, é pre que do Mo ço co dispo rios e contatos álbum espec também receb er a Sevia push com noti um serviço mente gos, disp ga na form lizar tros partilhar gets fica as pela câesses últimos sistemas,já estiver com tos em editores dários, seus já os Vista -ma TV onib padrões os tema, backu r são feitos du receb ws Fotos. a carg de texto simples, ficaç IMAP, Cal- mesmo é possível até a do ils, com tipo . Apple migra ran ciso usav bileM ntinua e sinc zar o na App Stor ilizado DAV e CardDAV, utado como o TextWrangler entre todosOS X Lion, Windo dários O para poder ar todas as editar o texto das e. ronizaçã ões de seu com o iOS respectivamente. gratuita Docume s de arqu Para todo o do favoritos prom o comp (gratuito Mo ram te ess aceitar am o calen notas, mas re). isso e mostr gicamen marido e. Além ivos endereço de O atualização s os ouLED impossível ntos a mu alg ser bileM de Macs com s, contatos e Procure pelo termo na App Stoacesso aos servidores nos mais antigos apenas novidad e tarefas, s, agenda o de esua TV ou seus da loca que era na Nuv deve-se web. Os quência de Fotos na viç te do co via um a iCloud mes leitura Email ape estão da e li- Tod o usar o s e Bum! permitida, sendo é Lá está o nosso nta até mesmo em em. filho nas ou . mos afias direto listas Por si e em relaç esse últim , notas, acessíveis s ain nça. as pe hosp de pode impossível criar os a ente. temporá – é pos a aprovaçã s – loém são suas fotogr também de suporte oficial um documento vas notas umbilical só necessário Os rm no- nome desses endereço. No geral, o ou editá-las. não seria esse con ão ao Mobo uma sível ma da ao edag , o no site da empreCordão não é mais ão ou res- tamb dários incluem no novo app de ” automágicam qu o dos Ninguém bordo! rio à servidores deve mem iCl sa. Para receber em seu nter, ativas e iOS ser algo ileM calen está como p-caldav. ativaç bro do localizaç obter aces grar gle, Yaho m lá essa junto de me oud. e-mails o endereço Com o de acessíveis e podem ser do icloud.com para s para a ns ou iPod recursose. com o nto já No é imap.mail.me.com site iDisk, até tarefas, iCloud ão de qua so tar para o iClo forçando o e tant s coisas, as os bro mais de acesso, nas nuve os usuários entan s, pa Ga meausar o iTune um iPhone, iPad convite de retes do iOS você seu nov e para enviar lquer s pesso ud. É que ou s os outr já que Goo leria iTunes -mails endereço de ea ral algo iOS .. séries de TV, chav do Mo contatos to, com outra Apple menos a irrecusável iTunes, Lemb os é smtp.mail.me.com. tauração muito concordar Mac com o iPhone possível con mio co elame e as, partir do s artilhados mantém mesma oferecem ao invés do O nome de usuário S . útil de co cativ es, sen bileM m A via USB o da ecpagand baixar músicrados na iTune touch. Ao tar o dispositivo cois as- comp e a senha são e, a m ou mpart nte o iClo em grupo .com també man ou seu ser podem os mesmos usados educado instanos e has, comp ilhaud livre a. Mas a sin tro para uso do. Mas . O processo eira trad novo no end a, inclusive grado seu Apple para conec ido por um sitivo autori do iCloud r meu iPho- livros e apps iCloud dispo icional, de ereço já está disponível ID, inno tan itens prefer croniz s mempara que ajuda clusive o que vier No site é até receb ao Busca do qualquer ctiva. ên ea usar do ação www.ic acesso via prouração, Alt quiser. você é os depois do @, já Entr mai para quem o iClo e o acesso aos documentos s Store em um ernati mente Dash cias que respe de config a, o país, ativar é preciso um e-mail Com têm tuitamente pode etanto, nem loud.com web ud é s rápide de a sistente criado pri- oferec válido para poder vai além. pela conta preciso entrar iClou conta vame parte board apli- O Pa assim como er o idiom ação e a sua se registrar no Keynote nuvem do MobileMe autotodo . requer en- zado iTunes naUsuários para nte ssw baixar iCloud. Pode ser a escolh do ão ne, , Numers ou escolher d ser aticam de de O localiz co de mun sep me a um ord ativaç de um autom festa. endereço @me.com oportunida ra feita annta até sma pode passa ão Mac do ou um fio. A ara então tem aa opção A Pages e enviados ador é serviços comp o serviço rede sincroniz ou riorm anua o ve da você ão sem dispositi rodando O registro -se do. internet. ço de e-mail qualquer. outro enderequalquerusandoos seusde sua sem Com a no iOS . Pelo naveg baixar ele, amen o OS entre tecontinuar l do ncim para en meira conex conexão à vo criar ou a turm ou fio ou as senhas X .. vencimento mátic paradetodos uma confi- te para a nuvem uma mesen mu te mi us apagar a data Tanto no iOS nos a dos rodando Store pela tigos até requer com ade vez para não escolher gra Mobil to de ar o dar tes, exig quanto no Mac nível em na iTune ou a duplicar, o inte coletad tradosou pular sidade r eM OS pode-se X . podemos o Win ente, supoPCs a App iOS . possível ento dispo de cadasanual as rnet, ente nova assinatura e é pre é po de ve a sua ess pode seguir, neces iCloud. su entrar esses dados le é medows usando diretam ssíve z pa rtan ando a ça, do completam a partir de um qualquer docum Um documento bai- disositivos elimin conta e po a ac e ser ndo inc manualmente mos uma li- de lha ciso , da Maria-Fuma dentro ste guração em uma nova a você Vista. Mas do inclu porémestá o fato ess vidor o Dro ente ent de dados formatos. pode ser ou ma conta ser l mescl ra a no rlusive iTunes ou antig conta o. Há, MobileMe IMPA no Mail iCloud o po como nós mos sive favor do pbo compda conta cu Anizaçã est re os de desca te va. recuperação pode estar no o digitar vários te, por exemplo, e usar l, PDF a x. ida ar esc derá ará. a opção dispos com praticamen de sincro eleativar que com- da nessa em máquinausar os serv trareto rigina e-mails normalmen nossa conta de funciona Apple ras na com doso duas Como Keyno Chav é precis suasantigos que ser Se for olher backup, el subir itivos ediç ão: ao seu forma iços do te. m s velh a ático detos ligado . Para isso até on um , caso s lojas a qu com conta notas são movidas Até mesmo as equipamen Um eiro xado em . Também é possív conect os autom inhas pro- mitaçtodos O recu ão. ma no Bra de estaria no iCloud ficaatualizouelseus a da al ser a esc s, ionaa para uma pasta -IDnão de ainda co is ráp sil, -ID. regamento Quem ado com esses que até rso De serem das pa para ainda sem ções própria – o que o Apple io é quest PowerPoint amete s em É possív seu Apple Ma s conta ntrári app e ão fei oVolta ido o não é de se admirar, no iOS, dias. ou compatíveis pelo navegador. prasApple. seus Macs , o usuár “dados a uma s pa vas fun clu de por mui aqui era com fio ou subs rtes maviage . ansios ao Meu já que são apenas s ser o a de músic tas parao oiOS da arquivos a enviar AppleiCloud, no do e Por último mínim mesiCloud ído sto sozi iGadgets o ch no – auda ra c’t , compromissos m titu loja os do 12 rascunhos tos por dispo espec á sp s para Mac mos“ a não s ex pesso aves, arm fun o Dr a assin podem está de fora conmarcacomo nho con 02/20 pode-se acessar -ID na ial 02/20 tuita ída is comp dos comimpossíveis de nu- ele para ores OS X Lion iste muito traum edida da op cio baixartanto irrido se estaria ooApple s atura especial óstico anôni . Segun- grama volvedc’t motivo siderado , 12 ou ento público de calendários apps à são tão uma etiqueta especial. o gra são são da ática pro ais. rsive na no box. azená-la subs s do , mais mudar lica Isso é um nto para de desen e diagn anual ar seus sej é a partir do iOS a Apple. o auxílio do compartilham .. Já mudanças em eventos existentes a Apple O ch fun o desca O iClou de uso segundo alizaçã do Mob para pag , as notas aparecemA Ao assinar o URL apropriado de uer mome mos Os maneira, integr entos en- qualq mas por Apple exemplo, Com tou alg gratui Apple titutos s serviç . e ao dame sistem a, da sincro das de para com ap mo A partir na nte para do OS X te, a iCal d anôni atu d que, no um faz docum ar servidor mesmo un icame o niz almen aqueles s ma do até tos do ios a sincro ileMe, CalDAV no iCal, os nu pela internet mesmo dados iCloud ac’t espec tomat tante para a da suas nte ação nova bileM s são , ma e mu à altura os ex dados do calendário lha iOS que Wind ps dis autom daqu vem e o iPo tam- e-mail, por exem nização sa, esses coisasial sincronizand sitivos do usuár , inform teúdo manu um Mac novo com o Lion 77 100 02/2012 novos.c’t especial 02/2012 ial 02/20 Segun c’t especial 02/2012sem o Lion. são atualizados s po itas iOS , ponív quanto a criação de até em iClou e. dispo . Ele - te m de que fer integ Apple senha da a empre possuem 12 do vem, plo. Em de menos o iPad da áti i, tud sob seus ows. outras c’t espec c’t especial 02/2012 querem atuad.com s ificações e tre todos os cons forma ram rado em Romp melho r iss vezes compensa itens em c’t especial 02/2012 eis co, inc o tes no one, m, entre via web. podem ou não é tão s -am guard dado Uma espec . não e ou inclue pre nã iPh Ela mas sen acesso comp o pa er en are o eg s ma desva ra ção, agora o trans luo tro res penho me s aração sem pre sa eri tas ao hardw iOS para erda)me. is vanta s for da com o que smo ao Mobi nave até co uem de desem amen- mas pode-se já foi cano a do ções de paren que OS X e ma serviç sigilo ntage métricas configurar leMe, como equip ada – S (à esqu o Dr ga ns ser ec tra volu no te vid gens necedo çã m sistema, 100 o uso dos as regra regras ore es de e co ossistemMo- usadas dores eguem tão co raram ba- proble tícia opbox, o on sos est é 13 aguard ce-se o iPhoneker co res sobre botõ de e-ma s em nc 113 plo s 112 arã ma usad wo ma e arm int nfo en na dados ret a a dos tem ntar , rd pa s co is de que no line no o il na versãde nhe acim rd Bec fun têm-se Cupe as. Se nha automas no intern aze egrar rtáveis. - Sto a o recoLeopret o web, alg com diatpor cio re e ra ma m seg uma passa rtena -se um linha perso nand ainda rtino ca um atica Finde et, ma r as a ve aos c’t especial De ime pela c cu ura vez do as do 02/2012 r O O 02/2012 c’t especial exata naliza o. Alé parte ir, po s ser seg Passw mente não são s as senha tan Keych rsão pa sta US nça. O sobre apenas c’t esp s r ue ord , por Pa su chav Qu mente r as m dis dos rec exem - autom sin ecia para to na ainG ra iOS c’t especial ssem cro exem porta es é l 02/ so, na ofe 02/2012 02/2012 urs - im niz um 2012 sim rtas App é Este iOS, ma versã o custa sai por às c’t especial os po aticam ar sua desse plo. das ple não o de possíve pre suas sm um en de rtar, 101 um progra s ain para apen US . 76 ser se for te. O base s que a em ente cisa ch l ne po ma da est OS X as US ves aves esq do cessi viços pre tem pre progra de da con- ele rod uco á qu sa de uecê iDi dade ciso, se do OS e sen a em difere um em fas anto ma do sk c’t esp hosp -lo e po s. site redigi X, pa has do o seu po s pla nte doa abord e beta. ecia de tar ra edag contr de no Ac s l 02/ de Poste acumu todos que vo esso molho Pa agem 2012 em atar fun ssw às os cê nã lad rio de do Chaord si- leção rmen os ao seus no o : para em um te é Ma lon registr precic os outro c’t espe arq possí go cial 02/2 s dis uivo vel sal dos an em 012 positi loc os. var vos al, transf a co - O em um erí-lo Key a red c’t espe com chainGo e o cial 02/2 com progra sincro 012 iGadge ma Ace niza ts. sso seu ban às Cha co ves de dad do Ma os c OS Xe
raos lta paantig Ded emvo equipamentos
A
iClou
iCloud
para tod os
céu e a
os gosto
s
Dan
Com
pleta
or
elh zes m cdeos doviOeS 5 e o iCloud Cin da novi
ça d
ndo
a Ch
o iC loud
com
uva Q rviç
outr os se
os
O
As
tica prá
m fora nhas r câ entra melho suas dos, Mas rápi or. re e ais cess sm wa ante áfico ri. hard seu e, gr la Si o ao or fa v l o l-C ca. de igua e bran on r Dua imento preta ente os cores sado ec am el nas am atic oces disponív conh está é pr Test ne S vo pr e de re S O iPho s: no ar ,o fora rada softw Por elho novo to m eo mui S ann a, iO rm er Eh m an por
S
e
on
iPh
ph
Ste
i na
ir oS
12 101
Em fevereiro nas bancas!
iClou
d
ÍNDICE
CAPA É guerra!
31
O universo da tecnologia está sempre em guerra. Ataques, defesas, proteções e barricadas fazem parte do dia a dia do administrador de sistemas. Mais parece um filme, mas é a mais pura realidade.
Operação controle total
32
Se você tem absoluta certeza de que seus servidores Linux são à prova de invasão e que somente você tem o controle deles, pense de novo.
Tropa de elite
36
Os hackers usam vários tipos de ferramentas para atacar uma rede ou site. Você também deve munir-se de ferramentas para garantir a segurança dos seus dados. Vamos mostrar neste artigo algumas ferramentas utilizadas por hackers para capturar informações.
Monitoramento flexível
42
A ferramenta de monitoramento OpenNMS é uma arma útil e que pode fornecer uma gama de informações importantes para os administradores.
Triturador de senhas
46
Como os aplicativos da web memorizam senhas? Eles não memorizam. Eles fazem picadinho delas. E o Phpass, que criptografa senhas nos aplicativos mais populares da web, os ajuda a fazer isso.
6
www.linuxmagazine.com.br
Linux Magazine 86 | ÍNDICE
TUTORIAL
COLUNAS Klaus Knopper
10
Charly Kühnast
12
Augusto Campos
14
Zack Brown
15
Alexandre Borges
16
Kurt Seifried
18
Roteador de cara nova
58
NOTÍCIAS Geral
22
➧ Aulas de Android O firmware de código aberto OpenWrt permite que você estenda os recursos de diversos roteadores e pontos de acesso sem fio.
➧ Chromium OS pronto para usar ➧ 10 bilhões de aplicativos baixados no Android Market
Mapas na rede
➧ Um prêmio para a física aberta
64
CORPORATE Notícias
24
➧ Univention Corporate Server 3 ➧ Inteligência empresarial com Jaspersoft 4.5 ➧ Gartner anuncia previsões de TI para 2012 Entrevista com David Mair
26
Coluna: Jon “maddog” Hall
28
Coluna: Alexandre Santos
30z
ANÁLISE
ANDROID Coração turbinado
Construa mapas e serviços de geolocalização em seu site com o OpenLayers, MapFish e Mapbende
50
Baixo consumo
68
Ao invés de gastar energia, o TLP permite que você
desligue componentes específicos do seu computador – dos quais você não necessita –, estendendo a duração de bateria e consequentemente sua vida útil.
Não é apenas a tímida política de atualizações de muitos fabricantes de dispositivos móveis que torna atraente o uso de firmwares alternativos em smartphones equipados com Android: frequentemente, eles também oferecem muito mais recursos que o firmware original.
Organizador de correspondência
PROGRAMAÇÃO Uma mão para o Pascal O Lazarus é um ambiente de desenvolvimento para o Free Pascal compatível com diversas plataformas, e que permite aos desenvolvedores criar interfaces gráficas com alguns cliques e um pouco de lógica de programação.
Linux Magazine #86 | Janeiro de 2012
72
O Sieve é uma solução de servidor, fácil de usar, que ajuda os administradores a filtrar o fluxo de email de forma inteligente.
SERVIÇOS 54
Editorial
04
Emails
08
Linux.local
78
Preview
82
7
COLUNA
Coluna do Augusto
40 anos de Shell O que houve nesses 40 anos de existência do Shell?
E
stamos na segunda década do século XXI, e hoje já é plenamente possível instalar e usar o Linux no desktop sem jamais olhar para um terminal de texto ou para o prompt Shell. Mas o Shell, ou mais especificamente o /bin/bash, é um elemento importante dos bastidores de qualquer distribuição popular moderna, e continua sendo um elemento essencial para usuários avançados, além de um recurso à disposição quando a interface gráfica é insuficiente. O Bash, Shell que tipicamente vem como padrão em distribuições Linux (e também em alguns sistemas Unix, como o OS X), surgiu em 1989 no âmbito do projeto GNU para substituir o clássico Bourne Shell. Além de ser o responsável por processar comandos como ls, cat e for i in IMG*.jpg; do mv $i ferias-recife-$i; done
que você digita diretamente no terminal, o Shell também é capaz de processar scripts, que são sequências estruturadas de comandos que permitem automatizar diversas operações, inclusive boa parte do que ocorre na inicialização do sistema operacional. O Bash se sai bem nisso, mas suceder o clássico Bourne Shell (ou simplesmente sh) não é tarefa para qualquer um. Além de precisar manter a compatibilidade com padrões como o POSIX, que permitem a interoperabilidade de scripts e comandos de administração em diversas plataformas Unix e Unix-like, há uma tradição a ser mantida, já que o Bourne Shell surgiu em 1977 (no Unix version 7 dos laboratórios Bell), ainda hoje pode ser encontrado (em versões atualizadas ou em clones baseados em modos de compatibilidade) como o Shell padrão de administração de determinados sistemas, e foi o objeto do primeiro livro que apresentou ao público a programação de
14
scripts Shell – formando assim o conceito geral de desenvolvimento neste ambiente. E o Bash não é a única alternativa ao Bourne Shell. Outro Shell clássico e que tem seus fãs é o C Shell (csh ou tcsh), criado no âmbito do BSD por Bill Joy em 1978, com características de desenvolvimento de scripts que lembram as estruturas da linguagem C. Historicamente, ela tinha como diferencial também a interatividade: foi nela que surgiram conceitos hoje familiares, como o completamento automatizado de comandos e de nomes de arquivo. O Korn Shell (ksh) também é clássico e ainda permanece em uso. Criado em 1983 nos laboratórios Bell, ele mantinha a compatibilidade de scripts com o Bourne Shell, e incluía recursos de interatividade (como o histórico de comandos) do C Shell. Todos eles, entretanto, podem traçar sua origem conceitual a um ancestral comum: a Thompson Shell (também chamado de sh, como o Bourne Shell), criada por Ken Thompson (um dos criadores do Unix) em 1971. Programado em menos de 900 linhas de código. Este Shell ancestral não executava scripts – era exclusivamente interativo, e boa parte dos comandos que fazem parte hoje dele (como builtins) do próprio interpretador Shell – como if e echo – na época eram arquivos externos. Mas recursos como pipes (| ou, na época, ^) e redirecionamentos de entrada e saída (<, >, >> etc.) já estavam presentes. A Thompson Shell inaugurou esta maneira de interagir com o sistema, e recentemente completou 40 anos. Parabéns a ele, e longa vida aos seus descendentes! ■ Augusto César Campos é administrador de TI e, desde 1996, mantém o site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.
www.linuxmagazine.com.br
Guerra
CAPA
É guerra! O universo da tecnologia está sempre em guerra. Ataques, defesas, proteções e barricadas fazem parte do dia a dia do administrador de sistemas. Mais parece um filme, mas é a mais pura realidade. por Flávia Jobstraibizer
A
rotina diária do admistrador de sistemas, do analista e do especialista em segurança é sempre a mesma: evitar que alguém mal intencionado roube informações, invada um servidor, danifique-o, use as informações coletadas para fins diversos ou malevolências relacionadas. Estes profissionais vivem entre a cruz e a espada, e são, geralmente, especialistas somente em defesa. Mas todo bom defensor, tem de saber como atacar, pois um dia você pode estar do outro lado do cano do revólver – e esperamos que suas intenções sejam boas caso necessite invadir um sistema. É descobrindo uma deficiência e a atacando que se pode aprender como evitá-la. É grande a variedade de armas no arsenal de um cracker (o invasor, conhecido erroneamente como hacker). O cracker, como o próprio nome diz, quebra (crack) sistemas, e tais indivíduos geralmente são os responsáveis pela maioria das manchetes que tratam de crimes digitais: desvio de somas de contas bancárias, invasão à sistemas governamentais, roubo (e posterior divulgação) de informação sigilosa e confidencial e tantos outros riscos à segurança da informação.
Da mesma forma, o administrador de sistemas necessita conhecer, aprender a utilizar e se aprimorar nos recursos de defesa (e até mesmo de ataque) à sua rede e aos seus sistemas. Nesta edição da Linux Magazine, trazemos um interessante artigo sobre como invadir e tomar o controle (takeover) de um ambiente Linux. Se você pensa que seu Linux está totalmente seguro contra invasões, não deixe de ler. No quesito autenticação, conheça o Phpass, ferramenta essencial para a criptografia de senhas na web. Se você ficou preocupado com o início deste artigo, e quer monitorar melhor o seu sistema, conheça o OpenNMS, que pode fornecer uma gama de informações versáteis aos administradores, desde o hardware até instâncias de software. E para finalizar, o artigo Tropa de elite irá apresentar um arsenal de armas contra a guerra das invasões e a captura de informações. Vista sua camiseta camuflada e aproveite as próximas páginas! ■
Matérias de capa Operação controle total Tropa de elite Monitoramento flexível Triturador de senhas
Linux Magazine #86 | Janeiro de 2012
32 36 42 46
31
PROGRAMAÇÃO | Criação de interfaces com Lazarus
IDE para Pascal e Object Pascal
PROGRAMAÇÃO
Uma mão para o Pascal O Lazarus é um ambiente de desenvolvimento para o Free Pascal compatível com diversas plataformas, e que permite aos desenvolvedores criar interfaces gráficas com alguns cliques e um pouco de lógica de programação. por Tim Schürmann
A
dicionar uma interface de usuário simples aos seus programas em Object Pascal é entediante e leva muito tempo. Para simplificar a tarefa repetitiva de derivar os resultados de inúmeras classes, a Borland desenvolveu o Delphi em meados dos anos 1990. No ambiente de desenvolvimento Delphi, os programadores podem, com cliques, criar uma interface rapidamente. Infelizmente, o Delphi é um programa caro e só está disponível para Windows. No entanto, um ambiente totalmente gratuito que responde pelo nome de Lazarus [1] é uma alter-
Quadro 1: Comércio livre O Lazarus liga estaticamente a LCL ao aplicativo Object Pascal. Para suportar o desenvolvimento de programas comerciais, apesar dessa característica, a biblioteca de classes está disponível sob uma licença LGPL modificada. Infelizmente isso não se aplica a todas as unidades que ele contém. Antes de usar o componente em um aplicativo comercial, é uma boa ideia conferir a licença, que está embarcada no código fonte para o componente. O Lazarus, em si, não é licenciado sob GPL.
54
nativa para seu análogo comercial: sua base é o compilador Free Pascal, incluído na maioria das distribuições e cujo grande escopo de funções é comparável ao bom e velho Delphi em muitas áreas. Além disso, funciona em Windows e em Mac Os X.
Início Ao ser iniciado pela primeira vez, o Lazarus bombardeia o desenvolvedor com diversas janelas, mas os programadores de Delphi se sentirão imediatamente em casa com elas (figura 1). Para iniciar, selecione o elemento gráfico necessário na paleta do topo da tela e coloque-o na caixa de diálogo Form (nome dado pelo Lazarus a todas as caixas de diálogos e janelas no programa resultante). Após soltar o elemento, você pode usar as bordas para redimensioná-lo, como se fosse uma ferramenta de desenho, e arrastá-lo para a posição correta. Os ajustes mais finos e as modificações de propriedades, como os rótulos de botões, são o domínio do object inspector. No plano de fundo, o Lazarus gera automaticamente o código fonte, ao qual é necessário adicionar lógica de programação em um editor de janelas. O Object Inspector o ajudará com isso:
ele não somente lista todos os possíveis eventos que a interface gráfica entende, mas deixa que você aponte e clique para atribuir-lhes métodos existentes ou criar um método em branco.
Fundamentos O Lazarus oferece o conjunto de recursos típico de qualquer ambiente de desenvolvimento. O gerenciador de projetos ajuda a manter o controle de projetos complexos, e a janela Project Inspector lhe permite controlar os arquivos e pacotes envolvidos. Para compilar um aplicativo, tudo o que se precisa fazer é apertar o botão verde de play. Caso necessário, pode-se atribuir configurações individuais de compilação para cada projeto. Os erros são listados em uma janela separada. Clicar em um alerta o leva diretamente até a parte correspondente do código (figura 2). O debugger integrado o ajuda a investigar problemas e interrupções no programa nos pontos de quebra previamente definidos na janela do editor. Também é possível ter uma visão passo-a-passo de seus programas, visualizando valores e variáveis. O editor oferece o tipo de escopo que se espera de um IDE profissional,
www.linuxmagazine.com.br
Criação de interfaces com Lazarus | PROGRAMAÇÃO
incluindo destaques de sintaxe e empacotamento do código. O recurso de autocompletar sugere possíveis métodos e nomes de classe, ajudando-o ao preencher os parâmetros. Inclusive, adiciona automaticamente o begin e o end obrigatórios ao código (figura 3). Um atalho de teclado lhe permite adicionar componentes para as linhas selecionadas ou indentá-las. Você pode armazenar os blocos de código em templates. Para usar o código, pressione um atalho seguido por [Ctlr]+[J], para dizer ao Lazarus que ele deve substituir todo o template. O ambiente de desenvolvimento inclui templates de códigos para construções comuns, como loops for e blocos begin/end. Para declarar uma classe, é possível simplesmente definir os métodos e propriedades e pressionar um atalho de teclado para criar, automaticamente, um método básico vazio com os métodos get e set correspondentes. O recurso Quick Syntax Check descobre erros de digitação antes que você inicie a construção do bloco, e outros assistentes apontam blocos abertos de código fonte ou IFDEF/ENDIFs.
Orientação O Lazarus tem uma boa seleção de ferramentas que ajudam os desenvolvedores a navegar pelo código fonte. Você pode, por exemplo, realizar buscas e substituições de forma flexível com o uso de expressões regulares. Além de buscar em todo o texto, o navegador do código também permite buscar somente pacotes, nomes de unidade e designadores para um termo específico. A janela CodeExplorer ajuda a manter o controle sobre programas de códigos mais longos. Ela cria um delineador de todos os tipos, variáveis, interfaces, implementações e unidades usadas para pular para a posição correspondente no código com um único clique. O Code Observer, incluído no CodeExplorer, aponta para estilos pobres de programação, como indentação incorreta ou procedimentos excessiva-
Linux Magazine #86 | Janeiro de 2012
Figura 1 O Lazarus dá as boas vindas ao desenvolvedor com diversas janelas, que parecem desordenadas. O formulário vazio no centro é o aplicativo resultante.
mente longos ou vazios. Outras janelas mostram as dependências entre as unidades e os formulários criados até o momento. Um editor FPDoc ajuda a documentar o código fonte de acordo com o padrão FPDoc. O Lazarus também suporta refatoração por meio da renomeação de designadores no projeto, extraindo o código fonte selecionado em um novo procedimento ou invertendo atribuições
(convertendo A := B em B := A). Além disso, o editor rastreia automaticamente os métodos abstratos ainda não implementados e cria um método vazio. A única coisa que falta é um link para um sistema de atribuição de versões.
Clássico moderno Se você arrastar um botão em um formulário no Lazarus, o ambiente de desenvolvimento gera automaticamente
Figura 2 O debugger integrado permite que os desenvolvedores investiguem erros no código, como problemas de digitação.
55
PROGRAMAÇÃO | Criação de interfaces com Lazarus
um objeto de tipo Tbutton no plano de fundo. A classe correspondente vem como cortesia da Biblioteca de Componentes Lazarus (LCL, na abreviação em inglês). Esta consiste de uma biblioteca de classes normal que pode ser usada independentemente do Lazarus, com unidades e classes que criam a interface para seu programa em Object Pascal. A LCL não desenha sozinha os elementos gráficos individuais na tela, mas depende de uma biblioteca legada do sistemas para isso. Os desenvolvedores podem escolher essa biblioteca no momento de construir o código. Os usuários Linux podem escolher entre Qt, Gtk+ ou Gtk2. O suporte para a o Pascal Gui Toolkit [2] está atualmente em desenvolvimento. Além disso, a LCL está disponível para outros sistemas operacionais, suportando funções de sistemas diretamente no Windows e no Windows CE, e em Cocoa e Carbon no Mac OS X. A figura 4 mostra a estrutura da LCL e como ela interage com os componentes individuais.
Transferência de conhecimento Graças à LCL, você pode escrever aplicativos compatíveis com várias plataformas facilmente, tendo somente que recompilá-las no sistema operacional alvo em um momento posterior (escreva uma vez, compile em todos os lugares). O Lazarus mostra como isso funciona em termos práticos: o ambiente de desenvolvimento foi programado inteiramente em LCL e pode ser reconstruído rapidamente. Também é possível usar uma biblioteca de interface gráfica diferente ao selecionar o item do menu em tempo real. Os desenvolvedores precisam tomar cuidado com duas armadilhas: uma delas é que algumas interfaces (como o Qt) estão oficialmente em beta, embora sejam estáveis e os desenvolvedores já as utilizem para
56
Figura 3 O editor faz sugestões enquanto você escreve.
produção. Outra diz respeito à LCL tentar seguir as linhas guias do sistema operacional alvo. Isso pode levar os componentes a agir de maneira diversa em várias plataformas. Por exemplo, com o Windows não será possível mudar a escala de caixas de diálogo com o mouse, embora se possa fazê-lo no X11. Sem contar que os sistemas operacionais lidam com atalhos de várias maneiras. O wiki do Lazarus [3] inclui dicas sobre programação para plataformas cruzadas. A LCL faz mais do que desenhar janelas coloridas na tela. Ela inclui, por exemplo, classes para acesso simples e rápido a banco de dados, incluindo
PostgreSQL, dBase e MySQL. No Lazarus, é possível colocar componentes de conexão em banco de dados dentro de um formulário como se fosse qualquer elemento de interface, onde aparecerão como ícones. No aplicativo finalizado, eles ficam no plano de fundo e executam suas tarefas de modo transparente (figura 5).
Dois oráculos A biblioteca de componentes visuais do Delphi (VCL) foi o modelo para a LCL. O Tbutton é um lembrete intencional para os desenvolvedores que tinham familiaridade com o Delphi. Apesar disso, a LCL não
Figura 4 A LCL atua como uma interface entre o programa Object Pascal e as bibliotecas de interface para o sistema operacional suportado.
www.linuxmagazine.com.br
Criação de interfaces com Lazarus | PROGRAMAÇÃO
é totalmente compatível com VCL. Algumas vezes, isso ocorre por conta da independência de plataforma e é intencional. Em outras, os componentes simplesmente estão faltando. Isso é particularmente verdadeiro no caso de classes de aplicativos multimídia, como Tanimate; componentes específicos do Windows, como TmediaPlayer; e acesso a rede, como o ADO. Assim, é impossível transferir programas Delphi e Kylix para o Lazarus sem alguma modificação. Embora o Lazarus ofereça uma série de assistentes para ajudar nessa conversão, o processo fatalmente envolverá algum trabalho manual. A wiki do Lazarus [3] oferece uma lista das diferenças e várias páginas com dicas e guias para conversões.
Conclusão Uma vez que você se familiariza com a aparência do programa – que inicialmente parece um ambiente desordenado – o Lazarus o ajudará a criar um programa simples, independente de plataforma, em apenas alguns minu-
Figura 5 O Lazarus inclui diversos programas de amostra, como este gerenciador de endereços, que exemplifica a programação com banco de dados. Os ícones na área branca da janela principal são os objetos conectores ao banco de dados.
tos. Uma calculadora, por exemplo. Ao mesmo tempo, o desenvolvedor com um ambiente legado de desenvolvimento teria tempo apenas de trabalhar com a derivação de classes para os botões. O wiki abrangente do programa [3] ajuda os desenvolvedores na curva inicial de aprendizado.
Quadro 2: Uma jornada ao passado Baseado no Algol 60, Niklaus Wirth desenvolveu a linguagem de programação estruturada Pascal no início dos anos 1970, principalmente com propósitos educacionais. O programa se tornou extremamente popular nos anos 1980 graças ao Turbo Pascal, da Borland. Com o sucesso, a Borland estendeu o escopo de recursos do pacote e a linguagem em si. No final dos anos 1980, a Borland adicionou o conceito de orientação a objetos e colocou os resultados no Object Pascal. Em meados dos anos 1990, a Borland introduziu um ambiente totalmente novo com o nome de Delphi, que permitia aos programadores desenvolver de maneira conveniente e rápida ao mesmo tempo em que criavam a interface gráfica. A biblioteca de interface era a Visual Component Library (VCL), completamente desenhada para Windows. A Borland tentou entrar no mercado de Linux em 2001 com o Kylix. Tratava-se de uma interface Delphi emulada via Wine, capaz de criar programas gráficos para Linux com recursos nativos do sistema operacional, usando a biblioteca de interface CLX, uma variante do VLC. Hoje, o Delphi é desenvolvido e comercializado pela Embarcadero Technologies. O Kylix foi tirado do mercado devido à falta de sucesso. Insatisfeito com a abordagem da Borland, o estudante Paul Klämpfl começou a trabalhar em um compilador gratuito nos anos 1990. A compatibilidade com o Turbo Pascal e Delphi, além da portabilidade fácil, rapidamente fizeram do Free Pascal um dos compiladores Pascal mais populares. O que lhe faltava era um ambiente de programação visual no estilo do Delphi. O projeto Megido tentou remediar essa situação, mas fracassou em 1999. O Lazarus surgiu dessa fraqueza – daí seu nome bíblico.
Linux Magazine #86 | Janeiro de 2012
As conversões do Delphi constituem um processo relativamente indolor, embora algum trabalho manual seja necessário. A recompensa é um aplicativo Object Pascal que poderá ser compilado em todos os grandes sistemas operacionais. Apesar de mais de dez anos de desenvolvimento, o trabalho ainda está em andamento no Lazarus e na LCL, sendo que o processo se encontra no ponto zero (a versão atual é 0.9.30). No entanto, não deixe que isso o afaste do Lazarus: ele é estável e compete com o Delphi em igualdade de condições quando combinado ao Free Pascal. ■
Mais informações [1] Lazarus: http://www. lazarus.freepascal.org/ [2] fpGUI: http://fpgui. sourceforge.net/ [3] Wiki do Lazarus: http://wiki. lazarus.freepascal.org/
Gostou do artigo? rtigo? Queremos ouvir sua opinião. pinião. Fale conosco em m cartas@linuxmagazine.com.br zine.com r Este artigo no nosso osso site: e: http://lnm.com.br/article/6271 br/art /627
57
TUTORIAL
TUTORIAL | Roteadores WLAN com o OpenWrt
Roteadores WLAN com o OpenWrt
Roteador de cara nova O firmware de código aberto OpenWrt permite que você estenda os recursos de diversos roteadores e pontos de acesso sem fio. por Martin Loschwitz
O
s entusiastas do Linux gostam de executar seu sistema operacional favorito em cada dispositivo ou aparelho que utilizam, incluindo até mesmo torradeiras e máquinas de café. Nos últimos 15 anos, o Linux começou a fazer parte de uma quantidade muito grande de categorias de aparelhos. O Dbox2 [1] é um caso famoso no exterior, mas desconhecido por aqui. Há, até mesmo, Linux em iPods. A chegada do Android é outro ponto significativo: agora todo mundo pode levar o Linux para onde bem entender.
Já existe no mercado uma grande quantidade de pontos de acesso sem fio baseadas em firmwares para Linux. E como você poderia esperar, alguns desenvolvedores voltaram seus esforços para estender a gama de firmwares existentes para esses aparelhos. Esse esforço deu origem ao projeto OpenWrt, que oferece uma alternativa de firmware para diversos equipamentos WLAN. De acordo com o site do projeto [2], a ferramenta oferece um sistema de arquivos completamente editável com gerenciamento de pacotes.
Figura 1 A interface web do OpenWrt, LuCI, após o primeiro login.
58
Desta forma, você evitaria a seleção de aplicativos e configurações oferecidas pelo fabricante, permitindo ao usuário personalizar o dispositivo por meio do uso de pacotes que se enquadram em qualquer aplicativo. Para o desenvolvedor, o OpenWrt é um framework para a criação de um aplicativo sem se lançar a uma tarefa demasiadamente complexa de desenvolvimento de uma estrutura. Para o usuário, é a possibilidade de personalização, para usar o dispositivo de formas jamais imaginadas. O nome OpenWrt pode ser explicado por uma questão ocorrida há 8 anos: a Linksys, que ainda não era de propriedade da Cisco, vendia o roteador WLAN WRT54G com um firmware Linux, mas não oferecia seu respectivo código fonte, uma infração óbvia da licença GPL. Quando alguns desenvolvedores descobriram isso, lançaram um apelo público para a empresa
www.linuxmagazine.com.br
Roteadores WLAN com o OpenWrt | TUTORIAL
e seus desejos foram atendidos. A companhia publicou o código fonte para o firmware do roteador e ainda criou uma fundação para seu trabalho de desenvolvimento. O projeto é oficial desde 2004 e o firmware já passou por diversas transformações em termos de recursos e qualidade. O título “OpenWrt” é apenas parcialmente apropriado, uma vez que ele pode ser instalado em muitos outros dispositivos, de diversas marcas. Muitos roteadores e pontos de acesso sem fio usam os mesmos componentes embaixo da carcaça. Os dispositivos da Cisco e da Asus, por exemplo, têm visuais complemente diferentes, mas têm a mesma tecnologia por dentro. Para descobrir se o OpenWrt é compatível com seu dispositivo, uma boa ideia é visitar o site do projeto [2]. Quando chegar lá, você encontrará uma lista gigantesca de dispositivos, junto com outras informações de suporte. Se você procura comprar um roteador ou ponto de acesso suportado pelo OpenWrt, outra opção é acessar à loja pela Internet com o
Figura 2 Configuração das propriedades da interface LAN do OpenWrt.
seu smartphone, por exemplo, para comparar preços e recursos. Algumas precauções são aconselháveis: O Linksys WRT54G (e modelos WRT54GS relacionados) teve mais de vinte e quatro revisões de hardware e algumas delas não funcionam com o OpenWrt. A dica é: leia a etiqueta na caixa para conferir se o modelo e revisão são adequados para o firmware. Neste artigo, vou mostrar como configurar um Asus WL500G com o OpenWrt. O dispositivo tem portas LAN e duas portas USB que ficarão ainda mais úteis com o firmware.
Instalação do OpenWrt Caso você decida dar uma chance ao OpenWrt, primeiro é necessário escolher sua versão. A versão atual é a 10.03, também conhecida como Backfire, mas os desenvolvedores recomendam fortemente que se utilize a próxima versão RC 10.03.1. A área de download no site do OpenWrt oferece aos usuários duas variações: uma com o nome brmc-2.4 e a outra brmc47xx. A maior diferença é que a brmc-2.4 utiliza a versão 2.4 do kernel Linux enquanto a segun-
Figura 3 Instalar o plugin OpenVPN para o LuCI permite a configuração de um serviço VPN direto na interface.
Linux Magazine #86 | Janeiro de 2012
59
TUTORIAL | Roteadores WLAN com o OpenWrt
reto. Primeiro, você precisa de um link para a versão estável presente na wiki do seu próprio dispositivo. O link para o WL500GP é o: http://downloads.openwrt.org/ backfire/10.03/brcm47xx/ openwrt-brcm47xx-squashfs.trx
Figura 4 O opkg, derivado gerenciador de pacotes do Debian dpkg, permite a instalação de pacotes através da linha de comando.
da utiliza a versão 2.6. Uma visita rápida à página wiki do dispositivo [3] revela que os desenvolvedores recomendam a versão com o kernel 2.4 para os WL500GP com versão de hardware v2. Para os aparelhos com revisão v1, é recomendada a versão com o kernel mais recente. A maneira mais fácil de descobrir o firmware mais adequado para seu
dispositivo é visitar o wiki do OpenWrt e conferir a página de dispositivo. Os desenvolvedores geralmente dão recomendações corretas sobre a melhor versão, embora as páginas de dispositivos tenham somente o link para a versão estável. Se você quiser utilizar a versão RC, será necessário de um pequeno truque para encontrar o arquivo cor-
Figura 5 A lista de dispositivos de armazenamento prova que a função extroot está funcionando no roteador; o sistema usa um drive USB como disco.
60
depois, visite o site de download do Backfire [4] para visualizar todas as versões existentes para o OpenWrt. Finalmente, você precisa encontrar a versão atual do 10.03.1 – que era 10.03.1-rc5 em outubro de 2010. No link da versão estável, simplesmente substitua o número da versão, que é 10.03, para o novo número, que seria 10.03.1-rc5. O link completo para o equipamento Asus WL500GP ficaria assim: http://downloads.openwrt.org/ backfire/10.03.1-rc5/brcm47xx/ openwrt-brcm47xx-squashfs.trx
Após identificar a versão correta do firmware e fazer o download do arquivo correspondente – o firmware utiliza um sufixo .trx – você pode continuar com a instalação. Novamente, algumas diferenças existem entre roteadores de diferentes fornecedores. Você pode se considerar sortudo se instalar o OpenWrt da forma mais fácil – usando a função de atualização na interface web fornecida pelo fabricante. Esta abordagem costuma funcionar melhor com aparelhos mais antigos. Por outro lado, os modelos mais novos ou roteadores com o firmware mais recente do fornecedor, não são fáceis. Os desenvolvedores de hardware tendem a equipar seus aparelhos com um firmware que evita a troca por uma versão “incorreta”. Já aconteceu de usuários colocarem imagens em dispositivos que eram de outros aparelhos, fazendo o dispositivo ficar “bricado” (termo que vem do inglês bricked e é usado pela comunidade de desenvolvedores para definir um aparelho eletrônico caro que se tornou inutilizável). Para
www.linuxmagazine.com.br
Roteadores WLAN com o OpenWrt | TUTORIAL
evitar o desgosto da “bricagem”, os fabricantes modificaram suas atualizações, o que acaba, infelizmente, bloqueando o OpenWrt.
Método TFTP O Asus WL500GP é um exemplo de dispositivo à prova de bricagem. A interface web original de gerenciamento se recusa a permitir que você instale o firmware OpenWrt. Se você está enfrentando esse problema, não desista: o TFTP proporciona um método seguro para a instalação do OpenWrt. A abordagem básica funciona assim: os pontos de acesso e roteadores têm um modo especial para a instalação de sistemas operacionais conhecido como modo diag. Um dispositivo em modo diag responderá a comandos TFTP (TFTP – ou Trivial FTP – é um parente simplificado do protocolo FTP comumente usado para fazer o boot de estações de trabalho sem disco e outros dispositivos simples). Para prosseguir, primeiro você precisa instalar o tftp, o cliente de linha de comando para o TFTP, que você encontrará no pacote tftp. Faz sentido iniciar o programa na pasta onde você armazenou a imagem OpenWrt para o dispositivo. O próximo passo é colocar o roteador ou ponto de acesso para o modo diag, o que envolve etapas diferentes, dependendo do dispositivo. Nesse ponto, vá à página do seu dispositivo no wiki do OpenWrt para obter respostas [5]. Para mudar o WL500GP para o modo diag, você precisa desligar o aparelho da tomada e ligá-lo novamente segurando o botão reiniciar (na parte de trás do dispositivo). Quando o LED que indica que o aparelho está ligado começar a piscar lentamente, você está no modo diag. Para abrir uma conexão TFTP para o dispositivo, escreva tftp endereço de IP – caso você não tenha
Linux Magazine #86 | Janeiro de 2012
mudado o IP do seu roteador, ele será 192.168.1.1. Os comandos binary, trace e put arquivo_de_firwmare lidam com o resto do processo. Substitua arquivo_de_firmware com o nome do seu próprio arquivo de firmware.
Primeiro boot Não importa qual firmware seu ponto de acesso WLAN utilizava antes que você tenha instalado o novo firmware. Ela agora responderá pelo IP 192.168.1.1. Para configurar o dispositivo, você provavelmente vai precisar atribuir um endereço IP na rede para seu computador. Após fazer isso, nada poderá impedi-lo de fazer login no dispositivo. A maior desvantagem surge nesse ponto: o OpenWrt não possui uma interface web, mas imediatamente após a instalação, você pode utilizar o Telnet para logar. A senha para o root não está configurada e você precisa de uma senha para logar
por uma interface web. Após logar pela primeira vez usando o Telnet, tendo a certeza de que uma senha para o usuário root foi configurada, e lembrando que somente acesso SSH é permitido para conexões remotas. Mas agora você também terá a interface web LuCI em suas mãos (figura 1). O Telnet está incluído nas distribuições Linux, mas talvez você precise instalá-lo. O comando telnet 192.168.1.1 abre a conexão e inicia um terminal Shell. Então, você precisa executar o comando passwd para configurar uma nova senha para o usuário root. O OpenWrt desabilita o Telnet e inicia o daemon SSH no lugar para sessões criptografadas. De agora em diante, você poderá acessar a interface web no endereço http:192.168.1.1. Seu nome de usuário é root e a senha é a configurada via Telnet. Após logar, você é levado a uma página de boas vindas.
Figura 6 A DD-WRT, alternativa para o OpenWrt, se promove com uma interface web mais fácil
61
TUTORIAL | Roteadores WLAN com o OpenWrt
Interface web Os desenvolvedores trabalharam muito para criar uma interface web do OpenWrt na versão RC (release candidate) 10.03.1. Dois menus dão acesso a um conjunto de recursos muito importantes. O menu superior descreve as várias categorias de configuração. Logo abaixo, o segundo menu dá acesso aos detalhes. Ao clicar em Network/Interfaces, o usuário abre a configuração de rede (figura 2). Se sua rede não usa o espaço de endereço 192.160.1.0/24, você precisará alterar o endereço IP do dispositivo. Para isso, clique no ícone com um papel e uma caneta e escreva os valores para IPv4 Address, IPv4 Netmask e IPv4 Gateway. Se você deseja que o roteador abra uma conexão para a rede, você ainda precisa configurar a conexão PPoE nessa página. Para tanto, modifique a entrada wan; é uma boa ideia ter as credenciais do seu provedor de acesso à mão
nesse ponto. Ao clicar em Save & Apply, tudo fica armazenado e as mudanças tomam efeito. Se você deseja que o dispositivo OpenWrt aja como um servidor DHCP na sua rede local, você agora tem que configurar o dhcpd. Para isso, desmarque Disable DHCP for this Interface nas configurações de rede para a interface lan. O menu Network/Wifi também permite que você configure as propriedades WLAN para o aparelho. Essas propriedades incluem o nome WLAN (ESSID) e o método de criptografia. Se você quer usar um canal específico para a conexão sem fio, o menu WiFi é o lugar certo para configurar isso. O menu System permite que você mude o nome do host. Sempre lembre de pressionar Save no canto direito ao fazer mudanças. Após configurar o roteador para corresponder ao seu ambiente local, faça um novo boot para aplicar as configurações.
Listagem 1: Montagem do dispositivo USB 01 # mkdir /mnt/sda1 02 # mount /dev/sda1 /mnt/sda1 03 # tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -
Quadro 1: DD-WRT – alternativa ao OpenWrt Embora esse artigo esteja focado em OpenWrt, outras alternativas estão disponíveis para substituir o firmware original do fabricante em roteadores caseiros. Uma que vem a mente imediatamente é a DD-WRT, um projeto que foca na combinação de diversos recursos em uma interface simples e intuitiva (figura 6). O firmware DD-WRT está disponível no site do projeto relacionado [7]. O DD-WRT se difere do OpenWrt no que diz respeito ao público-alvo. Enquanto o OpenWrt se tornou amigável para usuários não muito técnicos apenas recentemente, o DD-WRT foi criado para não especialistas. No tocante ao hardware suportado, o DD-WRT não está muito atrás do projeto análogo. Você poderia tê-lo instalado facilmente no WL500GP da Asus, por exemplo. Apesar disso, maiores mudanças no DD-WRT ainda exigem visitas à linha de comando, como no caso de promover o roteador a servidores de impressão, por exemplo. No final das contas, sua escolha do firmware é só uma questão de preferência pessoal. No entanto, cada um tem seu próprio roadmap de desenvolvimento, então alternar nos experimentos entre os dois pode ser divertido no mundo do código aberto, no qual muitos caminhos levam à Roma.
62
Conexões VPN Um recurso realmente prático do OpenWrt é a possibilidade de suportar VPNs diretamente no roteador. Se você precisa de uma VPN, normalmente poderá configurá-la em sua área de trabalho e abrir uma conexão entre o servidor de VPN e seu próprio cliente. A desvantagem é que a conexão VPN tem que viajar por uma rede que utiliza NAT. O NAT pode ser um problema em conexões cliente/cliente, o que é driblado ao se configurar o VPN diretamente no roteador. Um efeito positivo disso é que você pode acessar o servidor VPN com cada máquina de sua rede e não somente um único PC. O OpenWrt suporta tanto o OpenVPN quanto o IPsec no lado do cliente. No entanto, o OpenVPN é a única opção que pode ser convenientemente configurada na interface web (figura 3). Isso porque a interface não entende IPsec, o que significa que você precisaria configurar na linha de comando. Se você nunca fez uma configuração manual de IPsec, o desafio é grande, mas se você estiver disposto a encarar, vá em frente.
OpenVPN e OpenSwan Os desenvolvedores do OpenWrt oferecem pacotes pré-elaborados para ajudar na configuração do OpenVPN. Para instalar os componentes necessários, você primeiro precisa fazer login no roteador via SSH. Seu nome de usuário será root de novo. Já com aceso ao Shell, escreva opkg update (figura 4), seguido por opkg install openvpn, o que diz ao OpenWrt para instalar os pacotes necessários. Então, proceda com a instalação do plugin do LuCI para OpenVPN. O comando opkg install luci-app-openvpn
www.linuxmagazine.com.br
Roteadores WLAN com o OpenWrt | TUTORIAL
faz isso. Nesse ponto, você deve reiniciar o OpenWrt e, após fazer login na interface web, conferir o novo menu de configurações Services/OpenVPN. Você pode configurar um OpenVPN como servidor ou cliente. Dois exemplos, sample_client e sample_server, estão prontos. Clique no ícone com a caneta para ir às configurações do item. Você pode clicar em Switch to advanced configuration para alterar qualquer aspecto da conexão OpenVPN. Feita a configuração, pressione Save. O procedimento para a instalação do OpenSwan, uma implementação de IPSec disponível no OpenWrt é similar. Após fazer login como root, digite: opkg install openswan
para instalar o pacote com suas dependências. O arquivo de configuração é /etc/ipsec.conf e os arquivos adicionais de configuração se encontram em /etc/ipsec.d. A configuração é muito parecida com qualquer configuração de OpenSwan em um PC com Linux.
Solução para falta de espaço O OpenWrt tem muito mais recursos do que eu poderia descrever nesse artigo, sendo que é muito difícil usar todos eles em um sistema OpenWrt típico. O roteador médio tem 8MB de memória flash, o que faz com que não haja espaço suficiente para programas como Asterisk, CUPS ou Samba. Se você possui um roteador com uma porta USB, considere-se sortudo: ela permite que você se conecte a uma memória flash, dando uma solução inteligente para a falta de espaço. O princípio básico é que todo o sistema seja jogado no armazenamento externo; o bootloader que inicia o OpenWrt originalmente utiliza o drive USB como seu principal dispositivo.
Linux Magazine #86 | Janeiro de 2012
Para usar a solução, você primeiro precisa formatar o drive USB nos sistemas de arquivos ext3 ou ext4. Você pode usar qualquer sistema Linux para fazer essa formatação. Para configurar um drive com uma partição ext3 única e um nome de dispositivo /dev/sdb, use mfks.ext3 /dev/sdb1 nesse caso. Eu presumo que você já tenha um drive com um sistema ext3 para os próximos passos. Agora, será necessário preparar a instalação de OpenWrt. Para tanto, insira o seguinte comando opkg para instalar os programas e ferramentas requisitados: opkg update & & opkg install block-mount block-hotplug block-extroot kmod-usb-storage kmod-fs-ext3 tar nano
Em seguida, você precisa montar o disco USB no sistema de arquivos OpenWrt para copiar todo o sistema para o armazenamento externo. Nesse caso, a partição principal no drive USB é /dev/sda1 – os três comandos mostrados na listagem 1 usam esse ponto de montagem para montar o drive USB e copiar os dados. Para terminar, você precisará configurar o extroot no arquivo / etc/config/fstab. O comando nano /etc/config/fstab abre o arquivo no editor Nano. A seção com nome config mount é que nos interessa: mude a entrada na linha option target de /home para /mnt. Então, na linha option device, digite o nome do dispositivo que você utilizou para a etapa prévia; no nosso exemplo, /dev/sda1. Para a linha option enabled, mude o valor 0 para 1. No final, adicione a linha: option is_rootfs 1
Então pressione [Ctrl] + [X] para sair do editor e [Y] para dizer ao Nano para salvar as mudanças. Após emitir um comando reboot, o retorno para o comando df -h (na
linha de comando) deve estar parecido com o da figura 5. A linha com /dev/sda1 é a mais importante: se ela existe, você pode ter a certeza de que o mecanismo extroot está funcionando.
Conclusão O firmware alternativo OpenWrt estende substancialmente o escopo funcional de muitos roteadores WLAN. Os recursos adicionais incluem ferramentas para comunicação segura e outros recursos de ponta. Tudo sem investimento financeiro, com o único custo de tempo e cuidado para se selecionar o firmware correto e usar cuidadosamente a linha de comando. Os resultados valem o esforço. ■
Mais informações [1] DBox2: http://en.wikipedia. org/wiki/DBox2 [2] OpenWrt: http:// www.openwrt.org/ [3] Wiki do OpenWrt; página do Asus WL500GP: http://wiki.openwrt.org/ toh/asus/wl500gp?s [4] Download do OpenWrt “Backfire”: http://downloads. openwrt.org/backfire/ [5] Página wiki do dispositivo OpenWrt: http://wiki. openwrt.org/toh/start [6] OpenSwan: http:// www.openswan.org/ [7] DD-WRT: http:// www.dd-wrt.org/
Gostou do artigo? go? Queremos ouvir sua opinião. pinião. Fale conosco em cartas@linuxmagazine.com.br .com.b Este artigo no nosso so site: sit http://lnm.com.br/article/6248 artic 248
63
ANÁLISE | Gerenciamento de energia
TLP: Gerenciamento de energia
ANÁLISE
Baixo consumo Ao invés de gastar energia, o TLP permite que você desligue componentes específicos do seu computador – dos quais você não necessita –, estendendo a duração de bateria e consequentemente sua vida útil. por Erik Bärwaldt
C
omputadores portáteis estão cada vez mais poderosos, mas isso implica também em um aumento no consumo de energia. Ciclos frequentes de carga podem sobrecarregar a bateria, mas graças à ferramenta TLP, quem usa notebooks com Linux na bateria por longas horas, agora consegue usar o computador com menos pausas para carregamento. O ponto fraco de qualquer computador móvel é o suprimento de energia. Quanto mais poderosa forem as telas, CPUs e chips gráficos, maior é o consumo de energia, gastando mais a bateria. Discos rígidos legados também afetam a duração da bateria. O projeto TLP, que se originou em um fórum alemão sobre o laptop ThinkPad [1], declarou guerra ao desperdício de energia. O TLP está disponível atualmente sob a forma de pacotes para Ubuntu, Debian [2] e openSUSE [3]. O pacote para Debian e Ubuntu (PPA) contém um arquivo com o código fonte, do qual você precisará caso use uma distribuição sem suporte a pacotes binários. Após descompactar o arquivo, você pode compilar o software com a linha de comando make install. Graças ao forte compromisso dos membros do Forum ThinkPad,
68
devem aparecer pacotes para mais distribuições no futuro. Você encontrará um guia para a instalação dos binários na web [4] e em um FAQ [5] que responde a várias questões relacionadas ao programa.
Economias potenciais O TLP tem uma abordagem holística, em vez de se restringir às operações já abrangidas pelos sistemas de economia de energia já residentes nos sistemas. Por exemplo, o software permite que você gerencie o consumo de energia do hardware WLAN, de armazenamento, entre outros sistemas que são específicos de determinados fabricantes. O TLP oferece modos de economia de energia de USB para todos os notebooks IBM e Lenovo, além de opções de economia para placas de som. Dependendo do hardware, pode-se até gerenciar dispositivos Bluetooth, PCI Express e SATA. Um benefício adicional: algumas CPUs são executadas em voltagem abaixo do normal sem qualquer mudança de desempenho que possa ser notada, presumindo que você tenha suporte de kernel para esse recurso. O TLP dá total controle sobre essa opção, o que pode causar um efeito bastante interessante ao combinar várias oportunidades de economia.
Requisitos Para se aproveitar totalmente do escopo de recursos do TLP, você precisa atender a algumas condições. Por exemplo, independentemente da versão de Debian ou Ubuntu utilizada, você precisará dos pacotes smartmontools, tp-smapi-dkms e eth-tool no sistema para poder buscar dados no HD e status de operação da bateria. Adicionando-se à confusão, esses pacotes têm diferentes nomes dependendo da sua distribuição. Por exemplo, o que o Debian e o Ubuntu chamam de tp-smapi-dkms é conhecido como tp_smapi-kmp-default no openSUSE. Diferentemente do arquivo smartmontools, que usa o mesmo nome em todos os três sistemas, assim como o pacote ethtool, que é necessário para desabilitar o serviço Wake-on-LAN. Independentemente do TLP, geralmente é uma boa ideia instalar o pacote powertop. Esse é outro aplicativo na linha de comando que lista todas as informações críticas sobre o consumo atual de energia e dá alguns detalhes sobre a economia de energia alcançada pelo TLP. O PowerTOP está disponível nos repositórios da maioria das grandes distribuições; você pode instalá-lo convenientemente ao pressionar um unico botão. O PowerTOP, que foi desenvolvido pela Intel, suporta algumas mo-
www.linuxmagazine.com.br
Gerenciamento de energia | ANÁLISE
dificações em seus componentes, presumindo que você tem hardware Intel. No entanto, você encontrará algumas opções que entram em conflito com o TLP. Nesse caso, ignore as sugestões feitas pelo PowerTOP e modificar o TLP em vez disso.
Primeiro contato O TLP normalmente se inicia automaticamente com todas as configurações padrão no momento do boot. Uma vez que é independente do ambiente do desktop e não tem uma interface gráfica, você precisa gerenciar o TLP em uma janela do terminal. Para uma visualização geral inicial dos recursos do programa, torne-se root e inicie o tlp-stat; você terá como resultado uma longa lista dos componentes de hardware do seu sistema e seus respectivos detalhes (figura 1). O TLP não dá a você essa lista de hardware com seus status, mas mergulha mais profundamente no sistema. Por exemplo, se você olhar na seção /proc/acpi/ibm/thermal = temperatures:, voltada para a exibição da tem-
peratura, o programa dará uma longa lista de detalhes relativos aos sensores de temperatura, mecanismo que está presente em todos os laptops recentes. Se aparecer o valor -128, significa que não existe sensor. Na seção de armazenamento que segue à lista, você encontrará detalhes do HD instalado no computador e os valores SMART essenciais, que se relacionam com opções de economia de energia configurados para o disco rígido. Outro aspecto importante é o status de operação dos componentes de comunicação feitos no laptop: se você não está usando WWAN (GSM/UMTS) ou WLAN, o hardware não precisa estar em modo standby. A entrada de sistema /sys/module/pcie_aspm/parameters/ policy permite que você explore se os componentes que estão habilitados em seu sistema e usando a energia. No final da lista, você verá detalhes para as baterias no computador, o estado
Linux Magazine #86 | Janeiro de 2012
Figura 1 Toneladas de informações de status estão em tlp-stat.
das portas USB e componentes especiais, como webcams ou sensores biométricos. Os dados da bateria frequentemente dão algumas dicas iniciais para resolver problemas de suprimento de energia. Como os resultados são reportados em unidades mWh, você perceberá logo de início se vale a pena calibrar a bateria ou fazer uma substituição.
Configuração O TLP armazena seus parâmetros de configuração no arquivo /etc/default/ tlp, criado pelo programa quando instalado. As configurações padrão são úteis como um ponto de início básico para a maioria dos sistemas ThinkPad. Dito isso, o software não entrega todo o potencial de economia. Com isso, é uma boa ideia investigar esse arquivo e modificá-lo para refletir seu hardware. Para encontrar grupos individuais de opções, abra o arquivo de configuração como root em seu editor favorito. Se você quer habilitar quaisquer opções comentadas com um sinal de cerquilha (#), apenas remova-as. O TLP separa as configurações para operar na bateria e na grade. Os parâmetros relacionados à bateria são identificáveis com o sufixo _ON_BAT, enquanto a opção da grade usa _ON_AC
(figura 2). Muitas opções são bem significativas, como os intervalos de escrita no buffer do sistema kernel ou opções para desabilitar núcleos individuais ou CPUs de núcleos múltiplos. No entanto, há outras opções importantes, como as seções de operação de disco rígido e de componentes de comunicação, além do Ultrabay: esses vetores geralmente oferecem um espaço bom para otimização. Se você executar um segundo disco rígido ou um drive óptico no Ultrabay, o TLP permite que você desligue esses drives, independentemente do armazenamento principal, para o caso de você não utilizá-los por um extenso período. As configurações de WLAN, Bluetooth e USB também podem ser editadas aqui.
Problemas de disco rígido Além de displays, CPUs e processadores gráficos, HDs antigos costumam ser alguns dos maiores consumidores de energia, razão pela qual os fabricantes estão sempre tentando conter a sede que esses equipamentos têm por energia. Para que isso aconteça, o disco estaciona a cabeça de leitura e desliga o motor quando está inativo. No
69
ANÁLISE | Gerenciamento de energia
Figura 2 Você pode modificar os parâmetros para TLP editando o arquivo de configuração.
entanto, é necessário encontrar a melhor relação desempenho/consumo de energia: quando o motor se desliga por inatividade, muita energia é necessária para voltar à ativa, o que pode provocar ainda problemas de desempenho, desgaste adicional em outras partes ou até perda de dados no pior cenário. Para mudar isso, o TLP permite modificações no nível de APM (gerenciamento avançado de energia) do disco. Para isso, veja a seção DISK_DEVICES no arquivo de configuração e confira se o software identifica o disco corretamente. Se sim, vá para a seção DISK_APM_LEVEL: você verá uma integral de três dígitos entre aspas para cada disco. O valor normalmente será de 254 durante operações enquanto o computador estiver plugado na energia e 128 quando estiver funcionando na
bateria. Você pode mudar esse valor. O valor válido para a integral varia de 1 a 254, sendo que valores abaixo de 128 podem causar uma interrupção frequente no motor e na cabeça de leitura. Valores acima de 128 reduzem o número de ciclos de interrupção. Dependendo do modelo de seu computador, o valor 254 desabilita o mecanismo de interrupção da cabeça de leitura completamente, de forma que o mecanismo nunca se desliga. Se você tem um disco que precisa de uma quantidade substancial de energia para ser executado depois de uma interrupção, a economia é mínima, comparada com operações permanentes. O valor de 254, nesse caso, seria a sua melhor escolha. Os chips gráficos precisam de uma grande quantidade de energia e geram
Figura 3 Lista de IDs de dispositivo USB com lsusb.
70
uma grande quantidade de calor. Para reduzir o consumo e a temperatura, a maioria dos processadores mais modernos suportam a operação com clock em menor velocidade. O TLP usa a opção dos processadores gráficos ATI Radeon para a criação de cinco perfis de mudança de clock. No entanto, isso funciona somente com o driver livre para Radeon e com uma versão de kernel 2.6.35 ou mais recente. Procure a seção RADEON_POWER-PROFILE no arquivo de configuração do TLP e escolha uma das opções – low, mid, high, auto ou default – para essa configuração. A opção default usa o valor especificado pelo hardware, enquanto a opção auto ajusta a velocidade do clock em um ponto mais baixo quando você liga o computador na bateria. Ao conectar na energia, o processador gráfico volta para sua capacidade máxima. Vale a pena experimentar com cada opção, de acordo com o uso realizado do computador, para chegar na melhor configuração.
WLAN: devorador de energia Se você não precisa de acesso à rede WLAN, você definitivamente precisa desabilitar o componente completamente. O TLP funciona com a maioria dos chips Intel, mas nenhum Atheros. Se seu computador não tem cartão WLAN, você pode modificar o estado operacional na seção WIFI_PWR no arquivo de configuração. O valor 1 habilita o gerenciador de energia do cartão, enquanto o 5 desabilita. A função requer kernel 2.6.32 ou mais novo. Se você notar que a conexão WLAN se torna instável em um modo de economia de energia, será necessário desabilitar o gerenciador de energia. O consumo mais baixo reduz a transmissão do adaptador e desempenho da recepção. Assim, a conexão com o roteador poderia ser interrompida em condições pouco favoráveis.
www.linuxmagazine.com.br
Gerenciamento de energia | ANÁLISE
O sistema do ThinkPad conhecido como Ultrabay permite uma troca conveniente de componentes sem ferramentas. Graças ao TLP, você pode fazer com que o HD instalado no Ultrabay fique em repouso se você não o utilizá-lo por um tempo. A configuração para isso ocorre na seção DISK_APM_LEVEL. Se você executa um drive ótico no Ultrabay, pode desabilitar completamente o drive quando estiver usando bateria. Para tanto, vá à seção BAY_POWEROFF no arquivo de configuração TLP, mude o valor padrão de 0 para 1 e adicione o nome de dispositivo para o drive (o valor padrão, sr0, normalmente está correto). Se você usa o modelo de ThinkPad com dois dispositivos Ultrabay, poderá gerenciá-los de forma independente através do nome de dispositivo.
Comunicação e manutenção Como todos os laptops atuais, os dispositivos IBM/Lenovo tem diversas interfaces para comunicação com outros componentes. Uma vez que você não precisa de todas elas, é possível encontrar diversas oportunidades de economia de energia nessa área. Para desabilitar dispositivos que usam USB, procure por USB_AUTOSUSPEND no arquivo /etc/default/tlp. O valor deve ser 1. Como a função de auto suspensão causa interrupções indesejáveis nos dispositivos USB, como em modems de Internet 3G, você pode definir exceções para certos dispositivos por meio de números de ID, adicionando o ID do dispositivo na lista USB_ BLACKLIST. Você pode descobrir o ID como root ao digitar lsusb em uma janela de terminal (figura 3). Na próxima seção, DEVICES_TO_DISABLE, você pode definir quais outras interfaces de sistema são desabilitadas no boot e durante o desligamento do computador, evitando que tais interfaces impeçam o desligamento do computador, colocando-o em modo
Linux Magazine #86 | Janeiro de 2012
de espera. Os padrões são as interfaces WLAN, Bluetooth e WWAN. Embora o TLP possa ser executado em todos os laptops, você só pode configurar os limites da carga de bateria em ThinkPads. As configurações START_CHARGE_THRESH e STOP_CHARGE_THRESH permitem acertar as configurações da melhor forma para as baterias de íons de lítio instaladas nos modelos de ThinkPad mais populares. Isso significa que o sistema não carregará totalmente a bateria, mas interromperá o carregamento quando a carga chegar a 80%, reduzindo o desgaste das células. Se você notar que a capacidade da bateria está diminuindo, o TLP pode ajudar a recalibrar a bateria ao fazer uma descarga completa e recarregar de novo até 100%. Para tanto, entre no sistema como root e digite tlp discharge em uma janela de terminal. Após descarregar totalmente, você pode recarregar a bateria ao digitar tlp fullcharge. Para manter a carga dos eletrônicos balanceada com o estado atual das células da bateria, é uma boa ideia repetir essa operação a cada dois ou três meses.
Opções de linha de comando Se você iniciar o TLP manualmente, o software dá uma série de parâmetros de linhas de comando adicionais às opões configuradas para modificações de curto prazo. Para ver as opções possíveis, entre como usuário root e digite somente tlp. Os comandos bluetooth, wifi e wwan, cada um seguido pelos parâmetros on e off, habilitam ou desabilitam serviços. Os comandos tlp discharge e tlp fullcharge também estão nessa categoria e foram explicados no tópico anterior. Para eliminar o risco de confusão com discos múltiplos em seu laptop, use o ID do disco em vez do nome do dispositivo no arquivo de configuração do TLP. Para descobrir o ID do disco rígido, o TLP conta com o comando tlp diskid.
Conclusão Sob condições de produção, o TLP impressiona. Em nossos laboratórios, a duração da bateria de um ThinkPad X200t caiu em 20%, embora eu não tenha usado alguns recursos, como o de mudar a velocidade da placa gráfica, pela falta de um adaptador Radeon. A placa Intel WLAN acabou se tornando o principal consumidor de energia, consumindo cerca de 2.5 watts. Graças ao TLP, eu consegui reduzir o consumo de energia do sistema para menos de 2 watts, estendendo o tempo de bateria em 20 minutos. O TLP é bem projetado e uma ferramenta altamente funcional da qual nenhum dono de ThinkPad, ou outro laptop, deveria prescindir. Graças a sua excelente documentação e FAQ, novos usuários sem conhecimento profundo de hardware não terão problemas em usá-lo. ■
Mais informações [1] Projeto no fórum do Thinkpad (em Alemão): http://bit.ly/t7otyj [2] Arquivos para Ubuntu e Debian: https://launchpad. net/~linrunner/+archive/ tlp/+packages [3] Repositório para openSUSE: http://download.opensuse. org/repositories/home:/ cdersch:/TLP/openSUSE_11.3/ [4] Guia: https://github. com/linrunner/TLP/wiki/ TLP-Linux-AdvancedPower-Management [5] FAQ: https://github.com/ linrunner/TLP/wiki/TLP-FAQ
Gostou do artigo? rtigo? Queremos ouvir sua opinião. pinião. Fale conosco em m cartas@linuxmagazine.com.br zine.com r Este artigo no nosso osso site: e: http://lnm.com.br/article/6277 br/art /627
71
ANÁLISE | Filtro de email com o Sieve
Filtro de email com Sieve
ANÁLISE
Organizador de correspondência O Sieve é uma solução de servidor, fácil de usar, que ajuda os administradores a filtrar o fluxo de email de forma inteligente. por Florian Effenberger
O
imenso volume de tráfego de email, nos dias de hoje, causa problemas tanto aos administradores como aos usuários. Dentro da sua caixa de entrada vão parar, não somente as mensagens pessoais, mas também a correspondência do trabalho e, inclusive, notificações das autoridades. Listas de discussão e periódicos também dão sua contribuição para encher sua caixa postal. Para evitar se afogar nesta enxurrada de correspondência, você necessita de um sistema inteligente de filtragem que automaticamente
72
organize seus emails, distribuindo-os nas pastas corretas. Normalmente, os usuários irão configurar estes itens diretamente no cliente de email, uma vez que tanto os aplicativos desktop, como os servidores web de email oferecem uma razoavelmente extensa e variada gama de opções de filtragem. E esta abordagem é a mais simples – desde que você receba suas mensagens em um único sistema. Mas se você usa múltiplos aparelhos, as coisas podem começar a ficar difíceis. Ainda que o protocolo IMAP mantenha os seus re-
positórios de email idênticos, ele não suporta regras de filtragem. Teoricamente, você poderia copiar as configurações de um cliente para outro, mas isto consome algum tempo. Além disso, quando você começar a usar também smartphones e tablets, as coisas vão realmente ficar complicadas.
Mais comodidade com o Sieve Se você gerencia um servidor IMAP e deseja fazer um favor aos seus usuários, pense na possibilidade de lhes oferecer um filtro Sieve. Esta
www.linuxmagazine.com.br
Filtro de email com o Sieve | ANÁLISE
ferramenta lhes permite definir regras de filtragem para as mensagens que chegam, tal como no Procmail, para citar um exemplo. A maior vantagem aqui, é que a filtragem ocorre diretamente no servidor e, portanto, acontece automaticamente para todos os clientes, independentemente do sistema operacional. As regras são aplicadas do mesmo jeito no desktop, com o Thunderbird, no celular com Android e no seu tablet. O Sieve é a quintessência do “estilo IMAP” de filtrar email. Do ponto de vista do administrador, é uma coisa boa que o Sieve se integra diretamente, como plugin, ao Mail Delivery Agent (MDA) e, por conseguinte, oferece excelente desempenho. Um exemplo contrastante com esta situação é do Procmail que é tipicamente executado como script separado e, portanto, aumenta a carga sobre o sistema. Sua sintaxe é um pouco mais simples do que a antiga, e um tanto quanto complicada, sintaxe do Procmail. O Sieve está disponível em vários servidores IMAP e, além de ter a capacidade de mover mensagens para subpastas, pode também: ➧ Encaminhar mensagens para terceiros ➧ Remover mensagens identificadas como spam ou infectadas por vírus ➧ Fazer devoluções (é preciso ser cuidadoso com isto) ➧ Rotular e criar etiquetas IMAP ➧ Enviar mensagens automáticas de férias ou de ausência do escritório Tanto as ações quanto os mecanismos de decisão, podem ser combinados arbitrariamente. Por exemplo, você pode rotular, encaminhar e, automaticamente, responder uma determinada mensagem, dependendo do seu remetente e do assunto, com apenas algumas linhas de código. Todos
Linux Magazine #86 | Janeiro de 2012
os elementos levam a uma sintaxe de fácil aprendizagem. Por questões de segurança, o Sieve não suporta execução de scripts externos, diferentemente do Procmail, mas aceita plugins que acrescentam recursos adicionais.
O correto posicionamento no Postfix Nosso laboratório de teste compreende a atual versão LTS do Ubuntu, a 10.04 (Lucid Lynx), que vem com o Postfix 2.7 e o Dovecot 1.2. No exemplo que se segue, ambos os componentes devem estar instalados e funcionais, e as contas individuais de usuários devem vir do arquivo / etc/passwd – o que quer dizer que você não deve utilizar LDAP ou MySQL. Para instalar o Postfix e o Dovecot, você pode, simplesmente, dar os seguintes comandos: apt-get install postfix apt-get install dovecot-imapd
A questão sobre onde o Sieve está instalado, comumente causa confusão. Uma vez que ele filtra as mensagens que chegam, você pode vir a pensar que se trata de um componente do servidor SMTP
– o Postfix, neste caso – o que não é verdade. Ainda que o Sieve seja chamado pelo Postfix, a implementação é parte do servidor IMAP. O princípio por trás disso é simples. O Postfix recebe novas mensagens, como servidor SMTP e processa sua configuração: resolução do endereço, scanner de vírus, filtros antispam, graylisting (combate ao spam) e muitas outras coisas. Depois de o Postfix ter aceitado a mensagem, de tê-la feito passar pelos seus próprios filtros e estar pronto para entregá-la na caixa de entrada do usuário, um componente chamado Mail Delivery Agent (Agente de Entrega de Correspondência, ou apenas MDA) entra em campo. É o MDA quem realmente entrega a mensagem. Esta tarefa é feita por um componente do Dovecot, compatível com o Sieve [1]. Esta abordagem tem duas vantagens decisivas: por um lado, o filtro se expõe apenas para as mensagens, que ainda não tenham sido descartadas. Em outras palavras, as mensagens que são rejeitadas diretamente por serem classificadas como spam, nunca chegam ao Sieve, o que economiza recursos do servidor. Por outro lado, o
Listagem 1: Configuração do Postfix 01 02 03 04
mailbox_delivery_lock = dotlock, fcntl virtual_mailbox_lock = dotlock, fcntl home_mailbox = Maildir/ mailbox_command = /usr/lib/dovecot/deliver
Listagem 2: Exemplo do Sieve 01 02 03 04 05 06 07 08 09 10
# -- load plug-ins # -- Move messages into another folder require "fileinto"; # -- Filter rules # if header :contains "X-Spam-Flag" "YES" { fileinto "Junk"; }
73
ANÁLISE | Filtro de email com o Sieve
Figura 1 Se desejado, o Sieve também pode enviar aviso de que o destinatário está de férias.
Sieve tem acesso aos cabeçalhos, que são adicionados pelas entradas da configuração do Postfix, com SpamAssassin, ClamAV ou o Policy Daemon. O MDA é configurado para usar a opção mailbox_command no arquivo /etc/postfix/main.cf. Em nosso laboratório, a conexão correta entre o Sieve e o Postfix parece tal como é descrito na listagem 1. Após fazer as mudanças, você precisa mandar o Postfix recarregar a configurações através do comando postfix reload.
Configuração do Dovecot Usar o deliver como o seu MDA, não implica na habilitação automática do Sieve, porque, primeiro, você precisa configurar o protocolo. Novamente, eu vou partir do pressuposto de que a instalação básica do Dovecot está funcionando corretamente e que
74
as mensagens estão sendo adequadamente distribuídas para as caixas postais IMAP. No Ubuntu, o servidor de configuração está localizado em /etc/dovecot/dovecot.conf. Você vai precisar habilitar duas importantes opções na seção lda. A opção postmaster_address dá nome a um contato técnico para o servidor de email e é exibido nas mensagens que retornam (bounces) e as do sistema. Uma vez que o Dovecot só carrega a extensão quando o administrador manifesta expressamente seu desejo de que isso seja feito, faz sentido fornecer um alias dedicado aqui. Uma seção completa lda, terá a seguinte aparência: protocol lda{ postmaster_address = postmaster@company.tld mail_plugins = sieve }
O comando /etc/init.d/dovecot restart manda o servidor recarre-
gar a configuração, o que conclui a instalação do Dovecot
E agora, para os usuários... Uma vez concluído o trabalho do administrador do sistema, de implementação de todos os requisitos para tornar o Sieve disponível e funcional para cada usuário no servidor IMAP, vou direcionar o foco para os passos a serem seguidos pelos usuários para que possam gerenciar seus próprios filtros e explorar a sintaxe do Sieve. Como regra geral, cada servidor IMAP inclui sua própria implementação Sieve e os detalhes, como nomes dos arquivos para os comandos de filtragem ou nomes dos plugins, podem variar de um pra outro. Dito isso, os fundamentos da linguagem são especificados e, mesmo que você mude seu servidor de email, será capaz de portar a maior parte das regras que definiu.
www.linuxmagazine.com.br
Filtro de email com o Sieve | ANÁLISE
A seguinte seção usa uma implementação Sieve no Dovecot 1.2.1, que o Ubuntu 10.04 provê como pacote instalável a partir de seus repositórios. Como padrão, todos os arquivos de controle do Sieve residem no diretório home do usuário. Em um teste inicial, você pode querer criar um usuário dedicado para evitar impactar no seu uso regular de emails, ao apagar ou mover mensagens acidentalmente. O Sieve é bastante simples de usar; uma regra de filtragem incorreta não impedirá que uma mensagem seja entregue. Em vez disso, as regras do filtro não são carregadas e a mensagem é deixada sem filtragem alguma. Ainda assim, esta ação pode ter efeitos indesejados, caso você receba um grande número de emails. Alguns arquivos vão merecer sua atenção durante a implementação do Dovecot. O arquivo principal é o .dovecot.sieve (note o ponto no início do nome), no qual são armazenadas todas as regras de filtragem. Quando ocorrem mudanças,
o .dovecot.svbin é automaticamente pré-compilado para acelerar o processamento quando a próxima mensagem chegar. Outro arquivo importante é o .dovecot.sieve.log, que é usado pelo sistema de filtragem para guardar as mensagens de erro, caso ocorram incidentes. Se houver mensagens de férias, o .dovecot.lda-dupes também vai estar presente. Ele acompanha as respostas automáticas que são enviadas. A listagem 2 , dá uma visão geral inicial da estrutura de arquivos. Este processo começa com o carregamento de todas as extensões requeridas, neste caso, fileinto, que é responsável por mover mensagens para outras pastas. As regras individuais seguem na segunda parte; o Sieve vai processá-las, uma após a outra, ignorando comentários que comecem com #. No exemplo, as mensagens que contenham a palavra YES em seus cabeçalhos X-Spam-Flag são movidas para a pasta de spam – o que será útil para mover automaticamente qualquer email não solicitado identificado
Listagem 3: Condições e ações 01 require ["fileinto", "imap4flags"]; 02 if anyof (header :contains "X-Spam-Flag" "YES", 03 header :contains "Subject" "<ADV>", 04 header :contains "Subject" "[SPAM]") { 05 setflag "\\Seen"; 06 fileinto "Junk"; 07 stop; 08 }
Listagem 4: Filtrando correspondências de lista 01 02 03 04 05 06 07 08 09 10
require "fileinto"; if header :matches "List-Id" "<announce.de.libreoffice.org>" { fileinto "INBOX.announce@de-libo"; stop; } if allof (header :matches "From" "*+owner@*", header :matches "Subject" "Moderation for*used") { fileinto "INBOX.Moderation"; stop; }
Linux Magazine #86 | Janeiro de 2012
pelo SpamAssassin. Para testar a configuração, tudo que você precisa é de uma mensagem com o padrão GTUBE [2]. As filtragens bem-sucedidas são imediatamente exibidas em /var/log/mail.log: Aug 2 10:15:51 mail dovecot: deliver (sieve): sieve: msgid=<4E37B272.2060705@ meinefirma.tld>: stored mail into mailbox ' Junk'
Na linguagem do Sieve, você começa enunciando a condição, que leva à ação a ser executada. Ambas, condições e ações, podem ser combinadas tal como pode ser observado no exemplo na listagem 3. No exemplo, pré-condições são definidas entre parênteses; a opção anyof significa que cada um é válido por si só. Em outras palavras, se apenas um dos três cabeçalhos ( header ) satisfizer a condição a que se refere, a regra ainda se aplica. As ações a serem executadas, são listadas abaixo do texto entre parênteses. No exemplo, toda mensagem identificada como spam, será movida para a pasta Junk e, adicionalmente, marcada como “Seen” (lida). O comando setflag, requerido para executar esta ação, é disponibilizado pela extensão, já carregada, imap4flags . Por fim, o comando stop também é útil, por sinalizar que não há mais ações a serem tomadas para a mensagem em questão – assumindo que a regra correspondente já foi aplicada. Isso é interessante, por exemplo, no caso de mensagens de listas de discussão ou periódicos e cujos remetentes você não deseja enviar mensagens respondendo que está de férias (vamos descrever isto mais tarde). O Sieve, verdadeiramente brilha, quando é preciso ordenar listas de discussão. Ainda que muitos clientes de email e sistemas de
75
ANÁLISE | Filtro de email com o Sieve
Em férias
Listagem 5: Busca 01 require ["fileinto", "imap4flags"]; 02 if allof (header :matches "From" "\"Florian Effenberger\"<floeff@ documentfoundation.org>", 03 header :matches "X-Mailer" "EPOC Email Version 2.10") { 04 setflag "\\Seen"; 05 fileinto "Sent"; 06 stop; 07 }
Listagem 6: Em férias 01 require "vacation"; 02 vacation 03 :days 14 04 # in case of multiple addresses used to format ["address1", "address2", "address3"] 05 :addresses "floeff@mycompany.tld" 06 :subject "Fora do escritório" 07 "Essa é uma mensagem gerada automaticamente. 08 09 Estarei fora do escritório até 5 de setembro de 2011. Seu 10 email não será encaminhado, mas respondido até o meu 11 retorno. Em caso de emergência, favor ligar para nosso 12 escritório. Esta mensagem será enviada apenas uma vez.";
webmail, em particular, façam suas filtragem tendo como referência o campo de assunto ou o destino, o Sieve suporta a detecção de listas de discussão através da List-ID ou os cabeçalhos List-Post (listagem 4), que são padrões usados pelo Mailman. Esta abordagem te dá um método confiável para detectar quando uma mensagem é oriunda de uma lista de discussão ou foi diretamente enviada por um destinatário. A primeira regra move as mensagens da lista de anúncios em alemão do LibreOffice para uma pasta abaixo da caixa de entrada. A segunda regra, aceita correspondência das listas em questão. Pastas e subpastas são separadas por um ponto, seguindo a formatação típica do IMAP. A diferença entre os modos de busca :contains e :matches, também se torna clara aqui. Enquanto o primeiro apenas espera que
76
o texto ocorra em algum lugar no cabeçalho, o outro dá a opção de realizar uma busca mais detalhada – o texto deve ser exato e você pode usar o asterisco como curinga. Outra coisa nova, neste exemplo, é a opção allof, que determina que todas as condições devem ser satisfeitas e não apenas algumas. Em outras palavras, tanto o remetente quanto o assunto têm que estar de acordo com a regra a ser aplicada. Busca de termos, com o uso de aspas, são indicadas no Sieve, através de barra invertida, tal como mostrado na listagem 5. Incidentalmente, este filtro cuida da tarefa de mover mensagens enviadas por dispositivos legados Symbian para dentro da pasta de itens enviados. Muitos destes aparelhos só têm a capacidade de enviar uma cópia para si mesmos. Portanto, o filtro primeiro consulta o remetente e o cliente de email. Depois, move as mensagens.
Muitas pessoas estarão voltando das férias quando este artigo estiver pronto, mas o Sieve pode lhe ser útil, quando você for entrar de férias novamente. Embora já tenha havido muito debate sobre o sentido de se enviar mensagens de férias, há quem não queira abrir mão delas. O grande desafio, aqui, é que a resposta seja enviada apenas para endereços de email pessoais – autorrespostas enviadas para listas de discussão ou periódicos são mais do que inconvenientes. Respostas automáticas podem realmente ser problemáticas se seu destinatário também usa respostas automáticas: sistemas de email incorretamente configurados, em uma situação desta, ficarão enviando mensagens automaticamente, sem parar, o que pode acabar por derrubar o sistema. Implementações enxutas, como o Sieve, contudo, verificam diversos critérios, tais como informações do remetente, cabeçalhos de lista e muito mais, antes de ousar enviar uma mensagem. Ao mesmo tempo, estas ferramentas guardam registros de quaisquer mensagens que já foram enviadas, assegurando que o destinatário só receba uma mensagem, dentro de certo período de tempo. Faz sentido configurar o arquivo de filtragem para mover qualquer mensagem de lista de email, periódicos para outro diretório e depois chamar o comando stop para finalizar o processo. Uma autorresposta é enviada para mensagens que não atendem as condições dos filtros. Criar uma mensagem de autorresposta para o período das férias, pode ser feito em poucas linhas (listagem 6). Este exemplo “de férias” começa com o carregamento do módulo requerido, vacation. A opção days, define quão frequente a mensagem
www.linuxmagazine.com.br
Filtro de email com o Sieve | ANÁLISE
irá ser enviada – de acordo com o exemplo, 14 dias. Os endereços dos destinatários precisam ser fornecidos, por que o Sieve só vai enviar a mensagem se um destes endereços estiver listado no campo Para ou Cc (figura 1). Só o campo Assunto é opcional.
O Sieve pode fazer mais Ao lado das funções que eu expliquei aqui, o Sieve tem muitos outros truques sob a manga. Mas estes vão além do objetivo deste artigo introdutório. Se você entende o básico da linguagem, pode rapidamente definir regras abrangentes de filtragem, com alguma ajuda dos variados exemplos de scripts [3] e tutoriais [4] disponíveis na web.
Para evitar a necessidade de testar todos os seus scripts localmente, você pode querer usar um validador web [5]. É recomendável também ler a documentação do produto, no que tange ao servidor IMAP e conhecer algumas dicas de uso. Uma pergunta que ficou sem resposta: como os meus scripts vão chegar até o servidor? Ainda que pequenas instalações permitam aos usuários acessarem seus diretórios pessoais via FTP (inseguro!), WebDAV, ou mesmo SSH, o serviço ManageSieve [6] é recomendado para ambientes de larga escala. Esta ferramenta permitem aos clientes de email e aos sistemas de webmail instalar filtros através do uso de um protocolo separado, sem acesso direto ao sistema. ■
Mais informações [1] Plugin Sieve Dovecot: http://wiki.dovecot.org/LDA/sieve
Á R E S L L A QU INCIPA TO R N O P ECIME T ? N 2 O 1 C 0 A 2 E D
OLIMPÍADAS DE LONDRES FIM DO MUNDO
[2] Teste genérico para email em massa não solicitado: http://spamassassin.apache.org/gtube/ [3] Exemplos Sieve: http://en.wikipedia.org/wiki/ Sieve_(mail_filtering_language)#Example [4] Tutorial do Sieve: http://www.tty1.net/blog/201107-16-sieve-tutorial_en.html [5] Libsieve PHP: http://libsieve-php.sourceforge.net/ [6] ManageSieve: http://wiki.dovecot.org/ManageSieve
O autor
LANÇAMENTO DO NOVO
GUIAdeTI 2012
Florian Effenberger é promotor do Software Livre há muito anos. Ele é o co-líder de marketing internacional do projeto OpenOffice.org e membro da diretoria do OpenOffice.org Alemanha. Seu trabalho se concentra principalmente em projetar redes corporativas e educacionais com base em Software Livre.
Gostou do artigo?
AGUARDE!
Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/6312
Linux Magazine #86 | Janeiro de 2012
77
PREVIEW
Linux Magazine #87 Resgate Todo mundo já passou pela inevitável situação de perder emails, músicas, fotos ou outros arquivos igualmente importantes por alguma pane ou falha do computador. Sem lembrar que uma vez ou outra, você certamente já deletou alguma informação ou arquivo sem querer e desesperou-se para saber como recuperá-lo. Na Linux Magazine de fevereiro, você vai descobrir diversas maneiras de resgatar informações perdidas, seja em panes de backup ou por exclusão indevida. Aprenderá como criar backups eficazes e de recuperação garantida. Tudo isso e muito mais no mês que vem. Até lá! ■
Admin Magazine #05 Monitoramento Na Admin Magazine #05, você irá conhecer as melhores opçoes em softwares para monitoramento de sistemas. Seja em redes Linux, Windows ou mesmo em redes mistas, o monitoramento de redes e sistemas está presente no dia a dia de nove entre dez administradores de sistemas. Se você é um deles, não perca nossa próxima edição!
82
www.linuxmagazine.com.br