Você está na página 1de 30

Expediente editorial

Diretor Geral
Rafael Peregrino da Silva
rperegrino@linuxmagazine.com.br
Show do milhão (de €)

EDITORIAL
Editores
Flávia Jobstraibizer Atendendo a uma solicitação da bancada dos eleitores livres (Freie Wähler)
fjobs@linuxmagazine.com.br
de sua câmara municipal, a cidade de Munique divulgou que a migra-
Laura Loenert Lopes
llopes@linuxmagazine.com.br ção para Linux realizada no âmbito do projeto LiMux poupou a baga-
Editora de Arte tela de (mais de) 10 milhões de euros aos cofres do município desde sua
Larissa Lima Zanini
llima@linuxmagazine.com.br implantação (cerca de R$ 28 milhões, no fechamento desta edição da
Colaboradores Linux Magazine). Isso para uma solução que compreende nada menos
Alexander Spier, Alexandre Borges, Augusto Campos,
Cezar Taurion, Charly Kühnast, Jon ‘maddog’ Hall, Gilberto que as 11.700 estações de trabalho dos funcionários da administração pú-
Magalhães, Hannes A. Czerulla, Karsten Günther, Klaus
Knopper, Kurt Seifried, Mirko Dölle, Oliver Frommel,
blica daquela cidade alemã, agora equipadas com uma distribuição Linux
Thorsten Leemhuis, Tim Schürmann, Zack Brown. desenvolvida especificamente para essa finalidade, com os aplicativos de
Tradução
Laura Loenert Lopes, Sebastião Luiz da
costume (pacote de aplicativos para escritório, navegador, leitor de e-mails
Silva Guerra, Emerson Satomi etc.) e outros mimos especiais (como os criados pelo projeto WollMux,
Revisão
Ana Carolina Hunger. que incrementam a versão do OpenOffice utilizada pelos funcionários
Editores internacionais da administração pública da cidade), além de outros 15.000 desktops que
Uli Bantle, Andreas Bohle, Jens-Christoph Brendel,
Hans-Georg Eßer, Markus Feilner, Oliver Frommel,
ainda usam um sistema operacional proprietário (legado), mas foram
Marcel Hilzinger, Mathias Huber, Anika Kehrer, equipados com o pacote de aplicativos para escritório de código aberto.
Kristian Kißling, Jan Kleinert, Daniel Kottmair,
Thomas Leichtenstern, Jörg Luther, Nils Magnus. A comparação foi realizada usando como base a instalação de sistemas
Anúncios:
Rafael Peregrino da Silva (Brasil)
operacionais e do pacote de aplicativos para escritório proprietários da
anuncios@linuxmagazine.com.br Microsoft, mais especificamente o Windows 7 e o MS Office 2010.
Tel.: +55 (0)11 3675-2600
Não iremos entrar em mais detalhes sobre o relatório publicado pela
Penny Wilby (Reino Unido e Irlanda)
pwilby@linux-magazine.com cidade de Munique neste espaço, já que os números publicados no pará-
Amy Phalen (América do Norte) grafo acima são contundentes o suficiente. Nossa intenção nessas breves
aphalen@linuxpromagazine.com
Hubert Wiest (Outros países)
linhas é muito mais discorrer sobre as possibilidades de economia em
hwiest@linuxnewmedia.de geral que pode ser obtida no âmbito de um projeto como o menciona-
Diretor de operações
Claudio Bazzoli
do acima, tanto em empresas quanto na administração pública. Todo
cbazzoli@linuxmagazine.com.br profissional de tecnologia já sabe que o Linux e as soluções de código
Na Internet:
www.linuxmagazine.com.br – Brasil
aberto se tornaram o padrão “de facto” do lado do servidor e em dispo-
www.linux-magazin.de – Alemanha
www.linux-magazine.com – Portal Mundial
sitivos móveis. O último rincão a ser dominado é o PC propriamente
www.linuxmagazine.com.au – Austrália dito. Em alguns segmentos, como o de soluções para frente de caixa de
www.linux-magazine.es – Espanha
www.linux-magazine.pl – Polônia estabelecimentos comerciais, por exemplo, atualmente só me surpre-
www.linux-magazine.co.uk – Reino Unido
www.linuxpromagazine.com – América do Norte
endo quando vejo qualquer outro sistema que NÃO seja o do pinguim.
Apesar de todos os cuidados possíveis terem sido tomados C&A, Casas Bahia, Lojas Renner, Pão de Açúcar, Carrefour, Walmart,
durante a produção desta revista, a editora não é responsável
por eventuais imprecisões nela contidas ou por consequências Ponto Frio, Ri Happy, Droga Raia etc., e até a vendinha de doces aqui no
que advenham de seu uso. A utilização de qualquer material da
revista ocorre por conta e risco do leitor.
centro de São Paulo (que usa um sistema Arius Loja, para Linux), todos
Nenhum material pode ser reproduzido em qualquer meio, em já embarcaram na onda da tecnologia de código aberto para economizar
parte ou no todo, sem permissão expressa da editora. Assu-
me-se que qualquer correspondência recebida, tal como car- e tornar seus sistemas mais estáveis, usando soluções mais competitivas.
tas, emails, faxes, fotografias, artigos e desenhos, sejam for-
necidos para publicação ou licenciamento a terceiros de forma
O Banco do Brasil vai muito bem, obrigado, com seus mais de 200.000
mundial não-exclusiva pela Linux New Media do Brasil, a me- desktops Linux em agências em todas as cidades do país e uma econo-
nos que explicitamente indicado.
Linux é uma marca registrada de Linus Torvalds.
mia estimada de cerca de 100 milhões de reais obtida até o final de 2011.
Linux Magazine é publicada mensalmente por: A Apple já mostrou ao usuário comum que um PC não precisa de
Linux New Media do Brasil Editora Ltda. Windows para funcionar. Agora que a Microsoft lançou o Windows
Rua São Bento, 500
Conj. 802 – Sé 8 com uma interface diferente, o Linux no desktop tem nova oportu-
01010-001 – São Paulo – SP – Brasil
Tel.: +55 (0)11 3675-2600 nidade para mostrar a que veio. Além da cara nova, o sistema da Mi-
Direitos Autorais e Marcas Registradas © 2004 - 2012: crosoft é mais caro que o antecessor e vai demandar aprendizado (e
Linux New Media do Brasil Editora Ltda.
Impressão e Acabamento: Log & Print Gráfica e Logística S.A. treinamento, dependendo do caso). Que tal aproveitar o momento e
Atendimento Assinante dar chance para o novo? O porteiro aqui do prédio da editora migrou
www.linuxnewmedia.com.br/atendimento
São Paulo: +55 (0)11 3675-2600 e não poderia estar mais feliz... ■
Rio de Janeiro: +55 (0)21 3512 0888
Belo Horizonte: +55 (0)31 3516 1280
ISSN 1806-9428 Impresso no Brasil Rafael Peregrino da Silva
Diretor de Redação

Linux Magazine #97 | Dezembro de 2012 3


ÍNDICE

CAPA
A era dos portáteis 33
Vivemos uma era onde toda a nossa vida cabe na palma de nossas mãos,
em dispositivos cada vez menores. O que o futuro nos reserva?

Super ultrabooks 34
Testamos alguns dos mais populares e robustos ultrabooks presentes no
mercado brasileiro, para todos os gostos (e bolsos). Faça a escolha certa!

Pinguim para viagem 40


O Linux pode ser instalado em qualquer ultrabook ou notebook – mas alguns
processadores destinados a dispositivos móveis têm seu desempenho
prejudicado pelo sistema de código aberto. Muitos desses problemas podem
ser evitados desde o começo, caso os que procuram por laptops para executar
Linux não se deixem enganar pelas primeiras promoções que vêem pela frente.

Populares e acessíveis 46
Nem todo mundo precisa de um telefone top de linha com processador
quad-core e uma gigantesca tela. É perfeitamente possível navegar na
Internet, jogar e usar inúmeros aplicativos em smartphones mais simples.

O melhor smartphone do mundo 54


Eleito em 2012 como um dos melhores smartphones do
mundo, o substituto do Galaxy SII surpreende por sua aparente
simplicidade e seus inúmeros recursos inovadores.

4 www.linuxmagazine.com.br
Linux Magazine 97 | ÍNDICE

COLUNAS ANDROID
Klaus Knopper 08 Central multimidia para Android 63

Charly Kühnast 10
Augusto Campos 12
Alexandre Borges 14
Kurt Seifried 16
Zack Brown 20

NOTÍCIAS
Geral 22
➧ Rootkit infecta servidores Linux As caixas de som para dispositivos móveis da Philips
possuem um bom hardware e conexão flexível para uma
➧ CyanogenMod 10 oferece atualizações “pelo ar”
variedade de dispositivos que executam Android.
➧ Lançado o ROSA Enterprise Linux Server 2012
➧ Linguagem de programação Go completa 3 anos
ANÁLISE
CORPORATE
Utilitário de disco hdparm 58
Notícias 24
➧ Pioneiro do antivírus, John McAfee é procurado por assassinato
➧ HP investe em Linux e torna-se membro da Linux Foundation
➧ Linux Foundation luta por assinatura do Microsoft Secure Boot
➧ Steven Sinofsky, líder do Windows, deixa a Microsoft

Entrevista com Dov Bigio 26

Coluna: Jon “maddog” Hall 28

Coluna: Cezar Taurion 30

Coluna: Gilberto Magalhães 32

Usamos o hdparm para ajustar o disco rígido ou drive de DVD,


TUTORIAL mas com esta ferramenta também podemos definir e obter
parâmetros diversos, e até mesmo apagar SSDs de forma segura.
Mapeamento rápido 66

PROGRAMAÇÃO
Sem exageros 74

Precisa de uma ferramenta para fazer pequenas


modificações no OpenStreetMap? O Potlatch 2 é uma
escolha eficiente como editor rápido e é fácil de usar.

Operação fita de video 71

Projetada para a programação de sistema, a linguagem Go,


criada pelo Google, faz o trabalho sem grandes sofisticações.
Uma boa opção para quem é alérgico a exageros.

SERVIÇOS
Editorial 03
Emails 06
Linux.local 78
Evite perder preciosas lembranças e aprenda a digitalizar
Preview 82
gravações antigas de video, armazenando-as de forma digital.

Linux Magazine #97 | Dezembro de 2012 5


Coluna do Augusto

Linus Torvalds
COLUNA

e matrioskas
Qual a relevância de questionarmos a opinião alheia?

