Escolar Documentos
Profissional Documentos
Cultura Documentos
Entendendo o Sistema
Carlos E. Morimoto
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.
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 é.
Capitulo 1: 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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
O Linux hoje
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.
É 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.
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.
Como um PC funciona
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.
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.
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.
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 ;).
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.
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.
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.
Os componentes básicos
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 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.
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 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.
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.
É 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.
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.
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.
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
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.
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.
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.
$ 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 é.
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.
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.
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/.
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 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.
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.
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
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.
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
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.
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.
Toda esta parte física, as coisas tangíveis, que você pode tocar é chamada de
hardware. 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.
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
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.
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.
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 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.
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.
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.
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.
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.
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.
- 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.
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
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.
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.
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
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.
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.
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"?
Redes wireless
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.
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.
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
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.
$ 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.
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.
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 suporte@200.221.34.32
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
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.
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.
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.
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.
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.
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.
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
Os live-CDs
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.
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.
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.
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 ;-).
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).
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".
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.
11479ced7eea505506b5a3314d33ee70 kurumin-5.0.iso
$ 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 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.
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:
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.
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 :).
Linguagens de programação
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.
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.
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:
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.
- 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 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.
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.
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:
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!".
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 :-):
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.
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?".
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.
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 à)
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.
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:
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.
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.
Um exemplo de shell script, que serve só para mostrar uma janelinha dando olá na
tela seria simplesmente: kdialog --msgbox "Olá, tudo bem?"
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.
#!/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:
#!/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
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).
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.
Capitulo 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 ;).
As interfaces e programas
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.
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 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.
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 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.
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.
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.
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.
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 :-).
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 é 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 "/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.
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
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:
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.
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.
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.
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.
$ kedit /etc/fstab
$ gimp imagem.png
É 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.
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:
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.
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.
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.
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".
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 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 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".
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, 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.
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 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:
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" ;).
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 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.
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, acrescente "| more", que permite ler
uma página de cada vez, como em "cat /var/log/syslog | more".
/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.
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.
$ 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.
$ 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
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. 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:
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:
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:
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.
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:
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:
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.
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 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.
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.
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
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.
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.
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.
# adduser manuel
(cria o usuário manuel, já definindo a senha)
# passwd manuel
(altera a senha posteriormente)
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.
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?
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.
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:
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:
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.
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".
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:
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.
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.
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.
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.
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 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.
Isto não é um grande problema no caso das distribuições Linux, mas é no caso do
Windows e outros sistemas de código fechado.
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.
-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.
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.
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.
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.
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 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 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.
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 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.
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".
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.
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.
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 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.
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:
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 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í.
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.
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".
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)
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:
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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".
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.
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:
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.
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/.
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:
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":
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:
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.
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.
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 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").
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.
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.
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 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.
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.
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.
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.
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.
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:
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.
Capitulo 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 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.
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.
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 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
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.
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.:
- 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.
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.
Por exemplo, no Mozilla Firefox vá em Arquivo > Imprimir > Propriedades e coloque
o kprinter como comando de impressão:
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.
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:
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
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.
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.
Logo no começo do arquivo, procure a linha com a configuração do mouse, como em:
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.
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".
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.
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.
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
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.
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.
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:
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.
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
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.
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:
É 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
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
Feito isso você só precisa deixar o comando residente. Adicione mais este comando
no seu script:
Configurando a conexão
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.
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:
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.
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.
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.
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.
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-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:
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".
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.
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.
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.
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.
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.
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 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:
# /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
... significa que o adaptador foi detectado, mas está desativado. Neste caso, rode o comando que ativa o
transmissor:
# hciconfig hci0 up
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:
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.
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
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.
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:
É 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:
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.
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
rfcomm0 {
bind yes;
device 00:07:E0:18:9A:02;
channel 1;
comment "treo";
}
# /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.
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:
1- Descompacte o arquivo (você pode fazê-lo através do Konqueror, mas já que estamos com o terminal
aberto... ;)
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
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/*
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".
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:
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:
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:
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 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:
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):
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:
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:
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":
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:
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:
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.
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:
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:
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 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".
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 ;).
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://guest@172.20.0.2".
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.
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.
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.
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:
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.
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".
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.
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.
# /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.
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/".
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:
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.
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.
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.
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.
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 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.
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.
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.
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".
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 ;).
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".
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.
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...".
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.
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".
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 "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.
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.
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.
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.
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".
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.
Você pode ver mais detalhes sobre os componentes e arquivos de inicialização do KDE aqui:
http://www.kde.org/areas/sysadmin/
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.
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.
$ 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:
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:
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".
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 recebendo algum sinal do teclado, ele
incluirá uma entrada no log, falando sobre a tecla "não identificada".
# 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:
Falta agora associar o código em hexa da tecla com o keycode, o que é feito usando o comando
"setkeycodes", como em:
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".
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".
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
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.
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 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 kurumin@192.168.0.1). É 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://kurumin@192.168.0.1). Depois de fornecer a 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:
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
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.
# 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.
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
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.
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
# 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:
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.
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.
Capitulo 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
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.
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 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.
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.
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.
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.
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:
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.
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:
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 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:
Normalmente o apt-get avisa que o programa já está em sua versão mais recente e não faz nada:
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.
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.
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:
Para:
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.
# 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";
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:
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:
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.
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.
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. 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.
# 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.
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.
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.
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.
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:
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:
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.
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
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 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:
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):
Esta chave será atualizada anualmente. Em Janeiro de 2007, 2008, 2009, etc., atualize-a com o mesmo
comando, mudando apenas o ano, como em:
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:
Concluindo, baixe também a chave para o repositório com as atualizações de segurança do Etch:
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".
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.
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.
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".
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:
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 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:
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:
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
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.
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.
Programas de escritório
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 é 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.
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.
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 :).
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:
# 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 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.
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 "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/kur
umin.dic
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 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.
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.
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
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 vários aspectos. Ao instalá-lo via apt-get, instale também o
pacote "gnumeric-plugins-extra".
Scribus
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/.
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.
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.
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/.
Inkscape
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.
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.
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
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 instalação via apt-get é bem simples, basta usar o comando "apt-get install
blender".
Ao instalar via apt-get, baixe também o kpovmodeler, que é uma interface para
ele. O comando fica: "apt-get install povray kpovmodeler".
Ksnapshot
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.
Navegadores
Firefox
É 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.
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.
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/.
# ln -sf /usr/lib/j2re1.5/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla-firefox/plugins/
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:
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?".
# chmod +x RealPlayer10GOLD.bin
# ./RealPlayer10GOLD.bin
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 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 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.
# ln -s /usr/local/Adobe/Acrobat7.0/bin/acroread /usr/bin/acroread
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 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:
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.
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.
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
# 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.
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
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
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/.
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
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".
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.
$ 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
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
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.
Kopete
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.
Mercury
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 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.
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.
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.
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
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, ou no caso de distribuições que não estejam na lista, como o
Slackware, Gentoo e outros.
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 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.
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
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.
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:
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 instalação se aplicam apenas a outras distribuições derivadas do
Debian, onde seja necessário instalar manualmente.
Clique com o botão direito sobre a janela principal e você verá as opções para abrir
vídeos, legendas, DVDs e VCDs:
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 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.
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.
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, 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":
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:
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/.
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:
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.
DVDrip
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).
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
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/.
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":
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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, 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 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.
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/
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
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:
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.
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.
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:
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:
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
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.
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.
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 instala-lo via apt-get através do pacote "k9copy", disponível no
repositório Marillat.