Revista LM01
Revista LM01
Revista LM01
Finalmente...
Prezado leitor, prezada leitora da Linux Magazine,
CD-ROM do Mês
O CD-ROM que acompanha a Linux Magazi-
ne este mês traz uma versão customizada
do Kurumin, desenvolvida especialmente
para esta edição. Ele é o Kurumin 3.0d acres-
cido dos seguintes pacotes, entre outros*:
• dhcp3-server - Servidor DHCP
• ethereal - Analisador de pacotes de rede
• iptraf - Ferramenta de análise da rede
• mrtg - Monitor do desempenho da rede
• mtr - Ferramenta de análise da rede
• netcat - Canivete suíço do “networker”
• nmap - “Port Scanner”
• tcpdump - Analisador de pacotes TCP
• traceroute - Analisador de rotas da rede
• vncserver - Servidor VNC
• nessus/nessusd - Analisador de segurança
A coletânea de software disponível no CD-
ROM possibilita ao leitor utilizar o conheci-
mento adquirido nesta edição da Linux
Magazine, mesmo que ele não disponha de
Linux instalado em seu PC: basta inicializar o
sistema diretamente a partir do CD e todas
as ferramentas necessárias para praticar es-
tarão à disposição do experimentador inte-
ressado. Divirta-se!
______
*Para uma lista completa veja o conteúdo do CD.
Microsoft x Governo
Microsoft leva à justiça o diretor-presidente do Instituto Nacional de Tecnolo-
ware Livre, que chega à mídia não especializada. LM foi ouvir os dois lados.
T
omando como base uma entrevista única empresa. Isso agora acabou. E na
dada por Sérgio Amadeu da Sil- minha opinião eles erraram ao tentar uti-
veira, atual presidente do Instituto lizar o caminho legal para resolver um
Nacional de Tecnologia da Informação problema de tecnologia, através de uma
(ITI) e um dos maiores defensores do ação judicial que teve caráter puramen-
Software Livre no governo, à revista te intimidativo.
CartaCapital em março, na qual a prática LM O que você achou da reação da
de doação de licenças de software é com- comunidade de usuários e desenvolve- Figura 1: Sérgio Amadeu da Silveira, presidente do
parada com “prática de traficante”, a Mi- dores de Software Livre (SL) à notícia do Instituto Nacional de Tecnologia da Informação.
crosoft entrou com um pedido de processo?
explicações na 3a Vara Judicial de Baru- SA A comunidade respondeu com muita rede, de modo que se avançarmos bas-
eri. força e mostrou que o SL não depende tante agora, o SL vai se espalhar.
Amadeu, após consultar seus advoga- do governo e que não é o fato de se LM Como superar a dominância da uti-
dos, já declarou que não irá responder perseguir alguém isoladamente que vai lização do software proprietário no go-
ao que considera uma “provocação judi- modificar a realidade de que o fim do verno?
cial inusitada e descabida”. monopólio na área de software é um fato SA Com pioneirismo. No Brasil, há
A seguir leia a entrevista que o presi- irrevogável. Uma vez eu estava dando algum tempo atrás, quando a gente
dente do ITI cedeu à Linux Magazine, uma entrevista no programa do Paulo chegava para falar da alternativa SL o
bem como a nota oficial que a Microsoft Henrique Amorim e ele me perguntou se pessoal questionava quais implemen-
divulgou a respeito da ação judicial que estávamos prontos para enfrentar a tações daquele tipo já existiam; ou se
está movendo contra ele. Microsoft. Ora, o que eu acho é que tais ferramentas eram suficientes para
“eles” é que não estão preparados para atender às necessidades do projeto.
Processo enfrentar a comunidade. Assim percebemos no governo que tí-
LM (Linux Magazine) Qual a sua LM Qual é o plano de migração do go- nhamos que criar “cases”, tomando
posição em face da ação judicial que a verno federal? decisões que não visam prejudicar ne-
Microsoft está movendo contra você? SA Nós temos cerca de 300.000 desk- nhuma empresa, mas que abrem um
SA (Sérgio Amadeu da Silveira) Eu tops para migrar. O processo de migração novo espaço de desenvolvimento. São
sempre tive uma postura e uma partici- é dividido em três passos: projetos que vão desde o apoio à comu-
pação afirmativa em todas as minhas 1. Novas estações de trabalho irão “ro- nidade que deseja uma implementação
atividades junto ao ITI e dentro do go- dar” utilizando SL. Aí é que aparecem livre da linguagem Java, passando pela
verno. Nunca chamamos nenhum jor- alguns problemas de compatibilidade, TV Digital, sistemas de gestão para
nalista para atacar qualquer empresa; tais como plugins que só funcionam municípios e projetos de inclusão digital
muito pelo contrário. O que acontece é no Windows, etc. Mas o problema sustentável (que para ser sustentável
que apoiamos um modelo baseado no aqui não é tecnológico, e sim cultural. tem que ser baseado em SL).
compartilhamento do conhecimento pla- Mais ou menos 4 a 5 mil estações já LM E como fica a questão de custos. Há
netário, o que não vai de encontro aos estão funcionando assim. diminuição palpável? A Microsoft cos-
interesses de alguns, mormente daqueles 2. Novas soluções e sistemas são imple- tuma alegar que os custos com licenças
que detém posições de dominância e mentados como SL, sob a GPL e multi- correspondem apenas a 4% do custo de
apostam na manutenção da reserva de plataforma (ou como aplicação web). um projeto e que o TCO de seus sistemas
mercado de software e de monopólios. 3. São migrados em primeiro lugar os sis- é melhor devido a uma menor necessi-
Porque no nosso país existia uma reserva temas que impeçam os dois passos dade de treinamento. Como você encara
de mercado para o monopólio de uma anteriores, o que gera um efeito em tal argumentação?
O Salto Global
Empresa de origem brasileira, a hoje internacional Cyclades é um grande
E
mpresa nascida no Brasil e proje- cação de dados era voltado para main- tações sobre a importância de ter um
tada internacionalmente graças ao frames. Foi quando pensamos em usar business plan (planejamento que define
crescimento da Internet e ao uso do nossa experiência para desenvolver apli- os rumos e o processo de evolução de
Linux em seus produtos, a Cyclades é cações e produtos para PCs. um negócio), o que nunca havia nos o-
um exemplo claro de que é possível LM O que levou vocês a mudar a empre- corrido. Só sei que foi preciso muita mo-
desenvolver negócios de forma consis- sa para os EUA? tivação para não desistir naquela época.
tente com plataformas abertas. Seus DD Em 1991 nós tivemos o fim da reser- LM Reza a lenda que Phil Hughes, então
equipamentos, que incluem de rotea- va de mercado. Sabendo que em breve o editor do Linux Journal teria influenci-
dores a soluções para gerenciamento de mercado brasileiro seria invadido por ado vocês a testar o sistema? Como foi
data centers, são utilizados por mais de produtos importados, decidimos apostar que o Linux entrou na vida da Cyclades?
oito mil clientes em todo o mundo. Mas que éramos capazes de criar tecnologia e DD Existem ocasiões na vida em que a
o sucesso exige, além de trabalho duro, não apenas atuar como revendedores ou sorte nos sorri, ou uma oportunidade
visão e um leque de serviços consistente distribuidores, que foi o destino de mui- aparece. Mas as coisas só acontecem se
para atender às necessidades das empre- tas empresas brasileiras daquele tempo. você junta a percepção com uma ação
sas, como nos diz Daniel Dalarossa, CEO E tínhamos uma pretensão ousada: criar coordenada. Foi assim que aconteceu
da empresa, nesta entrevista exclusiva uma máquina de comunicação usando conosco: em 1993, quando o Phil veio
que ele concedeu à Linux Magazine na EISA, um tipo de barramento que parecia falar conosco, o Linux não era nada, mas
matriz da empresa, na Califórnia. Prestes promissor na época. nós vimos uma chance de ganhar um
a inaugurar seu mais recente escritório LM Como foi essa fase? Qual era o prin- mercado que estava tomado por empre-
internacional, na Coréia, o executivo fala cipal desafio? sas como a MaxSpeed e a Digi Interna-
da história da empresa, cuja origem DD Foi uma fase muito difícil. Enquanto cional – que mais tarde se tornaria um
remonta a uma garagem em São Paulo, eu trabalhava fazendo contatos e bus- OEM da Cyclades. Ele veio até nós e nos
do papel do Linux em seu crescimento e cando oportunidades, o John ficava mostrou a oportunidade que o Linux
das diferentes visões sobre o Linux entre segurando a barra e praticamente sub- trazia e tivemos a vantagem adicional do
nos mercados brasileiro e norte-ameri- sidiando toda a operação com seu tra- timing. Estávamos no início da explosão
cano, entre outros assuntos. balho a partir do Brasil. Para promover da Internet e pequenos provedores usa-
LM (Linux Magazine) O que motivou nossa idéia, precisávamos adquirir co- vam algumas placas para fazer a ligação
você e seu sócio, o também brasileiro nhecimento, fechar acordos. O duro era adequada de modems. Nós tínhamos
John Lima, a montar a Cyclades? Como chegar às empresas dizendo que querí- uns seis modelos que faziam isso e – de
era o primeiro produto da empresa? amos comprar tecnologia, sendo pratica- novo, mérito do John – pegamos a mais
DD (Daniel Dalarossa) Nós dois vín- mente desconhecidos. E foi assim até barata desenvolvemos um “driver” para
hamos da Digirede e, na época, percebe- que chegamos à então TMC, uma empre- Linux para ela, o que fazia o preço final
mos a oportunidade de montar placas sa chinesa que vendia placas-mãe para chegar a US$ 99,00. Ela tinha algumas
para conectar PCs. Nosso primeiro pro- PCs e lá conseguimos mostrar o que nos- limitações, pois só funcionava até uma
duto, o Cyclom-8, era uma placa de da- sos produtos podiam fazer. Foi quando certa velocidade, mas ajudou a promover
dos projetada pelo John e cujo software fechamos um acordo para a troca de tec- as vendas de outro produto, um pouco
eu desenvolvi a partir do UNIX da SCO. nologias, mas estávamos tão desprepara- superior, com preço de US$ 199,00. Só
Essa placa permitia ligar o computador a dos que tudo estava em português. para comparar, os produtos equivalentes
periféricos como impressoras ou caixas Tivemos então que fazer a tradução do de outros fabricantes chegavam a custar
registradoras. É importante lembrar que software, do código fonte e da documen- US$ 500,00. Só que vendíamos a placa e
estávamos no início dos anos 90 e muito tação para o inglês. O executivo dessa dávamos o software, o que, combinado
do que existia em termos de comuni- empresa, aliás, foi quem nos deu orien- ao preço, fez nossos produtos serem ado-
tados por clientes em inúmeros países. LM Qual é o tamanho atual da empresa? LM Mas nem todo mundo tem essa con-
Mas no início tivemos que aturar muitas DD Nosso faturamento neste ano deve fiança. No Brasil, o Linux ainda enfrenta
piadas de gente que nos ligava criticando ficar entre US$ 40 e US$ 50 milhões . É grande resistência em muitas empresas.
a escolha de um OS de “estudantes”. um bom resultado, mas ainda estamos DD O Linux é uma tecnologia madura.
LM Foi quando a empresa cresceu? longe da líder no mercado de produtos Mas muita gente não está preparada para
DD Seguramente o grande salto foi a par- de disponibilidade para servidores que é a verdade. Isso tem a ver com a maturi-
tir daí. O mérito desse crescimento foi a Avocent, dona de um faturamento dade das ofertas e com as características
todo do John, que elaborou um plano de anual de US$ 300 milhões. Temos 8 mil locais de mercado. O mercado Windows
vendas que foi muito bem executado. A clientes no mundo que já compraram e é muito forte no Brasil, assim como é nos
partir de 1995, criamos placas digitais de continuam comprando Cyclades. 85% Estados Unidos. Só que aqui, os críticos
roteamento, as chamadas “Router Kil- das 100 maiores empresas da lista da estão ficando mais cautelosos, principal-
ler”. A proposta era: para que comprar revista Fortune são clientes nossos, in- mente com o avanço do Linux em ban-
um roteador Cisco se você pode comprar cluindo aí grandes bancos e outras cor- cos e a adoção da plataforma aberta para
uma placa Cyclades, colocá-la num PC porações. Mais ou menos metade de inúmeras aplicações corporativas.
com Linux e conseguir fazer a mesma nossas vendas vêm dos Estados Unidos e LM Como resumiria o papel do Linux
coisa pela metade do preço? Crescemos 35% do mercado europeu. Temos 250 para a Cyclades?
muito vendendo placas Cyclades para funcionários no mundo, 70 deles no Bra- DD O Linux é uma tecnologia funda-
Linux. O engraçado é que vendíamos sil, e escritórios em 14 países. mental para nós. É uma plataforma
muito bem em Windows. A projeção LM Qual é o Linux que roda dentro dos estável, que pode ser moldada de diver-
conseguida nos fez fechar bons acordos equipamentos da Cyclades hoje? sas formas e a diversidade de produtos
com empresas como o Wal Mart. Em DD Nos usamos um kernel da Monta- que criamos é uma mostra dessa flexibil-
1999, eles compraram 2500 placas para vista, uma distribuição de “embeded Li- idade. Mas fizemos tudo isso baseado
automatizar aquelas máquinas de tocar nux” (quando o sistema é embutido em numa estrutura sólida de serviços: con-
CDs nas lojas (o Wal Mart é a empresa um equipamento). Mas, em breve, deve- tinuamos seguindo o que determina a
que mais vende CDs nos EUA) e também mos ter nossa própria distribuição. GPL, o que não é feito por muitas empre-
equipamos a parte de produção da Na- LM Como são definidas as linhas de pro- sas. Você pode ir até o site da Cyclades
tional Semiconductors com placas Cycla- duto que receberão maior investimento? baixar o código fonte dos produtos.
des rodando em Windows. Tais projetos DD Pesamos as necessidades mais críti- LM Mas isso não permite que outras
exigiam drivers para Windows e outros cas dos clientes e buscamos sofisticar o empresas fabriquem equipamentos idên-
sistemas operacionais, mas nosso mar- atendimento a essas demandas. Entre ticos aos seus?
keting era todo em cima do Linux. nossas linhas de desenvolvimento temos DD Há uma empresa coreana que copiou
LM Quando foi que surgiram estes pro- dado destaque à de power management, nossos produtos, chamada Sena. Sim, é
dutos mais corporativos, como os usados com a plataforma Alterpath. Apostamos possível fazer isso; mas uma coisa é
na administração de data centers? no aumento de recursos dessa solução e copiar um produto, outra é criar uma
DD Estes produtos de administração e a- na automação do maior número de tare- estrutura de atendimento que dê su-
cesso remoto surgiram para atender à fas de detecção e correção de erros, para porte, respaldo, confiança enfim, aos
demanda de alguns clientes. Em 1999, o facilitar a vida dos operadores e aumen- produtos que você fabrica e vende.
Yahoo, que já vinha comprando produ- tar a disponibilidade dos equipamentos. LM Que conselho daria às pessoas e
tos nossos desde 1997, nos chamou para LM As parcerias são importantes para empresas que querem prestar serviços
uma reunião em que nos pediam algu- alavancar os negócios de uma empresa com o Linux?
mas alterações em uma de nossas placas que usa a plataforma Linux? DD É muito importante ouvir o que o
para atender às especificações deles. Ao DD Depende das características de cada mercado tem a dizer e adequar as ofertas
estudar o pedido, vimos que eles que- mercado. Em regiões como Brasil, Japão às necessidades reais dos clientes. Sem
riam embutir a placa nos racks de servi- e Austrália, lidamos com distribuidores e essa sensibilidade, será difícil perceber
dores. Eles usavam a porta console para revendas, que precisam ser treinados reais oportunidades de negócio ou mes-
gerenciar servidores remotamete. Imagi- para saber vender e dar suporte aos pro- mo atender à demanda do mercado.
ne uma empresa de Internet, com cente- dutos, o que os eleva à condição de LM É verdade que os funcionários mais
nas de equipamentos, sempre tendo que “Cyclades Certified Partners”. Em outros velhos ganham um carro?
deslocar técnicos para reparos ou manu- mercados, adotamos o modelo de vendas DD É verdade (risos). Mas é um carro
tenção. Com o nosso produto, eles fazi- diretas, que responde por 60% do total popular, ou seja, que custa entre 10 e 15
am tudo isso de maneira centralizada. de vendas. Parcerias são importantes, mil dólares no mercado norte-ameri-
Ao desenvolver este produto, usamos o pois ajudam a compor soluções atraentes cano, para quem completar 10 anos na
feedback de outros clientes e embutimos para os clientes finais. Fechamos uma Cyclades. Foi a forma que encontramos
o Linux dentro de uma solução que parceria internacional com a HP, através de premiar a fidelidade dos funcionários,
podia trazer mais disponibilidade para os da qual todos os clusters Linux da em- afinal, não é fácil permanecer tanto
data centers, permitindo evitar e corrigir presa virão com um gerenciador de porta tempo em uma mesma empresa na área
no menor tempo possível os problemas console Cyclade instalado, o que atesta a de tecnologia. Instituímos isso em 1998 e
de infra-estrutura nas redes. confiabilidade dessa tecnologia. até agora 7 carros foram dados. ■
Guia de Migração
Colocado sob consulta pública por ocasião do 5º Fórum Internacional de Soft-
ware Livre (FISL), guia é uma referência de migração para Software Livre para o
E
m meio a todo o debate que cerca PCs ociosos numa nova abordagem com-
os estudos sobre a adoção do soft- putacional. Embora polêmico, o grande
ware livre no Governo, uma das ganho do Linux não está nos desktops,
vozes mais sóbrias é a do Secretário de mas nas atividades de back office.
Logística e Tecnologia da Informação LM Existem análises que comprovem a
Rogério Santanna. Com sua pasta ligada redução de custos com o Linux?
ao Ministério do Planejamento, Orça- RS As análises que temos são pontuais,
mento e Gestão, Santanna é um dos mais segmentadas por projetos. Mas em geral
importantes articuladores do incentivo à segue-se o mesmo raciocínio aplicado a Figura 1: Santanna, Secretário de Logística e TI
utilização do software de código aberto soluções corporativas: um terço do custo
no Governo Federal e um dos coorde- é hardware, um terço do custo é software conviver com padrões proprietários?
nadores do “Guia Livre. Referência de e um terço é consultoria. A porção soft- Dificilmente. Porque quando alguém
Migração para Software Livre do Go- ware é reduzida pois eliminamos a licen- propor uma inovação que gere um tal
verno Federal”, documento de 150 pági- ça do sistema operacional. Claro que se ganho de produtividade que justifique os
nas, elaborado por mais de 60 técnicos gasta um pouco mais em consultoria, investimentos, aí valerá a pena correr o
de vários departamentos do governo e pois a solução vai exigir um grau maior risco de ir para a solução proprietária.
que traz informações técnicas que visam de adaptação, de customização. A van- LM E como as empresas estão reagindo à
facilitar a vida dos gestores de tecnologia tagem, no entanto, não está na análise tendência governamental em apoiar o
em órgãos públicos ao migrarem para o de curto prazo, mas no longo prazo, Software Livre?
Linux e que foi apresentado ao público onde quebramos os custos de aprisiona- RS Acho que as empresas estão mais
pela primeira vez durante o 5º FISL. mento. Isso funciona da seguinte forma: assustadas do que deveriam. Mesmo que
Em entrevista à Linux Magazine, San- empresas fornecem soluções para o Gov- todo o setor público se decidisse pela mi-
tanna falou sobre a importância do Soft- erno que acabam criando um custo a gração para o Software Livre em todos os
ware Livre para o País e sobre novos mais se decidirmos mudar, abandonar lugares, ele não conseguiria, porque não
modelos computacionais, mais adequa- aquela plataforma. É aí que os fornece- há força de trabalho suficiente no país
dos a países emergentes como o Brasil, dores ficam gananciosos e cobram mais para isso. Mas, seguramente, quem for
entre outras questões. caro pelo uso da tecnologia. Ou seja, as ganancioso, sairá perdendo. O que as
LM (Linux Magazine) O Software Livre empresas que vendem para o governo, empresas precisam fazer é pensar no
realmente atende às atuais necessidades sabendo que podem ser preteridas em nível de apropriação que estão propondo
do Governo Federal? função do Linux, se tornam mais e, se exagerarem na dose, serão os
RS (Rogério Santanna) Atende a todas flexíveis nas negociações. primeiros a ser substituídos.
as necessidades. Pode-se encontrar solu- LM Nesse caso, o software proprietário LM O Guia de Migração será restrito aos
ções de todos os tipos em plataforma poderia ficar oneroso com o tempo? órgãos governamentais ou também po-
aberta, mas tudo vai depender da ade- RS Exatamente. Na verdade a estratégia derá ser usado por empresas perten-
quação técnica. Nem sempre a solução de marketing dos fornecedores, que vai centes ao setor público?
livre será a melhor alternativa. Mas o continuar existindo apesar do software RS O Guia poderá ser usado pelas
Linux é muito importante, pois pode ter livre, é facilitar a entrada numa determi- empresas públicas e privadas. A idéia do
usos absolutamente inovadores dentro nada tecnologia e depois dificultar a Guia é de facilitar a migração,
do Governo Federal, permitindo realizar saída. E a estratégia de quem compra é fornecendo um modelo estruturado do
computação de alto nível como o proces- fugir desse roteiro. É onde os padrões que deve ser considerado para a migra-
samento distribuído ou na computação são importantes, onde o Linux é impor- ção, como por exemplo documentação,
sob demanda, dando uso a incontáveis tante. Isso significa que vamos deixar de estratégias e todo um conjunto que visa
dentro do Governo Federal e que faz par- de empresas e ter mais concorrência e maneiras usuais de pensar o grande
te do nosso esforço maior, geral, de criar qualidade, além de democratizar todo o porte. Veja, o caso do sistema de paga-
informação, documentação e especial- negócio. Claro que, naturalmente, quem mento da União lida com um milhão e
ização. O Software Livre é um vetor de é atingido direta ou indiretamente por meio de contribuintes e mais de oitenta
mudança se tivermos agentes capazes e essas mudanças acaba reagindo. bilhões de Reais em dinheiro. Aí vem a
suficientes para realizá-la. LM Mas isso significa que, numa pri- pergunta: ele precisa necessariamente
LM Essa é uma ação pluripartidária ou meira, fase será necessário um grau ma- rodar em um ambiente de mainframe? Se
está ligada aos grupos ligados à base ior de internalização? olharmos de perto o sistema, veremos
política do Governo? RS Em alguns casos sim. Por exemplo, o que ele faz 250 folhas de pagamento di-
RS Ela é pluripartidária. Temos gover- Ministério de Planejamento passou ao ferentes e que existem dados agregados.
nadores de grupos que não são da base Serpro o sistema de planejamento que Se eu distribuísse essa carga em 250 sub-
do governo e que têm endossado essas antes rodava numa empresa privada e sistemas com processadores indepen-
iniciativas, até porque o Estado Brasilei- este é um dos sistemas mais importantes dentes eu poderia obter ganhos. Ou seja,
ro precisa racionalizar seus gastos com se a aplicação fosse pensada para ser
urgência, o que é, aliás, uma cobrança desmembrada, ou “distribuída”, poderia
da sociedade, cobrança da qual a área de rodar em plataformas menores com cus-
TI não pode escapar. tos mais atraentes.
LM Como fica a questão de internaliza- Assim, o problema então não está no
ção de serviços? O Governo não seguia a tamanho da aplicação mas na qualidade
tendência de concentrar sua atenção em do projeto que vamos fazer e daí a
atividades-fins? importância de ter gente qualificada para
RS Ao longo da história do Estado cuidar disso. E não adianta ter projetos
Brasileiro, fomos perdendo coisas e o ruins de Software Livre. Temos que ser
Governo anterior, por exemplo, tinha a criativos e elaborar sistemas mais leves e
idéia de que a privatização era a solução. mais baratos, adequados aos países
Eu não tenho nada contra a terceiriza- pobres. Daí podemos fornecer soluções
ção, desde que ela seja feita por quem para outros países que enfrentam dificul-
entende do negócio. Se você terceiriza dades como as nossas. Temos que nos
áreas que estão ligadas diretamente à libertar de paradigmas intensivos em
cadeia de valor do que você faz, você hardware e desprovidos de inteligência.
arrisca o negócio. No caso do Estado, LM O que falta ainda ser discutido na
isso compreendeu perder a inteligência, arena do Software Livre?
a gestão do processo. E como a admi- RS O que não custa reforçar é que o
nistração pública pode tomar decisões Figura 2: Guia Livre, documento que o Governo debate que nós fazemos em cima do
sobre o cidadão com base em sistemas Federal colocou sob consulta pública no 5º FISL. Software Livre é mais profundo e por
de informação dos quais ele não pode isso ele tem causado essa verdadeira
sequer explicar o funcionamento? Se a do governo. No ano passado tivemos comoção junto aos fornecedores. Ele é o
gente não sabe como o código foi feito, vários problemas de integração e que debate sobre o compartilhamento e a
as regras de negócio utilizadas, não atrapalharam o andamento da aprovação gestão do conhecimento no futuro, um
sabemos se há mal uso das informações da lei orçamentária. E eram feitos em debate vital para países periféricos como
ou recursos públicos. empresas privadas e isso não trouxe me- o nosso, esses que estão ao Sul, abaixo
A gestão federal anterior optou por lhorias para o processo. Essa forma frag- da linha do Equador, e que não estão no
esvaziar as empresas públicas, e as mentária levou a inúmeros problemas e mapa da microeletrônica mundial.
empresas de tecnologia como o Serpro e é o que está me levando a propor um De nada adiantará termos ganhos
a Dataprev ficaram excluídas de recur- padrão mínimo de interoperabilidade enormes na agricultura se a cada vez
sos para modernização. Então havia dentro do Governo, uma norma que per- tivermos de pagar mais sacas de soja
muito dinheiro disponível, mas poucos mita um mínimo para o fluxo de dados para cada licença de software. O padrão
bons projetos na área de tecnologia. dentro do setor público. de troca é determinado por quem detém
Então precisamos rever essa questão LM E como fica a capacitação dos o poder econômico e devemos lutar por
porque não é só dos grandes fornece- fornecedores de software livre para regras que nos sejam mais favoráveis. E
dores que o Governo Federal é depen- processamentos críticos e de grande é absolutamente legítimo que o façamos.
dente. Precisamos, portanto, comprar porte? Serão capazes de fornecer suporte Afinal, só assim estaremos defendendo
melhor. Comprar tecnologia de uma em momentos de grande demanda? os nossos interesses e contribuindo para,
forma em que não abandonemos o con- RS É por isso que eu defendo a dis- finalmente, ter o controle do conhe-
trole sobre o processo. Se comprássemos cussão de novos modelos computa- cimento e o domínio da tecnologia que
componentes e objetos em vez de soft- cionais. Para abordar o processamento poderá até mesmo elevar o país à catego-
ware, conseguiríamos democratizar o de grande porte com eficiência. Às vezes ria de exportador de soluções em Tec-
mercado para um universo muito maior ficamos engessados em relação às nologia da Informação. ■
Caiu na Rede...
O computador isolado é uma espécie em extinção. Máquinas sem uma conexão com o mundo exterior estão rapida-
mente se tornando coisas do passado. Redes locais, conectadas os não à Internet, facilitam o trabalho e oferecem
D
isquetes eram uma coisa comum parece estar a apenas um passo dos di- blemáticas. Neste caso, ferramentas co-
até poucos anos atrás. Talvez vo- nossauros. Hoje em dia, o livro de re- muns do Linux são de grande ajuda.
cê ainda se recorde de quando ceitas foi substituído por um laptop na Embora elas possam, a princípio, parecer
usava disquetes para distribuir planilhas, cozinha, o seu “aparelho de som” nada desconfortáveis, tais ferramentas estão
transportar o último capítulo de sua tese mais é que um cliente que recebe presentes em quase todas as distribui-
de mestrado do laboratório da universi- arquivos MP3 de um servidor central no ções, embora em alguns casos você
dade para casa ou para trocar as últimas armário da bagunça, e nem é preciso tenha de instalá-las manualmente.
notícias com os amigos. dizer que os meios de comunicação são E quando sua rede estiver funcionan-
Olhando pra trás, esse tipo de “rede” inteiramente eletrônicos. do, você pode começar a distribuir tare-
Enquanto os escritórios ainda usam fas a máquinas individuais que vão ben-
CAPA fios, as redes sem fio continuam seu eficiar toda a rede, como por exemplo
crescimento em escritórios domésticos e um servidor DHCP ou de impressão. ■
Tecendo a Rede .................20
No momento em que você conecta sua má-
redes familiares. Após organizar a parte
quina a uma rede, não só se espera que você física da rede, é hora de escolher o soft-
saiba tudo sobre ela, mas também sobre a ware. Cada máquina na rede precisa de
forma como ela se comunica com o mundo. um endereço único; ela precisa saber em
Ferramentas comuns podem ajudá-lo. que rede reside, e qual computador ela
deve consultar se precisar enviar dados
Rede sem Estresse .............24
Adicionar máquinas a uma rede significa para fora da rede local.
mais trabalho de configuração. Uma solução
usando um servidor DHCP para atribuir A escolha é sua
endereços IP e outros valores às estações dá Suas opções são configurar do-
fim às dores de cabeça do administrador. lorosamente cada uma das má-
SCPM..................................30 quinas ou montar um servidor
Mudar o ambiente de operação de uma para fazer o serviço. O esforço
máquina envolve muito trabalho de config- extra vale a pena, especial-
uração. O SCPM facilita a vida dos usuários mente se sua rede continuar
do SuSE ao manter perfis com diferentes a crescer e for necessário
configurações que podem ser trocados sem- fazer mudanças de confi-
pre que necessário. guração. Se precisar adi-
Impressione os Amigos .....32 cionar alguns laptops
Compartilhar uma única impressora com aqui e ali, você vai
múltiplos usuários pode ajudá-lo a econo- gostar de distribui-
mizar dinheiro e recursos. Conecte sua im- ções modernas com
pressora a um servidor CUPS para permitir sistemas de auxílio
que Macs, e até mesmo máquinas Windows, a modificações da
tenham acesso à ela. configuração, co-
mo o SCPM da
INFORMAÇÕES SuSE.
Configura-
[1] Gnome Human Interface Guidelines:
http://developer.gnome.org/projects/
ções novas
gup/hig tendem a
ser pro-
[2] Freedesktop.org:
http://www.freedesktop.org
Ferramentas básicas
Tecendo a Rede
Máquinas em rede oferecem enormes benefícios, mas também significam
máquina à uma rede, não só se espera que você saiba tudo sobre ela, como
Mali Veith, visipix.com
H
oje em dia, um computador sem Assim como um navegador web não permitindo que eles troquem dados. O
uma conexão com o mundo lá necessita saber se a informação está TCP cria uma fila de dados estável entre
fora parece nos reportar a um sendo transmitida via componentes os pontos de rede (para os protocolos de
mundo pré-histórico. “wireless” ou linhas FDDI e uma linha aplicação HTTP, SSH, POP ou SMTP) e
Embora todas as distribuições Linux FDDI não precisa saber se os bits que ela assegura que pacotes perdidos sejam
atuais instalem os elementos básicos está transportando pertencem a arquivos retransmitidos. O outro protocolo mais
para o funcionamento do computador HTML, MP3s ou vídeos, especialistas significativo neste nível é o Protocolo de
em uma rede, a responsabilidade por seu usam um modelo de camadas (layers) Datagrama de Usuário (UDP), que pode
gerenciamento ainda fica a cargo dos para descrever redes de computadores. perder pacotes (e é utilizado, por exem-
administradores do sistema – e em al- Como em uma cebola, cada camada é plo, por “streams” do Real Audio).
guns casos o treinamento recebido não construída sobre as camadas inferiores, As coisas começam a ficar realmente
cobriu como deveria todo o conjunto de mas, fora isto, cada uma trabalha de interessantes na camada de rede inferior.
técnicas associadas ao funcionamento de forma independente das outras. É nela que os pacotes de dados são colo-
uma rede. Neste caso, faz sentido obter o A camada de aplicação, como o nome cados na mídia de transporte e tentam
máximo de conhecimento possível sobre sugere, define como aplicações, tais encontrar a melhor rota até o seu alvo.
o que pode acontecer com computadores como navegadores ou programas de Para simplificar esta tarefa, cada pacote
ligados em rede. email, “conversam” com servidores de inclui os endereços do transmissor e do
Os problemas são variados: redes Internet ou de email, respectivamente. receptor. Quando uma página da Web é
inteiras podem parar de responder, ou Como isto ocorre exatamente depende transmitida pelo servidor, os pacotes que
uma máquina (como o servidor de inter- da aplicação. Por exemplo, o Protocolo a formam podem tomar rotas diferentes.
net) pode tornar-se inacessível. Feliz- de Transferência de Hipertexto (HTTP) é Após aceitar tais pacotes, o receptor deve
mente, a maioria das distribuições Linux utilizado na Internet, enquanto down- assegurar que eles serão “remontados”
já traz todas as ferramentas necessárias loads de arquivos normalmente são na ordem correta. Além do Internet Pro-
para solucioná-los. feitos utilizando o Protocolo de Transfe- tocol (IP), a camada de rede tem
rência de Arquivos (FTP). protocolos como o Internet Control Mes-
Fundamentos de Redes A camada de transporte reside abaixo sage Protocol (Protocolo de Controle para
Infelizmente, a maioria dessas ferramen- da camada de aplicação. Esta camada
tas assume que você saiba exatamente realiza conexões entre computadores, GLOSSÁRIO
como uma rede de com- DNS: Servidores DNS possuem bases de dados
putadores funciona. O pro- que são utilizadas para mapear endereços IP a
tocolo TCP/IP é o com- nomes de servidores na Internet (e vice-versa),
ponente básico da Internet assim como ocorre em uma lista telefônica.
e de muitas redes locais. Quando o usuário de uma aplicação de rede
Ele é uma combinação do tenta acessar um determinado domínio, tais
Transmission Control Proto- bases de dados são utilizadas pelos servidores
col (Protocolo de Controle DNS para converter o nome digitado no
de Transmissão - TCP) e do endereço IP do servidor. Assim, quando um
usuário digita www.google.com.br,está na
Internet Protocol (Protocolo
verdade acessando o servidor com o endereço
de Internet - IP), e especi- Figura 1: Os dados mostrados pelo comando ip addr incluem infor-
IP 216.239.51.104. Será com este endereço que o
fica como os computadores mações importantes sobre seu endereço de IP. inet indica a
navegador abrirá uma conexão.
devem se comunicar. máscara de rede.
Figura 2: o utilitário ip route mostra informações claras a respeito d0 Figura 3: A máquina alvo, que tem o endereço IP 192.168.1.1, respondeu a
endereço IP de sua máquina. todos os cinco pings.
Mensagens na Internet - ICMP), para efe- cimento sobre as camadas citadas acima, (rota de busca) do sistema. Neste caso,
tuar o controle de mensagens (tais como muitas ferramentas de rede não farão basta informar o caminho inteiro quando
mensagens de erro), o Address Resolu- nenhum sentido. quiser rodar o programa (ex: /sbin/ip).
tion Protocol (Protocolo de Resolução de A opção addr indica ao comando ip
Endereços - ARP), que associa endereços Verificação de Status que ele deve fornecer dados sobre a
IP a endereços de hardware (MAC), e seu Antes de começar a analisar o tráfico de placa de rede. A linha finalizada por eth0
oposto, o protocolo RARP (Reverse dados na rede, é importante certificar-se indica a primeira placa de rede do sis-
Address Resolution Protocol - Protocolo de que seu computador está realmente tema (eth1 é a segunda – possivelmente
de resolução reversa de endereço). utilizando a rede como deveria. utilizada para WLAN, e assim por
A camada mais inferior do modelo OSI Para encurtar a história, cada máquina diante). Ela mostra o endereço IP do
de camadas é a camada física. Neste necessita um endereço IP (também co- computador (192.168.1.245 na Figura 1),
nível, a principal preocupação é com a nhecido como IP Address) único para ser a máscara de rede (/24), o endereço de
transmissão de bits, bem como a capaz de comunicar-se com as outras broadcast (192.168.1.255) e o nome da
padronização de protocolos para tratar máquinas da rede. Um gateway permite interface de rede (eth0).
de interfaces elétricas, mecânicas e de que pacotes de dados com destino à O resultado do comando ip route é
sinalização. Isto inclui padrões como o Internet possam deixar a rede local. mais fácil de ler (ver Figura 2). A
RS-232 e X.21. O comando ip fornece detalhes sobre a primeira linha mostra a rede (o endereço
Os componentes de uma rede são sua configuração atual. Sistemas mais da rede no nosso exemplo é 192.168.1.0)
identificados através dos seus endereços antigos talvez tenham somente os e a netmask (/24), a interface de rede e,
IP. O TCP pode retransmitir pacotes per- comandos ifconfig e route, que mostram por fim, a chamada data source (por isso
didos ou danificados, assegurando que o a mesma informação, embora de forma o termo src, indicando “source”) que é o
receptor contará com, pelo menos, um ligeiramente diferente. Se o seu shell não endereço IP (192.168.1.245). A segunda
conjunto completo dos pacotes envia- é capaz de encontrar nenhum destes linha indica o default gateway, cujo
dos. Os protocolos de aplicação, por comandos, pode ser que eles tenham endereço IP é 192.168.1.1.
mais sofisticados que sejam, se baseiam sido instalados no diretório /sbin, que Caso informações importantes, tais
neste serviço. Sem um pouco de conhe- não está normalmente no search path como os endereços IP da máquina e do
Figura 4: traceroute mostrando a rota para “www.linuxmagazine.com.br”. Figura 5: o mtr combina os resultados de traceroute e ping.
Figura 6: iptraf é útil, mesmo sem uma configuração e filtro exclusivos. Figura 7: Quantos pacotes estão indo e vindo para qual endereço?
gateway, estiverem faltando aqui, isto Figura 3), quantas respostas retornaram de forma mais clara (ver Figura 5), pois
pode explicar porque o seu computador (cinco novamente) e quanto tempo isto indica exatamente onde os pacotes estão
não está se comportando como deveria levou para acontecer (4002 milisegun- tendo atrasos maiores (caso você não
na rede. Neste caso, rode a ferramenta dos). Se pacotes fossem descartados ou pressione a tecla [q]). Para cada trecho
de configuração da sua distribuição perdidos, tais estatísticas os mostrariam da rota, mtr descobre o que está aconte-
(como o YaST, no caso do SuSE Linux), em uma seção chamada packet loss. Se o cendo com os pacotes de dados. Por isso,
verifique a configuração de rede do seu computador alvo não está acessível, mtr pode ser visto como uma combi-
sistema e tente novamente. nada acontece por um tempo, enquanto nação entre ping e traceroute. Por
o ping aguarda por respostas. exemplo, o comando:
Ping-Pong O comando ping hostname transmite
ping é uma ferramenta simples para pacotes ICMP sem parar até que você mtr -c 10 --report U
análise da rede, mas é também extrema- pressione [Ctrl-C]. Você também pode targethost
mente prática. Ela transmite pacotes de especificar ping -c 10 hostname para
dados ICMP do seu computador para um transmitir apenas dez pacotes. informa ao mtr para transmitir apenas
computador alvo e mostra o tempo que dez pacotes, parar e fornecer um
cada resposta leva para retornar ao seu Rotas relatório. A coluna HOST indica onde o
computador – assumindo que o com- Enquanto ping só mostra se o computa- pacote de dados se encontra, LOSS
putador alvo responda. A seção final do dor alvo está respondendo, traceroute informa a porcentagem de pacotes
resultado de um ping é um grupo de mostra todo o caminho que os pacotes descartados ou perdidos, RCVD e SENT
estatísticas que mostram a você quantos de dados tomaram até atingi-lo (ver mostram, respectivamente, quantos pa-
pacotes foram transmitidos (cinco na Figura 4). Os asteriscos (*) indicam que cotes foram recebidos e enviados e as
um erro ocorreu colunas BEST, WORST e AVG informam
no roteamento, ou quanto tempo a transmissão dos pacotes
que um firewall levou, no melhor e no pior dos casos, e
bloqueou a pas- também na média.
sagem deste tipo
de pacote de da- Para obter maior precisão…
dos. Aliás, a opção … experimente usar tcpdump, a ferra-
-n pode ser uti- menta de análise de rede de mil e uma
lizada para evitar utilidades. A maioria das distribuições
que os hostnames Linux já fornece um pacote de insta-
sejam mostrados. lação. Caso contrário, o código fonte
Para indicar qual a pode ser baixado em [1]. Se quiser com-
interface de rede a pilar seu próprio binário, você vai
ser usada, utilize a precisar da biblioteca libcap.
opção -i. O tcpdump precisa de privilégios de
O comando mtr administrador para rodar, uma vez que
targethost mostra ele coloca a placa de rede em modo
Figura 8: iptraf fornece estatísticas detalhadas sobre a rede. a rota dos pacotes “promíscuo”, o que permite a ela ler
quaisquer pacotes que passem pela mas analisa o fluxo do tráfego, classifi-
interface de rede local, inclusive a cap- tcpdump -i eth0 port 80 cado por protocolo. Isto fornece infor-
tura de dados. mações úteis sobre a taxa transferência
O tcpdump mostra todos os pacotes de e os dados destinados à porta TCP de dados e indica onde se encontram
dados que aparecem na interface da número 80 – comumente utilizada por problemas de performance (os chama-
placa de rede: servidores de Internet – serão mostrados. dos gargalos ou bottlenecks). Por exem-
Por outro lado, tcpdump host targethost plo, se há mais saída do que entrada de
11:56:27.833598 192.168.1.245 U fornecerá o tráfico de rede em targethost. dados, pode-se assumir que alguém está
.ssh > 192.168.1.20.39258: P U baixando algo do seu micro.
1392512:1392720(208) ack 1201 U Pra onde? Teríamos muito mais a relatar sobre
win 9120 <nop,nop,timestamp U É importante instalar ferramentas espe- iptraf e outras ferramentas mencionadas
2599771999 1711932971> (DF) U cializadas de modo a não ficar “no neste artigo. Se o leitor quer melhorar
[tos 0x10] escuro” no que concerne à utilização da seus conhecimentos nesta área, não há
rede. O iptraf é um exemplo. Ele mostra alternativa: adquira o máximo de con-
Em nosso exemplo pode ser visto que a exatamente o que está acontecendo com hecimento e experiência possível. ■
máquina com o IP 192.168.1.245 enviou a placa de rede, que protocolos estão
um pacote de dados ssh para a máquina sendo utilizados atualmente e com que INFORMAÇÕES
com o IP 192.168.1.20. Digite: outras máquinas a máquina sob análise [1] Tcpdump: http://www.tcpdump.org
está “conversando”. Pressione as teclas
[2] IPTraf:
Nico Lumma é o [q] e [Enter] para encerrar o programa. http://cebu.mozcom.com/riker/iptraf
SOBRE O AUTOR
utilizando um servidor DHCP para atribuição automática de endereços IP às máquinas clientes, evita muitas
N
ão importa se for para a sua Mesmo que exista uma lista organizada alterar esses parâmetros para poderem
empresa, para a organização de dos endereçamentos IP já atribuídos (e utilizar a rede local. Seja franco : Você
um evento, ou mesmo para a que você saiba onde essa lista se encon- sabe como fazer a configuração de rede
organização do seu escritório pessoal, tra), se você precisar reestruturar sua no MacOS 7.6 ? Ou se lembra como fazer
configurar cada computador de uma rede (por exemplo, adicionar um novo a configuração no Windows 98 ?
rede individualmente é sinônimo de bas- servidor de nomes, alterar a máscara da O DHCP (Dynamic Host Configuration
tante trabalho. Um administrador de sis- rede ou mesmo utilizar um outro Protocol, ou Protocolo de Configuração
temas pode configurar individualmente e roteador para acesso às redes públicas), Dinâmica de Hosts), tem as repostas à
sem problemas parâmetros como ende- terá que reconfigurar individualmente estas perguntas. Para usar DHCP você só
reços IP, Netmask, Default Gateway e o cada estação já existente. precisa configurar um computador para
DNS (Domain Name Server) para cada Até os visitantes que normalmente ser o servidor DHCP. Feito isso, essa
máquina. Agora procure imaginar um trazem consigo laptops precisam saber máquina será responsável pelo gerencia-
grupo de pessoas, com os mais mento das configurações de
diferentes níveis de instrução e Listagem 1: Um exemplo simples, rede de todas as outras máqui-
experiência, tentando executar porém completo, do dhcpd.conf nas ligadas a essa rede. Além
essa tarefa, e você certamente dos parâmetros tradicionais de
01 default-lease-time 3600;
terá uma grande surpresa. rede, você também poderá
02 max-lease-time 14400;
A medida em que o número de definir outros parâmetros espe-
03
máquinas aumenta, mesmo os cíficos como o servidor de hora
04 subnet 192.168.2.0 netmask 255.255.255.0 {
administradores mais experientes (timeserver) e o servidor WINS.
05 range 192.168.2.50 192.168.2.69;
terão problemas para manter e
06 option domain-name-servers 194.25.2.129;
configurar uma rede. Cada ende-
07 option broadcast-address 192.168.2.255;
Muitas máquinas…
reço IP só pode ser assinalado a Com o que isso se parece em
08 option routers 192.168.2.1;
um único Host (ou nó) da rede, um caso prático ? Vamos anal-
09 }
para que não hajam conflitos. isar uma pequena rede privada.
Nessa caso, “privado” significa que a Usuários de outras distribuições geral- que a mesma assume. Essas opções (veja
rede utiliza uma faixa de endereços IP mente encontram um pacote RPM nos visão geral na Tabela 2) são passadas
não roteáveis. Para evitar confusão esses CDs ou DVDs de instalação. Caso con- para uma máquina cliente a cada vez
endereços podem ser utilizados nas re- trário, vá ao site http://rpmfind.net/ e que são solicitadas. A capacidade do
des locais (LANs) porém não são utiliza- procure por DHCP. cliente processar as informações obtidas
dos na Internet (rede pública). Após a instalação, você encontrará o no servidor DHCP depende do sistema
Grandes redes privadas de computa- arquivo de configuração dhcpd.conf no operacional. Administradores podem
dores, chamadas de redes classe A, diretório /etc/. Esse arquivo é bem docu- definir scripts que especificarão como
podem utilizar endereços IP no intervalo mentado, o que facilita a tarefa de alterar essas informações serão processadas.
que vai de 10.0.0.0 a 10.255.255.255. Já os parâmetros nos exemplos deste artigo As entradas restantes são utilizadas
as redes privadas de tamanho médio, ou de forma que a refletir o ambiente da sua pelo próprio servidor, dhcpd. A Tabela 1
redes classe B, podem utilizar endereços rede. Pare um pouco e pense sobre o apresenta os principais parâmetros.
IP entre 172.16.0.0 e 172.31.255.255. Se número de computadores que irão aces-
sua rede não for tão grande assim, você sar a rede ao mesmo tempo. Se você Atribuição permanente
pode usar um dos 65023 endereços estiver organizando uma LAN Party, por Se você se decidir por utilizar DHCP na
contidos na faixa entre 192.168.0.0 e exemplo, este pode ser um número bem sua rede, haverá com certeza sempre
192.168.255.255. grande. Uma rede residencial raramente alguns computadores que necessitarão
Pequenas redes utilizam apenas uma possui mais do que 10 máquinas. de endereçamento IP estático. Afinal de
classe C. Vou tomar como exemplo o O exemplo da Listagem 1 assume que contas, não faz sentido ter que adivinhar
caso da minha rede doméstica, que tem no máximo 20 máquinas necessitam de qual o endereço IP do gateway ou
o endereço 192.168.2.0. Isso também é acesso simultâneo à rede. Queremos que mesmo de um servidor de arquivos antes
útil para estabelecer uma rede local em o servidor dhcp, dhcpd, assinale os de acessá-lo, certo?.
um condomínio. endereços IP dentro do intervalo entre O arquivo /etc/dhcpd.conf também é
192.168.2.50 e 192.168.2.69. Utilizare- utilizado para clientes que necessitam de
… e um só servidor mos também o parâmetro domain-name- parâmetros específicos. O servidor
A máquina que vai fornecer todos os servers para definir os servidores DNS e dhcpd verifica o MAC Address (único por
endereços IP’s necessita de um programa o parâmetro routers para especificar o placa de rede) da máquina cliente que
servidor de DHCP. Não existem muitas gateway para a Internet. Se você não tem está requisitando um endereço e faz a
implementações livres desse programa. um servidor DNS na sua rede local, use o atribuição correta.
Nós optamos por trabalhar com o ISC fornecido pelo seu provedor de Internet. O MAC Address vem normalmente
DHCP server, dhcpd, como a maioria das Note os colchetes que englobam a impresso em uma etiqueta colada aos
pessoas fazem. definição de um segmento de rede. E cartões de rede PCMCIA e nas placas
Se você quiser compilar o programa, o cada linha de configuração é terminada Wireless LAN USB. Se você não puder ler
código fonte está disponível na Internet por um ponto-e-vírgula. o MAC Address na placa, é possível
em [1]. A maioria dos usuários preferem descobrir esse endereço através de
instalar o pacote fornecido por sua dis- Livremente configurável comandos específicos do seu sistema
tribuição. Usuários Debian podem fazer Em termos gerais, existem dois tipos de operacional. Nos sistemas baseados em
isso com o comando : entradas no arquivo de configuração: Unix você pode utilizar o comando ifcon-
uma que se inicia com uma palavra fig, já os sistemas operacionais da
apt-get install dhcpd chave (conhecida como option) e o valor Microsoft usam o comando ipconfig. A
Figura 2: Ativando o cliente DHCP no Mandrake Linux. Figura 3: O Mac OS X suporta DHCP.
Listagem 2 apresenta um exemplo de Qual MAC Address? cional de rede sem fio), você poderá
execução do comando ifconfig em uma De qualquer forma, você ainda precisa assinalar o mesmo hostname para os
máquina Linux, cujo MAC Address, ou saber qual destes MAC Addresses é o que dois endereços MAC :
Hardware Address, (endereço de hard- você está procurando. Em alguns casos,
ware) é 00:02:2D:34:90:85. pode ser aconselhável manter uma host lyraB {
Não se preocupe se você não conse- tabela [2] com os endereços fornecidos hardware ethernet U
guir acessar a máquina diretamente, pois pelos fabricantes das placas de rede 00:80:C7:C1:3D:76;
o servidor dhcpd mantém um registro de (veja Figura 1). fixed-address lyra.mtr.mynet;
todos os endereços IP atribuídos e o Após descobrir o endereço de hard- }
prazo de validade no arquivo /var/lib/- ware (MAC), você pode adicionar uma
dhcp/dhcpd.leases. entrada de mapeamento estático de Em alguns casos, você pode até substi-
Uma alternativa é mandar um ping a endereço IP na configuração do dhcpd : tuir uma placa de rede enquanto a
todas as máquinas da rede, e depois exe- máquina está funcionando sem sequer
cutar o comando arp -a para encontrar host lyraA { interromper a conexão! Ao invés do
tanto o endereço IP quanto o MAC hardware ethernet U hostname, que requer um servidor DNS,
Address do computador em questão 00:02:2D:34:90:85; você pode assinalar um endereço IP.
(veja mais na Listagem 3). Lembre-se fixed-address lyra.mtr.mynet;
que você precisa primeiro enviar o ping, } Uso avançado do DHCP
pois a tabela do arp só inclui os O DHCP pode fazer ainda mais! É pos-
endereços dos hosts com os quais seu Se o computador possui múltiplas inter- sível informar a um cliente que não pos-
computador já se comunicou. faces de rede (exemplo, um cartão adi- sui um disco rígido qual imagem de um
dado sistema operacional (boot image)
Listagem 3: Como descobrir o deve ser baixada e executada. Isso é pos-
MAC Address com arp e ping sível devido à utilização do protocolo
TFTP (Trivial File Transfer Protocol), um
01 renner@lyra:~$ ping -c3 192.168.2.0 subprotocolo do FTP, para transferir
02 PING 192.168.2.0 (192.168.2.0): 56 data bytes informação através da rede. A Listagem
03 64 bytes from 192.168.2.1: icmp_seq=0 ttl=64 time=0.2 ms 4 apresenta um exemplo onde uma
04 64 bytes from 192.168.2.52: icmp_seq=0 ttl=64 time=3.5 ms (DUP!) workstation SGI Indy procura seu kernel
05 64 bytes from 192.168.2.53: icmp_seq=0 ttl=64 time=4.2 ms (DUP!) Linux via DHCP. Esse sistema não é
06 64 bytes from 192.168.2.62: icmp_seq=0 ttl=64 time=4.7 ms (DUP!) usado apenas em aplicações de cluster-
07 [...] ing, mas também em laboratórios de
08 renner@lyra:~$ /usr/sbin/arp -a informática utilizados por alunos em
09 ? (192.168.2.1) at 00:03:E3:00:18:F1 [ether] on eth0 Universidades e Faculdades.
10 ? (192.168.2.52) at 00:30:05:55:02:ED [ether] on eth0 O boot pela rede funcionará apenas se
11 ? (192.168.2.53) at 00:0C:6E:1F:32:C4 [ether] on eth0 o servidor tftpd estiver habilitado em
12 ? (192.168.2.62) at 00:30:05:55:03:7F [ether] on eth0 /etc/inetd.conf. Para permitir que um
servidor encontre a imagem de boot
2.[123456].*)
Tabela 2: Parâmetros do Cliente exec /sbin/dhclientU
Entrada (sem parâmetro) Parâmetro Significado -2.2.x -q "$@"
routers Hostname ou endereço IP Roteadores ou gateways para acesso à Internet. ;;
domain-name-servers Hostname ou endereço IP Servidor de Nomes
host-name Hostname Hostname do cliente. Adicione o número “6”, como aparece
ntp-servers Hostname ou endereço IP Servidor de hora,para sincronismo. em negrito acima, aos números entre
netbios-node-type 1,2,4 ou 8 (recomendado) Tipo de resolução para Windows. 1-broadcast,2-unicast, chaves, e rapidamente você terá um cli-
4 ambos (primeiro tenta-se broadcast,depois unicast), ente DHCP funcionando, sem quaisquer
e 8 é o modo híbrido que utiliza método unicast,depois
problemas adicionais, podendo conti-
broadcast.
netbios-name-servers Hostname Servidor WINS para resolução de nome de Internet para
nuar a desfrutar do conforto de receber
sistemas Windows. automaticamente seu endereço IP. ■
domain-name Domínio Nome do domínio da rede.
nis-domain Domínio Nome do domínio NIS. Michael Renner trabalha como
nis-servers Hostname ou endereço IP Servidor NIS administrador de rede e de sistemas
SOBRE O AUTOR
subnet-mask Máscara Máscara do segmento de rede UNIX no Instituto Max-Planck em
Tübingen, na Alemanha. Além de
administrar sistemas Linux, IRIX e
Panel) TCP/IP no menu Apple. No Existem alguns truques que tornam FreeBSD, ele também é o respon-
MacOS X, (veja Figura 3) habilite o possível o uso de versões antigas do sável pelo suporte técnico dos
DHCP em System Preferences / Network. dhcpd no kernel 2.6. A princípio, esta usuários do instituto no dia-a-dia,
combinação deveria funcionar, mas o tarefa que ele gentilmente classifica
Conclusão dhcp-client usa o script /sbin/dhclient
como auto-flagelação.
Não existem muitos clientes DHCP para para verificar a versão do kernel. Como o
Linux. Um deles, o pump, é bastante mesmo não reconhece o kernel 2.6, o
popular entre as mini-distribuições devi- programa se encerra nesse ponto. Como INFORMAÇÕES
do ao seu tamanho reduzido. Versões o DHCP precisa diferenciar apenas entre [1] DHCP Server:
mais completas, como o dhcp-client e o o kernel 2.0 e as versões mais novas, http://www.isc.org/index.pl?/sw/dhcp/
dhcpd, têm funções adicionais, como a você pode modificar o script para recon-
[2] MAC database:
possibilidade de executar um script após hecer 2.6 como uma versão válida do http://www.coffer.com/mac_find/
a configuração do endereço IP. kernel, como mostrado a seguir:
GLOSSÁRIO
Endereço IP: Cada máquina presente na rede Timeserver: Servidor que provê um horário mações de login, senhas, diretórios home,
é identificada através de um único endereço único à todas as máquinas da rede. Os fusos privilégio de grupos de usuários e hostnames.
IP de 32 bits. Para facilitar a memorização e horários são calculados tendo como referên- Isso permite que um servidor NIS envie infor-
leitura, os endereços IP são apresentados em cia a hora oficial na Inglaterra, medida a par- mações dos arquivos de configuração para
base decimal separados por ponto, onde cada tir da linha do Meridiano de Greenwich, do uma máquina cliente, tais como /etc/passwd,
segmento do endereço pode ser um número Royal Observatory em Greenwich. /etc/groups, ou /etc/hosts. Um arquivo
entre 0 a 255. Além da faixa de endereços IP WINS:Windows Internet Naming Service, da chamado /etc/nsswitch.conf especifica
globalmente acessíveis, existe também uma Microsoft. Mapeia o nome NetBIOS de um quando um servidor NIS provê informações
outra faixa de endereços IP utilizados em computador Windows para o seu endereço IP. para os arquivos de configuração, e que tipo
redes privadas. Esses últimos não são Um servidor WINS tem uma função especial de informação deve ser enviada. Um método
acessíveis através de redes públicas. na rede. Se existirem muitas máquinas com alternativo é ter o servidor DHCP configurado
Netmask: Netmask, ou máscara de rede, é uti- Windows na rede, o servidor WINS pode pre- para transmitir informações sobre o servidor
lizada para definir um segmento de rede. As venir mensagens broadcast indesejadas. O NIS na rede local.
máquinas utilizam máscaras de bits para projeto Samba possue suporte à WINS. MAC Address: O MAC Address (Media Access
identificar se um dado endereço pertence às Broadcast: Mensagens indiretas em broad- Control), ou mais comumente conhecido
suas próprias redes.Veja o Quadro 1 para um cast são utilizadas para atingir múltiplos como endereço Ethernet, e um número hexa-
entender melhor o funcionamento. hosts, sem a necessidade de adição de nen- decimal de 6 bytes. O MAC Address é gravado
Name Server: Um Domain Name Server, ou huma informação específica sobre cada um em cada dispositivo Ethernet, e permite a
DNS, provê a facilidade de traduzir nomes deles. Mensagens em broadcast podem econ- cada dispositivo ser unicamente identificado.
simbólicos de hosts (por exemplo, linux-mag- omizar banda quando se deseja falar com Cada fabricante tem uma faixa de MAC
azine.com) em endereços IP (62.245.157.219) e várias máquinas, porém devem normalmente Addresses e assinala um endereço para cada
vice-versa. DNS é uma base de dados ser evitadas por causar sobrecarga na rede. equipamento uma única vez.
hierárquica distribuída para resolução de Unicast: O servidor envia uma cópia de um Boot image: Um kernel Unix ou Linux espe-
nomes. Cada servidor não precisa possuir uma dado a cada cliente. Conexões ponto-a-ponto cialmente adaptado que é obtido através da
lista completa de todos os hostnames, pois o desse tipo são facilmente configuráveis, mas rede local e depois executado pelo cliente. Isto
protocolo permite a requisição de nomes causam sobrecarga no servidor se o número permite a montagem de uma rede onde os
entre servidores. de clientes simultâneos for grande. clientes não possuem unidade de disco e
Default gateway: Máquina na rede local NIS: O NIS (Network Information Service) montam um sistema de arquivos raiz (/)
para a qual as máquinas enviam todos os facilita a propagação de configurações em remoto. Um uso típico são laboratórios de
pacotes com destino fora da rede local. uma dada rede. O servidor NIS provê infor- ensino em escolas e universidades.
Mudança de Ares
Alterar o ambiente de operação de
O
Linux caminha a passos largos
para o mundo dos laptops, e
máquinas portáteis são especial-
mente propensas a trabalhar em ambi-
entes heterogêneos. Mesmo que você ples comando. Como alternativa, você de recursos especificados para o dire-
geralmente se conecte à Internet usando pode simplesmente selecionar um perfil tório recém criado.
uma rede com fio, pode esporadica- durante a inicialização.
mente ter de usar uma rede wireless, ou O SCPM é um componente padrão do Grupos
mesmo ficar sem conexão. Outro bom Suse Linux desde a versão 8. Assumindo Administradores podem usar grupos de
exemplo é o uso de laptops ora em ambi- que você não o apagou manualmente, o recursos para especificar a quais serviços
ente de escritório, ora em ambiente gerenciador de perfis já deve estar insta- as configurações de um perfil se aplicam.
doméstico. No escritório você pode dis- lado em seu sistema e pronto para uso. Por exemplo, o SCPM só salva seus
por de uma docking station com monitor O módulo Profile Manager do YaST, ajustes de impressão se você habilitar o
externo, enquanto em sua casa você usa encontrado no grupo System, o ajuda a grupo Printer. Se você não habilitar este
o monitor LCD que acompanha de configurar o SCPM [Figura 1]. Você tam- recurso específico, as configurações não
fábrica o laptop. O Suse Linux possui bém pode digitar yast2 profile-manager e serão afetadas por uma mudança de per-
uma ferramenta chamada SCPM, Sis- executar diretamente a ferramenta. fil, e a configuração atual será mantida.
tema de Configuração e Gerenciamento Perfis já existentes são exibidos na tela
de Perfis, que ajudar sua máquina a se principal do gerenciador de perfis. Você
adaptar rapidamente a um novo ambi- pode adicionar um novo perfil ou modi-
ente de trabalho. ficar a configuração existente. O botão
Options lhe permite modificar ou criar
Perfis Preservados grupos de recursos (veja a Figura 2).
O SCPM salva um conjunto completo de Sua configuração corrente é usada
parâmetros do sistema operacional para como ponto de partida quando você cria
cada ambiente de trabalho em perfis, um novo perfil. O SCPM cria um di-
permitindo a você restaurar as configu- retório com o nome do novo perfil sob
rações quando preciso. Os perfis de /var/lib/scpm/profiles/, e copia os ar-
usuários não são apenas compostos por quivos de configuração para os grupos Figura 1: O YaST2 o ajuda a configurar o SCPM.
arquivos de configuração,
mas também contém in- Tabela 1: Comandos do SCPM Listagem 1: o modo banco
formações adicionais tais Ativar o SCPM scpm enable de dados do SCPM
como quais serviços de- Criar um novo perfil scpm add nome_perfil #scpm db
vem estar habilitados ou Mudar de perfil scpm switch nome_perfil SCDB Utility (SCPM version 0.9.4)
desabilitados. Isto torna Salvar alterações no perfil atual scpm save load
possível fazer todas as Copiar um perfil scpm copy perfil_fonte perfil_destino create resource U
mudanças necessárias pa- Mostrar o perfil ativo scpm active /opt/tomcat/conf/server.xml file
ra adaptação a um novo Listar perfis disponíveis scpm list save
Recarregar configuração do perfil atual scpm reload quit
ambiente com um sim-
Figura 2: Módulo YaST2 do SCPM – Configuração de grupos de recursos. Figura 3: Diversas possibilidades de implementação de um perfil.
Alguns grupos de recursos pré-defini- serviços estão sendo executados e certi- As alterações só podem ser aplicadas
dos são criados quando o SCPM é insta- fica-se de aplicar o status necessário. O ao perfil corrente, não importa se você
lado. Estes grupos cobrem a maioria das último passo da mudança de perfis é a usa o YaST ou a linha de comando para
configurações e incluem parâmetros de execução script de parada pós-inicializa- efetuá-las. Para fazer isso, alterar sua
rede (network), o serviço NTP para sin- ção (post-stop script). configuração de forma usual. Quando
cronização do relógio através da Internet Se você quiser especificar um perfil você estiver satisfeito, execute scpm save
(ntpd), o Firewall (SuSEfirewall2) e o durante a inicialização do computador, para gravá-las. O SCPM vai listar todas
automounter – montagem automática de basta especificar o parâmetro PROFILE= as alterações para que você as confirme
volumes (autofs). Se nenhuma destas profile_name no menu de boot para antes de aplicá-las ao seu perfil.
opções atende suas expectativas, você dizer ao SuSE para já carregar a configu- Se você precisa alterar arquivos de
pode definir seu próprio grupo. ração adequada. O script /etc/init.d/ configuração que estão sendo ignorados
No ambiente em que testamos a ferra- boot.scpm é o responsável por isso. pelo SCPM devido à sua configuração de
menta, o módulo para o YaST apresentou Se você muda regularmente de perfil recursos, pode fazer alterações manual-
mau funcionamento no indicador de sta- durante o boot, talvez queira adicionar mente no modo de base de dados intera-
tus. Ele insiste em informar que o ge- algumas entradas com parâmetros do tiva (veja Listagem1). O comando load é
renciador de perfis está desabilitado, kernel pré-configurados ao arquivo de extremamente importante, pois carrega o
independentemente do seu estado real. configuração do seu gerenciador de boot banco de dados na memória e o abre
Caso o usuário, de forma inadvertida, (no YaST2 em System/Bootloader Confi- para edição. Se você se esquecer de car-
tente inicializar o gerenciador de perfis guration). Adicione uma nova sessão regar o banco de dados e salvar suas
mais de uma vez, não ocorrerá nenhum com os mesmos parâmetros do kernel alterações, ele será sobrescrito com um
problema no SCPM, pois o banco de padrão e altere simplesmente o parâme- arquivo que conterá apenas estas alte-
dados e os templates não são sobre- tro PROFILE= para carregar o perfil req- rações recentes.
scritos nesta operação. O SCPM permite uisitado no próximo boot. Caso você sobrescreva seu banco de
ao usuário forçar a sobrescrita do banco dados de configuração por engano, não
de dados com o uso de um parâmetro na Linhas de Comando se desespere. O SCPM salva as três últi-
linha de comando. Mesmo sabendo que o YaST torna o tra- mas versões dele no diretório /var/lib/
Praticamente não há limites ao balho de configurar o SCPM muito mais scpm/scdb/. O banco de dados atual tem
aumento das capacidades do gerenciador fácil, seu uso contínuo para alterar um o nome scdb.db, os arquivos de backup
de perfis, já que você pode dizer ao perfil pode se tornar irritante, e a linha gerados pelo sistema têm alguns carac-
SCPM para executar scripts antes ou de comando é uma alternativa Caso você teres aleatórios adicionados ao nome
depois do início ou fim de uma mudança opte por utilizar a linha de comando, original. E é fácil criar um backup de um
de configuração (veja a Figura 3). certifique-se de que tem privilégios de perfil, você só vai precisar do arquivo
Quando você seleciona um perfil dife- root – afinal, você estará modificando a scdb.db, e de uma cópia do diretório
rente, o SCPM primeiro executa os dois configuração do sistema – e utilize um /var/lib/scpm/profiles. ■
scripts de parada, e o alerta no caso de pequeno conjunto de comandos simples
alterações não salvas. Então sistema exe- para executar a tarefa de forma rápida. A INFORMAÇÕES
cuta o script de pré-inicialização, busca Tabela 1 traz uma listagem dos coman- [1] SuSE Linux: http://www.suse.com/
no banco de dados os arquivos de con- dos mais importantes. Por exemplo, o
[2] YaST: http://www.suse.de/en/private/
figuração para o novo perfil e as aplica comando scpm switch ISDN habilita um
products/suse_linux/prof/yast.html
ao sistema. O SCPM verifica se os perfil chamado ISDN.
Impressione os Amigos
Compartilhar uma impressora com
entrar na brincadeira.
C
omputadores antigos que foram
substituídos por desktops novos
podem ser utilizados como servi-
dores de impressão de uma rede. Um
servidor de impressão não permite executado durante a inicialização. Se a Configuração através da
somente compartilhar uma impressora, sua distribuição favorita não inclui o interface WEB
mas também retira do seu desktop as CUPS, ou se você desejar atualizar para Ao contrário do antigo sistema LPRng, o
tarefas de impressão, permitindo que ele uma versão ainda não empacotada por CUPS foi baseado no Protocolo de
desempenhe suas tarefas na velocidade ela, é possível baixar o código-fonte no Impressão via Internet (IPP – Internet
máxima. Em redes domésticas, usuários site oficial do CUPS [1]. Printing Protocol, [3]), que é uma exten-
distintos usam impressoras distintas. Antes do surgimento do CUPS, as dis- são do protocolo HTTP atualmente uti-
Enquanto o pai da família imprime um e- tribuições costumavam trabalhar com lizado para transferir páginas através da
mail em uma impressora laser, seus fi- sistemas de impressão menos poderosos, Internet. Isso também explica porque o
lhos podem estar imprimindo fotos da como o BSD ou LPRng. Ambos eram bas- IPP utiliza um paradigma similar para a
última festa em uma impressora jato de tantes difíceis de serem integrados em transmissão de dados: Um computador,
tinta. Esse cenário já não existe na maio- um ambiente de rede. Caso você ainda conhecido como cliente CUPS, envia
ria das empresas, onde um servidor de tenha uma distribuição muito antiga, dados de impressão para um servidor
impressão como o CUPS (Common Unix seria conviente considerar a substituição CUPS. O daemon cupsd, que roda em
Printing System) permite que clientes do servidor de impressão pelo CUPS. A segundo plano no servidor, recebe esses
com sistemas operacionais da Microsoft, documentação do CUPS contém mais dados e os processa antes de enviá-los
Apple ou mesmo o Linux tenham acesso informações sobre esse assunto [2]. para a impressora. Em outras palavras o
a qualquer impressora na rede. Não é necessário modificar nenhum cupsd é o núcleo do sistema CUPS.
aplicativo para utilizar o CUPS, e seus Você pode acessar a interface de con-
Primeiros passos programas irão interagir com ele tanto de figuração do CUPS com qualquer
Dois passos são necessários para ter um forma nativa (como é o caso dos aplica- navegador, basta visitar o endereço
servidor CUPS disponível em uma rede. tivos do KDE) quanto através dos http://localhost:631. Se o CUPS está ro-
Primeiramente, você deverá configurar comandos de impressão System-V, ou dando em outra máquina, substitua
os computadores onde as impressoras Berkeley. Esses últimos são as ferramen- localhost pelo nome dessa máquina. Por
estão conectadas, estes serão os servi- tas de impressão de linha de comando lp segurança, o CUPS não permite acesso
dores de impressão. Essas máquinas ou lpr, normalmente invocados pelas externo à interface web, portanto a
podem ser sistemas desktop comuns ou aplicações. O CUPS traz versões com- princípio é necessário acessá-la no pró-
mesmo servidores dedicados, que não patíveis desses programas. Esses coman- prio computador que executa o servidor.
necessitam de interface gráfica (GUI). As dos são úteis quando se deseja enviar Se quiser permitir configuração remota,
distros atuais normalmente instalam o um arquivo para impressão utilizando será necessário alterar o arquivo de con-
CUPS por padrão e também fornecem apenas a linha de comando. O manual figuração /etc/cups/cupsd.conf. Procure
ferramentas de configuração. Geral- do usuário do CUPS [2] explica esses pelas seções entre as tags <Location
mente o CUPS é configurado para ser comandos em detalhes. /…> e </Location> (veja a Figura 1).
Figura 3: Detalhe da configuração do sistema de impressão no Centro de Figura 4: A entrada “Printers” na interface de administração do CUPS lista
Controle do KDE. Entre outras, há uma opção para reiniciar o daemon CUPS. todas as filas de impressão reconhecidas, incluindo suas URIs.
gramas de configuração fornecidos pela nome, ou preferencialmente o endereço pressora, e no pior caso seria possível a
maioria das distribuições Linux possuem IP, do servidor que processará todos os qualquer usuário da internet usar sua
opções similares (Figuras 5a e 5b mos- trabalhos de impressão (veja Figura 6). impressora. Por padrão, as versões mais
tram o SuSE Linux). Repita o procedi- O terceiro método talvez seja o mais recentes não divulgam mais a configu-
mento para cada fila de impressão conveniente. Cada daemon CUPS divul- ração via broadcast.
remota. Reconheço que este método de ga periodicamente sua configuração para Contudo, várias ferramentas de confi-
configuração é bastante complexo, prin- toda a rede. As máquinas clientes que guração permitem a correta definição
cipalmente quando se tem um grande recebem essas configurações imediata- das opções de broadcast. Novamente
número de impressoras. mente passam a utilizá-las. A principal vamos usar em nosso exemplo o YaST do
É de bom senso configurar o CUPS vantagem desse método reside na simpli- SuSE Linux. Os items que você necessita
para usar o servidor de impressão cidade da configuração, pois você só terá alterar estão em Change/Advanced/CUPS
remota para cada trabalho, de forma a que configurar a nova impressora no Server Settings (veja Figura 7). Para con-
evitar a execução do daemon do CUPS computador onde ela está conectada e a figurar manualmente o servidor, edite o
nas máquinas clientes. Para isso é rede toda poderá utilizá-la automatica- arquivo /etc/cups/cupsd.conf. Linhas que
necessário alterar o arquivo de configu- mente. Evidentemente, a divulgação da começam com o caracter # são consider-
ração /etc/cups/client.conf na linha que configuração via broadcast não é a adas comentários e portanto ignoradas
começa com ServerName. Remova o car- maneira mais segura de se trabalhar. pelo CUPS. Cada parâmetro ocupa uma
acter # no início da linha e após Server Qualquer computador pode receber estas linha e consiste em uma palavra chave e
Name insira um espaço e adicione o configurações e passar a utilizar a im- seu conteúdo. Consulte a referência [2]
Figura 5a: Configurando uma impressora remota no Suse Linux 8.2. Primeiro, Figura 5b: ...e a seguir informe o nome do servidor e a URI para completar a
diga ao YaST que você deseja acessar uma impresora remota via IPP... configuração.
Café Fresco
O “Sun Java Desktop” é um sistema operacional voltado para
A
intenção da Sun Microsystems ao cliente de e-mail é o
desenvolver o Sun Java Desktop Ximian Evolution, ver-
[1] foi emular de forma precisa a são 1.4.5. Esse software
aparência, o comportamento e a usabili- traz também agenda e
dade do Windows. O sistema é baseado livro de endereços, e é
no SuSE Linux Enterprise Edition [2]. descrito no menu como Email
and Calendar. O StarOffice 7 é o Se
Instalação Rápida conjunto de aplicativos de escritório, compara-
Nossos testes em laboratório transcor- para as aplicações padrão de texto, do com outras
reram sem problemas, mesmo quando planilha, etc. Para leitura e impressão de distribuições, o Sun Java Desktop, com
foi utilizado um laptop antigo. Embora a arquivos PDF o Acrobat Reader 5.0 é uti- seu desktop Gnome estável, porém an-
Sun tenha feito alterações no programa lizado, enquanto que o gerenciamento tigo, tem muito pouco a oferecer para
de instalação da SuSE, o YaST, seus prin- de projetos fica por conta do Planner poder ser considerado o melhor na cate-
cipais recursos foram preservados. (também conhecido como MrProject). A goria. Essa afirmação não prejudica em
Após a instalação e a reinicialização, o ferramenta escolhida para tratamento de nada a usabilidade da distribuição nas
YaST configura os aplicativos, solicita ao imagens é o Gimp, em sua versão 1.3.18. aplicações básicas. Usuários inexperien-
usuário a configuração de senhas de root Como criadora do Java, a Sun faz tes em Linux provavelmente não terão
e de usuário, configura a interface grá- menção à sua linguagem de programa- problemas durante a instalação e o desk-
fica e em seguida o ambiente de rede. ção ao chamar sua distribuição de “Sun top traz tudo que se pode necessitar para
Após o login é apresentado ao usuário Java Desktop”. Contudo, existem apenas iniciar o trabalho na nova distribuição,
um ambiente desktop baseado no Gno- cinco aplicações Java pré-instaladas, com o mínimo de esforço. Desde o iní-
me versão 2.2, o que infelizmente não é descontando o próprio ambiente Java. cio, a maioria dos usuários vai se sentir
uma grande inovação tecnológica. A Sun Um programa gráfico para apresentação em casa, devido à clareza da estrutura de
modificou o menu e os nomes dos pro- chamado JGraphpad, o jDictionay, que é menus e à boa integração que a Sun deu
gramas para deixar o sistema mais ami- um dicionário online, uma ferramenta de aos elementos do desktop. ■
gável para usuários inexperientes. análise de rede, e um player multimídia.
O Mozilla 1.4 é o navegador padrão, E, por último, um editor de texto Java, o INFORMAÇÕES
descrito no menu como Web Browser. O jEdit. É muito pouco para justificar o uso
[1] Sun Java Desktop: http://www.sun.com/
do nome Java! software/javadesktopsystem/index.html
Cada licença custa
[2] Suse Enterprise Server:
100 dólares (por má-
http://www.suse.de/en/business/
quina), e inclui um products/server/sles/index.html
ano de suporte téc-
nico e 60 dias de
suporte à instalação, Frank Wieduwilt estu-
fornecidos pela Sun. dou história, e vem tra-
SOBRE O AUTOR
balhando há alguns
Como só o StarOffice
anos como autor téc-
7.0 custa 80 dólares, nico freelance para
sendo um aplicativo várias editoras em
“stand-alone”, o im- Berlim, Alemanha,
pacto da política de escrevendo manuais de
preços aplicada pela soluções de banco de dados. Frank é um
escritor regular da Linux Magazine espe-
Sun no seu “Java
cializado em assuntos SOHO como pro-
Desktop System” é
gramas gráficos e office.
Figura 1: Sun Java Desktop. amenizado.
MandrakeMove
Sem um laptop, como você pode ter seu Linux fora de casa? Como
quase não tem tempo para instalar o Linux, ou tem receio de perder
A
lgumas distribuições podem ini- O hardware exigido pelo Mandrake- méstico e em pequenos escritórios. O
cializar e rodar diretamente do Move é um Pentium (II ou superior), menu não oferece compiladores ou ou-
CD-ROM, sem instalar nada no AMD K-6, Duron ou Athlon e 256 tras ferramentas de programação, mas o
disco rígido. Ultimamente essa forma de Megabytes de memória RAM (o mínimo sistema não foi feito para isso. A maioria
empacotar o Linux se tornou popular é de 128 Megabytes.) A Mandrakesoft da documentação disponível no CD é a
como o desktop Open Source definitivo, também recomenda um leitor de CD- mesma do Mandarke Linux 9.2. Um
ou uma excelente solução para demon- ROM com velocidade não menor que capítulo é dedicado a quem quer mudar
strações. As pessoas podem experimen- 32X. Não é necessário um disco rígido. O do Windows para o Linux.
tar uma distribuição diferente todos os único requisito da chave USB é que ela
dias, basta inserir o CD no drive e depois necessita ser formata com o sistema de Inicialização
removê-lo para retornar ao sistema arquivos VFAT. Nós não encontramos O boot é gráfico. Pressionar F1 exibe
padrão da máquina. problemas com um Pico Disk Easy2, de algumas informações gerais – mas não
O Mandrake oferece dois CDs no 128 Mbytes. Mas a lista de discussão da muitas – sobre como conduzir o sistema
modelo acima citado, baseados no Mandrake menciona diversos problemas durante essa fase. Por exemplo, ele
Mandrake Linux 9.2, chamados Mandra- com outras chaves. A imagem ISO foi explica como passar algumas opções ao
keMove (www.mandrakesoft.com/produ- testada numa configuração mínima kernel, mas não diz quais estão dispo-
cts/mandrakemove). O primeiro pode ser (AMD K6-2 de 350 Mhz, 128 Mbytes de níveis. É possível abrir outro terminal,
baixado gratuitamente da internet, o RAM) e num computador um pouco rodando o busybox, pressionando Ctrl +
segundo vem em diversas versões mais potente (AMD Duron de 900 Mhz, Alt + Fn. A inicialização leva menos de
comercializadas. As duas mais populares 256 Mbytes de RAM). um minuto em um PC de 350 MHZ. Tor-
custam 69.9 e 129 Euros respectiva- Como esperado e confirmado na estru- ná-la tão rápida quanto possível foi um
mente. Em contraste à versão gratuita, as tura do menu mostrado na Figura 1, o dos principais objetivos durante o desen-
caixinhas contém “chaveirinhos” USB de MandrakeMove é indicado para uso do- volvimento. Ou seja, evitar perguntas
128 ou 256 MB e documentação adi- desnecessárias sempre que possível.
cional, em parte específica ao Man- Embora isso possa significar o não
drakeMove (quase nada dela pode aproveitamento do hardware ao má-
ser encontrado online). Os usuários ximo, faz sentido. Um Live-CD como
que adquirirem as caixinhas vão este é quase sempre usado por perí-
encontrar software adicional, não- odos curtos de tempo para realizar
GPL, como drivers para hardware da tarefas simples e/ou por usuários
nVidia, Real Player e Flash Player. inexperientes. Nos passos seguintes
A principal vantagem da versão o usuário deve escolher o idioma
comercial é que ela pode armazenar (Inglês, Alemão, Francês, Italiano,
arquivos e dados de configuração no Holandês e Espanhol são disponí-
chaveiro USB. Na versão gratuita, veis) e aceitar a licença. A detecção
mostrada nesse artigo e disponibi- do hardware é feita logo após o
lizada online em 9 de dezembro de Figura 1: O menu de sistema do Mandrake: todas as coisas usuário fornecer um login e senha.
2003, você precisa reconfigurar tudo necessárias para trabalhar no escritório, ou apreciar músi- Uma vez que o sistema tenha sido
a cada vez que reinicializar o micro. cas e vídeo em casa. inicializado, tanto as ferramentas
Figura 2: O MandrakeMove utiliza a mesma interface de gerenciamento de Figura 3: Apontar e clicar: navegando por arquivos Ogg Vorbis no disco rígido
hardware do Mandrake 9.2. e os reproduzindo com o Totem.
padrão de gerenciamento do Mandrake Gnome, Meeting, o Media Player Totem e As ferramentas e os procedimentos
quanto a linha de comando estão dis- muitos outros estão inclusos. básicos de acesso à internet são os mes-
poníveis. Quase todo o hardware de nos- Tudo roda tão rapidamente quanto mos tipicamente oferecidos pelo KDE,
sos dois sistemas de teste foi detectado, numa instalação normal do Linux no como o discador KPPP, cliente de e-mail
configurado e utilizado sem problemas. mesmo computador. O Open Office.org KMail e navegador Konqueror. Como tí-
Todos os drives de CD e disquetes gan- funciona bem, exceto pelo fato de que nhamos apenas acesso discado, usamos
haram ícones no desktop, isto só não sempre reclama da falta do Java Runtime o KPPP para fazer uma conexão. Obvia-
funcionou com a chave USB. Environment (ambiente de execução mente, conexões via ASDSL e LAN
O computador K-6 é uma máquina Java) no diretório /usr/lib/jdk-1.4.1.0.1. tambem são possíveis. Alguns arquivos
somente Linux com várias partições Caso seja necessário se tornar root por de sistema, geralmente criados durante
ext3. Todas elas foram montadas auto- qualquer razão, basta digitar su-, sem uma instalação padrão, não estavam pre-
maticamente. Tanto o drive C: do sis- senha. Tivemos de fazer isto para sentes nos locais esperados: o KPPP
tema Duron (que tem somente Win- desmontar o disquete. Ele é auto-mon- reclamou da falta dos arquivos
dows) quanto a chave USB (ambos tado, mas a opção umount do menu con- /dev/modem e /etc/resolv.conf. Recado
VFAT) foram montados sob /mnt/win- textual do ícone não funciona. para a MandrakeSoft: alterar o KPPP
dows. O som funcionou corretamente, O CD do MandrakeMove pode ser para evitar as mensagens de erro, ou
desde os bips do sistema até a repro- removido do drive durante o uso, para oferecer mensagens diferentes, pode evi-
dução de CDs e arquivos Ogg Vorbis. O que você possa inserir outro disco. Mas tar confusão por parte dos usuários.
mesmo se aplica à impressão com uma antes de fazer isso você precisará parar o Apesar disso, com um modem externo
Epson Stylus e uma HP Deskjet 890. daemon do CUPS, o que pode ser feito nós estávamos conectados e navegando
Usando o KPPP o modem funcionou em uma janelinha pop-up. Sempre que em poucos minutos.
como sempre no Linux: nos conectamos parávamos de ouvir música, o sistema
imediatamente com um modem 3Com nos lembrava de colocar o CD do Man- Conclusão
US. Robotics externo. Não tivemos suce- drakeMove de volta no drive. Mesmo com os pequenos defeitos des-
sso, como esperado, com um Win- critos acima, o MandrakeMove oferece
modem anônimo interno. um belo e completo desktop de bolso.
Contudo, existem outros CDs mais
O Desktop desenvolvidos, com as mesmas carac-
O MandrakeMove é configurado por terísticas ou um pouco melhores, como o
padrão para o fuso horário norte-ameri- Knoppix. A versão para download é cer-
cano. Se este for mesmo o seu fuso tudo tamente a melhor escolha se o usuário já
bem, mas você não será avisado de que está familiarizado com o modo Man-
deve modificar as configurações caso drake de ser, ou se você quiser praticar
contrário. Esta é a única falha num primeiro antes de instalar o Mandrake
ambiente desktop que é bem implemen- 9.2 em um ambiente de produção.
tado, completo e fácil de usar. A Por outro lado, a versão para down-
plataforma base é o KDE 3.1, e aplica- load é a melhor demonstração possível
tivos populares como o Gimp 1.2.5, Figura 4: Os parâmetros de conexão para vários da versão comercial, mesmo sem a ace-
OpenOffice.org 1.1 Gnucash, Mr.Project, provedores já estão pré-configurados no KPPP. leração de hardware e a chave USB. ■
Tesouros Ocultos
Como toda nova versão do KDE, a 3.2 tem o tradicional con-
B
arras de ferramentas transpar- que envolve mergul-
entes, cursores com sombra, mu- har nas profundezas do
dança da resolução de vídeo com servidor X, encontrar os
um simples clique – algumas das novi- diretórios corretos, copiar os
dades do KDE3.2 não estão visíveis à arquivos com as fontes para eles, e
primeira vista. Elas fazem seu dia-a-dia então rodar alguns scripts. Mas tudo isso
diante do desktop mais fácil, ou ao me- é brincadeira de criança no KDE3.2.
nos mais bonito. Vale a pena procurá-las, A nova abordagem usa um “KIO
ao invés de simplesmente esperar para slave” especial, peço desculpas aos
tropeçar nelas algum dia. experts no KDE que podem achar isto TrueType, basta que
demasiadamente óbvio, executado den- você tenha um velho CD do Corel Draw,
FontWizardry (Gerenciador tro do Konqueror. Ao digitar fonts:/ na ou qualquer outro com milhares fontes,
de fontes) barra de endereços surgem duas pastas: e arraste os arquivos .ttf do CD para a
A equipe de desenvolvedores do KDE fez System (Sistema) para gerenciamento pasta apropriada. Você precisará da
uma contribuição monstro ao sistema de global das fontes instaladas, e Personal senha de root se quiser copiar os arqui-
gerenciamento de fontes, geralmente o (Pessoal) para fontes usadas apenas pelo vos para a pasta Sistema.
pior pesadelo do usuário Linux comum, usuário atual. Para instalar novas fontes
Ponteiros sem limites
Você tem inveja de seus colegas usuários
do Windows, com aqueles cursores do
mouse multicoloridos, com sombras ou
até mesmo animados?
Se sim, é hora de virar o jogo. Com o
KDE3.2 (e o XFree86 versão 4.3.x, inclu-
so na maioria das distribuições Linux
recentes) é muito fácil ter a última moda
em ponteiros para o mouse. E em con-
traste com o concorrente, no X os pon-
teiros do mouse podem usar mais de 256
cores ao mesmo tempo, além de efeitos
como transparências e sombras.
Para definir o quão extravagante você
quer seu ponteiro do mouse, selecione o
item Peripherals/Mouse (Periféricos/-
Mouse) no Centro de Controle do KDE. A
aba Cursor Theme (Tema do Cursor) traz
uma seleção de temas (veja a Figura 1); e
modelos adicionais (junto com milhares
de outros itens para enfeitar seu desk-
top) estão disponíveis no site KDE Look
Figura 1: Mudar a aparência do ponteiro do mouse nunca foi tão fácil. [1]. Entretanto, você precisará reiniciar o
GLOSSÁRIO
Transparência Alfa: Imagens e ícones trans- KIO slave: Componente do KDE responsável ador web Konqueror,os KIO slaves são usados
parentes tem um “valor alfa”(ou canal alfa) pela entrada e saída de dados (KDE para exibir dados de forma “legível”. Os KIO
para cada pixel, além dos valores para ver- Input/Output Slaves). Pode ser acessado Slaves também podem ser usados para
melho, verde e azul (RGB). Ele diz quanto do através da URL correta, como os prefixos mostrar o conteúdo de um CD de áudio (dig-
fundo deve ser visível, e seu valor geralmente http://, ftp://, file:/ ou font:/. Em um aplica- ite audiocd:/), ou para configuração do sis-
é expresso como um percentual de opacidade. tivo como o gerenciador de arquivos e naveg- tema (settings:/).
export PYTHONPATH=/usr/libU
/python2.3/
export PYTHONHOME=/usr/lib/U
python2.3/
permite que os usuários arrastem um ber duas informações, como indicado na Estamos usando o caractere \n (nova
arquivo do Konqueror para o tocador de Tabela 1: um apontador para o widget e - linha) como separador. A função mais
MP3 integrado. Por enquanto, queremos no caso de arquivos - uma lista de nome interna na expressão acima, str(), per-
que o XMMS toque os arquivos. de arquivo em múltiplas linhas na var- mite que conteúdo de dropText seja
A Listagem 1 mostra nossa solução Se iável dropText, onde cada linha repre- manipulado como uma string, enquanto
você não quiser desenvolver o arquivo senta um arquivo. string.rstrip() remove todos os caracteres
modelo, simplesmente sobrescreva o Infelizmente, cada nome de arquivo é não padronizados à direita.
arquivo small_text_xmms.py com o con- precedido pela palavra chave file:. Como Agora que temos as URLs individuais,
teúdo da listagem. o XMMS não sabe como lidar com URLs podemos usar um loop for para remover
Para permitir que um tema do Super do tipo file:/caminho/para/arquivo.mp3, o prefixo file:. Vamos escreverer as URLs
Karamba suporte drag & drop, o tema mas espera um nome de arquivo no for- na variável filename uma por uma, com:
precisa ser inicializado. A melhor ma- mato /caminho/para/arquivo.mp3, te-
neira de se fazer isto é criar um widget mos que remover os dados supérfluos string.split(nomedoarquivo, U
do SuperKaramba (veja Glossário nesta das linhas armazenadas em dropText "file:", 1)
página). Isto emite um sinal que será antes de passá-los ao XMMS para que os
recebido por um dos “receptores de nomes de arquivo sejam reconhecidos. Para ser mais preciso, dividimos o con-
eventos” do SuperKaramba, a função teúdo de filename em duas partes na
callback initWidget(). Podemos digitar: Perdendo peso primeira (1) instância do separador file:.
Nós vamos precisar das funções de Se não fizéssemos isso quaisquer
def initWidget(widget): manipulação de strings [7] acessíveis arquivos MP3 que contivessem a string
através de, import string. A próxima file: seria cortado em pedaços. O resul-
para definir na linha seguinte a reação etapa é definir uma variável vazia tado é uma lista com duas entradas, que
quando usarmos o tema como fundo: chamada xmms_filename = “” onde ire- armazenamos em uma outra variável,
mos armazenar a lista “limpa” de nomes temp. O primeiros elemento, temp[0],
karamba.acceptDrops(widget) de arquivos. Nós podemos então chamar contêm apenas uma string vazia depois
string.split() para dividir a lista de URLs da primeira operação de divisão.
Neste caso, queremos que o widget de dropText em seus componentes: Para cada iteração do loop, adi-
aceite que itens sejam soltos sobre ele. O cionamos o nome do arquivo ao con-
SuperKaramba usa o itemDropped() para string.split(string.U teúdo da variável xmms_filename. Como
processar o sinal. A função espera rece- rstrip(str (dropText)),"\n") o ele é o segundo elemento da lista temp,
podemos acessá-lo como temp[1]:
Tabela 1 - Receptores de sinais do SuperKaramba
xmms_filename=xmms_U
Função Chamada quando...
filename+ " \" "+ string.U
initWidget(widget) Um widget SuperKaramba é criado.
rstrip(U temp[1 ]) +" \ ""
widgetUpdated(widget) O tema é atualizado. O intervalo de atualização é definido no arquivo .theme.
widgetClicked(widget, x, y, button) Um clique do mouse ocorre dentro do tema. x e y indicam as
coordenadas (relativas ao tema) button indica o botão do mouse que foi GLOSSÁRIO
pressionado. API: Uma Application Programming Interface
widgetMouseMoved(widget, x, y, button) O mouse é movido dentro do tema. x e y indicam as coordenadas atuais (Interface de Programação de Aplicativos),
(relativas ao tema); button indica o botão do mouse que foi acionado,e define um número de funções dentro de um
seu status (pressionado ou não). software que outros programas escritos em
menuItemClicked(widget, menu, id) Um item de menu é selecionado. Isto informa o manipulador do menu uma linguagem específica podem chamar.
(veja o texto) e o item de menu que foi clicado (id). Em nosso caso, aplicativos em Python podem
menuOptionChanged(widget, key,value) Um item no menu de configuração do tema é selecionado. key indica o usar as funções implementadas no
manipulador do item do menu,e value o novo valor (verdadeiro ou falso). SuperKaramba.
meterClicked(widget, meter, button) Um mostrador é clicado. meter indica o manipulador,button o botão do
stdout: A saída padrão especifica para onde
mouse que foi clicado.
os aplicativos Linux devem enviar o texto de
commandOutput(widget, pid, output) Um programa é chamado por executeInteractive(),desde que isto gere
saída.Tipicamente é a tela, mas você pode
saída em stdout. pid é o process ID do programa,output contém o texto
redirecionar esta saída para um arquivo ou
enviado a stdout.
uma impressora. Além do stdout, o Linux
itemDropped(widget, dropText) Objetos (por exemplo ícones) são soltos sobre o tema através de uma
também possui uma saída chamada stderror
operação de arrastar e soltar. dropText contém o texto do objeto (por
(tipicamente também o monitor), para onde
exemplo,sua URL,veja a seção Arrastar & Soltar).
todas as mensagens de erro são enviadas, e
StartupAdded(widget, startup) O KDE executa um novo aplicativo. Quando a inicialização do programa é
stdin, a entrada de dados padrão, que geral-
completada,um sinal startupRemoved() é emitido,seguido por taskAdded().
mente é o teclado.
startupRemoved(widget, task) Veja startupAdded().
taskAdded(widget, task) Veja startupAdded(). Widget: Termo genérico para os elementos
de controle de uma interface gráfica. Estes
taskRemoved(widget, task) O programa foi encerrado.
incluem janelas, botões, menus, checkboxes,
activeTaskChanged(widget, task) Um outro aplicativo é movido para o primeiro plano.
abas, barras de rolagem, etc.
Para permitir que os XMMS toque mp3 cáveis no arquivo .theme, então vamos zena um menu com dois itens em
com espaços nos nomes dos arquivos, usar a API Python para fazer isto. my_menu. O primeiros deles...
coloque-os entre aspas. Como o Python Para experimentar, substitua o con-
também usa aspas para separar strings, teúdo do arquivo ~/.superkaramba/ karamba.addMenuItem(widget, U
temos que isolar o caractere usando “\””, small_text_xmms/small_text_xmms.py selectmenu , "konqueror", U
um procedimento razoavelmente com- com o conteúdo da Listagem 2. Minhas "konqueror.png")
plexo. Se xmms_filename realmente desculpas aos desenvolvedores profis-
incluir aspas, isolá-las com \ diz ao sionais pela gambiarra no uso das var- ...cria uma entrada para o navegador
XMMS que elas devem ser consideradas iáveis globais select_menu e my_menu, konqueror no selectmenu. O ícone kon-
literalmente. Após armazenar a lista com usadas apenas para simplificar as coisas. queror.png, que também tem que ser
os nomes dos arquivos em xmms_file- select_menu tem inicialmente valor 0 armazenado no mesmo diretório do
name, podemos usar: (zero) e representará mais tarde o object tema, completa o item do menu. O
ID do menu. my_menu [[],[]] cria um segundo addMenuItem() faz a mesma
karamba.execute("xmms"+ U “contâiner” para armazenamento de coisa, adicionando uma entrada para o
xmms_filename) uma lista com dois elementos. Esta lista navegador Opera:
será usada mais tarde pelo programa
para dizer ao XMMS para abrir o arquivo para mapear os itens do menu ao IDs karamba.addMenuItem(widget, U
MP3 que foi solto sobre nosso widget. atribuídos a eles. selectmenu , "opera", U
Em resposta à abertura da janela do "opera.png")
O menu, por favor tema, initWidget() adiciona um menu:
Adicionar outro menu para complemen- Naturalmente, no momento ainda falta a
tar o tradicional menu acionado com o selectmenu= karamba.createU funcionalidade. Para permitir que adi-
botão direito do mouse é outra forma Menu(widget) cionemos funções aos itens do menu,
interessante de incrementar um tema. precisamos de um meio para distinguir
Pode ser um menu para lançamento O número interno atribuído pelo sistema os itens individuais. Podemos armazenar
rápido de aplicativos que é acessado é armazenado na variável global select as palavras konqueror ou opera no iden-
quando você dá um duplo-clique com o menu. Isto é chamado de “índice”, tificador criado por addMenuItem() em
botão esquerdo do mouse, ou um clique porque o número é usado para identi- my_menu. O conteúdo da variável se
com o botão do meio. Seria deselegante ficar internamente o menu. A, um tanto parece com isto:
definir um número infinito de áreas cli- quanto longa, expressão a seguir arma-
(['konqueror', -22], ['opera',U
Listagem 1 : Tema com suporte a drag & drop -23])
01 import karamba
Agora temos um menu. Naturalmente
02 import string
ele não será exibido imediatamente, ape-
03
nas quando você der um duplo-clique
04 def initWidget(widget):
com o botão esquerdo do mouse sobre o
05 karamba.acceptDrops(widget)
tema do SuperKaramba, isto é, sempre
06
que um sinal widgetClicked(widget, x, y,
07 def itemDropped(widget, dropText):
button) é gerados.
08 xmms_filename=""
Nós não vamos avaliar as coordenadas
09 for filename in string.split(string.rstrip(str(dropText)),"\n"):
x-y e o número do botão do mouse pres-
10
sionado, mas se fizéssemos, poderíamos
11 temp=string.split(filename,"file:", 1)
tratar áreas diferentes dentro de tema de
12 xmms_filename=xmms_filename + " \"" + U
forma distinta, ou distinguir entre os
string.rstrip(temp[1]) + "\""
botões esquerdo, direito e central do
14 karamba.execute("xmms" + xmms_filename)
mouse. Poderíamos até mesmo mapear
15
um menu ao botão direito do mouse,
16 print "Minha extensão Python foi carregada!"
mas como um clique com este botão
GLOSSÁRIO
Variável global: O paradigma de progra- globais são visíveis em todo o programa. grama espera pela abertura de um arquivo ,
mação orientada a objetos tende a encapsu- Então, se você atribuir a cor verde à variável, não pode executar mais nenhumas outra
lar funções e variáveis em objetos. Por todos os botões que você criar serão verdes. tarefa.Threads permitem que um programa
exemplo, definir em uma variável a cor de um execute mmúltiplas tarefas simultanea-
botão facilita a tarefa de criar botões de Multithreaded: Normalmente programas mente. Em vez de sentar-se e esperar até o
várias cores, já que a variável é armazenada não são capazes de executar mais de uma arquivo abrir, um programa aproveitaria este
no objeto “botão”. Em contraste, variáveis tarefa por vez. Por exemplo, enquanto o pro- tempo em uma outra thread.
Assim como Java, o código-fonte de um pro- da definição da função. bro da equipe cientí-
grama em Python é convertido em bytecode fica da Universidade
A exigência de indentação garante que
pelo compilador. Este código também é exe- Otto-von-Guericke
código em Python será sempre bem estrutu-
cutado por uma máquina virtual, mas em Magdeburg, na
rado e fácil de ler, o que nem sempre acon-
Python é bem mais rápido que Java. Alemanha. Em seu tempo livre ele
tece em outras linguagens. Mas isto pode
gosta de fuçar na sua coleção de com-
Se vocé está migrando de Python para outra distrair os iniciantes e levá-los a cometer
putadores com Linux, mas também
linguagem de programação, há uma coisa erros de indentação, pois uma função com dirige sua energia creativa para a com-
sobre a qual você precisa saber: como fun- nível errado fica simplesmente fora do con- posição de letras e melodias. Hagen
ciona a definição de blocos de código. Blocos texto do bloco onde reside. Fique atento ao também toca guitarra em uma banda
são utilizados para definir trechos de código criar suas próprias extensões! chamada “Gute Frage!?”
Domando o MySQL
A MySQL AB disponibilizou uma ver- oteca Gtkmm (GTK--) [2] foi usada no
desenvolvimento da interface gráfica
são preliminar de uma interface grá- da versão Linux.
A parceria da MySQL como a
fica para administração de bancos SAP poderia levá-lo a pensar que
o MYSQL Administrator é
de dados, que permite a configu-
baseado no SAPDB Database
ração e monitoramento remoto Manager, mas Mike Zinner
nos garantiu que se trata de
de servidores MySQL. Mais fer- um “software completamente
novo”. Quando pedimos que
ramentas estão sendo desen- comparasse o MySQL Admin-
istrator com o Enterprise Ma-
volvidas, para modelagem de nager do MS-SQL, ele explicou
que “no momento o MA disponi-
dados e criação de clusters biliza apenas algumas das funções
que o Enterprise Manager possui.
POR SANDRO ZIC
Precisaremos esperar pelo término do
desenvolvimento das interfaces gráficas
para o MySQL ao longo deste ano para
A
MySQL AB, fabricante do banco não haviam adicionado suporte à cone- ter um conjunto completo de recursos.”
de dados MySQL, está desenvol- xões via SSH. O novo conjunto de pro-
vendo um conjunto de ferramen- gramas também inclui recursos para Monitorando a CPU
tas gráficas para tornar mais fácil a vida monitoramento de usuários, estado do O recurso de monitoração da CPU imple-
do administrador MySQL que encontra sistema, backup e recuperação de dados, mentados no MA merece destaque. Em
dificuldade no uso de comandos via ter- e visualização de “logs”. Versões prelim- tempo real, gráficos dinâmicos exibem
minal. O conjunto completo de ferra- inares (beta) para Windows e Linux já se valores críticos que podem incluir uso de
mentas, que deve estar disponível dentro encontram disponíveis para download, e memória ou acesso ao disco rígido, e o
de um ano, facilitará tarefas como insta- a versão para Mac OS X deverá estar número de conexões no servidor de
lação, configuração, e monitoramento de pronta até o final do ano. banco de dados (veja Figura 1). Este
clusters MySQL para replicação e balan- recurso permite ao administrador ver e
ceamento de carga. Assim como o pró- Sem o peso do Java reconhecer gargalos de forma indepen-
prio MySQL, suas ferramentas gráficas Neste artigo, testamos a versão para dente do tipo de tabela usada (MyISAM
serão disponibilizadas sob a licença GPL. Linux num sistema Suse 9.0 com KDE ou InnoDB). O MA pode disponibilizar
A MySQL anunciou sua linha de pro- 3.1.4, e uma versão para Windows em ao administrador estatísticas de um con-
dutos gráficos em janeiro deste ano, uma máquina com o Windows XP Pro- junto de variáveis, tais como bytes_sent e
quando demonstrou o MySQL Adminis- fessional. Como nossa versão de teste foi bytes_received, que indicam o volume de
trator [1] em Nova York, na Linux World uma distribuição pré-alpha extraída dire- tráfego de rede.
Expo. A Linux Magazine teve acesso ao tamente dos desenvolvedores, nós espe- Administradores de banco de dados
novo software, e conversou com o princi- rávamos encontrar alguns problemas. Na experientes podem definir quais va-
pal desenvolvedor, Mike Zinner, sobre as verdade, o software demonstrou ser ex- riáveis desejam exibir para analisar um
ferramentas para administração que a cepcionalmente estável em ambas as servidor de forma mais adequada às suas
MySQL AB tem produzido. plataformas, e a instalação foi realizada necessidades. Usando uma fórmula sim-
MySQL Administrator (MA) é um con- sem maiores surpresas ou dificuldades. ples eles podem, por exemplo, criar um
sole gráfico para administração de ban- O software inicializou de forma muito gráfico que exiba o número de bytes
cos de dados MySQL versão 4 ou rápida em ambos os sistemas. Contras- transmitidos por segundo através da
superior. O MA é capaz de abrir uma tando com alguns utilitários gráficos rede. Para criar este gráfico, basta sele-
conexão não criptografada, ou crip- baseados em Java, que inicializam deva- cionar na lista de variáveis, usando o
tografada com SSL, com servidores gar, o MA utiliza bibliotecas em C. A mouse, Bytes_sent, clicar com o botão
MySQL. Quando a Linux Magazine teve interface para ambiente Windows foi direito no campo valor e digitar a fór-
acesso ao software, os desenvolvedores desenvolvida em Delphi VCL, e a bibli- mula onde aparece ˆBytes_sent.
artigo vamos aprender a utilizá-lo corretamente e a desenvolver nossos próprios pacotes. POR SULAMITA GARCIA
o fez, e em dois dias o número de down- sistema por conta do administrador. Por
loads foi tão grande que derrubou o exemplo, a autenticação do sistema pode
servidor ftp. Nascia o Slackware Linux. ser feita via LDAP, PAM ou outro sistema
de autenticação qualquer, e muitas dis-
Os pacotes .tgz tribuições colocam um ou mais destes
No Slackware trabalha-se sempre tendo como um requisito para outras partes do
em mente a filosofia KISS: ”Keep It Sim- sistema. Isto, no entanto, não é essen-
ple, Stupid!” (mantenha-o simples, estú- cial: a autora deste artigo, por exemplo,
pido!). O sistema de gerenciamento de não utiliza nenhum dos sistemas de au-
pacotes também é assim. Os pacotes são, tenticação citados. Então, quem pode
em sua essência, a estrutura completa dizer o que realmente é dependência ou
que será instalada: a árvore de dire- não é o usuário da distribuição.
tórios, contendo os binários, documen- Aqui há, entretanto, algumas alternati-
tação e arquivos de configuração. É vas. Primeiro, se você acredita que não
realmente um arquivo concatenado (tar) pode viver sem que o sistema calcule as
e compactado (gzip). dependências para você, deve procurar
Experimente pegar algum pacote para uma ferramenta chamada swaret [3],
o Slackware e expandi-lo com tar zxvf. disponível no diretório extra do Slack-
Se isto for feito no diretório raiz, metade ware, ou alternativas como o slapt-get
do trabalho de instalação está feito. [4] e SlackUpdate [5].
Porém não basta só isto. Junto à estru- Porém, se você quer manter tudo sob
tura do pacote está o diretório install/, seu controle, a solução é bastante sim-
que contém os arquivos slack-desc e ples: se determinado programa não
o do-install.sh. O do-install.sh é uti- estiver funcionando e você desconfiar
lizado quando há a necessidade que falta alguma dependência para ele,
de alguma configuração extra: utilize o ldd. Digite ldd programa, e se
adicionar um usuário, con- aparecer alguma linha indicando um
figurar uma permissão de “not found”, pesquise o arquivo Mani-
acesso especial em al- fest, no CD do Slackware, para saber se
gum arquivo, criar ele está em algum pacote. Se não, pro-
links, etc. Já o slack- cure no Google e instale o software que
desc contém a des- fornece aquela biblioteca. Assim, o pro-
crição do pacote. blema das dependências será resolvido.
E
m 1993, um ano após o lança- Antes de realmente começarmos a por as SLS: abreviação de “Soft Landing System”ou
mento da versão 1.0 do Linux, um mãos no teclado, é importante fazer “Softlanding Linux System”. Foi a primeira
estudante universitário chamado algumas considerações. Não, os pacotes tentativa – ou segunda, juntamente com a
Patrick Volkerding começou a utilizar do Slackware não checam dependências. MCC (Manchester Computing Center distri-
uma das primeiras versões do sistema Para alguns esta é uma desvantagem, bution) – de organizar um sistema GNU/Li-
organizado em forma de distribuição, o para outros uma vantagem. Cada um nux no formato que conhecemos hoje como
SLS, para um trabalho. Percebendo que encara de uma maneira, e os usuários distribuição. Ambas foram criadas em 1992. O
várias coisas poderiam ser melhoradas, são tão diferentes quanto são diferentes Slackware (1993) nasceu do esforço em me-
lhorar a SLS, mas foi muito além, sendo a
Patrick realizou diversas modificações as múltiplas distribuições Linux.
mais antiga distribuição ainda disponível,
no sistema. Ao terminá-las, mostrou-as Em defesa da falta de checagem de
uma vez que tanto SLS quanto MCC deixa-
ao seu orientador, que o incentivou a dependências, o Slackware tem a carac-
ram de existir.
disponibilizar o sistema na internet. Ele terística de deixar todas as decisões do
Autoria Coletiva
A enciclopédia livre Wikipedia usa o
W
iki significa rápido em hava-
iano e a tecnologia wiki,
baseada na web, estabeleceu-
se de forma extremamente rápida. Ward
Cunningham teve a idéia em 1995
quando estava procurando um método
para colecionar exemplos de tarefas
comuns de programação entre um grupo ado; se não, o usuário ganha acesso a cria uma lista, texto cercado por sinais
de desenvolvedores. A idéia simples era uma caixa de edição onde ele pode criar de igualdade transforma-se num título.
permitir modificações de cada página do uma nova página com o título especifi- No momento existem mais de 100 fer-
wiki no próprio navegador. Colchetes cado (veja a Figura 1). ramentas [1] wiki disponíveis. A Media-
são tudo o que você precisa para trans- Uma sintaxe de fácil compreensão Wiki [2] é um exemplo popular. Ela
formar um trecho de um texto em um facilita o trabalho de formatação. Digitar fornece o suporte tecnológico para a
link. Se a página já existe, o link é cri- um asterisco no começo de uma linha enciclopédia livre, Wikipedia, o modelo
de conduta para muitos outros wikis
Jornada ao mundo dos Wikis (veja “Jornada ao Mundo dos Wikis”).
O Mediawiki não está restrito às enciclopé- cos. Este projeto pode se transformar em um No seu primeiro ano de vida, a
dias. Além da Wikipedia, sua comunidade arquivo central para roteiros de palestras Wikipedia usou o wiki Usemod, escrito
também lançou o Wiktionary, http://www. para o ensino universitário. em Perl. Mas a rotina provou ser muito
wiktionary.org, em dezembro de 2002. Este Enciclopédia da Desinformação exigente para o Usemod, que ameaçou
dicionário fornece a definição em inglês de entrar em colapso sob a carga de mi-
A Wikipedia tem uma lista [10] de outros
várias palavras e suas traduções em vários lhares de artigos e visitantes.
Mediawikis. Entre os exemplos dignos de
outros idiomas, enviadas por usuários de Isso levou os wikipedianos a desen-
nota está a enciclopédia da desinformação,
todo o mundo. volver a ferramenta MediaWiki em PHP,
Disinfopedia, em http://www.disinfopedia.
Citações e livros escolares org. O co-autor do Mediawiki, Evan usando um back-end em MySQL. Habili-
O Wikiquote, http://www.wikiquote.org, é Prodomou, mantém um guia de viagens dades em PHP são úteis se você precisa
uma coleção categorizada de citações; Já o chamado Wikitravel em http://www. criar ou modificar um wiki, mas mesmo
Wikisource, http://www.wikisource.org, adi- wikitravel.org, e a base de conhecimento e se você não “fala” PHP a MediaWiki
ciona material de fontes originais para suple- documentação Open Source do autor deste ainda permite a você criar um wiki fun-
mentar a Wikipedia, disponibilizado sob artigo, chamada OpenFacts, está disponível cional e fácil de usar.
domínio público ou uma licença livre. O pro- em http://openfacts.berlios.de. Já os fãs de
jeto Wikibooks, em http://www.wikibooks.org, Star Trek vão se deliciar com o Memory Alpha Estável ou Experimental
não é relacionado à Wikipedia em se (http://www.memory-alpha.org), lotado de
O MediaWiki está disponível em dois
tratando de conteúdo, mas fornece material informações sobre o universo no qual as
“sabores”. A versão estável pode ser
didático livre sobre uma variedade de tópi- séries e filmes são baseados.
baixada na página oficial [2] do projeto.
AddType application/x-httpd-phpU
.php .phtml
<Directory /caminho/para/U
diretório/upload>
AllowOverride None
AddType text/plain .html U
.htm .shtml
php_admin_flag engine off
</Directory>
arquivos .phtml são considerados obso- $wgDBuser e $wgDBpassword Usuário do MySQL para uso normal da base de dados
letos – Neste caso, copie index.php e $wgDBsqluser e $wgDBsqlpassword Usuário do MySQL para execução de comandos SQL através da interface web. Só
possui permissão para leitura.
redirect.php para o diretório do servidor
$wgLanguageCode Código de dois dígitos para o idioma a ser usado,por exemplo en para Inglês, pt
web, e copie todos os outros arquivos
para Português.
.php para um diretório seguro.
Privilégios de usuário documento (veja a Figura 3). O histórico Os operadores do wiki devem definir
A maioria dos wikis permite que suas de mudanças guarda as alterações em com cuidado as opções padrão, encon-
páginas sejam editadas por usuários uma página desde sua versão original, e tradas no array $wgDefaultUserOptions
anônimos. Isto gera dúvidas quanto a também permite que você recupere ver- En no arquivo Language.php, ou sua
como o administrador vai lidar com con- sões antigas da página e as republique se variante localizada. Opções como quick-
teúdo indesejável ou mesmo vandal- necessário. Além disso, usuários tem à bar (0 = sem barra de navegação, 1 =
ismo. O MediaWiki tem alguns mecanis- sua disposição a função User Contribu- barra à esquerda, 2 = à direita) são
mos de defesa: você pode restringir a tions, que permite que todo o conteúdo importantes. editiondbclick fará com que
leitura ou edição de conteúdo a grupos criado por um usuário específico seja uma janela de edição seja aberta após
específicos. As variáveis $wgWhiteListE- exibido. Operadores podem desfazer as um duplo-clique na página. showtoc gera
dit e $wgWhiteListRead no arquivo alterações listadas, permitindo a cor- automaticamente um índice para pági-
LocalSettings.php o ajudam a fazer isso. reção de atos de vandalismo em segun- nas com mais de três seções, e showtool-
O array $wgWhiteListAccount define os dos, sem interrupção do serviço. bar habilita a caixa de ferramentas em
grupos que possuem permissão de Se uma disputa sobre o conteúdo de Javascript no topo da janela de edição
leitura ou escrita: uma página surgir, um sysop pode pro- (veja a Figura 1).
tegê-la temporariamente. Administra- A opção editsection mostra um link
$wgWhiteListAccount=array(U dores também podem banir encren- chamado Edit (editar) ao lado do título
--user" => 0. --sysop" => 1. U queiros recorrentes através do bloqueio de cada seção da página. Isso permite a
--developer" => 1) de seus endereços IP. Infelizmente, o edição direta de seções específicas, e é
endereço IP de usuários conectados via particularmente útil em páginas muito
Este ajuste restringe as modificações aos dial-up muda frequentemente, e eles cos- longas, já que elimina a necessidade de
operadores de sistema e desenvolve- tumam agir de forma anônima. navegar até a janela de edição. Por outro
dores. A linha seguinte adiciona um Por este motivo, por padrão um blo- lado, links deste tipo podem arruinar seu
novo tipo de usuário, chamado editor: queio por endereço IP só dura 24 horas layout, cabe a você decidir o que é mais
(opção $wgIPBlockExpiration). O vandal- importante. Uma alternativa é habilitar a
$wgWhiteListAccount=array(U ismo é uma questão supervalorizada, opção editsectiononrightclick, que faz
--editor" => 1. --user" => 0. U questões de cunho social são mais com que um clique com o botão direito
--sysop" => 1. --developer" =>U importantes. Que tipo de páginas e com- do mouse no título de uma seção tenha o
1) portamento o wiki irá permitir? Ope- mesmo efeito. Contudo, em nossos
radores devem definitivamente pensar testes isto fez com o que o navegador
Depois de criar o tipo de usuário, o ope- sobre estas políticas. Konqueror caísse ocasionalmente.
rador pode lhe dar privilégios de leitura
ou escrita ao ajustar o valor do campo
user_rights na base de dados do usuário
para editor.
Até o momento, o MediaWiki não tem
uma ferramenta genérica para gerencia-
mento de privilégios. Isto significa que é
necessário formular uma consulta SQL
para fazer de um usuário um sysop,
developer ou editor. Por exemplo:
USE Nomedabasededados;
UPDATE SET user_rights='sysop' U
WHERE user_name='nomedousuário':
Linguagem de Sinais
Um sistema Unix executa até 30 processos simultâneos. Eles freqüentemente
para comunicação entre processos (IPC Para obter o resultado desejado, você
– inter-process communication). Cada precisa digitar kill -9, dessa forma
vez que você digita o comando kill para emitindo um sinal KILL. A menos que
encerrar um processo desnecessário, você tenha escolhido um zombie
você está na verdade enviando um sinal (“zumbi”, veja o quadro), ou um
a este processo (veja Figura 1). A Figura processo que está aguardando por uma
2 mostra uma lista dos sinais definidos operação de I/O, e que portanto reside
para kill. Esta lista, também contida no no espaço do kernel, o processo é obri-
cabeçalho do arquivo /usr/include/bits/ gado a se encerrar.
sgnum.h vale para todos os programas.
Se você tentar encerrar um processo Encerrando Programas
sem fornecer qualquer parâmetro adi- Alguns outros sinais são muito impor-
cional, o comando emitirá o sinal 15 tantes – ainda que não pareça tão óbvio
(TERM, terminar). Entretanto, alguns à primeira vista. A maioria dos leitores já
U
m processo é iniciado, completa processos simplesmente ignoram este pressionou [Ctrl]+[Z] para interromper
seu serviço, coloca tudo em sinal, ou já podem ter se encerrado. um programa, como um editor de textos.
ordem e termina. Se o trabalho é Neste caso, o sinal TERM não é usado. O shell reage mostrando o seguinte:
muito complexo, o proces-
so pode levar um certo [2] + Stopped vi U
tempo – semanas, ou até myfile
mesmo meses, para com-
pletá-lo. Tome por exem- Você pode reiniciar o edi-
plo um servidor Web, que tor digitando o comando fg
geralmente residirá na me- (foreground, primeiro pla-
mória até que uma versão Figura 1: O usuário mas executa os comandos ps e grep para procurar pelos proces- no). O comando jobs lhe
atualizada do sistema seja sos do Opera, e então executa o comando kill PID, para dizer a esses processos eles diz o estado de todos os
lançada; o mesmo também que devem terminar. processos controlados atu-
se aplica a muitos outros almente pelo shell:
“daemons”. Isto não quer
dizer que o ambiente para [1] - Running emacs &
este tipo de software será [2] + Stopped vi U
sempre o mesmo. Após myfile
modificar um arquivo de
configuração, o adminis- [Ctrl]+[Z] envia o sinal
trador precisa fazer que o 19, STOP. O comando fg
daemon note que modifi- continua o processo inter-
cações foram efetuadas, o rompido, emitindo o sinal
que envolve tipicamente 18, CONT (continua). O
alguma forma de comuni- sinal 18 também é usado
cação entre processos. no comando bg, que envia
um processo para back-
Sinais Figura 2: O Linux reconhece 64 sinais diferentes, os quais possuem um nome e um ground (segundo plano),
Sinais são uma das técni- número. O freqüentemente usado kill -9, também pode ser expresso como: kill - do mesmo jeito que adi-
cas mais bem conhecidas SIGKILL ou kill -KILL. cionar um & à frente de
Figura 3a: O SSH aguarda pacientemente que os processos-filho terminem Figura 3b: Processos demorados em background precisam ser iniciados com o
antes de fechar a conexão. Digitar ~ força o fechamento. comando nohup, se quiser que eles sobrevivam ao comando ~.
um comando. Se você quiser parar tem- primeiros 100 PIDs são usados pelos processo atual. A segunda coisa que o
porariamente um processo em back- processos do próprio kernel. Os demais Bash faz é fornecer atalhos para os
ground (porque ele está consumindo identificadores são usados pelos progra- nomes de processos, [1] e [2], neste
muitos recursos, por exemplo), e con- mas executados pelo usuário. caso. Utilize o símbolo de porcentagem
tinuá-lo mais tarde, pode usar os coman- Digitar repetidamente kill -18 21967, antes do número para acessar estes atal-
dos kill -19 e kill -18. sem errar, é cansativo. O Bash oferece hos. No exemplo anterior, o comando fg
O exemplo acima demonstra uma duas possibilidades de simplificação. A %1 envia o Emacs para primeiro plano.
notação simplificada para os números de primeira é que ele sabe os PIDs dos Além de [Ctrl]+[Z] (suspender),
processos, oferecida pelo bash como um processos atuais e anteriores. Eles são alguns shells também executam uma
atalho. Normalmente cada processo no marcados com sinais de mais e menos, suspensão “atrasada” de um processo,
Linux tem um PID (Process ID - identifi- respectivamente, na lista de processos. [Ctrl]+[Y]. Enquanto o comando para
cador de processo), entre 1 e 32767, Se você utilizar o comando fg, para suspender imediatamente um processo
onde 1 é reservado para o init, o manipular um processo, mas não especi- envia um sinal STOP, o [Ctrl]+[Y]
primeiro de todos os processos. Os ficar um PID, o comando é aplicado ao espera até que o processo termine de ler
SYSADMIN Comunicação entre Processos
dados do terminal. Isto permite que um O que realmente aconteceu é que o localizar o PID, algumas distribuições
processo seja manipulado imediata- SSH não travou, simplesmente notou Linux incluem o comando killall, que lhe
mente após aceitar uma entrada. uma tarefa em segundo plano. O SSH permite enviar um sinal qualquer a
estava esperando que este processo todos os processos com o mesmo nome
Desconexão terminasse para então encerrar a que você informar:
Um outro sinal remonta à época dos ter- conexão. Quando a conexão é interromp-
minais seriais. O sinal número 1 é ida, um sinal HUP é enviado ao killall -1 syslogd
chamado de HUP ou hangup (desco- processo, encerrando-o.
nexão). Se você utiliza um modem para A Figura 3b, mostra o jeito certo de Este comando aceita uma série de
acessar um sistema Unix e a conexão é fazer isto. O comando nohup protege um parâmetros que podem ser consultados
interrompida, o seu shell recebe um sinal processo em segundo plano de um sinal com o comando man killall
HUP e pode se recompor. Por exemplo, HUP. O SSH nota isto e continua a
um editor pode criar um backup e então esperar, mas desta vez a conexão pode Sinais definidos pelo usuário
encerrar sua execução. ser encerrada sem afetar o processo em Alguns outros sinais, como 10 (USR1), e
Conexões via modem são raras atual- segundo plano. O utilitário dbdump 12 (USR2), estão disponíveis para tarefas
mente, mas o sinal HUP mantém sua continuará em execução, e apresentará definidas pelo usuário. Por exemplo: se o
utilidade. Encerrar uma conexão SSH é seus resultados na próxima vez que o arquivo de configuração do Apache for
um dos usos, e também uma “pega- usuário mas se conectar ao sistema. Esta modificado, você pode forçar o daemon
dinha” muito comum. sintaxe do dbdump é mais elegante: a reler o arquivo enviando um sinal
Imagine o cenário da Figura 3a. O HUP. Entretanto, isto significa que quais-
usuário mas acessa via SSH uma outra nohup sudo -u mysql dbdump U quer processos filhos do Apache serão
máquina para executar algumas tarefas </dev/null & abandonados. Se, ao invés disso, você
de gerenciamento remoto e inicia um enviar um sinal USR1 ao processo princi-
processo demorado. Como ele não quer Isto significa que o processo não está pal do Apache, ele irá aguardar até que
esperar pelos resultados, adiciona o car- conectado ao terminal e o SSH terminará todos os trabalhos tenham terminado
actere & ao final da linha de comando após o usuário se desconectar do sis- antes de interromper e reiniciar os
para enviar automaticamente o processo tema, sem que ele tenha que digitar ~. processos-filhos.
para background (segundo plano) antes para encerrar a conexão. O uso de sinais é amplamente difun-
de encerrar a sessão. Infelizmente, isso dido e parte essencial do cotidiano de
parece não funcionar, e o ssh aparenta Modificando Configurações todo administrador de sistemas. Mas
estar “travado”. Para o usuário, parece Um uso muito comum do sinal HUP é restrições com o número de sinais limi-
não haver alternativa a não ser pres- para avisar a um daemon de que foram tado e o fato de que, por segurança, ape-
sionar ~, o caractere de escape do SSH, feitas modificações em seu arquivo de nas o super-usuário pode enviar sinais
para encerrar a conexão. configuração. aos processos que não lhe pertençam
O daemon syslog [2], é um exemplo justificam a existência de mecanismos
Zombies típico. Normalmente ele registra apenas alternativos, que serão examinados em
Um processo que gera um outro é conhe- alertas e mensagens de erro, para poupar um futuro artigo na Linux Magazine. ■
cido como um processo pai, e o relaciona- espaço no disco rígido e dores-de-cabeça
mento entre os dois é referido como do administrador. Mas após instalar um Marc André Selig
pai/filho. O processo que chama é o pai, e o novo pacote de software, é necessário trabalha como cien-
SOBRE O AUTOR
chamado é o filho. Se o processo filho ter- mais do que isso. tista assistente na
Universidade de Trier,
mina antes do seu pai, o pai envia um sinal Se o software não funciona como
na Alemanha, e
CLD ou CHLD (child). É esperado que o esperado, o administrador pode querer o como médico no hos-
processo pai confirme a conclusão dos seus registro de mensagens adicionais e infor- pital Schramberg.
filhos. Se o pai falha neste procedimento, o mações de debug para ajudar na solução Quando encontra
filho é identificado na tabela de processos do problema. Para isso, é necessário adi- algum tempo livre, seu interesse
como um zombie (zumbi) [1]. Afinal, como o atual é a criação de sistemas de base
cionar uma linha ao arquivo de configu-
kernel vai saber se e quando o pai vai veri- de dados baseados na Web em várias
ração do syslog, /etc/syslog.conf, para plataformas UNIX.
ficar o estado de saída do filho? A entrada do dizer ao daemon que estas informações
processo na tabela tem que ser mantida, devem ser registradas:
para cobrir esta possibilidade.
INFORMAÇÕES
Até lá, a maioria dos recursos de sistema já *.* -/var/log/everything [1] Artigo na Wikipedia sobre processos
terão sido liberados. O processo filho origi-
zumbi: http://en.wikipedia.org/wiki/
nal não existe mais, e o comando kill -9 não Você precisa enviar um sinal HUP para Zombie_process
terá efeito sobre ele. O processo “zumbi”só que o syslog reconheça a mudança. ps -ef
desaparece quando o processo pai termina [2] Marc André Selig,“The System Logger”,
| grep syslog mostra o PID, e o comando
ou quando procura saber o estado de saída Linux Magazine, Edição 40, Março de
kill -1 PID, se encarrega de encerrar o
do processo filho. 2004, página 64.
daemon. Se você não tem tempo para
Rostinho Bonito
Não faz mal nenhum prestar atenção nas aparências. Olhando através da pers-
E
u não sou uma pessoa fútil, afinal, O PHP Directory Indexer não é difícil
eu não trabalho no mercado da de instalar. Ao desempacotar o arquivo,
moda. Entretanto, de tempos em são criados 2 diretórios, docs e icons, e
tempos eu me olho no espelho e decido dois arquivos chamados inc_indexer.php
dar um trato no meu visual. e indexer.php. O diretório docs traz prati-
Algo estranho, porém similar, acontece camente tudo o que você pode esperar,
comigo quando eu olho uma lista de incluindo um guia de instalação em In-
diretórios através de um navegador (veja glês e Português (de Portugal, diga-se de cp /usr/local/indexer/*.php U
Figura 1). Para minha “Coleção de Inver- passagem). Já o diretório icons tem um /srv/www/htdocs/
no” deste ano eu decidi utilizar o PHP novo conjunto de ícones que eu então
Directory Index [1]. Confira a Figura 2: copiei para o diretório icons do Apache, para copiar os arquivos para o diretório
arrumadinho, não? O pacote funciona com o comando abaixo: apropriado. Agora eu posso modificar o
com o Apache 1.3 e 2.0 [2], e requer parâmetro DirectoryIndex no httpd.conf:
somente o mod_php4 (instruções de cp -r /usr/local/indexer/U
instalação e configuração detalhadas po- icons/* /srv/www/icons/ DirectoryIndex index.php indexU
dem ser encontradas em [3]). A chave é .html index.htm /indexer.php
o parâmetro DirectoryIndex no arquivo Obviamente o Apache necessitará de
de configuração Apache, o httpd.conf: permissão de leitura para esses arquivos Não se esqueça de colocar a barra, pois o
– para resolver isto, meu servidor utiliza arquivo está no diretório raiz do servidor
DirectoryIndex index.php U a conta nobody. web. O indexer vai funcionar logo após a
index.html index.htm reinicialização do Apache. Para saber
Modificando o mais sobre alterações na aparência do A-
Quando o usuário navega em um dire- DocumentRoot pache, leia o arquivo inc_indexer.php. ■
tório que contém um desse arquivos, o O próximo passo é copiar os dois ar-
navegador abre o arquivo automatica- quivos PHP para o diretório PHP, o INFORMAÇÕES
mente. Se o diretório não possui um parâmetro DocumentRoot no httpd.conf o [1] PHP Directory Indexer:
arquivo índice, o Apache apresenta uma informará qual é. No meu caso a linha é http://indexer.adamastor.org/?cat=menu
listagem do conteúdo do diretório como DocumentRoot "/srv/www/htdocs". En- [2] Apache: http://www.apache.org/
mostrado na Figura 1. tão executei o comando :
[3] Instalação do mod_php4 no Apache:
http://www.php.net/manual/pt_BR/
install.apache.php
Sistemas Unix em um
data-center em Moers,
próximo ao famoso rio
Reno, na Alemanha. Seu
trabalho inclui verifi-
cação de segurança e
disponibilidade dos fire-
walls e também é o responsável pela
Figura 1: O formato padrão da listagem de Figure 2: A utilização do “PHP Directory Indexer”
DMZ (demilitarized zone).
diretórios do Apache é muito pobre. dá ao seu site um toque de elegância.
Trabalho de Equipe
O Perl Object Environment (POE) ou
O
s aplicativos com uma interface complexo. Seções críticas precisam ser o efeito de “scroll” suave que queremos
gráfica são geralmente baseados protegidas contra o acesso paralelo para na interface. A função getonequote (sím-
em eventos. O programa tem um assegurar a integridade dos dados, evi- bolo) envia um pedido HTTP ao servidor
loop principal, utilizado para esperar por tando desta forma erros de difícil cor- Yahoo, espera por uma resposta e então
eventos como os cliques de um mouse e reção. Se você já teve que analisar um retorna os resultados.
entrada de dados através do teclado. É arquivo core com 200 threads ativas, Nós queremos manter o display fun-
importante que o programa processe es- sabe muito bem do que estou falando. cionando enquanto o programa espera
tes eventos sem nenhum atraso e retorne Há uma alternativa que evita estes por uma resposta – e, de acordo com a
rapidamente ao loop principal. Isto inconvenientes – a multitarefa coopera- lei de Murphy, podemos ter certeza abso-
impede que o usuário note a indisponi- tiva com o POE [2], desenvolvido princi- luta de que outra janela será arrastada
bilidade temporária da interface. palmente por Rocco Caputo. O ambiente sobre ele neste exato momento. Neste
No artigo deste mês estaremos ana- é implementado como uma máquina de caso, o programa terá que redesenhar a
lisando um programa, um stock ticker, estados que executa exatamente um área que foi oculta. Tal processo é co-
que consulta e exibe o valor de uma processo em uma única thread, porém nhecido como refreshing.
determinada ação na Bolsa de Valores. há um “kernel” no espaço de usuário, Infelizmente, devido à demora na
Periodicamente, este programa conecta- que permite a realização de múltiplas resposta à solicitação HTTP, o aplicativo
se à página de finanças do Yahoo!, atua- tarefas quase que simultaneamente. não recebe a ordem para redesenhar sua
lizando os valores previamente seleci- janela, e conseqüentemente deixa um
onados (veja Figura 1). Dependendo da Acompanhando horroroso “buraco” cinza no desktop –
conexão de rede esta operação pode, Programadores Perl que querem consul- certamente uma visão nada agradável.
incluindo a resolução de nome pelo tar o preço de ações costumam usar o
servidor DNS, levar alguns segundos até módulo Yahoo::FinanceQuote, encon- A alternativa assíncrona
se completar. Seria interessante que a trado na CPAN: Seria mais elegante transmitir o pedido à
interface do aplicativo se mantivesse web e retornar para redesenhar a janela,
funcionando durante este período. use Finance::YahooQuote; sem ter que esperar pelos resultados.
Os desenvolvedores já podem usar téc- my @quote = U Quando a resposta do servidor Yahoo!
nicas como o multiprocessamento ou getonequote($symbol); chegar, ela deveria causar algum tipo de
multithreading para alcançar este obje- alerta. Isto significa uma rápida atualiza-
tivo. Entretanto, ambas técnicas fazem Infelizmente, o módulo trabalha de ção da janela com os valores, e o retorno
com que o programa fique muito mais forma síncrona, o que torna difícil obter ao loop principal do programa.
Isto é exatamente o que o POE faz. estado wake_up a cada 60 segundos (por • Um parâmetro de formato (=f) com os
Fornece um kernel onde cada aplicativo meio de um alerta) ou quando alguém nomes dos campos solicitados: s (sym-
sessões, e máquinas de estado se movem clica no botão Update na interface. Isto bol), l1 (valor da ação) e c1 (mudança
entre estados, trocando mensagens. A lança outra máquina de estados tipo no valor, em percentagem, desde o
atividade de entrada e saída de dados é POE::Component:: Client::HTTP, e imedi- último dia de operação da bolsa)
assíncrona. Ao invés de abrir atamente devolve o controle • Um parâmetro símbolo (symbol) que
um arquivo ou uma conexão do programa ao kernel. contém uma lista, separada por vírgu-
e esperar pelos dados, você O “PoCoCli::HTTP” é um las, dos símbolos das empresas em
pode simplesmente dizer ao componente do framework cujas ações estamos interessados, por
kernel: “Ei! Eu quero ler POE, uma máquina de estados exemplo YHOO, MSFT, TWX.
algumas informações. Você que define sua própria seção O servidor responde com:
pode me avisar quando elas (chamada useragent na Lista-
estiverem disponíveis?” gem 2, linha 73), aceita pedi- "YHOO",45.38,+0.35
dos à web no estado request e "MSFT",27.56,+0.19
Dados em Alta então retorna ao framework "TWX",18.21,+0.75
Velocidade Figura 1: Nosso aplica- POE até receber uma resposta
Embora as operações de lei- tivo GTK para con- completa via HTTP. Neste Nosso aplicativo GTKTicker aceita a
tura e escrita não sejam total- sulta de valores de ponto, useragent pede ao ker- resposta linha a linha, separa os valores
mente assíncronas (de uma ações contata perio- nel que avise a sessão que a nas vírgulas e envia a informação para a
forma resumida, o POE sim- dicamente os servi- chamou, ticker, para entrar em interface gráfica.
plesmente usa as funções dores do Yahoo!. um estado chamado yhoo_
syswrite () ou sysread (), exe- response, que foi previamente Configuração no diretório
cutando as chamadas do sistema no passado à useragent. $HOME
modo conhecido como non-blocking), O kernel diz à seção ticker para fazer As linhas 13 e 14 da Listagem 2 especifi-
qualquer informação é processada em exatamente isso, e a seção aceita a res- cam que o arquivo .gtkicker no diretório
velocidade máxima. posta HTTP, que já estava à espera, e pessoal do usuário é o arquivo de símbo-
O aspecto cooperativo do POE se atualiza a janela antes de devolver o con- los a ser usado pelo ticker. As linhas 30 a
baseia no fato de que as sessões com- trole ao kernel, sem nenhum atraso. Na 37 interpretam este arquivo linha a linha
petem entre si, mas de forma não linha 69, o componente POE::Compo- (veja o loop while na linha 32), des-
egoísta. Se uma tarefa não ocupa total- nent::Client::HTTP é executado pela fun- cartando toda linha iniciada por #, con-
mente a CPU, a sessão tem que devolver ção spawn(), a qual especifica que o siderada como comentário (linha 33). O
o controle ao kernel. Uma única parte texto gtkticker/0.01 deve aparecer na loop for implícito no final da linha 35:
não cooperativa em um programa pode string user agent e que pedidos devem
ter impacto no sistema inteiro. expirar após 60 segundos. ... for /(\S+)/g;
A multitarefa em uma única thread
facilita o desenvolvimento do programa Manual do Yahoo executa a expressão à direita em todas as
– você não precisa se preocupar com As linhas 10 a 12 na Listagem 2 definem palavras da linha, e coloca o símbolo da
travas, não há surpresas com race condi- o endereço do serviço de cotação de va- empresa na variável $_. Isto permite que
tions, e mesmo que um erro ocorra, é lores de ações do Yahoo! (Yahoo! uma única linha tenha múltiplos símbo-
fácil localizá-lo. POE coopera com o loop Finance). A interface deste serviço los, separados por espaços. A função
principal de vários ambientes gráficos e recebe dois parâmetros: push (linha 34 da Listagem 2) coloca os
reconhece automaticamente Perl/TK e símbolos no array @SYMBOLS.
gtkperl integrando-os perfeitamente
Isto permite ao kernel designar fatias Returns immediately
de tempo aos eventos da interface, da yhoo_response
mesma forma que uma sessão explicita-
Stock Widgets
mente definida. Esta é a resposta para refreshed Yahoo reply
‘Update’ or alert (after
nosso problema com o refresh. available wake_up?
60 seconds)
Kernel event sent to
Yahoo
Alertando o Kernel
O programa na Listagem 2 usa a
máquina de estado POE:: Session como
GTK interface initialized Returns immediately
mostrado na Figura 2. A fase de inicia- _start
lização, _start, gera a interface GTK e
registra o apelido ticker para nos permitir
identificar a seção facilmente mais tarde. Figura 2: A máquina de estados do GTKTicker. Após o estado de inicialização, _start, o controle é devol-
A seguir o controle é devolvido ao ker- vido ao kernel. A cada 60 segundos a máquina entra no estado wake_up, e chama uma outra máquina
nel. A máquina de estados entra no de estados responsável por realizar a solicitação HTTP e devolver o controle ao kernel
Apesar de estar usando o framework $poe_kernel->post("ticker", U estado _start. Este, por sua vez, registra
POE, o GTKTicker emprega funções sín- "wake_up"); o apelido da sessão como ticker e então
cronas comuns de entrada/saída para ler pula para my_gtk_init(). Esta função,
o arquivo de configuração, já que o através da variável $poe_kernel expor- que começa na linha 98, constrói a inter-
arquivo é curto e o kernel POE não está tada pelo POE. A linha 55 inicia o loop face gráfica em GTK.
em execução neste momento. principal do kernel,
Interfaces gráficas com GTK
Que começe a dança! $poe_kernel->run(); O módulo Gtk encontrado na CPAN foi
A linha 39 da Listagem 2 define a escrito por Marc Lehmann. Na verdade
máquina de estados do ticker. A função o qual permanece em execução até que este módulo foi substituído pelo Gtk2,
inline_states mapeia funções aos esta- seja desativado. É isto! mas esta nova versão ainda tem alguns
dos. O kernel irá executar estas funções A construção dos objetos POE::Session pequenos problemas com o POE. Mas
quando a máquina entrar no estado cor- mostrada anteriormente tem um efeito não se preocupe, pois o “obsoleto”
respondente. A linha 53 declara o estado colateral. Ela executou a rotina start() módulo baseado no Gtk1 ainda fun-
wake_up da sessão ticker ao kernel: definida na linha 58, que é mapeada ao ciona, e muito bem.
Listagem 2: Gtkticker
001 #!/usr/bin/perl 042 _stop => sub { 083 HTTP::Request->new(
002 ############################# 043 INFO "Shutdown" }, 084 GET => $YHOO_URL .
003 # gtkticker 044 yhoo_response => 085 join ",", @SYMBOLS);
004 # Mike Schilli, 2004 045 \&resp_handler, 086
005 # (m@perlmeister.com) 046 wake_up => 087 $STATUS->set(
006 ############################# 047 \&wake_up_handler, 088 "Fetching quotes");
007 use warnings; 048 } 089
008 use strict; 049 ); 090 $poe_kernel->post(
009 050 091 'useragent',
010 my $YHOO_URL = 051 my $STATUS; 092 'request',
011 "http://quote.yahoo.com/d?". 052 093 'yhoo_response',
012 "f=sl1c1&s="; 053 $poe_kernel->post( 094 $request);
013 my $RCFILE = 054 "ticker", "wake_up"); 095 }
014 "$ENV{HOME}/.gtkticker"; 055 $poe_kernel->run(); 096
015 my @LABELS = (); 056 097 #############################
016 my $UPD_INTERVAL = 60; 057 ############################# 098 sub my_gtk_init {
017 my @SYMBOLS; 058 sub start { 099 #############################
018 059 ############################# 100
019 use Gtk; 060 101 my $w = Gtk::Window->new();
020 use POE qw( 061 DEBUG "Starting up"; 102 $w->set_default_size(
021 Component::Client::HTTP); 062 103 150,200);
022 use HTTP::Request; 063 $poe_kernel->alias_set( 104
023 use Log::Log4perl qw(:easy); 064 'ticker'); 105 # Create Menu
024 use Data::Dumper; 065 my_gtk_init(); 106 my $accel =
025 066 107 Gtk::AccelGroup->new();
026 Log::Log4perl->easy_init( 067 $STATUS->set("Startup"); 108 $accel->attach($w);
027 $DEBUG); 068 109 my $factory =
028 069 POE::Component::Client::HTTP 110 Gtk::ItemFactory->new(
029 # Read config file 070 ->spawn( 111 'Gtk::MenuBar',
030 open FILE, "<$RCFILE" or 071 Agent => 112 "<main>", $accel);
031 die "Cannot open $RCFILE"; 072 'gtkticker/0.01', 113
032 while(<FILE>) { 073 Alias => 'useragent', 114 $factory->create_items(
033 next if /^\s*#/; 074 Timeout => 60, 115 { path => '/_File',
034 push @SYMBOLS, $_ 075 ); 116 type => '<Branch>',
035 for /(\S+)/g; 076 } 117 },
036 } 077 118 { path =>
037 close FILE; 078 ############################# 119 '/_File/_Quit',
038 079 sub upd_quotes { 120 accelerator =>
039 POE::Session->create( 080 ############################# 121 '<control>Q',
040 inline_states => { 081 122 callback =>
041 _start => \&start, 082 my $request = 123 [sub { Gtk->exit(0) }],
Listagem 2: Gtkticker
124 }); 165 $row, $row+1); 206 $resp->content()) {
125 166 } 207
126 my $vb = Gtk::VBox->new( 167 } 208 my($symbol, $price,
127 0,0); 168 209 $change) =
128 my $upd = Gtk::Button->new( 169 $w->add($vb); 210 split /,/, $_;
129 'Update'); 170 211
130 171 # Destroying window 212 chop $change;
131 $vb->pack_start( 172 $w->signal_connect( 213 $change = "" if
132 $factory->get_widget( 173 'destroy', sub { 214 $change =~ /^0/;
133 '<main>'), 0, 0, 0); 174 Gtk->exit(0)}); 215
134 175 216 $symbol =~ s/"//g;
135 # Button at bottom 176 # Pressing update button 217 $LABELS[$count][0]->
136 $vb->pack_end($upd, 177 $upd->signal_connect( 218 set($symbol);
137 0, 0, 0); 178 'clicked', sub { 219 $LABELS[$count][1]->
138 179 DEBUG "Sending wakeup"; 220 set($price);
139 # Status line on top 180 $poe_kernel->post( 221 $LABELS[$count][2]->
140 # of buttons 181 'ticker', 'wake_up')} 222 set($change);
141 $STATUS= Gtk::Label->new(); 182 ); 223 $count++;
142 $STATUS->set_alignment( 183 $w->show_all(); 224 }
143 0.5, 0.5); 184 } 225
144 $vb->pack_end($STATUS, 185 226 $STATUS->set("");
145 0, 0, 0); 186 ############################# 227
146 my $table = 187 sub resp_handler { 228 1;
147 Gtk::Table->new( 188 ############################# 229 }
148 scalar @SYMBOLS, 3); 189 my ($req, $resp) = 230
149 190 map { $_->[0] } 231 #############################
150 $vb->pack_start($table, 191 @_[ARG0, ARG1]; 232 sub wake_up_handler {
151 1, 1, 0); 192 233 #############################
152 193 if($resp->is_error()) { 234 DEBUG("waking up");
153 for my $row (0.. 194 ERROR $resp->message(); 235
154 @SYMBOLS-1) { 195 $STATUS->set( 236 # Initiate update
155 for my $col (0..2) { 196 $resp->message()); 237 upd_quotes();
156 my $label = 197 return 1; 238
157 Gtk::Label->new(); 198 } 239 # Re-enable timer
158 $label->set_alignment( 199 240 $poe_kernel->delay(
159 0.0, 0.5); 200 DEBUG "Response: ", 241 'wake_up', $UPD_INTERVAL);
160 push @{$LABELS[$row]}, 201 $resp->content(); 242 }
161 $label; 202
162 203 my $count = 0;
163 $table->attach_defaults( 204
164 $label, $col, $col+1, 205 for(split /\n/,
$vb->pack_start($menu_bar, U A janela principal também tem uma Após completar estes passos prepa-
$expand, $fill, $padding); ação determinada – os usuários podem ratórios, wake_up_handler() usa a
clicar no botão com o “X” na parte supe- função delay() do kernel para enviar um
Este exemplo posiciona uma barra de rior direita da janela para finalizar a apli- alerta. Isso faz com que um evento
menus no topo da VBox. Na linha 132, o cação. O código seria: wake_up ocorra na sessão ticker quando
GTKTicker usa a função $factory-> o número de segundos definido em
get_widget(‘<main>‘) para acessar o $w->signal_connect('destroy', $UPD_INTERNAL (60 segundos neste
objeto da barra pelo seu nome. O sub {Gtk->exit(0)}); caso) tiver passado. A partir daí, o ticker
parâmetro $expand, usado na função irá automaticamente atualizar os valores
pack_start(), especifica se a área ocu- A sub-rotina finaliza o programa. Após a cada 60 segundos, sem que seja
pada pelo widget deverá crescer caso o definir os widgets, a função show() necessário pressionar o botão Update.
mouse seja usado para redimensionar a (linha 183) os exibe na janela principal. É fascinante ver o quão suave é a atu-
janela. Nesse caso, fill especifica se os alização da tela. Mesmo mexendo nos
widgets também deve crescer, o que per- O kernel contra-ataca menus enquanto o aplicativo executa
mitirá que botões e controles aumentem No estado yhoo_response, o kernel salta uma atualização automática através de
de tamanho de forma estrondosa. Final- para função na linha 187, resp_handler. uma conexão de rede lenta, a interface
mente, $padding determina o menor Por definição, quando isto acontece o permanece intacta.
número de pixels que deverá existir para POE::Component::Client::HTTP armaze-
separar verticalmente o widget de seus na pacotes com a solicitação e a resposta Problemas na instalação
vizinhos. Nosso GTKTicker exibe men- em ARG0 e ARG1. O POE usa este modo É melhor usar o CPAN para instalar o
sagens de status no widget Gtk:: Label ligeiramente estranho de passar parâ- POE e os módulos necessários, como
logo acima do botão Update. A função metros após a introdução de novas fun- POE::Component::Client::HTTP. Se o
set_alignmet() usa a seguinte sintaxe ções que representam constantes numé- módulo POE::Component::Client:DNS for
ricas, tais como KERNEL, HEAP, ARG0, instalado, as consultas ao servidor DNS
$STATUS->set_alignment U ARG1. Os responsáveis pelo POE espe- serão realizadas de forma assíncrona.
(0.5, 0.5); ram que os programadores as usem para Caso contrário, a função gethostby-
indexar o array de parâmetros das fun- name() pode causar um pequeno atraso.
para alinhar o texto horizontal e vertical- ções, como @_. Por exemplo, $_[KER- A instalação do Gtk a partir do CPAN
mente. Caso queira experimentar, utilize NEL] sempre retornará o objeto kernel, o causou alguns probleminhas em meu
na horizontal o valor 0.0 para alinhar o que ajuda a manter o índice para o qual sistema. Mas basta executar:
texto à esquerda, e o valor 1.0 para ali- KERNEL aponta transparente.
nhar o texto à direita. Os pacotes de solicitação e resposta touch ./Gtk/build/U
Ao contrário do Gtk::VBox, o Gtk:: mencionado acima são apenas referên- perl-gtk-ref.pod
Table fornece aos programadores uma cias a dois arrays, cujos elementos inici- perl Makefile.PL U
ferramenta para convenientemente dis- ais contém objetos HTTP::Request ou --without-guessing
por widgets em uma tabela. A função HTTP::Response. O comando map na
attach_defaults() recebe cinco parâme- linha 190 os extrai para $req e $resp. seguido de make install no diretório de
tros: o widget que será alinhado e duas Se ocorre um erro de HTTP, a linha instalação para resolvê-los. ■
coordenadas de linha e coluna, entre as 195 gera uma mensagem apropriada no
quais o widget será colocado. Veja o widget de status e a função retorna. Se INFORMAÇÕES
exemplo abaixo: não, o array bidimensional global de
widgets label é atualizado. Os widgets [1] Código deste artigo: http://www.linux-
$table->attach_defaults exibem o símbolo da empresa, o valor magazine.com/Magazine/Downloads/42/Perl/
($label, 0, 1, 1, 2); atual de cada ação e a variação como [2] POE: http://poe.perl.org
uma percentagem. No caso da variação [3] Jeffrey Goff,“A Beginner’s Introduction to
$label será colocado entre a primeira ser zero, ela é simplesmente ignorada. POE”, 2001: http://www.perl.com/pub/a/
linha (“entre 0 e 1”) e a segunda coluna 2001/01/poe.html
(“entre 1 e 2”) da tabela chamada $table Acorde! [4] Matt Sergeant,“Programming POE”, talk
Um evento wake_up no kernel chama a at TPC 2002: http://axkit.org/docs/
Ação! função wake_up_handler() definida a presentations/tpc2002
Você pode designar ações para os wid- partir da linha 232 (veja a Listagem 2). [5] Gtkperl: http://gtkperl.org
gets do tipo Gtk::Button, e o Gtk execu- Ela chama a função upd_quotes(), imple- [6] Tutorial de Gtkperl:
tará a ação quando um usuário pres- mentada a partir da linha 79. Esta função http://personal.riverusers.com/
sionar o botão. A função signal_con- define um objeto HTTP::Request e usa ~swilhelm/gtkperl-tutorial/
nect(), na linha 177 da Listagem 2, um evento para enviá-lo ao componente [7] Eric Harlow,“Developing Linux Applica-
especifica que Gtk deve enviar o evento POE::Component::Client::HTTP. O estado tions with GTK+ and GDK”: New
wake_up ao kernel quando o usuário alvo da sessão ticker é então designado Riders,1999,ISBN 0735700214
clicar no botão Update. como yhoo_response.
C
D’s estão por fora – vida longa A interface lembra bastante o iTunes, mouse e selecione View Modes/Compact.
para a música digital! É verdade da Apple. Clique com o botão direito do Ou selecione Tree view para organizar
que uma coleção de músicas pre- mouse sobre uma coluna para especi- suas listas por álbum, artista ou mesmo
cisa de manutenção e o pacote kdemulti- ficar quais items devem (ou não) ser gênero. Cada playlist, com exceção da
media do KDE 3.2 traz uma nova mostrados na playlist. Collection List, pode ser salva no formato
ferramenta que faz exatamente isso, o m3u. Clique com o botão direito do
JuK [1] audio player. É fácil entender por mouse sobre ela e selecione Save as.
que ele administra tão bem sua lista de
músicas. Seu autor, Scott Wheeler [2], Divirta-se
originalmente o projetou para gerenciar O painel ao lado direto da janela do JuK
faixas (tracks) e metadados (título, esconde alguns truques: Por exemplo, o
artista, álbum, etc), e o chamou de Qtag- campo Search permite que você refine a
ger. A função de “tocar” as músicas foi seleção de faixas de uma dada playlist.
adicionada depois. O JuK suporta os for- Você pode salvar os resultados da busca
matos MP3, Ogg Vorbis e o Free Lossless como uma playlist dinâmica. Qualquer
Audio Codec, FLAC [3]. Figura 1: Playlists à esquerda, faixas à direita. faixa que satisfaça os termos é automati-
camente adicionada à lista.
Monte sua lista Gerenciamento Para selecionar a próxima faixa a ser
Quando você inicia o programa, é apre- Para adicionar faixas, você pode sele- tocada, sem interromper a que está
sentada somente uma lista vazia cioná-las individualmente clicando em tocando, basta clicar com o botão direto
(Playlist) do lado esquerdo. Essa lista File / Open ou informar ao JuK para adi- do mouse sobre a faixa e selecionar Play
chamada Collection list contém todas as cionar todo o conteúdo de uma pasta next. Se você pressionar a tecla [Shift] e
músicas (tracks) conhecidas pelo JuK. (File / Open folder), sempre que você fizer uma seleção múltipla, é possível
Você pode adicionar suas próprias abrir o programa. Cada vez que você ini- criar uma lista estática com as faixas
playlists mais tarde (veja Figura 1). Se ciar o JuK, o programa mostrará uma selecionadas.
você não precisar deste recurso, pode lista completa com as músicas existentes Se você fechar a janela principal, o
ocultar essa área simplesmente arras- nesse diretório e nos subdiretórios, e ícone do JuK aparece na área de notifi-
tando o divisor o máximo possível para a também as últimas adições à coleção. cação do KDE e uma janela pop-up se
esquerda com o mouse. Se você possui uma extensa coleção de abre para informar qual será a próxima
Os controles de reprodução, funda- músicas, o JuK pode demorar alguns música da lista. Para mostrar novamente
mentais, estão localizados na barra de segundos para carregar todas as infor- a janela principal, basta clicar simples-
ferramentas e podem ser posicionados mações, tais como os metadados para mente com o botão direito do mouse
na lateral ou no rodapé da janela, se todas as faixas, na primeira vez em que sobre o ícone do programa. ■
desejado. A barra de status na parte de você a acessar. Felizmente, isto não
baixo da janela apresenta informações impede que você continue usando o INFORMAÇÕES
sobre a playlist ou sobre a faixa atual. prgrama enquanto isso. Graças à um
Clicar no botão com a seta toca a faixa “cache” inteligente, estas informações 1] JuK: http://developer.kde.org/~wheeler/
atualmente selecionada na playlist. Se são armazenadas e reaproveitadas nas juk.html
você clicar no indicador que mostra o próximas vezes, o que tomará bem [2] Scott Wheeler: KDE Scripting with DCOP.
tempo decorrido, o JuK passa a exibir o menos tempo. Linux Magazine, Número 36, Novembro
tempo restante para o final da música. Se o JuK encontrar um aquivo .m3u 2003, p46
Clique novamente para voltar o modo (possivelmente criado pelo XMMS), seu [3] FLAC: http://flac.sourceforge.net/
normal de visualização. conteúdo será apresentado como uma
O Sorriso do Lagarto
A
lguma vez você já deu uma pas- Extensões são pedacinhos de software que se “encaixam” em um programa,
sadinha em uma página na Inter-
net como a themes.mozdev.org adicionando novos recursos ou alterando certas funções. Elas são um dos pon-
para trocar o tema padrão do seu Mozilla
por algo mais simples ou colorido? Pois tos fortes dos softwares do projeto Mozilla, e permitem que eles se adaptem
saiba que existe um equivalente para as
ao gosto e à necessidade de qualquer usuário. POR CAIO BEGOTTI
extensões: a Extension Room [1], um
lugar com uma enorme galeria de exten-
sões (“add-ons”) para os vários soft- Tabbrowser DownloadWith
wares do projeto Mozilla, tanto para o A extensão Tabbrowser [3] aumenta Se você, como muitas outras pes-
próprio, como até para a dupla Firefox e ainda mais os recursos do sistema de soas, têm ódio mortal do
Thunderbird. Algumas extensões são navegação com abas do Mozilla. Com ela gerenciador de downloads
verdadeiros clássicos e acabaram por ser você pode reorganizar as abas existentes do Mozilla (ou Firefox),
incorporadas ao código oficial dos pro- simplesmente arrastando-as para a essa extensão é a
gramas, como a navegação com abas. A posição desejada. Você também pode salvação da lavou-
seguir, mostramos algumas extensões alterar a posição da barra de abas, ra. Ela permite
que podem ser muito úteis no dia-a-dia. movendo-a para outras partes da janela que um progra-
de navegação, reabrir abas que haviam ma externo qual-
Checky sido fechadas, configurar o posiciona- quer seja configu- Michael Sult,
A extensão Checky [2] é uma interface mento de abas que serão abertas e até rado para funcionar como ge- www.sxc.hu
bastante útil para quem cria conteúdo mesmo selecionar as abas usando o renciador de downloads padrão.
para a Internet, usada para validação e botão de rolagem do seu mouse. E não importa qual seja: desde o divino
análise de código. Com ela é possível Quer mais? Com a Tabbrowser é pos- wget, passando pelo Kget e prozilla e até
validar arquivos HTML, XHTML, CSS, sível impedir a abertura dos links de mesmo o Download Accelerator Plus
XML, SGML, RDF e RSS, junto à W3C uma aba, alterar a legenda delas, definir (DAP) ou o GetRight.
WAI, Section 508 ou P3P. Pode-se ainda um intervalo no qual as abas devem Vale mencionar que essa extensão foi
validar conteúdo específico para alguns recarregar a página exibida, alterar a cor originalmente criada por um brasileiro,
programas, como o Lynx, e muito mais. de uma aba, exibir o código fonte de um chamado Gustavo Bittencourt, e que
São mais de 40 serviços acessíveis com documento em uma nova aba ao invés atualmente seu desenvolvimento tam-
um toque de tecla – já que atalhos de de uma nova janela e, obviamente, sal- bém conta com a participação de vários
teclado permitem validar qualquer docu- var o estado das abas, para não ter de colaboradores estrangeiros.
mento em diversos serviços ao mesmo refazer toda a configuração mais tarde. Caso você se interesse em criar suas
tempo. Dentre os serviços disponíveis, Tantos recursos têm um preço: pode próprias extensões, visite a página do
destacam-se os oferecidos pelo W3C ser que o seu navegador fique um pouco XUL Brasil [5], grupo interessado no
(“World Wide Web Consortium”, que instável, mas os benefícios compensam. desenvolvimento de interfaces em XUL
define normas e padrões para a Inter- Existem várias outras extensões com (XML User Interface Language), a mes-
net), e a dupla Delorie e Colorfilter, que recursos similares ao Tabbrowser, e até ma linguagem usada pelo Mozilla e suas
analisa o esquema de cores usado em mesmo uma para os que odeiam as abas, extensões. Divirta-se! ■
seu documento e diz se pessoas com chamada Tab Killer.
problemas visuais conseguirão enxergá-
los, e até mesmo gera folhas de estilo INFORMAÇÕES
próprias para certos tipos de daltonismo.
[1] Extension Room:
Caio Begotti <enter- http://extensionroom.mozdev.org/
SOBRE O AUTOR
O
KDE3.2 é melhor que seu prede- Os exemplos que citamos aqui são ape- no servidor FTP da SuSe [1]. Todas as
cessor. Esta afirmação tem sido nas uma seleção arbitrária, e o sistema versões apresentaram os sintomas des-
verdadeira a cada nova versão de relato de bugs do KDE (http://bugs. critos neste artigo.
do KDE. Entre várias outras novidades kde.org/) fornece ampla oportunidade
temos o KWallet, um gerenciador de sen- para uma pesquisa mais detalhada. Cabe Problemas com Correio
has e credenciais, o conjunto de aplica- aos leitores decidirem por si mesmos se Eletrônico (e-mail)
tivos para organização de informações os novos recursos do KDE3.2 valem o A primeira coisa que muitos usuários
pessoais (PIM) Kontact, o jukebox JuK esforço para superar os obstáculos. – olham é o funcionamento do leitor de e-
(veja artigo na p.75), o Kopete para men- apesar de tudo, pessoas diferentes pos- mail, e a nova versão do KMail causa
sagens instantâneas e o Kig para geo- suem necessidades diferentes, e para boa impressão. Infelizmente, essa boa
metria, só para citar alguns. Todos estes muitos não seria a primeira vez que impressão inicial logo é desfeita por um
ilustres programas foram incorporados teriam que tolerar alguns bugs. bug que faz com que as mensagens que
aos pacotes do núcleo do desktop Nosso laboratório usou o SuSe Linux passam por filtros caiam em um buraco
(core packages). Os programas já exis- 9.0 – usuários de outras distribuições negro. E isto não aconteceu só com as
tentes contam um grande conjunto de podem ser mais afortunados e livrarem- mensagens filtradas: de tempos em tem-
novas características, correções de prob- se de alguns dos problemas que tivemos. pos as mensagens baixadas não apare-
lemas e melhorias de usabilidade. Usamos o KDE 3.2 nas versões Beta cem na caixa de entrada ou em um
Entretanto, nem sempre os usuários 3.1.94, 3.1.95, e a versão 3.2 encontrada subdiretório designado como mailbox. O
estão procurando por novidades. Huma- mesmo problema ocorreu quando nós
nos são criaturas de hábitos, e é Werner Harrichhausen, usa Linux há usamos um filtro POP.
geralmente mais importante para os usu- mais de seis anos. Ele tem seu próprio O projeto KDE disponibilizou uma cor-
O AUTOR
ários que seus programas favoritos tra- negócio baseado em Linux chamado reção [3] para o problema em 5 de
balhem como sempre fizeram. Esta é a Bin-OSProjekte, e atualmente fevereiro, entretanto o patch ainda não
aprende C/C++ em um curso à dis-
motivação deste artigo, procurar entre a se encontrava nos pacotes oficiais do
tância. É um grande fã do “The
selva de programas existentes lá fora as KDE para o SuSe 9.0 [1], nem nos
Sweet”e gosta de ficar na compa-
armadilhas nas quais um usuário desa- pacotes mais atualizados do KDE/SuSe
nhia da esposa e de seus três gatos.
visado pode cair após uma atualização. 9.0 de 3 de fevereiro [2].
GLOSSÁRIO INFORMAÇÕES
PIM Suíte: Uma coleção integrada de progra- base são obrigatórios. Qualquer outro pro- [1] Pacotes do Suse Linux KDE 3.2:
mas para gerenciamento de seus dados pes- grama (o “kdeedu”, pacote de ferramentas ftp://ftp.suse.com/pub/suse/i386/ supple-
soais, como mensagens do email, livro de educacionais ou o “kdegraphics”de ferramen-
mentary/KDE/update_for_9.0
endereços e lista de tarefas Uma (teorica- tas gráficas, por exemplo) é opcional. Algu-
mente) grande vantagem sobre os programas mas distribuições tendem a dividir os pacotes [2] Download oficial do KDE:
que trabalham de forma individual é a possi- do núcleo em vários pacotes menores para ftp://ftp.kde.org/pub/kde/stable/3.2/
bilidade do compartilhamento de dados facilitar a manipulação.
entre os programas, o que agiliza a busca [3] Patch do KMail:
Patch: Um pedaço de software que corrige
pelas informações. bugs, ou adiciona novos recursos, a um pro- ftp://ftp.kde.org/pub/kde/stable/3.2/src/
Pacotes do Núcleo (Core Packages): O ambi- grama. No caso do Software Livre/Open kdepim-3.2.0-HOT_FIX_FOR_KMAIL.patch
ente desktop KDE é organizado por áreas de Source, geralmente o patch precisa ser [4] KBear: http://kbear.sourceforge.net/
aplicação e distribuído através de múltiplos inserido no código-fonte do programa, que
pacotes, dos quais somente o kdelibs e o kde- em seguida deve ser recompilado. [5] Projeto KDE: http://www.kde.org
Xpad
Tome Nota!
A invasão dos papeizinhos amarelos começou em 1980, ano em que os
Agora, o Xpad traz as notinhas para o seu desktop. POR ANDREA MÜLLER
C
ompromissos, tarefas, endereços, Xpad não atrapalha nem tira sua visão A nota virtual é uma janela que você
anotações e números de telefone – da tela do computador, e não causa pode mover como qualquer outra.
há todo tipo de uso para estas no- indisposição com os defensores das Quando você acessa uma janela do
tas práticas e “pegajosas”. Disponíveis causas ambientais. Xpad, surge uma barra de ferramentas
em muitas cores e tamanhos diferentes, na parte de baixo da nota. Mantendo o
elas figuram em todos os lugares – Instalando o Xpad botão esquerdo do mouse pressionado
alguns incomuns, como monitores, Usuários do Mandrake podem simples- você pode mover a janela para qualquer
mesas, e até mesmo luminárias, mente instalar o pacote rpm do Xpad. Já lugar em seu desktop. Arraste o canto
esperando pacientemente por alguém usuários de outras distribuições podem inferior direito desta barra para aumen-
que execute a tarefa nela anotada e então tentar a sorte com o próprio pacote do tar ou diminuir o tamanho das notas
a despache para a lixeira. Mandrake, que foi instalado sem proble- (veja a Figura 2).
Uma história de sucesso na vida real, mas no Red Hat Linux 9.0 ou, falhando Se outra janela esconder a barra de fer-
as notas amarelas seriam uma adição útil isto, você sempre pode instalar o pro- ramentas você pode manter a tecla Con-
ao desktop de qualquer computador. Ao grama a partir do código fonte. trol [Ctrl] pressionada e clicar sobre a
menos esta era a idéia de Michael Terry Se você pretende compilar o código- nota para movê-la para outra posição.
quando lançou o projeto Xpad (http://- fonte, necessitará das bibliotecas e dos Para redimensionar a janela, segure
xpad.sourceforge.net/), com o objetivo pacotes de desenvolvimento do GTK+ 2, novamente o [Ctrl], mas desta vez pres-
de criar uma alternativa virtual ao Post- XFree86 e libgdk-pixbuf. Os pacotes de sione o botão direito do mouse. A tecla
It. Ao contrário da versão em papel o desenvolvimento são geralmente identi- [Alt] pode ser usada ao invés do [Ctrl].
ficados por sufixos como -devel ou -dev. Use a janela do Xpad como qualquer
Depois de instalar todos os pacotes outro editor de texto, escrevendo as
extras necessários, digite o comando a notas com seu teclado. As anotações não
seguir no terminal para descompactar o saem do espaço definido por você. Se
código fonte: você precisar escrever mais texto do que
o tamanho da janela, o programa exibe
tar -xjf xpad-1.13.tar.bz2 uma barra de rolagem, entretanto, isto
significa perder a vantagem da leitura
Entre no diretório xpad-1.13 que foi imediata do conteúdo da nota.
criado durante a descompactação. Feito Adicionar outras notas é provavel-
isso, digite ./configure e make para con- mente, a melhor solução. Para isso,
figurar e compilar o programa. Assegure- clique no ícone no lado esquerdo da
se de estar como root e digite make
install para instalar o programa em um
diretório abaixo da árvore /usr/local.
Figura 1: Um guia rápido dá as boas-vindas ao
usuário de primeira viagem. Post-its para seu Desktop
O Xpad roda em quase todos os gerenci-
Desktópolis adores de janelas. Para usá-lo na
Só você pode decidir o visual do seu desktop. primeira vez digite xpad & em um termi-
Em Desktópolis nós lhe convidamos a em- nal, e ele logo mostra um guia rápido
barcar regularmente em uma viagem pelos (veja a Figura 1) que explica os passos
gerenciadores de janelas e ambientes desk- básicos. Ao fechar esse guia, o Xpad cria
top, onde conheceremos utilidades, inutili- imediatamente um lembrete quadrado Figura 2: Quando o foco é colocado sobre a janela
dades e “brinquedos bonitinhos”. de 200 pixels de lado em seu desktop. do Xpad, uma barra de ferramentas aparece.
barra de ferramentas, aquele com a fonte (font face) permite que você que o programa adicione barras de rola-
aparência de uma folha de papel em escolha o tipo e o tamanho das letras e gem às notas. Isto permitirá que a janela
branco. Se você estiver tendo dificul- em “Border” (bordas) você pode definir do programa aumente se você precisar
dades para encontrar uma nota especí- a cor e a larguara da borda. anotar mais texto do que o tamanho
fica, possivelmente outra janela está O campo “padding” especifica a dis- padrão permite. Allow Window Manager
sobre ela, ocultando-a. Clique com o tância entre o texto e as bordas da Decorations permite que o gerenciador
botão direito em qualquer janela do janela. O Xpad aplica imediatamente as de janelas aplique suas próprias bordas
Xpad, e selecione Notes/Show All (mos- alterações, permitindo ver em tempo real às janelas do Xpad.
tre todas as notas), para exibir todas elas o resultado da mudança, o que garante a Window Manager Close Action permite
em primeiro plano. melhor legibilidade de suas que você especifique o que
Você pode eliminar as notas clicando notas (veja a figura 3). deve ser feito quando você
no ícone da lixeira na barra de ferramen- encerrar o Xpad. Ele pode,
tas. Já botão à direita da barra de ferra- Mudando as Figura 6: Ícone do por exemplo, fechar e salvar
mentas, com o ícone de uma porta, configurações Xpad na bandeja de todas as janelas automatica-
encerra o Xpad. Não são todos os que gostam sistema do KDE. mente (Close and save all
da cor amarela tradicional, e a pads), ou salvar e fechar
Arquivos Xpad fonte padrão poderia ser um pouco apenas a nota atual (Close and save
Como uma alternativa viável ao similar maior para os usuários com maior re- pad), ou ainda, descartar a nota,
em papel, o Xpad salva suas notas solução de vídeo. Ao invés de mudar jogando-a no lixo sem avisar (Destroy
quando você sai do programa. Para isso cada lembrete individualmente, uma pad (no confirmation)).
o Xpad armazena o tamanho, a posição e tarefa trabalhosa, simplesmente altere o A aba Toolbar permite configurar as
o conteúdo de qualquer nota ativa, regis- padrão para atender às suas exigências. preferências da barra de ferramentas.
trando todos estes dados no arquivo Selecione Editar/Preferências (Edit/Pre- Você pode desativar a opção de auto-
~/.xpad. Os arquivos com o prefixo info ferences) no menu para poder alterar as ocultação para mantê-la na tela todo o
contém dados sobre a opções de configuração no tempo.Se você preferir trabalhar sem ela,
aparência e tamanho de centro de controle do Xpad. pode desmarcar a opção Enable toolbar
todas as suas notas. As primeiras quatro abas da (ativar barra de ferramentas); as funções
Na próxima vez que janela: Cor do texto, cor de estão disponíveis no menu drop-down.
você abrir o Xpad, ele fundo, bordas e fonte já nos A seção Toolbar Buttons permite que
vai restaurar os dados de são familiares. Utilizamos as você especifique quais botões deverão
sua última sessão. O pro- mesmas para alterar a config- ser exibidos na barra de ferramentas
grama possui um meca- uração individual de cada (veja a Figura 4). Ao mover o ponteiro
nismo muito útil para se lembrete, conforme mostra- do mouse sobre qualquer um dos botões,
proteger da perda de da- Figura 3: Nota com fundo mos anteriormente. uma descrição do mesmo é exibida. O
dos em casos de trava- laranja, fonte azul e borda A aba de opções (Options) botão com o ícone de um pincel é ex-
mento ou queda do de 7 pixels. permite que você altere várias tremamente útil, pois permite que você
sistema: ele salva auto- configurações gerais. Marque exiba ou oculte o conteúdo de uma nota.
maticamente suas notas enquanto você a opção Pads Start Sticky para exibir O botão com o ícone da chave de
está trabalhando, e não apenas quando qualquer nova nota em todos os seus fenda e martelo possibilita rápido acesso
você sai do programa. desktops virtuais. Selecione Pad/Sticky às configurações. Você pode mover bo-
para fazer isto com apenas uma nota. tões para a seção Unused Buttons (bo-
Destacando Notas Desabilite Allow Scrollbars para evitar tões sem uso) ou levá-los de volta à
Importantes seção Used Buttons (botões usados) da
Uma forma de destacar as notas mais barra de ferramentas. Use o mesmo pro-
importantes é alterar sua aparência. O cesso para mudar a ordem dos botões ou
Xpad possibilita uma configuração dife- removê-los individualmente.
rente para cada nota. Para abrir o menu Ao clicar no botão com a seta verde os
de configuração selecione Pad/Properties usuários do KDE terão uma surpresa:
em qualquer janela do Xpad. Em todas as notas são movidas para o painel
primeiro lugar, desabilite os ajustes de acesso rápido do seu desktop (veja a
globais – global settings – para que o Figura 5). Para exibí-las novamente,
programa não utilize a aparência padrão basta clicar sobre o ícone no painel.
para esta nota. Em nossos testes o Gnome (2.2 e 2.4)
Quatro abas permitem que você defina apresentou problemas com esta função.
a aparência das notas. Use o seletor de As janelas do Xpad desapareceram como
cores para escolher a cor do texto (text esperado, mas ao clicar no ícone nada
color). A cor do fundo (background) é Figura 5: Seleção dos botões que serão exibidos acontece, e as notas simplesmente se re-
selecionada da mesma forma. A aba na barra de ferramentas. cusam a reaparecer. ■
Papo de Botequim
Você não agüenta mais aquele seu porque, em inglês, Shell significa con-
cha, carapaça, isto é, fica entre o u-
amigo usuário de Linux enchendo o suário e o sistema operacional, de
forma que tudo que interage com
seu saco com aquela história de que o o sistema operacional, tem que
passar pelo seu crivo.
sistema é fantástico e o Shell é uma
D
iálogo entreouvido em uma mesa O Linux, por definição, é um sistema
de um botequim, entre um multiusuário – não podemos nunca nos
usuário de Linux e um empur- esquecer disto – e para permitir o acesso
rador de mouse: O ambiente Linux de determinados usuários e barrar a en-
• Quem é o Bash? Para você entender o que é e como fun- trada de outros, existe um arquivo cha-
• É o filho caçula da família Shell. ciona o Shell, primeiro vou te mostrar mado /etc/passwd, que além de fornecer
• Pô cara! Estás a fim de me deixar como funciona o ambiente em camadas dados para esta função de “leão-de-chá-
maluco? Eu tinha uma dúvida e você do Linux. Dê uma olhada no gráfico cara” do Linux, também provê informa-
me deixa com duas! mostrado na Figura 1. ções para o início de uma sessão (ou
• Não, maluco você já é há muito tem- Neste gráfico podemos ver que a ca- “login”, para os íntimos) daqueles que
po: desde que decidiu usar aquele sis- mada de hardware é a mais profunda e é passaram por esta primeira barreira. O
tema operacional que você precisa formada pelos componentes físicos do último campo de seus registros informa
reiniciar dez vezes por dia e ainda por seu computador. Em torno dela, vem a ao sistema qual é o Shell que a pessoa
cima não tem domínio nenhum sobre camada do kernel que é o cerne do vai receber ao iniciar sua sessão.
o que esta acontecendo no seu com- Linux, seu núcleo, e é quem põe o hard- Lembra que eu te falei de Shell, fa-
putador. Mas deixa isso prá lá, pois ware para funcionar, fazendo seu geren- mília, irmão? Pois é, vamos começar a
vou te explicar o que é Shell e os com- ciamento e controle. Os programas e entender isto: o Shell é a conceituação
ponentes de sua família e ao final da comandos que envolvem o kernel, dele de concha envolvendo o sistema opera-
nossa conversa você dirá: “Meu Deus se utilizam para realizar as tarefas para cional propriamente dito, é o nome
do Shell! Porque eu não optei pelo que foram desenvolvidos. Fechando tudo genérico para tratar os filhos desta idéia
Linux antes?”. isso vem o Shell, que leva este nome que, ao longo dos muitos anos de exis-
maiores galhos. Seu nome é “pipe” (que $ echo "Existem who | wc -l U $ (pwd ; cd /etc ; pwd)
em inglês significa tubo, já que ele cana- usuarios conectados" /home/meudir
liza a saída de um comando para a Existem who | wc -l usuarios U /etc
entrada de outro) e sua representação é a conectados $ pwd
| (barra vertical). /home/meudir
Hi! Olha só, não funcionou! É mesmo,
$ ls | wc -l não funcionou e não foi por causa das “Quequeiiisso” minha gente? Eu estava
21 aspas que eu coloquei, mas sim por que no /home/meudir, mudei para o /etc,
eu teria que ter executado o who | wc -l constatei que estava neste diretório com
O comando ls passou a lista de arquivos antes do echo. Para resolver este proble- o pwd seguinte e quando o agrupamento
para o comando wc, que quando está ma, tenho que priorizar a segunda parte de comandos terminou, eu vi que conti-
com a opção -l conta a quantidade de li- do comando com o uso de crases: nuava no /etc/meudir!
nhas que recebeu. Desta forma, pode- Hi! Será que tem coisa do mágico
mos afirmar categoricamente que no $ echo "Existem `who | wc -l` U Mandrake por aí? Nada disso. O interes-
meu diretório existiam 21 arquivos. usuarios conectados" sante do uso de parênteses é que eles
Existem 8 usuarios U invocam um novo Shell para executar os
$ cat /etc/passwd | sort | lp conectados comandos que estão em seu interior.
Desta forma, fomos realmente para o
A linha de comandos acima manda a Para eliminar esse monte de brancos diretório /etc, porém após a execução de
listagem do arquivo /etc/passwd para a antes do 8 que o wc -l produziu, basta todos os comandos, o novo Shell que
entrada do comando sort. Este a classi- retirar as aspas. Assim: estava no diretório /etc morreu e retor-
fica e envia para o lp que é o gerenciador namos ao Shell anterior que estava em
da fila de impressão. $ echo Existem `who | wc -l` U /home/meudir.
usuarios conectados Que tal usar nossos novos conceitos?
Caracteres de ambiente Existem 8 usuarios conectados
Quando queremos priorizar uma expres- $ mail suporte@linux.br << FIM
são, nós a colocamos entre parênteses, As aspas protegem da interpretação do Ola suporte, hoje as `date U
não é? Pois é, por causa da aritmética é Shell tudo que está dentro dos seus lim- “+%hh:mm”` ocorreu novamente U
normal pensarmos deste jeito. Mas em ites. Como para o Shell basta um espaço aquele problema que eu havia U
Shell o que prioriza mesmo são as crases em branco como separador, o monte de reportado por telefone. De U
(`) e não os parênteses. Vou dar exemp- espaços será trocado por um único após acordo com seu pedido segue a U
los para você entender melhor. a retirada das aspas. listagem do diretorio:
Eu quero saber quantos usuários estão Outra coisa interessante é o uso do `ls -l`
“logados” no computador que eu admi- ponto-e-vírgula. Quando estiver no Shell, Abracos a todos.
nistro. Eu posso fazer: você deve sempre dar um comando em FIM
cada linha. Para agrupar comandos em
$ who | wc -l uma mesma linha, temos que separá-los Finalmente agora podemos demonstrar o
8 por ponto-e-vírgula. Então: que conversamos anteriormente sobre
“here document”. Os comandos entre
O comando who passa a lista de usuários $ pwd ; cd /etc; pwd ;cd -;pwd crases tem prioridade, portanto o Shell
conectados ao sistema para o comando /home/meudir os executará antes do redirecionamento
wc -l, que conta quantas linhas recebeu e /etc do “here document”. Quando o suporte
mostra a resposta na tela. Muito bem, /home/meudir receber a mensagem, verá que os
mas ao invés de ter um número oito comandos date e ls foram executados
solto na tela, o que eu quero mesmo é Neste exemplo, listei o nome do diretório antes do comando mail, recebendo então
que ele esteja no meio de uma frase. Ora, corrente com o comando pwd, mudei um instantâneo do ambiente no
para mandar frases para a tela eu só pre- para o diretório /etc, novamente listei o momento de envio do email.
ciso usar o comando echo; então vamos nome do diretório e finalmente voltei pa- - Garçom, passa a régua! ■
ver como é que fica: ra o diretório onde estava anteriormente
(cd -), listando seu nome. Repare que Julio Cezar Neves é Analista de Su-
SOBRE O AUTOR
Buraco Negro coloquei o ponto-e-vírgula de todas as porte de Sistemas desde 1969 e tra-
Em Unix existe um arquivo fantasma. formas possíveis, para mostrar que não balha com Unix desde 1980, quando
Chama-se /dev/null.Tudo que é enviado importa se existem espaços em branco fez parte da equipe que desenvolveu
para este arquivo some. Assemelha-se a um antes ou após este caracter. o SOX, sistema operacional, similar
Buraco Negro. No caso do exemplo, como ao Unix, da Cobra Computadores. É
Finalmente, vamos ver o caso dos
não me interessava guardar a possível men- professor do curso de Mestrado em
parênteses. No exemplo a seguir, colo-
sagem de erro oriunda do comando rm, redi- Software Livre das Faculdades Estácio
camos diversos comandos separados por
recionei-a para este arquivo. de Sá, no Rio de Janeiro.
ponto-e-vírgula entre parênteses:
A
pós Oslo no ano passado, neste GNU/Linux voltadas para a educação. pelidado pelos desenvolvedores como
ano foi a vez de Porto Alegre ter a Mas o tema que despertou maior inter- “Palavras do Rei”. O último dia foi espe-
honra de servir de sede para a esse foi o trabalho na próxima versão da cialmente caracterizado pelo evento: o
principal conferência da comunidade distribuição, Debian GNU/Linux 3.1, “Dia Sem Fins Lucrativos” (Nonprofit-
Debian. Deste modo, o 5º encontro codinome Sarge. Participantes que que- Day), voltado para os desenvolvedores
(seguindo um antigo costume “hacker” a riam trabalhar nas novas rotinas de que se interessam especialmente pelo
contagem começou do zero, com a Deb- instalação do sistema se “apossaram” de projeto “Debian Nonprofit”, uma abor-
Conf 0) manteve a tradição de ser real- uma sala após alguns dias. E muito em- dagem que tem por objetivo otimizar a
izado uma vez na Europa e no ano bora o coordenador do desenvolvimento distribuição de acordo com as necessi-
seguinte em algum outro continente. A de Sarge não estivesse presente na con- dades de instituições não comerciais.
decisão por Porto Alegre não foi por ferência, a oportunidade foi aproveitada
acaso: o 5º Fórum Internacional de Soft- para discutir os planos para a nova ver- A gente se vê na Finlândia?
ware Livre foi realizado na seqüência. são do sistema e mesmo para versões A DebConf se mostrou novamente um
A Debconf durou oito dias este ano, ao futuras. Além de palestras e workshops componente importante das atividades
contrário do ano passado, quando só houve também oportunidade para deixar da comunidade Debian, sendo ao mes-
levou três dias. Muitos dos desenvolve- o computador de lado e fazer uma mo tempo celeiro de idéias e oficina de
dores chegaram antes do início da con- excursão para Gramado. implementação. O sucesso justifica a re-
ferência, para tomar parte do DebCamp, Na terceira noite do encontro houve alização do evento anualmente. No ano
evento concebido como maratona de um “jantar formal” com o líder mundial que vem, pelo que parece, teremos um
programação, com o objetivo de trazer do projeto Debian, Martin Michlmayr. O “repeteco” na Finlândia, que é para mui-
resultados preliminares antes mesmo do discurso ocorrido antes do jantar foi a- tos a pátria do Linux. ■
início da DebConf. Neste ano, ambos os
eventos ocorreram em paralelo.
Com mais de 150 pessoas presentes,
entre desenvolvedores oficiais e voluntá-
rios, a DebConf 4 contou com mais visi-
tantes que a conferência do ano passado.
O patrocínio de grandes empresas como
Hewlett-Packard, Cisco Systems e O’Reil-
ly foi com certeza um dos fatores que
tornou isto possível: sem ele muitos dos
desenvolvedores não teriam como arcar
com os custos de viagem.
Sarge e distribuições
customizadas
A programação do evento foi apertada:
palestras e workshops ocorriam muitas
vezes ao mesmo tempo. Atividades abor-
dando Distribuições Debian Customiza-
das (DDC) despertaram em particular
bastante interesse. Petter Reinholdtsen,
por exemplo, apresentou os projetos Figura 1: Este ano a DebConf no Brasil contou com mais de 150 participantes da comunidade Debian. Em
Skolelinux e Debian-Edu. Ambos os pro- oito dias de conferência os desenvolvedores tiveram a oportunidade de participar de palestras e work-
jetos são customizações do Debian shops, bem como de trabalhar na nova versão do sistema.
otimismo a ser aprendida veio através do Fórum Internacional de Software Livre em Porto Alegre.
T
empos estranhos vivemos hoje: ro dia do evento, permitindo assim que aspectos políticos fossem um dos tópicos
enquanto o hemisfério norte entra seus participantes do mundo todo pu- mais discutidos durante as conversas e
em batalhas hercúleas na fronteira dessem planejar sua participação no palestras. Conseqüentemente uma das
das patentes de software e se preocupam fórum. De acordo com o ponto de vista maiores surpresas do evento se aven-
com o rumo do futuro da tecnologia, por de Martin Konold, do projeto KDE, o turou no terreno político.
nossas bandas tupiniquins decidimos FISL já é maior que o Linux-Kongress, na
avisar que as regras estão mudando, e Alemanha, que atualmente é o maior Qual é seu nome, Linux?
ninguém pode mais nos parar agora. O evento de Software Livre na Europa. E é Uma boa surpresa veio através de um
que começa a se realizar aqui é sonho claro, as presenças de grandes nomes painel idealizado e coordenado pelo gaú-
dos primeiros idealizadores do movi- mundiais do Software Livre e também cho Leonardo Vaz, como resultado de
mento de Software Livre. Creative Commons estiveram presentes, um movimento crescente iniciado por
E os grandes sinais desta mudança entre eles o cada vez mais brasileiro ele. O movimento em si tem a meta de
foram vistos no Fórum Internacional de John Maddog Hall, o “X.org-Man” Jim parar as brigas internas da comunidade
Software Livre em Porto Alegre, em sua Gettys e o idealizador da Creative Com- de Software Livre com o intuito de evitar
quinta edição (http://www.softwarelivre. mons, Lawrence Lessig. uma assalto político ao mesmo, e para
org/forum2004). A expectativa do início do fórum era unir as diversas “tribos”.
Sob olhares impressionados, os diver- grande e compreensível. Após o grande Você conhece bem todas elas: for-
sos participantes estrangeiros do fórum evento de capacitação promovido pelo madas pelos grupos de usuários de dis-
assistiram a um evento composto de governo em Brasília, onde oficialmente o tribuições bem como comunidades de
mais de 4500 participantes registrados, tempo de migração brasileira foi inici- desenvolvedores, unidos com o objetivo
provindos de 35 países e composto de ado, havia um medo inerente do pro- de acabar com uma rivalidade estúpida,
mais de 100 palestras e painéis durante blema de continuidade deste programa. bem como imprensa especializada e pro-
um período de 4 dias, de 2 a 5 de Junho. Mas esta mudança se mostrou real e sóli- fessores universitários.
Colaborando com o grande momento, a da dentro do FISL, um ponto de união Este painel colocou diversos represen-
DebConf 4, realizada na semana prévia entre a comunidade com uma meta co- tantes de todos estes movimentos no
do evento, também em Porto Alegre, teve mum. Considerando este um ano eleito- mesmo patamar, e no melhor espírito
seu último dia se sobrepondo ao primei- ral, ninguém se mostrou surpreso que hacker, pediu à grande platéia (sentada
Figura 1: O dia começando no Fórum. Figura 2: E o palco ainda não estava completo…
Figura 4: Nerd também é Cultura… Uma das várias entrevistas. Figura 5: À espera de um ministro…
bertura a um evento deste porte com de sugestão para implantar a licença, Em uma impressionante mudança par-
maior atenção aos detalhes (já houveram não esperava que alguém que por tantos cial de ponto de vista, um dos mais
outros similares), a resposta mostrava anos esteve ligado à indústria da música, importantes e respeitados analistas eco-
claramente que não há mais apenas a aceitaria tão bem: é de Gil a primeira nômicos do país, Luís Nassif, conhecido
interesses tecnológicos envolvidos, e sim música licenciada pela ReCombo. crítico do modelo de exploração comer-
que está se tratando de um modelo eco- O criador da idéia, o jurista Lawrence cial do Software Livre, falou abertamente
nômico e político de um país. E isso leva- Lessig falou claramente que é impressio- de novas possibilidades de funciona-
nos ao tema central da maior (e mais nante ver uma licença criada para ser a- mento deste modelo.
esperada) palestra do evento. plicada primeiramente no tão chamado Questionado pela Linux Magazine so-
“primeiro mundo”, ser utilizada em pri- bre o porquê da mudança de ponto de
Leia, escute, use, copie, meiro lugar em um país emergente que vista, Nassif respondeu:
reutilize não tem medo de mudar. “Eu ainda não estou convencido sobre
É claro, estamos falando da “Creative Em uma impressionante analogia com a viabilidade econômica do modelo atual
Commons”. Em um movimento arrojado a criação do Piano (“Piano Forté”), John de exportação de Software Livre, porém
do Ministério da Cultura, junto com Fin- “Maddog” Hall mostrou porque é uma após a equipe do Sérgio Amadeu (Dire-
lândia e Japão, o Brasil foi um dos pessoa tão amada pela comunidade: tor-Presidente do ITI, ver página 8) me
primeiros países a adaptar a licença da como historiador e personalidade cati- mostrar como o desenvolvimento do
Creative Commons ao seu sistema legal. vante ele conseguiu, num rápido dis- Kernel e de outros projetos de Software
E foi mais além, um novo adendo à curso interrompido pela chegada do Livre é organizado e estruturado, pude
licença foi criado e batizado aqui. A ministro Gil, correlacionar o modelo de conceber a idéia de viabilidade.”
ReCombo (nome de um grupo musical licenciamento da Creative Commons Quem poderia conceber que um inte-
nacional que trabalha especificamente com a estratégia usada pelo criador do grante do governo poderia convencer um
com montagens). Essa licença realiza o piano para popularizá-lo. Foi aplaudido economista sobre as vantagens modelo
sonho de muitos DJ’s mundo afora: ela de pé por cerca de 2000 pessoas durante de mercado adotado pelo Software Livre?
finalmente cria uma base legal para a quase três minutos. Mas o mundo está mudando, e com
reutilização de conteúdo. Até este mo- E isso, mesmo após a interrupção cau- seus arrebates costumeiros Marcelo Tas
mento divisor de águas, tudo era feito sada pela chegada do ministro, também fechou o painel com a frase mais mar-
em uma espécie de acordo de cavalhei- recebido com muitos aplausos. Vale lem- cante de toda a conferência. Na posição
ros, mas sempre existiu a incerteza legal. brar que esta é a primeira vez que um de quem teve contato com a Internet e a
Sim: nós mudamos isso! ministro de estado vem a um fórum de computação muito cedo devido à sua
A Fundação Getúlio Vargas ajudou a Software Livre. Porém, para decepção profissão, ele disse:
capitanear o projeto e a dar-lhe o emba- dos fãs (e repórteres) presentes, depois “Olhem todo mundo. Eu estou aqui,
samento legal. O mentor do projeto aqui, de um longo e sonolento discurso, o mi- em 2004, em um evento de informática,
Ronaldo Lemos da Silva Júnior, se encar- nistro praticamente não pôde parar para sentado com economistas, advogados e
regou ele mesmo de se aproximar do cumprir seus compromissos de entre- músicos, em frente de uma platéia enor-
atual ministro da cultura, Gilberto Gil, vistas e fotos. Mas antes de sua saída, me que parece que saiu de um show de
levando-o a comprar a idéia. Durante a dois importantes integrantes da mesa Rock’n’Roll, falando sobre liberdade de
palestra, Ronaldo contou que, quando se passaram as mensagens que definiram o direitos autorais e nosso ministro da cul-
aproximou do ministro na sua tentativa que foi este fórum. tura é Gilberto Gil !!!” ■
formativos na escola. A equipe decidiu, nada melhor que o Software Livre, que Hoje percebe-se que argumentos como
então, se preparar para incorporar o Soft- por excelência é construído para incenti- esses são produto de uma falta de conhe-
ware Livre ao seu sistema de ensino. var esta característica em seus usuários. cimento tanto do Software Livre, que em
Os nomes dos cursos foram modifica- Para o usuário que aprende em Linux, nada deixa a desejar quando comparado
dos: ao invés de ter o nome do software operar uma máquina sob a plataforma ao software proprietário, como do pró-
que seria objeto de ensino, por exemplo Microsoft é bastante plausível. Já o prio mercado de trabalho, onde as opor-
“Word”, eles passaram a ser chamados inverso não pode ser garantido. tunidades para quem sabe operar um
pela tarefa realizada pelo programa, co- A utilização do Software Livre na ad- sistema Linux aumentam cada vez mais.
mo “Editor de Textos”, a fim de dissociar ministração pública e em empresas é Também mostram a existência de uma
o curso de uma determinada plataforma. grande, e estará se intensificando a curto profunda confusão no que diz respeito
e médio prazo, o que já justificava bas- ao que é ensinar. Se a idéia fosse sim-
É difícil mudar tante a opção por seu ensino. plesmente adestrar os alunos a apertar
No início do ano seguinte (2003) foi rea- O que faltava era vencer as dificul- botões, estes argumentos até fariam sen-
lizado um planejamento para o ensino dades, sobretudo as de ordem técnica. tido, mas como a intenção nunca foi
do Software Livre. Todos os instrutores Embora o centro contasse com profis- essa, conforme já dissemos anterior-
receberam um treinamento básico sobre sionais que já conheciam e utilizavam mente, o centro estava no caminho certo.
Linux antes do início das aulas, foi cri- Linux, eles não tinham ainda a experiên- Por fim o maior de todos os desafios
ada uma sala de estudo, vários manuais cia adequada na utilização do sistema, foi a própria equipe. O preconceito e o
foram disponibilizados, “Install-Fests” de modo que, algumas vezes, a simples medo de mudanças faziam com que
(instalações, trocas de experiências e instalação de uma distribuição em um muitas pessoas ficassem simplesmente
debates) sobre GNU/Linux foram reali- computador gerava frustrações e dúvidas aterrorizadas com a idéia de que na me-
zadas e foi aberto um processo de dis- a respeito da estratégia. tade restante daquele ano, os alunos
cussão que culminaria com a inclusão do teriam que ter aulas de Linux. Foi neces-
ensino do GNU/Linux a todas as turmas sário pensar em estratégias de convenci-
a partir de agosto daquele ano, sem no mento e mais cursos de formação para
entanto abandonar o ensino na pla- dar mais segurança ao profissionais, so-
taforma Windows, mas com a perspec- bretudo aos profissionais de ensino.
tiva da migração total para Software Ainda existe muita resistência no uso
Livre a longo prazo. do GNU/Linux em vários locais e isso é
Mas todo o esforço realizado, e toda a vivenciado no centro. As pessoas acham
boa intenção no uso de Software Livre, que o GNU/Linux é muito difícil, e que
era justificado diante da mudança que somente “hackers” são capazes de ope-
estava em curso? Será que o GNU/Linux rá-lo. Mas com o uso, medos e receios
não seria muito difícil de ser operado, e Figura 1: Fachada do Centro Público. vão sendo dissipados e substituídos pela
portanto de difícil aprendizagem? Será vontade de aprender mais, de se apri-
que os alunos, ao aprenderem esta nova Na maioria das vezes, o insucesso na morar e descobrir novos recursos.
plataforma, não estariam despreparados incursão pelo Linux se devia à letargia
para o mercado de trabalho, uma vez intelectual à qual todos foram expostos Mudança contra a vontade
que a maioria dos computadores em uso ao utilizar durante anos o sistema opera- Assim, a instalação do GNU/Linux nas
nas empresas operam sob a plataforma cional proprietário dominante. Tudo máquinas foi planejada e iniciada. Um
Microsoft Windows? vinha de bandeja e quando não havia estudo revelou uma oportunidade muito
A resposta a estas perguntas deu à pro- mais jeito para resolver um problema a interessante e barata de reaproveitamen-
posta de trabalho do centro plenas con- solução era formatar o HD e reinstalar to dos recursos já existentes: a utilização
dições não só de oferecer uma educação um backup do sistema. Um perito em de um projeto norte-americano, livre,
de qualidade, mas também de oferecer Software Livre foi contratado para mos- com o qual computadores relativamente
um ensino com bastante requinte técnico trar o caminho para o sucesso, o que aju- antigos podem operar em rede sem a
e de última geração. Além disso ela con- dou muito no avanço da proposta. necessidade de disco rígido local. A exe-
ta com uma plataforma que permite a Outro problema eram os comentários cução dos softwares ocorre, de forma
expansão do aprendizado de forma autô- feitos por muitas pessoas, de que o cen- remota, em um computador que dispõe
noma, possibilitando ao aluno aprimorar tro público estaria dando “um tiro no de hardware mais potente, e com auxílio
seus conhecimentos em informática. próprio pé”, e outro na cabeça dos alu- de um programa chamado “Linux Termi-
Outro fator a ser mencionado é que o nos, pois seria muito difícil que eles fos- nal Server Project” (LTSP).
ambiente gráfico do GNU/Linux é bas- sem empregados, já que além de pobres, No mês de junho de 2003 algumas
tante similar ao do Microsoft Windows. excluídos e com escolaridade defasada, estações de trabalho baseadas nesta
Como a intenção não era oferecer uma seriam também profissionais formados solução já estavam sendo testadas. A
educação baseada em “decoreba” de para utilizar um sistema operacional pra- previsão era de que no segundo semestre
conceitos e comandos, e sim desenvolver ticamente desconhecido e quase sem uso de 2003 ela fosse testada em máquinas
habilidades e a capacidade de aprender, no mercado de trabalho. antigas, obtidas através de doações de
empresas, ou no próprio parque de Como está o Centro hoje? aluno, além de aprender a ser um u-
máquinas da Prefeitura de Santo André, De agosto de 2003 até agora, o resultado suário de informática, também adquire
permitindo a avaliação do desempenho tem sido fantástico. Houve também difi- o conhecimento escolar necessário à
real deste projeto. Como faltavam alguns culdades: as máquinas utilizadas como conclusão do ensino fundamental e
ajustes, e não havia ainda muita clareza servidores não foram projetadas para is- médio. Este curso tem duração de um
sobre como conseguir as doações, deci- to, e mesmo os terminais, por serem bem ano, com aulas diárias.
diu-se continuar este estudo ao longo do antigos, vez por outra apresentavam pro- • Informática para formação de usuários
segundo semestre, com implantação na blemas. No entanto, a solução escolhida Nestes cursos, os alunos aprendem os
prática depois que testes comprovassem permitiu o aumento no número de alu- tradicionais programas de escritório.
seu funcionamento adequado. nos atendidos, bem como a ampliação São usados principalmente o Open-
Com a solução definida e o cronogra- das opções de cursos de informática. Office.org e o Mozilla. Há também a
ma de testes planejado, possivelmente já O importante é poder oferecer cursos apresentação de um panorama das
no início do ano de 2004 seria possível com sólida base tecnológica e em sinto- diversas áreas da informática. O curso
começar a trabalhar com o LTSP. No nia com as necessidades do mercado de completo é composto por dois módu-
entanto, o cronograma teve de ser modi- trabalho, principalmente para pessoas los (básico e avançado), cada um com
ficado em função de um assalto à escola desempregadas e/ou de baixa renda. duração de um semestre, com aulas
ocorrido em 22 de julho de 2003, quando Todo o processo de seleção de alunos é quatro vezes por semana.
foram roubadas 36 máquinas. A equipe informatizado (em Software Livre, é • Formação de Formadores
suspendeu as aulas por uma semana, foi claro) e os critérios de seleção priorizam Composto de um único módulo e des-
atrás de máquinas velhas em “lixões” de a escolha de pessoas que apresentam tinado a professores de alfabetização e
informática, implantou o sistema LTSP maior necessidade social (tal como me- educação de jovens e adultos que uti-
às pressas, montou a rede física e deu nor renda familiar, por exemplo). lizam a informática para o ensino. A
início aos testes. Mesmo tropeçando em duração neste caso é semestral, com
um sistema a priori instável, as aulas duas aulas por semana.
tiveram início com 30 máquinas (três • Cursos Profissionalizantes
laboratórios). As 20 máquinas que resta- Destinados ao ensino de alguma pro-
ram do roubo tiveram o GNU/Linux ins- fissão da área de informática, também
talado em seus discos rígidos. com duração semestral. Os cursos ofe-
A menção aos “lixões” pode causar recidos são: Programação e Banco de
estranheza, afinal de contas, computa- Dados (MySQL, HTML e GCC); Web
dores antigos normalmente são capazes Design (The Gimp e HTML); Insta-
de rodar somente versões obsoletas do lação, Configuração e Manutenção de
Microsoft Windows. No entanto, é muito Micros e Periféricos; Administração de
fácil convertê-los em estações de tra- Figura 2: Aula de informática no Centro Público. Redes; Manipulação de Som, Imagem
balho LTSP com a remoção do disco e Vídeo (os dois últimos em fase de
rígido, do leitor de CD-ROM e da Atualmente estão sendo mantidas qua- planejamento). O curso de Instalação,
unidade de disquete, e adicionando uma tro linhas didáticas, todas baseadas ex- Configuração e Manutenção de Micros
placa de rede capaz de aceitar uma ROM clusivamente em Software Livre: e Periféricos é o único que ensina tam-
de boot remoto. Com uma configuração • Informática combinada à elevação do bém a plataforma Windows, uma vez
como esta, um Pentium 90Mhz com nível de escolaridade que é necessário que um profissional
16MB de RAM já pode ser considerado São cursos para pessoas com defasa- formado por este curso saiba dar
uma boa estação de trabalho. gem na escolaridade, nos quais o manutenção também aos problemas
decorrentes desta plataforma.
Custo LTSP x Sistema Convencional
A seguir fizemos um pequeno quadro com- Licenças do Windows e Office R$ 1.500,00
Moral da história
parativo de custos* para duas configurações Total para uma estação R$ 3.500,00 Os alunos, ao contrário do que muita
possíveis, sendo a primeira, a configuração Total para 10 estações R$ 35.000,00 gente poderia imaginar, aceitaram muito
utilizada até junho de 2003, e a segunda, uti- bem as mudanças. Gostaram das várias
Conjunto de 10 estações LTSP em rede:
lizada depois, com o LTSP: opções de desktop, do acesso à Internet,
Hardware2 R$ 415,00
dos vários cursos diferentes, com longa
Conjunto de 10 máquinas, sem rede, com um Hardware do Servidor3 R$ 3.800,00
sistema Microsoft:
duração. E ficaram também encantados
Software R$ 0,00
com um pingüim engraçadinho, que gos-
Hardware1 R$ 2.000,00 Total para 10 estações R$ 7.950,00
ta de enfrentar desafios que parecem im-
1 Processador AMD Duron 1.1 Ghz, HD de 20 GB, 128 MB de RAM, Monitor,Teclado, Mouse, etc. possíveis de ser vencidos. ■
2 Processador Intel Pentium 100 MHZ, 8 MB de RAM, Monitor (usado),Teclado, Mouse, etc.
3 Processador Intel Celeron de 1.7 GHZ, HD de 20 GB, 1.5 GB de RAM, Monitor,Teclado, Mouse, etc. INFORMAÇÕES
*Custos de caráter apenas ilustrativo. [1] http://www.publicolivre.org.br/
Planeta GNU
Software Livre
não é Grátis!
Vamos discutir nesta edição alguns aspectos filosóficos do Software Livre. Para começar, mostramos que Software Livre
não é necessariamente gratuito, por que a educação tem que ser feita com Software Livre, e um projeto nacional muito
conhecido no exterior. POR CHRISTIANO ANDERSON
É
muito comum as pessoas acharem Para que um software seja livre, ele No Software Livre, preferimos fazer o
que Software Livre é sinônimo de precisa estar disponível em alguma contrário. Não gostamos de ensinar o
software gratuito. Esta afirmação licença livre. A Free Software Foundation usuário somente a utilizar uma determi-
está errada. Quando falamos de Software tem a licença GPL (General Public nada ferramenta. Preferimos ensiná-lo a
Livre, estamos nos referindo à liberdade. License) [1], que é a base para a maioria pensar. Nós procuramos ensinar que
Liberdade para utilizar o software para do Software Livre disponibilizado na uma planilha de cálculos é uma planilha
qualquer propósito, liberdade para redis- Internet. A GPL garante que as liber- de cálculos e desempenha papéis bem
tribuí-lo (cobrando uma taxa ou não), dades citadas acima serão mantidas. específicos para resolução de um deter-
liberdade para fazer modificações que minado problema. Não nos limitamos a
atendam às necessidades individuais e Educação com Software Livre uma única ferramenta, queremos que o
liberdade para redistribuir estas modifi- Este é um tema que acaba sendo usuário entenda o real objetivo de uma
cações. Isto é Software Livre. polêmico para algumas pessoas ligadas a planilha de cáculo.
Com certa frequência, as pessoas con- educação. Nós incentivamos o uso de Se eventualmente ele sentar-se em um
fundem Software Livre com “software Software Livre na educação, alguns pro- outro computador que não tem aquela
gratuito”. Quando se cobra uma taxa fessores dizem que Software Livre não é planilha de cálculo com a qual ele apren-
pelo software, não estamos vendendo “padrão de mercado”. Vamos discutir um deu a trabalhar, mas possui um software
um produto, estamos “trabalhando” com pouco esta afirmação. que faz a mesma coisa, porém de forma
o conhecimento. Programadores de Soft- É muito comum alguma empresa de um pouco diferente, o usuário poderá
ware Livre precisam sobreviver, preci- software proprietário doar licenças para utilizar dos conceitos que foram ensina-
sam pagar suas contas, comida, diver- uma escola. A diretoria acaba pensando dos sobre planilhas de cálculos e em
são, chopp, cinema, etc. Um desenvol- que isto é algo muito bom, pois estarão pouco tempo fazer o que ele precisa,
vedor de Software Livre é como um economizando licenças para ensinar os mesmo que neste software diferente que
médico, um engenheiro e um advogado: alunos a utilizarem softwares que são ele conheceu à cinco minutos.
trabalham com o seu conhecimento. “padrões de mercado”. Mas a diretoria Porém, se pegarmos um usuário
O Software Livre não é apenas um esquece que a empresa que fez a doação mexeu em um software proprietário
movimento técnico para programadores. tem interesses comerciais no meio. No específico a vida toda e o colocarmos em
É um movimento social. A maioria dos primeiro momento, os alunos serão uma máquina com Software Livre, este
desenvolvedores querem que seu co- “treinados” a utilizar seu software e no usuário vai entrar em desespero, porque
nhecimento seja útil para qualquer pes- futuro este aluno, que provavelmente ele não foi ensinado a pensar, mas foi
soa. É uma satisfação muito grande para não vai conhecer outra alternativa, vai ensinado a simplesmente resolver seus
um desenvolvedor quando ele sabe que ser obrigado a adquirir este software, problemas clicando no mouse.
o médico, o engenheiro e o advogado seja através da compra e pagamento da Por este motivo, entendemos que a
acima citados estão utilizando um soft- licença ou pior: através da pirataria. educação deve ser feita com Software
ware que ele desenvolveu. É também O modelo educacional das empresas Livre, mostrando para o usuário que ele
uma enorme satisfação quando alguém proprietárias é “prender” o usuário pode aplicar o conhecimento adquirido
envia um e-mail para o desenvolvedor àquele software e obrigá-lo a sempre re- em qualquer lugar.
informando sobre um bug. Melhor ainda novar as licenças, adquirindo novas ver-
quando envia junto a correção do pro- sões que exigem novo hardware. Estas Software Livre no Brasil
blema, que chamamos de patch. Um empresas não ensinam o usuário a pen- Os brasileiros são muito conhecidos no
desenvolvedor gosta de seu trabalho, sar, mas ensinam a utilizar uma determi- exterior pelos seu trabalho com Software
portanto o faz bem feito. nada ferramenta. Livre. Muitos desenvolvedores colabo-