M
atrioskas são aquelas bonequinhas tipicamente Mas ao longo da última rodada de críticas, tivemos
russas, que vêm uma dentro da outra, den- um fator a mais: Aaron Seigo, líder de um dos projetos
tro da outra, dentro da outra. E às vezes as de ambiente gráfico mencionados, escreveu um longo
discussões sobre a relevância de determinados assuntos artigo sobre a importância de por um fim aos “cultos
lembram bastante um conjunto de matrioskas. de personalidade no software livre”, referindo-se à re-
Linus Torvalds, como sabemos, é uma pessoa de levância atribuída ao que Linus acha ou deixa de achar
opiniões fortes e que não escolhe as palavras – e ges- sobre qualquer software, e sobre estar enjoado da inefi-
tos, como ficou evidente em uma recente manifestação ciência e auto-destrutividade que percebe no software
pública dele sobre a qualidade do suporte da Nvidia ao livre devido a divisões internas.
Linux – na hora de manifestá-las. Particularmente acredito que Aaron Seigo (também
Um dos temas que ele costuma comentar com algu- uma personalidade do software livre) tem tanto direito
ma frequência é o estado dos ambientes gráficos dispo- de criticar a relevância dada às opiniões de Linus Tor-
níveis para Linux, sem poupar as críticas que nascem valds, quanto o próprio Linus tem de expor as suas po-
exatamente de onde uma crítica feita por um usuário sições sobre os softwares que usa. São opiniões, e cabe
devem nascer: da comparação entre a sua experiência a cada um decidir se as ouve ou não.
de uso e as suas expectativas. Mas ao ler a peça, não pude deixar de dar um pas-
Linus costuma ter bastante críticas a fazer ao KDE e so para fora do círculo e me perguntar: e qual seria a
ao GNOME, entre os quais ele se alterna, às vezes com relevância de uma pessoa como o Seigo questionar a
um estágio em outro ambiente no meio do caminho. Nos relevância atribuída ao que Linus Torvalds diz?
últimos 2 meses ele veio a público (em uma palestra gra- É o terceiro nível da Matroska, como se vê. E agora
vada em vídeo, e em sua página em um serviço online) você, caro leitor, tem em mãos o poder de dar mais um
dizer que estava usando ou experimentando ambos, e em passo para fora do círculo e acrescentar o quarto nível,
uma das ocasiões desfiou o costumeiro rosário de críticas. questionando qual a relevância do Augusto questionar a
Não é preciso ter uma licença especial para criti- relevância do Seigo questionar a relevância do Torvalds
car: todo usuário pode fazê-lo, e muitas vezes a crítica, gostar ou não de determinado software.
quando bem colocada, ajuda a produzir avanço. Mas E a resposta, para todos, é: a relevância é dada por
a posição que Linus ocupa frequentemente faz suas quem lê, e às vezes é amplificada até mesmo pelas crí-
críticas ganharem destaque maior do que o seu con- ticas feitas ao longo do processo. Exatamente como
teúdo objetivo poderia merecer, especialmente quan- deveria ser!Augusto Campos. *Augusto César Cam-
do se baseiam (corretamente, aliás) no que o usuário pos* é administrador de TI e, desde 1996, mantém o
em questão prefere, e não em algum critério externo, site BR-linux.org, que cobre a cena do Software Livre
padrão ou outro aspecto publicamente reconhecido. no Brasil e no mundo. ■
Faz parte do jogo e, francamente, embora quase sempre
me interesse saber o que Torvalds pensa sobre qualquer soft- Augusto César Campos é administrador de TI e, desde 1996, man-
tém o site BR-linux.org, que cobre a cena do Software Livre no Brasil
ware, custo a acreditar que alguém no mundo use a opinião e no mundo.
torvaldiana como critério de escolha de ambientes gráficos.

12 www.linuxmagazine.com.br
kwarup.com

Agora você tem muito


mais liberdade para escolher
o visual da Webstore.
Se você é desenvolvedor, agora pode
editar o CSS da Webstore Locaweb
e oferecer lojas muito mais personalizadas
para seus clientes.

Locaweb.com.br/Webstore
Coluna do Alexandre Borges

NMAP -
COLUNA

quinta parte
Avance em seus conhecimentos sobre a
poderosa ferramenta NMAP.

