Professional Documents
Culture Documents
26
Memrias de uma longa carreira em computao
N ED M I ER O O MEDIALINX 10 0
# 100 Maro 2013
A REVISTA DO PROFISSIONAL DE TI
MAINFRAMES
CASE ALFRESCO p.26 A Construcap agilizou seus projetos com o Alfresco LINUX PARK 2008 p.28 Iniciada em Porto Alegre a temporada de seminrios Linux Park de 2008 CEZAR TAURION p.34 O Cdigo Aberto como incentivo inovao
#44 07/08 R$ 13,90 7,50
H 50 ANOS NO MERCADO, AS MQUINAS DE GRANDE PORTE ESTO MAIS ATUAIS DO QUE NUNCA, E SE RENDERAM MODERNIDADE DO SOFTWARE LIVRE. p.32
A REVISTA DO PROFISSIONAL DE TI
00044
GOVERNANA COM
SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA REA p.36
Relatrios do Squid com o SARG p.60 Java, Ruby e Rails: conhea o JRuby on Rails p.74 Benchmarks do GCC 4.3? p.58 Becape de bancos de dados com a Libferris p.46 LPI nvel 2: Servidores NIS e DHCP p.52
NAGIOS p.45 Utilize recusros VoIP para gerar alertas de falhas de forma eficiente SEGURANA p.51 O Tripwire evita que invasores infectem computadores com cavalos de tria ANDROID p.66 Conhea cinco aplicativos que facilitam a vida do gestor de TI PULSE 2 p.70
Mandriva apresenta nova verso do seu sistema de gesto integrada de parque computacional
WWW.LINUXMAGAZINE.COM.BR
9 771806 942009
Expediente editorial
Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br Editores Flvia Jobstraibizer fjobs@linuxmagazine.com.br Laura Loenert Lopes llopes@linuxmagazine.com.br Editor de Arte Hunter Lucas Fonseca hfonseca@linuxnewmedia.com.br Colaboradores James Stanger, Jrgen Quade, Klaus Knopper, Charly Khnast, Tim Schrmann, Frank Hofmann, Kurt Seifried, Bruce Byfield, Timo Schler, Zack Brown, Jon maddog Hall, Alexandre Borges, Cezar Taurion, Gilberto Magalhes, Augusto Campos. Traduo Laura Loenert Lopes Reviso Flvia Jobstraibizer Editores internacionais Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kiling, Jan Kleinert, Daniel Kottmair, Thomas Leichtenstern, Jrg Luther, Nils Magnus. Anncios: 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 (Amrica do Norte) aphalen@linuxpromagazine.com Hubert Wiest (Outros pases) hwiest@linuxnewmedia.de
EDITORIAL
Diretor de operaes 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 Austrlia www.linux-magazine.es Espanha www.linux-magazine.pl Polnia www.linux-magazine.co.uk Reino Unido www.linuxpromagazine.com Amrica do Norte Apesar de todos os cuidados possveis terem sido tomados durante a produo desta revista, a editora no responsvel por eventuais imprecises nela contidas ou por consequncias que advenham de seu uso. A utilizao 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 permisso expressa da editora. Assume-se que qualquer correspondncia recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, sejam fornecidos para publicao ou licenciamento a terceiros de forma mundial no-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 So Bento, 500 Conj. 802 S 01010-001 So Paulo SP Brasil Tel.: +55 (0)11 3675-2600 Direitos Autorais e Marcas Registradas 2004 - 2012: Linux New Media do Brasil Editora Ltda. Impresso e Acabamento: EGB Atendimento Assinante www.linuxnewmedia.com.br/atendimento So Paulo: +55 (0)11 3675-2600 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428 Impresso no Brasil
NDICE
CAPA
Os pais da computao moderna J imaginou o mundo sem os mainframes? O poder da virtualizao nos mainframes Conhea a histria por trs dos poderosos mainframes e como o Linux agregou valor a estas j incrveis mquinas. Linux no System z: a revoluo A histria e a evoluo dos mainframes, que aps a adoo do Linux, se tornaram ainda mais flexveis para diversas finalidades. 40 33 32
www.linuxmagazine.com.br
COLUNAS
Klaus Knopper Charly Khnast 08 10
73
A especificao do boot UEFI oferece novas capacidades e novas dores de cabea tambm se o usurio no estiver preparado para isso.
SEGURANA
NOTCIAS
Geral22 Red Hat realiza a nona edio do Red Hat Summit Deteco de ataques com o Tripwire IDS O simples mas eficaz Tripwire fornece um servio discreto e silencioso, evitando que invasores infectem computadores com trojans, backdoors ou arquivos modificados, e identificando anomalias despercebidas pelo usurio. 51
CORPORATE
Notcias23 Big Data: grande potencial, grande prioridade Coluna: Jon maddog Hall Coluna: Gilberto Magalhes Coluna: Cezar Taurion 26 28 29
REDES
ANDROID
Gesto na palma da mo Conhea cinco ferramentas indispensveis para a gesto de projetos de TI e resolva seus problemas de controle de tarefas, tempo e recursos. Al? o Nagios! 45 O Nagios pode alert-lo por e-mail quando um servio falha, mas estas mensagens esto ficando no passado: uma chamada de voz mais garantida e eficiente. 57 66
TUTORIAL
Alternativa elegante Tarefas no estilo cron jobs so essenciais para a gesto de sistemas Linux e Unix. No entanto, sua sintaxe muito limitada e sujeita a erros. Um moderno substituto visa eliminar essas fraquezas.
Rede sob vigilncia Raspberry Pi aplicado a projetos do mundo real O Raspberry Pi, pouco maior que um carto de crdito, torna mais fcil adquirir experincia com sistemas embarcados Linux. Apresentamos alguns exemplos prticos de como us-lo em ambientes comuns do dia a dia. 60
48
O ngrep uma ferramenta til aos administradores de rede: separa o joio do trigo e funciona como um sniffer de pacotes trafegados.
SERVIOS
Editorial03 Emails06 70 Linux.local78 Preview82
ANLISE
Administrao Centralizada Aplicativos e processos raramente revelam o que fazem em segundo
Coluna do Alexandre
COLUNA
As penalidades sofridas pelo Google, impostas por empresas que no tem a mesma competncia e qualidade em seus servios.
d (da sia)? Eles so excelentes, tm suas vantagens, mas por que ento as pessoas continuam usando o Google? Por caridade? Ou porque, de longe, ele realmente o melhor? No paro por aqui: se algum quer disponibilizar contedo jornalstico ou informativo na Internet, provavelmente o faz porque quer compatilhar informaes, tornar-se famoso ou, ainda, porque quer ganhar dinheiro dos anunciantes, como faz qualquer meio de informao digital (jornal ou revista) nos dias de hoje. Isso no errado. Ganhar e gastar dinheiro a essncia do capitalismo. Se uma empresa (ou pessoa) no quer disponibilizar uma informao para ser acessada na Internet, ento h duas alternativas: ou no publica ou publica e cobra por isso. Quando li na maioria dos jornais e revistas, que o Google no existiria sem eles, isso me soou como uma enorme piada. Nada mais falso: o Google uma vitrine gigantesca para qualquer empresa que tem por objetivo vender seus produtos, servios ou sua informao. Sem esse mecanismo de busca, certamente o nmero de pessoas com acesso s reportagens aos artigos corporativos seria muito menor. Voltando aos primeiros anos de popularizao da Internet, antes eram os provedores que cobravam pelo acesso aos seus portais. Com o tempo, o julgamento que se estabeleceu foi que isso inibia o acesso informao por parte da populao. Ento, os mesmos provedores passaram a ganhar com os anunciantes que pagam por espao em seus sites. O Google, para manter-se em operao (o nome do jogo dinheiro), tambm cobra de qualquer empresa que deseja ter a sua marca vinculada aos resultados das pesquisas. Ateno: elas pagam porque querem. Se no for interessante, podem (e devem) procurar um outro meio para obter visibilidade. Dito isso, ser que algum ainda acha que essa incluso na indexao dos resultados deveria ser gratuita, ou seja, que o Google deveria facilitar para que milhes de pessoas cheguem ao contedo exposto pela sua empresa na Internet sem que ele ganhe nada com isso? Se houver algum que pensa isso, ento seria curioso solicitar para
12
www.linuxmagazine.com.br
que este profissional acorde cedo e v ao trabalho sem ganhar um salrio j que dinheiro no importa mesmo. De tudo isso, sempre aparece o oportunismo das pessoas e empresas: os sites de revistas e jornais franceses esto ganhando 60 milhes de euros do Google pois no so competentes e muito menos eficientes para ganhar dinheiro por si mesmos. Entretanto, continuam mantendo reas reservadas aos assinantes que pagam por isso, claro. estranho: e se o Google cobrasse da imprensa francesa para chegar aos seus sites? Sou a favor da cobrana por contedo digital informativo, j que os jornais e revistas esto ai para vender seus produtos, informar e ganhar dinheiro. minha deciso se vou pagar ou no por isso. O mesmo vai valer para o blog que vou lanar em breve: os leitores podero acessar vontade. Se o Google indexar, timo. Ele estar me ajudando. Se o Google, um dia, julgar interessante cobrar por vincular algum anunciante ao resultado que leve ao meu blog, ser uma deciso que apenas caber ao Google. Vou cobrar dele por isso? Lgico que no. Se o intuito fosse onerar algum, eu criaria uma rea restrita para assinantes e quem quisesse acessar-la, pagaria por isso. Certamente eu no estaria obrigando ningum a fazer isso. Se chegasse ao ponto de eu no querer que ningum tivesse acesso ao meu contedo, eu simplesmente no publicaria mais.
Novamente vou reforar questo: o acesso gil s informaes somente foi possvel graas ao Google. Antes disso eram as trevas e a escurido. No havia quase nada. Se o Google tivesse adotado a dura atitude de no pagar aos representantes da imprensa francesa e desindexado todo o contedo francs, aquelas informaes simplesmente quase que sumiriam do mapa. Quem perderia? O Google, claro. E como ficariam as revistas e jornais da Internet francesa? A essa altura, acho que voc j sabe a resposta. Recentemente as companhias provedoras de telefonia e Internet da Frana tambm esto agindo de maneira oportunista e esto tentando levar o seu naco do Google porque o acusam (entre outros) de explorar a banda de rede sem pagar nada. Isso estpido. Eu somente pago pelo servio de acesso Internet porque quero aprender, ler meus e-mail e usar... o Google! Se eu no tivesse acesso a esses servios, eu no assinaria um plano de Internet com nenhuma operadora. Elas j ganham muito dinheiro dos assinantes e do governo, todavia querem lucrar (de novo) em cima das empresas de Internet. Infelizmente, os amadores procuram as explicaes sobre o sucesso alheio, mas jamais buscam os motivos da prpria incompetncia. n
Alexandre Borges (linkedin: br.linkedin.com/in/aleborges) instrutor e especialista snior em sistemas operacionais Unix, Linux, Banco de Dados, Virtualizao, Cluster, Storage, Servidores, Backup, Desempenho e Segurana, alm de possuir profundo envolvimento com assuntos relacionados ao kernel Linux.
13
Coluna do Augusto
COLUNA
final do primeiro trimestre de 2013 foi marcado pelo anncio da Canonical de que sua distribuio Ubuntu substituir o tradicional X11, que oferece a infraestrutura para os ambientes grficos tpicos das distribuies Linux desde a dcada de 1990, pelo Mir, um servidor grfico cujo desenvolvimento foi recentemente iniciado pela prpria empresa. Substituir o X11 no propriamente uma novidade: desde 2010 a Canonical j anunciava a inteno de troc-lo por uma alternativa mais moderna: o Wayland, servidor grfico moderno e que, assim como o X11, um foco de desenvolvimento comunitrio. Nesse processo, a empresa j havia at mesmo oferecido apoio tcnico aos desenvolvedores dos ambientes grficos Gnome e KDE para que adaptassem seus sistemas nova alternativa. O sbito anncio do projeto prprio Mir como sucessor da adoo do Wayland, que no chegou a ser concretizada, deve ser visto no contexto das demais iniciativas que colocam a Canonical no ramo das carreiras solo, diferentemente de outras distribuies que adotam maior nmero de componentes mantidos em comunidade: o Ubuntu j divergiu no gerenciador de inicializao Upstart, no ambiente grfico Unity e, recentemente, anunciou que est criando at mesmo seus prprios componentes bsicos do ambiente operacional, como relgio, calendrio e calculadora. Tudo isso pode ser facilmente entendido ao considerar o alinhamento a uma estratgia de unificao de interfaces (representada singularmente no projeto Unity) da linha de produtos baseados no Ubuntu em plataformas to diferentes como os desktops, tablets, smartphones, televisores, videogames e o que mais estiver por vir. Mas compreender uma estratgia no significa necessariamente apreci-la, e no faltaram respostas negativas medida dissonante tomada pela Canonical para sua popular distribuio.
A primeira delas partiu dos desenvolvedores do projeto KDE, em termos bastante expressivos. Um deles, responsvel especificamente pelo gerenciador de janelas Kwin, foi a pblico para desmentir a afirmao do fundador da Canonical de que este componente do KDE teria bom suporte ao Mir: segundo ele, acrescentar este suporte tarefa nada trivial, no est nos planos e o projeto ainda aguarda o cumprimento da oferta pblica de anos atrs sobre ajuda para a criao de uma verso para a escolha anterior da Canonical, o Wayland. Poucos dias depois, do campo dos desenvolvedores do Gnome tambm surgiu uma proposta pblica mencionando o anncio da Canonical de desenvolver seu prprio componente para priorizar a adaptao de seu sistema ao Wayland, que a proposta comunitria de sucessor do X11 para ambientes baseados em Linux que se encontra mais avanada no momento. Mas essa no uma tarefa rpida, embora o que a Canonical tenha pela frente com seu Mir tambm no seja: pelo primeiro cronograma divulgado pela empresa inglesa, em outubro de 2013 estar completa a primeira fase de integrao do ambiente ao novo servidor grfico, funcionando especificamente em um aparelho telefnico (enquanto desktops tero apenas acesso a um modo legado que far a ponte com um servidor X). E a integrao completa em todos os aparelhos suportados pela Canonical est prevista para abril de 2014, considerando a previso para lanar o Ubuntu 14.04 LTS no mesmo ms. Concorrncia tem suas vantagens, mas cooperao e compartilhamento de esforos e objetivos so valores tpicos do desenvolvimento Open Source. Toro para que um ponto de equilbrio no tarde a surgir.
Augusto Csar Campos administrador de TI e, desde 1996, mantm o site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.
18
31
Mainframes
CAPA
Esta edio um marco para ns, da Linux Magazine. Atingir o marco de 100 edies, significa 100 meses de rduo trabalho, de muitas conquistas e de muito, mas muito aprendizado. Aprendizado esse que no s faz parte da nossa rotina diria, como tambm faz parte daquilo que levamos todos os meses at voc, leitor: conhecimento. E para comemorar esta simblica edio binria, trazemos at voc um pouco mais sobre as origens de tudo o que temos hoje, da computao moderna, dos dispositivos cada vez menores e mais necessrios que temos em nossas vidas. Os mainframes nasceram inovando e continuam quebrando preconceitos at os dias de hoje, pois diferentemente do que se especulava, eles no vo deixar de existir, pelo contrrio. So cada vez mais teis, velozes, robustos e to seguros quanto sempre foram. Hoje os mainframes so parte integrante dos supercomputadores mais rpidos do mundo (e entre estes temos alguns no Brasil, mencionados na edio #93 da revista, cujo tema de capa foi HPC (High Performance Computing). De posse da tecnologia oriunda dos mainframes foram criados os computadores pessoais, desktops que antigamente ainda eram grandes fisicamente, e que assim, deram origem aos computadores portteis, smartphones, nano tecnologia... Tente imaginar o mundo sem o seu carssimo smartphone, sem seu querido notebook, seu o seu primeiro desktop. Ou ento tente imaginar o mundo sem nenhuma tecnologia computadorizada. mais ou menos esse o cenrio da vida sem a existncia dos mainframes. Desde 1880 quando foram criados os sistemas de cartes perfurados por Herman Hollerith (e que se tornou a base
32
para o primeiro computador de grande porte em 1964) que vemos a tecnologia revolucionar o mercado diariamente. Hoje os mainframes possuem propsitos mais nobres: realizam clculos para previso de desastres naturais como abalos ssmicos, tsunamis etc., fazem previses do tempo, clculos matemticos complexos para os diversos projetos da NASA, calculam com base em dados geogrficos, de terreno e geolocalizao os melhores locais para perfuraes de petrleo e ajudam em previses e processamentos de uma quantidade de dados em to poucos segundos que at rdiculo baseado nos anos que um computador comum levaria para realizar 10% das mesmas tarefas. O Brasil continua figurando no topo da lista dos principais pases a utilizarem-se amplamente dos benefcios dos mainframes. Muitas empresas privadas do Pas ainda utilizam essas incrveis mquinas para diversos fins e certo que esse mercado s tende a crescer, principalmente no que tange virtualizao e computao em nuvem. Caso voc no saiba, desde 1967 os mainframes possuem hypervisors (o primeiro tendo sido construdo pela IBM e batizado de CP-67) o que garante uma excelncia no assunto virtualizao que mesmo os sistemas mais modernos no superam. Enfim, o espao curto e h muito o que h para falar sobre o assunto. Una-se a ns nesta edio comemorativa e que est recheada de passado e presente! Boa leitura! n
Matrias de capa O poder da virtualizao nos mainframes Linux no System z: a revoluo 33 40
www.linuxmagazine.com.br
Agendador de tarefas
Alternativa elegante
Tarefas no estilo cron jobs so essenciais para a gesto de sistemas Linux e Unix. No entanto, sua sintaxe muito limitada e sujeita a erros. Um moderno substituto visa eliminar essas fraquezas. por Oliver Frommel
TUTORIAL
ma das muitas heranas do Unix (desde o Unix V7, para sermos mais exatos) o servio de agendamento de tarefas cron, que ainda hoje executa trabalhos regulares no Linux e sistemas BSD. Embora algumas alternativas para esta ferramenta j tenham sido desenvolvidas, como o fcron [1] e o anacron [2], o princpio em si sofreu poucas alteraes. Richard W.M. Jones, programador da Red Hat, acabou rompendo com
a tradio e chegou a uma alternativa nova um projeto chamado Whenjobs. Basicamente, o Whenjobs [3] oferece duas vantagens para o cron: sintaxe mais simples para definir as tarefas e tempos de execuo, e um sistema que permite aos usurios definir as dependncias entre as tarefas. Pacotes Whenjobs pr-compilados j esto disponveis para o Fedora 17, mas usurios de outras distribuies tero que construir a ferramenta eles
mesmos. Para instalar, basta acessar o Whenjobs do repositrio Git. No entanto, mais fcil baixar o ltimo arquivo tar, se o usurio no quiser entrar em uma batalha com o autoconf e o automake. Como o Whenjobs escrito na linguagem de programao funcional Ocaml, precisaremos do compilador correspondente e de alguns pacotes. Podemos instal-los com os seguintes comandos, por exemplo, no Ubuntu 12.10:
sudo apt-get install ocaml ocamlfindlib libcalendar-ocaml libcalendarocaml-dev camlp4-extra libocamlnet-ocaml-bin
O comando ./configure inicia a etapa de configurao, que informa se todos os pacotes necessrios esto instalados. Durante o teste, vimos o seguinte erro quando executamos make: error: Unbound value XDR.safe_add. Resolvemos isso excluindo os arquivos gerados lib/ whenproto_aux.ml e lib/whenproto_aux. mli. Executar o comando make instala o Whenjobs globalmente no sistema.
Quando iniciado com a opo -help, o Whenjobs gera uma curta mensagem de ajuda, listando
57
novas tarefas com o Whenjobs, dependendo de certas condies. A sintaxe para isso :
when <condition> : <jobcode>
Por exemplo, a funo de alterao no Whenjobs permite que o usurio monitore quando uma varivel muda. Usando as variveis acima, podemos formular, assim, uma condio como se free_space mudar e se o valor for inferior a 10.000 (blocos):
when changes free_space && free_space < 100000 :
Figura 2 Quando iniciamos o Whenjobs pela primeira vez, ele vem com uma
tarefa de exemplo que exibe um breve texto de ajuda.
opes e parmetros disponveis ( figura 1 ). O comando whenjobs -e informa ao programa que deve iniciar um editor, que vem com um arquivo Whenjobs, embora contenha apenas um comentrio (figura 2). O editor mostrado na figura, ilustra que este deve ser o arquivo .$HOME/whenjobs/jobs.ml. No caso de erros de sintaxe no arquivo de tarefas, o Whenjobs no muito til; na verdade, ele simplesmente envia uma mensagem de erro ao compilador, embora ainda salve o arquivo mesmo com erros. Ao invs de um arquivo, tambm podemos armazenar vrios arquivos com a extenso .ml em .whenjobs; no entanto, precisaremos edit-los manualmente. Alm disso, os nomes de arquivo tm de obedecer a regras da linguagem Ocaml; por exemplo, eles no podem conter hfens. Os princpios bsicos dos arquivos Whenjobs so explicados nos trechos de comentrio. Os comentrios iniciam e terminam com um asterisco (*) esta uma dica sutil de que os prprios arquivos Whenjobs so arquivos Ocaml no entanto, normalmente no precisamos nos preocupar com a linguagem de programao
quando utilizamos o Whenjobs. Uma medida de tempo comea com cada palavra-chave e termina com dois pontos, por exemplo:
every 10 minutes:
Os caracteres << apresentam um bloco de comandos Shell, que so ento encerrados pelos caracteres >>.
Variveis
O exemplo no comentrio da figura 2 ilustra alguns recursos do Whenjobs, como a definio de variveis. Para fazer isso, a ferramenta oferece a opo --set, que podemos estender, indicando o tipo de varivel (-type). O cdigo a seguir, executa primeiro o comando stat e atribui os resultados varivel Shell livre. A segunda linha l esta varivel e a atribui varivel free_space do Whenjobs como um inteiro; este ltimo estar ento disponvel para outras tarefas.
free=`stat -f -c %b /home` whenjobs --set --type int free_ space=$free
Para que isso funcione, o daemon do Whenjobs (whenjobsd) deve estar em execuo; ele armazena as variveis e executa as tarefas. Ele pode ser iniciado usando a interface do Whenjobs e a opo --daemon-start. Alternativamente, tambm podemos iniciar o whenjobsd diretamente; e ento, usar a opo -f para evitar que o daemon execute em segundo plano, e a opo -d para ativar as mensagens de depurao. O comando whenjobs --variables informa a ferramenta para obter a lista de variveis armazenadas atualmente. Se no quiser uma alterao em uma varivel para desencadear uma mudana de evento, tambm podemos definir a opo --whisper:
whenjobs --set free_space=0 -whisper
O Whenjobs mostra quais tarefas esto ativas quando estipulamos o parmetro --jobs e quais so carregadas quando usamos o parmetro --jobs-names. Podemos definir o nome acrescentando-o antes da linha que comea com um when ou every:
job "disk monitoring" every 15 minutes :
Podemos executar tarefas individuais manualmente digitando whenjobs --start jobname. Tarefas
58
www.linuxmagazine.com.br
ativas podem ser canceladas com whenjobs --cancel <number> e digitar whenjobs --tail <number> ir mostrar a sada de uma tarefa ativa.
Prova do milnio
Quando se trata de definir horrios para tarefas agendadas, a ferramenta oferece uma vasta gama de opes: segundo, minuto, hora, dia, semana, ms, ano e at mesmo dcada, sculo e milnio. Estas opes podem ser todas combinadas com um nmero: por exemplo, cada hora executa um script uma vez por hora, e cada 15 minutos executa um script a cada 15 minutos.
O Whenjobs tambm oferece uma riqueza de expresses: elas podem estar ligadas por operadores (&&) e/ou (| |) e tambm negadas. Comparaes de duas expresses com vrias combinaes de maior que, menor que e igual podem ser numricas ou baseadas em comparaes de strings. Outras funes internas podem comparar variveis com valores anteriores ou determinar se um valor aumentou ou diminuiu. Alm disso, os usurios podem programar expresses prprias na linguagem Ocaml. Mais informaes sobre isso esto disponveis em detalhes no manual fornecido pela ferramenta.
Maduro
O Whenjobs foi desenvolvido como um projeto particular de Jones e como um substituto para o cron. Oferece sintaxe mais simples e suporta dependncias entre tarefas. Em um post, Jones indica expressamente que este um projeto privado e no planejado como um substituto para o sistema cron padro usado pelo Fedora ou pela Red Hat. No entanto, ele no usa a tarefa para compilaes automatizadas de ferramentas de virtualizao da Red Hat, demonstrando assim sua capacidade para uso em produo. n
Mais informaes
[1] Fcron de Matija Suklje, Linux Magazine, Janeiro de 2010, pg. 48. [2] Anacron: http://anacron.sourceforge.net [3] Whenjobs: http://people.redhat.com/~rjones/whenjobs/
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8313
Contedo do kit:
1 livro contendo o guia de estudos para a certi cao LPI-1 ou 2 Curso preparatrio intensivo 2 provas para certi cao LPI-1 ou LPI-2: Exames 101/102 ou Exames 201/202
Linux Magazine #100 | Maro de 2013 Para aquisio e mais informaes: https://www.linuxnewmedia.com.br/lm/certi cacao_ sl14
0 ,0 ,33 0 8 65 10 $ $ r R e R ros u Po xd mj 6 e 59 ou s
TUTORIAL| Raspberry Pi
Raspberry Pi
TUTORIAL
engenheiro britnico Eben Upton e uma equipe de hackers de hardware comearam o projeto Raspberry Pi como um meio de fornecer tecnologia de computador acessvel para jovens interessados no assunto [1]. O objetivo era desenvolver e comercializar um computador de placa nica, do tamanho aproximado de um carto de crdito e compatvel com o oramento apertado do pblico alvo (quadro 1). Se o usurio estiver lembrado dos primeiros computadores domsticos, no se sentir completamente por fora do assunto: a inteno fundamental dos criadores era reocupar pores, garagens e salas de aula com o esprito de uma gerao que cresceu com o Atari 400/800, ZX80/81 ou VC20/C64.
Quase um ano depois de surgir o Raspberry Pi, apropriado olharmos para trs e analisarmos o que aconteceu entre a primeira srie de cerca de 10 mil peas e a situao atual de aproximadamente 1 milho de unidades entregues: qual teria sido a razo de sucesso do projeto? Quais capacidades o hardware oferece? O que possvel e o que no (ainda) possvel fazer com o sistema? Este artigo explora o Raspberry Pi atravs de trs projetos do mundo real: Um multimidia, de sistema de reproduo de vdeo, Um ponto de acesso sem fio, e Uma unidade embarcada de controle de temperatura. O primeiro projeto um exemplo do sistema Raspberry Pi servindo como um substituto para um desktop padro.
Os dois ltimos exemplos mostram o Raspberry Pi como um sistema embarcado e que exigiro um pouco de conhecimento de programao, mas, tambm, ressaltam a versatilidade deste poderoso minicomputador. Talvez todos os trs exemplos ajudam a mentalizar outros projetos faa voc mesmo (de do it yourself ou DIY) que podemos criar com um Raspberry Pi prprio.
Lista de compras
Originalmente, os designers haviam previsto um modelo A e B, que diferem principalmente no nmero de portas USB (uma ou duas), na disponibilidade de uma porta Ethernet, e, evidentemente, no preo (de 25 a 35 dlares, nos Estados Unidos). A esta altura, apenas o modelo B est disponvel. Veja a tabela 1 para um resumo
Quadro 1: Histria
Em 2006, Eben Upton e sua equipe desenvolveram os primeiros conceitos para o Raspberry Pi, baseados no Atmel ATmega. A ideia de atrair jovens interessados no minicomputador j fazia parte do programa. Em 2009, os membros oficialmente estabeleceram a Raspberry Pi Foundation. Em agosto de 2011, a srie alpha de aproximadamente 50 placas deixou a produo. Elas serviram principalmente como uma plataforma para desenvolvedores, para depurao e para fins de demonstrao. Em dezembro de 2011, foi a vez da srie de 25 placas beta, j baseada no layout de produo. Os desenvolvedores eliminaram as ltimas falhas. Em um leilo online em janeiro de 2012, 10 placas desta srie beta foram vendidas por um total de 16.336 libras no Reino Unido. Em 29 de fevereiro de 2012, s 7 horas (horrio da Europa Central), os servidores web da fundao e duas distribuidoras foram sobrecarregadas em poucos minutos pela tempestade de pedidos. Muitos clientes esperaram durante horas para submeter uma pr-encomenda.
60
www.linuxmagazine.com.br
Raspberry Pi | TUTORIAL
dos componentes do Raspberry Pi. Para obter o Raspberry Pi (ou RasPi, abreviadamente) instalado e funcionando, precisamos fazer uma lista dos componentes bsicos. A Internet possui ainda mais dicas sobre operaes avanadas [2] [3]. Atualmente, apenas dois distribuidores globais tm a placa em catlogo [4] [5]. Embora a entrega de alguns meses no fosse incomum no primeiro trimestre de 2012, agora o usurio geralmente s precisa aguardar algumas semanas. Alm da placa, o usurio precisar dos seguintes componentes: Uma fonte de alimentao USB com nada menos do que 700mA. Se desejar um hardware com fonte adicional atravs de USB, deve planejar pelo menos 1 amp. Um carto SD (HC) com pelo menos 2GB de capacidade; no entanto, 4GB seria melhor. Dependendo do que o usurio pretende fazer, ainda assim pode no ser suficiente. Como o sistema est tambm alojada no carto SD, aconselhvel escolher um carto com boa leitura e velocidade de escrita. Para acesso sem fio, um adaptador WLAN na forma de um pendrive (stick USB) seria prtico. Mas, na prtica, um adaptador WLAN USB muitas vezes um fator significativo no consumo de energia. Se estiver pensando em usar um adaptador USB, verifique se o driver
Componente: Tipo: SoC CPU GPU RAM Ports USB Ethernet SD/MMC Audio Video 2 x USB 2.0 1 x 10/100 Mbps 1 x slot 1 x stereo analog out
suportado e escolha um design enxuto (slim) que no bloqueie a segunda porta USB. Tendo em vista o baixo nmero de portas USB, investir em um teclado e em um mouse sem fio valeria a pena tambm para poupar a carga desnecessria sobre os recursos limitados do adaptador de energia USB. Alm destes itens, o usurio tambm precisar de cabos diversos, tais como HDMI ou Ethernet, dependendo do uso planejado para o dispositivo. No que se refere ao cabo HDMI, quanto menor, melhor. O usurio tem a opo de aumentar a sada do driver, mas isso tambm aumenta o consumo de energia. Se estiver pensando em ouvir msica ou assistir a vdeos, tambm ir precisar de fones de ouvido ou alto-falantes. O terceiro projeto (um controlador de temperatura embarcado) usa uma placa de expanso que requer um hardware adicional [6].
sistema consistindo de uma partio de boot de 60MB e um sistema de arquivos root em torno de 2GB. Descompacte o arquivo e mova-o para um carto SD com o seguinte comando:
$ sudo dd bs=1M if=2012-08-16-wheezy-raspbian.img of=SD_card_device_filename
Primeiros passos
Uma distribuio Linux baseada em Debian conhecida como Raspbian adaptada para o servio como um sistema operacional on-board para Raspberry Pi. A Raspberry Pi Foundation recomenda o Raspbian Wheezy [7], ltima verso lanada, utilizada neste artigo. Comece fazendo o download do arquivo de imagem Raspbian Wheezy, que uma imagem completa do
Agora, conecte o carto SD, teclado, mouse e monitor para o sistema Raspberry Pi e inicialize, ligando a fonte de alimentao USB. O menu de configurao aparece, e se o usurio no estiver usando um teclado padro em ingls, seria melhor primeiro alterar as configuraes nos itens do menu configure-keyboard e change_locale para o teclado e idioma preferidos; caso contrrio, ir encontrar problemas assim que for solicitado o login. O nome de usurio padro pi; a senha raspberry. Outros itens de menu teis incluem change_timezone, para definir o fuso horrio correto; ssh para permitir o acesso seguro ao terminal via rede; e expand_rootfs, para alterar o tamanho do sistema de arquivos root de 2GB para o tamanho real do carto SD. Finalmente, devemos atualizar o sistema no modo Debian tpico:
$ sudo apt-get update $ sudo apt-get upgrade
Broadcom BCM2835 (system on chip) ARM1176JZF-S, 700 MHz Broadcom VideoCore IV (OpenGL ES 2.0, OpenVG, 1080p30, H.264 alto nvel de codificao/decodificao) 512MB of RAM
TUTORIAL| Raspberry Pi
a prpria biblioteca do programa da Broadcom (encontrado em /opt/vc). Atualmente, o nico que faz isso o programa de linha de comando pr-instalado omxplayer [8]. Se possvel, simplesmente monte o diretrio que contm os arquivos na rede. O NFS oferece acesso mais rpido coleo de vdeos, mas o SSHFS menos complicado. Os pacotes apropriados esto instalados, como mostrado na listagem 1. O usurio, ento, inicia a reproduo com o comando omxplayer <File>. Depois de um curto soluo de imagem e som, o software fez o teste de vdeo em HD em formato 720p com udio Dolby Digital 5.1 claro, misturando at dois canais sem qualquer problema. E isso tudo do que se trata o espartano Omxplayer. O programa demonstra capacidades impressionantes para decodificao de udio e vdeo, mas nada mais. H tambm duas desvantagens extras: a biblioteca de vdeo mencionada
acima no um software de cdigo aberto, e necessrio adquirir licenas para os formatos MPEG-2 e VC-1. O consumo de energia, por outro lado, surpreendentemente baixo: a carga mdia durante a renderizao do vdeo em HD era de apenas 3.8 watts, apesar da rdua tarefa de transmisso atravs da rede. Os programas Omxplayer, SSH e SSHFS criam a maior carga para CPU e memria, enquanto o player reivindica a maior parte para si. No entanto, se o usurio quiser reproduzir vdeo em HD com 1080i ou 1080p, vale a pena conectar o drive de rede via NFS.
Sistemas embarcados
O segundo e terceiro projetos empregam o Raspberry Pi como um sistema embarcado em uma rede - sem um teclado, mouse ou monitor, mas com acesso LAN/WLAN. Neste tipo de sistema, podemos ler as mensagens iniciadas com um terminal na porta serial. Se ocorrer um erro na configurao de rede, no ser possvel acessar o sistema atravs do SSH, logo, conectar-se diretamente atravs de um monitor e teclado a nica maneira de logar no sistema e corrigir o erro. Por esse motivo, o usurio faria bem em ativar a interface serial (quadro 2). O acesso com SSH atravs da rede deve ser sempre a primeira escolha; o acesso via interface serial deve ser
usado apenas como uma porta de fundo para emergncias. O prximo passo na construo do sistema embarcado a configurao de uma conexo de rede; neste exemplo, vamos conectar atravs de uma WLAN. A instalao padro do Raspbian j contm os pacotes de firmware dos sticks WLAN populares, bem como do programa cliente wpa_supplicant. Para ver se a stick WLAN est ativa, conecte o hardware e pesquise a reao correspondente do kernel no syslog. Agora, a nica coisa que resta a fazer configurar o wpa_supplicant para um ponto de acesso. Em uma rede com um servidor DHCP no roteador, encontraremos os dados essenciais no relatrio fornecido pelo comando iwlist scanning. O usurio modifica, ento, a configurao do arquivo
/etc/wpa_supplicant/wpa_supplicant. conf, como mostrado na listagem 2, e /etc/network/interfaces, como mostra-
62
www.linuxmagazine.com.br
Raspberry Pi | TUTORIAL
Configure o ponto de acesso WLAN em trs etapas: primeiro, insira a seguinte linha no /etc/default/hostap:
DAEMON_CONF=/etc/hostapd/hostapd. conf
configurao chamada de modo bridge (bridged mode). Desta forma, podemos aumentar o alcance de uma rede sem fio existente. A configurao realizada em duas etapas. Na primeira, devemos configurar o acesso direto WLAN com o daemon hostapd. No entanto, note que o hostapd no totalmente compatvel com todas os WLAN sticks. Procure na Internet por uma lista de hardwares suportados [9]. Na segunda etapa, precisamos configurar
Em seguida, adicione os contedos da listagem 4 para o arquivo /etc/hostapd/hostapd.conf, modificando-o para se ajustar ao ambiente local, se necessrio. Um exemplo de configurao para o arquivo /etc/network/interfaces encontrado na listagem 5. A listagem 6 mostra como iniciar o ponto de acesso e a ponte de rede (network bridge). O consumo de energia menor com a operao LAN. Dependendo da distncia entre as estaes WLAN e do volume de dados transferidos, o consumo de energia para um cliente WLAN ou ponto de acesso flutuou entre 3.3 e 3.8 watts, enquanto que em funcionamento de rede local (LAN),
o consumo foi de cerca de 2.9 watts. Se ambas as interfaces fossem ativas, o valor estaria entre 3.5 e 4 watts.
Figura 2 Raspberry Pi operando como um ponto de acesso - com um consumo de energia de apenas 3.5 Watts.
63
TUTORIAL| Raspberry Pi
ratura cclicas de um ambiente e, dependendo do valor, sinaliza os resultados visualmente com dois LEDs. Em temperaturas acima de 25 graus Celsius, o controlador aciona o LED vermelho; a menos de 22 graus Celsius, aciona o LED verde. Ambas as luzes so acionadas a valores entre estes dois extremos (figura 3). Este projeto, claro, destina-se a um experimento de prova de conceito. Em uma implementao do mundo real, o controlador pode conduzir a alguma outra ao, como iniciar um aquecedor ou fechar as cortinas, em vez de simplesmente acionar um LED. A unidade de temperatura do controlador requer um hardware adicional ocupando uma placa de expanso separada. Vamos precisar das seguintes peas: o LM75 IC como sensor de temperatura e o MAX-3232CPE IC, incluindo quatro capacitores eletrolticos 0.47F, como transceptores para a interface serial (UART), juntamente com um conector de nove pinos D-sub ou um soquete para montagem PCB e um cabo de interface. Alm disso, precisaremos tambm de dois LEDs, vermelho e verde, cada um com um resistor em srie de 22 e um transistor NPN (por exemplo, o
64
BC237) como driver, bem como duas resistncias de 10k para o barramento I2C. Materiais diversos, como uma placa de montagem (breadboard), filtro de linha, cabo de fita plana (flat-ribbon cable) e capacitores de desacoplamento serviro como base. O popular mdulo LM75 serve como sensor de temperatura e conectado ao barramento I2C. A mquina controla os dois LEDs atravs de dois pinos GPIO e uma fase de transistor. A fiao simples podemos usar um modelo que encontrarmos na Internet. Na verdade, o SoC possui duas interfaces mestres no barramento I2C, cuja sada tambm encontrada no syslog, mas somente uma das duas est disponvel no cabealho de linha dupla (P1-03 e P1-05) a que possui o barramento ID 0 (bus-ID 0). Podemos ativar o barramento I2C instalando os dois drivers i2c-bcm2708 e i2c-dev. Para fazer isso, remova o driver i2c-bcm2708 da lista de drivers que no devem ser carregados em /etc/modprobe.d/raspiblacklist. conf. Podemos tambm especificar o driver i2c-dev, que cria a interface do dispositivo no diretrio /dev, em /etc/modules.
O barramento estar ativo uma vez que o sistema for reiniciado. Para ativ-lo sem reiniciar, execute o comando modprobe i2c-bcm2708 I2C-dev. Para realizar operaes no barramento I2C como um usurio normal, primeiro precisamos instalar algumas ferramentas correspondentes e definir as permisses de grupo:
$ sudo apt-get install i2c-tools $ sudo addgroup pi i2c
Os endereos onde os mdulos se encontram revelado pelos valores encontrados na sada retornada por
www.linuxmagazine.com.br
Raspberry Pi | TUTORIAL
O usurio ter que fornecer o script com as permisses necessrias para execuo. Aps a inicializao, ele ir continuamente dispor os valores medidos no console a cada atualizao dos LEDs.
Concluso
de temperatura. A luz verde na placa de expanso confirma que a temperatura est abaixo de 22 graus Celsius.
i2cdetect -y 0
Dependendo de como foram cabeados os trs pinos do LM75, a sada ir conter exatamente um valor na faixa hexadecimal de 0x48 a 0x4F. O usurio, ento, ir ler a palavra de temperatura de 2 bytes do LM75 no registro de endereo 0 com o comando:
$ i2cget -y 0 I2C bus_address register_address w
sas. Os LEDs vermelho e verde so GPIO23/GPIO24, de acordo com o cabealho, mas tambm esto conectados ao P1-16/P1-18. A primeira denominao corresponde documentao BCM2835 e aos valores do kernel. No entanto, as bibliotecas Python seguem a segunda nomenclatura.
O Raspberry Pi no , obviamente, um sistema desktop. Se utilizar o terminal parecer algo muito estranho e enigmtico para o usurio, comece no desktop e trabalhe o caminho para a linha de comando de forma gradual. Desde o princpio, o RasPi foi concebido como um PC com eficincia energtica para aplicativos multimdia, e claramente destinado para uso como um sistema embarcado. n
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8388
Mais informaes
[1] Raspberry Pi: http://www.raspberrypi.org/ [2] Guia de compra de hardware: http://elinux.org/RPi_ Hardware_Basic_Setup_#Typical_Hardware_You_Will_Need [3] Mais ajuda ao escolher hardware: http:// elinux.org/RPi_VerifiedPeripherals [4] Farnell element14 (Europa) / Newark element14 (Amrica do Norte): http://uk.farnell.com http://www.newark.com [5] RS Components (Inglaterra) / Allied Electronics (Amrica do Norte): http://uk.rs-online.com http://www.alliedelec.com [6] Para respostas a questes: http://elinux.org/RaspberryPiBoard [7] Raspbian Wheezy: http://www.raspbian.org/ [8] Reprodutor de udio/vdeo Omxplayer: https:// github.com/huceke/omxplayer/ [9] Hostapd: http://hostap.epitest.fi/hostapd/ [10] API Quick2Wire Python: https://github.com/ quick2wire/quick2wire-python-api [11] GPIO Admin: https://github.com/quick2wire/quick2wire-gpio-admin
A ficha de dados do mdulo ser uma ajuda para a converso do valor crptico retornado (exemplo: 0x8015) para a temperatura correspondente. Python um ambiente de software adequado para o controlador, desde que as bibliotecas de classe j existam para o Raspberry Pi para acessar o barramento I2C e os pinos GPIO. Este exemplo usou duas bibliotecas [10] [11]. A listagem 7 mostra a instalao dos pacotes e bibliotecas. O programa em si muito simples (listagem 8): ele l o valor do sensor (linha 15) em um ciclo de cinco segundos e converte a leitura do sensor para o valor da temperatura (linha 16). O programa ento aciona os dois LEDs para ligado ou desligado, de acordo com a inteno do usurio. As diferentes designaes para os pinos GPIO so um pouco confu-
65
ANDROID
Gesto na palma da mo
Conhea cinco ferramentas indispensveis para a gesto de projetos de TI e resolva seus problemas de controle de tarefas, tempo e recursos. por Flvia Jobstraibizer
erentes de projeto, gestores de TI e outros profissionais que diariamente necessitam ter o controle total do andamento das tarefas de suas equipes sofrem com a falta de aplicativos especficos para este fim e que funcionem corretamente em dispositivos mveis. A mobilidade trouxe com ela inmeras vantagens e entre elas, a principal manter o controle sobre tudo o que est sob nossa responsabilidade, de qualquer lugar. Mas para que isso acontea, necessrio que o aplicativo utilizado, fornea os recursos necessrios para garantir nossa tranquilidade. O Android j famoso por possuir uma infinidade de softwares em seu
rico acervo. E softwares de gesto e gerenciamento de projetos no so excesso. No entanto, testar cada um deles pode demandar tempo, o que, muitas vezes, um escasso recurso. Neste artigo vou apresentar cinco ferramentas que, como gerente de projetos, testei pessoalmente e obtive minhas impresses a respeito de cada uma, com suas particularidades, prs e contras. Todas as ferramentas so gratuitas e podem ser baixadas no site do Google Play [1].
Thorsten Kramer, decidiu criar o aplicativo em vrios mdulos instalveis, um para cada necessidade. Existe, alm do Project Schedule que o gerenciador de projetos em si, o Project Schedule Office, que um pacote de ferramentas para escritrio no estilo LibreOffice, o Project Schedule Contacts que cuida de forma completa dos recursos humanos dos projetos e o Project Schedule PDF Export, que muito til para compartilhamento
66
www.linuxmagazine.com.br
do calendrio e dos grficos com os colaboradores ou clientes. Todas as ferramentas so integradas entre si aps instaladas individualmente, e no so dependentes umas das outras. O Project Schedule na verso paga que custa R$15,00 (e que particularmente comprei por conta da utilidade do programa), possui de diferenciais apenas o fato de no exibir banners de propagandas, j vem com o PDF Export completo que exporta os diagramas de
Gantt, listas de tarefas, custos e sobrecargas de trabalho e exporta tambm os dados em formato de planilha. Na verso gratuita h todos os recursos necessrios para qualquer gerente de projeto: possvel criar e
gerenciar mltiplos projetos, carregar informaes a partir de arquivos CSV, XLS, XML etc., visualizar tarefas sob diversas formas: por tempo, por recurso, por hora etc (gura 1). A incluso de novas tarefas tambm bastante facilitada (gura 2), com recursos como incluso de horrios, incio e fim da tarefa, colaborador/contato (que pode vir do mdulo externo ou ser cadastrado manualmente) e outros recursos.
67
A visualizao do projeto e tarefas no tablet tambm bastante rica em detalhes (figura 3). O programa merece crditos no momento da escolha de um gerenciador de projetos simples e objetivo.
tarefas, gerenciador de pessoas, leitura e resposta de mensagens trocadas entre os colaboradores do projeto, criao e acompanhamento de milestones e outros recursos ( figura 7).
AceProject
O AceProject outro projeto promissor. Utilizei a ferramenta durante muito tempo e sem dvida nenhuma ela no deixa nada a desejar frente a seus concorrentes. A interface o que primeiro conquista o usurio, pois extremamente amigvel. Possui boa acessbilidade: todos os recursos so fceis de serem encontrados (figura 8). Possui capacidade para gerenciar mltiplos projetos de forma clara e
Teamwork PM
O aplicativo TeamworkPM, criado pela empresa homnima e que especializada somente em produtos e solues para gesto de projetos, est maduro o suficiente para ser usado profissionalmente ( figura 6). Possui recursos como: mltiplos projetos, incluso rpida de
68
www.linuxmagazine.com.br
objetiva, mostrando o andamento e prioridade de cada um (figura 9). A gesto do tempo de cada tarefa tambm um diferencial: ela possui informaes muito completas sobre o tempo gasto (ou decorrido at ento), o status da tarefa no momento e outras informaes que podem ser visualizadas em formato de lista, calendrio ou grfico de Gantt (figura 10).
sendo o principal diferencial a possibilidade de medir o desempenho de um determinado colaborador, o que pode ser til para projetos onde os recursos humanos recebem o pagamento sob a forma de valores por hora (figura 11). Uma rea dedicada s notas do projeto tambm outro ponto de destaque, pois facilita a visualizao dos comentrios e apontamentos enviados pelos membros do projeto (figura 12). Assim como seus similares, o LiquidPlanner gerencia mltiplos projetos e contatos, possui visualizao de tarefas individuais, clonagem de tarefas e atribuio de uma mesma tarefa para vrios contatos, rea para troca de documentos anexados e outros recursos. Vale a pena experiment-lo.
Concluso
H ainda muitos outros bons aplicativos no Google Play criados para facilitar o dia a dia dos gerentes de projetos. Cada um possui particularidades que podem ser teis para alguns projetos e pessoas, ou irrelevantes para pequenos projetos pessoais. necessrio uma boa dose de pacincia para encontrar aquele que mais adequado ao seu caso, afinal de contas, a ideia principal deixar que o software trabalhe para ns e no o contrrio!
LiquidPlanner
Um aplicativo completo e amigvel. Este o resumo do LiquidPlanner, que possui alguns diferenciais frente aos seus outros concorrentes,
Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8469
O autor
Flvia Jobstraibizer (fjobs@linuxnewmedia.com.br, twitter: @aviajobs) gerente de projetos e analista de sistemas. Trabalha com TI desde 1998 tendo atuado em multinacionais e empresas de diversos segmentos, trabalhando com tecnologias livres e proprietrias. Atualmente editora-chefe das revistas Linux Magazine, Admin Magazine e ct.
Mais informaes
[1] Google Play: https:// play.google.com/
69
ANLISE
lgumas coisas das quais nunca devemos esquecer: primeiro carro primeiro computador primeiro beijo No entanto, uma destas primeiras coisas no deve ser um borked (termo usado para algo que foi destrudo ou no funciona corretamente) [1] das parties do novo laptop. Infelizmente, algumas pessoas passam por essa experincia, especialmente quando displicentes ao instalar o Kubuntu 12.04 em modo dual-boot com o Windows 7. A principal razo de problemas geralmente porque o Windows 7 original pr-instalado estava configurado para usar o novo recurso de boot UEFI, e o Linux novo, adicionado posteriormente, no tinha essa capacidade.
Record (MBR) e composto pelos primeiros 512 bytes de incio do disco, onde esto descritos no apenas o layout do disco (suas parties), como tambm a forma de iniciar o (ou os) sistema operacional. O MBR mudou um pouco ao longo dos anos, mas no radicalmente to diferente de quando foi criado, em 1983. O MBR contm quatro parties primrias, onde uma delas definida como partio ativa ou inicializvel. Juntamente com uma lista das parties e contm um pequeno carregador de boot (bootloader) (de aproximadamente 440 bytes) para carregar o sistema operacional. Este bootloader encontra a partio ativa e ento executa o Volume Boot Record (o primeiro setor da partio), que continuar o processo de carregamento do sistema operacional. O MBR possui algumas limitaes que tm impedido seu progresso. Duas dessas limitaes so o fato de o nmero de parties primrias ser limitada a quatro, e o tamanho das parties de disco ser limitada a 2TB. Estes limites no eram um problema quando surgiu a primeira implementao do MBR, mas agora que possvel comprar um drive USB de 3TB por
menos de R$300, estas questes se tornaram mais visveis. Os especialistas tm reconhecido a necessidade de romper com o passado e produzir um moderno firmware independente do sistema operacional e com suporte para inicializar a partir de discos de grandes dimenses, bem como em um ambiente sem sistema operacional de forma flexvel, com capacidade de rede e design modular. A interface de firmware estendida (Extended Firmware Interface) da Intel o resultado desse esforo. Uma organizao de toda a indstria foi formada em 2005 para promover a adoo da especificao EFI, e a especificao foi ento renomeada de Unified EFI (UEFI) [2].
73
Este sistema de arquivos possui geralmente entre 200MB e 500MB e formatado como FAT32. Em vez de alguns bytes de cdigo de montagem para carregar o sistema operacional, cada sistema instalado deve possuir um bootloader prprio (como por exemplo, no caso do Grub: grubx64. efi). Este bootloader ter lgica o suficiente para exibir algum tipo de menu de boot ou iniciar o carregamento de um sistema operacional. Basicamente, a UEFI o prprio mini-sistema operacional. A UEFI tem deixado de lado a antiga metodologia de partio MBR e, ao invs dela, utiliza o GPT (GUID Partition Table) para gerenciar tabelas de partio. Usar o GPT elimina a limitao no nmero de parties e tambm garante o suporte para parties maiores de at 9ZB [3]. A partio GPT parte do padro UEFI, mas limitada a apenas uma lista de parties sem nenhuma lgica de bootloader. A especificao permite um nmero quase ilimitado de parties, mas implementaes especficas podem impor limites mais prticos (o Windows, por exemplo, limita o nmero de parties a 128 [4]). Como o MBR, a UEFI marca uma das parties como ativa, mas esta apenas a partio EFI, nunca qualquer uma das parties do sistema operacional. A estrutura geral do sistema de arquivos EFI significa que cada sistema operacional (ou fornecedor) tem seu prprio diretrio. Este diretrio pode conter quaisquer dados e tambm todos os arquivos necessrios para carregar o sistema operacional:
/EFI /Boot /Microsoft/ /ubuntu /refind
Alguns diretrios possuem uma hierarquia bastante horizontalizada, enquanto outros (por exemplo, os da
Microsoft [5]), no. Os programas bootloader, por padro, possuem a extenso .efi; no entanto, esta apenas uma conveno: arquivos bootloader so devidamente criados e executados quando necessrio mesmo sem essa extenso. Olhar para a estrutura de diretrio EFI oferece a esperana de que, com a prxima instalao ou reinstalao, outro sistema operacional Microsoft no ir sobrescrever nossa instalao Linux atual, mas no tentamos isso ainda. Uma coisa especialmente conveniente sobre como a UEFI foi implementada no Linux que, aps o computador ser iniciado, a partio EFI, pelo menos no Kubuntu, montada sobre a partio de boot (/boot/ efi), o que torna fcil mudar ou experimentar este sistema de arquivos. Levando isso um passo adiante, no entanto, um bootloader apenas um programa que executa a operao de carregamento do sistema operacional. E se este programa fosse um Shell? Um Shell com habilidade UEFI permitiria que o usurio interagisse com o sistema UEFI para modificar os parmetros de boot, iniciasse bootloaders e obtesse informaes sobre o ambiente de firmware. Shells para EFI j existem mas o usurio no precisa se contentar com qualquer Shell que tenha sido enviado com sua instalao UEFI: ao invs disso, pode obter um novo ou escrever o seu prprio. O projeto Tianocore fornece um EFI Shell [6] referenciado no site Arch Linux [7]. O Shell Tianocore inclui vrias opes que atualmente no possuem muita utilidade, mas que podem vir a calhar no futuro. Com este Shell, possvel selecionar um novo bootloader manualmente, fazer listas de diretrio, editar arquivos de texto ou remover arquivos. Ao iniciar o Shell, necessrio um ponto de partida. Curiosamente, quando executamos o nosso Shell, o diretrio de trabalho atual no se encontra em qualquer um dos sistemas
de arquivos, o que causa um erro em cada comando. Para criar uma listagem de diretrio ou mudar para um diretrio diferente, s precisamos selecionar o sistema de arquivos primeiro. Este Shell foi criado, conferindo-lhe uma atmosfera MS-DOS. Por exemplo, para mudar para um sistema de arquivos, basta selecionar o nmero do sistema de arquivos: FS0: <Enter>. A designao de unidade FS0 uma referncia ao File System 0; dependendo da configurao, tambm podemos ter um FS1 ou FS2. Podemos registrar um novo Shell, um novo sistema operacional, ou sistemas operacionais mltiplos com a UEFI. Assim, o prprio computador pode perfeitamente suportar mltiplos sistemas operacionais ou Shells. Temos algumas opes diferentes para manter essas entradas. A primeira seria usar o programa efibootmgr do Linux para manipular entradas armazenadas na memria RAM no voltil (NVRAM). Dependendo da implementao, a UEFI pode realmente suportar o efibootmgr quando inicializar em tela UEFI/BIOS. O Asus N76, que usa o sistema de firmware Aptio baseado em UEFI da AMI, permite que o usurio registre o programa diretamente com a opo Add New Boot Option (adicionar nova opo de boot) (gura 1). Eventualmente, podamos faz- lo trabalhar quando paramos de fazer referncia explcita unidade (no caso, \EFI\path versus FSO:\EFI\path). Foi possvel, ento, experimentar novos bootloaders e um Shell. As entradas do caminho apontado em path so relativas partio EFI instalada.
Boot seguro
A UEFI oferece muita flexibilidade, mais (e maiores) parties, e uma maneira fcil e padro para a definio de vrios sistemas operacionais. O que h para no gostar? Talvez o usurio j tenha ouvido
74
www.linuxmagazine.com.br
falar do infame recurso Secure Boot (Boot Seguro) da UEFI, que foi controverso e bastante comentado Internet a fora e esteja preocupado com isso. O boot seguro garante o processo de boot, impedindo drivers ou bootloaders que no sejam assinados com uma chave conhecida de inicializar, evitando uma possivel infecco do seu sistema de inicializao por vrus ou trojans. Como vrias fontes na comunidade de cdigo aberto j relataram, este recurso impediria com eficincia que algum compilasse a distribuio favorita e a instalasse no prprio PC (pelo menos no pior dos casos um caso um pouco melhor seria se o usurio tivesse a capacidade de desativar o recurso de boot seguro [8] [9]).
funcional Drive 1: MBR particionado Algumas parties repletas de dados Instalao Linux no-funcional A incompatibilidade entre GPT e MBR, bem como nossos esforos de reparo subsequentes, tornaram o sistema impossvel de inicializar (unbootable ). Quando acrescentamos o Linux, o bootloader preexistente no pode inicializar o sistema Linux no Drive 1 MBR particionado. Tentamos mudar o drive de boot, que nos devolveu o Linux incluindo um menu GRUB que apontava para a opo de inicializao do Windows. Contudo, o Windows no iniciou com xito. Para obter o Windows de volta, tentamos usar a opo Windows Restore, mas causamos ainda mais problemas, o que tornou o sistema Linux impossvel de inicializar.
Como corrigir os problemas com a baguna do dual-boot? A facilidade da nossa recuperao foi porque tnhamos uma imagem de backup do primeiro disco, antes de qualquer instalao Linux, porque o Linux estava sendo instalado no segundo disco, e porque reconhecemos a necessidade de instalar o Kubuntu, com suporte da EFI. A lista de tarefas a serem realizadas, foi pequena: 1. Converter a unidade 1 do MBR para GPT; 2. Adicionar/modificar parties no Drive 1; 3. Instalar o Kubuntu, com suporte da EFI; 4. Salvar toda a configurao da EFI Instalao Kubuntu; 5. Restaurar imagem de disco para Drive 0; 6. Restaurar configurao Kubuntu para partio EFI; 7. Reiniciar o computador e testar. Nota: quando se tratam de parties, importante fazer backup dos dados para evitar uma possvel perda.
Figura 1 Alguns sistemas de rmware permitem adicionar uma opo de inicializao prpria para a congurao.
75
O processo segue de perto uma instalao grfica padro; configuramos nossas parties de troca (swap) (/) e /home e selecionamos o GRUB como bootloader. O nico truque para esta etapa como devemos iniciar o disco.
foi necessrio neste caso (o usurio tambm pode realizar o particionamento na etapa de instalao do Kubuntu).
A partio EFI simplesmente um sistema de arquivos FAT32. Fazer o backup da configurao significa simplesmente copiar os arquivos para um local seguro. Basta montar o sistema de arquivos EFI e copiar os arquivos necessrios para outro lugar:
mount /dev/sdX1 /mnt/mountpoint cp -rp /mnt/mountpoint/EFI/refind /media/usbstick cp -rp /mnt/mountpoint/EFI/ubuntu /media/usbstick
Nota: o diretrio EFI provavelmente ser a partio 1, sdX1, mas essa no uma regra.
Este comando ir fazer a converso adequada, mas deixar a unidade sem qualquer sistema operacional inicializvel.
Adicionar/modicar parties
Todo o particionamento foi feito durante a instalao anterior; nenhum particionamento adicional
Neste ponto, o Drive 0 do laptop possui a instalao original do Windows 7, mas a configurao do bootloader Kubuntu foi perdida. Isto no tem nada a ver com a Microsoft ou com o Windows, mas sim com a forma como fizemos o backup do disco.
76
www.linuxmagazine.com.br
Mais informaes
[1] Borked: http://www.urbandictionary.com/define.php?term=borked [2] UEFI: http://www.uefi.org/home [3] Tamanho das parties GPT: http://en.wikipedia. org/wiki/GUID_Partition_Table [4] Windows e GPT: http://msdn.microsoft.com/en-us/ library/windows/hardware/gg463525.aspx [5] FAQ Windows e GPT: http://msdn.microsoft.com/enus/library/windows/hardware/gg463525.aspx [6] Tiancore ProjectL: http://sourceforge.net/apps/ mediawiki/tianocore/index.php?title=Efi-shell [7] Shell UEFI no Arch: https://wiki.archlinux.org/index.php/Unified_ Extensible_Firmware_Interface#UEFI_Shell_download_links [8] Como fazer o boot seguro da UEFI funcionar em plataformas abertas: http://www.linuxfoundation.org/publications/ making-uefi-secure-boot-work-with-open-plataforms/ [9] Linus Torvalds sobre Windows 8, UEFI e Fedora: http://www.zdnet.com/ blog/open-source/linus-torvalds-on-windows-8-uefi-and-fedora/11187 [10] http://www.rodsbooks.com/gdisk/mbr2gpt.html
Depois de restaurar esses arquivos, seremos capazes de reiniciar o laptop e iniciar o Linux ou o Windows 7.
Gostou do artigo? o?
Queremos ouvir sua a opinio. Fale Fa conosco em cartas@linuxmagazine.com.br ine.com.b Este artigo no nosso so site: sit http://lnm.com.br/article/8311 articl 311
77
Calendrio de eventos
Evento Data
28 de janeiro a 3 de fevereiro
ndice de anunciantes
Local
So Paulo, SP
Informaes
http://www.campus-party. com.br/2013/index.html
Empresa
IBM
Pg.
02 07 09 11 13 16,17 21 27 31 39 59 77 83 84
SERVIOS
/sys/dev
2 e 3 de maro
So Paulo, SP
http://www.linuxnewmedia. com.br/sysdev/
3 e 4 de abril
So Paulo, SP
http://www.webexpoforum. com.br/
9 e 10 de abril
So Paulo, SP
BITS 2013
14 a 16 de maio
Porto Alegre, RS
http://www.bitsouthamerica. com.br/
Watchguard IBM
http://www.linuxmagazine.com.br/hotsite/mochila_natal
80
www.linuxmagazine.com.br
Assunto | SEO
NOME DA SEO
81
PREVIEW
82
www.linuxmagazine.com.br