Línux entendo o sistema[JP.Conteudo]

357

Transcript of Línux entendo o sistema[JP.Conteudo]

Page 1: Línux entendo o sistema[JP.Conteudo]
Page 2: Línux entendo o sistema[JP.Conteudo]

Prefácio Capítulo 1: Uma introdução:

o Um pouco sobre a história do Linux o O Linux hoje o Como um PC funciona o Os componentes básicos

Processador Memória Disco Rígido Placa de vídeo Placa-Mãe Hardware x Software

Arquiteturas o Um pouco sobre redes

O TCP/IP e a configuração da rede Redes wireless Acesso Remoto

o O Kernel e as distribuições Os live-CDs Como baixar, gravar e dar boot

o Linguagens de programação Capítulo 2: Entendendo o Sistema

o As interfaces e programas o Onde estou?? Entendendo os diretórios o Usando o terminal

Completando com a tecla Tab Comandos do prompt Editando os arquivos de configuração Criando links Fechando programas travados Montando e desmontando O clipboard e o terceiro botão Trabalhando com permissões Rodando programas como root

o Máquinas virtuais Capítulo 3: Instalando o Kurumin

o Opções de boot no Kurumin Opções de vídeo Opções para solucionar problemas Rodando o Kurumin com o drive de CD livre Salvando suas configurações

o Instalando o sistema As partições no Linux Instalando Particionando com o cfdisk Particionando com o gparted Copiando os arquivos Concluindo a instalação Configurando o Lilo

Usando uma partição separada para o diretório /home Capítulo 4: Configurando e Resolvendo Problemas

o Configuração do som o Configuração da impressora o Suporte a scanners o Configuração do mouse o Configurando o teclado

o Usando joysticks

Page 3: Línux entendo o sistema[JP.Conteudo]

o Configurando a conexão Conectando via modem Acessando via ADSL, cabo, rádio ou rede local Usando uma placa wireless Compartilhando a conexão e ativando o firewall

o Acessando celulares e palmtops via bluetooth Solucionando problemas

o Acessando partições do Windows o Acesso a redes Windows

Criando compartilhamentos o Compartilhamentos em NFS o Utilitários de Sistema

o Configurando o KDE Componentes do KDE Configurando teclados multimídia

o Os ícones mágicos o Instalando servidores o Recuperando o sistema o Kurumin em micros antigos

Capítulo 5: Os Programas

o Aplicativos do Linux o A questão dos pacotes o Instalando programas com o apt-get

Configurando os repositórios Usando o dpkg O cache do apt-get Documentação Resolvendo problemas com o apt-get Chaves de autenticação Usando o Alien Instalando a partir do código fonte Programas com instalador Outras ferramentas de instalação

o Programas de escritório

OPENOFFICE Configurando o OpenOffice Koffice Abiword Gnumeric Scribus

o Imagem e desenho Gimp Inkscape Blender Ksnapshot

o Navegadores Firefox Konqueror Opera

NVU o E-Mail

Mozilla Thunderbird Evolution Kmail e Sylpheed

o Mensagem e Voz Gaim

Kopete

Page 4: Línux entendo o sistema[JP.Conteudo]

Mercury Sim Amsn Skype

o Vídeo, som, CDs e DVDs Kaffeine Mplayer K3B eMovix DVDrip Amarok XMMS

Kaudiocreator Audacity

o Usando o VMware Player o Usando o Wine

Capítulo 6: Instalando e configurando outras distros o Instalando o Ubuntu o Instalando programas

Usando o Synaptic

o Configurando o Gnome o Mais configurações

KDE Impressora Pendrive e CD-ROM Root, sudo e terminal Drivers adicionais e VMware Wireless e ADSL Driver 3D da nVidia Firewall

o Instalando o Slax

Page 5: Línux entendo o sistema[JP.Conteudo]

Prefácio

Muita gente usa Windows sem utilizar nada muito além das funções básicas. Da mesma

forma, muita gente usa Linux sem entender como o sistema funciona, sem saber como

resolver problemas comuns e sem usar mais do que alguns dos programas pré-

instalados.

Até certo ponto, é mais difícil ensinar Linux, pois existem muitas distribuições

diferentes, com conjuntos diferentes de programas e utilitários de configuração. Existem

também as diferenças entre o KDE e o Gnome e as diferenças na instalação dos

programas, só para citar alguns fatores.

Mas, na minha opinião, não existe sistema difícil, existem livros e tutoriais mal escritos

;). Este é um livro dedicado a mostrar como o Linux funciona, que explica as diferenças

entre as principais distribuições e se aprofunda em duas delas: O Kurumin e o Ubuntu.

A maior parte das dicas também se aplicam ao Debian e a outras distribuições derivadas

dele, dando-lhe uma boa base para utilizar também outras distribuições.

Normalmente, os usuários Linux acabam adquirindo também conhecimentos sobre

hardware, fundamentos sobre programação e outras áreas relacionadas. Isso acontece

pois tradicionalmente as distribuições Linux sempre foram mais complicadas de usar,

obrigando quem usa a resolver mais problemas e desenvolver mais habilidades.

Hoje em dia isso não é mais correto em todos os casos. Já existem distribuições muito

fáceis de usar, embora distribuições "difíceis" como o Debian (puro) e o Slackware

ainda continuem bastante usadas. O caminho natural é começar usando o Kurumin,

Slax, Knoppix ou outro live-CD e, a partir de um certo ponto, começar a testar as

distribuições mais tradicionais.

Um usuário Linux avançado conhece diversos programas e sabe trabalhar em diversas

distribuições diferentes. Apesar de existirem muitas diferenças entre elas, os

componentes do sistema continuam fundamentalmente os mesmos. Por isso,

conhecendo as diferenças gerais, é possível dominar várias distribuições diferentes sem

tanto esforço.

Este é um livro para iniciantes, no sentido de que você não precisa de muitos

conhecimentos prévios para acompanhá-lo, mas sem cair no erro de se limitar apenas a

explicações superficiais. Este não é um livro que se destina a fazer propaganda ou

mostrar como é fácil usar Linux, mas que mostra o sistema como ele é, lhe oferecendo

uma curva acentuada de aprendizado.

Ele começa do básico, explicando o básico sobre hardware, redes e programação, para

depois abordar as diferenças entre as distribuições e os componentes básicos do sistema

partindo em seguida para a parte prática. Uma das grandes preocupações é explicar de

forma clara, lhe tratando como a pessoa inteligente que é.

Page 6: Línux entendo o sistema[JP.Conteudo]

Capítulo 1: Uma introdução

O sistema operacional é o responsável por "dar vida" ao PC, fazer a placa de vídeo

mandar imagens para o monitor, a placa de rede enviar e receber dados e assim por

diante. Ele é o responsável por fazer as coisas funcionarem e rodar os programas da

forma mais estável e rápida possível.

Existem vários sistemas operacionais, que servem às mais diversas aplicações, de

servidores a celulares. O Linux é um sistema livre, o que significa que ele não é

desenvolvido por uma única empresa ou organização, ele é a soma dos esforços de uma

comunidade mundial, que inclui tanto empresas quanto desenvolvedores autônomos.

O código fonte é aberto, o que permite que qualquer interessado estude e modifique o

sistema. Muitas destas melhorias acabam sendo incorporadas ao sistema principal,

fazendo com que ele evolua muito rápido.

Page 7: Línux entendo o sistema[JP.Conteudo]

Um pouco sobre a história do Linux

Paralelamente à história da informática que conhecemos, com a IBM lançando seu IBM

PC em 1981, o MS-DOS e as várias versões do Windows, existiram várias versões dos

sistemas Unix, como o Solaris e o AIX que reinaram durante muito tempo nos

servidores.

Mas, o Windows foi o primeiro sistema operacional amigável e acessível, que o

transformou numa espécie de opção default para micros domésticos. A Apple tinha o

Mac OS, outro sistema amigável e superior ao Windows em muitos aspectos, mas que

só rodava nos computadores produzidos pela própria Apple, muito mais caros que os

PCs.

Quem precisava de um sistema robusto e confiável para seus servidores optava por uma

das várias versões do Unix, profissionais da área gráfica usavam Macs e o resto

convivia com os problemas do Windows.

O Linux surgiu de uma forma completamente despretensiosa, como o projeto de um

estudante Finlandês. Muitos sistemas são desenvolvidos como projetos de conclusão de

curso ou apenas por hobby. O que permitiu que o Linux se transformasse no que é foi

uma grande combinação de fatores e alguma dose de sorte.

Tudo começou em 1983, pouco depois que a IBM lançou seu primeiro PC e a Microsoft

sua primeira versão do DOS. Richard Stallman criava a Free Software Fundation, que

ao longo da década produziu a licença GNU e toda a base filosófica relacionada a ela e,

mais importante, um conjunto de ferramentas, como o editor Emacs e o compilador

GCC.

O Emacs é um editor de texto que combina uma grande quantidade de recursos e

ferramentas úteis para programadores. O GCC é o compilador que permite transformar

o código escrito nele em arquivos executáveis. A idéia era desenvolver um sistema

operacional completo, mas para isso faltava a peça principal: o Kernel.

Imagine o Kernel como o cérebro e o coração de um sistema operacional. Ele sozinho

não serve para nada, mas sem ele o resto do corpo também não vai muito longe. Em

1991, a Free Software Fundation ainda estava dando os primeiros passos no

desenvolvimento do Hurd (que ainda hoje está muito longe se ser concluído), enquanto

o Linux de Linus Torvalds era utilizável desde suas primeiras versões. O corpo

encontrava o cérebro.

O fato do código fonte estar amplamente disponível e poder ser utilizado de forma

muito liberal permitiu que muitos desenvolvedores passassem a trabalhar no sistema

ainda em sua fase embrionária, adicionando novos recursos num ritmo muito rápido.

Mas, durante os primeiros anos, o Linux ficou restrito a este círculo técnico, muito

longe de ser usado em larga escala.

Isso começou a mudar com o aparecimento da Internet. O Apache foi um dos primeiros

servidores web a ser lançado e tornou-se rapidamente o mais usado numa época em que

existiam poucos concorrentes à altura. O Apache rodava em várias plataformas, mas o

Linux tornou-se a opção mais comum, por ser rápido e estável.

Page 8: Línux entendo o sistema[JP.Conteudo]

Pouco tempo depois veio o servidor Samba, que permitia compartilhar arquivos numa

rede Windows, de forma mais estável e mais barata que usando um servidor Windows.

Novamente, o Linux tornou-se a opção preferida. Depois, vieram os bancos de dados e

muitas outras aplicações, mas todas tinham algo em comum: sempre falávamos de

servidores.

Por volta do final de 1994 foi lançada a primeira versão for Linux do Xfree. Ele é um

"servidor gráfico", uma interface gráfica usada em vários sistemas Unix. Antes do

Xfree, o Linux tinha apenas a velha interface de modo texto, o que explicava o fato de

ele ser popular apenas entre programadores e administradores de sistemas. Em 2004, o

Xfree passou a ser gradualmente substituído pelo X.org.

Uma coisa interessante sobre o X é que ele fornece a fase para o funcionamento da parte

gráfica, incluindo o suporte à placa de vídeo e mouse, mas não inclui a interface em si.

Graças a isso, não existe uma interface gráfica padrão como temos no Windows, por

exemplo.

Existem no Linux várias interfaces diferentes, conhecidas como gerenciadores de

janelas. No início existiam muitas interfaces diferentes, mas nenhuma chegava próxima

do nível de funcionalidade e integração que existe no Windows. Isto mudou com o

aparecimento do KDE (que é a interface usada por padrão em diversas distribuições,

incluindo o Mandriva, SuSE e o Kurumin) e mais tarde também com o Gnome.

Page 9: Línux entendo o sistema[JP.Conteudo]

Ainda por volta de 1994 começaram a surgir as primeiras distribuições Linux, que eram

um jeito mais "fácil" de instalar o sistema. Ao invés de ficar compilando tudo,

começando pelo Kernel e passando por todos os aplicativos da Free Software

Fundation, Xfree e o que mais você pretendesse rodar, você simplesmente passava

alguns dias editando arquivos de configuração com a ajuda de alguns manuais mal

escritos. Para você ter uma idéia do tamanho da encrenca, uma das distribuições

consideradas mais "amigáveis" na época era o Slackware, ainda em suas primeiras

versões.

Se você é algum saudosista desta época em que "homens eram homens e compilavam

seus sistemas do zero", sinta-se livre para pesquisar no Google sobre o "Linux from

Scratch", um passo a passo (com muitos passos...) que ensina como fazer isso. Pobres

mortais como eu, possuem coisas mais urgentes e menos chatas a fazer... ;-).

Uma distribuição é um conjunto com o Kernel e vários programas, empacotado de

forma que seja fácil de instalar e manter atualizado. Uma das primeiras versões com

foco na facilidade de uso foi o Red Hat, que serviu de base para um grande número de

distribuições, como o Mandrake, SuSE e Conectiva.

O Red Hat trouxe uma idéia nova, que foi rapidamente adotada em todas as outras

distribuições: um sistema de gerenciamento de pacotes. Cada programa incluído era

transformado num pacote compactado, que podia ser instalado através de um único

comando. O sistema guardava as informações dos pacotes instalados permitindo que

você pudesse removê-los depois. Não era tão amigável quanto clicar num executável e

ter um instalador gráfico e, existiam problemas com dependências (um pacote precisa

do outro, que precisa do outro, que precisa do outro...), mas já era muito melhor que sair

compilando as coisas na unha.

Por volta de 1997 já existiam um conjunto de distribuições relativamente fáceis de usar,

com sistemas de instalação relativamente simples, do tipo que um técnico médio

consegue seguir sozinho com a ajuda do manual.

Nesta época algumas empresas passaram a portar seus sistemas e utilizar o Linux como

uma forma de reduzir seus custos com licenciamento e manutenção (imunidade a vírus,

menos travamentos, menos reinstalações do sistema; quem já usou o Windows 3.11 ou

o 95 sabe do que estou falando...). O Linux dava seus primeiros passos no desktop, mas

ainda existiam poucos aplicativos que rivalizassem em recursos e facilidade de uso com

os do Windows.

Nos anos seguintes houve um crescimento espantoso. Aquele sistema feio, difícil de

usar, famoso apenas por ser estável e bom para servidores ganhou o KDE e o Gnome,

finalmente duas interfaces bonitas e fáceis de usar, ferramentas de configuração

automática e um grande número de aplicativos, incluindo compatibilidade com alguns

programas e jogos do Windows através do Wine, o que levou a um número cada vez

maior de desenvolvedores e usuários.

Ao contrário de um sistema comercial, com todo o planejamento e estruturas

envolvidas, o Linux é desenvolvido de forma descentralizada. Qualquer um pode pegar

o código de algum programa, adaptá-lo, acrescentar novos recursos e transformá-lo em

algo diferente do original, com aplicações que o autor original não seria capaz de sequer

sonhar.

Page 10: Línux entendo o sistema[JP.Conteudo]

Isto cresce em escala geométrica, como uma bola de neve que vai crescendo e passando

por cima de quem se atrever a oferecer resistência.

A licença GPL, pode ser resumida em 4 direitos básicos e uma obrigação:

1- Você tem o direito de usar o programa para qualquer fim. Não existe discriminação.

Um exemplo é que ninguém pode impedir que um programa GPL seja usado numa

clínica de aborto ou numa instalação militar, por exemplo.

2- Você tem o direito de tirar cópias do programa, distribuí-las ou até mesmo vendê-las

a quem tiver interesse. Existe a possibilidade de ganhar algum dinheiro vendendo CDs

gravados, por exemplo, mas como todo mundo pode fazer a mesma coisa, é preciso

vender por um preço relativamente baixo, cobrando pelo trabalho de gravação e não

pelo software em si, que está largamente disponível. A forma mais eficiente de ganhar

dinheiro com software livre é vender suporte e serviços de personalização sobre os

programas e distribuições que você domina. Para o cliente acaba sendo vantajoso, pois o

custo de implantação será o gasto com a consultoria e treinamentos, enquanto ao

implantar um software comercial qualquer ele gastaria também com as licenças de uso.

3- Direito de ter acesso ao código fonte do programa, fazer alterações e redistribuí-las.

Para um programador este é o principal atrativo, pois você pode criar novos projetos

usando como base o código fonte de programas já existentes ao invés de ter sempre que

começar do zero, sem falar na grande oportunidade de aprendizado que examinar o

código fonte dos programas disponíveis propicia.

4- Direito (e ao mesmo tempo a obrigação) de redistribuir as modificações feitas. Este é

o ponto onde existem mais mal-entendidos. Se você desenvolve um software por hobby,

ou por usá-lo internamente na sua empresa, e não possui interesse em explorá-lo

comercialmente, você pode simplesmente divulgar o código fonte para todo mundo, o

que é o caminho mais lógico se você pretende atrair outros interessados em ajudá-lo no

desenvolvimento. Mas, caso você pretenda receber pelo seu trabalho de

desenvolvimento, existem duas opções:

a) Você pode distribuir o software livremente para aumentar a base de usuários e ganhar

vendendo suporte, treinamentos e personalizações ou:

b) Você só é obrigado a distribuir o código fonte a quem obtém o software, de forma

que você pode trabalhar batendo de porta a porta, vendendo o software para alguns

clientes específicos e fornecendo o código fonte apenas para eles. Não existe nada de

errado com este modelo, mas você perde a possibilidade de ter contribuições de outros

desenvolvedores, o que pode ser ruim a longo prazo.

5- Os softwares distribuídos sob a GPL não "contaminam" softwares comerciais ou de

outras licenças no caso de distribuição conjunta. Por exemplo, uma revista pode

distribuir alguns softwares GPL no meio de um monte de aplicativos fechados na

mesma edição. Os softwares GPL continuam sendo GPL, com todas regras que vimos

acima, enquanto os softwares comerciais continuam sendo fechados. A revista deve

incluir o código fonte dos aplicativos GPL (ou pelo menos a informação de como obtê-

los via internet), mas naturalmente não precisa fazer o mesmo com os outros aplicativos

incluídos no CD.

Page 11: Línux entendo o sistema[JP.Conteudo]

Você pode também usar algum software GPL em conjunto com o seu aplicativo

comercial, desenvolvendo um aplicativo qualquer que utiliza o Postgree SQL (um

servidor de banco de dados), por exemplo. O Postgree SQL continua sendo GPL e o seu

aplicativo continua sendo fechado; qualquer um pode usar e tirar cópias do Postgree

SQL, mas você controla a distribuição do seu aplicativo. Uma coisa não interfere com a

outra.

Um exemplo: desenvolvi o Kurumin usando como base dois projetos já existentes, o

Knoppix e o Debian. O Knoppix entrou com sistema de detecção de hardware e

configuração automática e o Debian com toda a base do sistema, como os pacotes e

ferramentas de administração como o apt-get. Ao invés de ter que ficar compilando

tudo, posso usar os pacotes do Debian que já estão prontos; e, ao invés de ficar

desenvolvendo mais um ferramenta de detecção, posso usar o sistema do Knoppix que

funciona extremamente bem.

Como a parte funcional do sistema já está pronta, posso trabalhar personalizando o

sistema, desenvolvendo scripts de instalação, ferramentas de configuração, adicionando

novos recursos e corrigindo problemas. Começo do ponto aonde os outros já chegaram,

aproveitando todo o esforço anterior.

Quando alguém desenvolve um projeto derivado, uma outra distribuição Linux usando

o Kurumin como base, como o Kalango ou o Dizinha, ganho novamente, pois posso

utilizar as correções e novos recursos adicionados neles.

Muitas pessoas que utilizam o Kurumin acabam contribuindo com soluções para

problemas e melhorias diversas. Para eles é interessante fazer isso, pois os problemas

são resolvidos nas novas versões, evitando que eles precisem ficar corrigindo

manualmente os novos problemas indefinidamente.

Page 12: Línux entendo o sistema[JP.Conteudo]

O Linux hoje

Hoje em dia já existem ferramentas suficientes para desenvolver distribuições muito

fáceis de usar. Quase toda a configuração do sistema pode ser feita de forma automática

e não é mais necessário sequer instalar o sistema, pois ele pode rodar a partir do CD-

ROM, como no caso do Kurumin. Existem ainda um grande número de distribuições

especializadas, destinadas a públicos específicos: artistas gráficos, multimídia, escolas,

servidores e assim por diante.

A instalação de novos programas é mais simples na maioria dos casos, pois os

programas são mais acessíveis. Você não precisa gastar um monte de dinheiro, ou ir até

o camelô da esquina e depois ficar zanzando pelos sites de cracks (e pegar mais vírus...)

para conseguir rodar sua cópia ilegal. Na maioria dos casos basta baixar o programa e

instalar.

Gerenciadores como o apt-get são capazes de baixar os pacotes da internet e fazer toda a

instalação automaticamente, de forma bem mais simples que no Windows, onde você

precisa comprar o CD com o programa, instalar, registrar e muitas vezes ainda perder

tempo removendo spywares ou propagandas.

Com exceção de aplicativos muito especializados, como o AutoCAD, Corel e Premier,

existem boas alternativas para quase todas as áreas e existe suporte a programas nativos

do Windows através do Wine (que devagar vai aumentando sua lista de

compatibilidade) ou através do VMware, que aborda o problema de uma forma

diferente, permitindo rodar uma cópia completa do Windows dentro de uma janela.

Ainda existem deficiências, mas por outro lado também vários pontos em que o Linux

já é mais forte.

Existe ainda suporte à quase todo tipo de hardware: mesmo softmodems, scanners e

câmeras digitais não são um problema se você pesquisar um pouco antes de comprar.

Apesar de todos os progressos em termos de facilidade de uso, notícias sobre vírus,

trojans e pragas em geral para Linux são raras, ao contrário do que vemos no mundo

Windows. Você não precisa sacrificar o desempenho da sua máquina mantendo um

antivírus ativo e atualizando-o religiosamente apenas para ser no final surpreendido pela

última versão do vírus da moda que chegou por e-mail.

É comum ouvir notícias de servidores Linux que estão ligados há vários anos, de forma

contínua, sem nunca serem reiniciados ou invadidos. Ao usar um micro com

componentes de boa qualidade, é possível ter uma amostra desta estabilidade mesmo

num desktop. Uma instalação bem feita pode durar meses ou até anos. Mesmo muitas

pessoas leigas, que usam o micro apenas para navegar e ler e-mails estão migrando para

o Kurumin ou outras distribuições fáceis de usar, a fim de fugir dos travamentos e vírus.

Como a filosofia Open Source privilegia a troca de informações e a cooperação, é fácil

achar informações na web e, se você for educado, ajuda nos fóruns. Como em qualquer

sociedade é possível encontrar todo tipo de pessoas, existem alguns grupos elitistas e

gente mal-educada, mas em geral eles são as exceções, não a regra. Como usuário ou

como desenvolvedor, você tem acesso a uma grande quantidade de informação e a

chance de aprender mais.

Page 13: Línux entendo o sistema[JP.Conteudo]

O foco deste livro é explicar a estrutura do sistema, mostrar os programas e ferramentas

de instalação disponíveis e abordar em detalhes a instalação e configuração. O objetivo

é fornecer a base necessária para que você consiga trabalhar com várias distribuições.

Neste livro abordo três distribuições: o Kurumin, que apesar de ser um projeto pessoal

acabou se tornando uma das mais usadas no Brasil; o Ubuntu, outra distribuição com

foco na facilidade de uso que vem crescendo rapidamente; e o Slax, uma distribuição

derivada do Slackware, que é uma forma mais fácil e agradável de aprender a trabalhar

com ele.

Este é um livro para quem está interessado em entender como o sistema funciona,

aproveitar melhor os muitos recursos disponíveis e aprender a resolver problemas. É um

livro para iniciantes, mas que oferece uma curva acentuada de aprendizado abordando

muitos aspectos avançados e macetes do sistema.

Page 14: Línux entendo o sistema[JP.Conteudo]

Como um PC funciona

Antes de começar a falar sobre as diferentes distribuições Linux, vamos começar com

algumas noções básicas sobre como um PC atual funciona, para que você possa

começar a entender melhor a coisa do ponto de vista do sistema operacional.

Existem duas maneiras de representar uma informação: analogicamente ou digitalmente.

Uma música é gravada numa fita K7 de forma analógica, codificada na forma de uma

grande onda de sinais magnéticos, que pode assumir um número ilimitado de

freqüências. Um som grave seria representado por um ponto mais baixo da onda,

enquanto um ponto mais alto representaria um som agudo.

O sistema digital, por sua vez, permite armazenar qualquer informação na forma de uma

seqüência de valores positivos e negativos, ou seja, na forma de uns e zeros. O número

181, por exemplo, pode ser representado digitalmente como 10110101. Qualquer tipo

de informação, seja um texto, uma imagem, um vídeo, um programa, ou qualquer outra

coisa, será processado e armazenado pelo computador na forma de uma grande

seqüência de uns e zeros.

Os computadores são o exemplo claro do cúmulo da burrice, afinal eles só conhecem

dois valores e precisam adaptar tudo a esta concepção limitada que possuem. Eles

também não são capazes de tomar decisões por mais simples que sejam, pois um e zero

não dão margem para interpretação. Um é um, zero é zero e ponto final.

Sempre existe um ser humano orientando o computador e dizendo a ele o que fazer a

cada passo. Seja você mesmo, teclando e usando o mouse, ou, num nível mais baixo, o

programador que escreveu os programas que você está usando.

Quando o computador trava significa justamente que chegou a uma situação onde ele

não sabe o que fazer. O programador estava com sono e esqueceu de fechar alguma

função ou de verificar alguma variável. Como disse, o computador não sabe lidar com

situações inesperadas: quando não sabe o que fazer, simplesmente empaca.

Sempre que alguém lhe disser que "não entende nada de computadores", explique que é

impossível ser mais burro que eles. Lembre-se de que você é o ser pensante que está no

comando.

Page 15: Línux entendo o sistema[JP.Conteudo]

Mas, por outro lado, é justamente o uso do sistema binário que torna os computadores

confiáveis, pois a possibilidade de um valor 1 ser alterado para um valor 0, o oposto, é

muito pequena. Lidando com apenas dois valores diferentes, a velocidade de

processamento também torna-se maior, devido à simplicidade dos cálculos.

Imagine que os computadores são os funcionários perfeitos: eles não se importam de

ficar fazendo tarefas repetitivas por longos períodos, não reclamam de ficar trabalhando

durante a madrugada baixando um arquivo ou compactando um vídeo, não tiram férias e

ainda por cima não recebem salário! Tudo bem, eles travam de vez em quando, mas por

outro lado fazem tudo o que você manda no resto do tempo :-P.

Cada um ou zero que é processado ou armazenado é chamado de "bit", contração de

"binary digit" ou "dígito binário". Um conjunto de 8 bits forma um byte, e um conjunto

de 1024 bytes forma um Kilobyte (ou Kbyte).

O número 1024 foi escolhido por ser a potência de 2 mais próxima de 1000. É mais

fácil para os computadores trabalharem com múltiplos de dois do que usar o sistema

decimal como nós. Seja compreensivo com as limitações de nossos pobres serviçais:

lembre-se de que você é mais inteligente do que eles, então como todo ser superior é seu

dever fazer algumas concessões de vez em quando ;).

Um conjunto de 1024 Kbytes forma um Megabyte e um conjunto de 1024 Megabytes

forma um Gigabyte. Os próximos múltiplos são o Terabyte (1024 Gibabytes) e o

Petabyte (1024 Terabytes), Exabyte, Zetabyte e o Yotabyte, que equivale a

1,208,925,819,614,629,174,706,176 bytes :).

Não se sabe se algum dia todos estes múltiplos chegarão a realmente ser usados. Para

armazenar um Yottabyte inteiro, usando tecnologia atual, seria necessário construir uma

estrutura colossal de servidores.

Page 16: Línux entendo o sistema[JP.Conteudo]

Imagine que, para manter os custos baixos, fosse adotada uma estratégia estilo Google,

usando PCs comuns, com HDs IDE. Cada PC seria equipado com 4 HDs de 250 GB, o

que resultaria em aproximadamente 1 Terabyte por PC. Estes PCs são então

organizados em enormes racks, onde cada rack tem espaço para 1024 PCs. Os PCs de

cada rack são ligados a um conjunto de switchs e cada grupo de switchs é ligado a um

grande roteador. Uma vez ligados em rede, os 1024 PCs são configurados para atuar

como um enorme cluster, trabalhando como se fossem um único sistema.

Construímos então um enorme galpão, capaz de comportar 1024 destes racks,

construindo uma malha de switchs e roteadores capaz de ligá-los em rede com um

desempenho minimamente aceitável. Este galpão precisa de um sistema de refrigeração

colossal, sem falar da energia consumida pelo mais de um milhão de PCs dentro dele,

por isso construímos uma usina hidrelétrica para alimentá-lo, represando um rio

próximo.

Com tudo isso, conseguimos montar uma estrutura computacional capaz de armazenar 1

Exabyte. Ainda precisaríamos construir mais 1.048.575 mega-datacenters como este

para chegar a 1 Yottabyte. Se toda a humanidade se dividisse em grupos de 6.000

pessoas cada um e cada grupo fosse capaz de construir um ao longo de sua vida,

deixando de lado outras necessidades existenciais, poderíamos chegar lá :-P.

Voltando à realidade, usamos também os termos Kbit, Megabit e Gigabit, para

representar conjuntos de 1024 bits. Como um byte corresponde a 8 bits, um Megabyte

corresponde a 8 Megabits e assim por diante. Quando você compra uma placa de rede

de "100 megabits" está na verdade levando para a casa uma placa que transmite 12.5

megabytes por segundo, pois cada byte tem 8 bits.

Quando vamos abreviar, também existe diferença. Quando estamos falando de Kbytes

ou Megabytes, abreviamos respectivamente como KB e MB, sempre com o B

maiúsculo.

Por outro lado, quando estamos falando de Kbits ou Megabits abreviamos da mesma

forma, porém usando o B minúsculo: Kb, Mb e assim por diante. Parece só um daqueles

detalhes sem importância, mas esta é uma fonte de muitas confusões. Se alguém

anuncia no jornal que está vendendo uma "placa de rede de 1000 MB", está dando a

entender que a placa trabalha a 8000 megabits e não a 1000.

Você tem uma boa chance de ficar rico (e ter que fugir pouco tempo depois ;),

anunciando pendrives de 4 Gb (Gigabits), pentes de memória de 8 Gb e HDs de 2000

Tb (Terabits), por preços pouca coisa maiores que os de 512 MB, 1 GB e 250 GB dos

concorrentes :-p.

Page 17: Línux entendo o sistema[JP.Conteudo]

Os componentes básicos

Qualquer PC é composto pelos mesmos componentes básicos: processador, memória,

HD, placa- mãe e placa de vídeo. A partir daí você pode adicionar placas de rede,

modems, placas de som e outros periféricos. Com o micro montado, o próximo passo é

instalar o sistema operacional e programas, que finalmente vão permitir que ele faça

algo de útil. Vamos começar com um overview da função de cada um destes

componentes:

Processador

O processador é o cérebro do sistema, encarregado de processar todas as informações.

Ele também é o componente onde são usadas as tecnologias mais recentes. Existem no

mundo apenas quatro grandes empresas com tecnologia para fabricar processadores

competitivos para micros PC: a Intel (que domina mais de 70% do mercado), a AMD,

Via (que comprou a antiga Cyrix e atualmente fabrica os chips Via C3 e C7) e a IBM,

que fabrica processadores para outras empresas, como a Transmeta.

O processador é o componente mais complexo e freqüentemente o mais caro, mas ele

não pode fazer nada sozinho. Como todo cérebro, ele precisa de um corpo, que é

formado pelos outros componentes do micro, incluindo memória, HD, placa de vídeo e

de rede, monitor, teclado e mouse.

Dentro do mundo PC, tudo começou com o 8088, lançado pela Intel em 1979 e usado

no primeiro PC, lançado pela IBM em 1981. Depois veio o 286, lançado em 1982, e o

386, lançado em 1985.

O 386 pode ser considerado o primeiro processador moderno, pois foi o primeiro a

incluir o conjunto de instruções básico, usado até os dias de hoje. O 486, que ainda faz

parte das lembranças de muita gente que comprou seu primeiro computador foi lançado

em 1989, mas ainda era comum encontrar micros com ele à venda até por volta de 1997.

Depois entramos na era atual, inaugurada pelo Pentium, que foi lançado em 1993, mas

demorou alguns anos para se popularizar e substituir os 486. Em 1997 foi lançado o

Pentium MMX, que deu um último fôlego à plataforma. Depois, em 1997, veio o

Page 18: Línux entendo o sistema[JP.Conteudo]

Pentium II, que usava um encaixe diferente e por isso era incompatível com as placas-

mãe antigas. A AMD soube aproveitar a oportunidade, desenvolvendo o K6-2, um chip

com uma arquitetura similar ao Pentium II, mas que era compatível com as placas

antigas.

A partir daí as coisas passaram a acontecer mais rápido. Em 1999 foi lançado o Pentium

III e em 2000 o Pentium 4, que trouxe uma arquitetura bem diferente dos chips

anteriores, otimizada para permitir o lançamento de processadores que trabalham a

freqüências mais altas.

O último Pentium III trabalhava a 1.0 GHz, enquanto o Pentium 4 atingiu rapidamente

os 2.0 GHz, depois 3 GHz e depois 4.0 GHz. O problema é que o Pentium 4 possui um

desempenho por ciclo de clock inferior a outros processadores, o que faz com que a alta

freqüência de operação sirva simplesmente para equilibrar as coisas. A primeira versão

do Pentium 4 operava a 1.3 GHz e, mesmo assim, perdia para o Pentium III de 1.0 GHz

em algumas aplicações.

Quanto mais alta a freqüência do processador, mais ele esquenta e mais energia

consome, o que acaba se tornando um grande problema. Em 2003 a Intel lançou o

Pentium M, um chip derivado da antiga arquitetura do Pentium III, que consome pouca

energia, esquenta pouco e mesmo assim oferece um excelente desempenho. Um

Pentium M de 1.4 GHz chega a superar um Pentium 4 de 2.6 GHz em diversas

aplicações.

O Pentium M foi desenvolvido originalmente para ser usado em notebooks, mas se

mostrou tão eficiente que a arquitetura está sendo adotado como base para o

desenvolvimento dos futuros chips Intel, que combinarão dois ou quatro processadores

no mesmo chip.

Paralelamente a todos estes processadores, temos o Celeron, uma versão mais barata,

mas com um desempenho um pouco inferior, por ter menos cache. Na verdade, o

Celeron não é uma família separada de chips, mas apenas um nome comercial usado nas

versões mais baratas (com metade ou um quarto do cache) de vários processadores Intel.

Existem Celerons baseados no Pentium II, no Pentium III, no Pentium 4 e agora no

Pentium M.

Para efeito de comparação, entre os chips antigos e os atuais, um 486 tinha cerca de 1

milhão de transistores e chegou a 133 MHz, enquanto o Pentium MMX tinha 4.3

milhões e chegou a 233 MHz. Um Pentium 4 (Prescott) tem 125 milhões e chega a 4.0

GHz. O transistor é a unidade básica do processador, capaz de processar um bit de cada

vez. Mais transistores permitem que o processador processe mais instruções de cada vez

Page 19: Línux entendo o sistema[JP.Conteudo]

enquanto a freqüência de operação determina quantos ciclos de processamento são

executados por segundo.

A AMD, por sua vez, começou produzindo processadores 386 e 486, muito similares

aos da Intel, porém mais baratos. Quando a Intel lançou o Pentium, que exigia o uso de

novas placas-mãe, a AMD lançou o "5x86", um 486 de 133 MHz, que foi bastante

popular, servindo como uma opção barata de upgrade. Embora o "5x86" e o clock de

133 MHz dessem a entender que se tratava de um processador com um desempenho

similar a um Pentium 133, o desempenho era muito inferior, mal concorrendo com um

Pentium 66. Este foi o primeiro de uma série de exemplos, tanto do lado da AMD,

quanto do lado da Intel, em que existiu uma diferença gritante entre o desempenho de

dois processadores do mesmo clock. Embora seja um item importante, a freqüência de

operação não é um indicador direto do desempenho do processador.

Uma analogia poderia ser feita em relação aos motores de carro. Os motores de 1.6 do

final da década de 70, usados nas Brasílias e Fuscas, tinham 44 cavalos de potência,

enquanto os motores 1.0 atuais chegam a mais de 70 cavalos. Além da capacidade

cúbica, existem muitos outros fatores, como a eficiência do sistema de injeção de ar e

combustível, taxa de compressão, refrigeração, etc.

Depois do 5x68 a AMD lançou o K5, um processador similar ao Pentium, mas que não

fez tanto sucesso. Ele foi seguido pelo K6 e mais tarde pelo K6-2, que novamente fez

bastante sucesso, como uma opção barata, e ao mesmo tempo como uma opção de

upgrade para quem tinha um Pentium ou Pentium MMX.

Esta era do K6-2 foi uma época negra da informática, não pelo processador em si (que

excluindo o desempenho em jogos, tinha um bom custo-benefício), mas pelas placas-

mãe baratas que inundaram o mercado. Aproveitando o baixo custo do processador, os

fabricantes passaram a desenvolver placas cada vez mais baratas (e de qualidade cada

vez pior) para vender mais oferecendo PCs de baixo custo. A época foi marcada por

aberrações. Um certo fabricante chegou a lançar uma família de placas sem cache L2,

que pifavam em média depois de um ano de uso.

As coisas voltaram aos trilhos com o Athlon, que foi o primeiro grande processador

(tanto em desempenho, quanto em tamanho :) da AMD. A primeira versão usava um

formato de cartucho (slot), similar ao Pentium II, mas incompatível com as placas para

ele. Ele foi sucedido pelo Athlon Thunderbird, que passou a usar o formato de soquete

utilizado até os dias de hoje pelo Sempron.

Memória

Depois do processador, temos a memória RAM, usada por ele para armazenar os

arquivos e programas que estão sendo executados. Funciona como uma espécie de mesa

de trabalho. A quantidade de memória RAM disponível tem um grande efeito sobre o

desempenho.

Os chips de memória são vendidos na forma de pentes de memória. Existem pentes de

várias capacidades e normalmente as placas possuem dois ou três encaixes disponíveis.

Você pode instalar um pente de 512 MB junto com o de 256 MB que veio no micro

para ter um total de 768 MB, por exemplo.

Page 20: Línux entendo o sistema[JP.Conteudo]

Ao contrário do processador, que é extremamente complexo, os chips de memória são

formados pela repetição de uma estrutura bem simples, formada por um par de um

transistor e um capacitor. Um transistor solitário e capaz de processar um único bit de

cada vez, e o capacitor permite armazenar a informação por um certo tempo. Esta

simplicidade faz com que os pentes de memória sejam muito mais baratos que os

processadores, principalmente se levarmos em conta o número de transistores.

Um pente de 1 GB é geralmente composto com 16 chips, cada um deles com um total

de 512 megabits, o que equivale a 512 milhões de transistores. Um Athlon 64 X2, que é

um dos maiores processadores atualmente, tem "apenas" 233 milhões e custa

absurdamente mais caro que um pente de memória.

Existem basicamente dois tipos de memória em uso: SDR e DDR. As SDR são o tipo

tradicional, onde o controlador de memória faz apenas uma leitura por ciclo, enquanto

as DDR são mais rápidas, pois fazem duas leituras por ciclo. O desempenho não chega a

dobrar, pois o acesso inicial continua demorando o mesmo tempo, mas melhora

bastante.

Os pentes de memória SDR são usados em micros antigos: Pentium II e Pentium III e os

primeiros Athlons e Durons. Por não serem mais fabricados, eles são atualmente muito

mais raros e caros que os DDR, algo semelhante ao que aconteceu com os antigos

pentes de 72 vias, usados na época do Pentium.

É fácil diferenciar os pentes SDR e DDR, pois os SDR possuem dois chanfros e os

DDR apenas um. Essa diferença faz com que também não seja possível trocar as bolas,

encaixando por engano um pente DDR numa placa-mãe que use SDR e vice-versa (a

menos que você use um alicate e um martelo, mas a placa provavelmente não vai

funcionar mais depois ;).

Algumas poucas placas possuem os dois tipos de soquete, permitindo usar os dois tipos

de acordo com a conveniência, mas sem misturar os dois.

Page 21: Línux entendo o sistema[JP.Conteudo]

Apesar de toda a evolução, a memória RAM continua sendo gritantemente mais lenta

que o processador. Para atenuar a diferença, são usados dois níveis de cache, incluídos

no próprio processador: o L1 e o L2.

O cache L1 é extremamente rápido, trabalhando próximo à freqüência nativa do

processador. Na verdade, os dois trabalham na mesma freqüência, mas são necessários

alguns ciclos de clock para que a informação armazenada no L1 chegue até as unidades

de processamento. No caso do Pentium 4, chega-se ao extremo de armazenar instruções

já decodificadas no L1. Elas ocupam mais espaço, mas eliminam este tempo inicial. A

grosso modo, quanto mais rápido o cache, mais espaço ele ocupa e menos é possível

incluir no processador. É por isso que o Pentium 4 inclui apenas um total de 20 KB

deste cache L1 ultra-rápido, contra os 128 KB do cache um pouco mais lento usado no

Sempron.

Em seguida vem o cache L2, que é mais lento tanto em termos de tempo de acesso (o

tempo necessário para iniciar a transferência) quanto em largura de banda, mas é bem

mais econômico em termos de transistores, permitindo que seja usado em maior

quantidade. Um Pentium 4 possui (de acordo com o modelo) 512 KB, 1 MB ou 2 MB

de cache L2, enquanto o Sempron tem 256 KB.

A principal característica da memória RAM é que ela é volátil, ou seja, os dados se

perdem ao reiniciar o micro. É por isso que ao ligar é necessário sempre refazer todo o

processo de carregamento, em que o sistema operacional e aplicativos usados são

transferidos do HD para a memória, onde podem ser executados pelo processador.

Competindo com o Celeron, a AMD produziu o Duron, um processador de baixo custo,

idêntico ao Athlon, mas com menos cache. Em 2005 o Athlon foi descontinuado e o

cargo herdado pelo Sempron, uma versão aperfeiçoada do Duron (com mais cache e

capaz de atingir freqüências mais altas), que passou a ser vendido segundo um índice de

desempenho (em relação ao Pentium 4) e não mais segundo o clock real.

Por volta de 2000, surgiram as primeiras notícias do "SledgeHammer", um processador

de 64 bits, que foi finalmente lançado em versão doméstica na forma do Athlon 64, que

passou a ser o topo de linha da AMD. Apesar das mudanças internas, o Athlon 64

continua sendo compatível com os programas de 32 bits, da mesma forma que os

Page 22: Línux entendo o sistema[JP.Conteudo]

processadores atuais são capazes de rodar softwares da época do 386, muito embora

tenham incorporado diversos novos recursos.

Na prática, o fato de ser um processador de 64 bits não torna o Athlon 64 gritantemente

mais rápido, mesmo em aplicativos otimizados (os ganhos de desempenho surgem mais

devido ao controlador de memória integrado e aos novos registradores). A principal

vantagem dos processadores de 64 bits é derrubar uma limitação inerente a todos os

processadores de 32 bits, que são capazes de cessar apenas 4 GB de memória RAM, um

limite que está se tornando cada vez mais uma limitação grave em várias áreas.

Os 4 GB de memória podem não parecer um obstáculo imediato, mas lembre-se de que

há duas décadas os PCs eram vendidos com 128 KB de memória, há uma década já

vinham com 4 ou 8 MB, e hoje são vendidos com 512 MB ou mais.

Disco rígido

No final das contas, a memória RAM funciona como uma mesa de trabalho. Os dados

mesmo são armazenados no disco rígido, também chamado de hard disk (o termo em

Inglês), HD ou até mesmo de "disco duro" pelos nossos primos lusitanos. É nele que

ficam guardados programas e dados enquanto não estão em uso, ou quando o micro é

desligado.

O HD armazena os dados em discos magnéticos que mantêm a gravação por vários

anos. Estes discos giram e uma cabeça de leitura móvel faz o trabalho de gravar ou

acessar os dados em qualquer posição nos discos. Junto com o CD-ROM, o HD é um

dos poucos componentes mecânicos ainda usados nos micros atuais e, justamente por

isso, é o que normalmente dura menos tempo (em média dois anos de uso contínuo) e

que inspira mais cuidados.

Na verdade, os discos magnéticos dos HDs são selados, pois a superfície magnética

onde são armazenados os dados é extremamente fina e sensível. Qualquer grão de

Page 23: Línux entendo o sistema[JP.Conteudo]

poeira que entrasse iria começar a riscar os discos por causa da velocidade em que eles

giram (7200 ou 10000 RPM nos atuais) o que faria com que em poucas horas quase

todos os dados armazenados fossem destruídos. Fotos em que o HD aparece aberto são

apenas ilustrativas, no mundo real ele é apenas uma caixa fechada sem tanta graça.

Tradicionalmente, o sistema operacional era sempre instalado no HD antes de poder ser

usado. Enquanto está trabalhando, o sistema precisa freqüentemente modificar arquivos

e configurações, o que seria impossível num CD-ROM, já que os dados gravados nele

não podem ser alterados.

Isso mudou com o aparecimento do Demolinux, Knoppix, Kurumin e outras

distribuições Linux que rodam diretamente do CD-ROM. Neste caso, um conjunto de

modificações "enganam" o sistema, fazendo com que ele use a maior parte dos arquivos

(os que não precisam ser alterados) a partir do CD-ROM, e o restante (os que realmente

precisam ser alterados) a partir da memória RAM.

Isto tem algumas limitações: as configurações são perdidas ao desligar (a menos que

você as salve em um disquete ou cartão de memória), pois tudo é armazenado na

memória RAM e o conteúdo dela é sempre perdido ao desligar o micro.

Também é mais complicado (mas não impossível!) instalar novos programas pois é

sempre preciso enganar o sistema fazendo-o gravar tudo na memória RAM. Por outro

lado, a facilidade de uso é imbatível, pois basta inicializar o micro usando o CD do

Kurumin e ele roda alegre e saltitante, sem precisar alterar o que já está instalado no

micro.

Mas, voltando à função do HD, imagine que, como memória RAM é cara, você compra

sempre uma quantidade relativamente pequena, geralmente 512 MB ou 1 GB, de acordo

com o seu bolso. Por outro lado, você dificilmente vai encontrar um HD de menos que

80 ou 120 GB à venda. Ou seja, temos centenas de vezes mais espaço no HD do que na

memória RAM.

Lembre-se de que o computador é burro, quando ele fica sem memória RAM,

simplesmente trava. Não existe negociação com quem só entende uns e zeros.

Bem antigamente, nos anos 80, época dos primeiros PCs, você só podia rodar

programas que coubessem na memória RAM disponível. Naquela época, a memória

RAM era muito mais cara que hoje em dia, então o mais comum era usar 256 ou 512

KB (sim, kbytes, duas mil vezes menos que usamos hoje, tempos difíceis aqueles, nem

existia Linux... :). Os mais abonados tinham dinheiro para comprar um megabyte inteiro

mas parava por aí.

Se você quisesse rodar um programa com mais de 256 KB, tinha que comprar mais

memória, não tinha conversa. Os programadores, coitados, tinham que deixar seus

programas o mais compactos possíveis para que eles rodassem nos micros com menos

memória.

Mais tarde, quando a Intel estava desenvolvendo o 386, um dos engenheiros bem pagos

da empresa, num momento de criatividade despertada por iluminação divina, teve a

idéia de criar um recurso chamado de memória virtual.

Page 24: Línux entendo o sistema[JP.Conteudo]

O processador (através de uma instrução incluída no microcode e ativada pelo sistema

operacional) é instruído a mover alguns arquivos para o HD sempre que a memória

RAM estiver acabando. Isso faz com que a memória nunca "acabe" e ele não trave.

Enquanto tiver espaço no HD, ele vai caminhando.

O Linux sabe como usar memória virtual desde o comecinho, quando um russo pediu

encarecidamente que Linus Torvalds incluísse o recurso para que ele pudesse rodar o

Linux no seu 386 com 2 MB de RAM (não tente fazer isso em casa! :-).

O problema é que o HD é muito mais lento que a memória RAM. Se você for numa loja

de informática qualquer e perguntar sobre os tipos de pente de memória que estão à

venda, vai encontrar pentes de memória DDR de 2100, 2700 ou até 3200 MB/s (a

memória conversa com o processador a até 3200 megabytes por segundo). Na pior das

hipóteses, você vai encontrar um pente antigo de memória PC-100, que transmite a 800

MB/s.

Existe um comando no Linux que serve para mostrar de forma rápida o desempenho do

HD, o hdparm. Quando o rodo no meu micro, que usa um HD IDE relativamente

recente, ele diz o seguinte:

$ hdparm -t /dev/hda

/dev/hda:

Timing buffered disk reads: 158 MB in 3.03 seconds = 52.20 MB/sec

Ou seja, enquanto na memória RAM falamos de 2 ou 3 gigabytes por segundo, no HD

falamos em algumas dezenas de megabytes. Para piorar as coisas, o tempo de acesso do

HD (o tempo necessário para localizar a informação e iniciar a transferência) é

absurdamente mais alto, em torno de 10 milessegundos, enquanto na memória RAM

falamos em nanossegundos.

Agora você entende por que o Kurumin roda tão lento naqueles micros velhos com

apenas 64 MB. O sistema até consegue trabalhar, com a ajuda da memória virtual, mas

como uma grande parte das coisas acaba indo para o HD, tudo fica leeeeento,

independentemente do clock do processador.

A fórmula é simples: quanto menos memória RAM, mais memória swap (memória

virtual) é usada e mais lento o sistema fica. O processador, coitado, não pode fazer nada

além de ficar esperando a boa vontade do HD em mandar à conta-gotas os dados de que

ele precisa para trabalhar. Ou seja, quando você compra um micro com um processador

de 3 GHz e 256 MB de RAM, você está literalmente jogando dinheiro no lixo, pois o

seu processador super ultra rápido vai ficar boa parte do tempo esperando pelo HD.

Vender micros novos com 256, ou pior, apenas 128 MB de RAM, é uma atrocidade que

deveria ser classificada como crime contra a humanidade ;).

Por outro lado, quando você tem instalado mais memória do que o sistema realmente

precisa, é feito o inverso. Ao invés de copiar arquivos da memória para o HD, arquivos

do HD, contendo os programas, arquivos e bibliotecas que já foram anteriormente

abertos é que são copiados para a memória, fazendo com que o acesso a eles passe a ser

instantâneo. Os programas e arquivos passam a ser abertos de forma gritantemente mais

rápida, como se você tivesse um HD muito mais rápido do que realmente é.

Page 25: Línux entendo o sistema[JP.Conteudo]

Este recurso é chamado de cache de disco e no Linux é gerenciado de forma automática

pelo sistema, usando a memória disponível. Naturalmente, o cache disco é descartado

imediatamente quando a memória precisa ser usada para outras coisas. Ele é apenas uma

forma de aproveitar o excedente de memória, sem causar nenhum efeito desagradável.

Ironicamente, a forma mais eficiente de melhorar o desempenho do HD, é instalar mais

memória, fazendo com que uma quantidade maior de arquivos possa ser armazenada no

cache de disco. É por isso que servidores de arquivos, proxy e de banco de dados

costumam usar muita memória RAM, em muitos casos 4 GB ou mais.

Uma outra forma de melhorar o desempenho do HD é usar RAID, onde dois ou quatro

HDs passam a ser acessados como se fossem um só, multiplicando a velocidade de

leitura e gravação. Este tipo de RAID, usado para melhorar o desempenho é chamado de

RAID 0. Existe ainda o RAID 1, onde são usados dois HDs, mas o segundo é uma cópia

exata do primeiro, que garante que os dados não sejam perdidos no caso de algum

problema mecânico em qualquer um dos dois.

O RAID tem se tornado um recurso relativamente popular, pois muitas placas-mãe já

vêm com controladoras RAID onboard.

Placa de vídeo

Depois do processador, memória e HD, a placa de vídeo é provavelmente o componente

mais importante do PC. Originalmente, as placas de vídeo eram dispositivos simples,

que se limitavam a mostrar o conteúdo da memória de vídeo no monitor. A memória de

vídeo contém um bitmap da imagem atual, atualizada pelo processador, e o RAMDAC

(um conversor digital-analógico) lê esta imagem periodicamente e a envia ao monitor.

A resolução máxima suportada pela placa de vídeo era limitada pela quantidade de

memória de vídeo. Na época, memória era um artigo caro, de forma que as placas

vinham com apenas 1 ou 2 MB. As placas de 1 MB permitiam usar no máximo 800x600

com 16 bits de cor, ou 1024x768 com 256 cores. Estavam limitadas ao que cabia na

memória de vídeo.

Em seguida, as placas passaram a suportar recursos de aceleração, que permitem fazer

coisas como mover janelas ou processar arquivos de vídeo de forma a aliviar o

processador principal. Estes recursos melhoram bastante a velocidade de atualização da

tela (em 2D), tornando o sistema bem mais responsívo.

Finalmente, as placas deram o passo final, passando a suportar recursos 3D. Uma placa

3D é capaz de gerar, processar e renderizar imagens em 3D, que por sua vez são

formadas por uma quantidade gigantesca de polígonos, posicionados no espaço

tridimensional e texturas aplicadas sobre eles, que os transformam em objetos mais

semelhantes aos reais.

Page 26: Línux entendo o sistema[JP.Conteudo]

Junto com as placas 3D, surgiu a febre dos games de primeira pessoa, começando com o

Quake 2 e Quake 3 e depois chegando ao Counter Strike, Doom 3 e companhia. Muitos

destes games (incluindo todos os títulos da ID e a série Unreal Tournament) possuem

versões Linux nativas. Em geral você baixa um instalador na página do desenvolvedor,

que instala a partir do CD com a versão Windows.

Outros podem ser executados no Linux usando o Cedega (chamado de WineX nas

versões anteriores), que simula um ambiente Windows, incluindo o DirectX e outros

recursos usados pelos games. Já existem até casos de LanHouses onde todas ou quase

todas as máquinas (os desktops mesmo, não apenas os servidores) rodam Linux. Você

pode ver mais detalhes sobre o projeto aqui:

http://www.guiadohardware.net/artigos/309/.

Para usar todos os recursos da placa de vídeo, do 3D à aceleração de vídeo básica, é

necessário que existam drivers adequados para ela. A maioria das placas possuem bons

drivers para Linux, a maior parte deles incluída no próprio X.org, de forma que venham

pré-instalados no sistema. A lista inclui desde as antigas placas Voodoo (1, 2, 3, 4 e

Banshee) até muitas placas ATI e Via recentes, passando por quase todas as placas

onboard da Intel, encontradas sobretudo em notebooks.

A nVidia desenvolve um driver proprietário de boa qualidade, que é compatível com

toda a linha de placas e pode ser instalado em (praticamente) qualquer distribuição

Linux sem muitas dificuldades. Algumas já até incluem o driver diretamente.

O desempenho é bem similar ao obtido no Windows, variando um pouco para mais ou

para menos de acordo com o game. Alguns chegam a ficar bem mais rápidos no Linux,

enquanto outros (sobretudo os executados através do Cedega) rodam com perdas

significativas por causa da camada de emulação. O driver Linux da nVidia pode ser

baixado no: http://www.nvidia.com/object/unix.html.

A ATI também desenvolve um driver próprio, mas que não possui uma qualidade tão

boa. O desempenho é inferior ao do driver for Windows e o driver não instala em todas

Page 27: Línux entendo o sistema[JP.Conteudo]

as distribuições. Como o custo das placas não é tão diferente assim, dê preferência às

placas da nVidia ao comprar uma placa 3D para uso no Linux. Lembre-se de que o

driver influencia diretamente o desempenho da placa: uma placa rápida no Windows

pode ser muito lenta no Linux se o driver não tiver qualidade.

Entre as placas onboard, as com melhor suporte são as com chipset Intel, tanto as

encontradas em notebooks, quanto as usadas em placas para desktop. Praticamente

todas são suportadas no Linux e o driver oferece um bom desempenho (dentro das

limitações do hardware, claro). Alguns dos chipsets recentes passaram a ser suportados

apenas no Kernel 2.6.12, por isso dê preferência às últimas versões das distribuições.

Temos também as placas com o Via Unicrome, um chipset de vídeo incluído na maior

parte das placas-mãe com chipset Via de fabricação recente. Até pouco tempo, estas

placas não tinham suporte 3D no Linux, mas isso mudou a partir de julho de 2005,

quando a Via passou a patrocinar o desenvolvimento de um driver open source. Como o

projeto é recente, muitas distribuições ainda não incluem o driver, mas no futuro ele

tende a se tornar tão bem suportado quanto os Intel.

Por último, temos as placas SiS (tanto onboard quanto offboard), que são as pior

suportadas no Linux. O fabricante simplesmente não desenvolve nenhum driver, nem

abre as especificações das placas, que permitiriam que outras pessoas o fizessem. Não

apenas as placas de vídeo, mas também as placas-mãe com chipset SiS de uma forma

geral (independente do fabricante da placa-mãe) são as mais problemáticas no Linux,

novamente pela questão da falta de drivers, por isso é recomendável deixá-las em último

na lista de compra. Só considere comprar uma se a diferença de preço for realmente

grande e você achar que a economia compensa a falta de suporte e dor de cabeça.

Embora funcionem no Linux, o driver "sis" do X.org (que dá suporte às placas com

chipset SiS) não oferece desempenho 3D para nenhum dos modelos, limitando bastante

seu uso. Um número relativamente grande de placas não possui sequer aceleração 2D,

fazendo com que o desempenho fique comprometido mesmo em tarefas básicas, como

assistir vídeos ou usar o VMware. Existe um projeto para oferecer suporte 3D a algumas

placas (embora sem nenhum apoio do fabricante), mas que não tem feito muito

progresso nos últimos tempos, disponível no:

http://www.winischhofer.at/linuxsisvga.shtml.

A principal diferença entre as placas 3D onboard e as offboard é o barramento de acesso

à memória, que nas placas atuais é o principal limitante de desempenho. Nas placas

offboard, a placa inclui uma quantidade generosa de memória de vídeo, acessada através

de um barramento muito rápido. O GPU (o chipset da placa) é também muito poderoso,

de forma que as duas coisas se combinam para oferecer um desempenho monstruoso.

As placas 3D atuais são praticamente um computador à parte, pois além da qualidade

generosa de memória RAM, acessada através de um barramento muito mais rápido que

a do sistema, o chipset de vídeo é muito mais complexo e absurdamente mais rápido

que o processador principal no processamento de gráficos. O chipset de uma GeForce

7800 GT, por exemplo, é composto por 302 milhões de transistores, enquanto um

Pentium III tem "apenas" 28 milhões.

No caso de uma placa onboard, o chipset de vídeo é bem mais simples e incluído

diretamente no chipset da placa-mãe. Para reduzir ainda mais o custo, o vídeo não

Page 28: Línux entendo o sistema[JP.Conteudo]

possui memória dedicada, simplesmente compartilha a memória principal com o

processador.

Mesmo uma placa relativamente barata atualmente, como a GeForce 4 Ti4600 tem 10.4

GB/s de barramento com a memória de vídeo, enquanto ao usar um pente de memória

DDR PC 3200, temos apenas 3.2 GB/s de barramento na memória principal, que ainda

por cima precisa ser compartilhado entre o vídeo e o processador principal. O

processador lida bem com isto, graças aos caches L1 e L2, mas a placa de vídeo

realmente não tem para onde correr. É por isso que os chipsets de vídeo onboard são

normalmente bem mais simples: mesmo um chip caro e complexo não ofereceria um

desempenho muito melhor, pois o grande limitante é o acesso à memória.

O único chipset de vídeo onboard que oferece um desempenho mais próximo do das

placas offboard é o usado nas placas nVidia GeForce, que utilizam um chipset de vídeo

separado e o "twin bank", uma tecnologia que permite que dois pentes de memória

sejam acessados simultaneamente, reduzindo o problema da lentidão do acesso à

memória.

Em compensação, as placas com ele são consideravelmente mais caras, e você precisa

gastar um pouco a mais para comprar dois pentes de memória, o que acaba anulando

grande parte da economia em relação a uma placa off-board.

De uma forma geral, as placas de vídeo onboard (pelo menos os modelos que dispõe de

drivers adequados) atuais atendem bem às tarefas do dia-a-dia, com a grande vantagem

do custo. Elas também permitem rodar os games mais antigos com um bom

desempenho, apesar de naturalmente ficarem devendo nos lançamentos recentes.

Placa-mãe

A placa-mãe é o componente mais importante do micro, pois é ela a responsável pela

comunicação entre todos os componentes. Pela enorme quantidade de chips, trilhas,

capacitores e encaixes, a placa-mãe também é o componente que, de uma forma geral,

mais dá defeitos. É comum que um slot PCI pare de funcionar (embora os outros

continuem normais), que instalar um pente de memória no segundo soquete faça o

micro passar a travar, embora o mesmo pente funcione perfeitamente no primeiro, e

assim por diante.

A maior parte dos problemas de instabilidade e travamentos são causados por

problemas diversos na placa-mãe, por isso ela é o componente que deve ser escolhido

com mais cuidado.

A qualidade da placa-mãe é de longe mais importante que o desempenho do

processador. Você mal vai perceber uma diferença de 20% no clock do processador,

mas com certeza vai perceber se o seu micro começar a travar ou se a placa de vídeo

onboard não tiver um bom suporte no Linux.

Ao montar um PC de baixo custo, economize primeiro no processador, depois na placa

de vídeo, som e outros periféricos. Deixe a placa-mãe por último no corte de despesas.

Não se baseie apenas na marca da placa na hora de comprar, mas também no

fornecedor. Como muitos componentes entram no país ilegalmente, "via Paraguai", é

Page 29: Línux entendo o sistema[JP.Conteudo]

muito comum que lotes de placas remanufaturadas, ou defeituosas acabem chegando ao

mercado. Muita gente compra estes lotes, vende por um preço um pouco abaixo do

mercado e depois desaparece. Outras lojas simplesmente vão vendendo placas que

sabem ser defeituosas até acharem algum cliente que não reclame. Muitas vezes os

travamentos da placa são confundidos com "paus do Windows", de forma que sempre

aparece algum desavisado que não percebe o problema.

Antigamente existia a polêmica entre as placas com ou sem componentes onboard. Hoje

em dia isso não existe mais, pois todas as placas vem com som e rede onboard. Apenas

alguns modelos não trazem vídeo onboard, atendendo ao público que vai usar uma placa

3D off-board e prefere uma placa mais barata ou com mais slots PCI do que com o

vídeo onboard que, de qualquer forma, não vai usar.

Quanto aos conectores, temos na placa-mãe dois conectores IDE para conectar o HD e o

CD-ROM, um slot AGP (o marrom) para a placa de vídeo, vários slots PCI (os brancos)

para o modem, placa de som e outras placas, soquetes para conectar a memória, o

soquete para o processador, o conector para a fonte de alimentação e o painel traseiro,

que agrupa os encaixes dos componentes onboard, incluindo o vídeo, som, rede e portas

USB.

O soquete (ou slot) para o processador é a principal característica da placa-mãe, pois

indica com quais processadores ela é compatível. Você não pode instalar um Athlon 64

numa placa soquete A (que é compatível com os Athlons, Durons e Semprons), nem

muito menos encaixar um Sempron numa placa soquete 478, destinada aos Pentium 4.

O soquete é na verdade apenas um indício de diferenças mais "estruturais" na placa,

incluindo o chipset usado, o layout das trilhas de dados, etc. É preciso desenvolver uma

placa quase que inteiramente diferente para suportar um novo processador.

Existem ainda dois tipos de portas para a conexão do HD: as portas IDE tradicionais, de

40 pinos (PATA, de Parallel ATA) e os conectores SATA (Serial ATA), que são muito

menores. Muitas placas recentes incluem um único conector PATA e quatro conectores

SATA. Outras incluem as duas portas IDE tradicionais e dois conectores SATA e,

algumas já passam a trazer apenas conectores SATA, deixando de lado os conectores

antigos. Existem ainda algumas placas "legacy free", que eliminam também os

conectores para o drive de disquete, portas seriais e porta paralela, incluindo apenas as

portas USB. Isso permite simplificar o design das placas, reduzindo o custo de

produção.

Page 30: Línux entendo o sistema[JP.Conteudo]

Tudo isso é montado dentro do gabinete, que contém outro componente importante: a

fonte de alimentação. A função da fonte é transformar a corrente alternada da tomada

em corrente contínua (AC) já nas tensões corretas, usadas pelos componentes. Ela serve

também como uma última linha de defesa contra picos de tensão e instabilidade na

corrente, depois do nobreak ou estabilizador.

Embora quase sempre relegada a último plano, a fonte é outro componente essencial

num PC atual. Com a evolução das placas de vídeo e processadores, os PCs consomem

cada vez mais energia. Na época dos 486, as fontes mais vendidas tinham 200 watts ou

menos, enquanto as atuais têm a partir de 450 watts. Uma fonte subdimensionada não é

capaz de fornecer energia suficiente nos momentos de pico, causando desde erros

diversos, provocados por falhas no fornecimento (o micro trava ao tentar rodar um game

pesado, ou trava sempre depois de algum tempo de uso, por exemplo), ou, em casos

mais graves, até mesmo danos aos componentes. Uma fonte de má qualidade, obrigada

a trabalhar além do suportado, pode literalmente explodir, danificando a placa-mãe,

memórias, HDs e outros componentes sensíveis.

Page 31: Línux entendo o sistema[JP.Conteudo]

Evite comprar fontes muito baratas e, ao montar um micro mais parrudo, invista numa

fonte de maior capacidade.

Não se esqueça também do fio terra, que é outro componente importante, mas

freqüentemente esquecido. O fio terra funciona como uma rota de fuga para picos de

tensão provenientes da rede elétrica. A eletricidade flui de uma forma similar à água:

vai sempre pelo caminho mais fácil. Sem ter para onde ir, um raio vai torrar o

estabilizador, a fonte de alimentação e, com um pouco mais de azar, a placa-mãe e o

resto do micro. O fio terra evita isso, permitindo que a eletricidade escoe por um

caminho mais fácil, deixando todo o equipamento intacto.

O fio terra é simplesmente uma barra de cobre com dois a três metros de comprimento,

que é cravada no solo, no meio de um buraco de 20 cm de largura, preenchido com sal

grosso e carvão. Naturalmente, instalar o terra é trabalho para o eletricista, até porque

cavar o buraco e cravar a barra não é um trabalho nada fácil :-). Sem o terra, o

estabilizador perde grande parte de sua função, tornando-se mais um componente

decorativo, que vai ser torrado junto com o resto, do que uma proteção real.

Nas grandes cidades, é relativamente raro acontecer dos micros queimarem por causa de

raios, pois os transformadores e disjuntores oferecem uma proteção razoável. Mas,

pequenos picos de tensão são responsáveis por pequenos danos nos pentes de memória e

outros componentes sensíveis, danos que se acumulam, comprometendo a estabilidade e

abreviando a vida útil do equipamento.

A longo prazo, o investimento na instalação do terra e melhorias na instalação elétrica

acabam se pagando com juros, principalmente se você tem mais de um micro.

Hardware x Software

Toda esta parte física, as coisas tangíveis, que você pode tocar é chamada de hardware.

Page 32: Línux entendo o sistema[JP.Conteudo]

A parte mais importante vem depois, o Software, os programas que permitem que o

computador faça coisas úteis. É aí que entra o sistema operacional e, depois dele, os

programas que usamos no dia-a-dia.

Um bom sistema operacional é invisível. A função dele é detectar e utilizar o hardware

da máquina de forma eficiente, fornecendo uma base estável sobre a qual os programas

que utilizamos no cotidiano possam ser usados. Como diz Linus Torvalds, as pessoas

não usam o sistema operacional, usam os programas instalados. Quando você se lembra

que está usando um sistema operacional, é sinal de que alguma coisa não está

funcionando como deveria.

O sistema operacional permite que o programador se concentre em adicionar funções

úteis, sem ficar se preocupando com que tipo de placa de vídeo ou placa de som você

tem. O programa diz que quer mostrar uma janela na tela e ponto; o modelo de placa de

vídeo que está instalado e que comandos são necessários para mostrar a janela são

problema do sistema operacional.

Para acessar a placa de vídeo, ou qualquer outro componente instalado, o sistema

operacional precisa de um driver, que é um pequeno programa que trabalha como um

intérprete, permitindo que o sistema converse com o dispositivo. Cada placa de vídeo ou

som possui um conjunto próprio de recursos e comandos que permitem usá-los. O

driver converte estes diferentes comandos em comandos padrão, que são entendidos

pelo sistema operacional.

O driver é como se fosse a chave do carro, sem ela você não entra no carro nem dá a

partida e ele não serve para nada. Comprar uma impressora ou scanner que não possua

driver para o Linux, ou outro sistema operacional que você pretende utilizar, é como

comprar um carro sem a chave. Pesquise antes para não levar gato por lebre.

Arquiteturas

Nos primórdios da informática, nas décadas de 50, 60 e 70, vários fabricantes diferentes

disputavam o mercado. Cada um desenvolvia seus próprios computadores, que eram

incompatíveis entre si. Tanto o hardware quanto os softwares para cada arquitetura não

funcionavam nas outras. Isso causava uma ineficiência generalizada, pois cada

fabricante tinha que desenvolver tudo, da placa-mãe ao sistema operacional.

No começo dos anos 80, os fabricantes começaram a se especializar. Surgiu então o PC

que é uma arquitetura aberta, um conjunto de padrões que permite usar periféricos de

vários fabricantes diferentes e roda vários tipos de sistemas operacionais.

O principal concorrente é a Apple, que produz os Macs. Ao contrário dos PCs, eles

possuem uma arquitetura fechada. A Apple desenvolve tanto os computadores quando o

sistema operacional.

Naturalmente muita coisa é terceirizada e várias empresas desenvolvem programas e

acessórios, mas como a Apple precisa manter o controle de tudo e desenvolver muita

coisa por conta própria, o custo dos Macs acaba sendo bem mais alto que o dos PCs.

Isso faz com que (embora tenham seus atrativos) eles sejam muito menos populares.

Atualmente os Macs possuem menos de 3% do mercado mundial, o que significa uma

proporção de mais de 30 PCs para cada Mac.

Page 33: Línux entendo o sistema[JP.Conteudo]

No início da década de 80, a concorrência era mais acirrada e muitos achavam que o

modelo da Apple poderia prevalecer, mas não foi o que aconteceu. Dentro da história da

informática temos inúmeras histórias que mostram que os padrões abertos quase sempre

prevalecem. Um ambiente onde existem várias empresas concorrendo entre si favorece

o desenvolvimento de produtos melhores, o que cria uma demanda maior e, graças à

economia de escala, permite preços mais baixos.

Como os micros PC possuem uma arquitetura aberta, ou seja, a possibilidade de vários

fabricantes diferentes desenvolverem seus próprios componentes baseados em padrões

já definidos, temos uma lista enorme de componentes compatíveis entre si. Podemos

escolher entre várias marcas e modelos os componentes que melhor atendam nossas

necessidades e montar nossa própria configuração, de acordo com o uso.

Qualquer novo fabricante, com uma placa-mãe mais barata ou um processador mais

rápido, por exemplo, pode entrar no mercado, é apenas uma questão de criar a demanda

necessária. A concorrência faz com que os fabricantes sejam obrigados a trabalhar com

uma margem de lucro relativamente baixa, ganhando com base no volume de peças

vendidas, o que é muito bom para nós que compramos.

Um pouco sobre redes

Montar uma rede já foi complicado e caro. Hoje em dia, as redes são algo onipresente,

uma forma barata de trocar arquivos, compartilhar a conexão com a internet,

compartilhar impressoras, CD-ROM e outros periféricos e assim por diante.

O uso mais corriqueiro é compartilhar a conexão com a internet. Você tem apenas uma

linha ADSL ou apenas uma assinatura do serviço de acesso via cabo e pode acessar, ao

mesmo tempo, a partir de todos os micros que tiver em sua casa ou empresa. Neste caso

um dos micros atua como um ponto de encontro, enviando os pedidos de todos para a

internet e devolvendo as respostas. Além de compartilhar a conexão, este servidor pode

compartilhar arquivos, servir como firewall (protegendo a rede de acessos externos),

rodar um proxy (que permite criar um cache de arquivos e páginas acessados,

melhorando a velocidade da conexão), além de outros serviços.

Outra necessidade comum é compartilhar arquivos. Antigamente (naquela época em que

os micros tinham 512 KB de memória e os homens eram homens e escreviam seus

próprios sistemas operacionais) era usado o protocolo DPL/DPC (disquete pra lá,

disquete pra cá), mas ele não era muito eficiente, principalmente quando o amigo que

estava esperando os arquivos estava em outra cidade...

Os componentes básicos da rede são uma placa de rede para cada micro, os cabos e o

hub ou switch que serve como um ponto de encontro, permitindo que todos os micros se

enxerguem e conversem entre si.

As placas de rede já foram componentes caros, mas como elas são dispositivos

relativamente simples e o funcionamento é baseado em padrões abertos, qualquer um

pode abrir uma fábrica de placas de rede, o que faz com que exista uma concorrência

acirrada que obriga os fabricantes a produzirem placas cada vez mais baratas e

trabalhem com margens de lucro cada vez mais estreitas. As placas de rede mais baratas

Page 34: Línux entendo o sistema[JP.Conteudo]

chegam a ser vendidas no atacado por menos de três dólares. O preço final é um pouco

mais alto naturalmente, mas não é difícil achar placas por 20 reais ou até menos.

Temos três padrões de redes Ethernet: de 10 megabits, 100 megabits e 1 gigabit. As

placas são intercompatíveis, mas, ao usar placas de velocidades diferentes, as duas vão

conversar na velocidade da placa mais lenta.

As redes 10 megabits já são obsoletas, mas ainda é possível encontrar muitas

instalações antigas por aí. Caso a rede já use cabos de categoria 5 (o número vem

decalcado no cabo), é possível fazer um upgrade direto para 100 megabits, trocando

apenas o hub e placas.

Lembre-se de que a velocidade das placas é calculada em bits e não em bytes. Uma rede

de 100 megabits permite uma taxa de transmissão (teórica) de 12.5 MB/s. Como além

dos dados são transmitidas outras informações (a estrutura dos pacotes, retransmissões,

códigos de correção de erros, etc.), a velocidade na prática fica sempre um pouco abaixo

disso. Normalmente é possível transferir arquivos a no máximo 10.5 MB/s, com a taxa

máxima variando sutilmente de acordo com a placa e o sistema operacional usado.

A opção para quem precisa de mais velocidade são as redes Gigabit Ethernet, que

transmitem a até 1000 megabits (125 megabytes) por segundo. As placas Gigabit atuais

são compatíveis com os mesmos cabos de par trançado categoria 5, usados pelas placas

de 100 megabits, por isso a diferença de custo fica por conta apenas das placas e do

switch. Elas ainda são muito mais caras, mas pouco a pouco o preço vai caindo.

Os cabos de rede também são um artigo relativamente barato. Os cabos de categoria 5

que usamos em redes de 100 ou 1000 megabits geralmente custam em torno de 80

centavos o metro, com mais alguns centavos por conector.

Você pode comprar quantos metros de cabo quiser, junto com os conectores e fazer

crimpar os cabos você mesmo, ou pode comprá-los já prontos. É no caso dos cabos já

crimpados que o preço começa a variar. Algumas lojas chegam a crimpar os cabos na

hora cobrando apenas o valor do material, enquanto outras vendem os cabos por preços

exorbitantes.

Page 35: Línux entendo o sistema[JP.Conteudo]

Os cabos devem ter um mínimo de 30 centímetros e um máximo de 100 metros, a

distância máxima que o sinal elétrico percorre antes que comece a haver uma

degradação que comprometa a comunicação. Na verdade, estes valores não são exatos,

principalmente com relação ao comprimento máximo do cabo.

Não é incomum ver gente usando cabos fora do padrão, com 120, 150 ou, em alguns

casos até 200 metros. Dependendo da qualidade das placas de redes, cabos, conectores,

crimpagem e do nível de interferências do ambiente, o sinal pode se propagar por

distâncias bem acima dos 100 metros, mas neste caos sem garantia nenhuma de

estabilidade. Até 100 metros você pode ter certeza de que a rede funcionará, acima disso

começa a depender da sorte.

Existem dois tipos de cabos de rede: os cabos retos (straight), que são os cabos

"normais", usados para ligar os vários micros ao hub ou switch, e os cabos cross-over,

que utilizam um padrão diferente, que permite ligar diretamente dois micros, sem

precisar de um hub.

Todas as placas são ligadas ao hub ou switch, que serve como uma central, de onde os

sinais de um micro são retransmitidos para os demais. Todas as placas de rede são

ligadas ao hub ou switch e é possível ligar vários hubs ou switchs entre si (até um

máximo de 7) caso necessário, formando redes maiores.

Page 36: Línux entendo o sistema[JP.Conteudo]

A diferença entre um hub é um switch é que o hub apenas retransmite tudo o que recebe

para todos os micros conectados a ele, é um tagarela. Isso faz com que apenas um micro

consiga transmitir dados de cada vez e que todas as placas precisem operar na mesma

velocidade (sempre nivelada por baixo, caso você coloque um micro com uma placa de

10 megabits na rede, a rede toda passará a trabalhar a 10 megabits).

Os switchs, por sua vez, são aparelhos mais inteligentes. Eles fecham canais exclusivos

de comunicação entre o micro que está enviando dados e o que está recebendo,

permitindo que vários pares de micros troquem dados entre si ao mesmo tempo. Isso

melhora bastante a velocidade em redes congestionadas, com muitos micros.

Antigamente, existia uma grande diferença de preço entre os hubs burros e os switchs,

mas os componentes caíram tanto de preço que a partir de um certo ponto a diferença se

tornou insignificante e os fabricantes passaram a fabricar apenas switchs, que por sua

vez dividem-se em duas categorias: os switchs "de verdade", aparelhos caros, capazes

de gerenciar o tráfego de uma quantidade maior de micros e que possuem várias

ferramentas de gerenciamento e os "hub-switchs", os modelos mais simples e baratos,

que usamos no dia-a-dia.

O TCP/IP e a configuração da rede

Tudo o que vimos até agora, sobre placas e cabos representa a parte física da rede, os

componentes necessários para fazer os uns e zeros enviados por um computador

chegarem ao outro. O TCP/IP é o protocolo de rede, o conjunto de regras e padrões que

permite que eles realmente falem a mesma língua.

Pense nas placas, hubs e cabos como o sistema telefônico e no TCP/IP como a língua

falada que você usa para realmente se comunicar. Não adianta nada ligar para alguém

na China que não saiba falar Português. Sua voz vai chegar até lá, mas ela não vai

entender nada. Além da língua em si, existe um conjunto de padrões, como por exemplo

dizer "alô" ao atender o telefone, dizer quem é, se despedir antes de desligar, etc.

Ligar os cabos e ver se os leds do hub e das placas estão acesos é o primeiro passo. O

segundo é configurar os endereços da rede para que os micros possam conversar entre

si, e o terceiro é finalmente compartilhar a internet, arquivos, impressoras e o que mais

você quer que os outros micros da rede tenham acesso.

Graças ao TCP/IP, tanto o Linux quanto o Windows e outros sistemas operacionais em

uso são intercompatíveis dentro da rede. Não existe problema para as máquinas com o

Windows acessarem a internet através da conexão compartilhada no Linux, por

exemplo.

Independente do sistema operacional usado, as informações básicas para que ele possa

acessar a internet através da rede são:

- Endereço IP:

Os endereços IP identificam cada micro na rede. A regra básica é que cada micro deve

ter um endereço IP diferente e todos devem usar endereços dentro da mesma faixa.

Page 37: Línux entendo o sistema[JP.Conteudo]

O endereço IP é dividido em duas partes. A primeira identifica a rede à qual o

computador está conectado (necessário, pois numa rede TCP/IP podemos ter várias

redes conectadas entre si, veja o caso da internet) e a segunda identifica o computador

(chamado de host) dentro da rede. É como se o mesmo endereço contivesse o número

do CEP (que indica a cidade e a rua) e o número da casa.

A parte inicial do endereço identifica a rede e os últimos identificam o computador

dentro da rede. Quando temos um endereço "192.168.0.1", por exemplo, temos o micro

"1" dentro da rede "192.168.0". Quando alguém diz "uso a faixa 192.168.0.x na minha

rede", está querendo dizer justamente que apenas o último número muda de um micro

para outro.

Na verdade, os endereços IP são números binários, de 32 bits. Para facilitar a

configuração e memorização dos endereços, eles são quebrados em 4 números de 8 bits

cada um. Os 8 bits permitem 256 combinações diferentes, por isso usamos 4 números

de 0 a 255 para representá-los.

Todos os endereços IP válidos na internet possuem dono. Seja alguma empresa ou

alguma entidade certificadora que os fornece junto com novos links. Por isso não

podemos utilizar nenhum deles a esmo.

Quando você se conecta na internet você recebe um (e apenas um) endereço IP válido,

emprestado pelo provedor de acesso, algo como por exemplo "200.220.231.34". É

através deste número que outros computadores na Internet podem enviar informações e

arquivos para o seu.

Quando quiser configurar uma rede local, você deve usar um dos endereços reservados,

endereços que não existem na internet e que por isso podemos utilizar à vontade em

nossas redes particulares. Algumas das faixas reservadas de endereços são: 10.x.x.x,

172.16.x.x até 172.31.x.x e 192.168.0.x até 192.168.255.x

Você pode usar qualquer uma dessas faixas de endereços na sua rede. Uma faixa de

endereços das mais usadas é a 192.168.0.x, onde o "192.168.0." vai ser igual em todos

os micros da rede e muda apenas o último número, que pode ser de 1 até 254 (o 0 e o

255 são reservados para o endereço da rede e o sinal de broadcast). Se você tiver 4

micros na rede, os endereços deles podem ser, por exemplo, 192.168.0.1, 192.168.0.2,

192.168.0.3 e 192.168.0.4.

- Máscara de sub-rede

A máscara é um componente importante do endereço IP. É ela que explica para o

sistema operacional como é feita a divisão do endereço, ou seja, quais dos 4 octetos

compõem o endereço da rede e quais contém o endereço do host, ou seja, o endereço de

cada micro dentro da rede.

Ao contrário do endereço IP, que é formado por valores entre 0 e 255, a máscara de sub-

rede é formada por apenas dois valores: 0 e 255, como em 255.255.0.0 ou 255.0.0.0,

onde um valor 255 indica a parte endereço IP referente à rede, e um valor 0 indica a

parte endereço IP referente ao host.

Page 38: Línux entendo o sistema[JP.Conteudo]

Se você está usando a faixa 192.168.0.x, por exemplo, que é um endereço de classe C,

então a máscara de sub-rede vai ser 255.255.255.0 para todos os micros. Você poderia

usar uma máscara diferente: 255.255.0.0 ou mesmo 255.0.0.0, desde que a máscara seja

a mesma em todos os micros.

Se você tiver dois micros, 192.168.0.1 e 192.168.0.2, mas um configurado com a

máscara "255.255.255.0" e o outro com "255.255.0.0", você terá na verdade duas redes

diferentes. Um dos micros será o "1" conectado na rede "192.168.0" e o outro será o

"0.2", conectado na rede "192.168".

- Default Gateway (gateway padrão)

Lembra que disse que quando você se conecta à internet através de um provedor de

acesso qualquer, você recebe apenas um endereço IP válido? Quando você compartilha

a conexão entre vários micros, apenas o servidor que está compartilhando a conexão

possui um endereço IP válido, só ele "existe" na internet. Todos os demais acessam

através dele.

O default gateway ou gateway padrão é justamente o micro da rede que tem a conexão,

que os outros consultarão quando precisarem acessar qualquer coisa na internet.

Por exemplo, se você montar uma rede doméstica com 4 PCs, usando os endereços IP

192.168.0.1, 192.168.0.2, 192.168.0.3 e 192.168.0.4, e o PC 192.168.0.1 estiver

compartilhando o acesso à internet, as outras três estações deverão ser configuradas para

utilizar o endereço 192.168.0.1 como gateway padrão.

- Servidor DNS

Memorizar os 4 números de um endereço IP é muito mais simples do que memorizar o

endereço binário. Mas, mesmo assim, fora os endereços usados na sua rede interna, é

complicado sair decorando um monte de endereços diferentes.

O DNS (domain name system) permite usar nomes amigáveis ao invés de endereços IP

para acessar servidores, um recurso básico que existe praticamente desde os primórdios

da internet. Quando você se conecta à internet e acessa o endereço

http://www.guiadohardware.net, é um servidor DNS que converte o "nome fantasia" no

endereço IP real do servidor, permitindo que seu micro possa acessar o site.

Para tanto, o servidor DNS mantém uma tabela com todos os nomes fantasia,

relacionados com os respectivos endereços IP. A maior dificuldade em manter um

servidor DNS é justamente manter esta tabela atualizada, pois o serviço tem que ser

feito manualmente. Dentro da internet, temos várias instituições que cuidam desta

tarefa. No Brasil, por exemplo, temos a FAPESP. Para registrar um domínio é preciso

fornecer à FAPESP o endereço IP real do servidor onde a página ficará hospedada. A

FAPESP cobra uma taxa de manutenção anual de R$ 30 por este serviço.

Servidores DNS também são muito usados em intranets, para tornar os endereços mais

amigáveis e fáceis de guardar.

Page 39: Línux entendo o sistema[JP.Conteudo]

Faz parte da configuração da rede informar os endereços DNS do provedor (ou qualquer

outro servidor que você tenha acesso), que é para quem seu micro irá perguntar sempre

que você tentar acessar qualquer coisa usando um nome de domínio e não um endereço

IP. O jeito mais fácil de conseguir os endereço do provedor é simplesmente ligar para o

suporte e perguntar.

O ideal é informar dois endereços, assim se o primeiro estiver fora do ar, você continua

acessando através do segundo. Também funciona com um endereço só, mas você perde

a redundância. Exemplos de endereços de servidores DNS são: 200.204.0.10 e

200.204.0.138.

No Kurumin você encontra a opção de configurar a rede dentro do Painel de Controle,

em "Conectar na internet ou configurar a rede > Configurar conexão via rede local". O

assistente vai perguntando as configurações da rede que vimos.

Um exemplo de configuração de rede completa para um dos micros da rede, que vai

acessar a internet através do micro que está compartilhando a conexão seria:

IP: 192.168.0.2

Máscara: 255.255.255.0

Gateway: 192.168.0.1 (o endereço do micro compartilhando a conexão)

DNS: 200.204.0.10 200.204.0.138

O micro que está compartilhando a conexão por sua vez vai ter duas placas de rede, uma

para a internet e outra para a rede local, por isso vai ter uma configuração separada para

cada uma. A configuração da internet é feita da forma normal, de acordo com o tipo de

conexão que você usa, e a configuração da rede interna segue o padrão que vimos até

aqui.

É possível usar também um servidor DHCP para fornecer as configurações da rede

para os micros, de forma que você não precise ficar configurando os endereços

manualmente em cada um. O configurador do Kurumin pergunta sobre isso logo na

primeira opção: "Configurar a rede via DHCP"?

Respondendo "Sim", o micro simplesmente "pede socorro" na rede e é ajudado pelo

servidor DHCP, que fornece para ele toda a configuração da rede, de forma automática.

Você gasta um pouco mais de tempo configurando o servidor DHCP, mas em

compensação economiza na configuração dos micros.

Page 40: Línux entendo o sistema[JP.Conteudo]

Redes wireless

Apesar de inicialmente muito mais caras, as redes wireless estão gradualmente caindo

de preço e se popularizando rapidamente. Além da questão da praticidade, em muitos

casos simplesmente não é viável usar cabos. Imagine que você precise ligar dois

escritórios situados em dois prédios distantes, ou que a sua mãe/esposa/marido não

deixa você nem pensar em espalhar cabos pela casa.

O que você precisa prestar atenção na hora de comprar é se o modelo escolhido é bem

suportado no Linux. Caso a placa tenha um driver disponível, a configuração será

simples, quase como a de uma placa de rede normal, mas sem o driver você fica

trancado do lado de fora do carro. Lembre-se, o driver é a chave e você nunca deve

comprar um carro sem a chave :-).

Numa rede wireless, o hub é substituído pelo ponto de acesso (access-point em inglês).

Ele tem basicamente a mesma função: retransmitir os pacotes de dados, de forma que

todos os micros da rede os recebam. Em geral os pontos de acesso possuem uma saída

para serem conectados num hub tradicional, permitindo que você "junte" os micros da

rede com fios com os que estão acessando através da rede wireless, formando uma única

rede.

Ao contrário dos hubs, os pontos de acesso são dispositivos inteligentes, que podem ser

configurados através de uma interface de administração via web. Você se conecta num

endereço específico usando o navegador (que muda de aparelho para aparelho, mas

pode ser encontrado facilmente no manual), loga-se usando uma senha padrão e altera

as configurações (e senhas!) de acordo com as necessidades da sua rede.

Ao contrário de uma rede cabeada, com um switch, em qualquer rede wireless a banda

da rede é compartilhada entre os micros que estiverem transmitindo dados

simultaneamente. Isso acontece pois não existem cabos independentes ligando o ponto

de acesso a cada micro, mas um único meio de transmissão (o ar), o que faz com que a

Page 41: Línux entendo o sistema[JP.Conteudo]

rede opere como se todos os micros estivessem ligados ao mesmo cabo. Enquanto um

transmite, os outros esperam. Conforme aumenta o número de micros e aumenta o

tráfego da rede, mais cai o desempenho.

Outra questão é que a potência do sinal decai conforme aumenta a distância, enquanto a

qualidade decai pela combinação do aumento da distância e dos obstáculos pelo

caminho. É por isso que num campo aberto o alcance será muito maior do que dentro de

um prédio, por exemplo.

Conforme a potência e qualidade do sinal se degrada, o ponto de acesso pode diminuir a

velocidade de transmissão a fim de melhorar a confiabilidade da transmissão. A

velocidade pode cair para 5.5 megabits, 2 megabits ou chegar a apenas 1 megabit por

segundo antes que o sinal se perca completamente.

Existem três padrões diferentes de rede wireless em uso. O primeiro (e mais comum) é o

802.11b, onde a rede opera a uma taxa teórica de 11 megabits.

O seguinte é o 802.11a, que ao contrário do que o nome dá a entender, é mais recente

que o 802.11b. As redes 802.11a são mais rápidas (54 megabits) e são mais resistentes a

interferências, pois operam na faixa de freqüência dos 5 GHz, ao invés dos 2.4 GHz

usados no 802.11b. A desvantagem é que, pelo mesmo motivo (a freqüência mais alta),

o alcance das redes 802.11a é menor, cerca de metade que numa rede 802.11b. As

placas 802.11a são relativamente raras e, como a maioria é capaz de operar nos dois

padrões, muitas delas acabam operando a 11 megabits, juntando-se a redes 802.11b já

existentes.

Finalmente, temos o 802.11g, o padrão atual. Ele junta o melhor dos dois mundos,

operando a 54 megabits, como no 802.11a e trabalhando na mesma faixa de freqüência

do 802.11b (2.4 GHz), o que mantém o alcance inicial. Para que a rede funcione a 54

megabits, é necessário que tanto o ponto de acesso, quanto todas as placas sejam

802.11g, caso contrário a rede inteira passa a operar a 11 megabits, a fim de manter

compatibilidade com as placas antigas. Muitos pontos de acesso permitem desativar este

recurso, fazendo com que as placas de 11 megabits simplesmente fiquem fora da rede,

sem prejudicar o desempenho das demais.

Existem ainda as placas dual band, que são capazes de transmitir simultaneamente

usando dois canais diferentes, dobrando a taxa de transmissão. Uma placa de "108

megabits" é na verdade uma 802.11g dual-band.

As redes wireless também são redes Ethernet e também usam o TCP/IP. Mas, além da

configuração dos endereços IP, máscara, gateway, etc., feita da mesma forma que numa

rede cabeada, temos um conjunto de parâmetros adicional.

A configuração da rede wireless é feita em duas etapas. Primeiro você precisa

configurar o ESSID, canal e (caso usada encriptação) a chave WEP ou WPA que dá

acesso à rede.

O ESSID é uma espécie de nome de rede. Dois pontos de acesso, instalados na mesma

área, mas configurados com dois ESSIDs diferentes formam duas redes separadas,

permitindo que a sua rede não interfira com a do vizinho, por exemplo. Mesmo que

existam várias redes na mesma sala, indicar o ESSID permite que você se conecte à rede

correta.

Page 42: Línux entendo o sistema[JP.Conteudo]

Em seguida temos o canal que, novamente permite que vários pontos de acesso dentro

da mesma área trabalhem sem interferir entre si. Temos um total de 16 canais

(numerados de 1 a 16), mas a legislação de cada país permite o uso de apenas alguns

deles. Nos EUA, por exemplo, é permitido usar apenas do 1 ao 11 e na França apenas

do 10 ao 13. Esta configuração de país é definida na configuração do ponto de acesso.

O ESSID sozinho provê uma segurança muito fraca, pois qualquer um que soubesse o

nome da rede poderia se conectar a ele ou mesmo começar a escutar todas as conexões.

Embora o alcance normal de uma rede wireless, usando as antenas padrão das placas e

pontos de acesso normalmente não passe de 30 ou 50 metros (em ambientes fechados)

usando antenas maiores, de alto ganho e conseguindo uma rota sem obstáculos, é

possível captar o sinal de muito longe, chegando a 2 ou até mesmo 5 KM, de acordo

com a potência do seu ponto de acesso.

Como é praticamente impossível impedir que outras pessoas captem o sinal da sua rede,

a melhor solução é encriptar as informações, de forma que ela não tenha utilidade fora o

círculo autorizado a acessar a rede.

Existem atualmente três padrões de encriptação, o WEP de 64 bits, WEP de 128 bits e o

WPA, o padrão mais recente e considerado mais seguro.

Embora nenhum dos três seja livre de falhas, elas são uma camada essencial de

proteção, que evita que sua rede seja um alvo fácil. É como as portas de uma casa.

Nenhuma porta é impossível de arrombar, mas você não gostaria de morar numa casa

sem portas.

Ao usar WEP, você define numa chave de 10 (WEP de 64 bits) ou 26 (WEP de 128

bits) caracteres em hexa, onde podem ser usados números de 0 a 9 e as letras A, B, C,

D, E e F. Também é possível usar caracteres ASCII (incluindo acentuação e todo tipo de

caracteres especiais); neste caso as chaves terão respectivamente 5 e 13 caracteres.

A regra básica é que os micros precisam possuir a chave correta para se associarem ao

ponto de acesso e acessarem a rede. Em geral os pontos de acesso permitem que você

especifique várias chaves diferentes, de forma que cada micro pode usar uma diferente.

Acesso Remoto

Muitos dispositivos, como por exemplo modems ADSL, pequenos servidores de

impressão, roteadores, etc. possuem várias opções de configuração; muitas vezes rodam

o Linux ou outro sistema operacional completo, mas não possuem nem teclado nem

monitor.

Nestes casos toda a configuração é feita remotamente, através de algum utilitário de

configuração. O mais comum é o uso de alguma interface http, que você acessa de

qualquer micro da rede local usando o navegador, ou então o uso do ssh ou telnet.

Eu, por exemplo, uso um modem ADSL Parks 600, que pode ser configurado como

roteador ou bridge, através de uma interface de administração simples, que acesso via

telnet, a partir de qualquer micro da rede.

Page 43: Línux entendo o sistema[JP.Conteudo]

O telnet é um protocolo primitivo que permite rodar comandos remotamente através de

uma interface de modo texto. Existem clientes telnet para vários sistemas operacionais.

Tanto no Linux quanto no Windows, você acessa uma máquina remotamente via telnet

usando o comando "telnet" seguido do endereço IP destino, como em:

$ telnet 192.168.0.1

O grande problema é que o telnet não oferece nenhum tipo de segurança. Todas as

informações, incluindo as senhas são transmitidas em texto puro, de forma legível pela

rede e são fáceis de interceptar. É como se você fizesse suas transações bancárias

gritando pela janela.

O ssh já é mais evoluído. Ele utiliza um sistema de criptografia bastante seguro para

proteger os dados. Alguém pode interceptar as informações, afinal a internet é uma rede

pública, mas os dados capturados não terão utilidade nenhuma. O ssh é a opção mais

usada para administrar servidores remotamente.

Hoje em dia poucas empresas hospedam seus websites "in house" ou seja, em servidores

instalados dentro da própria empresa. Quase sempre os servidores ficam hospedados em

data centers, complexos que oferecem toda a estrutura necessária para que os servidores

fiquem no ar de forma confiável, incluindo links redundantes (se o link principal cai,

existe um segundo de reserva), nobreaks de grande porte, geradores, refrigeração (a

temperatura ambiente mais baixa ajuda os componentes a trabalhar de forma mais

estável) e assim por diante.

Isto significa que, apesar do servidor ser "seu", você não tem nenhum tipo de acesso

físico a ele. Não pode usar o teclado ou mouse por exemplo, tudo precisa ser feito a

distância.

No Linux, toda a configuração do sistema, instalação de novos programas, etc. pode ser

feita a partir do modo texto, o que permite configurar o servidor e mantê-lo atualizado

remotamente, via ssh. Outro ponto interessante é que apesar de ser nativo do Unix,

Page 44: Línux entendo o sistema[JP.Conteudo]

existem clientes ssh também para Windows e outras plataformas, permitindo que o

responsável administre o servidor a partir de uma estação Windows, por exemplo.

Outra possibilidade interessante para o ssh é suporte a distância. Você pode se conectar

no micro de um amigo para corrigir algum problema, por exemplo.

Para acessar uma máquina remotamente via ssh, você deve informar o login que você

usará para se conectar, seguido do IP da máquina, que pode estar tanto na rede local

quanto na internet. Se o seu amigo criou o login "suporte" para que você acesse o micro

dele remotamente e o IP é 200.221.34.32, o comando seria:

$ ssh [email protected]

O ssh pede a senha (tudo feito através da conexão segura) e depois você já vê o prompt

da outra máquina:

Embora o uso mais comum seja rodar comandos de modo texto, o ssh também permite

rodar aplicativos gráficos. Se você estiver se conectando a partir do Linux, geralmente

não precisará fazer nada além de chamar o programa pelo nome, como em:

$ konqueror

O programa roda no servidor, mas a imagem é exibida no seu monitor:

Page 45: Línux entendo o sistema[JP.Conteudo]

Este recurso de rodar aplicativos gráficos remotamente é mais útil dentro de uma rede

local, pois consome muita banda, deixando as respostas lentas se você acessa via

modem, por exemplo.

Outro programa interessante para acessar outros micros remotamente é o VNC. Ele

permite ver uma extensão do desktop da outra máquina, incluindo o KDE ou outra

interface gráfica. O VNC é dividido em dois módulos, um cliente e um servidor. O

servidor VNC é instalado na máquina que será acessada remotamente, enquanto as que

vão acessar precisam apenas do cliente, um programa pequeno que já vem pré-instalado

na maioria das distribuições. Os dois estão disponíveis tanto para Linux quanto para

Windows, de forma que você pode acessar um micro com o Windows a partir do

Kurumin ou vice-versa.

Page 46: Línux entendo o sistema[JP.Conteudo]

Finalmente, temos as interfaces de administração via web. Como disse, elas são usadas

por muitos modems ADSL (são mais fáceis de usar que a interface de modo texto do

meu Parks) e também por programas de configuração destinados a servidores Linux,

como o Swat e o Webmin.

O Swat permite configurar o Samba, usado para compartilhar arquivos com máquinas

Windows, enquanto o Webmin é uma ferramenta completa, que permite configurar

vários servidores diferentes. Caso instalados no servidor, ambos podem ser acessados a

partir de outro micro da rede local, ou até mesmo via internet, usando o navegador:

O Kernel e as distribuições

Nas reportagens sobre o Linux você lerá muito sobre Linus Torvalds, o criador do

Kernel do Linux. Ele (o Kernel) é a peça fundamental do sistema, responsável por

prover a infra-estrutura básica para os programas funcionarem. O Kernel é algo comum

em todas as diferentes distribuições; muda a versão, mas o Kernel do Linus está sempre

ali.

O Kernel é o responsável por dar suporte aos mais diferentes periféricos: placas de rede,

som, e o que mais você tiver espetado no micro. Uma nova versão sempre traz suporte a

muita coisa nova, o que faz diferença principalmente para quem pretende trocar de PC

em breve ou está de olho em algum handheld ou mp3player exótico. É por isso que o

lançamento de uma atualização importante, como o Kernel 2.6, é sempre tão

comemorado.

Mas, apesar de toda a sua importância, o grande objetivo dos desenvolvedores é que o

Kernel seja invisível. Ele deve simplesmente fazer seu trabalho sem que você precise se

preocupar com ele. Você só se dá conta que o Kernel existe quando algo não funciona,

Page 47: Línux entendo o sistema[JP.Conteudo]

de forma que quanto menos você notá-lo melhor, sinal de que as coisas estão

funcionando bem... :-).

Uma distribuição Linux é como uma receita, ao invés de ficar compilando o Kernel e os

programas como faziam os pioneiros, você simplesmente instala um conjunto que uma

equipe desenvolveu e disponibilizou. O bom dos softwares é que uma vez criados eles

podem ser distribuídos quase sem custo. Ao contrário de um objeto material, que se

quebra ao ser dividido, quanto mais pessoas copiarem e usarem sua distribuição melhor:

seu trabalho terá mais reconhecimento e apoio.

Alguns exemplos de distribuições são o Debian, Mandriva, Fedora, SuSE, Slackware e

Gentoo.

Qualquer pessoa ou empresa com tempo e conhecimentos suficientes pode desenvolver

uma distribuição. O mais comum é usar uma distribuição já existente como ponto de

partida e ir incluindo novos recursos a partir daí. No mundo open-source não é preciso

reinventar a roda, os trabalhos anteriores são respeitados e reutilizados, aumentando

radicalmente a velocidade de desenvolvimento de novos projetos.

A distribuição mais antiga, ainda ativa é o Slackware, que em julho de 2006 completou

13 anos. O Slackware é uma das distribuições mais espartanas, que tem como objetivo

preservar a tradição dos sistemas Unix, provendo um sistema estável, organizado, mas

com poucas ferramentas automatizadas, que te obriga a estudar e ir mais a fundo na

estrutura do sistema para conseguir usar. Muita gente usa o Slackware como ferramenta

de aprendizado, encarando os problemas e deficiências como um estímulo para

aprender.

Pouco depois, em novembro de 1994, foi lançado o Red Hat, que foi desenvolvido com

o objetivo de facilitar a configuração e automatização do sistema, incluindo várias

ferramentas de configuração. Apesar de sua alma comercial, todas as ferramentas

desenvolvidas pela equipe do Red Hat tinham seu código aberto, o que possibilitou o

surgimento de muitas outras distribuições derivadas dele, incluindo o Mandrake

(França) e o Conectiva (Brasil). Devido à sua origem comum, estas distribuições

preservam muitas semelhanças até hoje, sobretudo na estrutura do sistema e localização

dos arquivos de configuração.

A partir de 2003, a Red Hat mudou seu foco, concentrando seus esforços no público

empresarial, desenvolvendo o Red Hat Enterprise e vendendo pacotes com o sistema,

suporte e atualizações.

O Red Hat Desktop foi descontinuado em 2004, pouco depois do lançamento o Red Hat

9. A partir daí, passou a ser desenvolvido o Fedora combinando os esforços de parte da

equipe da Red Hat e vários voluntários que, com a maior abertura, passaram a contribuir

com melhorias, documentações e suporte comunitário nos fóruns. O Fedora herdou a

maior parte dos usuários do Red Hat Desktop e é atualmente uma das distribuições mais

usadas.

O Mandrake começou de uma forma modesta, como uma versão modificada do Red

Hat, lançada em julho de 1998, cuja principal modificação foi a inclusão do KDE (ainda

na versão 1.0). O Mandrake conquistou rapidamente um número relativamente grande

de usuários e passou a ser desenvolvido de forma independente, com foco na facilidade

de uso. Em 2005 aconteceu a fusão entre o Mandrake e o Conectiva, que deu origem ao

Page 48: Línux entendo o sistema[JP.Conteudo]

atual Mandriva, que passou a ser desenvolvido combinando os esforços dos

desenvolvedores das duas distribuições.

A história do SuSE é um pouco mais complicada. As primeiras versões foram baseadas

no SLS, uma das primeiras distribuições Linux que se têm notícia. Em 1995 os scripts e

ferramentas foram migrados para o Jurix, que por sua vez era baseado no Slackware. A

partir a versão 5.0, lançada em 1998, o SuSE passou a utilizar pacotes RPM, o formato

do Red Hat e passou a incorporar características e ferramentas derivadas dele. Todas

estas ferramentas foram integradas no Yast, um painel de controle central que facilita

bastante a administração do sistema.

Devido a todas estas mudanças, o SuSE é difícil de catalogar, mas atualmente o sistema

possui muito mais semelhanças com o Fedora e o Mandriva do que com o Slackware,

por isso é mais acertado colocá-lo dentro da família Red Hat.

Em 2003, a SuSE foi adquirida pela Novell, dando origem ao Novell Desktop (uma

solução comercial) e ao OpenSuSE, um projeto comunitário, que usa uma estrutura

organizacional inspirada no exemplo do Fedora.

Finalmente, temos o Debian, cuja primeira versão oficial (chamada Buzz) foi lançada

em 1996. O Debian deu origem a uma grande linhagem de distribuições, que incluem de

produtos comerciais, como o Linspire e o Xandros a projetos comunitários, como o

Ubuntu, Knoppix, Mephis e o próprio Kurumin.

As principais características do Debian são a grande quantidade de pacotes disponíveis

(atualmente, quase 25 mil, se incluídas as fontes não oficiais) e o apt-get, um

gerenciador de pacotes que permite baixar, instalar, atualizar e remover os pacotes de

forma automática.

O Debian utiliza um sistema de desenvolvimento contínuo, onde são desenvolvidas

simultaneamente 3 versões, chamadas de Stable (estável), Testing (teste) e Unstable

(instável). A versão estável é o release oficial, que tem suporte e atualizações de

segurança freqüentes. A versão estável atual é o Sarge (3.1), lançado em junho de 2005;

antes dele veio o Woody (3.0), lançado em julho de 2002 e o Potato (2.2), lançado em

agosto de 2000. O lançamento da próxima versão estável (batizada de Etch), está

planejada para o final de 2006.

Apesar do longo intervalo entre os lançamentos das versões estáveis, os pacotes ficam

congelados, recebendo apenas correções de segurança. Isso faz com que os pacotes do

Stable fiquem rapidamente defasados em relação a outras distribuições. Para solucionar

este problema, existe a opção de usar o Testing, composto de pacotes recentes porém

menos testados e, como última opção, existe o Unstable, que é a porta de entrada para as

últimas versões e por isso sujeito a mais problemas. Em algumas épocas, o uso do

Unstable é impraticável, pois muitas alterações são feitas simultaneamente, fazendo

com que muitos pacotes fiquem quebrados e apareçam problemas diversos.

Tipicamente, os pacotes começam no Unstable, onde recebem uma primeira rodada de

testes. Depois de algumas semanas, são movidos para o Testing. Periodicamente, os

pacotes no Testing são congelados, dando origem a uma nova versão estável. Além

destes, existe o Experimental, usado como um laboratório para a inclusão de novos

pacotes.

Page 49: Línux entendo o sistema[JP.Conteudo]

O Debian em si é bastante espartano em termos de ferramentas de configuração e por

isso reservado a usuários mais avançados. Porém, muitas distribuições derivadas dele,

como Ubuntu, o Mepis e o Kurumin, são desenvolvidas com foco na facilidade de uso e

incluem muitas ferramentas e assistentes de configuração.

Você pode ver uma tabela mais completa com as origens de cada distribuição neste link

do Distrowatch:

http://distrowatch.com/dwres.php?resource=independence

Veja que dentre as distribuições cadastradas no site, a grande maioria é baseada no

Debian (129) ou no Knoppix (50). Naturalmente, as distribuições baseadas no Knoppix

também são indiretamente derivadas do Debian e, de fato, muitas distribuições são

incluídas dentro das duas categorias.

Em seguida temos as distribuições derivadas do Fedora (63), do Slackware (28) e do

Mandriva (14). Até o Kurumin já entrou na lista, com 5 filhos.

Os live-CDs

Tradicionalmente, qualquer sistema operacional precisa ser instalado no HD antes de ser

usado. Você dá boot usando o CD ou DVD de instalação e é aberto um sistema

compacto, que roda o instalador e se encarrega de instalar e configurar o sistema

principal. Depois de algum tempo respondendo perguntas e vendo a barra de progresso

da cópia dos arquivos, você reinicia o micro e pode finalmente começar a usar o

sistema. Isso é válido tanto para o Windows quanto para a maior parte das distribuições

Linux.

Os live-CDs são distribuições Linux que rodam diretamente a partir do CD-ROM, sem

necessidade de instalar. Um dos pioneiros nesta área é o Knoppix (derivado do Debian),

que até hoje é um dos live-CDs de maior sucesso. O Kurumin é um descendente direto

dele, desenvolvido com base no Knoppix 3.1 (a versão mais recente no início de 2003) e

desenvolvido de forma mais ou menos autônoma a partir daí, utilizando como base os

pacotes do Debian, combinados com atualizações provenientes do Knoppix e várias

outras distribuições, além de um conjunto de scripts e ferramentas de configuração

próprias, centralizadas na forma do Clica-aki.

Page 50: Línux entendo o sistema[JP.Conteudo]

Para quem já se acostumou com a idéia, pode parecer natural rodar o sistema a partir do

CD e até mesmo instalar novos programas, sem precisar modificar as informações

salvas no HD, mas o aparecimento do Knoppix foi um verdadeiro marco dentro do

mundo Linux.

A base de tudo é um módulo de Kernel chamado cloop, um hack que permite que o

sistema rode a partir de um sistema de arquivos compactado, gravado no CD-ROM. Os

dados são descompactados "on-the-fly", conforme são necessários. É algo que funciona

de forma similar às partições compactadas pelo smartdrive no Windows 95/98 (ainda

lembrado pelos saudosistas :), mas com um desempenho melhor e otimizado para CD-

ROMs.

Graças à compressão, uma distribuição como o Kurumin pode incluir cerca de 1.2 GB

de programas, em uma imagem com pouco mais de 400 MB. Além de reduzir o

tamanho do sistema, comprimir os arquivos melhora também a taxa de transferência do

CD-ROM, diminuindo a perda de desempenho causado pela baixa taxa de leitura.

A idéia é que um CD-ROM de 40X é capaz de ler a em média 4 MB/s, pois como o CD

gira sempre na mesma velocidade, as informações gravadas nas trilhas da parte externa

do CD (mais longas), são lidas a mais ou menos o dobro da velocidade das do centro

(que são mais curtas). Um CD-ROM de 40x lê a 6 MB/s nas trilhas externas mas a

apenas 3 MB/s nas internas. Como o CD-ROM é gravado a partir do centro, na maior

parte do tempo ele lê os dados a 3, 4 ou 5 MB/s.

Mas, ao ler 4 MB/s de dados compactados a uma razão de 3x, ele estará lendo na prática

a quase 12 MB/s, quase a mesma taxa de transferência de um HD de meia década atrás.

Naturalmente ainda existem outros problemas, como o tempo de busca, que é muito

mais alto num CD-ROM, mas o problema principal é bastante amenizado.

Se não fosse o sistema de compressão, os live-CDs descendentes do Knoppix seriam

três vezes maiores e três vezes mais lentos ao rodar do CD, o que os tornariam sistemas

muito menos atrativos.

Page 51: Línux entendo o sistema[JP.Conteudo]

Em contrapartida, o trabalho do processador passa a ser maior, pois, além de processar

os dados referentes aos programas, ele tem que ao mesmo tempo descompactar os dados

lidos pelo CD-ROM. Por isso, mais do que em outras distribuições, o desempenho (ao

rodar do CD) aumenta de acordo com o poder de processamento da máquina. Numa

máquina lenta, um Pentium II 300, por exemplo, o desempenho é cerca de 50% menor

do que seria ao rodar uma distribuição instalada no HD, enquanto num Athlon XP ou

Pentium 4 a diferença já é muito menor.

A primeira etapa do boot é a tela de boas-vindas e uma linha onde você pode fornecer

parâmetros para o boot. Logo depois é carregado o Kernel, que por sua vez inicializa o

hardware, cria um ramdisk usando uma parte (pequena) da memória RAM onde são

armazenados arquivos de configuração e outros dados que precisam ser alterados

durante o uso. Depois disso entra em ação o hwsetup, o programa de detecção que se

encarrega de detectar a placa de vídeo, som, rede, modem e outros periféricos

suportados, desenvolvido por Klaus Knopper com base no Kudzu do Red Hat.

Este trabalho de detecção é justamente o grande trunfo. Em poucos segundos o sistema

é capaz de detectar, configurar e ativar todos os periféricos suportados na máquina,

baseado nos códigos de identificação dos dispositivos, sem nenhuma intervenção do

usuário.

Claro, sempre existem casos de problemas. Algumas placas-mãe travam durante a

detecção do ACPI, alguns notebooks travam durante a etapa inicial, onde o sistema

procura por placas SCSI e assim por diante. Mas na grande maioria dos casos estes

Page 52: Línux entendo o sistema[JP.Conteudo]

problemas podem ser resolvidos desativando as partes da detecção que causam

problemas, usando opções de boot. Veremos mais detalhes sobre isso no capítulo 3.

Durante o boot ele tenta sempre configurar automaticamente a rede, obtendo o IP e

outros dados a partir de um servidor DHCP disponível na rede. Se a máquina acessar a

internet através de uma conexão compartilhada dentro da rede local ou através de um

modem ADSL configurado como roteador, ele já será capaz de acessar a web logo após

o boot, caso contrário você pode configurar a rede manualmente.

Uma questão importante ao usar qualquer live-CD é a questão da memória RAM. Como

o sistema por padrão não utiliza as partições do HD, tudo é feito usando a memória

RAM, incluindo a instalação de novos programas. O ramdisk que é criado durante o

boot vai crescendo conforme são feitas modificações. Em micros com pouca RAM você

verá uma mensagem de "disco cheio" (quando na verdade o que acabou foi o espaço no

ramdisk), ou até mesmo efeitos diversos por falta de memória RAM disponível.

A instalação de novos programas é possibilitada pelo UnionFS, mais um hack que

monitora tentativas de alterações nos arquivos do CD (originalmente impossíveis, já que

o CD é somente-leitura) e engana os programas, fazendo-as no ramdisk, permitindo que

você altere arquivos e instale novos programas, mesmo ao rodar o sistema a partir do

CD. Este recurso está disponível a partir do Knoppix 3.8 e do Kurumin 5.0.

A configuração mínima para rodar o Kurumin é um Pentium II com 128 MB de RAM.

Para o Knoppix ou outras distribuições, os requisitos variam de 128 a 256 MB. Para

usar o apt-get e instalar novos programas (UnionFS), você precisa ter 512 MB de RAM.

Para poder abrir vários programas simultaneamente e para melhorar o desempenho geral

do sistema, é recomendável ter disponível uma partição swap, que pode ser criada

usando o gparted, cfdisk, ou outro programa de particionamento. Muitas distribuições

criam uma partição swap automaticamente ao serem instaladas.

A memória swap (ou memória virtual) é um recurso usado por todos os sistemas

operacionais atuais quando não existe memória RAM suficiente. Ele passa a armazenar

os dados que não "cabem" na memória num arquivo ou partição swap criada no HD. É o

uso da memória swap que permite que o sistema continue funcionando, mesmo quando

não existe memória RAM suficiente.

Como não é possível fazer memória swap no CD-ROM, o sistema é capaz de detectar e

montar automaticamente partições de memória swap de outras distribuições Linux.

Caso você tenha apenas o Windows instalado, ele tentará em último caso criar um

arquivo de swap dentro da partição do Windows, mas isto só é possível se o HD estiver

formatado em FAT32 (o sistema de arquivos usado pelo Windows 98). Por enquanto

ainda não é possível fazer isso em partições NTFS do Windows XP.

Ou seja, para rodar o Kurumin em micros com pouca memória RAM, você deve

preferencialmente usar um programa de particionamento qualquer para criar uma

partição Linux swap ou pelo menos certificar-se de que o HD está formatado em FAT32

e não em NTFS, caso contrário ele não terá para onde correr quando a memória RAM

acabar ;-).

Page 53: Línux entendo o sistema[JP.Conteudo]

Além do Knoppix e do Kurumin, existem muitos outros live-CDs, tanto baseados no

Debian quanto baseados em outras distribuições, como o Slax (baseado no Slackware) e

o PcLinuxOS (baseado no Mandriva).

Como baixar, gravar e dar boot

A forma mais popular de disponibilizar novas versões das distribuições é através de

arquivos ISO, cópias binárias do conteúdo dos CDs ou DVD de instalação, que você

pode gravar usando o Nero, K3B ou outro programa de gravação, obtendo um CD

idêntico ao original.

Gravar um arquivo ISO é diferente de gravar um arquivo qualquer no CD. Um arquivo

ISO é uma imagem binária que deve ser copiada bit a bit no CD-ROM, e não

simplesmente adicionado dentro de uma nova seção. Todos os bons programas de

gravação suportam a gravação de arquivos ISO, veja como gravar o arquivo usando

alguns programas populares.

Ao usar o Easy CD Creator, abra o Easy CD Creator e clique em "File > Menu >

Record CD from CD Image". Aponte o arquivo que será gravado. Marque a opção "ISO

Image Files (*.iso)" na janela de navegação e clique em "Start Recording" para gravar o

CD.

No Nero Burning Rom, clique em File > Burn Image, aponte o arquivo que será

gravado e clique em "Write" para gravar o CD.

Ao usar o K3B (no Linux), clique em Ferramentas > Gravar Imagem ISO (ou Queimar

imagem de CD), aponte o arquivo, escolha a velocidade de gravação e clique em

"Gravar".

Page 54: Línux entendo o sistema[JP.Conteudo]

Depois de gravado o CD, o próximo passo é configurar o setup da placa-mãe para dar

boot através do CD-ROM. A maioria dos micros vem configurados para dar boot

preferencialmente através do CD-ROM. Neste caso basta deixar o CD na bandeja e você

já cai na tela de boas vindas do sistema. Se não for o seu caso, pressione a tecla DEL

durante o teste de memória para entrar no Setup.

Procure pela seção "Boot" e coloque o CD-ROM como dispositivo primário. Tudo

pronto, agora é só salvar a configuração acessando o menu exit, escolhendo a opção

"Save & Exit setup".

Ao reiniciar o micro sem o CD no drive, ele volta a carregar o Windows ou outro

sistema que estiver instalado no HD. Esta alteração apenas faz com que ele passe a

procurar primeiro no CD-ROM.

Um hábito saudável é verificar a integridade do arquivo .ISO antes de gravar o CD.

Sempre é possível que o arquivo esteja incompleto, ou venha corrompido, seja por

problemas com a conexão ou no gerenciador de download usado. Você pode detectar

este tipo de problema (e evitar gastar mídias à toa), verificando o MD5SUM do arquivo,

um teste que soma todos os bits do arquivo e devolve uma "assinatura", um código de

32 dígitos que permite detectar qualquer mudança no arquivo.

Os códigos de assinatura dos arquivos estão quase sempre disponíveis na página de

download, como em:

11479ced7eea505506b5a3314d33ee70 kurumin-5.0.iso

Você precisa apenas rodar o MD5SUM no arquivo baixado e ver se o resultado é igual

ao número da página. No Linux (qualquer distribuição), acesse a pasta onde o arquivo

foi baixado e digite:

$ md5sum kurumin-5.0.iso

Se o número retornado for igual, você pode gravar a imagem sem medo, o arquivo está

ok. Caso o número seja diferente, então o arquivo chegou corrompido ou incompleto.

Uma dica nesta caso é que é possível corrigir arquivos corrompidos usando o bittorrent

(se o arquivo estiver disponível para download através dele). Para isso, baixe o arquivo

.torrent para a mesma pasta do arquivo corrompido e inicie o download. O bittorrent usa

Page 55: Línux entendo o sistema[JP.Conteudo]

um algoritmo próprio para verificar cada pedaço do arquivo, descartando os pedaços

corrompidos. Isso permite que ele baixe novamente apenas os pedaços corrompidos,

sem precisar baixar novamente todo o arquivo.

No Windows baixe o programa disponível no

http://www.md5summer.org/download.html. Ele é gráfico, até mais fácil de usar que a

versão Linux.

Uma última dica é com relação aos famosos "Cloop Errors", erros de leitura que

aparecem ao tentar rodar qualquer live-CD (que usa o módulo cloop para compactar os

dados) a partir de uma mídia ruim. O cloop possui um sistema próprio para verificar as

integridade dos dados no CD, detectando e avisando sobre os erros de leitura.

Nestes casos você verá vários "CLOOP READ erros" durante o boot, que indicam

justamente que o sistema não está conseguindo ler os dados corretamente. Veja um

exemplo:

CLOOP READ ERROR:AT POS 5233960 IN FILE/CDROM/KNOPPIX/KNOPPIX

CLOOP:ERROR-3 UNCOMPRESSING BLOCK 46065536/0/23207/05233960-

I/O ERROR DEV OB:00, SECTOR 17212 LINUXRC CANNOT CREAT/VAN/RUN/VTMP.DIRECTORY

NOEXISTENT

Os cloop erros podem ser causados por três fatores:

a) O arquivo baixado está incompleto ou corrompido.

b) O CD ou CD-RW está riscado/danificado e o sistema não está conseguindo ler os

dados corretamente (o mais comum). Os CD-RW dão esse tipo de problema mais

freqüentemente, pois o índice de refração luminosa da mídia é mais baixa e a superfície

de gravação mais frágil, facilitando o aparecimento de problemas de leitura.

c) O próprio leitor CD-ROM ou o cabo IDE podem estar com problemas e por isso os

dados não estão sendo lidos corretamente, embora a mídia esteja em bom estado.

Os CLOOP ERRORS são sempre causados direta ou indiretamente por um destes três

fatores; problemas com o CD ou com o hardware do seu micro e não por problemas do

software. O sistema pode apresentar outros tipos de problemas na sua máquina, como

travar durante a detecção de algum componente, mas este erro específico é justamente

um aviso de problemas com a leitura dos dados.

Em muitos casos, o sistema roda normalmente a partir do CD, mas apresenta problemas

estranhos ao ser instalado (o modo gráfico não abre, alguns aplicativos não funcionam,

mensagens de erro diversas reclamando da falta de aplicativos ou bibliotecas, etc.),

causados por problemas de leitura durante a instalação.

Prefira usar mídias CDR normais e depois doar suas cópias antigas para amigos que

ainda não conheçam o sistema, assim você estará evitando dor de cabeça e ainda

fazendo uma boa ação :).

Page 56: Línux entendo o sistema[JP.Conteudo]

Linguagens de programação

Os computadores são funcionários quase perfeitos. Fazem tudo o que mandamos, não

reclamam, não se importam de trabalhar até tarde da noite, não cobram hora extra nem

tiram férias. Mas, em compensação, também não pensam. Para que façam qualquer

coisa é preciso explicar tudo com os mínimos detalhes e na língua deles.

Considerando que tudo o que os computadores conseguem entender são seqüências

intermináveis de números binários, fornecer estas "instruções" pode ser muito penoso

para um ser humano. Você consegue se imaginar lendo um manual de 5.000 páginas e

decorando um a um centenas de códigos binários que representam as instruções do

processador?

Se os programadores precisassem programar diretamente em binários, decorando

seqüências como 10111011101101101110110011001010 para cada instrução do

processador e para cada endereço de memória a ser acessado, provavelmente não

teríamos mais programadores; já estariam todos loucos.

Para facilitar as coisas, começaram a ser desenvolvidas as linguagens de programação,

que diferem na sintaxe e recursos, mas têm um ponto em comum, que é a existência de

um compilador. Seja programando em C, ou seja em Kylix, você usará um editor para

escrever seu programa, respeitando as regras da linguagem escolhida e em seguida

rodará o compilador, que interpretará os comandos que formam o seu programa e os

transformará em um arquivo binário, que contém as instruções binárias que são

entendidas pelo processador.

No Windows não temos muito contato com código fonte, pois os programas são quase

sempre distribuídos apenas em formato binário, que você não tem como alterar. Mas, no

caso do Linux, temos a possibilidade de baixar o código fonte de praticamente todos os

programas que usamos no dia-a-dia. Muita gente aprende a programar fuçando no

código fonte de algum programa que conhece bem, começando com pequenas traduções

e mudanças, e acaba entendendo bem a sintaxe da linguagem e vários dos truques

usados. Depois de cada rodada de alterações, é possível compilar todo o código, abrir o

programa e verificar de que forma elas alteraram o programa final.

A vantagem de usar linguagens de programação é que o desenvolvedor passa a trabalhar

com instruções como "if", "else", etc. além de todas as facilidades oferecidas pela

linguagem ao invés de gigantescos endereços binários. Sem dúvida muito mais simples.

Existem diversas linguagens de programação. Meu objetivo aqui é dar algumas noções

básicas sobre as peculiaridades e utilidade de algumas delas

Para começar, existe uma linguagem "básica" para quem quer aprender a programar,

ensinada nos cursos de lógica da programação, o pseudocódigo. Ele não é uma

linguagem "de verdade", mas sim uma maneira mais simples para aprender os

fundamentos usados em todas as linguagens de programação.

Podemos começar com um exemplo simples. Vamos fazer um programa capaz de tomar

uma decisão fácil. Ele pergunta a nota do aluno e diz se ele passou ou não. Para um ser

humano isso seria um problema muito elementar, mas para o computador as coisas não

Page 57: Línux entendo o sistema[JP.Conteudo]

são assim tão simples. Lembre-se de que ele é burro e precisa ser orientado passo a

passo. Nosso programinha em pseudocódigo poderia ficar assim:

escreva: "Qual é a nota do aluno?"

leia nota

se nota maior ou igual a sete

então:

escreva "Ele passou"

senão:

escreva: "Ele foi reprovado"

fim do se

fim do programa

Este programinha perguntaria a nota e, com base no número que for digitado, avisaria se

o aluno passou ou não.

Ele poderia ser escrito em qualquer linguagem, mas a lógica seria a mesma. De acordo

com os recursos oferecidos pela linguagem escolhida, ele poderia ter uma interface

simples em modo texto, uma interface gráfica mais trabalhada, aparecer no meio de uma

pagina web e assim por diante. O mesmo programinha escrito em shell script, a

linguagem mais elementar que temos no Linux, onde utilizamos comandos de terminal,

poderia ficar assim:

echo "Qual é a nota do aluno"

read nota

if [ "$nota" -ge "7" ]

then

echo "Ele passou"

else

echo "Ele foi reprovado"

fi

As linguagens de programação são conjuntos de padrões e comandos que você pode

usar para dar ordens para nossos amigos burros.

Assim como nas línguas faladas, existem diferenças de sintaxe, gramática e existem

linguagens mais simples ou mais complicadas de aprender e linguagens mais adequadas

para cada tipo de tarefa a realizar. Veja alguns exemplos de linguagens de programação:

- Assembly: O Assembly foi provavelmente a primeira linguagem de programação da

história, surgida na década de 50, época em que os computadores ainda usavam

válvulas. A idéia do Assembly é usar um comando em substituição a cada instrução de

máquina.

No Assembly, cada uma destas instruções equivale a uma instrução do processador. Ao

invés de usar instruções como 10101011, você pode usar outras bem mais fáceis de

entender e de memorizar, como add, div, mul, and, or, not, etc. Você também pode criar

variáveis, que são pequenos espaços na memória RAM reservados para guardar algum

Page 58: Línux entendo o sistema[JP.Conteudo]

tipo de informação, que o programa precisará mais tarde. Você pode usar aquelas

instruções que citei para lidar com elas. Por exemplo, a instrução "add" faz com que o

processador some duas variáveis; "add x, y" por exemplo, soma os valores de x e y.

Apesar de ser exaustivamente trabalhoso, você pode perfeitamente desenvolver

pequenos programas em Assembly. Para isso só vai precisar de um compilador e

bastante paciência para aprender. Um bom ponto de partida é baixar o MenuetOS, um

sistema operacional aberto, inteiramente escrito em Assembly, que inclui todas as

ferramentas e compiladores necessários para começar a programar. Na página você

encontra também alguns tutoriais e exemplos:

http://www.menuetos.net/

O compilador transforma o código escrito em Assembly em linguagem de máquina, que

finalmente poderá ser entendida pelo processador.

Existem também os decompiladores, que fazem o trabalho inverso, de transformar um

programa já compilado em código Assembly. Este recurso é chamado de engenharia

reversa. É assim que conseguem crackear programas, quebrar códigos de proteção

(como o do DVD), etc. Claro que para isso, é preciso alguém que conheça muito de

Assembly e que tenha disposição para ficar estudando o código até encontrar o que

procura.

Por causa desta característica de permitir trabalhar diretamente com as instruções do

processador, o Assembly é uma linguagem de baixo nível. Existem também linguagens

de alto nível, como C++ ou Pascal, onde é possível usar várias funções já prontas ou

mesmo ferramentas visuais, como o Kdeveloper ou o Kylix, que são ainda mais fáceis.

Em se tratando de programação, o fato de uma linguagem ser "de baixo nível", não

significa que ela é ruim, mas apenas que ela manipula diretamente as instruções e

endereços de memória e, por isso, é mais trabalhosa e voltada para o desenvolvimento

de aplicativos otimizados.

- Fortran: O Fortran foi uma das primeiras linguagens de alto nível da história.

Enquanto o Assembly é chamado de linguagem de baixo nível, por nele utilizarmos

diretamente as instruções e endereços do processador e memória, numa linguagem de

alto nível temos várias funções prontas, o que facilita muito a programação, mas em

compensação torna em muitos casos o programa maior e mais pesado, já que o

compilador jamais conseguirá gerar um código tão otimizado quanto um programador

experiente conseguiria.

Fortran é a contração de "Formula Translator". A primeira versão do Fortran foi criada

no final da década de 50, mas a linguagem começou a ser usada em larga escala a partir

da metade da década de 60, quando surgiram várias versões diferentes. Atualmente o

Fortran é ainda usado em diversos aplicativos relacionados a engenharia. Ele é também

ensinado em várias universidades, como uma forma mais prática de ensinar lógica da

programação.

- Pascal: O Pascal é outra linguagem de alto nível, criada durante a década de 60. O

Pascal é uma linguagem bastante estruturada, com regras bastante rígidas, o que a torna

difícil de usar. Hoje em dia o Pascal original é pouco usado, mas seus descendentes

Page 59: Línux entendo o sistema[JP.Conteudo]

diretos como o Free Pascal evoluíram muito. O próprio Kylix (junto com o Delphi) é

uma evolução do Pascal.

- Cobol: Cobol significa "Common Business Oriented Language". Esta linguagem foi

desenvolvida no final da década de 50, com o objetivo de ser uma plataforma de

desenvolvimento para aplicações bancárias e financeiras em geral. Comparado com o

Pascal e o Assembly, comuns na época, o Cobol é uma linguagem relativamente

amigável, o que garantiu uma grande aceitação. Até hoje esta linguagem é usada em

muitos sistemas bancários, o que explica a grande procura por programadores

experientes nesta linguagem na época do bug do ano 2000.

- C: O C foi desenvolvido durante a década de 70, mas ainda é largamente utilizado. A

grande vantagem do C é permitir escrever tanto programas extremamente otimizados

para a máquina, como seria possível apenas em Assembly, e ao mesmo tempo vir com

várias funções prontas, como uma linguagem de alto nível, que podem ser utilizadas

quando não for necessário gerar um código tão otimizado.

A maior parte dos programas Linux e quase todo o Kernel foram escritos em C, o que

explica o porquê do sistema ser tão rápido em algumas tarefas.

- C++: O C++ mantém os recursos do C original, mas traz muitos recursos novos, como

recursos orientados a objetos, sendo também bem mais fácil de utilizar. O C++ é

bastante usado atualmente para desenvolver muitos programas para várias plataformas.

Ele é, por exemplo, a linguagem oficial do KDE e da maioria dos programas para ele.

- Python: O Python é uma linguagem de programação com uma sintaxe muito simples e

intuitiva e ao mesmo tempo bastante poderosa, que pode ser usada por toda classe de

usuários. É uma boa opção de linguagem para quem está começando a programar. No

Kurumin, você pode abrir o interpretador do Python em Iniciar > Sistema >

Desenvolvimento.

A maior parte das distribuições instalam o Python por default. Basta abrir um terminal e

chamar o comando "python". Existe também uma versão for Windows que pode ser

baixada no: http://www.python.org/download/. Ao abrir um programa, você verá um

prompt como este:

Page 60: Línux entendo o sistema[JP.Conteudo]

Este é o interpretador do Python, um prompt onde você pode digitar um comando de

cada vez e já ir vendo os resultados. Bom para ir testando os comandos enquanto você

não quiser realmente desenvolver nenhum programa completo.

Vamos começar com uma coisa simples. Que tal ouvir um bom dia? Para isso podemos

usar o "print" que é o comando para escrever coisas na tela. Este comando é simples de

usar, basta escrever a frase entre aspas: print "Bom Dia!".

E você terá um:

Podemos personalizar um pouco isto, fazendo com que ele primeiro pergunte o seu

nome e depois dê bom dia. Para isso, podemos usar o comando "raw_input", que lê

texto digitado no teclado. Este texto precisa ser guardado em algum lugar, para

armazená-lo usamos uma variável, que é um pequeno espaço de memória reservado e

que pode ser usado mais tarde.

Experimente usar a linha abaixo:

nome = raw_input("Olá, qual é o seu nome? ")

Isso faz com que ele pergunte o seu nome e fique esperando você digitar alguma coisa e

dar Enter. Em seguida ele armazena o texto digitado na variável "nome" e volta para o

prompt. O texto entre aspas pode ser substituído por outra coisa se quiser.

Como disse, a variável armazena dados que podem ser usados mais tarde. Como agora

já temos o seu nome armazenado na variável "nome", podemos completar nosso bom

dia, fazendo com que ele escreva junto o seu nome (ou o que for que você tenha

digitado no passo anterior :-):

print "Bom dia", nome

Ele escreve a frase "Bom Dia" que está entre aspas e em seguida completa com o texto

armazenado na variável "nome". Não se esqueça da vírgula, ela indica que além de

escrever o texto armazenado na variável, o interpretador deve adicionar a palavra

"nome" em seguida.

Page 61: Línux entendo o sistema[JP.Conteudo]

Experimente agora abrir o kedit (ou outro editor de textos qualquer) e salvar nosso

pequeno programa num arquivo de texto. Ele pode se chamar, por exemplo,

"programa.py" (.py de python). Eu enfeitei um pouco mais o meu. Os "\n" no meio do

texto são quebras de linha:

Este arquivo pode ser executado usando o interpretador do Python. Para isso, abra um

terminal e chame o comando:

$ python programa.py

O programa vai fazer o mesmo que no prompt do Python, a diferença é que agora ele

executa os comandos escritos no arquivo de texto ao invés de ir perguntando.

Podemos agora fazer algo usando uma instrução de tomada de decisão. Que tal

perguntar a idade e com base nela decidir qual será a próxima frase do diálogo? Se o

interlocutor responder que menos de 18 anos, ele pode receber um "Beleza, tem aula

hoje?" e se tiver 18 ou mais recebe um "Ei, você não vai trabalhar hoje?".

Para isso precisamos começar perguntando a idade. De volta ao nosso editor de textos

acrescentamos ao que já tínhamos feito:

idade = input("Quantos anos você tem? ")

Veja que mudamos o "raw_input" para apenas "input". A diferença entre os dois é que o

raw_input pode ser qualquer tipo de dados (letras, números, binários), enquanto o

"input" serve para armazenar números.

Page 62: Línux entendo o sistema[JP.Conteudo]

Agora chegamos à parte mais importante, que é fazer o programa descobrir se o número

digitado é maior ou menor que 18 e depois decidir qual frase deve escrever. Para isso,

vamos usar a instrução "if" (se) que tem sua companheira inseparável, a "elif" (então

se). Funciona assim:

if idade < 18:

print "Beleza, tem aula hoje?"

elif idade >= 18:

print "Ei, você não vai trabalhar hoje?"

Parece complicado à primeira vista, mas não é. O primeiro if verifica se o número é

menor (<) que 18. Caso seja, ele escreve o "Beleza, tem aula hoje?" e o programa acaba.

Caso o número seja maior que 18, então o primeiro if não faz nada e ele passa para o

elif que vai verificar se o número é maior ou igual (>=) a 18. Caso seja, ele imprime a

frase "Ei, você não vai trabalhar hoje?". Veja que eu aproveitei pra colocar mais quebras

de linha, que servem para deixar a saída de texto do programa mais legível.

Como vimos, o Python pode trabalhar com expressões aritméticas, usando números e os

operadores:

+ (mais)

- (menos)

* (multiplicação)

/ (divisão)

== (igual a)

!= (diferente de)

> (maior que)

>= (maior ou igual a)

< (menor que)

<= (menor ou igual a)

** (exponenciação, elevado à)

Page 63: Línux entendo o sistema[JP.Conteudo]

Podemos usá-los para resolver aquele problema clássico de tirar a média das notas do

aluno e dizer se ele passou de ano. Digamos que sejam 4 provas e a média para passar

seja 7. Precisaríamos perguntar as notas das quatro provas, tirar a média e depois usar o

if e o elif para descobrir se a média é maior ou menor que 7.

O programa poderia ficar assim:

aluno = raw_input("\n Qual o nome do aluno? ")

prova1 = input("\n Nota da primeira prova: ")

prova2 = input("\n Nota da segunda prova: ")

prova3 = input("\n Nota da terceira prova: ")

prova4 = input("\n Nota da quarta prova: ")

media = (prova1 + prova2 + prova3 + prova4) / 4

if media < 7:

print "\n Média", media,". Que vergonha", aluno,". Levou bomba!"

elif media >=7:

print "\n Média", media,".", aluno, "passou. Parabéns!"

Imagine agora que você não queria saber apenas a média de um aluno, mas da sala

inteira. Você precisaria que o programa ficasse perguntando as notas de todos os alunos,

um por vez e depois desse a média geral.

Para isso precisamos usar a instrução "while" (enquanto), que repete uma seqüência de

instruções até que uma condição seja atingida. Podemos começar o programa

perguntando o número de alunos na sala e criar uma variável "contagem" com o valor

zero. Cada vez que são dadas as notas de um aluno, a variável "contagem" aumenta em

1. Quando ela chegar ao número de alunos da sala, sabemos que todos foram contados.

O programa ficaria assim:

alunos = input("\n Quantos alunos esta sala tem?")

contagem = 0

total = 0

while contagem < alunos:

contagem = contagem + 1

print "\n Notas do aluno ", contagem

prova1 = input(" Nota da primeira prova: ")

prova2 = input(" Nota da segunda prova: ")

prova3 = input(" Nota da terceira prova: ")

prova4 = input(" Nota da quarta prova: ")

total = total + prova1 + prova2 + prova3 + prova4

media = total / alunos / 4

print "\n\n A média geral da sala é", media, "\n\n"

Este já ficou um pouco mais complexo que o anterior. Temos três novas variáveis. A

variável "alunos" armazena o número de alunos da sala. A variável "contagem" começa

com zero mais vai aumentando em 1 a cada vez que o programa roda. O while vai

perguntando as notas e vai somando tudo na variável total. Quando finalmente o

número de alunos é atingido, vamos para a parte final do programa, onde a média é

calculada e escrita na tela.

Page 64: Línux entendo o sistema[JP.Conteudo]

Ao ser executado, o programa primeiro pergunta o número de alunos da sala e depois

vai perguntando as notas de cada prova até chegar ao resultado.

O Python reconhece a parte do texto que pertence ao while pela indentação do texto.

Quando acaba a indentação, acaba o while. Para indentar uma linha, basta pressionar

espaço quatro vezes. Alguns editores, como o Kwrite e o Kate, possuem botões para

indentar blocos de texto, o que facilita seu trabalho neste caso.

- Java: O Java é uma linguagem de programação multiplataforma, com uma sintaxe até

certo ponto parecida com o C++, porém com bibliotecas diferentes. Os programas em

Java podem ser executados em qualquer sistema operacional, desde que o interpretador

esteja instalado.

A JVM é um programa que converte o código Java em comandos que o sistema

operacional possa executar. Existem máquinas virtuais para vários sistemas

operacionais: o problema é que, devido ao processamento executado pela máquina

virtual, o programa torna-se mais pesado do que seria caso escrito diretamente para a

plataforma.

Um exemplo de programa desenvolvido desta forma é o Mercury (um cliente MSN com

versões para Linux e Windows, um dos primeiros a oferecer suporte a webcam e por

isso bastante famoso). Embora o código fonte do programa seja relativamente simples e

bem escrito, ele é bem mais pesado que outros programas similares, por causa da

máquina virtual.

Explicando de forma mais elaborada, linguagens de programação "tradicionais", como o

C e o C++, utilizam um compilador diferente para cada plataforma ou sistema

operacional em que o programa irá rodar. O código fonte em si pode ser escrito de

forma a ser facilmente portável, ou seja, rodar em diferentes versões do Unix ou em

várias famílias de processadores diferentes sem muitas alterações, mas ainda assim será

necessário recompilar o código fonte, gerando um binário diferente para cada caso.

Embora o trabalho inicial seja maior, a vantagem desta abordagem é que o desempenho

é o melhor possível, já que sempre teremos um programa binário otimizado para a

plataforma.

Page 65: Línux entendo o sistema[JP.Conteudo]

O Java utiliza um conceito diferente. Ao invés de gerar um binário diferente para cada

plataforma, é gerado um binário que pode ser executado em qualquer plataforma, dentro

de uma máquina virtual. Este binário "universal" é chamado de bytecode.

A idéia é criar aplicativos que possam ser escritos uma vez e a partir daí serem

executados em qualquer plataforma, reduzindo os custos de desenvolvimento. Apenas o

software da máquina virtual é que precisa ser reescrito para cada plataforma, mas isso é

problema dos desenvolvedores da linguagem, não do programador.

Existe ainda a opção de abrir mão da flexibilidade do bytecode em troca de um maior

desempenho, passando a compilar os programas com otimizações para uma determinada

plataforma. Isso é muito útil quando o programa será executado apenas dentro de

computadores de uma certa plataforma, como PCs rodando Linux, por exemplo.

No caso do Java, a máquina virtual que executa os programas é chamada de Java Virtual

Machine. Muitas páginas web utilizam applets Java, por isso a maioria das pessoas

acaba instalando o suporte a Java. Hoje em dia, além do Java da Sun, temos versões

alternativas, como o Blackdown e o Kofee, que possuem conjuntos de recursos

variados, mas são a princípio compatíveis com o código gerado para o Java da Sun.

Embora tenha ganhado relevância com o Java, este conceito não é exatamente novo.

Linguagens mais antigas como o LISP e o Prolog já utilizam bytecode e máquinas

virtuais.

- Shell Script: Qualquer distribuição Linux inclui um número absurdo de comandos e

pequenos utilitários de modo texto, que são o terror dos iniciantes, mas a alegria dos

usuários mais avançados. O motivo de utilitários como o "tar", "dump", "dd", "rsync" e

muitos outros terem sobrevivido durante tantas décadas sem muitas modificações, não é

apenas resultado do saudosismo de alguns, mas resultado do fato de que, ao contrário da

maioria dos utilitários gráficos, eles podem ser combinados com outros comandos e

entre si, formando scripts poderosos de backup, automatização de tarefas diversas e

muitas outras coisas.

O shell script é uma espécie de linguagem universal no Linux, pois combina comandos

de terminal com estruturas lógicas, similares às encontradas em outras linguagens para

criar programas de poucas linhas, capazes de executar tarefas complexas. Via shell

script é possível desenvolver em minutos ferramentas que demandariam horas de

trabalho em outras linguagens.

Muitos dos utilitários de configuração usados nas distribuições (embora muitas vezes

não pareçam) são na verdade shell scripts elaborados, que aparentam ser muito mais

complexos do que realmente são.

Um exemplo de uso de shell scripts são os ícones mágicos, painéis e outras ferramentas

que desenvolvi para uso no Kurumin. Uma outra vantagem é que estes programas não

precisam ser compilados. Você simplesmente escreve os comandos num arquivo de

texto e executa diretamente. Quando precisa fazer alguma alteração você altera o

arquivo e pronto, o problema está resolvido.

Um exemplo de shell script, que serve só para mostrar uma janelinha dando olá na tela

seria simplesmente: kdialog --msgbox "Olá, tudo bem?"

Page 66: Línux entendo o sistema[JP.Conteudo]

Não escrevi errado, ele só tem uma linha mesmo. Na verdade, quando você escreve um

shell script, você simplesmente usa funções de outros programas que estão instalados,

por isso ele é tão simples se comparado às linguagens de programação "de verdade" que

vimos acima.

Você pode encontrar os scripts usados no Kurumin dentro da pasta "/usr/local/bin/".

Para estudá-los, você pode abrí-los em qualquer editor de texto e começar fazendo

pequenas modificações, para ir aprendendo como eles funcionam.

Os painéis gráficos são desenvolvidos com a ajuda do Kommander, que permite criar

scripts gráficos, usando as funções do KDE. Os arquivos vão na pasta "/etc/Painel/" e

podem ser abertos usando o "kmdr-editor", no "Iniciar > Sistema > Desenvolvimento".

Um shell script nada mais é do que um arquivo de texto comum, contendo os comandos

que serão executados, em ordem. Basicamente, se você sabe como fazer alguma tarefa

via linha de comando, você não tem problemas em fazer o mesmo via shell script. Este é

um exemplo de script simples, que serve para fazer backup dos arquivos de uma pasta

num segundo HD, usando o rsync:

#!/bin/sh

rsync -av /mnt/hda6/ARQUIVOS/ /mnt/hdb6/ARQUIVOS

Todo shell script deve começar com a linha "#!/bin/sh" (ou "#!/bin/bash", que tem

exatamente a mesma função), que indica quem irá executar os comandos a seguir, neste

caso o próprio bash, o interpretador de comandos do Linux. Na verdade, estas linhas

não são realmente necessárias, pois o bash é o padrão de qualquer forma, mas não custa

nada fazer as coisas de forma elegante ;-).

O rsync é eficiente para este tipo de tarefa, pois ele sincroniza o conteúdo das duas

pastas transferindo apenas as modificações e não os arquivos completos, como

aconteceria se você fizesse uma cópia simples. Para que este arquivo de texto vire um

script, é necessário que ele tenha permissão para ser executado, o que é feito usando o

comando "chmod +x", como em "chmod +x script".

Este é um exemplo de script bem mais complexo, que faz parte do ícone mágico para

instalar o VMware Player no Kurumin. Ele faz download do arquivo, verifica se foi

baixado corretamente e, se necessário, remove o arquivo e começa de novo, até ter

certeza de que ele está ok. Depois, são executados os passos necessários para instalar o

programa via linha de comando. No final, ele verifica se o programa foi mesmo

instalado e exibe a mensagem apropriada. Este exemplo é mais complexo que os

anteriores, pois minha idéia é dar um exemplo de script que é usado na prática:

Page 67: Línux entendo o sistema[JP.Conteudo]

#!/bin/sh cd /packages md5sum=`md5sum vmware-player-distrib.tar.bz2`

while [ "$md5sum" != \ "9e41fed4b2d15d3f44522e5861b4bf5a vmware-player-distrib.tar.bz2" ] do

cd /packages

rm -f vmware-player-distrib.tar.bz2 wget -c http://downloads-guiadohardware.net/vmware-player-distrib.tar.bz2 md5sum=`md5sum vmware-player-distrib.tar.bz2` done

tar -jxvf vmware-player-distrib.tar.bz2

cd vmware-player-distrib/ sudo ./vmware-install.pl rm -rf vmware-player-distrib/

if [ -e /usr/bin/vmplayer ]; then kdialog --msgbox "O VMware Player foi instalado com sucesso. Você pode criar novas máquinas virtuais e alterar suas configurações usando o Kurumin-EMU, encontrado no Iniciar > Escritório e Utilitários."

else kdialog --msgbox "Aparentemente houve algum problema durante a instalação. Verifique se está conectado à Internet. Se o servidor do arquivo estiver fora do ar, espere alguns minutos e tente novamente." fi

À primeira vista, o script não parece tão simples assim, mas sem dúvida é bem mais

simples que programas escritos em outras linguagens. Dentro do código, podemos notar

algumas funções lógicas, como o while (enquanto), o "if" (então) e o "else" (senão).

O script começa acessando a pasta onde será feito o download e verificando se o

arquivo já não foi baixado. Isso evita que ele baixe de novo se ele já foi instalado

anteriormente. Em seguida temos um while, que faz com que ele execute um trecho de

código repetidamente, até que uma determinada condição seja satisfeita. No caso, a

condição é que o md5sum do arquivo precisa estar correto. Se necessário, ele deleta o

arquivo e começa de novo.

Depois de baixar o arquivo e verificar o md5sum, ele parte para a instalação,

descompactando o arquivo, acessando a pasta que é criada e executando o programa de

instalação. No final ele verifica (if [ -e ) se o executável "/usr/bin/vmware" existe, um

indício de que o programa foi realmente instalado. Se algo de errado aconteceu e o

executável não existe, ele exibe uma mensagem avisando do problema.

Hoje em dia, muitos programas gráficos podem ser controlados via linha de comando.

Graças a isso, um script pode fazer coisas como abrir e fechar programas, criar novas

janelas, minimizá-las ou maximizá-las, alterar seu conteúdo e assim por diante. Via

script também é possível acessar bancos de dados, modificar arquivos de configuração

de outros programas ou alterar a configuração do sistema e assim por diante. Você pode

ler mais sobre o desenvolvimento de shell scripts no meu livro Linux, Ferramentas

Técnicas.

Page 68: Línux entendo o sistema[JP.Conteudo]

Capítulo 2: Entendendo o sistema

Apesar das distribuições estarem cada vez mais fáceis de instalar e existir a opção de

rodar o sistema direto a partir do CD-ROM, o "modus operandi" do sistema é bem

diferente que o do Windows, o que faz com que muitas vezes mesmo tarefas simples,

como instalar novos programas ou configurar a rede, pareçam complicadas. Existe ainda

a famosa linha de comando, um recurso extremamente poderoso, que não encontra

similar no Windows (o prompt do DOS não passa de uma sombra ridícula e subnutrida

que nem entra na conta ;).

Este capítulo é um resumo geral da organização do sistema, uso da linha de comando,

instalação de novos programas e outras dúvidas comuns. Ele é escrito de forma bem

genérica, para que as informações sejam aplicáveis a várias distribuições.

As interfaces e programas

No Windows, a interface gráfica se confunde com o restante do sistema. Existe uma

interface "tamanho único" e você simplesmente não tem escolha a não ser se habituar

com ela.

No Linux, o conceito de interface gráfica é um pouco diferente. O X.org, ou apenas X

para os íntimos, é o responsável pela infra-estrutura básica. Ele é o responsável por se

comunicar com a placa de vídeo, montar as imagens que serão mostradas no monitor e

fornecer os recursos de que os programas precisam. Mas, assim como o Kernel, ele é

"invisível". Quem você vê não é o X.org, mas sim um gerenciador de janelas, que é o

programa que monta as janelas e menus que você vê na tela.

A vantagem é que você pode escolher qual gerenciador de janelas usar. O KDE, usado

por padrão no Kurumin e muitas outras distribuições, tem um visual mais ou menos

parecido com o do Windows. Se você quiser alguma coisa mais parecida com o MacOS,

pode experimentar o Gnome (usado por padrão em muitas distribuições, como o

Ubuntu); se quiser algo mais geek, pode tentar o Fluxbox, e assim por diante.

Eu pessoalmente recomendo o KDE como melhor opção para quem está começando.

Ele tem muitas opções de personalização, permitindo que você deixe-o com

praticamente a cara que quiser. Você pode baixar temas, ícones, sons, papéis de parede,

etc. no http://kde-look.org. Como o nome sugere, ele é um site dedicado a tudo

relacionado a "embelezamento" do KDE.

Claro que o Kernel, o X e o KDE são importantes, eles são a base, mas o que interessa

mesmo são os programas. Aqui cai bem uma frase interessante do Linus: "Uma coisa

interessante sobre os sistemas operacionais é que ninguém realmente usa um sistema

operacional, as pessoas usam os programas instalados nele". De que adiantaria um

Kernel rápido e estável e uma interface bonita se você não pudesse navegar na internet,

assistir filmes nem ouvir música?.

Por serem dois sistemas operacionais muito diferentes, não existe a princípio qualquer

compatibilidade entre os programas escritos para o Linux e o Windows. Disse "a

Page 69: Línux entendo o sistema[JP.Conteudo]

princípio", pois hoje em dia existem alternativas para quem precisa rodar programas do

Windows no Linux, o que acho muito positivo já que aumenta nossa liberdade de

escolha. Não seria muito agradável se você encontrasse vários recursos interessantes no

Linux, mas ficasse preso ao Windows por causa de algum programa que você não pode

viver sem.

Existem basicamente duas opções: o Wine permite executar diretamente programas

Windows no Linux. Ele funciona muito bem em alguns casos e não tão bem em outros.

O Cedega é uma versão do Wine otimizada para jogos, que permite rodar um grande

número de games, como o Counte Strike e Warcraft III, e o CrossOver Office é uma

versão otimizada para rodar o Office e outros aplicativos de produtividade.

Temos ainda o VMware, que permite rodar o Windows inteiro dentro de uma janela e

conseqüentemente todos os programas que quiser. A grande diferença entre o Wine e o

VMware, é que o Wine executa os programas Windows diretamente, com

compatibilidade limitada, enquanto o VMware permite que você execute diretamente

uma instância completa do Windows dentro de uma janela, e rode os programas dentro

dela.

Mas, voltando ao ponto principal, aqui vai uma pequena amostra de alguns dos

programas incluídos nas distribuições atuais, que dão conta das tarefas mais comuns.

Mais adiante teremos um capítulo inteiro dedicado a mostrar e analisar os programas

disponíveis.

O Konqueror é o navegador incluído no KDE. Ele é bastante rápido e serve também

como um excelente gerenciador de arquivos. O Konqueror é bastante versátil, pois pode

Page 70: Línux entendo o sistema[JP.Conteudo]

ser usado para acessar compartilhamentos de rede, ripar CDs, acessar as configurações

do KDE e muitas outras funções. Concorrendo com ele temos o Firefox, que se tornou

uma espécie de navegador padrão, roubando até mesmo o espaço do IE no Windows. O

Firefox deu origem a outros navegadores, como o Epiphany e o Galeon, encontrados em

algumas distribuições.

Entre os programas de mensagem instantânea, temos o Gaim, Kopete e Sim, que

combinam acesso a vários protocolos, como o Trillian for Windows. Entre os

programas especializados, que acessam apenas o MSN, temos o Mercury (que inclui

inclusive suporte a webcam) e o Amsn, além do Skype, que possui versão Linux.

Para assistir filmes e DVDs, você pode contar com o Kaffeine, Xine (e suas variantes,

como o gXine e o Toten) e o Mplayer. O suporte a formatos de vídeo diversos já foi um

problema no Linux, mas hoje em dia a situação é muito mais confortável que no

Windows, com suporte inclusive a vídeos via streaming através do navegador.

A maior parte dos codecs disponíveis já vem incluídos no sistema, e o suporte aos

formatos de vídeo mais "complicados", como o QuickTime e o WMF, é adicionado

instalando um pacote adicional, o "w32codecs". Para assistir DVDs protegidos, você

precisa do pacote "libdvdcss2". Existe ainda uma versão Linux do RealPlayer, que

completa o time.

Existem algumas exceções a esta regra, como o Fedora, OpenSuSE e o Ubuntu, que

vem por padrão com um conjunto capado de codecs, com o objetivo de eliminar

qualquer possibilidade de problemas relacionados a licenças ou patentes. Nestes casos,

você tem suporte apenas aos formatos mais básicos (muitas vezes sequer a arquivos

MP3) e precisa adicionar os demais manualmente.

Para ouvir música temos o clássico XMMS, que oferece um conjunto de funções

similar ao WinAmp, o próprio Kaffeine e um conjunto de players de "nova geração",

como o Amarok, que seguem a tendência de organizar as músicas na forma de

coleções, inaugurada pelo iTunes da Apple.

Para edição de texto, planilhas e apresentações, a opção mais desenvolvida é o

OpenOffice. Como ele é atualizado muito freqüentemente, recebe correções e

melhorias num ritmo muito acelerado. Ele já está à frente do MS Office em várias áreas,

oferece por exemplo um recurso de salvar qualquer documento como um arquivo PDF,

um formato ideal para mandar por e-mail ou publicar na web por exemplo. Em outubro

de 2005, foi lançado o OpenOffice 2.0, que trouxe melhorias expressivas na interface e

na compatibilidade com os arquivos do Office e o OpenOffice Base, um aplicativo de

banco de dados que concorre com o Access.

Apesar do OpenOffice ser de longe o mais conhecido e aberto, temos outras opções,

como o Koffice, a suíte office do KDE, composta de 11 aplicativos, incluindo o Kword,

Koffice, Kpresenter, Kivio (fluxogramas), Krita (editor de imagens), Kchart, Kformula

e outros. Eles oferecem a vantagem de serem mais leves que o OpenOffice e possuírem

menos funções, o que os torna mais fáceis de usar para muitos. Mais uma opção é a

dupla Abiword (texto) e Gnumeric (planilhas), que são bem completos mas ainda

assim bastante leves em comparação com o OpenOffice.

Page 71: Línux entendo o sistema[JP.Conteudo]

Para edição de imagem temos o Gimp, um concorrente direto do Photoshop. Para

desenho vetorial temos o Inkscape, Sodipodi, Karbon14 e o próprio OpenOffice

Draw.

O Mozilla Thunderbird é um cliente de e-mails com muitos recursos, incluindo um

filtro anti-span adaptável, que "aprende" durante o uso, relacionando novas mensagens

de span com outras anteriormente recebidas, enquanto o Evolution é mais parecido com

o Outlook, incluindo compatibilidade com servidores Exchange. Temos ainda o Kmail,

que se diferencia dos dois por ser um cliente mais simples e leve, integrado ao KDE.

Existem muitos jogos que rodam nativamente no Linux, como o Unreal (2003 e 2004),

toda a série Quake (incluindo o 4), vários jogos próprios para a plataforma e muitos que

rodam através do Cedega.

Uma grande diferença entre o Windows e as principais distribuições nesta área é que o

Windows em si traz poucos aplicativos e você precisa baixar ou comprar os programas

adicionais e ir instalando-os posteriormente. No caso das distribuições, o sistema já vem

com um grande conjunto de programas, fazendo com que em muitos casos o principal

trabalho seja remover os que não usa.

Onde estou?? Entendendo os diretórios

O primeiro choque para quem está chegando agora é a estrutura de diretórios do Linux,

que não lembra em nada o que temos no Windows. No Windows temos os arquivos do

sistema concentrados nas pastas Windows e Arquivos de programas, e você pode criar e

organizar suas pastas da forma que quiser.

No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do

sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no

diretório /home.

Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se

não existe uma pasta central como a "Arquivos de programas"? E para onde vão os

arquivos de configuração se o Linux não possui nada semelhante ao registro do

Windows?

A primeira coisa com que você precisa se habituar é que no Linux os discos e partições

não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do

Windows. Tudo faz parte de um único diretório, chamado diretório raiz ou

simplesmente "/".

Dentro deste diretório temos não apenas todos arquivos e as partições de disco, mas

também o CD-ROM, drive de disquete e outros dispositivos, formando a estrutura que

você vê no gerenciador de arquivos.

Page 72: Línux entendo o sistema[JP.Conteudo]

O diretório "/bin" armazena os executáveis de alguns comandos básicos do sistema,

como o su, tar, cat, rm, pwd, etc. Geralmente isto soma de 5 a 7 MB, pouca coisa.

O grosso dos programas ficam instalados dentro do diretório /usr (de "Unix System

Resources", ou recursos de sistema Unix). Este é de longe o diretório com mais

arquivos em qualquer distribuição Linux, pois é aqui que ficam os executáveis e

bibliotecas de todos os principais programas. A pasta "/usr/bin" (bin de binário), por

exemplo, armazena cerca de 2.000 programas e atalhos para programas numa instalação

típica. Se você tiver que chutar em que pasta está o executável de um programa

qualquer, o melhor chute seria justamente a pasta /usr/bin :-).

Outro diretório "populado" é o "/usr/lib", onde ficam armazenadas bibliotecas usadas

pelos programas. A função destas bibliotecas lembra um pouco a dos arquivos .dll no

Windows. As bibliotecas com extensão ".a" são bibliotecas estáticas, que fazem parte de

um programa específico, enquanto as terminadas em ".so.versão" (xxx.so.1, yyy.so.3,

etc.) são bibliotecas compartilhadas, usadas por vários programas.

Subindo de novo, a pasta "/boot" armazena (como era de se esperar) o Kernel e alguns

arquivos usados pelo Lilo (o gerenciador de boot do sistema), que são carregados na

fase inicial do boot. Estes arquivos são pequenos, geralmente ocupam menos de 5 MB.

Versões antigas do Red Hat e de outras distribuições criam por default uma partição

separada para o diretório "/boot" de cerca de 30 MB, posicionada no início do disco

Page 73: Línux entendo o sistema[JP.Conteudo]

para evitar o limite de 1024 cilindros dos BIOS de micros antigos. Isto não é necessário

hoje em dia, pois nas versões atuais do Lilo este limite não existe mais. Apesar disso,

alguns usuários preferem manter o "/boot" numa partição separada por questão de

hábito.

Se tiver curiosidade, o arquivo "config-2.6.11-kanotix-7" (o número de versão muda de

acordo com a distribuição) é justamente o arquivo compactado com o Kernel do

sistema, que é carregado durante o boot.

Quando se fala em particionamento, as possibilidades são muitas, existem até listas de

discussão dedicadas exclusivamente ao assunto. Afinal, talvez usar o sistema de

arquivos xxx na partição yyy possa melhorar em 0,03% o desempenho do sistema...

Tem gente que realmente se prende aos detalhes. :-).

Logo abaixo temos o diretório "/dev", que é de longe o exemplo mais exótico de

estrutura de diretório no Linux. Todos os arquivos contidos aqui, como, por exemplo,

"/dev/hda", "/dev/dsp", "/dev/modem", etc., não são arquivos armazenados no HD, mas

sim ponteiros para dispositivos de hardware. Por exemplo, todos os arquivos gravados

no "arquivo" "/dev/dsp" serão reproduzidos pela placa de som, enquanto o "arquivo"

"/dev/mouse" contém as informações enviadas pelo mouse.

Esta organização visa facilitar a vida dos programadores, que podem acessar o hardware

do micro simplesmente fazendo seus programas lerem e gravarem em arquivos. Não é

Page 74: Línux entendo o sistema[JP.Conteudo]

preciso nenhum comando esdrúxulo para tocar um arquivo em .wav, basta "copiá-lo"

para o arquivo "/dev/dsp", o resto do trabalho é feito pelo próprio sistema. O mesmo se

aplica ao enviar um arquivo pela rede, ler as teclas do teclado ou os clicks do mouse e

assim por diante. O Kernel se encarrega da parte complicada.

O diretório "/etc" concentra os arquivos de configuração do sistema, substituindo de

certa forma o registro do Windows. A vantagem é que enquanto o registro é uma

espécie de caixa preta, os scripts do diretório "/etc" são desenvolvidos justamente para

facilitar a edição manual. É verdade que na maioria dos casos isto não é necessário,

graças aos vários utilitários de configuração disponíveis, mas a possibilidade continua

aí.

Os arquivos recebem o nome dos programas seguidos geralmente da extensão .conf. Por

exemplo, o arquivo de configuração do servidor DHCP (que pode ser configurado para

atribuir endereços IP aos outros micros da rede) é o "/etc/dhcpd.conf", enquanto o do

servidor FTP é o "/etc/proftpd.conf". Claro, ao contrário do registro, os arquivos do

"/etc" não se corrompem sozinhos e é fácil fazer cópias de segurança caso necessário.

O diretório "/mnt" (de "mount") recebe este nome justamente por servir de ponto de

montagem para o CD-ROM (/mnt/cdrom), drive de disquetes (/mnt/floppy), drives Zip e

outros dispositivos de armazenamento. O uso do diretório /mnt é apenas uma

convenção. Você pode alterar o ponto de montagem do CD-ROM para /CD, ou

qualquer outro lugar se quiser. Isso é configurável através do arquivo "/etc/fstab", onde

vai a lista de todos os dispositivos usados pelo sistema e as pastas em que cada um é

montado.

Page 75: Línux entendo o sistema[JP.Conteudo]

Nada impede que você crie mais pastas no diretório raiz para armazenar seus arquivos.

Apesar de ser recomendável em termos de organização e segurança, você não é

obrigado a concentrar seus arquivos dentro do seu diretório de usuário. Nada impede

que você abra o gerenciador de arquivos como root (kdesu konqueror), crie uma pasta

/MP3, abra o menu de permissões para que seu login de usuário tenha permissão para

acessá-la e a utilize para guardar suas músicas, por exemplo.

Usando o terminal

No início, todos os sistemas operacionais usavam apenas interfaces de modo texto.

Antes do Windows, existiu o DOS e, antes do KDE, Gnome e todas as outras interfaces

que temos atualmente, o Linux tinha também apenas uma interface de modo texto.

A diferença é que no Linux a interface de modo texto evoluiu junto com o restante do

sistema e se integrou de uma forma bastante consistente com os aplicativos gráficos.

Quanto mais você aprende, mais tempo você acaba passando no terminal; não por

masoquismo, mas porque ele é realmente mais prático para fazer muitas coisas.

Você pode chamar qualquer aplicativo gráfico a partir do terminal; na maioria dos casos

o comando é o próprio nome do programa, como "konqueror" ou "firefox". Durante o

livro você vai notar que, em muitos exemplos, ensino os passos para executar tarefas

através da linha de comando, pois os atalhos para abrir os programas, itens nos menus,

etc., podem mudar de lugar, mas os comandos de texto são algo mais ou menos

universal, mudam pouco mesmo entre diferentes distribuições. Esta mesma abordagem

é adotada de forma geral dentro dos livros sobre Linux.

Por exemplo, para descompactar um arquivo com a extensão .tar.gz, pelo terminal, você

usaria o comando:

$ tar -zxvf arquivo.tar.gz

Aqui o "tar" é o comando e o "-zxvf" são parâmetros passados para ele. O tar permite

tanto compactar quanto descompactar arquivos e pode trabalhar com muitos formatos

de arquivos diferentes, por isso é necessário especificar que ele deve descompactar o

arquivo (-x) e que o arquivo está comprimido no formato gzip (z). O "v" é na verdade

opcional, ele ativa o modo verbose, onde ele lista na tela os arquivos extraídos e para

onde foram.

Se você tivesse em mãos um arquivo .tar.bz2 (que usa o bzip2, um formato de

compactação diferente do gzip), mudaria a primeira letra dos parâmetros, que passaria a

ser "j", indicando o formato, como em:

$ tar -jxvf arquivo.tar.bz2

Você poderia também descompactar o arquivo clicando com o botão direito sobre ele

numa janela do Konqueror e usando a opção "Extrair > Extrair aqui". Para quem

escreve, é normalmente mais fácil e direto incluir o comando de texto, mas você pode

escolher a maneira mais prática na hora de fazer.

Existe um número muito grande de pequenos aplicativos de modo texto, cada um deles

suportando muitos parâmetros diferentes, por isso é quase impossível conhecer todos.

Page 76: Línux entendo o sistema[JP.Conteudo]

Aprender a usar o modo texto é parecido com aprender uma segunda língua, é um

processo gradual e constante, onde você sempre está aprendendo comandos, parâmetros

e truques novos. É uma área em que ninguém pode dizer que sabe tudo.

Existem duas formas de usar o terminal. Você pode acessar um terminal "puro"

pressionando as teclas "Ctrl+Alt+F1", mudar entre os terminais virtuais pressionando

"Alt+F2", "Alt+F3", etc. e depois voltar ao modo gráfico pressionando "Alt+F7",

"Alt+F5" ou mesmo "Alt+F3", dependendo do número de terminais de texto usados na

distribuição em uso.

Estes terminais são às vezes necessários para manutenção do sistema, em casos em que

o modo gráfico deixa de abrir, mas no dia-a-dia não é prático usá-los, pois sempre existe

uma pequena demora ao mudar para o texto e voltar para o ambiente gráfico, e,

principalmente, estes terminais não permitem usar aplicativos gráficos.

Na maior parte do tempo, usamos a segunda forma, que é usar um "emulador de

terminal", um terminal gráfico que permite rodar tanto os aplicativos de texto, quanto os

gráficos.

No KDE, procure o atalho para abrir o Konsole. Ele possui várias opções de

configuração (fontes, cores, múltiplas janelas, etc.). Se você preferir uma alternativa

mais simples, procure pelo Xterm.

O Xterm é o mais simples, que abre quase instantaneamente. O Konsole por sua vez é

bem mais pesado, mas oferece mais recursos, como abrir vários terminais dentro da

mesma janela, fundo transparente, etc. Dê uma olhada rápida em cada um e veja qual

lhe agrada mais. Além destes dois, existem vários outros, como o Gnome Terminal,

Rxvt e Eterm, incluídos ou não de acordo com a distribuição.

Na maioria dos casos, ao chamar um programa gráfico através do terminal, você pode

passar parâmetros para ele, fazendo com que ele abra diretamente algum arquivo ou

pasta. Por exemplo, para abrir o arquivo "/etc/fstab" no Kedit, use:

$ kedit /etc/fstab

Para abrir o arquivo "imagem.png" no Gimp, use:

$ gimp imagem.png

No começo, faz realmente pouco sentido ficar tentando se lembrar do comando para

chamar um determinado aplicativo ao invés de simplesmente clicar de uma vez no ícone

do menu. Mas, depois de algum tempo, você vai perceber que muitas tarefas são

realmente mais práticas de fazer via terminal.

É mais rápido digitar "kedit /etc/fstab" do que abrir o kedit pelo menu, clicar no

"Arquivo > Abrir" e ir até o arquivo usando o menu. É uma questão de costume e gosto.

O importante é que você veja o terminal como mais uma opção, que pode ser utilizada

quando conveniente, e não como algo intimidador.

Page 77: Línux entendo o sistema[JP.Conteudo]

Completando com a tecla Tab

Um dos recursos que torna o terminal um ambiente dinâmico é a possibilidade de

completar comandos e nomes de arquivos usando a tecla Tab do teclado. Por exemplo,

imagine o comando:

$ md5sum kurumin-6.0alpha1.iso

Um pouco desconfortável de digitar não é mesmo? Nem tanto. Com a ajuda da tecla tab,

você pode digitá-lo com apenas 8 toques: md5<tab> kur<tab>. Prontinho, fica faltando

só dar o enter :-).

Se por acaso houver outro comando começado com "md5" ou outro arquivo na mesma

pasta começado com "kur", então o Tab completará até o ponto em que as opções forem

iguais e exibirá uma lista com as possibilidades para que você termine de completar o

comando. Por exemplo, se tivesse os arquivos kurumin-5.1.iso e kurumin-6.0alpha1.iso

na mesma pasta, ele completaria até o "md5sum kurumin-", onde os nomes diferem e

deixaria que completasse o comando.

Pressionando <tab> duas vezes, ele exibe uma lista das opções disponíveis. Por

exemplo, digitando: apt-get remove<tab><tab>, ele pergunta:

Display all 826 possibilities? (y or n)

Continuando, ele exibe uma lista de todos os pacotes (atualmente instalados), que

poderiam ser removidos usando o comando. O autocompletar é bem inteligente,

entendendo a sintaxe dos comandos usados e exibindo apenas as possibilidades que se

aplicam a eles.

Comandos do prompt

Apesar da interface gráfica ser muito mais fácil de usar, é bom você ter pelo menos uma

boa noção de como as coisas funcionam pelo prompt de comando, isso vai lhe dar um

domínio muito maior sobre o sistema.

Em vários pontos deste livro, sem falar de outros tipos de documentação sobre Linux,

você verá receitas com longas listas de comandos que devem ser dados para configurar

ou alterar algo. Na grande maioria dos casos, existe algum utilitário gráfico que permite

fazer o mesmo, mas os autores geralmente preferem dar a receita de como fazer via

linha de comando, pois nem todo mundo terá os utilitários à mão e muitas vezes existem

diferenças entre as opções disponíveis nas diferentes distribuições. Dar simplesmente

uma lista de comandos torna a dica utilizável para um número maior de pessoas.

Outro ponto é que muitas vezes é realmente mais fácil simplesmente dar um comando

para abrir um arquivo e descomentar algumas linhas do que abrir um utilitário que

demora 10 segundos para carregar, navegar por um monte de menus diferentes e marcar

algumas opções escondidas. Uma coisa interessante no Linux é que você não precisa

realmente digitar os comandos, basta selecionar a linha e usar o botão do meio do

mouse para colá-la na janela do prompt.

Page 78: Línux entendo o sistema[JP.Conteudo]

O modo de comando é uma forma de "conversar" com o sistema, com mais opções do

que seria possível através de um utilitário gráfico e obtendo respostas mais rápidas. É

claro que o modo de comando pode assustar no início, mas um pouco de insistência vai

facilitar bastante sua vida daqui em diante. Não seja apressado, o legal é justamente ir

aprendendo comandos novos conforme os problemas forem aparecendo.

Aqui estão alguns comandos básicos:

cd: Serve para navegar entre os diretórios. Ao abrir o terminal, você começa dentro do

seu diretório home (como "/home/kurumin"). Para acessar um diretório específico,

especifique-o como parâmetro, como em "cd /etc". Para subir um diretório use "cd .." e,

para voltar ao home, digite simplesmente "cd", sem parâmetro algum. Sempre que

quiser confirmar em qual diretório está, use o comando "pwd".

Se você estiver dentro da pasta "/home/kurumin/arquivos/", por exemplo, e quiser ir

para a pasta "/usr/local", não é preciso usar o "cd .." até voltar ao diretório raiz, para só

depois abrir a pasta, basta dar o comando "cd /usr/local", de qualquer lugar, para ir

diretamente à pasta desejada. Se, por outro lado, você quiser acessar a pasta "trabalho",

dentro da pasta atual, digite apenas "cd trabalho".

ls: Serve para listar os arquivos e diretórios dentro da pasta atual. Na maioria das

distribuições, a listagem aparece colorida, permitindo diferenciar as pastas e os

diferentes tipos de arquivos. As pastas aparecem em azul, os links em azul claro, os

arquivos compactados em vermelho, as imagens em rosa, os executáveis em verde e os

arquivos de texto e outros formatos em preto.

Para incluir os arquivos ocultos (que no Linux começam com "."), use "ls -a". Para ver

mais detalhes sobre cada arquivo, incluindo o tamanho, permissões de acesso e dono,

use "ls -lh". Para incluir os ocultos, adicione o "a", como em "ls -lha".

A ordem dos parâmetros não altera o resultado do comando. Tanto faz digitar "tar -zxvf

arquivo.tar.gz", quando "tar -xzfv arquivo.tar.gz". Acostume-se a sempre usar a tecla

Tab para completar os comandos (principalmente os nomes de arquivos), assim, além

de digitar mais rápido, você diminui a possibilidade de erros.

Page 79: Línux entendo o sistema[JP.Conteudo]

man: Como disse, ninguém pode dizer que sabe tudo sobre todos os comandos do

terminal. Para facilitar as coisas, cada comando possui um manual, onde são citados

todos os parâmetros e vários exemplos. Todos estes manuais são acessados através de

um comando único, o "man". Para ver as (muitas) opções do "ls", por exemplo, use

"man ls". Use as setas para rolar a tela e, para sair do manual, pressione a tecla "q".

O man acaba sendo um componente essencial para quem usa muito a linha de comando,

pois mesmo comandos simples, como o ls, cat, grep, tail, usados no dia-a-dia possuem

mais parâmetros do que é possível memorizar (pelo menos para uma pessoa normal ;),

de forma que o man acaba servindo como um guia de consulta rápida.

Mas, devido à quantidade de parâmetros disponíveis, os manuais de muitos programas

são muito longos e complicados. Por isso, muitos suportam o parâmetro "--help", que

exibe uma ajuda resumida, contendo apenas os parâmetros mais usados. Experimente,

por exemplo, o "ls --help".

Se você quiser apenas uma descrição rápida do que um determinado comando faz,

experimente o comando "whatis" (o que é), como em: "whatis ls".

Mais uma variante do man é o comando "info", que contém manuais alternativos para

muitos comandos. Enquanto os manuais do man são técnicos, desenvolvidos para serem

manuais de referência, os do info normalmente utilizam uma linguagem mais simples,

abordando apenas as opções mais comuns. Nem todos os comandos possuem uma

página info, mas o número vem crescendo. Para usá-lo, basta digitar "info comando",

como em "info lsmod".

cp: Este é o comando usado para copiar arquivos de uma pasta a outra. Inclua o nome

do arquivo e a pasta para onde ele vai, como em "cp arquivo.tar.gz /mnt/sda1". Se você

quiser copiar um arquivo que está em outra pasta para o diretório atual, inclua a

localização completa do arquivo e em seguida o "./" (que representa o diretório atual),

como em "cp /mnt/cdrom/video.avi ./".

O cp é por padrão um comando bastante chato e difícil de entender. Se você quer copiar

uma pasta do CD para o diretório atual, o mais lógico seria digitar "cp

/mnt/cdrom/musicas ./", não é?. Mas, se você fizer isso, ele responde: "cp: omitindo

diretório '/mnt/cdrom/musicas' ".

Para copiar toda a pasta, você precisaria incluir o comando "-r", que explica que ele

deve copiar recursivamente, incluindo todos os arquivos e subdiretórios.

Um parâmetro bastante útil é o "-a", que faz com que o cp sempre copie recursivamente,

mantenha as permissões do arquivo original e preserve os links simbólicos que

encontrar pelo caminho. Em resumo, faz o cp se comportar de uma forma mais simples

e lógica. Para copiar a pasta do exemplo original, experimente usar "cp -a

/mnt/cdrom/musicas ./".

Você pode ainda usar o "*" e a "?" como curingas quando quiser copiar vários arquivos.

Para copiar todos os arquivos da pasta atual para a pasta "/mnt/hda6", por exemplo, use

"cp * /mnt/hda6".

Page 80: Línux entendo o sistema[JP.Conteudo]

A "?" por sua vez é mais contida, substituindo um único caractere. Por exemplo, "cp

arquivo?.txt /mnt/hda6", copia o "arquivo1.txt", "arquivo2.txt" e o "arquivo3.txt", mas

não o "arquivo21.txt".

Lembre-se da diferença entre usar a barra ou não no início do arquivo. Uma barra

especifica que você está dando o caminho completo a partir do diretório raiz, como em

"/mnt/cdrom/musicas", por exemplo. Ao dar o nome de uma pasta ou arquivo, sem a

barra, o sistema entende que ele está dentro do diretório atual. Por exemplo, se você está

no diretório /home e quer acessar a pasta "/home/kurumin/arquivos", você precisaria

digitar apenas "cd kurumin/arquivos".

Outra dica é que existem no shell algumas variáveis de ambiente que podem ser usadas

para abreviar comandos. Por exemplo, o caractere "~" representa seu diretório home

(como "/home/kurumin"). Você pode usá-lo para abreviar comandos: para copiar a pasta

"/mnt/cdrom/musicas" para o home, você pode usar "cp -a /mnt/cdrom/musicas ~", ao

invés de digitar "cp -a /mnt/cdrom/musicas /home/kurumin", por exemplo.

mv: O mv serve tanto para mover arquivos de um lugar para o outro quanto para copiar

arquivos. Para mover o arquivo foto.png para a pasta "/mnt/hda6/", o comando seria

"mv foto.png /mnt/hda6". Você pode usar o mv também para mover e renomear pastas.

A diferença entre o mv e o cp é que, ao mover, o arquivo original deixa de existir.

rm: O rm serve para remover tanto arquivos quanto diretórios, de acordo com os

parâmetros usados. Para remover um arquivo simples, basta usá-lo diretamente, como

em "rm arquivo". Para que ele remova sem pedir a confirmação, adicione o parâmetro "-

f", como em "rm -f arquivo". Para remover uma pasta e todos os arquivos e diretórios

dentro dela, adicione o parâmetro "-r", como em "rm -rf arquivos/".

Tome cuidado ao usar o "-rf", pois ele não pede confirmação, deleta os arquivos

diretamente, sem escalas. Respire fundo e verifique se realmente está deletando a pasta

certa antes de pressionar Enter.

É possível também usar caracteres curingas na hora de remover arquivos. Para remover

todos que possuírem a extensão ".jpg", use "rm -f *.jpg". Para remover todos os

arquivos que começarem com "img", use "rm -f img*". Lembre-se de que você pode

usar também o "?" quando quiser usar o curinga para apenas um caractere específico. Se

você quiser remover os arquivos "doc1.txt", "doc2.txt" e "doc3.txt", mas sem remover o

"doc10.txt" e o "doc11.txt", você poderia usar o comando "rm -f doc?.txt".

mkdir: Este serve para criar novos diretórios, como em "mkdir /mnt/hda6/arquivos". É

possível também criar pastas recursivamente, criando se necessário todas as pastas

necessárias até chegar a que você pediu, adicionando o parâmetro "-p" como em "mkdir

-p /mnt/hda6/arquivos/novos/2006". Mesmo que a pasta "novos" não exista, ela será

criada.

rmdir: Esta é uma variação do mkdir, que permite remover diretórios. A diferença entre

ele e o "rm -rf" é que o rmdir só remove diretórios vazios. Acostume-se a usá-lo no

lugar do "rm -rf" ao deletar uma pasta que acha que está vazia, assim você evita

acidentes.

locate: Este é um dos comandos mais úteis na minha opinião; ele permite encontrar

arquivos de forma instantânea. Assim como mecanismos de busca, como o Google, o

Page 81: Línux entendo o sistema[JP.Conteudo]

locate não sai procurando em todo o HD até achar o arquivo que pediu. Ele procura

apenas dentro de uma base de dados, que contém os nomes de todos os arquivos. Esta

base é gerada ao rodar o comando "updatedb", sua cara metade.

A vantagem de usar a base de dados é que as buscas são instantâneas, a desvantagem é

que você precisa rodar o updatedb (como root) de vez em quando, a fim de incluir as

últimas modificações. Para procurar um arquivo, simplesmente use "locate arquivo".

Se você está procurando por um programa, experimente o comando "which", uma

variante do locate que mostra apenas executáveis.

find: O find também permite localizar arquivos, mas funciona da forma tradicional,

realmente vasculhando os diretórios em busca dos arquivos, ao invés de usar uma base

de dados, como o locate. Embora seja lento ao procurar em diretórios com muitos

arquivos e subdiretórios, o find é eficiente se você souber previamente onde procurar.

Por exemplo, o diretório "/etc" concentra as configurações do sistema. Se você estiver

procurando pelo arquivo "smb.conf" (onde é armazenada a configuração do Samba),

você poderia ir direto à fonte, usando o comando "find /etc -name smb.conf".

Note que além do diretório onde ele vai procurar (/etc no exemplo), você deve usar o

parâmetro "-name" antes de indicar o nome do arquivo que está procurando. Omitindo o

diretório, ele simplesmente procura dentro do diretório atual. Você pode também fazer

buscas por todos os arquivos com uma determinada extensão, como em "find /mnt/hda6

-name *.mp3".

Uma forma mais amigável de procurar arquivos é usar o kfind, o "Procurar arquivos"

do KDE, que serve como uma interface para o find. Através dele você pode procurar

pelo nome ou tipo de arquivo (você pode fazer uma busca incluindo apenas arquivos de

imagem, por exemplo), procurar dentro de pastas específicas ou localizar arquivos

pertencentes a um determinado usuário ou grupo do sistema, ou até mesmo procurar por

arquivos modificados recentemente.

su: No Linux, existe uma separação clara entre o root e os demais usuários do sistema.

O root é o único que pode alterar a configuração do sistema e usar a maior parte das

Page 82: Línux entendo o sistema[JP.Conteudo]

ferramentas de configuração. Os usuários normais, por sua vez, podem usar os

programas instalados e modificar arquivos dentro do seu diretório home. Esta

organização permite que várias pessoas usem o mesmo micro (o que é vital no caso dos

servidores), sem que um possa alterar as configurações do outro, nem muito menos

mudar as configurações do sistema.

Por um lado, isso torna o sistema muito mais robusto, mas por outro faz com que

algumas tarefas sejam mais complexas, pois você precisará primeiro se logar como root,

para depois executar o comando. O su permite que você "vire" root a qualquer

momento, passando a abrir os programas, modificar arquivos e usar todas as

ferramentas sem limitações.

Digite "su" e forneça a senha de root. O "$" do terminal vira um "#", alertando que a

partir daí você tem plenos poderes. Se ao tentar abrir arquivos gráficos você receber

uma mensagem dizendo que não é possível se conectar ao X, experimente usar o

comando "sux" no lugar do su. Ele configura as permissões corretamente.

Algumas distribuições, como o Kurumin e o Ubuntu incluem uma variação dele, o

"sudo", que permite executar comandos específicos como root. Para abrir o Konqueror

(o gerenciador de arquivos), como root, de forma a conseguir alterar arquivos fora do

seu home, digite "sudo konqueror". Dependendo da configuração, ele abre sem pedir

senha, ou confirma sua senha de usuário, uma proteção contra a possibilidade de outra

pessoa estar usando seu micro.

cat: Serve para ver o conteúdo de um arquivo. Por exemplo, "cat carta" mostra o

conteúdo do arquivo "carta". Este comando serve bem para ver o conteúdo de arquivos

de texto pequenos, sem precisar abrir um editor mais sofisticado. Ele também pode ser

combinado com outros comandos para realizar tarefas mais complexas. Por exemplo, se

você tem um arquivo "boot.img" com a imagem de um disquete de boot, não bastaria

simplesmente copiar o arquivo para o disquete com o comando cp; você precisaria fazer

uma cópia bit a bit. Existem várias formas de fazer isso, mas uma solução simples seria

usar o comando "cat boot.img > /dev/fd0".

Neste caso, ele lista o conteúdo do arquivo, mas ao invés de mostrar na tela ele o

escreve no disquete (/dev/fd0). No shell existem alguns caracteres especiais, como o

">", ">>" e o "|", que permitem enviar informações e o texto de resposta de comandos

de um lugar para o outro. Você verá muitos usos úteis para estes recursos especiais ao

estudar sobre shell script.

clear: Limpa a tela, uma forma de colocar a ordem na casa antes de executar novos

comandos. Ao invés de digitar, você pode pressionar "Ctrl+L", que é o atalho de teclado

para ele.

head: Este é um dos primos do cat, ele permite ver apenas as primeiras linhas do

arquivo, ao invés de exibir a coisa inteira. Basta especificar o número de linhas que

devem ser exibidas, como por exemplo "head -20 texto.txt".

Outro parente distante é o tail (cauda), que mostra as últimas linhas do arquivo. O uso é

o mesmo, basta indicar o número de linhas que devem ser mostradas e o nome do

arquivo, como "tail -12 meu_longo_texto.txt".

Page 83: Línux entendo o sistema[JP.Conteudo]

Este comando é muito usado por administradores de sistemas para acompanhar os

arquivos de log de seus servidores. Como as novas entradas destes arquivos vão sendo

inseridas no final do arquivo, o tail permite verificar rapidamente apenas as novas

inclusões, sem precisar perder tempo abrindo o arquivo inteiro.

du: O du permite ver uma lista com o espaço ocupado por cada pasta dentro do diretório

atual. É uma forma rápida de encontrar grandes arquivos ou pastas que estão

consumindo muito espaço. Em geral usamos "du -h", onde o -h faz com que ele exiba o

tamanho dos arquivos de forma "humana", escrevendo "2,8G" ao invés de "2876322",

por exemplo.

O Konqueror inclui um modo de visualização que funciona de maneira similar,

mostrando os arquivos e pastas na forma de blocos coloridos, classificados de acordo

com o tamanho. Para ativar este modo, clique no último botão da barra de funções:

| (pipe): Junto com as setas de redirecionamento (> e >>), o pipe ( | ) é muito usado em

scripts e comandos diversos. Ele permite fazer com que a saída de um comando seja

enviada para outro ao invés de ser mostrada na tela. Parece uma coisa muito exótica,

mas acaba sendo incrivelmente útil, pois permite "combinar" diversos comandos que

originalmente não teriam nenhuma relação entre si, de forma que eles façam alguma

coisa específica.

Por exemplo, imagine que você quer imprimir o manual de algum dos comandos, ou

mandar por e-mail para alguém que não tem Linux instalado. Uma forma de fazer isso

seria usar o comando "man comando | col -b > arquivo.txt", que copia toda a saída do

comando man para o arquivo.txt, mantendo a formatação e as quebras de linha. Aqui

usamos o pipe para enviar a saída do man, que originalmente seria mostrada na tela,

Page 84: Línux entendo o sistema[JP.Conteudo]

para ser reformatada pelo comando "col -b" e, a partir daí, para o arquivo. O pipe é um

componente de muitos comandos que veremos ao longo do livro.

grep: O grep permite filtrar a saída de um determinado comando, de forma que ao invés

de um monte de linhas, você veja apenas a informação que está procurando. Ele é

freqüentemente usado em conjunto com o pipe, sobretudo em scripts.

Um exemplo simples: sua placa de rede não está funcionando e você quer saber se o

módulo de kernel "sis900", que dá suporte a ela, está carregado. Você pode ver os

módulos que estão carregados usando o comando "lsmod", mas a lista é um pouco

longa. Você poderia completar o lsmod com "| grep sis900", que vai filtrar usando o

grep, mostrando na tela apenas as linhas contendo "sis900". O comando ficaria então

"lsmod | grep sis900".

Se não aparecer nada na tela, você sabe de antemão que o módulo não está ativo, Neste

caso, você poderia tentar carregá-lo manualmente usando o comando "modprobe

sis900", como root.

split: Esse comando serve para quebrar arquivos em vários pedaços. Muito útil quando

você precisa gravar arquivos grandes em vários disquetes ou CDs, por exemplo.

Imagine que você queira quebrar um arquivo de 3 GB chamado "tenshi.avi" em vários

arquivos de 650 MB cada um, de forma a conseguir gravá-lo em vários CDs. Poderia

usar o comando "split -b 650m tenshi.avi".

O "650m" é o tamanho de cada pedaço, no caso 650 MB. Você precisa apenas trocar o

tamanho dos pedaços e o nome do arquivo. Esse comando vai gerar vários arquivos:

xaa, xab, xac, xad, etc. que podem ser transportados. Para juntá-los depois, usamos o

comando cat que vimos acima. Basta reunir todos na mesma pasta novamente e rodar o

comando "cat x* > tenshi.avi".

Isso junta todos os arquivos (na ordem) restaurando o arquivo original. Isso funciona

porque os fragmentos de arquivo gerados pelo split sempre começam com "x".

Outro truque é que você pode usar o cat também para juntar diversos arquivos,

formando um só. Isto funciona para músicas e vídeos, por exemplo. Para juntar vários

vídeos curtos, num único maior, use "cat video1.avi video2.avi video3.avi >

videozao.avi".

&: Este é um parâmetro que permite rodar aplicativos mantendo o terminal livre. No

Linux, todos os aplicativos, mesmo os gráficos, podem ser chamados a partir de uma

janela de terminal. O problema é que, ao chamar algum aplicativo, o terminal ficará

bloqueado até que o aplicativo seja finalizado, obrigando-lhe a abrir um para cada

programa.

Acrescentar o & no final do comando, como em "konqueror /etc &" resolve este

problema, mantendo o terminal livre. Se você esquecer de acrescentar ao "&" ao abrir

um programa, ainda pode "destravar" o terminal pressionando "Ctrl+Z" (que paralisa o

programa e te devolve o controle do terminal) e depois "bg", que reinicia o programa

em background.

Note que alguns aplicativos exibem mensagens diversas e avisos depois de serem

abertos, o que "suja" o terminal, mas sem comprometer o que você está fazendo. Se isto

Page 85: Línux entendo o sistema[JP.Conteudo]

te incomodar, você pode adicionar um "&>/dev/null" ao comando, o que descarta todas

as mensagens, como em "konqueror /etc & &>/dev/null".

startx: Serve para abrir a interface gráfica a partir do prompt, caso você tenha escolhido

inicializar o sistema em modo texto.

Histórico: O terminal mantém um histórico dos últimos 500 comandos digitados. Para

repetir um comando recente, simplesmente pressione as setas para cima ou para baixo

até encontrá-lo. Para fazer uma busca use o comando "history | grep comando" , como

em "history | grep cp" para mostrar todas as entradas onde foi usado o comando "cp".

Ponto e vírgula: Você também pode executar uma fila de comandos de uma vez. Basta

separá-los por ponto e vírgula, como em "ls; pwd" ou "cd /mnt/arquivos; ls"

Lembre-se de que no Linux o terminal distingue entre letras maiúsculas e minúsculas.

"ls" é diferente de "LS". Quando criar novos arquivos e pastas, prefira usar nomes em

minúsculas, assim você evita confusão.

Desligando: Assim como no Windows, você precisa desligar o sistema corretamente

para evitar perda de arquivos e corrompimentos diversos na estrutura da partição. Além

das opções nos menus do KDE ou Gnome, você pode desligar via terminal, usando os

comandos abaixo. Não se esqueça que todos eles precisam ser executados como root.

Use primeiro o comando su ou o sudo:

reboot: Reinicia o micro.

halt: Desliga o micro.

shutdown -h now: Também serve para desligar o sistema, mas permite que você

especifique um horário. É muito útil se você deixar o micro ligado à noite fazendo

alguma coisa ou baixando um arquivo, mas quiser que ele desligue sozinho depois de

um certo tempo. Substitua now (agora) por um tempo em minutos que o sistema

esperará antes de desligar, usando o parâmetro "+" como em shutdown -h +60. Você

pode ainda especificar um horário, no formato hh:mm como em shutdown -h +06:00

(para desligar às 6:00 da manhã).

Ctrl+Alt+Del: Este é um atalho de teclado que, dado no terminal de texto, serve para

reiniciar o micro. Não tem tanta utilidade quanto no Windows, mas é mais rápido que

fazer o login e rodar o comando "reboot" ;).

Editando os arquivos de configuração

Complementando os comandos de terminal, existem os arquivos de configuração. Ao

contrário do Windows, onde as configurações são salvas numa caixa preta, o registro,

difícil de entender e ainda mais de editar, no Linux as configurações são salvas sempre

dentro de arquivos de texto, na maior parte das vezes legíveis, que você pode editar

manualmente quando necessário.

Na verdade, a maioria dos programas de configuração nada mais são do que assistentes

que facilitam a configuração destes arquivos. O programa lhe mostra as opções de uma

forma amigável, mas na hora de salvá-las eles simplesmente reescrevem os arquivos

Page 86: Línux entendo o sistema[JP.Conteudo]

correspondentes. Eu tenho uma certa experiência no desenvolvimento destes utilitários,

pois ao longo dos anos desenvolvi muitos deles para incluir no Kurumin, mas, para não

alongar muito, vou me limitar a dar uma visão geral sobre os principais arquivos de

configuração do sistema.

Não é realmente necessário que você estude cada um destes arquivos (a menos que você

esteja estudando para alguma prova de certificação), mas é importante ter pelo menos

uma idéia geral sobre a função de cada um, pois ao pesquisar sobre instalação de drivers

e programas, pesquisar soluções para problemas diversos, ou mesmo receber ajuda de

alguém através dos fóruns, você vai ver muitas referências a arquivos de configuração

diversos. Eles são o denominador comum entre as diversas distribuições, por isso a

única forma de escrever algum artigo ou howto explicando sobre como instalar um

driver de um modem ou placa wireless, por exemplo, em diversas distribuições

diferentes, é explicar o caminho das pedras através dos arquivos de configuração, que é

justamente a abordagem que a maioria dos autores acaba adotando.

Ou seja, gostando ou não, muitas vezes você precisará editar algum arquivo de

configuração, ou talvez prefira fazer isso algumas vezes para ganhar tempo ou para ter

acesso a opções que não estejam disponíveis nos utilitários de configuração.

Para editar os arquivos, você precisará apenas de um editor de textos. Existem vários

exemplos: você pode por exemplo usar o kedit ou o kwrite no KDE, o gedit no

Gnome, ou o mcedit, joe, nano ou mesmo o antigo e pouco amigável vi, caso esteja em

modo texto.

Lembre-se de que em qualquer um deles você pode abrir o editor diretamente no

arquivo que quiser editar, como em "mcedit /etc/fstab".

Tanto o kedit quanto o gedit são editores relativamente simples, que lembram até certo

ponto o notepad do Windows. O kwite já é um editor mais avançado, voltado para quem

escreve scripts ou mesmo programa em linguagens diversas. Ele é capaz de realçar a

sintaxe de várias linguagens, diferenciando os comandos, condicionais, comentários,

etc., através de cores. Isso ajuda muito a entender o código e permite identificar erros

muito mais rápido.

Nos editores de modo texto as coisas são um pouco mais complicadas, já que eles são

controlados através de atalhos de teclado, mas você acaba precisando deles para

resolver problemas em situações onde o modo gráfico não está mais abrindo, ou ao usar

outras máquinas remotamente, via SSH.

O mais simples é o mcedit. Ele faz parte do pacote "mc", que é encontrado em todas as

distribuições. Se ele não estiver instalado, você resolve o problema instalando o pacote.

Nele, as funções são acessadas usando as teclas F1 a F10, com uma legenda mostrada

na parte inferior da tela. Para salvar você pressiona F2 e para sair, F10.

Page 87: Línux entendo o sistema[JP.Conteudo]

O joe é um meio termo. Ele é muito parecido com o antigo Wordstar do DOS e usa as

mesmas teclas de atalho que ele. Para salvar o arquivo e sair, você pressiona Ctrl+K e

depois X. Para salvar e sair no nano, pressione Ctrl+X, depois S e Enter.

Finalmente, temos o vi, que por algum motivo conquistou um grupo de usuários fiéis ao

longo de seus quase 30 anos de vida e, graças eles, continua vivo até hoje, muito

embora seja um dos editores menos amigáveis.

O vi tem três modos de operação: comando, edição e o modo ex. Ao abrir o programa,

você estará em modo de comando; para começar a editar o texto, pressione a tecla "i". A

partir daí, ele funciona como um editor de textos normal, onde o Enter insere uma nova

linha, as setas movem o cursor, etc.

Quando terminar de editar o arquivo, pressione Esc para voltar ao modo de comando e

em seguida "ZZ" (dois Z maiúsculos) para salvar o arquivo e sair. Para sair sem salvar

pressione Esc e digite ":q!" (exatamente como aqui, dois pontos, quê, exclamação,

seguido de Enter). Uma segunda opção para salvar e sair é pressionar Esc seguido de

":wq". Para apenas salvar, sem sair, pressione Esc seguido de ":w" e para sair sem

salvar use o Esc seguido de ":q!".

Resumindo, o Esc faz com que o vi volte ao modo de comando, o ":" nos coloca no

modo ex, onde podemos salvar e fechar, entre outras funções. O "q" fecha o programa,

o "w" salva o arquivo e o "!" é uma confirmação.

Embora não seja exatamente pequeno (se comparado a editores mais simples, como o

joe ou o nano), muito menos fácil de usar, o vi é praticamente o único editor que pode

ser encontrado em qualquer distribuição. Em muitos casos é usado o elvis, uma versão

simplificada, mas que funciona mais ou menos da mesma forma. O pequeno grupo de

usuários forma um bando bem organizado, que urra, balança os galhos das árvores e

atira cocos nas cabeças dos desenvolvedores, sempre que uma distribuição se atreve a

removê-lo :-P.

Ao sair do editor, volta para o terminal. Você pode verificar se o arquivo realmente foi

salvo corretamente usando o cat, como em "cat /etc/fstab". No caso de arquivos longos,

Page 88: Línux entendo o sistema[JP.Conteudo]

acrescente "| more", que permite ler uma página de cada vez, como em "cat

/var/log/syslog | more".

Alguns arquivos particularmente importantes são:

/etc/fstab: Aqui vai uma lista das partições que são acessadas pelo sistema, onde cada

uma é montada e quais delas são montadas automaticamente na hora do boot. Além das

partições, o fstab pode ser usado também para incluir CD-ROMs e até mesmo

compartilhamentos de rede.

/etc/modules: Neste arquivo vão módulos que são carregados durante o boot. Em geral,

usamos este arquivo para ativar o carregamento de módulos para placas wireless,

modems e placas de som que não foram instalados manualmente, ou que não foram

detectados automaticamente durante a instalação. Você vai ver muitas referências a este

arquivo em tutoriais falando sobre a instalação de drivers diversos.

/etc/lilo.conf: O lilo é o gerenciador de boot, responsável por carregar o sistema. O lilo

pode ser configurado para carregar diversos sistemas operacionais diferentes, onde você

escolhe qual usar na hora do boot. Você pode fazer dual-boot entre Linux e Windows,

ou até mesmo instalar diversas distribuições diferentes no mesmo HD. Sempre que fizer

alterações no arquivo, rode o comando "lilo" (como root) para salvar as alterações.

/boot/grub/menu.lst: Muitas distribuições adotam o grub como gerenciador de boot ao

invés de usar o lilo. No caso do grub, as alterações no arquivo são aplicadas

automaticamente.

/etc/X11/xorg.conf: Este é o arquivo onde vai a configuração do vídeo, que inclui o

driver usado, resolução, taxa de atualização e configuração de cores do monitor, além da

configuração do mouse. Hoje em dia, praticamente todas as distribuições (com exceção

do Slackware) são capazes de configurar o vídeo corretamente durante a instalação, mas

você pode manter uma cópia do arquivo à mão para poder restaurar a configuração do

vídeo em caso de problemas. Você pode também usar o arquivo gerado em outras

distribuições.

O xorg.conf é usado pelo X.org, que é a versão atual do servidor gráfico. Distribuições

antigas usam o Xfree, que armazena as configurações num arquivo diferente, o

"/etc/X11/XF86Config-4".

/etc/passwd, /etc/shadow e /etc/group: Estes arquivos armazenam a base de dados dos

usuários, senhas e grupos do sistema. Naturalmente, você não precisa se preocupar em

alterá-los, pois eles são modificados automaticamente pelo adduser, users-admin e

outras ferramentas, mas é interessante saber que eles existem. Você pode ver o conteúdo

dos três apenas como root.

O "/etc/passwd" guarda os logins e outras informações sobre ou usuários. Você notará

que além do root e dos usuários que adicionou, existem vários usuários de sistema,

como o cupsys, proxy, sys, etc. Estes usuários são usados internamente pelos

programas, você não pode fazer login através dele. Esta prática de ter usuários

separados para cada programa aumenta bastante a segurança do sistema. Apesar do

nome, o "/etc/passwd" não armazena as senhas, elas vão no arquivo "/etc/shadow" num

formato encriptado.

Page 89: Línux entendo o sistema[JP.Conteudo]

Criando links

O comando ln permite criar links. Existem dois tipos de links suportados pelo Linux, os

hard links e os links simbólicos. Os links simbólicos têm uma função parecida com os

atalhos do Windows: eles apontam para um arquivo, mas se o arquivo é movido para

outro diretório, o link fica quebrado. Os hard links por sua vez são semelhantes aos

atalhos do OS/2 da IBM, eles são mais intimamente ligados ao arquivo e são alterados

junto com ele. Se o arquivo muda de lugar, o link é automaticamente atualizado. Isto é

possível porque nos sistemas de arquivos usados pelo Linux cada arquivo possui um

código de identificação (chamado de inode), que nunca muda. O sistema sabe que o

arquivo renomeado é o mesmo do atalho simplesmente procurando-o pelo inode ao

invés do nome.

O comando ln dado sem argumentos cria um hard link, como em:

$ ln /home/morimoto/arquivo.txt arquivo

Onde será criado um link chamado "arquivo" no diretório corrente, que apontará para o

arquivo.txt dentro do diretório /home/morimoto.

Para criar um link simbólico, acrescente o argumento "-s", como em:

$ ln -s /home/morimoto/arquivo.txt arquivo

Você pode criar tanto links apontando para arquivos, quanto links apontando para

diretórios. Por exemplo, se você acha muito trabalhoso acessar o CD-ROM através do

diretório /mnt/cdrom, você pode simplesmente criar um link para ele dentro do seu

diretório de usuário, ou onde você quiser. Ao clicar sobre o link no gerenciador de

arquivos, você acessará o CD-ROM.

Para criar um link chamado "CD" dentro do seu diretório de usuário apontando para o

CD-ROM, o comando seria:

$ ln -s /mnt/cdrom ~/CD

O interpretador de comandos se encarregará de substituir automaticamente o "~" pela

localização correta da sua pasta de usuário, não importa qual seja.

Você pode ainda criar links que funcionarão em qualquer parte do sistema. Por

exemplo, imagine que você armazene seus arquivos de trabalho na pasta

/home/seu_nome/trabalho/arquivos. Ao invés de digitar o caminho completo, você

poderia criar um link simbólico "arquivos" que poderia ser acessado a partir de qualquer

pasta do sistema. Para isto, basta acessar o diretório "/usr/bin" e criar o link por lá,

usando os comandos:

$ cd /usr/bin

$ ln -s /home/seu_nome/trabalho/arquivos arquivos

Você verá muitos links espalhados pela estrutura de diretórios do Linux, um recurso

muito usado quando os arquivos de sistemas mudam de lugar numa nova versão.

Page 90: Línux entendo o sistema[JP.Conteudo]

Mantendo um link na localização antiga, todos os programas antigos continuam

funcionando sem problemas.

Fechando programas travados

Apesar do Kernel do Linux ser extremamente estável, quase impossível de travar, os

programas nem sempre são. Para complicar, o rápido desenvolvimento do sistema e a

necessidade por novos aplicativos acabam fazendo com que muitas vezes as

distribuições tragam programas ainda em estágio beta, ou mesmo alpha, que ainda não

estão completamente estáveis. Isto acaba muitas vezes resultando em travamentos. A

vantagem do Linux neste ponto é que você quase nunca precisará reiniciar todo o

sistema, basta matar o aplicativo problemático, ou, no pior dos casos, reiniciar o

ambiente gráfico.

A forma mais prática de finalizar aplicativos é usar o xkill. Ao clicar sobre o ícone do

programa, ou chamá-lo pelo terminal (digitando xkill), o cursor do mouse vira um ícone

de caveira e basta clicar sobre o programa travado para matá-lo sem dó. Você pode

também chamar o xkill usando o atalho "Ctrl+Alt+ESC.

Se a coisa for séria e o mouse parar de responder, você pode reiniciar o X, o que reabre

toda a parte gráfica, pressionando "Ctrl+Alt+Backspace". Embora você possa perder

arquivos não salvos, esta é uma solução muito menos radical (e mais rápida) do que

reiniciar o micro no botão.

Embora mais trabalhoso, você pode também finalizar os programas através do terminal,

usando os comandos kill e killall. O killall pode ser usado sempre que você souber o

comando que inicializa o programa a ser fechado. Por exemplo, para fechar o xmms, o

mesmo do screenshot acima, bastaria escrever "killall xmms"; para finalizar o

konqueror o comando seria "killall konqueror", e assim por diante.

O problema com o killall é que em muitos casos o comando para fechar o programa não

é o mesmo que seu nome. Para fechar o Firefox, por exemplo, você teria que digitar

"killall firefox-bin" e não apenas "killall firefox", que seria o mais lógico.

Para os casos onde você não souber o nome do programa, existe o comando "ps" que

mostra todos os processos abertos. Existem várias opções para este comando. A que

costumo usar mais freqüentemente é "ps -x | more", que mostra todos os processos

iniciados por você, sempre dando uma pausa quando esta encher a tela:

Page 91: Línux entendo o sistema[JP.Conteudo]

Na coluna direita da lista você verá os nomes dos aplicativos. Veja que em muitos casos

o mesmo programa aparece várias vezes, seja porque você abriu várias instâncias do

programa, seja por ele realmente ser dividido em vários processos diferentes, mas o

killall se encarrega de acabar com todos os vestígios.

Na coluna da esquerda está o PID de cada processo, um número de identificação que

pode ser usado em conjunto com o comando kill para matar um processo específico,

como em "kill 4060".

Além do ps -x, você pode tentar o "ps -aux", que inclui todos os processos ativos. A

lista é sempre longa, pois inclui todos os serviços e componentes do sistema que são

carregados automaticamente durante o boot. Outro programa de texto com a mesma

função é o pstree. Ele mostra os processos na forma de uma árvore, permitindo que

você veja como eles se relacionam.

Se você estiver no KDE, pode gerenciar os processos de uma forma muito mais

amigável usando o Ksysguard. Basta procurar por ele no iniciar ou pressionar

"Ctrl+Esc" para abri-lo:

Page 92: Línux entendo o sistema[JP.Conteudo]

Montando e desmontando

Embora cada vez mais as distribuições detectem as partições, CD-ROMs, pendrives e

outros dispositivos automaticamente, criando ícones no desktop ou algo similar, por

baixo dos panos é sempre necessário montar os dispositivos antes de acessá-los. Isto é

feito automaticamente quando você clica no ícone do CD-ROM no desktop, por

exemplo, mas, dependendo da distribuição que resolver usar, você acabará precisando

fazer isso manualmente em muitos casos. Vamos então entender como esse processo

funciona.

Cada dispositivo ou partição é acessado pelo sistema através de um device, um arquivo

especial criado dentro do diretório "/dev". Para entender a ordem usada para nomear

estes dispositivos é preciso usar algumas noções de hardware.

Na placa-mãe você encontra duas portas IDE (primária e secundária), que são usadas

para instalar o HD e CD-ROM. Cada uma das duas permite conectar dois dispositivos,

de forma que podemos instalar um total de 4 HDs ou CD-ROMs na mesma placa. Os

drives IDE "tradicionais", que usam os cabos de 40 ou 80 vias são chamados de

"PATA", de "parallel ATA".

Cada par de drives é instalado na mesma porta. Para diferenciar os dois é usado um

jumper, que permite configurar cada drive como master (mestre) ou slave. O mais

comum é usarmos apenas um HD e mais um CD-ROM ou DVD, cada um instalado em

sua própria porta e ambos configurados como master. Ao adicionar um segundo HD,

você poderia escolher entre instalar na primeira ou segunda porta IDE, mas de qualquer

forma precisaria configurá-lo como slave, mudando a posição do jumper.

Independentemente de ser um HD, CD-ROM ou qualquer outro tipo de dispositivo, os

drives são detectados pelo sistema da seguinte forma:

IDE primária, master: /dev/hda

IDE primária, slave: /dev/hdb

Page 93: Línux entendo o sistema[JP.Conteudo]

IDE secundária, master: /dev/hdc

IDE secundária, slave: /dev/hdd

Os HDs Serial ATA (SATA) são vistos pelo sistema da mesma forma que HDs SCSI.

Isso também se aplica a pendrives e outros dispositivos USB. Aqui entra uma história

interessante: como o código é aberto, é muito comum que novos módulos sejam

baseados ou utilizem código de outros módulos já existentes. O suporte a drives SCSI

no Kernel é tão bom que ele passou a ser usado (com pequenas adaptações) para dar

suporte a outros tipos de dispositivos. Na época do Kernel 2.4, até os gravadores de CD

eram vistos pelo sistema como drives SCSI.

O primeiro dispositivo SCSI é detectado como "/dev/sda", o segundo como "/dev/sdb" e

assim por diante. Se você tiver um HD SATA ou pendrive, o drive é visto como

"/dev/sda" e não como "/dev/hda", como seria se fosse um drive IDE.

Se você tiver um HD SATA e um pendrive, instalados na mesma máquina, então o HD

será visto como "/dev/sda" (pois é inicializado primeiro, logo no início do boot) e o

pendrive como "/dev/sdb". Se você plugar um segundo pendrive, ele será visto como

"/dev/sdc", e assim por diante. Ao contrário dos dispositivos IDE, os devices são

definidos seqüencialmente, conforme o sistema vai detectando os dispositivos. Quem

chega primeiro leva.

Se você tiver um HD IDE e um pendrive, então o HD será visto como "/dev/hda" e o

pendrive como "/dev/sda". Uma observação é que você quase sempre encontrará uma

opção dentro do Setup que permite colocar as portas SATA em modo de

compatibilidade (Legacy Mode ou Compatibility Mode, dependendo da placa). Ao

ativar esta opção, seu HD SATA passará a ser visto pelo sistema como " /dev/hda',

como se fosse um HD IDE normal. Esta opção é útil ao instalar distribuições antigas,

que ainda não oferecem um bom suporte a HDs SATA.

Em seguida vem a questão das partições. Ao invés de ser um espaço único e indivisível,

um HD é como uma grande sala comercial, que pode ser dividida em vários escritórios e

ambientes diferentes. Ao instalar o sistema operacional, você tem a chance de

particionar o HD, onde é feita esta divisão. É sempre recomendável usar pelo menos

duas partições separadas, uma para o sistema e outra para seus arquivos. Isto permite

reinstalar o sistema sempre que necessário, sem perder seus arquivos e configurações.

Page 94: Línux entendo o sistema[JP.Conteudo]

No Linux existe ainda a necessidade de criar uma partição separada para a memória

swap. Esta partição utiliza uma organização própria, otimizada para a tarefa. Embora

um pouco mais complicada, esta abordagem faz com que o acesso seja mais rápido que

no Windows, onde o swap é feito dentro de um arquivo, criado na partição de instalação

de sistema.

Existem diversos programas de particionamento, os mais usados no Linux são o cfdisk,

gparted e o qtparted. Muitas distribuições incluem particionadores próprios, o

Mandriva por exemplo inclui o diskdrake. Veremos mais detalhes sobre o

particionamento e instalação do sistema no próximo capítulo.

Acima temos um screenshot do Gparted. Como pode ver, cada partição recebe um

número e é vista pelo sistema como um dispositivo diferente. A primeira partição do

"/dev/hda" é vista como "/dev/hda1" e assim por diante. O mesmo acontece com os

pendrives, que do ponto de vista do sistema operacional são uma espécie de HD em

miniatura.

O sistema nunca acessa os dados dentro da partição diretamente. Ao invés disso, ele

permite que você "monte" a partição numa determinada pasta e acesse os arquivos

dentro da partição através dela, o que é feito usando o comando "mount".

A sintaxe básica inclui o dispositivo e a pasta onde ele será acessado, como em:

# mount /dev/hda2 /mnt/hda2

O mais comum é que as partições "extras" sejam montadas dentro da pasta "/mnt", que é

própria para a tarefa, mas isso não é uma regra; você pode montar as partições em

qualquer pasta vazia. Não se esqueça de criar a pasta desejada, se necessário, usando o

comando "mkdir".

No caso do CD-ROM, citamos apenas o dispositivo, sem incluir a partição (já que um

CD-ROM não pode ser particionado, como um HD). Você pode tanto usar o dispositivo

correto, como "/dev/hdc" ou "/dev/hdd", quanto usar o "/dev/cdrom", um link que é

criado durante a instalação:

# mount /dev/cdrom /mnt/cdrom

Page 95: Línux entendo o sistema[JP.Conteudo]

Se quiser trocar o CD que está na bandeja, você deve primeiro "desmontar" o CD-ROM,

com o comando "umount /mnt/cdrom". O mesmo se aplica a pendrives e HDs

externos: é sempre necessário desmontar antes de desplugá-los. No caso dos pendrives e

HDs, desmontar é fundamental, pois as alterações não são necessariamente salvas

imediatamente por causa do cache de disco. Removendo sem desmontar, existe uma

probabilidade muito grande das últimas alterações serem perdidas. É muito comum as

pessoas gravarem arquivos no pendrive, desplugarem logo depois (sem desmontar) e, ao

tentar usar de novo, verem que os arquivos simplesmente não foram gravados.

Se por acaso você tiver um drive de disquetes (em que século você vive? :), o comando

para montá-lo manualmente é "mount /dev/fd0 /mnt/floppy" e, para desmontar, "umount

/mnt/floppy". Assim como no caso dos pendrives, é importante desmontar antes de

remover o disquete do drive.

Os pontos de montagem, ou seja, as pastas onde as partições serão montadas podem ser

configurados através do arquivo "/etc/fstab". Quase sempre, este arquivo é configurado

durante a instalação, incluindo referências a todas as partições e CD-ROMs disponíveis,

de forma que você pode montar as partições digitando apenas "mount /mnt/hda6" (por

exemplo), sem precisar usar o comando completo.

Naturalmente, além da forma manual, existem maneiras mais práticas de acessar o CD-

ROM e partições. Em primeiro lugar, ao usar o KDE, você pode sempre usar o ícone no

desktop, clicando sobre ele para montar e usando a opção "desmontar" (que aparece ao

clicar com o botão direito sobre o ícone) para liberar o CD na hora de remover. Na

maioria das distribuições, ao plugar um pendrive é criado automaticamente um ícone no

desktop para acessar os arquivos. Geralmente o ícone inclui uma opção para desmontar,

acessível ao clicar sobre ele com o botão direito.

Ainda no KDE, você pode acessar as demais partições do HD abrindo o Konqueror e

acessando a url "media:/" (ou "devices:/", nas versões antigas). Assim como no caso do

CD-ROM, você acessa os arquivos clicando sobre o ícone. No caso das partições do

HD, não é necessário desmontar depois de usar, pois elas são desmontadas ao desligar o

micro.

Page 96: Línux entendo o sistema[JP.Conteudo]

Muitas distribuições incluem o automount, que faz com que o acesso ao CD-ROM e

disquete seja transparente, como no Windows. Você coloca o CD-ROM na bandeja. Ao

acessar a pasta "/mnt/cdrom" o sistema se encarrega de montá-lo automaticamente.

Quando você pressiona o botão para ejetar o CD, o sinal é interceptado pelo sistema que

se encarrega de desmontá-lo e em seguida ejetar o CD.

O clipboard e o terceiro botão

O botão central do mouse, que não tem muita serventia no Windows, permite copiar e

colar entre aplicativos ou até mesmo entre aplicativos gráficos e terminais abertos

dentro da interface gráfica. Isso substitui o Ctrl+C, Ctrl+V, com a vantagem do

comando ser dado com um único clique do mouse. Basta selecionar o trecho de texto, a

imagem, ou o que quiser copiar numa janela e clicar com o botão central na janela onde

quiser colar a seleção. Se você não tiver um mouse de três botões, pressione

simultaneamente os dois botões.

Porém, este modo "padrão" tem algumas deficiências. Ele não funciona muito bem para

copiar grandes quantidades de texto, e o texto a ser copiado precisa ficar selecionado

durante a operação. Basicamente, você consegue copiar o que puder ser visualizado na

tela. Não funciona para copiar 120 páginas de texto do Abiword para o OpenOffice, por

exemplo.

Pensando nisso, os desenvolvedores do KDE e do Gnome se preocuparam em incluir

sistemas de copiar e colar com um funcionamento semelhante ao do Windows. Você

pode selecionar várias páginas de texto do Kword e colar no Kmail, por exemplo,

usando o bom e velho Ctrl+C, Ctrl+V.

O KDE inclui até um Applet, o Klipper (que no Kurumin e em outras distribuições

baseadas no Debian pode ser instalado com o comando "apt-get install klipper"), que

multiplica a área de transferência. Você tem vários slots que armazenam todas as

Page 97: Línux entendo o sistema[JP.Conteudo]

últimas operações e pode colar qualquer uma das anteriores, selecionando a desejada

através do ícone ao lado do relógio, de forma bem prática.

Trabalhando com permissões

Apesar de toda a evolução em relação aos antigos sistemas Unix, usados nas décadas de

70 e 80, o Linux mantém suas raízes multiusuário. Isso significa que o sistema pode ser

usado por várias pessoas simultaneamente (imagine o caso de um servidor de rede), sem

que uma atrapalhe o trabalho da outra, nem possa ver e alterar arquivos que não deveria.

Para isso, é usado um sistema de permissões simples, porém eficiente, que consiste num

conjunto de três permissões de acesso (ler, gravar e executar) e três grupos (dono, grupo

e outros), que combinadas permitem fazer muita coisa. Este sistema de permissões é

bem similar ao usado do Windows 2000 e no Windows XP, a principal diferença é que

no Windows você usa o sistema como administrador (equivalente ao root) por padrão e

muitos programas não funcionam corretamente quando você tenta usar uma conta sem

privilégios especiais. No Linux é o contrário, você usa o sistema com um login de

usuário e os programas são projetados para funcionar desta forma. Apenas os utilitários

de configuração e alguns programas para tarefas específicas precisam ser executados

como root. Isso faz com que o sistema seja fundamentalmente mais seguro.

Um argumento comum é que não existem muitos vírus, worms e trojans para Linux

porque o sistema é menos popular. Porém, nos servidores, o Linux já é mais usado que

o Windows e mesmo assim os casos de problemas de segurança continuam sendo mais

raros. Segundo a Netcraft, quase 70% dos sites da internet rodam sobre o Apache, a

grande maioria deles sobre o Linux, enquanto apenas 20% rodam sobre o IIS da

Microsoft. Mas, mesmo assim, é muito mais comum termos notícias de problemas de

segurança no IIS do que no Apache:

http://news.netcraft.com/archives/2005/10/04/october_2005_web_server_survey.html

Voltando às permissões, clicando sobre as propriedades de qualquer arquivo no

Konqueror você verá uma janela com três menus de seleção, que permitem ajustar

individualmente as permissões para o dono do arquivo, para usuários que façam parte

do mesmo grupo e para os outros, que inclui todo mundo que tenha acesso ao sistema.

Page 98: Línux entendo o sistema[JP.Conteudo]

Cada um dos campos aceita três possibilidades: "negado", "pode ler" e "pode ler e

escrever". Por default, o dono é o único que pode ler e escrever, os demais (grupo e

outros) podem apenas ler o arquivo, mas sem modificar.

No caso dos arquivos, existe uma quarta permissão que é o campo "É executável". Esta

é uma daquelas diferenças fundamentais entre o Linux e o Windows: o sistema não

decide quais arquivos são programas pela extensão, mas sim pelas permissões. Isso

aumenta bastante a segurança do sistema, mas por outro lado causa um pouco de dor de

cabeça em algumas situações. Sempre que você baixar um instalador qualquer via web

(o driver da nVidia, por exemplo), vai precisar primeiro marcar o "É executável" nas

propriedades do arquivo antes de conseguir instalá-lo.

O "dono" do arquivo é por default o usuário que criou o arquivo. Apenas este usuário

pode alterar as permissões de acesso ao arquivo e pasta. Em seguida vem a configuração

do grupo, que permite que vários usuários tenham acesso a um arquivo ou pasta, sem ter

que apelar para o campo "outros" que daria acesso a qualquer um.

Imagine que estamos configurando um servidor em uma empresa importante, e neste

servidor temos uma pasta chamada "projeto_apolo" com vários arquivos confidenciais

que deverá ser acessada apenas pelos programadores que estão trabalhando no projeto.

Desativaríamos de imediato o campo "todos", mantendo marcados apenas os campos

"usuário" e "grupo". O próximo passo seria justamente criar um novo grupo de usuários

("apolo", por exemplo) e incluir neste grupo todos os usuários que fazem parte do

projeto. A partir daí, todos os programadores passariam a ter acesso à pasta, já que

fazem parte do grupo.

Page 99: Línux entendo o sistema[JP.Conteudo]

Você pode criar novos grupos e adicionar usuários a eles através do "users-admin" ou

do "kuser", usando o que estiver disponível na distribuição. Basta chamá-los pelo

terminal ou procurar pelo atalho no menu.

No Fedora, o users-admin se chama "system-config-users", e, no Mandriva,

"userdrake". O Kuser é usado em um número menor de distribuições, mas é também

bastante usado.

Para criar um novo grupo, clique em "Grupo > Adicionar grupo". Na janela que será

aberta, especifique o nome do grupo e os usuários que farão parte dele. Um mesmo

usuário pode fazer parte de vários grupos simultaneamente. Muita gente cria um grupo

diferente para cada pasta importante, de forma a poder definir individualmente quem

terá acesso a ela.

Page 100: Línux entendo o sistema[JP.Conteudo]

Você notará que nesta tela aparecem vários usuários que não são mostrados na tela

principal, como o "bin", "daemon" e "mail". Estes são usuários ocultos do sistema,

contas sem privilégios e que não possuem senhas definidas (é simplesmente impossível

fazer login com qualquer uma delas), que são usadas para isolar os programas, fazendo

com que cada um tenha acesso apenas a seus próprios arquivos. Isso limita muito os

danos que um programa ou servidor com bugs ou falhas de segurança pode causar

quando alguma coisa dá errado.

De fato, a configuração default da maior parte das distribuições Linux atuais é dar

acesso de leitura para a maioria das pastas (com exceção, naturalmente, dos arquivos de

senha e outros arquivos críticos) para todos os usuários, mas ao mesmo tempo dar

acesso de gravação apenas para o diretório home de cada um.

Ou seja, por default você, logado como usuário normal, poderá navegar por quase todos

os diretórios do sistema, mas só poderá criar e alterar arquivos dentro da sua pasta de

usuário. Nos outros lugares receberá sempre um aviso de acesso negado. Isso impede

que os usuários possam fazer besteira no sistema, como por exemplo, tentar deletar a

pasta de módulos do Kernel ;-).

Claro, como todas as regras, as permissões de acesso têm sua exceção: o root. Ele é o

único que não possui restrições: pode alterar, executar ou deletar o que bem entender.

Pode alterar o dono das pastas ou alterar as permissões de acesso. O root é o deus do

sistema.

Você precisará usar o root sempre que for alterar as permissões de acesso a uma pasta

do sistema ou criada por outro usuário, mas não use-o regularmente, a menos que esteja

apenas brincando com o sistema e possa reinstalá-lo a qualquer momento, pois além de

poder destruir facilmente arquivos do sistema, usar o root abre as portas para várias

brechas de segurança ao usar programas de IRC, abrir anexos em e-mails ou mesmo

navegar na web.

A maioria dos problemas de segurança a que os usuários do Windows estão submetidos

decorre justamente do fato de utilizarem contas com privilégios equivalentes ao do root

no Linux. Se você pode fazer o que quiser no sistema, os programas executados por

você (incluindo trojans, scripts incluídos de páginas web executados pelo navegador,

etc.) também poderão não ter restrições.

Se você se pergunta como alguns vírus do Windows, como o Ninda e o Sircan podem se

espalhar tão rapidamente, saiba que o problema é justamente este: a combinação de um

sistema com um fraco controle de segurança, combinado com o uso de contas

administrativas por usuários sem noções de segurança.

Voltando ao tema da criação de usuários, se você não gostou dos utilitários gráficos,

pode adicionar novos usuários também usando os comandos "adduser" e "passwd"

(como root). Por exemplo:

Page 101: Línux entendo o sistema[JP.Conteudo]

# adduser manuel

(cria o usuário manuel, já definindo a senha)

# passwd manuel

(altera a senha posteriormente)

Para remover um usuário anteriormente criado, utilize o comando "userdel", como em

"userdel manuel". Por questões de segurança o comando remove apenas o login,

preservando o diretório home do usuário. Caso você tenha certeza que não vá mais

precisar de nada, deve deletar o diretório manualmente depois.

Você também pode bloquear temporariamente um usuário, um amigo que vem jogar

Warcraft 3 com você apenas nos fins de semana, por exemplo, e não precisa ficar com o

login ativo no resto do tempo. Neste caso, use o comando "passwd -l usuário" para

bloquear o login e "passwd -u usuário" para desbloqueá-lo.

Para alterar as permissões de acesso de arquivos e pastas via linha de comando, você

deve usar o comando chmod. A sintaxe dele parece um pouco complicada à primeira

vista, mas nada que um pouco de prática não possa resolver:

# chmod 744 arquivo

Temos aqui o comando chmod propriamente dito, o arquivo ou pasta que terá suas

permissões de acesso alteradas e um número de três dígitos que indica as novas

permissões para o arquivo. Note que o "744" é só um exemplo.

Os três números indicam respectivamente:

7: Permissões para o dono do arquivo.

4: Permissões para o grupo.

4: Permissões para os demais usuários.

Você deve lembrar que temos três permissões: leitura, gravação e execução. Como é

possível representar estes três atributos através de um único número?

Bem, os programadores costumam ser muito bons em matemática e, como em outros

casos, usaram um pequeno truque para resolver este problema. Cada permissão é

representada por um número:

4: Ler.

2: Alterar o conteúdo, criar novos arquivos (no caso de uma pasta).

1: Execução (no caso dos arquivos) ou listar os arquivos (no caso das pastas).

Você simplesmente soma estes números para ter o número referente ao conjunto de

permissões que deseja:

0: Sem permissão alguma. Se for uma pasta, o usuário sequer pode ver o conteúdo.

1: Permissão apenas para executar (não é possível ler o arquivo ou alterá-lo, apenas

executar um programa). No caso de uma pasta, 1 permite que se liste os arquivos dentro

dela, mas sem ler ou alterar os arquivos.

4: Apenas leitura.

5 (4+1): Ler e executar (no caso de um arquivo) ou ver os arquivos e abri-los, no caso

de uma pasta.

Page 102: Línux entendo o sistema[JP.Conteudo]

6 (4+2): Leitura + gravação.

7 (4+2+1): Controle total: leitura + gravação + permissão para executar.

Uma observação importante é que ao configurar as permissões de acesso de uma pasta,

você sempre deve usar 5 (4+1) ou 7 (4+2+1), pois, sem permissão para listar o conteúdo

da pasta, você não consegue ver os arquivos dentro dela.

Engenhoso, não é? Se você quer dar controle total do arquivo ou pasta para o dono e

para o grupo, mas permissão de apenas leitura para os demais usuários, usaria o número

774; se você quisesse que todos os usuários tivessem permissão de leitura e gravação,

mas sem poder executar nada, usaria o número 666; se quisesse dar controle total para

todo mundo, usaria 777 e assim por diante. Como disse, parece um pouco complicado,

mas depois de usar o comando algumas vezes você não vai esquecer mais.

Para alterar o dono e o grupo do arquivo, você deve usar o comando chown. O uso dele

é simples, basta indicar qual é o novo dono e em seguida indicar o arquivo ou pasta que

mudará de dono, como em:

# chown manuel projeto_apollo/

Se você quiser que a alteração se aplique a todos os arquivos e subpastas do diretório,

use a opção -R (de recursivo) como em:

# chown -R manuel projeto_apolo/

Se você quiser alterar também o nome do grupo, acrescente o nome do novo grupo após

o nome do dono, separando ambos por um ponto:

# chown -R manuel.apolo projeto_apolo/

Agora a pasta "projeto_apolo" passa a ser propriedade do usuário manuel e do grupo

apolo. Fizemos a mesma coisa que no exemplo anterior, mas agora usando o comando

de modo texto. Você escolhe qual forma prefere.

Rodando programas como root

No Linux, o usuário root é o deus do sistema, o único que tem acesso a todos os

arquivos e configurações. Os usuários normais têm acesso apenas a seus arquivos dentro

do diretório /home e outros para os quais você alterar as permissões manualmente.

Todos os programas salvam suas configurações dentro de pastas ocultas (o nome

começa com ponto, como em ".kde"), dentro do home do seu usuário. Isso faz com que

cada usuário tenha suas configurações separadas, sem que possa interferir com as

configurações de outros ou alterar as configurações padrão do sistema.

Isso torna o sistema bastante seguro contra barbeiragens em geral feitas pelos usuários.

Como eles podem apenas alterar suas próprias configurações, na pior das hipóteses você

pode deletar o usuário e criar outro. Você pode criar uma conta de usuário separada para

cada pessoa que precisar user seu micro e ter certeza de que eles não destruirão a

instalação do sistema e seus arquivos.

Page 103: Línux entendo o sistema[JP.Conteudo]

Nas versões recentes do KDE, existe uma opção interessante, que permite abrir uma

segunda seção do X, onde é possível se logar com um usuário diferente. Para usar esse

recurso, clique no "Iniciar > Trocar de Usuário > Bloquear a atual & Iniciar nova

sessão".

Como vimos no tópico sobre comandos, é possível também executar programas como

root, usando o comando "su" e suas variantes.

Num terminal de texto, digite simplesmente "su" e forneça a senha de root. O símbolo

do terminal muda de um "$" para um "#", indicando que a partir daí, todos os comandos

digitados (apenas nesse terminal específico) serão executados como root. Use isso

sempre que precisar editar arquivos do sistema, mover arquivos ou mudar permissões,

criar novos usuários, etc.

Para abrir os programas gráficos, a melhor opção é usar o "kdesu", que exibe um

prompt de senha gráfico e ajusta todas as permissões e variáveis do sistema de forma

que o programa possa rodar sem sobressaltos.

Use o kdesu num terminal, ou usando o "Executar comando" do KDE (alt+F2), seguido

do comando que será executado como root, como em "kdesu konqueror /etc", o que

abrirá uma janela do Konqueror, como root e já mostrando os arquivos do diretório

"/etc".

Muitas distribuições, como o Kurumin e o Ubuntu, usam o "sudo" como uma forma de

facilitar o uso do sistema. O sudo é uma variante do su, que permite criar usuários

"administrativos", que podem executar comandos como root, sem precisar fornecer a

senha.

No Kurumin, o usuário padrão, "kurumin", vem configurado com permissão para

executar qualquer comando como root, sem precisar fornecer a senha. Isso permite que

os painéis e scripts de configuração funcionem diretamente, sem que você precise ficar

fornecendo a senha de root toda hora, o que facilita sobretudo ao rodar do CD. Basta

adicionar o "sudo" antes do comando, como em "sudo konqueror /etc".

Page 104: Línux entendo o sistema[JP.Conteudo]

O Ubuntu usa uma abordagem mais conservadora, confirmando sua senha de usuário

antes de executar o comando, mas em ambos os casos a configuração de quais usuários

podem usar o sudo vai no arquivo "/etc/sudoers".

A idéia é que você configure o sistema e instale todos os programas desejados e depois,

se desejar, desative o sudo ou crie um novo usuário sem privilégios para uso normal do

sistema.

Para que um determinado usuário tenha permissão para usar o sudo e,

conseqüentemente, instalar programas através dos ícones mágicos e alterar a

configuração do sistema, adicione uma nova linha no arquivo /etc/sudoers:

usuario ALL=NOPASSWD: ALL

... substituindo o "usuário" pelo login desejado. Você pode também comentar a linha

referente ao usuário kurumin para tirar seus superpoderes, ou simplesmente criar outro

usuário com seu nome e passar a usá-lo no dia-a-dia, deixando para usar o user kurumin

apenas quando precisar instalar novos programas ou alterar a configuração do sistema.

Máquinas virtuais

Quase tudo pode ser simulado via software. É possível até mesmo simular um

computador de arquitetura diferente, para que os softwares escritos pare ele rodem da

mesma forma que rodam dentro do seu sistema nativo.

Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que

permitem rodar jogos de Atari, Nintendo 8 bits, Mega-Drive, Super-Nes, Playstation e

outros.

Assim como é possível emular um videogame para rodar os jogos escritos para ele, é

possível simular um PC completo e rodar outros sistemas operacionais, dentro de uma

janela. Isso permite que você rode o Windows dentro do Linux ou vice-versa. Esse PC

"de mentira" é chamado de máquina virtual.

O sistema principal neste caso passa a ser chamado de host (hospedeiro) e o outro

sistema operacional que está rodando dentro da máquina virtual é chamado de "guest"

(convidado). Ele acha que tem um PC completo para si, enquanto na verdade está

rodando dentro de uma "matrix", na máquina virtual.

Naturalmente, este trabalho de simular um PC completo e ainda por cima com um bom

desempenho não é simples, veja o caso dos emuladores de videogame de uma forma

geral, que sempre precisam de um PC muito mais poderoso do que o sistema original. É

preciso um Pentium 200 para emular um Super Nes (que usa um processador de 3.5

MHz e 128 KB de RAM) com qualidade.

Existem atualmente três softwares que se destacam nesta categoria, o VMware, Qemu e

o Xen, que trabalham de forma ligeiramente diferente, mas com grandes diferenças

práticas.

O VMware usa um conceito de virtualização. Ele tenta sempre que possível converter

os comandos usados pelo sistema dentro da máquina virtual em comandos que o sistema

Page 105: Línux entendo o sistema[JP.Conteudo]

host entenda e execute diretamente. Por exemplo, se o Windows dentro da máquina

virtual tenta tocar alguma coisa na placa de som, o VMware simplesmente pega os

dados e toca na placa de som "real" do micro, como se fosse outro programa qualquer.

O mesmo se aplica a todo tipo de instruções básicas, que são executadas diretamente

pelo processador principal. O VMware interpreta e converte instruções o mínimo

possível.

O Qemu por sua vez é um emulador. Ele tenta processar todas as instruções, o que

acaba demorando mais tempo e fazendo com que a performance seja menor. Em geral o

VMware (nas versões recentes) consegue fazer com que o sistema guest rode com 60 a

90% do desempenho que teria se estivesse rodando diretamente, enquanto o Qemu

obtém de 5 a 10%. O Qemu possui um módulo adicional, o Kqemu, que faz com que ele

passe a funcionar de forma mais similar ao VMware, virtualizando as instruções básicas

do processador, ao invés de emular tudo. O Kqemu melhora consideravelmente o

desempenho do Qemu, mas ainda assim o deixa bem atrás do VMware em questão de

desempenho.

O Qemu é um projeto open-source, enquanto o VMware é comercial, disponível em

duas versões. O VMware Workstation é a versão completa, um software relativamente

caro (199 dólares), mas que pode ser usado por 30 dias. O VMware Player por sua vez

é a versão gratuita, com bem menos funções, que pode ser usada para rodar máquinas

virtuais criadas através do VMware Workstation, praticamente sem limitações, mas sem

criar novas máquinas virtuais (VMs). A dica é que você pode obter a versão trial do

VMware Workstation e usá-la para criar as máquinas virtuais e passar a usar o VMware

Player depois que o trial expirar. Você pode baixar ambas no http://www.vmware.com.

Baixe o pacote genérico, que pode ser instalado em várias distribuições.

No Kurumin (a partir do 5.1) você encontra o VMware Player e um script para criar e

alterar as configurações das VMs, provendo uma solução completa.

Estas máquinas virtuais são extremamente úteis no dia-a-dia, pois permitem que você

rode outros sistemas operacionais dentro de uma janela, tendo acesso a todos os

softwares que precisa. Muita gente utiliza este recurso para manter uma cópia do

Windows à mão para quando precisam de algum programa específico. Muitos micros (e

quase todos os notebooks) vêm com uma licença do Windows de qualquer forma e esta

é uma boa maneira de aproveitá-la sem sair do Linux.

Conforme o Qemu e VMware forem evoluindo e os micros forem ficando cada vez mais

rápidos, a perda de desempenho por rodar o Windows dentro da máquina virtual será

cada vez menos significativo, permitindo que você tenha uma forma confortável de

continuar rodando seus aplicativos antigos mesmo depois de migrar definitivamente

para o Linux.

Page 106: Línux entendo o sistema[JP.Conteudo]

Outra grande utilidade é que você pode testar outras distribuições e ter um sistema

"sparing", onde você pode testar de tudo sem medo de danificar sua instalação principal.

Todos os arquivos da máquina virtual são salvos num "disco virtual", que nada mais é

do que um arquivo comum, dentro da pasta com a VM, formatado de uma forma

especial. Este arquivo é usado de tal forma que o sistema dentro da VM realmente acha

que está usando um HD real, particionando, formatando e tudo mais.

Tudo começa com a criação da máquina virtual, que consiste basicamente no arquivo

com o disco virtual e um arquivo de configuração, salvos dentro da pasta escolhida. No

VMware, o tamanho do disco virtual é apenas um limite. O arquivo começa vazio,

ocupando apenas alguns kbytes e vai inchando conforme são instalados programas

dentro da máquina virtual, ocupando sempre um espaço equivalente ao espaço ocupado

pelo sistema instalado.

A instalação do sistema dentro da máquina virtual é feita de forma normal. Você vai

particionar e formatar o "HD" e tudo mais, só que tudo vai sendo feito dentro do disco

virtual, sem que o Windows dentro da máquina virtual tenha acesso direto aos demais

arquivos no HD. Se ele pega um vírus, apenas o que está dentro do disco virtual é

afetado. Na pior das hipóteses você pode deletar o arquivo e começar de novo. Para

todos os efeitos, a VM funciona como um PC real; você pode até mesmo instalar

Page 107: Línux entendo o sistema[JP.Conteudo]

Windows e Linux em dual boot, ou experimentar a instalação de várias distribuições

Linux no mesmo HD.

O VMware e o Qemu são os mais usados nos desktops, mas existe uma terceira opção,

muito popular nos servidores, o Xen.

O Xen utiliza uma idéia diferente, a paravirtualização, que consiste em dividir de forma

transparente os recursos do hardware, permitindo que o sistema guest rode com uma

redução de performance muito pequena (menos de 5%, na maioria dos casos). O maior

problema é que para rodar dentro do Xen é necessário que o sistema guest seja

modificado. Não é possível rodar qualquer sistema diretamente, como no caso do

VMware e do Qemu.

Isto não é um grande problema no caso das distribuições Linux, mas é no caso do

Windows e outros sistemas de código fechado.

O Xen é muito mais complicado de configurar que o VMware. No caso dos servidores

(onde temos um público da área técnica) isto não chega a ser um grande problema, mas

nos desktops ele é ainda pouco usado. Mesmo assim, é possível que o Xen evolua em

termos de facilidade de uso e, graças ao bom desempenho, comece a disputar

diretamente com o VMware. A página do Xen é a http://www.xensource.com/.

Page 108: Línux entendo o sistema[JP.Conteudo]

Capítulo 3: Instalando o Kurumin

A primeira diferença fundamental entre live-CDs, como o Kurumin e o Slax e

distribuições "tradicionais", como o Mandriva, Fedora e Slackware, é a forma como o

sistema é instalado.

Tradicionalmente, os CDs de instalação contém pacotes individuais de instalação dos

programas junto com um programa de instalação. Durante a instalação, você pode

escolher quais pacotes quer instalar e o instalador se encarrega de "montar" o sistema,

instalando individualmente os pacotes marcados, como neste screenshot do instalador

do Mandriva:

Esta abordagem permite um controle maior sobre o que será instalado, mas possui

também algumas desvantagens:

-Torna a instalação mais complexa e confunde os usuários iniciantes (e muitas

vezes também os avançados), já que pouca gente conhece a função de cada

pacote e não sabe bem quais instalar. Nem sempre as descrições dos pacotes dão

uma visão clara sobre sua função e importância. Para amenizar isso, os

instaladores adotam um "meio termo", onde você inicialmente escolhe entre

algumas categorias, como "Ferramentas de escritório", "Programação",

"Servidores", etc., e acessa a tela de seleção manual de pacotes apenas se quiser

personalizar a instalação.

Page 109: Línux entendo o sistema[JP.Conteudo]

-Aumenta muito o trabalho dos desenvolvedores, que precisam se preocupar em

checar as dependências de cada pacote, etc. para manter a instalação consistente,

independentemente do que o usuário escolher.

-Neste caso o sistema pode ser apenas instalado, não roda direto do CD.

Nos live-CDs temos um sistema "base", já configurado que roda diretamente do CD. O

instalador limita-se a copiar este sistema para o HD e fazer as alterações necessárias

para que ele se adapte ao novo ambiente.

A instalação no HD mantém as configurações feitas durante o boot. Por isso, primeiro

teste o sistema rodando a partir do CD e certifique-se que o vídeo está corretamente

configurado, as placas de som e rede estão funcionando, etc. antes de iniciar a

instalação.

Neste livro abordo a instalação e configuração de três distribuições: Kurumin, Ubuntu e

Slax.

Esta não é uma escolha aleatória. O Kurumin é um dos melhores exemplos de

distribuição amigável, que automatiza vários aspectos do uso do sistema, por isso uma

das melhores opções para começar. Por baixo dos scripts e painéis de configuração,

você tem uma instalação do Debian, que permite que você aprenda sobre a estrutura do

sistema, sem ter que encarar o próprio logo no começo.

O Slax é um live-CD derivado do Slackware, que mantém a mesma estrutura básica

(incluindo os scripts de configuração e utilitários disponíveis no Slackware), mas roda

do CD e é muito mais simples de instalar.

Finalmente, temos o Ubuntu, o "Debian para desktops", que é oferecido em duas

versões: um CD de instalação tradicional, que utiliza um instalador muito similar ao

encontrado no Debian e um live-CD, que você pode usar para conhecer o sistema e ver

se seu PC é compatível antes de instalar. O Ubuntu também difere do Kurumin e o Slax

por utilizar o Gnome por padrão ao invés do KDE.

Depois de abordar os conceitos gerais, vamos começar a abordar temas específicos

dentro de cada distribuição e ver dicas sobre os programas e ferramentas de

configuração disponíveis. Este terceiro capítulo é dedicado à instalação do Kurumin,

incluindo o particionamento do HD, dual boot com o Windows e outras distribuições,

uso do home em uma partição separada e solução de problemas. O quarto capítulo é

dedicado à configuração do Kurumin e do KDE, abordando também vários

fundamentos sobre a organização do sistema (das distribuições Linux de uma forma

geral), configuração de redes e placas Wireless e assim por diante. O capítulo 5 é

dedicado aos programas Linux de uma forma geral, sem se prender a uma única

distribuição, enquanto o capítulo 6 volta a ser específico, falando sobre a instalação e

configuração do Ubuntu (incluindo dicas sobre o Gnome) e do Slax.

Os temas são abordados com um nível crescente de complexidade, sem repetir assuntos

já abordados. O particionamento do HD e configuração do Lilo, por exemplo, são

abordados apenas no capítulo 3, junto com a instalação do Kurumin, sem ser repetida no

capítulo do Ubuntu. O ideal é que você realmente leia os capítulos seqüencialmente e

pratique instalando cada uma no seu no seu micro.

Page 110: Línux entendo o sistema[JP.Conteudo]

Se você não tem espaço suficiente no HD para criar várias partições, ou não quer

arriscar seus arquivos mexendo no particionamento do HD (lembre-se: Só Jesus salva, o

homem faz backup! ;), você pode ainda treinar usando o VMware Player, um

virtualizador que permite instalar as distribuições dentro de máquinas virtuais, que

abordo no capítulo 5. Embora no livro fale apenas sobre a versão Linux, o VMware

também roda sobre o Windows XP ou 2000, com os mesmos recursos.

Opções de boot no Kurumin

Um dos principais atrativos do Kurumin e outros live-CDs é o fato do sistema rodar

diretamente a partir do CD-ROM, sem necessidade de alterar o que está instalado do

HD e detectar o hardware da máquina no boot, dando-lhe um desktop funcional em

poucos minutos.

Mas, ao contrário do que pode parecer à primeira vista, detectar todo o hardware de uma

máquina atual e configurar o sistema para trabalhar sobre ele sem ficar perguntando,

não é uma tarefa nada fácil.

Algumas placas-mãe mal projetadas podem travar durante o processo de detecção do

ACPI, SCSI ou RAID, pode ser que a placa de vídeo não tenha um driver específico, ou

que use um código de identificação diferente do padrão, pode ser que o mouse tenha

scroll ou outro recurso especial que não seja possível detectar automaticamente e assim

por diante. Além disso, o sistema simplesmente não tem como adivinhar que resolução

de tela e taxa de atualização que você prefere usar, pode no máximo tentar "adivinhar"

baseado nas características do monitor.

Logo no início do boot você verá uma tela gráfica que apresenta algumas opções de

boot. Estas opções permitem alterar o comportamento padrão do sistema, fazendo com

que ele dê boot em placas problemáticas ou que utilize a resolução de vídeo de sua

preferência, entre outras configurações, que podem ser usadas em casas onde o sistema

de detecção não dê conta do recado.

O Kurumin é capaz de dar boot diretamente em uns 90% dos micros, enquanto as

opções permitem que ele funcione na maior parte dos 10% restantes. É raro um PC em

que realmente não exista como fazer o Kurumin funcionar. Muitas destas opções são

válidas também no Knoppix e nos outros live-CDs derivados dele, como o Kanotix e

Mephis e também nos live-CDs derivados do Kurumin, como o Kalango e o Kurumin

Games. A única mudança é que neles ao invés das opções começarem com "kurumin",

começam com "knoppix", "kalango", ou o nome da distro.

Existem opções de boot para especificar a configuração do vídeo, para desabilitar a

detecção de determinados componentes, opções para copiar a imagem do Kurumin para

o HD e dar boot com o drive de CD livre, dar boot a partir de um arquivo .ISO salvo no

HD e até algumas opções específicas, que variam de uma distribuição para outra.

No canto inferior da tela aparece um prompt (boot:) para digitar as opções. Se você

apenas pressionar Enter, ou esperar 30 segundos, o sistema inicializa no modo default,

tentando detectar tudo sozinho. As opções de boot permitem modificar o

comportamento padrão do sistema, desabilitando algum recurso que está fazendo o

micro travar no boot, alterar a resolução do vídeo e assim por diante.

Page 111: Línux entendo o sistema[JP.Conteudo]

No screenshot acima, estou usando como exemplo uma opção bem longa para

configurar vídeo, especificando a resolução, taxa de atualização e o driver de vídeo e

desabilitar o ACPI.

Basta digitar a opção desejada e pressionar Enter. Os parâmetros devem ser digitados

exatamente como descritos abaixo, sempre em minúsculas. Todos estes parâmetros são

opcionais, eles foram desenvolvidos para serem usados em casos de problemas.

Opções de vídeo

As opções mais usadas são as referentes à resolução e taxa de atualização do monitor.

Por default, o Kurumin tenta detectar automaticamente a sua placa de vídeo e utiliza

uma resolução compatível com seu monitor, detectada via DCC.

A configuração do monitor é composta por três parâmetros:

1- O driver de vídeo

2- A resolução e profundidade de cor

3- A taxa de atualização.

O driver de vídeo é o que permite que o sistema se comunique com a placa de vídeo e,

conseqüentemente, envie as imagens para o monitor. Cada placa de vídeo tem um

Page 112: Línux entendo o sistema[JP.Conteudo]

conjunto próprio de recursos e se comunica numa linguagem diferente. O driver de

vídeo é o "intérprete" que permite que o sistema converse com a sua.

O software responsável por mostrar imagens na tela (o "servidor gráfico" falando em

linguagem mais técnica) é o X.org. É ele quem contém os drivers para todas as placas

de vídeo suportadas pelo sistema. Nas versões atuais do X.org temos um conjunto

relativamente pequeno de drivers, um para cada fabricante (e não um para cada placa de

vídeo como antigamente).

O driver "sis", por exemplo, dá suporte a todas as placas de vídeo da SiS, o driver "nv"

dá suporte a todas as placas da nVidia e assim por diante. Temos ainda dois drivers

genéricos, o "vesa" e o "fbdev" que funcionam com quase todas as placas de vídeo. Eles

podem ser usados, por exemplo, quando você tiver alguma placa de vídeo muito

recente, que ainda não seja suportada.

A resolução determina a quantidade de pontos mostrados na tela. Os monitores sempre

suportam várias resoluções diferentes, permitindo que você use a que achar mais

confortável. Um monitor de 17", por exemplo, geralmente suportará de 640x480 a até

1280x1024.

O que muda ao usar resoluções diferentes é a taxa de atualização, que determina

quantas vezes por segundo a imagem é atualizada no monitor.

O grande problema é que os monitores atuais utilizam células de fósforo para formar a

imagem. Estas células não conservam seu brilho por muito tempo e por isso precisam

ser realimentadas constantemente.

O ideal é usar uma taxa de atualização de 75 Hz (75 atualizações por segundo) ou mais.

Usando menos que isso teremos um fenômeno chamado flicker, onde a tela fica

instável, piscando, parecendo tremer, como se a tela do monitor fosse uma gelatina. É

justamente o flicker que causa a sensação de cansaço ao se olhar para o monitor por

muito tempo, e a médio prazo pode até causar danos à visão.

Outra coisa que ajuda e muito a diminuir o flicker é diminuir o brilho do monitor. O

ideal é usar a tela o mais escura possível, dentro do que for confortável, naturalmente.

Uma dica é deixar o controle de brilho no mínimo e ajustar apenas pelo contraste.

Quanto maior for a taxa de atualização e quanto menor for a claridade da imagem

menor será o flicker e menor será o cansaço dos olhos.

As taxas de atualização máximas dependem tanto da placa de vídeo quanto do monitor.

Quanto mais baixa for a resolução de imagem escolhida, maior será a taxa de

atualização suportada pelo monitor. A maioria dos monitores de 15" suportam 800x600

com 85 Hz de taxa de atualização ou 1024x768 a 70 Hz. Os monitores de 17"

geralmente suportam 1024x768 a 85 Hz, enquanto os monitores mais caros, como os

Flatron e Trinitron, de 17" (CRT) chegam a suportar 1600x1200 com 60 Hz.

A placas de vídeo também podem limitar a resolução máxima. Uma placa antiga, uma

Trident 9680 por exemplo, não conseguirá trabalhar com mais de 70 Hz de refresh a

1024 x 768 (independentemente do monitor, é uma limitação da própria placa de vídeo).

Muitas placas onboard são capazes de exibir 1024x768 com 85 Hz, mas apenas 70 Hz

se você usar 1280x1024. Geralmente, apenas as placas de vídeo mais caras são capazes

Page 113: Línux entendo o sistema[JP.Conteudo]

de trabalhar a 1600x1200 com 75 Hz de refresh ou mais, uma possibilidade que é

suportada por alguns monitores de 19".

Tudo o que falei até agora sobre taxa de atualização e flicker se aplica apenas aos

monitores de CRT (os grandões que ainda usam tubo de imagem). Hoje em dia temos

um segundo tipo de monitores, os monitores de LCD, aqueles modelos fininhos e com

tela 100% plana, usados desde sempre nos notebooks.

Nos monitores de LCD, cada ponto na tela é como uma lâmpada acesa, eles não

possuem problemas com flicker, a imagem é sólida, independentemente da taxa de

atualização usada. Em geral, os monitores de LCD suportam várias taxas de atualização,

o mais comum é de 56 a até 75 Hz. Isto é feito para permitir que funcionem em

conjunto com qualquer placa de vídeo e em várias configurações. Porém, neste caso, a

taxa de atualização não afeta a qualidade da imagem.

Se você fica muito tempo na frente do micro ou, principalmente, se trabalha com um, os

monitores de LCD são a opção ideal. Eles são mais caros, mas se você dividir a

diferença de preço por 36 meses (a vida útil média de um monitor) vai ver que o custo

mensal não é tão alto assim. Eles também consomem menos energia (35 watts em

média, contra 100 watts ou mais de um monitor CRT) o que economizará alguns

trocados todo mês na conta de luz, ajudando a amortizar a diferença de preço.

Mas, voltando à configuração do Kurumin, as opções de boot relacionadas com o vídeo

permitem especificar a configuração que deseja usar e resolver os casos em que o

sistema não consegue abrir o modo gráfico.

Basta digitar a opção desejada na tela de boot:

fb1024x768: Esta é uma espécie de opção à prova de falhas, que força a resolução de

1024x768 usando o driver fbdev (frame buffer). O frame buffer é um recurso suportado

pelo kernel que permite exibir imagens manipulando diretamente o conteúdo da

memória de vídeo. A grande vantagem é que não é preciso um driver de vídeo; este

modo vai funcionar mesmo em placas de vídeo que não sejam oficialmente suportadas

pelo Linux. O modo gráfico é aberto a 1024x768 usando 60 Hz de taxa de atualização, o

que permite usar esta opção na grande maioria dos monitores de 14 e 15 polegadas.

Funciona em cerca de 90% das placas de vídeo.

fb800x600: É uma variação da opção acima, que utiliza resolução de 800x600.

Algumas placas de vídeo onboard e algumas placas antigas só funcionam usando esta

opção.

kurumin xvrefresh=60: Esta opção força o sistema a utilizar uma taxa de atualização

de apenas 60 Hz para o monitor. Ela é necessária em alguns monitores de LCD que não

suportam taxas de atualização mais altas e em vários monitores antigos. O "60" pode ser

substituído por qualquer outra taxa de atualização desejada, como em: kurumin

xvrefresh=75. Você pode verificar qual é a configuração usada no Windows (ou no

sistema atual) e especificar manualmente aqui.

kurumin xdepth=16: Esta opção complementa as outras, permitindo configurar a

profundidade de cor. O "16" indica a quantidade de cores em bits. Lembre que 16 bits

equivalem a 65 mil cores, 24 equivalem a 16 milhões de cores e 8 equivalem a apenas

256 cores. Em geral o Kurumin dá sempre boot usando 16 ou 24 bits de cor, de acordo

Page 114: Línux entendo o sistema[JP.Conteudo]

com o suportado pela placa, mas caso você tenha um micro muito antigo, com uma

placa de vídeo com apenas 1 MB, você pode preferir usar 256 cores para que a placa

possa trabalhar a 1024x768.

kurumin desktop=fluxbox: Esta opção faz com que o Kurumin use o fluxbox como

gerenciador de janelas ao invés do KDE. O Fluxbox é bem mais simples e menos

amigável, mas permite usar o Kurumin em máquinas antigas, onde o KDE fica muito

lento. Usando o Fluxbox o consumo de memória durante o boot (ao rodar do CD) cai

quase pela metade, permitindo usar o sistema em micros com 64 MB de RAM.

Algumas remasterizações do Kurumin podem incluir outros gerenciadores de janelas,

como o Gnome, IceWM ou o Blanes. Nestes casos, você pode usar esta opção para

especificar qual gerenciador usar, como em "kurumin desktop=gnome".

kurumin screen=1280x1024: Esta opção é dedicada especialmente para quem usa

monitores grandes, de 17" ou mais. É preciso que o monitor suporte 1280x1024 com 75

Hz de taxa de atualização.

kurumin screen=1024x768: Força o Kurumin a usar resolução de 1024x768. Este

modo é diferente do "fb1024x768" pois neste a sua placa de vídeo é detectada e são

ativados os recursos de aceleração de vídeo suportados por ela. Aqui você está

especificando apenas a resolução e deixando que o sistema detecte o restante.

A opção "screen=" pode ser usada para especificar qualquer resolução suportada pelo

monitor, mesmo que fora do padrão. Por exemplo, muitos notebooks usam telas wide,

com resolução de 1280x800 ou 1280x768, por exemplo. Em muitos deles, o sistema

detecta a resolução incorretamente e acaba abrindo sempre a 1024x768. Para que toda a

área útil do monitor seja usada, basta especificar manualmente, como em: "kurumin

screen=1280x800" no boot.

kurumin screen=1024x768 xvrefresh=60: Aqui estamos combinando as duas opções:

resolução de 1024x768 e taxa de atualização de 60 Hz.

Em alguns casos raros, pode ser que o problema seja com a detecção do driver de vídeo,

como, por exemplo, o sistema tentando usar o driver "sis" para uma placa recente da SiS

que ainda não é suportada por ele. Neste caso, você pode usar a opção "xmodule=vesa"

para especificar o driver de vídeo a ser utilizado. Lembre-se de que o vesa é um curinga,

um driver genérico que funciona com praticamente todas as placas de vídeo. Você pode

combinar esta opção com as outras que já vimos, como em: kurumin screen=1024x768

xvrefresh=60 xmodule=vesa

É possível também combinar várias opções no mesmo comando, basta ir colocando-as

em seqüência, sempre começando com "kurumin", como em: kurumin

screen=1280x1024 xvrefresh=60 xmodule=vesa desktop=fluxbox.

A configuração do vídeo pode ser também alterada através da opção "Configurar

Vídeo", que está disponível no "Centro de Controle do Kurumin > Suporte a Hardware

> Configuração do Vídeo, Som, Teclado e Joystick".

Page 115: Línux entendo o sistema[JP.Conteudo]

Aqui você tem acesso às mesmas opções disponíveis na hora do boot. Se não marcar

nenhuma opção, o vídeo simplesmente é redetectado automaticamente. As opções

permitem forçar o uso das configurações desejadas. O utilitário gera o novo arquivo de

configuração, permite que você teste a configuração, para ter certeza que está realmente

funcionando e, no final, confirma se você quer usá-la.

Opções para solucionar problemas

Além das opções relacionadas ao vídeo, existem as opções que solucionam problemas

durante a detecção de dispositivos, que é a principal causa de problemas durante o boot

do Kurumin. Como disse, muitas placas-mãe problemáticas travam durante a detecção

de alguns periféricos, como as M810 (na detecção do ACPI) e algumas placas com

RAID ou SCSI onboard.

Você pode simplesmente desativar estes recursos (sobretudo o suporte ACPI que é o

mais problemático) no setup da própria placa-mãe. Mas, também é possível fazer isso

na linha de boot do Kurumin:

As opções disponíveis são: acpi=off, noapic, noagp, noscsi, noapm, nodma,

nopcmcia e nousb.

A opção acpi=off é uma das mais importantes. Muitas placas, especialmente as M810,

M812 e outros modelos do mesmo "famoso" fabricante possuem implementações

problemáticas do ACPI que funcionam de forma errática, fazendo com que a placa trave

durante o boot caso o recurso não seja explicitamente desabilitado no setup ou nas

opções de boot.

Page 116: Línux entendo o sistema[JP.Conteudo]

A opção noapic desabilita o realocamento de endereços de IRQ por parte do BIOS,

deixando o serviço a cargo do sistema operacional. Algumas placas usam BIOS

bugados que não gerenciam corretamente este recurso, fazendo que placas de som, rede

e outros periféricos não sejam detectados no boot, embora perfeitamente suportados

pelo sistema.

A opção noagp não desabilita placas de vídeo AGP, apenas o recurso de acesso à

memória RAM que é quem pode causar problemas em alguns casos. Mesmo usando-o

sua placa de vídeo AGP continuará sendo detectada normalmente. O mesmo se aplica à

opção nousb, que faz com que mouses e teclados USB sejam reconhecidos pelo sistema

como periféricos PS/2.

Você pode combinar várias opções na mesma linha, começando sempre com

"kurumin". Você pode começar com a linha abaixo, que vai desativar a detecção de

quase tudo e depois ir retirando algumas opções até descobrir qual é exatamente o

problema com a sua placa, como em: kurumin noapic acpi=off noagp noscsi noapm

nousb

A partir do Kurumin 4.0, existe uma opção nova, necessária em algumas placas-mãe e

notebooks: kurumin pci=bios. Esta é uma opção de compatibilidade, destinada a burlar

problemas com a controladora PCI da placa. Outras opções menos usadas são:

expert: Esta opção ativa um modo de inicialização alternativa, que vai perguntando

passo a passo o que deve ser detectado ou não pelo sistema durante o boot. Esta opção

permite detectar partes da detecção automática que fazem o sistema travar em algumas

placas-mãe e também configurar manualmente sua placa de vídeo, som, mouse, teclado

e placa SCSI. Esta opção faz com que o boot seja bem mais demorado; deve ser usada

apenas para solução de problemas.

kurumin vga=normal: Desabilita o frame-buffer durante a primeira parte da

inicialização (onde é detectado o hardware, etc.). Algumas placas de vídeo antigas não

suportam o recurso, o que faz com que elas exibam uma mensagem de erro durante o

boot. Isso não é problema, pois basta pressionar Enter ou esperar 30 segundos para que

o boot prossiga normalmente. Mas, de qualquer forma, a opção permite desativar isso.

kurumin mem=32M: Esta é uma opção obsoleta, que permite especificar manualmente

a quantidade de memória RAM instalada, mas que parece ser necessária em algumas

placas mães antigas. Tive notícias de duas ou três placas para Pentium 1 e também casos

de usuários de placas M810 que travavam no boot caso esta opção não fosse usada. O

"32M" deve ser substituído pela quantidade de memória RAM presente no sistema, em

megabytes (64M, 128M, etc.). O "M" deve ser sempre maiúsculo.

Rodando o Kurumin com o drive de CD livre

Outra limitação dos live-CDs é que depois do boot, o drive de CD-ROM fica ocupado,

de forma que você não pode ouvir um CD de música ou assistir um DVD, por exemplo.

É possível evitar isso copiando os arquivos para uma partição do HD. Neste caso, o

drive fica livre o desempenho do sistema fica melhor, já que passa a rodar a partir do

HD, que é muito mais rápido. Para isso, use a opção:

Page 117: Línux entendo o sistema[JP.Conteudo]

kurumin tohd=/dev/hda1

Onde o "/dev/hda1" é a partição do HD para onde será feita a cópia dos arquivos. É

importante lembrar que a partição não é formatada, o sistema cria apenas uma pasta

"/knoppix" dentro da partição, com uma cópia do conteúdo do CD. Naturalmente, é

preciso existir espaço livre suficiente para receber a cópia do conteúdo do CD.

Neste caso, o CD é usado apenas na etapa inicial do boot. Depois que o sistema é

carregado a partir dos arquivos na partição, o CD pode ser ejetado. A cópia demora

alguns minutos. Mas, depois de fazê-la pela primeira vez, você pode aproveitá-la nas

inicializações seguintes, usando a opção "fromhd=", como em:

kurumin fromhd=/dev/hda1

Isso fará com que o Kurumin use a cópia já feita, sem precisar ficar copiando de novo a

cada boot.

A grande limitação é que por enquanto a imagem de boot do Kurumin suporta apenas

partições Windows formatadas em FAT16 ou FAT32 ou partições Linux, formatadas

em EXT2, EXT3 ou ReiserFS, deixando de fora as partições NTFS do Windows XP,

que ainda não possuem um driver seguro para escrita no Linux. Numa máquina com o

Windows instalado, onde existe apenas uma partição NTFS ocupando todo o HD, ainda

existe a opção de redimensionar a partição usando o gparted, criando uma pequena

partição Linux no final do HD para fazer a cópia. Veja mais detalhes sobre como usar o

gparted logo a seguir, no tópico sobre instalação do sistema.

Lembre-se de que você pode ver as partições existentes no seu HD e em qual sistema de

arquivos cada uma está formatada abrindo o gparted ou o cfdisk. Se você tem o

Windows instalado, então o drive C: será sempre a partição "/dev/hda1".

É possível ainda usar a opção "bootfrom=", que permite dar boot diretamente a partir

do arquivo ISO de uma nova (ou a mesma) versão do Kurumin, sem precisar queimar o

CD. Esta opção funciona de forma muito similar à "fromhd", com a diferença de que ao

invés de procurar pela pasta "knoppix/", o sistema procura pelo arquivo ISO dentro da

partição.

Ao usar esta opção, é preciso indicar a partição e o nome arquivo ISO dentro dela, como

em:

kurumin bootfrom=/dev/hda1/kurumin.iso

Note que esta dica funciona apenas entre versões do Kurumin que utilizam o mesmo

Kernel, pois você está usando o Kernel incluído no CD para inicializar o sistema dentro

do ISO. A versões 3.x usam o Kernel 2.4.25, as versões 4.x usam o Kernel 2.6.8,

enquanto o 5.0 e 5.1 usa o 2.6.11. Você pode usar um CD do Kurumin 5.0 para dar boot

usando o ISO do 5.1, por exemplo, mas não vai funcionar se você tentar usar um CD da

série 4.x, por exemplo, que usa um Kernel diferente.

A principal vantagem de usar estas opções é o desempenho do sistema, que melhora

realmente de forma brutal. Num notebook HP nx6110, o boot pelo CD (Kurumin 5.1)

demora 2:45 minutos, enquanto ao dar boot usando um ISO gravado no HD, demora

Page 118: Línux entendo o sistema[JP.Conteudo]

apenas 55 segundos, 3 vezes menos! Outra vantagem é que o sistema não fica dando

aquelas "travadinhas", causadas pelo modo de economia de energia do drive.

Fora isso, o sistema continua se comportando exatamente da mesma forma que ao dar

um boot "normal" a partir do CD, você pode inclusive instalar a partir daí.

Salvando suas configurações

A partir do Kurumin 5.1 foram incluídas duas opções que permitem salvar arquivos e

novos programas instalados, mesmo ao rodar o Kurumin do CD. Estas opções são

destinadas principalmente a quem usa pendrives, mas você pode usar uma partição no

HD, complementando a opção de copiar os arquivos do sistema para a partição.

A primeira opção salva os arquivos e configurações armazenados no diretório

"/home/kurumin", enquanto a segunda permite salvar todas as alterações feitas no

sistema (como novos programas instalados usando o UnionFS). Ambas utilizam um

recurso especial do sistema, as famosas imagens de loopback, que são arquivos

especialmente formatados, que podem ser armazenados em qualquer tipo de partição

(mesmo uma partição FAT do Windows), mas são acessados pelo sistema como se

fossem partições separadas.

Para salvar as configurações, criando as imagens de loopback, use as opções

encontradas no Iniciar > Configuração do Sistema:

O utilitário mostra as partições disponíveis (incluindo o pendrive, detectado pelo

sistema como /dev/sda ou /dev/sdb) e o espaço disponível em cada uma, em qual

partição o arquivo será criado e qual será seu tamanho. Ao salvar o home, é criado um

arquivo "kurumin.img" e ao salvar as modificações no sistema é criado o arquivo

"union.img".

Para usá-los no boot, use as opções:

kurumin home=/dev/hda1/kurumin.img (para o arquivo com o home), ou:

kurumin union=/dev/hda1/union.img

(para o arquivo com a imagem do UnionFS)

Você pode também combinar as duas opções, como em:

Page 119: Línux entendo o sistema[JP.Conteudo]

kurumin home=/dev/hda1/kurumin.img union=/dev/hda1/union.img

Isto fará com que o arquivo seja montado no diretório apropriado, fazendo com que as

configurações e arquivos salvos fiquem disponíveis. Todas as alterações feitas são

salvas diretamente nos arquivos de imagem, permitindo que você instale novos

programas e salve arquivos, de uma forma similar ao que faria com o sistema instalado

no HD.

Instalando

A opção de instalar o Kurumin está bem visível dentro da tela inicial do Painel de

Controle, você pode também chamar o instalador usando o comando "sudo kurumin-

install" num terminal. No Painel estão organizadas também outras funções que usamos

para configurar o sistema, que examinaremos com mais cuidado adiante.

O instalador é na verdade um script, localizado dentro da pasta "/usr/local/bin/". Você

pode estuda-lo e até alterá-lo caso necessário, usando um editor de textos qualquer.

Assim como o instalador, muitas ferramentas aparentemente complexas, são na verdade

scripts relativamente simples, que trabalham executando em ordem os comandos de

texto necessários para realizar cada tarefa. Uma característica importante no Linux é

que apesar de todas as ferramentas gráficas, toda configuração do sistema pode ser feita

através do terminal, desde que você saiba os passos necessários.

Antes de instalar, vamos revisar alguns passos importantes:

Page 120: Línux entendo o sistema[JP.Conteudo]

As partições no Linux

Temos duas interfaces IDE na placa-mãe, onde cada uma permite a conexão de dois

HDs, configurados como master ou slave. O primeiro HD, conectado à interface IDE

primária e configurado como master, é reconhecido pelo Linux como hda, o segundo

HD, slave da IDE primária é reconhecido como hdb, enquanto os dois HDs conectados

à IDE secundária são reconhecidos como hdc e hdd.

Caso você esteja usando um HD Serial ATA, então ele será visto como sda. Caso sejam

dois, um será o sda e o outro sdb. O mesmo acontece ao usar HDs SCSI.

Ao mesmo tempo, cada HD pode ser dividido em várias partições. Podemos ter um total

de 4 partições primárias ou três partições primárias e mais uma partição extendida, que

pode englobar até 255 partições lógicas. É justamente a partição lógica que permite a

nós dividir o HD em mais de 4 partições.

Esta limitação das 4 partições primárias, é uma limitação que existe desde o primeiro

PC, lançado em 1981. Os projetistas que escreveram o BIOS para ele, precisavam

economizar memória e chegaram à conclusão que 2 bits (4 combinações) para o

endereço das partições seriam suficientes, pois na época os HDs mais vendidos tinham

apenas 5 MB e só existia um sistema operacional para PCs, o PC-DOS, de forma que

era raro alguém precisar criar mais de uma partição. As coisas mudaram um pouco de lá

pra cá, mas infelizmente esta limitação continua até os dias de hoje.

Para amenizar o problema, foi criado o recurso da partição estendida e das partições

lógicas. A partição estendida contém uma área extra de endereçamento, que permite

endereçar as 255 partições lógicas. É possível criar até 4 partições extendidas, de forma

que (em teoria) é possível dividir o HD em até 1020 partições :).

A primeira partição primária, do primeiro HD (hda) é chamada de hda1. Caso o HD

seja dividido em várias partições, as demais partições primárias são chamadas de hda2,

hda3 e hda4. Porém, o mais comum ao dividir o HD em várias partições é criar apenas

uma partição primária e criar as demais partições dentro de uma partição extendida. É

isso que o particionador faz por default.

As partições extendidas recebem números de 5 em diante (hda5, hda6, hda7, etc.)

mesmo que as partições hda2 e hda3 não existam:

Neste mapa temos a partição primária, montada no diretório raiz (/) e uma partição

extendida, que engloba tanto a partição swap quanto a partição montada em /home.

Page 121: Línux entendo o sistema[JP.Conteudo]

Este é o esquema de particionamento mais usado no Linux: três partições, sendo uma a

partição raiz, onde o sistema fica instalado, a partição swap e uma terceira partição

(opcional), montada no diretório /home.

A idéia é a mesma de dividir o HD em C:\ e D:\ no Windows: simplesmente manter

seus arquivos pessoais numa partição diferente da dos arquivos do sistema, para

melhorar a segurança e permitir que você possa tranqüilamente reformatar a partição do

sistema quando precisar reinstalá-lo, sem correr o risco de perder junto seus arquivos

pessoais.

Se estiver com dúvidas sobre como o HD está particionado, abra o gparted, que você

encontra no Iniciar > Sistema. Ele mostra um mapa do HD.

Instalando

Ao começar a instalação propriamente dita, o primeiro passo é escolher em qual HD o

sistema será instalado, caso você tenha mais de um:

O particionamento do HD pode ser feito através do cfdisk, um particionador de modo

texto que lembra um pouco o fdisk do Windows 98, ou usando o gparted, um

particionador gráfico com uma interface parecida com o Partition Magic.

O cfdisk é mais prático quando você simplesmente quer formatar o HD todo e criar

novas partições, enquanto o gparted permite que você redimensione partições do

Windows e outras distribuições Linux para liberar espaço para instalar o Kurumin.

Page 122: Línux entendo o sistema[JP.Conteudo]

Particionando com o cfdisk

O cfdisk é um programa simples, de modo texto. Se você é iniciante, vai se sentir mais

confortável usando o gparted, o Partition Magic (no Windows) ou o particionador

oferecido durante a instalação do Mandriva. Basta dar boot com um CD do Mandriva,

ou do Mandrake 9.0 em diante, seguir até o particionamento do disco e abortar a

instalação depois de fazer o particionamento. Ele é bem fácil de usar e oferece a opção

de redimensionar partições Windows.

Caso o HD já esteja particionado basta selecionar a opção "Quit" na janela do cfdisk, ou

pressionar a tecla "q" para prosseguir com a instalação. Para alternar entre as opções

dentro do cfdisk, use as setas para a esquerda e direita no teclado; para selecionar uma

opção tecle Enter.

Page 123: Línux entendo o sistema[JP.Conteudo]

Dentro do cfdisk, use as setas para cima e para baixo para selecionar uma partição ou

trecho de espaço livre e as setas para a direita e esquerda para navegar entre as opções,

que incluem:

Delete: Deletar uma partição, transformando-a em espaço livre. Use esta opção para

deletar partições já existentes no HD para poder criar novas.

Create: Cria uma partição usando um trecho de espaço livre. O assistente perguntará

sobre o tamanho da partição, em megabytes. Você terá ainda a opção de criar uma

partição primária e uma partição extendida.

Você pode criar no máximo de quatro partições primárias, uma limitação que vem desde

o PC-XT. Mas, por outro lado pode criar até 255 partições extendidas. Todas as versões

do Windows e do DOS exigem que sejam instaladas numa partição primária, mas no

Linux não existe esta limitação.

Você pode criar quantas partições for necessário e instalar o Kurumin em qual delas

preferir.

Maximize: Redimensiona uma partição, para que ela ocupe todo o espaço disponível no

HD. O processo não é destrutivo, pois o sistema simplesmente adiciona o espaço

adicional no final da partição, sem mexer no que está gravado, mas de qualquer forma é

sempre saudável fazer um backup.

Type: Altera o sistema de arquivos da partição (Linux, FAT, Linux Swap, etc.).

Lembre-se de que você deve ter no mínimo uma partição Linux e outra Linux Swap.

Bootable: Esta é mais uma opção necessária para partições do Windows ou DOS, mas

não para o Linux. Mas a regra básica é que ao usar várias partições, a partição onde o

sistema operacional está instalado seja marcada com este atributo.

Write: Salva as alterações.

Quit: Depois de fazer as alterações necessárias e salvar, só falta sair do programa ;-).

Basicamente, ao usar o cfdisk, você deve criar duas partições, uma maior para instalar o

sistema e outra menor, de 500 MB ou 1 GB para a memória swap. Ao deletar uma

partição antiga você seleciona o trecho de espaço livre e acessa a opção Create para

criar uma partição Linux para a instalação do sistema. Para criar a partição swap, você

repete o procedimento, criando uma segunda partição Linux, mas em seguida você

acessa a opção Type e pressiona Enter duas vezes para que o cfdisk a transforme numa

partição swap. Criadas as duas partições, é só salvar e sair.

O cfdisk não oferece nenhuma opção para redimensionar partições. Para isso você deve

usar o gparted, ou outro particionador com que tenha familiaridade, como o Partition

Magic ou o particionador usado durante a instalação do Mandrake por exemplo (basta

iniciar a instalação até chegar ao particionamento do disco, alterar o particionamento,

salvar e em seguida abortar a instalação).

Lembre-se de que o cfdisk deve ser usado apenas se você deseja deletar ou criar

partições no HD. Se você quer apenas instalar o Kurumin numa partição que já existe

(mesmo que seja uma partição do Windows ou esteja formatada em outro sistema de

Page 124: Línux entendo o sistema[JP.Conteudo]

arquivos qualquer), pode dispensar o cfdisk, basta sair sem fazer nada. A formatação

propriamente dita é feita mais adiante durante a instalação.

Alguns programas de particionamento (como o do instalador do Mandrake) criam

tabelas de partição que não são entendidas pelo cfdisk. Neste caso, ao abrir o cfdisk

você receberá uma mensagem de erro sobre a tabela de partição. Isto não significa

necessariamente que exista algo errado com o seu HD, apenas que o cfdisk não

conseguiu entender a tabela de partição atual.

Isto é perfeitamente normal, basta pressionar Enter para fechar o cfdisk e prosseguir

com a instalação. O único problema neste caso é que você terá que recorrer a outro

programa para reparticionar o HD. Como disse acima, você pode usar um CD de

instalação do Mandriva, prosseguir até a parte de particionamento do disco e depois

abortar a instalação.

Se você quer apenas usar o cfdisk para reformatar o HD, sem se preocupar com os

dados, você pode fazer o cfdisk eliminar a tabela de partição do HD, criando uma nova

tabela em branco. Esta opção é perigosa (vai apagar todos os dados), por isso não foi

incluída no instalador. Se você quiser usá-la, abra o Root Shell encontrado em Iniciar >

Configuração do Sistema e chame o comando "cfdisk -z" e particione o disco a seu

gosto. Lembre-se, esta opção vai destruir todos os dados do HD.

Particionando com o gparted

O gparted é um particionador gráfico, bem mais amigável. Ao usá-lo, é importante

observar que todas as partições do HD devem estar desmontadas, ou seja, elas não

devem estar em uso. Ao dar boot com o CD do Kurumin, todas as partições ficam por

padrão desativadas. Elas são montadas quando você clica sobre os ícones das partições

dentro do "Meu Computador" para ver os arquivos. Para desmontá-las, clique com o

botão direito sobre o ícone e acione a opção "Desmontar".

Na tela principal, você verá um "mapa" do HD, com todas as partições disponíveis e

pode criar, deletar e redimensionar partições a partir dele. Neste exemplo, tenho uma

partição Windows de 6 GB, formatada em NTFS, onde apenas 1.4 GB estão usados (a

parte que aparece em amarelo no "mapa"). É possível redimensionar a partição

reduzindo seu tamanho para algo próximo do espaço ocupado, 2 ou 3 GB por exemplo.

Page 125: Línux entendo o sistema[JP.Conteudo]

Você pode usar o gparted para redimensionar a partição do Windows e liberar espaço

para o Kurumin. Ele é capaz de redimensionar tanto partições FAT32 quanto partições

em NTFS. A única exigência é que antes de redimensionar você deve primeiro

desfragmentar a partição alvo (reinicie e use o defrag do próprio Windows). Caso a

partição não esteja desfragmentada ele aborta a operação para evitar qualquer

possibilidade de perda de dados.

Para redimensionar, clique na partição e em seguida sobre a opção

"Redimensionar/Mover", onde você pode ajustar o novo tamanho da partição.

As alterações não são feitas automaticamente. Depois de revisar tudo clique no

"Aplicar" para que as modificações sejam aplicadas. O gparted utiliza vários outros

programas para checar as partições e fazer o trabalho pesado. Clique no botão "Details"

para ver os passos que estão sendo executados.

Page 126: Línux entendo o sistema[JP.Conteudo]

O gparted tem como principal objetivo evitar perda de dados, de forma que sempre que

ele encontra algum problema na partição, a operação é abortada. O problema mais

comum ao redimensionar partições Windows é o fato da partição estar fragmentada. O

gparted não tenta mover arquivos dentro da partição, ele apenas altera seu tamanho. Se

houver arquivos gravados no final da partição, ele se recusará a tentar redimensioná-la,

para evitar que estes arquivos sejam perdidos. Para corrigir o problema, volte ao

Windows e desfragmente a partição.

Depois de concluído, você ficará com um bloco cinza, que representa espaço livre, não

particionado. Para criar uma nova partição, clique com o botão direito sobre ele e em

seguida sobre o botão "Novo". Na tela seguinte você pode escolher o sistema de

arquivos em que a partição será formatada, seu tamanho e também se ela deve ser criada

como uma partição primária, ou uma partição lógica. Lembre-se de que você só pode

criar quatro partições primárias, ou até três primárias e uma extendida, com várias

partições lógicas dentro dela. Ao terminar, clique no "Adicionar" para concluir a

alteração.

Note que as alterações são realmente aplicadas apenas ao clicar sobre o "Aplicar". Se

mudar de idéia, basta usar o botão "Desfazer".

Para instalar, você precisa de uma partição Linux, formatada em ReiserFS, EXT2 ou

EXT3, e uma partição swap. A partição swap não é realmente obrigatória, você até pode

passar sem ela se tiver 512 MB de RAM ou mais. Porém, mesmo com bastante memória

RAM, é recomendável usar uma partição swap, pois ela permite que o sistema remova

bibliotecas e arquivos que não estão sendo usados da memória, em caso de necessidade,

deixando mais memória livre para rodar os aplicativos nos momentos em que você

estiver rodando muita coisa ao mesmo tempo e o PC estiver sofrendo para acompanhá-

lo :-).

Muita gente tem uma imagem errada do uso da memória swap por causa da forma burra

como ela é gerenciada no Windows 98. Nele, mesmo com muita memória disponível, o

sistema insiste em fazer swap, prejudicando o desempenho e tornando o sistema menos

responsivo.

Page 127: Línux entendo o sistema[JP.Conteudo]

No caso do Linux, principalmente ao usar uma distribuição recente, com o Kernel 2.6, o

gerenciamento é feito de forma muito mais inteligente. O sistema leva vários fatores em

conta na hora de decidir se usa swap ou não, usando-a apenas em casos de real

necessidade, ou quando seu uso vai melhorar o desempenho do sistema.

Usar swap para melhorar o desempenho parece paradoxal. Afinal, a swap é centenas de

vezes mais lenta que a memória RAM e tudo que é colocado nela demora muito tempo

para ser reavido. Porém, quando você abre muitos aplicativos e a memória RAM

começa a acabar, mover para a swap arquivos e bibliotecas que possuem pouca chance

de serem usados novamente faz sentido, pois libera memória para uso dos aplicativos

que você realmente está usando.

Outra coisa a levar em consideração é o cache de disco, espaços de memória que são

usados para copiar informações que são freqüentemente lidas no HD, de forma a

agilizar o acesso a elas. Você pode ver isso funcionando na prática: abra uma janela do

OpenOffice ou o Firefox. Da primeira vez demora um pouco para carregar. Feche a

janela e abra novamente. Da segunda vez já demorou bem menos, não é?

Isto acontece justamente porque na segunda abertura o sistema acessou boa parte das

informações a partir do cache, ao invés de ter de ler tudo novamente a partir do HD ou

CD. O cache de disco é um recurso que acelera absurdamente o tempo de carregamento

dos programas e arquivos. Com mais memória disponível, o sistema pode fazer mais

cache, melhorando perceptivelmente o desempenho.

A terceira questão é que sem swap o sistema não tem para onde correr em situações

onde você precisa abrir muitos programas ou executar alguma tarefa que realmente use

toda a memória disponível. Sem memória, o sistema vai começar a ficar lento e, em

situações mais extremas, os aplicativos começarão a fechar por falta de memória.

Se você tiver bastante espaço disponível no HD, crie uma partição swap de 1 GB ou 2

GB. Se o espaço estiver racionado, crie uma partição menor, de 300 ou 500 MB. O ideal

é que a partição swap seja maior em micros com pouca RAM e menor em micros com

mais memória.

Para criar a partição swap no gparted, escolha "linux-swap" no campo "Sistema de

Arquivos".

Page 128: Línux entendo o sistema[JP.Conteudo]

Uma dica é que o gparted também pode ser usado para criar partições FAT32 e NTFS

do Windows. Ou seja, você pode usá-lo também para particionar um HD para a

instalação do Windows ao invés daqueles ultrapassados disquetes de boot do Windows

98. Basta dar um boot com o Kurumin :).

Lembre-se de que o Kurumin ocupa cerca de 1.2 GB ao ser instado, mas você precisará

de espaço para guardar seus arquivos e instalar outros programas. O ideal é reservar

pelo menos 2 GB para o sistema e mais uns 500 MB (ou mais) de espaço para a partição

swap.

Se você tiver mais espaço disponível, aproveite para criar também uma partição extra

para armazenar o diretório /home, que veremos como configurar a seguir. Esta partição

separada permitirá reinstalar o sistema posteriormente sem perder seus arquivos, que

ficarão protegidos numa partição separada.

Em muitos micros é preciso reiniciar depois de modificar o particionamento do HD para

que o sistema seja capaz de perceber as alterações. A limitação neste caso é o BIOS da

placa-mãe, que em muitos casos só é capaz de ler a tabela de partições do HD durante o

boot. Se o instalador reclamar que não existem partições Linux disponíveis, mesmo que

você tenha feito tudo corretamente, é provável que seja este seu caso. Reinicie e comece

novamente a instalação, dessa vez passando batido pela parte de particionamento.

Copiando os arquivos

Depois de particionar o HD, chegamos à parte mais crucial da instalação, que é a cópia

dos arquivos propriamente dita. O instalador pergunta se você deseja usar uma partição

swap e em qual partição o sistema deve ser instalado. Note que a lista inclui apenas

partições formatadas em sistemas de arquivos do Linux, para evitar o clássico acidente

de formatar por engano a partição do Windows. Lembre-se de que a sua partição C:\ do

Windows é a "/dev/hda1" no Linux.

Page 129: Línux entendo o sistema[JP.Conteudo]

O Linux suporta vários sistemas de arquivos diferentes. A função do sistema de

arquivos é organizar o espaço disponível no HD, criar estruturas que permitem gravar e

ler arquivos de forma organizada. Os primeiros sistemas de arquivos suportados pelo

Linux, bem no começo do desenvolvimento, eram o Minix e o EXT. Ambos possuíam

limitações graves com relação ao desempenho e o tamanho máximo das partições, de

forma que ambos foram substituídos pelo EXT2, que continua em uso até hoje.

O EXT2 é um sistema similar à FAT32 do Windows. Os arquivos são organizados de

uma forma simples, com o HD dividido em vários clusters (que no EXT2 chamamos de

blocos), onde cada cluster armazena um arquivo ou um fragmento de arquivo. Um

índice no início do HD guarda uma tabela com os endereços de cada arquivo no HD.

Muita gente gosta desta simplicidade e por isso continua usando o EXT2 até hoje. O

problema é que, assim como o FAT32, o EXT2 tem uma grande tendência a perder

dados quando o micro é desligado incorretamente (o que num desktop é muito comum).

Nestes casos entra em ação o fsck, que vasculha todos os arquivos da partição, de forma

a detectar e corrigir erros, da mesma forma que o scandisk do Windows. Os dois

problemas fundamentais com o fsck são que:

1- O teste demora muito.

2- Ele só corrige erros simples. Sempre que um problema mais grave é detectado, o

carregamento do sistema é abortado e você cai num prompt de recuperação (herança da

época em que o Linux era feio, estranho e complicado), onde você precisa conhecer e

saber usar os comandos necessários para reparar os erros manualmente.

Ou seja, a menos que você tenha um nobreak e seu micro nunca seja desligado no botão,

não use o EXT2. Ele é um sistema obsoleto, assim com o FAT32 no Windows.

Temos em seguida o EXT3, uma evolução do EXT2, que inclui um sistema de

journaling. O journal (diário) consiste numa espécie de log, que armazena todas as

alterações que são feitas nos arquivos e quando elas foram concluídas.

Quando o micro é desligado incorretamente, o fsck consulta este jornal para corrigir os

erros, sem precisar executar o teste completo. Isso diminui bastante o problema, mas

não o corrige completamente, pois o journal é na verdade um arquivo, que assim como

os outros pode ser perdido. Quando isso acontece, o fsck precisa realizar o teste

completo e, caso encontre algum problema, te joga novamente no estúpido prompt de

recuperação. Um terceiro problema é que o journal precisa ser atualizado conforme as

alterações são feitas, um trabalho extra que reduz o desempenho de leitura e gravação

de dados em até 30% em relação ao EXT2.

Finalmente, temos o ReiserFS, que está para o EXT2 e o EXT3 da mesma forma que o

NTFS está para o FAT32 no Windows. Ele é um sistema mais moderno, que inclui

muitos recursos para a proteção dos dados e do próprio sistema de arquivos no caso de

problemas diversos e desligamentos incorretos. O ReiserFS também aproveita melhor o

espaço, agrupando arquivos pequenos, de forma que eles sejam gravados de forma

contínua. Isso acaba fazendo uma grande diferença, pois no Linux temos uma

quantidade muito grande de pequenos executáveis, bibliotecas e arquivos de

configuração.

Page 130: Línux entendo o sistema[JP.Conteudo]

O ReiserFS é um sistema bastante robusto, bem melhor adaptado para suportar os maus-

tratos típicos de um desktop, por isso é o sistema recomendado. Você pode ver uma

descrição técnica dos recursos do sistema e alguns benchmarks no: http://namesys.com/.

- Corrigindo problemas em partições ReiserFS:

Problemas de corrupção de dados no ReiserFS são bastante raros. Mas, caso chegue ao

ponto do sistema não dar boot por causa de um problema grave, causado por um

desligamento no botão, é possível reparar a partição dando boot com um CD do Kurumin.

Comece (a partir do CD) abrindo um terminal e logando-se como root, usando o comando

"sudo su". A partir daí, rode o comando:

# reiserfsck --check /dev/hda1

Ele exibe um aviso: Do you want to run this program?[N/Yes] (note need to type Yes if you

do):

Ou seja, você precisa digitar "Yes" para continuar; caso apenas dê Enter, ele aborta a

operação. Ele vai verificar toda a estrutura do sistema de arquivos e indicar os erros

encontrados. O próximo passo é usar a opção "--fix-fixable":

# reiserfsck --fix-fixable /dev/hda1

Este segundo comando efetivamente corrige todos os erros simples, que possam ser

corrigidos sem colocar em risco as demais estruturas do sistema de arquivos. Em 90% dos

casos isto é suficiente.

Se for encontrado algum erro grave, ele vai abortar a operação. Estes erros mais graves

podem ser corrigidos com o comando:

# reiserfsck --rebuild-tree /dev/hda1

Este comando vai reconstruir do zero todas as estruturas do sistema de arquivos,

vasculhando todos os arquivos armazenados. Esta operação pode demorar bastante, de

acordo com o tamanho e quantidade de arquivos na partição. Nunca interrompa a

reconstrução, caso contrário você não vai conseguir acessar nada dentro da partição até

que recomece e realmente termine a operação.

O --rebuild-tree vai realmente corrigir qualquer tipo de erro no sistema de arquivos. Ele

só não vai resolver o problema caso realmente exista algum problema físico, como, por

exemplo, um grande número de setores defeituosos no HD.

Outros sistemas "modernos" são o XFS e o JFS, que são otimizados para uso em

servidores. Eles também são relativamente populares, mas não são usados no instalador

para não aumentar muito o número de opções.

Page 131: Línux entendo o sistema[JP.Conteudo]

Depois de selecionar a partição e o sistema de arquivos, o instalador confirma mais uma

vez se você realmente quer formatar a partição para instalar o sistema. Existe aqui uma

opção de atualização escondida, que foi incluída a partir do Kurumin 4.2. Se você

responder "Não", o instalador vai copiar os arquivos sem formatar a partição,

atualizando uma versão anterior do Kurumin instalada, sem apagar seus arquivos e

configurações.

Assim como no Windows, esta opção de atualização é mais propensa a problemas, pois

é difícil preservar todos os programas instalados e todas as modificações que foram

feitas. Embora a atualização funcione bem na maioria dos casos, alguns programas

podem deixar de funcionar (o que pode ser resolvido simplesmente reinstalando-os). Os

arquivos e configurações, que são o mais importante, são sempre preservados.

Page 132: Línux entendo o sistema[JP.Conteudo]

A cópia dos arquivos propriamente dita é muito rápida, de 4 minutos (num PC atual) a

12 minutos (num Pentium II com 128 MB e um CD-ROM de 32x). Embora o sistema

fique carregado durante a cópia, nada impede que você navegue ou faça alguma outra

coisa enquanto o sistema está sendo instalado. Os dados são copiados diretamente a

partir do CD-ROM (que é somente leitura) para dentro da partição, de forma que a cópia

não é perturbada mesmo que você crie ou modifique alguns arquivos durante a

instalação.

Concluindo a instalação

Depois de copiar o sistema, o instalador faz algumas perguntas, usadas para concluir a

configuração. A primeira é sobre a configuração da rede, onde você pode definir um

nome para a máquina e depois a opção de configurar a rede automaticamente via DHCP

ou especificar manualmente o endereço IP, gateway e servidor DNS.

Uma observação importante é que o nome da máquina não pode conter espaços nem

caracteres especiais. Usar um nome como "Dandão #$@" vai causar sérios problemas,

pois o sistema não conseguirá atualizar o nome da máquina durante o boot e vários

programas deixarão de funcionar corretamente. Use um nome simples, contendo apenas

letras e números, ou mantenha o padrão.

Até o Kurumin 5.0, era perguntado se você queria configurar a rede durante a

instalação. Se você conecta via ADSL com autenticação (Speedy, Velox, etc.) usando o

pppoeconf, você deveria responder "Não" e deixar para configurar depois de concluída

a instalação.

Para simplificar as coisas, a partir do 5.1, a configuração da rede passou a ser feita no

primeiro boot depois da instalação, como parte do assistente de boas-vindas.

Claro, não poderíamos nos esquecer de escolher uma senha para o root e também para o

usuário kurumin, que será usado depois de concluída a instalação. O instalador não

aceita senhas em branco. É importante usar boas senhas ao acessar a internet, pois a

Page 133: Línux entendo o sistema[JP.Conteudo]

senha é a última linha de proteção caso você mantenha o SSH ou outros servidores

ativos. Senhas fáceis são a principal causa de invasões em sistemas Linux.

O usuário kurumin (ou knoppix nas versões antigas) é uma espécie de power-user,

criado com o objetivo de facilitar o uso do sistema para novos usuários. Ele tem acesso

aos utilitários de configuração, permissão para instalar novos programas e configurar

programas como o K3B, de modo que você não precise ficar toda hora fornecendo a

senha de root.

O usuário kurumin possui privilégios suficientes para usar o sistema sem sobressaltos,

mas sem abrir as várias brechas de segurança de usar o usuário root diretamente. É um

meio termo entre segurança e praticidade. O Ubuntu adota um sistema similar, onde a

conta de root é desativada e você usa o comando "sudo" (como no Kurumin) quando

precisa executar comandos como root. A principal diferença é que o Ubuntu confirma a

senha (da conta de usuário, não do root) periodicamente.

Se você é um usuário com mais experiência, pode preferir criar um novo usuário, este

sim um usuário "comum", sem privilégios especiais. Para criar mais usuários depois da

instalação, use o comando "adduser" (como root) como em "adduser joao". Os novos

usuários aparecem automaticamente na tela de login.

Se preferir um utilitário gráfico, você pode usar o "users-admin", que pode ser

executado pelo terminal, ou pelo ícone no "Iniciar > Sistema > Gnome System Tools".

Ele pode ser encontrado também no Fedora (onde se chama "system-config-users") e no

Mandriva (onde se chama "userdrake").

Page 134: Línux entendo o sistema[JP.Conteudo]

Você pode ativar ou desativar o uso do sudo, que é o responsável pelos privilégios

administrativos a qualquer momento, usando as opções dentro do painel dos ícones

mágicos. Estas opções fazem as alterações necessárias no arquivo "/etc/sudoers" e a

alteração passa a valer imediatamente. Não é preciso reiniciar o KDE.

Naturalmente, para ativar o sudo para um novo usuário, é preciso fornecer a senha de

root.

Page 135: Línux entendo o sistema[JP.Conteudo]

Configurando o Lilo

A última etapa da instalação é a configuração do Lilo, o gerenciador de boot usado para

inicializar o sistema, e pode ser configurado para inicializar também o Windows e

outras distribuições Linux instaladas no HD.

Você tem a opção de instalar o Lilo na trilha MBR do HD, fazendo com que o Kurumin

passe a ser o sistema default (respondendo "Sim" à pergunta), ou instalar o Lilo na

partição (respondendo "Não").

Quando você liga o micro, o BIOS da placa-mãe detecta o HD, CD-ROM, disquete e

outros periféricos instalados. Depois de terminar seu trabalho, o BIOS procura por

algum sistema operacional para carregar, seja no HD, CD-ROM, disquete ou mesmo via

rede, de acordo com o configurado no setup.

No caso do HD, o BIOS lê apenas os primeiros 512 bytes, que são justamente a trilha 0,

ou trilha MBR do HD. Neste pequeno espaço vai a tabela de partição e o gerenciador de

boot.

Cada sistema operacional utiliza um gerenciador de boot próprio. Como o espaço no

MBR é muito reduzido, apenas um pode ser instalado no MBR de cada vez. Quando um

sistema grava seu gerenciador no MBR, automaticamente apaga o do anterior.

Ao ter mais de um sistema instalado, a solução é gravar apenas um deles no MBR e

gravar dos demais no primeiro setor da partição onde cada sistema está instalado. Com

isso, o gravado na MBR pode ser configurado para carregar os demais.

Se o Kurumin for o único sistema instalado, basta responder Sim e seus problemas

acabaram. Se por outro lado você está instalando o Kurumin em dual-boot com o

Page 136: Línux entendo o sistema[JP.Conteudo]

Windows ou outra distribuição do Linux, siga os seguintes passos para configurar os

dois sistemas em dual-boot:

1) Windows + Kurumin: Se o Windows já está instalado, responda "Sim" para que o

lilo seja gravado na MBR. O Windows grava seu gerenciador de boot tanto na MBR

quanto no primeiro setor da partição, por isso é o mais fácil de configurar. Por ser

gravado na MBR, o lilo será carregado primeiro e oferecerá a opção de escolher entre

carregar o Kurumin ou o Windows a cada boot.

Isso é feito adicionando duas linhas no arquivo de configuração do lilo, que explicam

para ele que existe outro sistema instalado. A partir do Kurumin 5.0 esta configuração é

feita automaticamente, nas versões antigas é necessário adicionar as linhas

manualmente:

other = /dev/hda1

label = Windows

2) Kurumin + Outra distribuição Linux: Ao instalar o Kurumin em dual boot com

outra distribuição, é necessário que você configure um para gravar na MBR e o outro

para gravar na partição. Instale a outra distribuição primeiro, responda que não quer

gravar o gerenciador de boot na MBR durante a instalação e, ao instalar o Kurumin,

adicione as mesmas duas linhas na configuração do lilo, dizendo a partição onde a outra

distribuição está instalada e dando um nome para ela, como em:

other = /dev/hda2

label = Mandriva

Uma observação importante: Os nomes não podem ter mais de 14 caracteres e não

podem conter espaços ou caracteres especiais.

O arquivo de configuração do lilo é o "/etc/lilo.conf". O instalador lhe dá a chance de

revisar a configuração do arquivo, onde você pode incluir as linhas caso necessário:

Page 137: Línux entendo o sistema[JP.Conteudo]

Os comentários no arquivo são auto-explicativos. Tudo o que você precisa fazer é retirar

os comentários (#) das linhas referentes à partição onde está instalado o outro sistema

operacional (caso ele não tenha sido detectado automaticamente pelo instalador) e

salvar o arquivo.

No screenshot abaixo, por exemplo, o Kurumin está sendo instalado em dual-boot com

o Windows XP. O instalador detectou o dual-boot e colocou as linhas referentes ao

Windows automaticamente. O único erro é que o label ficou "WinNT(hda1)", mas, fora

a questão estética isso não faz diferença. Você pode mudar o label para "WinXP" ou

qualquer coisa do gênero se quiser:

Depois de salvar o arquivo, basta fechar a janela para continuar a instalação.

A partir daí você tem a opção de escolher qual sistema operacional será carregado

durante o boot. Você pode configurar o lilo do Kurumin para inicializar vários sistemas

diferentes se for o caso, basta ir descomentando os pares de linhas correspondentes.

Para modificar a configuração do lilo depois de concluída a instalação, abra o arquivo

"/etc/lilo.conf" (como root) e, depois de salvar as alterações, execute o comando "lilo"

(novamente como root) para que elas sejam gravadas no HD.

Page 138: Línux entendo o sistema[JP.Conteudo]

Depois de instalado no HD, o desempenho do Kurumin fica melhor, pois o processador

não precisa mais ficar descompactando os dados do CD, além de que um HD sempre

oferece um tempo de busca bem menor.

Usando uma partição separada para o diretório /home

Desde o Kurumin 2.0, existe a opção de instalar o diretório "/home" numa partição

separada do restante do sistema, opção que é dada no final da instalação. Naturalmente,

para usar este recurso, é preciso que você tenha criada uma partição adicional ao

particionar o HD.

O mais comum neste caso é criar uma partição menor, de 4 a 8 GB para instalar o

sistema (de acordo com a quantidade de programas adicionais que você pretende

instalar), uma partição swap de 1 ou 2 GB e uma partição maior, englobando o restante

do HD, para ser usada como "/home". A partição home deve ser maior, pois é nela que

serão guardados seus arquivos, músicas, e-mails, trabalhos, filmes, etc., coisas que

normalmente ocupam bem mais espaço que os arquivos do sistema.

Page 139: Línux entendo o sistema[JP.Conteudo]

Usar uma partição separada permite que você possa reinstalar o sistema sem perder seus

arquivos e configurações, o que é especialmente interessante no caso do Kurumin, que é

atualizado freqüentemente.

Usando um diretório home separado, as reinstalações tornam-se mais transparentes,

você ainda precisa reinstalar os programas (o que não é tão complicado assim se você

usar os ícones mágicos), mas todas as configurações dos aplicativos são preservadas.

Cada programa armazena suas configurações dentro de uma pasta oculta dentro do seu

diretório de usuário, como ".mozilla", ".kde", etc. Mesmo ao reinstalar o sistema, estas

pastas são reconhecidas e as configurações antigas preservadas. Basta tomar o cuidado

de guardar também todos os seus arquivos dentro do diretório home e você não perderá

quase nada ao reinstalar.

Page 140: Línux entendo o sistema[JP.Conteudo]

O primeiro passo é indicar a partição que deseja usar. Como já vimos, no Linux as

partições aparecem como dispositivos dentro do diretório /dev/, como "/dev/hda1" (para

a primeira partição, o C: no Windows) ou "/dev/hda2". Em caso de dúvidas, você pode

ver um mapa mostrando como o HD está formatado dentro do gparted.

Preste atenção quando o instalador perguntar se a partição já está formatada. A legenda

nesse caso é auto-explicativa; responda que "sim" se você tem dados na partição e quer

usá-la da forma como está, ou responda "não" apenas se você acabou de criar a partição

e quer formatá-la para usar.

Caso você esteja usando uma partição home de uma instalação anterior, responda "sim"

e indique em qual sistema de arquivos a partição está formatada. O instalador suporta

partições home formatadas em ReiserFS, EXT2 e EXT3. Lembre-se de que o ReiserFS

é a opção recomendada.

Em seguida o instalador abre uma janela do kedit com o arquivo "/etc/fstab", onde vão

as informações sobre todas as partições e outros sistemas de arquivos que são montados

durante o boot. Esta janela é apenas "um extrato para simples conferência"; você não

precisa se preocupar em alterar mais nada. As linhas adicionadas pelo instalador vão no

final do arquivo, como em:

Page 141: Línux entendo o sistema[JP.Conteudo]

# Monta a partição /home, adicionado pelo instalador do Kurumin

/dev/hda2 /home reiserfs notail 0 2

Veja que a sintaxe não é tão complicada assim. Traduzindo para o Português, a linha

diz: "Monte a partição /dev/hda2 no diretório /home. Esta partição está formatada em

ReiserFS e você deve montá-la usando a opção notail (que melhora o desempenho no

acesso à partição)".

Ao reinstalar o sistema, você deve apenas repetir o processo, indicando a partição,

dizendo que ela já está formatada e indicando o sistema de arquivos. O resto é

automático.

Outra opção para usar o diretório home numa partição separada (que muitos acham mais

simples) é simplesmente copiar a pasta home para dentro da outra partição e criar um

link para ela, substituindo a pasta home do sistema.

Imagine que você tem o sistema instalado e algum tempo e agora quer reinstalar sem

perder os arquivos do home. Você tem uma partição livre, a "/dev/hda2" disponível.

O primeiro passo seria montar a partição livre e em seguida copiar o home atual para

ela. É importante fazer isso como root, usando o comando "cp -a", que faz uma cópia

exata, mantendo todas as permissões dos arquivos. Se a sua pasta home é "/home/joao",

o comando seria:

# cp -a /home/joao /mnt/hda2

Depois de reinstalar o sistema, crie novamente o usuário "joao" e edite o arquivo

"/etc/fstab", para que a partição "/dev/hda2" (onde está o home) seja montada

automaticamente durante o boot. A linha referente a ela ficará algo como "/dev/hda2

/mnt/hda2 reiserfs notail 0 2".

Monte a partição ou reinicie o micro para verificar se a configuração está correta. Se a

partição estiver montando corretamente, falta apenas o último passo que é criar o link.

Mova o home vazio criado ao cadastrar o usuário no sistema e o substitua por um link

apostando para o home dentro da partição:

# mv /home/joao /home/joao-old

# ln -s /mnt/hda2/joao /jome/joao

Embora possa ser um pouco mais trabalhosa, esta segunda receita tem um efeito similar

à primeira. Você escolhe qual prefere usar ;).

Depois de reiniciar o micro, você tem a opção de configurar a conexão com a internet,

atualizar a lista de pacotes do apt-get (apt-get update) e de ativar o firewall. Os dois

passos são opcionais; atualizar a lista de pacotes do apt é necessário para poder instalar

novos programas usando o apt-get ou os ícones mágicos, e ativar o firewall é sempre

uma boa idéia se seu micro está diretamente conectado à internet.

Page 142: Línux entendo o sistema[JP.Conteudo]

Capítulo 4: Configurando e resolvendo

problemas

No Linux quase tudo é configurado através de arquivos de texto. Usuários avançados

geralmente preferem editar muitos destes arquivos diretamente para configurar o

sistema, mas existem muitos programas de configuração que facilitam as coisas.

O Kurumin inclui uma quantidade muito grande de scripts e pequenos programas de

configuração que são agrupados num painel de controle central que batizei de Clica-

Aki. Você encontra o ícone para abri-lo no "Iniciar > Configuração do Sistema" ou

dentro da pasta "Meu Computador", no Desktop.

A idéia é que as opções incluídas no Painel sejam auto-explicativas, por isso uma

grande parte do desenvolvimento se concentra em adicionar instruções e textos de

ajuda. O objetivo é criar uma ferramenta simples de usar, mas ao mesmo tempo bastante

poderosa.

As opções estão agrupadas em categorias. Até o Kurumin 4.2, as opções para instalar

novos programas e instalar servidores só funcionavam com o Kurumin instalado no HD,

por causa da limitação óbvia de não ser possível instalar novos programas com o

sistema rodando a partir do CD-ROM, já que ele é somente-leitura.

Mas, a partir do Kurumin 5.0, esta última limitação foi derrubada, com a inclusão do

UnionFS. Graças a ele, passou a ser possível usar o apt-get e os ícones mágicos para

instalar novos programas e mexer em todos os arquivos de configuração do sistema,

mesmo com o sistema rodando do CD.

Isto permite testar os recursos do sistema com muito mais liberdade, sem precisar

instalar. Você pode dar boot, instalar um servidor Apache e Squid, os drivers da nVidia,

o VMware e outros programas que quiser testar e reiniciar o micro, como se nada

tivesse acontecido.

O UnionFS funciona de uma forma bastante engenhosa, uma daquelas idéias

aparentemente simples, que resolvem problemas complexos.

Com o Kurumin rodando a partir do CD, os arquivos armazenados no diretório home e

alguns arquivos de configuração, que precisam ser alterados durante o boot, são

armazenados num ramdisk (um disco virtual, criado usando uma parte da memória

RAM); mas, fora isto, tudo é acessado dentro do arquivo /cdrom/KNOPPIX, que, além

de fazer parte do CD, está compactado num formato que não permite alterações,

completamente selado.

Para permitir esta "mágica", o UnionFS permite juntar dois (ou mais) diretórios em um,

estabelecendo uma hierarquia entre eles. O "Union" vem justamente de "união".

Temos então o arquivo compactado do CD num nível hierárquico mais baixo, montado

como somente leitura e um ramdisk, que originalmente está quase vazio, mas que vai

armazenando todas as alterações. Os dois são montados numa única pasta, a

/UNIONFS, que contém o conteúdo do arquivo compactado e do ramdisk. Os links que

Page 143: Línux entendo o sistema[JP.Conteudo]

tradicionalmente apontariam para a pasta "/KNOPPIX", onde fica montado o arquivo

compactado, são todos recriados apontando para ela.

Na hora de ler um arquivo, o sistema verifica se existe uma versão mais recente

armazenada no ramdisk, caso contrário lê no arquivo principal. Na hora de gravar, as

alterações são sempre armazenadas no ramdisk, de forma automática e transparente.

No final, você acaba podendo instalar programas e fazer qualquer tipo de alteração no

sistema, da mesma forma que se ele estivesse instalado. As limitações neste caso são

que todas as modificações são salvas no ramdisk. Para conseguir instalar programas

grandes com o sistema rodando a partir do CD, você precisa ter 512 MB de RAM. Caso

contrário, você pode instalar alguns programas pequenos de cada vez e ir reiniciando o

micro para testar outros, conforme a memória for sendo ocupada.

O UnionFS é ativado por padrão durante o boot, quando é exibida a mensagem

"UnionFS: União do CD/DVD (ro) com o ramdisk (rw) realizada com sucesso". Não é

preciso usar nenhuma opção de boot, basta atualizar a lista do apt-get, executando o

comando "sudo apt-get update" e começar a instalar programas.

Configuração do som

Existem dois conjuntos de drivers de som disponíveis no Linux: o OSS é o mais antigo,

com uma arquitetura mais simples e suporte a um número menor de placas de som,

usado desde as primeiras versões do Kernel. O Alsa é mais moderno, com suporte a

mais placas e drivers com mais recursos.

O Alsa é o sistema padrão no Kernel 2.6 e nas versões recentes do Kurumin, baseados

nele.

O utilitário padrão para detectar a placa de som ao usar o Alsa é o alsaconf (que deve

ser executado como root, num terminal). Você pode usá-lo sempre que quiser redetectar

a placa de som, ou em casos em que ela não seja detectada automaticamente durante o

boot. Você pode também acioná-lo usando a opção dentro da seção "Suporte a

Hardware" no Painel de Controle.

Page 144: Línux entendo o sistema[JP.Conteudo]

O alsaconf roda em modo texto justamente para que seja compatível com qualquer

distribuição independente do ambiente gráfico instalado. Ele é uma das ferramentas

padrão, que você encontra em qualquer distribuição.

Ao ser executado, ele fecha todos os programas que estejam usando o som, por isso

tome sempre o cuidado de salvar seus trabalhos. Depois de ativar a placa, ajuste os

volumes usando o kmix (o ícone do alto-falante ao lado do relógio). Se preferir, você

pode usar também o aumix ou o alsamixer. Em muitas distribuições, o som fica mudo

por padrão, até que você ajuste o volume.

Outra observação importante sobre o suporte a placas de som é que ao contrário de

placas mais caras, como as SB Live e Audigy, muitas placas de som onboard e os

modelos PCI baratos não suportam múltiplos fluxos de som simultâneos via hardware.

Ou seja, a placa originalmente não é capaz de reproduzir um MP3 e tocar os sons de

sistema ao mesmo tempo.

No Windows este recurso é implementado via software, através de funções incluídas

nos drivers das placas. No Linux, isto é feito através de um servidor de som, o Kurumin

usa o Arts, o servidor de som do KDE. A função do servidor de som é processar os

eventos de som e mandar tudo mastigado para a placa de som. Ele serve como um

intermediário entre os programas e o hardware.

O problema é que muitos aplicativos e jogos só sabem utilizar os drivers OSS antigos.

O Alsa oferece uma camada de compatibilidade que permite que estes aplicativos

funcionem na maioria dos casos e o Arts vem configurado para fechar automaticamente

depois de 4 segundos sem uso. Ou seja, se você fechar todos os programas que usam o

som e contar até 4, a sua placa de som vai estar livre para ser utilizada por programas

antigos.

Page 145: Línux entendo o sistema[JP.Conteudo]

Programas baseados na biblioteca do Gnome, como o XMMS e o gMplayer incluídos

no Kurumin, podem ser configurados tanto para acessar a placa de som diretamente,

seja usando os drivers Alsa quanto os drivers OSS, quanto para usar o Arts.

Em muitos programas, o default é utilizar o Arts sempre que possível, mas caso você

esteja tendo problemas com o som em algum aplicativo em particular, experimente dar

uma olhada na configuração e ver se não existe uma opção para mudar o servidor de

som usado. Veja por exemplo a configuração do gMplayer:

Você pode experimentar mudar para a opção "alsa 1x". Isso faz com que o programa

passe a acessar a placa diretamente, sem passar pelo Arts.

O XMMS oferece uma opção semelhante em Preferências > Plugins E/S de Áudio >

Plugin de saída:

Na maioria das distribuições, o Arts vem desativado por padrão, permitindo que os

programas acessem a placa de som diretamente. Caso você esteja tendo problemas para

usar o som simultaneamente em mais de um aplicativo por vez, ou alguns programas

Page 146: Línux entendo o sistema[JP.Conteudo]

estiverem "travando" a placa de som, impedindo que outros usem o som mesmo depois

de finalizados, experimente ativar o Arts, marcando a opção "Habilitar o Sistema de

Som", dentro do Painel de controle do KDE, seção "Som & Multimídia > Sistema de

Som":

Configuração da impressora

Antigamente, configurar uma impressora no Linux era muito mais complicado.

Existiam vários sistemas de impressão diferentes, era preciso pesquisar qual deles

suportava sua impressora e depois sair configurando cada programa para utilizá-lo.

Hoje em dia, configurar uma impressora no Linux é até mais fácil que no Windows. O

KDE vem com o kaddprinterwizard, um utilitário bem fácil de usar e o kprinter, um

servidor de impressão que unifica os drivers disponíveis e permite que as impressoras

instaladas no kaddprinterwizard sejam usadas em qualquer programa do KDE.

Você pode abri-lo através da opção "Instalar uma Impressora" dentro da seção "Suporte

a Hardware" do Painel de controle ou chamá-lo diretamente pelo terminal. Ao contrário

da maioria dos programas de configuração, você não precisa abrir o kaddprinterwizard

como root.

Page 147: Línux entendo o sistema[JP.Conteudo]

Note que no Painel estão disponíveis também opções para compartilhar a impressora

com a rede (as impressoras compartilhadas podem ser instaladas também nas máquinas

Windows), rodar o printconf (um utilitário simples, que tenta detectar e configurar a

impressora automaticamente) e também gerenciar as impressoras já instaladas.

Na tela principal do kaddprinterwizard estão disponíveis várias opções. Ele permite

instalar tanto impressoras locais quanto impressoras de rede. Servem impressoras

compartilhadas em máquinas Windows, em outras máquinas Linux da rede, etc.:

Page 148: Línux entendo o sistema[JP.Conteudo]

- Local Printer (parallel, serial, USB): Esta opção é a mais usada, permite configurar

uma impressora local, ligada na porta paralela ou USB. Na segunda tela ele mostra a

porta e o modelo das impressoras encontradas e, em seguida, você pode escolher o

driver, configurar o tipo de papel e qualidade de impressão.

Em muitos casos serão oferecidas várias opções de drivers de impressão. A menos que

você tenha alguma preferência por um driver em particular (sempre existem pequenas

diferenças entre os recursos), o ideal é simplesmente aceitar a opção recomendada.

- SMB shared Printer (Windows): Permite instalar uma impressora compartilhada no

Windows ou num servidor Linux rodando o Samba. Você deve especificar o endereço

IP do servidor e o nome do compartilhamento.

- Remote Cups server (IPP/HTTP): Instalar uma impressora compartilhada num

servidor Linux através do Cups. Em geral os clientes configuram estas impressoras

automaticamente, mas esta opção permite configurar manualmente caso a autodetecção

falhe.

Na segunda tela você deve indicar a localização da impressora. Se você está instalando

uma impressora local, indique se a impressora está conectada na porta paralela ou numa

porta USB. Em geral ele acha a impressora sozinho e só pede sua confirmação. Caso

você esteja instalando uma impressora de rede, ele pedirá o IP ou nome do servidor e o

nome da impressora compartilhada.

O próximo passo é indicar a marca e modelo da impressora, ou, em outras palavras,

indicar o driver de impressão que será usado.

Page 149: Línux entendo o sistema[JP.Conteudo]

Existe um ícone mágico na seção de suporte a Hardware que instala um driver adicional

para impressoras Lexmark. Ao instalá-lo, os novos drivers aparecem dentro do

kaddprinterwizard, na seção de impressoras da Lexmark.

Como de praxe, depois de instalar a impressora você pode também configurar o tipo de

papel, qualidade de impressão, etc.:

Page 150: Línux entendo o sistema[JP.Conteudo]

Como disse no início, existem vários conjuntos de drivers para impressora no Linux,

como o Gimp-Print, Hpijs, Foomatic, etc. O kaddprinterwizard unifica todos estes

drivers, permitindo configurar a impressora num só lugar.

Em muitos casos, a mesma impressora pode ter vários drivers disponíveis diferentes.

Neste caso, ele pergunta qual você deseja usar, mas sempre colocando um deles, o

melhor testado ou com melhores recursos como "[recommended]". Se por acaso este

driver recomendado não funcionar corretamente ou não oferecer algum recurso de que

você precisa, você pode voltar e testar os outros.

Os programas do KDE sempre usam o kprinter como padrão, mas outros programas

vêm pré-configurados para usar o lpr ou outro sistema. Nestes casos a solução mais fácil

é simplesmente configurar o programa para usar o kprinter como comando de

impressão.

Por exemplo, no Mozilla Firefox vá em Arquivo > Imprimir > Propriedades e coloque o

kprinter como comando de impressão:

Page 151: Línux entendo o sistema[JP.Conteudo]

Assim, ao imprimir qualquer coisa, o Firefox passa a chamar o menu de impressão do

KDE ao invés de tentar imprimir diretamente:

Suporte a scanners

O suporte a scanners no Linux, de uma forma geral, é provido por dois programas, o

Sane (a biblioteca que contém os drivers) e o Xsane, a ferramenta que detecta e

configura os scanners conectados. Ele é capaz de detectar scanners USB e alguns

scanners paralelos suportados. Chame-o com o comando xsane, ou use o ícone no

menu.

Page 152: Línux entendo o sistema[JP.Conteudo]

Depois de configurar o scanner no Xsane, você pode usar o Kooka para escanear as

imagens. Ele inclui também um software de OCR e outros recursos:

Page 153: Línux entendo o sistema[JP.Conteudo]

O manual do Kooka está disponível no:

http://www.kde.org/apps/kooka/doc/manual.php.

Você pode ver uma lista de scanners suportados pelo Sane no:

http://sane-project.org/sane-mfgs.html

Veja mais informações sobre o suporte a scanners no Linux em:

http://www.buzzard.org.uk/jonathan/scanners-usb.html

http://orbita.starmedia.com/~neofpo/

Mais uma observação é que muitos scanners USB utilizam um arquivo de firmware que

deve ser transferido para o scanner antes que ele comece a funcionar. O firmware é o

software responsável por fazer o hardware funcionar. Sem ele nada funciona.

O arquivo binário pode ser encontrado dentro do CD de drivers do scanner, geralmente

um arquivo com a extensão .bin, como por exemplo "u34v101.bin".

Estes scanners são suportados pelo snapscan, mais um front-end para o sane, que pode

ser encontrado em: http://snapscan.sourceforge.net/.

Configuração do mouse

No Linux, a configuração do mouse faz parte da configuração do vídeo, que vai no

arquivo "/etc/X11/xorg.conf". Em 99% dos casos o mouse é detectado

automaticamente, mesmo que você tenha mais de um, como ao usar um mouse USB

num notebook que já possui um touchpad. Mas, existem algumas dicas que podem ser

usadas em caso de problemas.

Se você está tendo problemas com seu mouse ou teclado USB, reinicie e desative a

opção "USB LEGACY SUPPORT" no Setup do micro. Esta opção ativa uma camada

de compatibilidade, destinada a fazer o teclado e mouse funcionarem no MS-DOS, que

em algumas placas faz com que o sistema deixe de detectar os dispositivos e ativar os

drivers necessários durante o boot. Pressione a tecla "DEL" durante a contagem de

memória para acessar o setup.

Caso você realmente precise revisar a configuração do mouse manualmente, abra o

arquivo "/etc/X11/xorg.conf" num editor de textos. Se você estiver no KDE (e sem

mouse), pressione Alt+F2 para abrir o "executar comando" e chame o "kdesu kedit

/etc/X11/xorg.conf" (para abrir o kedit como root), ou uma janela de terminal. Se estiver

no modo texto, logue-se como root e rode o comando "mcedit /etc/X11/xorg.conf".

A configuração do mouse, dentro do arquivo, é dividida em duas seções. Na primeira

você especifica o tipo de mouse que está usando e, em seguida, existe uma seção maior

com a configuração de cada tipo.

O arquivo do Kurumin vem comentado, o que facilita a configuração. Este mesmo

arquivo pode ser usado em outras distribuições, já que todas usam o mesmo servidor

gráfico, o X.org ou (nas mais antigas) o Xfree. Basta copiar o arquivo, substituindo o

arquivo padrão da outra distribuição para que o vídeo e mouse fiquem configurados da

mesma maneira que estão no Kurumin.

Page 154: Línux entendo o sistema[JP.Conteudo]

Logo no começo do arquivo, procure a linha com a configuração do mouse, como em:

InputDevice "USB Mouse" "CorePointer"

O "USB Mouse" indica o tipo de mouse usado. Você pode substituí-lo por "PS/2

Mouse" ou "Serial Mouse", no caso de um mouse serial. Nas versões do Kurumin que

usam o Kernel 2.6 (a partir do 4.0), a opção para mouses USB funciona também com

mouses PS/2 e touchpad, de forma que normalmente você só precisará alterar esta opção

caso use um antigo mouse serial.

O restante da configuração, como a sensibilidade do cursor, comportamento da roda,

intervalo do clique duplo, etc. é feita no Painel de Controle do KDE, na seção

Periféricos > Mouse.

Page 155: Línux entendo o sistema[JP.Conteudo]

Alguns mouses PS/2 utilizam uma taxa de leitura diferente da padrão e por isso o cursor

fica muito "leve" e difícil de controlar. Nos casos em que alterar a aceleração e

sensibilidade do mouse através do painel de controle do KDE não resolver, você pode

corrigir o problema alterando diretamente a configuração do X.

Procure a seção referente a seu mouse dentro do arquivo "/etc/X11/xorg.conf" e

adicione a linha Option "Resolution" "800", como em:

Section "InputDevice"

Identifier "PS/2 Mouse"

Driver "mouse"

Option "Protocol" "IMPS/2"

Option "ZAxisMapping" "4 5"

Option "Device" "/dev/input/mice"

Option "Emulate3Buttons" "true"

Option "Emulate3Timeout" "70"

Option "Resolution" "800" Option "SendCoreEvents" "true"

EndSection

Reinicie o X (pressionando Ctrl+Alt+Backspace) para que a alteração entre em vigor.

Em geral esta configuração funciona melhor combinada com um valor baixo para a

opção "Aceleração do ponteiro" (uso geralmente "1,2x" neste caso) e "0" na opção

"Limite do Ponteiro".

Page 156: Línux entendo o sistema[JP.Conteudo]

Configurando o teclado

O KDE oferece um utilitário bem prático para configurar o teclado: o kxkb. Ele é o

responsável pelo iconezinho da bandeira do Brasil ao lado do relógio, que indica que o

sistema vem configurado para usar um teclado ABNT2.

Para configurar o teclado, clique com o botão direito sobre o ícone e acesse a opção

"Configurar...". Você também tem acesso à mesma configuração dentro do Painel de

Controle do KDE, na seção Regional & Acessibilidade > Configuração do teclado:

A configuração do teclado é feita pela combinação de duas configurações: o modelo do

teclado e o layout do teclado (as opções na coluna da esquerda), que indica como as

teclas serão mapeadas.

Se você usa um teclado ABNT2, então a configuração correta é o modelo do teclado

como "ABNT2 Brasileiro" e o layout do teclado como "Brasileiro".

Se você usa um teclado padrão Americano, então a configuração seria: modelo do

teclado: "Genérico – 105 teclas (intl) PC" e layout "Inglês Norte-Americano com

deadkeys (us_intl)", que equivale ao "US Internacional" do Windows.

Page 157: Línux entendo o sistema[JP.Conteudo]

O kxkb também suporta o uso de layouts múltiplos. Por exemplo, os teclados usados em

notebooks japoneses possuem uma disposição de teclas muito semelhante à dos teclados

ABNT2, apenas mapeadas de forma diferente. É comum que os Brasileiros que moram

por lá configurem o teclado como sendo um ABNT2, para escrever em Português, mas

deixando disponível também o layout japonês. Neste caso, é possível chavear entre os

dois layouts clicando sobre o ícone ao lado do relógio.

Existem algumas combinações que permitem chavear entre teclados diferentes como,

por exemplo, a combinação de um teclado ABNT2 com o layout "Inglês Norte

Americano com deadkeys" que fica disponível como layout alternativo no Kurumin.

Esta configuração permite que quem tem um teclado US Internacional possa trocar o

layout do teclado no Kurumin com apenas um click na bandeirinha ao lado do relógio.

Não fica perfeito, pois os dois layouts são diferentes (a tecla "\" não funciona, por

exemplo), mas é um quebra galho que poupa tempo em muitos casos.

Page 158: Línux entendo o sistema[JP.Conteudo]

Para usar as teclas de terceiro nível, ou seja, símbolos como "º", "ª", "£", "¬", "¢" ou

"§", mantenha pressionada a tecla "Alt" direita (Alt GR) e pressione a tecla desejada.

Para o "€", por exemplo, você pressiona Alt e 5. Você pode mudar a tecla usada para

ativar o terceiro nível no Painel de Controle do KDE, em "Regional e Acessibilidade >

Layout do Teclado > Opções Xkb > Terceiro nível".

Naturalmente, a configuração do kxkb só é válida enquanto ele está ativo, ou seja,

apenas dentro do KDE. Se você quiser alterar a configuração "de baixo nível", pode

alterar diretamente a configuração do teclado no arquivo "/etc/X11/xorg.conf", onde vai

a configuração do X. Lembre-se de que em distribuições antigas, que ainda utilizam o

Xfree, o arquivo será o "/etc/X11/XF86Config-4".

Procure a seção referente ao teclado. Normalmente ela aparece logo depois da seção

referente ao mouse. Para um teclado ABNT2, a seção fica:

Section "InputDevice"

Identifier "Keyboard0"

Driver "keyboard"

Option "CoreKeyboard"

Option "XkbRules" "xorg"

Option "XkbModel" "abnt2"

Option "XkbLayout" "br"

Option "XkbVariant" "abnt2"

Option "XkbOptions" "abnt2"

EndSection

Para um teclado Americano, a seção fica:

Section "InputDevice"

Identifier "Keyboard0"

Driver "kbd"

Option "CoreKeyboard"

Option "XkbRules" "xorg"

Option "XkbModel" "pc105"

Option "XkbLayout" "abnt2"

EndSection

Mais uma dica é que em casos de necessidade é possível usar o teclado como mouse.

Embora seja raro, em alguns casos o Kurumin pode não conseguir detectar o mouse

durante o boot. Pode acontecer ainda do mouse parar de funcionar caso você tente

alterar a configuração e acabe fazendo alguma besteira, ou ainda que o seu mouse

simplesmente pare de funcionar por falta de limpeza :-).

Seja qual for a causa, o KDE oferece um recurso de mouse virtual, que permite usar o

micro mesmo sem o mouse. O movimento do mouse passa a ser controlado pelas teclas

do teclado numérico.

Para ativar o mouse virtual, pressione a tecla Shift junto com a tecla NumLock do

teclado numérico. A partir, daí as teclas 1, 2, 3, 4, 6, 7, 8 e 9 ficam responsáveis pela

movimentação do mouse, enquanto a tecla 5 simula o clique do botão esquerdo,

pressionando a tecla 5 duas vezes você simula um duplo clique.

Page 159: Línux entendo o sistema[JP.Conteudo]

Para arrastar arrastar e soltar pressione a tecla 0 para prender e depois a tecla 5 para

soltar.

Por padrão a tecla 5 simula o botão esquerdo do mouse. Para simular os outros botões

você usa as teclas / (botão direito), * (botão central) e - (para voltar ao botão esquerdo),

que funcionam como teclas modificadoras.

Para desativar o mouse virtual, pressione Shift + NumLock novamente.

Usando joysticks

Existem basicamente três tipos de joysticks para PC em uso: Os antigos joysticks

analógicos, ligados na saída da placa de som, joysticks USB e joysticks artesanais

(controles de Playstation ou Super Nes adaptados para serem ligados na porta paralela

do micro).

A tendência é que os joysticks USB caiam de preço cada vez mais, se popularizem e

eliminem definitivamente os analógicos. Eles possuem algumas vantagens importantes:

são mais precisos, não precisam ser calibrados e não degradam o desempenho da

máquina ao serem usados.

Os joysticks USB são também os que funcionam melhor no Linux. O joystick é

detectado ao ser plugado na porta USB, graças ao hotplug que fica ativo por padrão no

Kurumin e na grande maioria das distribuições atuais.

Se estiver curioso, rode o comando "dmesg" e você verá uma entrada como esta,

avisando da detecção do joystick:

usb 1-2: new low speed USB device using address 6

input: USB HID v1.10 Joystick [Logitech WingMan Precision USB] on usb-

0000:00:1d.0-2

No caso dos joysticks analógicos, não existe detecção automática, é preciso carregar o

módulo que ativa o suporte ao joystick para que ele seja visto pelo sistema. No Kurumin

você encontra um script que testa os módulos disponíveis até carregar o correto no

menu "Jogos > Joystick > Habilitar joystick analógico ligado na placa de som".

Você pode checar o joystick na seção "Periféricos > Joystick" do Centro de Controle do

KDE. Ele inclui uma opção para calibrar o joystick, que só é necessária em joysticks

analógicos.

Page 160: Línux entendo o sistema[JP.Conteudo]

A maioria dos games inclui suporte a joysticks. Se o joystick funciona no módulo do

painel de controle, ele também funcionará nos programas. Se por acaso o joystick USB

não foi detectado automaticamente, experimente reiniciar o hotplug com o comando:

# service hotplug restart

Para usar o joystick no Zsnes (o emulador de SuperNes, disponível no "Iniciar >

Jogos"), vá em "Config > Input #1", marque a opção "Keyb/Joystick" e clique em "Set".

Agora é só definir a função de cada botão. O Generator não inclui a opção de

configurar os botões, mas detecta o joystick automaticamente.

Nem todos os games nativos oferecem suporte a joystick. O Froze Bubble e o Ltris,

por exemplo, não oferecem nenhuma opção para usar o joystick, enquanto o Supertux e

o Xgalaga ativam-no automaticamente.

É possível também usar um joystick de Playstation ou Super Nes adaptado para ser

ligado na porta paralela. Esta é a opção preferida por quem gosta de emuladores.

Você já deve ter visto destes pra vender nos sites de leilão e até mesmo em algumas

lojas de informática. Eles não são caros, em média uns 20 reais. Se você tiver um ferro

de solda, pode até mesmo tentar fazer o seu, seguindo as instruções desta página:

http://www.emulatronia.com/reportajes/directpad/psx/index.htm

Page 161: Línux entendo o sistema[JP.Conteudo]

Estes joysticks funcionam no Linux usando dois módulos de kernel, chamados jaydev e

gamecom e o Xjoypad, um programinha que converte os sinais recebidos do joystick

em teclas do teclado.

Quando você pressionar o botão "X" do controle, o sistema acha que você pressionou a

tecla "3" do teclado numérico, por exemplo. Ele é interessante pois pode ser usado não

apenas nos emuladores, mas também em qualquer jogo que utilize o teclado. Basta

configurá-los para usar as teclas emuladas pelo controle.

A desvantagem de utilizar um joystick adaptado é que a utilização do processador é

muito alta, pois ele precisa ficar monitorando os sinais recebidos na porta paralela.

Mesmo num processador relativamente rápido, um Athlon de 1.5 GHz, por exemplo, a

diminuição do desempenho chega a 20% enquanto o joystick está em uso. Usando um

joystick ligado na placa de som, a perda é bem menor, cerca de 3% a 5%, enquanto ao

usar um joystick USB ela é próxima de zero, pois os sinais são processados pelo próprio

joystick.

O Kurumin já inclui o Xjoypad e um ícone mágico, que você encontra em "Jogos >

Joystick > Habilitar Joystick de Playstation ligado na porta paralela" que cuida de tudo.

Mas, se você precisar habilitar o joystick manualmente em outra distribuição, os passos

são os seguintes:

1- Ativar os módulos "joydev" e o "gamecon", que geralmente já vêm nas distribuições

usando o comando "modprobe". Antes de carregá-los, você deve verificar também se os

dispositivos do joystick já estão criados dentro do diretório "/dev". A lista completa dos

comandos é um pouco extensa, então eu recomendo que você simplesmente faça um

shell script e execute quando precisar.

É bem simples, crie um arquivo de texto e copie os comandos para ele. Depois de

salvar, marque a permissão de execução nas propriedades do arquivo ou use o comando

"chmod +x arquivo". A partir daí é só chamá-lo com o comando "./arquivo" para que

todos os comandos sejam executados de uma vez só. Normalmente, você precisa

executar apenas os últimos três comandos. Os demais servem apenas para checar se os

links dos dispositivos do joystick existem e apontam para as localizações corretas.

cd /dev

rm js*

mkdir input

mknod input/js0 c 13 0

Page 162: Línux entendo o sistema[JP.Conteudo]

mknod input/js1 c 13 1

mknod input/js2 c 13 2

mknod input/js3 c 13 3

ln -s input/js0 js0

ln -s input/js1 js1

ln -s input/js2 js2

ln -s input/js3 js3

mknod input/event0 c 13 64

mknod input/event1 c 13 65

mknod input/event2 c 13 66

mknod input/event3 c 13 67

modprobe -r lp

modprobe joydev

modprobe gamecon map=0,7

Ao usar uma distribuição antiga, que ainda use o Kernel 2.4, o comando para carregar o

módulo gamecon é: "modprobe gamecon gc=0,7" (o parâmetro "map" muda para "gc").

Você pode checar qual é a versão do Kernel usada com o comando "uname -r".

2- Depois de ativar o joystick, falta ativar o Xjoypad. Você pode baixar o arquivo no:

http://downloads-guiadohardware.net/xjoypad.zip

Descompacte o arquivo (use o comando "unzip" se quiser fazer via terminal), acesse a

nova pasta que será criada e copie o arquivo "xjoypad" para a pasta /usr/local/bin, assim

ele se transformará num comando do sistema e você terá mais facilidade para chamá-lo.

Feito isso você só precisa deixar o comando residente. Adicione mais este comando no

seu script:

# xjoypad -device /dev/js0 &

Configurando a conexão

Hoje em dia é possível acessar a Web de (basicamente) 7 maneiras diferentes:

1- Via modem discado.

2- Através de uma conexão compartilhada, dentro da rede local.

3- Via ADSL, com IP fixo ou usando um modem ADSL configurado com roteador.

4- Via ADSL com autenticação via PPPoE, usando um modem configurado com bridge.

5- Via rádio (a modalidade oferecida em condomínios).

6- Via cabo.

7- Via wireless.

No Kurumin, os ícones de configuração podem ser acessados dentro do Iniciar >

Internet, ou dentro do menu "Conectar na internet ou configurar a rede" no Painel de

Controle.

Page 163: Línux entendo o sistema[JP.Conteudo]

Conectando via modem

Se você acessa via modem, existem duas possibilidades. Se você usa um softmodem,

que são de longe o tipo de modem mais comum hoje em dia, o primeiro passo é ativar o

suporte ao seu modelo. Nem todos os modelos são suportados no Linux, simplesmente

porque nem todos os fabricantes desenvolvem drivers, mas os drivers incluídos no

Kurumin dão suporte à maior parte dos modelos.

Você pode ver várias informações sobre os dispositivos da sua máquina, incluindo o

modelo do modem no Centro de Informações do KDE, que pode ser encontrado em

"Iniciar > Sistema > Centro de Informações".

Caso você não faça a mínima idéia de qual é o modelo do seu modem e esteja com

preguiça de descobrir, pode apelar para técnica da tentativa e erro. Simplesmente vá

testando todos os drivers. Clique em um, tente discar com o Kppp, tente outro e assim

por diante, até achar o que funcione no seu modem.

Os scripts foram feitos para serem "resistentes a cliques múltiplos". Ao ativar um dos

drivers, ele primeiro desativa o anterior, de modo a evitar qualquer problema. Depois de

ativar o driver correto, o modem já estará pronto para o uso. Você pode discar e efetuar

a conexão usando o kppp, incluído no Kurumin. Ele oferece várias opções de

configuração, incluindo um recurso para calcular o gasto com telefone baseado no

tempo e horários de uso:

Page 164: Línux entendo o sistema[JP.Conteudo]

Os drivers disponíveis nas versões recentes são:

- Intel 537 AC'97: Este é um modem Intel encontrado em muitos notebooks, como o

HP nx6110. Ele funciona graças a uma combinação de um driver open-source, que faz

parte do Alsa e o executável do driver da Smartlink. Ao usar o comando "lspci" o

modem é identificado como "Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6

Family) AC'97 Modem Controller".

Note que existe um modelo anterior de modem Intel AC'97, encontrado em alguns

notebooks Toshiba e também em versão PCI que ainda não possui driver no Kernel 2.6.

- Intel 537 e 537ep: Estes são os modems Intel Ambient (geralmente encontrados em

versão PCI) vendidos atualmente. Você pode diferenciar os dois usando o comando

"lspci" que retorna os códigos de identificação dos componentes do micro. O 537

aparece como "Intel Tigerjet" enquanto o 537ep aparece como "Intel Ambient".

- Lucent e Agere: Este driver parou de ser desenvolvido em 2002 e não funciona com

os modelos novos, vendidos atualmente, que usam o chipset SV92 (o código vem

decalcado no chip do modem). Estes novos modems não são suportados, por isso evite

comprá-los.

PC-Tel AMR ou onboard: Este driver é uma espécie de "curinga", um driver

desenvolvido pela Smartlink que funciona com os modems PC-Tel onboard (ele

consegue ativar simultaneamente o modem e o som onboard, ao contrário do driver

antigo), Modems PCI LG Netodragon e até mesmo com alguns modelos de modems

Intel.

PC-Tel PCI antigo (HSP Micromodem): Este driver dá suporte aos modems PC-Tel

antigos, encontrado em versão PCI, que não são suportados pelo driver da Smartlink. É

o driver do Jan's PCTel Resources compilado com a opção "pct789".

PC-Tel USB: Esta é uma versão diferente do driver da Smartlink, que dá suporte a

alguns modems PC-Tel USB, vendidos no Brasil pela LG.

Existe ainda um driver para os modems Conexant HCF e HSF. O Conexant HCF é um

modem PCI que foi um dos mais comuns à venda por volta do final de 2001, mas

depois deixou de ser produzido pois era mais caro que os PC-Tel e Lucent. O Conexant

HSF é um modem encontrado onboard em alguns modelos de notebooks e desknotes,

mas não é tão comum quanto os PC-Tel, por exemplo. Estes drivers não são incluídos

no Kurumin, pois são drivers comerciais (e pagos), desenvolvidos pela Linuxant, que

desenvolve os drivers e dá suporte a eles, sem apoio do fabricante. Honestamente, não

acho que vale à pena pagar US$ 19 pelo driver, nem estimular o desenvolvimento de

drivers pagos, mas você pode baixar um trial de 30 dias ou comprar o driver completo

no http://www.linuxant.com.

Page 165: Línux entendo o sistema[JP.Conteudo]

Os Winmodems da US Robotics não possuem suporte no Linux, são uma espécie de

peso de papel de luxo. Mas, alguns modelos de Winmodem não usam chipset da US

Robotics, mas sim um chipset da Conexant, que funciona com o driver para modems

Conexant HSF.

Os modems Motorola não possuem um bom suporte no Linux. O fabricante patrocina o

desenvolvimento de um driver proprietário, que é mais um exemplo de incompetência

que de boa vontade. Ele dá suporte a apenas umas poucas versões do Kernel e não pode

ser adaptado para outras. Existe uma receita disponível na web para fazê-lo funcionar no

Kernel 2.4, que envolve modificar o código fonte de dois módulos e recompilar tudo

para que o driver funcione. Existe ainda uma versão disponível no site da Motorola que

em teoria dá suporte ao Mandrake 10, mas na prática simplesmente não funciona.

Se você dá valor ao seu tempo, recomendo que troque seu Motorola por um modem

melhor suportado, ao invés de ficar perdendo seu tempo fazendo gambiarras para tentar

fazê-lo funcionar no Linux.

Por outro lado, se você possui um hardmodem o trabalho é bem mais simples, você

precisa apenas indicar a porta do modem na aba "dispositivo" do kppp e discar. Embora

raros, é ainda possível encontrar alguns modems externos, que são ligados a uma das

portas seriais do micro. Estes modens custam normalmente por volta de R$ 200, mas

possuem uma qualidade muito boa. Se você tiver um micro antigo, é possível ainda usar

um hardmodem ISA, que (usados) são muito baratos hoje em dia.

Os hardmodems são caros, pois são modems completos, que fazem todo o trabalho de

modulação e correção de erros. Eles são controlados pelo sistema operacional através de

comandos AT simples, entregando de volta os dados "limpos", recebidos através da

linha. Os softmodems por outro lado são apenas uma interface entre o processador e a

linha telefônica. Um software de controle que faz parte do driver fica encarregado de

fazer todas as demais tarefas, usando o processador como burro de carga.

Os softmodems começaram a se popularizar por volta de 1999, a partir do ponto em que

os micros passaram a vir com processadores poderosos o suficiente para manter o

modem funcionando sem que houvesse uma degradação muito grande no desempenho.

A única vantagem dos softmodems é mesmo o fato de serem mais baratos.

Acessando via ADSL, cabo, rádio ou rede local

Os modems já foram a forma mais popular de acesso à Web, mas hoje em dia os

serviços de banda larga têm uma relação custo-benefício bem melhor; pois você não

gasta com telefone e, por ser ininterrupta, a conexão pode ser compartilhada entre vários

micros dentro da rede local. O próprio Kurumin permite compartilhar a conexão muito

fácil.

O ícone "Configurar Rede Local, Ip Fixo, cabo ou modem roteador" chama o

netcardconfig, que permite configurar a rede. Ele lhe dá a opção de configurar a rede

automaticamente via DHCP ou especificar os endereços manualmente. Na verdade, o

Kurumin já tenta configurar a rede automaticamente via DHCP durante o boot, em

muitas redes você já vai sair navegando.

Page 166: Línux entendo o sistema[JP.Conteudo]

Se a sua rede não possui um servidor DHCP, a configuração manual fica assim:

Endereço IP: Qualquer endereço dentro da faixa de endereços usada na sua rede, como

em: 192.168.0.3.

Servidor DNS: Os endereços dos servidores DNS do seu provedor, ou o DNS da rede

local, como em: 200.177.250.10 .

Gateway Padrão: O endereço do modem ou servidor que está compartilhando a

conexão dentro da rede, como: 192.168.0.1.

Nos serviços de acesso via cabo, o modem funciona como um bridge, conectando seu

micro à rede do provedor. Para acessar, você precisa apenas obter o endereço IP via

DHCP. Compre sempre um modem que se conecta diretamente à placa de rede, isso

facilita muito a configuração. Os modems que são ligados à porta USB precisam de um

driver adicional e nem todos os modelos são suportados no Linux.

Os serviços de acesso via rádio usam uma conexão wireless, geralmente uma placa

802.11b (Wi-Fi) com um servidor, antena e amplificador instalados no topo dos prédios

e cabos de rede tradicionais até os apartamentos e casas próximas. Este servidor

compartilha a conexão e os assinantes precisam apenas configurar a rede com os

endereços fornecidos pelo provedor de acesso.

Se você acessa via ADSL, existem duas possibilidades:

As instalações antigas e os planos empresariais usam IP fixo ou configuração via

DHCP, onde a conexão é configurada como se fosse uma conexão de rede local. Uma

segunda forma de conectar desta forma é configurar o modem ADSL como roteador,

onde o modem funciona como um servidor de conexão, efetuando a conexão e

compartilhando com os micros da rede local. Você obtém a configuração via DHCP e

pronto.

Pesquise sobre a configuração do seu modem, a maioria oferece esta função. A

configuração pode ser acessada através do navegador ou via telnet, de acordo com o

modelo.

Nas instalações atuais a conexão é autenticada via PPPoE, uma forma dos provedores

exigirem autenticação, terem controle sobre a banda consumida e tempo de conexão.

Neste caso use a opção: "Configurar ADSL/PPPoE".

Esta opção chama o pppoeconf, o utilitário que permite ativar a conexão com a Web

casa você utilize algum serviço de banda larga que exija autenticação. Naturalmente, o

utilitário só funciona se a sua placa de rede tiver sido detectada durante o boot. Lembre-

Page 167: Línux entendo o sistema[JP.Conteudo]

se de que você só precisa se autenticar ao manter o modem configurado como bridge.

Configurando o modem como roteador o problema é resolvido.

Uma última possibilidade são as conexões via ISDN. O Kurumin suporta vários

modems ISDN, através do isdn-config. A lista inclui também alguns modelos internos.

Basta indicar o modelo do modem e fornecer os dados do provedor de acesso. O ISDN

utiliza um tipo especial de modem, que estabelece uma conexão de 64k ou 128k usando

uma linha telefônica comum. Porém, além da taxa mensal, você continua pagando

pulsos (conectando a 128k você paga dois pulsos, como se estivesse usando duas linhas

telefônicas simultaneamente) e a mensalidade do provedor. Embora o ISDN seja um

pouco mais rápido e mais estável que o acesso via modem, ele nunca foi muito popular

por causa do custo. Hoje em dia está caindo em desuso por causa da concorrência do

ADSL, cabo, rádio e wireless.

Se o "isdn-config" não estiver disponível na sua instalação, você pode instalá-lo via apt-

get, usando o comando:

# apt-get install isdn-config

Usando uma placa wireless

As placas Wireless também estão se tornando cada vez mais comuns. Existem várias

placas suportadas no Linux, como por exemplo as Atheros e Orinoco, que são

detectadas automaticamente durante o boot.

Para as placas que ainda não possuem drivers para Linux, existe o ndiswrapper, um

utilitário que permite carregar o driver da placa para Windows. Ele não funciona com

todas as placas, mas oferece bom resultados com a maioria.

O Kurumin inclui um pequeno utilitário para configurar redes Wireless, que você

encontra dentro do "Centro de Controle > Conectar na Internet ou Configurar a redes >

Wireless > Configurar uma placa de rede Wireless". Aqui estão disponíveis as opções

para configurar a rede e também para ativar placas ACX100 ou ACX111, ADM8211 e

Realtek8180, que não são detectadas automaticamente. Lembre-se de que você pode

identificar sua placa Wireless usando o comando "lspci".

Page 168: Línux entendo o sistema[JP.Conteudo]

O sinal de que a placa foi ativada é o led de comunicação aceso. A partir daí, falta

configurar os parâmetros da rede para que seu micro possa finalmente se conectar a ela.

Além da configuração com o IP, máscara, gateway, etc., uma rede wireless inclui mais

alguns parâmetros definidos no ponto de acesso, que incluem o ESSID (o nome da

rede), o canal (de 0 a 16) e a chave de encriptação, caso tenha sido ativado o WEP ou

WPA, que são configurados ao clicar sobre o "Configurar os parâmetros da rede

Wireless" ou chamar o "wlcardconfig" (como root) no terminal.

Você pode ver uma lista das redes disponíveis na área clicando sobre o "Verificar

pontos de acesso disponíveis" (que executa o comando "iwlist wlan0 scan") e monitorar

a conexão e a qualidade do sinal usando o Kwifimanager.

Uma vez conectado ao ponto de acesso, falta ainda configurar os endereços da rede,

como em uma rede tradicional. Para isso, use a opção "Configurar rede local", ou chame

o "netcardconfig" no terminal.

Se a sua placa wireless não é suportada, ainda existe uma boa chance de colocá-la para

funcionar usando o Ndiswrapper. Para isso, use a opção "Ativar placa de rede Wireless

usando o Ndiswrapper".

Para usar o Ndiswrapper, você deve fornecer o driver for Windows da placa. O

Ndiswrapper usa uma camada de compatibilidade para que estes drivers possam se

comunicar com o Kernel do Linux. O driver acha que está instalado no Windows e o

Kernel acha que está conversando com uma placa compatível com o Linux. Os dois

lados são enganados, mas no final a placa funciona, que é o que nos interessa. A cada

versão do Ndiswrapper, mais placas são suportadas.

Page 169: Línux entendo o sistema[JP.Conteudo]

Dentro da pasta com os drivers da placa, você encontrará um arquivo .inf, o mesmo que

você indicaria ao instalar a placa no Windows.

Você pode começar tentando usar o driver para Windows XP que veio no CD de

instalação da placa. Se ele não funcionar, pesquise na lista de placas compatíveis com o

Ndiswrapper disponível no: http://ndiswrapper.sourceforge.net/mediawiki/index.php/.

Embora na maioria dos casos você possa usar diretamente o driver incluído no CD de

instalação, algumas placas só funcionam com algumas versões específicas do driver. No

site você encontra informações sobre o nível de compatibilidade da sua placa e links

para baixar os drivers que foram testados com ela.

O script do Kurumin se encarrega de fazer uma configuração básica, de uma forma

simples e rápida. Se você quiser se aprofundar mais no funcionamento do Ndiswrapper,

pode encontrar informações gerais sobre como configurá-lo manualmente a seguir, no

capítulo sobre o Ubuntu, ou no:

http://ndiswrapper.sourceforge.net/wiki/index.php/WirelessCardSetup.

Compartilhando a conexão e ativando o firewall

Dentro do Painel de Controle, na seção de configuração da rede, você encontra opções

para compartilhar a conexão e configurar o firewall.

Page 170: Línux entendo o sistema[JP.Conteudo]

Para compartilhar a conexão, seu micro deve ter duas placas de rede, uma conectada à

internet e outra conectada à rede local. Também é possível compartilhar uma conexão

via modem ou wireless.

Comece conectando-se à internet normalmente e em seguida configure a rede local,

usando o "configurar rede". Verificar se o servidor consegue enxergar os outros micros

da rede e vice-versa e só depois ative o compartilhamento.

O script mostra uma lista com as placas de rede instaladas e pergunta qual delas está

conectada à internet e se oferece para instalar e configurar os servidores DHCP e DNS,

que são opcionais. O DHCP permite que o servidor forneça a configuração da rede para

os outros micros automaticamente e o DNS permite que o próprio servidor seja o DNS

da rede, dispensando o DNS do provedor.

Page 171: Línux entendo o sistema[JP.Conteudo]

Ao compartilhar a conexão, o servidor passa a ser o gateway da rede. Ao configurar os

clientes, use endereços dentro da mesma faixa do servidor (como em: 192.168.0.2) e use

o IP do servidor como gateway.

No quesito firewall, você tem duas opções, usar o Kurumin Firewall, um script que faz

algumas perguntas e em seguida gera um script com as regras para o IPtables, que passa

a ser carregado automaticamente na hora do boot, ou usar o Firestarter, um configurador

gráfico, estilo Zone Alarm, que monitora as conexões e permite que você abra ou

redirecione portas conforme necessário.

A diferença básica entre os dois é que as regras geradas pelo Kurumin Firewall são

estáticas, ou seja, o firewall é configurado uma vez e fica ativo fazendo o que mandou

sem fazer perguntas. O Firestarter por sua vez fica residente ao lado do relógio e lhe

permite ver as tentativas de conexão ao seu micro e ir alterando a configuração

conforme necessário. Veremos mais dicas sobre o Firestarter no capítulo sobre o

Ubuntu.

Acessando celulares e palmtops via bluetooth

O Bluetooth é um padrão aberto de comunicação sem fios, desenvolvido pelo SIG

(Bluetooth Special Interest Group) que inclui diversas empresas, entre elas a Sony,

IBM, Intel, Toshiba e Nokia.

Ao contrário do padrão Wi-Fi, que inclui os padrões 802.11.b, 802.11a e 802.11g,

usados nas redes sem fio, o Bluetooth tem como principal objetivo substituir os cabos,

permitindo que celulares, palmtops, mouses, headsets, entre outros troquem dados entre

sí e com o PC, sem precisar de cabos. Uma rede Bluetooth é chamada de "piconet" e é

composta por um dispositivo "master" e até 8 "slaves", que se conectam a ele.

Existem duas classe de dispositivos Bluetooth. Os dispositivos "classe 2" (que são os

usados em quase todos os celulares e aparelhos portáteis) trabalham com um

transmissor de apenas 2.5 mW e por isso possuem um alcance de apenas 10 metros (em

campo aberto). Na hora de comprar um adaptador Bluetooth para o PC, você tem a

opção de também comprar um transmissor tipo 2 (que são os mais compactos e baratos),

ou comprar um adaptador com um transmissor classe 1, que possuem um alcance

teórico de 100 metros (bem menos na prática, já que você nunca está num ambiente

Page 172: Línux entendo o sistema[JP.Conteudo]

livre de obstáculos). Atualmente, cada vez mais notebooks já vem com transmissores

Bluetooth de fábrica, dispensando o adaptador.

A velocidade de transmissão no Bluetooth é de apenas 1 megabit (721 kbits reais), o

que inviabiliza a transmissão de grandes arquivos. Isso faz com que, na prática, o uso

mais comum para o Bluetooth seja transferir fotos, pequenos arquivos e (com um pouco

de paciência) músicas em MP3 entre o PC e o celular ou palmtop.

Fazer isso no Linux já foi uma tarefa ingrata (mesmo no Windows, só existe um suporte

maduro a partir do XP SP2), mas atualmente as coisas estão bem mais simples :).

O primeiro passo é instalar os pacotes necessários. Tudo começa com o "bluez-utils",

que faz o trabalho pesado. Ele é complementado pelo pacote "bluez-libs", que em

muitos casos é integrado ao pacote principal. Em seguida temos os pacotes

"kdebluetooth" e "kmobiletools", que compõem a interface de acesso.

O primeiro passo é instalar os pacotes. No Kurumin e no Ubuntu você pode instalar

diretamente via apt-get:

# apt-get install bluez-utils kmobiletools kdebluetooth dbus

(em outras distribuições, você pode precisar instalar também os pacotes "bluez-libs" e

"bluetooth")

Serão criados ícones no "Iniciar > Internet":

Reinicie os serviços para ter certeza de que realmente estão carregados:

Page 173: Línux entendo o sistema[JP.Conteudo]

# /etc/init.d/dbus restart

# /etc/init.d/bluetooth restart

Depois de instalar tudo, verifique se seu adaptador Bluetooth foi detectado

corretamente, usando o comando:

# hciconfig

Se ele responder algo similar a:

hci0: Type: USB

BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0

DOWN

RX bytes:0 acl:0 sco:0 events:0 errors:0

TX bytes:0 acl:0 sco:0 commands:0 errors:0

... significa que o adaptador foi detectado, mas está desativado. Neste caso, rode o

comando que ativa o transmissor:

# hciconfig hci0 up

Rode de novo o hciconfig e ele deve retornar algo como:

hci0: Type: USB

BD Address: 00:11:67:32:95:23 ACL MTU: 678:8 SCO MTU: 48:10

UP RUNNING PSCAN ISCAN

RX bytes:77 acl:0 sco:0 events:9 errors:0

TX bytes:34 acl:0 sco:0 commands:9 errors:0

Aproveite para adicionar o comando no final do arquivo "/etc/init.d/bootmisc.sh" ou

"/etc/rc.d/rc.local", para que o transmissor seja ativado automaticamente durante o

boot.

Aqui vai um pequeno truque. Ao invés de abrir o arquivo e adicionar a linha

manualmente, você pode usar o comando abaixo (como root) para fazer o trabalho

automaticamente. Ele simplesmente cria uma nova linha no final do arquivo, contendo o

que colocamos entre aspas:

# echo "hciconfig hci0 up" >> /etc/init.d/bootmisc.sh

Rode agora o comando "hcitool scan". Ele deverá mostrar o ID do seu celular. Em caso

de problemas neste ponto, verifique se o transmissor do celular está realmente ativado

(acontece nas melhores famílias ;).

$ hcitool scan

Scanning ...

00:07:E0:18:9A:02 treo

Agora vem a parte potencialmente mais problemática é que é fazer o "pairing", ou seja,

fazer a conexão inicial entre o PC e o celular, de forma que ele aceite as conexões.

Page 174: Línux entendo o sistema[JP.Conteudo]

No caso do meu Treo, clico na opção "Trusted Devices" dentro da configuração do

Bluetooth e escolho o meu desktop na lista. Ele solicita a passkey e em seguida a

conexão é estabelecida:

A passkey é um código de segurança, que você precisa fornecer na hora de conectar seu

celular, ou qualquer outro dispositivo ao seu PC. Por default, a passkey será "1234", ou

"BlueZ", de acordo com a versão instalada e o nome será "BlueZ" ou o nome do micro,

definido na configuração da rede.

Depois de conectar seu celular, é interessante mudar esta configuração, sobretudo a

passkey. Para isso, edite o arquivo "/etc/bluetooth/hcid.conf".

As opções importantes aqui são as linhas "passkey" (também chamada de pin) e "name"

(determina o nome com o qual seu PC aparecerá na piconet). As demais já vêm

configuradas por padrão, permitindo a conexão de qualquer dispositivo. Altere-as

adicionando sua configuração, como em:

passkey "minhasenhasecreta";

name "MeuPC";

Reinicie (novamente) os serviços, para que a nova configuração entre em vigor. O fato

de alterar a configuração, não desativa o pairing já feito com seu celular, apenas impede

que outros aparelhos se conectem ao seu PC utilizando a senha default (o que seria um

problema de segurança).

# /etc/init.d/dbus restart

# /etc/init.d/bluetooth restart

Page 175: Línux entendo o sistema[JP.Conteudo]

Depois de fazer o pairing, abra o Kbluetoothd, usando o ícone no menu. Ele ficará

residente na forma de um ícone ao lado do relógio. Ao clicar sobre ele, você abre uma

lista com os aparelhos disponíveis e os recursos suportados por cada um. Muitos

celulares suportam o "Obex File Transfer", que permite transferir arquivos (incluindo

músicas em MP3) diretamente para o cartão de memória.

Ao ser aberto pela primeira vez, o Kbluetoothd sugere que você use o "kbluepin" como

verificador do código PIN, ao invés da configuração manual que usamos até aqui. Ele é

um pequeno programa que abre uma janela no PC sempre que o celular tenta se

conectar, perguntando qual PIN será usado. Na verdade, é uma perfumaria, que você

pode usar ou não.

Se preferir mudar, edite novamente o arquivo "/etc/bluetooth/hcid.conf" e substitua a

linha:

passkey "minhasenhasecreta";

Por:

pin_helper /usr/lib/kdebluetooth/kbluepin;

Para os casos em que o celular não usa um cartão de memória, ou não suporta a

transferência direta de arquivos, abra o Kbtobexclient (também disponível no iniciar),

que permite transferir arquivos para a memória do aparelho usando o protocolo padrão.

Para transferir, selecione o seu celular na lista da esquerda e arraste o arquivo a ser

transferido para o campo "file to send". Clique no "Send" e a transferência é iniciada:

Page 176: Línux entendo o sistema[JP.Conteudo]

É mostrada uma tela no celular perguntando o que fazer com o arquivo. Os formatos de

arquivos suportados variam muito de acordo com o celular, mas a maioria suporta

imagens em jpg. Você pode começar transferindo uma imagem pequena para testar.

É possível também transferir arquivos do celular para o PC. No meu Treo 650, por

exemplo, posso transferir desde imagens e músicas, até anotações feitas no MemoPad,

que são recebidas como arquivos de texto. Na maioria dos celulares, você pode

transferir fotos e vídeos gerados com a câmera.

Para isso, selecione a opção de envio no celular e mantenha o Kbluetoothd aberto no

PC. Será mostrada uma janela de confirmação:

Page 177: Línux entendo o sistema[JP.Conteudo]

Mude a opção "Future policy for this device and service" para "allow" se quiser que as

próximas transferências sejam aceitas automaticamente, sem que seja aberta a tela de

conformação. Depois é só decidir onde salvar o arquivo :).

Completando o time, temos o Kmobiletools, que permite acessar a agenda do celular,

discar e atender chamadas através do PC, ler e enviar mensagens SMS, entre outros

recursos.

Ele pode ser usado para acessar o celular tanto através de um cabo USB, quanto via

Bluetooth. A configuração para acessar via cabo é mais simples: dentro das

configurações, indique a porta "/dev/ttyACM0" e deixe que ele detecte o celular. Como

o Kmobiletools ainda está em fase de rápido desenvolvimento, aparelhos que não são

suportados, ou operam com recursos limitados numa versão, podem passar a ser bem

suportados na seguinte e também existem casos de regressões, ou seja, aparelhos que

deixam de funcionar numa versão e voltam na seguinte. Segundo os desenvolvedores,

os celulares melhor suportados são os Motorola e SonyEricsson, enquanto os piores no

estágio atual são os Nokia.

Page 178: Línux entendo o sistema[JP.Conteudo]

Para acessar o celular via Bluetooth, existem alguns passos adicionais. Comece usando

o comando "hcitool scan" para descobrir o endereço do seu aparelho:

$ hcitool scan

Scanning ...

00:07:E0:18:9A:02 treo

Precisamos agora editar o arquivo "/etc/bluetooth/rfcomm.conf", onde associaremos o

celular a uma porta serial, permitindo que ele seja acessado pelo Kmobiletools. Edite o

arquivo, deixando-o como este exemplo. Note que você deve mudar o endereço e o

nome do aparelho, deixando-os igual ao informado pelo "hcitool scan":

rfcomm0 {

bind yes;

device 00:07:E0:18:9A:02;

channel 1;

comment "treo";

}

Depois de salvar, reinicie os serviços:

# /etc/init.d/dbus restart

# /etc/init.d/bluetooth restart

Terminado, configure o Kmobiletools para acessar o celular através da porta

"/dev/rfcomm0", que foi criada no passo anterior. A partir daí, o celular passa a ser

acessado da mesma forma que seria através do cabo USB. Note que antes de fazer tudo

isso, você deve ter feito os passos anteriores, ou seja, instalar o BlueZ, fazer o pairing

entre o PC e o Celular e testar a conectividade.

Page 179: Línux entendo o sistema[JP.Conteudo]

Solucionando problemas

Caso você não consiga criar a associação a partir do celular, também é possível fazê-lo a

partir do PC. Neste caso, use os comandos abaixo. Isso abrirá um diálogo no celular,

pedindo para inserir a passkey do desktop. Note que novamente é preciso especificar o

ID do celular, que você descobre usando o comando "hcitool scan":

# hcitool cc 00:07:E0:18:9A:02

# hcitool auth 00:07:E0:18:9A:02

Assim como qualquer software, o BlueZ teve seus altos e baixos ao longo de sua

história. Uma das versões mais problemáticas foi a 3.1, com problemas relacionados à

definição do PIN e comportamento errático em muitas situações.

Infelizmente, o 3.1 foi uma versão muito usada. Ele é a versão usada por padrão no

Ubuntu Dapper (e nos primeiros betas do Edgy), no Debian Etch e em várias outras

distribuições. Ou seja, a possibilidade de você estar utilizando-a é bastante grande.

Se você está encontrando problemas estranhos, vale à pena atualizar o pacote bluez-utils

para a versão mais recente. Comece verificando se não existe uma atualização

disponível via apt-get:

# apt-get update

# apt-get bluez-utils

Como último recurso, você pode experimentar instalar a versão mais atual a partir do

código fonte, disponível no http://www.bluez.org/download.html.

A instalação em sí é mecânica. O maior problema é que você precisa ter instalado um

conjunto de bibliotecas e compiladores, para que instalação seja bem sucedida. Comece

instalando o pacote "bluez-utils", disponível no site. No meu caso, baixei o arquivo

"bluez-utils-3.5.tar.gz".

O primeiro passo é instalar os compiladores e bibliotecas. Numa versão recente do

Kurumin ou Ubuntu, você pode instalar os pacotes necessários usando o apt-get:

# apt-get install build-essential libbluetooth2-dev libdbus-1-dev

Em seguida, chegamos à instalação, que é feita em três passos:

1- Descompacte o arquivo (você pode fazê-lo através do Konqueror, mas já que estamos

com o terminal aberto... ;)

$ tar -zxvf bluez-utils-3.5.tar.gz

2- Acesse a pasta que será criada e execute o comando "./configure". Se houver mais

alguma instalação pendente, ele mostra um erro, informando o nome do compilador ou

biblioteca que está faltando.

$ cd bluez-utils-3.5/

$ ./configure

Page 180: Línux entendo o sistema[JP.Conteudo]

3- Concluindo, rode os comandos "make" e "make install", que compilam e instalam o

programa. Você pode rodar o comando "make" usando seu login de usuário, mas o

"make install" precisa ser executado como root. No Ubuntu e no Kurumin você pode

fazê-lo usando o sudo. Em outras distribuições, use o "su" para virar root:

$ make

$ sudo make install (ou su <senha>, make install)

Depois de terminar, faça o mesmo com o pacote "bluez-libs", disponível na mesma

página.

Para evitar problemas, sempre que precisar reinstalar estes pacotes, apague

manualmente o conteúdo do diretório "/var/lib/bluetooth", onde são armazenadas as

chaves de encriptação dos dispositivos que já efetuaram conexões. Limpando a pasta,

você pode começar de novo, definindo o PIN e fazendo o pairing com o celular:

# rm -rf /var/lib/bluetooth/*

Acessando partições do Windows

Ao usar o Kurumin, as partições existentes no HD são detectadas durante o boot, não

importa qual seja o sistema de arquivos em que estejam formatadas. São criadas

entradas no arquivo "/etc/fstab" (que orientam o sistema a usar as partições) e ícones

dentro do "Meu Computador", que permitem acessar as partições com facilidade.

Clicando sobre os ícones, você monta a partição correspondente.

Até aqui você está acessando a partição em modo somente-leitura, sem riscos de

danificar qualquer arquivo. Se você quiser ativar a escrita, clique com o botão direito

sobre o ícone da partição e ative a opção "Ações > Mudar para modo de leitura e escrita

ou voltar para somente leitura".

Page 181: Línux entendo o sistema[JP.Conteudo]

Outra opção é clicar sobre o ícone "Montar as partições em leitura e escrita", que muda

as propriedades de todos os ícones, fazendo com que as partições passem a ser

montadas em modo leitura e escrita por padrão.

Mesmo depois de instalado, o sistema continua se comportando da mesma forma,

montando as partições apenas quando você clica sobre os ícones. Para fazer com que as

outras partições sejam montadas automaticamente durante o boot depois de instalar o

Kurumin no HD, edite o arquivo "/etc/fstab" (como root) e retire o parâmetro "noauto"

da linha referente à partição.

Se você tem o Windows instalado na partição "/dev/hda1", por exemplo, você

encontraria uma linha como:

/dev/hda1 /mnt/hda1 vfat noauto,users,exec 0 0

O "/dev/hda1" indica a partição, o "/mnt/hda1" é a pasta onde ela será montada, o "vfat"

indica o sistema de arquivos (no exemplo temos uma partição FAT32) e o restante da

linha indica as opções de montagem. O "noauto" faz com que a partição não seja

montada durante o boot, ficando acessível apenas ao clicar sobre o ícone ou montar

manualmente. Removendo a opção, a linha fica:

/dev/hda1 /mnt/hda1 vfat users,exec 0 0

Você pode ainda montar as partições manualmente usando o comando mount, como em:

# mount /dev/hda1 /mnt/hda1

Isso faz com que a partição "/dev/hda1" fique acessível na pasta "/mnt/hda1". Embora a

tradição seja montar as partições dentro da pasta /mnt, isto não é uma regra: você pode

montar a partição em qualquer pasta vazia.

No caso das partições do Windows, é necessário usar um parâmetro adicional, o "-o

umask=000", caso contrário, a partição ficará disponível apenas ao abrir o gerenciador

de arquivos como root:

# mount -o umask=000 /dev/hda1 /mnt/hda1

A possibilidade de acessar as partições do HD permite que você use o Kurumin também

como um sistema de emergência, para quanto o Windows ou outra distribuição Linux

instalada no HD derem qualquer problema. Você pode dar um boot com o CD do

Kurumin, acessar as partições, salvar os arquivos em algum lugar (gravar um CD, salvar

Page 182: Línux entendo o sistema[JP.Conteudo]

num outro micro da rede, copiar para um segundo HD, etc.) e assim poder reinstalar o

sistema sem riscos.

O Linux suporta praticamente todos os sistemas de arquivos existentes. Você

conseguirá acessar os arquivos do HD mesmo que tenha instalado o BeOS, Solaris ou

outro sistema pouco usado.

A única exceção importante fica por conta do sistema NTFS usado pelo Windows 2000,

XP e Vista.

O suporte a escrita em partições NTFS sempre foi um problema no Linux. Por ser um

sistema de arquivos proprietário, não documentado e bastante complexo, desenvolver

um driver capaz de escrever em partições Windows formatadas em NTFS, sem risco de

corromper os dados gravados, é um desafio formidável.

Isto era um grande problema para quem mantinha o Windows em dual-boot, pois era

possível apenas ler os arquivos da partição. Como o Windows também não suporta

nenhum dos sistemas de arquivos usados no Linux, você acabava sendo obrigado a

instalar o Windows em uma partição FAT32 (o que tem suas desvantagens, já que ele é

um sistema muito mais propenso a problemas), ou pelo menos manter uma partição

FAT32 disponível, para servir como uma "área de troca" entre os dois sistemas.

Até hoje, o driver que havia chegado mais perto era o Paragon, um software comercial,

caro e que ainda por cima tinha a desvantagem de ser bastante lento. Num distante

segundo lugar, tínhamos o Captive, que modificava partições NTFS usando o próprio

driver do Windows, executado sobre uma camada de emulação. Apesar de ser aberto, o

Captive era complicado de instalar, ainda mais lento que o Paragon e ainda por cima

pouco estável, corrompendo com freqüência os dados da partição.

Mas, felizmente tudo isso é coisa do passado. O NTFS-3g pode ser considerável o

primeiro driver de escrita em partições NTFS for Linux que é realmente utilizável,

finalmente oferecendo uma solução simples para o antigo problema.

Ao invés de ser um driver complexo, incluído no Kernel, o NTFS-3g roda através do

Fuse, um módulo que permite criar drivers para sistemas de arquivo que rodam como

programas comuns. Outro bom exemplo de driver que roda sobre o Fuse é o GmailFS

(http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html), que

permite "montar" sua conta do Gmail, acessando-a como se fosse um HD externo e

usando o espaço para fazer backup e guardar arquivos. Graças ao Fuse, você não precisa

se preocupar com headers e patches do Kernel, como ao instalar outros drivers, o que

simplifica muito a instalação.

Depois desta ladainha toda, você deve estar achando que usar o NTFS-3g deve ser

muito complicado, mas na verdade usá-lo é muito simples.

O Kurumin inclui o suporte ao ntfs-3g a partir dos primeiros betas da versão 7.0. Ao

clicar sobre o ícone "Montar as partições em leitura e escrita", dentro do "Meu

Computador", o script detecta que uma partição NTFS está disponível e pergunta se

você deseja usar o NTFS-3g para acessá-la em modo leitura e escrita:

Page 183: Línux entendo o sistema[JP.Conteudo]

Como diz o aviso, nunca é possível ter 100% de certeza de que acessar a partição

usando um driver "não oficial" não vai causar problemas (você pode perder arquivos até

mesmo usando o próprio Windows, por panes diversas no sistema), mas, embora o ntfs-

3g ainda seja considerado um software em estágio beta, problemas de corrupção de

dados são bastante raros.

Forcei uma série de situações potencialmente perigosas durante os testes, movendo

pastas com mais de 1000 arquivos e subpastas, interrompendo operações no meio e até

desligando o micro no botão durante uma cópia, sem conseguir causar problemas sérios

na partição. Dentro da minha experiência, o máximo que poderia acontecer em casos

mais extremos seria você precisar passar um scandisk através do próprio Windows para

corrigir algum eventual problema na estrutura do sistema de arquivos. De qualquer

forma, lembre-se sempre do velho ditado: "Só Jesus salva, o homem faz backup". :)

Outra coisa que chama a atenção é o desempenho. O ntfs-3g obtém taxas de

transferência absurdamente maiores que o Captive e o Paragon, se aproximando do

desempenho que seria oferecido por um sistema de arquivos "nativo".

No Captive, dificilmente obtinha mais do que irrisórios 300 kb/s de taxa de

transferência, enquanto o ntfs-3g consegue manter entre 5 e 11 MB/s (oscilando de

acordo com o tamanho dos arquivos copiados):

Page 184: Línux entendo o sistema[JP.Conteudo]

No Kurumin é muito simples usar o NTFS-3g por que ele já vem pré instalado no

sistema e o script de detecção automatiza seu uso. Mas, por ainda ser considerado um

driver experimental, ele não é incluído por padrão em muitas distribuições. Vamos

então ao caminho das pedras de como instalá-lo manualmente em outras distribuições e

também em versões anteriores do Kurumin.

O primeiro passo é carregar o módulo do Fuse (um driver do Kernel), usando o

modprobe. Ele está disponível em qualquer distribuição minimamente atual:

# modprobe fuse

Use o comando abaixo para adicioná-lo no arquivo "/etc/modules" (como root), de

forma a garantir que ele vai ser carregado durante o boot:

# echo "fuse" >> /etc/modules

A partir daí, você precisa instalar os pacote "libfuse" (ou "libfuse2") e "fuse-utils",

necessários para que o ntfs-3g funcione. Se você usa uma distribuição baseada no

Debian Etch (incluindo o Kurumin 6.0 e 6.1), ou o Ubuntu 6.6, pode instalar

diretamente via apt-get:

# apt-get install libfuse2 fuse-utils

Em outras distribuições, procure pelos pacotes "libfuse" e "fuse-utils, responsáveis pela

instalação do Fuse. Por ser um lançamento recente, o ntfs-3g não está disponível em

muitas distribuições. Nestes casos, você pode instalá-lo através do código fonte,

disponível no:

http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-download.html

O pacote é relativamente simples de compilar. Com o Fuse e os compiladores básicos

instalados, basta descompactar o arquivo e rodar os tradicionais "./configure", "make" e

"make install", este último como root.

Enquanto escrevo, o ntfs-3g não está disponível nos repositórios do Debian, nem do

Ubuntu, mas é possível instalá-lo (sem precisar recorrer ao código fonte) através do

repositório do Kanotix, que inclui pacotes compilados para o Debian Sid.

Para usá-lo, adicione a linha abaixo no final do arquivo "/etc/apt/source.list" e rode o

comando "apt-get update":

deb http://kanotix.com/files/debian sid main contrib non-free

Instale agora o pacote "ntfs-3g" via apt-get. Preste atenção neste passo (sobretudo se

estiver instalando sobre o Ubuntu). Caso o apt-get solicite a remoção de outros pacotes,

ou proponha baixar um grande número de dependências, aborte a operação

(pressionando Ctrl+C) e pesquise no google sobre a disponibilidade de versões

atualizadas dos pacotes.

Com os pacotes instalados, falta só montar a partição do Windows, usando o comando

"ntfs-3g". Se o Windows está instalado no driver C:, visto pelo sistema como

"/dev/hda1" e você deseja acessar os arquivos através da pasta "/mnt/hda1", o comando

seria:

Page 185: Línux entendo o sistema[JP.Conteudo]

# ntfs-3g /dev/hda1 /mnt/hda1

(o "/mnt/hda1" pode ser substituído por qualquer outra pasta de sua preferência)

Por padrão, o comando monta a partição com permissão de acesso apenas para o root, o

que leva ao problema clássico de você só conseguir acessar ao abrir o gerenciador de

arquivos como root. Para corrigir o problema, dando permissão de acesso para todos os

usuários, adicione a opção "-o umask=0" ao rodar o comando:

# ntfs-3g -o umask=0 /dev/hda1 /mnt/hda1

Agora você consegue acessar e escrever na partição usando seu login de usuário. Porém,

ao copiar arquivos para dentro da partição você recebe uma mensagem chata (para cada

arquivo copiado) dizendo que não é possível modificar as permissões do arquivo. Isso é

perfeitamente normal, já que o NTFS não suporta as permissões de acesso do Linux,

mas é extremamente chato se você precisa copiar um grande número de arquivos.

Para desativar as mensagens, adicione a opção "silent", como em:

# ntfs-3g -o umask=0,silent /dev/hda1 /mnt/hda1

Um último problema, apontado Pelo Cláudio Loureiro é a falta de suporte a caracteres

acentuados, que faz com que arquivos e pastas contendo cedilhas e acentos fiquem

ocultos. Felizmente, isso é facilmente contornável. Rode o comando "locale -a" no

terminal para verificar qual é a linguagem e conjunto de caracteres usado na sua

instalação. Normalmente, ao instalar o sistema em Português do Brasil, será usado o

"pt_BR.iso88591". Adicione o parâmetro "locale=pt_BR.iso88591" no comando, para

que o ntfs-3g use a linguagem e o conjunto de caracteres corretos. A partir daí, os

arquivos acentuados passam a aparecer normalmente:

# ntfs-3g -o umask=0,silent,locale=pt_BR.iso88591 /dev/hda1 /mnt/hda1

Segundo o Szakacsits Szabolcs, desenvolvedor do ntfs-3g, as próximas versões serão

capazes de detectar isso automaticamente, de forma que este parâmetro pode não ser

mais necessário no momento em que estiver lendo esta dica.

Concluindo, caso você queira que a partição do Windows seja montada

automaticamente durante o boot, existe a opção de adicionar o ponto de montagem no

arquivo "/etc/fstab", que é lido durante o boot. Abra o arquivo (como root) e adicione a

linha:

/dev/hda1 /mnt/hda1 ntfs-3g silent,locale=pt_BR.iso88591,umask=0 0 0

Note que a ordem dos parâmetros mudou, mas os argumentos usados continuam os

mesmos. É importante notar que você deve tomar cuidado ao editar o fstab, pois ele é

um arquivo essencial para o carregamento do sistema. Revise a alteração antes de

reiniciar o micro e deixe sempre uma linha em branco no final do arquivo, caso

contrário vai receber uma mensagem de erro chata durante o boot ;). Ao adicionar esta

linha no fstab, você não precisa mais se preocupar com o acesso à partição, pois ela

passará a ser automaticamente montada durante o boot.

Outra opção ao adicionar o ntfs-3g no /etc/fstab é usar a opção "noauto", que faz com

que a partição não seja montada automaticamente durante o boot. Isso seria mais

Page 186: Línux entendo o sistema[JP.Conteudo]

recomendável do ponto de vista da segurança, pois a partição seria montada apenas

quando fosse realmente acessar, evitando danos acidentais. Para acessar a partição, você

usaria o comando "mount /dev/hda1" (onde o "hda1" é a partição). No KDE você pode

criar ícones para acesso às partições clicando com o botão direto sobre o desktop e

acionando a opção "Criar novo > Link para Dispositivo".

Ao adicionar o "noauto", a linha no fstab ficaria:

/dev/hda1 /mnt/hda1 ntfs-3g noauto,silent,locale=pt_BR.iso88591,umask=0 0 0

Graças ao NTFS-3g, mais uma grave deficiência do sistema foi corrigida. Agora é só

questão de tempo para que as principais distribuições passem a oferecer suporte de

gravação em partições NTFS por padrão, facilitando a vida de quem mantém o

Windows em dual boot, ou trabalha com manutenção. Imagine a praticidade de dar boot

através de um live-CD, montar a partição do Windows e usar o ClamAV para remover

os vírus ;).

Acesso a redes Windows

Mesmo no Linux, você pode acessar compartilhamentos de rede nas máquinas

Windows da rede e criar novos compartilhamentos usando o Samba. Ele é dividido em

dois módulos: o cliente, usado para acessar os compartilhamentos, e o servidor, usado

para compartilhar arquivos com as outras máquinas da rede.

O cliente Samba pode ser encontrado pré-instalado na maioria das distribuições

(incluindo o Kurumin). Nas demais, ele pode ser instalado através do pacote

"smbclient" ou "samba-client". O servidor por outro lado tem uma configuração mais

complicada e em geral não é instalado por padrão, para evitar qualquer possibilidade de

problemas de segurança.

O smbclient é uma espécie de biblioteca, que pode ser usada por outros programas.

Existem diversos clientes Samba, escritos nas mais variadas linguagens, mas o

funcionamento de todos é muito similar.

O próprio Konqueror pode ser usado para acessar os compartilhamentos. Para isso, use

o endereço "smb://ip_do_servidor", como em: smb://172.20.0.2. Ao acessar um

compartilhamento no Windows XP e 2000 você precisa fornecer uma conta e senha de

usuário para acessar. Será aberta uma janela pedindo o login e senha do servidor.

Opcionalmente, você pode especificar o login de acesso diretamente no endereço, como

em "smb://[email protected]".

Page 187: Línux entendo o sistema[JP.Conteudo]

Uma particularidade do Konqueror é que ele não monta os compartilhamentos

acessados, ele simplesmente os acessa como se estivesse mostrando uma página web ou

ftp. Você transfere arquivos simplesmente arrastando, mas, ao clicar sobre um arquivo,

ele pergunta se você quer salvá-lo no HD, ao invés de abri-lo diretamente. Ou seja, para

alterar um arquivo você precisa primeiro copiá-lo para uma pasta do HD, editá-lo e em

seguida copiá-lo de volta para o servidor. Devido a isso, o Konqueror serve mais como

uma solução rápida para transferir arquivos.

Se você quer uma solução mais completa, a melhor opção é o Smb4K, também

encontrado em diversas distribuições. No Kurumin você encontra o ícone para ele no

"Iniciar > Redes e Acesso remoto > Redes Windows".

Ele usa uma interface bastante simples. O frame do lado esquerdo mostra os grupos,

micros e compartilhamentos disponíveis. Ao clicar sobre um dos compartilhamentos,

ele é montado numa pasta dentro do seu diretório home, de forma que você possa abrir e

modificar os arquivos (e não apenas copiar, como no Konqueror).

Os compartilhamentos montados são mostrados no frame do lado direito. Clicando

sobre eles, é aberta uma janela do gerenciador de arquivos, exibindo os arquivos. Na

parte inferior da tela, você encontra um conjunto de abas que mostram as propriedades

do compartilhamento.

Page 188: Línux entendo o sistema[JP.Conteudo]

Novamente, temos a questão da autenticação. Por padrão, o Smb4K tenta usar o mesmo

login e senha que você usou para fazer login no seu micro. Se a máquina Windows tiver

este mesmo login cadastrado, você acessa diretamente, caso contrário é mostrada uma

janela pedindo login e senha.

Se você usa senhas diferentes para acessar diferentes micros da rede, clique com o botão

direito sobre o compartilhamento ou o micro e use a opção "Autenticação". Isso permite

definir e salvar um login e senha distintos para cada um, sem precisar digitar de novo a

cada acesso.

Page 189: Línux entendo o sistema[JP.Conteudo]

Numa redes Windows, os clientes se comunicam através de pacotes de broadcast

(pacotes enviados simultaneamente para todos os micros da rede), que são usados para

descobrir quais micros e servidores estão ativos e quais compartilhamentos cada um

está disponibilizando. Para agilizar a tarefa, existe o "master browser", um cargo

assumido automaticamente por um dos micros, que passa a escanear a rede e gerar uma

lista dos compartilhamentos ativos, que é enviada aos demais micros da rede. Quando o

master browser está disponível, os clientes Windows pegam a lista dos

compartilhamentos com ele, caso contrário usam os pacotes de broadcast.

Se você tiver um servidor Samba ou um servidor Windows NT/2000/2003 disponível na

rede, ele assumirá automaticamente o papel de master browser. Você pode então

configurar o Smb4K para pegar a lista dos compartilhamentos diretamente com ele, ao

invés de usar o processo tradicional. Para isso, acesse o "Configurações > Configurar

Smb4K > Rede > Lista de Navegação" e indique o IP do servidor na opção "Consultar

um master browser para obter a lista de navegação".

Caso tenha problemas para ver a lista dos compartilhamentos, experimente a opção

"Usar smbclient" ao invés da "Usar nmblookup" dentro da seção "Busca na rede".

Sempre que é aberto, o Smb4K fica residente na forma de um ícone ao lado do relógio.

Se quiser que ele seja aberto automaticamente junto com o KDE, arraste o ícone para

ele que está no iniciar para dentro da pasta "/home/$USER/.kde/Autostart/". Todos os

ícones colocados dentro desta pasta são iniciados automaticamente durante a abertura

do KDE. Você pode digitar o endereço assim mesmo no Konqueror. O "$USER" é uma

variável de sistema que é substituída automaticamente pelo login de usuário que você

está usando.

Page 190: Línux entendo o sistema[JP.Conteudo]

Para simplificar ainda mais as coisas, você pode configurá-lo (o Smb4K) para lembrar

os compartilhamentos acessados e montá-los automaticamente ao ser aberto. Para isso,

acesse novamente o menu de configuração e marque a opção "Remount recently used

shares on program start".

Uma terceira opção de cliente é o LinNeighborhood. Ele é um programa bem mais

antigo e menos amigável que o Smb4K, mas ainda assim usado como programa cliente

padrão em muitas distribuições. Já que estamos com a mão na massa, não custa

aprender a trabalhar com ele também.

Ele não vem pré-instalado nas versões recentes do Kurumin, mas você pode instalá-lo

via apt-get:

# apt-get install linneighborhood

O comando para chamá-lo via terminal é novamente "linneighborhood".

Page 191: Línux entendo o sistema[JP.Conteudo]

Se ao abrir ele não mostrar a lista dos compartilhamentos da rede, clique em "editar >

outros browsers mestre" e adicione o endereço de algumas das outras máquinas da rede.

Se os compartilhamentos estiverem disponíveis com controle de acesso por usuário (o

que é o default no Windows NT/2000/XP), os compartilhamentos não aparecerão

imediatamente, clique com o botão direito sobre o grupo e acesse a opção "scan group

as user". Assim como no Smb4K, você pode utilizar um login diferente em cada host ou

em cada compartilhamento se necessário.

Depois de devidamente identificado, você será capaz de ver os compartilhamentos

disponíveis na rede. Toda a configuração do linneighborhood é feita com o seu próprio

login de usuário, não há necessidade de usar o root.

Page 192: Línux entendo o sistema[JP.Conteudo]

Para que os compartilhamentos fiquem acessíveis, falta apenas montá-los. Clique sobre

um compartilhamento e selecione a opção "mount". A opção "Mount point" determina

em qual pasta os arquivos ficarão disponíveis (ele usa por padrão uma pasta dentro do

seu home) e as opções "SMB User" e "SMB Password" especificam o login e senha que

serão usados para montar o compartilhamento.

Page 193: Línux entendo o sistema[JP.Conteudo]

A opção "Run File Manager after Mounting" faz com que ele abra uma janela do

gerenciador de arquivos depois de montar, assim como faz o Smb4K. Para que esta

última opção funcione, é preciso configurar qual gerenciador de arquivos será usado nas

preferências.

Para que os compartilhamentos sejam montados automaticamente, clique em "Edit >

Preferences" na tela principal do linneighborhood para acessar o menu de configuração

e, na aba "Miscellaneous", marque a opção "Memorize Mounted Shares / Remount on

Next Startup".

Na aba "Scan" você pode editar mais algumas opções caso necessário. Você pode, por

exemplo, indicar manualmente o IP ou nome do servidor com a função de master

browser, o que agiliza um pouco a navegação na rede. Se você estiver tendo problemas

para visualizar os compartilhamentos da rede, coloque o endereço do servidor de

arquivos da rede (Samba ou Windows, tanto faz) neste campo e provavelmente o

problema será resolvido.

Page 194: Línux entendo o sistema[JP.Conteudo]

Criando compartilhamentos

Ao contrário do cliente, que é relativamente simples de usar, o servidor Samba é um

software bem mais complexo, destinado não apenas a oferecer todos os recursos dos

servidores de arquivos Windows, mas a superá-los em vários aspectos, incluindo opções

pouco comuns, melhor segurança e desempenho. Isso faz com que a configuração do

Samba não seja nenhum exemplo de simplicidade, com vários macetes e opções pouco

conhecidas. É por isso que existem tantos livros dedicados a ele ;).

Mas, para não perdermos o fio da meada, vou me limitar a ensinar como criar uma

configuração básica, suficiente para compartilhar arquivos com a rede local, sem muita

segurança. Abordo a configuração do Samba com mais detalhes no livro Redes e

servidores Linux.

O primeiro passo é instalar o servidor Samba propriamente dito. No Kurumin e em

outras distribuições derivadas do Debian, basta instalar o pacote "samba" através do apt-

get. Em outras distribuições, o pacote pode ser chamar "samba-server".

# apt-get install samba

O Samba é originalmente configurado através do arquivo "/etc/samba/smb.conf". O

configurador mais "tradicional" é o swat, mas o KDE oferece um utilitário muito mais

simples, incluído no "Centro de Controle > Internet e Rede > Configuração do Samba".

Se a opção não estiver disponível, verifique se o pacote "kdenetwork-filesharing" (ou

apenas "kdenetwork", em outras distribuições) está instalado.

Page 195: Línux entendo o sistema[JP.Conteudo]

Clique no "Modo Administrador" e forneça a senha de root. Isto é necessário, pois ele

precisa das credenciais para fazer as alterações necessárias no sistema.

Na aba "Configuração Base", defina o grupo de trabalho usado na rede e o nome do seu

micro na rede (Nome NetBIOS). Você pode também editar a descrição do servidor, que

será visto pelos clientes como parte do nome.

A configuração mais importante vai na opção "Nível de Segurança", que determina a

forma como o Samba controlará o acesso aos compartilhamentos.

Se você quer apenas criar alguns compartilhamentos públicos, para permitir que outros

micros da rede acessem alguns arquivos, sem se preocupar com permissões e logins de

acesso, use a opção "Compartilhamento" (Share), que simplesmente permite que todos

os micros da rede local acessem os compartilhamentos, como se estivesse usando uma

máquina com o Windows 98.

Se quiser mais segurança, use a opção "Usuário" (user), que utiliza um nível de

segurança similar ao do Windows 2000 e XP, onde apenas usuários autorizados podem

acessar os compartilhamentos. Neste caso, você vai ter o trabalho de cadastrar todos os

logins e senhas que serão usados para acessar os compartilhamentos e depois ativá-los

no Samba.

Comece criando os logins usando o "users-admin" ou manualmente através do comando

"adduser". Depois de criar os usuários no sistema, acesse a aba "usuários" do painel e

adicione os usuários criados no campo "Usuários Samba". A lista "Usuários UNIX"

Page 196: Línux entendo o sistema[JP.Conteudo]

mostra todos os usuários cadastrados no sistema, incluindo os usuários ocultos (por isso

que é tão grande), mas você só precisa se preocupar com os usuários que adicionou.

Quando alguém tentar acessar seus compartilhamentos a partir de uma máquina

Windows, o Samba verificará se o login que está sendo usado no Windows bate com

alguma das contas cadastradas. Se bater, ele autoriza o acesso aos arquivos, caso

contrário a pessoa verá o prompt para inserir um usuário e senha válidos.

Finalmente, falta criar os compartilhamentos propriamente ditos, usando a aba

"Compartilhamentos". No campo "Localização" vai o caminho completo da pasta que

está sendo compartilhada, e no "Nome", o nome do compartilhamento na rede. Se quiser

que os outros possam alterar o conteúdo da pasta e adicionar novos arquivos, desmarque

a opção "Somente Leitura".

Page 197: Línux entendo o sistema[JP.Conteudo]

A opção "Público" permite que todo mundo tenha acesso à pasta, o que é o padrão ao

usar o nível de segurança no nível "Compartilhamento". Ao usar o nível de segurança

"Usuário", configure as permissões de acesso na aba "Usuários". Você pode definir

individualmente quem pode acessar, quem não pode e quem pode acessar em modo

somente leitura. Na aba "Segurança" você pode também especificar individualmente

máquinas que terão ou não acesso ao compartilhamento, baseado no nome ou no

endereço IP.

Combinando as permissões de acesso baseadas nos logins de acesso e nomes das

máquinas, você pode ter um controle bastante estrito de quem pode ou não acessar cada

pasta.

Naturalmente, quanto mais estritas as permissões, mais trabalhosa fica a configuração e

maior é a possibilidade de erros. Uma coisa que você deve prestar atenção, sobretudo ao

usar o nível de segurança em modo compartilhamento, são as permissões de acesso da

pasta no sistema.

O Samba é um programa que roda com privilégios limitados. Quando alguém tenta

acessar um arquivo, o Samba decide entre autorizar ou não o acesso com base nas suas

configurações, e depois tenta acessar o arquivo no sistema. Como o Samba está sujeito

às permissões de acesso dos arquivos, podem acontecer casos em que esteja tudo correto

nas configurações do Samba, mas você não consiga acessar, ou não consiga alterar os

arquivos num compartilhamento porque as permissões de acesso da pasta não permitem.

Antes de mais nada, experimente abrir as permissões da pasta compartilhada, dando

permissão de leitura e escrita para todo mundo. Se resolver, vá restringindo novamente

as permissões, até que fiquem da maneira como você quer, mas sem comprometer o

acesso do Samba.

Ao terminar, clique no "Aplicar" para salvar as configurações no arquivo

"/etc/samba/smb.conf". Na verdade, o painel serve simplesmente como uma interface

para editar este arquivo e cadastrar os usuários.

O Samba atualiza as configurações em relação ao arquivo de configuração

periodicamente, a cada 30 segundos. Para acelerar as coisas, fazendo com que as

alterações entrem em vigor imediatamente, você pode reiniciar o Samba manualmente,

usando o comando:

# /etc/init.d/samba/restart

Compartilhamentos em NFS

Uma forma fácil de compartilhar arquivos com outras máquinas Linux é utilizar o

protocolo NFS, muito mais simples de trabalhar que o Samba. O Kurumin inclui dois

ícones, para ativar ou desativar o servidor NFS e para acessar compartilhamentos de

outras máquinas, disponíveis no menu "Redes e Acesso Remoto > NFS".

Imagine que você tenha duas máquinas, uma com o IP 192.168.0.1 e a outra com o

192.168.0.2. A 192.168.0.1 tem uma partição no HD cheia de filmes em Divx que você

quer assistir na máquina 192.168.0.2.

Page 198: Línux entendo o sistema[JP.Conteudo]

Em primeiro lugar você monta a partição com os vídeos, clicando sobre o ícone no

desktop. Depois clica no "NFS (Configurar um servidor de arquivos NFS)".

Preencha os campos com a pasta que será compartilhada, os endereços IP que terão

acesso a ela (o * é um curinga, que diz que todos os micros dentro da faixa 192.168.0.x

terão acesso) e se o compartilhamento será apenas leitura, ou leitura e escrita.

No final, o script vai abrir o arquivo "/etc/exports", onde fica a lista das pastas

compartilhadas com a rede, de forma que você possa conferir a entrada adicionada.

Você pode compartilhar várias pastas diferentes e com permissões diferentes, basta criar

vários compartilhamentos.

Você pode substituir o "*" pelo IP da máquina que acessará o compartilhamento e o

"ro" por "rw" que compartilhará a pasta com permissão de escrita. Basta salvar o

arquivo e a pasta estará compartilhada até que você clique no "NFS - Desativar

servidor"

No cliente (a máquina 192.168.0.2, no exemplo), você precisa apenas clicar no "NFS

(Acessar um compartilhamento NFS)". Preencha os campos com o endereço IP do

servidor, a pasta que ele está compartilhando (/mnt/hda6 no exemplo) e a pasta local

onde este compartilhamento ficará disponível, como por exemplo "/mnt/nfs/".

Page 199: Línux entendo o sistema[JP.Conteudo]

Pronto, agora é só acessar a pasta e você poderá assistir seus filmes através da rede. O

NFS é um protocolo bastante simples e leve, por isso ele quase não degrada o

desempenho da máquina ao acessar arquivos pela rede.

O script monta o compartilhamento e abre uma janela do Konqueror mostrando os

arquivos. Ao fechar a janela, o compartilhamento é desmontado automaticamente.

Marcando a opção "Criar um ícone no desktop e adicionar uma entrada no fstab", é

criado um ícone no desktop, que permite montar o compartilhamento posteriormente,

mesmo reiniciando o micro. Para desmontar, clique com o botão direito sobre ele e use

a opção "desmontar".

Se o seu servidor de arquivos fica sempre ligado e você prefere que o compartilhamento

seja montado automaticamente durante o boot (só faça isso se o servidor vá ficar sempre

ligado), abra o arquivo "/etc/fstab" (como root) e modifique a linha referente ao

compartilhamento, retirando a opção "noauto". A linha originalmente será como esta:

# Acessa compartilhamento de rede nfs, adicionado pelo nfs-montar:

192.168.1.100:/mnt/hda6 /mnt/nfs nfs noauto,users,exec 0 0

E depois da alteração ficará assim:

# Acessa compartilhamento de rede nfs, adicionado pelo nfs-montar:

192.168.1.100:/mnt/hda6 /mnt/nfs nfs users,exec 0 0

Page 200: Línux entendo o sistema[JP.Conteudo]

Utilitários de Sistema

O menu de utilitários de sistema (Iniciar > Sistema) reúne um conjunto de utilitários

úteis, incluindo ferramentas de particionamento, backup e um conjunto de scripts e

ferramentas de configuração. Alguns podem ser encontrados também dentro do Painel

de Controle, outros estão disponíveis somente aqui.

Na pasta "Particionamento", você encontra os atalhos para o Gparted e o Cfdisk, que

comentei durante o capítulo de instalação. Na pasta "Impressora", você encontra

atalhos para o kaddprinterwizard (adicionar impressora), o printmgr, o kjobviewer, onde

você pode gerenciar as impressoras instaladas e gerenciar os trabalhos de impressão (e

remover aquele livro de 200 páginas que você mandou imprimir por engano ;), e o

printconf, um script que detecta automaticamente novas impressoras instaladas.

Na aba "Backup", você encontra o Partition Image e o Konserve, dois utilitários de

backup. O Partition Image permite fazer imagens das partições, de forma a salvar,

recuperar ou clonar as partições atuais. Ele é extremamente útil tanto nos momentos em

que quiser fazer um backup completo do sistema, quanto quando precisar clonar a

instalação do sistema, instalando-o em vários micros.

Ele pode ser usado com o Kurumin rodando direto do CD. O backup com a imagem da

partição pode ser salvo tanto numa outra partição do HD (você deve montá-la antes,

ativando a permissão de escrita) quanto via rede, numa pasta compartilhada via NFS.

São copiados apenas os dados dentro da partição que em seguida são comprimidos em

gzip ou bzip2 (o bzip2 comprime um pouco mais, mas é mais lento). Uma partição de 5

GB, com 3 GB ocupados vai gerar um arquivo de em média 1 GB. Não o subestime por

causa da interface em modo texto, o Partition Image é um dos programas mais usados

na área, competindo diretamente com o Norton Ghost.

Page 201: Línux entendo o sistema[JP.Conteudo]

O Konserve por sua vez é um utilitário bem mais simples, que permite fazer backup de

pastas específicas. Você define as pastas, aonde será feito o backup e sua periodicidade,

e ele faz o resto.

A pasta "Ferramentas do KDE" agrupa um conjunto de pequenos utilitários e plugins

do Konqueror que são úteis em várias situações. O "Gerenciar e Instalar Novas Fontes"

(fonts:/System/truetype no Konqueror) permite gerenciar e instalar novas fontes

TrueType, simplesmente colocando os arquivos dentro da pasta. Você pode instalar as

fontes do Windows (que ficam na pasta C:\Windows\Fonts) ou fontes incluídas em

programas diversos. As fontes são um componente importante, pois permitem que

páginas web e documentos sejam exibidos corretamente. Ter as fontes necessárias

instaladas melhoram bastante o nível de compatibilidade do OpenOffice com os

arquivos do Office, por exemplo.

Para administração remota, você pode utilizar o "Compartilhamento de Desktop"

(krfb), que pode ser acessado pelo "Conexões em Ambiente de Trabalho Remoto" ou

por qualquer cliente VNC, seja no Linux, Windows ou OS X. Ao contrário do servidor

VNC for Linux, que cria uma nova seção do X, o Compartilhamento de desktop

compartilha a tela local, a que o usuário está vendo, servindo como uma boa opção para

quem trabalha com suporte ou em situações onde você precisa ajudar algum amigo

remotamente.

O "Guarda do Sistema KDE" (ksysguard) mostra uma lista com os programas que

estão rodando, junto com a quantidade de memória utilizada por cada um e outras

informações. Você pode usá-lo também para finalizar programas.

O "Centro de Informações" (kinfocenter) mostra várias informações sobre o hardware

da máquina, desde coisas básicas como a quantidade de memória, partições do HD e

processador, até os canais de I/O e IRQ usados e a identificação de todos os

componentes instalados. Através dele, você vai saber que o micro tem uma placa de

vídeo GeForce4 MX 400, uma placa de som Sound Blaster Live, rede Realtek 8139C e

um Modem Agere SV92, por exemplo.

Se você quiser ver uma lista dos pacotes instalados no Kurumin, abra o "Gerenciador

de Pacotes" (kpackage). Se o Kurumin estiver instalado no HD e você já tiver rodando

o comando "apt-get update" ou clicado no ícone "Atualizar lista de pacotes" ele também

mostrará uma lista com todos os pacotes disponíveis no repositório do Debian, que

podem ser instalados via apt-get. Outro utilitário útil para gerenciar os programas

instalados é o "kmenuedit", que permite editar o menu iniciar do KDE.

Na pasta Scripts você encontra um utilitário que pode se revelar o mais útil, o

"remasterizar-kurumin". Ele permite remasterizar o CD do Kurumin, adicionando

mais programas e arquivos, alterando as configurações e assim por diante. Ele é uma

ferramenta valiosa para desenvolver soluções personalizadas utilizando o Kurumin

como base. Que tal um firewall ou um sistema para os quiosques que a sua empresa vai

implantar no Shopping, que roda direto do CD?

Você também pode usá-lo para fazer pequenas modificações no seu CD do Kurumin,

incluindo programas como o Gimp, Mozilla, OpenOffice ou o que mais você precisar

usar no dia-a-dia.

Page 202: Línux entendo o sistema[JP.Conteudo]

O script descompacta o conteúdo da imagem do sistema numa pasta do HD, permite que

você faça alterações (como instalar ou remover programas através do apt-get, ou alterar

as configurações do sistema) e depois gera um novo ISO com as alterações.

Naturalmente, a qualidade do resultado final depende unicamente de você, o script

apenas automatiza as partes mecânicas do processo.

No menu "Gnome System Tools", você encontra um conjunto de utilitários que

originalmente foram desenvolvidos no Red Hat, depois incluídos no Fedora e (com

modificações) no Mandriva, até finalmente serem portados para o Debian. O conjunto

inclui:

network-admin (configuração da rede): Esta é uma ferramenta alternativa para

configurar a rede. Ao ser aberto, ele detecta as placas de rede (incluindo placas wireless)

e modems instalados, e mostra um menu separado para cada um. Note que ele se limita

a exibir as placas e modems que já foram detectados e ativados, ele não é capaz de

detectar sua placa wireless ou modem por si só.

boot-admin (configuração do lilo): Facilita a configuração do lilo, permitindo trocar o

sistema padrão e incluir novas entradas. A configuração é automaticamente salva no

arquivo "/etc/lilo.conf".

disks-admin (disks): Permite ver e montar as partições disponíveis no HD, substituindo

os ícones no "Meu Computador" ou a montagem manual. Ele se limita a mostrar as

partições existentes; para fazer alterações você deve usar o Gparted.

time-admin (data e hora): É uma forma alternativa de ajustar a hora e fuso horário do

sistema. Você pode fazer isso também usando o "kcmshell --clock" do KDE, clicando

com o botão direito sobre o relógio.

shares-admin (pastas compartilhadas): Permite criar e desativar compartilhamentos de

rede. Originalmente, ele permite apenas criar compartilhamentos NFS, mas passa a

incluir também compartilhamentos do Samba, caso o servidor esteja instalado. Você

pode instalar o servidor Samba no Kurumin usando o ícone mágico.

users-admin (usuários e grupos): Este é provavelmente o utilitário mais útil do

conjunto, o utilitário para gerenciar usuários e grupos que comentei no capítulo sobre a

instalação do sistema.

Lembre-se de que o Linux é um sistema multiusuário, sempre que permitir que alguém

use seu micro, você pode criar um usuário separado, impedindo que o visitante

danifique seus arquivos ou a configuração do sistema. O mesmo se aplica quando quiser

dar acesso via SSH para alguém ou criar compartilhamentos usando o Samba. Utilize

Page 203: Línux entendo o sistema[JP.Conteudo]

um usuário separado também quando precisar executar algum problema suspeito, assim

você limita os danos caso ele contenha qualquer código malicioso.

Configurando o KDE

O KDE não é apenas uma interface gráfica, mas sim o que podemos chamar de

"desktop", um conjunto de bibliotecas, aplicativos, além de ferramentas de configuração

e desenvolvimento que oferecem um ambiente completo, tanto para quem quer apenas

usar o sistema, quanto para quem desenvolve aplicativos.

O KDE é baseado na biblioteca Qt, desenvolvida pela TrollTech. Em 1997, quando o

KDE começou a ser desenvolvido, a biblioteca Qt era de uso gratuito, mas não tinha o

código aberto, o que gerou uma grande polêmica e levou ao surgimento do Gnome,

baseado na biblioteca GTK, a mesma usada por programas como o Gimp.

Com o crescimento do KDE e a possibilidade de formar uma grande comunidade de

desenvolvedores, que impulsionariam o desenvolvimento e o uso da sua biblioteca, a Qt

resolveu liberar o Qt sob a GPL em Setembro de 2000, o que removeu este entrave

inicial. O Gnome continuou sendo desenvolvido, mas agora com o objetivo de ser uma

interface mais fácil de usar, e não como um concorrente "livre" ao KDE, já que agora

ambos são :).

Quanto ao número de usuários, não existem muitas estatísticas confiáveis, mas o KDE

parece ter um número bem maior de usuários. Uma pesquisa realizada pelo

desktoplinux.com no início de 2005

(http://www.desktoplinux.com/articles/AT2127420238.html) fala em 61% para o KDE

e 21% para o Gnome. O Gnome é aparentemente mais usado nos EUA, pela

predominância de distribuições como o Fedora e o Ubuntu, enquanto o KDE parece ser

mais popular no restante do mundo, incluindo o Brasil.

As configurações do KDE são organizadas num programa central, o Kcontrol (Centro

de Controle do KDE). À primeira vista, o Kcontrol parece simples. Do lado esquerdo da

tela temos uma lista dos módulos disponíveis, organizados em categorias. Clicando em

qualquer um, você tem acesso às opções no frame do lado direito.

Caso tenha dúvidas sobre um determinado módulo, você pode clicar na aba "Help" que

exibe a ajuda. Os módulos mais simples possuem apenas um texto curto explicando

para que servem, mas alguns possuem manuais bem completos. Vale a pena dar uma

olhada.

Este é um tópico "light" dentro deste capítulo, onde vou falar sobre algumas

configurações disponíveis. O Kcontrol tem vários quartos escuros e passagens secretas,

então, mesmo que você já use o sistema a algum tempo, é provável que você não

conheça muitas das opções.

Por exemplo, existem dois modos de exibição para as opções dentro do Painel, em

Árvore ou em Ícones, que você define na opção "Ver > Modo", na janela principal.

Como são muitas opções, muita gente prefere o modo de exibição em ícones, onde ao

clicar sobre uma seção você passa a ver apenas as opções referentes a ela. Você pode

definir também o tamanho dos ícones e definir atalhos de teclado para estas opções.

Page 204: Línux entendo o sistema[JP.Conteudo]

Aqui vai um resumo de algumas opções importantes:

Administração do Sistema: Algumas partes desta seção podem ser acessadas apenas

pelo root, já que alteram aspectos sensíveis do sistema. Para ter acesso a elas, clique no

botão "Modo Administrador".

A seção "Gerenciador de Login" permite configurar a tela de login do sistema, alterando

as cores, papel de parede, etc. É aqui que você pode também ativar ou desativar o auto-

login, o recurso usado no Kurumin para que o KDE seja aberto diretamente durante o

boot. Se preferir, você pode desativar isso, fazendo com que o Kurumin passe a pedir

login e senha, como em outras distribuições e vice-versa.

A seção "Data e Hora" permite ajustar a hora e o fuso horário do sistema, a mesma

função que pode ser acessada clicando com o botão direito sobre o relógio. O módulo

"Instalador de Fontes" permite que você instale fontes truetype que passam a ser usadas

automaticamente pelos programas instalados. Ele é bem simples de usar, clique no

"Adicionar Fontes", indique a pasta e onde estão as fontes, selecione os arquivos e

clique no botão de ok.

Você pode tanto instalar as fontes logado como usuário normal, de modo que elas

fiquem disponíveis apenas para o seu login, ou como root, tornando-as disponíveis para

todos os usuários. Não é difícil encontrar vários sites que disponibilizam fontes por aí.

Você também pode copiar as pastas de fontes do Windows (c:\Windows\Fonts) ou de

programas como o Corel Draw.

Page 205: Línux entendo o sistema[JP.Conteudo]

Instalar as fontes do Windows permite que os documentos escritos no Microsoft Office

sejam exibidos com formatação perfeita no OpenOffice, por exemplo, pois você terá

instaladas as mesmas fontes que o autor original usou.

As fontes ficam automaticamente disponíveis para os navegadores e também para

programas como o OpenOffice (caso esteja instalado). Você pode também usar as novas

fontes para personalizar o visual do sistema, acessando a seção Aparência > Fontes do

Centro de Controle do KDE.

A partir do KDE 3.3 existe uma forma ainda mais simples de instalar novas fontes. Abra

uma janela do Konqueror e digite "fonts:/" na barra de endereços. Você verá duas

pastas: "Pessoal" e "System". Para instalar novas fontes, você só precisa arrastar os

arquivos para dentro de uma das pastas para que elas sejam automaticamente

reconhecidas pelo sistema, como você faz no Windows ao copiar novas fontes para a

pasta "c:\Windows\Fonts".

Copiando as fontes para a pasta Pessoal, você faz uma instalação particular, válida

apenas para o seu usuário. Copiando para a pasta System, você instala de uma vez para

todos os usuários cadastrados no sistema. Neste caso, o Konqueror vai pedir a senha de

root.

Para que as fontes fiquem disponíveis também dentro do OpenOffice, copie os arquivos

para dentro da pasta "System/truetype/openoffice".

Page 206: Línux entendo o sistema[JP.Conteudo]

Aparência & Temas: Esta é provavelmente a área mais acessada do kcontrol. Parece

que todo mundo gosta de personalizar o seu desktop e o KDE oferece uma grande

flexibilidade neste sentido. Você pode alterar a decoração das janelas, o tamanho da

barra de tarefas, o conjunto de ícones do sistema e assim por diante.

Lembre-se de que existem centenas de conjuntos de ícones, papéis de parede, conjuntos

de sons de sistema, etc. que você pode baixar no http://www.kde-look.org.

Para instalar um conjunto de ícones, baixe o arquivo .tar.gz (neste caso um simples

arquivo compactado contendo os ícones e não um pacote com código fonte), acesse a

seção "Ícones" e clicar no "Instalar Tema". A partir daí você pode escolher qual tema

usar na lista. A maioria das distribuições usa o tema "Crystal SVG", um conjunto de

ícones bonito e neutro, que agrada a maioria. Outros temas populares são o Crystal

Clear, o Nuvola e o Noia. No kde-look existe até um tema que imita os ícones do

Windows 2000 (gosto não se discute, se lamenta ;).

O Wallpaper é a personalização mais simples. Para alterar vá em "Fundo de Tela >

Papel de Parede". O KDE suporta imagens em vários formatos, incluindo jpg, gif, png e

bmp. Você pode usar também a opção "show de slides", onde você aponta uma pasta

com várias imagens e ele troca periodicamente. Você pode ter um papel de parede

diferente a cada minuto, por exemplo.

Nos menus Cores, Fontes, Estilo, Painéis e Decoração de Janela, você pode configurar

várias opções relacionadas ao visual do sistema. A "Decoração da Janela" é a moldura

com a barra de arrastar e os ícones para maximizar, minimizar e fechar usada em todas

as janelas abertas. Você pode trocar essa moldura por outra com ícones parecidos com

os do Windows ou MacOS X, por exemplo. O estilo determina a aparência dos botões,

barras de rolagem e outros componentes da tela. Os dois mais usados são o Plastik e o

Lipstik. Existe até um tema particularmente feio, que tenta imitar o visual do Windows

9x ;).

Page 207: Línux entendo o sistema[JP.Conteudo]

Por padrão, o Kurumin vem com apenas dois protetores, o Flux e o Show de Slides (que

exibe as imagens de uma pasta escolhida por você), mas você pode obter um conjunto

mais completo instalando o pacote "kscreensaver", pelo apt-get.

A "Tela de Apresentação", aquela tela com o logo do Kurumin que aparece durante a

abertura do KDE, é na verdade um conjunto de imagens que fica na pasta

"/usr/share/apps/ksplash/pics/". Assim como no caso dos ícones, você pode baixar

novos temas no kde-look e instalá-los usando a opção "Tela de Apresentação >

Adicionar".

Área de Trabalho: Nesta seção estão opções relacionadas à barra de tarefas, menu

iniciar e ao comportamento das janelas. Por exemplo, no Windows, um clique duplo

sobre uma janela faz com que ela seja maximizada, enquanto, no Konqueror, o padrão é

ocultar a janela, deixando apenas a barra de títulos, um comportamento natural para

quem está acostumado com outros gerenciadores de janela, mas bem estranho para

quem vem do Windows. Você pode alterar isso na opção "Comportamento de Janela >

Ações". Para ficar como no Windows, configure a opção "Clique duplo na barra de

títulos:" como "Maximizar".

Veja que você pode definir funções para os outros botões. Na configuração padrão, o

botão do meio serve para minimizar a janela.

Page 208: Línux entendo o sistema[JP.Conteudo]

Um recurso interessante oferecido não apenas pelo KDE, mas pelas interfaces do Linux

em geral são os desktops virtuais. Cada desktop funciona como uma área independente

e você pode alternar entre eles usando atalhos de teclado.

No KDE você pode alternar entre as áreas de trabalho virtuais pressionando Ctrl + uma

das teclas de função, da F1 à F12, como em Ctrl+F2 (para mudar para o segundo

desktop), Ctrl+F1 (para voltar para o primeiro), etc. Para enviar um programa aberto

para outro desktop virtual, clique sobre a barra com o botão direito do mouse e use a

opção "Para o ambiente...".

Os desktops virtuais permitem organizar melhor os programas abertos e alternar entre

eles com mais facilidade. Você pode organizar os programas "por tema", por exemplo,

deixar todas as janelas do navegador no primeiro desktop, as janelas do editor de textos

e o leitor de e-mails no segundo e assim por adiante.

Você pode ajustar o número de desktops virtuais através da opção "Múltiplas Áreas de

Trabalho". Uma observação é que cada desktop virtual faz com que o sistema passe a

consumir entre 2 e 4 MB a mais de memória RAM (de acordo com a resolução de vídeo

usada), o que pode ser um problema em micros com 256 MB ou menos.

Page 209: Línux entendo o sistema[JP.Conteudo]

Como um complemento, você pode incluir o pager na barra de tarefas. Ele é um applet

que permite alternar entre as áreas de trabalho. Para incluí-lo, arraste o campo onde

aparece a lista de janelas um pouco para a direita e clique com o botão direito sobre a

área vazia. No menu, clique no "Adicionar > Mini aplicativo > Pager".

Existem um conjunto de outros applets que podem ser adicionados da mesma forma.

Vale à pena perder um pouco de tempo testando as opções disponíveis :). Um que acho

particularmente interessante é o Kweather (apt-get install kweather), que mostra a

temperatura, velocidade do vento e outras informações meteorológicas e um ícone que

mostra se o tempo está nublado ou chuvoso na sua cidade.

Voltando ao Kcontrol, você encontra mais opções de personalização da barra de tarefas,

incluindo seu tamanho, pano de fundo (a barra pode ficar transparente, ou usar uma

imagem qualquer como fundo), entre várias outras configurações na opção "Painéis".

Você pode até mesmo ativar uma segunda barra de tarefas, exibida no topo da tela,

como usado no Gnome e no MacOS.

Componentes do KDE: Esta seção concentra algumas opções "Avançadas"

relacionadas ao funcionamento do KDE. A mais importante é provavelmente a seção

"Associações de Arquivos", onde você define quais programas serão usados para abrir

quais extensões de arquivos. Você pode atribuir a mesma extensão para dois ou mais

programas e definir uma ordem de prioridade, onde o primeiro abre os arquivos por

Page 210: Línux entendo o sistema[JP.Conteudo]

default, mas você pode escolher um dos outros clicando com o botão direito sobre o

arquivo.

Muitos programas alteram as associações padrão ao serem instalados assumindo a posse

dos formatos de arquivos que suportam, mas você pode sempre alterar as configurações,

além de criar novas associações de arquivos através do Painel.

O KDE usa o Ispell como corretor ortográfico. O mesmo corretor é usado em vários

programas do KDE, incluindo o Konqueror, Kedit, Kword e outros. O corretor entra em

ação até mesmo ao postar uma mensagem num fórum ou blog, grifando em vermelho as

palavras incorretas.

Se esta opção não estiver habilitada por padrão, clique com o botão direito sobre o texto

escrito, dentro do Konqueror e marque a opção "Verificar ortografia automaticamente".

A grande limitação é que o corretor não é integrado ao OpenOffice, de forma que você

fica com dois corretores diferentes, cada um usando uma lista de palavras própria.

Na opção "Gerenciador de arquivos" existem algumas opções referentes ao Konqueror,

como as fontes usadas e os tipos de arquivos para os quais ele exibe previews. Na opção

"Performance do KDE" existe um item importante, relacionado ao uso de memória.

Selecione a opção "Minimizar uso de memória > Nunca" se você tem 256 MB de RAM

ou mais, isso melhora o desempenho geral do KDE e evita alguns problemas

esporádicos.

Controle de Energia: Esta seção é especialmente útil para quem usa um notebook, pois

Page 211: Línux entendo o sistema[JP.Conteudo]

permite ativar o medidor de bateria e configurar várias opções relacionadas à economia

de energia, como ajustar a freqüência do processador e brilho da tela, de acordo com o

status da bateria. A maioria das opções só ficam habilitadas depois de clicar no "Bateria

do Laptop > Configurar ACPI > Definir Aplicação Auxiliar". Esta opção ativa o suporte

a ACPI, carregando os módulos de Kernel apropriados.

Ao usar um notebook, é importante usar uma distribuição atual, com um Kernel recente,

pois esta é uma área em que o sistema tem evoluído rapidamente nos últimos meses. Por

exemplo, o HP nx6110 é, a partir do Kernel 2.6.13, um dos notebooks melhor

suportados no Linux: tudo funciona, incluindo o suporte a 3D, a placa wireless (usando

o Ndiswrapper), o ajuste da freqüência do processador, suspender, e até mesmo o

softmodem que vem onboard. Porém, ao usar uma distribuição com um Kernel apenas

um pouco mais antigo, nem o 3D, nem o modem, nem o suspender funcionam

corretamente.

Internet & Rede: Esta seção concentra opções relacionadas à configuração da rede. A

opção "Compartilhamento de Arquivos" permite criar compartilhamentos de rede

Samba e NFS (os dois simultaneamente) de uma forma simples. Naturalmente, para

compartilhar arquivos com máquinas Windows, é preciso que o servidor Samba esteja

instalado.

A opção "Compartilhamento do desktop" abre a tela de configuração do krfb, que

permite compartilhar a imagem do desktop com outras máquinas da rede, para fins de

suporte, enquanto a "Rede sem fio" mostra a configuração do kwifimanager, ambos

disponíveis através do iniciar.

As opções "Navegador Web", "Navegação em Rede Local" e "Proxy" estão

relacionadas ao Konqueror. A primeira contém opções diversas relacionadas ao

navegador, incluindo as opções de cache e relacionadas à segurança. A segunda permite

configurar um usuário e senha padrão para serem usados ao visualizar os

compartilhamentos de outras máquinas da rede ao usar o módulo "smb:/" do Konqueror.

A última contém a configuração de proxy, caso você esteja dentro de uma rede que

utilize um.

Periféricos: Nesta seção você encontra configurações relacionadas ao mouse, joystick e

monitor, além de poder ver e gerenciar as impressoras instaladas. Ao contrário do que

seria de se esperar, a maioria das configurações do teclado por outro lado vão na seção

"Regional e Acessibilidade". Aqui você encontra apenas as opções de ajustar a taxa de

repetição e o comportamento da tecla NumLock.

As opções para economia de energia do monitor estão escondidas dentro da opção "Tela

> Controle de Energia", onde você configura a economia de energia para o monitor

entre as opções Standby, Suspend e Power Off. Estas opções podem desligar também o

HD, caso você tenha configurado isso no setup do micro.

Um monitor de 15" consome cerca de 90 Watts de energia, então é sempre importante

fazer com que ele desligue quando o PC não estiver em uso. Antigamente se

recomendava que o monitor só deveria ser desligado quando o micro fosse ficar sem

uso por mais de uma hora, mas os modelos fabricados de uns três anos para cá podem

Page 212: Línux entendo o sistema[JP.Conteudo]

ser desligados mais freqüentemente sem prejuízo para a vida útil. Você pode configurar

o suspend para 5 minutos de inatividade e o Power Off para 15 minutos, por exemplo.

No caso dos monitores de LCD, os desligamentos depois de 15 minutos de inatividade

ajudam a prolongar a vida útil do aparelho. Basicamente, a tela de um monitor de LCD

é como um chip, ela não tem vida útil definida, pode trabalhar durante décadas sem

problemas. O que queima depois de alguns anos de uso são as lâmpadas de catodo frio

que iluminam a tela. Elas têm uma vida útil estimada pelos fabricantes em 10 mil horas

(cerca de 3 anos caso fiquem ligadas 10 horas por dia). Estas lâmpadas podem ser

substituídas, mas não é exatamente um conserto barato, então o ideal é fazê-las durar o

máximo possível.

Na opção "Tela > Tamanho e Orientação", você encontra um pequeno utilitário que

permite alterar rapidamente entre as resoluções e taxas de atualização suportadas pelo

monitor. Esta opção depende da distribuição em uso ter detectado corretamente o

monitor e ter configurado corretamente o arquivo "/etc/X11/xorg.conf". Na opção

"Gama" você pode ajustar via software o brilho do monitor, complementando as

funções dos botões.

Regional & Acessibilidade: O KDE possui um projeto bastante abrangente de

internacionalização, que consiste não apenas em traduzir a interface para as mais

diversas línguas, mas também incluir suporte a diversos layouts de teclado e outras

particularidades de cada região. O suporte ao português do Brasil está entre os mais

completos, concentrado no pacote "kde-i18n-ptbr". Existem dezenas de outros pacotes

de internacionalização, você pode inclusive instalar vários e configurar a língua padrão

do sistema no "País/Região & Idioma > Localização".

Esta seção inclui também a configuração do teclado (que já vimos no começo do

capítulo) e também a configuração dos atalhos de sistema, feita através do "Atalhos de

teclado".

O KDE permite associar atalhos de teclados para a maioria das funções do sistema, o

que você configura na seção "Atalhos de Teclado". Se você é da velha guarda e tem

saudades da época do modo texto, onde tudo era feito através de atalhos de teclado, se

sentirá em casa.

Além dos atalhos de teclado relacionados às janelas e ao uso do sistema, você pode

definir atalhos para abrir programas ou executar comandos diversos na seção "Teclas de

Atalho" (ou "Ações de Entrada", dependendo da versão do KDE que estiver utilizando).

Parece estranho ter duas seções separadas para definir teclas de atalho, mas esta divisão

até que faz um certo sentido, separando os atalhos do KDE dos atalhos "gerais"

definidos para outros comandos e programas.

Page 213: Línux entendo o sistema[JP.Conteudo]

Por exemplo, no Windows a tecla "Print Screen" serve para tirar um screenshot da tela.

No Linux você pode usar o Ksnapshot, que não apenas oferece várias opções, mas

também pode salvar diretamente a imagem no formato de sua preferência, sem ter que

colar num programa de edição de imagens e salvar através dele. Para configurar o KDE

para abrir o Ksnapshot ao pressionar a tecla Print Screen, acesse o "Teclas de Atalho >

Entradas do Editor de Menus > Nova Ação".

Dê um nome à nova ação, como "screenshot". Na aba "Gatilhos", clique em "Novo >

Disparo de Atalho" e, na janela que define o atalho de teclado, pressione a tecla Print

Screen. Na aba "Ações", clique em "Novo > Comando/URL" e coloque o "ksnapshot"

como comando a ser executado.

Este utilitário permite definir atalhos bastante sofisticados, inclusive transmitindo

comandos para outros aplicativos abertos (como fazer o XMMS avançar ou retroceder a

música, por exemplo). Veja a categoria "Examples" dentro da janela para ver mais

exemplos de uso.

Page 214: Línux entendo o sistema[JP.Conteudo]

Som & Multimídia: O KDE possui seu próprio servidor de som, o Arts. Ele coordena o

acesso à placa de som, permitindo que vários programas toquem sons simultaneamente,

mesmo que a placa de som não ofereça esse recurso via hardware, entre outros recursos.

Apesar de ter sido um "mal necessário" durante muito tempo, o Arts é atualmente pouco

usado, pois o Alsa e consequentemente os drivers de som do Linux de uma forma geral

evoluíram bastante nos últimos anos e passaram a oferecer suporte a múltiplos fluxos de

áudio e outros recursos nativamente. O arts vem desativado por padrão na maioria das

distribuições, deixando com que os programas acessem a placa de som diretamente. Se

você tiver problemas relacionados à reprodução em alguns programas específicos,

experimente ativá-lo e marcar a opção "Suspensão automática se ocioso por..."

(configurada com "3 segundos"). Isso faz com que o Arts fique ativo apenas quando

algum programa tentar usá-lo, sem ficar bloqueando a placa de som o tempo todo.

Ao ativar o Arts, você pode ajustar a prioridade do servidor de som e também o

tamanho do buffer de áudio (opção Buffer de Som). Você pode diminuir bastante a

utilização do processador ao ouvir música e de quebra ganhar imunidade contra

eventuais falhas nos momentos de atividade simplesmente aumentando o buffer para

400 ms ou mais. Assim o sistema passa a contar com uma reserva maior e pode utilizar

melhor os tempos ociosos do processador para decodificar o áudio.

O KDE é capaz de ripar CDs de música nativamente. Experimente colocar um CD de

música no drive e acessar o endereço "audiocd:/" no Konqueror. Ele exibe as faixas de

um CD de áudio na forma de arquivos .mp3, .ogg e .wav, em pastas separadas. Arraste a

Page 215: Línux entendo o sistema[JP.Conteudo]

pasta com o formato desejado para o desktop e o CD de música é ripado e convertido

automaticamente. O mesmo pode ser feito através do Kaudiocdcreator, que oferece uma

interface mais parecida com um ripador de CDs.

Em qualquer um dos dois casos, você pode ajustar a qualidade dos arquivos .mp3 ou

.ogg gerados através da opção "CDs de Áudio".

Na seção "Notificações do Sistema" estão disponíveis também as opções de avisos

sonoros e visuais do sistema de uma forma geral.

Componentes do KDE

Embora à primeira vista pareça ser um pacote único, o KDE é na verdade composto por

um conjunto de aplicativos mais ou menos independentes. O componente que mostra a

barra de tarefas, onde vai o relógio, iniciar e outros applets é o kicker. O componente

que mostra os ícones, papel de parede e outros componentes do desktop é o kdesktop,

enquanto o kwin é responsável pelo gerenciamento e exibição das janelas dos

programas.

Você pode brincar um pouco com estes componentes experimentando ver o que

acontece ao desativar cada um. Pressione Alt+F2 para abrir o "Executar Comando" do

KDE e execute o comando "killall kicker".

Você vai notar que a barra de tarefas sumiu. Você não tem mais a lista de janelas e os

programas desaparecem ao serem minimizados. Pressione Ctrl+F2 novamente e execute

o comando "kicker". Tudo volta à normalidade.

Experimente fazer o mesmo com o kwin. Ao fechá-lo, as janelas ficam "grudadas" na

tela, você não consegue mais minimizar nem movê-las, mas ao reabri-lo tudo volta ao

normal. Fazendo o mesmo com o kdesktop, você vai perceber que os ícones e papel de

parede do desktop desaparecem.

Às vezes acontece de um destes componentes travar (principalmente o kicker),

causando os mesmos sintomas que você acabou de ver. Nestes casos, ao invés de

reiniciar o X, ou pior, reiniciar o micro, você pode simplesmente pressionar Alt+F2 e

reabrir o componente, sem prejudicar o que estava fazendo.

Você pode ver mais detalhes sobre os componentes e arquivos de inicialização do KDE

aqui: http://www.kde.org/areas/sysadmin/

Configurando teclados multimídia

Existem no mercado muitos teclados com teclas especiais, que permitem abrir o media

player, ajustar o volume, abrir o leitor de e-mails e assim por diante. Estes teclados

quase sempre acompanham algum driver ou utilitário de configuração, que naturalmente

está disponível apenas para Windows. Mas, você pode definir ações para as teclas

especiais do seu teclado também no Linux, com algumas configurações simples.

Page 216: Línux entendo o sistema[JP.Conteudo]

A idéia central é que todo teclado utiliza um processador de 8 bits para ler as teclas

digitadas. Ele suporta 256 teclas diferentes, mas os teclados possuem apenas 104 ou 105

teclas, deixando um monte de endereços livres. Os "teclados multimídia" aproveitam

esta característica para adicionar algumas teclas extras. Ao configurar estes teclados no

Linux, você precisa verificar quais são os códigos gerados pelas teclas adicionais e

atribuir funções a elas, usando o Painel de controle do KDE.

Você pode usar o xev, um pequeno utilitário que monitora as teclas digitadas e lhe

mostra todas as informações. Ele permite que você veja a forma como o sistema vê cada

uma.

Abra um terminal e execute-o usando seu login de usuário:

$ xev

Pressione agora cada uma das teclas especiais. Na saída exibida no terminal, o xev exibe

dois eventos para cada tecla pressionada (um ao pressionar, outro ao soltar). O volume

de informações é grande, mas o que nos interessa é apenas o código numérico de cada

tecla, exibido depois do "keycode" na terceira linha de cada evento:

Page 217: Línux entendo o sistema[JP.Conteudo]

Anote o código de cada tecla e abra o arquivo ".xmodmap", dentro do seu diretório de

usuário:

$ kedit ~/.xmodmap

Vamos agora relacionar cada código com uma tecla de função. No teclado temos as

teclas F1 até F12, podemos então relacionar as teclas especiais com, por exemplo, as

teclas F18 em diante (que na verdade não existem), como em:

keycode 144 = F18 keycode 164 = F19

keycode 162 = F20 keycode 153 = F21 keycode 174 = F22 keycode 176 = F23 keycode 160 = F24 keycode 130 = F25 keycode 236 = F26 keycode 234 = F27

keycode 233 = F28 keycode 223 = F29

Aqui eu coloquei todas as teclas, mas você pode adicionar apenas as que for realmente

utilizar :). Para que a alteração entre em vigor sem precisar reiniciar o X, rode o

comando:

$ xmodmap ~/.xmodmap

A partir daí, você pode configurar ações para elas no "Ações de entrada", no "Painel de

Controle do KDE > Regional & Acessibilidade".

Page 218: Línux entendo o sistema[JP.Conteudo]

Você pode tanto definir ações "simples", para que seja aberto um determinado programa

quando a tecla é pressionada, quanto ações mais complexas. Neste caso vale a

criatividade.

Caso esteja em dúvida sobre qual comando abre determinado programa, clique com o

botão direito sobre o botão "K" na barra de tarefas e acesse o "Editor de menus". Nele

você pode ver o comando correspondente a cada ícone no menu.

Você não está restrito apenas a aplicativos, pode usar qualquer comando de terminal.

Quanto maiores seus conhecimentos sobre o tema, mais coisas interessantes você vai

conseguir fazer. Por exemplo, o KDE oferece um recurso chamado "dcop", que permite

controlar funções dos aplicativos gráficos via linha de comando. Estas funções podem

ser usadas nos atalhos, aumentando brutalmente o leque de opções. Cada aplicativo

suporta um número diferente de funções. Se você usa o Kmix (o ícone do auto falante

ao lado do relógio), pode aumentar o volume usando o comando "dcop kmix Mixer0

increaseVolume 0" e reduzir usando "dcop kmix Mixer0 decreaseVolume 0".

Você pode criar dois atalhos, usando os passos normais e usar estes comandos, criando

teclas que ajustam o volume. Mesmo que você não tenha um teclado multimídia, pode

fazer isso usando teclas que não são usadas, como por exemplo as teclas "Scroll Lock" e

"Pause Break".

Para os casos mais complicados, onde a tecla não gere nenhuma resposta no xev, existe

um procedimento um pouco mais trabalhoso, que "ensina" o sistema o que fazer com

cada tecla.

Mude para um terminal de texto puro (pressione Ctrl+Alt+F1), e pressione as teclas

especiais. Elas não farão com que apareça nada na tela, mas se o sistema estiver

Page 219: Línux entendo o sistema[JP.Conteudo]

recebendo algum sinal do teclado, ele incluirá uma entrada no log, falando sobre a tecla

"não identificada".

Rode o comando "dmesg", que mostra o log do sistema:

# dmesg

Você verá uma entrada para cada tecla, contendo um código em hexa para cada tecla,

como em:

atkbd.c: Unknown key pressed (translated set 2, code 0x9e on isa0060/serio0). atkbd.c: Use 'setkeycodes e01e <keycode>' to make it known.

Precisamos agora achar um código livre para associar a tecla a ele. Isto é bem simples,

pois os códigos de 121 a 255 estão geralmente livres. Para verificar, use o comando

abaixo, substituindo o "122" por um número até 255. Se ele não retornar nada, significa

que o código não vago e você pode utilizar sem medo:

# getkeycodes | grep 122

Falta agora associar o código em hexa da tecla com o keycode, o que é feito usando o

comando "setkeycodes", como em:

# setkeycodes e01e 122

Para que o comando torne-se definitivo, abra o arquivo "/etc/init.d/bootmisc.sh" num

editor de textos (como root) e adicione o comando no final do arquivo. Todos os

comandos dentro do arquivo são executados a cada boot:

# kedit /etc/init.d/bootmisc.sh

A partir daí, volte ao arquivo ".xmodmop", associe a nova tecla com o "F18" e defina

uma ação para ela no "Ações de entrada". Repita o processo para cada tecla que desejar

ativar :).

Uma observação é que alguns teclados especiais, como os usados nos notebooks

Toshiba A70 e A75 realmente não funcionam, pois utilizam um sistema proprietário

para o mapeamento das teclas especiais, que não é suportado pelo sistema. Nestes casos,

realmente não existe muito o que fazer.

Os ícones mágicos

O Kurumin é baseado no Debian e utiliza o apt-get como ferramenta padrão de

instalação de novos programas, sempre baixando os arquivos a partir dos repositórios do

Debian. Existe uma grande preocupação em manter o sistema compatível com o Debian

original, de forma que quase todos os tutoriais sobre instalação de programas e

configurações diversas que servem para o Debian, servem também para o Kurumin,

quase sempre sem modificações.

Mas, o Kurumin inclui diversas ferramentas que facilitam muitas tarefas, incluindo a

instalação de vários programas comuns e até mesmo de servidores, os "Ícones mágicos".

Page 220: Línux entendo o sistema[JP.Conteudo]

Eles nada mais são do que scripts que automatizam os passos necessários para realizar a

instalação e a configuração inicial dos programas.

Estes scripts estão sempre sendo atualizados, já que sempre saem versões novas dos

programas, arquivos mudam de endereço, etc. Use o "Atualizar listas de pacotes do apt-

get" e o "Atualizar scripts de instalação dos ícones mágicos" disponíveis na aba "Ativar

o apt-get" periodicamente para baixar estas atualizações. É recomendável fazer isso uma

vez por semana, ou sempre que for instalar uma grande quantidade de programas de

uma vez.

Se você está curioso para ver como os ícones mágicos funcionam, dê uma olhada nos

scripts que estão dentro da pasta "/usr/local/bin".

Um script nada mais é do que um arquivo de texto, com uma seqüência de comandos

que são interpretados e executados pelo sistema. Cada ícone mágico é uma "receita" de

como instalar um determinado programa ou configurar alguma coisa.

Você pode abrir os arquivos num editor de texto, estudá-los, adicionar novas funções,

corrigir eventuais problemas ou adicionar qualquer personalização que ache

interessante.

Instalando servidores

O Linux já é o sistema operacional mais usado em servidores. Em muitas situações,

configurar um servidor Linux pode ser mais fácil do que configurar um micro

doméstico, instalando plugins, suporte a vários formatos de vídeo e DVDs, jogos do

Page 221: Línux entendo o sistema[JP.Conteudo]

Windows através do Cedega, e todos os outros recursos de que um usuário doméstico

normalmente precisa.

Você pode encontrar mais informações sobre a configuração de servidores Linux no

meu livro Redes e Servidores Linux. Mas, mesmo que você não tenha intenção de se

tornar um administrador de redes Linux, pode instalar muita coisa de forma fácil usando

os ícones mágicos incluídos no Kurumin. Para isso, acesse a opção "Instalar e

configurar Servidores" dentro do Centro de Controle:

Este é um dos painéis com mais opções dentro do Centro de Controle. Vamos a um

resumo das opções disponíveis.

Já falei sobre as opções para configurar a rede, compartilhar a conexão e ativar o

firewall, mas o menu principal inclui mais duas opções interessantes. A primeira é a

opção de instalar o Squid, um servidor Proxy que permite incrementar o

compartilhamento da conexão, adicionando um cache que armazena os arquivos mais

acessados, o que melhora a velocidade de acesso e, ao mesmo tempo, permite que você

acompanhe as páginas acessadas a partir dos outros micros da rede, usando o Sarg.

Originalmente, ao usar um proxy é necessário configurar manualmente cada micro da

rede para usá-lo, mas no caso do Squid é possível configurar um proxy transparente,

que funciona de forma automática. Você pode configurar o tamanho do cache e outras

opções dentro do arquivo "/etc/squid/squid.conf", exibido durante a instalação.

Page 222: Línux entendo o sistema[JP.Conteudo]

Numa rede com muitos micros, pode ser útil monitorar o tráfego gerado por cada um, o

que permite descobrir quem está baixando filmes e prejudicando o desempenho da rede.

Você pode fazer isso usando o Netprobe.

Na aba "Web e FTP" você encontra as opções de instalar um servidor Web Apache,

com suporte a PHP e MySQL, que você pode usar para estudar sobre servidores web e

testar os vários chats, fóruns e sistemas de gerenciamento de conteúdo de páginas que

temos disponíveis. O próprio script instala como exemplo o PHPbb, um script de fórum

bastante poderoso. A configuração do Apache vai no arquivo "/etc/apache/httpd.conf",

os arquivos da página vão na pasta "/var/www/" e o fórum pode ser acessado localmente

através do endereço "http://127.0.0.1/forum/".

No mesmo menu está a opção para instalar um servidor FTP, usando o Proftpd. Ele

pode ser utilizado para compartilhar arquivos, dentro da rede ou na internet. É possível

usá-lo para criar um simples FTP anônimo, ou liberar o acesso apenas a pessoas

autorizadas. Para que o FTP fique disponível na internet, é necessário manter a porta 21

aberta no firewall. Se você acessa através de um modem ADSL configurado como

roteador, é necessário redirecionar (port forwarding) a porta 21 para o seu micro. O

Proftpd é configurado através do arquivo "/etc/proftpd.conf" e os arquivos que ficarão

disponíveis para o FTP anônimo (que você pode ativar descomentando as linhas no final

do arquivo) vão na pasta "/home/ftp".

Na aba seguinte, "Arquivos e Impressoras", você encontra o script para configurar um

servidor Samba, que pode ser usado para compartilhar arquivos com outras máquinas

da rede, tanto Windows quanto Linux. Anteriormente, aprendemos como acessar os

compartilhamentos usando o Kurumin como cliente; através desta opção, ele pode se

tornar servidor.

Ao instalar o servidor Samba, é necessário cadastrar os logins dos usuários que terão

acesso aos compartilhamentos. Não é necessário que os logins e senhas sejam iguais aos

usados nas máquinas Windows, mas ao usar senhas diferentes será necessário fornecer

um dos logins cadastrados ao acessar os compartilhamentos. Você pode configurar o

servidor e criar novos compartilhamentos usando o Swat, ou diretamente no arquivo

"/etc/samba/smb.conf".

Caso muita gente vá usar o servidor para guardar arquivos, você pode usar a opção de

configurar quotas de disco, limitando o espaço que poderá ser usado por cada um.

A opção de compartilhar impressoras permite compartilhar as impressoras na rede

usando o próprio Cups. Estas impressoras podem ser usadas tanto nas outras máquinas

Linux, quanto nas máquinas Windows.

Na aba "Acesso Remoto" você encontra o script para instalar um servidor LTSP,

batizado de "Kurumin Terminal Server". O LTSP combina o NFS, DHCP, XDMCP,

TFTP e um conjunto de scripts próprios para criar um servidor de terminais, que

permite aproveitar micros antigos, ou com processadores lentos como terminais,

executando via rede os aplicativos instalados no servidor.

Ao contrário do que pode parecer à primeira vista, o desempenho das estações é muito

bom. Mesmo usando um Pentium 100 como terminal, os aplicativos rodam com

praticamente a mesma velocidade que rodam ao serem executados localmente no

Page 223: Línux entendo o sistema[JP.Conteudo]

servidor. Esta solução é adotada nos Telecontros e em diversas empresas, como uma

forma de aproveitar máquinas antigas e reduzir custos.

A configuração de um servidor LTSP está longe de ser trivial, tanto que ele consome

quase 50 páginas do livro Redes e Servidores Linux. Mas, o script automatiza a maior

parte da instalação, permitindo que você consiga colocar o servidor para funcionar

apenas lendo cuidadosamente as opções de instalação. A parte mais trabalhosa é a

edição do arquivo de configuração do DHCP, onde você deve cadastrar os endereços

MAC das placas de rede usadas nos clientes, de forma que o servidor possa diferenciar

cada um. No arquivo "/opt/ltsp/i386/etc/lts.conf" você pode incluir opções específicas

para cada terminal, incluindo a resolução de vídeo e tipo de mouse usado em cada um.

Na mesma aba você encontra também as opções para ativar o servidor SSH e instalar o

FreeNX e o VNC. Embora sirvam para basicamente a mesma coisa: acessar sua

máquina remotamente, de forma a executar comandos ou rodar aplicativos pela rede, os

três funcionam de forma bem diferente.

O SSH é a ferramenta mais básica de administração de rede. Ao ativar o servidor, você

pode se conectar a ele a partir das outras máquinas da rede usando o comando "ssh

login@servidor", fornecendo um login de acesso válido e o IP ou domínio do servidor

(como em: ssh [email protected]). É possível ainda usar o SSH para transferir

arquivos. Para isso, abra uma janela do Konqueror e acesse a URL

"fish://login@servidor" (como em: fish://[email protected]). Depois de fornecer a

Page 224: Línux entendo o sistema[JP.Conteudo]

senha de acesso, você vê os arquivo do servidor e pode transferi-los simplesmente

arrastando-os para outra janela.

O FreeNX usa o SSH como base, mas vai mais longe, implementando várias camadas

de compressão e cache, que permitem rodar aplicativos gráficos com um excelente

desempenho, mesmo via internet. Ao se conectar, você vê o desktop do servidor e pode

usar qualquer aplicativo instalado nele. O FreeNX é composto de um módulo servidor e

um cliente.

Finalmente, o VNC é o sistema mais tradicional, também usado para abrir um desktop

remoto do servidor e usar os aplicativos instalados nele. O VNC não é tão eficiente

quanto o FreeNX, mas é mais fácil de instalar e configurar.

Recuperando o sistema

Acontece nas melhores famílias. Ao reinstalar o Windows, originalmente instalado em

dual-boot, ele subscreve a MBR, removendo o lilo e fazendo com que a instalação do

Linux na outra partição fique indisponível. Algum serviço ou programa configurado

para ser inicializado durante o boot está travando o sistema e você não consegue

completar o boot para desativá-lo. O X não está funcionando e você não consegue

configurá-lo manualmente, etc.

Quando um problema "insolúvel" aparece, a maioria opta por simplesmente reinstalar o

sistema, como fariam no Windows. Mas, na maioria dos casos, é possível arrumar a

bagunça de uma forma muito mais rápida, usando um CD do Kurumin ou outro live-CD

como um sistema de recuperação. Através dele você pode acessar os arquivos na

partição da instalação principal, restaurar o lilo ou modificar os arquivos de

configuração e até mesmo abrir o X (do sistema instalado) e assim ter acesso às

ferramentas gráficas.

Comece dando boot pelo CD e montando a partição onde o sistema principal está

instalado. Neste caso, precisamos montar usando o caminho completo, incluindo o

sistema de arquivos em que a partição está formatada, pois precisaremos usar o chroot.

Se você vai recuperar a distribuição instalada na partição "/dev/hda2", que está

formatada em ReiserFS, o comando seria:

# mount -t reiserfs /dev/hda2 /mnt/hda2

Se a partição estivesse formatada em EXT3, o comando seria:

# mount -t ext3 /dev/hda2/mnt/hda2

O próximo passo é abrir um terminal e logar-se como root. No Kurumin e na maioria

dos live-CDs, você pode fazer isso usando o comando "sudo su" ou (se você tiver

definido a senha de root depois do boot), com o comando "kdesu konsole".

A partir do terminal, use o comando "chroot" para obter um prompt do sistema

instalado, indicando a pasta onde a partição foi montada, como em:

# chroot /mnt/hda2

Page 225: Línux entendo o sistema[JP.Conteudo]

A partir daí, você tem um prompt de comando da distribuição instalada, que pode ser

usado para recuperar o sistema. Para trocar a senha de root, por exemplo, use o

comando:

# passwd

Para modificar o arquivo de configuração do lilo, a fim de corrigir algum erro de

configuração que está impedindo o sistema de inicializar, use um editor de texto de

terminal, como o mcedit ou o joe, como em:

# mcedit /etc/lilo.conf

Depois, como de praxe, rode o comando "lilo" (como root) para regravar o MBR,

salvando as alterações. Isso faz com o lilo volte a ser aberto durante o boot (substituindo

o bootloader do Windows), permitindo que você escolha o sistema.

O terminal pode ser usado para editar outros arquivos de configuração, desabilitar

serviços que estão sendo carregados durante a inicialização e assim por diante. Você

pode executar praticamente qualquer comando de texto dentro dele, e as alterações vão

sendo feitas no sistema instalado.

A principal limitação deste terminal de recuperação é que não é possível rodar

ferramentas gráficas. Ele sempre volta um erro, dizendo que não é possível acessar o

servidor X.

Embora um pouco trabalhoso, é possível abrir o X e rodar programas gráficos usando o

Xnest, uma espécie de servidor X "de mentira", que é aberto dentro de uma janela e

pode ser acessado pelo sistema dentro da partição. Rodar os programas deste modo é

mais lento e você notará algumas estranhezas diversas, mas é suficiente para rodar os

programas de configuração.

Isso é feito em duas partes. Para começar, abra outro terminal de texto, desta vez como

usuário normal (e não como root, como no primeiro) e rode os comandos:

$ xhost +

$ Xnest :1

O primeiro afrouxa o sistema de permissões do X, permitindo que o sistema dentro da

partição consiga usar a janela do Xnest que abrimos em seguida. Note que o comando

para abrir o Xnest é "Xnest", com o X maiúsculo, enquanto o ":1" é o número da seção

que está sendo aberta.

Com a janela do Xnest aberta, volte ao terminal do chroot e rode os comandos:

# export DISPLAY=localhost:1

# startkde

O "export DISPLAY" explica que o sistema deve passar a usar a janela do Xnest para

rodar aplicativos gráficos, enquanto o "startkde" carrega o KDE dentro da janela. Você

pode substituir o último comando por "gnome-desktop" (para abrir o Gnome) ou por um

simples "xterm", para abrir uma janela de terminal e chamar diretamente os aplicativos

através dela.

Page 226: Línux entendo o sistema[JP.Conteudo]

Para que os programas gráficos funcionem, é necessário que a distribuição instalada e o

live-CD usem versões parecidas do X. Funciona bem ao usar um CD do Kurumin para

recuperar uma instalação do Kurumin, ou um CD do Slax para recuperar uma instalação

do Slackware, mas nem sempre funciona ao usar distribuições diferentes ou ao usar

versões diferentes da mesma distribuição. Nestes casos você terá que se contentar com

os comandos de texto.

Mais uma dica é que você pode também copiar arquivos de configuração do live-CD

para a instalação principal, o que é útil sobretudo para solucionar problemas

relacionados à configuração do vídeo. Os arquivos de configuração do X são

praticamente universais; um arquivo gerado no Kurumin vai funcionar perfeitamente no

Mandriva ou Slackware instalado no HD em 98% dos casos, fazendo com que o vídeo

volte a funcionar, usando a mesma configuração que está sendo utilizada ao rodar do

CD.

Neste caso, você precisa apenas copiar o arquivo "/etc/X11/xorg.conf" (ou

"/etc/X11/XF86Config-4", se você estiver usando uma versão antiga do Kurumin),

substituindo o arquivo dentro da partição, como em:

# cp /etc/X11/xorg.conf /mnt/hda2/etc/X11/xorg.conf

Lembre-se de que o arquivo de configuração pode ser o xorg.conf ou o XF86Config-4

(dependendo da distribuição instalada usar o X.org ou o Xfree), mas os dois arquivos

são intercompatíveis, basta renomear caso necessário.

Kurumin em micros antigos

A configuração recomendada para rodar o Kurumin a partir do CD, rodar o OpenOffice

e assistir a vídeos em Divx é um Pentium II 266 com 256 MB de RAM. A configuração

mínima para rodar o sistema com qualidade é um Pentium II com 128 MB.

Ao instalar o sistema no HD, o desempenho melhora e o consumo de memória cai um

pouco, pois o sistema não precisa mais criar o ramdisk nem descompactar os dados do

CD. Mesmo assim, não espere milagres, o sistema não vai ficar rápido no seu 486 só

por ser instalado no HD.

Embora o Kurumin possa "dar boot" até mesmo num Pentium 100 com 32 MB (caso

exista memória swap suficiente), esta com certeza não será uma experiência muito

agradável.

Uma dica importante é que o sistema precisa de no mínimo 128 MB de RAM para dar

boot e carregar os aplicativos corretamente. Se você tem menos memória, apenas 96

MB ou menos, você vai precisar obrigatoriamente ter uma partição Linux Swap no HD.

O sistema precisa de uma certa quantidade de memória, dados que precisam ir para

algum lugar. Se você não tem nem memória RAM suficiente, nem memória swap, o

sistema simplesmente não tem onde armazenar os dados e acaba travando durante o

boot. Você pode criar uma partição swap usando o gparted ou cfdisk incluídos no

Kurumin, ou mesmo usar o CD de instalação de outra distribuição Linux que ofereça

algum utilitário de particionamento.

Page 227: Línux entendo o sistema[JP.Conteudo]

Mesmo que você não tenha o Linux instalado no HD, é recomendável deixar uma

partição swap, mesmo que pequena reservada, pois não apenas o Kurumin, mas também

outras distribuições que rodam a partir do CD são capazes de detectar e ativar a partição

swap no boot. Usando swap, o desempenho do sistema fica melhor (pois ele pode

mover arquivos e bibliotecas que não estão em uso para a swap, mantendo mais

memória livre para os programas).

Caso você tenha pouca RAM e ainda por cima não tenha uma partição swap disponível,

o sistema se oferecerá para usar o arquivo de swap do Windows (se o HD estiver

formatado em FAT 32). Esta é uma medida desesperada para permitir que o sistema

pelo menos consiga dar boot, mas como o arquivo de swap do Windows oferece um

desempenho muito inferior ao de uma partição Linux Swap, o desempenho do sistema

ficará muito abaixo do normal.

Apesar disso, mesmo usando a partição swap, o sistema vai ficar bem lento num micro

com 64 MB de RAM ou menos. Existe uma forma mais rápida de dar boot pelo CD e

instalar do que ficar esperando o KDE abrir. Inicie o sistema usando a opção "kurumin

2" abaixo na tela de boot.

Isso fará o Kurumin dar boot em modo texto (já logado como root), o que consome

cerca de 18 MB de memória, dando boot pelo CD. Isso vai permitir que você consiga

dar boot em um micro com 64 MB, mesmo antes de criar a partição swap.

O primeiro passo é particionar o HD, criando a partição onde o sistema será instalado, a

partição swap e opcionalmente também a partição /home:

# cfdisk

Você pode ativar a partição swap sem precisar reiniciar com os comandos:

# mkswap /dev/hda2

# swapon /dev/hda2

(onde o /dev/hda2 é a partição swap criada)

Com a swap ativa, você pode começar a instalação. Ao invés de esperar o KDE

carregar, você pode abrir um X "pelado", sem gerenciador algum e por isso bem mais

rápido de carregar, usando o comando:

# xinit

Com o X aberto, chame o instalador do Kurumin com o comando:

# kurumin-install

Depois de terminar a instalação, você pode aproveitar para desativar a abertura do KDE

durante o boot.

Para fazer isso antes de reiniciar, monte a partição onde o sistema foi instalado e use o

comando "chroot" para abrir um terminal dentro dela:

# mount /dev/hda1 /mnt/hda1

# chroot /mnt/hda1

(onde o /mnt/hda1 é a partição onde o sistema está instalado)

Page 228: Línux entendo o sistema[JP.Conteudo]

Dentro do terminal do chroot, chame o:

# wmconfig

Use a opção que desativa o KDM e escolha o gerenciador de janelas padrão. Ao

reiniciar, o login será feito em modo texto, tornando o boot mais rápido. Para abrir o

modo gráfico, use o comando "startx".

Naturalmente, ao deixar de usar o KDE, você abre mão de muitas funcionalidades,

fazendo com que o sistema deixe de ser muito amigável. Se você quer uma interface

simples, num micro para seu próprio uso, pode experimentar o Fluxbox, que já vem pré-

instalado no Kurumin. Você pode usá-lo direto do CD, usando a opção de boot

"kurumin desktop=fluxbox".

Se você precisa de uma interface que, além de leve, seja amigável, adequada para o

usuário final, devo alertar que ela simplesmente não existe. Você pode obter resultados

razoáveis personalizando o IceWM, mas depois de uma boa dose de trabalho. Uma

opção um pouco mais desenvolvida seria o Blanes, que no Kurumin pode ser instalado

através do script "instalar-wm".

O Blanes é uma espécie de "clone" da interface do Windows 98 (apenas a interface, sem

os utilitários de configuração). Ele não é tão leve quanto o IceWM e o Fluxbox, mas

com um pouco de trabalho pode oferecer resultados interessantes. Um alerta é que

(embora originalmente desenvolvido com base no IceWM) o Blanes é um pacote

proprietário, que pode não ser gratuito em versões futuras e não possui garantias de

continuidade. Pense duas vezes antes de basear algum projeto importante nele.

Mas, o conselho geral em se tratando de uso de micros muito antigos, para atender

usuários finais, é usar o LTSP, ou outro sistema de acesso remoto, ao invés de tentar

rodar os aplicativos localmente. É possivelmente a única solução que oferece uma

solução realmente utilizável e relativamente rápida de instalar mesmo ao usar micros

Pentium 100 ou 486.

No Kurumin, você pode instalar o LTSP através do ícone mágico do Kurumin Terminal

Server. Ele automatiza a maior parte de instalação, transformando-a em um

procedimento muito simples. Use um micro novo, ou pelo menos um micro com uma

configuração razoável, como servidor e você terá um bom desempenho em todos os

terminais.

Existe uma lenda dentro do mundo Linux, que diz que o Gnome é uma opção mais leve

que o KDE e pode ser usado mesmo em micros antigos. Isto era mais ou menos verdade

na época do Gnome 1.4, mas é completamente falso atualmente. O Gnome 2.10 ou 2.12

consome mais memória que o KDE, a única vantagem é que o carregamento é um

pouco mais rápido.

O Kurumin usa uma configuração bastante otimizada para o KDE, o que aumenta a

diferença. Entre as distribuições atuais, que usam o KDE ou Gnome como padrão, as

únicas que rivalizam com o Kurumin em termos de consumo de memória são o

Slackware (e derivados) e o próprio Debian.

Page 229: Línux entendo o sistema[JP.Conteudo]

Você pode instalar o Gnome no Kurumin através do comando "apt-get install gnome-

core". Muita gente acha a interface do Gnome mais simples e mais fácil de aprender,

mas, do ponto de vista do desempenho, o KDE leva vantagem.

Page 230: Línux entendo o sistema[JP.Conteudo]

Capítulo 5: Os Programas

Depois de instalado e configurado, o sistema operacional passa a ser uma espécie de

coadjuvante, que você só nota quando surgem problemas. No dia-a-dia, você não usa o

sistema operacional, usa os programas que rodam sobre ele. No final das contas,

podemos dizer que o mais importante são justamente eles: os programas.

Ninguém usaria Linux se não existissem bons programas disponíveis para a plataforma.

É justamente este o tema principal deste capítulo.

A instalação de novos programas no Linux não é tão complicada como pode parecer à

primeira vista. Pelo contrário, muitas vezes é até mais simples que no Windows, pois

raramente você precisará perder tempo comprando e registrando o programa, retirando

banners de propaganda, desativando spywares, e coisas do gênero. (O tempo de

instalação do Office Professional pode chegar a mais de dois meses, se você incluir o

tempo que precisaria trabalhar para comprá-lo;).

Aplicativos do Linux

Você não encontrará no Linux o Internet Explorer, o Outlook, o Photoshop ou muito

menos o Microsoft Office. Porém, se você tiver paciência, vai encontrar programas que

substituem a maior parte das funções destes, além de outros programas que podem ser

úteis para outras tarefas. Além da grande quantidade de programas nativos, é possível

executar a maior parte dos aplicativos e jogos for Windows através do VMware, Wine,

Qemu e Cedega.

Esta é mais uma diferença importante entre o Windows e as distribuições atuais do

Linux. O Windows traz apenas alguns aplicativos básicos, para acessar a Web (IE),

ouvir músicas (Media Player), um editor de textos básico (Wordpad) e, no XP, também

um firewall básico, um editor de vídeos, um programa de gravação de CDs integrado

entre alguns outros acessórios.

Depois de instalar o sistema, você ainda precisará adquirir softwares de terceiros para

realizar tarefas mais elaboradas. A chance de a próxima versão do Windows já vir com

o Photoshop e o Corel Draw, por exemplo, é muito remota.

No Linux temos um cenário oposto. As distribuições trazem geralmente centenas de

aplicativos diferentes. O mais complicado acaba sendo selecionar os aplicativos mais

adequados às tarefas do dia-a-dia.

Nesse processo é importante mudar um pouco a mentalidade, não procurar programas

"iguais" aos que você usa no Windows, que serão muito raros (até porque ninguém pode

simplesmente clonar um programa da Microsoft ou da Adobe e sair impune, e nem este

é objetivo dos desenvolvedores), mas sim pensar nas tarefas que você deseja realizar e

procurar programas que ofereçam um conjunto de recursos o mais próximo possível do

que você utiliza. O Office pode ser substituído pelo OpenOffice, o Photoshop pelo

Gimp, o Corel pelo Inkscape, o Illustrator pelo Scribus, o IE pelo Firefox, o MSN pelo

Page 231: Línux entendo o sistema[JP.Conteudo]

Kopete ou pelo Mercury, o Outlook pelo Evolution, o Media Player pelo Kaffeine, o

Nero pelo K3B, o iTunes pelo Amarok, o WinAmp pelo XMMS e assim por diante.

Se tantos desenvolvedores dedicam seu tempo para desenvolver aplicativos tão

elaborados com o Gimp ou o OpenOffice, nada mais justo do que você também dedicar

algum tempo para aprendê-los, não é mesmo?

Um ponto importante é que também existem muitos softwares comerciais para Linux. É

possível rodar muitos aplicativos Windows através do Wine ou do Cedega, e existe até

mesmo a possibilidade de rodar uma instância completa do Windows dentro de uma

máquina virtual do VMware, permitindo rodar lado a lado os programas das duas

plataformas.

Mas, apesar de nem sempre terem os mesmos recursos, os softwares open-source trazem

a vantagem de serem utilizáveis por qualquer um, não apenas por quem pode comprar o

software. A lista inclui programas poderosos como o Gimp, OpenOffice, Mozilla e

tantos outros. Aliás, estes três estão disponíveis também em versão Windows, com

todos os recursos. Começar a utilizá-los, mesmo no Windows, é um excelente passo,

pois você passará a dispor das mesmas ferramentas nos dois sistemas.

A questão dos pacotes

No começo existia o código fonte. Você baixava um pacote .tar.gz, contendo o código

fonte do programa, e a instalação consistia em compilar e instalar os executáveis

gerados na sua máquina. Esta forma de distribuição faz sentido em se tratando de

aplicativos abertos, pois permite que você veja e até adapte o código fonte se necessário,

para que ele rode na sua máquina. Em muitos casos, é possível instalar o programa em

outro sistema operacional (a maior parte dos programas do Linux podem ser instalados

no BSD, com pequenas adaptações) ou até mesmo numa outra plataforma.

O problema é que instalar programas a partir dos fontes é demorado e nem sempre

simples, já que você precisa ter instalados os compiladores e bibliotecas necessários

para compilar muitos programas. Existem incontáveis pequenas bibliotecas e

ferramentas de desenvolvimento por aí e não é muito viável tentar manter todas elas

instaladas.

Compilar significa transformar o código fonte, escrito pelo programador, nos arquivos

binários que são executados pelo sistema. Ao compilar um programa, são gerados

vários executáveis, bibliotecas e arquivos de configuração, que são copiados para pastas

específicas do sistema. Os executáveis vão para a pasta "/usr/bin/", as bibliotecas para a

"/usr/lib/", os arquivos de configuração para o "/etc/" e assim por diante.

Alguém chegou então a uma conclusão obvia: ao invés de cada um ter que ter o trabalho

de compilar o programa na sua própria máquina, seria mais simples se alguém

compilasse e distribuísse um arquivo ponto, com os componentes já compilados, num

formato simples de instalar. Nasciam então os pacotes pré-compilados :).

Os pacotes são uma idéia muito simples. Você cria um arquivo compactado contendo a

mesma estrutura de pastas e arquivos que seria criada ao instalar o programa

manualmente. Ao instalar o pacote, os arquivos são descompactados no diretório raiz,

fazendo com que todos os arquivos sejam colocados nos diretórios corretos. Ao

Page 232: Línux entendo o sistema[JP.Conteudo]

desinstalar o pacote, os arquivos são removidos, deixando o sistema da forma como

estava inicialmente. Uma forma rápida e limpa de instalar programas.

Existem basicamente três formatos de pacotes diferentes: os pacotes .deb, usados pelas

distribuições derivadas do Debian, os pacotes .rpm, usados pelas distribuições

derivadas do Red Hat e os pacotes .tgz, usados pelo Slackware e derivados. Não existe

nada de fundamentalmente diferente entre os três formatos e é inclusive possível

transformar um pacote .rpm num pacote .deb, mas, devido às diferenças que existem

entre uma distribuição e outra, não existe garantia de que um pacote do Fedora

funcionará no Debian, por exemplo.

O próximo passo foi a criação dos gerenciadores de pacotes, programas que permitem

baixar e instalar novos programas de forma automática, verificando as dependências e,

caso necessário, baixando outros programas e bibliotecas de que o programa inicial

precisa.

Já vimos alguns exemplos do uso do apt-get, o gerenciador usado nas distribuições

derivadas do Debian. Além dele, temos também o urpmi, usado no Mandriva, o yum,

usado no Fedora e o emerge, usado no Gentoo.

Você pode perguntar por que não fazem como no Windows, onde cada programa tem

seu instalador. Na verdade, muitos programas são distribuídos desta forma, como Java,

OpenOffice, Firefox, Thunderbird, VMware e diversos jogos. Nestes casos, você

simplesmente executa o arquivo e o instalador se encarrega do resto da instalação. O

inconveniente é que estes pacotes são desenvolvidos para funcionarem em qualquer

distribuição, por isso incluem todo tipo de bibliotecas e módulos de que o programa

possa precisar, sem reaproveitar os componentes que você já tem instalados. Isso faz

com que os pacotes sejam práticos de instalar, mas em compensação bem maiores (e

mais pesados), assim como muitos dos programas do Windows.

Em resumo, podemos dizer que existem três formas de instalar programas no Linux:

1- Usar o apt-get ou outro gerenciador de pacotes para instalar pacotes próprios da

distribuição em uso. Esta é a forma mais simples e menos passível de problemas, que

você usa sempre que possível.

2- Programas com instaladores próprios, destinados a funcionarem em várias

distribuições. Eles também são simples de instalar, mas não tão simples quanto usar o

apt-get. Muitos programas são distribuídos apenas desta forma, como o VMware.

3- Instalar o programa a partir do código fonte, o que pode ser necessário no caso de

aplicativos pouco comuns, que não estejam disponíveis de outra forma.

Instalando programas com o apt-get

O apt-get é uma ferramenta extremamente poderosa e prática de usar depois que você

aprende os conceitos básicos. Ele pode ser encontrado não apenas no Debian, Ubuntu e

no Kurumin, mas em outras distribuições baseadas no Debian, como o Lycoris, Libranet

e até mesmo no Linspire. Ferramentas como o urpmi do Mandrake, o synaptic do

Conectiva e o yum do Fedora também são baseados nele.

Page 233: Línux entendo o sistema[JP.Conteudo]

Em primeiro lugar, o apt-get utiliza um conceito de fontes de atualização. Ele pode

obter pacotes de praticamente qualquer lugar, incluindo CD-ROMs do Debian, unidades

de rede, etc. Mas, o meio mais usado é justamente baixar os pacotes via internet, o que

permite obter sempre as versões mais recentes dos programas.

Para usar o apt-get, o primeiro passo é rodar o comando "apt-get update", que faz com

que o apt-get verifique todos os repositórios disponíveis e baixe a lista com os pacotes

disponíveis em cada um. Isso permite que ele crie uma espécie de banco de dados, com

os pacotes disponíveis, onde cada um pode ser encontrado e qual endereço contém a

versão mais recente. Este comando deve ser executado periodicamente. O ideal é que

você o use uma vez por semana, ou sempre que for fazer alguma instalação importante:

# apt-get update

Lembre-se de que para virar root, basta digitar "su" no terminal e fornecer a senha

configurada durante a instalação.

Terminado, você pode começar a instalar os programas, usando o comando "apt-get

install", seguido do pacote desejado. Para instalar o Abiword (o processador de textos),

por exemplo, use o comando:

# apt-get install abiword

Veja que o apt-get cuida de toda a parte chata. No meu caso, por exemplo, é preciso

instalar também os pacotes "abiword-common", "libenchant1" e "libmyspell3", que o

apt-get instala automaticamente junto com o pacote principal, depois de pedir uma

confirmação.

Terminada a instalação, o Abiword já está pronto para usar. Você vai encontrar o ícone

dentro do menu "Escritório e utilitários" no iniciar. Alguns programas podem não criar

corretamente os ícones no iniciar, mas você sempre pode chamá-los via terminal, ou

criar o ícone manualmente, usando o kmenuedit.

Page 234: Línux entendo o sistema[JP.Conteudo]

Isto se repete para qualquer um dos mais de 20.000 pacotes atualmente disponíveis nos

repositórios que vêm ativados por padrão no Kurumin. Basta saber o nome do programa

e você pode instalá-lo rapidamente a qualquer momento. Você pode ver uma lista dos

pacotes disponíveis nos FTPs oficiais do Debian no:

http://www.debian.org/distrib/packages.

Além de instalar, é possível usar o apt-get para atualizar qualquer pacote do sistema.

Para isso, repita o comando de instalação, como em:

# apt-get install abiword

# apt-get install mozilla-firefox

# apt-get install mplayer-586

E assim por diante. O comando faz com que ele verifique se existe uma versão nova do

programa e, em caso afirmativo, já a baixa e instalada automaticamente. Caso contrário,

ele simplesmente avisa que a versão mais recente já está instalada e não faz nada.

Quando você não se lembrar do nome completo do programa, digite apenas as primeiras

letras e pressione a tecla TAB duas vezes, assim você verá uma lista com as alternativas

possíveis.

Em casos onde o programa realmente "desapareça" depois de instalado, sem rastros

aparentes, você pode procurá-lo usando o comando "whereis" (onde está), como em:

$ whereis realplay

realplayer: /usr/bin/realplay

Em muitos casos, o programa pode ser instalado em uma pasta fora do PATH (as pastas

/bin, /usr/bin, /usr/local,bin, etc.), e por causa disso o sistema não encontre o comando.

Nestes casos, chame-o indicando o caminho completo, ou crie um link para ele (usando

o comando "ln -s") dentro da pasta "/usr/bin", ou "/usr/local/bin", onde o sistema

consiga localizá-lo diretamente, como em:

# ln -s /usr/lib/realplayer10/realplay /usr/bin/realplay

Lembre-se de que em muitos casos o nome do executável do programa pode ser

diferente do nome do programa. Por exemplo, o executável do Realplayer é "realplay" e

o do VMware Player é "vmplayer".

Um detalhe interessante é que, mesmo ao atualizar um programa, as suas configurações

são mantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus

bookmarks. Isso acontece porque as configurações e arquivos referentes aos programas

são armazenados em pastas ocultas dentro do seu diretório de usuário. Os bookmarks,

cache, cookies e outros arquivos do Firefox, por exemplo, vão para a pasta

".mozilla/firefox", dentro do seu home.

O apt-get nunca altera estes arquivos, de forma que sua preferências sempre são

preservadas durante os upgrades.

Um segundo tipo são os arquivos de configuração do sistema, que também fazem parte

dos pacotes. Quando um pacote traz uma nova versão de um determinado arquivo de

configuração, mas o apt-get percebe que o arquivo anterior foi alterado por você, ele

Page 235: Línux entendo o sistema[JP.Conteudo]

pergunta se você quer manter o arquivo atual ou se você quer substituí-lo pela nova

versão. O conselho geral nestes casos é responder não à substituição (que é o default).

Isso mantém o arquivo atual, que afinal está funcionando. Autorize a substituição

apenas quando você souber do que se trata.

Lembre-se de rodar o "apt-get update" periodicamente, de preferência uma vez por

semana, ou antes de instalar qualquer programa ou atualização importante, assim você

terá certeza que o apt instalará sempre as versões mais recentes dos programas.

O apt não apenas torna a instalação de novos programas bem mais simples, mas diminui

também a necessidade de estar sempre instalando versões mais recentes da distribuição,

já que você pode ir atualizando os programas mais usados sempre que souber de uma

versão mais nova.

É possível também remover pacotes instalados, neste caso usando o parâmetro

"remove", como em:

# apt-get remove abiword

Caso os arquivos referentes ao programa tenham se corrompido de alguma maneira

(desligamentos incorretos, problemas de BIOS, etc. ;), você pode forçar sua

reinstalação, usando o parâmetro "--reinstall".

Normalmente o apt-get avisa que o programa já está em sua versão mais recente e não

faz nada:

# apt-get install bluefish

Lendo Lista de Pacotes... Pronto

Construindo Árvore de Dependências... Pronto

bluefish já é a versão mais nova.

Adicionando o "--reinstall" ele prossegue a instalação, mesmo que o pacote já seja a

versão mais recente, substituindo todos os arquivos referentes a ele e resolvendo o

problema.

# apt-get install --reinstall abiword

Naturalmente, existem programas gráficos que facilitam (?) as coisas, como o Synaptic,

que abordo no capítulo sobre o Ubuntu. A questão de facilitar ou não é na verdade

polêmica, pois muita gente acha mais fácil trabalhar com o Synaptic, enquanto outros

acham sua interface muito complicada e preferem continuar usando os comandos. Mas,

de qualquer forma, ele não deixa de ser uma opção interessante.

Configurando os repositórios

O apt-get procura por pacotes em todos os endereços (chamados de repositórios)

listados no arquivo "/etc/apt/sources.list". Este é um simples arquivo de texto, onde os

endereços são colocados um por linha. As linhas iniciadas com "#" são comentários,

observações gerais que são ignoradas pelo programa.

Page 236: Línux entendo o sistema[JP.Conteudo]

No Kurumin ele já vem configurado com os endereços dos repositórios do Debian e

mais alguns programas disponíveis nos ícones mágicos, mas você pode editar o arquivo

manualmente caso queira incluir algum endereço adicional, ou trocar o endereço de

algum repositório que está fora do ar.

Por exemplo, um dos repositórios usados por padrão no Kurumin é o Marillat, que

contém diversos pacotes, com codecs que oferecem formatos a diversos formatos de

vídeo, programas para ripar CDs e DVDs e assim por diante. Depois que o Debian

Sarge (o atual stable) foi lançado, renomearam a pasta onde estão os pacotes do testing

de "testing" para "etch" (o nome da nova versão). Isso foi avisado no site do projeto,

mas naturalmente o apt-get não tinha como adivinhar a mudança sozinho. Como não

encontrava mais a pasta antiga, passou a dar um erro ao rodar o "apt-get update",

avisando do problema:

W: Não foi possível checar a lista de pacotes fonte ftp://ftp.nerim.net testing/main Packages

(/var/lib/apt/lists/ftp.nerim.net_debian-marillat_dists_testing_main_binary-i386_Packages) - stat (2 Arquivo ou diretório

não encontrado)

W: Você terá que executar apt-get update para corrigir esses arquivos faltosos

E: Alguns arquivos de índice falharam no download, eles foram ignorados ou os antigos foram usados em seu lugar.

A solução neste caso foi simplesmente abrir o arquivo "/etc/apt/sources.list" e corrigir a

linha, mudando de:

deb ftp://ftp.nerim.net/debian-marillat/ testing main

Para:

Page 237: Línux entendo o sistema[JP.Conteudo]

deb ftp://ftp.nerim.net/debian-marillat/ etch main

No Kurumin o arquivo vem comentado, permitindo que você veja a função de cada

linha. O arquivo vai sendo atualizado conforme os endereços mudam ou conforme

aparecem novos repositórios. Você pode baixar estas atualizações atualizando os scripts

dos ícones mágicos, usando a opção "Ícones Mágicos > Ativar o apt-get > Atualizar

scripts dos ícones mágicos".

Normalmente, você não precisa se dar o trabalho de alterar este arquivo, mas não custa

entender melhor como ele funciona. Vamos a um resumo rápido dos repositórios usados

por padrão no Kurumin 5.1 e a função de cada um:

# Testing

deb http://ftp.us.debian.org/debian testing main contrib non-free

# Unstable

deb http://ftp.us.debian.org/debian unstable main contrib non-free

Estas duas linhas contém os repositórios padrão do Debian, ao usar o Testing/Unstable.

É recomendável manter as duas linhas ativas, mesmo que o padrão seja o Testing, pois

em muitas situações o Testing fica com dependências quebradas (pacotes que precisam

de outros que ainda não foram atualizados) e o apt resolve o problema automaticamente

baixando a partir do Unstable.

Lembre-se de que o Debian é composto de três versões, desenvolvidas

simultaneamente. Além do Testing e Unstable, existe a opção de usar o Stable.

Usar o Stable parece uma boa idéia à primeira vista, afinal, tratam-se de pacotes

"estáveis". Porém, o Stable recebe apenas correções de segurança, os pacotes não são

atualizados, fazendo com que fiquem velhos. Com o tempo, isso começa a causar

problemas, já que você passa a querer atualizar alguns programas e as novas versões

exigem pacotes que só estão disponíveis no Testing. O Stable é uma opção apenas se

você é adepto da filosofia do "se não está quebrado, não mexa" e realmente não faz

questão de instalar versões recentes dos programas.

Para usar o Stable, você substituiria as linhas acima por estas:

# Stable

deb http://ftp.us.debian.org/debian sarge main contrib non-free

deb http://security.debian.org/ sarge/updates main

A primeira linha contém o repositório principal e a segunda contém atualizações de

segurança. Como pode ver, aqui estamos usando o Debian Sarge, que foi lançado em

junho de 2005. A próxima versão estável será o Etch (o atual testing), que está

planejado para o final de 2006.

Ao alterar a versão usada por padrão no "/etc/apt/sources.list", você deve alterar

também o arquivo "/etc/apt/apt.conf", mudando a primeira linha de:

APT::Default-Release "testing";

Para:

APT::Default-Release "stable";

Page 238: Línux entendo o sistema[JP.Conteudo]

Isso explica ao apt que ele deve passar a utilizar os pacotes do Stable ao invés do

Testing. Não se esqueça de rodar o comando "apt-get update" sempre que fizer

alterações nos dois arquivos.

Embora não seja recomendável, você pode manter descomentadas simultaneamente as

linhas referentes ao Stable e o Testing simultaneamente. Neste caso, o apt-get vai usar

por padrão o que estiver configurado no arquivo "/etc/apt/apt.conf", mas você fica com

os dois repositórios disponíveis e pode instalar um determinado pacote a partir do outro,

usando o parâmetro "-t testing" (ou -t stable), como em:

# apt-get install -t testing abiword

Esta é uma forma de instalar versões recentes dos programas, a partir do Testing ou

Unstable, sem precisar mudar o repositório padrão, mas nem sempre é uma boa idéia, já

que misturar pacotes das duas versões pode levar a problemas se você não souber o que

está fazendo. Muitos programas, como o OpenOffice, Firefox, Thunderbird, Java,

Skype e outros são relativamente independentes de outros pacotes instalados e quase

sempre funcionam, independentemente da versão. Mas, os programas do KDE, Gnome

e as bibliotecas base do sistema, possuem uma forte interdependência entre si, fazendo

com que, muitas vezes, a única forma de instalar a versão mais recente de um programa

simples, como o kedit ou o ksplash seja atualizar todo o KDE, como neste exemplo:

Page 239: Línux entendo o sistema[JP.Conteudo]

Veja que algo aparentemente inocente está prestes a se transformar num desastre de

proporções bíblicas. Neste caso, estou usando o stable por padrão, mas estou pedindo

para que o apt-get instale a versão mais recente do kedit a partir do unstable. O kedit

precisa das novas versões das bibliotecas do KDE, que por sua vez possuem um

conjunto próprio de dependências e conflitos. Para fazer a atualização, o apt-get

precisaria não apenas atualizar todo o KDE e outros pacotes relacionados, mas também

remover um conjunto de programas aparentemente inocentes, incluindo o Amarok e o

OpenOffice.

Como disse, forçar a instalação de pacotes de outras versões nem sempre é uma boa

idéia. Preste atenção nas mensagens do apt-get e aborte em caso de problemas

iminentes.

Outra configuração comum é com relação ao mirror do Debian que será usado. Existem

vários mirrors disponíveis, diferenciados pelo código de país. A linha "deb

http://ftp.us.debian.org/debian testing main contrib non-free", por exemplo, especifica

que deve ser usado o mirror dos Estados Unidos (us.debian.org). Para usar o do Brasil,

você substitui a sigla por "br", para usar o da Alemanha por "de", para usar o da

Inglaterra por "uk" e assim por diante.

Não existe uma regra fixa para qual mirror será mais rápido. Pela lógica, o do Brasil

seria sempre mais rápido, mas isso depende muito do horário, de qual operadora você

usa, e assim por diante. Em muitos casos, o dos EUA ou da Alemanha podem ser mais

rápidos. O melhor é testar os três em diferentes horários e ver qual apresenta melhores

resultados. Não se esqueça de rodar o "apt-get update" depois de cada alteração.

Outros repositórios, que complementam os repositórios oficiais do Debian (e são usados

por padrão no Kurumin) são:

# Debian Unofficial

deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted

O Debian Unofficial contém uma grande quantidade de pacotes "não livres", porém

importantes, como o Java, Acrobat Reader, Real Player e outros.

deb ftp://ftp.nerim.net/debian-marillat/ sarge main

Como comentei anteriormente, o Marillat contém uma série de pacotes relacionados à

multimídia, incluindo o pacote w32codecs (necessário para assistir vídeos .wmf,

quicktime e outros formatos), o Mplayer, o DVDrip e outros.

deb http://wine.sourceforge.net/apt/ binary/

Este repositório contém as versões mais recentes do Wine, que permite rodar aplicativos

do Windows. Em outubro de 2005 ele entrou finalmente em fase beta (depois de quase

12 anos em estágio alpha! :o), o que marcou uma grande mudança na qualidade dos

pacotes, que passaram a ser mais estáveis e com atualizações mais previsíveis.

Acabaram os tempos em que uma versão funcionava e a seguinte não.

Usando o dpkg

O dpkg complementa o apt-get, permitindo instalar pacotes .deb baixados manualmente.

Page 240: Línux entendo o sistema[JP.Conteudo]

Digamos que você tenha baixado, por exemplo, o arquivo "skype_1.2.0.18-1_i386.deb",

o pacote com o Skype, disponível no http://skype.com.

Para instalá-lo, você usaria o comando:

# dpkg -i skype_1.2.0.18-1_i386.deb

Lembre-se de usar a tecla <TAB> para completar o nome do arquivo depois de digitar

as primeiras letras.

Se você tiver uma pasta com vários pacotes (como o OpenOffice 2.0, por exemplo),

pode instalá-los de uma vez usando o comando "dpkg -i *.deb".

Se você receber erros de dependências mas quiser forçar a instalação do pacote

(geralmente não é uma boa idéia...), pode usar o comando "dpkg -i --force-all

pacote.deb". Neste caso, tome cuidado com versões antigas, pois este último comando

não checa dependências nem conflitos, apenas instala tudo de uma vez, na marra,

causando os mais diversos problemas.

Sempre, depois de instalar qualquer pacote usando o dpkg, rode o comando "apt-get -f

install" para que o apt-get possa verificar o que foi feito e corrigir qualquer problema

que tenha aparecido durante a instalação. Em casos de pacotes quebrados ou conflitos, o

apt-get sempre vai sugerir alguma solução, mesmo que ela seja simplesmente remover o

novo pacote.

Pense no dpkg como uma espécie de ajudante do apt-get. Ele faz o trabalho braçal, mas

não é bom em resolver problemas. É o apt-get que cuida das situações mais delicadas.

O ideal é que você instale todos os programas através do apt-get. Apele para a

instalação manual de pacotes apenas como último recurso, para o caso de programas

específicos, que não estejam disponíveis no apt-get.

O cache do apt-get

O apt-get salva uma cópia de todos os pacotes baixados, para uso posterior dentro da

pasta "/var/cache/apt/archives/". A lista dos pacotes disponíveis (gerado ao executar o

apt-get update) é salva dentro da pasta "/var/lib/apt/lists/".

No Debian, é muito comum fazer backup destas duas pastas de forma a preservar o

cache do apt-get depois de reinstalar o sistema, ou mesmo instalar os pacotes já

baixados em outras máquinas. Pense no caso de alguém que tem banda larga no

trabalho, mas acessa via modem em casa, por exemplo.

Page 241: Línux entendo o sistema[JP.Conteudo]

Por outro lado, o cache tende a ficar grande com o passar do tempo e ocupar muito

espaço no HD. Se você acessa via banda larga, este pode ser um gasto desnecessário.

Existem duas opções para limpar a casa. A primeira, mais contida, é usar a opção:

# apt-get autoclean

Ela remove apenas pacotes antigos ou duplicados, mantendo só as versões mais

recentes, que realmente têm chance de serem usadas. Para realmente eliminar todos os

arquivos do cache, use o comando:

# apt-get clean

No caso do Kurumin, existe uma forma mais conveniente de fazer o backup e instalá-lo

em outras máquinas, que é gerar um CD do Kokar. Você encontra esta opção dentro do

"Painel de controle > Ícones Mágicos > Instalar ou gerar o CD do Kokar".

O Kokar nada mais é do que um arquivo .iso, uma imagem com o conteúdo das duas

pastas (junto com outros arquivos que os scripts dos ícones mágicos baixam para dentro

da pasta "/packages/"), que pode ser gravada num CD ou DVD (de acordo com o

tamanho) e instalada em outros micros.

Page 242: Línux entendo o sistema[JP.Conteudo]

Uma observação importante é que ao instalar o Kokar ou restaurar o backup do cache

em outro micro, você não deve rodar o "apt-get update" até ter terminado de instalar

todos os programas desejados a partir do cache. O motivo é simples: o apt-get sempre

instala as versões mais recentes dos programas. Ao instalar o Kokar, são restaurados os

arquivos da pasta "/var/lib/apt/lists/" da forma como estavam na outra máquina, fazendo

com que o apt use os pacotes do cache. Ao rodar o apt-get update, você atualiza as

listas, fazendo com que ele volte a baixar os pacotes mais recentes da Internet.

Documentação

Depois de instalar um pacote que você não conheça, muitas vezes você vai ficar se

perguntando: "o que faço agora"? Afinal, a instalação é feita de uma forma quase

automática pelo apt-get, muitas vezes ele já cuida também da configuração básica, mas

o conhecimento necessário para usar o programa em questão já depende de você.

Depois de instalar qualquer pacote estranho, a sua primeira parada deve ser a página do

desenvolvedor, onde você geralmente encontrará o manual e instruções de uso.

Outra opção é a pasta "/usr/share/doc/", onde cada pacote instala uma cópia da

documentação disponível. Por exemplo, ao instalar o pacote raidtools (um conjunto de

ferramentas para configurar um sistema Raid via software), é criada a pasta

"/usr/share/doc/raidtools/" onde fica disponível o howto, um read-me, um quickstart e

alguns exemplos de configuração.

Caso os arquivos estejam compactados, basta clicar com o botão direito sobre o arquivo

e usar a opção "Extrair aqui" do Konqueror.

Page 243: Línux entendo o sistema[JP.Conteudo]

Aproveite também para fazer uma pesquisa no Google. Como ele indexa vários grupos

de discussão e grupos da usenet, você sempre encontrará uma grande quantidade de

mensagens com problemas e soluções.

Resolvendo problemas com o apt-get

O apt-get é uma ferramenta desenvolvida para ser usada em servidores e outras

aplicações importantes. Isto significa que ele foi desenvolvido para ser o mais confiável

possível e nunca realizar nenhuma modificação potencialmente perigosa para o sistema,

a menos que autorizado por você.

Quando qualquer coisa inesperada acontece, ele pára e fica esperando sua confirmação

antes de fazer qualquer outra coisa.

O problema desta abordagem é que às vezes um defeito em algum pacote ou um

download corrompido pode fazer com que o apt fique "travado", sem concluir a

instalação de um determinado pacote por causa de um erro qualquer e sem aceitar

instalar outros antes que o problema inicial seja resolvido.

Este tipo de problema é relativamente raro, mas pode acontecer. Veja um caso

particularmente feio que aconteceu certa vez ao tentar atualizar o k3b usando o

comando "apt-get install k3b".

Neste caso ele precisou atualizar algumas bibliotecas do KDE antes de atualizar o

programa, mas uma delas estava com um defeito bobo que fazia ela tentar substituir

duas associações de arquivos do K3B. Isto passaria despercebido se o apt-get não

entrasse em pânico:

Descompactando substituto kdelibs-data ...

dpkg: erro processando /var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb (--unpack):

tentando sobrescrever `/usr/share/mimelnk/application/x-cue.desktop',

que também está no pacote k3b

dpkg-deb: subprocesso paste morto por sinal (Broken pipe)

Erros foram encontrados durante processamento de:

/var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

A partir daí o apt-get se recusava a instalar qualquer outro pacote, pois sempre tentava

terminar a instalação do pacote "kdelibs-data" o que sempre acabava no mesmo erro.

Como o tal arquivo a ser substituído não tem importância nenhuma, é apenas uma

associação de arquivos, a solução foi simplesmente forçar a instalação do pacote kdelibs

manualmente, usando a opção do dpkg que ignora erros:

# dpkg -i --force-all /var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb

Depois disso, bastou usar o comando "apt-get -f install" que conclui a instalação de

todos os pacotes pendentes, incluindo a atualização do K3B que era meu objetivo

inicial. Lembre-se de que você pode usar o botão do meio para colar a localização do

arquivo a partir da mensagem de erro, sem precisar ficar digitando tudo.

Page 244: Línux entendo o sistema[JP.Conteudo]

Dependendo da situação, você pode remover o pacote com problemas ao invés de forçar

sua instalação. Isso é útil em casos de pacotes que realmente estão com problemas mais

graves e estão bloqueando a instalação de outros. Neste caso, use o comando "dpkg -r" ,

como em:

# dpkg -r k3b

Basicamente, quando encontrar este tipo de problema você deve:

a) Rodar o "apt-get update" para ter certeza que a lista de pacotes do apt está

atualizada.

b) Rode o comando "apt-get -f install" para usar o sistema de resolução de problemas

do apt.

c) Caso ele não resolva, experimente usar o "dpkg -i --force-all" para forçar a

instalação do pacote com problemas, como no meu exemplo, ou use o "dpkg -r pacote"

caso prefira desistir da instalação.

d) Rode o comando "dpkg --configure -a", que verifica pendências na configuração dos

pacotes.

d) Rode novamente o "apt-get -f install". Caso ele não resolva, experimente o "apt-get

-f remove", que tem uma função similar à do "-f install", mas dá preferência a remover

os pacotes com problemas, ao invés de tentar corrigir a instalação.

Chaves de autenticação

O GPG é um sistema de encriptação composto de duas chaves, uma chave pública, que

é distribuída abertamente e uma chave privada, que é secreta. A cache privada pode ser

utilizada para encriptar arquivos, que podem ser desencriptados apenas usando a chave

pública. Isto é feito através de um truque matemático: a chave privada é uma espécie de

equação extremamente complexa, que embaralha o conteúdo dos arquivos. A chave

pública é um antídoto para ela, que permite reverter os dados a seu estado original.

Porém, é impossível descobrir o conteúdo da chave privada usando a chave pública e é

também impossível fazê-lo via força bruta.

A partir da versão 0.6, incluída no Debian Etch, o apt-get passou a operar em modo

seguro, onde o desenvolvedor usa sua chave GPG privada para assinar seus pacotes e o

apt-get usa a chave pública para verificar se o pacote que está sendo instalado não

sofreu modificações.

Este processo extremamente seguro, que visa ter certeza de que o pacote que está sendo

instalado na sua máquina é exatamente o mesmo que foi disponibilizado pelo

desenvolvedor, eliminando qualquer possibilidade de alguém de má fé alterar o

conteúdo pelo caminho.

Este é um nível se segurança que não possui similar no mundo Windows. Mesmo que

alguém consiga invadir o servidor onde os pacotes estão hospedados, ou consiga dar

upload de pacotes falsos usando uma senha roubada, não terá como falsificar também a

Page 245: Línux entendo o sistema[JP.Conteudo]

assinatura dos pacotes, fazendo com que você seja avisado ao tentar instalar e o

problema seja detectado instantâneamente.

A desvantagem é que isto tornou o uso do apt um pouco mais complexo, já que agora,

além de rodar o "apt-get update", para atualizar a lista dos pacotes, você precisará

muitas vezes atualizar também a lista com as chaves públicas, usadas para verificar os

pacotes.

Ao atualizar a partir de uma versão antiga do apt-get, no Kurumin 5.1 ou anterior, ou

em qualquer distribuição derivada do Debian que venha com uma versão antiga do apt-

get, você passará a receber erros como estes ao rodar o "apt-get update":

W: GPG error: http://ftp.us.debian.org etch Release: Could not execute /usr/bin/gpgv to verify signature (is

gnupg installed?)

O primeiro passo é instalar o pacote "gnupg", usado pelo apt-get para fazer a

verificação:

# apt-get install gnupg

Como o sistema de autenticação ainda não está funcionando, ele vai exibir o aviso

padrão, pressione "s" para continuar a instalação:

AVISO : Os pacotes a seguir não podem ser autenticados !

gnupg Instalar estes pacotes sem verificação [s/N]?

Com o gnupg instalado, falta baixar as chaves públicas, que serão usadas para verificar

os pacotes. Cada repositório listado no arquivo "/etc/apt/sources.list" possui uma chave

diferente. Sem instalar as respectivas chaves, você continuará recebendo erros, como

em:

W: GPG error: ftp://ftp.nerim.net etch Release: Couldn't access keyring: Arquivo ou diretório não encontrado.

Para baixar a chave para o repositório principal, use o comando abaixo (como root):

# wget http://ftp-master.debian.org/ziyi_key_2006.asc -O - | apt-key add -

Esta chave será atualizada anualmente. Em Janeiro de 2007, 2008, 2009, etc., atualize-a

com o mesmo comando, mudando apenas o ano, como em:

# wget http://ftp-master.debian.org/ziyi_key_2007.asc -O - | apt-key add -

Para baixar a chave do repositório Marillat (de onde são instalados o mplayer, o

w32codecs e vários outros pacotes ligados a multimídia, de uma forma geral), que é

usado por padrão no Kurumin e em diversas outras distribuições, use os comandos:

# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 1F41B907

# gpg --armor --export 1F41B907 | apt-key add -

Para o Debian Unofficial, também usado por padrão no Kurumin, use:

Page 246: Línux entendo o sistema[JP.Conteudo]

# gpg --keyserver subkeys.pgp.net --recv-keys 4B2B2B9E

# gpg --armor --export 4B2B2B9E | apt-key add -

Concluindo, baixe também a chave para o repositório com as atualizações de segurança

do Etch:

# wget http://secure-testing.debian.net/ziyi-2005-7.asc -O - | sudo apt-key add -

Estes comandos para baixar as chaves podem ser encontrados nas páginas iniciais dos

respectivos projetos, ou através do Google. Faça uma pesquisa por "gpg", mais o

endereço do repositório dos pacotes, como em "gpg ftp://ftp.nerim.net"

Depois de adicionar todas as chaves, rode novamente o "apt-get update" e os erros

desaparecerão.

Se você precisar adicionar endereços extras, cujos pacotes não estejam assinados no

"sources.list" e quiser desabilitar os avisos do apt-get, adicione a linha

"APT::Get::AllowUnauthenticated 1 ;" no arquivo "/etc/apt/apt.conf".

Page 247: Línux entendo o sistema[JP.Conteudo]

Usando o Alien

O Alien permite converter pacotes .rpm, que originalmente seriam destinados a outras

distribuições, como o Fedora, Mandriva, etc. Usar pacotes destinados a outras

distribuições nem sempre funciona, pois eles foram compilados para trabalhar em outro

ambiente, com bibliotecas e componentes diferentes dos que estão realmente instalados

no seu micro. Mas, em muitos casos, pode ser a única opção.

Um exemplo clássico é o antigo pacote de drivers 3D para as placas ATI Radeon. Digo

antigo, pois nas novas versões ele adotou um sistema similar ao do VMware, onde

existe um instalador genérico, que se encarrega da instalação.

O driver antigo era distribuído apenas em versão .rpm, muito embora pudesse (com

algumas adaptações), ser usado em outras distribuições.

O Alien pode se instalado usando o próprio apt-get:

# apt-get install alien

Para converter um pacote, simplesmente use o comando "alien", seguido pelo arquivo,

como em:

# alien fglrx_4_3_0-8.10.19-1.i386.rpm

fglrx-4-3-0_8.10.19-2_i386.deb generated

Note que ele gera um arquivo de mesmo nome, mas com a extensão .deb, que pode ser

instalado usando o comando "dpkg -i".

Converter pacotes de um formato para outro é bem mais simples do que pode parecer à

primeira vista. O principal não é o formato do pacote em si, mas o que existe dentro

dele. Atualmente, está em desenvolvimento um gerenciador de pacotes universal, o

"smart", que é capaz de converter e instalar automaticamente pacotes de diferentes

formatos. Ele pode vir a ser o sucessor do apt-get, urpmi, yum e outros gerenciadores

que usamos hoje em dia.

Instalando a partir do código fonte

Os pacotes com código fonte, distribuídos na forma dos famosos pacotes .tar.gz ou

.tar.bz2, são o formato mais universal, porém ao mesmo tempo o mais complicado de

instalar, que você deixa como um último recurso a lançar mão quando não encontrar um

pacote atualizado do programa que precisa instalar.

Em primeiro lugar, é necessário ter instalado um conjunto de compiladores, incluindo o

gcc e g++, e ferramentas como o make, autoconf, diff e patch e bibliotecas, como o

binutils-dev, libc6-dev. Este "kit básico" é instalado ao marcar a categoria

"desenvolvimento" (ou development) durante a instalação. No caso do Kurumin, use o

script "instalar-compiladores".

Page 248: Línux entendo o sistema[JP.Conteudo]

Uma dica é que todos os pacotes cujo nome termina com "-dev" são justamente

bibliotecas de desenvolvimento, que podem ser necessários ao compilar determinados

programas. Quando o instalador reclama da falta de bibliotecas ou arquivos do X,

provavelmente ele está dando falta do pacote "xlibs-dev", quando reclamar da falta de

arquivos do KDE, provavelmente está pedindo o pacote "libqt3-dev" e assim por diante.

A maior dificuldade em compilar programas complexos está justamente em localizar e

instalar o conjunto de bibliotecas de que ele precisa.

Se os pré-requisitos estiverem em ordem, a compilação em si é feita descompactado o

arquivo (usando o comando "tar -zxvf pacote.tar.gz" ou "tar -jxvf pacote.tar.bz2" ou

descompactando pelo próprio Konqueror), acessando a pasta que será criada e rodando

três comandos básicos:

$ ./configure

$ make

# make install

O "./configure" executa um script (dentro da pasta do programa), que verifica o sistema,

em busca dos componentes de que precisa. Ele avisa caso algo esteja faltando, como

neste erro que apareceu ao tentar compilar o Qemu:

ERROR: QEMU requires SDL or Cocoa for graphical output

To build QEMU with graphical output configure with --disable-gfx-check

Note that this will disable all output from the virtual graphics card.

Neste exemplo, está faltando a biblioteca de desenvolvimento do SDL. Quase sempre,

os pacotes que contém bibliotecas começam com "lib" e os pacotes de desenvolvimento

terminam com "-dev". Procurando no http://www.debian.org por um pacote que comece

com "lib", termine com "-dev" e tenha "sdl" no meio, você chega ao "libsdl1.2-dev",

que é justamente o pacote que estava faltando neste caso :). Em casos onde a solução

parecer mais difícil, a melhor opção é fazer uma busca no Google, usando parte da

mensagem de erro.

O "make" cuida do trabalho pesado, fazendo a compilação propriamente dita. Ele se

baseia nas informações deixadas pelo configure para encontrar os componentes de que

precisa.

Finalmente, temos o "make install", que finalmente instala o programa, copiando os

arquivos gerados pelo make para as pastas corretas do sistema. Ao contrário dos dois

primeiros comandos, ele precisa ser executado como root, já que envolve fazer

alterações no sistema.

Apesar destes três comandos serem um padrão adotado na maioria dos pacotes, eles não

são necessariamente uma regra. Muitos programas usam sistemas simplificados de

instalação ou mesmo scripts próprios, por isso é sempre bom dar uma olhada no arquivo

"INSTALL" ou "README" dentro da pasta, que explica os passos necessários.

Em geral, os programas instalados a partir dos fontes não criam os ícones no menu.

Você precisa chamar o programa via linha de comando ou criar os ícones manualmente.

Uma dica com relação às dependências e bibliotecas é usar o auto-apt, um programa

que verifica as mensagens de erro geradas durante a compilação e procura instalar via

Page 249: Línux entendo o sistema[JP.Conteudo]

apt-get os componentes necessários para concluir a compilação. Ele não é perfeito:

muitas vezes se perde ou tenta instalar pacotes desnecessários, mas realmente ajuda em

muitos casos. Você pode instalá-lo via apt-get:

# apt-get install auto-apt

Depois de instalado, execute (nesta ordem) os comandos "auto-apt update", "auto-apt

updatedb" e "auto-apt update-local", que geram a base de dados que ele usa para

fazer seu trabalho.

Depois de tudo pronto, você passa a executar os comandos de compilação dos pacotes

através dele, usando o comando "auto-apt run" seguido pelo comando, como em:

# auto-apt run ./configure

# auto-apt run make

Programas com instalador

Como comentei, muitos programas usam instaladores próprios e são desenvolvidos de

forma a funcionarem sem modificações em várias distribuições. Alguns exemplos são o

Java, RealPlayer, Acrobat Reader, os drivers 3D da nVidia e ATI, versões antigas do

OpenOffice (anteriores ao 2.0), versões do Firefox e Thunderbird baixadas do

mozilla.org ou mozilla.org.br e muitos jogos (como o Quake 3, Unreal, Medal of

Honour e outros), que utilizam um instalador gráfico desenvolvido pela saudosa Loki.

Estes programas quase sempre usam a extensão ".sh" e são fáceis de instalar, já que

basta executar o arquivo num terminal para iniciar a instalação.

Ao baixar o arquivo, ele sempre virá com a permissão de execução desmarcada, uma

medida de segurança para prevenir acidentes com possíveis arquivos infectados com

vírus e trojans. Apesar de parecer perda de tempo, esta é uma das medidas que mais

contribui para a segurança geral do sistema num desktop, pois você não corre o risco de

executar um arquivo simplesmente por clicar por acidente num link no navegador ou no

leitor de e-mails: precisa realmente salvá-lo no HD, marcar a permissão de execução e

finalmente executá-lo. Um vírus que se propagasse via e-mail encontraria um terreno

muito menos fértil no Linux; ele teria que vir com manual de instruções ;).

Para ativar a permissão de execução, use o comando "chmod +x", como em:

$ chmod +x mohaa-lnx-1.11-beta3.run

Muitos instaladores podem ser executados diretamente com seu login de usuário, desde

que você instale o programa numa pasta dentro do seu home. Outros realmente precisam

ser executados como root.

Você pode executar o programa diretamente pelo Konqueror, clicando sobre ele

(lembre-se de que você pode abrir o Konqueror como root usando o comando "sudo

konqueror" ou ainda "kdesu konqueror"); ou pelo terminal, usando o "./", como em:

# ./mohaa-lnx-1.11-beta3.run

Page 250: Línux entendo o sistema[JP.Conteudo]

No caso dos games, o instalador pede os CDs de instalação do Windows, da onde copia

os arquivos necessários (mapas, sons, etc.). Mas, depois de instalado, o game roda

realmente como um aplicativo nativo.

No caso de games compostos por vários CDs, você por usar os comandos "umount

/mnt/cdrom" e "mount /mnt/cdrom" para trocar o CD durante a instalação. A dica neste

caso é que você não pode estar dentro da pasta "/mnt/cdrom" ao tentar desmontar o CD,

caso contrário o sistema percebe que o diretório está em uso e retorna um erro. Dê os

comandos a partir de outro diretório qualquer e você consegue desmontar normalmente.

Além das páginas dos respectivos desenvolvedores, você pode baixar os instaladores (e

demos) for Linux de muitos dos games portados no: http://darkstar.ist.utl.pt/pub/games/.

Outras ferramentas de instalação

O apt-get é atualmente quase que uma ferramenta universal. Além de ser usado nas

muitas distribuições derivadas do Debian (incluindo o Ubuntu), ele foi portado para

distribuições derivadas do Red Hat pela Equipe da Conectiva. Embora ainda não seja a

opção padrão, ele pode ser instalado no Mandriva, Fedora e em outras distribuições.

Mas, além do apt-get em si, existem outras ferramentas de instalação, particulares de

cada distribuição.

No Mandriva é usando o "rpmdrake", um utilitário gráfico (disponível dentro do

Mandriva Control Center) que permite instalar, remover e atualizar programas. Também

é possível instalar programas via linha de comando usando os comandos "urpmi

programa" (para instalar) e "urpme programa" (para remover). Por padrão, o urpmi

Page 251: Línux entendo o sistema[JP.Conteudo]

simplesmente instala os pacotes a partir dos CDs de instalação, mas é possível adicionar

fontes adicionais, como no apt-get. Um site que ajuda nesta tarefa é o:

http://easyurpmi.zarb.org/.

No Fedora é usado o "yum", que funciona de forma bem similar ao apt-get, baixando

os pacotes da Internet, junto com as dependências. Use o comando "yum install pacote"

para instalar novos programas e "yum remove pacote" para remover. Existe ainda o

comando "yum update" que atualiza de uma vez todos os pacotes do sistema, de forma

similar ao "apt-get upgrade". No yum não existe necessidade de baixar uma lista de

pacotes, como no "apt-get update", pois ele faz isso automaticamente no início de cada

operação.

Assim como no urpmi, é possível adicionar repositórios extras, adicionando-os no

arquivo "/etc/yum.conf".

Programas de escritório

Ao longo dos anos, o MS Office conquistou uma espécie de hegemonia dentro da

plataforma Windows, como a suíte de escritório mais usada. Grande parte disto se deve

ao formato de arquivos usado. A partir do momento em que a maioria começa a usar o

Office e começa a lhe mandar documentos criados nele, gostando ou não você acaba

sendo obrigado a também ter o Office instalado para conseguir abri-los.

Ter uma boa suíte de escritório, que ofereça bons recursos e compatibilidade com os

arquivos do Office e ter um bom navegador são pré-requisitos para qualquer sistema

operacional ter condições de competir com o Windows. Felizmente, já temos no Linux

programas tecnicamente superiores tanto ao Office quanto ao Internet Explorer: o

OpenOffice e o Firefox, que inclusive rodam nas duas plataformas.

OpenOffice

O OpenOffice dispensa apresentações. Ele é a segunda suíte de escritório mais usada no

mundo, atrás apenas do MS Office, disponível tanto em versão Linux, quanto Windows.

O OpenOffice possui algumas vantagens importantes sobre o MS Office, como o fato

de ser compatível com mais formatos de arquivos, ser capaz de salvar documentos em

PDF nativamente (Arquivo > Exportar como PDF) e salvar os documentos num formato

aberto, gerando arquivos muito mais enxutos e portáveis. Isso é muito importante para

empresas e governos e mesmo para muitos que armazenam grandes quantidades de

textos e outros documentos importantes. Usando o formato do OpenOffice você tem

certeza que poderá abrir estes documentos daqui a 10, 20 ou 30 anos. No caso do MS

Office, não existe esta garantia pois você fica amarrado a um fornecedor específico que

controla o formato, no caso a Microsoft.

Os arquivos gerados pelo OpenOffice são na verdade arquivos compactados, contendo

arquivos separados para o texto, layout e imagens e outros objetos incluídos. As

imagens são mantidas em seu formato original (sem perda, ou qualquer tipo de

alteração) e o texto é salvo na forma de um arquivo .xml, razoavelmente legível, bem

diferente da sopa de bytes gerada pelo concorrente. Examine você mesmo,

Page 252: Línux entendo o sistema[JP.Conteudo]

descompactando um documento qualquer, como se fosse um arquivo zip. Via linha de

comando você pode usar o comando "unzip", como em "unzip 1-Intro.sxw":

O fato do formato ser legível, organizado e aberto (o que permite que outros programas

incluam suporte, filtros de conversão e outros tipos de ferramentas que permitam lidar

com os arquivos), não existe nenhuma possibilidade real de você ter documentos

corrompidos, "irrecuperáveis" como acontece no MS Office. Mesmo que uma tragédia

acontecesse, ainda seria possível abrir o arquivo e arrumá-lo manualmente, corrigindo

ou removendo a parte danificada usando um editor de textos.

O OpenOffice é composto pelo Writer, Calc, Draw, Impress e Math, que são

respectivamente o editor de texto, planilha, programa de desenho vetorial, gerador de

apresentações e editor de equações. Naturalmente, o Writer e o Calc são os mais

conhecidos e usados, mas o Draw e o Impress também surpreendem pelos recursos.

O OpenOffice 2.0 trouxe um novo componente, o Base, um gerenciador de banco de

dados que oferece recursos similares aos do MS Access, além de muitas melhorias na

interface, novas funções dentro dos demais aplicativos e um melhor suporte aos

documentos do MS Office. Apesar do tamanho do pacote ter aumentado, o desempenho

melhorou em relação ao OpenOffice 1.1.3 e anteriores, sobretudo o tempo de abertura.

Mesmo que você já utilize uma versão anterior do OpenOffice, é interessante procurar

migrar para a nova versão, devido a todas as melhorias.

Você pode baixar o OpenOffice no http://www.openoffice.org.br mas, na maioria dos

casos, a melhor opção é simplesmente instalar a versão mais recente da sua distribuição

favorita e usar a versão incluída. O Kurumin, por exemplo, passou a vir com o

OpenOffice 2.0 a partir da versão 5.1, usada para escrever este livro.

Page 253: Línux entendo o sistema[JP.Conteudo]

Existem algumas dicas com relação ao desempenho do OpenOffice (como desabilitar o

Java e aumentar o tamanho dos caches) e dicas para melhorar a qualidade do corretor

ortográfico, que veremos a seguir.

Enquanto escrevo, os manuais do OpenOffice 2.0 ainda não foram traduzidos para o

português. Você pode acompanhar o trabalho de tradução no

http://www.openoffice.org.br/, ou ler os documentos originais, em inglês no

http://documentation.openoffice.org/manuals/index.html.

Outro site com várias dicas é o http://www.tutorialsforopenoffice.org/.

Configurando o OpenOffice

O OpenOffice é um dos aplicativos mais complexos que temos no Linux, com mais

linhas de código que o próprio Kernel e um sem número de componentes e bibliotecas

diferentes. Ele também inclui suporte a diversas línguas e ao Java, o que torna o

conjunto ainda mais complexo :).

É possível obter o OpenOffice a partir de dois lugares. No http://www.openoffice.org/,

você pode baixar o pacote oficial da Sun, disponibilizado em várias línguas (que é o

pacote que vem pré-instalado na maioria das distribuições), enquanto no

http://www.openoffice.org.br/ você encontra o pacote localizado para o Brasil, mantido

pela equipe responsável pela tradução para o Português do Brasil, ainda na época do

StarOffice.

Na pasta de downloads do site, você encontra três pacotes:

Page 254: Línux entendo o sistema[JP.Conteudo]

OOo_2.0_Win32Intel_install.exe: O pacote com o instalador for Windows.

OOo_2.0_LinuxIntel_install_debs.tar.gz: O pacote compactado, contendo o

OpenOffice empacotado na forma de pacotes .deb.

OOo_2.0_LinuxIntel_install_rpms.tar.gz: Tem o mesmo conteúdo, mas empacotados

na forma de pacotes RPM.

Pela lógica, se você usasse o Ubuntu, Kurumin, ou qualquer outra distribuição derivada

do Debian, você baixaria os pacotes contendo os pacotes .deb. Mas, isto nem sempre é

uma boa idéia, pois este pacote é gerado para trabalhar no Debian unstable e tem um

grande número de dependências, que impedem que seja instalado em muitas

distribuições.

Ao invés disso, a instalação é mais simples se você baixar o pacote com os pacotes

RPM e convertê-los usando o alien. Para isso, comece instalando o alien pelo apt-get,

como em:

# apt-get install alien

Descompacte o pacote e, dentro da pasta contendo os pacotes .rpm, rode o comando que

faz a conversão:

# alien *.rpm

Isso vai gerar um conjunto de pacotes com o mesmo nome, porém com a extensão .deb.

Você pode em seguida instalá-los usando o comando:

# dpkg -i *.deb

Na pasta "desktop-integration" você encontra pacotes contendo os ícones do menu

iniciar para várias distribuições. Lembre-se de que você deve instalar apenas um deles.

O arquivo com os pacotes .deb contém o pacote "openoffice.org-debian-menus", com os

ícones para as distribuições derivadas do Debian.

Na verdade, esta parte da instalação não é necessária na grande maioria dos casos, pois

o OpenOffice já vem pré-instalado na maioria das distribuições. O próximo passo é o

corretor ortográfico, uma peça essencial se você realmente usa o OpenOffice no dia-a-

dia.

O OpenOffice 2.0 é por padrão instalado dentro da pasta "/opt/openoffice.org2.0/". Em

algumas distribuições, que incluem pacotes próprios, a pasta de instalação pode ser a

"/usr/lib/openoffice2/" ou mesmo "/usr/share/openoffice/", mas este é um daqueles

casos em que a ordem não altera o resultado.

Dentro da pasta de instalação, acesse o diretório "share/dict/ooo/", que é onde vão os

dicionários da correção ortográfica. O corretor completo é composto por três

componentes, o corretor propriamente dito, o hifenizador (que entende a divisão das

sílabas) e o dicionário de sinônimos (thesaurus), que inclui uma longa lista com

variações de palavras, que complementa o dicionário principal.

O pacote do OpenOffice da Sun vem apenas com um deles (o corretor). O pacote do

OpenOffice.org.br vinha com os três na época do 1.1.3, mas estranhamente passou a vir

Page 255: Línux entendo o sistema[JP.Conteudo]

apenas com apenas o corretor na versão 2.0, resultando numa correção ortográfica

bastante pobre.

Você pode verificar o status do seu, em "Ferramentas > Opções > Configurações de

Idioma > Recursos de Correção Ortográfica". Se apenas o "OpenOffice.org MySpell

SpellChecker" estiver disponível, (como neste screenshot do OpenOffice incluído no

Ubuntu 5.10), significa que apenas o corretor está instalado.

Mas, não existe motivo para pânico :). Você pode baixar o restante dos componentes

aqui:

http://guiadohardware.net/kurumin/download/dics-oo2-kurumin.tar.gz

Como o nome sugere, este é o arquivo com os dicionários que reuni para uso no

Kurumin, mas que naturalmente pode ser usado em qualquer distribuição. Para instalar,

descompacte o arquivo e copie seu conteúdo para dentro da pasta "share/dict/ooo/",

dentro do diretório de instalação do OpenOffice, substituindo os arquivos existentes.

Se você escreve textos técnicos, pode baixar também o meu dicionário pessoal, que

contém uma lista enorme de termos técnicos, que ao ser instalado faz o corretor deixar

de marcar os termos como palavras incorretas. Salve o arquivo na pasta

Page 256: Línux entendo o sistema[JP.Conteudo]

"share/wordbook/pt-BR/" dentro da pasta de instalação do OpenOffice. Desculpe pelo

link longo ;).

http://www.guiadohardware.net/kurumin/skel/.openoffice.org2/user/wordbook/kurumin.

dic

Depois de salvar os arquivos, feche todas as janelas do OpenOffice e abra-o novamente.

Isso fará com que ele encontre os novos arquivos e ofereça a opção de usá-los. Volte ao

"Ferramentas > Opções > Configurações de Idioma > Recursos de Correção

Ortográfica" e você verá que apareceram mais duas opções no campo "Módulos de

Idiomas Disponíveis" e o dicionário "kurumin" no campo "Dicionários Definidos pelo

Usuário". Marque todas as opções e você ficará com o corretor completo.

No campo "opções" marque a opção "Verificar em todos os idiomas". O pacote dos

dicionários que disponibilizei contém também os arquivos do corretor em inglês

(en_US), de forma que ao ativar esta opção o corretor passará a entender também

palavras em inglês (simultaneamente com as em português) o que acaba sendo bastante

útil, já que é muito comum usarmos termos e palavras do inglês no dia-a-dia.

Isso evita que você tenha que baixar e instalar todo o pacote do Openoffice.org.br só

porque os corretores não vieram em ordem. O próximo passo é dar uma olhada geral nas

configurações, para reduzir o tempo de carregamento e uso de memória.

É quase que um consenso que o OpenOffice é pesado e que demora pra abrir. Mas

grande parte do "peso" é devido à configuração padrão, que está longe de ser otimizada.

A maior parte das configurações é definida durante a compilação e por isso não podem

ser alteradas facilmente, mas existem duas configurações simples que podem ser

modificadas rapidamente pelo "Ferramentas > Opções" e geram resultados

interessantes.

A primeira é desativar o Java na opção "OpenOffice.org > Java > Usar um JRE". Na

verdade, o Java foi integrado artificialmente ao OpenOffice, como uma tentativa da Sun

de integrar os dois produtos, fazendo com que a popularidade do OpenOffice

impulsionasse também o uso do Java de uma forma geral. O Java é usado apenas em

Page 257: Línux entendo o sistema[JP.Conteudo]

macros, algumas funções dentro do Base (o banco de dados incluído no OpenOffice 2.0)

e os assistentes para criação de documentos.

Desativar o Java reduz o tempo de carregamento do OpenOffice quase pela metade e de

quebra diminui o uso de memória em quase 30 MB. Você tem a opção de reativar o

Java ao tentar usar qualquer opção que realmente precise dele, de forma que você pode

desativá-lo com segurança.

Um dos motivos do OpenOffice demorar mais para abrir e salvar documentos do que o

MS Office é o fato de ele salvar todas as imagens e o próprio texto e formatação do

documento num formato compactado, que resulta em arquivos brutalmente menores que

os do Office, mas que exigem muito mais processamento para serem criados e abertos.

Uma forma de reduzir o tempo de carregamento é aumentar o tamanho do cache

gráfico, na opção "OpenOffice.org > Memória > Cache Gráfico". Usar um cache maior

faz com que o OpenOffice consuma mais memória RAM, mas fique perceptivelmente

mais rápido. Se você tem um micro com 512 MB, vai ter bons resultados reservando de

80 a 150 MB dentro da opção "Utilização para o OpenOffice.org". Se, por outro lado,

você tem um micro com 256 MB ou menos, vai ter melhores resultados usando um

cache menor, de 20 a 40 MB. Ajuste também a opção "Memória por Objeto", que deve

ser proporcional ao tamanho total do cache. Ao usar um cache maior, aumente o valor e,

ao usar um cache menor, reduza-o.

Desativando o Java, aumentando o tamanho dos caches e fuçando um pouco mais nas

configurações é possível fazer o OpenOffice carregar em cerca 7 segundos num

Sempron 2800 com 512 MB (primeiro carregamento, sem preloading) e em pouco mais

de 3 segundos a partir do segundo carregamento (quando ele já está armazenado no

cache de disco) e consumindo bem menos memória RAM que de costume.

Page 258: Línux entendo o sistema[JP.Conteudo]

Koffice

O OpenOffice é o líder disparado em número de usuários e (de uma forma geral)

também em recursos. Mas, isso não significa que não existam alternativas. O Koffice é

a suíte office do KDE, composta de 11 aplicativos. Eles oferecem a vantagem de serem

mais leves que o OpenOffice e possuírem menos funções, o que os torna mais fáceis de

usar para muitos.

Inicialmente, os aplicativos do Koffice utilizavam um formato de arquivos próprio, com

um fraco suporte a documentos criados no MS Office ou OpenOffice. Isso criava um

sério problema de interoperabilidade, pois você tinha que salvar um texto em .rtf ou no

formato do Word 6 para conseguir abri-lo em outro lugar.

A partir da versão 1.4, os aplicativos do Koffice passaram a utilizar o formato OASIS, o

mesmo usado pelo OpenOffice 2.0. Isso tornou as duas suítes muito mais compatíveis

entre si. Os filtros para arquivos do Microsoft Office também receberam melhorias, o

que tornou o Koffice uma alternativa mais promissora.

Em resumo, os pontos fortes do Koffice, de uma forma geral, são a leveza (quando

usado em conjunto com o KDE), facilidade de uso e a boa integração entre os

aplicativos. Os negativos são a falta de muitos recursos avançados e a compatibilidade

com arquivos gerados no MS Office e no OpenOffice, que apesar das melhorias das

últimas versões ainda está longe de ser perfeita.

Os aplicativos que compõe o Koffice (na versão 1.4.2) são:

Kword, Kspread e Kpresenter: Estes são os três aplicativos base, respectivamente o

editor, planilha e gerador de apresentações, correspondentes ao Word, Excel e Power

Point do Office.

Kivio e Kchart: Estes dois adicionam funcionalidades aos aplicativos principais. O

Kivio é um gerador de fluxogramas (similar ao Visio), enquanto o Kchart permite gerar

gráficos e diagramas. Apesar de você poder usá-los de forma autônoma, os fluxogramas

e gráficos gerados por eles podem ser integrados aos documentos do Kword, Kspread e

Kpresenter. Complementando a dupla, temos também o Kformula, que permite gerar

fórmulas matemáticas para uso nos documentos.

Karbon: O Karbon é um programa de desenho vetorial, com uma interface que lembra

um pouco a do Corel Draw. Apesar de trabalhar por padrão com um formato próprio,

ele é compatível com o formato SVG, de forma que é possível editar arquivos criados

no Inkscape e outros programas. O Karbon também é capaz de importar os arquivos

gerados no Kivio e Kchart, permitindo que você aplique efeitos e faça retoques em

geral.

Kugar: É um gerador de relatórios. Ao contrário dos outros programas da suíte, ele é

desnecessariamente complicado de usar e pouco intuitivo. Um dos problemas

fundamentais é que ele não é capaz de importar dados de outros aplicativos, é

necessário criar manualmente um arquivo XML com as informações e criar o layout do

relatório separadamente, usando o comando "kudesigner" (quem inventou este nome

definitivamente não era brasileiro ;). No final você usa o Kugar para carregar os dois

arquivos e, finalmente, ter seu relatório. Essa burocracia toda me faz dar razão para as

pessoas que preferem usar papel e caneta :-/.

Page 259: Línux entendo o sistema[JP.Conteudo]

Kplato: É um gerenciador de projetos, onde você pode incluir vários objetivos ou

tarefas, pessoas encarregadas de executá-las, além de objetivos ou prazos. Ele pode ser

usado em diversas áreas, de construções a desenvolvimento de projetos. Ele é um dos

componentes mais novos da suíte, e vem passando por grandes mudanças a cada versão.

Kexi: Um gerenciador de banco de dados (como o Base do OpenOffice ou o MS

Access), mas ainda em estágio inicial de desenvolvimento. Ele pode trabalhar com uma

base de dados local, ou acessar um servidor MySQL ou Postgree. Para trabalhos sérios,

é mais aconselhável usar o OpenOffice Base, incluído a partir do OpenOffice 2.

Krita: Este é provavelmente um dos componentes mais promissores do pacote. Ele é

um editor de imagens, similar ao Gimp e ao Photoshop em diversos aspectos, mas

surpreendentemente poderoso e fácil de usar.

Koffice-i18n-ptbr: Este pacote contém a tradução para o português do Brasil para todos

os programas. É necessário instalá-lo para ter suporte à nossa língua, mesmo que você

pretenda instalar apenas um dos componentes.

Todos estes pacotes podem ser instalados diretamente via apt-get, como em "apt-get

install kword kspread kpresenter krita koffice-i18n-ptbr". Você encontra a suíte

completa disponível a partir do Debian Sid (o atual testing). Todos os aplicativos do

Koffice compartilham do corretor ortográfico padrão do KDE, configurado no Centro

de Controle.

Abiword

Depois do OpenOffice, o Abiword é provavelmente o melhor substituto para o Word.

Ele possui um conjunto equilibrado de recursos e uma interface bem similar à do Word,

o que o torna familiar para quem vem do Windows.

O Abiword possui dois pontos fortes: ele é leve e independente as bibliotecas do KDE e

do Gnome, o que faz com que rode rápido mesmo em micros antigos, ou ao usar outras

interfaces gráficas, e ele possui uma boa compatibilidade com os arquivos do Word, que

rivaliza em qualidade com os filtros do OpenOffice e estão bem à frente dos filtros do

Kword. O Abiword possui também uma versão Windows (além de versões para o Mac

OS e diversos outros sistemas), que pode ser baixada no: http://www.abisource.com/.

Assim como o Kword, o Abiword é capaz de abrir documentos gerados no OpenOffice,

mas a compatibilidade está longe de ser perfeita. Pelo contrário, existe um melhor

suporte aos documentos do MS Office (um formato obscuro e complicado) do que ao

formato aberto usado pelo OpenOffice, um paradoxo.

Ao instalar o Abiword via apt-get, instale também os pacotes "abiword-plugins" (que

inclui a maior parte dos filtros de conversão de documentos) e o "aspell-pt-br", que

inclui o corretor ortográfico.

Gnumeric

O Gnumeric faz par com o Abiword, oferecendo uma opção leve (porém poderosa) de

planilha. Ele surpreende pela quantidade de recursos e pela boa compatibilidade com os

arquivos gerados no Excel. Segundo muitos, o Gnumeric supera o OpenOffice Calc em

Page 260: Línux entendo o sistema[JP.Conteudo]

vários aspectos. Ao instalá-lo via apt-get, instale também o pacote "gnumeric-plugins-

extra".

Scribus

O Scribus é um programa de editoração eletrônica bastante maduro, similar em muitos

aspectos ao Page Maker. Um programa de editoração é bem diferente de um editor de

textos, pois é mais voltado para a produção do layout da página, oferecendo uma

precisão muito maior. Você usa um editor de textos como Abiword para escrever um

livro, mas usa um programa de editoração quando precisa fazer o layout de uma revista,

ou a própria capa do livro :).

Os pontos fortes do Scribus são a facilidade de uso (comparado com outros programas

da área) e o excelente suporte a exportação de arquivos em PDF, um ponto em que o

Scribus é realmente bem superior a outros programas. Ele inclui suporte a vários

recursos incluídos nas últimas versões do formato, como a possibilidade de criar PDFs

"inteligentes", com a inclusão de java scripts, que permitem incluir botões, formulários

e outras funções.

O Scribus foi o primeiro programa a oferecer suporte ao formato PDF/X-3 (um padrão

ISO, aberto, para gerar arquivos PDF de alta qualidade, destinados à impressão), antes

mesmo das ferramentas da Adobe. Ele também suporta CMYK (a conversão é feita

automaticamente ao gerar arquivos PDF) e possui muitas ferramentas de desenho,

incluindo o suporte a arquivos em SVG (um padrão para desenhos vetoriais), que

Page 261: Línux entendo o sistema[JP.Conteudo]

podem ser incluídos diretamente no documento e modificados dentro do próprio

Scribus, sem necessidade de ficar importando e exportando.

Ele pode também ser expandido através de plugins, escritos em C++, ou scripts, escritos

em Python. Veja mais detalhes aqui:

http://docs.scribus.net/index.php?&page=plugin_howto. Você pode encontrar vários

tutoriais sobre o uso do Scribus no http://docs.scribus.net/.

Assim como o OpenOffice, o Scribus utiliza um formato de arquivo aberto e bastante

limpo, baseado em arquivos XML. Isto surpreende, pois os arquivos gerados pelo

PageMaker, Quark e outros programas da área são extremamente complexos e ilegíveis,

praticamente impossíveis de recuperar quando algo dá errado. No caso do Scribus, é

muito mais raro perder trabalhos por causa de arquivos corrompidos e, mesmo nestes

raros casos, existe sempre a possibilidade de abrir o arquivo num editor de textos e

remover a parte danificada.

Por ser um programa bastante popular atualmente, o Scribus é bem simples de instalar

na maioria das distribuições, basta instalar o pacote "scribus" usando o apt-get, urpmi

ou yum. Caso ele esteja aparecendo em inglês, experimente chamá-lo via linha de

comando, usando o comando "scribus --lang br".

O Scribus se beneficia dos avanços feitos pelo Linux em outras áreas, como no suporte

a fontes truetype, as brutais melhorias no sistema de impressão, as melhorias nas

bibliotecas gráficas e assim por diante. É a combinação de tudo isso que tem

possibilitado o aparecimento de tantos programas profissionais para a plataforma, que

realmente podem ser utilizados em ambientes de produção.

Page 262: Línux entendo o sistema[JP.Conteudo]

Imagem e desenho

O Gimp é o programa de edição de imagens for Linux mais conhecido, mas ele não é

mais o único. Atualmente temos também programas como o Krita e o Kolourpaint, que

também são editores de imagens, além do Inkscape, Sodipodi e Karbon, que são

editores vetoriais. O Blender e o Blender e o PovRay complementam as duas turmas,

oferecendo opções para modelagem em 3D. Temos ainda o Tuxpaint, que é um

programa de desenho infantil, muito bonito e bem feito.

Gimp

O Gimp é sem sombra de dúvida o editor de imagens for Linux mais completo e

maduro disponível atualmente. Mesmo se comparado aos programas do Windows, o

Gimp leva vantagem sobre a grande maioria; apenas o próprio Photoshop concorre

diretamente com ele em recursos. Uma das funções mais interessantes são os scripts

disponíveis em "Extras > Script-Fu", que permitem criar logotipos e efeitos diversos de

forma muito simples, como este, criado usando a função "Logos > Brilhante".

A maior dificuldade tem a ver mais com a disposição das funções e a interface em geral.

Embora o Gimp seja muito similar ao Photoshop em recursos, a interface é organizada

de forma diferente e muitos efeitos são obtidos através do uso de duas ou mais

ferramentas. O Gimp também não é um programa especialmente fácil de usar para quem

não tem uma boa noção sobre o uso de programas gráficos. O programa exige uma certa

curva de aprendizado.

O Gimp pode ser encontrado em praticamente todas as distribuições. Se ele não vier

instalado por padrão, você pode instalá-lo usando o apt-get, yum ou urpmi, chamando

diretamente pelo nome, como em "apt-get install gimp", "urpmi gimp" ou "yum gimp".

Existem diversos sites em Português com dicas sobre o Gimp, dois dos mais conhecidos

são o http://www.ogimp.com.br/ e o http://www.gimp.com.br/. Você também vai

encontrar uma grande quantidade de tutoriais e exemplos no site oficial:

http://www.gimp.org/docs/.

Page 263: Línux entendo o sistema[JP.Conteudo]

Se você estiver à procura de um programa mais simples, mais no estilo "paint", pode

experimentar o Kolourpaint, que faz parte KDE e também está disponível via apt-get,

ou mesmo o Krita, que vimos no tópico sobre o Koffice.

O Tuxpaint é um misto entre editor de imagens e programa educativo. Ele é um

programa de desenho para crianças (de todas as idades), que conta com vários efeitos

sonoros e animações, que tornam o programa muito colorido e atraente. Você pode

baixá-lo via apt-get (apt-get install tuxpaint) ou ver mais detalhes no:

http://www.newbreedsoftware.com/tuxpaint/.

Inkscape

O Inkscape é um programa de desenho vetorial, similar em muitos aspectos ao Corel e

ao Illustrator. O principal atrativo do Inkscape é que, apesar do programa conter muitas

funções e ser bastante poderoso, a interface e as funções são bem simples de usar, com

as ferramentas fazendo o que são projetadas para fazer, sem esquisitices.

Ele utiliza por padrão o formato SVG, uma espécie de padrão entre os programas

vetoriais. Você pode abrir os arquivos criados no Inkscape diretamente no Illustrator, ou

importá-las no Corel. Eles também oferecem a opção de exportar em SVG, de forma

que existe um bom nível de intercompatibilidade.

Page 264: Línux entendo o sistema[JP.Conteudo]

Clicando em "Ajuda > Tutoriais" você tem acesso aos arquivos de ajuda do Inkscape,

que são documentos editáveis, em SVG. Esta é uma idéia bem interessante, pois todos

os campos e exemplos podem ser editados através do próprio Inkscape, permitindo que

você realmente coloque a mão na massa enquanto está lendo, editando os exemplos e

testando as funções.

Se os arquivos não estiverem disponíveis, simplesmente reinstale o Inkscape. Você

pode fazer isso via apt-get usando o comando "apt-get install --reinstall inkscape".

Você pode encontrar uma quantidade muito grande de cliparts e desenhos editáveis e de

livre distribuição (a maior parte em SVG), bem úteis para treinar e usar no dia-a-dia no:

http://www.openclipart.org/.

O Inkscape surgiu em 2003 como uma derivação do Sodipodi. Desde então os dois

programas têm sido desenvolvidos de forma mais ou menos separada, mas a maior parte

das funções são muito similares em ambos. A principal diferença é que o Inkscape

utiliza uma interface "estilo corel", com as barras de ferramentas incluídas na janela

principal, enquanto o Sodipodi é baseado em menus flutuantes. O Sodipodi também

pode ser instalado via apt-get: "apt-get install sodipodi".

Blender

Originalmente, o Blender utilizava uma licença mista, com algumas partes do programa

cobertas pela GPL, enquanto a maior parte era proprietária. Apesar disso, o Blender era

gratuito, tanto na versão Linux quanto na versão Windows.

Porém, a empresa que desenvolvia o Blender passou pro problemas financeiros e

acabou sendo comprada. Acontece que os compradores estavam mais interessados na

propriedade intelectual e no quadro de funcionários e demonstraram pouco interesse em

continuar o desenvolvimento do Blender.

O Blender já tinha então muitos fãs. Um grupo se uniu e propôs a compra dos direitos

sobre o Blender por 100.000 euros. A proposta foi aceita e o dinheiro foi arrecadado

através de uma campanha feita via Web. O resultado é que depois de resolvida toda a

papelada, o Blender passou a ser licenciado integralmente sob a GPL e a ser

desenvolvido num ritmo muito rápido.

A página oficial é a http://www.blender.org, onde você encontra uma grande quantidade

de tutoriais e trabalhos desenvolvidos nele. Existe também uma página em português no

http://blender.com.br.

A instalação via apt-get é bem simples, basta usar o comando "apt-get install blender".

Outra opção é o PovRay é um programa profissional de modelagem em 3D,

concorrente do Blender. Além da versão for Linux, existem ports para o Windows e

OSX. Na página oficial você pode encontrar uma grande quantidade de documentação e

vários projetos de exemplo: http://www.povray.org.

Ao instalar via apt-get, baixe também o kpovmodeler, que é uma interface para ele. O

comando fica: "apt-get install povray kpovmodeler".

Page 265: Línux entendo o sistema[JP.Conteudo]

Ksnapshot

No Windows, a forma mais comum de tirar um screenshot é apertar a tela print screen,

colar a imagem em algum programa de edição de imagem e finalmente salvá-la num

arquivo. No KDE, você pode fazer isso de uma forma muito mais simples usando o

Ksnapshot.

O Ksnapshot é um programa extremamente prático. Ao chamá-lo, ele automaticamente

tira um screenshot da tela atual. Você pode salvar este screenshot diretamente, basta

escolher um nome de arquivo. O melhor de tudo é que ele salva as imagens já em .png

(compactadas de uma forma extremamente eficiente, mas sem perda de qualidade), com

a opção de gerar imagens em .gif, .jpg ou outros formatos. Você pode criar um atalho de

teclado no Painel de Controle do KDE, de forma que ele seja executado ao pressionar a

tecla print screen.

Além de tirar screenshots da tela inteira, ele permite também tirar screenshots de

janelas. Para isso, basta marcar a opção "Janela sob o cursor". Você pode estabelecer

também um tempo de espera, 5 segundos, por exemplo, dando tempo de chegar até

algum menu ou opção. Existe também uma função para imprimir diretamente o

screenshot.

Não é preciso dizer que ele é uma ferramenta extremamente prática para quem deseja

desenvolver apostilas e tutoriais. Você pode tirar rapidamente uma grande quantidade

de screenshots mostrando todos os menus de um determinado programa e já salvá-los

num formato compactado, pronto para o uso.

Junto com o OpenOffice, o Ksnapshot é um dos programas que mais estou utilizando no

desenvolvimento deste livro, por isso não poderia deixar de indicá-lo aqui :).

Navegadores

O Navegador é provavelmente a ferramenta mais importante hoje em dia, um recurso

básico que damos como garantido em qualquer sistema que se preze. Existem três

Page 266: Línux entendo o sistema[JP.Conteudo]

grandes navegadores disponíveis no Linux: o Firefox, Konqueror e Opera, seguidos por

projetos menores, de navegadores especializados, como o Epiphany (um navegador

baseado no Firefox, que usa as bibliotecas do Gnome) e até navegadores leves,

destinados a micros antigos e dispositivos embarcados, como o Dillo.

Firefox

No começo existia o Mosaic, que é considerado o primeiro navegador web moderno.

Depois veio o Netscape, que foi durante muito tempo uma espécie de navegador padrão,

até ser desbancado pelo IE, que passou a vir integrado no Windows. O Netscape teve

então seu código aberto e se tornou a base para o projeto Mozilla, que além de

navegador, tinha um cliente de e-mails, editor html e até um cliente de IRC.

Justamente por conter tantos componentes, o Mozilla era grande e pesado. Surgiram

então versões especializadas, que contém apenas um dos componentes do pacote e por

isso são mais rápidas.

O primeiro foi o Phoenix, que depois mudou de nome para Firebird e finalmente

Firefox, o nome definitivo. O cliente de e-mail do Mozilla se transformou no

Thunderbird e o antigo Composer, que vinha sem muitas modificações desde o

Netscape 4.5, ganhou vida própria na forma do NVU, um editor html visual que tem a

equipe de desenvolvimento parcialmente financiada pela Linspire.

O Firefox é uma espécie de "jóia da coroa" entre os aplicativos de código aberto. Além

de ser o navegador mais usado no Linux, ele é usado como navegador padrão por mais

de 10% dos usuários Windows, desafiando a hegemonia do IE.

É bem provável que você já utilize o Firefox no dia-a-dia, então, ao invés de perder

tempo falando sobre os recursos e a configuração básica, vou aproveitar para falar sobre

a instalação de plugins, um recurso muitas vezes negligenciado na maior parte das

distribuições.

Ao contrário do que tínhamos a alguns anos atrás, atualmente temos plugins para quase

todos os formatos de vídeo, animações e outros tipos de arquivos encontrados na Web.

É possível assistir vídeos via streaming, fazer com que arquivos PDF sejam abertos

diretamente ao clicar sobre um link (com a ajuda do Acrobat Reader) e assim por diante.

Os plugins que comento aqui já vêm instalados por padrão no Kurumin, mas é útil

conhecer os passos para instalá-los manualmente, tanto para instalá-los em distribuições

que não os tragam por padrão, quanto para corrigir problemas.

A configuração que descrevo aqui é uma espécie de "mínimo denominador comum",

escrito de forma genérica, para funcionar em várias distribuições. Em muitos casos,

você pode instalar o Java, Acrobat, ou mesmo o Flash simplesmente instalando um

pacote. Mas, quando tudo mais falhar, siga as dicas abaixo :).

Suporte a Flash: Para instalar o Flash no Firefox, baixe o pacote for Linux (o arquivo

"install_flash_player_7_linux.tar.gz") disponível no:

http://www.macromedia.com/go/getflashplayer.

Page 267: Línux entendo o sistema[JP.Conteudo]

Apesar da extensão, o pacote contém o programa já compilado. Basta descompactar,

usando o comando "tar -zxvf flash_linux.tar.gz", ou usando o gerenciador de arquivos

e, em seguida, copiar os arquivos "flashplayer.xpt" e "libflashplayer.so" para dentro da

pasta de plugins do Firefox, que na maioria das distribuições é a "/usr/lib/mozilla-

firefox/plugins/".

Para habilitar o Flash também no Konqueror, clique em "Configurações > Configurar

Konqueror > Plugins". Veja se a pasta de plugins do Firefox está na lista e a adicione

caso necessário. Depois é só clicar no "Instalar novos plugins" para que ele detecte e

ative o plugin.

Suporte a Java: Embora seja gratuito, o Java não é open-source, nem livre. O

desenvolvimento é controlado pela Sun e mesmo a distribuição do pacote está sujeita a

um contrato de licença. Isto faz com que muitas distribuições não incluam o Java,

novamente obrigando-o a instalá-lo manualmente.

Nestes casos, você tem duas opções. A primeira é baixar a JRE da Sun, que ativará o

suporte não apenas no Firefox, mas também em outros programas, como o OpenOffice.

O primeiro passo é baixar o instalador no: http://java.sun.com/j2se/.

Escolha entre o "Linux RPM in self-extracting file" e o "Linux self-extracting file".

Os dois são arquivos executáveis, que exibem o contrato de licença e se auto-

descompactam. A diferença é que o primeiro gera um arquivo RPM instalável da

maneira usual e o segundo um arquivo binário que deve ser executado para concluir a

instalação.

O plugin para o Firefox será instalado na pasta "/usr/lib/j2re1.5/plugin/i386/ns7/". Para

instalá-lo, você precisa criar um link, dentro da pasta "plugins" no diretório de

instalação do Firefox apontando para o arquivo libjavaplugin_oji.so dentro da pasta de

instalação do Java. É importante ressaltar que você não deve copiar o arquivo (pois ele

Page 268: Línux entendo o sistema[JP.Conteudo]

não funciona fora da pasta original) mas sim criar um link para ele. Se o Firefox está

instalado dentro da pasta "/usr/lib/mozilla-firefox/", por exemplo, o comando seria:

# ln -sf /usr/lib/j2re1.5/plugin/i386/ns7/libjavaplugin_oji.so \

/usr/lib/mozilla-firefox/plugins/

A pasta de instalação do Java ou do Firefox podem mudar de distribuição para

distribuição. Se não estiver encontrando, experimente usar o comando "locate", como

em "locate firefox". Ele retorna os nomes de todas as pastas e arquivos com "firefox" no

nome.

Se você usa alguma distribuição derivada do Debian, existe um pacote extra-oficial

disponível no "ftp.debian-unofficial.org", que facilita a instalação.

Para usá-lo, você precisa primeiro adicioná-lo à lista de fontes do apt-get. Para isso,

abra o arquivo "/etc/apt/sources.list" e adicione a linha:

deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free

Rode o comando "apt-get update" para que o apt-get atualize o banco de dados dos

pacotes disponíveis e instale o Java com o comando:

# apt-get install sun-j2se5.0-jre-binary

O pacote inclui um script que cria automaticamente o link dentro da pasta de plugins do

Firefox durante a instalação.

RealPlayer: Embora pouco divulgado, a Real mantém uma versão do Real Player for

Linux desde os tempos da versão 7. Você pode baixar o arquivo no

"http://www.real.com/linux?".

Baixe o arquivo "RealPlayer10GOLD.bin". Este é um arquivo binário, desenvolvido

para funcionar em qualquer distribuição. Para instalá-lo, você precisa apenas marcar a

permissão de executável para o arquivo e em seguida executá-lo, como root:

# chmod +x RealPlayer10GOLD.bin

# ./RealPlayer10GOLD.bin

O default do programa de instalação é simplesmente instalar o programa dentro da pasta

onde ele foi executado. Se você executá-lo dentro do seu diretório home, ele vai criar a

pasta "/home/$USER/RealPlayer/". Isto permite fazer uma instalação particular, dentro

do seu home e válida apenas para seu login. Neste caso você pode executar o arquivo

usando seu login de usuário, não existe necessidade de executá-lo como root.

Para fazer uma instalação válida também para o root e outros usuários, instale-o numa

pasta de sistema, como a "/usr/local/RealPlayer/".

O pacote usa um instalador da velha guarda, um script com uma interface simples, em

modo texto. No final ele pergunta: "Configure system-wide symbolic links? [Y/n]:".

Esta opção cria links que permitem que você chame o programa pelo nome, sem

precisar dar o caminho completo. A maioria dos instaladores fazem isso sem ficar

Page 269: Línux entendo o sistema[JP.Conteudo]

puxando sua calça pedindo confirmação, mas no RealPlayer isso exige um "Y"

adicional.

O script é tão chato e detalhista que em seguida pergunta: "enter the prefix for symbolic

links [/usr]:". Responda "/usr/bin/" para que ele crie o link na pasta correta. A partir daí

você pode abrir o programa executando o comando "realplay". Crie um ícone no menu

para facilitar.

O próprio instalador se encarrega de instalar o plugin no Firefox, que permite assistir

aos vídeos disponíveis na Web, que consiste em criar os links "nphelix.so" e

"nphelix.xpt" dentro da pasta de plugins do Firefox, apontando para os arquivos reais,

localizados na pasta "mozilla/", dentro do diretório de instalação do RealPlayer.

Ao clicar sobre o link de um arquivo .RA ou .RAM no Firefox pela primeira vez, ele

perguntará o que fazer com o arquivo. Marque a opção "abrir com: Programa..." e

indique a localização do executável do RealPlayer ("/usr/local/RealPlayer/realplay", por

exemplo) e marque a opção "Memorizar a decisão para este tipo de arquivo".

Alguns links abrem os vídeos dentro de janelas popup e só funcionam se você

desabilitar a opção "Bloquear janelas popup" na configuração do Firefox.

O plugin para o Firefox é a principal aplicação do RealPlayer, pois o suporte a outros

formatos (no RealPlayer) é muito fraco, superado com muitas vantagens por programas

abertos, como o Kaffeine, Xine e Mplayer. Para os vídeos em formato WMF a melhor

solução é usar o kaffeineplugin ou o mplayerplugin (veja mais detalhes a seguir), com o

pacote "w32codecs" instalado.

Nas distribuições derivadas do Debian, você pode instalar a partir do debian-unofficial,

assim como o Java. Depois de adicionar a linha "deb http://ftp.debian-

unofficial.org/debian sarge main contrib non-free" no "/etc/apt/sources.list" e rodar o

"apt-get update", instale o Real Player com o comando:

# apt-get install realplayer10-binary

Page 270: Línux entendo o sistema[JP.Conteudo]

O RealPlayer em si é proprietário, mas a maior parte do código fonte está disponível na

forma do HelixPlayer, que a Real desenvolve com ajuda da comunidade e usa como

base para o RealPlayer comercial. O HelixPlayer oferece suporte a muitos formatos,

mas ironicamente não aos vídeos no formato RealMedia, que utilizam um conjunto de

sistemas anticópia proprietários, que não podem ter o código fonte divulgado. Você

encontra informações sobre o HelixPlayer no https://helixcommunity.org/.

Acrobat Reader: Existem vários leitores de PDF livres, como o Kghostview e o Xpdf e

as distribuições geralmente trazem pelo menos um já instalado e configurado.

O Kghostview, por exemplo, faz parte do pacote KDE e se integra muito bem com o

Konqueror. Ao clicar num link para um arquivo PDF numa página Web qualquer, ele já

o abre automaticamente numa janela dentro do Navegador, como se fosse uma página

html.

Mesmo assim, muita gente prefere instalar o Acrobat Reader for Linux. O principal

motivo é que o Acrobat Reader oferece uma qualidade de visualização melhor que a dos

leitores livres, mantendo a qualidade do texto e imagem ao utilizar vários níveis de

zoom. Alguns arquivos PDF que ficam com as fontes borradas no Kghostview abrem

normalmente no Acrobat Reader for Linux.

Você pode baixá-lo no http://www.adobe.com/products/acrobat/readstep2.html.

Ao contrário das versões anteriores, o arquivo de instalação do Acrobat 7 tem quase 40

MB, incluindo muitas fontes TrueType adicionais. Para instalar, descompacte o arquivo,

acesse a pasta que será criada, logue-se como root (su) e inicie a instalação:

$ tar -zxvf AdbeRdr701_linux_enu.tar.gz

$ cd AdobeReader/

$ su <senha>

# ./INSTALL

Por padrão, o Acrobat será instalado na pasta "/usr/local/Adobe/Acrobat7.0/". Em

algumas distribuições, o instalador reclamará da falta de um pacote chamado ed (um

editor de texto, usado pelo instalador para exibir o contrato de licença). Ele faz parte da

maioria das distribuições, por isso não deverá ser problema instalá-lo. No Debian e

derivados, por exemplo, você pode instalá-lo com o comando "apt-get install ed".

Se você manteve o default do instalador, o comando para chamar o Acrobat Reader será

"/usr/local/Adobe/Acrobat7.0/bin/acroread", o que não é muito prático de digitar.

Para resolver isso, crie um link com o comando:

# ln -s /usr/local/Adobe/Acrobat7.0/bin/acroread /usr/bin/acroread

A partir daí você poderá chamá-lo simplesmente digitando "acroread" num terminal.

Aproveite para criar também um atalho no menu do KDE.

Existem duas formas de fazer isso. A primeira é chamar o kmenuedit, que é o editor de

menus do KDE. A segunda é criar diretamente o ícone dentro da pasta

"/usr/share/applnk/" (para isso, abra o Konqueror como root).

Page 271: Línux entendo o sistema[JP.Conteudo]

Para concluir, você pode aproveitar para associar os arquivos PDF com o Acrobat

Reader, isso fará com que os arquivos sejam automaticamente abertos nele quando você

clicar sobre o arquivo ou link no Konqueror ou outro aplicativo do KDE.

Para isso, abra o Centro de Controle do KDE (kcontrolcenter) e vá em Componentes do

KDE > Associações de arquivos > Application > PDF e mude o comando do aplicativo

de "kgohostview" (ou o que estiver configurado) para "acroread".

Para que o Acrobat se integre também com o Firefox, você deve criar um link dentro do

diretório de plugins do Firefox para o arquivo nppdf.so, que fica dentro da pasta

"/usr/local/Adobe/Acrobat7.0/Browser/intellinux/", como em:

# ln -s /usr/local/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so \

/usr/lib/mozilla-firefox/plugins/

Ao usar o debian-unofficial, você pode instalar o Acrobat usando o apt-get:

# apt-get install acroread

Neste caso, o plugin para o Firefox (incluindo o link) é instalado através de um pacote

adicional, o mozilla-acroread:

# apt-get install mozilla-acroread

Kaffeine e Mplayer: O RealPlayer é útil apenas para vídeos em seu próprio formato.

Para assistir a vídeos em QuickTime ou no formato WMF, você pode escolher entre

usar os plugins do Kaffeine ou do Mplayer.

Estes dois plugins detectam tags de abertura de vídeo ou áudio dentro das páginas e

carregam os arquivos no player. Em ambos os casos, você precisará também do pacote

w32codecs, que contém um conjunto de dlls do Windows, que são executadas com uma

mãozinha da biblioteca do Wine, dando suporte a mais formatos de vídeo, incluindo

vídeos em QuickTime e até no formato do Windows Media Player.

A existência do win32codecs e outros pacotes semelhantes são um indício interessante

de novos tempos. Hoje em dia, existem projetos abertos para suporte a quase todo tipo

de formato e, no caso dos formatos mais secretos ou complicados, é possível utilizar a

biblioteca do Wine para fazer com que a biblioteca ou o próprio programa for Windows

rode no Linux. Isto pode ser feito diretamente, instalando o Wine na sua máquina ou, de

uma forma mais refinada, pelos próprios desenvolvedores.

O Kaffeine pode ser encontrado na maioria das distribuições que utilizam o KDE. O

kaffeineplugin é um programa relativamente pequeno, que apenas direciona os arquivos

para o Kaffeine propriamente dito. Em algumas distribuições, o plugin é incluído dentro

do próprio pacote "kaffeine" e em outras (como no Debian) temos dois pacotes

separados, com o plugin oferecido na forma do pacote "kaffeine-mozilla", que precisa

ser instalado separadamente.

Com ele instalado, você encontrará o arquivo "kaffeineplugin.so" (junto com outros

dois arquivos) na pasta "/usr/lib/mozilla/plugins/"; eles são colocados nesta pasta

mesmo que o Mozilla não esteja instalado no sistema.

Page 272: Línux entendo o sistema[JP.Conteudo]

Ao usar outro navegador, como o Firefox, você deve criar um link simbólico dentro da

pasta de plugins do navegador, apontando para a pasta "/usr/lib/mozilla/plugins/" (assim

como no caso do Java) e não tentar copiar o arquivo diretamente. Para criar o link, use o

comando abaixo, prestando atenção na hora de indicar a pasta onde o Firefox está

instalado. Em caso de dúvida, confirme a localização dos arquivos usando o comando

"locate":

# ln -s /usr/lib/mozilla/plugins/kaffeineplugin.so \

/usr/lib/mozilla-firefox/plugins

Uma observação importante é que ao instalar simultaneamente o plugin do RealPlayer e

o Kaffeineplugin, o Kaffeineplugin será o default, pois os plugins são inicializados em

ordem alfabética e o K vem antes do R. Isto faz com que o Kaffeineplugin passe a

sempre tentar abrir os arquivos .RAM (aos quais ele não tem suporte), ao invés de

deixar a tarefa para o RealPlayer.

A solução neste caso é renomear o link para o Kaffeineplugin, de forma que o nome

comece com outra letra. Desta forma, o Firefox primeiro consulta o RealPlayer (que se

oferece para abrir apenas arquivos do seu próprio formato) e consulta o Kaffeineplugin

no caso de outros formatos de arquivos. Um "z" no início no nome resolve o problema.

Para isso, basta remover o link antigo e criar outro, indicando o novo nome do arquivo:

# ln -s /usr/lib/mozilla/plugins/kaffeineplugin.so \

/usr/lib/mozilla-firefox/plugins/zkaffeineplugin.so

Ao abrir uma página com vídeo, o Kaffeine Starter entra em ação, carregando o vídeo e

abrindo uma janela separada do Kaffeine Player, que se encarrega de exibir o vídeo.

O grande problema com os formatos de streaming são as chaves de encriptação usadas

para dificultar a cópia dos arquivos. O Kaffeine suporta muitas destas chaves, o que

permite assistir à maior parte dos vídeos.

Page 273: Línux entendo o sistema[JP.Conteudo]

Em muitos casos, os vídeos são linkados dentro da página usando tags ActiveX que só

funcionam no Internet Explorer (e vão continuar assim, pois o ActiveX é uma

tecnologia insegura e que caminha para se tornar obsoleta). Neste caso é uma opção do

webdesigner, que optou por desenvolver uma página compatível apenas com um

navegador. Você pode retribuir o favor simplesmente acessando outra página ;).

Konqueror

O Konqueror é o browser nativo do KDE. Além de navegador, o Konqueror também

serve como gerenciador de arquivos e pode ser expandido com novas funções. Na

verdade, o Konqueror em si é composto por apenas algumas poucas milhares de linhas

de código, responsáveis por criar a interface. Todas as funções usadas nele fazem parte

do Kpart, uma biblioteca de componentes que pode ser usada em qualquer aplicativo do

KDE, composta de coisas como funções para abrir menus, renderizar páginas html e

assim por diante.

O Konqueror é intimamente relacionado ao KDE e as novas versões do navegador

acompanham as novas versões do ambiente. É praticamente impossível atualizar o

Konqueror sem atualizar junto as bibliotecas base do KDE e a maior parte do ambiente,

por isso ele é o tipo de aplicativo que já vem pré-instalado e você não atualiza com tanta

freqüência. Todas as distribuições que trazem o KDE, instalam o Konqueror

automaticamente.

Nas primeiras versões o Konqueror era bastante deficiente na parte de java-script e

suporte a plugins, mas isso foi gradualmente mudando e ele tornou-se um browser

bastante maduro a partir do KDE 3.0. Uma curiosidade é que o Safari (o navegador do

MacOS X) é baseado no código fonte do Konqueror.

A partir do KDE 3.1 o Konqueror adquiriu também o suporte a tabs (como no Firefox) e

um corretor ortográfico integrado, que corrige suas barbeiragens ao postar num fórum

ou blog.

A configuração dos plugins vai em "Configurações > Configurar Konqueror > Plugins".

Aqui você configura as pastas onde o Konqueror busca por plugins. Ao invés de exigir

uma configuração específica, o Konqueror é desenvolvido para ser compatível com os

plugins do Firefox ou Mozilla; por padrão ele já vem configurado para procurar nas

pastas de plugins dos demais navegadores.

Ou seja, ao instalar o Flash ou Java no Firefox ou Mozilla, o plugin também será

detectado pelo Konqueror. Ele procura por novos plugins durante a abertura do KDE ou

ao usar o botão de procura manual.

No caso de distribuições que trazem apenas o Konqueror (como o Slax), sem o Firefox,

você pode instalar os plug-ins seguindo as receitas anteriores copiando os arquivos ou

criando os links dentro da pasta "/usr/local/netscape/plugins/" ou qualquer outra incluída

na lista do Konqueror.

Como gerenciador de arquivos, o Konqueror também oferece muitos recursos. Se você,

por exemplo, tem um monte de imagens dentro de uma pasta e quer fazer um álbum de

fotos, vá em "Ferramentas > Criar Álbum de Imagens".

Page 274: Línux entendo o sistema[JP.Conteudo]

Clicando com o botão direito sobre um arquivo e indo em "Ações", você abre um menu

de contexto com opções relacionadas ao tipo de arquivo, como gravar um CD, mandar

por e-mail, etc. No caso de uma imagem, aparecem opções para redimensionar, girar,

converter para jpg, gif ou png, entre outras opções.

Opera

O Opera é um navegador leve, independente do KDE e Gnome, o que o torna a opção

preferida de muita gente que usa micros antigos. Ele consegue ser um pouco mais

rápido que o Firefox no geral e oferece um bom suporte a páginas problemáticas,

desenvolvidas especificamente para o IE, ou com código mal escrito. Outro ponto forte

é que ele oferece uma quantidade muito grande de opções de personalização, desde

opções para não carregar imagens, ou exibir apenas imagens incluídas no cache do

navegador (útil quando a conexão estiver lenta), até uma opção de exibir a página como

ela seria vista num palmtop (útil para webmasters que querem oferecer esta opção).

Inicialmente, o Opera era um aplicativo comercial, depois passou a ser oferecida uma

versão gratuita, que exibia um banner de propaganda e, recentemente ele passou a ser

inteiramente gratuito (embora sem ter o código aberto). Você pode baixar a versão mais

recente no http://opera.com/download/.

A empresa faz um trabalho surpreendente de empacotamento, oferecendo pacotes

específicos para várias distribuições (no caso do Kurumin 5.1, por exemplo, você

baixaria o pacote para o Debian Etch) e também um par de pacotes genéricos (.rmp e

.tar.gz), que podem ser usados nas poucas distribuições que não são diretamente

suportadas.

Page 275: Línux entendo o sistema[JP.Conteudo]

NVU

Junto com o OpenOffice Writer (usado com a opção de salvar em html), o NVU é um

dos melhores editores html visuais. A longo prazo, a idéia é concorrer com o

Dreamweaver, que apesar das deficiências é um dos programas mais usados. A

Macromedia já anunciou que está trabalhando numa versão nativa do Dreamweaver,

portada através da libwine, mas as versões atuais já rodam de forma aceitável no Linux,

através do Wine ou do CrossOver Office.

O NVU está disponível no apt-get a partir do Debian Etch (ou seja, está disponível

apenas ao utilizar o Testing). Para instalá-lo, use o "apt-get install nvu". Também existe

a opção de baixar um pacote genérico, que funciona em várias distribuições no:

http://www.nvu.com/.

Page 276: Línux entendo o sistema[JP.Conteudo]

E-Mail

Hoje em dia, a maioria das pessoas simplesmente usa algum webmail, que pode ser

acessado de qualquer lugar, ao invés de um cliente dedicado, como nos velhos tempos.

Um dos fatores que apressou esta mudança foram os inúmeros problemas de segurança

no Outlook e Outlook Express. Felizmente, a Microsoft ainda não resolveu desenvolver

uma versão Linux da dupla, de forma que você pode ter um ambiente muito mais seguro

para ler seus e-mails :). Alguns dos leitores mais usados no Linux são:

Mozilla Thunderbird

O Thunderbird é o primo-irmão do Firefox, que surgiu do desmembramento do Mozilla.

O principal diferencial dele em relação a outros programas é um poderoso filtro anti-

spam, que aprende durante o uso, tornando-se cada vez mais preciso. Para ativá-lo,

marque a opção "Ferramentas > Anti-Spam > Filtro Adaptável > Identificar Spam ao

receber mensagens desta conta". Na aba "Opções" você pode configurar o que fazer

com as mensagens marcadas como spam; o padrão é move-las para a pasta "Spam".

O filtro é desenvolvido de forma a preservar os e-mails úteis, excluindo mensagens

apenas quando houver certeza. Depois de ativar o filtro, você precisa "treiná-lo",

indicando o que é e o que não é spam, de forma que ele identifique um padrão e passe a

agir de forma autônoma.

Sempre que receber um spam, clique com o botão direito sobre a mensagem e use a

opção "Marcar > Como Spam" ou pressione a tecla "J". Marque também as mensagens

importantes como não Spam, pressionando "Shift+J".

Page 277: Línux entendo o sistema[JP.Conteudo]

Na aba "Ferramentas > Anti-Spam > Opções" você pode configurar o que fazer com as

mensagens marcadas como spam, onde o padrão é move-las para a pasta "Spam" e

deletá-las depois de alguns dias. É importante que nos primeiros dias você cheque as

mensagens movidas para a pasta e marque manualmente como não spam qualquer

mensagem boa classificada de forma equivocada pelo filtro.

Depois de alguns dias de treinamento, o filtro passará a eliminar o grosso dos spams e,

depois de algumas semanas, passa a eliminar quase tudo. Quanto mais você o treina,

mais ele se torna apurado.

O Thunderbird guard os e-mails e preferências dentro da pasta ".mozilla-thunderbird",

dentro do seu diretório home. Basta conservar esta pasta ao reinstalar o sistema, e seus

e-mails e filtros continuarão intactos.

Por ser um programa bastante popular, é possível encontrar o Thunderbird na maioria

das distribuições. Nas derivadas do Debian, você pode instalá-lo via apt-get:

# apt-get install mozilla-thunderbird

# apt-get install mozilla-thunderbird-locale-pt-br

Você pode também usar a versão disponível no: http://www.mozilla.org.br/. Esta versão

não precisa ser instalada, basta descompactar a pasta em qualquer diretório (você pode

inclusive instalar dentro do seu diretório home, sem nem precisar usar a conta de root) e

executar o comando "./thunderbird" dentro da pasta.

Uma observação importante é que esta versão armazena os e-mails dentro da pasta

".thunderbird" e não ".mozilla-thunderbird", como na versão disponível no apt-get. Isso

causa uma certa confusão ao trocar de uma versão para outra, pois um não consegue

encontrar as pastas de e-mails criadas no outro. A solução mais simples neste caso é

simplesmente fazer um link. Se seus e-mails estão na pasta ".mozilla-thunderbird" e

você quer usar a versão do mozilla.org.br, que usa a pasta ".thunderbird", use o

comando:

$ ln -s ~/.mozilla-thunderbird ~/.thunderbird

Crie o link, não renomeie simplesmente a pasta, pois na configuração de cada conta vai

o caminho completo até a pasta onde estão os arquivos. Ao renomear a pasta, o

Thunderbird reconhece o profile, mas não consegue encontrar os e-mails. Criando o

link, tudo funciona perfeitamente.

Evolution

Enquanto o Thunderbird é mais voltado para o público doméstico, o Evolution é um

cliente de e-mails voltado para o público corporativo, incluindo também funções de

agenda, suporte a Palms e, principalmente, suporte a LDAP e servidores MS Exchange,

o que permite a integração com a estrutura de e-mail e gerenciamento de tarefas usada

em muitas empresas.

Para ativar o suporte a servidores MS Exchange, você deve instalar também o pacote

"ximian-connector", disponível no http://www.gnome.org/projects/evolution/. Ao usar o

Debian Etch (testing), você pode instalá-lo junto com o Evolution via apt-get: "apt-get

install evolution ximian-connector".

Page 278: Línux entendo o sistema[JP.Conteudo]

Kmail e Sylpheed

Tanto o Thunderbird quanto o Evolution não são exatamente programas leves. Ao usar

o KDE, uma opção de programa mais simples e leve é o Kmail, que pode ser instalado

via apt-get. Dependendo da distribuição, ele está disponível na forma do pacote "kmail",

ou como um componente incluído no pacote "kdepim".

Um dos pontos fortes do Kmail é a preocupação com a segurança. Em geral, todos os

clientes de e-mail for Linux são bastante seguros, mas a equipe do Kmail se esforça para

ficar um pouco à frente neste quesito. Outro ponto forte é que ele se integra bem com

outros aplicativos do KDE, como o Korganizer (agenda de compromissos), Konqueror e

até mesmo com o Knotes, que permite criar notas rápidas. O Kmail faz par com o

Knode, um leitor de news.

Prosseguindo na categoria dos pesos leves, encontramos também o Sylpheed, cujo

principal objetivo é ser um leitor de e-mails leve, com uma interface simples de usar.

Embora não tenha tantos recursos quanto o Evolution, não seja integrado a outros

aplicativos do KDE, como o Kmail, nem conte com um filtro anti-spam tão apurado

quanto o do Thunderbird, ele é uma boa opção para quem usa o Fluxbox ou outra

interface leve num micro mais antigo. Já cheguei a usar o Sylpheed em conjunto com o

IceWM num 486 com 16 MB de RAM :).

Page 279: Línux entendo o sistema[JP.Conteudo]

Mensagem e Voz

Me lembro que em 98, quando estava dando minhas primeiras cabeçadas no Linux, a

única opção para usar o ICQ era uma versão em Java, pesada e que travava de vez em

quando.

Felizmente estes tempos passaram. Hoje em dia, praticamente usa algum protocolo de

mensagem instantânea. Em número de usuários, o ICQ e o MSN dominam, mas existem

outros muito usados como o AIM e mais recentemente o Jabber, que é uma tentativa de

criar um protocolo de mensagem instantânea open source.

Devem existir hoje em dia de 100 a 200 clientes diferentes, que variam em recursos,

mas, para poupar tempo, vou comentar apenas os relevantes.

Gaim

O Gaim é um dos mensageiros mais antigos. As primeiras versões tinham poucos

recursos e eram baseadas no GTK 1.x, o que também não ajudava no visual. Mas, a

partir da versão 0.6, o Gaim foi portado para o GTK 2, ganhou muitos novos recursos e

passou a seguir o human interface guidelines, um padrão internacional de usabilidade.

Tudo isso contribuiu para quem o Gaim se tornasse um dos mensageiros mais usados no

Linux, adotado por padrão em diversas distribuições.

A interface do novo Gaim é bem simples e intuitiva para novos usuários. A tela de

abertura tem apenas três opções: Contas, Preferências e Conectar.

A tela de adicionar uma nova conta é novamente bem simples, você apenas escolhe o

protocolo que será usado, usuário, senha e apelido. São suportados o ICQ, AIM, MSN,

Yahoo, IRC e Jabber, além de protocolos mais incomuns como o TOC, Zephyr, Gadu-

Gadu e até o protocolo de conversação usado pelo antigo Napster. Uma das grandes

vantagens do Gaim é que você pode configurar várias contas e usar todas

simultaneamente, uma solução para quem usa ICQ, MSN e outros protocolos ao mesmo

tempo. A página do projeto é a http://gaim.sourceforge.net.

Page 280: Línux entendo o sistema[JP.Conteudo]

Kopete

O Gaim e o Kopete são similares em muitos aspectos, ambos suportam o uso de vários

protocolos simultaneamente e incluem muitas funções. A principal diferença é que o

Kopete é baseado nas bibliotecas do KDE. Além das diferenças estéticas, o Kopete

oferece mais opções de personalização, embora seja ao mesmo tempo um pouco menos

simples de usar.

Uma observação importante, que se aplica tanto ao Kopete quanto ao Gaim, é que é

sempre recomendável manter uma versão recente instalada. Os protocolos de mensagem

usados pelo ICQ e (principalmente) pelo MSN mudam com uma certa freqüência,

fazendo com que versões antigas dos programas comecem a apresentar erros estranhos,

ou simplesmente deixem de conectar na rede quando passa a ser usada uma nova versão

do protocolo.

Por exemplo, a partir de 15/10/2003 a Microsoft tornou mandatário o uso do MSN 9, a

nova versão do protocolo do MSN, que havia sido lançada poucos meses antes. Depois

desta data, mesmo os usuários Windows teriam que atualizar o programa. O novo

protocolo é fechado, não documentado e foram empregadas várias técnicas para

dificultar o uso de engenharia reversa.

Mesmo assim, em 09/09/2003, mais de um mês antes da mudança, já estava disponível

o Kopete 0.7.2, compatível com o novo protocolo. Uma nova mudança ocorreu em

Maio de 2005, novamente precedida pelo lançamento de uma versão atualizada do

Kopete (o 0.10.1), compatível com o novo protocolo.

Para instalar o Kopete use o "apt-get install kopete" (no Debian) ou "urpmi kopete" (no

Mandriva). Muitas distribuições já o trazem instalado por padrão.

Page 281: Línux entendo o sistema[JP.Conteudo]

Mercury

O Mercury é um cliente MSN escrito em Java, disponível no: http://www.mercury.to/.

Ele se tornou famoso por ser o primeiro a oferecer suporte a webcam no MSN, embora

o suporte ainda seja incipiente. Outro fator interessante é que o visual e as funções são

muito similares ao MSN da Microsoft, incluindo o suporte a winks animados e outras

frescuras. Ele é provavelmente o cliente mais parecido com o Messenger que existe

atualmente no Linux.

A desvantagem é justamente o fato de ele ser escrito em Java, o que acabou tornando o

programa bem maior e mais pesado. Ele não é definitivamente um programa adequado

para ser usado em máquinas antigas.

No site, existem duas versões Linux, a "With JVM" e a "Without JVM". A primeira é

bem maior, mas já vem com o Java incluído, fazendo com que a instalação seja menos

passível de problemas. Basta descompactar o arquivo e executar o instalador que está

dentro. Para usar o segundo arquivo, você deve ter o Java da Sun instalado. Veja a dica

sobre a instalação do Java no tópico sobre a instalação de plugins no Firefox.

Para instalar o suporte a webcams, você precisa instalar o JMF, um módulo adicional.

Você encontra instruções dentro do Wiki, disponível no: http://www.mercury.to/.

Para o Mercury 1709, o pacote com os arquivos do JMF pode ser baixado via bittorrent,

através do: http://download.mercury.to/torrents/JMF.torrent.

Depois de descompactar o arquivo, copie os arquivos "VidConf-libs.jar" e "JavaLibs-

linux.jar" para a pasta "lib/", dentro do diretório de instalação do Mercury e

descompacte o arquivo "NativeLibs-linux.zip" na pasta "jni/linux/jmf" (novamente

dentro do diretório de instalação do Mercury). Esta pasta não existe originalmente, você

deve criá-la manualmente.

Copie também o arquivo "libjmutil.so" para dentro da pasta "lib/i386/" no diretório de

instalação do Java. Ele varia de distribuição para distribuição, no Kurumin 5.1, por

exemplo, é a pasta "/usr/lib/sun-j2se5.0-jre/lib/i386/".

Sim

O Sim é outra opção interessante de mensageiro. Além de ser mais leve que o Kopete,

existem vários detalhes na interface que o deixam mais confortável de usar.

Por exemplo, ao receber uma mensagem o ICQ da Mirabillis simplesmente toca um

som e o ícone ao lado do relógio fica piscando. Você só sabe quem mandou a

mensagem ao abrir a janela do ICQ. No Kopete é mostrado um balãozinho que mostra o

remetente, mas ele é um pouco irritante por ficar esperando por um click do mouse.

No Sim é mostrada uma mensagem de texto no lado esquerdo da tela que some depois

de alguns segundos. Ela cumpre o papel de avisar sobre quem mandou a mensagem,

mas de uma forma que não perturba caso você esteja ocupado e resolva ignorar o aviso.

A equipe do Sim tem feito um trabalho muito legal em implementar as sugestões, o que

tem atraído uma legião de usuários fiéis. O Sim oferece suporte ao ICQ, MSN e outros

Page 282: Línux entendo o sistema[JP.Conteudo]

protocolos. A principal deficiência é que você só pode usar um de cada vez. A página é:

http://sim-icq.sourceforge.net.

Amsn

O Amsn é um "clone" do MSN Messenger escrito em TK, uma biblioteca gráfica que é

muito usada em scripts, mas que não oferece tantos recursos quanto o Qt e o GTK2 e

não possui um visual muito bonito.

Levando em conta estas limitações, o Amsn surpreende. Em primeiro lugar porque ele é

um programa leve que "simplesmente funciona" sem muitas frescuras que fiquem

consumindo memória. Os pontos negativos são o número relativamente grande de bugs

e problemas em geral (uma parte do próprio Amsn, outros da biblioteca Tk, que ele

utiliza ao extremo) e a falta de suporte à suavização de fontes e outros efeitos visuais,

novamente limitações da biblioteca usada.

O visual default do Amsn é um pouco estranho, mas você pode ajustar as fontes e cores

a gosto nas preferências do programa. Você pode instalá-lo via apt-get (apt-get install

amsn). Existe ainda uma versão genérica, disponível no http://amsn.sourceforge.net, que

pode ser usada em diversas distribuições. Basta descompactar o arquivo e executar o

"amsn" dentro da pasta criada.

Skype

Embora seja um programa proprietário, o Skype é bastante popular também no Linux.

Não é comum encontrá-lo pré-instalado nas distribuições (com exceção do Kurumin),

mas você pode baixá-lo no: http://skype.com/products/skype/linux/.

Assim como no caso do Opera, estão disponíveis pacotes para várias distribuições,

incluindo o Debian, Mandriva, Fedora e SuSE. Estão disponíveis também dois pacotes

genéricos, que podem ser usados em caso de problemas de instalação com os principais,

Page 283: Línux entendo o sistema[JP.Conteudo]

ou no caso de distribuições que não estejam na lista, como o Slackware, Gentoo e

outros.

O "Dynamic binary tar.bz2" é um arquivo compactado, onde você só precisa

descompactar e executar o programa de dentro da pasta. Você pode inclusive

descompactá-lo dentro do seu diretório home e executar o programa a partir daí, sem

nem precisar usar a senha de root. Para funcionar, o Skype precisa da biblioteca Qt, de

forma que você precisa ter o KDE, ou pelo menos as bibliotecas base do KDE

instaladas. A segunda opção, menos passível de problemas, é o "Static binary tar.bz2

with Qt 3.2 compiled in", um arquivo um pouco maior, que contém uma cópia interna

das bibliotecas necessárias. Esta é a opção "à prova de falhas", que realmente vai

funcionar em praticamente qualquer ambiente.

Naturalmente, além do Skype existem vários outros programas de VoIP for Linux.

Outro bastante usado é o GnomeMeeting, que também suporta o uso de webcam. Ele

utiliza o protocolo do antigo Netmeeting da Microsoft (sem compatibilidade com o

padrão usado pelo MSN), permitindo que você faça contato tanto com outros amigos

usando o GnomeMeeting, quanto com clientes Windows usando o Netmeeting. Você

pode instalar o GnomeMeeting via apt-get (apt-get install gnomemeeting). A página

oficial é a http://www.gnomemeeting.org/.

O Asterix é uma solução profissional, que permite transformar um PC comum em uma

central PBX, capaz de realizar tanto chamadas via internet, quanto através de uma linha

telefônica convencional (usando uma placa adaptadora). Uma vez configurada a central,

você pode fazer chamadas a partir de qualquer um dos micros da rede local (usando o

GoPhone, GnomeMeeting ou outro dos clientes disponíveis) para micros em outras

redes, ou mesmo para telefones fixos ou celulares. A idéia neste caso é que a chamada

seja feita via internet até um outro servidor Asterix localizado na cidade-destino e

deixar que ele realize uma chamada local para o telefone, economizando o interurbano.

O Asterix está longe de ser uma solução fácil de usar, mas está crescendo rapidamente,

adotado na infra-estrutura de comunicação de inúmeras empresas. Você pode encontrar

mais informações no http://www.asterisk.org.

Vídeo, som, CDs e DVDs

O suporte a formatos de vídeo e áudio já foi um problema no Linux. Mas, esta foi a área

que progrediu mais rápido nos últimos dois ou três anos, chegando a um ponto em que

muitos consideram mais fácil assistir a vídeos de formatos variados no Linux do que no

Windows.

Kaffeine

O Kaffeine é o player de mídia padrão do KDE, capaz de exibir vídeos em diversos

formatos, música, DVDs e até TV, caso você tenha uma placa de captura. O Kaffeine

faz parte da família de players baseados na libxine, uma biblioteca compartilhada por

muitos programas. O primeiro foi o próprio Xine e em seguida vieram muitos outros,

como o gXine, Toten e outros. Estes programas variam em recursos e opções de

interface, mas o nível de compatibilidade com arquivos é basicamente o mesmo.

Page 284: Línux entendo o sistema[JP.Conteudo]

A interface do Kaffeine é bem construída, com acesso fácil às funções e suporte a

legendas em filmes em Divx. Ao abrir o filme, ele abre a legenda automaticamente

(caso os dois arquivos tenham um nome parecido), ou pede sua confirmação, caso exista

mais de um. Existe também um recurso de playlist integrado ao Konqueror: clique com

o botão direito sobre o arquivo e você tem a opção de incluí-lo na playlist do Kaffeine.

Também funciona se você simplesmente arrastar o arquivo para dentro da janela da

playlist.

Um pequeno extra é que, ao abrir um MP3 ou outro formato de áudio, ele ativa um

plug-in de visualização, daqueles hipnóticos, algo parecido com o que o Media Player

do Windows faz.

Para ter um suporte completo a formatos de vídeo, você precisa ter instalado o pacote

w32codecs e para ter suporte a DVDs protegidos, o pacote libdvdcss2. Estes dois

pacotes são um pouco problemáticos do ponto de vista legal, pois o w32codecs é

composto por um conjunto de dlls do Windows, retiradas do Windows Media Player e

outros programas e executadas no Linux através da biblioteca do Wine (incluída no

pacote). O libdvdcss2 quebra o sistema de encriptação dos DVDs e é proibido nos EUA

(embora seja perfeitamente legal no Brasil e em outros países). Estas restrições fazem

com que ambos os pacotes não sejam incluídos diretamente nas distribuições, embora

você possa instalá-los manualmente sem muita dificuldade.

No Debian, adicione as linhas abaixo no arquivo "/etc/apt/sources.list" e rode o

comando "apt-get update":

deb ftp://ftp.nerim.net/debian-marillat/ sarge main

deb ftp://ftp.nerim.net/debian-marillat/ etch main

Em seguida, instale os dois pacotes usando o comando "apt-get install w32codecs

libdvdcss2". No Kurumin, as linhas já vêm adicionadas no arquivo sources.list por

padrão, você só precisa instalar os pacotes ou usar o ícone mágico para instalar mais

suporte de vídeos.

Este repositório possui vários mirrors. Se o endereço principal estiver fora do ar, você

pode encontrar outros pesquisando por "debian-marillat" no Google. Um exemplo é o:

deb http://www.las.ic.unicamp.br/pub/debian.d/debian-marillat/ sarge main

deb http://www.las.ic.unicamp.br/pub/debian.d/debian-marillat/ etch main

O Kaffeine possui também um plugin para o Firefox, o "kaffeineplugin", que permite

assistir vídeos via streaming, como vimos no tópico sobre o Firefox.

Mplayer

O Mplayer é famoso por ter sido o primeiro player de vídeo "completo" para Linux,

capaz de exibir vídeos na maioria dos formatos e DVDs protegidos. Muito do que existe

hoje na área de suporte a formatos de vídeo e multimídia em geral, no Linux, surgiu

graças ao trabalho feito no Mplayer.

Ainda hoje ele é um dos players mais usados, embora não venha incluído por padrão na

maioria das distribuições, que preferem usar o Kaffeine, Totem e outros players da

família do Xine. O Kurumin traz o Mplayer pré-instalado, de forma que as instruções de

Page 285: Línux entendo o sistema[JP.Conteudo]

instalação se aplicam apenas a outras distribuições derivadas do Debian, onde seja

necessário instalar manualmente.

Um dos grandes atrativos do Mplayer é que ele oferece um excelente suporte a vídeos

danificados ou incompletos. Isto é muito útil naqueles casos em que você baixa um

Divx pela metade, e quer assistir o que já baixou, sem ter que achar o resto do arquivo.

O Mplayer é esperto o suficiente para reconstruir o mapa de frames do arquivo (que

normalmente fica no final) e exibir o vídeo normalmente. O índice de sucesso também é

muito bom com vídeos danificados, ele consegue "pular" as partes defeituosas e exibir o

restante do vídeo, geralmente sem muitos problemas. Ele também é eficiente na hora de

assistir vídeos em formatos exóticos, para os quais não existe um codec adequado

instalado. Eles simplesmente tenta exibir usando o codec mais próximo, muitas vezes

com bons resultados. A regra é sempre "fazer o possível" para exibir o vídeo, não

importa o quão estranho seja o arquivo.

O Mplayer está disponível no repositório Marillat, o mesmo que contém os pacotes

w32codecs e libdvdcss. Depois de adicionar as duas linhas no sources.list, você pode

instalar o mplayer via apt-get, com o comando "apt-get install mplayer-586".

O comando para abrir a interface gráfica do Mplayer é "gmplayer". Se você estiver

usando o KDE, clique com o botão direito sobre os arquivos dos vídeos, selecione a

opção "abrir com", escreva "gmplayer" no espaço para o comando e marque a opção

"lembrar da associação de aplicativo para este tipo de arquivo". Assim, os vídeos

passarão a ser abertos automaticamente no Mplayer quando você clicar sobre eles.

Clique com o botão direito sobre a janela principal e você verá as opções para abrir

vídeos, legendas, DVDs e VCDs:

Page 286: Línux entendo o sistema[JP.Conteudo]

Acessando o menu "Preferences", você tem acesso a mais algumas opções importantes.

No menu vídeo você escolhe o driver de vídeo que será usado. O default é o X11, que

funciona em todas as placas de vídeo e possui uma qualidade de imagem muito boa. O

problema é que o X11 é todo processado via software, por isso também é o mais lento,

principalmente ao ativar o modo de tela cheia.

A segunda opção é o xv, que já utiliza a interpolação via hardware disponível na grande

maioria das placas modernas. Ele já consegue exibir vídeos em tela cheia sem perda de

desempenho, mas a qualidade da imagem não é a mesma, principalmente na

temperatura de cor. Os resultados variam de acordo com o modelo da placa de vídeo.

A terceira opção é o xvidix que também oferece aceleração via hardware e uma

qualidade de imagem semelhante à do X11, mas em compensação é compatível com

menos placas. Finalmente, temos o xmga, o driver otimizado para placas Matrox G200,

G400, G450 e G550 e o dxr3, que ativa o suporte a placas dxr3, vendidas em muitos

kit's de DVD da Creative.

A opção "Enable Double Buffering" é importante para a qualidade de exibição, pois

permite que o software processe simultaneamente dois quadros ao invés de um,

permitindo que, enquanto o primeiro quadro está sendo exibido, o seguinte já esteja

pronto para ser exibido, evitando delays e perda de frames. Esta opção exige mais

processamento, por isso pode ser desabilitada para melhorar o desempenho em micros

antigos.

O "Enable Frame Dropping" permite assistir vídeos em alta resolução mesmo em

máquinas lentas. O software simplesmente vai descartando alguns frames, de acordo

com o processamento disponível. O vídeo fica pulado, mas pelo menos você consegue

assistir.

Page 287: Línux entendo o sistema[JP.Conteudo]

No Kaffeine, a configuração do driver de vídeo que será usado, entre outras opções

relacionadas à decodificação e exibição dos vídeos vai no "Configurações > Parâmetros

do Xine".

Page 288: Línux entendo o sistema[JP.Conteudo]

Na aba Audio você pode alterar o driver de audio usado. O Alsa é o que oferece melhor

qualidade, mas só vai funcionar caso a sua placa de som seja suportada pelos drivers

Alsa e eles estejam ativados. As outras opções podem ser testadas em caso de

problemas.

Na aba Misc você encontra mais algumas opções que podem melhorar a qualidade ou

desempenho do vídeo. Se você tem um processador muito rápido, ative o "Enable

postprocessing", assim os ciclos livres serão utilizados para melhorar a qualidade da

renderização dos vídeos em Divx.

Ao assistir vídeos a partir de um CD, DVD ou um compartilhamento de rede, aumente o

valor da opção Cache. Ela permite determinar a quantidade de vídeo já processado que

será armazenado na memória. Quanto maior o valor, maior será a "reserva" a ser exibida

em casos de interrupções temporárias no fornecimento de dados. O cache grande vai ser

muito útil ao assistir um filme gravado num CD riscado por exemplo.

Os valores do DVD device e CD-ROM device precisam estar corretos, caso contrário

você não conseguirá assistir nada a partir deles. Em caso de problemas com os links

padrão, experimente fornecer diretamente o device do drive, como em: "/dev/hdc"

(mestre da segunda IDE) ou "/dev/hdd" (slave da segunda IDE).

Os leitores e gravadores de CD USB também são detectados como se fossem

dispositivos SCSI, por isso também aparecem como "/dev/sr0" ou "/dev/sr1". Em geral

eles são detectados automaticamente pelo hotplug, encontrado em praticamente todas as

distribuições atuais. Você precisa apenas plugar o drive e aguardar alguns instantes.

Uma curiosidade é que existe também a opção de chamar o Mplayer via linha de

comando, mesmo a partir de um terminal de texto puro, usando o driver svga, frame-

buffer ou mesmo exibindo o vídeo usando caracteres de modo texto. Algumas mini-

distribuições, como por exemplo o emovix, utilizam estas opções para exibirem vídeos

mesmo sem ter o X instalado. Alguns exemplos de comandos para assistir os vídeos a

partir do modo texto são o "mplayer -vo svga filme.avi" (usa o driver svga, que

funciona na maioria das placas, exibindo o filme em tela cheia) "mplayer -vo vesa

filme.avi" (que funciona em algumas placas onde o svga não roda), "mplayer -vo

fbdev filme.avi" (usa frame-buffer, só funciona se o frame buffer estiver ativo na

configuração do lilo). Abra o arquivo /etc/lilo.conf e procure pela linha "vga=" deixe em

"vga=788" para 800x600 ou "vga=791" para 1024x768) e "mplayer -vo aa filme.avi"

(a mais curiosa de todas exibe o filme usando caracteres de texto. Dá um efeito

interessante, mas a qualidade não é lá essas coisas. O legal é que funciona mesmo

usando um monitor CGA ;).

No manual você encontra as opções para ativar legendas, assistir DVDs, VCDs,

frameskipping, etc. ao usar o player de modo texto. São realmente muitas opções, você

pode dar uma garimpada no manual: man mplayer.

K3B

Por ser bastante intuitivo e possuir muitos recursos, o K3B se tornou rapidamente uma

espécie de programa padrão para gravação de CDs e DVDs no Linux. Ele oferece uma

interface bastante prática, com todas as opções para gravar CDs e DVDs de dados,

copiar CDs (incluindo uma função para clonar CDs e DVDs), ripar CDs de música,

Page 289: Línux entendo o sistema[JP.Conteudo]

ripar DVDs, converter músicas e vídeos em diversos formatos, limpar CDs regraváveis

e até mesmo gravar CDs mistos, onde são misturadas faixas de áudio e dados, como nos

CDs de alguns games. A página oficial é a: http://k3b.org.

A interface lembra a do Nero, com as funções bem acessíveis. O ponto forte do K3B é

que ele tenta ser o mais intuitivo possível. Por exemplo, ao criar um CD de música,

você vai arrastando os arquivos de áudio para a janela de gravação. O K3B se encarrega

de converter arquivos em .mp3 ou .ogg para o formato nativo do CD automaticamente,

durante e gravação.

Existe funções do K3B incluídas no menu de contexto do KDE. Ao clicar com o botão

direito sobre uma pasta ou arquivo, aparece a opção de gravá-los num CD de dados,

dentro do menu "ações":

Page 290: Línux entendo o sistema[JP.Conteudo]

Caso o K3B exiba um erro, dizendo que não foi possível encontrar um driver cdrdao,

acesse as preferências em Configurações > Configurar K3B... > Dispositivos e altere o

"Driver cdrdao" para Generic-MMC (compatível com a maioria dos drivers) ou um

adequado ao seu gravador:

O K3B é na verdade uma interface para diversos programas de linha de comando, que

ficam encarregados do trabalho pesado. Caso você note a falta de alguma

funcionalidade no K3B, verifique se todos estes pacotes estão instalados: "cdparanoia"

(necessário para ripar e copiar CDs de audio), "transcode" (necessário para ripar

DVDs, salvando os filmes em Divx), "libvorbisenc2" (biblioteca necessária para criar

CDs de música a partir de arquivos .ogg), "vcdimager" (necessário para criar VCDs),

"normalize" (permite normalizar o volume das faixas ao gravar CDs de música), "sox"

(esta é uma biblioteca que permite converter arquivos de áudio, necessária para criar

CDs de áudio a partir de arquivos .mp3 ou .ogg), "liblame0" (necessária para gravar

CDs de música a partir de arquivos .mp3), "libmusicbrainz4c2" (outra biblioteca, que

permite que o K3B inclua corretamente as informações sobre as faixas (CD-Text) ao

criar CDs de música a partir de arquivos .mp3 ou .ogg) e emovix (o K3B inclui uma

opção para criar CDs ou DVDs bootáveis, contendo músicas ou filmes usando o

emovix; veja mais detalhes sobre como instalá-lo a seguir).

Uma opção mais antiga de gravação de CDs é o Xcdroast, um programa bem mais

simples, com menos funções que o K3B, mas por outro lado bastante robusto. Ele pode

ser instalado via apt-get (apt-get install xcdroast), ou encontrado no

http://www.xcdroast.org/.

Page 291: Línux entendo o sistema[JP.Conteudo]

eMovix

Muitos CDs com filmes em Divx que tenho visto ultimamente estão vindo com os

executáveis de algum player ou os codecs de alguma versão do Divx. Muitas pessoas

não possuem estes arquivos instalados, e não saberiam como exibir o filme sem eles.

O Movix é uma mini distribuição que permite resolver este problema. Ao invés de ficar

adicionando executáveis no CD, você pode transformá-lo num CD bootável, que

inicializa em poucos segundos e já começa a exibir o arquivo automaticamente. É algo

parecido com o que temos no Kurumin, só que menor e otimizado para esta tarefa

específica.

O eMovix é uma variação dele, que possui apenas 8 MB e é usado para criar CDs

"híbridos". Ao abrir o CD no Windows, ou qualquer distribuição Linux, você vê um CD

"comum" com algum filme ou músicas dentro. A única pista de que o CD contém algo a

mais é uma pasta "movix" perdida no raiz. Porém, ao dar boot através do CD, o eMovix

automaticamente detecta o vídeo e placa de som e depois de alguns segundos começa a

exibir os arquivos de vídeo ou áudio que estão dentro do CD sem que seja necessário

fazer absolutamente nada. É uma solução ideal para poder transportar seus filmes e

músicas, sem se preocupar se o PC que vai usar tem ou não os codecs necessários para

exibi-lo e também para quando você quiser mandar alguma coisa para aquele seu(ua)

amigo(a) completamente leigo(a) que não saberia o que fazer com o arquivo. É um

exemplo de aplicação que transforma o PC numa espécie de eletrodoméstico, que não

precisa de muitas instruções para ser usado.

Originalmente, criar CDs incluindo o eMovix era um processo trabalhoso, mas o K3B

oferece uma opção no menu "Arquivo > Novo Projeto", que automatiza o processo.

Clique no "Novo Projeto de DVD (ou CD) eMovix" e arraste os arquivos com os filmes

ou músicas que quiser, como se estivesse gravando um CD de dados normal.

Para que esta opção funcione, é necessário instalar o pacote com os arquivos do

eMovix. Ele pode ser instalado via apt-get, ou baixado manualmente no:

http://sourceforge.net/projects/movix/.

Enquanto escrevo, a versão mais recente é o arquivo "emovix_0.9.0-1_all.deb". Depois

de baixar o arquivo, instale-o com o comando:

# dpkg -i emovix_0.9.0-1_all.deb

Para usar legendas, inclua o arquivo junto com o filme no CD e ela será aberta

automaticamente. Existem duas pequenas regras aqui:

Page 292: Línux entendo o sistema[JP.Conteudo]

a) A legenda deve ter exatamente o mesmo nome do arquivo (observe maiúsculas e

minúsculas), mudando apenas a extensão. O "filme-12345REC.avi" vai usar um arquivo

de legenda "filme-12345REC.src", por exemplo.

b) Todos os arquivos que serão exibidos devem ficar no raiz do CD-ROM. Arquivos

dentro de sub-pastas são ignorados pelo eMovix.

Os arquivos do eMovix ocupam 8 MB no CD-ROM. Para gravar um CD de 80 minutos,

o filme deve ter no máximo 692 MB. Se você precisar gravar arquivos maiores, procure

uma mídia de 90 minutos ou use um DVD.

Depois de terminar de selecionar os arquivos, clique no botão de gravação e você verá a

janela com as opções do projeto. Além das opções normais de gravação (velocidade,

gravador, DAO, TAO, etc.), aparecerá uma aba "eMovix".

A opção "Loop playlist" determina quantas vezes os arquivos serão exibidos. Se você

está fazendo um CD com um monte de músicas, pode querer colocar um número alto

aqui para que ele fique tocando indefinidamente, mas, no caso de um filme, você

provavelmente só vai querer ver uma vez.

Por default, o eMovix vai exibir os arquivos incluídos no CD em ordem alfabética.

Você pode mudar isso ativando a opção "Play files randomily. A opção "Do not use

Page 293: Línux entendo o sistema[JP.Conteudo]

DMA" desabilita o DMA do CD-ROM. É apenas para a solução de problemas, caso o

micro trave durante o boot, por exemplo. Esta opção deteriora muito a qualidade da

exibição dos filmes, por isso deve ser usada apenas como último recurso. Aproveite

para ajustar também a opção "eMovix boot messages language", o português está

disponível :).

DVDrip

O DVDrip permite fazer "backups" de DVDs, salvando os filmes em MPEG2 (o

formato original), ou convertendo-os para Divx ou outros formatos.

Ele é capaz de ripar tanto DVDs sem proteção, quanto títulos protegidos, utilizando o

libdvdcss2 que também deve estar instalado. Ele oferece vários filtros de cor e som

(ajuste de temperatura de cor, filtro de eliminação de ruído e assim por diante) e é capaz

de ripar também as legendas (tanto como arquivos separados quanto mescladas com o

filme).

O DVDrip em si é uma interface, que reúne as funções disponíveis em diversos outros

programas, de uma forma similar ao K3B. Para ter o conjunto completo, você deve

instalar todos os pacotes a seguir, usando o apt-get: dvdrip (o programa propriamente

dito :), libdvdcss2 (suporte a DVDs protegidos), avifile-xvid-plugin, avifile-vorbis-

plugin, avifile-mad-plugin, toolame, transcode (este é um dos pacotes principais,

permite converter vídeos em diversos formatos), subtitleripper (para extrair as

legendas), ogmtools (opcional, permite salvar o áudio em .ogg, reduzindo um pouco o

tamanho final) e vcdimager (também opcional, necessário para criar VCDs).

Muitos destes pacotes fazem parte dos repositórios do Marillat (as duas linhas que

adicionamos no sources.list no tópico sobre o Kaffeine).

Amarok

O Amarok é um player de audio de "nova geração", que trabalha com um conceito de

organização de arquivos diferente do usado em programas mais antigos com o XMMS e

o WinAMP. Ao invés de simplesmente colocar alguns arquivos ou pasta numa playlist,

você cria uma "coleção" contendo todas as suas músicas. O Amarok utiliza um banco de

dados para armazenar todas as informações sobre as músicas, incluindo o artista, o CD

do qual cada uma faz parte, gênero e assim por diante. Parte das informações são

retiradas das tags ID3 dos arquivos, outras são obtidas através de uma base de dados

online. Graças à combinação das duas coisas, o Amarok é capaz de reunir músicas que

fazem parte de um CD, mesmo que elas estejam espalhadas em várias pastas diferentes.

Se você tiver muitas músicas espalhadas, vai acabar percebendo que na verdade tem

faixas de muitos CDs que nem imaginava que existiam :).

O processo inicial de criação da coleção e catalogação das músicas pode demorar alguns

minutos, caso você tenha muitas músicas, mas depois você notará que ele oferece

muitos recursos interessantes, como exibir as letras das músicas que estão tocando e

mostrar imagens das capas dos CDs (tudo baixado da web). Conforme vai usando o

programa, ele começa a reunir uma série de estatísticas, como as músicas que são mais

ouvidas, o número de vezes que ouviu cada uma e assim por diante. Ele também oferece

recursos para ouvir rádios online (ele já vem com uma lista bastante completa),

Page 294: Línux entendo o sistema[JP.Conteudo]

podcasts, suporte a iPods e outros MP3 Players e até opções para gravar músicas da

coleção direto em CD.

A interface do Amarok possui muitas funções, por isso demora um pouco para se

acostumar com ele, mas o conjunto de todas as funções faz com que ele seja atualmente

um dos melhores programas da área, embora naturalmente não agrade todo mundo. A

grosso modo, a organização das músicas por artistas e por CD faz sentido se a sua

coleção de músicas realmente é composta predominantemente por álbums completos,

com as tags ID3 dos arquivos criadas corretamente. Se você tem um monte de arquivos

soltos, a coleção dentro do Amarok vira uma bagunça.

Justamente por ser um programa complexo, o Amarok possui uma grande lista de

dependências, que além da versão correspondente do KDE e vários plugins e

bibliotecas, incluem até o pacote "mysql-common", usado para criar a base de dados

local, onde ficam armazenadas as informações sobre as músicas. Isso faz com que a

facilidade de instalação dependa do fato de ele fazer parte ou não dos pacotes incluídos

na distribuição que está usando. No Debian Etch (testing), por exemplo, você pode

instalá-lo simplesmente usando o "apt-get install amarok". O site oficial é o:

http://amarok.kde.org/.

Outro programa com recursos similares é o Rhythmbox (também disponível via apt-

get), que utiliza as bibliotecas do Gnome. Ele se integra ao Nautilus e à barra de tarefas

do Gnome, fazendo com que ele seja mais usado em distribuições que utilizam o

Gnome por padrão, como o Ubuntu e o Fedora. A página oficial é a:

http://www.gnome.org/projects/rhythmbox/.

Page 295: Línux entendo o sistema[JP.Conteudo]

XMMS

O XMMS é um dos players de audio for Linux mais antigos. A primeira versão foi

lançada em 1997 e ele é até hoje o player mais popular. Ele não oferece tantos recursos

quanto o Amarok e está há vários anos numa fase de manutenção, recebendo apenas

pequenas melhorias. Ele oferece uma interface simples, similar à do WinAMP, onde

você adiciona algumas músicas na playlist e escuta, sem rodeios.

Existem alguns plugins, que permitem adicionar recursos extras, como vários tipos de

filtros de áudio e até suporte a alguns modelos de controle remoto (útil para quem usa o

PC como aparelho de som), mas o principal ponto positivo do XMMS é justamente a

simplicidade.

Kaudiocreator

Existem vários programas para ripar CDs de música no Linux, inclusive o próprio

Konqueror. Acessando o endereço "audiocd:/" na barra de endereços, ele exibe um

conjunto de pastas contendo várias opções de formatos para as músicas do CD.

Arrastando qualquer uma das pastas para o HD, o CD é ripado automaticamente, no

formato escolhido.

A principal vantagem do Kaudiocreator é que ele é capaz de baixar as informações

sobre as faixas (nome, artista, álbum, etc.) via web, a partir do freedb.org. Isso permite

que os arquivos MP3 sejam gerados com as tags ID3 criadas corretamente.

Para ripar as faixas bastam dois cliques: "Selecionar todas as faixas" e "Ripar faixas

selecionadas" (o botão com o ícone da engrenagem). Os arquivos gerados vão para a

pasta "mp3", dentro da pasta home, já convertidas em MP3 e divididas por artista e

disco. Você pode acompanhar o status da ripagem na aba "trabalhos":

Page 296: Línux entendo o sistema[JP.Conteudo]

Nas preferências você pode escolher o padrão de compressão dos arquivos. É possível

gerar arquivos MP3, Ogg, Flac ou arquivos Wav sem compressão.

Outra boa opção é o Grip, um programa especializado em ripar CDs, que permite ripar

os arquivos diretamente em MP3 e também serve como CD-player. Você pode instalá-

lo via apt-get (apt-get install grip).

Na tela principal, marque as faixas a serem ripadas clicando sobre elas com o botão

direito. Depois, acesse a aba "Extrair" e em seguida em "Extrair e Codificar" para ripar

direto em MP3 ou Ogg Vorbis ou em "Rip only" para extrair as faixas em formato Wav.

Assim como no caso do Kaudiocreator, as músicas são salvas na pasta "mp3/", dentro

da sua pasta home.

Page 297: Línux entendo o sistema[JP.Conteudo]

O default do Grip é encodar as músicas no formato Ogg Vorbis, não em MP3. O Ogg é

um formato de áudio com uma qualidade e capacidade de compressão semelhantes à do

MP3, mas que traz a vantagem de ser completamente aberto, enquanto o MP3 é um

formato proprietário, cuja patente pertence ao Instituto Fraunhofer. Você pode alterar a

configuração na "Configuração > Encode > Codificador". Troque o "oggenc" (que gera

arquivos .ogg) pelo "lame" (que gera arquivos .mp3).

Audacity

O Audacity é um gravador e editor de áudio que inclui diversos efeitos, filtros e

ferramentas de edição bastante simples de usar. Ele é um programa sem equivalentes,

pois é ao mesmo tempo muito fácil de usar, mas ao mesmo tempo tão poderoso quanto

muitos programas de edição mais profissionais. Ele é ideal para quem não é profissional

da área, mas precisa de um programa de edição para uso no dia a dia.

Ao abrir o programa, você pode gravar diretamente a partir do microfone (não existe

limite para o tamanho da gravação, ele simplesmente vai gravando enquanto houver

espaço no HD, o que é útil ao gravar palestras e concertos) ou importar um arquivo de

áudio em .mp3, .ogg, .wav ou qualquer um dos outros formatos suportados.

Usando a ferramenta de seleção (Selection Tool) você pode selecionar trechos, que

podem ser removidos (tecla DEL), copiados (Ctrl+C) ou colados em outro lugar

(Ctrl+V). Você pode editar os canais de áudio simultaneamente, inclusive juntando

Page 298: Línux entendo o sistema[JP.Conteudo]

múltiplas faixas. Se você tem uma banda de garagem, por exemplo, pode gravar voz e

instrumentos separadamente (usando um metronomo) e depois juntar tudo usando o

Audacity. Isso vai gerar uma gravação muito mais próxima da feita em estúdio, onde

você pode ajustar individualmente o volume de cada instrumento, remover trechos

ruins, ajustar o tempo e assim por diante.

Você pode instalar o audacity via apt-get (apt-get install audacity) ou baixá-lo

manualmente no http://audacity.sourceforge.net/download/linux. Ele não tem muitas

dependências externas, por isso é um programa bem fácil de instalar.

Outro programa similar, porém voltado mais para o público profissional é o Rezound,

disponível via apt-get ou no http://rezound.sourceforge.net.

Usando o VMware Player

Ao começar a usar Linux, a maioria opta por conservar o Windows em dual boot, a fim

de ir se habituando gradualmente ao sistema, sem perder o acesso aos programas e ao

ambiente que está acostumado a usar. Com o passar do tempo, alguns conseguem passar

a usar apenas Linux, com algum sacrifício, enquanto outros conservam o dual boot,

perdendo tempo entre os resets.

Mas, hoje em dia existe uma opção muito mais interessante que o dual boot, que é a

possibilidade de manter o Windows instalado dentro de uma máquina virtual. Isso

permite rodar o Windows dentro de uma janela, usando simultaneamente os aplicativos

dos dois sistemas.

Page 299: Línux entendo o sistema[JP.Conteudo]

Todos os arquivos referentes à máquina virtual são salvos dentro de uma pasta, de

forma que você não precisa ter uma partição separada. Também é muito mais fácil fazer

backups e reinstalações, já que você só precisa salvar a pasta em outro lugar e restaurá-

la quando qualquer coisa der errado. Usando uma VM, você não precisa mais perder

tempo reinstalando o sistema cada vez que o Windows pegar vírus ou começar a travar.

Além do Windows, é possível rodar outras distribuições Linux ou mesmo outros

sistemas operacionais para micros PC, permitindo que você teste diversos sistemas sem

precisar ficar formatando o HD.

Naturalmente, dois sistemas rodando simultaneamente são mais pesados do que um, por

isso você precisa ter um PC relativamente potente (a partir de um Duron de 1.0 GHz),

com de preferência 512 MB de memória RAM.

Como citei no capítulo 2, existem diversas opções de emuladores e virtualizadores,

incluindo o Qemu e o Xen, mas o VMware (pelo menos do ponto de vista de um

usuário doméstico) é de longe o mais prático de usar. Ele está disponível no

http://www.vmware.com.

O grande problema do VMware era o fato de ser um software caro. Você podia se

cadastrar no site para obter um trial de 30 dias mas, para usá-lo definitivamente (pelo

menos legalmente), você precisava pagar US$ 199 pela versão completa.

Isso mudou com o lançamento do VMware Player, em outubro de 2005. O Player é uma

versão gratuita do VMware, cuja grande limitação é o fato de não possuir as opções que

permitem criar e modificar a configuração da máquina virtual. Isso não impede que ele

seja usado no dia-a-dia, pois você pode usar a versão trial do VMware Workstation para

criar e configurar a máquina virtual e depois ficar usando-a indefinidamente no Player.

A licença de uso do VMware Player permite explicitamente o uso de máquinas virtuais

distribuídas por outras pessoas ou criadas usando o VMware Workstation, mesmo a

versão trial. Você pode inclusive distribuir máquinas virtuais com distribuições Linux

(ou qualquer outro sistema de livre distribuição) pré-instaladas.

Page 300: Línux entendo o sistema[JP.Conteudo]

Ao usar o Kurumin, você pode usar o Kurumin-EMU, um conjunto de script que

desenvolvi para instalar o VMware Player, além de criar e modificar as máquinas

virtuais, eliminando a necessidade de usar o VMware Workstation. Inicialmente, tinha

desenvolvido o Kurumin-EMU como uma interface para o Qemu, o emulador open-

source, que concorre com o VMware, pois na época ele era melhor solução gratuita.

Depois do lançamento do VMware Player, modifiquei os scripts para utilizá-lo no lugar

do Qemu, dando origem à versão atual, que você encontra nas versões recentes do

Kurumin, a partir do 5.1:

Ao usar outras distribuições, você pode baixar o arquivo de instalação do VMware

Player no: http://www.vmware.com/download/player/.

Existem duas versões Linux disponíveis, um pacote .rpm e um pacote .tar.gz genérico,

que pode ser instalado em qualquer distribuição. Para instalá-lo, descompacte o arquivo

e execute (como root) o arquivo "vmware-install.pl" dentro da pasta.

Via terminal, os comandos seriam os seguintes:

$ tar -zxvf VMware-player-1.0.0-16981.tar.gz

$ cd vmware-player-distrib/

$ su <senha>

# ./vmware-install.pl

Page 301: Línux entendo o sistema[JP.Conteudo]

A fim de ser compatível com todas as distribuições, o VMware usa um instalador bem

simples, em modo texto. A instalação é basicamente automática, mas ele confirma as

pastas de instalação de uma série de arquivos. Você pode simplesmente ir pressionando

enter, aceitando as opções padrão.

Dependendo da distribuição em uso, ele pergunta num certo ponto sobre a compilação

de um módulo de Kernel. Este módulo é necessário pois ele precisa de acesso direto ao

hardware. No Kurumin, a instalação prossegue automaticamente, pois o sistema já vem

com os headers do Kernel e os compiladores necessários, mas em outras distribuições

você pode precisar instalar estes componentes manualmente. Procure pelos pacotes

"kernel-headers", "kernel-source", "gcc" e "g++". No capítulo seguinte, veremos um

passo a passo de como instalá-los no Ubuntu.

Depois de instalado, você pode executá-lo usando o ícone criado no menu, ou via

terminal, usando o comando "vmplayer". Execute-o usando seu login de usuário; o root

só é necessário para a instalação.

Ao abrir, você só precisa indicar a pasta com a máquina virtual que será usada. Se tiver

memória RAM suficiente, você pode inclusive abrir duas ou mais instâncias

simultaneamente, cada uma rodando um sistema diferente.

Page 302: Línux entendo o sistema[JP.Conteudo]

Aqui chegamos ao primeiro problema: ainda não temos nenhuma máquina virtual criada

:). Você poderia voltar ao http://www.vmware.com e preencher o formulário para baixar

o trial do VMware Workstation, instalá-lo, usá-lo para criar as VMs e, depois de 30 dias

voltar a usar o VMplayer. A segunda opção é usar o próprio Kurumin-EMU, que

oferece a mesma opção de forma bem mais descomplicada.

Ao criar uma nova máquina virtual, você deve definir o sistema operacional que será

instalado, a quantidade de memória RAM que será reservada e o tamanho do disco

virtual.

Se você tem 512 MB, por exemplo, pode reservar 256 MB para a máquina virtual. O

sistema dentro da máquina virtual (chamado de guest) fica limitado a usar a quantidade

reservada, sem prejudicar o sistema principal.

Em termos de hardware, a memória RAM é justamente o principal requisito para um

bom desempenho, mais importante que o processador. Quando existe pouca memória

disponível, o VMware começa a usar swap, reduzindo brutalmente o desempenho. Se as

coisas estiverem lentas, experimente antes de mais nada adicionar mais um pente de

memória.

No caso dos discos virtuais, o tamanho definido é apenas uma espécie de limite.

Inicialmente, o disco virtual é um arquivo vazio, que ocupa poucos kbytes. Dentro da

máquina virtual, o sistema guest pensa que está formatando e usando um HD de

verdade, mas todas as mudanças são mascaradas e feitas dentro do arquivo. Conforme

você instala o sistema e outros programas, o arquivo vai aumentando de tamanho, até o

limite definido. Enquanto ele não é atingido, o arquivo do disco virtual ocupa um

espaço equivalente à quantidade de espaço realmente ocupado.

Page 303: Línux entendo o sistema[JP.Conteudo]

Se você criou um disco virtual de 20 GB, mas apenas 2 GB estão em uso, você verá um

arquivo de apenas 2 GB dentro da pasta da máquina virtual.

Este é o wizard de criação de uma nova máquina virtual do VMware Workstation:

E este é o script usado pelo Kurumin-EMU. Lembre-se de que a máquina virtual é

simplesmente uma pasta criada no HD, de forma que você pode usar o Kurumin-EMU

para criar e modificar suas VMs, mesmo que você pretenda usar outra distribuição.

Basta dar boot pelo CD:

Depois de criada a VM, o próximo passo é instalar o sistema. A máquina virtual se

comporta da mesma forma que um PC normal, com setup e tudo mais. A única

diferença é que tudo acontece dentro de uma janela. Como de praxe, a instalação

consiste em dar boot através do CD de instalação do sistema, fazer o procedimento

normal de instalação e depois reiniciar dando boot pelo HD.

Page 304: Línux entendo o sistema[JP.Conteudo]

Para configurar o "setup" da máquina virtual, pressione a tecla "F2" na tela inicial. Nele

você pode escolher entre dar boot pelo CD-ROM ou pelo HD, e até mesmo acertar a

hora do setup. A máquina virtual tem até mesmo um relógio de CMOS próprio! :-).

Você pode tanto usar um CD-ROM físico, dentro do drive, quanto usar diretamente um

arquivo ISO, útil para testar outras distribuições Linux sem precisar queimar o CD. Isso

é definido dentro da configuração da máquina virtual:

O sistema dentro da VM realmente acha que está sendo instalado dentro de um PC real.

Você particiona e formata o "HD" e tudo mais, porém tudo é feito dentro dentro da

pasta, sem afetar o sistema principal:

Espiando dentro da pasta onde foi criada a VM, você verá uma estrutura como esta. O

arquivo .vmdk contém o disco virtual (dependendo da configuração ele pode ser

dividido em vários arquivos), o .nvram contém a configuração do "setup" e o .vmx

contém a configuração da máquina virtual:

Page 305: Línux entendo o sistema[JP.Conteudo]

O arquivo de configuração possui uma estrutura relativamente simples, permitindo que

você edite algumas opções diretamente no arquivo, sem precisar usar o Kurumin-EMU

ou o VMware Workstation.

A quantidade de memória RAM reservada à máquina virtual pode ser ajustada

diretamente pelo VMplayer, em "Player > Troubleshot > Change Memory Allocation".

Depois de instalar o sistema, vem outro passo importante, que é instalar o VMware

Tools, um conjunto de drivers que faz o sistema guest rodar com um melhor

desempenho e de forma mais transparente, sobretudo com relação ao vídeo. Isso é

necessário, pois, de dentro da máquina virtual, o sistema guest não enxerga o hardware

real da sua máquina, mas sim um conjunto de dispositivos virtuais criados por ele. É por

isso que você pode usar a mesma VM em vários micros diferentes, sem precisar ficar

instalando drivers nem modificando o sistema guest.

Page 306: Línux entendo o sistema[JP.Conteudo]

O VMware Tools é especialmente importante se você estiver usando o Windows 98 ou

2000 como guest, pois ambos não possuem drivers para a placa de vídeo virtual do

VMware, fazendo com que o vídeo fique a 640x480, sem qualquer tipo de aceleração.

Outra grande vantagem em instalar o VMware Tools é que o mouse não fica mais

"preso" dentro da janela da VM (normalmente você clica na janela para usar a VM e

pressiona Ctrl+Alt para liberar o mouse), o cursor passa a movimentar-se livremente,

como se a máquina virtual fosse apenas mais uma janela.

Ao usar o VMware Workstation, você pode instalar o VMware Tools dando um boot na

máquina virtual e usando a opção "Settings > VMware Tools Install". Isso simula a

inserção de um CD-ROM dentro da máquina virtual, o que (no Windows) faz com que

o instalador seja aberto automaticamente. O VMware Tools é simplesmente um

conjunto de drivers, instalado de forma rápida.

Naturalmente, também é possível instalar o VMware Tools manualmente. Aqui vai o

caminho das pedras:

Baixe o arquivo de instalação do VMware Workstation. Ao contrário do player, ele

inclui as imagens do VMware Tools. Descompacte o arquivo e, dentro da pasta criada,

Page 307: Línux entendo o sistema[JP.Conteudo]

acesse a pasta "lib/isoimages/". Ela contém quatro arquivos ISO, contendo o VMware

Tools pra Linux, Windows, Netware e BSD.

Para usá-los, você pode tanto queimar um CD-ROM, quanto configurar a máquina

virtual para usar diretamente o arquivo ISO como CD. O importante é que o conteúdo

da imagem esteja acessível dentro da VM.

Para instalar o VMware Tools no Windows, basta dar boot na VM e abrir o programa

de instalação dentro do CD. Ele detecta a versão do Windows em uso e instala os

drivers adequados.

Para instalar o VMware Tools for Linux, copie o arquivo "VMwareTools-5.0.0-

13124.tar.gz" de dentro do CD para uma pasta qualquer do HD, descompacte-o e

execute o arquivo "vmware-install.pl" dentro da pasta.

Será aberto um instalador em modo texto, bem similar ao usado para instalar o VMware

Player. Confirme as pastas de instalação e no final escolha a resolução de vídeo que

deseja usar. Ele oferece instruções para usar um driver de rede alternativo, mas você não

precisa se preocupar com isso, pois a rede virtual do VMware é bem suportada no

Linux. O mais importante é o novo driver de vídeo, que é muito mais rápido e não

prende o cursor do mouse.

Ao instalar o Kurumin como guest dentro da máquina virtual, você pode usar o script

"instalar-vmware-tools", que automatiza o processo.

Uma configuração importante relacionada ao desempenho do vídeo é sempre configurar

o sistema guest para usar a mesma profundidade de cores que o sistema host. Se você

está usando 16 bits de cor em um, use igual no outro.

Finalmente, temos a questão da configuração da rede, bem simples na verdade, pois a

máquina virtual simplesmente acessa sua rede local como se fosse um PC à parte. Se

você tem um servidor DHCP ativo, o sistema guest vai configurar a rede

automaticamente e até navegar na internet usando a conexão compartilhada. Caso

contrário, você pode configurar a rede manualmente, de forma que o sistema host e o

guest façam parte da mesma rede, e até mesmo usar os scripts que compartilham a

conexão.

O VMware Workstation inclui um recurso que permite compartilhar pastas entre o

sistema host e o guest, uma forma simples de trocar arquivos entre os dois. Este recurso

Page 308: Línux entendo o sistema[JP.Conteudo]

não está disponível no VMware Player, mas você pode usar o Samba, NFS ou mesmo

um servidor FTP para compartilhar arquivos entre os dois, usando a rede virtual.

Ao rodar o Windows dentro da VM, crie um compartilhamento de rede e tente acessá-lo

no Linux usando o SMB4K ou o "smb:/" do Konqueror. Ao rodar outra distribuição

Linux dentro da VM, você pode usar o NFS para compartilhar arquivos, colocando as

pastas compartilhadas dentro do arquivo "/etc/exports". Em caso de problemas, você

pode usar um servidor FTP para acessar os arquivos. Um servidor FTP for Windows

muito fácil de usar é o Filezilla, disponível no: http://filezilla.sourceforge.net/.

Outra idéia é usar um pendrive. Ao conectá-lo na porta USB, aparece um botão na

janela do VMware Player, que permite compartilhá-lo com a máquina virtual. Usando

este recurso, ele pode ser acessado nos dois sistemas, servindo como uma área de

transferência de arquivos.

Este mesmo recurso funciona também com impressoras, scanners, palms e outros

dispositivos USB, que podem ser usados dentro da máquinas virtual, mesmo que não

estejam configurados no Linux. O VMware Player simplesmente permite que o sistema

guest acesse diretamente o dispositivo.

Note que este recurso só funciona com periféricos USB. Não adianta tentar usar o

Windows dentro da VM para ativar seu softmodem que não possui suporte no Linux,

pois o VMware não oferece acesso direto a dispositivos PCI.

Uma última dica é que o vmplayer pode ser chamado via linha de comando, carregando

diretamente a máquina virtual desejada. Basta indicar o arquivo .vmx dentro da pasta,

como em:

$ vmplayer /mnt/hda6/winxp/VM.vmx

Isto permite criar ícones no desktop, ou até mesmo fazer que uma determinada máquina

virtual seja aberta automaticamente durante a inicialização do KDE. Neste caso você só

precisa colocar o ícone com o comando dentro da pasta ".kde/Autostart", dentro do seu

diretório home.

Usando o Wine

Enquanto o VMware cria um ambiente virtual, que permite executar uma cópia do

Windows e rodar os programas sobre ela, o Wine usa uma abordagem mais direta:

simplesmente rodar os programas diretamente.

Como disse no início, não existe originalmente qualquer compatibilidade entre os

programas do Windows e Linux. Os dois sistemas não possuem sequer uma base

comum, são realmente duas coisas bem diferentes.

Page 309: Línux entendo o sistema[JP.Conteudo]

A equipe do Wine faz um trabalho de formiguinha, incluindo suporte às funções usadas

no Windows, uma a uma. O conjunto destas funções é chamado de API (application

programing interface). O Wine é justamente uma implementação da API do Windows,

que permite executar os programas no Linux como se fossem aplicativos nativos.

O problema reside justamente no fato da API do Windows ser fechada e existirem

muitas chamadas escondidas e até mesmo bugs que são usados pelos programas. A

única forma de descobri-las é na base da tentativa e erro, o que faz com que o

desenvolvimento do Wine seja bem lento.

O Wine foi provavelmente o maior alpha da história. Foram 12 anos, desde o anúncio

das primeiras versões, em 1993. Em 25/10/2005 foi finalmente lançada a primeira

versão beta, que indicou uma mudança de rumos no projeto.

Até então, mudanças estruturais aconteciam a cada novo release, fazendo com que

muitos programas que rodavam em uma versão não funcionassem mais na seguinte. Isso

dificultava muito o uso do wine, pois a única forma de ter certeza que um determinado

software iria funcionar seria usar a mesma versão e distribuição que o autor da dica

estava usando. Você pode ver mais detalhes sobre esta fase negra neste tutorial que

publiquei no Guia do Hardware: http://www.guiadohardware.net/tutoriais/098/.

A entrada no estágio beta indicou que o software passou a ser muito mais estável e

previsível, fazendo com que as novas versões simplesmente incluam novos recursos, e

não novos problemas. Vale lembrar que mesmo em estágio alpha, o Wine já rodava uma

quantidade muito grande de aplicativos, como o Office, AutoCAD, Photoshop, IE,

Lotus Notes e um sem número de pequenos programas. Daqui pra frente a lista tende a

aumentar.

Note que o Wine não é perfeito. Mesmo programas que são considerados compatíveis

rodam muitas vezes com pequenos defeitos ou pequenas diferenças em relação ao

Windows e muitos programas simplesmente não rodam.

Você pode encontrar uma lista de alguns programas testados no:

http://www.frankscorner.org/. Naturalmente, esta lista está longe de ser completa, de

forma que a melhor forma de saber se um determinado programa roda ou não é

simplesmente testando.

O melhor lugar para baixar a última versão do Wine é na própria página do projeto,

onde você encontra pacotes para várias distribuições:

http://www.winehq.org/site/download.

Para instalá-lo no Ubuntu, Kurumin e outras distribuições derivadas do Debian,

adicione a linha abaixo no arquivo "/etc/apt/sources.list":

# Wine

deb http://wine.sourceforge.net/apt/ binary/

Depois de rodar o "apt-get update", instale o Wine usando o apt-get:

# apt-get install -t binary libwine wine

Page 310: Línux entendo o sistema[JP.Conteudo]

A maioria das distribuições incluem pacotes próprios do Wine. No Ubuntu, por

exemplo, ele está disponível no repositório "Universe". O "-t binary" no comando faz

com que o apt-get instale a versão disponível no repositório que adicionamos, ao invés

de instalar o pacote disponível no repositório principal do Debian ou Ubuntu.

Depois de instalado, rode o "winecfg" (desta vez usando seu login de usuário, não o

root). Ele se encarrega de criar as pastas e arquivos de configuração usados pelo Wine:

$ winecfg

Dentro do painel de configuração, clique em "Drives > Autodect", isso faz o winecfg

criar a configuração que permite que os programas Windows acessem arquivos dentro

do seu diretório home e em outras pastas do sistema. O diretório home é geralmente

visto dentro dos programas Windows com o drive "H:" e o diretório raiz aparece como

o drive "Z:", mas isso pode variar de acordo com a configuração da sua máquina.

Na aba "Applications" você pode escolher qual versão do Windows será simulada. A

maior parte dos programas roda melhor escolhendo "Windows 98", que é a opção

recomendada. Mas, alguns programas só instalam no Windows 2000 ou XP. Nestes

casos, você pode experimentar abrir novamente o winecfg e trocar a versão.

Se você pretende usar o som dentro dos aplicativos Windows, acesse a aba "Audio" e

marque a opção "Alsa", no lugar do "OSS" que vem marcado por padrão. Se preferir

desativar o som, basta desmarcar ambas as opções.

Depois de salvar a configuração no winecfg, o Wine já está pronto para uso. Um passo

importante é instalar o "dcom98" dentro do Wine. Ele é uma atualização importante,

necessária para que vários programas rodem corretamente sob o Wine. O arquivo de

instalação pode ser baixado no:

http://download.microsoft.com/msdownload/dcom/98/x86/en/dcom98.exe

Page 311: Línux entendo o sistema[JP.Conteudo]

Para executar programas do Windows, você chama o comando "wine", seguido do

programa Windows que vai ser executado dentro dele. Para instalar o dcom98, use o

comando:

$ wine dcom98.exe

Você pode associar os arquivos ".exe" com o Wine no Konqueror, de forma a executá-

los simplesmente clicando sobre eles no gerenciador de arquivos.

Para isso, clique com o botão direito sobre um arquivo ".exe" qualquer. Nas

propriedades, acesse a opção "Abrir Com" e, no campo para indicar o programa, escreva

"wine" e marque a opção "Lembrar da associação de aplicativo para este arquivo":

A partir daí, ao clicar sobre qualquer executável do Windows, ele será executado

automaticamente através do Wine.

Todos os programas instalados através do Wine vão para dentro da pasta

".wine/drive_c" dentro do seu diretório de usuário. Dentro dela, você verá as pastas

"Windows", "Arquivos de programas" e outras usadas pelos programas. Nas versões

recentes, o Wine se encarrega também de incluir ícones para os programas instalados no

menu:

Page 312: Línux entendo o sistema[JP.Conteudo]

Aqui estou rodando o Flash MX, um dos programas bem suportados, que instala e roda

sem problemas visíveis:

Uma observação é que os programas executados pelo Wine podem (na configuração

padrão) ler e modificar arquivos dentro do seu diretório home. Isto significa que, em

algumas situações, como ao executar um arquivo infectado através do Wine, o vírus

pode apagar ou modificar seus arquivos.

Para evitar essa possibilidade, você pode executar o Wine usando um usuário separado.

Crie um novo usuário usando o "adduser" ou o "users-admin" e use o "sux" ou o "su"

para logar-se como ele, como em:

$ sux joao

Qualquer programa executado usando este usuário separado poderá no máximo

modificar arquivos dentro do home dele, sem risco para seus arquivos.

Vamos a um exemplo prático de uso do Wine, instalando o DVDShrink, que permite

fazer backups de DVDs de vídeo. Ele é muito útil, pois os DVDs são caros e ao mesmo

tempo frágeis, e você não ganha outro caso o DVD que comprou risque.

Page 313: Línux entendo o sistema[JP.Conteudo]

O DVDShrink é um dos programas mais simples de usar. Ele extrai o vídeo, junto com

legendas, menus e faixas de áudio do DVD original e comprime (caso necessário) de

forma que possa ser gravado numa única mídia DVD+R ou DVD-R. Isso permite

inclusive fazer backup de DVDs dual-layer numa única mídia, embora com uma

pequena perda de qualidade. Você pode também remover as faixas extras de áudio,

extras e outros recursos, de forma a deixar mais espaço para o filme.

O único problema é que ele é um programa Windows, um detalhe que o Wine ajuda a

resolver.

O primeiro passo é instalar os pacotes libwine e wine, como vimos a pouco. Ao rodar o

winecfg, não se esqueça de detectar os drives da máquina, clicando no "Drives >

Autodetect". Você precisa ter instalado também o pacote "libdvdcss2", disponível via

apt-get no repositório Marillat ou via urpmi no plf.

Na aba "Applications", defina a versão do Windows como "Windows 2000". O

DVDShrink não roda caso o Wine simule o Windows 98.

O próximo passo é baixar o instalador do DVDShrink no http://www.dvdshrink.org/. O

ideal é que você rode a versão 3.2 do DVDShrink sobre o Wine 0.9.8, que é um

conjunto bastante testado e que funciona seguindo apenas as instruções que reporto

aqui. Se não for possível, use uma versão mais atual do Wine, mas nunca uma versão

antiga.

Você pode baixar a versão correta do DVDSrink também no link abaixo:

http://www.mrbass.org/dvdshrink/dvdshrink32setup.zip.

Para instalar, descompacte o arquivo e execute-o através do Wine. O instalador roda

sem problemas visíveis, como se estivesse rodando diretamente sobre o Windows.

$ unzip dvdshrink32setup.zip

$ wine dvdshrink32setup.exe

Aproveite para instalar também o DVD Decrypter, que permite quebrar sistemas

diversos de proteção, gerando um arquivo .iso que pode ser posteriormente processado

através do DVDShrink:

http://www.mrbass.org/dvdrip/SetupDVDDecrypter_3.5.4.0.exe.

Nas versões anteriores do Wine, era necessário copiar manualmente algumas dlls para

dentro da pasta ".wine/drive_c/Windows/System" e criar um link para o CD-ROM

dentro da pasta ".wine/dosdevices", mas atualmente nada disso é necessário. Basta

instala-lo diretamente.

Outra melhoria do Wine 0.98 sobre as versões anteriores é que agora são criados

(corretamente) ícones no desktop para os aplicativos instalados através do Wine. Isso

torna o uso muito mais confortável, pois basta clicar no ícone, como no Windows.

De qualquer forma, se você tem algum problema pessoal com eles, nada impede que

execute os programas instalados da forma antiga, especificando o executável e caminho

de instalação, como em:

$ wine /home/joao/.wine/drive_c/Arquivos\ de\ programas/DVD\ Shrink/DVD\ Shrink\ 3.2.exe

Page 314: Línux entendo o sistema[JP.Conteudo]

Veja que nas versões recentes, o Wine usa a pasta ".wine/drive_c" como drive C:, ao

invés da ".wine/fake_windows", usada nas primeiras versões.

Para que qualquer aplicativo executado via Wine consiga acessar o DVD ou CD-ROM

no drive, é preciso que ele esteja montado. Ao usar uma distribuição que não faça isso

automaticamente via automount, monte-o usando o ícone no desktop, ou o tradicional:

$ mount /mnt/cdrom

Uma coisa que me chamou a atenção ao rodar o DVDShrink pela primeira vez foi

definir a região do meu drive de DVD. No Linux, não importa para qual região seu

drive está ajustado, pois os aplicativos lêem o disco usando o libdvdcss2, que decodifica

o filme diretamente, sem utilizar o chip decodificador incluído no drive.

É por isso que usei meu drive por meses, sem sequer perceber que ele não estava com a

região definida:

Ao abrir, clique no botão "Open Disk" para que ele leia o DVD no drive. Se neste ponto

você receber uma mensagem de erro "Failed to open file \d:", abra as permissões do

"/dev/cdrom" e do dispositivo do seu drive de DVD, como "/dev/hdc" ou "/dev/hdd",

usando o comando chmod, de forma que o Wine tenha permissão para acessar o disco:

Page 315: Línux entendo o sistema[JP.Conteudo]

# chmod 666 /dev/cdrom

# chmod 666 /dev/hdc

No caso de DVDs com algum dos sistemas de proteção recentes (onde o DVD Shrink

reporta um erro similar), existe a possibilidade de usar o Mplayer para quebrar a

proteção, permitindo que o DVD Shrink acesse o DVD já sem a proteção ativa. Para

isso, você precisa ter o Mplayer instalado, junto com o pacote libdvdcss.

Com o DVD no drive, chame o Mplayer (via linha de comando), como se fosse assistir

o DVD:

$ mplayer dvd://1

Caso necessário, especifique o driver de vídeo a ser usado, como em:

$ mplayer -vo xv dvd://1

Feche a janela pouco depois de começar o filme, monte o "/mnt/cdrom" e abra o DVD

Shrink. Você notará que apenas por previamente abrir o filme no Mplayer, ele

conseguirá acessar o conteúdo do DVD normalmente. Isso acontece por que uma vez

quebrado o sistema de proteção, o DVD fica disponível para qualquer aplicativo. Você

precisa chamar o Mplayer novamente para cada novo DVD, mas é ainda bem mais

prático do que ter que usar o DVD Decrypter, como seria necessário no Windows.

Na tela principal do DVDShrink você tem a opção de eliminar as trilhas e áudio e

legendas de que não precisa. Nas configurações, desmarque a opção "Enable Burning

with Nero", já que vamos gravar o DVD usando o K3B.

Page 316: Línux entendo o sistema[JP.Conteudo]

Ao clicar no "Backup!" você tem a tela final, onde você escolhe em qual pasta salvar o

arquivo final (é preciso ter pelo menos 4.4 GB livres) e mais algumas opções

relacionadas à qualidade do arquivo gerado. No meu caso, estou salvando no "drive" E:,

que corresponde à pasta "/mnt/hda6" no Linux.

Depois de extraídos os arquivos, falta gravar o DVD, usando o K3B. Crie um "Novo

Projeto de DVD de Vídeo", arraste os arquivos das pastas "AUDIO_TS" e

"VIDEO_TS" (de dentro da pasta gerada) para dentro do projeto e clique no "Queimar".

Note que a pasta "AUDIO_TS" fica vazia quando você desmarca as faixas de áudio

extras.

Page 317: Línux entendo o sistema[JP.Conteudo]

Se você prefere utilizar um programa nativo, experimente o k9copy, que embora não

seja tão completo quanto o Dvdshrink, é bem simples de usar e oferece os recursos mais

básicos. A página do projeto é a http://k9copy.free.fr/ e você pode instalá-lo via apt-get

através do pacote "k9copy", disponível no repositório Marillat.

Page 318: Línux entendo o sistema[JP.Conteudo]

Capítulo 6: Instalando e configurando

outras distros

Por ser um sistema aberto, o Linux é personalizável ao extremo. Ele pode ser usado

tanto em servidores de alto desempenho, extremamente seguros e incrivelmente

complicados de configurar, quanto em desktops ou celulares.

De acordo com o público a que se destina e as convicções dos desenvolvedores, uma

distribuição Linux pode ser extremamente fácil de usar, detectando o hardware da

máquina automaticamente e oferecendo várias ferramentas e assistentes de

configuração, ou extremamente complicada e antiquada. Existem ferramentas

disponíveis para atingir os dois tipos de público.

Em geral, para se tornar fácil de usar, uma distribuição precisa automatizar mais tarefas

e incluir mais assistentes de configuração, o que acaba fazendo com que você aprenda

menos sobre a estrutura e comandos do sistema ao usá-la, enquanto as distribuições

mais difíceis lhe obrigam a dominar a linha de comando, conhecer diversos arquivos de

configuração e saber como compilar drivers e programas diversos para conseguir

realmente fazer todos os componentes do micro e os programas que usa no dia-a-dia

funcionarem. Elas são muito mais trabalhosas e por isso acabam lhe obrigando a passar

mais tempo configurando o sistema (e menos tempo efetivamente fazendo seu trabalho

;), mas por outro lado lhe obrigam a estudar mais e a dominar melhor o sistema.

A maioria das pessoas acaba testando várias distribuições superficialmente até encontrar

uma que instale corretamente e em que consiga trabalhar sem muitos sustos e acaba

permanecendo nessa distribuição indefinidamente. É aí que surgem os religiosos de

plantão, que defendem uma distribuição em particular, mesmo sem conhecer bem as

outras.

Se você tem por objetivo aprender "Linux", acaba sendo inevitável conhecer e aprender

a trabalhar com várias distribuições diferentes. Eleja uma distribuição "principal" para

realmente trabalhar e usar no dia-a-dia, mas mantenha uma partição separada para ir

testando outras distribuições.

Instale, estude e fuce até conseguir fazer tudo que consegue fazer na sua distribuição

principal, depois passe para a seguinte. Você notará que cada nova distribuição que

testar lhe trará um conjunto diferente de problemas, que vão fazer você estudar e se

aprofundar em diferentes partes do sistema. Em muitos casos tudo pode funcionar de

primeira, mas você notará que muitas configurações são feitas de forma diferente, e

assim por diante. Outra boa opção para testar outras distribuições é usar o VMware

Player, que vimos no capítulo anterior.

Depois de aprender a usar o Kurumin, nossa próxima parada é o Ubuntu, o primo de

segundo grau que também é baseado no Debian, mas apresenta uma série de diferenças

nos programas incluídos e configuração. Em seguida falarei um pouco sobre o Slax, um

live-CD baseado no Slackware, que abordo com mais detalhes no livro Distribuições

Linux, Dominando o Sistema, uma espécie de continuação deste, onde abordo o

Slackware, Mandriva, Fedora, OpenSuSE e Debian, aprofundando o que estamos

aprendendo aqui.

Page 319: Línux entendo o sistema[JP.Conteudo]

Instalando o Ubuntu

O Ubuntu vem rapidamente ganhando popularidade. Ele é desenvolvido pela Ubuntu

Foundation, uma organização sem fins lucrativos, que por sua vez é patrocinada pela

Canonical Inc., que ganha dinheiro vendendo suporte, treinamentos e customizações do

Ubuntu. Esta combinação de ONG e empresa tem dado muito certo, combinando os

esforços de um sem número de voluntários e um grupo de desenvolvedores bem pagos

que trabalham em tempo integral no desenvolvimento do sistema.

Ao invés do tradicional 1.0, 2.0, 3.0, etc., o Ubuntu usa um sistema de numeração das

versões bastante incomum. Os releases são numerados com base no mês e ano em que

são lançados e recebem um codenome. A primeira versão oficial foi Ubuntu 4.10

(lançado em outubro de 2004), apelidado de "Warty Warthog", seguido pelo 5.04

(lançado em abril de 2005), apelidado de "Hoary Hedgehog" e pelo 5.10 (outubro de

2005), batizado de "Breezy Badger". O próximo será o 6.04 (Dapper Drake), agendado

para abril de 2006. Como pode perceber, as novas versões do Ubuntu são lançadas de 6

em 6 meses, sempre com um nome mais esquisito que a anterior ;-).

Além de fazer download no http://www.ubuntu.com, existe a opção de pedir um CD

gravado no https://shipit.ubuntu.com/.

Os CDs do shipit são inteiramente gratuitos, incluindo a postagem. Na verdade, eles não

mandam apenas um CD, mandam um pacote com 10 conjuntos com o CD de instalação

e um live-CD, onde um é pra você e os outros nove para distribuir entre amigos. Não se

sabe até quando a verba para os CDs gratuitos vai durar, mas até o momento tem sido

um fator importante para a popularização do Ubuntu.

O Ubuntu é um meio termo entre o Debian "puro" e distribuições amigáveis como o

Kurumin. Ele tem foco no uso em desktop, mas sem perder os recursos úteis para uso

em servidor.

Ao invés de incluir várias ferramentas de configuração, ele utiliza apenas as ferramentas

básicas encontradas no Debian, combinadas com um bom sistema de detecção de

hardware durante a instalação. Visualmente, ele é mais agradável de usar (que o

Debian), mas ao configurar você tem que lidar diretamente com arquivos de

configuração. Essa combinação de instalação simples, mas configuração relativamente

complicada faz com que ele seja uma opção bem interessante para estudar e entender

melhor a estrutura do sistema.

Além do Debian, a maioria das dicas que dou aqui sobre o Ubuntu servem também para

o Kurumin. No caso do Kurumin, a maior parte destes passos não são necessários, pois

as configurações já vêm prontas, ou são automatizadas pelos ícones mágicos, mas é

importante estudá-los para entender como o sistema funciona por baixo dos panos.

O Ubuntu usa um instalador em modo texto, uma versão simplificada do instalador do

Debian Sarge. Devido à simplicidade, o instalador é bastante robusto e faz poucas

perguntas durante a instalação. Em geral, mesmo os mais iniciantes não têm muitos

problemas para colocar o Ubuntu para trabalhar. O ponto fraco do instalador é o fato de

possuir uma ferramenta de particionamento bastante deficiente.

Page 320: Línux entendo o sistema[JP.Conteudo]

Antes de começar a instalação, use o Gparted (que pode ser usado a partir de um CD do

Kurumin) ou outra ferramenta de particionamento para redimensionar a partição do

Windows, criar a partição para a instalação do sistema e swap e outras modificações

necessárias antes de inicializar a instalação. Deixe tudo pronto para apenas definir a

partição onde o sistema será instalado.

Ao invés do KDE, o Ubuntu usa o Gnome como desktop padrão, incluindo um conjunto

de programas que se integram bem com ele. Isso acaba sendo uma deixa para falar mais

sobre ele, já que até agora só falamos do KDE.

Assim como no caso do Kurumin, você pode especificar opções na tela de boot do CD.

Como disse, o instalador é bastante simples e robusto, por isso os casos de problemas

durante a instalação são raros. Mesmo assim, em alguns casos pode ser necessário

desabilitar o ACPI ou APCI ou mesmo especificar o modelo da controladora SCSI, caso

você esteja usando uma. Você pode ver as opções de boot disponíveis pressionando as

teclas F5, F6 e F7.

Para desabilitar o APIC, por exemplo, use a opção "linux noapic". Na verdade, o

instalador não roda em texto puro, ela usa frame buffer. Em algumas poucas situações, a

placa de vídeo pode não ser compatível com o modo usado, neste caso experimente a

opção "linux vga=771", que usa 800x600 com 256 cores, um modo compatível com

praticamente todas as placas.

Existe ainda uma opção de instalação enxuta, onde é instalado apenas o sistema base,

sem o X, Gnome ou qualquer outra ferramenta gráfica, ativada usando a opção "server"

no boot. Esta opção pode ser usada mais tarde como um desafio: que tal tentar instalar

manualmente, via linha de comando, os pacotes necessários para completar a instalação

do sistema, até chegar ao ponto de abrir o Firefox e assistir uma animação em Flash no

http://www.charges.com.br? :-).

Page 321: Línux entendo o sistema[JP.Conteudo]

A instalação propriamente dita começa com a escolha da língua, escolha "Portuguese

(Brasil)". Em seguida, vem a escolha do teclado, onde o padrão (ao escolher o português

como língua) é o ABNT2. Se você tiver um teclado padrão Americano, acesse a opção

"Selecionar de uma lista completa de teclados" e escolha "Português Brasileiro (Layout

Americano)".

Dentro do instalador, use as setas e a tecla <TAB> para navegar entre as opções,

<Espaço> para selecionar e <Enter> para confirmar.

Apesar de oferecer suporte a muitas linguagens diferentes, o Ubuntu inclui um número

relativamente pequeno de pacotes de internacionalização nos CDs de instalação, que

não inclui o suporte a português do Brasil. Para instalar na nossa língua, o instalador se

oferece para baixar os pacotes necessários via internet no final da instalação.

Para que isso funcione, o instalador detecta a placa de rede e em seguida tenta

configurar a rede via DHCP. Você pode também configurar os endereços manualmente,

mas o instalador não possui suporte a conexões via modem, ADSL com autenticação,

nem à maioria das placas wireless. Só é possível baixar os pacotes durante a instalação

se você estiver usando uma conexão de rede local, compartilhada no modem ADSL, ou

num outro micro da rede.

O próximo passo é o particionamento. Como disse, o particionador usado durante a

instalação está longe de ser intuitivo e a opção padrão é "Apagar todo o disco". Preste

atenção ao selecionar as opções, pois é muito fácil destruir o particionamento do HD

com ele. Respire fundo e conte até dez ;).

Page 322: Línux entendo o sistema[JP.Conteudo]

Ao instalar num HD já particionado, escolha a opção "Editar manualmente a tabela

de partições". Aponte a partição onde o sistema será instalado e, na tela seguinte, onde

são mostradas as propriedades da partição, indique o seguinte:

O mais importante aqui é o "Ponto de montagem", que diz ao instalador o que fazer

com a partição. Dizer que o ponto de montagem é "/" explica a ele que esta é a partição

onde o sistema será instalado. Não se esqueça de ativar a opção "sim, formatar" e de

indicar o sistema de arquivos no qual a partição será formatada, na opção "Usar como".

Ao terminar, selecione a opção "Finalizar a configuração da partição".

Page 323: Línux entendo o sistema[JP.Conteudo]

Caso você tenha uma segunda partição que queira usar como home, repita o mesmo

procedimento para ela, dizendo que o ponto de montagem é "/home".

A opção "Opções de montagem" permite incluir opções que serão usadas ao montar a

partição. Cada sistema de arquivos possui opções específicas, que o fazem de forma

diferente ou melhoram o desempenho em situações específicas. No ReiserFS, por

exemplo, é comum usar as opções "noatime" e "notail". A primeira faz com que o

sistema não atualize as propriedades dos arquivos quando eles são acessados (passa a

atualizar apenas quando são realmente alterados), o que melhora bastante o desempenho

em servidores web e bancos de dados. A opção notail desabilita o agrupamento de

arquivos, o que causa um pequeno desperdício de espaço em disco, mas melhora um

pouco o desempenho. Naturalmente, estas opções são apenas opções, você pode

simplesmente manter o "defaults" se não precisar de nada específico.

Caso você tenha dois ou mais HDs, o instalador oferece a opção de usar RAID via

software, onde duas partições (uma de cada HD) são combinadas (RAID 0) e o sistema

passa a acessá-las como se fosse uma partição só, dividindo os dados entre elas. Isso

aumenta o desempenho, mas diminui a confiabilidade, pois qualquer problema com um

dos dois HDs faz com que todos os dados sejam perdidos.

Existe também a opção de usar RAID 1, onde a partição no segundo HD simplesmente

guarda uma cópia dos dados do primeiro. Neste caso não existe ganho nenhum de

desempenho (pelo contrário, temos uma pequena perda), mas você ganha em

confiabilidade, já que o segundo HD passa a armazenar um backup automático. Este

sistema de RAID via software funciona da mesma forma que o RAID feito usando uma

controladora dedicada, porém funciona usando as portas IDE ou SATA da placa-mãe,

sem precisar de hardware adicional.

Para usar as partições em RAID você precisa mudar o sistema de arquivos para "volume

físico para RAID". Depois de combinadas, as duas partições passam a ser vistas como

uma única partição, que pode ser finalmente formatada usando o sistema de arquivos

que preferir.

Page 324: Línux entendo o sistema[JP.Conteudo]

Por padrão, o instalador monta as outras partições que encontrar no HD (incluindo as

partições do Windows e de outras distribuições), na pasta "/media", mas você pode

mudar para a pasta "/mnt" ou outra pasta que preferir. No screenshot abaixo você tem

um exemplo de configuração mais complexa, numa máquina com dois HDs e várias

partições. Note que o instalador detecta e usa as partições swap automaticamente,

mesmo que você tenha mais de uma.

Ao terminar, selecione a opção "Finalizar o particionamento e gravar as mudanças no

disco" (no final da lista), para continuar com a instalação.

Você notará que ao contrário de outras distribuições mais tradicionais, o Ubuntu não

oferece uma opção para selecionar os pacotes que serão instalados. O CD simplesmente

contém um sistema base, com os programas mais usados, que é instalado diretamente.

Isso reduz a flexibilidade, mas em compensação simplifica bastante a instalação do

sistema e permite que ele seja composto de apenas um CD, ao invés de vários, como no

caso do Mandriva ou Fedora.

Os programas adicionais podem ser baixados posteriormente via internet. Assim como o

Kurumin, o Ubuntu usa o apt-get como ferramenta de instalação, baixando os pacotes a

partir de um conjunto de repositórios próprios.

Depois da cópia dos pacotes, o instalador pergunta sobre o download dos pacotes com

as traduções. Embora seja mais fácil deixar que o instalador se encarregue disso, é

possível instalar manualmente depois, usando o apt-get ou o Synaptic.

Page 325: Línux entendo o sistema[JP.Conteudo]

Outra pergunta que levanta dúvidas é sobre a configuração do horário. No Linux, a hora

do relógio é calculada segundo o GMT, uma espécie de horário universal, da onde o

sistema subtrai o fuso horário para chegar ao horário na sua região. Quando ele pergunta

se "O relógio de hardware está configurado para GMT", ele está perguntando se o

relógio do micro está mostrando a hora certa (independente do fuso horário), ou se ele

está mostrando o horário GMT, da onde ele ainda vai subtrair três horas para chegar ao

horário de Brasília.

Basicamente, se você usa o Windows em dual boot, responda não, pois o Windows não

calcula o horário baseado no GMT, simplesmente mostra o horário atual do relógio. Em

caso de dúvida, veja se o horário do relógio que ele exibe está certo (neste caso

responda "não", pois ele está usando o horário local) ou se está três horas adiantado

(sintoma de que está ajustado para GMT)

Em seguida, ele pede para você escolher um nome e senha para a sua conta de usuário.

Um detalhe interessante sobre o Ubuntu é que a conta de root vem por padrão

desabilitada. Você utiliza o sudo para abrir programas como root e executar tarefas

administrativas. Para editar o "/etc/fstab" como root, usando o gedit, por exemplo, você

usaria o comando:

Page 326: Línux entendo o sistema[JP.Conteudo]

$ sudo gedit /etc/fstab

A senha que é solicitada no caso não é a senha de root (lembre-se, a conta de root é

desativada por padrão, não existe sequer uma senha definida), mas sim a senha da sua

conta de usuário. Como você pode ver, o usuário criado durante a instalação pode

executar qualquer comando como root, apenas adicionando "sudo" no início do

comando, assim como no Kurumin. O fato do sudo solicitar a senha de usuário é apenas

uma precaução contra a possibilidade de alguém executar comandos na sua máquina

aproveitando-se da sua ausência.

Voltando à instalação, o passo final é configurar o gerenciador de boot. O Ubuntu usa

do grub ao invés do lilo. Caso você esteja instalando ele sozinho, ou em dual-boot com

o Windows, basta instalar o grub no MBR, respondendo "sim" quando ele pergunta

"Instalar o carregador de inicialização GRUB no registro de inicialização principal?". O

instalador é capaz de detectar outros sistemas operacionais instalados e já inclui as

entradas no menu de boot automaticamente.

Mas, se você está instalando o Ubuntu junto com outras distribuições Linux, essa etapa

inspira mais cuidados. Uma das distribuições deve instalar o gerenciador na MBR e as

demais no primeiro setor da partição. Se você simplesmente for mandando todas

instalarem na MBR, uma vai substituir a outra e no final vai conseguir inicializar apenas

a última.

Para instalar o grub no primeiro setor da partição, responda "não" na pergunta. Ele

perguntará onde o grub deve ser instalado. O problema é que ele usa uma notação

diferente do padrão para nomear as partições. Se você está instalando na partição

"/dev/hda2", por exemplo, responda "hd0,1", se estiver instalando na partição

"/dev/hda5", responda "hd0,4" e, se estiver instalando no "/dev/hdb1", responda

"hd1,0".

Eu ainda pretendo dar umas bolachas em quem inventou essa nomenclatura ;), mas a

lógica é a seguinte:

Page 327: Línux entendo o sistema[JP.Conteudo]

Os dois números indicam o HD e a partição dentro dele. Ambos são nomeados a partir

do zero, de forma que o "/dev/hda" vira "0", o "/dev/hdb" vira "1", o "/dev/hdc" vira "2"

e o "/dev/hdd" vira "3". As partições também são nomeadas a partir do zero, de forma

que a "/dev/hda1" é "0,0" e a "/dev/hda5" é "0,4", sempre subtraindo 1.

Este primeiro estágio da instalação serve para copiar instalar um sistema base, os

pacotes para o HD e colher as informações necessárias. A instalação mesmo começa

depois de remover o CD e reiniciar a máquina, quando finalmente são instalados o

grosso dos pacotes e os pacotes de internacionalização são baixados via web.

Embora um pouco demorada, esta segunda etapa é automática. Depois de mais um

reboot, você finalmente cai na tela de login.

Uma última dica sobre a instalação é que além da instalação do sistema em si, o

instalador copia cerca de 300 MB de pacotes, que podem ser instalados posteriormente

pelo apt-get, sem que você precise ficar fornecendo o CD de instalação. Para desabilitar

esta cópia, economizando espaço e tornando a instalação mais rápida, use a opção

"linux archive-copier/copy=false" na tela de boot.

Instalando programas

Assim como o Kurumin, o Ubuntu também usa o apt-get como ferramenta de instalação

de pacotes e a configuração das fontes de atualização vai no arquivo padrão, o

Page 328: Línux entendo o sistema[JP.Conteudo]

"/etc/apt/sources.list". A principal diferença é que o Ubuntu utiliza um repositório

próprio e não os repositórios oficiais do Debian.

No caso do Ubuntu isto é necessário, pois, ao contrário do Debian padrão, novas

versões estáveis do Ubuntu são lançadas de 6 em 6 meses. Se utilizassem diretamente os

repositórios do Debian, teriam que utilizar o testing ou o unstable, o que exporia os

usuários a problemas diversos de instabilidades e pacotes quebrados ao tentar instalar

programas extras, como muitas vezes acontece no Kurumin, que utiliza os repositórios

oficiais.

Como não haveria mãos suficientes para manter versões separadas de todos os mais de

20.000 pacotes do Debian, os desenvolvedores do Ubuntu optaram por manter um

número relativamente pequeno de pacotes, contendo o Kernel, as bibliotecas base do

sistema, o Gnome e os programas mais usados, formando o conjunto que recebemos nos

CDs de instalação, chamado de "Main". Os demais pacotes vão num repositório

separado, o "Universe", que contém basicamente uma cópia "congelada" dos pacotes do

Debian Unstable, testados e atualizados periodicamente. Como estamos falando de um

número muito grande de pacotes, não é possível garantir que não existam falhas, mas,

em geral, os problemas são relativamente raros.

Por padrão, o apt-get vem configurado para usar apenas o main e os repositórios com as

atualizações e correções de segurança. Para ativar o uso do Universe, abra o arquivo

"/etc/apt/sources.list" e descomente as linhas:

deb http://archive.ubuntu.com/ubuntu breezy universe

deb http://security.ubuntu.com/ubuntu breezy-security universe

O "breezy" no caso corresponde à versão do Ubuntu em uso. No meu caso estou usando

o 5.10.

Complementando os dois, temos o "Backports", um repositório que contém

atualizações e novos pacotes vindos da versão de desenvolvimento do Ubuntu, uma

forma de ter acesso às atualizações sem precisar esperar o lançamento da versão

seguinte. Ele é uma espécie de "Unstable" do Ubuntu, ativado ao descomentar a linha:

deb http://archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse

As linhas que começam com "deb-src" ativam os repositórios que contém o código

fonte dos pacotes. Elas só são necessárias se você quiser experimentar compilar os

pacotes localmente para tentar ativar opções diversas. Lembre-se de que o Ubuntu é

baseado no Gnome, então, ao invés de usar o kedit ou o kwrite, você usa o gedit para

editar arquivos.

Depois de alterar o arquivo, atualize a base de dados do apt, rodando o:

$ sudo apt-get update

Assim como no Debian, os repositórios do Ubuntu possuem vários mirrors espalhados

pelo mundo. Para usar o mirror do Brasil, por exemplo, acrescente "br." no inicío das

urls, como em: deb http://br.archive.ubuntu.com/ubuntu breezy universe.

O repositório backports contém a categoria "restricted" que inclui alguns pacotes "não

livres", ou seja, programas que possuem algum tipo de restrição quanto ao seu uso ou

Page 329: Línux entendo o sistema[JP.Conteudo]

distribuição, ou simplesmente possuem o código fechado, como o Java. Muitos

programas e bibliotecas que usamos no dia-a-dia, incluindo drivers, flash, codecs para

vários formatos de áudio e até mesmo o suporte a músicas em MP3 se enquadra nesta

categoria. É muito difícil ter um sistema "100% livre", pois você vai precisar do suporte

a MP3 (por exemplo), mesmo se quiser apenas converter suas músicas para outro

formato.

Você pode complementar a lista incluindo mais dois repositórios, o Marillat e o Debian-

Unofficial, incluindo também as linhas:

deb ftp://ftp.nerim.net/debian-marillat/ etch main

deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted

No Ubuntu 5.10 em diante, você verá um aviso ao instalar qualquer pacote através

deles, relacionado à ausência de chaves de autenticação nos pacotes. Ele é normal e vai

continuar por algum tempo, até que todos os repositórios adotem o uso de chaves PGP.

Note que é preciso responder "s" para continuar a instalação:

AVISO : Os pacotes a seguir não podem ser autenticados !

w32codecs

Instalar estes pacotes sem verificação [s/N] ? s

Note que aqui estou adicionando os repositórios do "etch", que é a atual versão Testing

do Debian. Estes pacotes podem ser usados na última versão do Ubuntu, que é baseada

justamente no unstable, mas seja cauteloso ao usá-los. Caso o apt-get reclame de

dependências quebradas ao tentar instalar algum pacote ou disser que ele conflita com

pacotes já instalados, aborte a instalação e pesquise nos fóruns do Ubuntu

(http://www.ubuntuforums.org/) uma forma alternativa de instalá-los.

Alguns pacotes importantes, que vale a pena instalar depois de ativar os dois

repositórios, a fim de ter uma instalação mais completa, são:

- w32codecs: suporte a vídeos em WMF, Quick Time e outros formatos.

- sun-j2se5.0-jre-binary: suporte a Java, incluindo o plugin para o Firefox.

- flashplugin-nonfree e gsfonts-x11: Suporte a Flash no Firefox. O segundo pacote

contém algumas fontes de tela necessárias para o Flash funcionar corretamente.

- gstreamer0.8-mad, sox e lame: Suporte a músicas em MP3, incluindo a possibilidade

de converter para outros formatos e gravar CDs de música, usando os programas

apropriados.

- totem-xine, gstreamer0.8-plugins, gstreamer0.8-plugins-multiverse e

gstreamer0.8-ffmpg, faad, mjpgtools e ffmpeg: Suporte a formatos diversos de vídeo,

incluindo vídeos em Divx4 e Divx5. Depois de instalar os dois pacotes, rode o comando

"gst-register-0.8" para ativá-los.

- msttcorefonts: Instala fontes do Windows, como a Verdana, Times e Arial, úteis em

alguns programas e para a criação de documentos em geral. Na verdade, este pacote é

apenas um script que baixa as fontes da internet. A partir do Ubuntu 5.10, estas fontes já

vêm pré-instaladas.

Page 330: Línux entendo o sistema[JP.Conteudo]

- libdvdcss2: Adiciona suporte a DVDs protegidos. Este é o polêmico pacote que é

proibido nos EUA, mas é legal em quase todos os demais países.

- realplayer: Embora não sirva para muita coisa atualmente, o Realplayer completa o

time do suporte a vídeo, permitindo assistir aos vídeos no formato Realvideo.

Assim como no caso do Debian, é possível atualizar para novas versões do Ubuntu via

apt-get, sem precisar reinstalar. Por exemplo, para atualizar do Ubuntu 5.04 (hoary) para

o 5.10 (breezy), abra o arquivo "/etc/apt/sources.list" e substitua todas as instâncias de

"hoary" por "breezy" e rode o "apt-get update". Isso fará com que o apt-get passe a

utilizar os repositórios da nova versão.

Como a atualização consiste numa quantidade muito grande de arquivos, é interessante

primeiro baixar tudo, se necessário ao longo de mais de uma madrugada, e atualizar

tudo de uma vez, quando o download estiver completo e você estiver na frente do micro

para acompanhar o processo. Para baixar os pacotes necessários (sem instalar), rode o

comando:

# apt-get -d dist-upgrade

Para fazer a instalação, rode o:

# apt-get dist-upgrade

Usando o Synaptic

Além de instalar diretamente os programas usando o apt-get, o Ubuntu inclui um

gerenciador de atualizações, que por padrão fica ao lado do relógio, avisando sempre

que existem atualizações de segurança disponíveis e o "gnome-app-install" (Aplicações

> Adicionar aplicações), que serve como um gerenciador simples, para instalar

aplicativos comuns.

Page 331: Línux entendo o sistema[JP.Conteudo]

Este é um programa destinado a iniciantes, que permite instalar os programas mais

usados com dois cliques. Para quem procura uma opção mais avançada, está disponível

o Synaptic (Sistema > Administração > Gerenciador de Pacotes Synaptic), uma

ferramenta originalmente desenvolvida pela equipe da Conectiva, mas que hoje pode ser

encontrada em diversas distribuições. Ele também é incluído no Kurumin (Iniciar >

Sistema > Synaptic) e pode ser instalado em outras distribuições derivadas do Debian

via apt-get.

Uma dica é que apenas um deles pode ser aberto de cada vez, pois o primeiro trava o

acesso à base de dados do apt, fazendo com que o segundo reclame dizendo algo como

"Impossível obter trava exclusiva".

O Synaptic parece muito complexo à primeira vista e até certo ponto realmente é, mas

ele permite instalar e atualizar pacotes e alterar todas as principais configurações do apt

(incluindo as fontes de atualização), sem precisar se preocupar com os arquivos de

configuração.

A parte que mais assusta ao abri-lo pela primeira vez é a quantidade de pacotes

disponíveis, já que ele mostra todos os pacotes disponíveis em todos os mirrors ativados

no "/etc/apt/sources.list", incluindo o Universe, Backports, Marillat e outros. Os pacotes

estão, naturalmente, divididos em categorias. Clicando sobre os pacotes, você vê a

descrição e, nas propriedades, pode ver mais detalhes, como os arquivos que fazem

parte do pacotes e suas dependências, ou seja, quais outros pacotes serão instalados

junto, caso resolva adicioná-lo.

Os pacotes com o quadrado em branco são os disponíveis para instalação, os com o

quadrado verde são os já instalados e os com o quadrado verde com a estrelinha são os

que estão instalados, porém possuem atualizações disponíveis.

O Synaptic permite marcar várias ações (instalar, remover e/ou atualizar vários pacotes

de uma vez), por isso é interessante principalmente para quem gosta de deixar o micro

ligado à noite baixando e instalando coisas. Assim como no Gparted, as modificações

são realizadas de uma vez ao clicar no "Aplicar".

Page 332: Línux entendo o sistema[JP.Conteudo]

Clicando no "Marcar Todas as Atualizações", você instala de uma vez todas as

atualizações, o que inclui não apenas as atualizações de segurança, mas também todas

as atualizações gerais, para todos os programas instalados.

É possível também usar o próprio Synaptic para adicionar e remover fontes de

atualizações, ao invés de ter de editar manualmente o "/etc/apt/sources.list". Para isso,

clique no "Configurações > Repositórios".

Inicialmente, você tem acesso aos repositórios ativados. Para adicionar um novo, clique

no "Adicionar".

Ao invés de simplesmente permitir que você inclua a linha que iria no sources.list, o

Synaptic usa uma sintaxe um pouco diferente. No campo "URL" vai o endereço do

repositório, como em "ftp://ftp.nerim.net/debian-marillat/". No campo "Distribuição"

vai o nome da versão do Ubuntu ou Debian, como em "etch". Finalmente, no terceiro

campo vai a lista de pastas dentro do repositório que serão usadas, como "main".

A linha pata adicionar o repositório do Marillat, que no sources.list seria "deb

ftp://ftp.nerim.net/debian-marillat/ etch main", na configuração do Synaptic fica:

Page 333: Línux entendo o sistema[JP.Conteudo]

Configurando o Gnome

Assim como o KDE, o Gnome não é um simples gerenciador de janelas, mas sim um

desktop, com um conjunto de bibliotecas, ferramentas de desenvolvimento e vários

programas que facilitam o uso e configuração do sistema. Com exceção do Kernel e

drivers, tanto o Gnome quanto o KDE são praticamente sistemas operacionais

completos.

As principais diferenças entre os dois são a biblioteca usada e a filosofia de

desenvolvimento. O Gnome é baseado na biblioteca GTK2, quanto o KDE usa a Qt. O

KDE segue uma filosofia "mais é mais", onde temos um ambiente com muitas opções

de configuração e o máximo de recursos possível, que agrada a usuários avançados. O

Gnome por sua vez utiliza uma filosofia "menos é mais", onde os aplicativos e menus

conservam apenas as opções mais usadas e mais importantes, de forma a facilitar o uso,

o que por sua vez faz torna o uso inicial do sistema mais simples, o que agrada muitos

iniciantes.

As limitações da filosofia do KDE se tornam óbvias quando você começa a encontrar

opções duplicadas (na verdade opções com o mesmo nome, mas que servem para coisas

diferentes) e a se perder no meio das opções do Centro de Controle, enquanto no caso

do Gnome as limitações surgem quando você quer fazer algo e simplesmente percebe

que não existe uma opção para isso.

Um exemplo no caso do KDE é o menu "Configurações" do K3B, onde você encontra

duas opções aparentemente idênticas "Configurar K3B..." e "Configurar K3B", onde

uma abre a janela principal de configuração e a outra abre o K3Bsetup, que verifica as

permissões dos executáveis de sistema usados pelo K3B.

Um exemplo clássico no caso do Gnome é a ausência de uma ferramenta para editar o

menu iniciar. Apenas no Ubuntu 5.10 foi incluído um aplicativo externo para isso, o

smeg (veja a seguir). Muitas coisas que são simples no KDE tornam-se complicadas no

Gnome, pois sem uma opção de configuração disponível você acaba tendo que se virar

com o gconf-editor, ou sair procurando nos arquivos de configuração. A simplicidade

acaba sendo uma faca de dois gumes.

Nada impede que você use aplicativos do KDE no Gnome ou vice-versa, mas existe

uma certa penalidade em termos de desempenho ao fazer isso. Misturando aplicativos

dos dois ambientes o sistema precisa manter as duas bibliotecas carregadas, o que

Page 334: Línux entendo o sistema[JP.Conteudo]

consome mais memória RAM e processamento. Os próprios aplicativos demoram mais

para carregar "fora de casa", pois é preciso primeiro carregar as bibliotecas e outros

componentes necessários para depois começar o carregamento do aplicativo em si. Um

exemplo clássico é o Konqueror, que abre quase que instantaneamente no KDE, mas

pode demorar de 10 a 20 segundos para carregar no Gnome. Outra questão é o aspecto

visual: os aplicativos do KDE e do Gnome possuem uma aparência bem diferente, o que

faz com que os programas de um fiquem um tanto quanto desfocados ao serem abertos

no outro.

Devido a tudo isso, a maior parte das distribuições adota um dos dois ambientes como

padrão e centraliza o desenvolvimento em torno dele, dando preferência aos aplicativos

e ferramentas de configuração desenvolvidas para ele. O Ubuntu é baseado no Gnome,

daí a necessidade de falarmos um pouco sobre sua configuração :).

Barras e Applets: Assim como no KDE, é possível alterar a posição da barra de tarefas,

criar uma segunda barra, no topo ou canto da tela (é possível ter até 4) e incluir applets

diversos. A configuração do Gnome é feita através do menu "Administração", que

centraliza as opções mais básicas e através do "gconf-editor", uma espécie de "editor de

registro", que centraliza um conjunto de opções "avançadas", que ficam escondidas por

padrão.

Enquanto o KDE adota por padrão um visual mais "Windows", o Gnome diferencia-se

por usar um visual mais estilo "MacOS", com a barra de menu no topo da tela e uma

segunda barra com as janelas abertas na parte inferior. Alguns usuários preferem assim,

mas outros estranham bastante.

Page 335: Línux entendo o sistema[JP.Conteudo]

Naturalmente, nada é fixo. O Gnome permite que você utilize múltiplas barras de

tarefas, você pode ter até quatro barras fixas (uma em cada canto da tela) e mais um

número indefinido de barras flutuantes, que podem incluir applets diversos. Os applets

são pequenos aplicativos que se integram à barra, permitindo que você tenha as funções

que acha mais úteis à vista.

Clicando sobre uma das barras existentes, você verá um menu como o do screenshot a

seguir. Aqui você pode adicionar applets à barra de tarefas (relógio, monitor de sistema,

lista de janelas, menu, etc.), adicionar atalhos para aplicativos do menu, além de

configurar a largura da barra, criar novas barras ou simplesmente deletá-la, caso você

não queira a barra no topo da tela por exemplo. A barra em si é apenas um espaço para

incluir os applets que você usa.

Uma configuração comum é mover todos os componentes úteis da barra do topo para a

de baixo e em seguida desativá-la, deixando apenas uma barra ativa, como no KDE.

Muita gente prefere desta forma, pois aumenta a área útil da tela. Em geral os

desenvolvedores usam monitores grandes, a 1280x1024 ou mais, enquanto muito

usuários ainda estão nos 800x600. O visual padrão do Gnome é confortável para quem

usa monitores grandes, mas não necessariamente para quem usa o desktop a 1024x768

ou menos.

Além dos applets mais conhecidos, é possível adicionar um conjunto muito grande de

outros applets, incluindo monitores de sistema, monitores de rede e modem, utilitários

para trocar o layout do teclado e besteirinhas diversas. Você tem acesso a eles usando o

botão "Adicionar ao Painel":

Page 336: Línux entendo o sistema[JP.Conteudo]

O conjunto básico, usado por 8 em cada 10 usuários inclui o Relógio (Acessórios >

Relógio), o menu do Gnome que faz as vias de iniciar ("Menu Principal" no Ubuntu), a

lista de janelas abertas (Área de Trabalho e Janelas > Lista de Janelas) e o controle de

volume (System & Hardware > Controle de Volume).

Clicando sobre qualquer um dos componentes adicionados à barra de tarefas você tem

acesso a mais um menu, que permite mover ou editar as propriedades. Quase todos os

applets oferecem algumas opções que podem ser editadas aqui.

Gerenciador de arquivos: O gerenciador de arquivos default do Gnome é o Nautilus.

Ele oferece um conjunto de recursos bastante interessante, com preview de arquivos,

opções de filtros, comentários para pastas e assim por diante. Ao contrário do

Konqueror, que também é navegador, o Nautilus se concentra na tarefa de gerenciador

de arquivos, deixando a parte de navegação em aberto para que você escolha entre o

Firefox, Epiphany (um Firefox adaptado para se integrar ao Gnome) ou algum dos

outros navegadores disponíveis.

Page 337: Línux entendo o sistema[JP.Conteudo]

Você notará que, mesmo como gerenciador de arquivos, ele oferece uma quantidade

muito menor de opções e recursos que o Konqueror, fazendo com que muita gente que

vem do KDE, ou mesmo do Windows estranhe bastante. Novamente, caímos na questão

do "mais" ou do "menos": o Nautilus oferece menos opções mas em geral é mais

simples de usar, o que faz com que algumas pessoas sejam mais produtivas com ele. É

mais uma questão de escolha pessoal neste caso.

O Nautilus possui um conjunto de plugins, que são acessados através de endereços (algo

parecido como o "fish://" ou o "fonts:/" do Konqueror, por exemplo). Pressione Ctrl+L

para que ele mostre a barra de endereços. A partir daí, você pode usar uma das

localizações a seguir. Muitas delas são acessíveis também através do menu ou de outros

atalhos espalhados pelo sistema.

fonts:///: Mostra as fontes true-type instaladas no sistema. Você pode instalar outras

fontes (fontes do Windows ou do Corel Draw, por exemplo), arrastando os arquivos

para dentro da pasta. Lembre-se de que no Windows as fontes vão na pasta

C:\Windows\Fonts.

network:///: Mostra e acessa compartilhamentos de rede. Para acessar

compartilhamentos do Windows, verifique se o pacote "smbclient" está instalado.

computer:///: Mostra as partições, CDs, DVDs, disquetes e outras unidades de

armazenamento do micro. É similar ao "devices:/" do Konqueror.

burn:///: Muita gente reclama que o Gnome não possui uma ferramenta de gravação de

CDs, como o K3B. Na verdade, o Nautilus inclui um gravador de CD embutido,

acessado através desta url. Basta arrastar os arquivos que serão gravados para dentro da

janela e clicar no "Gravar no disco".

Page 338: Línux entendo o sistema[JP.Conteudo]

themes:///: Por aqui você pode alterar o tema visual do Gnome. Entre os pré-instalados

no Ubuntu 5.10, o meu favorito é o "ClearLooks", usado na maioria dos screenshots que

está vendo. O tema padrão do Ubuntu, baseado em tons de marrom e bege, não agrada

todo mundo.

Preferências: Como disse, o Gnome tem suas preferências divididas em dois grupos.

As opções mais básicas estão concentradas no menu "Sistema > Preferências", onde

você configura as associações de arquivos no Nautilus, os atalhos de teclado, fontes,

temas e outras opções visuais do sistema, opções do mouse e som, e assim por diante.

O restante das configurações ficam escondidas no gconf-editor (Aplicações >

Ferramentas do sistema > Editor de Configurações), que funciona como uma espécie de

"editor de registro" exibindo todo tipo de configuração escondida, não apenas para o

Gnome em si, mas para a maior parte dos aplicativos baseados nele.

Atalhos de teclado: O Gnome suporta a maior parte dos atalhos de teclado do KDE.

Pressionando Alt+F1, você abre o menu iniciar, Alt+F2 abre o "Executar uma

aplicação", Alt+Tab alterna entre as janelas abertas e Ctrl+Alt+D minimiza todas as

janelas abertas. Ele inclui também alguns atalhos próprios: pressionando a tecla

PrintScreen você abre o gnome-screenshot, que tira screenshots da tela e os salva em

.png (de forma bem similar ao Ksnapshot do KDE).

Para alternar entre os desktops virtuais, você pressiona Ctrl+Alt+seta (usando as setas

do teclado, para a direita ou esquerda), enquanto no KDE você pressionaria Ctrl+F1,

Page 339: Línux entendo o sistema[JP.Conteudo]

Ctrl+F2, etc. Para mandar uma janela para outro desktop, clique com o botão direito

sobre a barra de título e use a opção "Mover para outra área de trabalho".

Existem ainda alguns atalhos para lidar com as janelas abertas: Ctrl+F9 minimiza a

janela atual, Ctrl+F10 maximiza, Ctrl+F4 fecha a janela e Ctrl+Espaço abre o menu

"Arquivo" do programa. Estes atalhos podem ser alterados no "Sistema > Preferências >

Atalhos de teclado".

Além dos atalhos relacionados à interface, a maior parte dos aplicativos (tanto do

Gnome, quanto do KDE), suportam também Ctrl+C para copiar e Ctrl+V para colar,

Ctrl+Z para desfazer a última ação, Ctrl+N para criar um novo documento e Ctrl+S

para salvar.

Editor de menus: Para editar o menu iniciar, use o smeg. Ele é instalado por padrão no

Breezy e nas versões anteriores estava disponível via apt-get. Você pode usar o menu,

ou chamá-lo pelo terminal, rodando o comando "smeg".

Ele funciona de uma forma similar ao kmenuedit. Ao criar uma nova entrada no menu,

você escolhe um ícone e inclui o comando de terminal que executa o programa. Ao

incluir entradas para programas de linha de comando, como o mcedit ou o partimage,

inclua o comando "xterm -e", como em "xterm -e mcedit". Isso faz com que, ao clicar

sobre o ícone, ele abra uma janela de terminal com o programa.

Page 340: Línux entendo o sistema[JP.Conteudo]

Mais configurações

Por também ser baseado no Debian, a configuração do Ubuntu é muito similar à do

Kurumin em muitos aspectos. As principais diferenças é que ele utiliza o Gnome por

padrão, usa um conjunto diferente de programas e, naturalmente, você não poderá

contar com os ícones mágicos ao trabalhar com ele. Mas, por outro lado, nada impede

que você instale mais drivers e aplicativos ou até mesmo substitua o Gnome pelo KDE.

É tudo uma questão de abrir o terminal e usar o apt-get :).

KDE

O Ubuntu é inteiramente desenvolvido em torno do Gnome. O resultado é um conjunto

bem integrado, mas sem aplicativos como o K3B, Konqueror, Kaffeine & cia., que

muita gente gosta e usa.

Os aplicativos do KDE fazem parte do universe, e podem ser instalados

individualmente, como em "apt-get install k3b", onde são baixadas todas as bibliotecas

necessárias. Note que muitas vezes o volume é considerável, pois será necessário

instalar uma grande parte das bibliotecas base do KDE para instalar um único

aplicativo.

Se você preferir instalar o KDE completo, a melhor opção é instalar o meta-pacote

"kubuntu-desktop", que instala um conjunto completo (cerca de 120 MB), contendo o

KDE e aplicativos. O Kubuntu é uma personalização do Ubuntu que usa o KDE por

padrão. Este pacote instala a personalização sobre o Ubuntu, permitindo até mesmo que

você passe a usar o KDM (o gerenciador de login do KDE), no lugar do GDM:

$ sudo apt-get install kubuntu-desktop

Se preferir um conjunto menor, apenas com os pacotes base do KDE, experimente

instalar o pacote "kdebase". Acrescente sempre o pacote "kde-i18n-ptbr" na atualização,

para que os aplicativos fiquem em português:

$ sudo apt-get install kdebase kde-i18n-ptbr

Uma vez instalados, os programas do KDE passam a aparecer também no iniciar do

Gnome e vice-versa. Por mais que você goste mais de um dos ambientes, você vai

acabar sempre misturando programas dos dois no dia-a-dia. Uma dúvida comum é como

fazer os aplicativos do KDE ficarem mais parecidos com os do Gnome, quando

executados dentro do Gnome, e vice-versa, já que o visual padrão dos programas do

KDE quando abertos no Gnome é duro de engolir ;).

Para "gnomizar" os programas do KDE, precisamos instalar dois pacotes, o "qt3-config"

e o "polymer", que os deixam com um visual bem parecido com o do tema

"ClearLooks" do Gnome.

Para isso, comece instalando o pacote qt3-config que está disponível no Ubuntu via apt-

get:

$ sudo apt-get install qt3-qtconfig

Page 341: Línux entendo o sistema[JP.Conteudo]

Em seguida, precisamos adicionar a linha:

deb http://www.informatik.tu-cottbus.de/~mkrause/debian sid main

... onde está disponível o pacote do Polymer no "/etc/apt/sources.list". Vamos aproveitar

para treinar um pouco o uso do terminal, fazendo isso do jeito mais difícil, direto pela

linha de comando com a ajuda do comando "echo".

Especificando os endereços entre aspas simples e usando o ">>" fazemos com que ele

escreva a linha direto no final do arquivo, sem precisar abri-lo no editor. Para isso,

precisamos primeiro usar o comando "sudo su" para virar root, pois o echo não aceita

escrever em arquivos do sistema se executado pelo sudo:

$ sudo su

# echo 'deb http://www.informatik.tu-cottbus.de/~mkrause/debian sid main' \

>> /etc/apt/sources.list

Depois de adicionar o novo repositório, rode o "apt-get update" e instale o pacote

"polymer":

# apt-get update

# apt-get install polymer

Até aqui você ainda está logado como root. Use o comando "exit" ou pressione Ctrl+D

para voltar a ser um reles mortal e rode o comando "polymer-config", para ativar a

configuração.

# exit

$ polymer-config

Para fazer o contrário, "kdeizar" os aplicativos do Gnome, abra o "Painel de Controle do

KDE > Aparência e Temas > GTK styles and fonts" e marque as opções "Use my KDE

style in GTK applications" e "Use my KDE fonts in GTK applications". Esta é uma

opção padrão do KDE a partir do 3.3.4, pode ser usada em outras distribuições, não

apenas no Ubuntu.

Page 342: Línux entendo o sistema[JP.Conteudo]

Impressora

Para instalar uma nova impressora, você tem duas opções. A primeira é usar o "gnome-

cups-add", o utilitário para instalar novas impressoras que pode ser encontrado no

"Sistema > Administração > Impressoras". A função dele é detectar a impressora e

apenas confirmar as configurações antes de adicioná-la. Se isso não acontecer,

experimente reiniciar o hotplug, para que os periféricos USB sejam redetectados:

$ sudo /etc/init.d/hotplug restart

O gnome-cups-add permite também instalar impressoras de rede, tanto as

compartilhadas por máquinas Windows, quanto as compartilhadas por outras máquinas

Linux através do Cups e pode ser instalado no Kurumin e outras distros derivadas do

Debian via apt-get:

# apt-get install gnome-cups-manager

Caso a impressora não seja detectada automaticamente, mesmo depois de reiniciar o

hotplug, ainda resta a opção de especificá-la manualmente, como no kaddprinterwizard.

Se o modelo não aparecer na lista de impressoras suportadas, experimente usar algum

outro modelo próximo, do mesmo fabricante. Em alguns casos, a impressora pode

aparecer na lista com um nome diferente, a Lexmark E230, por exemplo, funciona com

o driver "Lexmark Optra E+".

Page 343: Línux entendo o sistema[JP.Conteudo]

Você pode ver algumas dicas sobre a configuração de impressoras "difíceis" no

https://wiki.ubuntu.com/HardwareSupportComponentsPrinters.

Nos casos mais complicados, você pode pesquisar sobre a impressora no banco de

dados do http://www.linuxprinting.org/.

A segunda opção é usar o printconf (como no Kurumin) para que ele tente detectar e

instalar a impressora automaticamente. Instale-o via apt-get e depois execute-o como

root:

$ sudo apt-get install printconf

$ sudo printconf

Pendrive e CD-ROM

O Ubuntu utiliza uma combinação de scripts do hotplug e funções do Nautilus (o

gerenciador de arquivos do Gnome) para detectar pendrives e oferecer uma forma

simples de gravar CDs/DVDs de dados.

Assim que você pluga um pendrive na porta USB, o hotplug detecta o novo dispositivo

e dispara um script que cria um ícone no desktop, monta e abre uma janela do Nautilus

mostrando os arquivos. Antes de remover o pendrive, você precisa clicar sobre o ícone

no desktop e usar a opção "Desmontar Volume de Dados" para sincronizar os dados.

Não remova o pendrive diretamente, caso contrário você sempre vai perder as últimas

alterações.

Ao colocar um CD ou DVD virgem no gravador, é automaticamente aberta uma janela

do Nautilus perguntando o que deseja fazer com ele. Ao escolher "Gravar um CD de

dados", abre-se uma janela do Nautilus, para onde você arrasta os arquivos e pastas que

serão gravados e clica no botão "Gravar no disco" para iniciar a gravação.

Um recurso similar, que você encontra no Kurumin e em outras distribuições baseadas

no KDE é um menu de contexto do K3B. Clique com o botão direito sobre uma pasta e

selecione a opção "Ações > Gravar um CD de dados usando o K3B". Isso dispara um

script que abre o K3B já com um seção criada, contendo todo o conteúdo da pasta, onde

você só precisa clicar no botão "Queimar..." para iniciar a gravação.

Page 344: Línux entendo o sistema[JP.Conteudo]

Embora não venha instalado por padrão, o K3B faz parte do repositório Universe, junto

com outros aplicativos e ferramentas do KDE. Depois de incluir a linha no

"/etc/apt/sources.list", você pode instalá-lo pelo apt-get. Instale junto o pacote "k3b-

mp3", que permite gravar CDs de música a partir de arquivos em MP3:

$ sudo apt-get install k3b k3b-mp3

A partir da versão 5.10, o Ubuntu também oferece suporte a vários dos botões de

funções encontrados em notebooks, como os para ajustar o brilho da tela, ativar ou

desativar o som, etc., que dependem de suporte por parte do sistema operacional.

Boa parte das melhorias com relação ao suporte a hardware foram desenvolvidas com

ajuda dos usuários. No "Aplicações > Ferramentas de Sistema > Banco de Dados de

Dispositivos do Ubuntu" você encontra um utilitário que permite enviar feedback sobre

o suporte ao hardware do seu micro. Ele vai executando testes de som, rede, vídeo, etc.

para detectar dispositivos que não estejam funcionando e envia tudo na forma de um

relatório, que permite aos desenvolvedores trabalhar em adicionar suporte aos

dispositivos que não estão funcionando corretamente.

Root, sudo e terminal

Muita gente estranha a conta de root desabilitada no Ubuntu. Se você é um deles, pode

ativar a conta de root e passar a usar o sistema da forma usual de uma forma bem

simples:

# sudo passwd

Sim, é só isso ;). Ao definir a senha, a conta de root é ativada e você passa a poder usá-

la normalmente, como em outras distribuições. O sudo continua ativo, de forma que

você pode usar o su ou sudo para executar comandos como root, de acordo com sua

preferência. Se resolver travar o root novamente, use o comando "sudo passwd -l root".

Se preferir que o sudo não peça a sua senha de usuário ao executar comandos (como no

Kurumin), abra o arquivo "/etc/sudoers" (como root), onde vai a configuração do sudo

e substitua a linha:

%admin ALL=(ALL) ALL

por:

%admin ALL=NOPASSWD: ALL

O "%admin" indica que todos os usuários que fizerem parte do grupo "admin" (que

originalmente inclui apenas o usuário criado durante a instalação) poderão usar o sudo.

Você pode também especificar o login diretamente, como em:

tux ALL=NOPASSWD: ALL

As alterações neste arquivo entram em vigor automaticamente, por isso mantenha a

janela do editor aberta até testar e ver que está tudo ok. Assim, no caso de algum

problema, você pode desfazer a alteração rapidamente.

Page 345: Línux entendo o sistema[JP.Conteudo]

Se você usa bastante o terminal, outra configuração importante é o autocompletar. Por

padrão, o autocompletar no terminal vem desativado para o root, o que atrapalha

bastante se, como eu, você está acostumado a completar os comandos usando a tecla

TAB. Para ativar, abra o arquivo "/etc/bash.bashrc" e descomente as linhas:

if [ -f /etc/bash_completion ]; then

. /etc/bash_completion

fi

Drivers adicionais e VMware

Para conseguir instalar drivers adicionais (como os drivers de softmodems, drivers da

nVidia e outros) ou mesmo aplicativos como o VMware, que precisam de um módulo

de Kernel para trabalhar, você precisa ter instalado um conjunto básico de compiladores

e também os headers do Kernel, que contém um conjunto de arquivos e endereços

necessários para que o compilador consiga gerar um módulo adequado para o Kernel

que está em uso.

No caso do Ubuntu, tudo começa com a instalação do pacote "build-essential", que

contém um conjunto básico de ferramentas e scripts:

$ sudo apt-get install build-essential

Este pacote base precisa ser complementado com (pelo menos) o gcc e o g++, os dois

compiladores principais. Um problema aqui é que para compilar os módulos sem erros,

é preciso instalar as mesmas versões do gcc e g++ que foram usadas para compilar o

Kernel em uso. Diferentes versões do gcc freqüentemente possuem incompatibilidades

entre si.

A forma mais simples de descobrir isso é através do arquivo "/proc/version":

$ cat /proc/version

Se você estiver usando o Ubuntu 5.10, por exemplo, vai receber como resposta:

Linux version 2.6.12-9-386 (buildd@rothera) (gcc version 3.4.5 20050809)

Por aqui podemos ver que está sendo usado o Kernel 2.6.12-9 (compilado sem

otimizações para os processadores atuais, daí o "386"), que por sua vez foi compilado

usando o gcc 3.4.

O próximo passo é instalar os dois pacotes pelo apt-get, informando a versão do gcc que

foi usada para compilar o Kernel , como em:

$ sudo apt-get install gcc-3.4 g++-3.4

Aproveite para criar também os links "/usr/bin/gcc" e "/usr/bin/g++", apontando para os

dois executáveis instalados. Isso faz com que eles passem a ser usados por padrão,

mesmo que a versão seja diferente da instalada junto com o pacote "build-essential".

Page 346: Línux entendo o sistema[JP.Conteudo]

# cd /usr/bin

$ ln -sf gcc-3.4 gcc

$ ln -sf g++3.4 g++

Finalmente, você precisa instalar o pacote com os headers do Kernel, novamente

informando a versão, como em:

$ sudo apt-get install linux-headers-2.6.12-9-386

Neste ponto, você pode testar seu "suporte à compilação", instalando o VMware Player.

Apesar de não parecer, ele precisa de todos estes componentes, pois o instalador precisa

compilar um módulo adequado ao Kernel em uso para que o VMware possa funcionar.

Baixe o instalador for Linux (a versão .tar) no:

http://www.vmware.com/download/player/.

Descompacte o arquivo e, dentro da pasta "vmware-player-distrib" que será criada, rode

o comando "vmware-install.pl", como root:

$ sudo vmware-install.pl

Caso ao instalar você receba um erro dizendo que a versão do gcc em uso é diferente da

diferente da usada para compilar o Kernel (sintoma de que o instalador está tentando

usar a versão errada), indique manualmente a versão, usando o comando:

$ export CC=/usr/bin/gcc-3.4

... e rode novamente o comando "sudo vmware-install.pl".

Depois de instalado, você vai precisar de alguma máquina virtual previamente criada

para usar dentro do vmplayer. Uma solução simples é dar boot com um CD do Kurumin

(Do 5.1 em diante) e usar o script dentro do Kurumin-EMU para criar ou editar a VM e

salvá-la dentro da partição do Ubuntu.

Lembre-se de que dentro do VMware o ambiente visto pelo sistema guest, instalado

dentro da VM é sempre o mesmo, independentemente da configuração real do micro.

As máquinas virtuais funcionam perfeitamente mesmo quando abertas em outro micro

ou em outro sistema operacional. Não existe problema nem mesmo em usar uma VM

criada no Linux numa cópia do VMware instalada no Windows XP e vice-versa.

Wireless e ADSL

Assim como no Kurumin, o Ubuntu inclui um conjunto de drivers nativos para várias

placas wireless suportadas, que são automaticamente detectadas durante a instalação e

também o Ndiswrapper, que serve como uma segunda opção para ativar placas que não

são originalmente suportadas, usando o driver do Windows.

No caso das placas ativadas durante a instalação, você pode configurar os parâmetros da

rede usando o network-admin (Sistema > Administração > Rede).

Page 347: Línux entendo o sistema[JP.Conteudo]

Selecione a placa wireless no menu, clique no "Propriedades", defina o ESSID da rede,

chave e a configuração dos endereços e clique no "ok" para salvar. De volta ao menu

principal, selecione a placa e clique no "Ativar".

Na opção "Dispositivo padrão de gateway" mude de "eth0" (a placa de rede cabeada)

para a placa wireless, como "wlan0" ou "ath0".

Fazendo isso, a sua conexão wireless já deve estar funcionando. Mas, em caso de

problemas com o network-admin, você também pode configurar os parâmetros da rede

wireless manualmente, usando os comandos abaixo. Lembre-se de substituir o "wlan0"

pelo dispositivo correto da placa wireless, caso diferente:

$ sudo ifconfig eth0 down

(desativa a placa de rede cabeada antes de ativar a placa wireless, evitando problemas

com a rota padrão, ou seja, evitando que o sistema continue tentando acessar a rede

através da placa cabeada, mesmo depois de ativar a wireless)

$ sudo iwconfig wlan0 essid minharede

(configura ESSID, ou seja, o nome da rede)

$ sudo iwconfig wlan0 channel 10

(define o canal usado pelo ponto de acesso)

$ sudo iwconfig wlan0 key restricted s:minhachavewep

(aqui vai a chave de encriptação da rede. Se a rede não estiver com a encriptação

ativada, pule este passo)

Page 348: Línux entendo o sistema[JP.Conteudo]

$ sudo ifconfig wlan0 up

(ativa a placa wireless, com as configurações definidas)

$ sudo dhclient wlan0

(configura a placa wireless via dhcp)

Depois de ativada, você pode checar os parâmetros da rede, incluindo a velocidade da

rede (1, 2, 5, 11, 22, 54 ou 108 megabits), qualidade do sinal, etc. usando o comando:

$ iwconfig wlan0

Se você precisa se conectar a várias redes diferentes, experimente usar o kwifimanager,

disponível via apt-get depois de ativar o repositório universe.

No caso do Ndiswrapper, é preciso instalar o pacote "ndiswrapper-utils". Embora não

seja instalado por padrão, ele faz parte do CD de instalação, de forma que você não

precisa estar conectado para fazer a instalação:

$ sudo apt-get install ndiswrapper-utils

Por padrão, o Ubuntu não inclui nenhum assistente de configuração, de forma que a

configuração do Ndiswrapper precisa ser feita manualmente, via terminal. Comece

acessando a pasta com o driver e use o comando "ndiswrapper -i" para indicar o arquivo

.inf que será usado, como em:

$ sudo ndiswrapper -i neti2220.inf

Em seguida carregue o módulo usando o comando:

$ sudo modprobe ndiswrapper

Se o led da placa acendeu, experimente configurá-la da forma usual, utilizando o

network-admin. Lembre-se de que além dos parâmetros da rede wireless, você deve

configurar o IP, máscara e outros parâmetros da rede.

Ao ser ativada através do Ndiswrapper, ela é vista pelo sistema como "wlan0". Se não

funcionar, teste com uma versão diferente do driver for Windows. Acesse o

http://ndiswrapper.sourceforge.net/mediawiki/ e veja se não existe uma versão do driver

recomendada para a sua placa.

Uma vez que a conexão esteja funcionando, salve a configuração usando o comando:

$ sudo ndiswrapper -m

Depois de entender como o Ndiswrapper funciona, você pode passar a usar o Ndisgkt,

um pequeno programa de configuração que automatiza o processo de instalar o driver

do Windows e configurar a rede. Ele está disponível no Universe, basta instalá-lo pelo

apt-get ou Synaptic:

$ sudo apt-get install ndisgtk

Page 349: Línux entendo o sistema[JP.Conteudo]

Depois de instalado, será incluído o ícone "Windows Wireless Drivers" no menu

"Sistema > Administração". Na verdade, o único motivo de não indicar o ndisgtk desde

o início, é fazer com que você primeiro lesse sobre a configuração manual do

ndiswrapper ao invés de ir diretamente para ele ;).

Completando, o Ubuntu também oferece suporte a conexões via ADSL com

autenticação, utilizando o pppoeconf, o mesmo script usado no Kurumin. Este é o script

padrão em todas as distribuições derivadas do Debian, incluído sem modificações.

Antes de abrir o pppoeconf, abra o network-admin e desative a placa onde o modem

está conectado (caso necessário). Em muitas situações, ele não consegue detectar o

modem corretamente caso a placa onde ele está conectado estiver configurada como

conexão de rede local. Lembre-se de que ao invés de ficar discando através do

pppoeconf, você pode configurar seu modem ADSL como roteador, de forma que o

próprio modem faça a autenticação e compartilhe a conexão com o seu micro.

Driver 3D da nVidia

O Ubuntu inclui uma versão pré-compilada do driver 3D da nVidia, que pode ser

instalado usando o apt-get. Instalar o driver desta forma é mais prático, pois você não

precisa de compiladores nem dos headers do Kernel, como precisaria ao instalar

manualmente o pacote baixado no www.nvidia.com.

$ sudo apt-get install nvidia-glx

Page 350: Línux entendo o sistema[JP.Conteudo]

Depois de instalar o driver, falta mudar a configuração do vídeo para que ele seja usado.

Aqui você poderia usar a receita tradicional e editar o arquivo "/etc/X11/xorg.conf",

trocando o driver "nv" (o driver 2D que vem com o X) por "nvidia" (o driver 3D), ou

usar o comando:

$ sudo dpkg-reconfigure xserver-xorg

Ele refaz a configuração do vídeo, pedindo várias confirmações. Como tudo é

autodetectado, você pode simplesmente ir pressionando <Enter> em todas. Preste

atenção apenas para escolher "nvidia" na segunda pergunta, referente ao driver de vídeo

que será usado.

Firewall

Uma questão polêmica em torno do Ubuntu é o fato do sistema não incluir nenhum

script ou utilitário de configuração de firewall por padrão. Segundo os desenvolvedores,

o firewall não é necessário, pois na configuração padrão o sistema não mantém nenhum

servidor ativo, fazendo com que a possibilidade de existir qualquer brecha de segurança

seja pequena.

Mesmo assim, é sempre interessante manter um firewall ativo num micro conectado

diretamente à internet. Você pode fazer isso escrevendo um script simples de firewall,

que simplesmente bloqueie o acesso a todas as portas, ou utilizar o Firestarter, o mesmo

firewall gráfico incluído no Kurumin.

Um exemplo de firewall manual, que simplesmente fecha todas as portas, permitindo

que você consiga acessar a rede e a internet, mas impedindo que outros micros acessem

serviços ativos na sua máquina seria:

iptables -A INPUT -p tcp -s 127.0.0.1/255.0.0.0 -j ACCEPT

iptables -A INPUT -p tcp --syn -j DROP

Estes são na verdade dois comandos de terminal, que ativam o Iptables (o firewall

nativo do sistema, incluído no próprio Kernel), permitindo que programas se

comuniquem internamente usando a interface de loopback, mas bloqueando qualquer

acesso externo. Pra desativar as regras, use o comando:

$ sudo iptables -F

Para permitir acessos provenientes dos micros da rede local, você inclui mais uma regra

(antes das outras duas), especificando os micros dentro da faixa de endereços usada na

rede local. Substitua o "192.168.0.0" pela faixa de endereços usada na sua)

iptables -A INPUT -p tcp -s 192.168.0.0/255.255.255.0 -j ACCEPT

iptables -A INPUT -p tcp -s 127.0.0.1/255.0.0.0 -j ACCEPT

iptables -A INPUT -p tcp --syn -j DROP

Estes comandos podem ser executados diretamente no terminal. Para que a mudança

torne-se definitiva, inclua-os no final do arquivo "/etc/init.d/bootmisc.sh", antes do

"exit 0".

Page 351: Línux entendo o sistema[JP.Conteudo]

Naturalmente, configurar as regras manualmente só é necessário se você realmente

gosta da linha de comando. O Firestarter é bem mais simples de usar e inclui mais

funções. Ele faz parte do Universe, e (uma vez ativado o repositório) pode ser instalado

via apt-get:

$ sudo apt-get install firestarter

Você pode executá-lo usando o comando "sudo firestarter" ou usando o ícone no

"Aplicações > Ferramentas de Sistema > Firestarter". Ele precisa ser sempre executado

através do sudo, pois precisa de permissões de root para modificar as regras do IPtables

e criar o serviço de sistema onde salva sua configuração.

Ao abrir o Firestarter pela primeira vez, é aberto um assistente que pede algumas

informações básicas sobre a configuração da rede e oferece opções para compartilhar a

conexão e ativar o firewall sob demanda, ao conectar via modem ou ADSL PPPoE.

Por padrão, uma vez aberto, o Firestarter bloqueia todas as portas e loga todas as

tentativas de conexão, uma configuração bastante segura.

Sempre que alguém tenta abrir alguma conexão, seja a partir de outro micro da rede

local ou via internet, o ícone ao lado do relógio fica vermelho. Clicando sobre ele, a

Interface do Firestarter é aberta, mostrando detalhes sobre a tentativa de acesso.

Digo tentativa, pois por padrão o Firestarter vai bloquear a conexão, fazendo com que a

outra pessoa dê com a cara na porta. Mas, clicando sobre a entrada, você tem a opção de

autorizar futuros acessos.

Page 352: Línux entendo o sistema[JP.Conteudo]

Usando a opção "Permitir serviço de entrada para a origem" faz com que daí em diante

o endereço possa acessar o SSH, sem disparar novamente o alarme. Como a regra fica

vinculada ao IP, esta opção é útil apenas para micros dentro da rede local que estejam

configurados para usar IP fixo.

A opção "Permitir conexões a partir da origem" faz com que o endereço em questão

possa acessar qualquer serviço disponível na sua máquina, em qualquer porta, sem

disparar o alarme, uma opção interessante para micros da rede local.

Finalmente, a opção "Permitir serviço de entrada para todos" abre a porta do SSH para

todo mundo, incluindo micros da internet, o que naturalmente deve ser usada com

cautela.

Esta natureza "interativa" é justamente o grande diferencial do Firestarter, que faz com

que ele seja atualmente a melhor opção de firewall para desktops em geral. Todas as

regras adicionadas entram em vigor imediatamente e ficam acessíveis para modificação

ou consulta na aba "Política".

Uma vez ativado o firewall, as regras ficam ativas, mesmo que você feche a interface

principal, mas você perde a possibilidade de monitorar as tentativas de acesso e aceitar

conexões. O Firestarter fica residente na forma do serviço de sistema "firestarter".

Para desabilitar o Firewall, não basta fechar a janela, nem mesmo o ícone ao lado do

relógio. Fazendo isso você fecha a interface, mas o serviço continua ativo, com as

regras ativas. Para desabilitar o Firewall você precisa realmente clicar no "Parar

Firewall" dentro da janela principal.

Instalando o Slax

O Slax é um live-CD baseado no Slackware, uma boa forma de conhecer a distribuição

sem precisar passar pela etapa inicial de configuração e configuração do sistema. O Slax

roda diretamente a partir do CD-ROM e inclui um conjunto de scripts que automatizam

a configuração do sistema, detectando o vídeo, som e outros periféricos. O sistema de

autodetecção do Slax não é tão desenvolvido quanto o de distribuições como o Ubuntu,

Knoppix ou Mandriva, mas ajuda bastante.

Page 353: Línux entendo o sistema[JP.Conteudo]

Você pode baixar a última versão no: http://slax.linux-live.org/.

Além do "Slax Standard Edition", que é a versão principal, que abordo aqui, estão

disponíveis algumas versões específicas, como o KillBill (que vem com o wine pré-

instalado) e o PopCorn (uma versão reduzida, que pode ser instalado num pendrive de

128 MB).

O Slax configura o vídeo durante o boot, mas não abre o modo gráfico

automaticamente. Na tela de login, você deve se logar como root, senha toor e rodar o

comando "startx" para abrir o KDE. Você pode também usar a opção "slax gui" na tela

de boot, para que ele abra o KDE automaticamente, como no Kurumin.

Embora seja raro, existem casos em que o sistema trava na hora do boot por causa de

problemas com a detecção de algum periférico. Nestes casos, você pode experimentar as

opções "slax noagp", "slax nopcmcia", "slax nodma" ou "slax acpi=off".

Ao abrir o modo gráfico, você verá uma versão personalizada do KDE, com um visual

simpático e um menu limpo, com poucos programas instalados por padrão. Devido à

simplicidade, o tempo de boot também é perceptivelmente mais baixo.

Para configurar o som, use o comando "alsaconf", e para configurar a rede, use o

"netconfig" (o mesmo script usado no Slackware). Se você acessa via ADSL com

autenticação (PPPoE), use o comando "adsl-setup" para configurar a conexão e depois

Page 354: Línux entendo o sistema[JP.Conteudo]

o "adsl-start" para conectar. Estes dois comandos podem ser encontrados também no

Mandriva, Fedora e em outras distribuições derivadas do Red Hat.

O Slax não inclui suporte a nenhum softmodem, mas se por acaso você utilizar um

hardmodem, pode conectar usando o Kppp, como em outras distribuições.

O suporte a placas wireless também não conta com todos os drivers disponíveis mas ele

já vem com o Ndiswrapper pré-instalado, que permite configurar muitas placas usando

os drivers do Windows. A configuração é igual à que fizemos no Ubuntu: você primeiro

carrega o arquivo .inf de driver, com o comando "ndiswrapper -i neti2220.inf" e, em

seguida, ativa o Ndiswrapper usando o comando "modprobe ndiswrapper".

Com a placa ativa, você pode configurar os parâmetros da rede wireless e monitorar a

conexão através do Kwifimanager, que está dentro do menu internet.

O Slax não oferece nenhuma opção de alterar o particionamento durante a instalação.

Você precisa criar as partições previamente, usando o cfdisk e formatá-las através do

comando "mkreiserfs", como em "mkreiserfs /dev/hda2". Outra opção, é particionar

usando um CD do Kurumin, ou o CD de instalação do Mandriva e voltar ao Slax para

instalar. Mesmo ao particionar a partir do próprio Slax, usando o cfdisk, é sempre

necessário reiniciar, para que o instalador detecte as alterações.

O instalador está disponível no "Iniciar > System > Slax Installer". Ele é provavelmente

o instalador mais simples de todas as distribuições que já vi. Você precisa apenas

indicar a partição onde o sistema será instalado e no MBR de qual drive o lilo será

gravado (caso tenha mais de um). Não existe a opção de instalar o lilo na partição, caso

você esteja instalando-o em dual boot com o Windows ou outra distribuição. Ele sempre

se gravará na MBR e você precisará configurar o "/etc/lilo.conf" para que ele lhe dê a

opção de inicializar os outros sistemas instalados.

Existem duas formas de instalação. A opção "Live" simplesmente copia o conteúdo do

CD para a partição, ocupando apenas 200 MB. Esta opção é mais uma opção para poder

dar boot sem usar o CD-ROM do que uma instalação propriamente dita, algo similar a

usar a opção "tohd" no Kurumin. A opção "Real" ocupa quase o triplo de espaço, pois

nela os arquivos são realmente descompactados, criando uma instalação real do sistema,

onde você pode instalar novos programas e fazer qualquer tipo de alteração.

Page 355: Línux entendo o sistema[JP.Conteudo]

Mesmo depois de instalado, o Slax continua usando o root como usuário padrão.

Enquanto você estiver brincando e explorando o sistema isto é até interessante, pois

permite que você mexa onde quiser, sem ser perturbado por problemas com as

permissões. Se alguma coisa der errado, basta reinstalar e começar de novo.

Mas, a partir do momento em que você resolver navegar na web ou fazer qualquer

trabalho mais sério, o uso do root torna-se um grave problema de segurança por dois

motivos: como root você tem permissão para fazer tudo, então acaba sendo muito fácil

destruir o sistema e, ao mesmo tempo, abrindo todos os programas como root, fica

muito mais fácil explorar brechas de seguranças nos programas para obter acesso à sua

máquina remotamente. Esta segunda possibilidade não é tão grande assim, mas vale a

pena evitar.

Você pode criar um novo usuário usando o comando adduser, como em:

# adduser tux

São feitas muitas perguntas, que permitem incluir informações diversas no cadastro do

usuário (que seriam úteis numa grande rede), mas, no caso de um humilde desktop, as

únicas que realmente interessam são o nome em si (login) e a senha.

Page 356: Línux entendo o sistema[JP.Conteudo]

Depois de instalado, o Slax nada mais é do que uma versão customizada do Slackware.

O que você aprender a fazer no Slax pode ser feito também no Slackware e vice-versa.

Um dos grandes atrativos do Slax é ser um sistema bem simples e limpo, com poucos

programas instalados por padrão. Isto é uma faca de dois gumes, pois também significa

que ao usar o sistema por mais tempo, você acabará precisando investir mais tempo

baixando e instalando programas adicionais.

O Slax é compatível com os pacotes da versão correspondente do Slackware. O Slax

5.06, por exemplo, usa os pacotes do Slackware 10.2. Normalmente, a última versão do

Slax usa os pacotes da última versão do Slackware.

Você pode instalar programas adicionais a partir dos CDs de instalação (do Slackware)

ou ir baixando individualmente os programas desejados a partir de um dos mirrors

listados no http://www.slackware.com/getslack/.

Para instalar o suporte a português do Brasil no KDE, por exemplo, baixe o pacote kde-

i18n-pt_BR, que está disponível na pasta "slackware/kdei/" do CD ou mirror. Os

pacotes do Slackware usam a extensão ".tgz". Junto com cada pacote, existe sempre um

arquivo ".txt", com uma descrição curta e um arquivo ".asc", usado pelo instalador para

verificar a integridade do pacote principal.

Para instalar o pacote baixado, use o comando "installpkg", seguido pelo nome do

pacote, como em:

# installpkg kde-i18n-pt_BR-3.4.2-noarch-1.tgz

Use a tecla TAB para completar o nome do arquivo depois de digitar as primeiras letras.

O installpkg é uma ferramenta simples de instalação, que funciona de uma forma similar

ao "dpkg -i" do Debian. Ele permite instalar pacotes que você já baixou, mas não é

capaz de baixar os pacotes por si só, como o apt-get. O installpkg também não checa

dependências ao instalar os pacotes: mesmo que exista algum problema, você só saberá

depois de tentar abri-lo.

Esta forma simplificada de instalar programas é a principal característica do Slackware.

A vantagem é que você literalmente pode fazer o que quiser, sem que ele te perturbe

com mensagens de erro e dependências desencontradas. A desvantagem é que ele não

faz nada sozinho; a única maneira de descobrir que o pacote x precisa do pacote y para

funcionar é pesquisando.

Depois de instalado o pacote, acesse o Painel de Controle do KDE, Regional &

Accessibility > Contry, Region & Language e, dentro dela marque a opção Add

Language > Brazil Portuguese. Clique no "Apply" e reinicie o KDE para que os

aplicativos passem a usar nossa língua.

Para instalar o Gimp, baixe o pacote "gimp", que está na pasta "slackware/xap"; para

instalar o Firefox, baixe o pacote "mozilla-firefox" que está na mesma pasta; e assim

por diante. O Slax já vem com o plugin do Flash pré-instalado; experimente instalar

também o Java e Real Player, seguindo as instruções do capítulo 5 depois de instalar o

Firefox.

Page 357: Línux entendo o sistema[JP.Conteudo]

Para instalar o OpenOffice 2.0, baixe o pacote para o Slackware, disponível no:

http://www.openoffice.org.br/ e instale-o usando o comando:

# installpkg openoffice.org.br-2.0-i586-4.tgz

Depois de instalado, você pode completar a instalação do corretor ortográfico e usar as

otimizações que vimos no capítulo 5.

O Slackware utiliza uma estrutura de scripts diferente da das outras distribuições. No

Debian e na maioria das outras distribuições, você usaria o comando "/etc/init.d/ssh

start" para inicializar o servidor SSH e permitir que sua máquina possa ser acessada a

partir de outros micros da rede local. No Slackware, isso funciona de forma similar, mas

os scripts mudam de lugar, vão na pasta "/etc/rc.d/".

Para instalar o servidor SSH no Slax, por exemplo, instale o pacote "openssh-4.2p1-

i486-1.tgz" que está dentro da pasta "slackware/n/" do CD ou mirror de instalação do

Slackware. Ao instalar o pacote, será criado o arquivo "/etc/rc.d/rc.sshd", o script que

permite inicializá-lo. Para usá-lo, você precisa primeiro transformá-lo num executável,

usando o comando:

# chmod +x /etc/rc.d/rc.sshd

E, em seguida, inicializar o servidor SSH, usando o comando:

# /etc/rc.d/rc.sshd

O fato de ser uma distribuição minimalista, com tamanho reduzido e rápida de instalar,

faz com que o Slax seja uma forma muito prática de se familiarizar com o Slackware, já

que você pode testar a instalação de vários programas, testar várias configurações e

reinstalar o sistema rapidamente sempre que alguma coisa der errada.