N
as últimas colunas examinamos as opções mais ser usado? De maneira resumida, ou quando o usuário
conhecidas de escaneamento usando a ferra- executa o NMAP como usuário regular (sem privilégios)
menta NMA e agora exploraremos outras al- pois neste caso a opção -sT é padrão ou ainda tenho vis-
ternativas interessantes que podem, em determinadas to em alguns escaneamento de máquinas usando IPv6.
situações e ambientes, nos auxiliar para o reconheci- Outra alternativa que o leitor pode usar é realizar
mento de um potencial alvo de ataque. um escaneamento com o protocolo UDP pois, afinal,
De início, a primeira e mais óbvia opção é a do esca- existem muitos serviços (como DNS e SNMP) que são
neamento do tipo TCP connect. Caso o leitor execute o executados sobre este protocolo. O comando mais sim-
comando como root, deve especificar os flags -sT como ples para usar este método é:
no exemplo abaixo:
# nmap -sU 192.168.1.1
# nmap -sT 192.168.1.1
Como pode-se perceber, não há dificuldade na exe-
Infelizmente este modo de escaneamento apresen- cução do comando, entretanto há uma série de deta-
ta dois problemas graves: primeiro, estabelece uma lhes que devem ser examinados antes de prosseguirmos:
conexão com o alvo realizando completamente o ➧ O processo de escaneamento é lento com UDP
three-handshake e somente envia um pacote com o flag ➧ O header UDP enviado é vazio, ou seja, isto pode
de reset (RST) depois da conexão, tornando assim muito alertar um IDS ou ainda ser descartado por ser con-
simples a tarefa de detecção da operação por um IDS. siderado inválido por muitos aplicativos
Segundo (e pior) esta maneira de usar o NMAP é muito ➧ O status das respostas são:
lenta e, com um grande número de máquinas, pode tor- ➧ Qualquer resposta (o que pode ser raro em serviços
nar a operação inviável. Então, quando o TCP scan deve UDP) significa porta aberta
➧ Nenhuma resposta: aberto ou filtrado (firewall)
Listagem 1: Resultado do comando nmap ➧ Resposta com pacote ICMP tipo 3/code3 (port
unreachable): porta fechada
01 Starting Nmap 5.21 ( http://nmap.org ) at
2012-11-12 04:11 BRST ➧ Qualquer outro pacote ICMP do tipo 3: porta fil-
02 Nmap scan report for 192.168.1.1 trada (firewall)
03 Host is up, received arp-response O leitor já pode perceber que a análise tende a
(0.0079s latency).
ficar bastante complicada pois parece que, quase
04 Not shown: 195 closed ports
05 Reason: 195 port-unreaches sempre, as portas estão inacessíveis quando traba-
06 PORT STATE SERVICE REASON lhando com o escaneamento UDP. Inobstante isso,
07 53/udp open|filtered domain no-response é impressionante como muitas portas apresentam o
08 67/udp open|filtered dhcps no-response
09 137/udp open|filtered netbios-ns no-response status open/filtered justamente pelo fato que mencio-
10 1900/udp open|filtered upnp no-response nei acima: como em muitas ocasiões, o pacote UDP
11 5355/udp open|filtered unknown no-response com cabeçalho vazio é considerado inválido, nada
12 MAC Address: 1C:7E:E5:FE:99:B0 (Unknown) é respondido e esta ausência de resposta nos retorna
13 Nmap done: 1 IP address (1 host up) scanned
in 212.71 seconds um status open/filtered. Talvez uma saída para tentar
distinguir o status open do status filtered seja acres-

14 www.linuxmagazine.com.br
centar a opção -A ou ainda -V, todavia já alerto que # nmap -sUV -F --host-timeout 600000 192.168.1.1-5
isto nem sempre funciona como o esperado e, pior,
deixa o processo muito mais lento: Ou ainda uma combinação das últimas sugestões:
# nmap -sUA 192.168.1.1 # nmap -sUV -F --version-intensity 0
# nmap -sUV 192.168.1.1 --host-timeout 600000 192.168.1.1-5

Só que os problemas ainda não terminaram pois, Neste exemplo, para o escopo de máquinas partindo de
como afirmei antes, o escaneamento com UDP é len- 192.168.1.1 e indo até 192.168.1.5, o tempo limite de escanea-
to. E por quê? Como explicitado, com serviços UDP há mento em cada uma é de 10 minutos e estamos interessados
uma grande chance de não recebermos resposta quando em apenas buscar o status das 100 portas mais comuns. Se o
usamos o NMAP e isto sempre levará o mesmo a fazer leitor quiser as 300 portas mais comuns, aí ele poderá fazer:
retransmissões pois ele acredita que o pacote se perdeu e
# nmap -sUV --top-ports 300 192.168.1
o reenvia novamente, atrasando muito o escaneamento.
A própria opção -A ou -V sugerida no último exemplo Para concluir, como grande parte do dilema até aqui é
representa um transtorno que pode ser atenuado com: saber exatamente qual tipo de resposta recebemos da má-
quina alvo e, com isto, tentar aferir qual o real status de suas
# nmap -sUV --version-intensity 0 192.168.1.1
portas, existe uma opção muito interessante no NMAP que
A opção --version-intensity 0 força o NMAP a fazer pode ser usada em qualquer escaneamento, que é a --reason;
uso apenas dos métodos mais certeiros na tentativa de como o nome diz, ela traz para cada porta o motivo do status:
avaliar a versão dos serviços na máquina alvo. Outro
# nmap -sU --reason --port-ports 200 192.168.1.1
alívio à lentidão pode ser fornecido explicitando a opção
-F, que apenas realiza o escaneamento das 100 portas
Alexandre Borges (alex_sun@terra.com.br) é instrutor independente e ministra
mais importantes; outra opção ainda é dizer ao NMAP regularmente treinamentos de tecnologia Oracle (áreas de Solaris, LDAP, Clus-
por quanto tempo estamos dispostos a esperar o escane- ter, Containers/OracleVM, MySQL, e Hardware), Symantec (Netbackup, Veritas
Cluster,Backup Exec, Storage Foundation e SEP) e EC-Council (CEH e CHFI), além
amento de cada máquina com a opção --host-timeout
de estar sempre envolvido com assuntos relacionados ao kernel Linux.
(tempo dado em milisegundos). Vejamos:

Linux Magazine #XX | Mês de 200X 15


Matéria | SEÇÃO

Ultrabooks e Smartphones

A era dos portáteis

SEÇÃO
Vivemos uma era onde toda a nossa vida cabe na palma de nossas
mãos, em dispositivos cada vez menores. O que o futuro nos reserva?
por Flávia Jobstraibizer

A
tualmente nossa vida cabe na palma de nossas quesitos usabilidade, recursos e, claro, preços acessíveis.
mãos, em dispositivos cada vez menores e que nos Você vai conhecer alguns dos dispositivos mais famosoos
auxiliam em quase todas as tarefas do dia a dia. Não do mercado, como o novíssimo smartphone Samsung
é de se estranhar que a nova geração Z (indivíduos nasci- Galaxy S III e os motivos pelos quais este aparelho faz
dos a partir dos anos 2001 até os dias de hoje) tenham tido tanto sucesso. Trazemos ainda um comparativo entre
pouco contato com papel em espécie. São adolescentes e os smartphones mais vendidos do mercado e suas rela-
crianças que já conhecem fotografias em formato digital, ções custo-benefício para auxiliá-lo na melhor escolha.
lêem e-books e usam tablets, já tem e-mail e perfis em No quesito ultrabooks, testamos alguns dos modelos
redes sociais e levam seus celulares para a escola. mais populares do mercado brasileiro e os elencamos por
Estas novas gerações e as que estão por vir, serão as ordem de preço, pois além de possuir os recursos de que
gerações que revolucionarão o mercado digital e da você precisa, o equipamento precisa caber no seu bolso.
computação, assim que como as gerações que as an- Fizemos ainda uma análise dos ultrabooks e note-
tecederam e as atuais gerações que dedicam suas vidas books disponíveis no mercado e seu funcionamento
à inovações e descobertas para o futuro. com Linux. Saiba como evitar dores de cabeça no
Mais avançados ainda estão se tornando os disposi- momento da compra do seu equipamento e como so-
tivos que utilizamos atualmente. Cada vez menores, lucionar pequenos problemas de incompatibilidade.
mais leves, mais finos e mais bonitos, smartphones e Esta edição está imperdível e esperamos que você
ultrabooks atualmente servem para tudo: trabalhar, har, faça bom uso das informações a seguir!
jogar jogos, navegar na Internet, conectar-nos com om Boa leitura! ■
o mundo, fazer ligações, ler livros, tirar e armazenar nar
fotografias e videos e muitos outros usos. Raras sãoo as
pessoas que possuem um telefone celular que não tire
fotos ou não reproduza músicas. Mais raras ainda são
as pessoas que possuem um notebook ou ultrabook ok e
que não os utilize para assistir videos provenientess de
sites de streaming online ou mesmo reproduzir uma
seleção de filmes durante uma viagem.
Nesta edição da Linux Magazine, trouxemos os mais
modernos equipamentos do mercado e os campeões nos

Matérias de capa
Super ultrabooks 34
Pinguim para viagem 40
Populares e acessíveis 46
O melhor smartphone do mundo 54

Linux Magazine #XX | Mês de 200X 33


ANÁLISE | Utilitário de disco hdparm

Utilitário hdparm

Utilitário de
ANÁLISE

disco hdparm
Usamos o hdparm para ajustar o disco rígido ou drive de DVD, mas
com esta ferramenta também podemos definir e obter parâmetros
diversos, e até mesmo apagar discos SSD de forma segura.
por Tim Schürmann

E
m 2005, o canadense Mark experiências com o hdparm, é impor- – neste caso, o primeiro disco rígido
Lord desenvolveu o peque- tante ler sobre questões relacionadas sda. A opção | more garante que a
no utilitário hdparm [1] para à segurança no quadro 1. grande quantidade de informação
testar drivers Linux para discos rígi- não seja mostrada na tela do termi-
dos IDE. Desde então, o programa Necessidade de nal sem que possa ser lida.
tornou-se uma ferramenta valiosa
para o diagnóstico e ajuste de discos
comunicação O hdparm aceita qualquer dispo-
sitivo de armazenamento em massa
rígidos. Por exemplo, ele testa a velo- Todas as distribuições razoavelmente que esteja conectado a uma interface
cidade de discos rígidos e discos de novas já incluem o hdparm na insta- (E)IDE, SATA ou SAS, incluindo
estado sólido, coloca os dispositivos lação básica. Só é preciso abrir um drives, DVD e SSDs. Adaptado-
em suspensão e ativa ou desativa o terminal e digitar o comando: res USB-IDE muitas vezes causam
modo de economia de energia. Com problemas por não transmitirem co-
hdparm -I /dev/sda | more
equipamentos modernos, o hdparm mandos ATA (completos) ou ATAPI
pode ativar o modo acústico e limpar como administrador (figura 1). A para a unidade. A informação que
unidades de estado sólido (solid-state ferramenta fornecerá todos os dados o hdparm proporciona é dependen-
drive ou SSDs). Antes das primeiras disponíveis sobre a unidade escolhida te do dispositivo. A designação e o
número da versão do firmware são
Quadro 1: Atenção! sempre listados no topo logo abaixo
O hdparm manipula uma unidade diretamente, é por isto que sua utilização de Model Number (número do mo-
pode facilmente conduzir a uma perda de dados e, no pior dos casos, a um delo) e Firmware Revision (revisão de
defeito no dispositivo. Além disso, a documentação do programa pontua que firmware). Proprietários de um SSD
muitos de seus recursos são experimentais ou perigosos. Portanto, antes de em sua maioria podem descobrir
trabalhar com o programa, o usuário deve sempre realizar um backup com- rapidamente se estão executando a
pleto do disco. Além disso, só deverá usar recursos cujas ações compreenda
versão atual do firmware.
perfeitamente. O editor e o autor deste artigo não aceitam qualquer respon-
sabilidade por danos ou perda de dados. Em novos discos rígidos, o usuário
deve verificar se o Native Command

58 www.linuxmagazine.com.br
Utilitário de disco hdparm | ANÁLISE

Queuing (NCQ) (enfileiramento de


comandos internos) pode ser encon-
trado em Commands/features. Esta
tecnologia torna possível ao disco rí-
gido classificar as consultas a partir do
sistema de tal forma que as cabeças
tomam o caminho mais curto possível.
Os SSDs, por outro lado, distribuem
o acesso de escrita de forma mais efi-
ciente em blocos de armazenamen-
to. Idealmente, isto conduz a um
aumento da velocidade. Se o NCQ
está desativado, verifique a BIOS para
descobrir se a unidade está funcionan-
do em modo AHCI, que também é
necessário para outras funções como
gerenciamento de energia.

Velocímetro
Para determinar o quão rápida uma
unidade entrega os dados, utilize
o comando:
hdparm -t /dev/sda
Figura 1 O hdparm lista as propriedades de hardware de um disco rígido de
Depois de alguns segundos, a taxa seis anos de idade com capacidade de 320GB.
de transferência de dados é exibida (em
MBps, ou megabytes por segundo). é possível ver a taxa de transmissão também precisará determinar, por
O pequeno programa lê diretamente pura do disco (figura 3). exemplo, a velocidade de gravação.
da unidade por um tempo, indepen- O hdparm sempre lê os dados a
dentemente do sistema de arquivos. partir do início do dispositivo de ar- Mais e mais rápido
A velocidade medida é portanto um mazenamento. Os discos rígidos, no Algumas propriedades da unidade
pouco mais rápida do que na prática. entanto, tendem a entregar dados das podem ser alteradas enquanto o dis-
Para receber um resultado não vicia- áreas exteriores de discos magnéticos positivo estiver em funcionamento;
do, nenhum outro programa deve um pouco mais lentamente; portanto, por exemplo, a maioria das unidades
ser executado durante a medição, e o hdparm permite definir um offset permite que o usuário ligue ou desli-
a memória principal suficiente deve (a partir da versão 9.29 do software): gue a gestão de energia. Desta forma,
estar livre. Repita a medição pelo me- recursos do hdparm que mudam e
hdparm -t --direct --offset
nos três vezes e em seguida calcule o 500 /dev/sda ativam em um disco rígido podem
valor médio. Para um modelo atual, ser chamadas com:
o resultado deve atingir pelo menos Onde 500 indica o número de
hdparm -I /dev/sda
80 MBps (figura 2). gigabytes que iremos pular. Em um
O kernel Linux coloca os dados disco rígido de 1TB, o comando aci- e são encontradas em Commands/
obtidos do disco rígido em um bu- ma deve, portanto, fornecer dados features (figura 1). Todos os recur-
ffer. Para determinar a velocidade a partir do meio do disco. Como sos encontrados lá e marcados com
da unidade sem adornos, utilize mostra a figura 3, a velocidade de asterisco estão atualmente ativos, e
o comando: leitura cai de forma acentuada nas o hdparm pode usar o resto, ou pelo
áreas exteriores de um disco rígido. menos ativá-los.
hdparm -t --direct /dev/sda
Todos os testes de velocidade intro- A fim de acelerar a transmissão de
O hdparm lê os dados diretamen- duzidos aqui só fornecem uma primei- dados, um disco rígido normalmente
te do disco. Os valores medidos as- ra impressão de possíveis problemas lê vários setores ao mesmo tempo.
sim serão um pouco mais lentos do de desempenho. No entanto, para Quantos é capaz de entregar ao mes-
que sem --direct, mas pelo menos uma referência completa, o usuário mo tempo é revelado pelo comando:

Linux Magazine #97 | Dezembro de 2012 59


ANÁLISE | Utilitário de disco hdparm

hdparm -I /dev/sda

e está listado após R/W multiple sec-


tor transfer: Max =. Este valor deve
ser também encontrado na mesma
linha depois de Current =. Se este
não for o caso, podemos aumentar
o valor com:
hdparm -m16 /dev/sda

Isto instrui o disco rígido a sempre Figura 2 Este disco rígido SATA alcançou uma velocidade média de leitura de
entregar 16 setores ao mesmo tempo. 80,48 Mbps.
Curiosamente, alguns discos rígidos
executam mais lentamente com valores À toda velocidade Este exemplo diminui a velocidade
mais elevados: a página de manual do Muitos discos rígidos modernos de leitura da unidade nove vezes.
hdparm menciona principalmente os permitem abrandar o movimento
discos Caviar mais antigos, da Western da cabeça, embora isso aumente o Cache de reescrita
Digital. Em tais casos, devemos redu- tempo de acesso, o que também irá Com o cache de reescrita, o disco
zir o número de setores novamente reduzir o nível de ruído. Para saber rígido primeiro armazena os dados
ou até mesmo desativar o recurso por se o seu disco rígido oferece este a serem escritos em um buffer. Des-
completo, o que é feito com: “modo acústico”, utilize o comando: te modo, ele pode aceitar os dados
muito mais rapidamente, o que no
hdparm -m0 /dev/sda hdparm -M /dev/sda
fim leva a uma maior velocidade de
Além disso, unidades modernas Se um número aparecer após o gravação. O comando:
podem obter alguns setores com sinal de igual, como mostrado na
hdparm -W /dev/sda
antecedência (“read ahead”). Para parte de baixo da figura 4, o disco
definir quantos, utilize a opção -a pode ser colocado em um modo mostra se o cache de reescrita está
(figura 4, no topo) – por exemplo: silencioso com: ativo com um 1 depois do sinal de
igual; caso contrário, podemos ativar
hdparm -a256 /dev/sda hdparm -M 128 /dev/sda
o recurso com a opção -W1.
Aqui, a unidade lerá de forma an- Para alcançar a velocidade máxi- Se o hdparm não permitir esta al-
tecipada os 256 setores mais propen- ma, use o valor máximo: teração, precisaremos ter certeza de
sos a serem solicitados em seguida. que o cache de reescrita foi ativado
hdparm -M 254 /dev/sda
Valores mais elevados acima de tudo na BIOS. No entanto, este recurso
aceleram a leitura de arquivos grandes Valores entre 128 e 254 são per- não é recomendado para todas as si-
– ao custo, no entanto, de que a leitura mitidos, resultando em uma com- tuações: no caso de falta de energia,
dos menores demore mais tempo. A pensação entre o nível de ruído e os dados no buffer seriam perdidos
configuração atual é mostrada com: a velocidade. Aliás, o kernel Linux de forma permanente.
também deve fornecer suporte ao Se um programa sensível à perda
hdparm -a /dev/sda
gerenciamento acústico, o que deve de dados – como um banco de da-
Muitas unidades também possuem ser o caso de todas as principais dis- dos – está em execução no sistema,
um recurso adicional de leitura an- tribuições atuais. devemos desligar o cache de rescrita
tecipado embutido. Portanto, como Algumas unidades de CD e DVD com a opção -W0. A documentação do
regra geral, podemos deixar a confi- acabam por ser mais parecidas com banco de dados PostgreSQL explicita-
guração no valor padrão. turbinas: a rotação de alta velocidade mente recomenda que isto seja feito.
O quão rápidas as consultas do siste- pode dificultar o aproveitamento de
ma operacional chegam à controladora áudio/vídeo. O comando: Cheio de energia
do disco rígido podem ser vistas com: hdparm -E 4 /dev/sr0 Se um disco rígido ou SSD não tem
nada a fazer em um certo período de
hdparm -c /dev/sda
provê um alívio nessa parte. O pa- tempo, ele entra automaticamente
O valor deve ser de 32 bits; é possí- râmetro 4 determina a velocidade e no modo de suspensão. Este recur-
vel forçar este valor com a opção -c3. /dev/sr0 especifica a unidade de DVD. so de economia de energia pode ser

60 www.linuxmagazine.com.br
Utilitário de disco hdparm | ANÁLISE

influenciado com o parâmetro -B. por outro. O valor escolhido no exem- utilizado com cautela: a documentação
Dessa forma, utilizar plo, 128, encontra-se entre 1 e 240, para adverte explicitamente que os dados
o qual a unidade utiliza um fator de podem ser perdidos e desaconselha a
hdparm -B255 /dev/sda
cinco. Consequentemente, seria desli- utilização com o sistema de arquivos
iria desativar o gerenciamento de gado após 640 segundos de ociosidade. Btrfs. Unidades com ext2/3/4, Reiser3,
energia; no entanto, nem todas as De 241 para acima, o fator de mul- e XFS devem ser montadas em modo
unidades permitem isso. tiplicação aumenta constantemente. somente leitura antes de usar o coman-
No lugar de 255, os valores entre 1 Em 251, o período de espera é au- do wiper. Seria melhor desmontar a
e 254 são permitidos. Um valor mais mentado para 5,5 horas. Em 253, o unidade completamente ou iniciar o
alto significa que mais energia é uti- valor é predefinido pelo fabricante, wiper.sh a partir de um sistema Live.
lizada, mas também promete maior usualmente entre 8 e 12 horas. O va- Qualquer que seja o caso, o usuário
desempenho ou velocidade. Valores lor 254 é deixado de fora; em 255, a deve fazer um backup do SSD de
entre 1 e 128 permitem que a unidade unidade vai esperar 21 minutos e 15 antemão e usar o script apenas em
seja deligada, enquanto os valores de segundos. Um valor 0 irá desativar o caso de emergência. Aliás, pelo fato
129-254 impedem que isto aconteça. modo de suspensão completamente. de o wiper ser tão perigoso, algumas
Mais energia pode ser economi- Para enviar o disco rígido para sus- distribuições nem mesmo o incluem.
zada com um valor 1; a mais elevada pensão imediatamente, digite:
taxa de transmissão de dados (de-
hdparm -y /dev/sda
Exclusão segura
sempenho de I/O) é obtida com 254. Para conseguir maiores taxas de trans-
Podemos verificar o valor atual com: Com um Y, a unidade entrará em ferência e propagar o uso por igual
hdparm -B /dev/sda um estado ainda mais profundo de nos chips de armazenamento, os SSDs
suspensão. Dependendo da unida- também reservam algumas áreas de
O efeito específico que os diferen- de, ela só poderia acordar de uma armazenamento (nivelamento de
tes valores terão depende do próprio suspensão profunda após a reinicia- desgaste), de modo que simplesmente
disco. No entanto, devemos ter em lização de todo o sistema. formatar um SSD raramente irá apa-
mente que muitos desligamentos gar todo o disco. Por isso a maioria
não são bons para discos rígidos de Limpeza dos SSDs oferecem um recurso cha-
desktops: cada vez que ele desliga, Os SSDs controlam a localização mado secure erase (exclusão segura),
a unidade deve estacionar as ca- dos dados alocados neles de forma que faz com que a unidade esvazie
beças, o que aumenta o desgaste. independente do sistema operacio- todas as células de armazenamento.
Consequentemente, não devemos nal. Isso pode levar à uma situação Isto é especialmente útil se o usuário
despertar o disco rígido a cada dois curiosa em que um arquivo foi apa- decidir se desfazer de um SSD usado.
segundos – o que sempre leva mais gado, mas o SSD ainda tem a sua A exclusão segura tem duas ar-
do que isso para ser feito. antiga localização marcada como madilhas: o hdparm só pode iniciar
Podemos definir quantos segundos ocupada. Para remediar tais conflitos, uma exclusão segura quando a BIOS
de ociosidade o disco rígido deve es- novas versões do hdparm incluem o também permite isso. Além disso, o
perar antes de dormir com a opção: script wiper.sh. Digitar: método é considerado experimental.
A documentação adverte explicita-
hdparm -S 128 /dev/sda wiper.sh /dev/sda
mente sobre o uso do procedimen-
No entanto, este valor não é só em determina quais blocos estão sendo usa- to porque, na pior das hipóteses, a
segundos, mas um número entre 1 e dos e quais não estão e reporta isso ao exclusão segura poderia tornar o
253. O disco rígido multiplica esse valor SSD. No entanto, este script deve ser SSD inutilizável por completo. Se
quiser usar o recurso de exclusão de
qualquer maneira, primeiro solicite
a informação de identificação com:
hdparm -I /dev/sdb

Em Security, a linha supported:


enhanced erase deverá aparecer em
algum lugar; caso contrário, o SSD
Figura 3 Sem o buffer, a taxa de transmissão cai drasticamente. No meio do não suportará a exclusão segura. Em
disco rígido de 320GB, mais perdas de velocidade são observadas. seguida, ative o recurso de seguran-

Linux Magazine #97 | Dezembro de 2012 61


ANÁLISE | Utilitário de disco hdparm

Sistemas baseados em Debian,


por outro lado, leem o arquivo de
configuração /etc/hdparm.conf na
inicialização do sistema. Nele há
uma seção para cada disco rígido
com o seguinte formato:

/dev/sda {
...
}

Sistemas Linux modernos atri-


Figura 4 Aqui, a leitura antecipada está definida para 256, e o gerenciamento
acústico está atualmente desativado.
buem nomes de dispositivos alea-
toriamente (sda, sdb). Para atribuir
ça da unidade, (temporariamente) hdparm -d1 /dev/hda as configurações do hdparm per-
definindo uma senha como 123456: manentemente para uma unidade
No entanto, em alguns sistemas específica, use o UUID específico:
hdparm --user-master u
--security-set-pass 123456 muito antigos, o modo DMA pode
/dev/ disk/ by-id/ ata-SAMSUNG_
/dev/sdb causar problemas. Depois de ativá-lo, HD103SJ_S246J1RZB00034 { … }
devemos copiar alguns arquivos de teste
Quando solicitarmos as informa- grandes para a unidade. Se surgirem As configurações aparecem entre
ções de identificação novamente, problemas ou a unidade falhar, desa- as chaves. Cada parâmetro tem o seu
encontraremos a opção enabled em tive o modo DMA novamente com: próprio nome. O gerenciamento
Security. Para apagar o SSD, digite: acústico é definido, por exemplo,
hdparm -d0 /dev/hda
para o valor 128 com:
hdparm --user-master u
--security-erase 123456 /dev/sdb Aliás, unidades modernas SATA
acoustic_management = 128
sempre usam DMA.
No processo, o hdparm também Enquanto o disco rígido está trans- Qual nome pertence a qual parâ-
remove a senha. Todo o processo leva ferindo os dados solicitados, o resto metro do hdparm é revelado pelos
alguns minutos, dependendo do ta- do sistema pode concluir outras ta- comentários no início do arquivo.
manho do SSD; durante o mesmo, refas – mas apenas se um on apare-
nenhuma informação é fornecida. cer depois de unmaskirq na saída de Conclusão
Depois, quando solicitarmos a in- informações de identificação. O hdparm também inclui muitos
formação de identificação, a área em Podemos forçar este modo com outros parâmetros que podem ser bas-
Security deve voltar a parecer como a opção -u1. tante perigosos. Por exemplo, muitos
era antes da definição da senha. SSDs podem ser protegidos com uma
Valores duradouros senha, o que pode levar a perda de
Relíquias Depois de reiniciar o sistema, todas as dados em algumas situações. Não é
No caso de discos rígidos mais velhos alterações feitas com o hdparm são per- uma coincidência que a página do
com um conector IDE (também cha- didas. Para ativá-las permanentemente, manual (man hdparm) possua uma ad-
mado de PATA – Parallel ATA), de- os respectivos comandos do hdparm vertência sobre esses perigos.
vemos observar a linha using_dma na devem ser colocados em scripts de ini- Aliás, o hdparm é apenas uma
saída de identificação. Com a ajuda da cialização. Como isto é feito depende ferramenta útil entre muitas; por
tecnologia de acesso direto à memória da distribuição que está em execução, exemplo, o smartmontools também é
(Direct Memory Access ou DMA), o mas normalmente a inclusão deve ser utilizado para determinar o estado
próprio disco rígido deposita dados feita no arquivo /etc/rc.local. de saúde de um disco rígido [2]. ■
diretamente na memória principal.
Se o flag respectivo é 0 (desligado), Mais informações Gostou do artigo?
o?
ele vai abrandar a transferência de [1] hdparm: http://hdparm. Queremos ouvir sua opinião.
dados. Ao longo dos anos, padrões sourceforge.net Fale conosco em
[2] smartmontools: http:// cartas@linuxmagazine.com.br
ne.com.b
cada vez mais rápidos de DMA foram
introduzidos; o mais rápido pode ser sourceforge.net/apps/ Este artigo no nosso
o site:
site
trac/smartmontools/wiki http://lnm.com.br/article/7952
ticle 52
ativado com o comando:

62 www.linuxmagazine.com.br
TUTORIAL | OpenStreetMap com Potlatch 2

OpenStreetMap com Potlatch 2

Mapeamento
TUTORIAL

rápido
Precisa de uma ferramenta para fazer
pequenas modificações no OpenStreetMap?
O Potlatch 2 é uma escolha eficiente
como editor rápido e é fácil de usar.
por Karsten Günther

O
Potlatch 2 (ou simplesmen- momento com o botão esquerdo do tais também podem ser desfeitas
te “P2”) é um pequeno edi- mouse. Neste caso, certifique-se de não usando tecla [Z] (o atalho [Ctrl]+[Z]
tor para o OpenStreetMap. clicar em quaisquer objetos ou percursos. também funciona) ou o botão Undo
Quando vemos uma área no OpenS- Esta função logo nos mostra os limites (desfazer). Não há nenhum atalho
treetMap [1] e observamos que certos do editor: como uma solução baseada para Redo (refazer) atualmente, mas
percursos ou pontos de interesse (POIs) em servidor, ele realmente precisa de pelo menos existe um botão.
estão em falta, não precisamos neces- uma boa conexão de Internet. Além Quando clicamos em um percur-
sariamente executar um editor da liga disso, um processo em execução em so ou objeto, este objeto é ativado;
principal como o Merkaator [2] ou o outra janela/aba do navegador pode aí então é permitido movê-lo ou
JOSM [3]. Ao invés disso, podemos prejudicar o processamento. Podemos editá-lo (figura 4). Esta ação fun-
fazer alterações diretamente no mapa usar o scroll do mouse para ajustar a ciona para percursos, bem como
através do recurso Edit (figura 1). resolução, ou utilizar os dois botões objetos criados a partir deles, e para
O que o usuário precisa para al- no canto superior esquerdo no mapa. os objetos POI inseridos, descritos
terar os mapas é obter uma conta Se acidentalmente ativarmos um detalhadamente abaixo.
no OpenStreetMap. Isto é feito ra- objeto ou criarmos um novo ponto, Percursos existentes podem ser
pidamente e não requer nada além basta pressionar a tecla [Esc] para complementados com novos pontos
de um endereço de email. Depois cancelar a ação. Alterações aciden- rapidamente. Para fazer isso, clique no
que iniciar o editor [4], surgirá uma
breve introdução (figura 2).
Diversas variantes do editor Po-
tlatch 2 estão disponíveis, como por
exemplo o “riding and hiking map”
(mapa de equitação e caminhada)
[5], graças a uma variante persona-
lizada. Um recurso útil deste editor
são os planos de fundo automáticos
(figura 3), o que pode ajudá-lo a en-
contrar os locais corretos no mapa.

Edição
Quando executado, o editor mostra a
área exibida anteriormente no mapa. Figura 1 O OpenStreetMap oferece aos usuários uma oportunidade direta de
Podemos mudar esta área a qualquer fazer mudanças ou inclusões, a começar pelo editor Potlatch 2.

66 www.linuxmagazine.com.br
OpenStreetMap com Potlatch 2 | TUTORIAL

Categoria Significado
Compra Lojas e armazéns
Comida e Bebida Restaurantes, lanchonetes, quiosques etc.
Serviço Abrigos, hospitais, cabines telefônicas, creches, etc.
Turismo Locais para turistas, como museus, sítios arqueológicos etc.
Acomodação Hotéis, pousadas, acomodações para pernoite e café da manhã, parques de campings
Transporte Estações ferroviárias, aeroportos, postos de gasolina, estacionamento
Água Açudes, ancoradouros, portos
Barreiras Portões, postes, elevadores, cabines de pedágio
Energia Geração de energia, usinas
Construções Edifícios de tipos diferentes, postos de correios, jardins de infância
Uso do solo Cemitérios, também campos, florestas etc. (não foram adequadamente suportados até agora)
Locais (no sentido de
Cidades, vilas, aldeias etc.
locais de moradia)
Esporte e Lazer Instalações desportivas, centros esportivos, parques
Feito pelo homem Monumentos feitos pelo homem, tais como torres de rádio, silos, faróis

Tabela 1 Categorias no OSM Standard Editor.

Atalhos de Teclado Função


percurso a qualquer momento. Então,
mantenha a tecla [Shift] pressionada Visualização
para criar um waypoint (ponto de pas- d
(dim) Ofuscar a transparência das
sagem) adicional para cada clique do imagens de plano de fundo
mouse. Podemos ampliar percursos de t
(toggle) Alternar entre entrada de
forma semelhante: depois de ativar o tag avançada e tag simples
ponto final no percurso, simples cliques / ou # Ativar formas sobrepostas, uma após a outra
do mouse adicionam novos pontos. Pg Up/ Pg Dn Zoom
Apertar [Esc], [Enter] ou [Return] Setas Mover a visualização do mapa
finaliza esta ação. Para criar uma nova Edição
ramificação fora de um percurso, pres-
p (parallel) Criar formas através de clonagem
sione [Shift] e clique em um ponto de
(repeat) Aplicar tags do último
passagem que pertença a um caminho r
objeto no objeto atual
existente. Isto funciona para todos os
v (inverse) Inverter o caminho selecionado
objetos do tipo “caminho” – isto é,
para rios, florestas (ou suas margens), w (way) Habilitar caminho
lagos, e assim por diante. x (split) Ramificar caminho
Selecionar vários objetos também y (simplify) Simplificar automaticamente o caminho
é possível. Para fazer isso, pressione + (add) tag Dia
e segure a tecla [Ctrl] e clique em - (remove) Exclui o ponto de passagem atual
todos os objetos desejados. O Potlatch z (undo) Desfaz uma ação
2 habilita, então, os objetos.
Delete/ Backspace Remove o ponto de passagem atual
Provavelmente a ação mais im-
Shift+Delete/ Backspace Remove o ponto de passagem atual
portante do Potlatch 2 é a habilidade
de adicionar novos objetos POI. Um Geral
exemplo poderia ser de turbinas de ven- c Fechar o conjunto de alterações
to que foram recentemente colocadas s Salva
em um parque eólico ou – algo que Esc/ Enter Cancela uma ação
é útil para os ciclistas e os que fazem Espaço Ajusta o plano de fundo
caminhadas – abrigos meteorológicos. h Mostra o histórico para o objeto atual
Em cada caso, primeiro selecione
uma resolução adequada para edi- Tabela 2 Atalhos de teclado.

Linux Magazine #97 | Dezembro de 2012 67


TUTORIAL | OpenStreetMap com Potlatch 2

ção. Clicar em um espaço vazio no objetos POI disponíveis na margem Em seguida, podemos “pegar”
mapa diz ao Potlatch 2 para exibir os esquerda do mapa (figura 5). o objeto com o mouse e arrastá-lo
para o mapa para integrar o objeto.
Alternativamente, podemos usar o
mouse para arrastar um objeto exis-
tente para a posição correta.
Objetos e percursos no OpenS-
treetMap (OSM) usam “tags” com
informação explicativa adicional.
Estas tags são divididas em “tags cha-
ve” (tipos de objetos) e outras tags
para fazer distinções mais finas. As
tags chave suportadas pelo Potlatch
2 estão listadas online [6].
Depois de posicionar o objeto POI,
o Potlatch 2 muda automaticamente
para o modo tag. Se o usuário inserir
Figura 2 Primeiro passos com o Potlatch 2. Uma boa conexão de Internet uma turbina eólica – use Plant (Station)
e um servidor do OSM que não esteja muito sobrecarregado
em Power – o editor altera o modo para
são pré-requisitos.
pedir que seja especificado qual tipo
de planta será adicionada. O Potlatch
2 suporta duas interfaces nesta parte: o
modo básico é mostrado na figura 6. Ini-
cialmente, esta é a escolha certa. Pode-
mos selecionar Wind em Energy source.
Todas as outras tags são de menor
importância e podem ser adicionadas
conforme a necessidade – ou para
se divertir – com a tecla [+]. A wiki
[7] mostra quais tags fazem sentido
para turbinas eólicas.
A abordagem é semelhante para a
adição de um abrigo meteorológico.
Abrigos de qualquer tipo são marca-
Figura 3 O Potlatch 2 exibe planos de fundo com fotografia aérea (infelizmen-
te, muitas vezes desatualizada) do Bing. Eles são úteis como um dos como Shelter e estão localizados
guia para a edição ou a inclusão de mais objetos. no grupo Amenity. Abrigos projetados
como proteção meteorológica devem
ser marcados como Weather Shelter [8].
Este procedimento também é
utilizado para estradas e percursos.
Descrever objetos POI e percursos
tão precisamente quanto for possível
com as tags pode ser de grande be-
nefício para usuários do mapa. Por
exemplo, pode ser importante para
os ciclistas saber se um percurso é ou
não pavimentado – ou eventualmen-
te reservado para o uso de pedestres.
Podemos também usar a wiki do
OSM [9] para encontrar tags apro-
Figura 4 Clicar em um objeto em um mapa o “habilita” para movimentação e priadas. Nem todas as informações
permite que sejam especificadas novas tags ou alteradas as existentes. digitadas aqui e nem todos os objetos

68 www.linuxmagazine.com.br
OpenStreetMap com Potlatch 2 | TUTORIAL

POI inseridos na carta irão realmente


para o OpenStreetMap padrão. Mui-
tas vezes, os objetos só serão mostra-
dos em mapas personalizados, como
mapas de equitação e caminhada.

Regras da estrada
Para manter o OpenStreetMap con-
sistente, existem algumas regras para
edição que devemos seguir.
Estruturas lineares, como estradas,
percursos e contornos de superfícies
devem ser criadas como formas, ao
contrário de objetos. Com um sim-
ples clique do mouse, podemos iniciar Figura 5 O Potlatch 2 exibe os objetos POI disponíveis na margem esquerda
um novo caminho em qualquer área da janela. Eles são classificados por categorias e organizados em
livre do mapa. Cada clique adicional subgrupos (tabela 1). O botão Show all (mostrar todos) diz ao
do mouse acrescenta um ponto de Potlatch 2 para exibir todos os objetos existentes em uma categoria.
passagem; um clique duplo termina a
linha. Se o usuário notar caminhos no
mapa que não existem fisicamente, é
recomendado removê-los. Selecione o
caminho clicando sobre ele e exclua-o
pressionando o atalho de teclado [Shift]
+ [Del]. A tecla [X] permite ramificar
uma forma depois de ter habilitado o
ponto de ramificação. Para criar per-
cursos paralelos facilmente, aperte [P]
para duplicar o caminho selecionado.
Adicionar tags pode ser muito
difícil para os novatos. Mas usar o
editor para mapas de equitação e
caminhada (figura 7) vai facilitar as Figura 6 Objetos POI podem ser classificados com mais precisão usando tags.
coisas – caso o leitor consiga ler em
alemão – especialmente para pe-
quenos percursos que são difíceis de
distinguir. Esta ferramenta oferece
boas predefinições que simplificam
o processo de adicionar tags.
Todas as mudanças feitas com o editor
são armazenadas em um “conjunto de
alterações”. Esses conjuntos são envia-
dos para o servidor do OpenStreetMap
quando salvarmos o projeto ou sairmos
do editor. Em ambos os casos, o Potla-
tch 2 oferece a opção de adicionar uma
breve descrição das mudanças – algo
Figura 7 Os mapas de equitação e caminhada usam uma versão especial
como um título para o conjunto de de Potlatch 2, o que torna mais fácil marcar formas pequenas.
alterações – de preferência em inglês Infelizmente, ele só está disponível em alemão.
(figura 8). Isto só faz com que seja mais
fácil para os editores humanos corrigi- O Potlatch 2 oferece ainda mais: registro diário, que mostra as últimas
rem erros, mas não é algo obrigatório. o menu History (histórico) leva a um alterações no mapa. É possível en-

Linux Magazine #97 | Dezembro de 2012 69


TUTORIAL | OpenStreetMap com Potlatch 2

contrar aqui muitas mudanças feitas casos, a configuração padrão de imagens no entanto, as limitações podem supe-
por processamento automático. aéreas do Bing é uma boa escolha. As rar os benefícios. Além de precisar do
O menu Export (exportar) oferece opções de Dim (ofuscar) e Sharpen (au- Flash Player, ele também requer uma
a opção de usar uma parte do mapa mentar a nitidez) gerenciam os detalhes conexão de Internet rápida. De qualquer
que está sendo visualizada de um do plano de fundo. A última opção me- forma, o programa é adequado apenas
modo diferente (figura 9). Podemos lhora substancialmente a visualização. para pequenos projetos.
armazenar os dados do mapa em um O menu Options (opções) inclui Exibir a imagem do mapa pode ser
formato de dados XML e continuar um item de menu para alterar a apa- uma desvantagem – apenas uma pe-
a editar com programas externos. rência do mapa. Normalmente, não quena parte ficaria visível, enquanto o
Também é possível armazenar o pró- precisamos da caixa de ferramentas, resto estaria ocultado por botões. Lon-
prio mapa como um arquivo gráfico e muitas vezes faz sentido escondê-la gos tempos de carregamento quando
com uma escala ajustável, ou gerar da visualização. O editor também é feita movimentação e opções de
o código para uma página HTML tem uma série de atalhos de teclado escala limitada tornam a edição de
embutida mostrando parte do mapa. (tabela 2) para várias funções. áreas maiores quase impossível. Mas,
Os quatro menus no canto superior para adicionar POIs rapidamente, o
direito permitem personalizar o mapa Conclusão Potlatch 2 é incomparável, pois não
para atender às necessidades do usuário: O Potlatch 2 é o editor do OpenStreet- requer instalação, sendo executável
Background (planos de fundo) especifi- Map ideal para iniciantes. É fácil de usar no próprio navegador. ■
ca se o Potlatch 2 deve exibir um fundo e oferece apenas o que este público-alvo
e, se sim, como fazê-lo. Na maioria dos precisa. Para usuários mais experientes, Mais informações
[1] Site do Potlatch 2: http://
wiki.openstreetmap.
org/wiki/Potlatch_2/
[2] Site do Merkaator: http://
merkaartor.be/
[3] JOSM: http://josm.
openstreetmap.de/
[4] Wiki do editor: http://
wiki.openstreetmap.
org/wiki/Potlatch_2/
[5] Mapa de equitação
e caminhada (em
alemão): http://www.
wanderreitkarte.de/

Figura 8 O usuário pode adicionar um breve resumo das suas alterações ao [6] Tags chave: http://wiki.
openstreetmap.org/
salvar o conjunto delas.
wiki/Map_Features/
[7] Tags para turbinas de
vento: https://wiki.
openstreetmap.org/wiki/
Tag:generator:source%3Dwind
[8] Tags para abrigos: https://
wiki.openstreetmap.org/
wiki/Key:shelter_type
[9] Wiki do OSM: http://wiki.
openstreetmap.org/wiki/

Gostou do artigo?
igo?
Queremos ouvir sua opinião.
o nião.
Fale conosco em m
cartas@linuxmagazine.com.br
ne.com
Figura 9 O recurso de exportação possibilita usar diferentes partes do mapa Este artigo no nosso
sso site:
s e:
de formas distintas. r/artic 777
http://lnm.com.br/article/7773

70 www.linuxmagazine.com.br
Conversão de VHS para DVD | TUTORIAL

Conversão de VHS para DVD

Operação

TUTORIAL
fita de video Evite perder preciosas
lembranças e aprenda a
digitalizar gravações antigas
de video, armazenando-as
de forma digital.
por Mirko Dölle

F
itas de video não foram feitas saber o nome do modelo, tornando da placa que foi atribuída à entrada
para durar para sempre. De- difícil a busca por relatórios de uso de audio do seu equipamento de cap-
pendendo do tipo de fita e da atualizados na Internet. Como diz o tura de video: como podemos ver na
forma de armazenamento, já é possí- ditado popular, é bem capaz de você figura 1, o Linux conectou a TerraTec
vel perceber os danos nos videos de comprar gato por lebre. No caso dos Grabby como placa de audio 2 – sen-
família com mais de dez anos. Hora produtos de marca, as mudanças dos do assim, a especificação correta do
de digitalizar os tesouros antigos e, requisitos técnicos durante a produção equipamento no VLC seria, neste
assim, mantê-los protegidos contra a raramente acontecem, mas caso exista exemplo, hw:2,0. Se a entrada de audio
inevitável degradação. Serviços como alguma, normalmente o fabricante de- do seu equipamento de captura não
esse são oferecidos por lojas especializa- signa o produto de forma ligeiramente funcionar, simplesmente conecte o
das, porém o preço para a realização da diferente. Para quem acha muito o cabo de audio na placa de som e di-
tarefa costuma ser relativamente alto, esforço de comprar o equipamento gite seu nome de dispositivo no VLC.
dependendo do tempo de gravação e de captura, testar em casa e, se não Como nosso teste mostra, o suporte
do estado de conservação da fita. funcionar, retornar o equipamento, é ao Linux pelos equipamentos de cap-
Para a digitalização dos videos melhor comprar logo um dispositivo tura e receptores DVB com entradas
antigos será necessário possuir um de alguma marca conhecida. de video analógico é bastante misto:
videocassete ou uma câmera de video O Linux cria para cada equipamen- mesmo os modelos disponíveis há tem-
antiga (que suporte o tamanho da fita to de captura de video um dispositivo pos no mercado são por vezes apenas
a ser convertida) ou um equipamen- /dev/videoX, que pode ser acessado parcialmente ou não suportados. As
to de captura de video ou ainda um pelo VLC Player, por exemplo. Para causas de problemas mais frequentes
receptor DVB equipado com uma isso, inicie o VLC e selecione a op- são a falta de arquivos de firmware e
entrada de vídeo analógica adicional. ção Abrir dispositivo de gravação no versões do núcleo do sistema desatu-
Equipamentos de captura de vi- menu Mídia. O modo de gravação alizados. Todos os receptores DVB e
deo USB baratos já existem a partir correto para quase todos os equipa- equipamentos de captura USB atual-
R$150,00 na Internet, mas receptores mentos de captura é Video para Li- mente disponíveis exigem arquivos de
DVB com entradas de sinal analógico nux 2. Como Dispositivo de Video, firmware especiais, que precisam ser
saem por volta de R$500,00. Testamos digite o nome do equipamento de carregados na inicialização do micro-
no Linux 14 dispositivos atualmente captura, normalmente /dev/video0. processador no dispositivo para que ele
disponíveis comercialmente. Observa- Com o dispositivo de audio a his- possa sempre trabalhar corretamente.
mos especialmente os dispositivos sem tória é um pouco mais complicada: No Windows, isso é feito durante a ins-
marca e nos quais o suporte ao Linux neste caso o VLC espera pela típca talação dos controladores de dispositi-
é raramente informado. Além disso, os notação Alsa, algo do tipo hw:2,0 vo, que também contém o firmware.
chipsets montados mudam com fre- para a primeira saída da placa 2. O No Linux, o núcleo assume essa
quencia, de modo que ninguém pode comando arecord -l lista o número tarefa – dependendo da distribuição

Linux Magazine #97 | Dezembro de 2012 71


TUTORIAL | Conversão de VHS para DVD

a oferta de arquivos de firmware varia mesmo faltando. O nome do arquivo projeto LinuxTV dos desenvolvedores
bastante. Particularmente o Debian tem indisponível normalmente aparecerá do Video-4-Linux sempre ficam para
poucos disponíveis, já que o projeto só imediatamente antes ou depois da trás na lista de prioridades do desenvol-
recebe firmwares livres na distribuição. mensagem de erro, como abaixo: vimento do núcleo principal. Portanto,
Por outro lado, no Ubuntu é possível pode valer a pena baixar os controlado-
drxk: could not load firmware file
instalar o pacote linux-firmware, que dvb-usb-Hauppauge-hvr930c-drxk.fw. res mais recentes do LinuxTV direto do
disponibiliza uma grande variedade Git e compilar você mesmo. Isso não é
deles. Uma vez que ambos usam pa- Procure pelo nome do arquivo do muito difícil graças aos guias existentes,
cotes .deb, usuários do Debian podem firmware em um mecanismo de busca mas requer que o computador esteja
simplesmente baixar o pacote a partir e você vai encontrar quase sempre de com pelo menos algum ambiente de
de um repositório do Ubuntu e instalar forma rápida uma fonte para baixá-lo. desenvolvimento instalado – no Debian
no Debian. Também no OpenSuse a As vezes será preciso extrair o firm- e no Ubuntu você precisa instalar pelo
instalação de arquivos de firmware é ware, no entanto, do controlador do menos os pacotes build-essentials e
bem transparente, portanto mesmo nes- Windows. Você pode achar instruções git-core, junto com todas as depen-
ta distribuição você deveria recorrer ao apropriadas para praticamente todas dências e, posteriormente, todos os
pacote do Ubuntu. Como o OpenSuse as placas receptoras padrão DVB e pacotes de desenvolvimento restan-
usa o formato de pacote .rpm, é possí- muitos outros dispositivos de video tes como usuário root pelo comando
vel simplesmente instalar o pacote dev. no Wiki LinuxTV [1]. apt-get build-dep linux. Finalmente,
Será preciso descompactá-lo primeiro Algumas vezes, a razão para que descarregue os códigos-fonte para seu
com o comando ar x linux-firmware. o dispositivo não funcione não é computador, compile-os e instale-os
deb – os arquivos de firmware poderão exatamente o firmware, mas a fal- com as seguintes linhas de comando:
então ser encontrados no arquivo data. ta de controladores atualizados ou git clone git://linuxtv.org/
tar.gz e deverão ser copiados para o insuficientes no núcleo do sistema. media_build.git
diretório /lib/firmware. Para dispositivos USB, isso pode ser cd media_build && ./build
make install; make load
Entretanto a coleção de firmwares detectado de forma muito simples:
do Ubuntu também está longe de ser primeiro digite em um terminal, A última chamada do comando
completa. A primeira pista para um como usuário root, o comando tail make garante que o módulo controla-
pacote de firmware que está faltando -f /var/log/syslog, e então se conecte dor que acabamos de compilar seja
é quando não há nenhum dispositivo ao dispositivo. O núcleo deverá si- carregado. Isso nem sempre funciona,
de video em /dev/video0 ou quando nalizar um novo dispositivo USB e como quando uma versão desatuali-
recursos individuais não funcionam, deve começar a inicialização do con- zada do mesmo controlador já esteja
como, por exemplo, a entrada de audio. trolador – o que normalmente gera em execução. Para ter certeza de que
Então, é necessário verificar os arqui- dúzias de novas mensagens de log. tudo estará em funcionamento, o me-
vos de relatório de erros em /var/log/ Se, ao invés disso, surgirem apenas lhor é reiniciar o computador. Tam-
syslog ou /var/log/messages e procurar algumas linhas simplesmente anun- bém é recomendado que você faça
pelo termo firmware. Mensagens como ciando um novo dispositivo USB, é uma cópia de segurança dos módulos
Could not load firmware file, firmware bem provável que esse equipamento controladores originais do núcleo do
seems to be missing ou re-quest_firm- específico ainda não seja suportado sistema antes de sua troca. Para isso,
ware unable to locate são sinais claros pelo núcleo em execução. Isto acon- simplesmente crie uma cópia do dire-
de que um arquivo de firmware está tece porque, entre outros motivos, o tório inteiro de módulos do núcleo em
curso no âmbito /lib/modules – desta
forma você poderá mais tarde reaver
os controladores antigos e reinstalá-los
caso um dos módulos experimentais
do LinuxTV contenham um erro e
seu trabalho fique paralisado devido
a um dispositivo ainda não suportado.

Interno ou externo?
Figura 1 O programa arecord mostra uma lista com todos os dispositivo de A principal vantagem dos equipamen-
audio e seus respectivos números de placa. Com ele é possível tos de captura de video USB é que eles
determinar o nome do dispositivo a ser usado com o VLC.
estão a alguns centímetros do campo de

72 www.linuxmagazine.com.br
Conversão de VHS para DVD | TUTORIAL

interferência do PC e, por isso, não há


emissões de radiação de alta frequen-
cia de outros componentes do sistema
na parte receptora analógica do equi-
pamento de captura. Um cabo USB
curto entre o equipamento de captura
e a câmera de video ou o videocassete
também garantem que haverá pouca
interferência por radiação no ambien-
te, o que pode afetar a qualidade final
da imagem. Pela mesma razão, você
também não deve necessariamente
colocar o telefone próximo aos cabos
de video enquanto estiver gravando.
A não ser que você precise necessa-
riamente de receptores DVB para o Figura 2 A mudança da fonte de video no dispositivo de captura pode ser
seu computador pessoal e que digi- feita através da linha de comando. É possível conferir as entradas de
talize videos apenas ocasionalmente, video disponíveis com o comando v4l2-ctl.
recomenda-se a compra de um equi-
pamento de captura USB. recurso de gravação. A clicar nele, o so você deve também remover todos
Se sua fonte de video possuir uma VLC mostrará o fluxo de dados para os cabos do dispositivo de captura de
saída S-Video, você deveria sem o disco de armazenamento. video ligados a outros equipamentos,
sombra de dúvida dar preferência a É possível escolher uma pasta de que também podem estar causando
ela, pois a imagem é muito melhor gravação personalizada nas configu- o zumbido. No entanto, algumas ve-
do que o sinal de video composto rações do VLC, caso necessário. O zes os próprios transformadores de
do conector RCA. O sinal de audio padrão é a pasta de videos dentro da lâmpadas halógenas são a causa; ao
é enviado, em todos os casos, por pasta pessoal do usuário. O VLC sal- desligá-los, o zumbido desaparece e
conectores RCA através do equipa- va, para cada gravação, um arquivo você pode começar a reproduzir os
mento de captura de video ou por um AVI separado nomeado de vlc-record videos em seu computador.
plugue P2 através da placa de som. seguido da data, hora e fonte de gra- Ao digitalizar suas antigas fitas de
Depois de conectar o videocassete vação. Os videos salvos não são com- video você afasta o perigo iminen-
e o computador com um cabo, você primidos e por isso usam cerca de 20 te de perda, mas os DVDs e discos
precisa endereçar o equipamento de MB de dados para cada segundo de rígidos também não armazenam os
captura de video à entrada de video video. Para cortar, editar ou converter dados para sempre. É preciso fazer
utilizada. Depois de reiniciar o sis- os videos, os melhores programas são o cópias desse material de tempos em
tema, todos os equipamentos usam AviDemux, o Kdenlive e o PiTiVi. Para tempos para garantir sua longevida-
por padrão a primeira entrada, que compilar vários videos em um DVD, de. Ainda assim, é muito mais fácil
normalmente é o sintonizador de TV recomenda-se o programa DeVeDe. manter seus filmes de forma perma-
analógico ou entrada composta. Uma É importante que, antes de digita- nente após digitalizá-los, afinal agora
lista das entradas de video disponíveis lizar todos os videos seja verificado se você pode criar quantas cópias quiser
pode ser fornecida pelo comando v4l2- há possíveis problemas de audio, como sem qualquer perda de qualidade. ■
-ctl -n. Para mudar o equipamento um zumbido no filme, e que você
de captura (figura 2) para a entrada precisará resolver antes de continuar. Mais informações
1, digite o seguinte comando: Este zumbido pode ser causado por [1] Wiki LinuxTV: http://
diferentes potências de massa entre os linuxtv.org/wiki/
v4l2-ctl --set-input 1
vários dispositivos, por serem ligados a
Restam agora apenas alguns cliques circuitos diferentes na casa ou operados Gostou do artigo?
igo?
até o ato de digitalizar os videos com o em pontos muito distantes, mas ligados Queremos ouvir sua opinião.
o nião.
VLC: escolha a opção Controle Avan- por um cabo a partir de um para o ou- Fale conosco em m
çado a partir do menu Visualizar, a tro. Na prática, é geralmente suficiente cartas@linuxmagazine.com.br
ne.com
fim de que o VLC mostre seus botões colocar o videocassete ou a câmera no Este artigo no nosso
sso site:
s e:
r/artic 796
http://lnm.com.br/article/7962
com recursos adicionais, incluindo o mesmo filtro de linha do PC. Além dis-

Linux Magazine #97 | Dezembro de 2012 73


PROGRAMAÇÃO | Linguagem Go

Linguagem Go
PROGRAMAÇÃO

Sem exageros
Projetada para a programação de sistema, a linguagem Go,
criada pelo Google, faz o trabalho sem grandes sofisticações.
Uma boa opção para quem é alérgico a exageros.
por Oliver Frommel

Promessa futura
A
linguagem Go não faz falsas simples oferecida por linguagens cada
promessas. Talvez seja exata- No início de 2008, Thompson com- vez mais populares como Python e
mente o que a torna tão in- pletou seu primeiro compilador Ruby com a eficiência e confiabi-
teressante a longo prazo. Em 2007, experimental, que gera o código C. lidade de outras mais “veteranas”
Robert Griesemer, Ken Thompson Ian Taylor começou um pouco mais como C, C++ e Java. Ao fazer isso,
e Rob Pike inventaram o Go por tarde, trabalhando em uma inter- a compilação não vai demorar tanto
estarem descontentes com as lin- face Go para o compilador GCC. tempo como em projetos Java, por
guagens de programação de siste- Perto do fim daquele ano, Russ Cox exemplo. Além disso, a linguagem
mas existentes. Eles não cederam a juntou-se ao projeto Go e o trabalho Go visa lidar com dependências
qualquer das tendências atuais como caminhou um pouco mais rápido. entre bibliotecas externas de uma
programação online assíncrona ou Em novembro de 2009, a equipe forma superior.
computação em nuvem; ao invés finalmente apresentou a primeira A simplicidade é uma das prin-
disso, aprenderam com a experiência versão pública do compilador Go. cipais características do Go; seus
de 30 anos com o C e criaram uma Em março de 2012, a versão 1.0 e a inventores a criaram sem muitas
linguagem de programação capaz especificação foram liberados, pro- construções. Em primeiro lugar, o
de se tornar sua sucessora. Como o metendo compatibilidade com as Go tem como premissa uma sintaxe
C, o Go [1] mostra a sua força na futuras versões do Go [3]. Portanto, consistente e inequívoca. O mesmo
programação do sistema, embora a linguagem agora é adequada para não pode ser dito de linguagens como
a linguagem possa ser implemen- projetos de software genuíno e não Perl, Ruby ou Scala, que usam uma
tada para praticamente qualquer apenas experiências. variedade de construções sintáticas
finalidade. Os inventores da lin- Os objetivos declarados do pro- ou métodos para um único e mes-
guagem são funcionários do Goo- jeto Go são: compilação eficiente, mo propósito.
gle, e o Go fez o seu caminho até o execução rápida e programação O Go é orientado em C mas
Google App Engine assim como o simples. As linguagens existentes omite muitos elementos que, de
Java e o Python; no entanto, o su- não conseguem combinar os três, forma redundante, cumprem a
porte ao Go está atualmente em dizem os inventores do Go, que se mesma finalidade. Por exemplo, o
fase experimental [2]. propõe a combinar a programação Go utiliza apenas a variante Postfix

74 www.linuxmagazine.com.br
Linguagem Go | PROGRAMAÇÃO

Figura 1 Um tour no site oferece aos usuários uma boa primeira impressão da linguagem Go.

do operador de incremento ++, que que a abertura de chaves em um O Go tem apenas um ciclo: o bom
fica atrás da variável. Ao mesmo bloco aparece sempre no final de e velho loop for.
tempo, esta é apenas uma indicação uma linha e não no início da li-
e não uma expressão que pode ser nha seguinte. A ferramenta gofmt Tipos
usada imediatamente abaixo. Em- fornece com os pacotes a verifica- A partir da crescente popularida-
bora isto leve a um pouco mais de ção desta formatação, eliminando de de linguagens como Python
tipagem, garante semânticas claras a necessidade de o programador e JavaScript, os desenvolvedores
e menos confusão. fazê-la e garantindo que o código deduziram que um sistema de ti-
Programas Go são feitos de Go tenha a mesma aparência em pos simples tende a promover a
modo ainda mais claro por meio todos os projetos. popularidade de uma linguagem
de empréstimos de linguagens es- As variáveis são declaradas com a de programação. Como Robert
truturadas como Pascal, Modula e palavra-chave var, seguida do nome Griesemer coloca: “os sistemas
Oberon. Em parte, a sintaxe Go da variável e do tipo, isto é, na ordem de tipo desajeitado conduzem as
foi feita em Newsqueak e limbo. contrária do C, C++, ou Java: pessoas para linguagens com tipa-
Esta última é a linguagem de pro- gem dinâmica” [4]. No entanto,
var x float64
gramação do sistema operacional eles não estavam preparados para
Inferno que, por sua vez, é uma Os nomes de variáveis podem co- sacrificar a confiabilidade que as
ramificação do sistema Plan9, no meçar com qualquer caractere con- linguagens fortemente tipadas ofe-
qual Thompson e Pike trabalha- siderado como uma letra no padrão recem. O compromisso clássico no
ram anteriormente. Unicode. O operador := permite Go é que tipagem forte seja imple-
definir e inicializar variáveis de uma mentada com a inferência do tipo
Claramente formatada só vez. A palavra-chave var pode ser – isto é, qualquer variável tem um
Por exemplo, o Go trabalha sem omitida aqui, como na maioria das tipo fixo, mas o programador não
ponto e vírgula para completar especificações de tipo: precisa especificá-lo se o compila-
instruções (figura 1). Embora vír- dor naturalmente entender o tipo.
i := 1
gulas sejam parte da especifica- pi := 3.142 Ao mesmo tempo, o Go não tem
ção da linguagem, o analisador as uma hierarquia de tipo rigorosa. Na
adiciona de forma independente, Os desenvolvedores Go também visão dos desenvolvedores, isso torna
da forma como a especificação do optaram por uma radical limpeza a implementação de compiladores e
JavaScript faz. Para que isto fun- quando se trata de loops – se olharmos ferramentas mais complicado e leva
cione, os programadores precisam mais de perto, normalmente todos os a discussões intermináveis sobre a
manter o estilo de abertura de whiles, do untils, foreachs, e assim configuração concreta da hierarquia.
chaves especificado, a qual afirma por diante podem ser reformulados. Em vez disso, o Go oferece tipos

Linux Magazine #97 | Dezembro de 2012 75


PROGRAMAÇÃO | Linguagem Go

importantes, como arrays e mapas


(hashes) no núcleo da linguagem.
Ponteiros também existem, mas são
mais parecidos com aqueles em Pas-
cal (isto é, sem a aritmética típica do
ponteiro da linguagem C).
Tipos genéricos que se tornaram
populares no C++, Java, e Python
não são suportados no Go, mesmo
que os desenvolvedores admitam
que possam ser úteis, e sua im-
plementação não está inequivo-
camente descartada em algum
momento no futuro distante. No
entanto, o Go suporta programa-
ção orientada a objetos; a abstra-
ção para isto são interfaces, mas
a interface em Go difere de suas
contrapartes em Java ou Objective Figura 2 Alguns dos pacotes Go.
C. Uma interface especifica um
conjunto de métodos que imple- arquitetura do processador) os co- Isto evita o problema de ter de en-
mentam “objetos” para cumprir mandos 6a, 6c, 6g e 6l - ou os seus contrar as bibliotecas adequadas,
uma determinada função, sem homólogos com os dígitos 5 ou 8. além dos arquivos de cabeçalho, e
pertencer a uma classe comum. As seis ferramentas são para proces- especificá-los durante o processo
Além disso, o Go não tem exce- sadores AMD64, a série 5 são para de vinculação, como é o caso do
ções porque elas causam mudanças processadores 368, e a série 8 são C e do C++. Se um programa Go
incontroláveis no fluxo do progra- para processadores ARM. Os nomes é construído, o compilador pode
ma. Como alternativa, a linguagem estranhos são herdados do Plan9, que também vinculá-lo. Isto significa
oferece valores de retorno múltiplos utiliza esses dígitos para identificar que os problemas de vinculador
para funções, que podem usar um as arquiteturas de processadores. bem conhecidos são coisa do pas-
mecanismo curinga para capturar Convenientemente, na prática, sado. O Go também lida com a
valores de erro. A linha 2 da lista- não temos que nos preocupar com tarefa de makefiles.
gem 1 mostra uma chamada para esses detalhes e podemos simples- Se o usuário tiver instalado o
os.Create(), que ao mesmo tempo mente utilizar o frontend go. Tam- Go corretamente, deve ser ca-
retorna o identificador de arquivo e bém vale a pena mencionar que paz de executar o comando go
um código de erro. objetos gerados pelo compilador no console:
com a extensão .6 contêm referên-
Ferramentas cias a todos os módulos utilizados, $ go version
go version go1
O interessado em programar na lin- que o vinculador segue depois.
guagem Go normalmente só precisa
instalar o compilador; as distribuições Listagem 1: Tratamento de erros
mais recentes do Linux já o possuem 01 for try := 0; try < 2; try++ {
em seus sistemas de gerenciamento 02 file, err = os.Create(filename)
de pacotes. Para instalar no Ubuntu 03 if err == nil {
12.04, digite: 04 return
05 }
apt-get install golang
06 if e, ok := err.(*os.PathError); ok && e.Err == syscall.ENOSPC {
Outros sistemas operacionais, in- 07 deleteTempFiles() // Recover some space.
cluindo Windows e Mac OS X, têm 08 continue
distribuições binárias do pacote Go. 09 }
10 return
Após a instalação, seu disco rí-
11 }
gido irá conter (dependendo da

76 www.linuxmagazine.com.br
Linguagem Go | PROGRAMAÇÃO

Se a instalação do Go não foi compilador). Por fim, uma dica pos curtos de compilação são úteis
adicionada automaticamente ao para a pesquisa online para recursos para grandes projetos. A redução
PATH para arquivos executáveis, Go: em vez de digitar “go” como o no escopo da linguagem a torna
devemos apontar a variável de am- termo a ser pesquisado, use sempre relativamente fácil de aprender e
biente GOROOT para o diretório pai e “golang”. Localmente, poderemos mantém código de terceiros fácil
em seguida adicionar $GOROOT/bin ler toda a documentação no nave- de ler, o que acabará por beneficiar
ao PATH. gador se iniciarmos o servidor de a manutenção de qualquer parte
Pelo fato de programas Go com- documentação, digitando do software.
pilarem muito rapidamente, eles são O preço para essa redução ao
godoc -http=:8000
bem adaptados para chamar scripts, essencial é a ausência de recursos
com certas limitações – isto é, como O Go vem com uma variedade como classes baseadas na orienta-
uma espécie de “faça-você-mesmo”, de bibliotecas (figura 2); é possível ção a objetos, que muitos progra-
compilação no tempo exato. A ferra- encontrar a lista completa em vários madores estão acostumados a ter.
menta Gorun oferece suporte a este sites [8][9][10]. Os maiores projetos O Go oferece vários recursos que
processo [5]. implementados em Go incluem o permitem desenvolvimento orien-
servidor online Falcore [11] e o soft- tado a objeto, mas requer alguma
Avançado ware StatHat [12]. acomodação de novos conceitos. O
Apesar de remover muitas caracterís- Go está previsto para ser implemen-
ticas encontradas em outras lingua- Conclusão tado em um número crescente de
gens, o Go acrescenta características A linguagem Go é madura e, gra- projetos, especialmente na área de
modernas desejadas pelos programa- ças à compatibilidade futura pro- programação de sistema, mas supor-
dores, tais como fechamentos, que metida pelos desenvolvedores, é te no Google App Engine também
no Go são funções anônimas que adequada para projetos de software pode torná-la interessante para uso
salvam o ambiente. profissionais. Além disso, os tem- em programação online. ■
A linguagem atinge o objetivo
declarado de programação simples Mais informações
para sistemas multicore – o Go foi
[1] Go: http://golang.org/
desenvolvido na era pré-nuvem,
quando processadores multicore [2] Go no Google App Engine: https://developers.
eram o considerados o “Santo Gra- google.com/appengine/docs/go/
al” – com uma abstração chamada
goroutines, que segue o modelo de [3] Post sobre o lançamento da primeira versão do Go: http://
blog.golang.org/2012/03/go-version-1-is-released.html
processos de comunicação sequen-
ciais (communicating sequential [4] Robert Pike no GoogleTechTalks: http://www.
processes, ou CSP) para facilitar a youtube.com/watch?v=rKnDgT73v8s
programação sujeita a erros com
threads [6]. [5] Gorun: http://wiki.ubuntu.com/gorun/
Para ler mais, confira o documen- [6] CSP: http://www.usingcsp.com/cspbook.pdf
to online “Go Efetivo”, que mostra
algumas soluções “idiomáticas” [7]. [7] Go Effective: http://golang.org/doc/effective_go.html
Uma variedade de livros sobre Go
[8] Bibliotecas escritas em Go puro: http://go-
foram publicados, e mais ajuda
lang.cat-v.org/pure-go-libs/
está disponível na lista de discus-
são golang-nuts (a lista golang-dev [9] Biblioteca bindings para Go: http://go-lang.
é destinada a desenvolvedores do cat-v.org/library-bindings/

Gostou do artigo?
o? [10] Projetos externos Go: http://godashboard.appspot.com/
Queremos ouvir sua
a opinião.
[11] Falcore: http://ngenuity.ngmoco.com/2012/01/
Fale conosco em
introducing-falcore-and-timber.html
cartas@linuxmagazine.com.br
zine.com.
Este artigo no nosso
so site:
sit [12] Construindo StatHat com Go: http://blog.golang.
http://lnm.com.br/article/7949
articl 949 org/2011/12/building-stathat-with-go.html

Linux Magazine #97 | Dezembro de 2012 77


Calendário de eventos Índice de anunciantes
Empresa Pág.
Evento Data Local Informações
IBM 02
SERVIÇOS

28 de janeiro a http://www.campus-party. Senac 07


Campus Party 2013 São Paulo, SP
3 de fevereiro com.br/2013/index.html
Central Server 11

http://www.linuxnewmedia. Locaweb 13
/sys/dev 2 e 3 de março São Paulo, SP
com.br/sysdev/
Impacta 15

Plusserver 18, 19
http://www.webexpoforum.
Web Expo Forum 3 e 4 de abril São Paulo, SP
com.br/ TeHospedo 31

UOL Host 45
http://www.gartner.com/
Gartner Data
9 e 10 de abril São Paulo, SP technology/summits/ Vectory 57
Center Summit
la/data-center/
c’t 80

http://www.bitsouthamerica. WatchGuard 83
BITS 2013 14 a 16 de maio Porto Alegre, RS
com.br/
Locaweb 84

Já chegou ao Brasil
a maior revista da Europa
pa
de informática e tecnologia
ogia

computação
e tecnologia

Adquira o seu
exemplar pelo site

www.lnm.com.br/shoppingg
80 www.linuxmagazine.com.br
Conheça a coleção Academy
da Linux New Media
Os livros da Coleção Academy são roteiros práticos e
objetivos, com didática adequada tanto ao profissional
quanto ao estudante da área de TI.

Paulo Henrique Alkmin da Costa Luciano Antonio Siqueira


Luciano Antonio Siqueira

Infraestrutura Samba: Máquinas


de Redes com Windows virtuais com
e Linux VirtualBox
Como permitir a comunicação de diferentes sistemas operacionais em rede: Windows, Administração de infraestrutura de Criação de diferentes modalidades de
Passo a passo da montagem de uma rede Configuração e manutenção de serviços máquinas virtuais com Sun VirtualBox®. conexões virtuais, exportação/importação
Linux, Mac OS X etc. Definição de compartilhamentos de arquivos, impressoras – incluindo
de computadores, desde o cabeamento essenciais como DNS, compartilhamento Como trabalhar com sistemas operacionais de máquinas virtuais e criação de pontos
a instalação automática de drivers – e utilização do Samba como controlador de domínio
e roteadores até a configuração das de arquivos e acesso remoto. – Windows, Linux etc – na mesma máquina de recuperação (snapshots).
(PDC) também para clientes Windows Vista e Windows 7.
máquinas clientes. e simultaneamente.

O conteúdo e o formato dos livros foram desenvolvidos a partir da experiência prática e


educacional de seus autores, com foco principal no desenvolvimento de competências,
através de conceitos, exemplos detalhados e dicas de quem realmente entende do assunto.
O material é indicado tanto para autodidatas que desejam se aperfeiçoar quanto para
utilização em escolas. O professor irá se sentir confortável para desenvolver as atividades a
partir do livro, que procura atender tanto à expectativa do aprendiz quanto à demanda
profissional do mercado de TI.

Disponível no site www.LinuxMagazine.com.br


Linux Magazine #98
PREVIEW

Windows 8
A Microsoft está lançando uma
nova versão do Windows e nós
estamos lançando uma nova edição
da Linux Magazine, que ajudará o
administrador de redes e sistemas
a interoperar entre o novo sistema
operacional da Microsoft e o
Linux. Aprenda a trabalhar com
Windows 8 e Samba em redes
mistas, criar um ambiente dual
boot com Linux e Windows 8 e
saiba ainda como utilizar sistemas
de arquivos Linux com esta nova
versão do Windows. ■

Admin Magazine #09


OpenStack
Capaz de gerenciar os componentes
de múltiplas instâncias virtualizadas,
o OpenStack é um dos queridinhos
dos profissionais de infraestrutura
e virtualização da atualidade. É li-
vre, não possui restrições quanto à
quantidade de instâncias e é uma
plataforma robusta, extremamente
útil nestes tempos onde o adven-
to da computação em nuvem já é
uma realidade. Na próxima edi-
ção da Admin Magazine você vai
conhecer tudo o que essa incrível
ferramenta pode fazer por você!
Não perca!

82 www.linuxmagazine.com.br

Você também pode gostar