Guia Do Linux Desktop
Guia Do Linux Desktop
GNU/Linux
para o Usuário Desktop!
Baseado no sistema
Slackware Linux 12.1
Kernel 2.6.24.5, KDE 3.5...
6a. Edição
Rio, 1o. de Junho de 2008.
OS SISTEMAS
GNU/LINUX
✔ Copyright (c) 2002-2008 – Ednei Pacheco de Melo.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, version 1.1 or
any later version published by the Free Software Foundation; a copy of
the license is included in the section entitled “GNU Free Documentation
License”.
ÍNDICE
VISÃO GERAL..........................................................4
I. O LINUX ............................................................5
Introdução.......................................................................................5
O histórico.......................................................................................5
A Free Software e o Projeto GNU........................................................5
O desenvolvimento do kernel Linux.....................................................6
As ferramentas do Projeto GNU e o Linux...........................................7
As características............................................................................7
Perguntas interessantes.................................................................9
Porquê “GNU/Linux”, e não “Linux”?...................................................9
Porquê um pingüim como logotipo?...................................................11
Conclusão......................................................................................11
II. AS DISTRIBUIÇÕES.............................................13
Introdução.....................................................................................13
Considerações básicas..................................................................13
As principais..................................................................................14
A trindade............................................................................................14
Slackware.....................................................................................................14
Debian..........................................................................................................14
Red Hat / Fedora..........................................................................................15
As variantes.........................................................................................16
Mandriva......................................................................................................16
SuSE / OpenSuSE.........................................................................................18
As metas-distribuições........................................................................19
Gentoo..........................................................................................................19
As especializadas.................................................................................20
Ubuntu / Kubuntu.........................................................................................20
Kurumin........................................................................................................21
Mitos e preconceitos.....................................................................22
Preconceitos gerais.............................................................................22
Instalação e configuração de hardware.............................................23
Interface gráfica..................................................................................25
Aplicativos & utilitários.......................................................................26
Suporte técnico....................................................................................26
Sobre..............................................................................................27
As versões...........................................................................................27
A “venda”.............................................................................................27
A “melhor”...........................................................................................28
Conclusão......................................................................................29
III. O SLACKWARE................................................30
Introdução.....................................................................................30
A distribuição................................................................................30
O que é o Slackware............................................................................30
Um resumido histórico........................................................................31
As particularidades.............................................................................31
Suas aplicações....................................................................................33
As versões...........................................................................................33
Seus requerimentos......................................................................34
Requisitos de hardware......................................................................34
Conhecimentos técnicos.....................................................................35
Outras providências............................................................................36
Como obtê-la?................................................................................36
Mídias oficiais......................................................................................36
Imagens ISOs.......................................................................................37
Em lojas virtuais..................................................................................37
Conclusão......................................................................................37
IV. LEIS, NORMAS E FUNDAÇÕES................................39
Introdução.....................................................................................39
As leis.............................................................................................39
O conceito Software Livre..................................................................39
As licenças livres.................................................................................40
GPL...............................................................................................................40
LGPL.............................................................................................................40
FDL...............................................................................................................41
Copyleft x Copyright...........................................................................41
Sobre as traduções extra-oficiais.................................................................42
Sobre outras licenças livres................................................................42
Observações finais..............................................................................43
As normas......................................................................................43
Linux Standard Base...........................................................................43
Requerimentos da LSB.................................................................................44
Objetivos (e vantagens) da LSB...................................................................44
Os (maiores) beneficiados............................................................................45
Sobre a Free Standard Group......................................................................45
Sobre a FHS.........................................................................................45
Observações finais..............................................................................46
As fundações.................................................................................46
A Free Software Foundation...............................................................47
O Linux Foundation.............................................................................47
O FreeDesktop.....................................................................................48
Conclusão......................................................................................48
VISÃO GERAL
Muitas vezes ouvimos comentários e associações de termos e idéias sobre
o Linux: que ele é “gratuito”, “difícil”, “para hackers”, “uso somente em
servidores”, entre outras comparações, que nos trazem diferentes idéias
sobre o sistema operacional sem realmente conhecê-lo. O que realmente
sabemos (ou que deveríamos saber) sobre o Linux? De onde ele veio? “Do
que é feito”? Em que nos será útil? E porquê toda essa comoção ao
pronunciar a palavra “Linux” (alguns ainda falam “lainucs”...)?
A concepção dos sistemas baseados no kernel Linux vai muito além de um
simples núcleo de sistema operacional, agregado a diversas ferramentas,
utilitários e aplicações para os mais diversos propósitos. Desde a ideologia
de liberdade, passando pela mútua contribuição e chegando a variadas
formas de negócios e investimentos comerciais, veremos que tanto o
sistema operacional quando as distribuição disponíveis possuem
identidades únicas. Mesmo aquelas que possuam conceitos distintos, a
mais importante está na ideologia do Software Livre, onde a grande
maioria delas têm um ponto de concordância em comum.
O movimento do Software Livre não surgiu apenas com o nascimento do
kernel Linux ou do sucesso das distribuições, e sim há muitos anos, bem
antes da concepção do Linux. Naquela época, o abuso das corporações de
desenvolvimento de softwares com suas políticas de licenciamento
restritivas explodiram um movimento ideológico liderado por Richard
Stallman, no que resultou no desenvolvimento de um sistema operacional
Unix-like1 e suas ferramentas de caráter livre, onde o kernel Linux
posteriormente viera preencher uma lacuna vazia.
Definir de forma completa e clara o Linux, suas aplicações e a ideologia
livre, é algo praticamente impossível de se realizar em apenas um único
capítulo. O kernel do sistema operacional simplesmente não nasceu, não
cresceu, não agregou ferramentas e funcionalidades do nada... não assim
da noite para o dia. Suas origens, bem como a concepção de sua
existência é um emaranhado de acontecimentos, necessidades, boa
vontade, colaborações, união, hobby, paixão... enfim... simplesmente
Linux.
Para esta imensa e gratificante tarefa reservamos uma parte deste livro
destinado unicamente para descrever de forma simples, clara, objetiva e
completa este grande mito que tem agitado o mundo da TI2 nestes últimos
tempos. Esperamos que tirem o máximo de proveito na leitura dos
capítulos seguintes, pois foram desenvolvidos unicamente com o objetivo
de mostrar realmente quem (ou o quê) é o Linux, os aplicativos que o
compõe, as distribuições que se encontram disponíveis para o nosso uso e
as finalidades para as quais se propõe. &;-D
1 São sistemas Unix-like todos aqueles que são baseados nas especificações Unix.
2 TI: “Tecnologia da Informação”, vulgarmente conhecido como Informática.
4/48
I. O LINUX
INTRODUÇÃO
✔ <http://www.linux.org/>.
O sistema operacional Linux, mais precisamente o núcleo do sistema –
chamado de kernel –, é desenvolvido graças à boa vontade e o esforço de
milhares de programadores do mundo inteiro, tendo o Linus Torvalds
dado o pontapé inicial em 1991, na Universidade de Helsinki, na Finlândia.
Atualmente ele lidera e coordena todo o trabalho.
Neste capítulo, iremos conhecer um pouco sobre o Linux e as suas
particularidades com ênfase em desktops, o qual se propõe este trabalho.
O HISTÓRICO
5/48
O DESENVOLVIMENTO DO KERNEL LINUX
Em 1991, Linus Torvalds, um estudante do Departamento de Ciências da
Computação da Universidade de Helsinki, na Finlândia decidiu começou à
trabalhar em um pequeno projeto particular, o de construir um sistema
operacional inspirado no Minix, um pequeno e antigo sistema Unix
desenvolvido por Andy Tannenbaum.
Linus iniciou o projeto estudando detalhadamente o kernel do Minix,
tomando-o como base para o desenvolvimento de seu projeto. Ao final da
elaboração dos primeiros códigos, Linus definiu seu próprio projeto como
“Um Minix melhor que o Minix”. Após um certo período sozinho
trabalhando eu seu projeto, Linus decidiu enviar a seguinte mensagem
para o grupo comp.os.minix da rede USERNET:
“Você suspira por melhores dias do Minix-1.1, quando homens serão homens
e escreverão seus próprios "device drivers"? Você está sem um bom projeto
e esta morrendo por colocar as mãos em um S.O. no qual você possa
modificar de acordo com suas necessidades? Você está achando frustrante
quando tudo trabalha em Minix? Chega de atravessar noites para obter
programas que trabalhem correto? Então esta mensagem pode ser
exatamente para você. Como eu mencionei a um mês, estou trabalhando em
uma versão independente de um S.O. similar ao Minix para computadores
AT-386. Ele está, finalmente, próximo do estágio em que poderá ser utilizado
(embora possa não ser o que você esteja esperando), e eu estou disposto a
colocar os fontes para ampla distribuição. Ele está na versão 0.02... contudo
eu tive sucesso rodando bash, gcc, gnu-make, gnu-sed, compressão, etc.
Nele...” -- [Linus Torvalds].
A partir de então, em 5 de outubro de 1991, Linus Torvalds anunciou o
que seria a 1a. versão oficial do kernel do Linux, disponibilizando o
código-fonte para milhares de programadores no mundo inteiro e, graças
a ajuda desta comunidade, nasceu o kernel Linux, o maior e mais utilizado
projeto de um núcleo de sistema operacional de código aberto do mundo.
6/48
AS FERRAMENTAS DO PROJETO GNU E O LINUX
No início – e antes da existência do próprio Linux – o Projeto GNU já havia
desenvolvido várias ferramentas para o ambiente Unix. Para completar
todo o projeto, faltava apenas o desenvolvimento de um kernel para ser
implementado ao sistema. Quando o kernel do Linux foi lançado, foi
aproveitado o trabalho de seu desenvolvimento e o Projeto GNU então
resolveu criar um sistema operacional, utilizando-se das ferramentas GNU
junto ao kernel do Linux. Graças a isto, nasceu então a combinação “GNU/
Linux”, um sistema operacional completo, utilizando-se do kernel
desenvolvido inicialmente por Linus Torvalds e agregadas as ferramentas
do projeto GNU.3 O importante disso tudo é que, quando houve a fusão
entre o kernel Linux e as ferramentas Unix do Projeto GNU, originou-se os
conceitos básicos das distribuições Linux: Um kernel livre provido de
diversas ferramentas de código-fonte aberto, empacotados e distribuídos
juntamente com uma licença para softwares também de código aberto.
AS CARACTERÍSTICAS
O Linux segue o padrão POSIX, o mesmo utilizado em sistemas baseados
em UNIX, além de diversos outros padrões técnicos que possibilitam aos
profissionais com bons conhecimentos dominar qualquer outro sistema
baseado nas mesmas normas. Seu código-fonte está disponível na Internet
licenciado sob os termos da GPL4: graças a isto, poderemos realizar
instalações e cópias diversas sem nenhuma restrição.
Pelo fato do kernel Linux ter sido desenvolvido rigorosamente dentro das
especificações POSIX e Singler Unix Specification, ele possui praticamente
todos as qualidades de atributos dos atuais sistemas Unix modernos. Além
disso, pelo fato das distribuições serem baseadas neste mesmo kernel,
todas em comum possuem praticamente as mesmas qualidades:
• Por se tratar de um Software Livre, podemos copiar, alterar,
distribuir, redistribuir, instalar todo o sistema operacional em
diversos computadores, etc., desde que sejam obedecidas as
cláusulas do licenciamento a GNU GPL. Além disso, as versões
alteradas do kernel continuarão sendo livres sempre, em virtude
dos termos aplicados de seu licenciamento. Não mantê-lo ou não
tornar suas alterações livre é ilegal, pois fere os princípios que
regem a filosofia de liberdade do Software Livre.
• Graças ao auxílio de milhares de programadores, o kernel Linux
3 Porém, muitos dos integrantes do grupo não estiveram de acordo com algumas
idéias do Projeto GNU. Houve então uma separação e à partir daí nasceu o
Debian GNU/Linux, uma distribuição que tem como filosofia a de se utilizar
unicamente pacotes de programas de código-aberto.
4 A GPL – General Public License – é uma licença livre utilizada para proteger o
direito de copiar e distribuir o código-fonte de qualquer programa protegido por
ele. Para obterem maiores informações, consultem a 9a. Parte – Documentações.
7/48
sofre revisões e atualizações constantemente, além da
implementação contínua de melhorias e de suporte a novas
tecnologias. Com isto, é garantida a ótima performance e
estabilidade do sistema como um todo, além da segurança.
• Como todo e qualquer sistema operacional moderno, o kernel
Linux permitem a execução de diversos processos de forma
simultânea, economizando tempo, porém usando uma maior
demanda de processamento. Felizmente, de acordo com as
operações realizadas, a maioria destas não afetam a performance
geral do computador.
• A memória principal do sistema é bem gerenciada e protegida de
tal forma que lhe é conferida grande estabilidade. Por exemplo,
falhas comuns como o GPF – Erro de Proteção Geral – são difíceis
de ocorrer, tal como acontecia (e ainda acontece) com o Windows,
em especial as versões 9X/ME.
• O suporte a SMP – Simetric Multiple Processing – é excelente, o
que possibilita o uso simultâneo de até 16 processadores. Agora,
com a popularização dos processadores de duplo (e quádruplo)
núcleo, esta funcionalidade será mais requisitada.
• O kernel Linux possui grande capacidade de compatibilidade com
os demais sistemas operacionais existentes, graças ao
desenvolvimento de diversas pontes de integração, além da
inexistência de técnicas de marketing e políticas comerciais
restringentes.
• Existem poucos vírus disponíveis para esta plataforma; para
variar, poucos possuem alguma capacidade de destruição
considerável. E mesmo assim, graças ao sistema de permissões de
acesso e de restrição, basta estar logado como usuário comum
para que o sistema não venha a sofrer dano algum.
• A flexibilidade do kernel é tal que, atualmente, existem muitas
distribuições desenvolvidas para as mais variadas finalidades. Em
vista disso, muitas destas se encontram customizadas para o uso
em hardware limitados e obsoletos. O próprio Slackware é um
bom exemplo, apesar deste não ser somente o seu foco único.
• Desde sua criação, o kernel Linux tem o suporte nativo a
arquiteturas de redes e seus respectivos protocolos, conferindo-
lhe assim, excelentes níveis de compatibilidade e desempenho
com as principais tecnologias do mercado.
• Seu suporte técnico – apesar de diferenciado – é considerado um
dos melhores existentes, mesmo comparando com outros diversos
sistemas comerciais. Em geral, basta apenas realizarmos o
cadastro em uma lista de discussão, onde em pouco tempo e com
as perguntas certas, obteremos a maioria das respostas desejadas.
Existem outras características importantes que tornam o kernel Linux um
8/48
dos projetos de maior prestígio mundial. Mas, devido ao enfoque desta
literatura em ser aplicada exclusivamente para os desktops, descrevemos
apenas aqueles atributos aplicáveis a esta classe.
PERGUNTAS INTERESSANTES
9/48
deverá estar pronta em breve.)
Então o kernel do Linux tornou-se disponível. Linux é um kernel livre escrito
por Linus Torvalds compatível com o Unix. Ele não foi escrito para o projeto
GNU, mas o Linux e o quase completo sistema GNU fizeram uma combinação
útil. Esta combinação disponibilizou todos os principais componentes de um
sistema operacional compatível com o Unix, e, com algum trabalho, as
pessoas o tornaram um sistema funcional. Foi um sistema GNU variante,
baseado no kernel do Linux.
Ironicamente, a popularidade destes sistemas desmerece nosso método de
comunicar a idéia GNU para as pessoas que usam GNU. Estes sistemas são
praticamente iguais ao sistema GNU -- a principal diferença é a escolha do
kernel. Porém as pessoas normalmente os chamam de "sistemas Linux (Linux
systems)". A primeira impressão que se tem é a de que um "sistema Linux"
soa como algo completamente diferente de "sistema GNU", e é isto que a
maioria dos usuários pensam que acontece.
A maioria das introduções para o "sistema Linux" reconhece o papel
desempenhado pelos componentes de software GNU. Mas elas não dizem
que o sistema como um todo é uma variante do sistema GNU que o projeto
GNU vem compondo por uma década. Elas não dizem que o objetivo de um
sistema Unix-like livre como este veio do projeto GNU. Daí a maioria dos
usuários não saber estas coisas.
Como os seres humanos tendem a corrigir as suas primeiras impressões
menos do que as informações subseqüentes tentam dizer-lhes, estes usuários
que depois aprendem sobre a relação entre estes sistemas e o projeto GNU
ainda geralmente o subestima.
Isto faz com que muitos usuários se identifiquem como uma comunidade
separada de "usuários de Linux", distinta da comunidade de usuários GNU.
Eles usam todos os softwares GNU; de fato, eles usam quase todo o sistema
GNU; mas eles não pensam neles como usuários GNU, e freqüentemente não
pensam que a filosofia GNU está relacionada a eles.
Isto leva a outros problemas também -- mesmo dificultando cooperação com
a manutenção de programas. Normalmente quando usuários mudam um
programa GNU para fazer ele funcionar melhor em um sistema específico,
eles mandam a mudança para o mantenedor do programa; então eles
trabalham com o mantenedor explicando a mudança, perguntando por ela, e
às vezes reescrevendo-a para manter a coerência e mantenebilidade do
pacote, para ter o patch instalado.
Mas as pessoas que pensam nelas como "usuários Linux" tendem a lançar
uma versão "Linux-only" do programa GNU, e consideram o trabalho
terminado. Nós queremos cada e todos os programas GNU que funcionem
"out of the box" em sistemas baseados em Linux; mas se os usuários não
ajudarem, este objetivo se torna muito mais difícil de atingir.
Como deve o projeto GNU lidar com este problema? O que nós devemos
fazer agora para disseminar a idéia de que a liberdade para os usuários de
computador é importante?
Nós devemos continuar a falar sobre a liberdade de compartilhar e modificar
software -- e ensinar outros usuários o valor destas liberdades. Se nós nos
beneficiamos por ter um sistema operacional livre, faz sentido para nós
pensar em preservar estas liberdades por um longo tempo. Se nós nos
beneficiamos por ter uma variedade de software livres, faz sentido pensar
sobre encorajar outras pessoas a escrever mais software livre, em vez de
10/48
software proprietário.
Nós não devemos aceitar a idéia de duas comunidades separadas para GNU
e Linux. Ao contrário, devemos disseminar o entendimento de que "sistemas
Linux" são variantes do sistema GNU, e que os usuários destes sistemas são
tanto usuários GNU como usuários Linux (usuários do kernel do Linux).
Usuários que têm conhecimento disto irão naturalmente dar uma olhada na
filosofia GNU que fez estes sistemas existirem.
Eu escrevi este artigo como um meio de fazer isto. Outra maneira é usar os
termos "sistema GNU baseado em Linux (Linux-based GNU system)" ou
"sistema GNU/Linux (GNU/Linux system)", em vez de "sistema Linux",
quando você escreve sobre ou menciona este sistema.
...
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA.
A cópia fiel e a distribuição deste artigo completo é permitida em qualquer
meio, desde que esta nota seja preservada.
Traduzido por: Fernando Lozano <[email protected]>.
CONCLUSÃO
"No futuro do Linux temos dois possíveis cenários. No primeiro, daqui a
quatro anos, Linux dominará as aplicações científicas e técnicas e se tornará
o sistema operacional preferido para servidores Web e estações de trabalho.
Pelas suas vantagens de custo e performance, tornar-se-á o sistema padrão
para os computadores desktop. O segundo cenário é bem mais dramático.
Com o número de usuários de Linux crescendo, a Microsoft e outros
desenvolvedores de software admitem a ascensão nesse mercado e começam
11/48
a escrever programas para ele. Logo, a completa vantagem no preço e da
performance de Linux movem o sistema para o mercado de desktops." --
[Linus Torvalds, 1999.]
12/48
II. AS DISTRIBUIÇÕES
INTRODUÇÃO
Apesar das distribuições GNU/Linux possuirem em comum o mesmo
kernel, elas foram construídas por diferentes pessoas, grupos e empresas
que possuem conceitos ideológicos e/ou comerciais diferenciados, além do
objetivo de atender aos seus respectivos propósito – e de terceiros.
Neste capítulo, iremos aprender um pouco mais sobre as principais
distribuições existentes, conhecer seus conceitos, particularidades e
áreas de aplicação, para que possamos obter os conhecimentos técnicos
necessários para avaliar e escolher a opção ideal a ser utilizada.
CONSIDERAÇÕES BÁSICAS
Conforme vimos no capítulo anterior, o kernel dos sistemas GNU/Linux – o
próprio Linux –, é o coração do um sistema operacional, ou seja, o núcleo
do sistema. Sua principal função é gerenciar as operações e os processos
realizados pelos usuários. Porém, somente com o kernel instalado, o
sistema não estará apto para realizar atividade alguma. Para que estejam
disponíveis mais funcionalidades, será necessária a adição de diversas
ferramentas (aplicativos e utilitários). Este é o conceito básico de uma
distribuição: o kernel do sistema agregado a um conjunto de diversas
“peças de software”, como um interpretador de comandos, bibliotecas,
ferramentas, serviços, interfaces gráficas, aplicações e utilitários. 5
As primeiras distribuições surgiram numa época em que seus recursos
eram restritivos e limitados, onde o campo maior de atuação era o de uso
em sistemas de rede e servidores. Atualmente, o cenário mudou bastante:
na diversidade de circunstâncias em que poderemos imaginar, os
sistemas GNU/Linux podem ser aplicados, desde que sejam feitas as
adaptações necessárias para que satisfaçam propósitos específicos. Além
disso, se antes eram poucos os colaboradores, hoje há gente de tudo
quanto é tipo para auxiliar (até usuários “fuxiqueiros”). Dada a sua boa
disponibilidade de recursos, flexibilidade e versatilidade, praticamente
não existem limites!
Atualmente, existem distribuições variadas a tal ponto que algumas cabem
em apenas um único disquete, enquanto que outras são designadas para
uma série de finalidades específicas. Há ainda aquelas feitas para o uso
13/48
exclusivo em sistemas de servidores, como também outras centenas
concebidas para os mais diversos propósitos...
AS PRINCIPAIS...
No Brasil, as principais distribuições GNU/Linux mais utilizadas são:
• A trindade Slackware, Debian e Red Hat/Fedora;
• As variantes Mandriva e OpenSuSE/SuSE;
• A meta-distribuição Gentoo (e Debian);
• As especializadas Ubuntu/Kubuntu e Kurumin.
A TRINDADE
Slackware, Debian e Fedora são as distribuições GNU/Linux tradicionais e
pioneiras para aplicação geral. Estão também entre as mais antigas
distribuições existentes, e ainda possuem um excelente número de
usuários e adeptos no mundo inteiro. Das distribuições que conhecemos
atualmente, boa parte (senão a maioria) são derivadas desta trindade.
Para o uso corporativo e empresarial, a Red Hat foi a distribuição que
serviu de base para muitas outras iniciativas deste mesmo gênero; para os
defensores da filosofia e exigentes por servidores estáveis, a Debian é um
modelo de referência; e a Slackware é popularmente conhecida pela sua
leveza, simplicidade e incrível flexibilidade, que propiciam em um alto
grau de customização e aprendizado, além de possibilitar variadas
aplicações.
SLACKWARE
✔ <http://www.slackware.org/>.
A mais antiga e tradicional distribuição GNU/Linux, desenvolvida por
Patrick Volkerding, sendo ainda muito utilizada atualmente. Esta é nossa
distribuição-base para o aprendizado; por isto, reservamos instruções
mais detalhadas no capítulo seguinte, intitulado O Slackware.
DEBIAN
✔ <http://www.debian.org/>.
A distribuição Debian foi criada inicialmente por Ian Murdock em 1993,
apoiada em um documentação intitulada Manifesto Debian.6 Esta por sua
vez, tem como objetivo, divulgar os princípios de desenvolvimento aberto,
14/48
seguindo a filosofia do Projeto GNU e do kernel Linux. Mas
posteriormente, veio a se separar do Projeto GNU, em decorrência da
discordância de idéias e conceitos entre o grupo e este projeto. Desde
então, o Debian passou a seguir livremente seus próprios rumos.
Sua principal característica é a de ser a distribuição GNU/Linux de grande
fidelidade aos conceitos de liberdade do Software Livre, contendo
somente pacotes de código aberto em sua distribuição. É de autoria da
distribuição o desenvolvimento da ferramenta de gerenciamento e
atualização de pacotes APT, que graças a sua forte característica de
automação, podemos atualizar todo o sistema pela Internet, baixando os
pacotes necessários para satisfazer suas pendências com simples
comandos.
Outra interessante qualidade está em sua grande preocupação com a
estabilidade geral do sistema. A Debian desenvolveu 3 “versões” da
própria distribuição, que por sua vez é constituída de pacotes que
pertencem classificados de acordo com a seguinte política:
• Stable: mantém pacotes que foram rigorosamente testados, os
quais normalmente são versões antigas;
• Testing: mantém pacotes que, apesar de bem testados, ainda não
entraram na versão Stable;
• Unstable: mantém pacotes com as versões atuais dos programas,
que se encontram em testes e em constante desenvolvimento.
Ao contrário do que muitos acreditam, a versão Unstable – também
chamada sid – não quer dizer exatamente instável; apenas que adota
pacotes atuais, o que não pode ser bom em determinadas tarefas onde a
estabilidade é um fator essencial para o seu bom desempenho.
O Debian atualmente é a distribuição oficial do Projeto GNU e conta com
algo em torno de 20.000 pacotes inclusos. Além disso, existem projetos
em andamento que tem como objetivo, portar outros kernels Unix
importantes no cenário do Software Livre, como o Hurd e o BSD.
15/48
Xconfigurator. Também inovou ao desenvolver o ambiente gráfico
Bluecurve, o desktop padrão da distribuição, onde se combina os
ambientes gráficos KDE e GNOME em um ambiente único que mescla
seus principais recursos e funcionalidades, apesar de que muitas de suas
características estarem ligeiramente inclinados para o GNOME.
Pela facilidade de uso e de configuração, esta distribuição foi utilizada
inicialmente como base para o desenvolvimento de diversas outras, onde
temos como bom exemplo a Mandriva (fusão Conectiva e Mandrake).
Atualmente, seus esforços se concentram no desenvolvimento de soluções
para servidores e estações empresariais. Para esta nova empreitada, a
Red Hat deixou de desenvolver soluções para o uso da distribuição em
desktops, deixando o Fedora, um projeto desenvolvido por voluntários
sem fins lucrativos que visa dar suporte aos usuários finais.
Com a formação de uma comunidade e com a obtenção de auxílio por
parte dos funcionários da própria Red Hat, a Fedora coordena o seu
processo de desenvolvimento livremente, sem vínculos.
AS VARIANTES
As distribuições variantes mais comuns são aquelas chamadas Red-likes –
que foram baseadas na antiga Red Hat. Mesmo que esta última não fosse a
base, muitas das variantes adotavam elementos inerentes desta poderosa
americana, como o uso do gerenciador de pacotes RPM e algumas
costumeiras facilidades. Em destaque, a Mandriva e SuSE / OpenSuSE.
MANDRIVA
✔ <http://www.mandriva.com/>,
✔ <http://www.mandriva.com.br/>.
A mais recente distribuição Mandriva é o resultado da fusão da Conectiva
e do Mandrake, sendo que esta última tendo adquirido a primeira. O
próprio nome deriva-se da combinação Mandrake + Conectiva =
Mandriva.
A francesa Mandrake surgiu em 1998 e destaca-se por ser considerada
uma distribuição “turbinada”. É a autora da ferramenta de repartição
DiskDrake em que de suas principais qualidades, está na possibilidade de
realizarmos o processo de particionamento de forma não destrutiva 7, além
de sua fácil utilização. Possui um excelente instalador gráfico que prima
pela facilidade de uso, beleza e intuitividade, além da capacidade de
detectar e configurar praticamente todos os dispositivos presentes
durante a instalação do sistema, de forma correta e eficiente.
16/48
Em vista da disponibilidade de todos estes recursos, a Mandrake foi
considerada como uma das distribuições que mais requeriam demanda de
processamento e requisitos de hardware, primando por computadores
equipados com processador Pentium II de 1 Ghz ou equivalente, com pelo
menos 512 MB de RAM e disco rígido ATA 66 ou superior. Além disso, os
pacotes dos aplicativos são compilados para a plataforma i586, que
segundo seus colaboradores, este processo dá ao sistema garantias de
bom desempenho e estabilidade.
Já a Conectiva Linux foi a primeira distribuição brasileira a surgir e
atualmente é a maior da América Latina. Foi desenvolvida em 1998,
inicialmente baseada no Slackware e posteriormente na Red Hat em 1999,
tomando como base uma tradução desta distribuição que se encontrava na
época na versão 5.2. Com o passar dos tempos, a Conectiva8 tomou rumo
próprio, com o desenvolvimento da base de sua própria distribuição e
eliminando de vez qualquer vínculo com as versões da antiga Red Hat.
Dentre seus atrativos destacavam-se a total tradução para o português do
Brasil, suportando também o inglês e o espanhol, além de ótimo suporte
técnico, o desenvolvimento de um kernel personalizado e a implementação
das ferramentas de gerenciamento de pacote APT/Synaptic, desenvolvidas
originalmente pelo Projeto Debian.
Ambas utilizavam o KDE como o ambiente gráfico padrão. Porém, com a
fusão e o conseqüente surgimento da Mandriva, outro interessante
desktop entrou em cena: o Metisse. O seu diferencial é o de utilizar as
rotinas OpenGL suportadas pelo servidor gráfico X.org e as recursos de
hardware das placas aceleradoras gráficas 3D para se ter um ambiente
gráfico totalmente inovador com telas translúcidas e efeitos 3D.
No processo de fusão, gradativamente serão mesclados as melhores
características de cada uma, já que, na 1a. edição do Mandriva (2005 LE)
foi mantida apenas a base de desenvolvimento da antiga Mandrake.
Como toda boa distribuição, além dela disponibilizar as tradicionais mídias
de instalação, a Mandriva também possui um sistema Live-CD chamado
Mandriva One. o qual utiliza o KDE como desktop padrão. Embora tenha
uma seleção mais enxuta de pacotes, o Mandriva One também permite a
instalação de um sistema funcional com todas as aplicações necessárias
para o uso em um bom desktop. As aplicações adicionais que se fizerem
necessárias, bem como os utilitários, ferramentas e bibliotecas, poderão
ser obtidas através da sua ferramenta de atualização.
17/48
SUSE / OPENSUSE
✔ <http://www.suse.com/>,
✔ <http://www.opensuse.org>.
A grande distribuição alemã SuSE, além de possuir usuários ilustres como
o próprio Linus Torvalds, é a mais utilizada na Europa. Até antes, seu foco
era o usuário com conhecimentos técnicos no GNU/Linux, porém devido a
crescente utilização deste sistema, houve uma grande tendência para que
esta fosse atualizada aos poucos para atender a usuários finais.
A primeira versão desta distribuição foi baseada na SLS – que também foi
utilizada para ser a base do próprio Slackware. Porém, nos anos
seguintes, ela se submeteu a profundas modificações para se tornar o que
é hoje.
Dentre suas principais qualidades, está o suporte a 12 idiomas diferentes:
o português de Portugal (pt) e do Brasil (pt_BR), além do espanhol,
italiano, inglês, francês, alemão, entre outras línguas. Possui um
excelente instalador gráfico, o YAST9, um acrônimo de “Yes, Another
Setup Tools”10, além de um excelente suporte a hardware, onde o
reconhecimento de periféricos do sistema é realizado sem maiores
problemas.
Tal como a distribuição Debian, disponibiliza um alto número de
programas em seu pacote oficial. Atualmente a SuSE é composta de vários
CD-ROMs ou um DVD-ROM (a partir da versão 6.2). Esta foi uma das
primeiras a lançar sua distribuição gravada tanto em mídias de CD-ROM
quanto de DVD-ROM em um único pacote. Em seu logotipo é representado
um camaleão, o símbolo da adaptação e flexibilidade.
Com a SuSE sendo adquirida pela Novell, surgiram algumas grandes
mudanças, onde a principal está na manutenção do ambiente gráfico
GNOME ao invés do KDE. Isto gerou a revolta de diversos funcionários e
contribuintes que participavam ativamente de seu desenvolvimento, pois
desde o início, o apoio e a força dada ao KDE era uma tradição do SuSE.
Com o direcionamento do SuSE para linhas empresariais (SuSE
Enterprise), foi criado o projeto OpenSuSE, que por sua vez tem como
objetivo estimular o apoio da comunidade em seu desenvolvimento.
Enquanto o SuSE Enterprise mantém o ambiente gráfico GNOME como
padrão, o OpenSuSE continua a tradição ao manter o KDE, contribuindo
assim para acalmar o ânimo daqueles contrários com as mudanças
iniciais. 11
18/48
AS METAS-DISTRIBUIÇÕES
Meta-distribuições são aquelas distribuições que possuem alta capacidade
de adaptação para as mais diversas finalidades. Exemplos clássicos desta
linha são a Debian (descrita anteriormente) e Gentoo. Como já fizemos
uma descrição geral sobre a Debian, iremos nos concentrar na Gentoo.
GENTOO
✔ <http://www.gentoo.org/>.
O Gentoo – pronuncia-se “djen-tu” – é uma meta-distribuição desenvolvida
com o propósito de ser extremamente otimizada: o nome da distribuição
baseia-se na existência de uma raça de pingüins que tem como
característica de serem pequenos, leves e ágeis.
Uma de seus principais diferenciais está no sistema de gerenciamento de
pacotes baseado na tecnologia Portage, derivado dos sistemas BSDs.
Graças a ele, é possível ter uma grande flexibilidade na instalação do
sistema, que culmina com a possibilidade de realizar a operação apenas
com a compilação dos fontes dos programas – eis porquê ela também é
conceituada como uma LFS12 automatizada. Com os ebuilds – arquivos
especiais da árvore do Portage e que possuem todas as informações
referentes ao pacotes e a sua integração ao sistema – temos uma
infinidade de opções para customizá-lo, conforme as necessidades.
Com toda esta flexibilidade para a otimização, o Gentoo consegue obter
uma excelente performance em desempenho, chegando a superar
distribuições como o Arch Linux e próprio Slackware, além de se
aproximar bastante de um sistema LFS. Dependendo das circunstâncias, o
Gentoo pode executar programas para oWindows tão rápido o quanto
seria no próprio Windows!
A dispobibilidade de programas atualizados é outro grande atrativo desta
distribuição: basta que uma nova versão de um popular aplicativo esteja
disponível para que se encontre em pouco tempo na árvore de pacotes do
Gentoo. Com um simples comando, o teremos totalmente atualizado.
Todos estes recursos providos pelo sistema de gerenciamento Portage
têm um preço a pagar: dependendo do processo escolhido, a instalação do
sistema é complexa e demorada (podendo levar horas e horas), onde
também há uma grande tendência de encontrarmos bugs, já que a
velocidade de atualização impede os mantenedores de realizarem testes
mais elaborados. Devido a suas características, é um sistema
recomendado apenas para usuários mais experimentados.
19/48
AS ESPECIALIZADAS
Consideramos como especializadas as distribuições que foram
desenvolvidas com um enfoque específico ou para um público exclusivo.
Em nosso caso, como nos dedicamos a desenvolver uma literatura
especializada para os usuários desktops, falaremos do Ubuntu & Kubuntu
e Kurumin.
UBUNTU / KUBUNTU
✔ <http://www.ubuntulinux.org/>,
✔ <http://www.kubuntu.org/>.
O Ubuntu - cujo nome em africano significa "humanidade aos outros" - é
uma das mais recentes e agradáveis surpresas, em termo de distribuição
desenvolvida e aprimorada para o usuário desktop. Criado por Mark
Shuttleworth, o projeto é baseado no Manifesto Ubuntu, que “o software
deverá estar disponível livre de custos, que devem ter a liberdade de
alterá-lo conforme as necessidades, sejam quais forem elas”.
A distribuição é baseada no ambiente gráfico GNOME, como também
possui uma versão desenvolvida chamada Kubuntu, que por sua vez é
baseada no ambiente gráfico KDE. Temos também o Xubuntu, que por sua
vez é uma versão dedicada para equipamentos obsoletos, sendo mantido o
Xfce como ambiente gráfico padrão, por ser uma interface mais leve.
Apesar de ter sido desenvolvida para o uso em desktops, ela também pode
ser utilizada em servidores, contando ainda com uma versão
especialmente desenvolvida para este necessidade, chamada de Ubuntu
Server.
O sistema de versão do Ubuntu é baseado num interessante calendário
fixo de 6 meses: a cada período deste é lançada uma nova versão. O
sistema de numeração também é bastante prático e diferenciado: o
release maior basea-se no último algarismo do ano corrente e o release
menor nos algarismos correspondentes ao mês do lançamento. Por
exemplo, temos as versões 4.10 (Warty Warthog – a primeira a ser
lançada), a 5.04 (Hoary Hedgehog), e a 5.10 (Breezy Badger), que são
datadas respectivamente de outubro (2004), abril e outubro (2005). Como
devem ter observado, cada lançamento também é batizado com
nomenclaturas especiais.
Na mídia de instalação, são disponibilizados uma seleção de aplicativos
para compor todo o sistema. Apesar de ser instalável com apenas um
único CD-ROM, a distribuição possui um generoso repositório com mais
de 16.000 pacotes, possibilitando assim realizar a instalação das
aplicações através do Apt-get, caso estas não se encontrem na mídia
principal.
Apesar de ser desenvolvida pela Ubuntu Fondation, um projeto sem fins
20/48
lucrativos, é patrocinada pela Canonical Inc., uma empresa que vende o
suporte, treinamento e serviços de customização do Ubuntu.
KURUMIN
✔ <http://www.guiadohardware.net/kurumin/>,
✔ <http://www.kurumin.com.br/>.
"Um sistema operacional que roda diretamente a partir do CD-ROM? Sem
instalar nada? Que brincadeira é essa...". Pois é. Com ares de descrédito e
estupefação ficam os usuários de PCs desktops, quando conhecem uma
grande maravilha no cenário do Software Livre nacional: o Kurumin.
Desenvolvido por Carlos E. Morimoto, o Kurumin tornou-se uma grande
surpresa. Derivada de outra excelente distribuição, a Knoppix – que por
sua vez derivou-se da Debian –, ela herdou muitas de suas características
e qualidades. Em destaque, a possibilidade de contar um um sistema
completo e portável, necessitando de pouca demanda em processamento e
em hardware, além de disponibilizar ótimos utilitários para manutenção.
A distribuição utiliza como ambiente gráfico o KDE, o qual teve combinado
o seu nome original com a nomenclatura deste, resultando então no termo
personalizado Kurumin (KDE + Curumin = Kurumin).
Customizada com os programas mais utilizados pelos usuários desktops, o
Kurumin também é leve e consome poucos recursos, além de possuir
parâmetros na inicialização que permitem recondicionar seu uso a
equipamentos de recursos limitados. Entre outros atrativos, entra em
destaque a implementação de drivers pré-configurados para os principais
softmodens existentes, que atualmente são os periféricos que mais dão
dor de cabeça aos usuários iniciantes quando necessitam configurá-los.
Com o Kurumin, podemos utilizar o sistema inicializando-o diretamente
pelo CD13 (inclusive, habilitar os softmodens para navegar na Internet) ou
realizar a instalação no disco rígido, pois o criador do sistema reservou
uma opção à parte para esta operação de forma automatizada,
aproveitando ainda as configurações realizadas pelo usuário e ainda com
ótima performance. Mas deveremos antes acessar o CMOS Setup do
computador e configurar a inicialização para que seja feita a partir do
leitor de CD/DVD.
Conforme dito anteriormente, a principal finalidade do Kurumin é ter no
bolso um sistema operacional com alguns aplicativos à disponibilidade
para ser utilizado em qualquer equipamento. Porém, como o espaço
disponível no CD-ROM é relativamente pequeno (700 MB), será óbvio que
a quantidade de aplicativos disponíveis será pouca, onde o criador deverá
se concentrar em colocar programas indispensáveis. Esse conjunto de
13 Atualmente existe uma versão mais leve que ocupa pouco espaço, sendo ideal
para ser utilizado em mini-CDs de 192 MB, conforme era antigamente nas origens
do Kurumin. Tal versão recebe o nome de Kurumin Light.
21/48
programas são basicamente aplicações essenciais para o uso em um PC
desktop.
Mas, para aqueles que optarem usar a distribuição instalada em suas
máquinas, podemos utilizar os pacotes provenientes do Debian em seu
novo sistema, pois pelo fato da distribuição ser baseado no Knoppix, que
por sua vez foi baseado no próprio Debian, elas mantém a
compatibilidade.
Outra forma de instalar programas no Kurumin é acessando no menu
principal os Ícones Mágicos, atalhos para scripts especiais desenvolvidos
pelo próprio Morimoto que automatiza a instalação de programas bastante
usados, como o Firefox e o BrOffice.org.
MITOS E PRECONCEITOS
Dividiremos aqui por categorias os mitos e preconceitos que dificultam a
adoção dos sistemas GNU/Linux para uso geral – tendo enfoque especial o
uso em desktops –, como também esclareceremos os principais boatos e
informações errôneas que, sabe-se lá por quais motivos, são divulgadas e
considerados sem uma melhor avaliação, o que infelizmente têm impedido
diversos usuários de sua utilização para suas necessidades. 14
PRECONCEITOS GERAIS
• “Não é recomendado para usuários leigos...”
Há alguns anos, devido ao seu processo de desenvolvimento, os sistemas
GNU/Linux necessitavam de um certo grau de conhecimento técnico.
Porém, face aos constantes aprimoramentos que o sistema vêm sofrendo,
a cada dia o uso dos sistemas GNU/Linux têm se tornado mais amigável,
ao ponto de existirem diversas distribuições que primam pela facilidade
de instalação e de utilização. A distribuição Fedora e suas variantes, como
também o Ubuntu e o Kurumin, são ótimos exemplos, onde o processo de
instalação automatizado somente se difere da instalação do Windows
apenas no momento da definição de partições do disco rígido. O restante
segue de modo muito similar, sendo que muitas distribuições possuem um
processos de detecção e configuração extremamente eficientes. Por fim, a
existência de inúmeras ferramentas facilitam muito o trabalho de ajuste e
configuração: entre belos exemplos, destacam-se o Linuxconf, o APT, o
Synaptic, o Clica-Aki, o PkgTool, etc...
As interfaces gráficas GNOME e o KDE possuem conceitos básicos
22/48
similares ao Windows, pois foram desenvolvidas também com o intuito de
facilitar ao máximo a migração dos usuários deste e de outros sistemas
operacionais. Muitas empresas atualmente estão migrando suas estações
de trabalho para a famosa combinação GNU/Linux + OpenOffice.org (ou
BrOffice.org) + Firefox + Thunderbird, onde os resultados têm sido
surpreendentes.
A utilização de sistemas GNU/Linux ainda continua sendo um processo
que requer um certo conhecimento técnico, mas que não chega ao ponto
de não ser recomendado sua utilização por usuários leigos (somente em
circunstâncias “especiais”). Existem muitos casos em que usuários
extremamente leigos, ao ponto de não conhecer sequer o Windows,
consideram ambos os sistemas de difícil utilização (o que é óbvio e
natural), porém, quando lhes ministrado treinamentos em ambas as
plataformas, o grau de aprendizado entre elas são bastante parecidos,
tendo o Windows uma pequena vantagem devido a automatização de
muitas tarefas, o que NÃO quer dizer necessariamente que tenham
aprendido realmente os conceitos básicos para a administração e
utilização do sistema operacional.
• “Não serve para usar em casa, apenas em empresas...”
Conforme já dito anteriormente, existe uma infinidade de distribuições
GNU/Linux para atender as mais diversas finalidades. As maiores
distribuições, mesmo muitas não sendo consideradas ideais para uso em
desktops, podem ser perfeitamente utilizadas para estes propósitos.
Neste livro encontraremos dicas e informações para editar documentos,
navegar na Internet, editar textos, tratar imagens, gravar em mídias,
utilizar diversos periféricos, entre outras atividades, sem contar ainda
com as outras vantagens que muitos sistemas operacionais não fornecem.
• “Ninguém que eu conheço utiliza isso...”
Nestes últimos tempos, a adoção dos sistemas GNU/Linux têm crescido
vertiginosamente. Na Europa, cerca de 15% dos usuários utilizam os
sistemas GNU/Linux, enquanto que, no Brasil, temos apenas de 3 a 5%,
onde a maior parte se concentra no centro-sul do país. Hoje não há jornais
que possuem cadernos e seções especiais da área de informática que não
redijam matérias interessantes e instrutivas sobre a utilização do Tux e
suas aplicações. Até mesmo o próprio Governo incentiva o uso do
Software Livre, através do incentivo fiscal feito pelo programa PC Popular.
Além disso, os usuários “convertidos” geralmente sentem-se satisfeitos
com a mudança para o “novo” sistema operacional.
23/48
diversas finalidades. Além destas aplicações, normalmente
necessitaremos apenas de 8 ou 9 outras aplicações que poderão ser
obtidas diretamente da Internet, e ainda assim os pacotes geralmente são
pequenos em virtude da modularidade de suas pendências.
De acordo com o perfil de cada usuário, são instalados poucos programas
extras como o OpenOffice.org, Blender, Inkscape, QCad e WINE, algumas
bibliotecas necessárias, e ainda alguns drivers essenciais. Neste exemplo,
todos eles juntos não ultrapassam 200 MB. Após a instalação do Windows,
quantas mídias a serem usadas serão necessárias para realizar a
instalação dos demais aplicativos (a começar pelos drivers dos
periféricos)? Pois somente com o uso deste sistema operacional não será
possível realizarmos todas as atividades necessárias através de seus
básicos recursos.
Em segundo, existem diversos perfis de instalação, onde cada um pode
ocupar desde 400 MB a até vários gigabytes. Basta selecionarmos de
acordo com suas necessidades. Além disso, os sistemas GNU/Linux dão
grande flexibilidade na administração de pacotes, onde deveremos
verificar quais deles deverão ser instalados, estudar suas pendências e, se
desejarmos, desmarcá-los no processo de seleção para que eles não sejam
incluídos durante a instalação do sistema.
Em terceiro, existem distribuições para as mais diversas finalidades.
Muitas delas são concebidas para serem instaladas em máquinas
modestas e com pouco espaço em disco, mantendo ainda as principais
aplicações instaladas. O Kurumin Light é um belo exemplo, como outras
que podem ser otimizadas para a utilização nestes equipamentos, como o
próprio Slackware.
Por último, distribuições como a Slackware, mesmo instaladas utilizando o
perfil “Completo” (Full installation), não requer maior demanda de
processamento, pois a grande maioria dos serviços disponibilizados
podem ser mantidos desabilitados por padrão, ainda no processo de
instalação.
Vale lembrar também que instalações e/ou desinstalações excessivas de
aplicativos, drivers e utilitários no Windows traz um grande
inconveniente, que são a permanência de algumas bibliotecas
desnecessárias e alterações nos registros do sistema, que por sua vez
podem causar diversos males para a sua performance geral. Em sistemas
GNU/Linux isto raramente ocorre, desde que os pacotes instalados sejam
bem administrados. E boas ferramentas para administração de pacotes é o
que não faltam...
• “Não existem drivers para muitos periféricos do computador...”
Os sistemas GNU/Linux suportam praticamente a grande maioria
esmagadora de periféricos disponíveis no mercado. Para variar, é o
sistema operacional mais indicado para a instalação em computadores
obsoletos em virtude de seu excelente suporte para estes periféricos.
24/48
Porém, um ponto negativo refere-se ao desenvolvimento de drivers: os
fabricantes de hardwares, ao lançarem um novo modelo de periférico, não
desenvolvem os drivers necessários para os sistemas GNU/Linux, onde na
maioria das vezes não liberam as especificações técnicas necessárias para
facilitar a comunidade do Software Livre no seu desenvolvimento, o que
resultam em drivers instáveis e imaturos. As empresas que não liberam as
especificações para que estas informações não estejam disponíveis para as
concorrentes. Um belo exemplo disto é o suporte aos softmodens. Este é o
principal motivo pelo qual não é recomendado a aquisição destes
periféricos fabricados por empresas específicas para o uso nos sistemas
GNU/Linux.
Já quanto as placas aceleradoras de vídeo GeForce e Radeon, somente se
encontram disponíveis drivers proprietários, que por sua vez provêem
suporte total aos seus recursos e com níveis excelente (GeForce) e
moderados (Radeon) em termos de performance. Infelizmente, os drivers
livres possuem algumas limitações, como a baixa performance em 3D
(Radeon) e ausência da implementação destas funcionalidades (GeForce).
• “Somente usuários avançados conseguem configurar o sistema...”
Infelizmente, boa parte dos mitos existentes são “meias-verdades”, os
quais são os mais difíceis de combater. Realmente, a instalação dos
periféricos nos sistemas GNU/Linux variam muito de acordo com a
distribuição utilizada e das características de cada um. E irônicamente, o
Slackware é uma das distribuições que mais requer certos conhecimentos
técnicos para configurar, em virtude de suas características e
particularidades.
Em contrapartida, uma vez bem configurado, os sistemas GNU/Linux
dificilmente apresentam erros de configuração, de instabilidade e/ou de
compatibilidade. Houve casos em que a compatibilidade era tão boa que
superavam em performance e qualidade a outras plataformas. 15
INTERFACE GRÁFICA
• “As interfaces não têm a mesma praticidade que o Windows...”
Conceituar o uso e praticidade na realização de diversas operações é algo
inicialmente complicado de responder; mas todo os conceitos sobre
praticidade têm em comum a rapidez e fácil assimilação como requisitos
básicos desta característica. E como a questão principal é a facilidade de
uso do Windows, felizmente podemos responder que os sistemas
GNU/Linux – especialmente os ambientes gráficos KDE e GNOME – não
15 Por exemplo, ao testarmos o jogo Sin no Windows, o som ficava “falhando”, pois
em determinadas circunstâncias não se ouvia os disparos da pistola ou dos passos
do personagem, ao passo que utilizando as implementações de APIs Wine, o som
corria perfeitamente. Estes testes foram realizados com uma aceleradora gráfica
Voodoo 3 e a placa de som Creative Live! MP3, ou seja, não há como “botar culpa”
em periféricos de excelente qualidade e com bons drivers disponíveis...
25/48
diferem muito.
Os principais conceitos de praticidade no uso do ambiente gráfico
Windows referem-se a fácil localização de aplicativos e atalhos para os
principais recursos e aplicações. Por exemplo, os usuários citam bastante
as facilidades proporcionadas pelo uso do mouse, e nestes ambientes
gráficos, este periférico também é largamente utilizado, tendo seus
recursos tão bem utilizados que até mesmo em comparação com o próprio
Windows, este último deixa a desejar. O mesmo ocorre com a
disponibilização de interfaces gráficas para as mais diversas finalidades.
SUPORTE TÉCNICO
• “Não há suporte técnico especializado...”
Outro grande preconceito: basicamente existem duas formas de se obter
suporte técnico: a gratuita, buscando resolução dos problemas em listas
de discussão e pesquisando em endereços eletrônicos especializados, e a
paga, obtendo-o através de contrato com diversas empresas, como é o
26/48
caso da Conectiva, que oferece suporte a todas as distribuições
GNU/Linux em conformidade com a padronização LSB.
• “São poucos os profissionais especializados em suporte técnico...”
Além de existir uma variedade de empresas que prestam suporte técnico,
a cada dia mais profissionais estão se especializando na área em virtude
de seu grande crescimento. À medida em que o tempo passa, os sistemas
GNU/Linux ganham mais recursos e capacidades que por sua vez se
traduzem em sistemas amigáveis e fáceis de utilizar, ocorrendo
igualmente quando se trata de intervenções de caráter
preventivo/corretivo.
SOBRE...
AS VERSÕES...
Geralmente existe uma tendência dos novos usuários confundirem a
versão do kernel com a versão da distribuição que estamos utilizando (no
caso, a versão atual do Slackware), o que são dois aspectos bastantes
distintos.
A versão da distribuição refere-se ao grau de modificações que estas
apresentam durante o tempo de uso, seja pela necessidade de correção de
bugs, da atualização dos principais aplicativos e implementação de novas
melhorias. De acordo com cada distribuição, estas geralmente são
atualizadas por um curto ou médio período de tempo.
Já a versão do kernel, apesar de seguir a mesma filosofia, trata das
mesmas intervenções (melhorias, implementações e correções), porém é
focalizado independentemente da distribuição que o carrega. A sua equipe
de desenvolvimento, liderada por Linus Torvalds, dedicam seus serviços
unicamente ao núcleo de sistema, disponibilizando uma versão oficial para
todas as distribuições que decidirem adotá-lo. Atualmente as versões do
kernel recebem melhorias por um período maior (de 3 a 4 anos), porém as
implementações e correções aplicadas em um espaço de tempo menor.
A “VENDA”...
As aplicações livres disponíveis nas distribuições geralmente são
licenciadas pela GPL; por isto, estas últimas podem ser obtidas por
qualquer meio eletrônico com pouco ou quase sem ônus algum para o
usuário. Porém, muitas vezes ao passarmos em uma loja especializada,
encontramos caixas e mídias destas sendo vendidas a preços que variam
entre R$ 50,00 a 2.000,00. Se as aplicações (e conseqüentemente as
distribuições são livres), porque estas são “vendidas” em lojas do ramo?
A licença GNU GPL prevê claramente sobre este aspecto, o seguinte:
“Quando nos referimos a software livre, estamos nos referindo a liberdade e
27/48
não a preço. Nossa Licença Pública Geral foi desenvolvida para garantir que
você tenha a liberdade de distribuir cópias de software livre (e cobrar por
isso, se quiser); que você receba o código-fonte ou tenha acesso a ele, se
quiser; que você possa mudar o software ou utilizar partes dele em novos
programas livres e gratuitos; e que você saiba que pode fazer tudo isso.” --
[Tradução da GNU GPL v2].
Apesar da existência de uma cobrança para a obtenção de uma
distribuição empacotada pelo desenvolvedor, temos a liberdade de
realizar cópias, alterar e distribuí-las conforme desejarmos, desde que...
“Por exemplo, se você distribuir cópias de um programa, gratuitamente ou
por alguma quantia, você tem que fornecer aos recebedores todos os direitos
que você possui. Você tem que garantir que eles também recebam ou possam
obter o código-fonte. E você tem que mostrar-lhes estes termos para que eles
possam conhecer seus direitos.” -- [Tradução da GNU GPL v2].
Para que os benefícios estejam disponíveis para todos, temos também
certas obrigações a cumprir, e a garantia destes direitos é a principal
delas. A disponibilidade do código-fonte a terceiros é indispensável para a
contínua melhoria do sistema, de suas ferramentas e das aplicações livres
em geral.
Por último, lembre-se de que muitos destes pacotes não somente trazem
as mídias, como também manuais impressos com instruções detalhadas
sobre a distribuição desejada, além de um cartão de registro para que o
usuário possa obter o suporte técnico de sua empresa desenvolvedora.
A “MELHOR”...
Infelizmente devido ao apego e a ideologia de muitos usuários de sistemas
GNU/Linux, existe uma forte comoção destes recomendarem em utilizar a
distribuição X ou Y, onde logicamente os mesmos a utilizam. Conforme
puderam ver, existe uma enorme variedades de distribuições, mas o que
realmente importará para a escolha da distribuição ideal será a satisfação
do usuário. Não importa se a distribuição X é a mais utilizada do mundo;
se a distribuição Y é a que possui mais aplicativo, se a distribuição Z é a
mais fácil de instalar; importará somente se o usuário adaptou-se com a
opção escolhida e teve suas necessidades plenamente satisfeitas. Isto
somente ele é que poderá decidir.
Antes de procurarem obter qualquer aconselhamento técnico sobre a
escolha de uma distribuição GNU/Linux, os usuários deverão saber
exatamente quais são os tipos de atividades que desejam executar, além
de terem certeza de quais são as suas particularidades e preferências a
serem definidas para a seleção do novo sistema. Eles poderão conversar
com especialistas, mostrar suas particularidades e solicitarem explicações
e conselhos técnicos sobre a utilização desta ou, de outra ou da
distribuição mais adequada para as atividades que desejam executar, além
de citar ótimas fontes de referência. Muitos usuários veteranos já
rodaram diversas distribuições para definirem a sua favorita, e com
28/48
certeza os mais novatos irão conhecer muitas outras até chegar a sua
distro preferencial.
Por último, os novos usuários deverão estar conscientes de que:
CONCLUSÃO
A cada dia, as distribuições vão adquirindo perfis e personalidades
distintas, tornando cada vez mais difícil (e ao mesmo tempo motivante)
conhecer e administrar cada uma delas. Com o tempo, estas adicionam em
seu conteúdo, aplicações, utilitários e estruturas diferenciadas, as quais a
tornam aptas para as aplicações onde foram concebidas. &;-D
29/48
III. O SLACKWARE
INTRODUÇÃO
✔ <http://www.slackware.org/>.
Para o desenvolvimento deste trabalho, optamos por escolher o Slackware
como a distribuição base, dada as suas características únicas.
Mas, para aqueles que não tenham compreendido a escolha desta opção,
reservamos este capítulo a parte para que possam conhecer mais à fundo,
as características deste maravilhoso projeto.
A DISTRIBUIÇÃO
O QUE É O SLACKWARE
O Slackware 16 é uma distribuição conceituada como “simples”: apesar de
não possui a maioria dos utilitários disponibilizados em outras
distribuições – obrigando-nos a lidar diretamente com os arquivos de
configurações –, segue a filosofia de manter o sistema o mais simplificado
possível. 17
Justamente por ser simples, esta é uma das distribuições mais preferida
dos usuários avançados, especialistas em hardware & sistemas, além
daqueles que desejam conhecer profundamente todos os processos
relacionados a administração geral de sistemas. Ela é uma excelente
opção para quem não tem medo de mexer em seus arquivos de
configuração para obter um ajuste mais fino e otimizado do sistema, onde
ao mesmo tempo “força” os mais novatos a entender o funcionamento
interno de um sistema GNU/Linux.
Atualmente o Slackware é a mais antiga distribuição GNU/Linux existente,
e ao lado da Debian e a Red Hat, são as distribuições mais utilizadas no
mundo inteiro, com diversos usuários fiéis e fervorosamente devotos, que
a cada dia contribuem para com a sua distribuição favorita.
30/48
UM RESUMIDO HISTÓRICO
Patrick Volkerding necessitava de uma versão do Unix que pudesse rodar
em sua máquina. Graças a alguns de seus amigos, conheceu o Linux, e
interessado em seu desenvolvimento, baixou uma distribuição chamada
SLS para teste. Porém, observou que esta possuía muitos erros; por isto,
decidiu criar a sua própria distribuição. Por ser baseada na SLS, ele
corrigiu algumas deficiências e acrescentando diversas melhorias...
Assim, em Abril de 1992, nasceu o Slackware, uma das distribuições mais
antigas ainda em vigor no mundo GNU/Linux, bastante utilizada por
acadêmicos e profissionais em Unix e que em geral, desejavam obter um
conhecimento mais aprofundado do funcionamento deste sistema.
Desde então, “versã-após-versão”, o Slackware vem se mantendo fiel com
as suas origens: ser um sistema simples, prático e aderente aos padrões
Unix.
AS PARTICULARIDADES
Apesar de praticamente todas as distribuições possuírem seus próprios
diferenciais que a tornam únicas (além do nome), o Slackware possui um
conjuto próprio de particularidades tão interessantes, quanto originais...
O sistema possui uma estrutura bem simplificada, que por sua vez é pré-
concebida baseada na filosofia KISS – Keep Is a Simple, Stupid –, sendo ao
mesmo tempo amigável dentro do conceito expert-friendly – amigáveis
para os espertos. Para exemplificar, as demais distribuições utilizam
diversos processos, utilitários e arquivos de configuração que visam
“facilitar” a vida do usuário, porém torna-se um verdadeiro tormento
quando há necessidade de se identificar e alterar corretamente os seus
arquivos de configuração. Isto também nos priva de conhecer mais
detalhadamente o funcionamento do sistema, perdendo assim uma boa
oportunidade de realizar profundas otimização e obter um aprendizado
mais intenso. Eis porque a distribuição é chamada de Slack, que quer
dizer “preguiçoso”.
Graças a sua simplicidade e poucas customizações, é também considerada
uma distribuição “genérica”: infelizmente, as demais geralmente possuem
um ou mais utilitários e processos específicos de configuração e ajuste, o
que dificulta sua aplicação em outras distribuições, caso haja a
necessidade de uma possível troca ou migração. Esta característica
também confere ao sistema uma certa independência, pois uma vez que
venhamos a conhecer a sua estrutura interna de funcionamento,
poderemos intervir diretamente em seus arquivos de configuração,
dispensando o uso de ferramentas gráficas. Sem o uso de ferramentas
gráficas, o sistema também ganha maior flexibilidade, onde é garantida
uma melhor adaptação e otimização geral, pois o usuário poderá modificar
à mão opções que muitas vezes não se encontram presentes nas
31/48
ferramentas de configurações gráficas.
A instalação do sistema é feita totalmente através do modo texto. Ao
contrário do que muitos pensam, este método facilita muito o uso de
equipamentos antigos, já que não requer certa carga de processamento
exigida com a utilização de bibliotecas gráficas para o modo gráfico, além
de evitar a possibilidade de uma placa de vídeo problemática travar
durante a execução do processo. Por isto, é considerada ideal para a
utilização em computadores com poucos recursos. Conta ainda com a
vantagem de ter vários kernels customizados, pacotes pré-compilados
para arquiteturas mais antigas e a possibilidade de definirmos apenas
alguns serviços essenciais a serem habilitados após a sua instalação.
32/48
aplicativos em máquinas mais antigas e/ou compatíveis com esta
plataforma. Isto se dá ao fato de que muitas instalações serão feitas em
máquinas obsoletas, onde o objetivo principal é reaproveitar sua modesta
capacidade para funções específicas e que requeiram pouco
processamento (terminais, roteadores, servidores de impressão, etc).
Por último, o desenvolvimento da distribuição segue a filosofia de ser o
sistema mais fiel aos padrões UNIX e POSIX, além de se aproximar das
especificações definidas pela norma LSB.
SUAS APLICAÇÕES
Existe uma enorme variedade de atividades e finalidades em que poderá
ser utilizado o Slackware. Pelo fato de ser uma distribuição ótima para ser
utilizada em equipamentos obsoletos, o Slackware é uma excelente opção
para dar vida aos antigos 486 para que estes possam realizar atividades
que requerem menos demanda de processamento. No comércio, podemos
utilizá-lo em computadores para o gerenciamento de dados ou para
manter simples planilhas. Na área empresarial, em provedores de acesso,
enfim, uma enorme variedade de possibilidades. Para o uso em desktops,
até um Pentium 233 Mhz com seus meros 64 MB de memória RAM poderá
servir!
Apesar de diversas opiniões contrárias e em virtude de suas
características e qualidades, o Slackware é uma distribuição interessante
para auxiliar o treinamento de iniciantes, visto a necessidade de
intervenção direta ao sistema. Embora as soluções baseadas em
interfaces gráficas sejam mais confortáveis, nem sempre garantirão um
maior aprendizado.
“Pelo fato do Slackware ter como filosofia ser o mais similar ao Unix
possível, ele não prende o usuário a ferramentas específicas desta ou
daquela distribuição. Um usuário avançado de Slackware é capaz de efetuar
praticamente qualquer operação no Linux, independente de distribuição. E
isso serve para reforçar nossa opinião quanto à escolha do Slackware como
sua primeira (e talvez única) distribuição Linux.” -- [“Mini HOW-TO de
Instalação do Linux (Slackware)”, por mistif & r_linux].
Poderemos utilizar uma máquina antiga e obsoleta para aprimorarmos o
nosso aprendizado, enquanto as máquinas de produção continuam com o
sistema operacional anterior, ou ainda, em modo dual-boot18.
AS VERSÕES...
Além da distribuição principal, o Slackware conta também com uma
versão minimalística chamada ZipSlack, além de uma série de outros
projetos derivados (mas não oficiais).
33/48
A ZipSlack é uma versão do Slackware que ocupa menos de 100 MB. Foi
batizada com este nome pelo fato de simplesmente caber em um único
disquete de ZipDrive com a capacidade mínima de 100 MB. Sua principal
característica é a possibilidade de rodar diretamente dentro de uma
partição UMSDOS, sendo então desnecessário o reparticionamento do
disco rígido para a sua utilização.
Por caber apenas em um espaço bastante reduzido, esta versão não possui
nenhum ambiente gráfico disponível; caso queiram acrescentar mais
programas, basta utilizar os pacotes nativos do Slackware, instalando-os
normalmente como se fosse um sistema comum. O ZipSlack também pode
ser perfeitamente instalado, onde para isto, deveremos seguir as
instruções contidas na documentação FAQ.txt.
Os requerimentos básicos necessários para a utilização do ZipSlack
baseiam-se em um computador com processador 386 DX, 16 MB de
memória RAM e espaço mínimo de 100 MB no disco rígido.
SEUS REQUERIMENTOS
Além do próprio Slackware, existem várias distribuições para as mais
variadas finalidades, que por sua vez requerem recursos também
variados. Por isso, definir requerimentos padrões para utilizá-los é
praticamente impossível. Porém, todos os sistemas baseados em
GNU/Linux possuem uma característica interessante em comum:
geralmente necessitam de máquinas com os mesmos ou menos recursos
que os demais sistemas operacionais existentes de mesmas características
e finalidades, além de um certo grau de conhecimento técnico
(dependendo da distribuição).
REQUISITOS DE HARDWARE
Poderão existir diversos perfis de requisitos de hardware, de acordo com
as necessidades dos usuários. Porém, para o uso do sistema em um
ambiente exclusivamente desktop, não há maiores exigências de
configuração para um equipamento de ponta. No máximo, determinados
requerimentos necessitarão ser extendidos por causa de certos tipos de
aplicações, como renderizadores gráficos e jogos 3D.
Estas máquinas deverão estar dentro dos seguintes mínimos requisitos:
• Processadores Pentium III ou Athlon de 750 Mhz, com 256 KB de
cache L2 ou qualquer outra CPU compatível e equivalente;19
34/48
• Sistema de memória RAM de 256 MB;
• Leitor óptico para mídias de CD-ROM de 16x;
• Unidade de armazenamento (disco rígido) de 6.4 GB,;
• Monitor de vídeo: 14”, resolução 800x600 pixels e cores de 16
bits;
• Placa/chipset de vídeo: mínimo de 1 MB de RAM;
• Placa/chipset de fax modem, padrão V.90 com 33.6 kbps;20
• Placa/chipset de som com caixas acústicas;
• Demais periféricos como mouse, teclado, etc.
Talvez seja necessário obter conhecimentos sobre a nomenclaturas e
detalhes técnicos (tipo, capacidade, formato, modelo, etc.) dos
componentes e dispositivos de hardware, pois em muitos casos os
processos de configuração poderão não oferecer formas de detecção,
além de eventual necessidade de informações específicas.
Para outras categorias de aplicações, estes requerimentos poderão variar
de acordo com o ambiente gráfico e os programas disponíveis. As
instruções contidas nesta literatura poderão ser utilizados em
equipamentos com configurações inferiores, porém seus recursos
certamente estarão limitados para muitas tarefas conforme a performance
a ser apresentada.
CONHECIMENTOS TÉCNICOS
Para obtermos sucesso na utilização das informações contidas neste livro,
deveremos estar dentro dos seguintes quesitos:
• Conhecimentos gerais de informática: saber o que é um
aplicativo, como funciona o processo de instalação, porque é
necessário realizar processos de ajustes e configurações, etc.;
• Conhecimentos básicos de hardware: o que é um disco rígido,
uma placa de vídeo, particionamento de discos rígidos, etc., pois
ter dúvidas primárias com certeza dificultarão bastante o
aprendizado;
• Noções básicas em manipulação de ambientes gráficos:
contato com ambientes gráficos que ofereçam recursos de
manipulação de janelas, como o Microsoft Windows e o Mac OS X;
35/48
• Noções básicas em linha de comando: se pelo menos alguma
vez já tiveram algum contato com o MS-DOS ou qualquer outro
sistema ou programa que façam o uso de um interpretador de
comando.
Em virtude do certo grau de complexidade dos sistemas GNU/Linux em
geral, é necessário ter pelo menos um bom conhecimento básico sobre o
uso de sistemas operacionais. Isto vale até mesmo para distribuições Red-
likes, pois apesar das facilidades no uso em comparação a Debian e
Slackware, ainda existe um certo grau de dificuldade e uma ligeira
necessidade de aprendizado para que o usuário possa fazer pelo menos
um uso razoável dos recursos oferecidos pelo sistema.
Caso não tenham esta base de conhecimento em sistemas GNU/Linux,
gastem alguns bons momentos e estudem minuciosamente a 2.a Parte:
Conhecimentos Gerais. Lá encontraremos todas as informações
necessárias para o bom aprendizado das instruções contidas neste livro.
Experimentem testá-las em distribuições que rodam diretamente na mídia
(como o Kurumin), pois assim não sofreremos o risco de uma ação
indevida.
OUTRAS PROVIDÊNCIAS...
Dentre outras providências, toma-se como necessário:
• As mídias de instalação. Em nosso caso, o DVD do Slackware;
• Ser calmo, atencioso e – preferencialmente – auto-didata.
Quanto a este último item, acreditem, irão precisar mesmo de muita calma
e atenção em determinadas circunstância, e provavelmente não terão
auxílio de alguém mais experiente. Muitos usuários mais experimentados
já passaram por isto e sabem o quanto é terrível...
COMO OBTÊ-LA?
MÍDIAS OFICIAIS
A forma oficial para se obter a distribuição é a aquisição de uma caixa
especial que contém as mídias e o manual de instalação – além do suporte
técnico –, tudo isto diretamente do endereço eletrônico oficial.
✔ <http://store.slackware.com/>.
Outra opção para aquisição está na realização de contato com a Livraria
Tempo Real, onde bastará apenas utilizar as ferramentas de busca interna
da página para achar mais rapidamente os ítens desejados e as instruções
necessárias para efetuar a compra.
✔ <http://www.temporeal.com.br/>.
36/48
A distribuição atualmente é composta por 1 DVD, que por sua vez contém
as mídias de inicialização para a instalação do sistema, o ZipSlack, os
pacotes que compõe o /extra e o /pasture, além dos fontes e da
documentação Slackware Linux Essentials.
IMAGENS ISOS
Caso por algum motivo qualquer não houver como adquirir as mídias
oficiais da distribuição, poderemos também baixar as imagens ISO das
mídias na Internet através dos espelhos (mirrors) disponibilizados em...
✔ <http://slackware.com/getslack/>.
Procurem utilizar os atalhos para os demais espelhos, pois geralmente o
FTP oficial tende a ficar sobrecarregado com os inúmeros acessos
realizados por diversos usuários do mundo inteiro.
À partir da versão 9.1, o FTP oficial do Slackware não mais disponibiliza
as imagens para serem baixadas, esta e as demais serão disponibilizadas
via BitTorrent. Os .torrents se encontram disponíveis no endereço...
✔ <http://slackware.com/torrents/>.
EM LOJAS VIRTUAIS
Outra boa forma de obter as mídias de instalação está na encomenda
direta em lojas virtuais. Não só encontraremos disponíveis as mídias com
a versão atual do Slackware, como também de várias outras distribuições,
além de diferentes preços e formas de pagamento. Basta seguir as
instruções da página eletrônica, realizar o pagamento e aguardar a
chegada das mídias na agência de correio mais próxima.
✔ <http://www.linuxmall.com.br/>,
✔ <http://www.slackmall.com.br/>,
✔ <http://www.guiadohardware.net/>.
Entre outras alternativas, podemos passar nas bancas de revistas e
jornais e adquirir qualquer revista especializada que distribuam as mídias
de instalação, porém estejam certos de que existe uma certa demora
desde a data do lançamento da distribuição até a sua disponibilidade.
CONCLUSÃO
A famosa e “mistificada” Slackware, que sempre foi tema de discussão e
debates em virtude de seus diferenciais, continua com o fôlego e a força
de sempre. Desde seus primeiros tempos e até hoje, esta sempre será a
filosofia do Slackware: KISS!
Visitem sempre as páginas eletrônicas especializadas no Slackware. Na
37/48
nossa página temos uma seção no menu principal intitulada Sites, onde lá
se encontrarão as principais páginas de grupos brasileiros existentes,
além de outras importantes. Alguns destes grupos possuem listas de
discussão e debate, onde poderemos nos inscrever para solucionar as
dúvidas e questões pertinentes sobre esta distribuição. &;-D
38/48
IV. LEIS, NORMAS E FUNDAÇÕES
INTRODUÇÃO
Como qualquer outro aplicativo, sistema operacional ou tecnologia, para
os sistemas livres existem um conjunto de leis, normas e padrões
estabelecidos que visam proteger a liberdade dos usuários e
desenvolvedores, além de garantir a compatibilidade entre os diferentes
projetos de Software Livre existentes (e em conseqüência, a sua
disseminação).
Neste capítulo, iremos realizar um breve estudo das leis e normas que
regem o universo das distribuições GNU/LInux e o Software Livre, como
também as fundações criadas para defender este propósito.
AS LEIS...
Leis, licenciamentos, termos... o que ela tem de importante no universo
dos programas de código-aberto? A idéia não é ter a tão desejada
liberdade? Exato! E tão importante quanto ter a liberdade, é garanti-la. As
licenças aplicadas para os programas e as documentações tradicionais
consistem principalmente em restringir a distribuição e redistribuição da
obra; porém as licenças de programas e documentações livres têm um
caráter diferenciado, que é basicamente a preservação do direito e da
liberdade dos indivíduos que a utilizam e colaboram.
39/48
outras importantes para que um programa possa ser considerado livre.
AS LICENÇAS LIVRES
✔ <http://www.gnu.org/licenses/licenses.pt.html>.
O Projeto GNU e a fundação FSF são os pilares do movimento do código-
aberto. Se não fosse a iniciativa do líder Richard Stallman, de seus
colaboradores e muitas outras iniciativas, estaríamos hoje expostos a
limitada escolha de programas e sistemas operacionais, sofrendo ainda as
abusivas cláusulas das licenças de caráter proprietária.
Além da construção de diversas ferramentas para a concepção de um
novo sistema operacional, Richard Stallman desenvolveu a GPL e
posteriormente a LGPL e FDL, que são licenças especiais que visam
proteger a liberdade de edição e redistribuição dos programas de código
llivre e documentações que fossem licenciados nestas modalidades.
GPL
✔ <http://www.gnu.org/licenses/gpl.txt>.
Conforme a própria definição de sua página oficial, a Licença Pública
Geral do GNU é freqüentemente chamada abreviadamente de GNU GPL e
é utilizada pela maioria dos programas do Projeto GNU assim como muitos
outros programas de código aberto que não são parte do Projeto GNU.
A Licença Pública Geral não permite que incorporem o código de
programas por ela licenciados em programas proprietários. Se o
programa em questão é uma biblioteca de sub-rotinas, deveremos
considerar mais útil permitir ligar aplicações proprietárias com a
biblioteca. Se isto é o que realmente desejamos, deveremos então utilizar
a Licença Pública Geral de Bibliotecas GNU, ao invés da tradicional GNU
GPL.
LGPL
✔ <http://www.gnu.org/licenses/lgpl.txt>.
Antigamente esta licença era chamada de “Licença Pública Geral para
Bibliotecas”, popularmente chamada de “GPL de Bibliotecas” - mais
especificamente entre as versões 2. e 2.1 –, porém devido a esta
nomenclatura, esta licença era utilizada com mais freqüência do que
realmente deveria ser. Seu novo nome foi criado então para que os
usuários utilizem-na realmente no seu verdadeiro propósito.
Diferente da GNU GPL, a Licença Pública Menos Geral do GNU consiste
em uma licença específica para o uso apenas em circunstâncias onde há
necessidade de se ligar a um programa ou biblioteca proprietária sem que
os termos de liberdade alterem a licença desta última. Portanto, tal
programa ou biblioteca continuam sendo proprietários.
40/48
FDL
✔ <http://www.gnu.org/licenses/fdl.txt>.
Conforme as definições do Projeto GNU, a Licença de Documentação Livre
do GNU é uma forma de copyleft criada para uso em manuais, livros texto
ou outros documentos para garantir que qualquer um tem a real liberdade
de copiar e redistribui-los, com ou sem modificações, tanto comercial
quanto não-comercialmente, desde que atenda a alguns requisitos sobre a
questão de autoria, por elas solicitados.
Da mesma forma que a GPL é largamente utilizada para os Softwares
Livres, a FDL está no mesmo nível para as documentações livres.
COPYLEFT X COPYRIGHT
✔ <http://www.gnu.org/copyleft/copyleft.pt.html>.
Conforme as próprias definições do Projeto GNU, copyleft é um método
legal de tornar um programa em Software Livre e exigir que todas as
versões modificadas e extendidas do mesmo também recebam o mesmo
licenciamento. Traduzindo em miúdos, significa que poderemos realizar a
cópia, a alteração e distribuição destes programas, porém o trabalho
derivado somente poderá ser distribuído como Software Livre,
obedecendo as regras da licença GNU GPL. Mas o quê o copyright tem a
ver com isso?
Para tornar um programa livre pelos termos da GNU GPL – ou seja,
copyleft – de início será necessário o registro de sua autoria como
software copyright, para que o desenvolvedor adicione os termos legais
específicos, tornando o software se torne copyleft e assim garantir a sua
liberdade.
A finalidade do copyright é eliminar o livre uso e redistribuição das
aplicações por ela protegidos, além da autoria do software; já o copyleft
tem o efeito invertido: o objetivo é de garantir a liberdade de uso e
redistribuição das aplicações dentro dos termos da GNU GPL.
41/48
SOBRE AS TRADUÇÕES EXTRA -OFICIAIS
42/48
compativeis e incompatíveis com a ideologia –, decrevendo uma breve
explicação sobre suas diferenças. Consultem a página oficial do Projeto
GNU para obterem maiores informações a respeito.
OBSERVAÇÕES FINAIS
A base da ideologia do Software Livre não está na possibilidade de ter
bons programas a baixo custo. O ideal defendido está na liberdade de uso
das obras regidas pelos termos das licenças abertas. Mesmo apesar desta
ideologia permitir a livre distribuição das obras licenciadas, ela também
impõe algumas restrições para garantir para todos estes direitos, como a
obrigatoriedade de concessão do código fonte e a impossibilidade de
restringir sua cópia – seja por quaisquer mecanismos.
AS NORMAS...
Uma das maiores dificuldades enfrentadas pela grande maioria dos
usuários e empresas que utilizam o sistema GNU/Linux é a questão da
“falta de padronização” entre as diferentes distribuições existentes. Isto
se deve ao fato da existência de seus conceitos e idéias próprias e
diferenciadas. Muitos utilitários especiais se encontram presentes
somente em algumas, noutras existem diversas estruturas diferenciadas,
além de muitas outras mudanças para a sua própria satisfação.
Face aos problemas causados por estas diferenças conceituais, foram
desenvolvidos um conjunto de normas e especificações técnicas que visam
definir padrões para eliminar – ou ao menos, minimizar – as
incompatibilidades existentes entre as distribuições.
Existem diversas normas e especificações técnicas, todas defendendo os
mesmos objetivos de compatibilidade e padronização. Destas, destaca-se a
Linux Standard Base.
43/48
no mercado.
REQUERIMENTOS DA LSB
Dentre alguns requerimentos da LSB, destacam-se as seguintes
categorias em que as suas definições deverão ser seguidas à risca para
que uma distribuição possa ser certificada pelo padrão:
• O sistema de hierarquia de arquivos regidos pela FHS;
• A compatibilidade binária (ELF libs);
• As ferramentas de gerenciamento de programas (RPM);
• O interpretador de comandos (BASH);
• O método de inicialização (System V);
• As variáveis de ambiente;
• Bibliotecas, ferramentas e APIs;
• O Kernel (Linux) e as especificações técnicas de arquitetura;
• O (rigoroso) sistema de gerenciamento de usuários;
• A definições de línguas e aspectos regionais;
• entre outros aspectos importantes.
Lembrando que o padrão e suas especificações estão em constantes
aprimoramentos, onde uma das recomendações que deixamos é consultar
a página oficial e estar atento para com as melhorias realizadas.
44/48
distribuições específicas.
Ao contrário de muitos boatos e rumores, a LSB somente estabelece um
núcleo de recursos e capacidades que deverão ser adotados pelas
distribuições que desejam a certificação, e NÃO como estas deverão ser
construídas. Na prática, todos estes sistemas continuarão tendo a
liberdade de implementar suas melhorias conforme melhor considerarem,
porém, deverão seguir algumas normas e padrões técnicos pré-
determinados.
OS (MAIORES) BENEFICIADOS
SOBRE A FHS
✔ <http://www.pathname.com/fhs/>.
A norma FHS – Filesystem Hierarchy Standard – é um conjunto de
requerimentos técnicos que visam estabelecer normas e padrões para a
estrutura do sistema de arquivos Unix, derivados e clones. A versão mais
recente das especificações do FHS é a 2.2, de 24 de maio de 2001.
Segue abaixo um simples resumo do principais diretórios localizados na
raíz, que compõe a estrutura do sistema, além de suas utilizações, para
que possamos ter uma noção básica do que se propõe.
• /bin: binários com os comandos essenciais para os usuários;
• /boot: arquivos estáticos para a inicialização de sistema;
• /dev: devices para o acesso aos dispositivos do sistema;
• /etc: arquivos-textos com definições para a máquina local;
45/48
• /home: arquivos pessoais dos usuários;
• /lib: bibliotecas compartilhadas e módulos;
• /mnt e /media: pontos de montagem para o uso de dispositivos de
armazenamento (zip-drives, CD/DVD-ROMs, flash-memory, etc);
• /opt: diretório para a manutenção de antigos programas;
• /proc: sistema de arquivo virtual com informações dos processos;
• /root: diretório do superusuário;
• /sbin: binários essenciais para a administração;
• /srv: armazenamento de informações relacionadas a serviços;
• /sys: informações sobre o suporte aos dispositivos de hardware;
• /tmp: armazenamento de arquivos temporários;
• /usr: aplicativos e utilitários do sistema;
• /var: informações variáveis.
Para obter maiores informações sobre os principais diretórios da raiz do
sistema, diversos aspectos interessantes o informações adicionais,
consultem a 2a. Parte: Conhecimentos Gerais -> A estrutura de arquivos.
OBSERVAÇÕES FINAIS
Tão importante quanto desenvolver soluções, é torná-las compatíveis e
padronizadas para o seu uso e manutenção, pois durante muito tempo
estas eram as grandes dificuldades para se desenvolver e utilizar diversos
programas em sistemas GNU/Linux, face a falta de normas e padrões
rígidos e determinados. Quem nunca teve algum descontentamento ao
instalar um pacote no formato RPM de uma distribuição em outra e seu
respectivo aplicativo não funcionar no novo ambiente?
Hoje, o universo mudou; existem atualmente um conjunto de normas e
procedimentos técnicos que visam tornar os sistemas GNU/Linux
compatíveis e interoperáveis entre si, tornando ainda mais atraente e
fascinante o mundo do Software Livre para o mercado.
AS FUNDAÇÕES...
Embora a Free Software Foundation tenha sido a fundação pioneira em
termos de iniciativa para a defesa, promoção e disseminação do Software
Livre, ela não é a única. Ao longo do tempo, outras instituições surgiram
não só com o propósito de defender o Software Livre e os sistemas
GNU/Linux, como também em fomentar padrões e normas que viabilizem
o aspecto comercial. Além da Free Software Foundation, temos também a
Linux Foundation e a FreeDesktop.
46/48
A FREE SOFTWARE FOUNDATION
✔ <http://www.gnu.org/home.pt.html>.
Conforme já explicado no capítulo “O Linux”, no início dos anos 80,
Richard Stallman fundou a FSF – Free Software Foundation – e o Projeto
GNU com o objetivo de desenvolver um sistema operacional e um
conjunto de ferramentas livre com a ajuda de milhares de programadores,
além de disseminar a ideologia do Software Livre.
O LINUX FOUNDATION
✔ <http://www.linux-foundation.org/>.
O Linux Foundation é o resultado de uma fusão das duas maiores
instituições representativas do mundo Open Souce: a Open Souce
Development Labs e a Free Standards Group.
A Open Source Development Labs – abreviação: OSDL – é uma instituição
que tem por objetivo prover suporte e recursos ao desenvolvimento de
soluções e tecnologias livres, em especial o kernel Linux. Financiada por
grandes empresas da área de tecnologia (IBM, Sun, HP, entre outras), é
ela que inclusive emprega o próprio Linus Torvalds para que ele possa de
dedicar de forma integral do desenvolvimento do kernel.
Já a Free Standards Group tem como meta estabelecer padrões que visam
possibilitar a compatibilidade e interoperabilidade entre os diferentes
sistemas Unix e distribuições. É ela – juntamente com a The Open Group –
que mantém as definições na norma LSB.
47/48
Juntas e com o apoio de mais de 70 representantes – incluindo grandes
personalidades, empresas, instituições, distribuições e projetos –, os
objetivos e metas se ampliam para que se possa promover de forma geral
os sistemas baseados em GNU/Linux e as tecnologias livres.
O FREEDESKTOP
✔ <http://www.freedesktop.org/>.
O FreeDesktop é uma iniciativa aberta que tem como principal objetivo
prover uma série de recursos – compreendidos em padrões,
especificações e implementações – visando a interoperabilidade de
diferentes ambientes e interfaces gráficas disponíveis para os sistemas
GNU/Linux e Unix.
Tanto as especificações quanto as implementações atuam diretamente
sobre os elementos de interação como as bibliotecas gráficas (Qt e GTK),
APIs (WINE, XUL) e claro, os ambientes gráficos como o KDE e o GNOME.
Dentre as especificações, encontram-se a forma como cada ambiente
gráfico deverá lidar com seus recursos relacionados a interatividade,
como as definições dos menus de inicialização, o tradicional “arrastar-e-
colar”, o gerenciamento de conteúdos copiados para a memória, o padrão
e a forma de utilização dos ícones, as aplicações do formato XML, etc.
Além de prover uma série de especificações que visam definir a forma de
comunicação e interação entre os ambientes, também mantém uma
grande base de implementações. Em destaque, tecnologias essenciais
como o servidor gráfico X.org, o camada de abstração HAL e o sistema de
intercomunicação de processos D-Bus, entre muitos outros.
Apesar de ainda ser uma realidade um pouco distante, os sistemas
GNU/Linux – em especial as interfaces gráficas – estão alcançando uma
maturidade tal que não irá demorar muito tempo para que se tornem uma
séria opção para o uso em Desktops. Apesar das dificuldades encontradas
em sua implantação, é perfeitamente possível obter excelentes resultados,
visto que, quando ministrados treinamentos e suporte técnico, a migração
para os sistemas GNU/Linux têm ocorrido sem maiores complicações.
CONCLUSÃO
Estes assuntos geralmente são extensos, o que torna praticamente
impossível cobri-lo em apenas um único capítulo desta literatura. Por isto,
ao invés de realizar um trabalho mais minucioso, optamos apenas por
fazer uma descrição geral para a melhor compreensão do usuário. Sendo
assim, recomendamos que realizem pesquisas sobre estes assuntos para
obterem informações mais detalhadas. &;-D
48/48
2A. PARTE:
CONHECIMENTOS
GERAIS
✔ Copyright (c) 2002-2008 – Ednei Pacheco de Melo.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, version 1.1 or
any later version published by the Free Software Foundation; a copy of
the license is included in the section entitled “GNU Free Documentation
License”.
ÍNDICE
VISÃO GERAL ..........................................................8
I. A ESTRUTURA DE ARQUIVOS.....................................9
Introdução.......................................................................................9
A estrutura......................................................................................9
/bin – Binários essenciais......................................................................9
/boot – Inicialização do sistema..........................................................10
/dev – Arquivos de dispositivos..........................................................11
/etc – Arquivos de configuração.........................................................12
/home – Dados pessoais......................................................................13
/lib – Bibliotecas essenciais................................................................13
/media e /mnt – Pontos de montagens...............................................14
/opt – Compatibilidade entre aplicativos............................................15
/proc – Informações e processos do kernel.......................................15
/root – Administrador do sistema.......................................................16
/sbin – Binários essenciais do sistema...............................................17
/tmp – Arquivos temporários...............................................................17
/srv – Informações de serviços (Internet)..........................................18
/sys – Suporte ao dispositivos de hardware.......................................18
/usr – Recursos dos sistemas Unix.....................................................19
/var – Variáveis....................................................................................19
Sobre a norma FHS.......................................................................22
Conclusão......................................................................................22
II. OS ARQUIVOS DE DISPOSITIVOS .............................24
Introdução.....................................................................................24
A classificação...............................................................................24
Tipo caracter........................................................................................24
Tipo bloco.............................................................................................24
A estrutura /dev............................................................................25
Unidades externas e de armazenamento...........................................25
Discos rígidos IDE & CD-ROMs...................................................................25
Unidades SCSI e SATA.................................................................................26
Disquetes......................................................................................................26
Dispositivos de áudio...........................................................................26
Fax-modem (portas seriais)................................................................27
Console terminal.................................................................................27
Sobre o uDEV................................................................................28
Conclusão......................................................................................28
III. A LINHA DE COMANDO.......................................29
Introdução.....................................................................................29
O Bourne Again Shell....................................................................29
Informações e métodos essenciais...............................................30
Complemento da tecla <TAB>...........................................................30
O uso de expressões............................................................................31
As cores personalizadas......................................................................32
Nomenclatura diferenciada................................................................32
Acesso à documentação eletrônica....................................................33
Equivalências entre o BASH e MS-DOS.......................................34
Estrutura de diretórios.......................................................................35
Acesso as unidades do sistema...........................................................35
Especificações do diretório.................................................................37
Exibição de caminho...........................................................................37
Case sensitive......................................................................................37
Observações...................................................................................38
Conclusão......................................................................................38
IV. MANIPULAÇÃO DE ARQUIVOS E DIRETÓRIOS ..............39
Introdução.....................................................................................39
Operações básicas.........................................................................39
Listagem e navegação.........................................................................39
ls...................................................................................................................39
cd..................................................................................................................40
Visualização..........................................................................................41
type...............................................................................................................41
less...............................................................................................................41
file................................................................................................................42
pwd...............................................................................................................42
more.............................................................................................................43
du..................................................................................................................45
Manipulação.........................................................................................46
mkdir............................................................................................................46
dd..................................................................................................................46
cp..................................................................................................................46
mv.................................................................................................................47
ln...................................................................................................................47
Editoração............................................................................................48
mcedit...........................................................................................................48
Exclusão...............................................................................................48
rmdir.............................................................................................................48
rm.................................................................................................................49
Cópias de segurança e compactação............................................49
Arquivamento......................................................................................49
tar.................................................................................................................50
Compactação........................................................................................51
gzip / gunzip.................................................................................................51
bzip2 / bunzip2.............................................................................................52
zip / unzip.....................................................................................................52
Utilitários.............................................................................................53
split...............................................................................................................53
cat.................................................................................................................53
Conclusão......................................................................................54
V. UNIDADES, PARTIÇÕES E FORMATOS ........................55
Introdução.....................................................................................55
As unidades e as partições............................................................55
Os formatos...................................................................................55
Tipos de sistemas de arquivos............................................................55
O SWAP........................................................................................................56
O ext2 e ext3................................................................................................56
ReiserFS.......................................................................................................57
MSDOS, FAT32 e NTFS...............................................................................58
ISO9660........................................................................................................58
Operações e atividades afins........................................................58
Trabalhando com partições e unidades.............................................58
mount / umount............................................................................................58
sync..............................................................................................................60
Formatação e definição do sistema de arquivos..........................................60
mkfs..............................................................................................................60
mkreiserfs....................................................................................................61
mkswap / swapon.........................................................................................61
Verificando as partições e unidades do sistema................................61
df...................................................................................................................61
badblocks.....................................................................................................62
fsck...............................................................................................................62
reiserfs.........................................................................................................63
Realizando a transferência de dados.................................................64
dd..................................................................................................................64
Operações com disquetes...................................................................64
Utilização.....................................................................................................64
Formatação..................................................................................................64
Operações com os gravadores de CD/DVD........................................65
mkisofs.........................................................................................................65
cdrecord.......................................................................................................66
Conclusão......................................................................................69
VI. USUÁRIOS, GRUPOS E PERMISSÕES DE ACESSO...........70
Introdução.....................................................................................70
Considerações básicas..................................................................70
As contas..............................................................................................70
O administrador de sistema.........................................................................70
O usuário comum.........................................................................................71
O ID......................................................................................................71
Os grupos.............................................................................................72
As permissões......................................................................................72
Senha...................................................................................................73
Comandos gerais...........................................................................73
Adição de usuários e grupos...............................................................73
adduser.........................................................................................................73
groupadd......................................................................................................76
Administração de contas.....................................................................76
login / logout / exit.......................................................................................76
id...................................................................................................................76
users / groups...............................................................................................77
passwd..........................................................................................................77
finger............................................................................................................78
uptime..........................................................................................................79
Eliminando usuários e grupos............................................................79
userdel..........................................................................................................79
groupdel.......................................................................................................79
Obtendo os privilégios de outros usuários........................................80
su..................................................................................................................80
Atributos de arquivos e diretórios.....................................................81
chmod...........................................................................................................81
chown...........................................................................................................83
chgrp............................................................................................................83
umask...........................................................................................................84
Os arquivos de configuração........................................................85
/etc/passwd..........................................................................................85
/etc/shadow..........................................................................................85
/etc/groups...........................................................................................86
Conclusão......................................................................................87
VII. O GERENCIAMENTO DE PROCESSOS.......................88
Introdução.....................................................................................88
Visão geral.....................................................................................88
O que é um processo?.........................................................................88
O identificador PID..............................................................................88
Foreground e background..................................................................88
Gerenciando os processos.............................................................89
Visualização.........................................................................................89
ps..................................................................................................................89
top................................................................................................................90
Segundo plano.....................................................................................91
Colocando em segundo plano.......................................................................91
“Control-zê”..................................................................................................91
bg..................................................................................................................91
jobs...............................................................................................................92
fg...................................................................................................................92
Exclusão...............................................................................................92
kill.................................................................................................................92
killall.............................................................................................................92
Desligamento do sistema..............................................................93
halt.......................................................................................................93
shutdown.............................................................................................93
Conclusão......................................................................................94
VIII. O SISTEMA DE INICIALIZAÇÃO ............................95
Introdução.....................................................................................95
Os método de inicialização...........................................................95
System V..............................................................................................95
Estilo BSD............................................................................................95
Os scripts de inicialização............................................................96
Os demais scripts................................................................................96
Sistema & aplicações...................................................................................97
Suporte ao Hardware...................................................................................97
Sistema de impressão..................................................................................97
Redes & Internet..........................................................................................98
Configurações locais....................................................................................98
Carregamento de módulos...........................................................................98
Compatibilidade...........................................................................................99
A seqüencia de scripts na inicialização............................................100
Os níveis de execução.................................................................100
Nível 1 – Manutenção do sistema.....................................................100
Nível 3 e 4 – Modo multi-usuário.....................................................101
Nível 0 e 6 – Reinicialização do sistema...........................................101
Demais níveis de execução (2 e 5)...................................................102
Operações e ajustes afins...........................................................102
Ativar / desativar scripts de inicialização........................................102
Método manual...........................................................................................102
Método automatizado.................................................................................102
O arquivo /etc/inittab..................................................................103
Conclusão....................................................................................105
IX. O GERENCIADOR DE INICIALIZAÇÃO ......................106
Introdução...................................................................................106
O LILO.........................................................................................106
/etc/lilo.conf.......................................................................................107
Seção global...............................................................................................107
Seção de partições.....................................................................................109
O liloconfig.........................................................................................110
Operações mais freqüentes..............................................................111
Selecionar o sistema GNU/Linux como padrão.........................................111
Mudar a resolução do framebuffer............................................................111
Adicionar mais uma entrada no LILO........................................................112
Adicionar uma senha extra........................................................................112
Inicializar o sistema em modo de manutenção..........................................113
Criar um disco de recuperação com o lilo.conf..........................................113
Problemas mais freqüentes..............................................................113
Ao invés do sistema inicializar, é exibido..................................................113
Remoção das definições do LILO no setor MBR........................................114
Recuperar a senha do superusuário..........................................................114
Atualizando as alterações desejadas................................................114
Conclusão....................................................................................115
X. GERENCIAMENTO DE PROGRAMAS.........................116
Introdução...................................................................................116
A nomenclatura dos pacotes......................................................116
Ferramentas & métodos.............................................................117
Slackware Package Tools..................................................................117
Red Hat Package Management........................................................118
Compilação do código-fonte..............................................................119
Outros utilitários...............................................................................119
Conclusão....................................................................................120
XI. VARIÁVEIS DE SISTEMA ....................................121
Introdução...................................................................................121
As variáveis..................................................................................121
Path / RootPath..................................................................................121
Home..................................................................................................122
OsType...............................................................................................122
Shell...................................................................................................122
Term...................................................................................................123
User....................................................................................................123
Comandos relacionados..............................................................123
echo....................................................................................................123
set.......................................................................................................123
export.................................................................................................124
Internacionalização....................................................................124
Arquivos de configuração...........................................................125
/etc/profile..........................................................................................125
O diretório /etc/profile.d/..................................................................127
~/.bashrc...........................................................................................128
Conclusão....................................................................................128
VISÃO GERAL
Chegamos agora, a mais uma nova etapa desta literatura. Trata-se da
obtenção de conhecimentos técnicos e do aprendizado das operações
básicas e essenciais para a boa manutenção de um sistema GNU/Linux.
Como qualquer outro sistema operacional, o kernel do Linux possui
agregado diversas ferramentas, utilitários e aplicações específicas que
visam prover aos usuários e administradores um leque de recursos
essenciais para a boa administração do sistema como um todo. Atividades
simples, básicas e triviais, como copiar arquivos, definir permissões de
acesso, acessar unidades, monitorar processos, entre outras (até mesmo
mais complexas), são de extrema importância para a garantia de uma boa
estabilidade e ótima performance do computador em geral.
Por isto, nesta parte, abordaremos apenas os comandos, parâmetros e
funções consideradas indispensáveis aos usuários desktops, em especial
de nível intermediário, mesmo apesar de constarem algumas instruções
para o nível avançado. Existe uma infinidade de ferramentas para as mais
variadas finalidades, além de diversos graus de complexidade, onde
muitas destas somente serão aplicáveis a tarefas específicas que não se
enquadram nas necessidades desta classe de usuários.
A leitura dos próximos capítulos desta parte indispensável para os
usuários iniciantes e que pela 1a. vez estão tendo contato com os sistemas
GNU/Linux, além de ter grande importância para os usuários de nível
médio, pois irão proporcionar todos os conhecimentos necessários para o
bom aproveitamento das instruções contidas nas partes seguintes. Já para
aqueles usuários mais experimentados, podem tranqüilamente seguir
adiante para a próxima parte (ou ainda outras posteriores, dependendo de
suas habilidades), ficando esta decisão ao seu critério. Porém deixaremos
bem claro que a nossa satisfação será enorme caso os mesmos
realizassem uma breve leitura destes capítulos, com o intuito de analisar
os pontos negativos e positivos deste material, para que resultem em
críticas e sugestões de alta qualidade para a melhoria da obra.
Para aqueles que recentemente vieram de outras distribuições (ou estão
pensando com seriedade em adotar o Slackware), sugerimos a leitura dos
capítulos A inicialização e O gerenciamento de programas. Neles estarão
descritas as particularidades da distribuição-base do livro, além de outras
instruções necessárias para a boa manutenção do sistema.
Por mais diferentes que sejam as distribuições, a grande maioria dos
comandos descritos nos capítulos anteriores (à salvo aqueles específicos)
são aplicáveis na grande maioria dos sistemas GNU/Linux. O seu
aprendizado, tanto utilizando esta quanto qualquer outra distribuição, será
de grande valia para quaisquer intervenções que desejam realiza. Por
isso, não se preocupem em pensar que o aprendizado aqui obtido será
perdido em caso de mudança de distribuição preferida. &;-D
8/128
I. A ESTRUTURA DE ARQUIVOS
INTRODUÇÃO
Como qualquer outro sistema operacional, os sistemas GNU/Linux
realizam a manipulação de diversos dados e informações, onde para isto é
necessária estrutura de arquivos e diretórios bem definida e padronizada.
Para cada tipo de arquivo, e de acordo com suas funcionalidades e
importância, existe um local específico para seu armazenamento. Além do
diretório principal do sistema, existe uma série outros diretórios
especificados pela padronização.
Neste capítulo, iremos conhecer a estruturação dos dados e diretórios do
sistema de arquivos, como também as suas particularidades e algumas
recomendações necessárias para a sua boa manutenção.
A ESTRUTURA...
Os diretórios definidos pela norma FHS e que compõem a estrutura do
sistema de arquivos no GNU/Linux são: /bin, /boot, /dev, /etc, /home, /lib, /
media, /mnt, /opt, /proc, /root, /sbin, /sys, /tmp, /usr e /var.
Segue abaixo a descrição detalhada sobre a estrutura e seus respectivos
diretórios, além de algumas dicas, conselhos e recomendações.
9/128
chroot* getopt* mv* shuf* which*
cksum* getoptprog@ nail@ sleep* who*
comm* ginstall@ netstat* sln* whoami*
compress@ grep* nice* sort* yes*
cp* groups* nisdomainname@ split* ypdomainname@
cpio* gunzip* nl* stat* zcat*
csh@ gzexe* nohup* stty* zcmp*
csplit* gzip* od* su* zdiff*
cut* head* paste* sulogin@ zegrep*
date* hostid* pathchk* sum* zfgrep*
dd* hostname* ping* sync* zforce*
df* id* ping6* tac* zgrep*
dialog* install* pinky* tail* zless*
dir* ipmask* pr* tar* zmore*
dircolors* join* printenv* tar-1.13* znew*
dirname* kill* printf* tar-1.16.1@ zsh*
dmesg* killall* ps* tcsh* zsh-4.3.2@
dnsdomainname@ ksh* ptx* tee*
domainname@ link* pwd* telnet*
$ _
Os arquivos contidos neste diretório geralmente não são modificados após
a instalação, porém quando houverem novas atualizações de pacotes no
sistema, estes poderão ser alterados.
10/128
drwxr-xr-x 9 root root 384 2007-08-08 10:46 initrd-tree/
-rw-r--r-- 1 root root 487394 2007-08-08 10:46 initrd.gz
-rw------- 1 root root 42496 2007-08-08 10:48 map
lrwxrwxrwx 1 root root 24 2007-08-07 23:53 vmlinuz -> vmlinuz-
generic-2.6.21.5
-rw-r--r-- 1 root root 1937944 2007-06-19 17:18 vmlinuz-generic-2.6.21.5
-rw-r--r-- 1 root root 2087960 2007-06-19 16:53 vmlinuz-generic-smp-2.6.21.5-
smp
-rw-r--r-- 1 root root 4097784 2007-06-19 17:23 vmlinuz-huge-2.6.21.5
-rw-r--r-- 1 root root 4417112 2007-06-19 16:58 vmlinuz-huge-smp-2.6.21.5-smp
$ _
Em distribuições que utilizam o gerenciador GRUB, este encontra-se
armazenado em um subdiretório dentro deste, chamado /boot/grub.
Somente em tarefas relacionadas ao processo de compilação e atualização
do kernel, como também algumas intervenções necessárias na
configuração do gerenciador de inicialização (LILO), é que este diretório
ganha uma certa “notoriedade”; fora isto, não teremos maiores
preocupações.
11/128
scanners, mouse, modens, etc., em sistemas baseados em UNIX são
tratados como arquivos denominados device node ou simplesmente device.
Para ter acesso as funcionalidades de qualquer dispositivo, deveremos
recorrer aos seus respectivos arquivos de dispositivos.
Para cada categoria de dispositivo, existe uma certa regra de numeração.
Mas, devido a extensa quantidade de devices, iremos apresentá-los mais
detalhadamente no capítulo seguinte, intitulado Os arquivos de
dispositivos.
12/128
administração de sistemas GNU/Linux1, pois todos os possíveis
parâmetros e variáveis de sistema são armazenados nestes arquivos. Por
este motivo, é de extrema importância o conhecimento de suas definições
e particularidades.
As definições e particularidades dos arquivos de configuração contidos em
/etc e necessários para o nosso entendimento do funcionamento do
sistema, serão apresentados no decorrer desta literatura.
13/128
lrwxrwxrwx 1 root root 15 2007-08-03 09:59 libacl.so.1 ->
libacl.so.1.1.0*
-rwxr-xr-x 1 root root 23512 2006-12-11 22:54 libacl.so.1.1.0*
-rwxr-xr-x 1 root root 13288 2007-06-19 17:57 libanl-2.5.so*
lrwxrwxrwx 1 root root 13 2007-08-03 10:07 libanl.so.1 -> libanl-2.5.so*
lrwxrwxrwx 1 root root 16 2007-08-03 09:59 libattr.so.1 ->
libattr.so.1.1.0
*
-rwxr-xr-x 1 root root 12324 2006-12-11 22:53 libattr.so.1.1.0*
lrwxrwxrwx 1 root root 15 2007-08-03 09:59 libblkid.so.1 ->
libblkid.so.1.0
*
-rwxr-xr-x 1 root root 28712 2007-01-25 02:25 libblkid.so.1.0*
lrwxrwxrwx 1 root root 13 2007-08-03 09:59 libbz2.so.1 -> libbz2.so.1.0*
lrwxrwxrwx 1 root root 15 2007-08-03 09:59 libbz2.so.1.0 ->
libbz2.so.1.0.4
*
-rwxr-xr-x 1 root root 66444 2007-01-24 20:33 libbz2.so.1.0.4*
--More--
Estes módulos são armazenados em uma estrutura especial, definida em
/lib/modules. Já as bibliotecas necessárias para as aplicações hospedadas
em /usr não pertencem ao /lib.
14/128
/OPT – COMPATIBILIDADE ENTRE APLICATIVOS
O diretório /opt, apesar de não ser mais especificado na norma FHS, foi
mantido em virtude da necessidade de manter a compatibilidade com
antigos programas que ainda são muito utilizados atualmente.
$ cd /opt
$ ls -l
total 0
drwxr-xr-x 8 darkstar users 352 2007-06-17 11:40 openoffice.org2.2/
$ _
Em uma consulta que realizamos na página eletrônica da Slackware
LinuxBR, obtivemos outras informações muito interessantes:
“Pacotes de software opcional. A idéia atrás do /opt é que cada pacote de
software seja instalado para /opt/<software package>, o que facilita para
uma desinstalação subseqüente. Slackware distribui algumas coisas no /opt
(como o KDE em /opt/kde), mas você é livre para colocar o que quiser no
/opt.” -> [“Estrutura de diretórios do Slackware LinuxBR”, por r_linux &
mistif].
Embora seja citada a manutenção do KDE em /opt/kde, atualmente este
ambiente gráfico é mantido na hierarquia de /usr. Já a suíte
OpenOffice.org ainda é mantida em /opt, por se tratar de um software
instalado à parte.
Num futuro não muito distante, o /opt será “removido” em definitivo.
15/128
Na verdade, o seu conteúdo não faz parte da estrutura de arquivos do
sistema; conforme já dito, ele é apenas um sistema de arquivo virtual para
que os administradores do sistema tenham acesso as informações do
processamento do kernel em forma de arquivos para consulta:
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) XP 2000+
stepping : 1
cpu MHz : 1668.877
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow ts
bogomips : 3341.26
clflush size : 32
$ _
Estas e muitas outras informações poderão ser obtidas diretamente
através da leitura destes “arquivos-textos”. Para maiores informações,
consultem a 3a. Parte: A Instalação -> Após a instalação....
16/128
não seja para a administração e/ou manutenção do sistema, em especial
atividades comuns para os usuários tais como leitura do correio
eletrônico, armazenamento de dados diversos, etc. Para estas atividades,
o administrador deverá ter ou criar para si uma conta de usuário comum.
17/128
9e9417147ffe9a2cc78461f15f03871=
drwx------ 2 darkstar users 120 2007-08-05 08:05 kde-darkstar/
drwx------ 3 darkstar users 536 2007-08-05 09:58 ksocket-darkstar/
drwx------ 2 darkstar users 48 2007-08-04 21:36 mc-darkstar/
drwx------ 2 root root 48 2007-08-04 13:21 mc-root/
drwxr-xr-x 2 darkstar users 80 2007-08-05 10:02 svbae.tmp/
$ _
Geralmente este diretório é limpo a cada inicialização ou a intervalos
relativamente freqüentes. Por este motivo, deveremos evitar a guarda de
arquivos por um determinado tempo neste diretório, mesmo aqueles
inúteis.
18/128
/USR – RECURSOS DOS SISTEMAS UNIX
O diretório /usr – abreviação de Unix Resource System (recursos dos
sistemas Unix) – é a segunda maior hierarquia de diretórios do sistema.
Todos os aplicativos e utilitários do sistema encontram-se armazenados
aqui: ele é como uma espécie de Arquivos de Programas do Windows.
$ cd /usr
$ ls -l
total 280
lrwxrwxrwx 1 root root 5 2007-08-03 10:13 X11 -> X11R6/
drwxr-xr-x 2 root root 192 2007-08-03 10:13 X11R6/
drwxr-xr-x 2 root root 192 2007-08-03 09:59 X11R6.bak/
lrwxrwxrwx 1 root root 8 2007-08-03 09:59 adm -> /var/adm/
drwxr-xr-x 2 root root 89544 2007-08-04 16:03 bin/
drwxr-xr-x 2 root root 48 1993-11-26 01:40 dict/
drwxr-xr-x 536 root root 17640 2007-08-04 15:12 doc/
drwxr-xr-x 2 root root 1112 2006-09-08 21:51 games/
drwxr-xr-x 4 root root 96 2007-06-24 03:57 i486-slackware-linux/
drwxr-xr-x 234 root root 45312 2007-05-10 18:52 include/
drwxr-xr-x 2 root root 11736 2007-02-21 19:58 info/
drwxr-xr-x 100 root root 106280 2007-08-04 15:12 lib/
drwxr-xr-x 13 root root 2680 2006-11-08 18:10 libexec/
drwxr-xr-x 11 root root 264 2007-08-04 15:04 local/
drwxr-xr-x 45 root root 1648 2006-11-08 18:10 man/
drwxr-xr-x 2 root root 9120 2007-06-05 20:28 sbin/
drwxr-xr-x 149 root root 4040 2007-08-04 15:12 share/
lrwxrwxrwx 1 root root 10 2007-08-03 09:59 spool -> /var/spool/
drwxr-xr-x 4 root root 128 2007-08-03 10:04 src/
lrwxrwxrwx 1 root root 8 2007-08-03 09:59 tmp -> /var/tmp/
$ _
Embora nas antigas edições tenhamos descrito a função de cada diretório,
faremos apenas alguns comentários sobre os principais subdiretórios. Por
exemplo, o /usr/X11 define a localização do servidor gráfico X.org;
/usr/doc é responsável pela documentação geral; o /usr/include é a
referência padrão dos compiladores C/C++ para a busca os cabeçalhos
(headers) no ato da compilação de programas; o /usr/local – como o
próprio nome indica – é uma localização padrão para softwares que são
instalados localmente (não fazem parte da distribuição); e o /usr/src
armazena o código-fonte das diversas aplicações, inclusive o próprio
kernel-source!
/VAR – VARIÁVEIS
O diretório /var contém informações variáveis, como arquivos e diretórios
em fila de execução, arquivos temporários transitórios, etc.
$ cd /var
$ ls -l
total 2
lrwxrwxrwx 1 root root 5 2007-08-03 09:59 X11 -> X11R6/
lrwxrwxrwx 1 root root 23 2007-08-03 09:59 X11R6 -> ../../usr/X11R6/lib/X11/
19/128
lrwxrwxrwx 1 root root 3 2007-08-03 09:59 adm -> log/
drwxr-xr-x 8 root root 200 2006-11-08 18:10 cache/
drwxr-xr-x 3 root root 72 2007-06-19 17:27 db/
drwxr-xr-x 2 root root 48 2007-04-03 14:36 empty/
drwxr-xr-x 21 root root 520 2006-11-08 18:10 lib/
drwxrwxrwt 3 root root 104 2007-08-05 08:05 lock/
drwxr-xr-x 14 root root 752 2007-08-05 08:04 log/
lrwxrwxrwx 1 root root 10 2007-08-03 09:59 mail -> spool/mail/
drwxr-xr-x 12 root root 288 1993-11-25 00:29 man/
drwxr-xr-x 3 root root 80 2007-06-08 02:42 named/
drwxr-xr-x 15 root root 664 2007-08-05 08:05 run/
lrwxrwxrwx 1 root root 15 2007-08-03 09:59 rwho -> /var/spool/rwho/
drwxr-xr-x 15 root root 376 2003-06-05 18:43 spool/
drwxr-xr-x 5 root root 128 2007-04-29 19:29 state/
drwxrwxrwt 4 root root 152 2007-08-04 21:44 tmp/
drwxr-xr-x 6 root root 144 2007-07-01 20:12 www/
drwxr-xr-x 2 root root 136 2007-08-03 10:10 yp/
$ _
Raramente iremos realizar intervenções manuais nestas estruturas;
porém, será interessante que venhamos a conhecer alguns destes
diretórios, com o objetivo de coletar informações sobre o funcionamento
do sistema. Em determinadas circunstâncias, tais informações podem ser
muito úteis para o planejamento e sucesso de certas intervenções, como o
/var/log.
O /var/log armazena todas as informações geradas pelo sistema através de
arquivos-textos chamados logs. Sua estrutura compõe-se tanto de
arquivos quando de diretórios, que por sua vez, armazenam outros
arquivos...
$ cd /var/log
$ ls -l
total 1397
-rw-r--r-- 1 root root 37922 2007-08-08 18:24 Xorg.0.log
-rw-r--r-- 1 root root 38000 2007-08-08 16:56 Xorg.0.log.old
-rw-r----- 1 root root 8047 2007-08-08 18:00 acpid
-rw------- 1 root root 0 2007-08-03 10:00 btmp
-rw-r----- 1 root root 0 2002-04-06 20:13 cron
drwxr-xr-x 2 root root 48 2007-05-09 18:28 cups
-rw-r----- 1 root root 48260 2007-08-08 18:00 debug
-rw-r--r-- 1 root root 15445 2007-08-08 18:00 dmesg
-rw-r----- 1 root root 24024 2007-08-04 13:50 faillog
drwxr-xr-x 2 root root 48 2007-08-03 10:10 httpd
drwxr-xr-x 2 root root 48 2006-12-27 20:27 iptraf
-rw-r--r-- 1 root root 33598 2007-08-08 18:24 kdm.log
-rw-r--r-- 1 root root 292292 2007-08-08 18:00 lastlog
-rw-r----- 1 root root 0 2002-04-06 20:13 maillog
-rw-r----- 1 root root 513368 2007-08-08 18:20 messages
drwxr-xr-x 2 root root 48 2001-05-15 22:47 nfsd
drwxr-xr-x 2 root root 34416 2007-08-07 19:31 packages
drwxr-xr-x 2 root root 224 2007-08-07 08:56 removed_packages
drwxr-xr-x 2 root root 160 2007-08-07 08:56 removed_scripts
drwxr-xr-x 2 root root 48 2006-08-15 00:15 sa
drwxr-xr-x 2 root root 48 2007-06-27 00:36 samba
20/128
drwxr-xr-x 2 root root 18848 2007-08-07 19:31 scripts
-rw-r----- 1 root root 6563 2007-08-08 18:18 secure
drwxr-xr-x 3 root root 664 2007-05-28 18:04 setup
-rw-r----- 1 root root 0 2002-03-09 01:29 spooler
-rw-r----- 1 root root 343285 2007-08-08 18:00 syslog
drwxr-xr-x 2 uucp root 192 2007-08-03 10:10 uucp
-rw-rw-r-- 1 root utmp 297216 2007-08-08 18:18 wtmp
$ _
Dentre os arquivos principais, poderemos destacar o Xorg.0.log, debug,
dmesg, messages e syslog, pois permitem analisar todas as interações do
sistema com o hardware, registrando além das informações gerais,
inconsistências, falhas, erros e anomalias das mais variadas espécies.
$ cat dmesg
...
tuner 1-0061: type set to 5 (Philips PAL_BG (FI1216 and compatibles))
tuner 1-0061: type set to 5 (Philips PAL_BG (FI1216 and compatibles))
tuner 1-0063: chip found @ 0xc6 (bt878 #0 [sw])
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: registered device radio0
bttv0: PLL: 28636363 => 35468950 .. ok
input: bttv IR (card=72) as /class/input/input2
Adding 257000k swap on /dev/hda5. Priority:-1 extents:1 across:257000k
input: PC Speaker as /class/input/input3
input: ImPS/2 Generic Wheel Mouse as /class/input/input4
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
lp0: using parport0 (interrupt-driven).
lp0: console ready
Capability LSM initialized
ReiserFS: hda7: found reiserfs format "3.6" with standard journal
ReiserFS: hda7: using ordered data mode
ReiserFS: hda7: journal params: device hda7, size 8192, journal first block
18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda7: checking transaction log (hda7)
ReiserFS: hda7: Using r5 hash to sort names
NTFS driver 2.1.28 [Flags: R/W MODULE].
NTFS volume version 3.1.
$ _
Já dentre os diretórios principais, entram em destaque o packages e o
removed_packages, responsáveis por armazenarem dados dos pacotes que
se encontram instalados e/ou removidos posteriormente. O mesmo se dá
com as os diretórios script e removed_script, que por sua vez armazenam
os scripts inicializados após a instalação dos pacotes.
$ cd /var/log/packages
$ ls -l
total 13450
-rw-r--r-- 1 root root 12007 2007-08-03 10:00 a2ps-4.13b-i386-2
-rw-r--r-- 1 root root 2151 2007-08-03 09:59 aaa_base-12.0.0-noarch-1
-rw-r--r-- 1 root root 2280 2007-08-03 09:59 aaa_elflibs-12.0.0-i486-3
-rw-r--r-- 1 root root 10845 2007-08-03 09:59 aaa_terminfo-5.6-noarch-1
-rw-r--r-- 1 root root 3919 2007-08-03 10:06 aalib-1.4rc5-i486-2
21/128
-rw-r--r-- 1 root root 1147 2007-08-03 10:00 acct-6.3.2-i386-1
-rw-r--r-- 1 root root 2734 2007-08-03 09:59 acl-2.2.39_1-i486-2
-rw-r--r-- 1 root root 1399 2007-08-03 09:59 acpid-1.0.4-i486-2
-rw-r--r-- 1 root root 5113 2007-08-03 10:06 alsa-lib-1.0.14a-i486-1
-rw-r--r-- 1 root root 1094 2007-08-03 10:06 alsa-oss-1.0.14-i486-1
-rw-r--r-- 1 root root 2645 2007-08-03 10:00 alsa-utils-1.0.14-i486-1
-rw-r--r-- 1 root root 64090 2007-08-03 10:04 amarok-1.4.6-i486-1
-rw-r--r-- 1 root root 829 2007-08-03 10:00 amp-0.7.6-i386-1
-rw-r--r-- 1 root root 1509 2007-08-03 09:59 apmd-3.2.2-i486-1
-rw-r--r-- 1 root root 586 2007-08-03 10:12 appres-1.0.1-i486-1
-rw-r--r-- 1 root root 2223 2007-08-03 10:06 apr-1.2.8-i486-1
-rw-r--r-- 1 root root 1961 2007-08-03 10:06 apr-util-1.2.8-i486-1
-rw-r--r-- 1 root root 5637 2007-08-03 10:06 arts-1.5.7-i486-1
-rw-r--r-- 1 root root 893 2007-08-03 10:00 ash-0.4.0-i386-1
-rw-r--r-- 1 root root 6089 2007-08-03 10:06 aspell-0.60.5-i486-2
-rw-r--r-- 1 root root 2626 2007-08-03 10:06 aspell-en-6.0_0-noarch-4
-rw-r--r-- 1 root root 1045 2007-08-03 10:00 at-3.1.10-i486-1
-rw-r--r-- 1 root root 11696 2007-08-03 10:06 atk-1.18.0-i486-1
--More--
Em virtude da existência de antigos programas ainda em vigor, deverão
existir alguns subdiretórios para a compatibilidade com os mesmos em
/var. Os diretórios que compõe esta estrutura são: /var/backups, /var/cron,
/var/lib, /var/local, /var/msgs e /var/preserve.
CONCLUSÃO
O conhecimento das características e particularidades do sistema de
arquivos de um sistema operacional é fator de suma importância para a
sua administração. Saber as funcionalidades de determinados arquivos e
diretórios, localização dos arquivos de configuração, permissões de
acesso, tudo isso influencia no momento de uma necessidade de
intervenção.
22/128
Por mais diferentes que sejam as distribuições, todas elas possuem
basicamente a mesma estrutura do sistema de dados. Graças à isto, as
administrações e intervenções necessárias no sistema de dados poderão
ser realizadas em quaisquer sistema GNU/Linux sem maiores transtornos.
Eis um dos motivo da importância de se utilizar os recursos da linha de
comando para interagirmos na manutenção do sistema! &;-D
23/128
II. OS ARQUIVOS DE DISPOSITIVOS
INTRODUÇÃO
Todos os periféricos e recursos do sistema são acessados pelo kernel
através de arquivos de dispositivos – conhecidos também por devices. Se
quisermos formatar um disquete, será necessário a utilização de um
desses arquivos; para acessar a Internet, será necessário outro arquivo de
dispositivo; para utilizar um terminal, mais outro... e assim por diante.
Neste capítulo iremos conhecer os principais arquivos de dispositivos –
chamaremos apenas de devices para facilitar a pronúncia.
A CLASSIFICAÇÃO
Os devices são classificados em 2 categorias, à saber: os devices do tipo
caracter e os devices do tipo de bloco.
TIPO CARACTER
Os devices do tipo caracter são aqueles em que a transferência de dados
são realizadas de modo serial, ou seja, um caracter por vez. Dentre os
principais exemplos estão as portas paralelas (impressora), portas seriais
(modens), devices de áudio, terminais, teclado, mouse, etc.
$ cd /dev
$ ls -l /dev/lp*
crw-rw-r-- 1 root lp 6, 0 2007-08-08 18:00 /dev/lp0
crw-rw-r-- 1 root lp 6, 0 2007-08-08 18:00 /dev/lp1
crw-rw-r-- 1 root lp 6, 0 2007-08-08 18:00 /dev/lp2
$ _
TIPO BLOCO
Já nos devices do tipo bloco diferenciam-se do tipo caracter no que
concerne a transferência de dados – pois como o próprio nome diz – é
feita por blocos, oferecendo grande quantidade de dados por vez. Já nesta
categoria estão em geral os devices de armazenamento tais como
disquetes, discos rígidos, CDs & DVDs, dispositivos de armazenamento
USB (memória eletrônica), entre outros, devido ao modo de transferência
de dados.
$ cd /dev
$ ls -l /dev/hd*
brw-rw---- 1 root disk 3, 0 2007-08-08 14:59 /dev/hda
brw-rw---- 1 root disk 3, 1 2007-08-08 14:59 /dev/hda1
24/128
brw-rw---- 1 root disk 3, 2 2007-08-08 14:59 /dev/hda2
brw-rw---- 1 root disk 3, 5 2007-08-08 14:59 /dev/hda5
brw-rw---- 1 root disk 3, 6 2007-08-08 14:59 /dev/hda6
brw-rw---- 1 root disk 3, 7 2007-08-08 18:00 /dev/hda7
brw-rw---- 1 root cdrom 22, 0 2007-08-08 14:59 /dev/hdc
brw-rw---- 1 root cdrom 22, 64 2007-08-08 14:59 /dev/hdd
$ _
A ESTRUTURA /DEV
Existe uma imensa quantidade de devices específicos; porém nesta
literatura, somente conheceremos os mais utilizados pelos usuários
comuns. Estes por sua vez subdividem-se em diversas categorias e
encontram-se armazenados no diretório /dev.
25/128
UNIDADES SCSI E SATA
Sem grandes mistérios, estes são os devices para as unidades SCSI e
SATA:
Unidades SCSI
sda 1a. unidade nominal (disco rígido, CD-R/RW, memória eletrônica, etc.).
sda1, 2, 3. Indicativo de particionamento das unidades emuladas.
sda4 Indicativo de unidade, utilizado especificamente pelo Zip-drive.
sdb, sdc... Unidades seqüenciais.
DISQUETES
Os disquetes são acessados através dos devices /dev/fd[X].
Disquetes
fd0 1a. unidade de disquete – em DOS corresponde a letra A:.
fd0d360 1a. unid. de disquete, formato baixa densidade, cap. 360 KB.
fd0h720 1a. unid. de disquete, formato alta densidade, cap. 720 KB.
fd0u1200 1a. unid. de disquete, formato alta densidade, cap. 1200 KB.
fd0u1440 1a. unid. de disquete, formato alta densidade, cap. 1440 KB.
fd1... 2a. unidade de disquete – em DOS corresponde a letra B:.
DISPOSITIVOS DE ÁUDIO
Em vista dos diferentes recursos de áudio presentes na maioria das placas
de som do mercado, os sistemas GNU/Linux não utilizam somente um, e
sim um conjunto de devices para o acesso a estes dispositivos.
Segue abaixo, uma simples listagem padrão para uma melhor
compreensão:
26/128
Sistema de áudio (antigo sistema OSS)
audio Sintetizador de áudio (wave-table).
dsp Voz digitalizada.
midi Sintetizador de instrumentos (MIDI).
mixer Ajustes e configurações (mixagem).
sequencer Sequenciador.
CONSOLE TERMINAL
Um terminal é uma interface entre o usuário e o sistema. Ao serem
inicializados, utiliza o device /dev/tty[X].
Console terminal
ttyX Um terminal propriamente dito.
ttypX Terminais SSH/Telnet.
27/128
SOBRE O UDEV
✔ <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>.
O uDEV subsistema desenvolvido para o kernel, que tem como objetivo
atuar como gerenciador de arquivos de dispositivos (devices) dinâmicos.
Ele é o responsável pela criação automatica dos devices relacionados aos
dispositivos que se encontram disponíveis, gerando assim um único
device, ao invés de uma estrutura complexa e infindável de devices.
Não existem muitas intervenções necessárias para serem feitas nas
configurações do uDEV; porém, suas regras relacionadas ao disparo de
ações, que por sua vez são causadas quando um novo dispositivo é
conectado (p. ex. pendrives) podem ser perfeitamente customizadas. Tais
regras se encontram armazenadas em /etc/udev/rules.d.
$ cd /etc/udev/
$ ls -l
total 4
drwxr-xr-x 2 root root 440 2007-08-12 19:29 rules.d/
-rw-r--r-- 1 root root 576 2007-05-17 16:30 udev.conf
(...)
$ cd rules.d/
$ ls -l
total 120
-rw-r--r-- 1 root root 16054 2007-06-28 21:27 50-udev.rules
-rw-r--r-- 1 root root 2199 2007-05-19 03:04 60-bluetooth.rules
-rw-r--r-- 1 root root 926 2007-03-16 17:00 60-pcmcia.rules
-rw-r--r-- 1 root root 1289 2007-06-02 18:36 64-device-mapper.rules
-rw-r--r-- 1 root root 511 2007-08-12 16:29 75-network-devices.rules
-rw-r--r-- 1 root root 1414 2007-08-04 10:20 75-optical-devices.rules
-rw-r--r-- 1 root root 8825 2007-05-27 01:52 80-libmtp.rules
-rw-r--r-- 1 root root 1704 2007-05-27 01:59 80-libnjb.rules
-rw-r--r-- 1 root root 2505 2007-06-24 03:39 80-libpisock.rules
-rw-r--r-- 1 root root 61148 2007-05-27 02:12 80-libsane.rules
-rw-r--r-- 1 root root 82 2007-06-27 21:48 90-hal.rules
$ _
CONCLUSÃO
Acreditamos que um simples passeio pelos devices mais utilizados pelo
sistema possa deixar os usuários mais familiarizados com a administração
e manutenção do sistema operacional em geral. Lembrem-se: os sistemas
Unix em geral referem-se a qualquer device do sistema como arquivo.
Quaisquer intervenção necessária, sempre tenha consciência de que
poderá intervir nos arquivos da estrutura /dev. &;-D
28/128
III. A LINHA DE COMANDO
INTRODUÇÃO
A disponibilidade de diversos utilitários gráficos, facilitam muito a
administração de sistemas GNU/Linux. Porém, de acordo com as
necessidades, facilidades de uso e recursos (ou ausência destes), existirão
diversas circunstâncias em que teremos de usar tais recursos através de
um aplicativo especial chamado interpretador de comando, também
conhecido popularmente como a linha de comando ou terminal.4
Neste capítulo, iremos conhecer alguns recursos e funcionalidades da
linha de comando. Em especial, destacaremos o BASH, o interpretador de
comando oficial dos sistemas GNU/Linux, segundo as especificação LSB.
29/128
Terminal virtual (Konsole) do KDE.
30/128
Por exemplo, ao digitarmos...
$ mce<TAB>
... o resultado final será...
$ mcedit _
Simples e prático, evitando o inconveniente de ter que redigitar toda a
nomenclatura caso ocorram simples erros de digitação.
Dependendo das circunstâncias, poderão existir mais de uma ocorrência
para a complementação do comando a ser digitado:
$ xorg<TAB>
... resultará em...
$ xorg<TAB>
xorgcfg xorgconfig xorgsetup
$ xorg_
Nestes casos, bastará complementar aos poucos os caracteres restantes e
teclar novamente <TAB>, ou ainda, digitar o comando por inteiro.
O mesmo se dá para a digitação dos nomes de arquivos, pois...
# rpm -ivh quake-1<TAB>
... resultará em...
# rpm -ivh quake-1.1-6cl.i386.rpm _
O USO DE EXPRESSÕES
Expressões são conjuntos de símbolos e caracteres que visam especificar
uma determinada informação ou o conjunto delas. Estes são conhecidos
popularmente como curingas, que podem representar um valor, uma
definição, um conjunto destes e até mesmo um comando.
Descreveremos aqui os principais caracteres utilizados em sistemas GNU/
Linux e suas principais funcionalidades:
• Asterisco (*): popularmente representa “tudo”, ou seja, qualquer
campo ou instrução que estiver sendo representado por um
asterisco, indicará todos os possíveis caracteres;
• Ponto (.) e ponto-ponto (..): O ponto representa entrada de
diretórios, ao passo que o ponto-ponto - .. - representa o diretório-
pai (diretório anterior);
• Interrogação (?): similar ao caracter “*”, porém somente
representa os caracteres que se situarem na posição onde este se
encontra;
• Pipes (|): processa a saída de um comando para que seja usado
como dados ou parâmetros em outro comando, onde dois pipes
servem para executar 2 comandos seqüenciais, independente de
haver erro no 1o. comando, como também utilizado para
31/128
representar a expressão lógica OR (ou);
• E-comercial (&): execução de aplicações em 2o. plano
(background), onde duas && servem para executar 2 comandos
seqüenciais, desde que o primeiro não retorne nenhum erro, como
também utilizado para representar a expressão lógica AND (e).
Ao contrário do que muitos pensam, existem diferenças entre eles: os
símbolos especiais possuem funções específicas; já os caracteres coringas
representam e/ou substituem outros caracteres e/ou conjunto de letras.
AS CORES PERSONALIZADAS
Outra ponto a ser observado são as cores dos arquivos e diretórios a
serem exibidos em modo texto, pois conforme já dito anteriormente, os
sistemas GNU/Linux utilizam como padrão o interpretador de comandos
BASH. Nele, temos padronizado o seguinte perfil de cores:
• Amarelo: dispositivos do sistema (devices);
• Azul: diretórios (seguidos pelo caracter “/”);
• Azul ciano: atalhos simbólicos (links);
• Cinza: arquivos diversos ou desconhecidos;
• Magenta: arquivos de imagens bitmaps (JPEG, GIF, PNG, etc.);
• Verde: arquivos executáveis (arquivos de lote e binários); 5
• Vermelho: arquivos compactados (inclusive pacotes de instalação).
Vale lembrar que, dependendo tanto dos atributos específicos dos
arquivos, quanto das configurações utilizadas no terminal, muitos poderão
ter cores diferentes dos padrões acima citados. É o caso de arquivos com
atributos para execução (flag x), que aparecem com a cor verde no vídeo,
seja uma imagem, um arquivo compactado, etc.
NOMENCLATURA DIFERENCIADA
Da mesma forma que os arquivos e diretórios apresentam um sistema de
cores para a sua identificação, os mesmos possuem sinais especiais para
informar determinados atributos:
Sinal / Significado / Exemplo
. Arquivo oculto. .Confidencial
* Arquivo executável. Programa*
@ Atalho. Programa@ -> Programa-1.0.2
5 Estes indicam arquivos com permissões para execução, ainda que sejam um texto,
uma imagem, um pacote compactado e outros quaisquer.
32/128
poderão ser exibidos ou não, tais atributos.
NAME
ps - report process status
SYNOPSIS
ps [options]
DESCRIPTION
ps(1) gives a snapshot of the current processes. If you
want a repetitive update of this status, use top.
COMMAND-LINE OPTIONS
This version of ps accepts several kinds of options.
33/128
Unix98 options may be grouped and must be preceeded
by a dash.
BSD options may be grouped and must not be used
with a dash.
GNU long options are preceeded by two dashes.
Options of different types may be freely mixed.
`psmandup'
==========
Make a shell script that automates this, and you get `psmandup'.
* Menu:
34/128
ESTRUTURA DE DIRETÓRIOS
A principal diferença entre os sistemas GNU/Linux e o MS-DOS encontra-
se na estrutura de diretórios do sistema. Enquanto o MS-DOS suporta
somente a formato de nomes 8.3 (até a versão 6.22) e dispõe somente de
permissões de acesso para somente leitura e ocultação (atributos)...
C:\>dir
O volume na unidade C é DARKSTAR
O número de série do volume é 0816-A972
Pasta de C:\
C:\>_
... o BASH suporta nomes com até 255 caracteres, além do simples e
eficiente sistema permissões de acesso de leitura, escrita e execução.
$ ls -l
total 82
drwxr-xr-x 2 root bin 2304 Jun 28 17:09 bin/
drwxr-xr-x 2 root root 336 Set 5 22:14 boot/
drwxr-xr-x 15 root root 61072 Set 6 09:58 dev/
drwxr-xr-x 45 root root 4520 Set 6 10:36 etc/
drwxr-xr-x 5 root root 128 Ago 20 23:11 home/
drwxr-xr-x 4 root root 2520 Jun 28 17:08 lib/
drwxr-xr-x 6 root root 144 Jun 28 17:16 mnt/
drwxr-xr-x 4 root root 96 Ago 23 18:48 opt/
dr-xr-xr-x 73 root root 0 Set 6 06:57 proc/
drwx--x--- 25 root root 1064 Set 5 13:55 root/
drwxr-xr-x 2 root bin 5456 Jun 1 2002 sbin/
drwxrwxrwt 31 root root 1352 Set 6 10:09 tmp/
drwxr-xr-x 21 root root 592 Mar 6 2003 usr/
drwxr-xr-x 17 root root 456 Mar 2 2003 var/
$ _
Além destes, existem outros recursos presentes em sua linha de comando.
35/128
D:\> C:
C:\> _
Já os sistemas GNU/Linux possui apenas um único diretório raiz, do qual
as demais unidades encontram-se previamente montadas em seus
respectivos subdiretórios. No BASH, para acessarmos as demais unidades
do sistema, deveremos montar os dispositivos e acessá-los através do
ponto de montagem, situados no diretório /mnt/<UNIDADE> conforme a
norma FHS. O ponto de montagem /mnt possui basicamente a seguinte
estrutura:
$ cd /mnt
$ ls -l
total 8
-rw-r--r-- 1 root root 376 2006-09-26 00:09 README
drwxr-xr-x 2 root root 48 2006-09-25 22:02 cdrecorder
drwxr-xr-x 2 root root 48 2002-03-16 04:34 cdrom
drwxr-xr-x 2 root root 48 2006-09-25 22:02 dvd
drwxr-xr-x 2 root root 48 2002-03-16 04:34 floppy
drwxr-xr-x 2 root root 48 2002-03-16 04:34 hd
drwxr-xr-x 2 root root 48 2006-09-25 22:02 memory
drwxr-xr-x 10 root root 224 2007-08-04 15:08 pkg
drwxr-xr-x 2 root root 48 2006-09-25 22:03 tmp
dr-x------ 1 root root 4096 2007-08-05 00:59 win
drwxr-xr-x 2 root root 48 2006-09-25 22:02 zip
$ _
Por padrão existe apenas estes diretórios, porém caso necessitem
trabalhar com outros dispositivos do sistema, basta criá-los conforme a
necessidade. Lembrem-se de que precisarão estar com os poderes de
superusuário.
$ su
Password:
# mkdir flash
# mkdir tape
# ls -l
total 8
-rw-r--r-- 1 root root 376 2006-09-26 00:09 README
drwxr-xr-x 2 root root 48 2006-09-25 22:02 cdrecorder
drwxr-xr-x 2 root root 48 2002-03-16 04:34 cdrom
drwxr-xr-x 2 root root 48 2006-09-25 22:02 dvd
drwxr-xr-x 2 root root 48 2007-08-05 19:07 flash
drwxr-xr-x 2 root root 48 2002-03-16 04:34 floppy
drwxr-xr-x 2 root root 48 2002-03-16 04:34 hd
drwxr-xr-x 2 root root 48 2006-09-25 22:02 memory
drwxr-xr-x 10 root root 224 2007-08-04 15:08 pkg
drwxr-xr-x 2 root root 48 2007-08-05 19:07 tape
drwxr-xr-x 2 root root 48 2006-09-25 22:03 tmp
dr-x------ 1 root root 4096 2007-08-05 00:59 win
drwxr-xr-x 2 root root 48 2006-09-25 22:02 zip
# _
Após a montagem das partições e/ou unidades, seus respectivos acessos
são realizados normalmente, como se fossem simples subdiretórios.
36/128
ESPECIFICAÇÕES DO DIRETÓRIO
Nos sistemas GNU/Linux, a especificação dos caminhos de diretórios é
feita de forma similar ao MS-DOS...
$ cd /<DIRETÓRIO>
... porém outra diferença simples está no uso da <BARRA> – / – ao invés
da <BARRA_INVERTIDA> – \ – para a navegação entre os diretórios.
C:\> cd <UNIDADE>\<DIRETÓRIO>
Em ambos, para navegar até o diretório raiz:
C:\WINDOWS> cd \
...
$ cd /
EXIBIÇÃO DE CAMINHO
Em ambos os interpretadores – e de acordo com a distribuição utilizada –
o prompt da linha de comando indicam em que diretório estamos...
C:\WINDOWS> _
... tendo o BASH a vantagem de informar a conta autenticada no
momento.
darkstar@darkstar:/usr/doc$ _
As definições do prompt podem ser alteradas através da customização do
arquivo de configuração /etc/profile, seção default shell prompt.
CASE SENSITIVE
O sistemas de nomenclatura dos arquivos e diretórios do GNU/Linux é
case sensitive, ou seja, o tratamento de caracteres maiúsculos e
minúsculos é diferente em comparação ao MS-DOS, onde neste tanto faz
utilizar caracteres maiúsculos quanto minúsculos:
C:\> CD WINDOWS
C:\WINDOWS\> CD ..
C:\> cd windows
C:\WINDOWS\> _
Já no BASH, o sistema não reconhecerá o comando utilizado caso utilizem
caracteres maiúsculos ao invés de maiúsculos, e vice-versa.
darkstar@darkstar:/$ cd /usr
darkstar@darkstar:/usr$ CD ..
-bash: CD: command not found
darkstar@darkstar:/usr$ _
37/128
OBSERVAÇÕES
As aplicações disponibilizadas em interfaces gráficas geralmente tem a
simpatia dos usuários menos habituados ao modo texto, graças as
facilidades condicionadas, como a intuitividade e o apelo visual, tornando
bem mais atrativo e agradável realizar as operações necessárias no
sistema. Porém, existirão circunstâncias específicas e variadas em que a
utilização de uma linha de comando será praticamente insubstituível.
Mesmo apesar do vastos recursos disponibilizados nas atuais aplicações
gráficas, em muitos aspectos teremos maior eficiência, prática e agilidade
em realizar as operações necessárias na linha de comando.
CONCLUSÃO
Apesar da existência de diversas diferenças em comparação a linha de
comando do MS-DOS, o objetivo o BASH é o mesmo: fornecer ao usuário
um conjunto de recursos que poderão ser habilitados pela linha de
comando. Porém são inúmeras as diferenças e características, além da
disponibilidade de recursos extras que o tornam muito superior ao MS-
DOS e quaisquer outros aplicativos gráficos existentes. &;-D
38/128
IV. MANIPULAÇÃO DE ARQUIVOS E
DIRETÓRIOS
INTRODUÇÃO
Nas mais variadas circunstâncias, a manipulação direta de arquivos e
diretórios será necessária para a realização de determinadas
intervenções. A checagem de conteúdo, a organização de documentos, a
edição direta, a definição de permissões, entre outras, são simples e bons
exemplos de operações realizadas em imensas possibilidades.
Neste capítulo, apresentaremos as principais operações de manipulação,
que por sua vez se encontram subdividas por categorias, onde as
instruções necessárias estarão estruturadas de uma forma bem simples e
organizada para uma melhor compreensão destes processos.
OPERAÇÕES BÁSICAS
Entende-se como operações básicas: a listagem, visualização, edição e
manipulação, dos arquivos e diretórios gerais que compõe o sistema, além
de dados e informações adicionais.
LISTAGEM E NAVEGAÇÃO
LS
39/128
total 83
11 drwxr-xr-x 2 root bin 2416 2004-01-31 07:43 bin/
20 drwxr-xr-x 2 root root 336 2004-01-31 07:55 boot/
9 drwxr-xr-x 16 root root 62352 2004-01-31 12:09 dev/
12 drwxr-xr-x 47 root root 4808 2004-01-31 15:06 etc/
2 drwxr-xr-x 5 root root 96 2004-01-31 10:27 home/
15 drwxr-xr-x 4 root root 2592 2004-01-31 07:42 lib/
16 drwxr-xr-x 5 root root 120 2004-01-31 10:08 mnt/
11750 drwxr-xr-x 4 root root 96 2002-12-13 19:01 opt/
1 dr-xr-xr-x 86 root root 0 2004-01-31 10:09 proc/
7 drwx--x--- 11 root root 656 2004-01-31 14:31 root/
22 drwxr-xr-x 2 root bin 5704 2003-09-01 19:29 sbin/
2 drwxrwxrwt 19 root root 648 2004-01-31 15:17 tmp/
2 drwxr-xr-x 19 root root 544 2004-01-05 18:32 usr/
2 drwxr-xr-x 17 root root 456 2003-08-15 00:17 var/
$ _
Além do comando ls, podemos também utilizar os comandos dir...
$ dir
bin/ dev/ home/ mnt/ proc/ sbin/ usr/
boot/ etc/ lib/ opt/ root/ tmp/ var/
$ _
... e vdir, que correspondem respectivamente a ls e ls -l.
$ vdir
total 83
drwxr-xr-x 2 root bin 2416 2004-01-31 07:43 bin/
drwxr-xr-x 2 root root 336 2004-01-31 07:55 boot/
drwxr-xr-x 16 root root 62352 2004-01-31 12:09 dev/
drwxr-xr-x 47 root root 4808 2004-01-31 15:06 etc/
drwxr-xr-x 5 root root 96 2004-01-31 10:27 home/
drwxr-xr-x 4 root root 2592 2004-01-31 07:42 lib/
drwxr-xr-x 5 root root 120 2004-01-31 10:08 mnt/
drwxr-xr-x 4 root root 96 2002-12-13 19:01 opt/
dr-xr-xr-x 93 root root 0 2004-01-31 10:09 proc/
drwx--x--- 11 root root 656 2004-01-31 14:31 root/
drwxr-xr-x 2 root bin 5704 2003-09-01 19:29 sbin/
drwxrwxrwt 19 root root 648 2004-01-31 15:17 tmp/
drwxr-xr-x 19 root root 544 2004-01-05 18:32 usr/
drwxr-xr-x 17 root root 456 2003-08-15 00:17 var/
$ _
Os comandos ls -l e vdir são os mais indicados para verificar todos as
informações disponíveis sobre a estrutura de arquivos e diretórios.
CD
40/128
darkstar@darkstar:~$ cd /usr
darkstar@darkstar:/usr$ ls -l
...
darkstar@darkstar:/usr$ cd lib
darkstar@darkstar:/usr/lib$ ls -l
...
darkstar@darkstar:/usr/lib$ cd X11
darkstar@darkstar:/usr/lib/X11$ _
Obsevem que, para entrarmos no subdiretório lib e X11, não foram
especificados os caminhos completos, pois estes pertencem ao diretório
do qual se encontra localizado no momento (referência local).
Como podem ver, seu uso é bastante simples, não existindo qualquer grau
de dificuldade. Ainda assim podemos utilizar outros recursos, tais como:
darkstar@darkstar:/usr/lib/X11$ cd ..
darkstar@darkstar:/usr/lib$ cd /
darkstar@darkstar:/$ _
É bem mais simples que digitar o caminho completo para acessar o
diretório anterior. Observem ainda que podemos “desfazer” a ação
anterior, ou seja, retornar para o diretório onde estávamos anteriormente
com o uso do parâmetro - (hífen).
darkstar@darkstar:/usr/lib$ cd /
darkstar@darkstar:/$ cd -
/usr/lib
darkstar@darkstar:/usr/lib$ _
Para retornarem ao diretório $HOME específico do usuário (neste caso,
/home/darkstar/), utilizem o parâmetro ~ (til) ou ainda apenas cd.
darkstar@darkstar:/usr/lib$ cd ~
darkstar@darkstar~$ _
...ao invés de utilizar o comando e definir todo o caminho /home/darkstar/.
VISUALIZAÇÃO
TYPE
LESS
41/128
$ less [PARÂMETROS] [ARQUIVO]
Difere de type, o less possibilita realizar a paginação como a utilização das
teclas <SETA_ACIMA>, <SETA_ABAIXO>, <PÁGINA_ACIMA> e
<PÁGINA_ABAIXO> para rolar o texto a ser visualizado.
O recurso de paginação é muito útil para visualizar o conteúdo de arquivos
com grande quantidade de textos. Existem diversos parâmetros, mas caso
queiram realizar uma consulta mais refinada, experimentem digitar...
$ less -–help
... e analisem os resultados exibidos.
FILE
PWD
42/128
/home/darkstar
darkstar@darkstar:~$ _
MORE
43/128
drwxr-xr-x 8 root root 232 2004-09-19 20:50 cups
drwxr-xr-x 2 root root 88 2004-06-06 22:48 curl
drwxr-xr-x 3 root root 72 2004-06-09 15:28 cvs
drwxr-xr-x 4 root root 544 2004-11-15 10:24 d4x
drwxr-xr-x 2 root root 72 2003-03-13 22:00 dict
drwxr-xr-x 3 root root 72 2004-05-02 19:22 distcc
lrwxrwxrwx 1 root root 6 2004-11-01 16:27 doc -> ../doc
drwxr-xr-x 2 root root 3120 2004-06-19 20:52 eazel-engine
drwxr-xr-x 7 root root 888 2004-02-22 03:25 elvis-2.2_0
drwxr-xr-x 4 root root 104 2003-05-23 02:28 emacs
drwxr-xr-x 4 root root 936 2002-02-26 02:05 enscript
drwxr-xr-x 3 root root 104 2004-05-07 16:40 eog
drwxr-xr-x 4 root root 96 2004-02-21 23:24 epic
drwxr-xr-x 4 root root 496 2004-06-19 17:27 epiphany
drwxr-xr-x 4 root root 136 2004-06-19 18:50 epiphany-extensions
drwxr-xr-x 2 root root 48 2004-06-19 19:52 faces
drwxr-xr-x 3 root root 72 2004-05-07 17:22 file-roller
drwxr-xr-x 3 root root 104 2004-11-01 16:40 fonts
--Mais--
Ao pressionarmos <ENTER>, apenas será exibida a linha seguinte:
drwxr-xr-x 3 root root 72 2004-05-07 17:22 file-roller
drwxr-xr-x 3 root root 104 2004-11-01 16:40 fonts
drwxr-xr-x 2 root root 2272 2004-06-19 02:08 galeon
--Mais--
Já na leitura de um arquivo texto, ele se comportará da mesma forma:
$ more /mnt/cdrom/COPYRIGHT.TXT
---------------
Many other software packages included in Slackware are licensed under the GNU
General Public License, which is included in the file COPYING.
----------------
--Mais--(8%)
Observem a existência dos caracteres --Mais--, indicando a existência de
mais informações após as exibidas, diferenciando-se apenas a presença de
44/128
um valor percentual na exibição do conteúdo de arquivos-textos,
indicando a proporção das informações já visualizadas durante todo o
processo.
Para realizarmos uma pausa durante a listagem de arquivos e diretórios, o
comando more auxilia bastante; porém para a exibição do conteúdo de
arquivos-textos, o comando less proporciona melhor conforto, pois
diferente deste último, o comando more não permite que se possa
retornar as informações passadas com as teclas <SETA_ACIMA> e
<PÁGINA_ACIMA>.
DU
45/128
MANIPULAÇÃO
MKDIR
DD
CP
46/128
$ cp [PARÂMETROS] [ORIGEM] [DESTINO]
Onde:
• -f: sobrescreve o arquivo, caso já exista no local de destino;
• -p: preserva os atributos de permissões, usuários e grupos de
acesso originais do arquivo copiado;
• -r: realiza a cópia de diretórios recursivamente.
Exemplo:
$ cp /home/darkstar/docs/texto.txt /mnt/floppy
O exemplo acima copia o arquivo texto.txt para o ponto de montagem
/mnt/floppy (um disquete que deverá estar previamente montado).
MV
LN
47/128
fazer referências a determinados arquivos, ao invés de realizar outras
intervenções mais elaboradas. Por exemplo, na necessidade de dispor do
navegador firefox para todos os usuários, basta simplesmente...
# ln -s /usr/local/firefox/firefox /usr/bin/firefox
... ao invés de atualizar a variável $PATH para o caminho do Firefox.
EDITORAÇÃO
MCEDIT
EXCLUSÃO
RMDIR
48/128
Porém este comando não pode remover nenhum diretório que não esteja
vazio. Veja o exemplo abaixo:
$ rmdir /home/darkstar/teste/
rmdir: `/home/darkstar/teste': Diretório não vazio
$ _
Para estas circunstâncias, o comando rm possui o parâmetro -r
(recursivo), que apaga todos os diretórios e seus respectivos arquivos.
Veja à seguir.
RM
ARQUIVAMENTO
O ato de arquivar consiste basicamente em reunir um conjunto de
arquivos, diretórios ou ainda, uma estrutura de arquivos e diretórios, em
apenas um único arquivo. Para esta operação, temos um ótimo utilitário de
linha de comando, chamado TAR.
49/128
TAR
50/128
$ tar -xzf BACKUP.tar.gz
Será descomprimir e desempacotar o pacote BACKUP.tar.bz...
$ tar -xjf BACKUP.tar.bz
Apesar de ser apenas um empacotador, o TAR também pode gerar pacotes
compactados com o auxílio dos compactadores gzip e bzip2, conforme
demonstramos acima com os dois últimos exemplos, onde utilizamos os
parâmetros z (zê) e j (jota) para descompactar volumes compactados com
o GZIP e o BZIP2. (pacotes BACKUP.tar.gz e BACKUP.tar.bz2).
Já os utilitários de compactação descritos apenas geram um único arquivo
por vez, sendo necessário a utilização dos empacotadores para criar um
único arquivo compactado com uma estrutura de arquivos e diretórios.
Por último, em algumas circunstâncias serão necessárias ferramentas
como cat e split para o manuseio de arquivos e pacotes com grandes
volumes.
COMPACTAÇÃO
A compactação de arquivos nos sistemas GNU/Linux é feita
tradicionalmente através dos seus próprios utilitários de linha de
comando disponíveis na distribuição, não necessitando de quaisquer outro
para as funcionalidades básicas. Os arquivos ou estrutura de arquivos e
diretórios também podem ser manipulados por outros utilitários gráficos,
conforme o interesse do usuário. Existem diversos compactadores para o
sistema, mas os principais utilizados são gzip, bzip2 e – em alguns casos –
zip.
GZIP / GUNZIP
51/128
$ gzip -9 [ARQUIVO]
Para descompactar um arquivo comprimido.
$ gzip -d [ARQUIVO]
... ou...
$ gunzip [ARQUIVO]
BZIP2 / BUNZIP2
O 2o. compactador mais utilizado pelos linuxers, já que possibilita uma boa
vantagem em comparação gzip: consegue obter taxas maiores de
compressão, conseguindo ganhos de espação em até 20%. Porém, exige
uma maior carga de processamento, requerendo maior capacidade de
processamento para reduzir o tempo gasto nesta operação.
Sintaxe:
$ bzip2 [PARÂMETROS] [ARQUIVO]
Onde:
• -d: descompacta o arquivo (o mesmo que utilizar apenas bunzip2);
• -f: força o modo sobre-escrita (grava sobre um arquivo existente);
• -s: reduz o consumo de memória durante a compactação (ideal
para máquinas com pouca memória);
• -v: exibe o andamento da operação no vídeo.
Para realizar a compactação de um arquivo, bastará...
$ bzip2 [ARQUIVOS]
Para descompactar...
$ bunzip2 [ARQUIVO].bz2
ZIP / UNZIP
52/128
$ zip BACKUP.tar NOVO-BACKUP.zip
... ou...
$ zip -r SOURCE PROGRAMA.zip
Para descompactar um arquivo para um diretório específico...
$ unzip -d /tmp BACKUP.zip
UTILITÁRIOS
SPLIT
CAT
53/128
$ cat xaa xab xac > BACKUP.tar.gz
Observação: não devemos utilizar o mesmo arquivo para receber o
conteúdo dos arquivos mesclados; teremos o risco de sofrer ocorrências
imprevisíveis, onde a perda dos dados é certamente indesejada.
CONCLUSÃO
Existe uma infinidade de possíveis operações onde é necessária a
manipulação direta de arquivos e diretórios. As operações descritas neste
capítulo são apenas as mais comuns, necessárias para a grande maioria
dos usuários em desktops. Caso queiram se aprofundar, consultem as
páginas de manual disponíveis na distribuição. &;-D
54/128
V. UNIDADES, PARTIÇÕES E FORMATOS
INTRODUÇÃO
Como já sabemos, todos os sistemas operacionais alocam suas
informações em sistemas de armazenamento de dados de vários tipos
(unidades), que podem ser subdivididos em várias partes (partições) e
utilizarem um método de escrita específico (sistema de arquivos).
Neste capítulo iremos conhecer as particularidades das distribuições
GNU/Linux quanto a este aspectos, além de obter instruções para a
manipulação através das ferramentas disponíveis na linha de comando.
AS UNIDADES E AS PARTIÇÕES
As unidades, são como o próprio nome diz, dispositivos físicos especiais
utilizados para o armazenamento de dados. Já as partições são divisões
criadas nos dispositivos que podem ser utilizadas para diversas
finalidades.
Entre estas finalidades, a mais importante é a organização e otimização
dos dados nela arquivados e conseqüentemente do sistema como um todo.
Por exemplo, um disco rígido poderá ter diferentes tipos de partições e
com isto poderemos até mesmo alocar diferentes sistemas operacionais
em uma única unidade, conforme veremos mais adiante.
Existem diversos tipos de unidades, das quais as principais são os
disquetes, as memórias eletrônicas, os discos rígidos e a unidade leitoras
de mídia óptica (CDs e DVDs). Além destas, existem outras menos
comuns, como o Zip-drive, o gravador de mídia óptica, entre muitos
outros. Todas elas são suportadas e acessíveis pelos sistemas GNU/Linux,
mas isto no momento não é o mais importante. O que deveremos
realmente dar importância são os sistemas de arquivos utilizados nelas.
OS FORMATOS
Sistemas de arquivos são métodos (formatos) de representação utilizados
pelo sistema operacional para a organização dos arquivos (dados) em um
determinado meio de armazenamento. Ao realizarmos a formatação de
uma unidade qualquer (seja disco rígido, disquete, zips, etc.), estaremos
condicionando a sua estrutura para que esteja pronto para receber dados.
55/128
tipos de sistemas de arquivos, onde as mais importantes são:
O SWAP
O SWAP é um sistema de arquivos utilizado em uma partição especial
chamada SWAP, que por sua vez é um espaço do disco rígido reservado
para o uso do sistema operacional como “complemento” da memória RAM.
Quando a memória principal do sistema operacional está completamente
“cheia” e existe a necessidade de executar alguma tarefa que exija mais
consumo de memória, as informações que estão contida na memória
principal são gravadas nesta partição em separado enquanto o sistema
carrega para a memória principal as informações requeridas por esta
tarefa. Assim que é encerrada, a memória principal é “esvaziada” e
novamente recarregada com as informações contidas na partição SWAP.
O EXT2 E EXT3
56/128
do sistema, pois devido as características do journaling, as possibilidades
de recuperação destes arquivos são infinitamente maiores. Porém, é
praticamente certa a degradação de desempenho por causa das
constantes gravações em seus registros (logs). Além disso, existe a
possibilidade do próprio journal se corromper na queda do sistema,
resultando na utilização do demorado processo de recuperação com o
fsck.
REISERFS
✔ <http://www.namesys.com/>.
Criado pela empresa Namesys, o sistema de arquivos ReiserFS foi
desenvolvido visando adequar-se ao conceito de Alta Disponibilidade.
Por exemplo, quando ocorre uma queda do sistema resultante de falhas ou
falta de energia, ao reinicializá-lo, será feita na partição ext2 (e em alguns
casos, o ext3), a verificação de sua integridade (de forma automática) pelo
programa e2fsck. Mas dependendo do tamanho e da quantidade de
partições, este processo pode requerer um tempo considerável, o que é
indesejável devido a necessidade de Alta Disponibilidade. No sistema de
arquivos ReiserFS, ao invés de ser feita a checagem total, ele apenas
consulta o arquivo journal, onde o mesmo apenas informa as ocorrências
inesperadas para que seja feita a restauração.
Dentre outras características importante do ReiserFS está nos seus
pequenos clusters, que possuem tamanho máximo de 512 bytes, o que por
sua vez é o ideal para a utilização em armazenamento de inúmeros
arquivos de pequeno volume, acarretando assim pouca perda de espaço.
Além disso, não há a limitação de 2 GB para arquivos que ultrapassem
este tamanho. 6
A principal diferença do formato ReiserFS em comparação ao ext3 está
exatamente no funcionamento do recurso journaling, conforme dito
anteriormente. No ReiserFs, ele apenas armazena informações sobre o
espaço dos arquivos e permissões, ao passo que no Ext3, além dele
executar estas funções ainda salvaguarda o próprio conteúdo dos arquivos
afetados durante uma queda do sistema.
Em vista disso, a grande vantagem do ReiserFS está na facilidade de
recuperar a consistência do sistema de arquivos em um tempo mínimo
(décimos de segundos). Praticamente torna-se inexistente a possibilidade
de uma pane em alguma pasta ou até mesmo nas partições do disco rígido.
Em contrapartida, caso o sistema esteja sofrendo gravações de dados no
exato momento da queda, estas arquivos infelizmente não poderão ser
recuperados, pois seu conteúdo estará truncado ou incompleto.
6 Isto torna este sistema de arquivos uma excelente opção para trabalharmos com
geração de imagens e gravação de DVD-R/W, o que não quer dizer que não seja
possível realizar estas atividades nos sistemas ext2 e ext3.
57/128
MSDOS, FAT32 E NTFS
Estes três são os tradicionais formatos de sistema de arquivos do MS-DOS
e Windows. Apesar de não serem utilizados pelos sistemas GNU/Linux e
em virtude de sua popularização, estes sistemas de arquivos são
plenamente bem suportados por praticamente todas as distribuições
existentes.
Na utilização de disquetes e dispositivos de memória eletrônica (flash
memory), é recomendável a utilização destes formatos para que os
mesmos possam ser lidos em outros computadores providos do sistema
operacional Windows. Em especial, o sistema de arquivos FAT32
possibilita visualizar os arquivos com nomes longos (mais de 8.3
caracteres), o qual é recomendada a sua utilização no acesso a estes
dispositivos.
Já o NTFS, infelizmente ainda não há suporte maduro, visto que a
Microsoft não libera (e provavelmente nem irá liberar) as especificações
deste sistema de arquivos para que os desenvolvedores do kernel possam
escrever drivers adequados para a sua leitura e escrita. Porém, existem
projetos interessantes (embora em estágio experimental) que possibilita a
realização destas operações, como o NTFS-NG e o Captive.
ISO9660
O sistema de arquivos ISO9660 é somente utilizado para os CD-ROMs,
devido a natureza de seu armazenamento de dados permanente,
impossibilitando o sistema operacional de definir um sistema de arquivos.
A imagem ISO nada mais é um arquivo especial que contém as
informações sobre todos os arquivos que serão gravados em uma mídia de
CD-R/RW, utilizando-se o formato ISO9660.
MOUNT / UMOUNT
58/128
Onde:
• OPÇÕES: parâmetros a serem definidos;
• DISPOSITIVO: device da unidade ou partição;
• PONTO DE MONTAGEM: diretório de acesso.
Dentre os principais parâmetros existentes, destaca-se:
• -a (auto): montagem automática;
• -f (force): montagem de modo forçado;
• -r (read-only): permissão somente para leitura;
• -t (type): pré-define o sistema de arquivos o qual a partição se
encontra para ser montado (ext2, ext3, iso9660, reiserfs, vfat...);
• -v (verbose): exibe informações adicionais do processo;
• -w (write): permissão para escrita.
Segue alguns exemplos para melhor ilustrar:
$ mount /dev/hda5 /mnt/hd
$ mount -t vfat /dev/hda1 /mnt/win
Os disquetes são acessados tradicionalmente utilizando seus respectivos
devices: /dev/fd0 para o drive A: e /dev/fd1 par o drive B:. Para acessá-los,
bastará utilizar a seguinte sintaxe...
$ mount /dev/fd0 /mnt/floppy
... onde o ponto de montagem /mnt/floppy poderá ser omitido, caso a
unidade em questão já esteja especificada em /etc/fstab.
Tanto para os disquetes como quaisquer outras unidades que utilizam o
sistema VFAT, deveremos incrementar este comando o parâmetro -t vfat:
$ mount -t vfat /dev/fd0 /mnt/floppy
Já os CDs e DVDs são acessados com a utilização do comando...
$ mount /dev/cdrom /mnt/cdrom
..., onde /mnt/cdrom poderá ser omitida caso a unidade esteja
especificado em /etc/fstab. Caso contrário...
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
Da mesma forma que no disquete, será desnecessária a utilização do
parâmetro -t iso9660 se ele estiver previamente especificado em
/etc/fstab.
Lembre-se de que /dev/cdrom é apenas um atalho apontado para o
verdadeiro dispositivo (CDs e DVDs), onde provavelmente serão /dev/hdb
ou /dev/hdc, de acordo com as configurações da máquina em uso.
Para montar uma unidade de memória eletrônica (ou memória flash),
deveremos recorrer ao device responsável pela emulação SCSI.
$ mount /dev/sda1 /mnt/[PONTO_DE_MONTAGEM]
59/128
Como não existem diretórios pré-definidos para a memória flash,
poderemos criar um específico (p. ex.: /mnt/flash).
Enfim, para desmontar quaisquer dessas unidades...
$ umount /dev/[UNIDADE]
... ou...
$ umount [PONTO_DE_MONTAGEM]
Um detalhe importante é que o comando umount checa se os dados a
serem gravados nas unidades a ser desmontadas foram realizados, para
depois efetivar a desmontagem própriamente dita dos dispositivos.
SYNC
MKFS
60/128
MKREISERFS
MKSWAP / SWAPON
DF
61/128
Definindo o parâmetro -T, veremos o sistema de arquivos utilizado...
# df -T
Filesystem Type 1k-blocks Used Available Use% Mounted on
/dev/hda5 reiserfs 2104408 339808 1764600 17% /
/dev/hda6 reiserfs 7341440 1841004 5500436 26% /usr
/dev/hda7 reiserfs 2104408 51984 2052424 3% /var
/dev/hda8 reiserfs 1052184 39240 1012944 4% /tmp
/dev/hda9 reiserfs 1052184 177076 875108 17% /home
/dev/hda10 reiserfs 24879804 282344 24597460 2% /usr/pkg
# _
Com a utilização do parâmetro -h, teremos as informações desejadas em
GB.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 2.0G 332M 1.6G 17% /
/dev/hda6 7.0G 1.8G 5.2G 26% /usr
/dev/hda7 2.0G 51M 1.9G 3% /var
/dev/hda8 1.0G 39M 989M 4% /tmp
/dev/hda9 1.0G 173M 854M 17% /home
/dev/hda10 23G 276M 22G 2% /usr/pkg
# _
Os parâmetros também podem ser utilizados de forma combinada.
BADBLOCKS
FSCK
62/128
• -a: modo automático, pois realiza as operações sem realizar
qualquer pergunta (inverso de -r );7
• -c: verifica os blocos defeituosos e atualiza a tabela da unidade,
marcando-os como inválidos;
• -f: realiza a checagem em modo forçado;
• -r: modo interativo, pois realiza algumas perguntas antes de
efetuar as operações (inverso de -a);
• -t: define o sistema de arquivos utilizado;
• -v: visualiza as operações em execução;
• -y: requer confirmação para aceitar todos as perguntas realizadas
no modo interativo.
Para uma simples e básica checagem em uma partição ext3:
# fsck.ext3 /dev/[PARTIÇÃO]
Para uma partição ext2 também poderemos utilizar...
# e2fsck /dev/[PARTIÇÃO]
Onde e2fsck é um apelido para fsck.ext2.
Em um disquete formatado para DOS basta utilizar...
# fsck -t msdos /dev/fd0
É importante observar que as unidades avaliadas deverão estar
desmontadas. Além disso, o fsck somente funciona em sistemas de
arquivos ext2 e ext3, não sendo útil em partições ReiserFS e VFAT.
REISERFS
63/128
Lembrem-se: as partições devem estar previamente desmontadas.
DD
UTILIZAÇÃO
No MS-DOS, o processo de utilização de disquetes é algo relativamente
simples, onde basta apenas inserir a mídia no drive leitor e acessar
diretamente o dispositivo. Em sistemas GNU/Linux, este dispositivo
deverá ser antes montado como qualquer outro, porém lembre-se que as
unidades são referenciadas de forma diferente.
FORMATAÇÃO
Diferente dos sistemas da Microsft, onde seus sistemas operacionais
realizam uma única operação – formatação – para preparar os disquetes
para o uso, nos sistemas GNU/Linux, por padrão estes processos se
dividem em 2 fases distintas:
• Formatação de baixo nível;
• Criação do sistema de arquivos.
Na formatação de baixo nível serão recriados todos o setores e trilhas
para posteriormente ser definido um sistema de arquivo. Este processo é
de suma importância, pois só assim teremos certeza de que
armazenaremos nossos dados em uma unidade isenta de defeitos, pois a
mídia de armazenamento magnética é muito sensível.
# fdformat /dev/fd0H1440
Observe que para realizar a formatação de um disquete, o mesmo não
poderá estar montado previamente no sistema.
Após a baixa formatação, teremos então a possibilidade de definir o
sistema de arquivos que desejarmos, diferente dos utilitários do MS-DOS
que nos permite apenas a utilização de um único sistema de arquivos.
64/128
Dentre os formatos suportados, destacam-se o msdos e o ext2.
Para criar um sistema de arquivos com as opções desejadas, basta utilizar
o comando mkfs e definir o formato desejado:
$ mkfs.msdos /dev/fd0
... ou...
$ mkfs -t ext2 /dev/fd0
Outro bom utilitário para esta atividade é o Superformat, que por sua vez
já realiza a formatação e define o sistema de arquivos da unidade em
questão.
Sintaxe:
$ superformat [PARÃMETROS] /dev/[UNIDADE]
Segue um exemplo simples e básico:
$ superformat /dev/fd0
Measuring drive 0's raw capacity
warmup cycle: 7 200150 200148
Não irá demorar para que todo o processo seja concluído.
Measuring drive 0's raw capacity
In order to avoid this time consuming measurement in the future,
add the following line to /etc/driveprm:
drive0: deviation=720
CAUTION: The line is drive and controller specific, so it should be
removed before installing a new drive 0 or floppy controller.
$ _
Este comando utiliza apenas seus parâmetros padrões.
MKISOFS
65/128
• -J: habilita as extensões Joilet, requerimento indispensável para
manter compatibilidade com os demais sistemas operacionais
(como o Windows, por exemplo);
• -l: habilita o suporte aos longos nomes de até 31 caracteres, pois o
padrão ISO9660 suporta apenas o formato 8.3, que por sua vez é
compatível com o MS-DOS;
• -L: permite a gravação de arquivos ocultos, ou seja, os que iniciam
com a utilização do ponto (.);
• -o: especifica o nome da imagem a ser gerada (output);
• -r: abreviação de Rock Ridge, um protocolo que evita a truncagem
dos nomes de arquivos longos para a gravação de mídias;
• -v: mostra todo o andamento do processo em execução;
• -V: define o nome do volume (label).
Como exemplo, criaremos uma imagem simples apenas com uma pequena
estrutura de diretórios para teste.
$ mkisofs -J -r -o TESTE.iso /home/darkstar/teste
Total translation table size: 0
Total rockridge attributes bytes: 1693
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 8284
464 extents written (0 Mb)
$ _
Estes são os mínimos comandos necessários para se criar uma imagem
para serem gravadas posteriormente em CD-ROM.
CDRECORD
66/128
• -dummy: realiza apenas um teste ao invés de realizar a gravação;
• -eject: ejeta o disco no final da operação;
• [ESPECIFIC.]: define qual tipo de imagem será criado: -data (para
dados), -audio (para CDs de áudio);
• -fs=[BUFFER]: especifica o tamanho do buffer de memória para a
gravação (quando omitido, o valor padrão é 4 MB);
• -multi: utiliza o recurso de multi-sessão;
• -scanbus: exibe os dados da unidade do sistema.
• -speed=[VEL]: define a velocidade de gravação (a máxima deverá
ser a suportada pelo aparelho e mídia);
• -v: exibe mensagens sobre o andamento do processo.
Segue simples exemplos para...
• Gravação de dados (ISO):
$ cdrecord -v -fs=8M speed=16 dev=0,0,0 -data backup.iso
• Gravação de áudio (faixas):
$ cdrecord -v -fs=8M speed=16 dev=0,0,0 -audio [F1], [F2], [F3], ...
• Gravação de dados + áudio:
$ cdrecord -v -fs=8M speed=16 dev=0,0,0 -data backup.iso -audio [F1], [F2],
[F3], ...
Lembrem-se de que, apesar de improvável, de acordo com o equipamento
o device correspondente ao do usuário poderá ser diferente ao acima
especificado (dev=0,0,0). Para descobrir o dev correspondente, utilizem...
$ cdrecord -scanbus
Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.7'
scsibus0:
0,0,0 0) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.03' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
$ _
Já as faixas de áudio deverão ser arquivos nos formatos de .wav e/ou .cdr.
Um recurso interessante do cdrecord está na possibilidade de se
descobrir todos os dados de uma determinada mídia de CD-R/RW. Para
isto, basta inseri-lo na bandeja e (sem montar a unidade) digitar o
seguinte comando:
# cdrecord -atip dev=0,0,0
67/128
A linha que nos importa será a seguinte:
Manufacturer: CMC Magnetics Corporation
Além do fabricante, observe que também são exibidas outras informações
gerais, tanto da unidade gravadora quanto da mídia utilizada.
$ cdrecord -atip dev=0,0,0
Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
scsidev: '0,0,0'
scsibus: 0 target: 0 lun: 0
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.7'
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identifikation : 'CD-RW GCE-8525B '
Revision : '1.03'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : MMC-2 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
cdrecord: Input/output error. test unit ready: scsi sendcmd: no error
CDB: 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 02 00 00 00 00 0A 00 00 00 00 3A 01 00 00
Sense Key: 0x2 Not Ready, Segment 0
Sense Code: 0x3A Qual 0x01 (medium not present - tray closed) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.000s timeout 40s
cdrecord: No disk / Wrong disk!
bash-2.05b$ cdrecord -atip dev=0,0,0
Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
scsidev: '0,0,0'
scsibus: 0 target: 0 lun: 0
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.7'
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identifikation : 'CD-RW GCE-8525B '
Revision : '1.03'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : MMC-2 SWABAUDIO BURNFREE
Supported modes:
ATIP info from disk:
Indicated writing power: 5
Is not unrestricted
Is not erasable
Disk sub type: Medium Type A, high Beta category (A+) (3)
ATIP start of lead in: -11634 (97:26/66)
68/128
ATIP start of lead out: 359846 (79:59/71)
Disk type: Short strategy type (Phthalocyanine or similar)
Manuf. index: 3
Manufacturer: CMC Magnetics Corporation
$ _
Lembrem-se de que – dependendo da versão utilizada – o cdrecord apenas
grava em unidades SCSI (os quais as unidades IDE são emuladas pelo
kernel através do módulo ide-scsi). Já na versão atual do kernel (série
2.6.x), esta restrição não existe...
CONCLUSÃO
A necessidade de ter conhecimentos para a manipulação de unidades,
partições e formatos de sistemas de arquivos em sistemas GNU/Linux em
comparação ao Windows pode tornar sua utilização cansativa nestas
atividades (em alguns casos, complicados), porém serão vitais para
realizar atividades de manutenção em situações que não tenhamos
disponíveis ambientes gráficos e suas respectivas ferramentas. &;-D
69/128
VI. USUÁRIOS, GRUPOS E PERMISSÕES DE
ACESSO
INTRODUÇÃO
O conhecimento em administração de contas usuários, grupos e
permissões de acesso, além das atividades de edição de arquivos de
configuração pertinentes, são de extrema importância para assegurar a
boa coexistência entre diferentes utilizadores do sistema.
Neste capítulo, iremos conhecer os principais recursos disponíveis pelos
sistemas GNU/Linux para o gerenciamento de contas, grupos e
permissões.
CONSIDERAÇÕES BÁSICAS
AS CONTAS
Conforme já dito anteriormente, os sistemas GNU/Linux são ambientes
multi-usuários. Apesar disto – e de acordo com sua categoria – nem todos
possuem um mesmo perfil, necessidades e/ou responsabilidades. Para isto
existem as contas de autenticação – ou contas de acesso.
Por mais diferentes que tais perfis sejam, estes se enquadram em duas
classes distintas: Superusuário – também conhecido como administrador
do sistema –, e usuário comum – ou simplesmente usuários.
O ADMINISTRADOR DE SISTEMA
70/128
Por tratar-se de um usuários com acesso total ao sistema, muitas
distribuições definiram as permissões de acesso referentes a conexão com
a Internet somente disponíveis para os usuários, que por sua vez, caso
sejam acessados involuntariamente por invasores da rede, estes não terão
as permissões necessárias para ocasionar males ao sistema. Mas em
algumas distribuições expert-user (como o Slackware), por ser destinada a
usuários de médio e alto nível técnico, esta limitação não existe, deixando
a responsabilidade à cargo dos administradores do sistema.
Após autenticado, o símbolo de indicador na linha de comando é:
Login: root
Passwd:
# _
O USUÁRIO COMUM
O ID
O ID é um número de identificação para qualquer um dos elemento do
sistema – usuário e grupo. Este por sua vez se subdivide em:
• GID: definido como a numeração de ID específica para os grupos
de acesso do sistema. Todos os IDs de contas de grupos de acesso
pertencem ao intervalo de 1 a 499.
• UID: definido como a numeração de ID específica para as contas
de usuário do sistema. À exceção do superusuário (UID = 0), todos
os IDs de contas de usuário iniciam a partir de 500.
Para obter informações das IDs relacionadas uma conta específica...
$ id
uid=1000(darkstar) gid=100(users)
groups=100(users),0(root),1(bin),2(daemon),3(sys),5(tty),6(disk),7(lp),8(mem),
71/128
9(kmem),10(wheel),11(floppy),12(mail),13(news),14(uucp),15(man),17(audio),18(v
ideo),19(cdrom),20(games),21(slocate),22(utmp),25(smmsp),27(mysql),32(rpc),33(
sshd),42(gdm),43(shadow),50(ftp),90(pop),93(scanner),98(nobody)
$ _
OS GRUPOS
Os grupos de acesso são definições especiais de permissões para serem
utilizadas quando houver a necessidade de disponibilizar o acesso a um
sistema de dados (arquivos e diretórios) ou um determinado serviço para
uma categoria distinta. Por exemplo, num escritório de recursos humanos,
onde as planilhas de contabilidade somente poderão ser acessadas pelos
profissionais de contabilidade, poderão ser definidos um grupo específico
chamado “contabilidade”, onde também as permissões de acesso para
cada arquivo criado por este grupo deverá estar previamente definido.
AS PERMISSÕES
Ao listarmos o conteúdo de um determinado diretório com o comando ls -l,
poderemos observar a existência de várias colunas contendo informações
referentes a: tipo e permissão de acesso, número de atalhos, proprietário,
grupo, tamanho e nome, respectivamente.
lrwxrwxrwx 1 darkstar users 11 2005-02-18 22:03 cdrom -> /mnt/cdrom/
drwxr-xr-x 17 darkstar users 464 2005-03-10 23:57 docs
lrwxrwxrwx 1 darkstar users 11 2005-02-18 22:03 flash -> /mnt/flash/
lrwxrwxrwx 1 darkstar users 12 2005-02-18 22:03 floppy -> /mnt/floppy/
lrwxrwxrwx 1 darkstar users 9 2005-02-18 22:03 pkg -> /mnt/pkg/
drwxr-xr-x 4 darkstar users 208 2005-03-12 21:17 z
No modo texto, existem 10 seqüências de caracteres chamados flag.
lrwxrwxrwx 1 darkstar users
drwxr-xr-x 17 darkstar users
lrwxrwxrwx 1 darkstar users
lrwxrwxrwx 1 darkstar users
lrwxrwxrwx 1 darkstar users
drwxr-xr-x 4 darkstar users
O primeiro caracter indica o tipo do elemento:
• d: diretório;
• l: atalho (link);
• c: dispositivo do tipo character;
• b: dispositivo do tipo bloco.
Aos demais caracteres da coluna de permissões de acesso refere-se as
flags de permissões definidas para os arquivos e/ou diretórios presentes.
No modo gráfico, a 1a. coluna é omitida, visto que os recursos visuais
facilitam a exibição do tipo do item.
72/128
Diretório raíz do sistema através do Konqueror, onde são exibidos suas respectivas
permissões de acesso, definições de usuário e grupo.
SENHA
Sem maiores dúvidas, os usuários dos sistemas GNU/Linux somente
poderão ter acesso as suas contas de acesso e tudo o que nela estiver
após definirem uma senha de autenticação. Durante a criação de uma
nova conta de acesso, será solicitado ao usuário a definição de uma senha,
o qual bastará o usuário utilizar um conjunto de caracteres.
COMANDOS GERAIS
ADDUSER
73/128
Exemplificaremos detalhadamente o processo de criação da conta de um
usuário. Para começar, digitem apenas o comando com administrador do
sistema, onde será solicitado um apelido (nick) para o usuário.
Login name for new user []: darkstar
- User 'Darkstar' contains illegal characters (uppercase); please choose another
Login name for new user []: _
Observe que o comando não aceita o uso de caracteres iniciais maiúsculas
(caixa alta), solicitando novamente a inclusão do apelido desejado.
Login name for new user []: darkstar
---------------------------------------
Login name.......: darkstar
74/128
UID..............: [ Next available ]
Initial group....: users
Additional groups: [ None ]
Home directory...: /home/darkstar
Shell............: /bin/bash
Expiry date......: [ Never ]
This is it... if you want to bail out, hit Control-C. Otherwise, press
ENTER to go ahead and make the account.
Enfim, tendo a conta criada, será mostrado conforme acima todos os
dados digitados pelo superusuário para a criação da nova conta. Logo em
seguida, será solicitado pelo sistema os dados adicionais para a nova
conta criada. Tecle <ENTER> e iniciaremos o cadastro das informações
adicionais.
Creating new account...
75/128
Password changed.
GROUPADD
ADMINISTRAÇÃO DE CONTAS
ID
76/128
usuários autenticados no sistema, como o seu próprio e também o dos
grupos os quais este se encontra.
Para a sua utilização, basta apenas digitar o comando com as contas
desejadas autenticadas. Observe nos exemplos abaixo que as informações
são exibidas em duas categorias: UID (ID do usuário) e gid (ID do grupo).
Superusuário:
# id
uid=0(root) gid=0(root)
grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy)
# _
Usuário comum:
$ id
uid=1000(darkstar) gid=100(users) grupos=100(users),14(uucp)
$ _
USERS / GROUPS
PASSWD
77/128
Observem que o comando não aceita de forma alguma a utilização de
novas senhas que não possuam um mínimo de 5 caracteres.
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
passwd: all authentication tokens update sucessfully
# _
Ao tentar utilizarmos uma senha fora dos requerimentos necessários...
New password: [SENHA]
Bad password: no change. Try again.
Dentro de uma seção de usuário, bastará utilizarem apenas...
$ passwd
... e o sistema solicitará que o mesmo atualize a senha desta conta.
$ passwd
Changing password for darkstar
Old password: [SENHA ANTIGA]
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password: [SENHA NOVA]
passwd: all authentication tokens update sucessfully
$ _
FINGER
78/128
Last login Fri Apr 2 18:00 (UTC) on tty1
Mail last read Tue Mar 30 23:23 2004 (UTC)
No Plan.
$ _
Observem que, pelo fato do superusuário não estar autenticado, o
comando apenas exibe a última vez em que este autenticou-se no sistema.
UPTIME
USERDEL
GROUPDEL
79/128
OBTENDO OS PRIVILÉGIOS DE OUTROS USUÁRIOS
Apesar da pouca utilização das acessibilidades dos demais usuários – e
especialmente o superusuário –, existirão circunstâncias em que haverá a
necessidade da obtenção de específicas permissões.
SU
80/128
# exit
CHMOD
81/128
[NNN] Categoria (Equivale de...)
3o. número ... de 8a. a 10a. seqüência de letras (outros).
82/128
ao grupo deste:
$ chmod o-w [ARQ/DIR]
Desabilita a execução do arquivo ou a visualização do conteúdo do
diretório especificado para todos os usuários:
$ chmod a+x [ARQ/DIR]
Permissão para executar, gravar e ler pelo usuário (7); ler e executar pelo
grupo o qual pertença o usuário (5); apenas leitura para outros que não
pertençam ao grupo (4):
$ chmod 754 [ARQ/DIR]
Parece um pouco complicado; mas com a prática, iremos nos familiarizar.
CHOWN
CHGRP
83/128
UMASK
84/128
OS ARQUIVOS DE CONFIGURAÇÃO
/ETC/PASSWD
Em /etc/passwd estão as definições gerais de usuários cadastrados no
sistema. Ao ser adicionado um novo usuário, todas as informações
geradas são gravadas neste arquivo, como o apelido, o UID, diretório
padrão e interpretador de comandos. Porém as senhas são armazenadas
de forma criptografadas em outro arquivo, o /etc/shadow.
root:x:0:0::/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
adm:x:3:4:adm:/var/log:/bin/false
lp:x:4:7:lp:/var/spool/lpd:/bin/false
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/:/bin/false
news:x:9:13:news:/usr/lib/news:/bin/false
uucp:x:10:14:uucp:/var/spool/uucppublic:/bin/false
operator:x:11:0:operator:/root:/bin/bash
games:x:12:100:games:/usr/games:/bin/false
ftp:x:14:50::/home/ftp:/bin/false
smmsp:x:25:25:smmsp:/var/spool/clientmqueue:/bin/false
mysql:x:27:27:MySQL:/var/lib/mysql:/bin/bash
rpc:x:32:32:RPC portmap user:/:/bin/false
sshd:x:33:33:sshd:/:/bin/false
gdm:x:42:42:GDM:/var/state/gdm:/bin/bash
apache:x:80:80:User for Apache:/srv/httpd:/bin/false
messagebus:x:81:81:User for D-BUS:/var/run/dbus:/bin/false
haldaemon:x:82:82:User for HAL:/var/run/hald:/bin/false
pop:x:90:90:POP:/:/bin/false
nobody:x:99:99:nobody:/:/bin/false
darkstar:x:1000:100::/home/darkstar:/bin/bash
/ETC/SHADOW
No arquivo /etc/shadow é que são armazenadas todas as senhas de
usuário no sistema, porém utilizando o recurso de criptografia (hash).
root:$1$zXqgpng4$5UuBvFlwf/4SIAv41KdAc0:13728:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::
adm:!!:9797:0:::::
lp:!!:9797:0:::::
sync:!!:9797:0:::::
shutdown:!!:9797:0:::::
halt:!!:9797:0:::::
mail:!!:9797:0:::::
news:!!:9797:0:::::
uucp:!!:9797:0:::::
operator:!!:9797:0:::::
85/128
games:!!:9797:0:::::
ftp:!!:9797:0:::::
smmsp:!!:9797:0:::::
mysql:!!:9797:0:::::
rpc:!!:9797:0:::::
sshd:!!:9797:0:::::
gdm:!!:9797:0:::::
apache:!!:9797:0:::::
messagebus:!!:9797:0:::::
haldaemon:!!:9797:0:::::
pop:!!:9797:0:::::
nobody:!!:9797:0:::::
darkstar:$1$XQe/m3Bh$s1/1sEdNMEnUKVIWFCaF4/:13729:0:99999:7:::
/ETC/GROUPS
No arquivo /etc/groups estão todas as definições de grupos de
autenticação. Todos os grupos padrões do sistema, mais os grupos
específicos das aplicações e ainda os grupos criados pelo administrador
possuem suas especificações aqui descritas.
root::0:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin,adm,darkstar
adm::4:root,adm,daemon
tty::5:
disk::6:root,adm
lp::7:lp
mem::8:
kmem::9:
wheel::10:root
floppy::11:root
mail::12:mail
news::13:news
uucp::14:uucp,darkstar
man::15:
games::20:
slocate::21:
utmp::22:
smmsp::25:smmsp
mysql::27:
rpc::32:
sshd::33:sshd
gdm::42:
shadow::43:
ftp::50:
pop::90:pop
nobody::98:nobody
nogroup::99:
users::100:darkstar
console::101:
86/128
CONCLUSÃO
Apesar da existência de diversos comandos e recursos para a
administração de contas, grupos e outras propriedades de um sistema
multi-usuário, o bom conhecimento das atividades de gerenciamento de
usuários é muito importante, visto que além de manter todo o sistema de
dados em segurança, não teremos ocorrências e inconvenientes
desagradáveis como a perda de privacidade ou reclamações deste tipo do
próprio usuário ou de outras pessoas que fizeram uso da máquina. Além
disso, nos dará liberdade de personalizarmos o sistema de acordo com
nossas preferências. &;-D
87/128
VII. O GERENCIAMENTO DE PROCESSOS
INTRODUÇÃO
Conforme enfatizamos diversas vezes, o kernel é o principal responsável
pelo gerenciamento das atividades do sistema, que por sua vez são
caracterizadas como processo. Pelo fato do sistema operacional ser
multitarefa, existem diversos processos em andamento.
Neste capítulo iremos conhecer como os sistemas GNU/Linux (mais
precisamente o kernel) administram os processos em execução, bem como
todas as instruções e comandos para um bom gerenciamento destes.
VISÃO GERAL
O QUE É UM PROCESSO?
O processo é qualquer atividade executada pelo sistema que envolve uma
rotina de instruções com seus respectivos dados e informações. Um
processo poderá ser um programa em execução, um comando sendo
acionado, uma chamada do sistema, etc.
Existem 3 tipos de processos distintos:
• Interativos: são processos executados a partir e controlados por
um terminal. Ex.: Comandos gerais da linha de comando.
• Lotes: são todos os processos agendados pelo usuário e/ou
sistema. Ex.: Programação de tarefas e atividades com o cron.
• Servidores: são processos executados na inicialização do sistema e
que necessitam estar em execução permanente para a utilização
de seus serviços por outros processos que o necessitem. Ex.: O
banco de dados MySQL e o servidor Apache.
O IDENTIFICADOR PID
O PID é nada mais que uma identificação numérica de um determinado
processo existente, que por sua vez, quando criado, passa a ser
identificado e manipulado por este número. Já o PPID de um processo é
nada mais que a informação do processo-pai que o gerou. Seria algo
análogo como “a aplicação que executou outra aplicação”.
FOREGROUND E BACKGROUND
Muitas vezes, ao executarmos um aplicativo na linha de comando, esta fica
indisponível até o encerramento do mesmo. Apesar da disponibilidade de
88/128
vários terminais virtuais, seria deselegante toda vez que ao executarmos
um programa...
... ter que abrir um sessão do terminal, que por sua vez deverá ficar
aberto até o encerramento deste, poluindo e dificultando o gerenciamento
das janelas abertas em seu ambiente gráfico preferido. A este modo de
execução, chamamos de inicialização em primeiro plano (foreground).
Por isto, temos a possibilidade de executar um determinado programa ou
atividade na linha de comando e ainda mantê-la disponível conforme
nossas necessidades. O processo gerado para a execução do programa
fica em segundo plano (background), o qual poderá ser manipulado
através de outros comandos pela própria linha de comando, desta vez
liberada para outras atividades.
GERENCIANDO OS PROCESSOS
Os principais comandos para o gerenciamento de processos são:
VISUALIZAÇÃO
PS
89/128
Experimentem os seguintes comandos e analisem os resultados obtidos de
acordo com a tabela apresentada:
$ ps
$ ps -a
$ ps -A
$ ps -p [NÚMERO DE UM PROCESSO PRÉ-VISUALIZADO COM OS COMANDOS ANTERIORES]
$ ps -u
$ _
Para obterem maiores detalhes, consultem a sua documentação
eletrônica.
TOP
90/128
• <CTRL>+<L>: atualiza a tela, porém apagando o conteúdo atual;
• <H> ou <?>: inicializa a ajuda eletrônica;
• <I>: ignora processos “zumbis” (ociosos);
• <K>: finaliza um determinado processo, onde o usuário será
questionado qual o número referente;
• <Q>: encerra o programa.
Para sairmos desta tela, bastará apenas pressionarmos a tecla <Q>.
SEGUNDO PLANO
“CONTROL -ZÊ”
Conforme sabemos, a linha de comando ficará indisponível toda vez que
necessitarmos executar outro programa (e conseqüentemente gerar um
novo processo).
$ gimp
_
Para que possamos retornar à linha de comando, bastará pressionar
<CTRL> + <Z>, do qual retornaremos imediatamente ao sinal de
prontidão.
$ gimp
BG
91/128
programa interrompido em segundo plano. Digitem na linha de
comando...
$ bg
[1]+ gimp &
$ _
... para dar continuidade às atividades relacionadas ao aplicativo em
execução (no exemplo mencionado, Gimp).
JOBS
FG
EXCLUSÃO
KILL
KILLALL
92/128
Exemplo: de forma similar ao comando kill, caso desejarmos derrubar um
determinado processo...
$ ps -p 1084
PID TTY TIME CMD
1084 ttyS4 00:00:00 pppd
$ _
... basta utilizar o comando killall e fornecer o nome do processo do
programa ou atividade que desejamos encerrar...
$ killall pppd
DESLIGAMENTO DO SISTEMA
Para que possamos encerrar todos os processos em execução, desligar
e/ou reiniciar o sistema, poderemos nos valer do comando halt e
shutdown.
HALT
Desliga o sistema.
# halt
Neste caso, os módulos de gerenciamento de energia (acpi e/ou apm)
deverão estar previamente carregados.
SHUTDOWN
Reinicializa o sistema após finalizadas as tarefas em execução.
Sintaxe:
# shutdown [OPÇÕES] [HORÁRIO]
Onde:
• -c: cancela uma programação;
• -h: desliga o sistema;
• -r: reinicializa o sistema;
• [HORÁRIO]: definição de tempo em minutos.
Para se ter uma noção exata de sua utilidade...
# shutdown -h 30
Desliga o sistema após 30 minutos de sua execução;
# shutdown -r now
Desliga o sistema imediatamente (now = agora);
# shutdown -c
Cancela a programação de desligamento que foi agendada.
93/128
CONCLUSÃO
Na grande maioria das circunstâncias – em especial para os usuários
menos habituados – sequer nos importaremos com os processos em
execução e suas atividades relacionadas. Face a isto, apenas dispomos por
incluir os comandos e parâmetros mais essenciais desta atividade. Mas, se
ainda assim quiserem obter mais conforto, experimentem utilizar os
utilitários disponíveis dos principais ambientes gráficos existentes. &;-D
94/128
VIII. O SISTEMA DE INICIALIZAÇÃO
INTRODUÇÃO
Diferente do MS-DOS e Windows, os sistemas GNU/Linux lidam de forma
diferente com o processo de inicialização do computador. Enquanto que
no Windows, apenas vemos uma tela de apresentação indicado o
carregamento do sistema, no GNU/Linux são mostrados uma série de
processos. 8
Neste capítulo, iremos conhecer como funciona o sistema de inicialização
dos sistemas GNU/Linux, bem como suas características e
particularidades, tendo um enfoque especial ao método de inicialização do
Slackware.
OS MÉTODO DE INICIALIZAÇÃO
Os métodos de inicialização padrão dos sistemas Unix, clones e variantes
são respectivamente o System V e o estilo BSD.
SYSTEM V
O System V (AT&T) é o método mais utilizado pelas distribuições atuais.
Consiste em utilizar dezenas de scripts para cada serviço à ser
inicializado, todos armazenados em um diretório específico de acordo o
nível de execução utilizado. Além disso, operar em vários modos
existentes, todos numerados de 0 a 6.
ESTILO BSD
O estilo BSD (Berkeley Software Distribution) é atualmente adotado pelas
distribuições Slackware, Debian e SuSe. Diferente do outro sistema de
inicialização, o estilo BSD utiliza apenas alguns scripts são carregados
durante o processo de inicialização, estes considerados mais rápidos e
eficientes, além de uma maior simplicidade quando de sua manutenção.
Além disso, opera em apenas 2 modos: o single-user (“S” – para
manutenção) e o multi-user (“M” – uso para produção).
Os scripts de inicialização do Slackware obedece à este estilo, que por sua
vez é simples e extremamente rápido, enquanto que as demais
distribuições se baseiam na utilização do método de inicialização System
V. Apesar disto, os níveis de execução são conforme o método System V.
8 Devido a existência de diferentes distribuições, estes aspectos poderão variar: as
distribuições amigáveis tendem a apresentar uma tela gráfica no modo de espera,
ao passo que as distribuições direcionadas para o público especializado tendem a
mostrar a inicialização dos processos, conforme comentado neste parágrafo.
95/128
OS SCRIPTS DE INICIALIZAÇÃO
Os scripts de inicialização são arquivos de lote que armazenam as
definições necessárias para a habilitação dos serviços necessários para o
sistema, conforme especificado pelo seu nível de execução – o runlevel.
Estes são o scripts de inicialização que são os responsáveis pela
inicialização tanto da máquina em si quanto dos níveis de execução que
são definidos pela sua configuração e até mesmo no ato de seu
desligamento:
• rc.S: inicialização (start) do Slackware;
• rc.K: responsável pelo nível de execução 1, para a manutenção do
sistema – single user;
• rc.M: utilizado nos demais níveis de execução, ou seja, para modo
multi-usuário (2, 3 e 5);
• rc.4: necessário especialmente para carregar em modo gráfico
(através dos gerenciadores KDM, GDM e XDM);
• rc.0: atalho simbólico para rc.6;
• rc.6: reinicialização da máquina (liga) e encerramento (desliga).
Quando o sistema inicializa, o kernel é carregado para a memória do
sistema, após a inicialização dos dispositivos, este roda o init, o primeiro
processo de execução do sistema – PID 1. Após ser carregado, o kernel
executa o runlevel especificado pelo arquivo de configuração /etc/inittab.
Ainda neste mesmo arquivo de definições, especifica-se os scripts
necessários para a execução do runlevel desejado.
Todos estes scripts são executados pelo Bash e podem ser editados
manualmente, porém recomenda-se a realização prévia de cópias de
segurança, para nos resguardarmos de algum imprevisto qualquer.
OS DEMAIS SCRIPTS...
Conforme dito anteriormente, todos estes scripts – alémd dos scripts de
inicialização – são mantidos em /etc/rc.d/. Para cada um serviço ou
categoria de serviços, haverá um script específico para a sua habilitação.
# cd /etc/rc.d/
# ls
init.d/ rc.dnsmasq rc.modules@ rc.sshd
rc.0@ rc.font* rc.modules-2.6.21.5* rc.syslog*
rc.4* rc.gpm* rc.modules-2.6.21.5-smp* rc.sysvinit*
rc.6* rc.hald* rc.mysqld rc.udev*
rc.K* rc.hplip rc.nfsd* rc.wireless*
rc.M* rc.httpd rc.ntpd rc.wireless.conf
rc.S* rc.inet1* rc.pcmcia rc.yp*
rc.acpid* rc.inet1.conf rc.rpc rc0.d/
rc.alsa* rc.inet2* rc.samba rc1.d/
96/128
rc.atalk rc.inetd* rc.saslauthd rc2.d/
rc.bind rc.ip_forward rc.scanluns* rc3.d/
rc.bluetooth rc.keymap* rc.sendmail rc4.d/
rc.bluetooth.conf rc.local* rc.serial rc5.d/
rc.cups rc.messagebus* rc.snmpd rc6.d/
# _
Subdividiremos por categoria e descreveremos breves comentários sobre
os mesmos, para que possamos ter uma melhor compreensão.
SUPORTE AO HARDWARE
Nesta categoria, estão listados os scripts definidos para prover ao
sistema, o suporte geral aos recursos de hardware presentes:
• rc.acpid, rc.alsa, rc.bluetooth, rc.gpm, rc.keymap, rc.pcmcia,
rc.scanluns, rc.serial, rc.udev e rc.wireless.
O script rc.alsa é o responsável pelo carregamento dos módules e suporte
aos utilitários relacionados a arquitetura ALSA.; Já os scripts rc.gpm e
rc.keymap definem as configurações gerais dos dispositivos de entrada e
saída – mouse e teclado – no modo texto. Por último, o rc.udev habilita os
arquivos de dispositivos do sistema, conhecidos como devices: são através
destes arquivos que o kernel realiza os processos interação com os
recursos de hardware do sistema (computador).
SISTEMA DE IMPRESSÃO
97/128
REDES & INTERNET
Pelo fato dos sistemas GNU/Linux serem excelentes opções para o uso em
sistemas de redes, uma série de serviços relacionados é inicializado
através de scripts....
• rc.atalk, rc.bind, rc.dnsmasq, rc.httpd, rc.inetd (rc.inet1 e
rc.inet2), rc.ip_forward, rc.nfsd, rc.ntp, rc.rpc, rc.samba,
rc.saslauthd, rc.sendmail, rc,snmpd, rc.sshd e rc.yp.
E ainda que venhamos a utilizar o Slackware em um desktop, alguns
destes scripts são muito importantes para garantir a conectividade com a
Internet, como o rc.inetd.
CONFIGURAÇÕES LOCAIS
CARREGAMENTO DE MÓDULOS
98/128
# hotplug or udev (which is going to become increasingly impossible...), or
# if you want to force a particular module to be loaded where alternatives
# exist.
#
# Many Linux kernel modules will accept extra options. The Linux kernel
# source is the best place to look for extra documentation for the various
# modules. This can be found under /usr/src/linux/Documentation if you've
# the installed the kernel sources.
#
# NOTE: This may not be a complete list of modules. If you don't see what
# you're looking for, look around in /lib/modules/2.x.x/ for an appropriate
# module. Also, if any problems arise loading or using these modules, try
# compiling and installing a custom kernel that contains the support instead.
# That always works. ;^)
...
COMPATIBILIDADE
A grande maioria das distribuições GNU/Linux optam por utilizar o
método de inicialização System V, que por sua vez as aplicações
disponíveis para o sistema estão condicionadas a utilizar as definições
gerais deste método.
#!/bin/sh
#
# rc.sysvinit This file provides basic compatibility with SystemV style
# startup scripts. The SystemV style init system places
# start/stop scripts for each runlevel into directories such as
# /etc/rc.d/rc3.d/ (for runlevel 3) instead of starting them
# from /etc/rc.d/rc.M. This makes for a lot more init scripts,
# and a more complicated execution path to follow through if
# something goes wrong. For this reason, Slackware has always
# used the traditional BSD style init script layout.
#
# However, many binary packages exist that install SystemV
# init scripts. With rc.sysvinit in place, most well-written
# startup scripts will work. This is primarily intended to
# support commercial software, though, and probably shouldn't
# be considered bug free.
#
# Written by Patrick Volkerding <[email protected]>, 1999
# from an example by Miquel van Smoorenburg
<[email protected]>.
...
99/128
Cabeçalho do script /etc/rc.d/rc.sysvinit.
OS NÍVEIS DE EXECUÇÃO
Runlevels – níveis de execução – são estágios de execução específicos que
visam habilitar e/ou desabilitar um conjunto de serviços específicos para
cada necessidade da máquina em uso. Por exemplo, em uma necessidade
de uso comum, de manutenção, para propósitos específicos do sistema,
enfim, existirá um nível de execução apropriado para cada um. Os níveis
de execução poderão ser diferentes de acordo com a distribuição
utilizada.
Segue abaixo os níveis de execução do Slackware:
• 0: atalho simbólico para rc.6;
• 1: modo single user, necessário para a manutenção do sistema;
• 2: sem uso (personalizável);
• 3: modo multi-usuário, autenticação em modo texto (console);
• 4: modo multi-usuário, autenticação em modo gráfico (X11);
• 5: sem uso (personalizável);
• 6: reinicialização e desligamento do sistema.
Em outras distribuições, as definições dos níveis de execução podem
variar. Por exemplo, as red-likes utilizam o nível 5, que é destinado ao
modo multi-usuário com autenticação gráfica, ao invés do nível 4 usado
pelo Slackware.
100/128
necessárias, sendo este o principal motivo pelo qual não podemos definir
uma partição especial para o diretório padrão do superusuário (root).
101/128
DEMAIS NÍVEIS DE EXECUÇÃO (2 E 5)
Os níveis 2 e 5 não são utilizados pelo sistema, enquanto que existem
outros níveis não especificados, de 7 a 9, que são utilizados
especificamente para o desenvolvimento de níveis de execução
customizados de acordo com as necessidades da máquina local.
MÉTODO MANUAL
MÉTODO AUTOMATIZADO
102/128
Em seguida, marcar a opção services e teclar <ENTER> em seguida...
Nesta 3a. tela, deveremos apenas definir quais os scripts que deverão ser
ativados (marcando-os com a barra de espaço) e/ou desativados.
O ARQUIVO /ETC/INITTAB
O arquivo de configuração /etc/inittab define todos os parâmetros e
definições gerais do método de inicialização sistema.
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Version: @(#)inittab 2.04 17/05/93 MvS
# 2.10 02/10/95 PV
# 3.00 02/06/1999 PV
# 4.00 04/10/2002 PV
#
# Author: Miquel van Smoorenburg, <[email protected]>
103/128
# Modified by: Patrick J. Volkerding, <[email protected]>
#
# Dialup lines:
#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100
104/128
# Runlevel 4 used to be for an X window only system, until we discovered
# that it throws init into a loop that keeps your load avg at least 1 all
# the time. Thus, there is now one getty opened on tty6. Hopefully no one
# will notice. ;^)
# It might not be bad to have one text console anyway, in case something
# happens to X.
x1:4:wait:/etc/rc.d/rc.4
# End of /etc/inittab
Dentre as intervenções mais realizadas, está na mudança do nível de
execução. Por padrão, o Slackware utiliza o nível 3, mas em virtude do
conforto proporcionado pela inicialização em modo gráfico, é
recomendável utilizar o nível 4, o qual o sistema acessa um gerenciador
de autenticação simples, intuitivo e fácil de usar. Consultem a 6a. Parte:
Ambientes Gráficos -> Operações e ajustes afins, para obterem maiores
informações.
CONCLUSÃO
Conforme já dito diversas vezes, uma característica interessante do
método de inicialização BSD está na velocidade e facilidade de
customização. O fato de dispor apenas de alguns scripts com todas as
seções pré-organizadas e comentadas não só facilitam as intervenções
necessárias, como também agilizam na procura de parâmetros específicos.
No método System V, teríamos o trabalho de identificar qual o script
contém a configuração o qual desejamos editar, ao passo que no estilo
BSD apenas bastaria localizar o script o qual contém a categoria do perfil
de configuração e navegar nas seções comentadas. Poderemos também
utilizar as ferramentas de busca dos editores de textos disponíveis para
realizar a localização desejada. &;-D
105/128
IX. O GERENCIADOR DE INICIALIZAÇÃO
INTRODUÇÃO
Quando se utiliza um computador com mais de um sistema operacional,
será necessário definir por qual deles será utilizado. Em se tratando de
sistemas instalados em diferentes discos rígidos, bastaria inverter no
setup da BIOS a ordem de inicialização. Mas mesmo assim seria um
desconforto muito grande, pois toda vez que for necessário inicializar o
outro sistema, teríamos que editar as configurações do setup para
inverter a ordem de inicialização. E para aqueles sistemas instalados em
um mesmo disco rígido, porém mantidos em diferentes partições, como
fazer?
Para a solução destes problemas, existem os gerenciadores de
inicialização, que são programas desenvolvidos para o gerenciamento de
diferentes sistemas operacionais instalados em um mesmo equipamento.
E neste capítulo, iremos conhecer o LILO, o gerenciador padrão do
Slackware.
O LILO
✔ <http://lilo.go.dyndns.org/>.
O LILO – LInux LOader – é um dos gerenciadores mais antigos existentes
em sistemas GNU/Linux. Ele é o principal responsável pelo carregamento
dos sistemas operacionais instalados, onde fornece ao usuário um simples
menu de opções, bastando apenas ao usuário selecionar o sistema
desejado. Ele fica residente no setor MBR do disco rígido.
106/128
LILO (Slackware 12.1)
/ETC/LILO.CONF
Todos os parâmetros de configuração do LILO, são mantidos no arquivo
/etc/lilo.conf, o qual poderá ser alterado de acordo com as necessidades
do usuário. Neste arquivo existem duas seções distintas para a
configuração: a seção global e a seção de partições. Segue abaixo o
conteúdo destas seções e as respectivas utilidades para cada parâmetro.
SEÇÃO GLOBAL
Please enter the name of the partition you would like to boot
at the prompt below. The choices are:
107/128
Após esta operação, atualizem as informações na MBR, digitando...
# lilo
Added DOS *
Added Linux
Na próxima inicialização, o novo conteúdo será exibido.
• default
Especifica o sistema a ser carregado por padrão (por ordem de
disponibilidade). Lógico que esta opção deverá existir quando houver mais
de um sistema operacional.
• prompt
Indica a inicialização da linha de comando do LILO. Caso esta opção não
esteja habilitada e esta linha de comando não esteja presente, bastará
utilizar <CTRL> + <ALT> ou <CTRL> + <SHIFT> para ativá-la.
• timeout = [TEMPO_DE_ESPERA]
Tempo o qual o gerenciador permanece aguardando uma resposta via
teclado para a seleção dos sistemas. Caso não sejam selecionados, o
gerenciador automaticamente carrega o sistema padrão da máquina.
• Framebuffer
Define a forma de exibição das fontes no modo texto durante a instalação
do Slackware através do framebuffer, um recurso especial em que o
kernel acessa diretamente a memória de vídeo e conseqüentemente
utilizando seus recursos, como a resolução gráfica. Mas como fazer para
habilitar ou desabilitar este recurso, além de alterar as resoluções
presentes?
# Normal VGA console
vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# End LILO global section
Observe que a opção padrão utilizada pelo gerenciador de inicialização é
108/128
vga = normal. Caso queira habilitar o framebuffer, bastará apenas
selecionar a opção de resolução e profundidade de cor e desmarcar o
comentário ao lado. Na próxima inicialização, este recurso estará em
vigor.
SEÇÃO DE PARTIÇÕES
109/128
distribuições, deveremos atribuir sua nomenclaturas no label
correspondente.
• read-only
Pelo fato da necessidade de checagem do sistema de arquivos antes de
inicializado, esta partição deverá ser montada antes como somente leitura
para depois ser montada normalmente.
• other = /dev/[PARTIÇÃO_COM_OUTROS_SISTEMAS]
Indica a partição onde se encontram outros sistemas operacionais para
serem inicializados.
• table = /dev/[DISCO_RÍGIDO]
Informa em qual disco rígido se encontra outro sistema operacional
instalado, se porventura existir.
• alias = [CARACTER]
Utilizado em conjunto com a opção single-key da seção global, atribui um
único caracter para que possamos selecionar o sistema operacional
desejado (esta opção deverá estar dentro das definições dos sistemas
listados, da mesma forma que label).
O LILOCONFIG
O liloconfig é um utilitário especialmente desenvolvido para definir as
configurações básicas deste gerenciador de inicialização da máquina. Para
executá-lo, basta digitar...
# liloconfig
... onde será apresentada uma tela com as instruções de como proceder
passo-a-passo. Para alternarem entre as opções disponíveis no menu,
utilizem a tecla <SETA_ACIMA> e <SETA_ABAIXO> para selecionar as
opções do menu; <TAB> para posicionar o curso nas opções Aceitar ou
Cancelar, onde <SETA_ESQ.> e <SETA_DIR.> alterna entre eles; e
<ENTER> para definir as opções desejadas.
110/128
O LILO também é automaticamente instalado e definido durante a
instalação do Slackware. Ao ser executado, deveremos definir qual o tipo
de instalação. Selecionem simple para uma instalação básica.
Estas e outras informações estão disponíveis na 3a. Parte: A instalação .
Consultem-na, para obterem maiores detalhes.
111/128
# VESA framebuffer console @ 800x600x32k
# vga=787
Basta apenas remarcar (ou apagar) o padrão atual (vga = normal) e
desmarcar a opção desejada (vga = [DESEJADO]). Lembre-se que a placa
de vídeo em uso deverá suportar este recurso, e o monitor, a resolução
desejada. Após isto, salvem o arquivo e digitem na linha de comando...
# lilo
... para gravar um nova definição do LILO no setor MBR do disco rígido
com as alterações realizadas.
112/128
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
Onde no lugar de [SENHA] deverá ser digitada a senha desejada.
Lembre-se de que estes parâmetros deverão estar situados antes da linha
prompt.
113/128
instalação – neste caso os devices dos discos rígidos não
corresponderão com as definições gravadas inicialmente.
• Antivírus da BIOS ativado – Não somente nos sistemas GNU/Linux,
como no próprio Windows a manutenção de um programa
antivírus da BIOS acarreta diversos problemas de
compatibilidade, em especial durante a instalação de programas.
Desativem-no.
Estas são as principais causas do travamento na inicialização do LILO.
Poderão existir quaisquer outras, mas as soluções poderão ser específicas,
de acordo com a máquina utilizada. Para estas e outras circunstâncias,
recomendamos elaborarem durante ou logo após a instalação do
Slackware um disquete de inicialização.
114/128
# _
Se não houver nenhuma mensagem de erro, significa que o LILO atualizou
as configurações desejadas corretamente, onde na próxima inicialização
elas estarão habilitadas. Caso contrário, reeditem novamente o arquivo de
configuração e corrijam as alterações feitas, se necessário.
CONCLUSÃO
Apesar de simples e com uma aparência “arcaica” (como muitos dizem por
aí), o LILO disponibiliza todas as funcionalidades necessárias para o
gerenciamento de múltiplos sistemas operacionais do computador. Pode
não ser tão flexível ou possuir maiores vantagens que a utilização de
outros bons gerenciadores, porém devido as suas características únicas,
seu uso é simples e sua manutenção, muito fácil! &;-D
115/128
X. GERENCIAMENTO DE PROGRAMAS
INTRODUÇÃO
Como qualquer outra distribuição GNU/Linux, o Slackware também possui
seu sistema de gerenciamento de pacotes nativo, além de diversos outros
utilitários que auxiliam a administração dos programas utilizados.
Neste capítulo, iremos conhecer as principais ferramentas, métodos e
instruções para as necessidades mais rotineiras, além de informações
gerais sobre os demais processos pertinentes.
116/128
testes (beta), compilado para a arquitetura i686 e empacotado no formato
RPM. Para máquinas de produção (que necessitam de programas
estáveis), geralmente não é recomendável a instalação destes pacotes.
darkstar-1.0-noarch.tgz
Pacote que se encontra na versão 1.0, sem correção e que é compatível
com qualquer arquitetura existentes (noarch), empacotado no formato
nativo do Slackware. Somente pacotes que contém o código-fonte ou
arquivos textos das aplicações é que pertencem a esta categoria de
arquitetura universal. O pacote de internacionalização do KDE e os fontes
do kernel são exemplos.
Pkgtools.
117/128
Para realizar a remoção de um pacote:
# removepkg [PACOTE]
Dependendo da forma com que o pacote foi compilado (especialmente por
terceriso) talvez seja necessário informar como parâmetro, toda a
nomenclatura do pacote, mas sem a extensão .tgz, para que o removepkg
possa realizar a remoção.
NAME
rpm - RPM Package Manager
SYNOPSIS
QUERYING AND VERIFYING PACKAGES:
rpm {-q|--query} [select-options] [query-options]
Criado pela Red Hat, é o gestor padrão da maioria das distribuições, além
de ser um dos requerimentos estabelecidos pelo padrão LSB. Por isto o
Slackware também suporta a instalação de pacotes no padrão RPM.
As sintaxes básicas necessárias para o uso do RPM são:
• Para instalar um pacote...
# rpm -ivh [PACOTE]-[VERSÃO]-[ARQUITETURA]-[REVISÃO].rpm --nodeps
• Para atualizar um pacote...
# rpm -Uvh [PACOTE]-[VERSÃO]-[ARQUITETURA]-[REVISÃO].rpm
• Para verificar um pacote...
118/128
# rpm -Vf [PACOTE]
• Para remover um pacote...
# rpm -e [PACOTE]
Lógico que haverão pequenas variações na definição das opções acima
descritas de acordo com as circunstâncias. Neste caso, a consulta do
manual eletrônico é mais que suficiente para sanar nossas dúvidas.
COMPILAÇÃO DO CÓDIGO-FONTE
Na necessidade de se instalar um pacote disponível somente em código-
fonte, teremos que realizar manualmente a sua configuração, a compilação
e por fim, a instalação. Apesar de não ser um processo tão fácil em
comparação a instalação do pacote compilado, a maioria dos programas
livres existentes utilizam os comandos básicos para esta finalidade.
Para que possamos compilar qualquer código-fonte, necessitaremos criar
os Makefiles, que são arquivos que contém as instruções (parâmetros)
necessárias para o sistema gerar os arquivos binários do programa
desejado. Para isto, executem no diretório do pacote:
# ./configure --[OPÇÕES]
Lembrem-se de que em algumas circunstâncias – devido a natureza do
pacote em questão – não será necessária a realização desta etapa, sendo
apenas necessária as duas descritas logo à seguir.
Após realizarmos a configuração, deveremos compilar o pacote com...
# make
Baseado nas instruções geradas pelo configure e gravadas nos Makefiles,
o comando make criará os arquivos binários necessários para compor o
corpo do programa que desejamos instalar.
Terminada a compilação do programa, digitem na linha de comando...
# make install
... para concluir a instalação do programa. Poderemos também omitir a
instrução make do processo de compilação e lançar diretamente o make
install. Assim será feita a compilação e, logo em seguida, a instalação.
Para que seja desinstalado os binários de um arquivo gerados a partir do
código-fonte, deveremos digitar...
# make uninstall
... lembrando que nem todos os programas possuem esta opção
disponível.
OUTROS UTILITÁRIOS
Além de suportar os dois processos de instalação de pacotes, o Slackware
119/128
também possui utilitários que facilitam o gerenciamento destes, tais como
o rpm2tgz, que converte os pacotes RPM para o formato nativo do
Slackware, e o script CheckInstall, que possibilita empacotar os arquivos
gerados pela compilação do código-fonte de aplicativos e utilitários.
CONCLUSÃO
Em virtude da necessidade de estarem disponíveis na parte
Conhecimentos Gerais todas as instruções básicas para a utilização das
informações nas partes posteriores deste livro, damos apenas uma
pequena introdução básica ao que se refere a instalação de programas nos
sistemas GNU/Linux. O principal objetivo está na necessidade dos
usuários terem uma pequena base-técnica que os auxiliem no
entendimento das instruções das demais partes do livro. Por isto, se
quiserem se aprofundar mais, recomendamos que consultem a 5a. Parte –
Gerenciamento de Programas. &;-D
120/128
XI. VARIÁVEIS DE SISTEMA
INTRODUÇÃO
Ao trabalhar com o Windows, em algumas situações necessitaremos lidar
com algumas variáveis do sistema (como a path, por exemplo).
Especialmente em relação a série 9X, teremos que utilizar a linha de
comando para realizar as intervenções necessárias.
Com estes mesmos conceitos, as variáveis dos sistemas GNU/Linux não só
apresentam as mesmas funcionalidades conhecidas no sistema
operacional habitual, como outras, das quais iremos conhecer neste
capítulo.
AS VARIÁVEIS
PATH / ROOTPATH
Para aqueles que migraram do MS-DOS acreditamos que estão bem
familiarizados com a variável PATH, muito utilizada para habilitar seus
comandos em qualquer ponto (diretório) do sistema. PATH – pronuncia-se
“páf”– é apenas o caminho de procura para arquivos executáveis. A
variável armazena na memória do sistema caminhos para a localização de
comandos e executáveis evocados em qualquer ponto do sistema para a
execução.
Observem os caminhos /bin, /sbin, /usr/bin e /usr/local/bin: estas são as
localizações dos comandos utilizados pelos usuários, comandos do
administrador e evocados pelo próprio sistema, binários de aplicações do
sistema e binários de aplicações instaladas que não fazem parte dos
pacotes disponíveis na distribuição (local) respectivamente.
$ echo $PATH
/
usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/opt/www/htdig/bin:/usr/
lib/java/bin:/usr/lib/java/jre/bin:/opt/kde/bin:/usr/lib/qt-3.2.1/bin:/usr/sha
re/texmf/bin:.
$ _
Isto quer dizer que, toda vez ao evocarmos um comando ou aplicação, o
interpretador inicialmente irá buscar tais executáveis nos diretórios
específicados pela variável $PATH. Caso não seja encontrado, será
exibido...
bash: [EXECUTÁVEL]: command not found
Se estas especificações não existissem, teríamos que especificar todo o
caminho onde se encontra o executável:
$ /bin/free
121/128
$ /usr/bin/emacs
$ /usr/local/firefox/firefox
E para evocar uma aplicação instalada em um local exótico? Vejam o caso
da SDK Java: para que possamos o executável, teríamos que digitar...
$ /usr/lib/java/bin/java [PARÂMETROS]
Para resolver este problema, bastaria apenas atualizar a variável $PATH
para conter o caminho do binário java, e assim digitar apenas...
$ java [PARÂMETROS]
Os sistemas GNU/Linux – neste caso, o Slackware – ao serem instalados
possuem este caminho pré-configurados numa seção do arquivo
/etc/profile.
# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"
Para que reconfiguremos toda vez que inicializar o sistema, termos que
acrescentar o caminho aos já existentes. No caso do Java, seria...
# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/usr/lib/java/bin
/"
Quanto a variável ROOTPATH, sem grandes mistérios, ela apenas define o
caminho dos executáveis para o administrador do sistema.
HOME
Exibe o diretório atual (raíz) onde se encontra o usuário autenticado.
$ echo $HOME
/home/darkstar
$ _
OSTYPE
Exibe o sistema operacional (kernel) em uso.
$ echo $OSTYPE
linux-gnu
$ _
SHELL
Exibe qual o interpretador de comandos usado na seção.
$ echo $SHELL
/bin/bash
$ _
122/128
TERM
Já o TERM apenas indica o tipo de terminal utilizado no momento.
$ echo $TERM
xterm
$ _
USER
Exibe a conta de usuário autenticada naquele instante.
$ echo $USER
darkstar
$ _
COMANDOS RELACIONADOS
ECHO
Apenas exibe o valor (conteúdo) das variáveis em questão.
Sintaxe:
$ echo $[VARIÁVEL]
Exemplo:
$ echo $HOME
/home/darkstar
$ _
SET
O comando set é o responsável pela atualização das variáveis do sistema.
Sintaxe:
$ set [VARIÁVEL] [
“ VALOR]”
Observem que o valor (conteúdo) da variável deverá se encontrar entre
aspas duplas. Para habilitarmos um conteúdo para a variável PATH,
deveremos utilizar...
$ set PATH /
“ usr/local/tools”
Somente utilizando este comando, serão apagadas todas as definições
anteriores. Para mantê-las, utilizamos a variável $PATH. Com isto,
poderemos acrescentar este valor utilizando o comando...
$ set PATH $PATH;“/usr/local/tools”;“ [DEFINIÇÃO2]”;“ [DEFINIÇÃO3]”
... sem apagar as definições anteriores. Lembrem-se que estas definições
somente se encontrarão presentes na sessão atual do terminal.
Um detalhe interessante é que, quando o comando é digitado em um
123/128
terminal, são exibidos os valores correntes de todas as variáveis do
sistema:
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i486-
slackware-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORTERM=
COLUMNS=80
CPLUS_INCLUDE_PATH=/usr/lib/qt-3.2.1/include:/usr/lib/qt-3.2.1/include
DIRSTACK=()
DISPLAY=:0.0
...
$ _
EXPORT
Exporta valores de variáveis.
Sintaxe:
$ export [VARIÁVEL]=[VALOR]
$ export [VARIÁVEL]=”[VALOR (COM ESPAÇOS)]”
$ export [VARIÁVEL]='[VALOR (COM ESPAÇOS)]'
Exemplo:
$ export JAVA_HOME=/usr/java/bin
Da mesma forma que é feito com o set, apagaremos as definições
anteriores da variável. Se quisermos mantê-las, teremos que utilizar...
export JAVA_HOME=$JAVA_HOME:/usr/java/bin
Devemos lembrar que após estas definições, a variável atualizada estará
presente apenas durante esta seção do comando. Tal como o comando set,
quando o export é digitado em um terminal, serão exibidos os valores
correntes de todas as variáveis do sistema.
INTERNACIONALIZAÇÃO
As variáveis de internacionalização são extremamente importantes para
que possamos configurar determinados aplicativos e ambientes gráficos
para a nossa língua nativa.
A forma clássica de ajustar uma variável é:
# export [VARIÁVEL]=[VALOR]
As principais variáveis são:
• LC_ALL: geral (define todas as variáveis de uma só vez);
• LANG: define o idioma local;
• LC_MESSAGES: exibição de mensagens dos aplicativos;
124/128
• LC_TYPE: layout do teclado e comportamento de teclas especiais.
Basicamente os valores que deveremos atribuir são as especificações de
língua. Para definir os valores do Brasil, deveremos utilizar a flag pt_BR.
Segue um exemplo básico de como definir, com apenas o uso de um único
comando, todas as variáveis de internacionalização do sistema:
# export LC_ALL=pt_BR
ARQUIVOS DE CONFIGURAÇÃO
São inúmeros os arquivos que definem as variáveis do sistema, sejam
globais, para cada aplicação ou um usuário específico. Aqui
descreveremos apenas aqueles aplicáveis para as necessidades de um
usuário desktop.
/ETC/PROFILE
O arquivo /etc/profile contém as definições globais utilizadas pelo sistema
em geral. Qualquer parâmetro aqui definidos irão refletir em quaisquer
seções e contas de acesso autenticados ao sistema.
Cabeçalho...
# /etc/profile: This file contains system-wide defaults used by
# all Bourne (and related) shells.
Variáveis de ambiente...
# Set the values for some environment variables:
export MINICOM="-c on"
export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man
export HOSTNAME="`cat /etc/HOSTNAME`"
export LESSOPEN="|lesspipe.sh %s"
export LESS="-M"
125/128
fi
fi
Definições do terminal...
# I had problems using 'eval tset' instead of 'TERM=', but you might want to
# try it anyway. I think with the right /etc/termcap it would work great.
# eval `tset -sQ "$TERM"`
if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then
TERM=linux
fi
Definições do interpretador ksh93...
# Set ksh93 visual editing mode:
if [ "$SHELL" = "/bin/ksh" ]; then
VISUAL=emacs
# VISUAL=gmacs
# VISUAL=vi
fi
Formato do sinal de prontidão...
# Set a default shell prompt:
#PS1='`hostname`:`pwd`# '
if [ "$SHELL" = "/bin/pdksh" ]; then
PS1='! $ '
elif [ "$SHELL" = "/bin/ksh" ]; then
PS1='! ${PWD/#$HOME/~}$ '
elif [ "$SHELL" = "/bin/zsh" ]; then
PS1='%n@%m:%~%# '
elif [ "$SHELL" = "/bin/ash" ]; then
PS1='$ '
else
PS1='\u@\h:\w\$ '
fi
PS2='> '
export PATH DISPLAY LESS TERM PS1 PS2
Permissões de acesso padrão para a criação de arquivos...
# Default umask. A umask of 022 prevents new files from being created group
# and world writable.
umask 022
Definição de cores para o interpretador de comandos...
# Set up the LS_COLORS and LS_OPTIONS environment variables for color ls:
if [ "$SHELL" = "/bin/zsh" ]; then
eval `dircolors -z`
elif [ "$SHELL" = "/bin/ash" ]; then
eval `dircolors -s`
else
eval `dircolors -b`
fi
Notificação de recebimento de correio...
# Notify user of incoming mail. This can be overridden in the user's
# local startup file (~/.bash.login or whatever, depending on the shell)
if [ -x /usr/bin/biff ]; then
126/128
biff y
fi
Definições adicionais dos scripts profile...
# Append any additional sh scripts found in /etc/profile.d/:
for file in /etc/profile.d/*.sh ; do
if [ -x $file ]; then
. $file
fi
done
Definições de caminhos para usuários comuns...
# For non-root users, add the current directory to the search path:
if [ ! "`id -u`" = "0" ]; then
PATH="$PATH:."
fi
O DIRETÓRIO /ETC/PROFILE.D/
O diretório /etc/profile.d possui definições de scripts adicionais para
diversos ambientes gráficos e aplicações.
# ls -l /etc/profile.d/
total 88
-rwxr-xr-x 1 root root 164 2003-03-14 01:00 bsd-games-login-
fortune.csh*
-rwxr-xr-x 1 root root 141 2003-03-14 01:00 bsd-games-login-
fortune.sh*
-rwxr-xr-x 1 root root 32 2003-01-11 06:27 gtk+.csh*
-rwxr-xr-x 1 root root 43 2003-01-11 06:28 gtk+.sh*
-rwxr-xr-x 1 root root 102 2000-10-30 23:42 htdig.csh*
-rwxr-xr-x 1 root root 101 2000-10-30 23:43 htdig.sh*
-rwxr-xr-x 1 root root 146 2003-09-12 21:00 j2sdk.csh*
-rwxr-xr-x 1 root root 145 2003-09-12 21:00 j2sdk.sh*
-rwxr-xr-x 1 root root 176 2003-09-15 03:29 kde.csh*
-rwxr-xr-x 1 root root 85 2003-09-15 03:29 kde.sh*
-rwxr-xr-x 1 root root 227 2003-03-10 03:30 lang.csh*
-rwxr-xr-x 1 root root 225 2003-03-10 03:31 lang.sh*
-rwxr-xr-x 1 root root 51 2003-02-10 04:25 mc.csh*
-rwxr-xr-x 1 root root 45 2003-02-10 04:25 mc.sh*
-rwxr-xr-x 1 root root 31 2003-01-16 02:42 metacity.csh*
-rwxr-xr-x 1 root root 31 2003-01-16 02:41 metacity.sh*
-rwxr-xr-x 1 root root 443 2003-09-14 13:59 qt.csh*
-rwxr-xr-x 1 root root 396 2003-09-14 13:59 qt.sh*
-rwxr-xr-x 1 root root 50 2002-10-22 02:13 t1lib.csh*
-rwxr-xr-x 1 root root 63 2002-10-22 02:13 t1lib.sh*
-rwxr-xr-x 1 root root 134 2000-04-24 19:46 tetex.csh*
-rwxr-xr-x 1 root root 118 2000-04-24 19:46 tetex.sh*
# _
Cada arquivo possui definições de variáveis especiais para cada aplicação,
de acordo com a nomenclatura dos mesmos. Com apenas uma visualização
em seu conteúdo e, de acordo com as necessidades, deveremos realizar a
edição direta destas para que as propriedades desejadas estejam
127/128
presentes nas próximas seções.
~/.BASHRC
Para aqueles usuários que preferem definir personalizações especiais (e
por isto não podem alterar as definições globais /etc/profile) para as suas
necessidades, eles poderão especificá-las em um arquivo chamado
.bashrc. No Slackware, este não existe, sendo necessário criá-lo
manualmente.
~$ mcedit .bashrc
A partir daí é só acrescentar as definições desejadas.
#!/bin/bash
[DEFINIÇÕES PERSONALIZADAS]
Lembrem-se que a definição #!/bin/bash é opcional.
CONCLUSÃO
Existem diversas variáveis e opções de ajustes através da linha de
comando disponíveis nos sistemas GNU/Linux. Definir e exemplificá-las
aqui, além de trabalhoso, seria desnecessário, visto que a grande maioria
dos simples usuários sequer têm necessidade delas, quanto mais vontade
de intervir em ajustes desta categoria. Por isto optamos simplesmente por
colocar apenas as variáveis de maior relevância a categoria destes
usuários. &;-D
128/128
3A. PARTE:
A INSTALAÇÃO
DO SISTEMA
4/63
I. PREPARATIVOS INICIAIS
INTRODUÇÃO
O condicionamento de um computador para a instalação de um sistema
operacional – ao contrário de que alguns pensam – é um processo
delicado, especialmente se houverem informações importantes
armazenadas. E na execução deste processo é que muitos problemas
poderão surgir e deverão ser evitados. Para isto desenvolvemos um
capítulo especial, que trata das principais ações e atividades essenciais
para serem realizados antes da instalação de um sistema GNU/Linux.
CONSIDERAÇÕES BÁSICAS
Como qualquer outro aplicativo ou utilitário, um sistema operacional
também necessita ser instalado no computador. Porém existem diferenças
marcantes entre a instalação de um aplicativo e a instalação de um
sistema operacional, onde a principal delas está na preparação inicial da
máquina o qual será instalada.
Basicamente estas atividades se encontram em 2 categorias:
• Ajustes nas configurações da BIOS;
• Condicionamento do disco rígido.
Outro aspecto importante, que está no reparticionamento do disco rígido,
está descrito no capítulo seguinte, Redimensão e repartição do disco
rígido.
ACESSO AO SETUP
Para acessarmos as opções de configuração da BIOS através do CMOS
Setup, inicializem o equipamento e aguardem o vídeo exibir um teste de
integridade da memória RAM. Ao terminar o processo, será detectada as
unidades de discos rígidos do sistema, além de outros periféricos.
Simplesmente teclem <DEL> para iniciar o menu de configuração.
5/63
Embora este seja o procedimento usual, nem todos os equipamentos
podem ser acessados desta maneira, nestes casos, procurem ter em mãos
o seu respectivo manual técnico ou obtenham as informações necessárias
através da página oficial do fabricante. Por exemplo, os notebooks
normalmente utilizam combinações de teclas especiais para acessarmos
suas BIOS.
AS INTERVENÇÕES NECESSÁRIAS
Sabendo-se de que a nomenclatura de cada seção poderá variar de acordo
com o equipamento utilizado, gostaríamos de deixar claro que muitas dos
atalhos aqui descritos para acesso das opções poderão não estar de
acordo com outros equipamentos. Para isto, disponibilizaremos estas
instruções em seções especiais, com a intervenção especificada no título
em português.
6/63
possuem seus respectivos chipsets compatíveis com os módulos ACPI e
APM.
CONFLITOS DE IRQS
Em algumas circunstâncias, em especial durante a configuração dos
tradicionais hardmodens que utilizem slot ISA, existirá a possibilidade de
existir conflitos de IRQs em suas portas seriais. Talvez seja necessário a
desativação das portas COM3 e COM4, para que os mesmos não
ocasionem nenhum sintoma de instabilidade ou travamento. Apenas
procedam assim caso observem alguma anomalia durante a instalação.
DESABILITAÇÃO DE ANTIVÍRUS
7/63
realização de cópias de segurança de nossos dados – operação tal
conhecida como backup.
8/63
Se não houver possibilidade de utilizar outros métodos de cópia de
segurança, realizem pelo menos duas cópias idênticas neste conjunto de
mídias: caso ocorra algum erro em uma unidade do conjunto, teremos
uma segunda chance para a recuperação destas informações.
VERIFICANDO O ESTADO
Para preparar o disco rígido, devemos inicialmente realizar uma
checagem desta unidade para a procura de possíveis erros. Para isto,
executem o Windows Explorer clicando em Iniciar -> Programas ->
Acessórios -> Windows Explorer...
... e acionem com o botão direito do mouse a unidade pela qual desejamos
verificar, clicando em Propriedades. Surgirá uma caixa de diálogo, onde
deveremos clicar na aba Ferramentas, e na seção Verificação de Erros
cliquem em Verificar agora....
9/63
Fica a critério a demarcação das opções disponíveis. Em seguida,
agendem a execução do Scandisk para a próxima inicialização do Windows
e – claro – reinicializem o sistema.
Procurem sempre atentar-se para a ocorrência de erros no disco rígido e
corrijam-no, ou pelo menos conheçam suas particularidades para que não
seja comprometida a instalação do novo sistema operacional.
REALIZANDO A LIMPEZA
O Windows realiza uma série de gravações de arquivos em diretórios
específicos, especialmente arquivos temporários utilizados pelo sistema e
algumas páginas HTML visitadas recentemente. E para realizarmos a
limpeza, existe um utilitário para esta tarefa, chamado Limpeza de Disco.
Será aberta uma caixa de diálogo para que possamos selecionar a unidade
desejada – geralmente “C:”. À seguir, será mostrada a situação atual do
espaço utilizado por arquivos de acordo com sua categoria.
10/63
Limpeza de disco.
11/63
Assistente de Componentes do Windows.
REORGANIZANDO OS DADOS
Após o término da checagem e limpeza do disco rígido, iremos agora
realizar o processo de desfragmentação dos arquivos. Cliquem mais uma
vez no botão Iniciar -> Programas -> Acessórios -> Ferramentas do
Sistema -> Desfragmentador de disco.
12/63
Desfragmentador de disco.
Será apresentada uma tela para que seja selecionada a unidade que se
deseja desfragmentar. Selecione Unidade C.
Cliquem em Desfragmentar e aguarde o processo de desfragmentação do
disco rígido. Este utilitário irá regravar todas as informações do disco
rígido para o início da unidade, liberando o espaço estante para que
possamos realizar a operação de redimensionamento. Se o uso deste
utilitário for de pouca freqüência, provavelmente o processo de
desfragmentação irá demorar um pouco. Basta terem um pouco de
paciência e aguardar. De preferência, desativem a proteção de tela do
micro, caso esteja habilitada.
Confiram o espaço disponibilizado, acionando o ícone Meu Computador no
ambiente de trabalho. Em seguida aparecerá uma janela.
13/63
livres neste disco rígido, em uma unidade com capacidade nominal de
aproximadamente 7 GB. Em outras unidades possivelmente o espaço a ser
ocupado poderia ser bem maior. Basta agora apenas redimensioná-lo e
particioná-lo de acordo com nossas preferências.
Lembrem-se de que estamos apenas utilizando estes parâmetros para
exemplificar os procedimentos. É óbvio que apenas 4.5 GB de espaço livre
é considerado pouco para uma instalação padrão.
CONCLUSÃO
Apesar deste capítulo estar extremamente detalhado, gostaríamos de
deixar claro que a intenção é de prover aos usuários todas as informações
necessárias para a correta e segura preparação para a instalação de
quaisquer sistemas GNU/Linux – em especial o Slackware. Sinceramente,
ficamos bastante decepcionados ao escutar reclamações e opiniões de
terceiros fundadas em má experiências, que por sua vez têm base na
existência de diversos tutoriais que não cobrem eficientemente este
processo, contribuindo assim muito para a má rotulação deste
maravilhoso sistema operacional. &;-D
14/63
II. REDIMENSÃO E REPARTIÇÃO DO DISCO
RÍGIDO
INTRODUÇÃO
Para instalarmos tanto o Slackware como qualquer outra distribuição
GNU/Linux, é necessária a divisão do disco rígido (ou do que
disponibilizou-se dele) em pelo menos mais duas partições: uma raiz e
uma SWAP. E se a unidade de disco rígido do computador não possuir
nenhuma destas partições pré-definidas, deveremos então reservá-las
para o novo sistema.
Neste capítulo, iremos conhecer os procedimentos práticos a serem
adotados para realizarmos a redimensão e repartição do disco rígido.
A REDIMENSÃO
✔ <http://www.gnu.org/software/parted/parted.html>.
Caso tenhamos um sistema operacional pré-instalado na unidade, onde
todo o espaço disponível está sendo utilizado em uma única partição,
deveremos então realizar uma repartição não destrutiva para manter este
sistema. Para esta atividade, temos disponível o utilitário Parted.
O Parted é o redimensionador de partições oficial do Projeto GNU.
Desenvolvido por Andrew Clausen, nele se encontram inclusos todos os
recursos necessários para o manuseio das partições de um disco rígido.
Em nosso caso, como estamos realizado a instalação do sistema a partir de
sua mídia de instalação, iremos exemplificar o processo através dele.
Para iniciarmos a utilização do Parted, basta evocá-lo com o comando...
# parted /dev/hda
Se por ventura o disco rígido utilizar o sistema de conexão SATA, a
unidade deverá ser referenciada como /dev/sda ao invés de /dev/hda.
A seguir, será apresentada a unidade o qual o utilitário irá trabalhar, suas
informações básicas e um sinal de prontidão lançarmos os comandos.
15/63
Em todo caso, para obterem maiores informações, utilizem a ajuda
eletrônica pressionando a letra <H>...
16/63
Necessitaremos redimensionar a unidade para 7 GB. Portanto,
definiremos:
• Qual é a PARTIÇÃO: valor 1;
• Qual é o INÍCIO: valor 0 (já que é a 1a. partição da unidade);
• Qual é o FIM: valor 7168 (neste caso, a dimensão).
Para isto, deveremos utilizar o comando...
(parted) resize 1 0 7168
Irá demorar alguns segundos para que seja executada esta operação.
Como utilizamos um disco rígido provido por uma máquina virtual
(VirtualBox) para simular a operação, o tempo de espera foi praticamente
nulo.
Em seguida, confirmem a operação, utilizando o comando...
(parted) p
A REPARTIÇÃO
Apesar de a grande maioria das distribuições possuem seus
particionadores de disco rígido personalizados, praticamente todas elas
possuem também dois particionadores em comum: o fdisk e o cfdisk.
O fdisk é um dos mais poderosos particionadores de disco rígido
existente, porém, possuir uma interface pouco amigável. Face a esta
situação, o Slackware também traz consigo uma opção mais amigável
chamada cfdisk. Dentre suas diferenças, destaca-se o fato do fdisk
apresentar uma lista de opções para serem selecionadas, ao passo que o
cfdisk apresenta uma tela texto com menus simples e de fácil
entendimento.
17/63
Optaremos por exemplificar o processo de particionamento com o fdisk
justamente por ser a opção mais complexa, em comparação ao cfdisk, já
que, uma vez entendendo o funcionamento do fdisk, certamente
compreenderão o funcionamento do cfdisk...
A INICIALIZAÇÃO
Iniciem o fdisk, utilizando a seguinte sintaxe:
# fdisk /dev/hda
Da mesma forma que procedemos na inicialização do Parted, se por
ventura o disco rígido utilizar o sistema de conexão SATA, a unidade
deverá ser referenciada como /dev/sda ao invés de /dev/hda.
A partir deste ponto serão exibidas as seguintes informações:
18/63
certificarmos de que a partição raiz não ultrapassará este limite2.
Para a nossa sorte, a versão do LILO presente atualmente é superior a
versão acima mencionada; portanto, não há o que se preocuparem:
poderemos definir as partições sem maiores mistérios.
Para visualizar as opções de comandos, digitem...
Command (m for help) m
Como podem ver, somente existe uma única partição FAT32. O restante
de espaço se encontra disponível, apesar de não se mostrar “visível”.
2 Em tempos antigos, este problema era resolvido criando-se antes uma pequena
partição para o diretório /boot, contendo pelo menos 32 MB, mais que o suficiente
para atender as necessidades do sistema e para não extrapolar o limite existente,
além de possibilitar criar tranqüilamente o restante das partições desejadas.
19/63
CRIANDO A PARTIÇÃO EXTENDIDA
Para criar as demais partições necessárias, digitem...
Command (m for help) n
Como podemos ver, o utilitário solicita para que seja definido o espaço a
ser utilizado pela partição. Notem que existem opções tanto para
definirmos o espaço a ser ocupado em byte (padrão), MB e KB, como a
opção para definirmos o limite desta partição, lançando apenas os valor
referente ao cilindro desejado. Novamente pressionaremos <ENTER>
para que seja ocupado todo o espaço disponível (opção padrão).
20/63
Ótimo! Daremos então seqüência para a criação das partições desejadas.
21/63
o caracter <+> que corresponde a operação de adição, lançado
juntamente o valor 512 seguido do caracter <M>:
+512M
... E FORMATANDO-A
22/63
Note que existe uma opção para altera a identificação da partição para o
sistema (change a partition's system id) ao lado do caracter t. t é nada
mais, nada menos que a abreviação do termo type, que significa “tipo”:
Command (m for help) t
23/63
... para que seja feita a listagem dos códigos.
Conforme podemos ver, o fdisk suporta uma enorme variedade de
formatos de partições existente. O que nos interessa agora é apenas o
formato SWAP, que consultando na tabela encontra-se seu código
correspondente, 82:
Hex code (type L to list codes): 82
... para que possamos ver a partição SWAP (que criamos) redefinida.
24/63
A mídia de instalação requer aproximadamente 4.5 GB do disco rígido
para a sua instalação completa, além que exigir pelo menos mais 1 GB de
espaço livre. Para este exemplo, disponibilizamos 7 GB para o Windows e
0.5 GB para a partição SWAP, sobrando assim 13.5 GB livres.
Digitem o tamanho desejado para criar a partição raiz, que em nosso caso
é 7 GB, utilizando então o valor +7168M:
+7168M
25/63
Verifiquem novamente a tabela de partição...
Command (m for help) p
26/63
SALVANDO AS ALTERAÇÕES DA TABELA
Para encerrarmos o processo de partição do disco rígido, digitem...
Command (m for help) m
OBSERVAÇÕES FINAIS
Ao redimensionarem uma partição com o Windows instalado, procurem
disponibilizar um bom espaço para este sistema operacional, pois no
futuro poderá existir a necessidade da instalação de novas aplicações.
Mesmo que não necessitem instalar algum programa novo, diponibilizem-
na assim mesmo, para garantir o bom funcionamento deste sistema
operacional.
E novamente reafirmando, poderemos optar por utilizar o cfdisk ao invés
do fdisk. Neste caso, tanto a forma de dar a entrada dos comandos,
quanto a forma em que as informações serão exibidas, serão diferentes;
porém, a seqüência do desencadeamento deste processo é praticamente a
27/63
mesma.
# cfdisk /dev/hda
Até mesmo a sintaxe do cfdisk não difere em nada a do fdisk...
CONCLUSÃO
A redimensão e repartição da unidade de disco rígido são operações que
necessitam de cuidados especiais durante sua execução. Em suas
definições é que irão residir o futuro sistema operacional, as aplicações e
os demais dados particulares instalados. Uma definição mal estudada ou
sem maiores reflexões poderão ser fatores determinantes para o bom
desempenho geral do sistema. Não é raro a existência de sistemas com
desempenhos e capacidades comprometidos por causa de uma simples má
divisão, uma formatação errônea ou até mesmo a incorreta ordenação das
partições, além da possibilidade de ocorrência de outros eventos
indesejáveis, como instabilidade, insegurança, travamentos e perdas de
dados.
Apesar do processo em si não exigir conhecimentos técnicos
aprofundados, é sempre bom obtermos alguns conhecimentos gerais
sobre as unidades em uso. Saber como se comporta o disco rígido (em
circunstâncias normais e anormais), suas capacidades, recursos e
limitações, serão de grande importância em futuras circunstâncias para
que sejam tomadas decisões com conhecimentos de base corretos e
aplicáveis. &;-D
28/63
III. A INSTALAÇÃO
INTRODUÇÃO
Após realizarmos o recondicionamento da unidade de disco rígido, bem
como a cópias de segurança dos seus dados e elaboração de disquetes de
inicialização, além das demais medidas preventivas, iremos agora iniciar
detalhadamente o processo de instalação do Slackware.
Para esta tarefa, elaboramos um capítulo especial, onde todos as
instruções e os aspectos necessários serão cobertos com o mínimo de
detalhes.
CONSIDERAÇÕES BÁSICAS
29/63
atualizamos as telas de importância efetiva. Por isto, não se preocupem
caso algumas das telas capturadas de futuras edições, apresentem
informações que se diferenciem daquelas que se encontram na mídia de
instalação.
AS INTERVENÇÕES INICIAIS
A METODOLOGIA DA INSTALAÇÃO
Como qualquer outra distribuição GNU/Linux, o Slackware também
poderá ser instalado de diversas formas, sendo que o modo principal é a
opção de inicialização diretamente pelo CD-ROM 4. Basta apenas
configurarmos o setup da BIOS para iniciar o computador a partir do drive
de CD-ROM. Após isto, insiram os CDs de instalação na bandeja da
unidade e sigam as instruções dadas durante o processo de inicialização.
30/63
solicitando a escolha do mapa do teclado que está sendo utilizado.
31/63
Caso as teclas correspondam sem problemas, digitem 1 + <ENTER> para
que este mapa seja selecionado; caso haja algum problema e as teclas não
sejam habilitadas corretamente, digitem 2 + <ENTER> para que seja
desativada a opção selecionada e escolhermos um novo e correto mapa.
REALIZANDO A AUTENTICAÇÃO
Após concluirmos a configuração do teclado, será apresentada uma linha
de comando solicitando a autentificação.
A INSTALAÇÃO
Com as partições redimensionadas e pré-definidas, inicializaremos o
processo de instalação ao digitarmos na linha de comando...
# setup
32/63
Para iniciarmos a instalação, selecionem a opção Help e teclem
<ENTER>.
33/63
Após isto, veremos uma 2a. instrução, solicitando-nos a testar o mapa do
teclado selecionado. Procedam novamente da mesma maneira que foi
realizada durante a inicialização do CD-ROM. Vejam esta etapa na seção
Ajustando os parâmetros do teclado logo no início deste documento, se
necessitarem de maiores detalhes.
34/63
..., seremos questionados se desejamos realizar uma checagem por blocos
ruins. Embora o processo seja um pouquinho demorado, teremos maiores
garantias de bom funcionamento ao optarmos por concordar (Yes).
Não irá demorar muito para que, em poucos instantes, seja exibida a nova
configuração da partição inclusa no arquivo /etc/fstab, responsável pela
definição dos pontos de montagem do sistema.
35/63
Nesta etapa, iremos realizar a formatação da unidade e suas partições.
Existem 3 opções disponíveis: Format, Check e No. Caso possuam dados
armazenados de uma instalação anterior e não queiram apagá-los, utilizem
a opção No; se porventura quiserem checar a existência de blocos ruins,
utilizem Check; Enfim, se não tiverem nenhum destes dois
inconvenientes, optem por selecionar a opção Format.
Agora, iremos definir a partição seguinte, que por sua vez irá alocar todos
os dados das contas de usuários cadastradas: a /home.
36/63
Sem grandes mistérios, basta selecionarmos e prosseguir com Continue.
37/63
caminho...
Da mesma forma com que foi feito com a partição /home, deveremos
definir um ponto de montagem para a partição FAT32. Por se tratar de
uma partição que não fará falta ao sistema, definimos por mantê-la
acessível através de um diretório dentro do ponto de montagem oficial
para mídias removíveis: /mnt. Como nesta partição se encontra uma
versão antiga do Windows, a definimos como /mnt/win.
38/63
A tela seguinte apenas exibe as entradas que ficarão armazenadas no
arquivo /etc/fstab, responsável pela montagem das partições do sistema
durante o carregamento do sistema operacional.
39/63
(...)
40/63
Perfis de instalação
Full Completa. Perfil que necessitará de aproximadamente 3 GB de espaço no
disco rígido para a instalação.
Esta opção é a mais recomendada para iniciantes, pois realiza a instalação
sem problemas indesejados como a satisfação de pendências de pacotes e
um eventual esquecimento de algum aplicativo ou utilitário importante.
Expert Experto. Como o próprio nome diz, é uma opção de perfil somente
recomendada para usuários avançados, pois disponibiliza todas as
listagens de pacotes para uma seleção individual. Pelo fato de não existir
nenhum mecanismo que realize a checagem de pendências, o
administrador deverá saber exatamente quais pacotes deverá manipular.
Deve ser utilizada apenas para definir um conjunto de pacotes mais
otimizado.
Menu Lista de seleção. O seu diferencial em comparação ao perfil Newbie está no
fato de que apenas mostra os pacotes disponíveis sem informações
adicionais, bastando marcá-los (ON ou OFF). Além disso, possibilita
trabalhar apenas com os pacotes não-essenciais do sistema (isto também
ocorre com o perfil Newbie).
Newbie Novos usuários. É disponibilizado uma simples caixa de diálogo,
questionando aos usuários se desejam realizar a instalação ou não dos
pacotes através das opções YES, NO e SKP. Esta opção é indicada para a
utilização de usuários novatos.
Custom Customizado. Utiliza as definições pré-determinadas através dos arquivos
TAGFILE presentes nos diretórios de cada série dos pacotes. Ideal para ser
utilizada na instalação de distribuições personalizadas, onde há
necessidade de serem automatizada as instalações de cada pacote.
Tagpath Diferencia da opção Custom apenas por utilizar as definições dos arquivos
TAGFILE presente em outros diretórios (por exemplo, em um disquete
personalizado para isto).
Help Ajuda eletrônica. Esta opção fornece uma pequena ajuda sobre os
processos de instalações existentes, além de algumas instruções básicas.
41/63
... ou pacotes individuais...
(...)
42/63
Nesta parte, será realizada a inicialização das ferramentas responsáveis
pela atualização das fontes do sistema. Como não existem comandos a
serem lançados bastará apenas aguardarmos o término deste processo...
43/63
utilização de hardmodens. Se por acaso possuirmos algum softmodem
instalado no computador, respondam NO e dêem continuidade ao
processo, para realizarmos a configurações deste periférico após a
instalação. 5
Para obterem maiores informações, consultem a 4a. Parte: Ajustes &
Configurações -> Modem – placa de fax-modem.
44/63
Outra grande vantagem suportado pelo sistema é o framebuffer, um
recurso utilizado pelo kernel para acessar diretamente a memória
principal de vídeo e exibir as informações necessárias. Além de prover
suporte ao LILO, funciona mesmo em placas de vídeo não suportadas por
ele. Neste caso, o sistema passará a utilizar um driver específico, o fbdev,
que possibilita a utilização do ambiente gráfico sem a necessidade de
configurar do vídeo, facilitando-nos a utilizar o sistema na 1a.
inicialização.
Fica ao critério dos usuários em definir a sua utilização. Para aqueles que
utilizam muito o modo texto, este recurso é de uma grande valia, pois
melhora consideravelmente a exibição da imagem, além de dispor maior
“resolução” (quantidade de linhas e colunas) para trabalhar. Para os
demais, não faz tanta diferença; por isto, optem pelo padrão (standard).
45/63
Por último, deveremos definir onde será gravada as configurações do
LILO. Por padrão elas são armazenadas na MBR do sistema, onde
somente em circunstância especiais deverão ser utilizados locais que não
seja este. Sem maiores detalhes, apenas selecionem a opção MBR.
46/63
Em seguida, somos questionados se queremos configurar uma rede. Mas,
em virtude deste livro ter sido desenvolvido para focar unicamente o uso
dos sistemas GNU/Linux em desktops, sequer conhecemos as opções aqui
disponíveis para a configuração da rede. Por isto, optaremos por NO.
47/63
Em nosso caso, será a cidade de São Paulo.
Aqui iremos definir qual será nosso ambiente gráfico padrão para
trabalho.
Para aqueles que utilizam a inicialização em modo texto (init 3) ou o modo
gráfico com o gerenciador de autenticação XDM, é recomendável
selecionar o ambiente gráfico para que seja iniciado automaticamente. Já
os que utilizam o modo gráfico com o gerenciador de autenticação KDM,
estas opções não farão muita diferença, visto que em sua caixa de diálogo
o mesmo fornece as entradas para que sejam escolhidas pelos usuários.
48/63
Changing password for root
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password: _
O instalador solicita uma combinação de caixas altas para as letras e
números para utilizarmos como senha e assim dificultar a quebra de
sigilo. Vejam o que acontece se optarmos por um conjunto simples de
caracteres...
Bad password: too simple.
Warning: weak password (enter it again to use it anyway).
New password: _
Caso queiram utilizar a mesma senha rejeitada pelo utilitário, ele o
aceitará, mesmo apesar das recomendações. A responsabilidade total da
quebra do sigilo é do próprio administrador, portanto ficará ao seu
critério utilizar uma nova senha (nos moldes solicitados) ou manter a
desejada.
Re-enter new password: _
Confirmem a senha utilizada para que possamos efetuar a autenticação.
Password changed.
49/63
Installation of Slackware Linux is complete.
root@slackware:/# _
Conforme as instruções do próprio setup, a instalação do Slackware foi
completa e ocorreu (aparentemente) sem maiores problemas, bastando
agora reiniciar o novo sistema (pressionando <CTRL>+<ALT>+<DEL>).
A INICIALIZAÇÃO DO SISTEMA
Após o término da instalação, o sistema estará pronto para ser
inicializado. Para isto, devemos retirar quaisquer mídias disponíveis nos
drives utilizados durante o processo de instalação. Pressionem
simultâneamente as teclas <CTRL>+<ALT>+<DEL> para que a máquina
seja reinicializada.
A INICIALIZAÇÃO DO LILO
A seguir, será executado o gerenciador de inicialização LILO, que por sua
vez se encontra gravado na MBR (conforme definimos no ato da
instalação) e exibirá uma listagem com os sistemas operacionais
instalados.
Please enter the name of the partition you would like to boot
at the prompt below. The choices are:
50/63
Welcome to Linux 2.6.21.5-smp (tty1)
darkstar login: _
A AUTENTICAÇÃO NO SISTEMA
Para logar-se como superusuário, digitem...
darkstar login: root
Passwd: _
... e forneça, a senha para ter acesso completo ao sistema!
CONCLUSÃO
Apesar do sistema de instalação do Slackware ser um pouco diferente das
demais distribuições existentes, o processo em si é relativamente simples,
fácil e sem grandes complicações, tendo o único inconveniente do sistema
se encontrar todo em inglês, o que pode dificultar para muitos usuários
que não possuem conhecimento desta língua. Mesmo assim, seguindo este
guia passo-a-passo, nã teremos maiores dificuldades... &;-D
51/63
IV. APÓS A INSTALAÇÃO...
INTRODUÇÃO
Definir, classificar, redigir ou até mesmo realizar comentários sobre os
processos de configuração – especialmente após a instalação – não é algo
simples ou fácil de ser concebido, ao menos o quanto parece. Em se
tratando de distribuições GNU/Linux, onde cada uma possui sua filosofia e
particularidade, torna-se mais complicada uma definição geral sobre
ajustes e configurações para eles. Portanto...
Neste capítulo, iremos conhecer algumas particularidades básicas dos
sistemas GNU/Linux, tendo um enfoque especial sobre o Slackware e sua
famosa tradição: o uso da linha de comando.
OS PROCESSOS DE CONFIGURAÇÃO
52/63
bem mais necessária que na maioria das distribuições existentes. 6
6 Para aqueles novatos que necessitem editar estes arquivos, procurem manter uma
cópia de segurança para os mesmos ou configure o seu editor de textos preferido
para que o mesmo realize a cópia de segurança em questão, automaticamente.
53/63
AS FERRAMENTAS E OS COMPONENTES DO SISTEMA
AS FERRAMENTAS NATIVAS
Apesar da filosofia de administração do Slackware preferir utilizar
processos de intervenções manuais, existem diversos utilitários inclusos
na distribuição para realizar alguns ajustes e configurações necessários,
porém estes somente automatizam os processos mais básicos.
Abaixo, segue uma rápida descrição das principais ferramentas de
configuração nativas do Slackware, além de suas funções para o seu uso:
• 04.mkfontdir e 05.fontconfig: ajustes e configurações das fontes;
• 06.gutenprint: define as propriedados do GutenPrint PPD;
• 07.update-desktop-database e 07.update-mime-database: redefine
atributos relacionados ao formato e base de dados em desktops.
• 08.update-gtk-icon-cache: cria o cache para o uso de ícones GTK
em alta definição (hicolor);
• 70.install-kernel: suporte para a instalação de diferentes versões
pré-compiladas do kernel para a inicialização do sistema;
• 80.make-bootdisk: criação de imagens para inicialização do
sistema em dispositivos USB-HDD;
• htmlview: define o navegador WEB em modo texto;
• liloconfig: define ajustes e configurações do LILO;
• mouse: configuração do mouse em modo texto;
• netconfig: inicializa as configurações básicas de rede;
• services: habilita e/ou desabilita os serviços disponíveis;
• setconsolefont: ajustes das fontes do console;
• timeconfig: ajustes do fuso horário;
• xwmnconfig: seleção do ambiente gráfico padrão do sistema.
Poderemos encontrar atalhos para execução destas e outras ferramentas
através da interface interativa do Pkgtool. Para isto, será necessário
inicializar a ferramenta e acessar no menu principal a opção Setup.
54/63
Ferramenta de gerenciamento Pkgtool, seção “Setup”.
55/63
OS COMPONENTES DO SISTEMA
✔ <http://www.freedesktop.org/wiki/Software/hal>.
✔ <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>.
✔ <http://dbus.freedesktop.org/>.
Há até um certo tempo, o Slackware não realizava a detecção dos
periféricos, obrigando o usuário a configurar manualmente cada um
destes elementos. Porém, com a evolução dos recursos de autodetecção, o
Slackware gradualmente veio a adotar estas tecnologias. Por exemplo, a
partir de sua versão 9.0, foi implementando o Hotplug, uma ferramenta
que realiza a deteção e configuração dos periféricos encontrado no
sistema durante a inicialização. Este por sua vez, vigorou como o
subsistema de detecção padrão da distribuição durante um bom tempo.
Porém, com a migração definitiva para o kernel 2.6, o Hotplug deixou de
ser utilizado oficialmente, dando lugar aos subsistemas HAL e uDEV.
O HAL – Hardware Abstraction Layer – é uma camada de abstração que
trabalha entre a camada de software (aplicativos, ferramentas e
utilitários) e hardware (kernel & drivers), tendo o objetivo de padronizar
as chamadas de sistemas. Assi, possibilita fornecer uma especificação
(API) consistente para facilitar o desenvolvimento de softwares que
interajam com o hardware. É graças a esta camada que o desenvolvimento
de rotinas e códigos são mais simplificadas, além de permitir aos usuários
maiores facilidades na detecção, configuração e gerenciamento de seus
periféricos.
O uDEV é um gerenciador de dispositivos (devices) dinâmicos. Ele é o
responsável pela criação automatica dos devices relacionados aos
dispositivos que se encontram disponíveis, gerando assim um único
device, ao invés de uma estrutura complexa e infindável de devices.
Ainda temos o D-Bus, um IPC – Inter-Process Communication.
Desenvolvido pelo FreeDesktop, tem por objetivo oferecer para as
aplicações um sistema de troca de mensagens unificado. Em poucas
palavras, possibilitar que as aplicações possam “conversarem” entre si e o
kernel do sistema, trocando parâmetros e informações em tempo de
execução.
Todos estes componentes juntos são de extrema importância para o
perfeito funcionamento do processo de detecção, configuração,
gerenciamento e uso dos periféricos disponíveis no sistema, além das
ferramentas nativas.
No geral, lembre-se que não serão todos os periféricos a serem
reconhecidos automaticamente pelo Slackware. Por exemplo, a placa de
vídeo, a impressora, os softmodens e as placas de som que utilizam o
barramento ISA não são detectados, sendo necessário a intervenção do
usuário para realizar a configuração destes dispositivos.
56/63
FERRAMENTAS DA LINHA DE COMANDO
Dentre outras ferramentas importantes para o gerenciamento do sistema,
destaca-se os utilitários arch, free e dmesg, que por sua vez exibem:
A arquitetura do sistema...
$ arch
i686
$ _
... a quantidade de memória física disponível...
$ free
total used free shared buffers cached
Mem: 256144 250920 5224 0 21580 120060
-/+ buffers/cache: 109280 146864
Swap: 530104 12936 517168
$ _
... e as mensagens (logs) da última inicialização do kernel...
$ dmesg
Linux version 2.4.22 (root@midas) (gcc version 3.2.3) #6 Tue Sep 2 17:43:01
PDT 2003
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000007fec000 (usable)
BIOS-e820: 0000000007fec000 - 0000000007fef000 (ACPI data)
BIOS-e820: 0000000007fef000 - 0000000007fff000 (reserved)
BIOS-e820: 0000000007fff000 - 0000000008000000 (ACPI NVS)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
127MB LOWMEM available.
On node 0 totalpages: 32748
zone(0): 4096 pages.
zone(1): 28652 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=Linux ro root=306
Initializing CPU#0
Detected 799.779 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1595.80 BogoMIPS
Memory: 126368k/130992k available (1813k kernel code, 4236k reserved, 614k
data, 116k init, 0k highmem)
...
O dmesg é muito útil para a realização de inspeções gerais, já que
mostrará todas as ocorrências de erro registradas nos logs do sistema.
57/63
inicialização do sistema (auto-detecção) ou manualmente.
Para saberem se os periféricos em uso são suportados pelo kernel do
Slackware, consultem o arquivo /etc/rc.d/rc.modules e verifiquem se o
modelo e a marca constam neste arquivo de configuração em suas
respectivas seções. Caso estejam presentes, bastará apenas
descomentarem as linhas referentes ao carregamento dos módulos em
questão.
Por exemplo, para habilitarmos o dispositivo de rede Via Rhine-II...
# VIA Rhine support:
#/sbin/modprobe via-rhine
Normalmente, o sistema realiza a auto-detecção dos periféricos através
das ferramentas e componentes disponíveis (HAL, uDEV, D-Bus, etc.),
mas não para todos os dispositivos. No caso das placas de som, é
necessário verificar antes se elas são suportadas pela arquitetura de
drivers unificados ALSA (se o ALSA não prover suporte, teremos que
utilizar os antigos drivers OSS, embora não sejam recomendados). O
mesmo se dá para o subsistema gráfico X.org (através das ferramentas
xorgconfig e xorgsetup). no caso de modens, a situação torna-se mais
complicada ainda...
Enfim, para obterem maiores informações de como proceder para realizar
a correta detecção e configuração destes periféricos, consultem todos
capítulos desta parte que são relacionados aos sistemas de áudio (Áudio –
placa de som), vídeo (Vídeo – placa, monitor e modo gráfico) e conexão
(Modem – placa de fax-modem), além de outros pertinentes.
UTILITÁRIO DE DETECÇÃO
Antes de mais nada, certifique-se de que estejam instalados os seguintes
pacotes de ferramentas no sistema que lhe serão bastante úteis:
• pciutils: conjunto de ferramentas para a detecção e configuração
de dispositivos que utilizam o barramento PCI;
• modutils: conjunto de ferramentas para a manipulação de
módulos;
58/63
• hdparm: ferramenta para ajustes de otimização do disco rígido;
• util-linux: utilitários essenciais para o funcionamento do sistema;
• usbutils: conjunto de ferramentas para dispositivos USB: contém
os utilitários lsusb (detecção e exibição de informações) e
usbmodules (listagem de drivers disponíveis no kernel);
Por padrão estas ferramentas são incluídas na instalação do Slackware e
normalmente estão presentes, dispensando maiores cuidados. Mas caso
não se encontrem (sabe-se lá por quais motivos), façam a instalação. Para
isto montem a mídia de instalação, acessem-no e, no diretório slackware,
procurem a série a e instalem os pacotes acima citados com a sintaxe...
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/slackware/a/
# installpkg [PACOTE-VERSÃO-ARQUITETURA-REVISÃO].tgz
Para obterem maiores informações sobre quais são os procedimentos a
serem adotados para a instalação de pacotes, consultem a 5a. Parte:
Gerenciamento de Programas -> As ferramentas de gerenciamento.
59/63
visualizar o conteúdo destes “pseudo-arquivos-textos”.
Por exemplo, para obter informações sobre o processador...
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) XP 2000+
stepping : 1
cpu MHz : 1668.877
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow ts
bogomips : 3341.26
clflush size : 32
$ _
Os demais arquivos abaixo listados apresentarão as seguintes
informações:
• /proc/cpuinfo: dados do processador;
• /proc/devices: arquivos de dispositivos suportados;
• /proc/filesystem: sistema de arquivos suportados;
• /proc/interrupts: status das IRQs;
• /proc/ioport: status do endereços de E/S;
• /proc/meminfo: status do uso da memória (incluindo SWAP);
• /proc/misc: informações gerais de outros dispositivos;
• /proc/modules: lista dos módulos carregados;
• /proc/mount: atributos dos pontos de montagem;
• /proc/partitions: dados das partições do sistema;
• /proc/pci: especificações dos dispositivos que compartilham o
barramento PCI (arquivo consultado através da ferramenta lspci);
• /proc/version: versão corrente do kernel;
Além dos arquivos propriamente ditos, a estrutura de /proc contém
diretórios distintos para a organização de diversas outras informações
importantes do sistema em geral:
60/63
• /1 a XXX: ID dos processos sendo executados no momento;
• /proc/asound: placa de som e drivers ALSA utilizados;
• /proc/bus: barramento do sistema (PCI, ISA, etc.);
• /proc/dri: aceleração gráficas (renderização);
• /proc/driver: drivers de periféricos do sistema;
• /proc/fs: o sistema de arquivos;
• /proc/ide: unidades e controladoras IDE;
• /proc/irq: IRQs do sistema;
• /proc/lvm: Logical Volume Manager;
• /proc/net: a rede do sistema;
• /proc/scsi: hardwares emulados via SCSI;
• /proc/sysvipc: intercomunicação de processos (System V IPC);
• /proc/tty: dispositivos seriais do sistema.
Para obterem maiores informações o uso dos comandos gerais para a
manipulação de arquivos (especialmente less e cat), consultem a 2a Parte:
Conhecimentos Gerais -> Manipulação de arquivos e diretórios.
O CENTRO DE INFORMAÇÕES
Outra opção interessante está na utilização dos recursos disponibilizados
pelo ambiente gráfico KDE. Ao acessarmos o menu K -> System (Sistema)
-> KDE Info Center (Centro de Informações KDE), teremos disponível um
painel com todas as informações gerais do equipamento utilizado.
KDE Info Center (Centro de Informações do KDE). A coluna à esquerda exibe por
categorias as informações gerais da máquina em uso.
61/63
SOFTWARES ESPECIALIZADOS EM DETECÇÃO
✔ <http://www.cpuid.com/>.
Se ainda assim, as informações exibidas tanto pelas ferramentas em modo
texto, quanto pelos utilitários em modo gráfico, não forem suficientes,
poderemos apelar para o uso de softwares externos especializadas em
detecção de hardware. Uma excelente opção é o PC Wizard.
MANUAIS DE FABRICANTES
Ao adquirirem peças e acessórios ou até mesmo um novo computador,
procurem sempre exigir dos fornecedores, o seus respectivos manuais
técnicos. Geralmente estas documentações fornecem informações
detalhadas importantes, além de avisos e observações especiais.
Caso não sejam encontrados os dados desejados, ou estes sejam
informados em outra língua incompreensível ao usuário (inglês, espanhol,
alemão, etc.), verifiquem se há uma seção da página oficial do fabricante
específica para a nossa região. Geralmente, os grandes fabricantes
possuem seções especiais desta categoria, onde são divulgados os seus
produtos e todas as informações relacionadas.
62/63
CONCLUSÃO
Gastem alguns bons minutos com tentativas de localização das
informações gerais de seus periféricos, como treinamento. Assim, em
circunstâncias necessárias, estaremos mais habituados a lidar com estes
procedimentos, onde as demandas de tempo e paciência serão bem
menores. &;-D
63/63
4A. PARTE:
AJUSTES &
CONFIGURAÇÕES
✔ Copyright (c) 2002-2008 – Ednei Pacheco de Melo.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, version 1.1 or
any later version published by the Free Software Foundation; a copy of
the license is included in the section entitled “GNU Free Documentation
License”.
ÍNDICE
VISÃO GERAL ..........................................................6
I. VÍDEO – PLACA, MONITOR E MODO GRÁFICO .................7
Introdução.......................................................................................7
Preparativos iniciais.......................................................................7
Detecção do chipset para o vídeo.........................................................7
Processo básico de configuração....................................................8
xorgconfig..............................................................................................8
Instruções básicas..........................................................................................8
Mouse.............................................................................................................8
Teclado.........................................................................................................10
Monitor.........................................................................................................11
Placa de vídeo..............................................................................................14
Memória da placa de vídeo..........................................................................16
Descrição do periférico................................................................................17
Resoluções e profundidade de cor...............................................................17
Finalizando...................................................................................................19
Outras ferramentas.............................................................................20
As aceleradoras gráficas 3D.........................................................21
O servidor gráfico e as aceleradoras.................................................21
Preparativos necessários....................................................................22
GLX / DRI......................................................................................................22
Suporte ao barramento AGP........................................................................23
Drivers proprietários..........................................................................23
ATI................................................................................................................23
nVidia...........................................................................................................24
Sobre o X.org.................................................................................24
Sobre os drivers VESA...................................................................25
Conclusão......................................................................................25
II. AUDIO – PLACA DE SOM ......................................27
Introdução.....................................................................................27
Preparativos iniciais.....................................................................27
Detecção do chipset para o som.........................................................27
Checando o carregamento dos módulos............................................28
Definindo as permissões de acesso....................................................28
Os drivers ALSA.............................................................................28
Configurando a placa de som.............................................................29
Ajustes finais (mixer)..........................................................................30
Os devices............................................................................................31
Problemas mais freqüentes................................................................31
Sobre os antigos drivers OSS........................................................32
Conclusão......................................................................................32
III. MODEM – PLACA DE FAX-MODEM ..........................34
Introdução.....................................................................................34
Preparativos iniciais.....................................................................34
Detecção do chipset para o fax-modem.............................................34
O código-fonte do kernel....................................................................35
Atalho e permissões de acesso...........................................................36
Processo genérico de configuração..............................................36
Softmodens..........................................................................................36
Hardmodens........................................................................................37
Preparativos finais........................................................................38
Carregamento de módulos para a discagem.....................................38
Configuração e inicialização do discador...........................................38
Conflitos de IRQs e portas seriais................................................44
Configuração padrão das portas seriais.............................................44
Setserial...............................................................................................45
Sobre os softmodens.....................................................................46
Conclusão......................................................................................47
IV. UNIDADES DE ARMAZENAMENTO ............................48
Introdução.....................................................................................48
Discos rígidos................................................................................48
HDParm................................................................................................48
Obtendo informações sobre o disco rígido..................................................49
Mão na massa...............................................................................................50
Otimizações finais........................................................................................56
Parâmetros opcionais...................................................................................57
Observações importantes.............................................................................57
Interfaces gráficas.......................................................................................58
Agradecimentos...........................................................................................58
SMART.................................................................................................59
smartctl........................................................................................................59
smartd..........................................................................................................60
Gravadores de CD/DVDs................................................................61
Reconhecimento do sistema...............................................................61
Permissões de acesso..........................................................................61
Memórias eletrônicas...................................................................62
Gerenciamento de unidades e partições......................................63
Os arquivos de configuração..............................................................63
/etc/fstab.......................................................................................................63
/etc/mtab.......................................................................................................65
Conclusão......................................................................................66
V. TECLADO E MOUSE.............................................67
Introdução.....................................................................................67
O teclado.......................................................................................67
Configurações básicas.........................................................................67
Modo gráfico................................................................................................67
Modo texto...................................................................................................68
Intervenções mais freqüentes............................................................68
Habilitando as famosas “teclas do Windows”..............................................68
Aumentando a velocidade............................................................................69
O mouse.........................................................................................69
O GPM..................................................................................................69
Configurações básicas.........................................................................70
Modo gráfico................................................................................................70
Modo texto...................................................................................................71
Intervenções mais freqüentes............................................................72
Mouses ópticos.............................................................................................72
... e com scroll lock (com rodinhas)..............................................................72
Com conexão USB........................................................................................72
Conclusão......................................................................................73
VI. O KERNEL LINUX .............................................74
Introdução.....................................................................................74
Considerações básicas..................................................................74
As particularidades do kernel.............................................................74
O sistema de controle de versões......................................................74
A localização de seus componentes....................................................75
A equipe de desenvolvimento.............................................................77
Os módulos do kernel...................................................................77
A manutenção......................................................................................77
lsmod............................................................................................................77
modprobe.....................................................................................................79
insmod..........................................................................................................79
depmod.........................................................................................................80
modinfo.........................................................................................................80
rmmod..........................................................................................................80
O manuseio de módulos pré-compilados...........................................81
A localização dos arquivos..................................................................81
Observações finais..............................................................................82
O processo de compilação.............................................................82
Sobre o processo de compilação........................................................82
O principal motivo........................................................................................82
Entre outros aspectos interessantes............................................................83
Os preparativos iniciais.......................................................................83
Cópia de segurança dos dados do sistema...................................................84
A elaboração de pendrives de inicialização.................................................84
Cópia de segurança da configuração anterior.............................................85
Iniciando os procedimentos................................................................85
Atendendo os requerimentos básicos..........................................................85
Limpando as definições prévias...................................................................85
Inicializando as interfaces de interação......................................................86
Sobre a habilitação de parâmetros..............................................................88
As classes de atributos.................................................................................88
Realizando a compilação.....................................................................89
Salvando as alterações realizadas...............................................................89
Realizando a checagem das pendências......................................................89
Construindo a imagem compactada do kernel.............................................90
Realizando a compilação dos módulos.........................................................90
Os preparativos finais.........................................................................91
Recomendações gerais........................................................................91
Conclusão......................................................................................92
VISÃO GERAL
Enfim, chegamos a uma das etapas mais importantes e vitais para nossa
satisfação na administração e uso de sistemas GNU/Linux: a realização de
ajustes e configurações dos periféricos e parâmetros do sistema.
A configuração geral de um computador providos de sistemas GNU/Linux
é uma das etapas mais delicadas, a qual tem sido motivo de decepção e
insatisfação de diversos usuários. Diferente do Windows e de acordo com
a distribuição em uso – em especial, o Slackware –, necessitaremos
realizar a configuração manual de diversos programas e periféricos, o que
o torna um verdadeiro obstáculo para os iniciantes. Muitos usuários por
não conhecerem profundamente o seu funcionamento interno, desistem
da sua desinstalação, deixando de experimentar uma excelente opção de
sistema operacional. Para agravar ainda mais a situação, existem poucos
bons materiais técnicos e didáticos específicos, que cobrem com perfeição
diversos aspectos – mesmo apesar de serem inúmeros...
No caso do Slackware, mesmo sendo a distribuição mais “genérica”
existente, muitos de seus processos são diferenciados das outras demais,
em “virtude” das personalizações destas últimas. Pelo fato desta não
possuir determinados utilitários gráficos ou ferramentas de
automatização, o processo se torna um pouco complexo e detalhado, pois
o usuário necessitará obter certos conhecimentos para que possa
proceder com as intervenções e dependendo da complexidade, lidar com
processos mais elaborados, tais como a compilação de drivers, edição
manual da configuração, recompilações do kernel, etc. Em contrapartida,
uma vez bem configurado, o Slackware tende a ter um perfeito
funcionamento:
“Por sinal, o Slackware é uma das distribuições que se sai melhor neste
aspecto: o sistema pode ser mais difícil de configurar, mas pelo menos tudo
funciona como deveria”. -- [Livro “Entendendo e Dominando o Linux” - 5a.
Edição, por Carlos E. Morimoto].
Isto também deve-se ao fato da distribuição utilizar o mínimo de processos
de automatização, onde a ocorrência de erros são mínimas:
“Ao contrário de várias outras distribuições, processos de autodetecção que
podem 'travar' a máquina não são aplicados, assim não se corre o risco de
parar a instalação por culpa de uma placa de vídeo não suportada, ou de uma
placa de som mal humorada. Aliás, a detecção da placa de rede (...) também
pode ser deixada para depois, facilitando a vida de quem faz as instalações
em uma máquina e depois vai passar para outra.” -- [“Por quê usar o
Slackware”, por Piter Punk].
Em virtude do grande número de periféricos e dispositivos existentes,
será praticamente impossível descrever os processos de configuração
para cada um deles; porém, veremos as principais características,
funcionalidades e requerimentos necessários para realização de
procedimentos. &;-D
6/92
I. VÍDEO – PLACA, MONITOR E MODO
GRÁFICO
INTRODUÇÃO
A configuração da placa de vídeo e conseqüentemente do modo gráfico,
além dos demais parâmetros, é um processo mais tranqüilo, graças aos
excelentes utilitários disponíveis. Em especial, destaca-se o servidor
integrado que provê o subsistema gráfico de vídeo, o X.org.
Neste capítulo, iremos conhecê-lo mais detalhadamente.
PREPARATIVOS INICIAIS
7/92
outras informações menos preponderantes.
XORGCONFIG
Simples, rápido e extremamente eficiente, o xorgconfig é um utilitário
desenvolvido pelo projeto X.org que auxilia na realização das
configurações gerais do modo gráfico do sistema. Ao ser executado, o
utilitário constrói o arquivo de configuração baseado em perguntas
realizadas por ele e respondidas pelo usuário.
Segue abaixo a descrição passo-a-passo do processo básico de
configuração do modo gráfico. Conforme informado, basta digitar na linha
de comando...
$ xorgconfig
INSTRUÇÕES BÁSICAS
There are also many chipset and card-specific options and settings available,
but this program does not know about these. On some configurations some of
these settings must be specified. Refer to the X driver man pages and the
chipset-specific READMEs in /usr/lib/X11/doc for further details.
Before continuing with this program, make sure you know what video card
you have, and preferably also the chipset it uses and the amount of video
memory on your video card, as well as the specifications of your monitor.
MOUSE
First specify a mouse protocol type. Choose one from the following list:
1. Auto
8/92
2. SysMouse
3. MouseSystems
4. PS/2
5. Microsoft
6. Busmouse
7. IMPS/2
8. ExplorerPS/2
9. GlidePointPS/2
10. MouseManPlusPS/2
11. NetMousePS/2
12. NetScrollPS/2
13. ThinkingMousePS/2
14. AceCad
If your mouse has only two buttons, it is recommended that you enable
Emulate3Buttons.
Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/input/mice.
Mouse device:_
Informe em qual o dispositivo device correspondente se encontra
conectado o mouse. Por opção padrão, utilizaremos o device
/dev/input/mice indicado pelo utilitário, bastando apenas pressionar
<ENTER>.
9/92
TECLADO
Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose "Generic 104-key PC"
1 Generic 101-key PC
2 Generic 102-key (Intl) PC
3 Generic 104-key PC
4 Generic 105-key (Intl) PC
5 Dell 101-key PC
6 Dell Latitude series laptop
7 Everex STEPnote
8 Keytronic FlexPro
9 Microsoft Natural
10 Northgate OmniKey 101
11 Winbook Model XP5
12 Japanese 106-key
13 PC-98xx Series
14 A4Tech KB-21
15 A4Tech KBS-8
16 A4Tech Wireless Desktop RFKB-23
17 Brazilian ABNT2
18 Acer AirKey V
19 ACPI Standard
20 Azona RF2300 wireless Internet Keyboard
21 Advance Scorpius KI
22 Brother Internet Keyboard
23 BTC 5113RF Multimedia
24 BTC 5126T
25 BTC 9000
26 BTC 9000A
27 BTC 9001AH
28 BTC 5090
29 BTC 9019U
30 Cherry Blue Line CyBo@rd
31 Cherry CyMotion Master XPress
32 Cherry Blue Line CyBo@rd (alternate option)
10/92
Press enter for the next page
_
... para visualizar a listagem seguinte. Aí sim, visualizaremos a nossa
opção (teclado Brazilian ABNT2) e digitaremos 17 + <ENTER>.
À seguir, deveremos definir o país (country):
1 U.S. English
2 Andorra
3 Afghanistan
4 Arabic
5 Albania
6 Armenia
7 Azerbaijan
8 Belarus
9 Belgium
10 Bangladesh
11 India
12 Bosnia and Herzegovina
13 Brazil
14 Bulgaria
15 Myanmar
16 Canada
17 Congo, Democratic Republic of the
18 Croatia
MONITOR
O xorgconfig agora nos alerta sobre a seriedade dos próximos parâmetros
que iremos definir para a correta configuração do nosso monitor.
Now we want to set the specifications of the monitor. The two critical
11/92
parameters are the vertical refresh rate, which is the rate at which the
the whole screen is refreshed, and most importantly the horizontal sync rate
which is the rate at which scanlines are displayed.
The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.
12/92
Please enter the horizontal sync range of your monitor, in the format used
in the table of monitor types above. You can either specify one or more
continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.
You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync range
13/92
PLACA DE VÍDEO
Now we must configure video card specific settings. At this point you can
choose to make a selection out of a database of video card definitions.
Because there can be variation in Ramdacs and clock generators even
between cards of the same model, it is not sensible to blindly copy
the settings (e.g. a Device section). For this reason, after you make a
selection, you will still be asked about the components of the card, with
the settings from the chosen database entry presented as a strong hint.
The database entries include information about the chipset, what driver to
run, the Ramdac and ClockChip, and comments that will be included in the
Device section. However, a lot of definitions only hint about what driver
to run (based on the chipset the card uses) and are untested.
If you can't find your card in the database, theres nothing to worry about.
You should only choose a database entry that is exactly the same model as
your card; choosing one that looks similar is just a bad idea (e.g. A
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
hardware as can be).
_
Nesta etapa poderemos observar que existem muitos modelos de placas
suportadas pelo servidor gráfico. Basta teclar <ENTER> para ver os
demais modelos suportados. Se a placa de vídeo em uso não for tão
14/92
antiga, provavelmente encontraremos as especificações de seu modelo e o
número correspondente para que possamos informar ao utilitário (na
coluna à esquerda). Caso não encontre o modelo de uma placa de vídeo
listada, basta utilizar a opção 0 (VESA) + <ENTER> para utilizá-la, ou as
opções 1 e 2 + <ENTER> caso esta ainda não suporte o padrão VESA.
As próximas instruções deste livro se baseiam em um chipset de vídeo 3D
integrado pela Via Technologies: o IGP S3 UniChrome:
# lspci -v | grep VGA
01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8378 [S3
UniChrome] Integrated Video (rev 01) (prog-if 00 [VGA])
# _
Como ele não consta na listagem principal apresentada pelo utilitário,
deveremos pressionar <ENTER> para visualizar as opções seguintes:
18 ** Matrox Graphics (generic) [mga] -
19 ** NVIDIA (generic) [nv] -
20 ** NeoMagic (generic) [neomagic] -
21 ** Number Nine I128 (generic) [i128] -
22 ** Rendition (generic) [rendition] -
23 ** S3 (not ViRGE or Savage) (generic) [s3] -
24 ** S3 Savage (generic) [savage] -
25 ** S3 ViRGE (generic) [s3virge] -
26 ** SiS (generic) [sis] -
27 ** Silicon Motion (generic) [siliconmotion]-
28 ** Trident (generic) [trident] -
29 ** Tseng Labs (generic) [tseng] -
30 ** VMWare guest OS (generic) [vmware] -
31 2 the Max MAXColor S3 Trio64V+ -
32 2-the-Max MAXColor 6000 ET6000
33 3DLabs Oxygen GMX PERMEDIA 2
34 928Movie S3 928
35 AGX (generic) AGX-014/15/16
_
Observem que existem 3 opções de chipsets S3; porém, conforme as
informações obtidas no próprio site da Via, concluímos não se trata do S3
diferente do Savage ou ViRGE. Optaremos então pelo S3 (not VirGE or
Savage), ou seja, um chipset S3 genérico. Teclem 23 + <ENTER>. 1
23
15/92
Your selected card definition:
It is probably a good idea to use the same approximate amount as that detected
by the server you intend to use. If you encounter problems that are due to the
used server not supporting the amount memory you have, specify the maximum
amount supported by the server.
1 256K
2 512K
3 1024K
4 2048K
5 4096K
6 8192K
7 16384K
8 32768K
9 65536K
10 131072K
11 262144K
12 Other
16/92
Enter your choice: 12
DESCRIÇÃO DO PERIFÉRICO
17/92
cor desejada, poderemos definir quais as resoluções que serão
adequadas. Em nosso caso, iremos definir as resoluções que serão
utilizadas na profundidade de cor de 24 bits. Para isto, digitem 3 +
<ENTER>.
Enter your choice: 3
1 "640x400"
2 "640x480"
3 "800x600"
4 "1024x768"
5 "1280x1024"
6 "320x200"
7 "320x240"
8 "400x300"
9 "1152x864"
a "1600x1200"
b "1800x1400"
c "512x384"
d "1400x1050"
Please type the digits corresponding to the modes that you want to select.
For example, 432 selects "1024x768" "800x600" "640x480", with a
default mode of 1024x768.
Which modes? _
Como podem ver, o utilitário nos oferece uma série de opções para
definirmos a(s) resoluções que desejamos ter nesta profundidade de cor.
Podemos escolher tanto uma única definição, digitando o valor
correspondente + <ENTER> ou ainda definirmos múltiplas resoluções,
utilizando uma combinação de valores com os números correspondentes,
conforme o próprio utilitário exemplificou com a opção 432.2
Em nosso caso utilizaremos apenas a opção 1024x768, bastando digitar 4
+ <ENTER>. Para qqueles usuários que se sentem desconfortáveis com o
uso desta resolução, podem optar por 3 + <ENTER>.
Which modes? 4
You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. If you don't want virtual desktop at a certain resolution,
you cannot have modes listed that are larger. Each color depth can have a
differently-sized virtual screen
18/92
O utilitário pergunta se o usuário deseja ter uma tela virtual mais larga
que a tela padrão. Este é um recurso interessante quando se trabalha com
editorações gráficas ou tratamento de imagem, onde poderemos deslocar
o mouse para o canto e a tela se arrastar, podendo mostrar uma “área
extra” de vídeo para que possa trabalhar. Mas para uso comum,
infelizmente não ajuda muito. Se nos permitem o conselho, teclem n +
<ENTER>.
For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
1 1 bit (monochrome)
2 4 bits (16 colors)
3 8 bits (256 colors)
4 16 bits (65536 colors)
5 24 bits (16 million colors)
FINALIZANDO
Enfim, para encerrar este processo, o utilitário questionará se
19/92
desejaremos gravar as alterações em um arquivo texto onde o X.org
armazena todo os parâmetros de configuração. Antes disso o utilitário nos
faz um aviso, informando que este arquivo de configuração será gerado no
diretório padrão do usuário ao invés de sobrescrever as definições já
existentes.
I am going to write the xorg.conf file now. Make sure you don't accidently
overwrite a previously configured one.
$ _
Em nosso caso, será gerado um arquivo xorg.conf em /home/darkstar, o
qual deveremos nos autenticar como superusuário e copiar este arquivo
com as novas definições para a sua localização padrão: em /etc/X11.
$ su
Password: [SENHA]
# copy xorg.conf /etc/X11
# exit
exit
$ _
Caso já possuam alguma configuração anterior funcional, é recomendável
que se faça uma cópia de segurança da antiga configuração. Se por
ventura vier a ocorrer algum imprevisto, bastará apenas sobrescrever o
arquivo de configuração problemático pela cópia de segurança funcional.
Enfim, agora é só iniciar o ambiente gráfico, digitando simplesmente X +
<ENTER> e verificar se não ocorre algum problema durante a execução.
Se estiver o ponteiro em forma de cruz circulando na tela à disposição do
mouse, é sinal de que está tudo (aparentemente) bem.
OUTRAS FERRAMENTAS
Além do xorgconfig, temos também disponível os utilitários xorgcfg e
xorgsetup. O primeiro provê uma interface gráfica para a realização dos
ajustes, embora precária em recursos visuais; já o segundo provê um
sistema de detecção para o hardware em uso:
$ xorgsetup
20/92
... ou...
$ xorgcfg
Ambos são simples e fáceis de serem utilizados; por isto, não iremos
descrever instruções gerais para o seu uso.
AS ACELERADORAS GRÁFICAS 3D
Em seus primeiros tempos, a necessidade de se processar recursos
gráficos era pouca ou quase nenhuma para as aplicações que existiam
para as placas de vídeo. Porém, com a evolução da informática,
sofisticados recursos de computação gráfica tem evoluido e tornado-se
necessários para a implementação de muitos programas, em especial os
jogos em 3a. dimensão, onde os recursos de processamento eram
ineficientes. Foi desenvolvido então um chipset especial que visa suprir as
deficiências em processamento gráfico dos computadores modernos,
instalados em uma placa de vídeo. À partir deste momento, nasceu então
o que chamamos de aceleradora de vídeo, uma placa de vídeo preparada
especialmente para a demanda de processamento gráfico, tendo ao seu
dispor um processador gráfico – também conhecido por GPU3 –
desenvolvido exclusivamente para o processamento avançados recursos
de computação gráfica.
21/92
sua principal concorrente.
Também não deixando nada a desejar, a nVidia foi a primeira empresa a
disponibilizar o código-fonte dos drivers para as aceleradoras gráficas da
família TNT, os quais se encontram disponíveis em sua página oficial.
Atualmente, ela desenvolve apenas drivers proprietários para as atuais
GeForce, embora possuam um excelente desempenho.
Já a Matrox foi uma das primeiras empresas a disponibilizar
especificações de seus chipsets gráficos para que os desenvolvedores de
código-aberto pudessem desenvolver drivers livres para estes periféricos.
Graças a isto, bastam apenas rodar os utilitários de configuração do modo
gráfico para habilitar seus drivers, como se fosse simplesmente uma placa
de vídeo comum e logo em seguida realizar alguns pequenos ajustes para
habilitar os recursos de aceleração gráfica.
Por último, a ATI é a empresa que possui menos “tradição” em suas
iniciativas, embora também disponibilize drivers proprietários para as
suas aceleradoras Radeon. Porém, a qualidade destes drivers são bastante
discutidas em comparação a concorrente principal nVidia, ainda que sejam
superiores aos drivers livres existentes do projeto X.org.
PREPARATIVOS NECESSÁRIOS
GLX / DRI
✔ <http://www.sgi.com/software/opensource/glx/>.
✔ <http://dri.sourceforge.net/>.
A GLX e a DRI são extensões do servidor gráfico X.org para facilitar o
processamento de aplicações que utilizam a OpenGL para gerar gráficos
tridimensionais. Além da configuração da placa de vídeo, será necessário
habilitar estes módulos para a utilização dos recursos gráficos disponíveis
nas aceleradoras. Para isto edite o arquivo /etc/X11/xorg.conf e localizem
o seguinte trecho da seção Module:
# This loads the GLX module
# Load "glx"
# This loads the DRI module
# Load "dri"
Descomente as linhas referentes aos módulos GLX e DRI.
# This loads the GLX module
Load "glx"
# This loads the DRI module
Load "dri"
Salve as alterações e reinicie o modo gráfico.
22/92
SUPORTE AO BARRAMENTO AGP
Para que as aceleradoras gráficas utilizem o recurso de armazenamento
de texturas na memória, é necessário que esteja ativado o módulo
agpgart. Para isto, verifique inicialmente se o mesmo está carregado.
# lsmod | grep agp
via_agp 8192 1
agpgart 26928 1 via_agp
# _
Se não for exibida uma mensagem similar a esta, provavelmente o módulo
não foi detectado pelo sistema e isto se deve ao fato de que o kernel 2.6
não o suportar por padrão. Ainda assim, é possível utilizar perfeitamente
os recursos de aceleração gráfica da placa ou chipset de vídeo, embora o
armazenamento de texturas permaneça desabilitado.
DRIVERS PROPRIETÁRIOS
Em virtude do grande crescimento da utilização de sistemas GNU/Linux
em aplicações gráficas, as principais fabricantes de GPU passaram a
desenvolver os drivers de seus produtos para este sistema operacional.
Mas infelizmente o código-fonte destes drivers encontram-se fechados,
pois os desenvolvedores temem que detalhes técnicos importantes da
arquitetura de suas placas de vídeo sejam revelados aos seus principais
concorrentes.
Dentre os principais fabricantes, destacam-se a ATI e a nVidia.
ATI
✔ <http://www.ati.com/>.
✔ <http://r300.sourceforge.net/>.
A grande canadense ATI é atualmente a maior concorrente da poderosa
nVidia. Inicialmente suas placas aceleradoras de vídeo não eram
reconhecidas pela performance de seus processadores gráficos, e sim
pela qualidade de seus produtos para a captura de vídeo – a famosa linha
ATI All-in-Wonder. Posteriormente, passaram a investir na qualidade de
seus chipsets e atingiram o ápice de produzirem as aceleradoras mais
possantes atuais durante um certo tempo.
Apesar disto, sua supremacia no mercado ainda não foi confirmada devido
a popularidade das GeForce e seu baixo custo de aquisição, além da
retomada do antigo posto de a fabricante das GPUs mais possantes do
mercado.
As aceleradores gráficas fabricadas da família Radeon possuem bons
drivers disponíveis para os sistemas GNU/Linux. Visitem a página oficial
do fabricante e acessem a seção Drivers para obter os drivers da
aceleradora gráfica, caso já não as tenha.
23/92
Os drivers proprietários da ATI são fornecidos em um pacote pré-
compilado, bastando apenas instalá-lo via RPM e seguir as instruções de
um script especial de configuração, que aos moldes do xorgconfig, realiza
uma série de perguntas e cria um arquivo de configuração. Certifiquem-se
de que conheçam todas as seções referentes a este processo, pois caso
contrário, consultem a seção Processos básicos de configuração para uma
melhor noção das questões apresentadas.
Uma característica interessante do instalador da ATI está na remoção dos
drivers: o próprio programa se encarrega de restaurar as definições
anteriores, deixando praticamente intacto a configuração do servidor
gráfico existente antes da instalação dos mesmos.
Nem todas as placas aceleradoras são suportadas pelos drivers
proprietários da ATI, como também existem certos requerimentos a serem
considerados (como a versão do servidor gráfico suportada). Por isto,
visitem a página oficial do fabricante e, na seção Drivers, confirmem se os
drivers disponibilizados atenderão perfeitamente.
NVIDIA
✔ <http://www.nvidia.com/>.
A principal marca do mercado e seguida de perto pela ATI, a nVidia
atualmente possui os melhores drivers disponíveis para os sistemas GNU/
Linux. As aceleradoras de vídeo da série GeForce são atualmente as
líderes no mercado de placas aceleradoras de vídeo.
A nVídia inovou ao desenvolver um conjunto de pacote de drivers
chamado Detonador, ao invés de um pacote de drivers para cada modelo
comercializado. Estes drivers são atualizados constantemente, e graças à
este procedimento, atualmente estes se encontram em um ótimo estágio
de desenvolvimento, apresentando ótimo desempenho e grande
maturidade. Além disso, estes drivers suportam toda a linha da série
GeForce, diferente da ATI que apenas suporta a série 8500 em diante.
Atualmente os drivers do servidor X.org somente provê suporte 2D destas
aceleradoras gráficas, sendo então estritamente necessários a obtenção
dos drivers fechados da nVidia. Para obter estes drivers, deveremos
visitar a página oficial do fabricante e procurá-los na seção Download
drivers.
Tal como a ATI, a nVidia não dá suporte a todas as aceleradoras gráficas
da família GeForce, onde geralmente as versões mais antigas acabam
deixando de serem suportadas pelos drivers proprietários. Para obterem
maiores informações sobre estes aspectos, consultem a sua página oficial.
SOBRE O X.ORG
✔ <http://www.x.org/>.
24/92
✔ <http://www.xfree86.org/>.
O XFree86 é uma implementação livre do X Windows 4 para os sistemas
baseados em Unix. Foi desenvolvido por uma equipe de programadores
originalmente liderada por David Wexelblat. Apesar do nome, o servidor
gráfico roda em inúmeros sistemas operacionais, sejam livres ou não,
além de diferentes hardwares.5
Mas, devido a algumas mudanças dos termos da licença do XFree86 que
tornaram-na incompatível com a GPL e conseqüentemente a rejeição por
parte das distribuições, entrou em cena o X.org, que nada mais é que uma
implementação do XFree86 4.4-RC2, que por sua vez ainda mantinha as
antigas cláusulas da licença antiga. Por ser compatível com a GPL, o
trabalho desenvolvido pode ser utilizado sem maiores problemas.
CONCLUSÃO
Houve um tempo em que uma das maiores limitações dos sistemas
GNU/Linux era a performance gráfica. Dada as limitações do servidor
gráfico em seus primeiros tempos, seu desempenho era modesto na
utilização de aplicações gráficas 3D, porém suficiente para as aplicações
básicas de manipulação de janelas do dia-a-dia. Hoje, devido ao grande
apoio das empresas e distribuições, o servidor gráfico avançou de tal
4 O sistema gráfico X Windows System foi concebido em junho de 1984 por Robert
W. Scheifler. O seu objetivo era apenas prover um sistema de janelas que deve
rodar de forma transparente em ambientes de rede. Foi originalmente foi escrito
no MIT, onde posteriormente passou a ser utilizado como o ambiente gráfico X
padrão dos sistemas UniX pelos seus desenvolvedores comerciais.
5 A fase marcante do projeto iniciou-se em meados de 1992, quando vieram à luz, os
sistemas GNU/Linux e BSD. Pela necessidade de contar com um ambiente gráfico
para estes sistemas operacionais, o projeto passou à contar com a colaboração
destes, tendo um grande salto em desenvolvimento e maturidade.
25/92
ponto que poderemos usufruí-lo praticamente no mesmo nível de
performance em comparação aos demais sistemas operacionais. &;-D
26/92
II. AUDIO – PLACA DE SOM
INTRODUÇÃO
Atualmente a grande maioria das placas e chipsets de som são suportadas
pelos sistemas GNU/Linux, graças aos esforços de diversos
programadores. Para melhorar o cenário, a maioria os fabricantes
também disponibilizam os drivers para os seus produtos, embora não
sejam todos.
Este capítulo tem como objetivo apresentar as propriedades relacionadas
ao subsistema de áudio; em especial, a arquitetura ALSA.
PREPARATIVOS INICIAIS
27/92
circuitos integrados são provenientes do chipset VT8235 (ponte sul) e a
referência Abit Computer Corp. definem o fabricante da placa-mãe.
OS DRIVERS ALSA
✔ <http://www.alsa-project.org/>.
O drivers do Projeto ALSA – Advanced Linux Sound Architecture – foram
desenvolvido com o objetivo de prover uma alternativa de opção para os
drivers OSS – Open Sound System –, estes utilizados até o kernel 2.4.
28/92
Dentre suas características, está a sua modularidade, em comparação aos
antigos drivers OSS. Em virtude da utilização de diversos módulos, os
recursos tecnológicos de cada chipset diferente são melhor aproveitados,
tendo ainda a vantagem de degradar menos o desempenho geral do
sistema por este método, além de otimizar o uso da memória ao utilizar
um driver único para os mesmos recursos de diferentes placas e chipsets.
Pelo fato da existência de antigas aplicações que necessitam da utilização
de recursos dos antigos drivers OSS, os drivers ALSA foram projetados
para que fossem compatíveis. Assim, não será comprometida a utilização
de aplicações que requeiram os drivers OSS.
29/92
Especificações do chipset encontrado durante a verificação.
# _
Sem grandes mistérios, o periférico e seus recursos estarão disponíveis.
30/92
Para encerrar e gravar as alterações realizadas, basta apenas teclar
<ESC>.
Interface de ajuste do AlsaMixer (em preto & branco, para melhor visualização).
OS DEVICES
Os device do sistema de áudio ficam armazenados em /dev/sound.
# cd /dev/sound
# ls -l
total 0
crw-rw--w- 1 root audio 14, 12 2007-08-11 17:40 adsp
crw-rw--w- 1 root audio 14, 4 2007-08-11 17:40 audio
crw-rw--w- 1 root audio 14, 3 2007-08-11 17:40 dsp
crw-rw--w- 1 root audio 14, 0 2007-08-11 17:40 mixer
crw-rw--w- 1 root audio 14, 1 2007-08-11 17:40 sequencer
crw-rw--w- 1 root audio 14, 8 2007-08-11 17:40 sequencer2
# _
Novamente reafirmando, não é recomendável redefinir as permissões de
acesso destes dispositivos. O ideal é cadastrar o usuário no grupo referido
(audio), através do uso de ferramentas como o gpasswd e o KUser.
31/92
Caso não dê certo, verifiquem as propriedades das ferramentas de
configuração de áudio de seu ambiente gráfico preferido. Muitas vezes
bastam apenas habilitar e/ou desabilitar alguns recursos de áudio no KMix
(KDE), ou Alsamixer (Alsa) para que o áudio funcione corretamente.
CONCLUSÃO
Felizmente a grande maioria das placas de som possuem suporte nos
32/92
sistemas GNU/Linux através dos drivers ALSA. Na pior das hipóteses,
poderemos cogitar o uso dos antigos drivers OSS em substituição. Se
ainda assim não houver disponibilidade destes para habilitar a placa de
som, poderemos consultar a página eletrônica do fabricante do periférico,
e na seção Drivers, verificar se existem drivers disponíveis (geralmente
estes criam uma seção Linux para os usuários deste sistema). &;-D
33/92
III. MODEM – PLACA DE FAX-MODEM
INTRODUÇÃO
As placas de fax-modem – mais especificamente os softmodens - são os
periféricos que mais dão (ou davam) dor de cabeça para a sua instalação
em sistemas GNU/Linux. Dos usuários mais antigos, quais destes ao
realizar algumas instalações do sistema em computadores à pedido de
amigos não teve acessos de raiva ao chegar a vez de configurar estes
periféricos? Que sacrifício! Mas felizmente, isto é coisa do passado...
Em virtude dos esforços da comunidade GNU/Linux e de alguns
fabricantes, hoje é possível a sua utilização sem maiores incômodos. Mas
que incômodos são estes? Saibam agora quais são e o porque neste
capítulo.
PREPARATIVOS INICIAIS
34/92
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev
40)
00:04.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus
Master IDE (rev 06)
00:04.2 USB Controller: VIA Technologies, Inc. USB (rev 1a)
00:04.3 USB Controller: VIA Technologies, Inc. USB (rev 1a)
00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev
40)
00:07.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
00:07.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev
07)
00:09.0 Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200]
(rev a1)
# _
... e localizar as informações desejadas.
Em muitos casos existirão a necessidade de se obter informações mais
detalhadas sobre o periférico em questão. Para isto, digitem...
# lspci -vv
..., onde serão exibidas as informações de diversos periféricos. Localizem
somente aqueles trechos referentes ao periférico...
...
00:0a.0 Serial controller: 3Com Corp, Modem Division 56K FaxModem Model 5610
(rev 01) (prog-if 02 [16550])
Subsystem: 3Com Corp, Modem Division USR 56k Internal Voice Modem
(Model 2976)
Flags: medium devsel, IRQ 10
I/O ports at a000 [size=8]
Capabilities: [dc] Power Management version 2
...
O CÓDIGO-FONTE DO KERNEL
Diversos modelos de softmodens possuem drivers que necessitam dos
pacotes contendo os cabeçalhos (kernel-headers) e o código-fonte (kernel-
source) do kernel, onde para isto será necessário utilizar as mídias de
instalação do Slackware.
Com a mídia inserida no drive, digitem os comandos...
# mount /dev/cdrom
... para montar o drive...
# cd /mnt/cdrom/slackware/d
# installpkg kernel-headers-[VERSÃO]-[ARQUITETURA].tgz
... para instalar o pacote kernel-headers....
# cd ../k
# installpkg kernel-source-[VERSÃO]-[ARQUITETURA].tgz
... para instalar o pacote kernel-source.
35/92
ATALHO E PERMISSÕES DE ACESSO
Diferente das placas de áudio, os modens necessitam da criação de um
atalho nominal chamado /dev/modem para o device correspondente:
# ln -s /dev/[DISPOSITIVO_DO_MODEM] /dev/modem
Lembre-se de que estes dispositivos possuem um device de acordo com o
perfil (softmodem/hardmodem), o modelo (ISA/PCI/AMR) e a porta o qual
os modens estão configurados. Para saber quais são, consultem a seção
Conflitos de IRQs e portas seriais -> Configuração padrão das portas
serias.
Para que todos os usuários do sistema tenham acesso aos recursos do
modem, deveremos incluí-los no grupo uucp. Digitem na linha de
comando:
# gpasswd -a [USUÁRIO] uucp
Segue um simples e básico exemplo com o usuário darkstar:
# gpasswd -a darkstar uucp
Adding user darkstar to group uucp
# _
Se preferirem, usem utilitários gráficos para esta finalidade (KUser).
SOFTMODENS
Diferente das placas de audio, infelizmente é impossível desenvolver um
processo de configuração genérico para estes periféricos; porém seguem
abaixo as principais intervenções necessárias para a grande maioria.
1. Obtenção de informações gerais do modem:
Para obterem maiores informações, consultem neste capítulo a seção
Preparativos iniciais -> Detecção do chipset para o fax-modem.
2. Obtenção dos drivers:
Isto deve ser feito tomando-se como base os dados obtidos sobre o
softmodem em questão. Estes drivers podem ser abertos (código-fonte
livre) ou fechados (drivers pré-compilados). Para obtê-los, consultem a
página oficial do fabricante e/ou as páginas especializadas no assunto.
3. Obtenção de dados técnicos referentes ao modem e/ou drivers:
Para obterem informações gerais, leiam a documentação que acompanha
o periférico; para instruções mais específicas, leiam a documentação que
acompanha o pacote dos drivers.
4. Instalação do código-fonte do kernel:
Para realizar a compilação dos drivers do modem, normalmente será
36/92
necessária a presença do código-fonte do kernel devidamente instalados.
Para isto, consultem o capítulo O Kernel para obterem maiores detalhes.
5. Compilação dos drivers (módulos):
Necessitaremos de executar um programa de instalação, em caso de
drivers pré-compilados, ou a famosa combinação make e make install para
os pacotes com o código-fonte. Alguns incluem parâmetros especiais para
a configuração, bastando para isto consultar as instruções contidas em
arquivos READMEs e INSTALLs fornecidos como documentação.
6. Atualização das pendências dos módulos:
Na maioria das vezes será necessária a utilização do comando...
# depmod -a
... para a atualização das pendências dos módulos instalados.
7. Carregamento dos módulos.
Na maioria das vezes, bastará apenas digitar...
# modprobe [MÓDULO]
Da mesma forma que a configuração de áudio, poderá ser necessário a
inclusão de comandos em arquivos de configuração para garantir o
carregamento automático dos módulos instalados. Geralmente basta
acrescentar este parâmetros no arquivo /etc/rc.local ou /etc/rc.modules.
8. Entre outros ajustes finais...
Existirão casos em que serão necessário a edição dos atalhos simbólicos e
permissões para os device drivers das portas seriais para a placa de fax-
modem, além da existência de alguns scripts personalizados para a
automatização de diversos processos, como por exemplo, a habilitação e
carregamento dos módulo e suas respectivas pendências. Consultem a
documentação de seus drivers para obterem maiores detalhes.
HARDMODENS
Somente necessitaremos de criar o atalho simbólico /dev/modem
apontando para o device correspondente e assim habilitar os hardmodens
instalados em seu sistema. Inicialmente excluam o atalho simbólico
disponibilizado durante a instalação do sistema operacional em /dev.
# rm /dev/modem
Após isto, deveremos apenas criar o atalho simbólico /dev/modem
especificando qual o device em que o hardmodem se comunica.
# ln -s /dev/[DEVICE] /dev/modem
Em alguns casos, alguns ajustes extras serão necessários com o setserial.
# setserial [DISPOSITIVO] irq [IRQ] port [PORTA] uart [UART] [PARÂMETROS]
Consultem a seção Conflitos de IRQs e portas seriais -> Configuração
37/92
padrão das portas seriais para obter as referências necessárias para a
correta configuração do modem.
PREPARATIVOS FINAIS
pppsetup.
38/92
não será do agrado de muitos usuários realizar a discagem através deste.
Como opção, temos o utilitário KPPP, parte integrante do ambiente
gráfico KDE.
KPPP.
39/92
Definição do device do modem.
Callback.
40/92
Strings de inicialização.
41/92
Seleção do modo de autenticação
Com certeza esta é a parte mais fácil. Basta apenas digitarmos a senha de
acesso. Após percorridas todas as etapas, será mostrado as alterações
lançadas no arquivos de configuração do discador.
42/92
Conclusão do processo, onde são mostradas as definições realizadas.
# _
Após termos completado todo o procedimento de configuração da
discagem, bastará digitarmos na linha de comando...
# ppp-go
... e aguardar os resultados obtidos durante a conexão.
Para se desconectar, bastam apenas utilizar o comando ppp-off.
# ppp-off
Todas os parâmetros passados ao utilitário pppsetup são armazenadas no
arquivo /etc/ppp/options, o qual pode ser alterado conforme necessidade.
# General configuration options for PPPD:
lock
defaultroute
noipdefault
modem
/dev/modem
115200
crtscts
# Uncomment the line below for more verbose error reporting:
#debug
# If you have a default route already, pppd may require the other side
# to authenticate itself, which most ISPs will not do. To work around this,
# uncomment the line below. Note that this may have negative side effects
# on system security if you allow PPP dialins. See the docs in /usr/doc/ppp*
# for more information.
#noauth
passive
asyncmap 0
name "[USUÁRIO]"
43/92
Dentre as alterações necessárias, talvez seja necessário comentar a linha
referente à opção lock. Ficará então da seguinte forma:
# lock
Isto se faz necessário pelo fato de alguns discadores simplesmente não
funcionarem se esta linha estiver sem comentários.
Em alguma circunstância, pode ser que não seja possível navegar na
Internet, embora consigamos realizar a conexão através do discador. Isto
acontece com freqüência devido a inexistência de alguns dados do
provedor de acesso em /etc/ppp/resolv.conf. Para isto, editem o arquivo...
# mcedit /etc/ppp/resolv.conf
... e adicionem as seguintes linhas:
search [ENDEREÇO_DO_PROVEDOR]
nameserver [DNS_PRIMÁRIO]
nameserver [DNS_SECUNDÁRIO]
Tomemos como exemplo os dados do provedor de acesso iG:
search ig.com.br
nameserver 200.225.157.104
nameserver 200.225.157.105
Salvem as alterações realizadas e a navegação entrará em vigor.
44/92
Estas informações são de grande valia na execução do setserial.
SETSERIAL
O comando setserial é utilizado para realizar ajustes e configurações
otimizados, de acordo com os atributos dos hardmodens disponíveis.
Sintaxe:
# setserial [DEVICE] irq [IRQ] port [PORTA] uart [UART]
Onde:
• DEVICE: o dispositivo propriamente dito;
• IRQ: número da interrupção utilizada;
• PORTA: definição da porta utilizada;
• UART: endereço da memória utilizada pela porta.
Estes são os dados básicos de configuração necessários para a correta
configuração do hardmodem nos sistemas GNU/Linux. Mas como obtê-los?
Para isto, utilizem novamente o comando lscpi...
# lspci -vv
... e localizem os dados desejados referentes ao periférico:
00:09.0 Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev 01)
(prog-if 02 [16550])
Subsystem: US Robotics/3Com USR 56k Internal Voice Modem (Model 2976)
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at a000 [size=8]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
Após obtermos a IRQ e a interrupção desejada, executem...
# less /proc/tty/driver/serial
... para descobrirmos em qual porta se encontra.
serinfo:1.0 driver:5.05c revision:2001-07-08
0: uart:16550A port:3F8 irq:4 baud:9600 tx:0 rx:0
1: uart:16550A port:2F8 irq:3 baud:9600 tx:0 rx:0
4: uart:16550A port:A000 irq:10 baud:9600 tx:0 rx:0 CTS|DSR
Observem que foi encontrado em /dev/ttyS4 a IRQ e a interrupção obtida
com a utilização do comando anterior, além de ser informado o valor da
UART utilizada. Com todos estes dados em mãos, bastam utilizar...
# setserial /dev/ttyS4 irq 10 port 0xA000 uart 16550A [OPÇÕES]
45/92
... para configurar corretamente o periférico no sistema.
Além das definições exatas dos parâmetros de configurações, poderemos
também ajustar a velocidade de transmissão com o objetivo de obter a
melhor performance possível. Para isto, utilizem os seguintes parâmetros:
• spd_normal: taxa de transmissão de 38.4 kb;
• spd_hi: taxa de transmissão de 57.6 kb;
• spd_vhi: taxa de transmissão de 115 kb;
• spd_shi: taxa de transmissão de 230 kb;
• spd_warp: taxa de transmissão de 460 kb.
Para obterem maiores informações, consultem a sua documentação.
SOBRE OS SOFTMODENS
Os modens são dispositivos de hardwares feitos exclusivamente para
realizarem a conversão de sinais analógicos para digitais – e vice-versa –,
nos possibilitando realizar a conexão com a Internet através do uso de
uma linha telefônica analógica. Daí o seu nome: modulador/demodulador.
São subdivididos em duas categorias: os softmodens e os hardmodens.
São considerados softmodens todos os modens que não possuem o chipset
exclusivo para a realização de suas funções, deixando a cargo o
processador principal do sistema. São também conhecidos como
winmodens, pelo fato de que os fabricantes somente disponibilizam
drivers para o funcionamento destes periféricos no sistema operacional
Windows.
Os softmodens tradicionalmente apresentam as seguintes características:
• São placas menores em virtude da inexistência dos circuitos
integrados para o processamento de sinal;
• Utilizam slots PCI e AMR, exceto as primeiras unidades (ISA);
• Apresentam estampadas em suas embalagens termos tais como
softmodens, windmodens e/ou as siglas HSP, HCF, HSF, SM (estes
últimos são fabricados pela Motorola);
• Custo mais em conta, comparado aos tradicionais hardmodens.
A principal vantagem da fabricação e comercialização dos softmodens está
no custo. Mas infelizmente as desvantagens são inúmeras. Devido as suas
funcionalidades serem dependentes exclusivamente do sistema
operacional, todo o processo é realizado na maior parte ou exclusivamente
via software, o que certamente sobrecarregará severamente os
processadores de médio e baixo desempenho durante sua utilização. Há
também a possível instabilidade da linha em decorrência da inexistência
de alguns recursos específicos presente nas placas de fax-modens
tradicionais.
46/92
Nos sistemas GNU/Linux existe um agravante ainda maior, pois muitos
fabricantes 6 não fornecem os respectivos drivers para a utilização destes
periféricos, além de não disponibilizarem suas especificações técnicas
para que outros possam desenvolver os drivers de código abertos. Face à
estas circunstâncias, evitem ao máximo utilizar estes periféricos. Mas
apesar disto, ainda é possível – e viável – a utilização destes periféricos.
Já os hardmodens são periféricos que apresentam todos os circuitos
necessários para as atividades. Subdividem-se em duas classes: a dos
hardmodens jumpeados e não-jumpeados. Nesta literatura, trataremos
apenas dos não-jumpeados, já que os jumpeados são raros na atualidade.
Estes modens por sua vez, são mais fáceis de configurar, sendo
geralmente reconhecidos pelo sistema e ajustados com o comando
setserial – se não houverem conflitos. A maioria dos hardmodens que
utilizam slots PCI felizmente não são jumpeaveis (especialmente os mais
novos), onde com certeza não teremos problemas maiores para a
utilização destes periféricos.
CONCLUSÃO
Uma observação importante que gostaríamos de enfatizar: a instalação, a
configuração e o suporte aos modens em sistemas GNU/Linux ainda
necessitam de intervenções detalhadas e certos conhecimentos técnicos
pelo fato de que muitas das especificações técnicas não serem divulgadas
pelo fabricante para o desenvolvimento de drivers e não pelo fato de que o
sistema operacional em si é limitado ou de má qualidade. Na maioria das
vezes os desenvolvedores voluntários não são culpados – e sim heróis –
por desenvolverem e disponibilizarem drivers que muitas vezes ainda se
encontram imaturos ou instáveis, face a ausência das informações
técnicas necessárias para a sua construção. &;-D
47/92
IV. UNIDADES DE ARMAZENAMENTO
INTRODUÇÃO
Apesar das unidades de armazenamento serem muito bem suportadas
pelos sistemas GNU/Linux, em algumas circunstâncias necessitaremos
realizar alguns ajustes para o perfeito funcionamento destes periféricos.
Para esta tarefa, reservamos este capítulo à parte.
DISCOS RÍGIDOS
Em sistemas GNU/Linux, os discos rígidos (e os leitores de disquetes) não
necessitam de serem configurados, pelo menos não no sentido exato da
palavra, já que são automaticamente reconhecidos pelo sistema.
Normalmente deveremos apenas definir sua formatação e os pontos de
montagem. No caso das unidades de disco rígido, talvez tenhamos que
realizar um ajuste mais fino com o uso de utilitários especiais, como o
HDParm (para obtermos melhores taxas de performance), ou ainda, o uso
do SmartMon para a realização de diagnósticos preventivos. Mas isto é
feito raramente, em virtude da excelente detecção dos parâmetros do
disco rígido pelos atuais sistemas GNU/Linux.
Particularmente não recomendamos a utilização da ferramenta HDParm,
devido a eficiência da detecção de periféricos e do alto risco de algumas
opções existentes. Porém, para aqueles que gostam de dar uma
“envenenada” em seus equipamentos, as instruções pertinentes para este
utilitário encontra-se logo abaixo. Por isto, reforçaremos que o seu uso
ficará por conta e risco dos interessados. Prevenir nunca é demais...
Para obterem maiores informações sobre a formatação e a montagem de
unidades de disco rígido e flexível, consultem a 2a. Parte: Conhecimentos
Gerais -> Unidades, partições e formatos.
HDPARM
✔ <http://hdparm.sourceforge.net/>.
O HDParm – abreviação de HD PARaMeter – é um utilitário desenvolvido
especialmente para realizar o ajuste de parâmetros das unidades de disco
rígido, com o objetivo de obter o máximo de desempenho possível.
Sintaxe:
# hdparm [PARÂMETROS] [UNIDADE]
Para obterem maiores informações sobre os parâmetros disponíveis no
HDParm, utilize a ajuda interativa para uma explicação mais simples...
48/92
# hdparm -–help
... ou as páginas de manual do utilitário, para obter maiores detalhes.
# man hdparm
Conforme o desenvolvimento das etapas de configuração, forneceremos
dicas e instruções de utilização dos principais parâmetros existentes.
INFORMAÇÕES BÁSICAS
/dev/hda:
# _
O utilitário mostrará todas as informações básicas do disco rígido,
incluindo modelo, capacidade, serial e tudo o que tem direito! Vamos
49/92
analisar detalhadamente todas as suas propriedades, em especial, aquelas
passíveis de ajustes para uma boa melhora de performance.
/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 2491/255/63, sectors = 40020624, start = 0
# _
... onde poderemos obter a maioria dos dados essenciais para a sua boa
performance. Veja a descrição de cada um deles:
/dev/hda:
Timing cached reads: 992 MB in 2.00 seconds = 496.00 MB/sec
Timing buffered disk reads: 112 MB in 3.02 seconds = 37.09 MB/sec
# _
Serão exibidas duas taxas de velocidade distintas: a 1a. é a transferência
do buffer-cache, o qual o desempenho de hardware (controladora),
memória e processador reflete diretamente no valor obtido; já a 2a. está
íntimamente ligada à taxa de transferência do disco rígido.
MÃO NA MASSA
Enfim, após uma minuciosa análise das informações, iremos por a mão na
massa e realizar as intervenções necessárias para obter uma boa
performance da unidade em questão. Descreveremos as intervenções por
recursos suportados pelo HDParm.
Felizmente em virtude da boa detecção de hardware, a nossa unidade o
qual realizamos os testes encontram-se perfeitamente configurada, onde
muitos dos parâmetros já se encontrarão habilitados. Em vista disto,
50/92
infelizmente não teremos como disponibilizar exemplos práticos e
diferenciados para uma melhor noção das melhorias proporcionadas. Mas
ainda assim as instruções estarão claramente descritas para o bom
entendimento dos leitores, bastando à eles avaliarem os ganhos obtidos.
AVISO: A EXECUÇÃO DESTE UTILITÁRIO REQUER O CONHECIMENTO PRÉVIO
DAS PARTICULARIDADES DO DISCO RÍGIDO O QUAL SE DESEJA UTILIZAR, POIS
QUALQUER ERRO OU ATRIBUIÇÃO DE PARÂMETROS INCORRETOS PODERÁ
ACARRETAR EM PERDAS DE DADOS ALI GRAVADOS OU ATÉ MESMO DANOS À
UNIDADE. PORTANTO, TENHAM TODO O CUIDADO POSSÍVEL.
LBA
A LBA – Logical Block Addressing – é uma tecnologia desenvolvida para
que as BIOS das placas mãe reconheçam unidades de disco rígido com
capacidade superior à 528 mbytes. Todas as placas mãe atuais suportam
esta tecnologia, portanto, não há nada para ser modificado aqui.
UDMA MODES
Suporte da unidade ao modo de transferência Ultra DMA.
O DMA – Direct Memory Access – é um recurso que possibilita o chipset da
placa-mãe acessar diretamente a memória do sistema sem a intervenção
da CPU, resultando para ele uma menor carga. Disponível nos discos
rígidos atuais, verifiquem se este recurso se encontra habilitado.
Ao obtermos as informações básicas da unidade, observem a existência de
um asterisco na sigla udma5, o que indica que a unidade suporta esta
tecnologia e que a taxa nominal de transferência é de 100 MB.
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
Ao realizarmos a consulta para verificar se o recurso encontra-se
habilitado, encontraremos a confirmação através da seguinte informação.
using_dma = 1 (on)
Felizmente em nosso caso o modo de transferência já se encontra
habilitado corretamente. Mas caso estivesse desabilitado, faz-se
necessário utilizar o seguinte comando:
# hdparm -d 1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)
# _
Nesta próxima etapa, definiremos o tipo de acesso DMA, mas em vista do
grande risco que esta opção nos expõe, não recomendamos o seu uso
(exceto se o usuário saiba exatamente o que está fazendo). Será de sua
responsabilidade quaisquer problemas que possam ocorrer...
51/92
Segue a tabela com todos os valores aplicáveis:
Modo, Perfil e Valores
Padrão - 00
PIO MODE pio0 08
pio1 09
pio2 10
pio3 11
pio4 12
DMA MODE mdma0 32
mdma1 33
mdma2 34
ULTRA DMA MODE udma0 64
udma1 65
udma2 66
udma3 67
udma4 68
udma5 69
udma6 70
IO_SUPPORT
Modo de controle de transmissão de dados do barramento PCI para a
controladora. Todas as controladoras modernas suportam os modos 1 (32
bits) e 3 (32 bits w/sync).
Ao checarmos a unidade-exemplo, temos o seguinte valor...
IO_support = 1 (32-bit)
... que por sua vez, ao se encontrar habilitada, irá refletir na avaliação do
tempo de acesso da unidade:
Timing buffered disk reads: 112 MB in 3.02 seconds = 37.09 MB/sec
Pelo fato de estar corretamente configurado, a unidade apresenta o valor
de 34.78 MB/seg., ou seja, dentro dos padrões aceitáveis.
Os possíveis modos de transmissão de dados existentes são:
52/92
• 0: 16 bits;
• 1: 32 bits;
• 3: 32 bits sync.
Como a grande maioria dos computadores atuais sejam da família Pentium
(i586) e superiores, acreditamos que a melhor recomendação esteja na
utilização do modo 1. Por via das dúvidas, certifique-se no manual da
placa-mãe se o chipset suporta ou não o modo 3. Para a nossa felicidade,
geralmente este modo de controle de dados é detectado por padrão.
Caso a unidade suporte este modo de transmissão de dados, mas por
algum motivo não se encontra habilitado no valor correto, deveríamos
utilizar...
# hdparm -c 1 /dev/hda
/dev/hda:
setting 32-bit I/O support flag to 1
I/O support = 1 (32-bit)
# _
Esta configuração somente deverá ser feita caso a propriedade
IO_support já estiver habilitada.
WRITECACHE
Habilita / desabilita a memória cache da unidade para acesso rápido. Esta
opção deverá ser ativada para a melhoria da performance do disco rígido.
As unidades de disco rígido atuais suportam esta tecnologia, onde
geralmente possuem a capacidade de 2 mbytes para esta finalidade.
Inicialmente verifiquem se o mesmo suporta o recurso de memória cache
através das informações básicas da unidade.
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=8
Como podem ver, além de suportada, ainda é indicado a capacidade da
propriedade em 2048 kbytes. Caso a unidade possua este recurso, porém
não se encontra habilitada, utilizem o comando...
# hdparm -W 1 /dev/hda
/dev/hda:
setting drive write-caching to 1 (on)
# _
MAXMULTSECT / MULTSECT
O MaxMultSect trata da máxima quantidade de setores que a unidade
poderá ler de uma única vez. Na exibição de informações básicas do nosso
caso, o resultado para esta configuração são 16 setores.
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=8
Basta apenas configurar a unidade para utilizar esta capacidade:
53/92
# hdparm -m 16 /dev/hda
/dev/hda:
setting multcount to 16
multcount = 16 (on)
# _
Diferente da propriedade anterior, o MultSect apenas informa quantos
destes setores estão sendo realmente utilizados no exato momento da
utilização do comando. O valor padrão da configuração exibida nas
informações básicas é 8.
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=8
MULTCOUNT X READAHEAD
/dev/hda:
setting drive read-lookahead to 1 (on)
# _
Posteriormente, para reconfigurar a quantidade de setores à serem lidos
após o acesso à unidade, mantendo as mesmas definições da capacidade
do periférico, devemos utilizar o comando...
# hdparm -a 16 /dev/hda
54/92
/dev/hda:
setting fs readahead to 16
readahead = 16 (on)
# _
ADVANCEDPM
Habilitação do recurso de monitoramento do consumo de energia elétrica.
A grande maioria das unidades atuais suportam esta tecnologia, que
possibilita o baixo consumo de energia quando da pouca ou nenhuma
utilização pelo sistema. É também chamado de hibernação.
UNMASKIRQ
/dev/hda:
setting unmaskirq to 1 (on)
unmaskirq = 1 (on)
# _
KEEPSETTINGS
55/92
/dev/hda:
setting keep_settings to 1 (on)
keepsettings = 1 (on)
# _
Recomendamos em mantê-la desabilitada, pois na definição de parâmetros
incorretos, os mesmos serão desabilitados na reinicialização do sistema.
READONLY
OTIMIZAÇÕES FINAIS
56/92
PARÂMETROS OPCIONAIS
OBSERVAÇÕES IMPORTANTES
RISCOS
Apesar das melhorias proporcionadas por este utilitário, o HDParm deve
ser utilizado com o extremo cuidado, pois caso venhamos a especificar
algum parâmetro fora do intervalo suportado pelo periférico, teremos
sérios riscos de perda de dados ou até mesmo da própria unidade de
armazenamento. Por isto, realizem periodicamente uma cópia de
segurança dos seus dados.
LIMITAÇÕES
O HDParm suporta somente unidades que utilizam a interface IDE. Outra
questão bastante importante é a utilização da interface correta. Para os
discos rígidos com taxa de transferência igual ou superior aos 100 MB/seg
(ATA 100), é necessário a utilização do cabo flat de 80 vias, caso contrário,
este periférico irá apresentar algumas anomalias de funcionamento em
virtude das interferências ocorridas durante o uso.
INDEPENDÊNCIA
Uma das perguntas freqüentes oriundas em diversos arquivos de lista de
discussão é a questão da influência do sistema de arquivos utilizados em
uma unidade onde foi feita a otimização com o HDParm. O utilitário
apenas foca na habilitação dos recursos e propriedades das unidades de
disco rígido no sistema. Independente do sistema de arquivos que
estivermos utilizando, as alterações realizadas que entrarão em vigor
funcionarão do mesmo jeito. Porém quando houver a utilização errônea ou
mal dimensionada de um determinado parâmetro, poderá sim haver um
57/92
comportamento diferenciado de acordo com o sistema de arquivos
utilizado, porém este último NÃO será a causa principal dos distúrbios.
INTERFACES GRÁFICAS
✔ <http://drivetweak.sourceforge.net/>.
Para aqueles habituados a interfaces gráficas (ou que tenham horror a
linha de comando), existe uma ótima interface gráfica chamada
DriveTweak que, desenvolvida para o HDParm, utilizando as bibliotecas
gráficas Qt e GTK+.
KdriveTweak DriveTweak-gtk
(Tela obtida da página oficial do projeto). (Tela obtida da página oficial do projeto).
AGRADECIMENTOS
Em virtude do alto risco das operações citadas, realizamos um estudo
intensivo em diversas documentações e tutoriais disponíveis sobre o
assunto, os quais gostaríamos destacar e agradecer aos autores Piter
Punk e Rogério Ferreira pela excelente qualidade de seus materiais
didáticos, os quais foram preponderantes para a criação destas
instruções.
✔ “ Melhorando a performance do seu HD” , por Piter PUNK,
<http://www.piterpunk.hpg.ig.com.br/artigos/hdparm.html>.
✔ “ Melhorando o desempenho do Linux com o hdparm” , por Rogério Ferreira,
<http://brlinux.linuxsecurity.com.br/news2/006328.html?redirected=1>.
A documentação eletrônica do utilitário também ajudou bastante, mesmo
apesar desta se encontrar no idioma inglês.
58/92
SMART
✔ <http://smartmontools.sourceforge.net/>.
O SMART é um recurso provido pelas HDs modernas que possibita a
controladora da unidade registrar em uma memória interna as
ocorrências de falhas e mau funcionamento. Assim, poderemos nos
antecipar e tomar atitudes antes que o hardware apresente problemas e
ponha em risco a integridade das informações ali contidas. Em sistemas
GNU/Linux, o acesso a este registro é feito através do programa
SmartMon.
SMARTCTL
# _
Neste caso, o SMART encontra-se habilitado por padrão. Mas caso não
59/92
tivesse, poderíamos habilitá-lo através dos parâmetros...
# smartctl -s on /dev/hda
Para obtermos um relatório do status atual da unidade, utilizem...
# smarctl -A /dev/hda
... ou...
# smarctl -a /dev/hda
... para um resultado mais depurado.
Para realizar um simples e prático diagnóstico, utilizem...
# smartctl -t short /dev/hda
Se utilizarmos o termo long ao invés de short, a análise será mais
demorada, embora com maior confiabilidade.
# smartctl -t long /dev/hda
Para exibir um relatório dos diagnósticos realizados...
# smartctl -l selftest short /dev/hda
SMARTD
smartd
Periódicamente poderemos consultar as ocorrências através dos registros
de log do sistema com a leitura do arquivo /var/log/messages:
$ less /var/log/messages | grep -i smart
Em alguns trechos, poderemos ver o andamento das ocorrências...
...
Jul 10 05:37:53 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure
Attribute: 8 Seek_Time_Performance changed from 244 to 243
Jul 10 06:37:54 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure
Attribute: 8 Seek_Time_Performance changed from 243 to 242
Jul 10 09:37:53 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure
60/92
Attribute: 8 Seek_Time_Performance changed from 242 to 241
Jul 10 11:37:53 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure
Attribute: 8 Seek_Time_Performance changed from 241 to 243
Jul 10 12:07:53 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure
Attribute: 8 Seek_Time_Performance changed from 243 to 245
...
GRAVADORES DE CD/DVDS
Quanto mais o custo unitário destas unidades vai baixando, mais popular
estes periféricos vão se tornando. As unidades gravadoras de mídia óptica
– chamaremos aqui de gravadores de CD/DVDs – são dispositivos
largamente utilizados pelos usuários desktops.
RECONHECIMENTO DO SISTEMA
Os gravadores de CDs/DVDs são reconhecido normalmente, sem maiores
problemas. Caso queiram se certificarem, utilizem o comando...
# cdrecord -scanbus
Cdrecord-ProDVD-Clone 2.01.01a23 (i686-pc-linux-gnu) Copyright (C) 1995-2006
Jörg Schilling
cdrecord: Warning: Running on Linux-2.6.21.5
cdrecord: There are unsettled issues with Linux-2.5 and newer.
cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
Linux sg driver version: 3.5.27
Using libscg version 'schily-0.9'.
scsibus1001:
1001,0,0 100100) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.03' Removable CD-ROM
1001,1,0 100101) 'HL-DT-ST' 'DVD-ROM GDR8161B' '0100' Removable CD-ROM
1001,2,0 100102) *
1001,3,0 100103) *
1001,4,0 100104) *
1001,5,0 100105) *
1001,6,0 100106) *
1001,7,0 100107) *
# _
Poderemos também lançar mão do comando...
$ dmesg | grep CD-R
hdc: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
$ _
Após estes passos, as unidades estarão configuradas e prontas para o uso.
PERMISSÕES DE ACESSO
Para o kernel 2.6, os gravadores utilizam os tradicionais dispositivos, de
acordo com a sua controladora. Neste caso, estamos trabalhando com
gravadores IDE, portanto, o dispositivo referenciado é /dev/hdc:
61/92
$ ls -l | grep hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdr -> hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdr1 -> hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdrom1 -> hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdrw -> hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdrw1 -> hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdwriter -> hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdwriter1 -> hdc
brw-rw---- 1 root cdrom 22, 0 2007-08-11 18:35 hdc
lrwxrwxrwx 1 root root 3 2007-08-11 18:35 writer -> hdc
$ _
Por outro, alguns atalhos serão criados e apontados automaticamente para
eles, como o cdr, cdrw, cdwriter e o writer. Tudo isto é feito
automaticamente, através do subsistema uDEV.
Para habilitar o acesso aos dispositivos, recomenda-se criar um grupo
especial denominado burning. Para isto, utilizem o comando...
# groupadd burning
... e definam as propriedades da conta de usuário...
# gpasswd -a darkstar burning
Adding user darkstar to group burning
# _
..., além de redefinir os grupos de acesso dos atalhos:
# cd /dev
# chown root.burning cdr cdrw cdwriter writer
Se necessário, redefina as permissões de acesso para as aplicações e
ferramentas que realizam o processo de gravação:
# chmod 660 /usr/bin/cdda2wav
# chmod 660 /usr/bin/cdparanoia
# chmod 660 /usr/bin/cdrdao
# chmod 660 /usr/bin/cdrecord
Reafirmando: definam as permissões de acesso aos dispositivos somente
necessário, caso a definição do grupo burning não funcione.
Todos estes procedimentos também poderão ser feitos à partir da
ferramenta de configuração K3bSetup, que por sua vez acompanha o
aplicativo K3b. Para obterem informações de como proceder, consultem
na 7a. Parte: Aplicativos & Utilitários -> Imagem, som e multimídia.
MEMÓRIAS ELETRÔNICAS
Os dispositivos dotados de memória eletrônica a cada dia estão se
tornando mais populares, graças à facilidade de manuseio, a
portabilidade, a segurança e em especial a queda de preço que vem
sofrendo. É bem mais fácil carregar todos os trabalhos em um único mini-
estojo de plástico, ao invés de ter que carregar aquelas incômodas caixas
de disquetes.
62/92
Dentre os dispositivos que utilizam memória eletrônica, destacam-se os
pendrives, as câmeras digitais e seus respectivos leitores de cartões.
Os pendrives são pequenos estojos plásticos nos quais se encontra alojado
um circuito integrado com a memória eletrônica para armazenamento de
dados, além de uma entrada USB para conexão. Tendo em torno de 50
mm, estes módulos de memória eletrônica também utilizam a emulação
SCSI para serem acessados pelo sistema. Já as câmeras fotográficas
digitais são dotadas de dispositivo de memória eletrônica, onde algumas
destas também possuem leitores de cartões de memória. Estas também
podem acessadas diretamente pelo sistema, seguindo os mesmos
procedimentos que utilizamos nos pendrives.
O acesso para estes dispositivos segue de forma bastante similar a uma
unidade qualquer, onde após tendo sido conectado em uma porta USB,
bastará utilizar os parâmetros básicos de montagem de dispositivos.
Sabendo-se de que estes dispositivos normalmente utilizam o device /dev/
sda1, basta digitar na linha de comando...
$ mount -t [SIST._DE_ARQUIVOS] /dev/sda1 /mnt/[PONTO_DE_MONTAGEM]
Lembrem-se de que será necessária a prévia criação do diretório de
montagem, caso não exista no sistema e/ou não conste em /etc/fstab.
Na existência dos dois dispositivos, normalmente o sistema reconhece o
pendrive como sda1 e as câmeras e/ou os leitores de cartões como sdb1.
Em algumas circunstâncias, dependendo da ordem em que estes são
conectados, estas definições de valores poderão se inverter.
Para obterem maiores informações de utilização, consultem a 2a Parte:
Conhecimentos Gerais -> Unidades, partições e formatos.
OS ARQUIVOS DE CONFIGURAÇÃO
Os arquivos de configuração abaixo descritos são os responsáveis pela
administração e manutenção das unidades e partições do sistema.
Confiram as funcionalidades de cada um destes.
/ETC/FSTAB
O arquivo base /etc/fstab é o responsável pelas definições e montagem das
unidades e partições existentes no sistema. Lá, deveremos encontrar uma
estrutura similar a esta:
/dev/hda5 swap swap defaults 0 0
/dev/hda6 / reiserfs defaults 1 1
/dev/hda7 /home reiserfs defaults 1 2
/dev/hda1 /mnt/win vfat defaults,umask=000 1 2
/dev/cdrom /mnt/cdrom iso9660 noautoro,unhide 0 0
63/92
/dev/sda1 /mnt/flash vfat noauto 0 0
/dev/fd0 /mnt/floppy vfat noauto 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
Em nosso caso, ele foi “recondicionado” com alguns espaços para uma
melhor visualização que possibilite um entendimento mais fácil de seu
conteúdo. Com um simples editor de textos e com poderes de
superusuário, poderemos realizar as alterações que houver necessidade.
A 1a. coluna indica todas as unidades disponíveis no sistema através da
especificação dos seus device drivers. Notem que também é referenciado
o sistema de arquivo virtual /proc.
A 2a. coluna indica os pontos de montagem, ou seja, os diretórios onde as
unidades serão montadas. É por isso que não aparece nada neles quando
as unidades estão desmontadas. Uma observação importante é que nada
poderá ser armazenado nestes diretórios enquando as unidades/partições
estiverem desmontadas.
A 3a. coluna indica o formato das partições existentes. Nas partições de
sistema se não estiverem formatadas com ext3, provavelmente estarão
com ReiserFS ou ainda ext2 para distribuições mais antigas. Para obterem
maiores informações sobre os principais formatos de partições, consultem
neste capítulo a seção Sistemas de arquivos.
Uma dica interessante está no formato de partição da unidade de
disquetes (auto). Deveremos alterá-la para vfat, pois caso contrário ao
tentar montar disquetes que contenham nomenclatura de arquivos longos,
estes serão exibidos de modo truncados (no antigo formato 8.3, do MS-
DOS).
/dev/fd0 /mnt/floppy vfat noauto 0 0
A 4a. coluna indica os parâmetros de montagem. O atributo defaults
especifica que estas serão montadas no ato da inicialização do sistema (eis
o motivo pelo qual todas as partições do sistema são defaults). Já as
demais unidades e/ou partições são passíveis de ajustes.
Dentre os principais parâmetros passíveis de edição, encontram-se:
• auto: montagem automática na inicialização do sistema;
• defaults: montagem padrão, onde o sistema utiliza parâmetros pré-
definidos;
• noauto: montagem manual, que diferente de auto, somente poderá
ser montado através da intervenção do administrador;
• noexec: define as permissões de acesso para não-executável, o que
é útil para montagem de unidades FAT, pois seus arquivos são
autodefinidos como executáveis (este sistema de arquivos não
suporta o uso de permissões de acesso);
• nouser: define que somente o superusuário terá os privilégios de
permissão (não-usuários);
64/92
• ro (“read only”): monta a partição no modo somente-leitura;
• rw (“read write”): permite a escrita da partição;
• user: concede permissão aos usuários para a montagem da
partição;
• umask: permite uma definição padrão de permissões de acesso
para a partição em questão;7
• uid/gid: define os usuários e os grupos na montagem de unidades
FAT, pois este sistema de arquivos não suporta definições de
usuários e grupos de acesso, além das permissões de acesso.
O parâmetro defaults por padrão – lógico... – utiliza determinadas opções,
das quais dentre elas estão a async, auto, dev, exec, nouser, rw e suid.
Notem que, com estas definições, somente o superusuário poderá montar/
desmontar as unidades removíveis. Caso queira que um simples usuário
possa montar estas unidades, o superusuario deverá redefini-las com a
inclusão do parâmetro users. Assim:
/dev/cdrom /mnt/cdrom iso9660 noauto,users,ro,unhide 0 0
/dev/fd0 /mnt/floppy vfat noauto,users 0 0
No final das definições de cada linha, acreditamos que os usuários em
questão devem estar se perguntando o seguinte: “pra quê serve aqueles
dois 'zerinhos' ali no canto esquerdo?”. Estes últimos campos – a 5a.
coluna – são respectivamente as flags que indicam as prioridades
respectivas dos comandos dump e fsck. De acordo com o valor, estes
programas realizarão a checagem das partições periodicamente.
Os principais valores são:
• 0: não realiza a checagem;
• 1, 2, 3...: realiza a checagem, que por sua vez dependendo do
valor, existem diferentes graus de prioridades (onde 1 é o maior).
/ETC/MTAB
O arquivo /etc/mtab apenas exibe a situação atual das partições montadas
pelo sistema. Da mesma forma que o arquivo /etc/fstab, este também se
encontra organizado diferente do original para facilitar o entendimento.
/dev/hda6 / reiserfs rw 0 0
/dev/hda7 /home reiserfs rw 0 0
/dev/hda1 /usr/win vfat rw,umask=000 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
proc /proc proc rw 0 0
usbfs /proc/bus/usb usbfs rw 0 0
65/92
Dentre os diferenciais apresentados, notem que a partição swap (apesar
de montada) não se encontra especificada, além das definições
diferenciadas das flags dos utilitários dump e fsck.
CONCLUSÃO
Felizmente a maioria das unidades de armazenamento são reconhecidas
automaticamente pelos sistemas GNU/Linux. Exceto alguns periféricos
específicos, serão poucos os inconvenientes que poderão surgir. Nestas
circunstâncias, recomendamos inicialmente certificarem-se de que estes
periféricos realmente se encontram em perfeito funcionamento. &;-D
66/92
V. TECLADO E MOUSE
INTRODUÇÃO
Por serem dispositivos simples, o mouse e o teclado somente recebem a
devida atenção quando não funcionam ou funcionam de forma inadequada.
Os maus perfis de configurações não só impossibilitam utilizar estes
periféricos corretamente, como limitam tanto a máquina quanto o usuário,
de todos os recursos necessários para uma boa atividade.
São muitos os aspectos gerais de ajuste e configurações para estes
periféricos, porém somente manteremos as mais básicas e necessárias
instruções que possibilite colocá-los em operação.
O TECLADO
Na verdade, não existem grandes inconvenientes na configuração do
teclado. Desde que o sistema seja instalado normalmente, e os utilitários
de configuração do modo gráfico estejam corretamente habilitados, o
teclado funcionará sem maiores inconvenientes. Em alguns casos,
dependendo do ambiente gráfico, talvez será necessário realizar algumas
configurações em seus respectivos painéis de configuração para o perfeito
funcionamento.
Mas como fazer para que o sistema reconheça corretamente o modelo do
novo teclado que recentemente acabamos de adquirir? Ou aquele em que
houve uma necessidade de troca, pois o antigo acabara de pifar?
CONFIGURAÇÕES BÁSICAS
MODO GRÁFICO
67/92
Para obterem maiores informações de como configurar o mouse e o
teclado no modo gráfico, consultem nesta parte, o capítulo Vídeo – placa
de vídeo, monitor e modo gráfico; para ajustar estes periféricos no KDE,
consultem a 6a. Parte: Ambientes Gráficos -> As ferramentas de ajustes.
MODO TEXTO
68/92
add mod4 = Meta_L
keycode 116 = Meta_R
add mod4 =Meta_R
Rodem o xmodmap para estas alterações serem adicionadas:
# xmodmap .Xmodmap
AUMENTANDO A VELOCIDADE
O MOUSE
Da mesma forma que o teclado, o mouse é configurado automaticamente
durante a instalação. Mas vamos supor que, depois de instalado o sistema,
o periférico passou a dar problemas e tempos depois resolvemos trocá-lo?
Ao comprar um novo, não havia o modelo X na loja, mas o computador
suportava o modelo Y disponível, e assim mesmo resolvemos adquiri-lo...
O GPM
O GPM é um servidor para o mouse em modo texto. Na instalação do
Slackware, seus serviços são ativados durante a realização das etapas de
configuração do sistema.
69/92
# Start/stop/restart the GPM mouse server:
CONFIGURAÇÕES BÁSICAS
MODO GRÁFICO
70/92
configuração na seção “Core Pointers a InputDevice section”. Veja um
pequeno exemplo abaixo:
# **********************************************************************
# Core Pointers InputDevice section
# **********************************************************************
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2" # PS/2 Mouse
Option "Device" "/dev/input/mice"
Editem a antiga configuração com base nestes dados e depois copiem de
volta para o seu local original. Ao iniciar o ambiente gráfico, as alterações
entrarão em vigor e o mouse em questão estará funcionando
corretamente.
Se tivermos acesso aos parâmetros de configuração do novo mouse,
bastará editar o arquivo normalmente.
MODO TEXTO
71/92
INTERVENÇÕES MAIS FREQÜENTES
Devido a queda de custo, os mouses ópticos estão cada vez mais sendo
adotados por usuários desktops em virtude de suas vantagens em
comparação aos mouses tradicionais.
Os sistemas GNU/Linux suportam normalmente estes periféricos,
bastando configurá-los normalmente de acordo com a interface utilizada
(PS/2, USB, etc.). No caso de mouses ópticos que utilizam a interface PS/
2, configurem-no para utilizar o protocolo IMPS/2.
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"
Option "ZaxisMapping" "4 5"
EndSection
... para que no ambiente tenhamos as funcionalidades do scroll lock do
mouse. À partir da versão 6.9.x do servidor gráfico X.org, este passo é
desnecessário, visto que o scroll lock é habilitado automaticamente.
72/92
# Universal Host Controller Interface (Intel standard):
#/sbin/modprobe usb-uhci
... e USB device support:
### USB device support:
# (Note that once you've loaded USB hub support most USB devices will
# trigger the kernel to load their modules automatically)
# USB "Human Interface Device" driver; handles most USB mice, joysticks,
# gamepads, steering wheels, keyboards, trackballs and digitizers.
#/sbin/modprobe hid
# Simple HIDBP USB mouse driver, if hid doesn't work:
#/sbin/modprobe usbmouse
... bastando apenas descomentá-las.
Na maioria dos casos, estes passos são desnecessários, já que o próprio
sistema realiza o processo de detecção do periférico. Mas não em todos...
CONCLUSÃO
Normalmente durante a instalação, estes periféricos são configurados
corretamente, não acarretando maiores problemas. O inconveniente está
justamente na substituição dos mesmos, onde deveremos redefinir seus
parâmetros de configuração para o reconhecimento dos periféricos. Opte
por utilizar as ferramentas disponibilizadas pelo Slackware, como o
mouseconfig e ou setconsolefonts, além de outras necessárias (xorgconfig,
ferramentas dos ambientes gráficos), etc. Caso não tenha obtido sucesso,
uma boa pesquisa no Google, tendo como chave de busca as referências
dos periféricos, tipo e o texto 'Linux', irá ajudar bastante! &;-D
73/92
VI. O KERNEL LINUX
INTRODUÇÃO
✔ <http://www.kernel.org/>.
O kernel é o coração do sistema; é ele quem “coordena” todo o trabalho de
gerenciamento e acesso aos principais recursos do sistema. Ao
acessarmos a memória principal, ao executarmos aplicações, ao exibirmos
informações no vídeo, ao gravarmos arquivos, enfim, todos os eventos
inerentes de um sistema operacional, acreditem: é o kernel que entra em
cena.
Neste capítulo, iremos conhecer um pouco sobre o kernel Linux, suas
características e particularidades, além dos conhecimentos e instruções
básicas necessárias para a realização do procedimento de compilação.
CONSIDERAÇÕES BÁSICAS
AS PARTICULARIDADES DO KERNEL
O kernel Linux possui interessantes características e particularidades
técnicas, que por sua vez é associado diretamente com as distribuições;
mas ainda assim, possui seus elementos gerais, já que cada sistema
apenas realiza customizações de seus recursos. Por isto, optamos por
inserir estas informações na 1a. Parte: Os sistemas GNU/Linux -> O Linux.
74/92
• E assim, é continuado o ciclo de aperfeiçoamento... – 2.3.x -> 2.4.x
-> 2.5.x -> 2.6.x -> ...
Dependendo das circunstâncias, algumas modificações são incluídas no
kernel estável para que ele possa suportar novas tecnologias de caráter
essencial, procedimento este que geralmente é implementado no kernel
de desenvolvimento para que esteja presente no novo kernel estável. Por
exemplo, a partir da versão 2.0.31, o kernel passou a suportar nomes
extensos do Windows nas partições VFAT; já acima da versão 2.4.16,
passou a suportar o sistema de dados ReiserFS; e assim por diante...
75/92
módulos. Já o arquivo config refere-se as opções de configuração padrão
da distribuição que foram utilizados na compilação do kernel.
O código-fonte do kernel Linux deverá estar disponibilizado em /usr/src,
sob o diretório linux (que na verdade, é um atalho apontando para linux-
[VERSÃO], que por sua vez é o diretório real). Dentro deste diretório,
poderemos ver a seguinte árvore de diretórios:
$ cd /usr/src/linux
$ ls -l
total 670
-rw-r--r-- 1 root root 18693 2007-06-11 15:37 COPYING
-rw-r--r-- 1 root root 90999 2007-06-11 15:37 CREDITS
drwxr-xr-x 63 root root 6288 2007-06-11 15:37 Documentation/
-rw-r--r-- 1 root root 1262 2007-06-11 15:37 Kbuild
-rw-r--r-- 1 root root 84150 2007-06-11 15:37 MAINTAINERS
-rw-r--r-- 1 root root 50303 2007-06-11 15:37 Makefile
-rw-r--r-- 1 root root 379343 2007-06-19 16:47 Module.symvers
-rw-r--r-- 1 root root 16930 2007-06-11 15:37 README
-rw-r--r-- 1 root root 3119 2007-06-11 15:37 REPORTING-BUGS
drwxr-xr-x 27 root root 656 2007-06-11 15:37 arch/
drwxr-xr-x 2 root root 440 2007-06-19 16:48 block/
drwxr-xr-x 2 root root 1320 2007-06-19 16:48 crypto/
drwxr-xr-x 66 root root 1688 2007-06-19 16:48 drivers/
drwxr-xr-x 62 root root 3496 2007-06-19 16:48 fs/
drwxr-xr-x 43 root root 1176 2007-08-03 10:04 include/
drwxr-xr-x 2 root root 416 2007-06-19 16:48 init/
drwxr-xr-x 2 root root 336 2007-06-19 16:48 ipc/
drwxr-xr-x 5 root root 2456 2007-06-19 16:48 kernel/
drwxr-xr-x 5 root root 2672 2007-06-19 16:48 lib/
drwxr-xr-x 2 root root 1512 2007-06-19 16:48 mm/
drwxr-xr-x 38 root root 1128 2007-06-19 16:48 net/
drwxr-xr-x 9 root root 1624 2007-06-19 16:48 scripts/
drwxr-xr-x 4 root root 320 2007-06-19 16:48 security/
drwxr-xr-x 18 root root 600 2007-06-19 16:48 sound/
drwxr-xr-x 2 root root 192 2007-06-19 16:48 usr/
$ _
Além do subdiretório específico para a documentação (Documentation),
existem outros documentos para consulta situados no diretório principal,
como o README, o REPORTING-BUGS, o COPYING e o CREDITS.
Por último, todos os seus módulos serão encontrados em...
$ cd /lib/modules/2.6.21.5/kernel
$ ls -l
total 2
drwxr-xr-x 3 root root 72 2007-06-19 17:18 arch/
drwxr-xr-x 2 root root 80 2007-06-19 17:18 crypto/
drwxr-xr-x 39 root root 976 2007-06-19 17:18 drivers/
drwxr-xr-x 49 root root 1336 2007-06-19 17:18 fs/
drwxr-xr-x 2 root root 192 2007-06-19 17:18 lib/
drwxr-xr-x 2 root root 88 2007-06-12 18:56 misc/
drwxr-xr-x 27 root root 688 2007-06-19 17:18 net/
drwxr-xr-x 2 root root 144 2007-06-19 17:18 security/
drwxr-xr-x 10 root root 304 2007-06-19 17:18 sound/
76/92
$ _
Poderemos armazenar diversas versões do kernel, apenas atribuindo aos
seus respectivos diretórios o nome e a versão corrente destes para que,
na eminência de uma necessidade, estes estejam sempre disponíveis.
A EQUIPE DE DESENVOLVIMENTO
Conforme brevemente comentado na 1a. Parte: Os sistemas GNU/Linux ->
O Linux, o kernel é desenvolvido graças a ajuda de milhares de
colaboradores, que tendo em mãos o seu código-fonte, ajudam nas mais
diversas formas: sejam aperfeiçoando o próprio código, analizando,
comunicando erros, dando sugestões, etc., enfim, colaborações que hoje o
tornam um dos maiores projetos de código-aberto atualmente.
Encabeçado por Linus Torvalds e com grande apoio de seu braço direito
Alan Cox, o kernel Linux possui um grupo de desenvolvedores,
subdividido por uma hierarquia democrática, onde as sugestões enviadas
são avaliadas pelos membros da equipe, porém em casos de opiniões
adversas, somente os líderes de cada hierarquia é que dão a palavra final.
Tendo um grupo de desenvolvedores formado por programadores de
diversos países do mundo inteiro, fica a pergunta no ar: “será que não
tem nenhum representante brasileiro neste grupo”? Ah, tem sim! Este
representante é o gaucho Martelo Tosatti, que faz parte do grupo de
desenvolvedores do kernel Linux. Há pouco tempo, ele era somente o
responsável pela manutenção da versão corrente do kernel, porém em
virtude de um convite do próprio Linus Torvalds, Tosatti passou a
desenvolver outros componentes importantes deste sistema operacional.
OS MÓDULOS DO KERNEL
Os módulos do kernel são componentes que auxiliam a interação do kernel
com os dispositivos do sistema. Numa comparação, poderemos dizer que
eles nos sistemas GNU/Linux possuem recursos e funcionalidades
eqüivalentes aos drivers do tradicional Windows.
A MANUTENÇÃO
Dada a importância dos módulos, iremos conhecer as principais
ferramentas para a sua manipulação, bem como seus recursos e métodos
de utilização para obter um melhor aproveitamento nas atividades de
administração e manutenção do kernel.
LSMOD
77/92
# lsmod
Module Size Used by
nls_iso8859_1 3968 0
nls_cp437 5632 0
vfat 10240 0
fat 45340 1 vfat
via 39552 3
drm 69652 4 via
snd_seq_dummy 2692 0
snd_seq_oss 28032 0
snd_seq_midi_event 5888 1 snd_seq_oss
snd_seq 42576 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_pcm_oss 38432 0
snd_mixer_oss 13824 1 snd_pcm_oss
nls_utf8 1792 1
ntfs 213312 1
sg 25756 0
capability 3336 0
commoncap 5376 1 capability
lp 9800 0
parport_pc 23844 1
parport 30152 2 lp,parport_pc
pcspkr 2304 0
psmouse 34440 0
usb_storage 79040 0
bt878 8872 0
tuner 61352 0
tvaudio 21788 0
pata_via 8324 0
serio_raw 5124 0
bttv 168436 1 bt878
video_buf 20228 1 bttv
ir_common 29956 1 bttv
compat_ioctl32 1280 1 bttv
i2c_viapro 7828 0
i2c_algo_bit 7176 1 bttv
btcx_risc 3976 1 bttv
tveeprom 13712 1 bttv
i2c_core 17168 6
tuner,tvaudio,bttv,i2c_viapro,i2c_algo_bit,tveeprom
ata_generic 5252 0
ehci_hcd 29964 0
uhci_hcd 21004 0
videodev 25344 1 bttv
v4l2_common 14848 3 tuner,bttv,videodev
v4l1_compat 13700 2 bttv,videodev
via_rhine 20360 0
mii 4736 1 via_rhine
shpchp 29204 0
snd_via82xx 22296 0
gameport 10760 1 snd_via82xx
snd_ac97_codec 96292 1 snd_via82xx
ac97_bus 2048 1 snd_ac97_codec
snd_pcm 65160 3 snd_pcm_oss,snd_via82xx,snd_ac97_codec
snd_timer 17540 2 snd_seq,snd_pcm
78/92
snd_page_alloc 7432 2 snd_via82xx,snd_pcm
snd_mpu401_uart 6272 1 snd_via82xx
snd_rawmidi 18080 1 snd_mpu401_uart
snd_seq_device 6540 4 snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidi
evdev 7936 2
via_agp 8192 1
agpgart 26928 2 drm,via_agp
snd 41956 11
snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_via82xx,snd_ac97_codec,snd_p
cm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore 5728 1 snd
reiserfs 234496 2
# _
Por possuir uma sintaxe básica, a saída do resultado será bem simples,
sendo apresentada uma listagem dos módulos carregados pelo sistema.
MODPROBE
INSMOD
79/92
# insmod -f [MÓDULO]
Isto ocorre muito quando há necessidade de carregar um módulo
compilado de uma versão diferente do kernel. Apesar desta operação não
ser recomendável, poderá ser a única saída para diversas situações.
DEPMOD
MODINFO
RMMOD
80/92
descarregar um determinado módulo do sistema.
Sintaxe:
# rmmod [MÓDULO]
Lembrem-se de que estaremos apenas DESCARREGANDO o módulo da
memória, e não EXCLUINDO. Poderemos então ficar sossegados...
Segue um simples exemplo para descarregar o módulo responsável pelo
acesso das memórias flash (Pendrive):
# rmmod usb-storage
81/92
..., onde cada subdiretório armazena cada um de acordo com sua
categoria.
Todos os módulos, para serem carregados diretamente na inicialização do
sistema, deverão estar especificados no arquivo /etc/rc.d/rc.modules, onde
normalmente basta apenas descomentar os comandos abaixo descritos
para carregá-los.8 Mas antes, certifiquem-se de que as ferramentas do
sistema para a auto-detecção não fizerem o carregamento automático.
Para obterem maiores informações sobre este arquivo de configuração,
consultem a 2a. Parte: Conhecimentos Gerais -> O sistema de
inicialização.
OBSERVAÇÕES FINAIS
Os módulos do kernel estão entre as maiores fontes de insucesso na
utilização do novo kernel personalizado. São vários os possíveis erros de
ajustes e configurações que trazem diversos e inconvenientes
transtornos. Diversos dispositivos e periféricos passam a ser suportados
de forma incorreta e instáveis ou até mesmo, na maioria dos casos,
deixam de ser suportados, ocasionando também o travamento geral do
sistema. Este é um dos principais motivos pelo qual merecem atenção
especial, onde o conhecimento de ferramentas e procedimentos são
fundamentais para o sucesso das operações afins realizadas.
O PROCESSO DE COMPILAÇÃO
O PRINCIPAL MOTIVO
8 Para facilitar a nossa vida, encontra-se incluso no kernel uma grande quantidade
de módulos pré-compilados para o suporte a diversos periféricos, bastando apenas
descomentar as linhas referentes. Por sua vez, estas linhas estão subdivididas por
várias seções, os quais facilitarão muito a nossa procura.
82/92
esses programas possam funcionar corretamente.
Como esta parte trata efetivamente da descrição dos periféricos e os
procedimentos relacionados para o seu ajuste e configuração, como
também dos softwares necessários para o seu perfeito funcionamento,
este será o principal motivo pelo qual iremos focar as instruções gerais
referentes ao processo de compilação do kernel.
OS PREPARATIVOS INICIAIS
Como qualquer outra operação que envolve riscos de perdas de dados,
será necessária a realização de alguns preparativos iniciais que visam dar
assistência ao desenvolvimento do processo e ao mesmo tempo
resguardar o usuário contra possíveis falhas e sinistros que poderão
ocorrer sob os mais variados motivos. Por se tratar da compilação do
83/92
kernel – justamente o núcleo do sistema operacional – toda a atenção
necessária deverá ser dada.
84/92
CÓPIA DE SEGURANÇA DA CONFIGURAÇÃO ANTERIOR
INICIANDO OS PROCEDIMENTOS
85/92
configuração, deveremos então “limpar” as definições de arquivos de
configurações anteriores.
Para isto, faz-se necessário a utilização do comando make mpromper...
# make mpromper
... o qual se encarregará de realizar a exclusão das definições contidas na
árvore de diretórios onde se situa as definições anteriores.
xconfig.
86/92
proporcionados aos administradores.
A opção menuconfig também oferece um menu prático, porém em modo
texto, onde a seleção dos itens é feita utilizando-se o teclado.
87/92
SOBRE A HABILITAÇÃO DE PARÂMETROS
AS CLASSES DE ATRIBUTOS
88/92
• Cryptographic options
• Library routines
Portanto, não iremos descrever as definições de cada classe, já que na
atualidade, a grande maioria dos ajustes necessários para a perfeita
configuração do sistema – que é o propósito desta parte – não requerem a
realização do procedimento de compilação do kernel. Além disso, a
quantidade excessiva de informações tenderá a ser desnecessárias,
comprometendo assim o bom aprendizado ao invés de auxiliar.
REALIZANDO A COMPILAÇÃO
Após o término das operações de ajustes e configuração das opções
disponíveis do kernel, chegamos finalmente na parte mais importante: a
realização da compilação propriamente dita.
89/92
por outras compilações, além de ser uma operação bastante rápida.
90/92
A compilação dos módulos é também um pouco demorado, tempo este
variado dependendo da capacidade do processador e da quantidade de
memória disponível. Então aproveitem momento para esticar um pouco as
pernas e tomar um bom café...
OS PREPARATIVOS FINAIS
Após a compilação do kernel, serão criados os seguintes arquivos:
• bzImage: que contém a imagem do kernel compilado;
• config: que contém a definição das novas configurações;
• System.map: que mapeia os módulos do kernel.
Estes novos arquivos estão localizados em...
# cd /usr/src/linux/arch/i386/boot/
... que por sua vez, deverão ser copiados para /boot:
# mv bzImage config* System.map* /boot
Posteriormente, o bzImage terá que ser renomeado para vmlinuz...
# cd /boot
# mv bzImage vmlinux-[VERSÃO]
..., além de serem atualizados os atalhos...
# ln -s vmlinuz-[VERSÃO] vmlinuz
# ln -s config-[VERSÃO] config
# ln -s System.map-[VERSÃO] System.map
Mas antes, excluam os atalhos antigos.
Por fim, rodem o LILO para que sejam aceitas as alterações efetuadas:
# lilo
Added Windows
Added Linux *
# _
RECOMENDAÇÕES GERAIS
Muitas vezes, nem tudo sai do jeito que gostaríamos que fosse. No
processo de compilação do kernel, poderemos ter diversos inconvenientes
ou falhas que possam comprometer o perfeito funcionamento do sistema
operacional. Por isto, segue algumas recomendações gerais para
evitarmos algumas ocorrências indesejadas ao processo de compilação do
kernel, além de obtermos os melhores resultados possíveis.
• Para evitar que este erro relacionados a verificação de pendências
91/92
ocorra, deveremos nos certificar de todos os requerimentos
necessários para a compilação do kernel tenham sido atendidos.
• Ao realizarem a configuração do kernel, procurem habilitar apenas
os dispositivos a serem suportados pela máquina em uso. Além
disso apenas definam as opções como Y (Yes – embutido) para
aqueles recursos essenciais e de uso constante do sistema. As
demais opções deverão ficar como módulos.
• Utilizem sempre a versão estável e atualizada do kernel
disponibilizada pelo mantenedor da distribuição. Em casos
especiais optem por utilizar a versão de testes somente se esta
atender a necessidades específicas, como o suporte a certas
tecnologias.
• Evitem baixar diversos patches para atualizar kernels muito
antigos. Além da possível demora, poderá ser um processo não
muito seguro. Será mais seguro baixar um novo kernel.
• Sempre faça uma limpeza geral com o comando make clean tanto
ao iniciar a operação quanto ao concluí-la. Caso contrário, teremos
o risco de ocorrer diversas anomalias durante o processo, como a
falha de certos procedimentos e outras anormalidades.
Outro questão de certa importância está na criação de pendrives de
inicialização para a solução de eventuais problemas. Haverá situações em
que a inicialização do sistema estará impossibilitada, seja por algum erro
de configuração do LILO ou por qualquer outro.
Dentre as possíveis causas para diversas anomalias, a errônea definição
de parâmetros durante o processo de configuração constitui a maior parte
das ocorrência de erros durante o processo de compilação do kernel. Esse
é um dos principais motivos pelo fato de recomendarmos a realização
dessas definições de configuração de forma tranqüila e sossegada.
CONCLUSÃO
De acordo com a visão e a necessidade de cada usuário ou entidade, o
kernel Linux possui aspectos e particularidades tais que poderiam render
um livro inteiro se tivéssemos que detalhá-lo por completo. Aqui apenas
colocamos as considerações mais básicas e importantes para obtermos
uma visão geral, além das instruções necessárias para realizarmos o
procedimento de compilação. Com estas informações, o usuário apenas
terá um entendimento básico, porém suficiente para entender a mais
importante peça do sistema operacional e realizar intervenções, se
necessário. &;-D
92/92
5A. PARTE:
GERENCIAMENTO
DE PROGRAMAS
5/50
I. FERRAMENTAS DE GERENCIAMENTO
INTRODUÇÃO
Não muito diferente das demais distribuições, o Slackware possui também
seu próprio gerenciador de pacotes pré-compilados, além de diversas
ferramentas – apesar de não terem algumas funcionalidades importantes,
como a checagem de dependências e a possibilidade de realizar a
atualização de todo o sistema através de uma conexão em rede ou
Internet.
Neste capítulo, iremos conhecer tais ferramentas, onde entra em
destaque, o Slackware Package Tools, que é conhecido popularmente
como Pkgtool.
AS FERRAMENTAS
6/50
CURRENT
A opção Current instala os pacotes pertencentes ao diretório onde este
utilitário é invocado. Por exemplo, se entrarmos em nosso diretório
/mnt/pkg/slack e a utilizarmos, todos os pacotes nativos presentes neste
diretório serão instalados automaticamente. É muito útil para a instalação
de pacotes extras de forma simples e automatizada, bastando apenas
guardá-los em um diretório separado de acordo com o perfil utilizado.
OTHER
A opção Other possui as mesma finalidade da opção Current, porém
solicita ao superusuário o endereço do diretório o qual contém os pacotes
desejados para a instalação.
FLOPPY
A opção Floppy realiza a instalação dos pacotes desejados, porém estes
tendo como origem a unidade de disquetes. Basta selecionar a unidade
que possui o disquete com os pacotes desejados.
REMOVE
A opção Remove – como o próprio nome diz – remove os pacotes
desejados conforme uma seleção pré-realizada.
7/50
Acionando a <BARRA_DE_ESPAÇO>, marcaremos e/ou desmarcaremos
os pacotes que desejamos desinstalar e/ou manter.
VIEW
A opção View exibe as informações referentes ao pacote selecionado,
onde antes, será mostrado uma listagem de pacotes préviamente
instalados.
8/50
... obteremos as informações desejadas, e com o uso das teclas <SETA
ACIMA> e <SETA_ABAIXO> faremos a rolagem do texto.
SETUP
A opção Setup disponibiliza uma série de scripts para a configuração, tal
como é feito no processo de instalação da distribuição.
NA LINHA DE COMANDO...
Além do Slackware Package Tools, temos também várias outras
ferramentas em linha de comando, dos quais compreende os seguintes
comandos: installpkg, removepkg, upgradepkg, explodepkg e makepkg.
Para esta literatura, descreveremos apenas os três primeiros comandos.
9/50
INSTALLPKG
# _
Como podem ver, durante a instalação do pacote, é mostrada um conjunto
de informações do pacote instalado. Atentem-se para a nomenclatura do
arquivo, o qual indica a versão do programa (0.9.4) e plataforma onde foi
compilado (i686), neste caso otimizado para Pentium II.
REMOVEPKG
10/50
--> Deleting /usr/include/dvdread/ifo_types.h
--> Deleting /usr/include/dvdread/nav_print.h
--> Deleting /usr/include/dvdread/nav_read.h
--> Deleting /usr/include/dvdread/nav_types.h
--> Deleting /usr/lib/libdvdread.a
--> Deleting /usr/lib/libdvdread.la
--> Deleting /usr/lib/libdvdread.so.3.0.0
--> Deleting empty directory /usr/include/dvdread/
--> Deleting empty directory /usr/doc/libdvdread-0.9.4/
# _
Observem que a definição da versão, plataforma e extensão na sintaxe
deste comando é desnecessária, bastando apenas saber o nome do pacote
que se deseja desinstalar. Notem ainda que, em /var/log/packages/ são
mantidos arquivos-textos com os nomes dos pacotes que foram excluídos,
além de todas as informações gerais provenientes de tais pacotes.
UPDATEPKG
RECOMENDAÇÕES GERAIS
Uma das características marcantes do Slackware está no fato de que seu
gerenciador de pacotes padrão não possuir o famoso recurso de detecção
de pendência. Para os iniciantes, isto pode se tornar uma grande dor de
cabeça em virtude de suas poucas experiências em lidar com a instalação
de programas. Face à isto, temos algumas simples recomendações à fazer:
1. Prefiram sempre realizar a instalação completa (FULL);
2. Consultem na página oficial, no arquivo README presente no
código-fonte, ou na documentação do pacote em /usr/doc/, quais
são as pendências necessárias – se houverem, instalem-nas
primeiro;
3. Evitem remover quaisquer pacotes (especialmente bibliotecas e
APIs) que considerarem desnecessários, ao menos que saibam
EXATAMENTE o que estão fazendo. Além disso, alguns programas
também são necessários para a execução de outros aplicativos.
Apesar da existência de utilitários externos que possibilitem a verificação
de pendência de pacotes (como o Swaret), a maioria destes ainda se
encontram em um estágio imaturo ou de poucos e limitados recursos.
11/50
Como isto, em muitas circunstâncias estes poderão ser ineficientes,
especialmente com pacotes não pertencentes à distribuição.
Já a compilação manual realiza a detecção de pendências, onde deveremos
ficar atento às mensagens exibidas durante a execução dos processo.
Serão exibidos na saída de vídeo as pendências gerais e uma notificação
yes/no, caso se encontrem ou não no sistema. Em caso de pacotes
necessários, o processo será abortado até que a pendência esteja
satisfeita. Estas mensagens geralmente aparecem na execução do script ./
configure.
Por último, para consultarmos os pacotes removidos do sistema,
verifiquem no diretório /var/log/. Lá iremos encontrar os diretórios
removed_packages e removed_scripts, onde se encontrarão os arquivos-
textos com as informações desejadas sobre estes pacotes.
$ cd /var/log
$ ls
Xorg.0.log cron faillog lastlog packages/ samba/ spooler
Xorg.0.log.old cups/ httpd/ maillog removed_packages/ scripts/ syslog
acpid debug iptraf/ messages removed_scripts/ secure uucp/
btmp dmesg kdm.log nfsd/ sa/ setup/ wtmp
$ _
CONCLUSÃO
A administração de programas nunca foi uma tarefa simples, mesmo que
muitas dicas e tutoriais venham a salientar estes conceitos. Por mais
simples que sejam os comandos, poderão ocorrer alguns inconvenientes
que possam criar dificuldades para a realização de todo o processo. Por
isto, sempre tenham em mente a obtenção de informações e conceitos
básicos inerentes para a desenvoltura destes processos, pois nestas
ocasiões, serão eles a base principal para a solução da maioria das
dificuldades. &;-D
12/50
II. FERRAMENTAS PARA A ATUALIZAÇÃO
INTRODUÇÃO
Antigamente uma das maiores desvantagens do sistema de gerenciamento
de pacotes do Slackware estava no fato de não existir nenhuma
ferramenta de automação para a atualização de pacotes. Mas felizmente,
graças à colaboração da comunidade, hoje tempos ótimas ferramentas
desenvolvidas para esta necessidade. Nesta literatura, destacaremos o
Slackpkg.
O SLACKPKG
✔ <http://slackpkg.sourceforge.net/>.
O Slackpkg, concebido pelo brasileiro Roberto F. Batista (Piter Punk) e
Evaldo Gardenali (UdontKnow), é um script desenvolvido para
automatizar a atualização dos pacotes oficiais do Slackware. Basicamente
as atividades deste programa consiste em checar o sistema, verificar
quais os pacotes se encontram instalados e baixar suas respectivas
atualizações. Instalações e remoções também poderão ser feitas.
A INSTALAÇÃO
Para obtermos o Slackpkg, deveremos baixá-lo da página oficial do
projeto, mais específicamente na série de pacotes /extra; ele também pode
ser obtido nas mídias de instalação da distribuição. A 1a. opção será a
mais recomendada por estar atualizada, especialmente os CD-ROMs
estiverem com alguns meses de idade...
A ferramenta se encontra empacotada no formato nativo da distribuição;
portanto, utilizem o procedimento padrão de instalação do Slackware:
# installpkg slackpkg-[VERSÃO]-noarch-[REV].tgz
A CONFIGURAÇÃO
Todas as opções de ajuste e configuração da ferramenta estão gravadas
em três arquivos arquivos de configuração, que por sua vez se encontram
armazenados no diretório /etc/slackpkg/:
$ cd /etc/slackpkg
$ ls -l
total 40
-rw-r--r-- 1 root root 798 2007-03-12 22:29 blacklist
-rw-r--r-- 1 root root 29838 2007-03-12 22:29 mirrors
-rw-r--r-- 1 root root 3565 2007-03-12 22:29 slackpkg.conf
$ _
13/50
Estes três arquivos são o blacklist, o mirrors e o slackpkg.conf.
/ETC/SLACKPKG/SLACKPKG.CONF
O slackpkg.conf mantém as definições gerais de ajuste e configuração.
# SlackPkg - An Automated packaging tool for Slackware Linux
# Copyright (C) 2003,2004,2005,2006,2007 Roberto F. Batista, Evaldo Gardenali
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Project Page: http://slackpkg.org/
# Roberto F. Batista (aka PiterPunk) [email protected]
# Evaldo Gardenali (aka UdontKnow) [email protected]
...
De início, ele apresenta uma observação pela qual as definições são
mantidas em dois estados: habilitado (on) e desabilitado (off):
# For configuration options that have only two states, possible values are
# either "on" or "off"
Em virtude de sua grande popularidade, o Slackware é uma distribuição
portada para diferentes arquiteturas. Por isso, se quisermos utilizar o
Slackpkg em alguma outra plataforma em que o Slackware foi portado,
teremos de ajustar estas definições na seguinte seção:
# Remember, the only official Slackware ports are x86 and s390, and
# slackpkg developers don't have s390 boxes for testing. If you are
# testing/using in other archs and have suggestions or patches,
# please let me know ([email protected])
#
# Select the architecture of your system
# x86 (the main arch for Slackware)
ARCH=i[3456]86
# x86_64 (Slamd64 and BlueWhite64)
#ARCH=x86_64
# PowerPC (Slackintosh)
#ARCH=powerpc
# S/390 (Slack/390)
#ARCH=s390
Por padrão, o Slackpkg é definido para utilizar a arquitetura x86.
# x86 (the main arch for Slackware)
14/50
ARCH=i[3456]86
Se quisermos ajustar as definições para utilizar outro porte/arquitetura,
bastará apenas comentarmos a definição x86 e desmarcar aquela utilizada.
A seguir, vem a definição da localização onde os pacotes serão baixados:
# Downloaded files will be in directory below:
TEMP=/var/cache/packages
Se quisermos utilizar outro diretório, bastará apenas redefinirmos o
caminho utilizado, como por exemplo, /mnt/pkg/Slack.
Já os arquivos que contém as definições de listagem dos pacotes são
mantidos em /var/lib/slackpkg:
# Package lists, file lists and others will be at WORKDIR:
WORKDIR=/var/lib/slackpkg
Embora não vejamos utilidade em modificá-los, poderemos redefini-los da
mesma forma em que fizemos no armazenamento de pacotes.
Para obter arquivos de repositórios FTP, o Slackpkg utiliza o wget. Logo,
poderemos realizar aqui as definições de parâmetros para o uso geral:
# Special options for wget (default is WGETFLAGS="--passive-ftp")
WGETFLAGS="--passive-ftp"
No caso acima, o wget está configurado para fazer a transferência no
modo passivo. Poderemos tanto excluir esta definição, quanto acrescentar
outras.
Todos os pacotes obtidos poderão ser mantidos ou não, conforme as
nossas preferências. Por exemplo, para aqueles que fazem múltiplas
instalações da distribuição, poderemos utilizar os pacotes já baixados para
serem utilizados em outras máquinas. Nestas circunstâncias...
# If DELALL is "on", all downloaded files will be removed after install.
DELALL=on
... definam a variável DELALL para o valor off, que por sua vez desabilita a
remoção dos arquivos após a instalação.
Existe a possibilidade dos pacotes obtidos serem corrompidos durante a
sua obtenção. E claro, pacotes corrompidos não deverão ser instalados!
# If CHECKPKG is "on", the system will check the md5sums of all packages before
# install/upgrade/reinstall is performed.
CHECKPKG=on
Felizmente existe a variável CHECKPKG, que habilitada por padrão (valor
on), evitará este tipo de ocorrência. Para isto, ela buscará as chaves
geradas pelo md5sums para verificar a integridade dos pacotes.
O mesmo se dá no ato da verificação da procedência destes pacotes, ...
# If CHECKGPG is "on", the system will verify the GPG signature of each
package
# before install/upgrade/reinstall is performed.
15/50
CHECKGPG=on
... onde a variável CHECKGPG também é mantida habilitada (valor on)
para garantir que não venhamos a instalar pacotes de origens duvidosas.
Os pacotes que contém as correções (patches) são muitos requisitados por
aqueles que necessitam de manter o sistema atualizado em ambientes
onde a segurança é prioritária:
# The lines below will set the download priority.
# Default values: /patches /slackware /extra /pasture /testing
FIRST=patches
SECOND=slackware
THIRD=extra
FOURTH=pasture
FIFTH=testing
Por isto, os pacotes a serem instalados com maior prioridade (FIRST) são
aqueles que se encontram armazenados no diretório patches. Poderemos
redefinir a ordem de prioridades, se assim desejarmos.
Em muitos espelhos, nem sempre a estrutura de diretórios dos pacotes e
arquivos do Slackware são mantidos em um diretório principal chamado
slackware. Isto acontece especialmente em distribuições derivadas:
# The default MAIN is "slackware", but some derived distros uses other
# names as the main directory. Of course, MAIN needs to be listed in
# the download priority directories
MAIN=slackware
Neste caso, será necessário redefinirmos a nomenclatura do diretório
principal para o nome do diretório em uso do respositório escolhido, pois
caso contrário, a ferramenta de atualização não irá funcionar a contento.
Ao atualizarmos os pacotes, poderemos apagar as definições feitas em
seus arquivos de configurações. Para que isto não ocorra, o Slackpkg
definiu a variável POSTINST, sendo esta mantida habilitada por padrão.
# Enables (on) or disables (off) slackpkg's post-installation features, such
# as checking for new (*.new) configuration files and new kernel images, and
# prompts you for what it should do. Default=on
POSTINST=on
Assim, a ferramenta irá perguntar se queremos manter as definições
antigas, sobrescrever, renomear com a extensão .new ou apagá-las.
Embora seja uma ferramenta feita para ser utilizada em modo texto, a
versão atual do Slackpkg utiliza caixas de diálogo para facilitar algumas
operações, como a escolha dos pacotes a serem atualizados, por exemplo.
# The ONOFF variable sets the initial behavior of the dialog interface.
# If you set this to "on" then all packages will be selected by default.
# If you prefer the opposite option (all unchecked), then set this to "off".
ONOFF=on
Se mantermos esta definição habilitada, todos os pacotes serão marcados
por padrão; se a desabilitarmos, teremos que selecioná-los.
16/50
Poderemos tanto baixar e atualizar todos pacotes “um-por-um” ou “todos-
de-uma-vez” para serem instalados posteriormente:
# If this variable is set to "on", all files will be downloaded before the
# requested operation (install or upgrade) is performed. If set to "off",
# then the files will be downloaded and the operation (install/upgrade)
# performed one by one. Default=off
DOWNLOAD_ALL=off
Para quem usa conexão discada e nem sempre pode se manter conectado
o tempo inteiro durante a obtenção dos pacotes, pode ser mais
interessante habilitarmos a instalação dos pacotes apenas após a obtenção
de todos eles.
Embora as caixas de diálogo em modo texto possam tornar mais intuitiva
as operações, nem sempre agrada a todos.
# Enables (on) or disables (off) the dialog interface in slackpkg. Default=on
DIALOG=on
Se for este o caso, poderemos desabilitá-la através da variável DIALOG.
Por último, falta definirmos qual o espelho que iremos utilizar.
# The MIRROR is set from /etc/slackpkg/mirrors
# You only need to uncomment the selected mirror.
# Uncomment one mirror only.
Para isto, existe o arquivo à parte chamado mirrors.
/ETC/SLACKPKG/MIRRORS
Após a instalação da ferramenta, será necessária a edição do arquivo de
configuração /etc/slackpkg/mirrors, onde deveremos definir qual o
espelho que será utilizado para a obtenção das atualizações. Para isto,
deveremos apenas desmarcar a listagem presente. Ou se desejarem,
podem obter uma lista atualizada na página oficial do Slackware.
# You only need to select one mirror and uncomment them. Please,
# ONLY ONE mirror can be uncommented each time.
#
# In this file you can find mirrors for slackware 11.0, current
# and 10.2 (in this order).
#
# The mirrors file is kept synced with the official slackware
# mirrors. If you find any incorrect mirror, please report it
# to fizban <[email protected]>
Como podem ver, o Slackpkg utiliza somente um único espelho para obter
os pacotes atualizados, apesar de suportar os protocolos HTTP e FTP.
Portanto, desmarquem apenas um, senão o programa não irá funcionar.
# slackpkg update
Slackpkg only works with ONE mirror selected. Please, edit your
/etc/slackpkg/mirrors and comment one or more lines. Two or more
mirrors uncommented isn't valid syntax.
17/50
/ETC/SLACKPKG/BLACKLIST
Outro ajuste importante está no arquivo de configuração blacklist. Este
por sua vez define quais os pacotes ou séries que não deverão ser
atualizados.
# This is a blacklist file. Any packages listed here won't be
# upgraded, removed, or installed by slackpkg.
#
# The correct syntax is:
#
# to blacklist the package xfree86-devel-4.3.0-i386-1 the line will be:
# xfree86-devel
#
# DON'T put any blank line(s) or any space(s) before or after the package
name.
# If you do this, the blacklist will NOT work.
#
# Automated upgrade of kernel packages aren't a good idea (and you need to
# run "lilo" after upgrade). If you think the same, uncomment the lines
# below
#
#kernel-ide
#kernel-modules
#kernel-source
#kernel-headers
#
# aaa_elflibs can't be updated.
#
aaa_elflibs
#
# Now we can blacklist whole directories
# The two versions of udev inside that dir conflicts with slackware
# default udev (in /slackware).
/extra/udev-alternate-versions
Como podem ver, recomenda-se a não atualização destes pacotes para
evitar conflitos no sistema. Quanto aos pacotes referentes ao kernel,
apesar da possibilidade de atualizá-lo, os criados do projeto não o
aconselham. Mas se ainda assim desejarem fazê-lo, descomentem as
linhas referentes ao kernel antes de utilizar a ferramenta.
Após isto, executem novamente o LILO para que sejam redefinidas as
novas configurações. Caso contrário, haverão travamentos que impedirão
a inicialização do sistema, nos obrigando à inicializar a máquina com os
CD-ROMs de instalação para realizar a regravação do LILO na MBR.
A UTILIZAÇÃO
A sintaxe básica do programa para o gerenciamento básico de pacotes é:
# slackpkg [OPÇÕES] [PACOTE]
18/50
Onde:
Slackpkg
blacklist Para inserir um pacote na lista negra:
download Para apenas baixar um pacote:
# slackpkg download [PACOTE]
info Para exibir as informações de um
pacote:
# slackpkg info [PACOTE]
install Para instalar um pacote:
# slackpkg install [PACOTE]
reinstall Para reinstalar um pacote:
# slackpkg reinstall [PACOTE]
upgrade Para atualizar um pacote:
# slackpkg upgrade [PACOTE]
remove Para remover um pacote:
# slackpkg remove [PACOTE]
19/50
espgs-8.15rc2-i486-1.tgz
flex-2.5.4a-i486-3.tgz
gaim-1.1.4-i486-1.tgz
gcc-3.3.5-i486-1.tgz
gcc-g++-3.3.5-i486-1.tgz
gcc-g77-3.3.5-i486-1.tgz
gcc-gnat-3.3.5-i486-1.tgz
gcc-java-3.3.5-i486-1.tgz
gcc-objc-3.3.5-i486-1.tgz
glib2-2.6.3-i486-1.tgz
gtk+2-2.6.3-i486-1.tgz
nmap-3.81-i486-1.tgz
normalize-0.7.6-i486-1.tgz
openssh-4.0p1-i486-1.tgz
samba-3.0.11-i486-1.tgz
tetex-3.0-i486-1.tgz
tetex-doc-3.0-noarch-1.tgz
udev-054-i486-3.tgz
x11-6.8.2-i486-1.tgz
x11-devel-6.8.2-i486-1.tgz
x11-docs-6.8.2-noarch-1.tgz
x11-docs-html-6.8.2-noarch-1.tgz
x11-fonts-100dpi-6.8.2-noarch-1.tgz
x11-fonts-cyrillic-6.8.2-noarch-1.tgz
x11-fonts-misc-6.8.2-noarch-1.tgz
x11-fonts-scale-6.8.2-noarch-1.tgz
x11-xdmx-6.8.2-i486-1.tgz
x11-xnest-6.8.2-i486-1.tgz
x11-xvfb-6.8.2-i486-1.tgz
Total of package(s): 29
20/50
• K: continuar com os arquivos antigos e novos, mantendo os novos
como .new para posterior avaliação;
• O: sobrescrever os arquivos antigos pelos novos;
• R: remover todos os novos arquivos;
• P: optar por utilizar uma opção diferente para cada arquivo.
Certifiquem-se de que a listagem de espelhos aponta para um diretório
slackware-current da distribuição. Levem em consideração o tamanho
total dos pacotes a serem obtidos e a taxa de transferência da conexão.
Por último, faz-se necessário rodar o comando...
# slackpkg clean-system
Será apresentada uma lista de pacotes que não fazem mais parte da
distribuição, normalmente por causa da necessidade de removê-lo
durante as atualizações do repositório. Tais pacotes devem ser marcados
para serem removidos. Porém, poderão ser apresentados também pacotes
instalados obtidos de outras fontes. Por exemplo, muitos necessitam da
suíte de escritório OpenOffice.org; se esta estiver instalada com o uso de
pacotes nativos, eles aparecerão na listagem. Neste caso, mantenham os
pacotes desta suíte, se houver necessidade de utilizá-la.
OBSERVAÇÕES
Em algumas circunstâncias, o Slackpkg poderá emitir avisos como este:
===========================================================================
WARNING! WARNING! WARNING! WARNING! WARNING!
===========================================================================
One or more errors occurred while slackpkg was running.
One or more packages most likely could not be installed, or your mirror
is having problems. It's a good idea recheck your mirror and run slackpkg
again.
===========================================================================
Sem grandes mistérios, podemos ver que esta notificação refere-se à
alguns erros que porventura possam ter ocorrido na execução desta
ferramenta – especialmente na transferência dos pacotes. Como ela
mesmo recomenda, verifiquem se o espelho encontra-se disponível e
reexecutem o script.
Lembrem-se: este programa somente realiza a atualização dos pacotes
que pertencentes a distribuição. Para os pacotes instalados de outras
fontes ou compilados diretamente a partir do código-fonte, o único
caminho é verificar em suas páginas oficiais se disponibilizam novas
versões.
RECOMENDAÇÕES GERAIS
Ao utilizarmos estas ferramentas, deveremos estar cientes de que elas
21/50
podem renomear e/ou sobrescrever as configurações atuais dos
programas a serem atualizados. Nestas circunstâncias, encontraremos
seus respectivos arquivos de configuração renomeados com uma nova
extensão .new que garantirá a manutenção das definições originais, ou
ainda com o sufixo ~ (<TIL> – cópia de segurança). Esta irá resguardar o
arquivo original para que seja substituído por um novo arquivo com as
novas definições.
Nestas circunstâncias, talvez seja necessário redefinir alguns dos
parâmetros existentes para garantir o perfeito funcionamento da
aplicação, onde deveremos consultar as definições do antigo arquivo para
suplantá-nas no novo. Se estivermos atentos a estes detalhes, poderemos
realizar intervenções corretivas de maneira mais eficaz. Em outras
distribuições, poderemos até mesmo ter estes arquivos sobregravados,
impedindo resgatar as definições armazenadas.
CONCLUSÃO
Diferente das demais distribuições, o Slackware não fornece ferramentas
para atualização de pacotes; apenas disponibiliza na pasta /extra, algumas
ferramentas externas úteis para este propósito, conforme dito na
introdução deste capítulo. E compilar cada pacote manualmente, ou ainda,
baixar individualmente cada pacote oficial do FTP oficial da distribuição
para a atualização do sistema, além de serem tarefas muito trabalhosas, é
torna-se inviável, dada as circunstâncias em que esta atividade é
executada. Para isto, existem as ferramentas de atualização!
Por isto, experimentem cada uma destas ferramentas e, de acordo com
uma avaliação particular, optem por mantê-las (ou não) no sistema. &;-D
22/50
III. A COMPILAÇÃO DO CÓDIGO-FONTE
INTRODUÇÃO
A compilação do código-fonte disponível de um determinado programa ou
driver, apesar de não ser tão fácil quanto a utilização de binários pré-
compilados, é considerada como uma excelente oportunidade de garantir
a boa implementação e a excelência de certos resultados. Graças a uma
correta e eficiente definição de parâmetros, conseguiremos alcançar
excelentes níveis de otimização, performance, estabilidade,
compatibilidade e ajustes altamente personalizados de que necessitamos
ou quando não somente poderemos obtê-los com a utilização deste
processo.
Neste capítulo iremos conhecer o processo de compilação do código-
fonte, suas características, particularidades, vantagens e aplicações, como
também recomendações gerais para o bom sucesso desta operação.
CONSIDERAÇÕES BÁSICAS
23/50
invés de incluir as bibliotecas necessárias no corpo principal do
programa, estas são instaladas à parte, onde o programa principal
somente realiza as chamadas de funções necessárias para a execução de
suas atividades. A grande vantagem deste método de compilação está
justamente nas desvantagens do método de compilação estática: ganha-se
na confecção de pacotes enxutos, utilização de pouca memória e ótima
performance quando suas bibliotecas necessárias sendo utilizadas pelo
ambiente, como é o caso das bibliotecas gráficas Qt e GTK. Em
contrapartida, surge o grande inconveniente das pendências, ou seja,
para a instalação destes programas, serão necessários a instalação das
devidas bibliotecas para a sua utilização, caso elas não constem no
sistema.
Dentre os principais programas que utilizam o recurso de compilação
estática encontram-se todos os aplicativos disponíveis para a plataforma
Windows, além da suíte Mozilla e do OpenOffice.org para os sistemas
GNU/Linux, levando em consideração a existência de inúmeros programas
comerciais portados. Este é o principal motivo do qual a instalação de
programas para Windows não requer a instalação de pendências de
pacotes, à salvo quando é necessária a utilização de plugins.
Felizmente, na instalação das tradicionais distribuições, grande parte das
bibliotecas também se encontram instaladas, bastando apenas resolver
algumas pendências específicas pelo programa utilizado. Este é o
principal motivo pelo qual dezenas de programas cabem em apenas uma
única mídia de instalação de uma distribuição, já que utilizam este
conceito.
AS BIBLIOTECAS
GNU C LIBRARY
✔ <http://www.gnu.org/software/libc/libc.html>.
A GNU C Library – conhecida como glibc, ou ainda, libc6 – é usada por
praticamente todos os programas desenvolvidos não só para os sistemas
24/50
GNU/Linux, como também para outras plataformas que Unix, como o
Hurd. Ela é essencial para a compilação dos códigos-fonte de seus
pacotes.
Esta biblioteca segue as especificações POSIX, provendo todos os
recursos necessários para o desenvolvimento de aplicações que interajam
diretamente com o kernel do sistema. Eis porque ela é um componente
essencial para a compilação manual de qualquer aplicação.
Todas as distribuições possuem uma versão da glibc instalada no sistema,
onde de acordo com a filosofia de cada uma, poderemos ter a versão mais
recentes ou não. Na consulta das instruções README e INSTALL dos
pacotes com os fontes, apenas deveremos ficar atento com as versões
exigidas da glibc, onde raramente tais requisitos são deixados de atender.
LIBTOOL
✔ <http://www.gnu.org/software/libtool/>.
Desenvolvido por Gordon Matzigkeit, o GNU Libtool é um conjunto de
shell scripts desenvolvidos para facilitar a criação, a manutenção, a
portabilidade e o uso de bibliotecas compartilhadas. Ela é indispensável
para a compilação das pendências necessárias na instalação de outros
programas.
Graças a esta biblioteca, muitas facilidades são também asseguradas para
o desenvolvedor, já que este terá certas tarefas simplificadas, como
também a eliminaçã de detalhes mais complexos na resolução de
pendências.
AS FERRAMENTAS DE AUTOMAÇÃO
M4
✔ <http://www.gnu.org/software/m4/>.
O m4 é a implementação de macro-processadores tradicionais dos
ambientes Unix. Sua função consiste em auxiliar a geração dos arquivos
Makefile.am, que por sua vez contém as instruções necessárias para que o
automake possa construir os Makefile.in.
AUTOMAKE
✔ <http://www.gnu.org/software/automake/>.
O automake é um script desenvolvido em Perl que utiliza as definições
geradas pelo GNU m4 (Makefile.am) para a construção dos arquivos
Makefile.in. Sua utilização traz a vantagem de automatizar a tarefa de
manutenção dos Makefiles.
25/50
AUTOCONF
✔ <http://www.gnu.org/software/autoconf/>.
O autoconf é uma ferramenta que tem por objetivo desenvolver scripts
para automatizar a configuração de códigos-fontes para a compilação em
diferentes plataformas. Graças a ele, torna-se possível utilizar um mesmo
código para diferentes arquiteturas. Com ele, é criado o script configure.
O script configure, por sua vez, examina as variáveis, a existência de
pendências e as especificações da plataforma. Com estas informações, ele
irá construir os arquivos Makefiles personalizados, que serão utilizados
como regras para a compilação dos programas e assim garantir a
compilação do programa específicamente para o sistema em uso.
MAKE
✔ <http://www.gnu.org/software/make/make.html>.
Quando se compila um programa, não só existe a necessidade de unir
(link) todo o código-fonte e gerar o programa principal, como também
incluir diversas outras instruções (bibliotecas) para compor o corpo
funcional do programa. Realizar esta operação é algo extremamente
trabalhoso, pois teríamos que realizar diversos procedimentos manuais
para satisfazer suas necessidades. Para isto existe o comando make, que
por sua vez realiza a compilação dos programas os quais desejamos
instalar.
O processo de compilação se dá corretamente graças às instruções de um
arquivo especial gerado pelo configure – os Makefiles –, os quais contém
todas as instruções necessárias para a realização do processo.
OS COMPILADORES
Existem diversos compiladores desenvolvidos pelo Projeto GNU, onde o
mais famoso (e largamente utilizado) é o GNU C Compiler.
GNU C COMPILER
✔ <http://gcc.gnu.org/>.
Conhecido popularmente como GCC, é de longe o compilador mais
utilizado pelos sistemas GNU/Linux, como também no Windows.
Desenvolvido por Richard Stallman com o apoio de voluntários, o GCC é
um dos melhores e mais completos compiladores existentes. Suporta a
linguagem C e suas variantes (C++ e Objetive-C) de acordo com as
especificações ANSI C, possui excelente performance e portabilidade,
além de ter inúmeras outras qualidades, mas que não serão descritas aqui
devido ao enfoque da literatura, que é destinada exclusivamente ao
usuários desktops...
26/50
O GCC encontra-se disponível por padrão em praticamente todas as
distribuições GNU/Linux. Em algumas existirão compiladores
condicionados para serem utilizados especificamente em algumas
arquiteturas específicas, como o Pentium da Intel, por exemplo. Ele é
indispensável para a compilação da grande maioria dos programas
desenvolvidos para sistemas GNU/Linux, por serem muitas vezes
desenvolvidos em C.
ENTRE OUTRAS...
BINUTILS
✔ <http://www.gnu.org/software/binutils/>.
Este pacote contém um conjunto de ferramentas para a manipulação de
arquivos binários nos sistemas GNU/Linux. Na compilação dos programas,
é utilizado para a construção dos arquivos que irão compor o corpo do
programa em si, inclusive o executável.
PATCH
✔ <http://www.gnu.org/software/patch/patch.html>.
O comando patch é utilizado para atualizar um “antigo” programa
empacotado no formato de código-fonte, que certamente necessitará de
uma atualização (senão, o pacote de atualização não existiria...).
Os pacotes de atualização possuem a extensão .diff, os quais poderão ser
baixados normalmente como um arquivo comum. E antes de utilizá-lo,
deveremos copiá-lo para o diretório-raíz onde se encontra o código-fonte
do programa original e dentro deste, utilizar as seguintes sintaxes...
Para atualizar um pacote, utilizem:
$ patch -p0 < [ATUALIZAÇÃO].diff
Para testar se a operação foi realizada normalmente:
$ patch -p0 --dry-run [ATUALIZAÇÃO].diff
Para remover a atualização:
$ patch -p0 -R < [ATUALIZAÇÃO].diff
A COMPILAÇÃO PADRÃO
A compilação padrão – que também chamamos de compilação clássica – é
a forma mais simples e básica utilizada para realizar a compilação de um
programa. O processo é relativamente fácil, onde não existe a
necessidade de mais nenhum outro parâmetro ou instrução adicional para
que se possa instalar o programa desejado.
27/50
Segue abaixo a descrição de um processo genérico para a compilação de
código-fontes de programas para as mais diversas finalidades, passando
por aplicativos, utilitários, drivers, bibliotecas, APIs, etc.
OBTENDO O CÓDIGO-FONTE
Geralmente obtemos o código-fonte dos programas ou drivers desejados
na página do desenvolvedor. Basta apenas baixá-los e copiá-los para a
máquina onde desejamos instalar ou obtê-los de diferentes locais, como
nos CD-ROMs que possuem o código-fonte dos aplicativos e outros
dispositivos de armazenamento (cópia de segurança).
DESCOMPACTANDO O CÓDIGO-FONTE
O código-fonte geralmente se encontra empacotado e compactado em um
único arquivo que pode ter a extensão .tar.gz ou .tar.bz2. A 1a. extensão
.tar informa que o código fonte encontra-se empacotado pelo utilitário
TAR, enquanto o complemento informa que o pacote gerado foi
compactado com o gzip (.tar.gz) ou Bzip2 (.tar.bz2).
Para descompacta-los, abram um terminal e procedam da seguinte forma:
• Para pacotes compactado com o gzip (extensão .tar.gz)...
$ tar -xpzvf [NOME DO PACOTE].tar.gz
• Para pacotes compilados com o Bzip2 (extensão .tar.bz2)...
$ tar -xpjvf [NOME DO PACOTE].tar.bz2
Observem que na definição das sintaxes, apenas foram modificadas as
opções z e j, que acionam os compactadores Bzip2 e gzip para realizar a
descompressão do pacote agregado pelo TAR, respectivamente.
• Para pacotes compactados no formato ZIP (extensão .zip)...
$ unzip [NOME DO PACOTE].zip
Após a realização dos passos demonstrados, normalmente é criado um
diretório com o nome do programa e o conteúdo do código-fonte
desempacotado. Agora basta apenas entrarmos neste diretório...
$ cd [NOME DO DIRETÓRIO CRIADO]
O LOCAL DE ARMAZENAMENTO
Conforme a recomendação técnica da norma FHS, os pacotes que contém
o código-fonte dos programas deverão estar armazenados no diretório
/usr/local/src – pois não pertencem à distribuição –, mas nada o impede
de armazená-lo em qualquer outro lugar. Se desejarmos, poderemos
armazená-los no diretório de usuário (em nosso caso, /home/darkstar)
para nosso uso e administração particular.
28/50
A LEITURA DE DOCUMENTAÇÕES
Ao consultarmos a estrutura do diretório criado após a descompactação de
um determinado pacote, iremos observar uma estrutura de dados
contendo vários arquivos e diretórios, conforme exemplificado a seguir:
# ls -l
total 1987
-rw-r--r-- 1 darkstar users 353197 2004-02-02 18:49 acinclude.m4
-rw-r--r-- 1 darkstar users 383288 2004-02-02 18:49 aclocal.m4
drwxr-xr-x 2 darkstar users 864 2004-02-02 18:22 admin
-rw-r--r-- 1 darkstar users 2600 2004-02-02 18:49 AUTHORS
-rw-r--r-- 1 darkstar users 10196 2004-02-02 18:43 ChangeLog
-rw-r--r-- 1 darkstar users 9793 2004-02-02 18:50 config.h.in
-rwxr-xr-x 1 darkstar users 1160095 2004-02-02 18:50 configure
-rw-r--r-- 1 darkstar users 274 2004-02-02 18:49 configure.files
-rw-r--r-- 1 darkstar users 24162 2004-02-02 18:49 configure.in
-rw-r--r-- 1 darkstar users 3699 2004-02-02 18:22 configure.in.in
-rw-r--r-- 1 darkstar users 776 2004-02-02 18:07 COPYING
-rw-r--r-- 1 darkstar users 10369 2004-02-02 18:07 INSTALL
drwxr-xr-x 11 darkstar users 544 2004-02-02 20:00 kopete
-rw-r--r-- 1 darkstar users 241 2004-02-02 18:49 Makefile.am
-rw-r--r-- 1 darkstar users 215 2004-02-02 18:22 Makefile.am.in
-rw-r--r-- 1 darkstar users 22123 2004-02-02 18:50 Makefile.in
drwxr-xr-x 39 darkstar users 1000 2004-02-02 20:00 po
-rw-r--r-- 1 darkstar users 1326 2004-02-02 18:07 README
-rw-r--r-- 1 darkstar users 0 2004-02-02 18:50 stamp-h.in
-rw-r--r-- 1 darkstar users 10 2004-02-02 18:49 subdirs
-rw-r--r-- 1 darkstar users 3898 2004-02-02 18:07 TODO
-rw-r--r-- 1 darkstar users 13 2004-02-02 18:40 VERSION
# _
De acordo com o pacote instalado, veremos inúmeros ítens
disponibilizados, porém todos pacotes deverão ter em comum um sub-
diretório com o nome docs ou pelo menos no diretório raiz deverão
constar os arquivos README, INSTALL e COPYING. Estas são as
informações necessárias escritas em formato texto ou html com as
instruções necessárias para o correto uso do código-fonte, além de seu
licenciamento.
Além destes arquivos, poderão existir diversos outros inclusos no
diretório sobre a utilização do código-fonte em questão. Procurem sempre
consultá-los antes de realizar qualquer operação, pois apesar de se
encontrarem em inglês, certamente todas as suas particularidades estarão
lá descritas, além dos respectivos procedimentos a serem tomados.
29/50
• make: ferramenta de automação necessária para a compilação do
código-fonte, baseando-se nas instruções do makefile.
• make install: acionamento da instalação do pacote compilado.
A partir daí, é só digitar os seguintes comandos e aguardar algumas
instruções do processo de compilação, de acordo com o pacote.
$ ./configure
...
$ make
...
# make install
Os comandos ./configure e make poderão ser rodados com permissões de
usuários comum; já o make install somente poderá ser utilizado com os
privilégios do superusuário, pois é justamente ele que irá realizar a
instalação propriamente dita.
CONSIDERAÇÕES AVANÇADAS
Até agora, nós observamos apenas uma demonstração genérica de um
simples processo de compilação de um aplicativo ou utilitário. A partir
desta seção, teremos uma visão mais ampla e minuciosa acerca do
assunto, onde analisaremos diversos detalhes pormenores dos quais
muitas vezes são tidos como sem importância ou de desnecessária
atenção.
30/50
CONTEÚDO DA DOCUMENTAÇÃO
Ao contrário do que muitos pensam, uma das mais importantes etapas do
processo de compilação é a leitura e o entendimento de toda sua
documentação, ou pelo menos das partes relevantes do texto.
Como requerimento básico, todos os desenvolvedores de programas
devem redigir uma documentação de sua aplicação, o qual deverá
descrever todos os processos básicos inerentes como os requerimentos
básicos, a instalação, a configuração, a utilização, diversas recomendações
e muitas outras informações necessárias para o bom uso do programa.
O DIRETÓRIO DOCS
README / INSTALL
Instruções básicas sobre o programa e o procedimento correto para a
instalação. Apesar de muitas vezes ser descartado, é imprescindível a sua
leitura, pois muitas dos problemas e dificuldades encontrados estão
brevemente descritos nestes documentos. Muitas vezes são inclusos os
dois arquivos distintos: o README para as instruções gerais...
# cat README
fetchmail README
The fetchmail code was developed under Linux, but has also been
extensively tested under the BSD variants, AIX, HP-UX versions 9 and
10, SunOS, Solaris, NEXTSTEP, OSF 3.2, IRIX, and Rhapsody.
31/50
without special action. It has also been ported to QNX; to build
...
... e o INSTALL para as instruções com enfoque exclusivo para a
instalação.
$ cat INSTALL
INSTALL Instructions for fetchmail
If you have installed binaries (e.g. from an RPM) you can skip to step 5.
If you are a Linux system packager, be aware that the build process generates
an RPM spec file at fetchmail.spec, and you can "make rpm" to generate an
RPM and SRPM.
The Frequently Asked Questions list, included as the file FAQ in this
distributions, answers the most common questions about configuring and
running fetchmail.
Optional:
- Perl (http://www.perl.org)
- Python (http://www.python.org)
- TCL (http://tcl.activestate.com)
- OpenSSL (http://www.openssl.org)
Type this:
./configure
32/50
make
make install
Other Options
~~~~~~~~~~~~~
./configure -–help
...
COPYING
O documento COPYING contém a licença do programa, suas cláusulas,
termos, restrições, entre outros. Nos programas de código-aberto
distribuídos livremente, geralmente se encontra uma licença GPL ou
compatível. Para ter acesso ao seu conteúdo, basta utilizarmos qualquer
aplicação para a sua leitura.
$ cat COPYING
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
...
As cláusulas redigidas nesta licença deverão ser as mesmas, mesmo que
estas se encontrem em diferentes formatações. Porém em algumas
circunstâncias, encontraremos estas instruções resumidas em outros
arquivos que tratam sobre o licenciamento. Vejam o exemplo obtido na
documentação do compactador Bzip2:
$ cat LICENSE
33/50
This program, "bzip2" and associated library "libbzip2", are
copyright (C) 1996-2002 Julian R Seward. All rights reserved.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
COPYRIGHT
O documento COPYRIGHT contém trechos sobre o licenciamento de
partes ou aspectos importantes do programa. Nele poderemos consultar
para saber se uma aplicação é disponível sob os termos da GNU GPL,
além de encontrar o nome dos criadores do produto.
RELEASE
Todas as implementações, melhorias e correções do programa são
especificados neste documento. Quando houver necessidade de se
34/50
consultar se um determinado programa suporta uma tecnologia ou
inovação, é neste arquivo em que deverão ser consultadas estas
informações.
CREDITS
Todos os devidos créditos, que vão desde autores à colaboradores,
suportes, etc., estão especificados neste documento. Apesar de ser
dispensável sua leitura, seus autores sentirão-se lisongeados em serem
conhecidos... &;-D
CHANGELOG
As principais mudanças realizadas ao longo da existência do programa são
comentados brevemente neste documento, que é praticamente um
histórico de todas as versões de sua existência. Poderemos encontrar
nestas documentações as principais implementações, além de correções
de erros e ainda os principais motivos do porque um programa X não
funciona com a versão da biblioteca Y, entre outros. Segue um pequeno
trecho do Changelog do HotPlug.
$ cat Changelog
Tue Aug 5 2003 kroah
- 2003_08_05 release
FUNCIONALIDADES DETALHADAS
Apesar de serem necessárias apenas a utilização da seqüência de
35/50
comandos padrões para a compilação clássica na maioria das
circunstâncias, existirão casos em que, para instalarmos determinados
aplicativos, teremos que recorrer à utilização de intervenções específicas
para propósitos distintos; seja para habilitar um suporte ou uma
funcionalidade extra, seja para adaptar o programa de acordo com as
nossas necessidades. Neste caso, a seqüencia de comandos muito
provavelmente será modificada para atender à tais circunstâncias; ora
existirão outros comandos à mais, ora os mesmos comandos necessitarão
de um parâmetro extra.
Dos comandos e parâmetros geralmente mais utilizados, seguem:
./CONFIGURE
Conforme dissemos anteriormente, o script configure é o responsável pela
construção dos Makefiles para que o compilador construa os binários à
partir de suas especificações.
# ./configure [PARÂMETROS]
Apesar da maioria dos programas utilizarem esta opção padrão para a
configuração dos pacotes à serem compilados, muitos possuem
parâmetros específicos que deverão ser habilitados e/ou desabilitados na
própria linha de comando. Por exemplo, o MPlayer é um dos programas
que necessitam de diversos parâmetros especificados nesta linha.
Para obter maiores informações dos parâmetros disponíveis, consultem as
instruções contidas nos arquivos README ou INSTALL, ou utilizem o
parâmetro --help na própria linha de comando. Segue um pequeno
exemplo das opções disponíveis por padrão:
# ./configure --help
`configure' configures this package to adapt to many kinds of systems.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included...
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
...
Outra situação bastante comum é o interesse do usuário em instalar o
36/50
programa em locais específicos. Para isto bastará a adição do parâmetro...
$ ./configure --prefix=/[LOCALIZAÇÃO]
Por padrão, os programas compilados são instalados na árvore /usr/local,
porém sua localização pode ser modificada conforme as especificações do
parâmetro --prefix=, onde [LOCALIZAÇÃO] será o novo diretório destino.
MAKE
MAKE INSTALL
MAKE CLEAN
MAKE UNINSTALL
37/50
comando make install. Será então gerado um pacote compilado no formato
desejado, que possibilitará utilizar as ferramentas de gerenciamento de
pacotes do sistema e com isto realizar sua remoção tranqüilamente.
Antes de realizar qualquer instalação, certifique-se de que a opção make
uninstall encontra-se disponível no programa à ser compilado, para evitar
este tipo de inconveniente.
OBSERVAÇÕES IMPORTANTES
38/50
Por último, o processo de compilação do kernel de sistemas GNU/Linux é
bem diferenciado, em comparação ao processo de compilação dos
programas e drivers. Além da existência de inúmeros parâmetros, existem
uma série de requerimentos necessários para que possamos garantir a
obtenção de excelentes resultados.
CONCLUSÃO
Conforme dito na introdução deste capítulo, o processo de compilação, se
não é a única, é a melhor forma de garantir uma perfeita interação das
aplicações com o sistema operacional. Com a utilização de ajustes,
parâmetros e personalizações extra, não somente teremos garantido o seu
perfeito funcionamento, como também a melhoria de sua performance
com técnicas e otimização, utilização de recursos extras, entre outros
artifícios os quais se façam necessários.
Freqüentemente iremos nos deparar com situações em que teremos a
necessidade de usar este processo em situações diversas, em especial
para a instalação de drivers e implementação de outros (ou novos)
recursos ao sistema e suas aplicações. Para isto é de extrema importância
que devemos conhecer os fundamentos desta “arte”, que por sua vez
torna os sistemas GNU/Linux imbatíveis em termos de performance e
flexibilidade! &;-D
39/50
IV. A CONVERSÃO DE PACOTES E
PROGRAMAS
INTRODUÇÃO
São diversos os motivos os quais levam os usuários a realizar conversões
de pacotes e programas compilados para o formato nativo do Slackware,
onde o principal deles está na ausência do pacote desejado – lógico!
Neste capítulo, teremos algumas instruções e recomendações necessárias
para realizar esta atividade com a indicação e utilização de alguns dos
principais utilitários para esta função.
AS FERRAMENTAS...
ALIEN
✔ <http://kitenet.net/programs/alien/>.
Outro excelente conversor de pacotes que, diferente do rpm2tgz,
converte de e para os diversos outros formatos existentes.
Para realizar a instalação do Alien, no diretório-raíz do programa,
digitem...
# perl Makefile.PL
Writing Makefile for Alien
# _
... onde em poucos instantes será gerado o arquivo Makefile. Para
concluir a compilação e realizar a instalação...
# make && make install (ou checkinstall -y)
A utilização do Alien é bem simples, onde bastará apenas definir o arquivo
origem e com um simples parâmetro, definir em qual formato deverá ser
convertido. Segue sua sintaxe básica:
# alien [OPÇÕES] [ARQUIVO.FORMATO]
Onde:
• -d (--to-deb): converte para o formato nativo do Debian;
• -r (--to-rpm): converte para o formato RPM;
• -t (--to-tgz): converte para o formato nativo do Slackware.
Segue um simples e prático exemplo de conversão. Como utilizamos a
distribuição Slackware, daremos preferência à conversão neste formato.
Para converter um pacote no formato RPM para o Slackware:
40/50
# alien -t [PACOTE].rpm
Já do formato Debian:
# alien -t [PACOTE].deb
Após a conversão, utilizem as ferramentas nativas para realizar a
instalação do novo pacote gerado. No caso do Slackware...
# installpkg [PACOTE].tgz
CHECKINSTALL
✔ <http://asic-linux.com.mx/~izto/checkinstall/>.
O CheckInstall foi desenvolvido por Felipe Eduardo Sánchez Díaz Durán e
trata-se de um utilitário desenvolvido especialmente para empacotar
programas compilados manualmente pelo administrador.
# checkinstall
41/50
.rpm.
Segue abaixo alguns exemplos de utilização, utilizando um aplicativo
fictício chamado Aplicativo como exemplo. Conforme as instruções acima,
ao invés de digitar make install + <ENTER>, digitaremos apenas
checkinstall + <ENTER>. Logo em seguida o utilitário apresentará uma
série de instruções para criarmos o pacote compilado.
# checkinstall
checkinstall 1.5.3, Copyright 2001 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
Some of the files created by the installation are inside the build
directory: /usr/local/src/Aplicativo-1.0.0
42/50
Please write a description for the package. Remember that pkgtool shows
only the first one when listing packages so make that one descriptive.
End your description with an empty line or EOF.
>> _
Insiram as informações gerais sobre o pacote que está compilando. Após
terminar, teclem <ENTER> em uma linha vazia e aguardem.
>> Aplicativo compilado manualmente.
>> 25/12/2003.
>> <ENTER>
/usr/local/src/Aplicativo-1.0.0/Aplicativo-1.0.0-i386-1.tgz
You can install it in your system anytime using:
installpkg Aplicativo-1.0.0-i386-1.tgz
**********************************************************************
Finalmente, o programa programa já se encontra disponível e empacotado
(/usr/local/src/Aplicativo-1.0.0/Aplicativo-1.0.0-i386-1.tgz), bastando
apenas utilizar as ferramentas nativas do sistema para instalá-lo...
# installpkg Aplicativo-1.0.0-i386-1.tgz
... ou para removê-lo...
# removepkg Aplicativo-1.0.0-i386-1.tgz
Enfatizando novamente, optem sempre por utilizar o CheckInstall para
empacotar os programas compilados manualmente; assim, poderemos
gerenciá-los através do uso das ferramentas nativas do sistema, o que nos
possibilitará resolver uma série de problemas.
43/50
RPM2TGZ
O utilitário rpm2tgz nada mais é do que um conversor de pacotes do
Slackware, o qual transforma arquivos no formato RPM para o seu
formato nativo TGZ. Sua utilização é bastante simples e prática.
Sintaxe:
# rpm2tgz [PACOTE]-[VERSÃO]-[ARQUITETURA].rpm
Acreditamos que não há necessidade de maiores instruções...
Segue um exemplo básico mostrando o processo de conversão:
# ls -l quake*
total 285
-r--r--r-- 1 root root 208483 Jul 19 14:57 quake-1.1-6cl.i386.rpm
root@darkstar:/# ls -l quake*
total 489
-r--r--r-- 1 root root 208483 Jul 19 14:57 quake-1.1-6cl.i386.rpm
-rw-r--r-- 1 root root 206511 Jul 19 15:02 quake-1.1-6cl.i386.tgz
# _
Agora é só instalar normalmente o pacote no formato TGZ.
# installpkg quake-1.1-6cl.i386.tgz
Installing package quake-1.1-6cl.i386...
PACKAGE DESCRIPTION:
# _
Uma situação interessante ocorreu ao removermos este pacote apenas
com o uso do comando removepkg e o nome do pacote como parâmetro.
Embora funcione bem com outros programas, em algumas circunstâncias
podem ocorrer alguns problemas. Vejam o seu processo desinstalação:
# removepkg quake
44/50
--> Deleting empty directory /usr/lib/quake/id1/
--> Deleting empty directory /usr/lib/quake/
--> Deleting empty directory /usr/doc/quake-1.1/
--> Deleting empty directory /etc/sysconfig/
# _
Infelizmente o rpm2tgz possui alguns inconvenientes de compatibilidade
durante a conversão. Por exemplo, não conseguimos rodar a API Wine
após converter seu pacote pré-compilado no formato RPM para o formato
nativo do Slackware. Em sua execução, o programa acusou a falta de
algumas bibliotecas do sistema, porém ao instalar o mesmo aplicativo no
formato RPM, o programa então funcionou normalmente.
RECOMENDAÇÕES
Procurem realizar a conversão de outros formatos de pacotes em última
instância, pois infelizmente a maioria dos programas compilados no
formato original foram concebidos para atenderem a uma determinada
distribuição (ou conjunto delas). Dentre os principais problemas que
poderemos ter estão na obtenção de um código compilado em outra
versão do GCC, além da localização diferenciada das pendências
necessárias ou ainda que necessitam de uma versão glibc diferente 1. Se
isto já ocorre com os programas compilados no formato nativo de outras
versões do Slackware, imagine entre distribuições diferentes...
CONCLUSÃO
Por “tradição”, a instalação de programas no Slackware é feita
diretamente a partir do código-fonte do aplicativo desejado, quando estes
não estavam disponíveis no FTP oficial da distribuição ou na página
eletrônica da LinuxPackages. Por este motivo, são poucos os usuários que
preferem realizar a conversão de outros pacotes para o formato nativo,
muitas vezes esta atividade é feita somente em última instância. Sendo
bons slackers, evitem utilizar os processos de conversão, ou somente
utilizem-no quando houver realmente necessidade! &;-D
1 Temos exemplos práticos, como alguns plugins não funcionam com navegadores
específicos, enquanto que o aplicativo X pode requerer uma biblioteca que na
distribuição Y, diferente do Slackware, se encontra em um diretório Z, ou ainda o
programa K exige a versão Q da glibc, que também não é compatível com a
versão da distribuição usada.
45/50
V. OBTENDO OS PACOTES OFICIAIS
INTRODUÇÃO
Diferente das demais distribuições, o Slackware mantém uma antiga
tradição de que os pacotes externos devem ser instalados a partir da
compilação manual. Embora este não seja um método muito prático de se
instalar aplicativos, traz algumas vantagens interessantes, como o maior
domínio na manutenção da base de pacotes e sua melhor personalização.
Embora existam diversos projetos de repositórios para pacotes
interessantes, neste capítulo iremos tratar apenas dos pacotes-base que
compõem o repositório oficial da distribuição.
O FTP DO SLACKWARE
✔ <ftp://ftp.slackware.com/pub/slackware/slackware-current/>.
É no repositório (FTP) do Slackware que estão os principais programas
utilizados pela distribuição, além de diversos outros pacotes que poderão
ser bastante úteis. E os diretórios que compõem a estrutura do FTP são:
BOOTDISKS
Em bootdisks são armazenadas as imagens de vários kernels para a
criação de disquetes de inicialização. Cada uma destas imagens possuem
uma aplicação específica: por exemplo, normalmente utilizamos a imagem
bare.i para realizar uma instalação padrão; mas dependendo das
circunstâncias, outras imagens poderão ser melhor aplicáveis, como sata.i
(HDs SATA) e raid.s (sistemas com arranjos de HD em RAID).
EXTRA
Apesar dos principais programas esterem inclusos nas mídias de
instalação, muitos destes, por questão de espaço e necessidade, não se
encontram presentes. Foi criado então o diretório extra, que contém os
pacotes adicionais e que geralmente são muito úteis para o complemento
de funcionalidades ao sistema.
ISOLINUX
Todas as imagens necessárias para a criação de uma mídia para a
instalação do sistema. As instruções de como realizar o procedimento
ficam armazenadas em um arquivo-texto chamado README.TXT.
Ainda neste diretório, temos também o subdiretório sbootmgr,
46/50
responsável pelo armazenamento da imagem Smart Boot Manager. Esta
por sua vez é essencial para realizar a instalação do sistema em máquinas
que não suporta a inicialização através do drive óptico, já que esta imagem
deverá ser gravada préviamente e um disquete e, com ele, ser feita a
inicialização.
KERNELS
Neste diretório estão mantidas uma série imagens de kernels compilados
para diversas finalidades. Estas imagens são utilizadas no ato da
instalação do sistema, mais específicamente na seção Configure -> Kernel.
Seguindo a filosofia das imagens mantidas em bootdisks, o mais utilizado é
o bare.i, que provê suporte aos dispositivos mais comuns. Durante o
período em que eram mantidos tanto o kernel da série 2.4 (padrão) quanto
2.6, a instalação da versão 2.6 era feita através da imagem huge26.s.
PASTURE
Em pasture são mantidos pacotes antigos que não fazem mais parte da
versão atual do Slackware. Para o bom administrador, muitos destes
pacotes podem ser úteis, de acordo com as suas necessidades.
PATCHES
Para a atualização de erros e diversas outras correções necessárias,
existem as atualizações que também podem ser obtidos diretamente no
FTP oficial do Slackware. Basta apenas baixar o pacote desejado e utilizar
o comando upgradepkg para a atualização.
ROOTDISK
As imagens do rootdisk são necessárias para que seja feita a inicialização
do sistema a partir de disquetes. Elas são usadas em conjunto com as
imagens disponíveis em bootdisks. Atualmente estas imagens são a
install.1 e install.2, mas em temos antigos, eram chamadas por color.gz.
SLACKWARE
Os pacotes presentes no diretório principal do Slackware – simplesmente
“slackware” - são os pacotes oficiais da distribuição.
• a: os pacotes essenciais para o funcionamento do sistema;
• ap: as aplicações em modo texto;
• d: interpretadores, compiladores e bibliotecas de
desenvolvimento;
47/50
• e: editor de código EMACS;
• f: documentações sobre o Linux (Linux-FAQs e Linux-HOWTOs);
• k: código-fonte do kernel;
• kde: ambiente gráfico KDE e as aplicações baseadas nele;
• kdei: pacotes de internacionalização do KDE;
• l: bibliotecas extras (necessárias para vários programas);
• n: pacotes para trabalhar com redes e seus aplicativos;
• t: processador de textos TEX;
• tcl: pacotes para o desenvolvimento em TCL/Tk;
• x: o servidor gráfico X.org;
• xap: aplicativos e interfaces fazem o uso do modo gráfico;
• y: jogos BSD e derivados.
Eles se encontram disponíveis nas mídias de instalação do sistema,
dispensando a sua obtenção via Internet. Porém, se necessitarmos de
utilizar a versão mais atualizada (current), invariávelmente teremos que
baixá-los. Para isto, acessem na página oficial do Slackware, a seção
mirrors, para saberem quais são os principais repositórios disponíveis.
SOURCE
Em source são mantidos os códigos-fonte das aplicações provenientes
desta árvore. Muitas vezes estes pacotes são utilizado por
desenvolvedores e usuários mais experientes e que desejam obter ajustes
mais finos do sistema com a compilação destes. Para isto, eles editam os
scripts SlackBuilds presentes junto aos pacotes, já que eles mantém
armazenados os atributos de compilação de cada pacote, além das rotinas
necessárias para o seu empacotamento no formato nativo da distribuição
(o TGZ).
TESTING
Os pacotes que ainda estão em estágio experimental, mas que serão
posteriormente integrados ao diretório principal, são mantidos no
diretório testing, como certos programas não podem ser substituídos
pelas versões mais novas “da noite para o dia”: o servidor WEB Apache, o
banco de dados MySQL, a linguagem interpretada PHP e a versão mais
atual do kernel são alguns dos mais notáveis exemplos.
As versões antigas – porém estáveis – são mantidas na árvore principal da
distribuição, sendo disponibilizadas as versões mais novas neste diretório
para aqueles que (por motivos diversos) necessitarem destes pacotes. E
claro, ficará por conta e risco do administrador ao adotar tais pacotes.
48/50
ZIPSLACK
O ZipSlack é uma versão compacta do sistema para que possa ser
executado a partir de um ZIP-drive, sob um sistema de arquivos no
formato DOS. É chamado de ZipSlack justamente por causa do espaço
ocupado, já que são consumidos mais que 100 MB. E claro, todos os
arquivos, pacotes e imagens de inicialização são mantidos neste diretório.
Embora todo o conteúdo caiba em apenas 100 MB, são necessários pelo
menos 300 MB livres e disponíveis para que possamos utilizar o sistema,
segundo as suas instruções README.1st.
MD5SUM
O md5sum é um aplicação desenvolvida para checar a integridade física
de qualquer conteúdo trafegado na Internet; qualquer alteração na
consulta destes, por mínima que seja, logo é apontado pelo aplicativo.
Observe que no local onde os pacotes encontram-se disponíveis, existes
arquivos-textos com a extensão .md5, o qual em seu respectivo conteúdo
encontra-se uma seqüência de 32 dígitos. Estas seqüências são utilizadas
pelo comando md5sum para realizar a checagem de integridade dos
arquivos baixados. Sua sintaxe é a seguinte:
$ md5sum [PACOTE]
Basta apenas verificar a cadeia de caracteres exibida e comparar com a
chave que se encontra disponível junto do arquivo baixado, geralmente na
página do distribuidor.
$ md5sum firefox-0.8-i686-linux-gtk2+xft-ptBR.tar.gz
8cabf90c4f6c353d2c9bca758ef813bc firefox-0.8-i686-linux-gtk2+xft-ptBR.tar.gz
$ _
49/50
Observe que o aplicativo retornou uma seqüência de caracteres, o qual
deverá ser conferida com a chave disponibilizada. Se a seqüência estiver
igual a fornecida, isto significa que seu pacote se encontra íntegro; caso
contrário, ocorreu algum erro do qual resultou no corrompimento do
pacote baixado. Neste último caso será necessário baixá-lo novamente.
CONCLUSÃO
Um dos maiores inconvenientes das distribuições que possuem inúmeros
pacotes está na desinstalação dos mesmos, pois a maioria dos usuários
não utilizam e sequer sabem se poderão ser removidos ou não. Apesar do
Slackware não incluir em sua distribuição uma grande variedade de
pacotes, boa parte das necessidades dos usuários são satisfeitas com os
que se encontram disponíveis nela. Estes deverão apenas procurar as
aplicações restantes para complementar o sistema, mesmo que isto
implique em uma maior incidência de procura dos demais programas. Em
geral, isto será benéfico para a otimização geral do sistema, onde apenas
iremos manter apenas o que é essencial. &;-D
50/50
6A. PARTE:
AMBIENTES
GRÁFICOS
✔ Copyright (c) 2002-2008 – Ednei Pacheco de Melo.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, version 1.1 or
any later version published by the Free Software Foundation; a copy of
the license is included in the section entitled “GNU Free Documentation
License”.
ÍNDICE
VISÃO GERAL ..........................................................6
I. OS AMBIENTES GRÁFICOS........................................7
Introdução.......................................................................................7
Os ambientes...................................................................................7
Os desktops...........................................................................................7
O KDE e o GNOME.........................................................................................7
... e as interfaces tradicionais...............................................................7
BlackBox / FluxBox.........................................................................................7
Enlightenment................................................................................................8
IceWM............................................................................................................9
Xfce...............................................................................................................10
WindowMaker..............................................................................................11
Ambientes em 3D?..............................................................................12
Looking Glass...............................................................................................12
Metisse 3D....................................................................................................13
Conclusão......................................................................................14
II. O KDE E O GNOME......................................15
Introdução.....................................................................................15
O GNOME......................................................................................15
Os requerimentos................................................................................16
Iniciando o GNOME............................................................................16
O Nautilus............................................................................................17
As “versões” do GNOME....................................................................18
Observações finais..............................................................................19
O KDE............................................................................................20
Os requerimentos................................................................................21
Observações gerais.............................................................................21
Conclusão......................................................................................22
III. INICIANDO O KDE..........................................23
Introdução.....................................................................................23
Preparativos iniciais.....................................................................23
A instalação do pacote de idiomas......................................................23
Assistente de configurações para a área de trabalho.......................23
O ambiente de trabalho................................................................24
A Área de Trabalho.............................................................................25
Seus atalhos.................................................................................................26
O Painel do KDE..................................................................................29
O Menu K.............................................................................................30
Conclusão......................................................................................32
IV. O KONQUEROR................................................34
Introdução.....................................................................................34
O Konqueror..................................................................................34
As funcionalidades........................................................................35
Manipulação de arquivos....................................................................35
Navegação em abas.............................................................................35
Navegação em painéis........................................................................36
Permissões de acesso..........................................................................37
Compactação / descompactação de arquivos.....................................38
Navegação WEB..................................................................................39
Cliente FTP..........................................................................................41
As ferramentas..............................................................................41
Abrir Terminal.....................................................................................42
Procurar Arquivos...............................................................................42
Filtro de Visualização..........................................................................43
Galeria de Imagens.............................................................................44
Comando do Shell................................................................................45
Os protocolos.................................................................................45
Ajustes & Configurações...............................................................46
Conclusão......................................................................................47
V. AS APLICAÇÕES NATIVAS ......................................48
Introdução.....................................................................................48
As aplicações.................................................................................48
Configurações......................................................................................48
Desenvolvimento.................................................................................48
KDevelop......................................................................................................48
Kommander..................................................................................................49
Quanta+.......................................................................................................50
Umbrello.......................................................................................................51
Educacional..........................................................................................52
Ciência..........................................................................................................52
Ferramentas de aprendizado.......................................................................52
Idiomas.........................................................................................................52
Matemática..................................................................................................52
Outros...........................................................................................................52
Escritório.............................................................................................53
KOffice..........................................................................................................53
Kontact.........................................................................................................54
Gráficos................................................................................................55
KPDF............................................................................................................55
KSnapshot....................................................................................................56
Krita..............................................................................................................56
KView...........................................................................................................57
Internet................................................................................................58
Akregator.....................................................................................................58
Kget..............................................................................................................58
Kmail............................................................................................................59
Konqueror....................................................................................................60
Kopete..........................................................................................................60
KPPP.............................................................................................................61
Jogos.....................................................................................................61
Arcade..........................................................................................................61
Brinquedos...................................................................................................61
Jogos de Cartas............................................................................................62
Jogos de Tabuleiro........................................................................................62
Kidsgames....................................................................................................62
Táticas & Estratégias...................................................................................62
Multimídia............................................................................................62
JuK................................................................................................................62
KAudio Creator.............................................................................................63
KMix.............................................................................................................63
KRec.............................................................................................................64
KsCD.............................................................................................................65
Noatum.........................................................................................................65
Sistema.................................................................................................66
Centro de Informações do KDE....................................................................66
KCron...........................................................................................................67
Konsole.........................................................................................................67
KPackage......................................................................................................68
KRandR.........................................................................................................69
Krfb (Desktop Sharing)................................................................................70
KUser...........................................................................................................70
KwikDisk e KdiskFree..................................................................................71
KSysGuard....................................................................................................71
Utilitários.............................................................................................72
Ark................................................................................................................72
Disquete.......................................................................................................73
Kate / KEdit / KWrite....................................................................................74
KCalc............................................................................................................74
KNotes..........................................................................................................75
Seletor de caracteres...................................................................................75
SuperKaramba.............................................................................................76
Sobre o KDE-Apps.org..................................................................76
Conclusão......................................................................................77
VI. AS FERRAMENTAS DE AJUSTES ..............................78
Introdução.....................................................................................78
O Centro de Controle KDE............................................................78
A inicialização......................................................................................78
As seções..............................................................................................79
Administração do Sistema............................................................................80
Aparência & Temas......................................................................................80
Componentes do KDE...................................................................................80
Controle de Energia.....................................................................................81
Internet & Rede............................................................................................81
Periféricos....................................................................................................82
Regional & Acessibilidade...........................................................................82
Segurança & Privacidade.............................................................................83
Som & Multimidia........................................................................................83
Área de Trabalho..........................................................................................83
As (demais) ferramentas...............................................................83
Assistente de Configurações para a Área de Trabalho.....................84
Configurar o Painel.............................................................................84
Editor de Menus..................................................................................85
Ferramenta de Atualização de Menu.................................................85
Ferramenta de Gerenciamento da Carteira......................................86
Gerenciador de Impressão..................................................................87
Conclusão......................................................................................88
VII. OPERAÇÕES E AJUSTES AFINS ..............................89
Introdução.....................................................................................89
Seleção da autenticação gráfica...................................................89
Nível de execução...............................................................................89
Seleção de gerenciadores...................................................................90
Seleção do ambiente gráfico........................................................92
Configuração automatizada através do xwmconfig...........................92
Alteração manual para todos os usuários..........................................92
Alterações manuais personalizadas para cada usuário.....................93
Inicialização automática de aplicações.......................................94
Ajustes no idioma (internacionalização).....................................94
Redefinindo ajustes mal feitos.....................................................95
Conclusão......................................................................................96
VISÃO GERAL
Antigamente, os sistemas GNU/Linux não possuíam interfaces gráficas,
tendo todas as suas funcionalidades disponíveis somente com a utilização
da linha de comando. Porém, em virtude da crescente necessidade de
maior interação e da evolução tecnológica, não demorou muito para o
surgimento dos servidores gráficos; conseqüentemente, vieram a luz os
primeiros ambientes gráficos, embora na época as interfaces e os
recursos dos mesmos eram precários, porém funcionais. Mas hoje...
Diferente do Windows, os sistemas GNU/Linux não possuem apenas um, e
sim vários vários ambientes gráficos disponíveis, todos com diversos
recursos e características interessantes. Existem aqueles que
disponibilizam apenas a interface gráfica (ou ambiente X) como também
aqueles que fornecem avançados recursos gráficos para a realização de
diversas atividades. Mas para que tantos ambientes gráficos? Ao invés de
facilitar a adoção de sistemas GNU/Linux, isto não irá complicar mais?
A disponibilidade de uma grande variedade de ambientes gráficos ocorre
graças a facilidade para desenvolvê-los, pois basta aos interessados
conhecerem apenas as funções básicas do servidor gráfico X, já que a
criação e o gerenciamento dos recursos gráficos ficará a cargo do
ambiente gráfico. Em vista disto e, dada a necessidade de serem criadas
soluções personalizadas, aliadas a disponibilidade do código-fonte dos
projetos existentes, o desenvolvimento de diferentes ambientes gráficos
derivados destes projetos vêm para atender a propósitos gerais e/ou
específicos.
Dentre os ambientes gráficos existentes, os mais notáveis são o KDE e o
GNOME, seguidos pelos maravilhosos Xfce, Enlightenment,
WindowMaker, IceWM, Blackbox/Flubox, entre outras diversas opções.
Em virtude das extensas funcionalidades, o KDE é o ideal para a utilização
em sistemas desktops. Por estes motivos este ambiente gráfico será
adotado como base neste trabalho, onde descreveremos suas principais
características, particularidades e algumas instruções de configuração.
Embora diferentes em suas concepções, os ambientes gráficos disponíveis
são ricos em recursos, amigáveis, flexíveis e versáteis. Até mesmo aquelas
interfaces “pobres” ou “limitadas” são ótimas opções para a utilização em
sistemas precários ou de poucos recursos, face a economia em termos de
processamento e demanda de hardware necessários.
Nesta parte, iremos conhecer as características e funcionalidades dos
principais ambientes gráficos disponíveis para os sistemas GNU/Linux. Em
destaque e com grande ênfase, trabalharemos com o KDE. &;-D
6/96
I. OS AMBIENTES GRÁFICOS
INTRODUÇÃO
Conforme havíamos dito resumidamente na Visão geral, existem vários
interfaces e ambientes gráficos disponíveis para os sistemas GNU/Linux,
cada um com seus perfis e características com distinção bastante variável.
Neste capítulo, iremos conhecer os principais ambientes gráficos livres
para os sistemas GNU/Linux. Mais à frente, destacaremos o KDE.
OS AMBIENTES...
OS DESKTOPS...
O KDE E O GNOME
Os ambientes gráficos mais poderosos e completos existentes para os
sistemas GNU/Linux são o GNOME e o KDE, onde este último será
adotado como padrão no desenvolvimento deste trabalho. Ambos serão
bastante comentados nos próximos capítulos.
BLACKBOX / FLUXBOX
✔ <http://blackboxwm.sourceforge.net/>.
✔ <http://www.fluxbox.org/>.
Outras ótimas opções de ambientes gráficos leves e funcionais são o
BlackBox e o FluxBox. Ambos foram concebidos para serem interfaces
gráficas simples, rápidas e inéditas, tendo os conceitos básicos
usabilidade diferenciados dos tradicionais ambientes gráficos.
7/96
BlackBox, tela obtida da página oficial do projeto.
ENLIGHTENMENT
✔ <http://www.enlightenment.org/>.
Desenvolvido por Rasterman e conhecido popularmente por “E”, o
ambiente gráficos Enlightenment foi tem como a principal característica
ser o gerenciador de maior flexibilidade possível, podendo ser totalmente
configurável até nos mínimos detalhes.
8/96
Tela obtida da página oficial do projeto.
ICEWM
✔ <http://www.icewm.org/>.
Mais um ótimo ambiente gráfico. Simples, leve e prático, a interface do
IceWM é bastante similar ao Windows 95, onde consta um botão abaixo e
à esquerda da janela que aciona os principais aplicativos, outros
elementos como a barra de tarefas com os aplicativos em execução, além
de mostrar a hora corrente e o estado da conexão com a Internet.
9/96
Tema BlueCrux, obtido da página oficial do projeto.
XFCE
✔ <http://www.xfce.org/>.
Desenvolvido por Olivier Fourdan, o Xfce nasceu com o objetivo de ser um
ambiente gráfico simples e eficiente, conciliando um belo padrão de
beleza a uma excelente performance, onde a baixa demanda de hardware
é o fator preponderante para sua utilização. Por fim, torna-se excelente
opção para equipamentos modestos, obsoletos e de recursos limitados.
10/96
Tela obtida da página oficial do projeto.
WINDOWMAKER
✔ <http://www.windowmaker.org/>.
Desenvolvido pelo brasileiro Alfredo Kojima, o WindowMaker foi
concebido para dar suporte as aplicações GNUStep. Foi um dos ambientes
gráficos mais utilizados nos sistemas GNU/Linux, por consumir poucos
recursos de máquina e de ter boa flexibilidade. Apesar de utilizar a
modesta biblioteca gráfica Xlib, possui um excelente visual, lembrando
muito o AfterStep (o qual seu código foi derivado deste projeto) e com
suporte a temas belos e variados que podem ser encontrados em diversas
páginas eletrônicas.
11/96
Tela obtida da página oficial do projeto.
AMBIENTES EM 3D?
LOOKING GLASS
✔ <http://wwws.sun.com/software/looking_glass/>.
Uma das maravilhas proporcionadas pelas aceleradoras de vídeo está na
possibilidade de curtir gráficos de altíssima qualidade, com grande
variedade de cores e suavidade de movimentação. E estes recursos estão
sendo agora incorporados para os ambientes gráficos graças a Sun
Microsystem com o desenvolvimento do Looking Glass.
12/96
Tela “Applications view”, obtida da página oficial do projeto.
METISSE 3D
✔ <http://insitu.lri.fr/~chapuis/metisse/>.
Outra interessante interface gráfica em 3D, que utiliza os recursos
gráficos providos por uma aceleradora gráfica e sua licença é a GPL, é o
Metisse.
13/96
Tela obtida da página oficial do projeto.
CONCLUSÃO
Existe uma infinidade de ambientes gráficos que, apesar da maioria não
possuir a força dos poderosos KDE e GNOME, eles estão aptos para a
realização da maioria das atividades inerentes, tendo como grande
vantagem na maioria das vezes, menores exigências de performance e
hardware, o que os tornam ideais para máquinas antigas e obsoletas. Além
disso, em alguns deles os usuários encontrarão características tão
interessantes que talvez dispense até os principais ambientes gráficos
existentes para a realização de suas atividades.
Analisem cada um destes e, caso se interessarem por algum, procurem
seus respectivos pacotes no FTP do Slackware para realizar a sua
instalação; ou caso não se encontrem, obtenham o código-fonte
diretamente da página oficial. Maiores informações encontraremos na 5a.
Parte: Gerenciamento de Programas -> Obtendo os pacotes oficiais. &;-D
14/96
II. O KDE E O GNOME
INTRODUÇÃO
O KDE e o GNOME são atualmente os maiores e mais poderosos
ambientes gráficos disponíveis para os sistemas GNU/Linux: lindos,
modernos, sofisticados, ricos em recursos e funcionalidades, são também
os mais utilizados, superando o patamar de 80% de usuários linuxers do
Brasil.
Neste capítulo, iremos conhecer um pouco de cada um deles.
O GNOME
✔ <http://www.gnome.org/>.
O GNOME - GNU Network Object Model Environment – é o maior “rival”
do KDE no quesito “super ambiente gráfico”, criado pelo mexicano Miguel
de Icaza. Originalmente, é desenvolvida a biblioteca GTK para a
construção de um aplicativo de editoração de imagens, o famoso GIMP;
para tirar proveito dos ricos recursos disponibilizados por ela, foi utilizada
para a construção de um ambiente gráfico para ser uma opção à altura do
excelente KDE.1 Daí nasceu o GNOME.
15/96
funcionalidades para facilitar ainda mais a vida do usuário, porém menos
vastos, em virtude de sua filosofia de simplicidade e eficiência.
Em destaque, a sua grande ênfase a usabilidade, o excelente gerenciador
de arquivos Nautilus, o integrado gestor de informações pessoais
Evolution, além de uma série de outros utilitários necessários para um
bom desktop.
OS REQUERIMENTOS
O GNOME não chega a ser tão exigente quanto o KDE, mesmo que venha
a utilizar quase os mesmos requisitos de hardware que este último. Em
muitos caso, nas máquinas equipadas com 256 MB de memória RAM, seu
desempenho é muitas vezes, mais leve que o seu rival. Em contrapartida,
o GNOME não chega a apresentar recursos tão vastos, concentrando-se
em funcionalidades simples, prática e de uso comum no dia-a-dia. Para
utilizarmos o GNOME, necessitaremos de um processador Pentium III de
750 Mhz, com a quantidade de memória RAM acima mencionada.
INICIANDO O GNOME
Na inicialização do GNOME, teremos à nossa disponibilidade, o ambiente
de trabalho com as mesmas funcionalidades do KDE. Porém, não auto-
executa nenhum assistente de configuração em sua primeira inicialização,
ficando ao nosso cargo acessarmos o menu Applications (Aplicações) ->
Desktop Preferences (Preferências) e realizarmos os ajustes necessários.
A estrutura deste ambiente de trabalho apresenta os seguintes elementos:
os menus Applications (Aplicativos) e Actions (Ações)...
16/96
... e os atalhos da área de trabalho.
O NAUTILUS
✔ <http://www.gnome.org/projects/nautilus/>.
O gerenciador de arquivos (e navegador WEB) do GNOME é o Nautilus.
O Nautilus.
17/96
AS “VERSÕES” DO GNOME
✔ <http://www.droplinegnome.net/>.
✔ <http://gsb.freerock.org/>, <http://gwaret.org/>.
O GNOME deixou de fazer parte da distribuição Slackware desde a versão
10.12 pelo fato de seu criador ter dificuldades em realizar a compilação
dos pacotes deste ambiente gráfico. Mas se ainda assim desejarmos tê-lo
no sistema, deveremos então utilizar os pacotes de “versões” pré-
compiladas disponíveis para ele. Nesta literatura, utilizaremos o Dropline
GNOME.
2 Nesta versão ainda é distribuído o ambiente gráfico, porém a antiga versão 2.6, já
que a atual 2.8 já estava em vigor antes do lançamento da distribuição.
18/96
Tela do instalador do Dropline GNOME.
OBSERVAÇÕES FINAIS
Apesar de não possuir tantos recursos quanto seu rival, o GNOME possui
características e qualidades interessantes, como a disponibilização de
forma completa e integrada das aplicações necessárias para o uso do dia-
a-dia. Nada de um visual “poluído” pela farta disponibilidade de ícones, e
sim apenas o básico, necessário e essencial. Porém, para a maioria das
19/96
necessidades sempre haverá um atalho disponível no menu Aplicações
que aciona os programas do ambiente. Estes, além da excelente
qualidade, possuem uma interface gráfica bela e consistente, além de se
encontrarem padronizados com a utilização da biblioteca GTK.
Além disso, pelo fato de não dispor atalhos para outros aplicativos que
utilizam outras bibliotecas gráficas (especialmente a Qt), o GNOME terá
uma melhor performance em equipamentos modestos ou medianos.
Dependendo das condições, poderá até mesmo desbancar o KDE e se
tornar – tal como o Xfce – a opção ideal para a sua utilização.
O KDE
✔ <http://www.kde.org/>.
O KDE – The K Desktop Environment – é considerado um dos maiores
projetos de Software Livre conhecido da atualidade. Trata-se de um
ambiente gráfico completo, poderoso, intuitivo, prático, customizável, e de
fácil utilização. Possui uma interface bela e integrada, além de dispor de
uma boa variedade de aplicações-base para as mais diversas necessidades
de um boa estação de trabalho.
20/96
A biblioteca gráfica Qt é a principal “responsável” pela beleza, graça e
consistência deste ambiente gráfico e de suas aplicações. Ela é
desenvolvida em C++ e criada pela empresa holandesa TrollTech.
Atualmente ela se encontra disponível licenciada sob a GNU GPL, embora
também exista uma licença comercial (duplo-licenciamento) para o
desenvolvimento de aplicativos proprietários.
Em virtude da existência de inúmeras aplicações e recursos, o KDE é a
opção ideal para os usuários iniciantes. Nele, será minimizado e/ou até
mesmo desnecessário o conhecimento de intervenções e atividades extras
para a administração geral do sistema, além da procura, seleção,
instalação, configuração e uso de aplicações extras para suprir
deficiências (se existirem...). Isto somente ocorrerá em situações
específicas.
Aqui, faremos apenas uma breve descrição geral do KDE, já que, por ser o
ambiente gráfico padrão em todo o desenvolvimento deste trabalho,
deixaremos as demais instruções a serem descritas nos capítulos
seguintes.
OS REQUERIMENTOS
Apesar de inúmeras vantagens, o KDE possui também algumas limitações
em comparação aos demais ambientes gráficos. Dentre elas, a principal é
a necessidade de uma máquina dotada de um processador com razoável
desempenho, do porte de um Pentium III de 750 Mhz ou equivalente e
uma boa quantidade de memória, com pelo menos 256 MB. Ainda
poderemos utilizar este ambiente gráfico com menos memória, porém
teremos apenas um modesto desempenho. A seu favor, encontraremos
vastos recursos e funcionalidades, e graças a esta qualidade, será lógico
concluir que a demanda de processamento e hardware tenderá a ser
maior, em alguns casos até mesmo em comparação ao desempenho obtido
pelo GNOME.
Outro aspecto importante está na distribuição em uso, pois a performance
geral pode variar: por exemplo, nas tradicionais Red-likes, suas exigências
chegam ao ponto de requerer um equipamento dotado de um processador
com pelo menos 1 Ghz de frequência e mais de 256 MB de RAM (sendo
recomendado 512 MB). Já para o Slackware, um Pentium de 450 Mhz e
256 MB de RAM são suficientes, embora seja uma configuração bem
modesta.
OBSERVAÇÕES GERAIS
O KDE é atualmente o ambiente gráfico mais rico de recursos nos
sistemas GNU/Linux, desbancando até mesmo o GNOME com suas
inúmeras funcionalidades e implementações. Para aqueles que possuem
uma máquina razoável com bons recursos de processamento e hardware,
é a opção que melhor fará uso de todo o poder de fogo destes
21/96
equipamentos.
Porém toda esta gama de recursos tem um alto preço: para equipamentos
de baixa e – em alguns casos – média performance, a exigências do KDE o
tornam uma opção não muito viável para a sua utilização nestas máquinas,
onde em diversas circunstâncias será desbancado por gerenciadores mais
leves, como o Xfce e o Enlightenment. Além disso, seu carregado menu K
também disponibiliza atalho para outras aplicações que, por fazer uso de
outras bibliotecas (como a GTK), tornam este ambiente gráfico um grande
devorador de memória RAM.
CONCLUSÃO
A escolha dos ambientes gráficos varia de acordo com a necessidade (e
preferência) dos usuários; mas, para a obtenção de excelentes recursos e
funcionalidades, além de uma melhor integração com determinadas
aplicações, é preferível que este faça a escolha de um destes ambientes
gráficos. Tanto o GNOME quanto o KDE (especialmente este último)
fornecem soluções completas para um ótimo desktop! &;-D
22/96
III. INICIANDO O KDE
INTRODUÇÃO
No capítulo anterior, vimos as principais características e qualidades dos
principais ambientes gráficos disponíveis, onde destacamos os poderosos
GNOME e KDE, além de ressaltamos a importância deste último, por ser o
mais largamente utilizado no Brasil. Por este (e outros) motivos,
adotaremos o KDE como o nosso ambiente gráfico padrão.
Neste capítulo, iremos conhecer os principais recursos e funcionalidades
deste excelente ambiente gráfico, além das demais particularidades.
PREPARATIVOS INICIAIS
23/96
Assistente de Configurações para a Área de Trabalho (3.5).
O AMBIENTE DE TRABALHO
Como qualquer outro avançado ambiente gráfico, o KDE disponibiliza em
seu ambiente de trabalho os seguintes elementos:
1. A Área de Trabalho;
2. O Painel do KDE;
3. O Menu K.
24/96
O Menu K e o Painel do KDE (3.4).
A ÁREA DE TRABALHO
Esta é a Área de Trabalho do KDE:
25/96
Área de Trabalho.
Dada a sua simplicidade, ela pode ser rapidamente ajustada com o uso da
opção Configurar Área de Trabalho presente no menu rápido do ambiente
de trabalho com o simples clique do botão direito do mouse.
SEUS ATALHOS...
26/96
O ícone Sistema é similar ao tradicional Meu Computador do Windows. A
partir do Koqueror, aqui teremos acesso a configuração geral do sistema
(Centro de Controle KDE), Lixeira, pastas remotas, unidades do sistema
(partições, mídias ópticas e unidades removíveis) e a pasta do usuário.
Já o ícone Pasta do Usuário é nada mais que um atalho do gerenciador de
arquivos Konqueror, disposto da mesma forma que a pasta Meus
Documentos. Basta clicarmos nela e teremos acesso ao diretório pessoal.
Por último, para aqueles que vêem do Windows, não existe muito mistério
para saber qual é a função da Lixeira, onde todos e quaisquer arquivos
desnecessários são removidos até a sua exclusão definitiva...
Podemos criar mais ícones manualmente, utilizando as funções
disponíveis em seu menu rápido. No caso, deveremos utilizar as opções
listadas na seção Criar Novo....
27/96
Criação de um atalho para aplicativo (executável).
28/96
Área de Trabalho enriquecida de novos atalhos para as aplicações utilizadas (KDE 3.4).
O PAINEL DO KDE
O Painel do KDE – não difere muito do Windows, nem das demais
existentes em bons ambientes gráficos. Neste ambiente gráfico, ele é
simples, prático, de fácil uso e extremamente customizável.
Ao posicionarmos o mouse sobre a seta, será mostrada uma legenda que descreverá a
sua funcionalidade (esconder painel).
29/96
O mesmo se dá para a inclusão de novos atalhos para aplicativos e
funcionalidades. Para isto, deveremos utilizar as opções Adicionar ao
Painel e Remover do Painel, para respectivamente adicionar e remover
esses elementos. Na opção Adicionar ao Painel -> Mini-aplicativo, vejam
só a quantidade de elementos (mini-aplicativos) disponíveis:
O MENU K
De modo análogo ao botão Iniciar do Microsoft Windows, o Menu K
disponibiliza ao usuário uma entrada para os principais aplicativos
existentes, bastando apenas clicar no botão K.
30/96
Menu K.
31/96
• Sistema: ferramentas gerais de ajuste e configuração do sistema.
Como o próprio nome diz, difere da seção Configurações pelo fato
destas intervirem no sistema em geral;
• Utilitários: calculadoras, editores de textos, ferramentas de
gerenciamento pessoal, formatador de disquetes, mapa de
caracteres, gerenciadores de dispositivos, enfim, ferramentas
diversas que não se enquadram nas demais categorias.
Na instalação de novos programas, poderemos atualizar o Menu K tanto
automaticamente quanto através do uso da Ferramenta de Atualização de
Menus e do Editor de Menus, ambos disponíveis na seção Configurações.
Este último também pode ser acionado rapidamente através do clique com
o botão direito do mouse sobre o ícone do Menu K -> Editor de Menus:
Em poucos instantes...
O Editor de Menus.
CONCLUSÃO
Por ser bastante similar ao já conhecido e consagrado Windows, não
teremos muita dificuldades na manipulação dos elementos disponíveis no
ambiente de trabalho do KDE. O diferencial principal está na riqueza de
recursos e flexibilidade para personalizarmos ao nosso gosto. Por isto,
incentivamos aos usuários realizarem modificações a gosto próprio com o
objetivo de se familiarizarem mais rapidamente! &;-D
32/96
33/96
IV. O KONQUEROR
INTRODUÇÃO
Todo bom sistema operacional ou ambiente gráfico requer essencialmente
um bom gerenciador de arquivos. Para o Windows, temos o Explorer; para
o MAC OS X, temos o Finder; e para as distribuições GNU/Linux, temos
diferentes opções de gerenciadores de arquivos, onde muitos destes
também possuem todas as funcionalidades básicas necessárias para a
navegação WEB. Para o KDE, temos o Konqueror.
Neste capítulo, iremos conhecer o Konqueror, seus recursos, capacidades
e funcionalidades, além das opções de ajustes, confguração e integração.
O KONQUEROR
✔ <http://www.konqueror.org/>.
Desenvolvido por David Faure (empregado da Mandriva), o Konqueror é o
gerenciador de arquivos e navegador WEB padrão do KDE, além de
acumular uma série de outras importantes funcionalidades...
34/96
permite visualizar diversos formatos de arquivos através de aplicações
nativas do sistema, mas desta vez diferente do Windows Explorer, esta
visualização pode ser feita de forma embutida. Entre tipos de arquivos a
serem visualizados, estão imagens, ícones, textos, páginas html...
AS FUNCIONALIDADES...
Por ser uma ferramenta de essencial importância para este ambiente
gráfico, iremos estudar brevemente suas principais funcionalidades, com
ênfase no gerenciamento de arquivos e diretórios.
MANIPULAÇÃO DE ARQUIVOS
Com o Konqueror podemos realizar as atividades de navegação de forma
simples, prática e extremamente produtiva, seguindo a mesma filosofia do
já consagrado Windows Explorer, da Microsoft.
NAVEGAÇÃO EM ABAS
À partir da versão 3.1 do KDE, o Konqueror passou a suportar o modo de
navegação em abas, tal como é feito no Firefox. Este recurso é muito útil
para visualizarmos diversas seções em uma única janela do navegador,
onde assim poderemor organizar melhor a nossa área de trabalho.
35/96
O Konqueror exibindo 4 abas para 4 diretórios distintos: docs, cdrom, flash e floppy. No
canto esquerdo, o ícone “Fechar a aba atual”.
NAVEGAÇÃO EM PAINÉIS
Da mesma forma que podemos abrir múltiplas abas de navegação,
também podemos dividir a janela em vários painéis. Para isto, deveremos
inicialmente habilitar a Barra de Ferramentas Extra do Konqueror,
clicando com o botão direito sobre os ícones da barra de ferramentas e
marcando-a.
36/96
Acionamento da Barra de Ferramenta Extra.
Visão em Topo/Base.
PERMISSÕES DE ACESSO
Os atributos referentes a permissões de acesso dos arquivos e diretórios
poderão ser definidos com o clique do botão direito do mouse sobre o
elemento. Em seguida, basta clicarmos na opção Propriedades...
37/96
Caixa de diálogo Propriedades.
38/96
das opções contidas na seção Extrair do menu rápido.
Seleção das opções do menu rápido do Konqueror. Em destaque a seção Extrair e suas
opções.
Estes recursos são ótimos para manipular pacotes que contém o código-
fonte de aplicações, pois bastará apenas entrarmos no diretório criado
(pressionando <F4> para inicializar o Konsole) e lançarmos os comandos
necessários para a instalação.
NAVEGAÇÃO WEB
Além de ser um excelente gerenciador de arquivos, com o Konqueror
podemos também navegar na Internet. Para esta atividade, há um ícone
na barra de tarefas intitulado Navegador Web.
39/96
Dos ícones da Barra de Tarefas, observem o Navegador Web (KDE 3.4).
40/96
Seção Java & JavaScript.
CLIENTE FTP
Mais um excelente recurso do Konqueror. Com ele, podemos realizar
atividades de transferência de arquivos através do protocolo FTP.
Na barra de endereços, digitem...
ftp://ftp.[DOMÍNIO.EXTENSÃO]/
Para conexões anônimas (pública, que não requerem senha para acesso),
onde normalmente só é permitida a navegação e baixa dos arquivos;
ftp://[USUÁRIO]@ftp.[DOMÍNIO.EXTENSÃO]
Para conexões autenticadas, onde é possível também o envio de arquivos.
Neste caso, deveremos ter uma conta de autenticação neste FTP.
Ao utilizarmos esta última opção, será solicitada a senha de acesso. Mas
ainda assim, se quisermos nos autenticar automaticamente sem a
utilização de senha de acesso, deveremos utilizar...
ftp://[USUÁRIO].[SENHA]@ftp.[DOMÍNIO.EXTENSÃO]
Agora, bastará administrarmos o FTP como se fosse uma simples
estrutura local de diretórios.
AS FERRAMENTAS...
Caracterizamos como ferramentas especiais, aquelas descritas no menu
principal, seção Ferramentas. Constam as seguintes:
41/96
ABRIR TERMINAL
Se precisarmos acionar o terminal num diretório específico para operar
determinados arquivos, poderemos ir ao menu principal -> Ferramentas -
> Abrir Terminal. Em poucos instantes, será inicializado o Konsole.
PROCURAR ARQUIVOS
Outra funcionalidade interessante no Konqueror está na utilização da
ferramenta de busca Procurar Arquivos/Pastas, que por sua vez inicializa
embutido na própria janela do navegador. Ao clicarmos no menu principal
-> Ferramentas -> Procurar Arquivo..., instantâneamente ela aparecerá.
42/96
Ferramenta Procurar arquivos.
FILTRO DE VISUALIZAÇÃO
Quando navegamos num determinado diretório que possui uma
quantidade infindável de arquivos, que por sua vez possuem os mais
diversos formatos, teremos dificuldade de encontrar aqueles que
desejamos. Porém, se soubermos o formato de arquivo que lidaremos,
poderemos acionar esta ferramenta para filtrarmos tal arquivo apenas
pelo seu formato. Para isto, acessem o menu principal -> Ferramentas ->
Filtro de visualização.
43/96
Ferramenta Filtro de visualização.
GALERIA DE IMAGENS
Para os usuários que armazenam diversas imagens, ou ainda, utilizam
câmeras digitais e scanners para capturarem suas imagens preferidas,
temos uma ferramenta interessante no Konqueror para criar galerias de
imagens. No menu principal -> Ferramentas -> Criar Galeria de
imagens..., seremos levados à uma caixa de diálogo com diversas opções.
44/96
Nova galeria de imagens.
COMANDO DO SHELL
Outra praticidade interessante do Konqueror está na possibilidade de
executarmos um determinado arquivo situado dentro de um diretório
visualizado por ele. Basta manter selecionado o arquivo executável e
acionar no menu principal Ferramentas -> Executar Comando do Shell....
Será mostrada a seguinte caixa de diálogo:
OS PROTOCOLOS...
Para habilitar as demais funcionalidades do Konqueror, deveremos lançar
em seu campo Localização deste gerenciador de arquivos, os Protocolos,
que são simples aplicações embutidas que permitem “conversar” entre si.3
À seguir, vejam as principais funcionalidades presentes nesta ferramenta:
• audiocd:/ - conversão das faixas de áudio em arquivos;
3 Também são chamados de Ioslaves.
45/96
• floppy:/ - acesso a unidade de disquete do sistema;
• ftp:// - navegação em FTPs, como se fossem diretórios locais;
• http:// - acesso ao protocolo HTTP, tal como um navegador WEB;
• man:/ - exibe a documentação eletrônica dos comandos (man-
page);
• print:/ - exibe as ferraemntas de impressão do sistema
• settings:/ - exibe todas as entradas (seções) do Centro de Controle.
Para exemplo prático, vejam as opções pré-definidas pelo settings:
Existem inúmeras outras que aqui não foram descritas por não ser de
interesse geral do usuário desktop. Para visualizá-las, cliquem no menu K
-> Sistema -> Centro de Informações e visitem a seção Protocolos.
46/96
Opção Configurações -> Configurar Konqueror.
CONCLUSÃO
Como dissemos antes, um excelente ambiente gráfico precisa – antes de
tudo – prover uma excelente aplicação para o gerenciamento de arquivos,
entre outras tarefas. E o Konqueror cumpre maravilhosamente bem suas
tarefas. Além disso, é considerado como um dos melhores (se não o
melhor) gerenciador de arquivos da categoria. &;-D
47/96
V. AS APLICAÇÕES NATIVAS
INTRODUÇÃO
Um bom ambiente gráfico deverá prover aos usuários – além do
gerenciador de arquivos e painel de configuração – excelentes
ferramentas e recursos para que possam obter produtividade em suas
atividades. De tarefas simples que vão desde realizar cálculos ou formatar
disquetes para as tarefas complexas e elaboradas, requerem que estes
recursos estejam disponíveis de forma fácil e intuitiva ao usuário.
Neste capítulo, iremos conferir apenas as principais aplicações nativas
existentes para o ambiente gráfico KDE.
AS APLICAÇÕES...
CONFIGURAÇÕES
Além do Centro de Controle do KDE, o KDE também fornece algumas
ferramentas práticas para realizarmos ajustes e configurações no sistema.
Estes ficam situados na seção Configurações.
DESENVOLVIMENTO
Embora um usuário desktop raramente desenvolve aplicações, existem
excelentes aplicações para o desenvolvimento em geral. Nesta categoria,
apresentaremos o KDevelop, o Kommander, o Quanta e o Umbrello.
KDEVELOP
✔ <http://www.kdevelop.org/>.
O KDevelop é uma ferramenta IDE desenvolvida em meados de 1998 e sua
principal finalidade era a de um ambiente integrado de programação.
48/96
KDevelop.
KOMMANDER
✔ <http://kommander.kdewebdev.org/>.
O Kommander é uma aplicação destinada para construir interfaces
gráficas para as aplicações escritas em Shell-script. Para aqueles que já
trabalharam com o Delphi ou Visual Basic, sentirão muita familiaridade.
49/96
Kommander.
QUANTA +
✔ <http://quanta.kdewebdev.org/>.
Apesar de estarem sendo “substituídos” pelos editores visuais, os editores
de código HTML ainda continuam sendo bastante usados, graças a
possibilidade de se obter um código enxuto e bem organizado. Entre os
principais editores de código livres, destaca-se o Quanta+.
50/96
Quanta+.
UMBRELLO
✔ <http://uml.sourceforge.net/>.
Todos os softwares profissionais, antes de serem desenvolvidos, devem
ser previamente projetados através do uso de certas ferramentas
concebidas especialmente para estes propósitos. Um diagramador para o
uso da UML é necessário, e para estas circunstâncias, temos o Umbrello.
Umbrello.
51/96
O Umbrello suporta os diagramas de caso de uso, de classe, de seqüência,
de colaboração, de estado, de atividade, de componente e de distribuição,
segundo a sua documentação oficial.
EDUCACIONAL
✔ <http://edu.kde.org/>.
Dada a existência de uma grande quantidade de aplicações, apenas
faremos uma rápida descrição geral daquelas que compõem esta classe.
CIÊNCIA
Em Ciência, temos: o Estrelas, um reprodutor visual e interativo que
simula o sistema estrelar; e o Kalsium, que por sua vez reproduz a tabela
periódica de elementos.
FERRAMENTAS DE APRENDIZADO
IDIOMAS
Em Idiomas, temos: KHandMan, um jogo classico onde deveremos
advinhar as letras de uma palavra; KLatin, que permite fazer revisões aos
conhecimentos de latin; Kanagram, um simulador de anagramas; Kiten,
uma ferramenta de referência ao japonês; Kverbo, que permite conjugar
verbos; Letras, para o aprendizado de novos idiomas por associação
auditiva; e o Treinador de Vocabulário, que dispensa comentários.
MATEMÁTICA
Em Matemática, temos: KBrush, para o treino em cálculos com frações;
KPor Cento, para o treino em cálculos com percentuais; Kig, um sistema
para construção de elementos geométricos; e KmPlot, um gerador de
gráficos de funções matemáticas.
OUTROS
Em Outros, temos: Kgeography, que mostra os mapas e bandeiras dos
principais países do mundo; KTouch, que permite o treino de digitação;
KTurtle, um ambiente de desenvolvimento educacional para a linguagem
Logo; KWordQuiz, para o treino de novos vocábulos; e blinkKen, que ajuda
a treinar a capacidade da memória.
52/96
ESCRITÓRIO
O KDE conta com algumas excelentes aplicações para escritório. Em
destaque, o KOffice e o Kontact, ambos são respectivamente soluções
integradas para escritório e gerenciamento pessoal.
KOFFICE
✔ <http://www.koffice.org/>.
O KOffice é uma excelente suíte de escritório integrada que pertence ao
ambiente gráfico KDE. Leve, simples e com um ótimo acabamento, porém
ainda se encontram algumas limitações, como por exemplo a conversão de
documentos gerados pelo Microsoft Office.
53/96
• Krita, tratamento de imagens;
• KSpreadsheet, planilha eletrônica;
• Kugar, gerador de relatórios (para aplicações KDE);
• KWord, editor de textos.
Por padrão, o KOffice é disponibilizado ao sistema em seu idioma original.
Para ajustá-lo para o português, deveremos instalar o pacote koffice-i18n-
pt_BR-[VERSÃO]-noarch.tgz. Por último, ajustem o KDE para o nosso
idioma. Assim, automaticamente o KOffice estará configurado, graças a
sua integração com o ambiente gráfico. Lembrem-se também que a
nomenclatura do pacote pode variar com o exemplo (fictício) acima citado.
Para realizarmos ajustes e configurações dos aplicativos da suíte,
deveremos apenas navegar nas opções disponíveis do menu
Configurações e ajustar os parâmetros de acordo com as necessidades.
KONTACT
✔ <http://www.kontact.org/>.
O Kontact não é apenas uma, e sim, várias aplicações integradas que
compõem uma verdadeira suíte para o gerenciamento de informações
pessoais. Tal como o KOffice, é outro grande destaque deste ambiente.
54/96
• KAdressbook, catálogos de endereços do KDE;
• KArm, alarme (gerenciamento de tempo);
• KitchenSync, sincronizador de informações;
• KMail, cliente de correio eletrônico;
• KNodes, leitor de notícias;
• KNotes, sistema de anotações;
• KOrganizer, organizador (agenda);
• KPilot, sincronizador do KDE para o Palm;
• MultiSynK, sincronizador de informações;
Por padrão, a suíte de aplicações Kontact encontra-se disponível no
ambiente gráfico através do pacote kdepim. Uma vez instalado, teremos
todas estas aplicações disponíveis, sem maiores inconvenientes.
Quanto ao ajuste da linguagem nativa, bastará ajustar o idioma do próprio
KDE para que as alterações façam efeito na suíte do Kontact.
GRÁFICOS
Outro grande destaque do KDE está na excelência em aplicações gráficas.
Em destaque, o KPDF, o Krita, o KSnapshot e o KView, entre outras
excelentes aplicações...
KPDF
✔ <http://kpdf.kde.org/>.
O KPDF é o leitor de arquivos PDF padrão do KDE.
KPDF.
55/96
Tendo o código-fonte baseado no já conhecido XPDF, o KPDF possui os
recursos tradicionais de todo bom leitor de PDFs, tais como: visualização
da folha em modo contínuo, miniaturização (thumbnails) das páginas,
visualização em modo de slides, ferramenta para cópia de trechos, entre
outros. Ele também conta com alguns recursos interessantes, como a
integração ao Konqueror e a possibilidade de “lembrar” qual foi a última
página acessada de determinado arquivo.
KSNAPSHOT
Um simples, porém eficiente capturador de telas para o KDE.
Ksnapshot.
Dentre as aplicações nativas, esta foi uma das mais úteis para a editoração
desta literatura. Das imagens obtidas, o GIMP se encarregou do resto...
KRITA
✔ <http://www.koffice.org/krita/>.
Embora também seja considerado um componente da suíte de escritório
KOffice, o Krita é uma das principais aplicações disponíveis nesta
categoria. Ele se encontra integrada ao KOffice partir da versão 1.4 desta
suíte.
56/96
Krita.
KVIEW
✔ <http://www.ph.unimelb.edu.au/~ssk/kde/kview/>.
Um simples e funcional visualizador de imagens para o KDE.
KView.
57/96
imagens bitmaps existentes, tais como BMP, GIF, JPG, PNG, TIFF, ICO,
entre outros. Possibilita também realizar algumas conversões básicas.
INTERNET
Para que serve um bom ambiente gráfico sem excelentes aplicações para
o uso da Internet? Com certeza, não será muito útil. Tal como na seção
Multimídia, o KDE também é rico de aplicações para a Internet.
AKREGATOR
✔ <http://akregator.kde.org/>.
O Akregator é o leitor e agregador de Feeds RSS padrão do KDE.
Akregator.
KGET
✔ <http://kget.sourceforge.net/>.
Para facilitar a obtenção de conteúdos na Internet, foram desenvoldidas
algumas interfaces gráficas para o uso com o wget. Em destaque, o KGet.
58/96
KGet.
KMAIL
✔ <http://kmail.kde.org/>.
O cliente de correio padrão do KDE, o KMail é outra ótima opção de
gerenciador de correio eletrônico. Com uma aparência simples, enxuta e
com disponibilidade de recursos essenciais, o KMail...
... alia simplicidade com eficiência, tendo em sua interface gráfica todos
os elementos necessários distribuídos de forma intuitiva e fácil de usar.
Nele, estão apenas os recursos básicos como a agenda de endereços,
filtragens, criação de pastas, entre outros. Tal como o Thunderbird, ele
oferece suporte a múltiplas contas POP, porém apenas uma SMTP.
Para adicionarmos mais recursos e melhor ajustarmos suas
funcionalidades, deveremos visitar a sua página oficial, na seção Tools &
Docs.
59/96
KONQUEROR
✔ <http://www.konqueror.org/>.
Conforme dito anteriormente, como também no subtítulo O Konqueror, ele
também é uma opção como navegador para a Internet.
KOPETE
✔ <http://kopete.kde.org/>.
O Kopete é o mensageiro oficial do KDE, que se encontra disponível a
partir da versão 3.2 deste excelente ambiente gráfico.
60/96
Kopete (em inglês).
KPPP
✔ <http://developer.kde.org/~kppp/>.
O KPPP é o discador oficial do ambiente gráfico KDE, que alia beleza e
praticidade, além de ser simples e fácil de configurar e utilizar.
KPPP.
JOGOS
Os jogos disponíveis para o KDE são inúmeros; segue apenas os nomes.
ARCADE
Em Arcade, temos: Asteroids, KBounce, Ksnake, KGoldrunner, KFoulEggs,
KsirTet, KSmiletris, KSpaceDuel, KTron e KGolf.
BRINQUEDOS
Em Brinquedos, temos: AMOR, KTeaTime e KWorldClock.
61/96
JOGOS DE CARTAS
Em Jogos de Cartas, temos: KPoker, Klondike, e Lieutenant Skat.
JOGOS DE T ABULEIRO
Em Jogos de Tabuleiro, temos: Atlantik Designer, Atlantik, KBlackBox,
KBlackgammon, KMahjongg, KReversi, KWin4, Kenolaba, Shisen-Sho,
XBoard e eboard.
KIDSGAMES
Em Kidsgames, temos o Homem-batata.
MULTIMÍDIA
A grande força do KDE está justamente as opções de aplicações
multimídia. Além dos já consagrados K3b, Kaffeíne e AmaroK, o ambiente
gráfico dispõe de excelentes aplicações básicas.
J UK
✔ <http://developer.kde.org/~wheeler/juk.html>.
O JuK é o tocador de áudio multimídia padrão do KDE.
62/96
K3b.
KAUDIO CREATOR
Embora tenhamos a função de ripar CDs de áudio no Konqueror, o KDE
tem sua aplicação padrão para esta finalidade: o Criador de Áudio.
KAudio Creator.
KMIX
O ambiente gráfico KDE no oferece opções nativas para um bom ajuste,
além da existência de utilitários específicos para tal finalidade: o KMix.
63/96
encontra inicializado, porém minimizado, disponibilizando apenas um
pequeno ícone azul para ser acessado.
Basta clicar sobre o ícone para que seja exibida a barra de volume. Logo
abaixo encontraremos o botão Mixer...
... que por sua vez ao ser acionado, disponibilizará a interface gráfica para
realizarmos as configurações desejadas. O mesmo ocorre com o KsCD,
que também é minimizado para a barra de tarefas.
KREC
O KRec é o gravador de áudio padrão do KDE.
64/96
KSCD
O KsCD é o reprodutor de CDs de áudio padrão do KDE.
NOATUM
✔ <http://noatun.kde.org/>.
Um reprodutor multimídia para o sintetizador aRts, do KDE.
Interface “Excelente”.
65/96
SISTEMA
Aqui encontraremos as ferramentas para a administração geral do
sistema.
Um aspecto importante é que, para usar determinadas ferramentas, será
necessário estar autenticado no sistema no modo superusuário – root.
Caso contrário, será aberta uma nova tela solicitando a senha de acesso
desta conta, que, após ser digitada, teremos o acesso ao sistema para
realizar as atividades desejadas.
66/96
Centro de Informações do KDE.
O que mais poderíamos dizer sobre este utilitário? Em seu menu principal
estão classificadas por perfis todas as informações gerais do computador,
onde entra em destaque, o módulo PCI, onde teremos a descrição de
todos os periféricos que utilizam este barramento.
KCRON
Em sistemas Unix-like, o crontab é a ferramenta de agendamento e
gerenciamento de tarefas; no KDE temos uma interface gráfica construída
especialmente para esta tarefa: KCron.
KONSOLE
✔ <http://konsole.kde.org/>.
Conforme já comentamos em outras Partes, o Konsole é a aplicação de
linha de comando (terminal) simples e fácil de utilizar e personalizar.
67/96
Konsole (Terminal virtual).
KPACKAGE
✔ <http://www.general.uwa.edu.au/u/toivo/kpackage/>.
Desde as suas primeiras versões, o KDE conta com o KPackage, um
gerenciador de pacotes nativos para o ambiente gráfico.
KPackage.
68/96
Com esta ferramenta, poderemos gerenciar sem maiores dificuldades os
pacotes instalado no sistema, através das operações de instalação,
atualização e remoção disponíveis nas abas e barra de ferramentas lateral.
Para as distribuições que utilizamo o formato RPM, esta ferramenta conta
ainda com a possibilidade de utilizar seus recursos de checagem de
dependências, informando-as ao administrador.
KRANDR
Como o próprio nome indica, o KRandR é uma simples ferramenta que
possibilita redimensionar e rotacionar a resolução de video.
69/96
KRFB (DESKTOP SHARING)
O Krfb (Desktop Sharing) é uma aplicação destinada especialmente para o
compartilhamento de recursos de um desktop.
KUSER
O KUser é o gerenciador padrão de contas de autenticação dos usuários e
grupos de acesso do sistema operacional.
KUser.
70/96
irá gravar as definições realizadas até então.
KWIKDISK E KDISKFREE
O KwikDisk (Utilitário de Mídia Removível) e o KDiskFree (Disco Livre) são
ferramentas nativas do ambiente criadas para o gerenciamento do sistema
de armazenamento de dados (unidades e partições).
KSYSGUARD
O KSysGuard – Guarda do Sistema KDE – é a aplicação que permite
monitorar os aplicativos em aberto e o desempenho geral do sistema.
71/96
processador, memória, disco rígido, alimentação elétrica, entre outros,
possibilitando-nos verificar o desempenho geral do sistema. Já a aba
Tabela de Processos nos permite visualizar todas as aplicações em aberto,
além de nos possibilitar matar os aplicativos que porventura travarem no
sistema.
De forma análoga a conhecida combinação <CTRL>+<ALT>+<DEL>,
também poderemos habilitar a aba Tabela de Processos apenas
pressionando simultâneamente as teclas <CTRL>+<ESC>.
UTILITÁRIOS
Ao acionarmos o Menu K -> Utilitários, veremos uma quantidade enorme
de pequenos e úteis aplicativos para as mais variadas necessidades – e por
isto são chamados de utilitários! Nesta seção descreveremos basicamente
apenas alguns utiliitários de uso bastante comum pelos usuários desktops.
ARK
Uso de ferramentas para a compressão e descompressão de arquivos é
grande nos tempos atuais. E para esta atividade temos o Ark.
72/96
Arquivador Ark.
Com uma interface simples, intuitiva e fácil de usar, o Ark lembra muito as
tradicionais aplicações do Windows como o WinZip, PowerArchive e
BraZip.
Também poderemos usar suas funcionalidades de forma integrada ao
Konqueror, através do clique do botão direito do mouse sobre o arquivo
em questão, nos mesmos moldes que faríamos no Windows Explorer.
DISQUETE
O Disquete (KFloppy) é o formatador padrão de disquetes do KDE.
Disquete.
73/96
Nele podemos ainda definir qual será o sistema de arquivos à ser utilizado
(DOS ou ext2). Recomendamos utilizar o DOS (FAT16), para que possa ser
acessado por outros computadores que utilizam Windows.
KCALC
Sem maiores comentários, esta é a calculadora do KDE!
74/96
KCalc.
KNOTES
Um simples anotador para o KDE.
KNotes.
SELETOR DE CARACTERES
75/96
Seletor de caracteres.
SUPERKARAMBA
✔ <http://netdragon.sourceforge.net/>.
O SuperKaramba é uma excelente ferramenta gráfica que auxilia o
administrador no gerenciamento do sistema em geral.
SuperKaramba.
SOBRE O KDE-APPS.ORG
Por ter sido concebido para ser um ambiente gráfico completo e
76/96
poderoso, o KDE possui diversos aplicativos e utilitários importantes. Mas
ainda assim, não tem todas as aplicações possíveis. É nestas
circunstâncias em que ter um repositório de aplicações para o KDE é
interessante...
KDE-Apps.org.
CONCLUSÃO
As aplicações nativas do KDE foram projetadas para atenderem as mais
diversas necessidades básicas dos usuários – apesar de que boa parte
delas estão amadurecidas em nível tão alto que dispensam outras
aplicações da mesma categoria. Nestas circustâncias, teremos poucos
motivos para realizarmos a instalação de aplicações fornecidas por
terceiros. &;-D
77/96
VI. AS FERRAMENTAS DE AJUSTES
INTRODUÇÃO
São suas ferramentas de ajustes que tornam um bom ambiente gráfico
flexível e personalizável ao gosto do usuário. E quanto mais flexível é um
ambiente gráfico, mais sofisticadas deverão ser as suas ferramentas de
ajustes. Com o KDE, certamente não seria diferente.
Neste capítulo, iremos conhecer as principais ferramentas de ajustes do
KDE. Em destaque, o Centro de Controle KDE.
A INICIALIZAÇÃO
Basicamente, para ter acesso direto ao Centro de Controle KDE, cliquem
no menu K -> Centro de Controle. Porém, para acessarmos os seus
módulos separadamente através do menu prinicipal, teremos que habilitar
o menu opcional Configurações, clicando com o botão direito do mouse
78/96
sobre o Painel do KDE e acionar neste menu as opções Painel do KDE ->
Configurar Painel... Na seção Menus, na caixa K Menu e em Menus
opcionais, bastará marcar a opção Configurações.
AS SEÇÕES
As seções disponíveis no Centro de Controle são:
79/96
ADMINISTRAÇÃO DO SISTEMA
Em Administração do Sistema, se encontram disponíveis diversos módulos
desenvolvidos para facilitar a realização de atividades administrativas não
só do ambiente gráfico, mas também do sistema operacional em geral.
Esses módulos definem:
• Caminhos
• Data & Hora
• Gerenciador de Inicialização (LILO)
• Gerenciador de Login
• Instalador de Fontes
• Laptop IBM Thinkpad
• Laptop Sony Vaio
• Índice de Imagens
COMPONENTES DO KDE
Em Componentes do KDE, muitos dos recursos e serviços disponibilizados
pelas aplicações que o compõe podem ser ajustados aqui. Em destaque, as
opções de configuração do Konqueror. Os demais são:
• Associações de Arquivos
• Corretor Ortográfico
80/96
• Fonte de Dados do KDE
• Gerenciador de Arquivos
• Gerenciador de Serviços
• Gerenciador de Sessão
• Performance do KDE
• Seletor de Componentes
Para obterem maiores informações sobre as opções de ajuste e
configuração do Konqueror, consultem nesta parte o capítulo O
Konqueror.
CONTROLE DE ENERGIA
Em Controle de Energia, somente encontramos um módulo para
ajustarmos as propriedades de controle de energia, e ainda assim é
aplicável apenas para equipamentos portáteis – os notebooks. Chama-se...
• Bateria do Laptop
81/96
• Cache
• Comportamento WEB
• Cookies
• Filtros AdBlock
• Folhas de Estilo
• Fontes
• Identificação do Navegador
• Java & JavaScript
• Plug-ins
• Scripts SGI
PERIFÉRICOS
Em Periféricos, ganham a vez todos os periféricos de entrada e saída do
sistema: desde o trio básico teclado, monitor e mouse aos sofisticados
controle-remotos. Para isto, existem os seguintes módulos:
• Controles Remotos
• Impressoras
• Joystick
• Mouse
• Mídia de Armazenamento
• Teclado
• Tela
82/96
SEGURANÇA & PRIVACIDADE
Em Segurança & Privacidade, temos excelentes módulos que possibilitam
redefinir as configurações do sistema para nossa maior comodidade e
segurança. Constam os seguintes módulos:
• Carteira do KDE
• Criptografia
• Privacidade
• Senha & Conta do Usuário
ÁREA DE T RABALHO
Em Área de Trabalho, todos os módulos que compõe esta categoria têm o
objetivo de auxiliar o usuário a predefinir o comportamento da área de
trabalho do ambiente gráfico com a atribuição de valores para os campos
disponíveis. Em alguns itens, podemos inclusive realizar personalizações
cosméticas, como o Painel do KDE, por exemplo. Os módulos são:
• Barra de Tarefas
• Comportamento
• Comportamento da Janela
• Configurações Específicas da Janela
• Múltiplas Áreas de Trabalho
• Painéis
AS (DEMAIS) FERRAMENTAS
Grande parte das ferramentas de ajuste e configuração do ambiente
possuem entradas no menu K -> Configurações.
83/96
Lá encontraremos as seguintes ferramentas:
• Assistente de Configurações para a Área de Trabalho;
• Configurar o Painel;
• Editor de Menus;
• Ferramenta de Atualização de Menus;
• Ferramentas de Gerenciamento da Carteira;
• Gerenciador de Impressão.
CONFIGURAR O PAINEL
Para realizarmos ajustes gerais no painel do ambiente de trabalho,
poderemos recorrer ao atalho Configurar o Painel.
84/96
Configurar Painel, entrada também disponível no Centro de Controle .
EDITOR DE MENUS
O Editor de Menus fornece todos os recursos necessários para que
possamos ajustar o Menu K conforme nossas necessidades.
O Editor de Menus.
85/96
Ferramenta de Atualização de Menu, sendo acionada pela 1a. vez.
86/96
Ferramenta de Gerenciamento da Carteira – o popular “Carteira de Senhas do KDE”.
GERENCIADOR DE IMPRESSÃO
Outra maravilhosa ferramenta do KDE é o seu Gerenciador de Impressão.
87/96
Assistente de configuração da impressora – KDE.
CONCLUSÃO
O KDE foi concebido para ser um ambiente gráfico poderoso, completo e
rico em recursos e funcionalidades. Graças à isto, temos à disponibilidade
excelentes ferramentas de ajustes, que nos possibilita realizarmos
grandes customizações, adequando-o para as nossas necessidades. Por
este motivo (entre muitos outros), é recomendável a adoção deste
ambiente gráfico para obtermos nossas primeiras experiências de
interação com os sistemas GNU/Linux, e assim suavizar todo o processo
de adaptação. &;-D
88/96
VII. OPERAÇÕES E AJUSTES AFINS
INTRODUÇÃO
Após conhecermos os principais ambientes gráficos, suas características,
qualidades, diferenças e limitações – com especial ênfase ao KDE –,
iremos agora colocar a mão na massa para a realização de intervenções
técnicas.
Eis a pretenção deste capítulo.
NÍVEL DE EXECUÇÃO
Em virtude de sua concepção multi-usuário, os sistemas GNU/Linux
necessitam de que façamos a autenticação, para que possamos usufruir de
seus recursos. Para isto, deveremos apenas digitar o apelido (nome da
conta) e a senha de acesso quando for solicitado pela linha de comando.
Login: _
Apesar de simples e funcional, muitos usuários (especialmente os mais
leigos) gostariam que a inicialização fosse feita no modo gráfico, que por
sua vez proporcionará maior conforto, além de facilitar a seleção dos
ambientes gráficos, entre outras funcionalidades. Para isto, deveremos
alterar o nível de execução, editando o arquivo de configuração
/etc/inittab:
# These are the default runlevels in Slackware:
# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot
89/96
o modo gráfico desejado corresponde ao valor 4.
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
A partir da próxima inicialização do sistema estará disponível um
gerenciador de autenticação gráfico, o qual poderá ser selecionado nas
seções seguintes. Será bem mais fácil que instruir os usuários a inicializar
o ambiente com o comando startx!
SELEÇÃO DE GERENCIADORES
Atualmente, temos 2 gerenciadores de autenticação: o KDM e o XDM.4
# Try to use GNOME's gdm session manager. This comes first because if
# gdm is on the machine then the user probably installed it and wants
# to use it by default:
#if [ -x /usr/bin/gdm ]; then
90/96
# exec /usr/bin/gdm -nodaemon
#fi
# error
echo
echo "Hey, you don't have KDM, GDM, or XDM. Can't use runlevel 4 without"
echo "one of those installed."
sleep 30
# All done.
Em nosso caso, optaremos pelo KDM, já que se trata do ambiente desktop
padrão para o desenvolvimento deste trabalho:
# Not there? OK, try to use KDE's kdm session manager:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
elif [ -x /usr/bin/kdm ]; then
exec /usr/bin/kdm -nodaemon
fi
Na prática, estas alterações não precisarão ser feitas, já que, em virtude
da ordem apresentada pelas opções (GDM, KDM e XDM), será inicializada
a 1a. que se encontrar disponível: em nosso caso, o KDM. Porém, estas
informações ficarão aqui registradas para as circunstâncias em que estas
alterações sejam necessárias, como a utilização do KDM por padrão em
situações onde tenhamos também o GNOME (e junto dele, o GDM) ou a
opção pelo XDM para a utilização de interfaces mais leves.
No geral, para que tenham uma maior agilidade no carregamento geral do
sistema, utilizem o gerenciador desenvolvido com mesma biblioteca
gráfica que o ambiente gráfico; para o KDE, utilizem o KDM; para o
GNOME, o GDM; para os demais ambientes gráficos que não utilizam a Qt,
nem a GTK, o XDM. Este último também é ótimo para aqueles
“ecléticos”...
91/96
Enfim, ao reiniciarem o sistema, a inicialização se dará no modo gráfico.
92/96
# ls -l
total 32
-rw-r--r-- 1 root root 321 Mar 16 18:36 README.Xmodmap
lrwxrwxrwx 1 root root 11 Ago 10 20:52 xinitrc ->
xinitrc.kde*
-rwxr-xr-x 1 root root 559 Fev 14 2003 xinitrc.fvwm2*
-rwxr-xr-x 1 root root 539 Fev 21 2002 xinitrc.fvwm95*
-rwxr-xr-x 1 root root 630 Fev 5 2003 xinitrc.gnome*
-rwxr-xr-x 1 root root 536 Mar 16 00:54 xinitrc.kde*
-r--r--r-- 1 root root 664 Mar 2 2003 xinitrc.twm
-rwxr-xr-x 1 root root 788 Fev 11 2003 xinitrc.wmaker*
-rwxr-xr-x 1 root root 1487 Fev 14 2003 xinitrc.xfce*
# _
... e excluam o atalho simbólico xinitrc. Em seguida, recriem-no apontando
para o script referente ao gerenciador de janelas desejado.
# rm xinitrc
# ln -s xinitrc.wmaker xinitrc
Verifiquem as alterações realizadas com...
# ls -l
total 32
-rw-r--r-- 1 root root 321 Mar 16 18:36 README.Xmodmap
lrwxrwxrwx 1 root root 14 Set 3 10:42 xinitrc ->
xinitrc.wmaker
-rwxr-xr-x 1 root root 559 Fev 14 2003 xinitrc.fvwm2
-rwxr-xr-x 1 root root 539 Fev 21 2002 xinitrc.fvwm95
-rwxr-xr-x 1 root root 630 Fev 5 2003 xinitrc.gnome
-rwxr-xr-x 1 root root 536 Mar 16 00:54 xinitrc.kde
-r--r--r-- 1 root root 664 Mar 2 2003 xinitrc.twm
-rwxr-xr-x 1 root root 788 Fev 11 2003 xinitrc.wmaker
-rwxr-xr-x 1 root root 1487 Fev 14 2003 xinitrc.xfce
# _
Estas alterações irão refletir para todos os usuários do sistema, ou seja,
todos terão em comum o mesmo ambiente gráfico. Mas como fazer para
que cada um usuário tenha um ambiente personalizado?
93/96
... e estará efetuada a troca de ambiente gráfico como desejado.
Existe ainda uma outra forma de alteração personalizada do ambiente
gráfico para cada usuário. Verifiquem a existência ou criem um arquivo
chamado .xinitrc no diretório do usuário. Incluam a seguinte linha:
exec [AMBIENTE GRÁFICO]
Utilizaremos como exemplo o WindowMaker:
exec wmaker
Para consultarem as opções disponíveis, verifiquem o nome dos scripts
disponíveis no diretório /etc/X11/xinit. Bastará apenas utilizar os
caracteres após o da nomenclatura dos scripts já existentes.
Por último, dêem a permissão de execução ao arquivo:
$ chmod u+x ~/.xinitrc
Agora é só digitarmos...
$ startx
... para aguardar o carregamento da interface gráfica.
94/96
Acessibilidade) -> Country/Region & Laguange (País/Região & Idioma) e
fazer os ajustes.
Seção Regional & Acessibility (Regional & Acessibilidade) -> Country/Region &
Laguange (País/Região & Idioma), do KDE Control Center (Centro de Controle KDE) 3.4.
95/96
CONCLUSÃO
Não existe grandes mistério na manipulação dos atributos dos ambientes
gráficos e seus respectivos gerenciadores de autenticação. Basta apenas
utilizar os parâmetros indicados neste capítulo e, em poucos instantes,
teremos disponível o gerenciador gráfico desejado. É tão simples que os
comentários conclusivos resume-se à apenas este simples parágrafo! &;-D
96/96
7A. PARTE:
APLICATIVOS &
UTILITÁRIOS
✔ Copyright (c) 2002-2008 – Ednei Pacheco de Melo.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, version 1.1 or
any later version published by the Free Software Foundation; a copy of
the license is included in the section entitled “GNU Free Documentation
License”.
ÍNDICE
VISÃO GERAL ..........................................................6
I. OS REQUERIMENTOS..............................................7
Introdução.......................................................................................7
A metodologia adotada...................................................................7
O público-alvo........................................................................................7
Sobre a internacionalização das aplicações.........................................7
Aplicações KDE & Qt......................................................................................7
Aplicações GTK..............................................................................................8
Otimização das instruções....................................................................8
Disponibilidade de aplicativos..............................................................9
Opção por pacotes pré-compilados.......................................................9
Processos de instalação..................................................................9
Pacotes compilados...............................................................................9
Pacotes nativos do Slackware......................................................................10
Pacotes do formato RPM..............................................................................10
Pacotes binários..................................................................................10
Código-fonte........................................................................................11
Sobre a definição de localização dos pacotes..............................................11
Sobre o CheckInstall....................................................................................12
Preparação do código-fonte..........................................................13
Sobre as pendências e plugins.....................................................13
A execução dos programas...........................................................14
Observações finais........................................................................15
Conclusão......................................................................................16
II. A INTERNET ....................................................17
Introdução.....................................................................................17
A Fundação Mozilla.......................................................................17
Componentes.......................................................................................17
O Firefox e o Thunderbird............................................................................17
Sunbird.........................................................................................................18
Sobre o SeaMonkey.....................................................................................19
A instalação..........................................................................................20
A execução...........................................................................................21
A configuração.....................................................................................22
Temas & Extensões.............................................................................23
Observações finais..............................................................................26
Navegadores e clientes de correio...............................................27
Konqueror & KMail.............................................................................27
Gerenciadores de conteúdos........................................................27
wget & Kget.........................................................................................27
KTorrent..............................................................................................28
Mensagens instantâneas..............................................................29
Kopete..................................................................................................29
aMSN...................................................................................................30
Desenvolvimento de páginas HTML.............................................31
NVU......................................................................................................31
Quanta+...............................................................................................32
Conclusão......................................................................................33
III. SUÍTES DE ESCRITÓRIO ......................................34
Introdução.....................................................................................34
O OpenOffice.org...........................................................................34
O histórico...........................................................................................34
A evolução............................................................................................35
As características................................................................................36
Os componentes..................................................................................37
Os requerimentos................................................................................39
A instalação..........................................................................................40
As configurações.................................................................................41
Sobre o formato PDF...........................................................................42
Sobre o padrão ODF......................................................................42
A instalação de fontes TrueType..................................................43
Conclusão......................................................................................44
IV. EDITORAÇÕES GRÁFICAS .....................................45
Introdução.....................................................................................45
Tratamento de imagens (bitmaps)...............................................45
GIMP....................................................................................................45
Arte gráfica (vetoriais).................................................................46
Inkscape...............................................................................................47
Diagramação (DTD)......................................................................48
Scribus.................................................................................................48
Visualizadores de bitmaps............................................................49
Sobre o ImageMagick...................................................................49
Sobre o padrão SVG......................................................................51
Conclusão......................................................................................51
V. IMAGEM , SOM E MULTIMÍDIA ................................52
Introdução.....................................................................................52
Requisitos para reprodução multimídia......................................52
Sobre o libdvdcss................................................................................53
Reprodução de áudio....................................................................53
AmaroK................................................................................................54
O KMix e o KsCD.................................................................................55
Extração & ripagem de áudio.......................................................55
Serviços do Konqueror........................................................................56
KAudio Creator (KDE).........................................................................56
Reprodução de vídeos...................................................................57
Xine......................................................................................................57
Gravação de mídias.......................................................................59
K3b.......................................................................................................59
Conclusão......................................................................................62
VI. JOGOS E ENTRETENIMENTOS ................................63
Introdução.....................................................................................63
Os jogos.........................................................................................63
Ação 3D................................................................................................63
BZFlag..........................................................................................................63
SuperTux......................................................................................................64
Arcade..................................................................................................65
Chromium B.S.U...........................................................................................65
Raptor...........................................................................................................65
Search an Rescue.........................................................................................66
Estratégia.............................................................................................67
Battle for Wesnoth.......................................................................................67
FreeCiv.........................................................................................................68
Lincity / LinCity-NG......................................................................................68
UFO: Alien Invasion.....................................................................................69
Warzone2100...............................................................................................70
FPS.......................................................................................................70
Alien Arena...................................................................................................70
Cube (e variantes)........................................................................................71
Nexuiz..........................................................................................................72
Tremulous....................................................................................................73
Warsow.........................................................................................................74
Simulador de corrida...........................................................................75
Racer............................................................................................................75
Torcs.............................................................................................................76
Tux Racer.....................................................................................................77
Ultimate Stunts............................................................................................78
VDrift............................................................................................................78
Simulador de vôo.................................................................................79
FlightGear....................................................................................................79
GL-117..........................................................................................................80
Reaper..........................................................................................................81
A execução de jogos nativos do Windows....................................82
WINE & WineX....................................................................................82
Bibliotecas e APIs.........................................................................83
A OpenGL e a implementação MESA.................................................83
A SDL - Simple DirectMedia Layer....................................................83
A OpenAL.............................................................................................84
Sobre outras APIs gráficas.................................................................84
Conclusão......................................................................................85
VII. EMULAÇÃO DE SISTEMAS ...................................86
Introdução.....................................................................................86
WINE.............................................................................................86
A instalação..........................................................................................87
A configuração.....................................................................................88
A execução...........................................................................................89
Observações finais..............................................................................89
Sobre o licenciamento.........................................................................89
DOSBox..........................................................................................90
Conclusão......................................................................................90
VIII. MISCELÂNEOS..............................................92
Introdução.....................................................................................92
Controles financeiro.....................................................................92
IRPF......................................................................................................92
Conclusão......................................................................................95
VISÃO GERAL
Em tempos antigos, uma das maiores reclamações dos usuários de
sistemas GNU/Linux era a inexistência de boas aplicações para a
realização das mais diversas atividades. Mas graças ao esforço da
comunidade e o porte de algumas aplicações existentes, a situação mudou
de tal forma que temos disponíveis atualmente uma enorme variedade de
oferta de aplicativos, utilitários e ferramentas... livres!
Porém, a disponibilidade numérica e de recursos destas podem variar de
acordo com as suas especialidades: se por um lado existem ótimas
ferramentas para o suporte a redes e o desenvolvimento de programas em
geral 1, outras áreas ainda encontram-se em estágio de amadurecimento.
Mas felizmente, as espectativas é de que, em um tempo não muito
distante, estas limitações sejam resolvidas.
A grande maioria das distribuições são bem completas em termos de
ofertas de aplicativos. Estas geralmente disponibilizam um programa
específico para uma atividade. Mesmo que este aplicativo não venha a nos
agradar, ainda poderemos recorrer a outras fontes, como a página dos
desenvolvedores ou os repositórios de programas para encontrarmos as
soluções que atendam bem as nossas necessidades.
E falando em outras fontes, outro grande atrativo está na comodidade em
obter aplicações. De acordo com a nossa satisfação com aquelas
disponíveis na distribuição, necessitaremos de obter apenas alguns
aplicativos externos para compor os programas da estação desktops, que
por sua vez conseguiremos configurá-los rapidamente após a sua
instalação. É o fim daquele terrível tormento de ficar colocando e
retirando CD-ROMs de instalação ou baixando centenas de megabytes de
diversos programas!
Em virtude da existência destas inúmeras aplicações – o que nos acarreta
na impossibilidade de descrever todas –, nesta parte focaremos as
principais necessidades dos usuários domésticos e indicaremos uma opção
de programa adequado para a necessidade, dando preferência em
descrever o que há de melhor em cadaa categoria, além das principais
intervenções necessárias para colocá-los em perfeito funcionamento.
Em cada capítulo será focado uma área específica (por exemplo a
Internet), que por sua vez será subdividida em classes de atividades
(discadores, navegadores, gerenciadores de correio, etc.) e por fim será
selecionada a aplicação de maior destaque para estes propósitos, tendo a
descrição de sua características, finalidades, limitações e outras
instruções necessárias. &;-D
6/95
I. OS REQUERIMENTOS
INTRODUÇÃO
Apesar da grande diferença entre o processo de instalação de aplicativos
dos sistemas GNU/Linux em comparação ao Windows, a realização destas
atividades não é lá um bicho de 7 cabeças, apesar da necessidade de se
obter alguns conhecimentos técnicos.
Neste capítulo, iremos conhecer os requisitos básicos necessários para o
bom aproveitamento e desenvoltura na instalação de aplicativos, os quais
serão descritos nos capítulos seguintes.
A METODOLOGIA ADOTADA
O PÚBLICO-ALVO
Apesar desta literatura ter adotado uma nomenclatura mais genérica para
definir seu público-alvo (usuários desktops), as aplicações indicadas nesta
parte serão direcionadas para o público essencialmente doméstico. Isto se
dá ao fato da existência de uma infinidade de diferentes perfis para os
usuários desktops, pois consideramos mais interessantes manter apenas
as aplicações utilizadas pela grande maioria.
7/95
respectivo pacote de internacionalização, como é feito por exemplo com o
K3b. Isto não é uma regra geral, pois dependendo de cada caso, este
procedimento é desnecessário, como por exemplo o Kaffeine. Uma outra
excessão interessante é o KOffice: apesar de ser parte integrante deste
ambiente gráfico, requer também a instalação de um pacote de idioma à
parte, que também se encontra disponível na pasta /kdei.
Nem todas as aplicações serão passíveis destes tipos ajustes, se forem
somente baseadas na biblioteca Qt, como é o caso do Scribus. Para estas
circunstâncias, reservaremos as informações necessárias à parte,
explicando como proceder para ajustar o idioma nestas circunstâncias.
APLICAÇÕES GTK
Já as aplicações desenvolvidas com o uso biblioteca GTK+ suportam a
internacionalização, onde bastará ajustarmos algumas variáveis do
ambiente para que os programas utilizem a nossa língua nas instruções de
sua interface. Vejam bem: a biblioteca provê suporte para a
internacionalização, o que não quer dizer que existam traduções
diponíveis para estas aplicações. Neste caso, deveremos consultar a
página oficial de cada projeto e conferir se estes suportam a nossa língua.
À partir da versão 10.2, o Slackware não disponibiliza mais o ambiente
gráfico GNOME, por motivos de dificuldades no empacotamento: segundo
Patrick Volkerding, gasta-se em média 1/3 do tempo dedicado ao
desenvolvimento da distribuição, dada a complexidade da operação. Além
disso, poucos usuários desta distribuição o utilizam. Portanto, iremos nos
concentrar em disponibilizar aplicações que não dependam deste
ambiente gráfico. Mas caso ainda queiram utilizá-lo, deveremos optar por
instalar os pacotes pré-compilados especiais desenvolvidos para o
Slackware, como o Dropline-GNOME. Este possui instruções gerais para a
obtenção e a instalação de pacotes descritos na 6a. Parte: Ambientes
Gráficos -> Os ambientes gráficos. Basta realizarmos o procedimento
manualmente para que possamos utilizar as aplicações disponíveis.
Dependendo das aplicações desejadas, estas podem estar inclusas nos
projeto acima mencionado.
8/95
necessitam de parâmetros extras – e que possuem procedimentos
diferenciados de acordo com o programa – manteremos todas instruções
de instalação e configuração necessárias para por o programa em perfeito
funcionamento.
DISPONIBILIDADE DE APLICATIVOS
Além disso, em virtude da necessidade de algumas mudanças e
inclusão/exclusão de alguns aplicativos em cada nova versão do
Slackware, muitas destas estarão disponíveis em algumas versões e
outras não, e para facilitar o desenvolvimento deste guia, optamos por
incluir instruções para a instalação de todos os aplicativos citados. Apenas
àqueles que pertencem aos tradicionais ambientes gráficos KDE e
GNOME é que não terão instruções de instalação detalhadas de acordo
com a seção anterior.
PROCESSOS DE INSTALAÇÃO
Conforme visto na 5a. Parte: Gerenciamento de Programas, existem três
formas de realizar a instalação de um programa, através de:
1. Pacotes pré-compilados;
2. Pacotes binários;
3. Compilação do código-fonte.
PACOTES COMPILADOS
Os pacotes compilados – como o próprio nome diz – contém em si os
arquivos-base dos programas codificados em língua de máquina,
encontrando-se pronto para a utilização. Para a utilização dos mesmos no
Slackware, estes por sua vez subdivide-se em duas categorias:
9/95
PACOTES NATIVOS DO SLACKWARE
São pacotes compilados para a utilização de uma distribuição específica ou
que possua as ferramentas de gerenciamento compatíveis deste formato.
No caso do Slackware, os pacotes nativos para a distribuição são
armazenados no formato .TGZ.
Para instalar um pacote nativo do Slackware, utilizamos a seguinte
sintaxe:
# installpkg PACOTE-[VERSÃO].tgz
Ou se preferirem, podemos optar por utilizar os recursos da ferramenta
de atualização Slackpkg, desde que estes pacotes se encontrem no FTP
oficial:
# slackpkg install PACOTE.tgz
A vantagem de se utilizar o Slackpkg é que não haverá a necessidade de
se obter o pacote em questão; porém, conforme já dito anteriormente, o
Slackpkg é funcional apenas para pacotes oficiais da distribuição.
PACOTES BINÁRIOS
São pacotes pré-compilados que não são empacotados com a utilização de
ferramentas de gerenciamento de programas. Alguns destes possuem
utilitários de instalação, que podem ser binários executáveis ou scripts;
como outros que bastam apenas descompactá-los em /usr/local e criar um
atalho para o seu executável em /usr/local/bin para que possamos
disponibilizá-los para os usuários do sistema.
Muitas aplicações livres, como o OpenOffice.org, Mozilla, Blender, entre
outros, são disponibilizadas neste formato; praticamente todos os
programas proprietários também fazem uso deste formato. 2
2 Infelizmente devido a diferenças técnicas e/ou relacionadas ao processo de
implementação utilizado nas principais distribuições, as aplicações comerciais
10/95
CÓDIGO-FONTE
A compilação do código-fonte é o processo o qual converte o código
escrito do programa para uma linguagem que possa ser entendida pela
máquina. Nos sistemas GNU/Linux, a compilação é realizada através dos
comandos...
# ./configure
# make
# make install
... muito simples rápida e na maioria das vezes muito eficiente, podendo
ainda serem abreviados com...
# ./configure && make && make install
Em algumas circunstâncias dada a simplicidade da compilação do pacote,
sequer teremos à disposição o script configure, bastando apenas digitar...
# make && make install
... onde sem maiores complicações teremos o programa disponível.
Batizaremos esta operação/procedimento como compilação clássica ou
compilação padrão (alguns ainda a chamam por compilação manual,
um termo mais abrangente), pois em virtude de existirem muitas
aplicações que necessitam da utilização de parâmetros básicos para a
instalação, omitiremos estas instruções e descreveremos apenas estes
termos, diminuindo com isto o tempo gasto com instruções repetitivas.
Descreveremos todo o método de compilação apenas quando houver
parâmetros especiais e/ou detalhes específicos necessários para o sucesso
do processo de instalação.
normalmente são “obrigadas” a adotar este formato, para que seus produtos
sejam suportados por todas elas “universalmente”.
3 A última vez que isto ocorreu foi quando necessitamos compilar o VCDImager,
que por sua vez tinha como pré-requerimento a instalação da biblioteca libcdio.
Esta última teve que ser compilada novamente com o uso do comando
./configure --prefix=/usr, para que a compilação posterior do VCDImager viesse
à ocorrer sem maiores problemas. Na oportunidade anterior, mesmo compilando a
libcdio pelo procedimento de compilação clássica, o VCDImager ainda acusava a
ausência desta biblioteca no sistema! Estes pacotes eram requeridos
opcionalmente pelo K3B para a conversão de arquivos AVI/MPEG para VCDs,
onde em seguida testamos esta operação, que por fim funcionou sem problemas.
11/95
arquivos binários na execução do script ./configure, por que estes são
instalados por padrão em /usr/local. Para evitar este inconveniente,
experimentem predefinir o caminho dos pacotes para /usr:
$ ./configure --prefix=/usr
Após isto, rodem novamente...
$ make
# make install (ou checkinstall -y -S)
... e verifiquem sua reinicidência. Caso venha à ocorrer novamente, com
certeza haverão outros fatores não conhecidos. Das pouquíssimas vezes
que este tipo de problema ocorreu, conseguimos resolvê-lo assim. &;-D
SOBRE O CHECKINSTALL
✔ <http://asic-linux.com.mx/~izto/checkinstall/>.
Sabemos que para realizar o processo básico para a compilação de
programas deveremos utilizar os comandos do processo de compilação
clássica, e para desinstalar, basta apenas utilizar o comando...
# make uninstall
Porém nem sempre os pacotes disponibilizados fornecem o recurso de
desinstalação, o que poderá acarretar alguns inconvenientes para a
remoção do programa. Além disso, ficará difícil gerenciar as aplicações
instaladas externamente, já que não teremos as entradas registradas para
que o gerenciador de pacotes visualize-as no sistema.
Para sanar estas deficiências, existe o utilitário CheckInstall, que ao
substituir o comando make install, criará um pacote no formato nativo do
Slackware (.tgz). Após instalado no sistem, teremos em mãos as
facilidades proporcionadas pelas ferramentas de gerenciamento desta
distribuição. Neste caso, ao invés de utilizarmos os comandos padrões
para a compilação clássica, poderemos utilizar...
$ ./configure
$ make
# checkinstall -y -S
Assim, será gerado um pacote binário no formato nativo do Slackware.
Em seguida, para concluirmos a instalação...
# installpkg [APLICATIVO]-[VERSÃO]-[ARQUITETURA].tgz
O CheckInstall encontra-se disponível na pasta /extra da mídia de
instalação da distribuição, bastando apenas instalarmos o pacote
compilado.
Para obterem maiores informações, consultem na 5a. Parte:
Gerenciamento de Programas -> Conversão de pacotes e programas
compilados, a seção dedicada exclusivamente ao CheckInstall.
12/95
PREPARAÇÃO DO CÓDIGO-FONTE
Por padrão, assumiremos que cada pacote que contém o código-fonte
esteja descompactado no diretório padrão especificado pela FHS:
/usr/local/src
A descompressão poderá ser realizada ao utilizarmos as seguintes
sintaxes:
Pacotes .tar.gz Pacotes .tar.bz2 Pacotes .zip
# tar -xpzvf [PKG].tar.gz # tar -xpjvf [PKG].tar.bz2 # unzip [PKG].zip
Opções do menu rápido do Konqueror. Aqui vemos realçada a seção “Extract” (Extrair).
Com suas opções subseqüentes, poderemos realizar a extração dos pacotes
comprimidos.
13/95
principal (que o requer para estas necessidades).
Os principais programas que fazem o uso de plugins são os navegadores
de Internet e os tocadores multimídia. Estes devemos ter maior atenção
quando decidir por utilizá-los, pois necessitam tando da satisfação de suas
pendências quanto à instalação de bibliotecas e APIs para prover de
excelentes recursos e ótimo desempenho. Para obter maiores
informações, consultem a 5a. Parte -> Gerenciamento de Programas.
14/95
Caixa Run (Executar) do KDE, acionando o navegador Firefox.
OBSERVAÇÕES FINAIS
É interessante pensar sobre a questão da inexistência de aplicações para
os sistemas GNU/Linux. Diferente do Windows, as distribuições são
ricamente compostas por diversos aplicativos e utilitários. Atualmente
existem aplicações e ferramentas para todas as finalidades que se possam
imaginar. Em praticamente todas as categorias, existe uma boa opção
disponível para ser utilizada nos sistemas GNU/Linux (e outros sistemas
operacionais). Mas mesmo ainda tendo todo este aspecto favorável,
muitos usuários se desiludem com o sistema pelo simples fato de não
existir aplicações similares (similares = igual) às utilizadas em outros
sistemas operacionais.
Devemos nos atentar para diversos aspectos durante a seleção de
aplicativos para o computador que, dentre os mais importantes são:
1. Saber o que deseja fazer, e não quais aplicativos ter disponível. A
utilização de determinados aplicativos com classes específicas traz
uma conseqüência indesejada: a limitação das ações e recursos
técnicos dos usuários, já que desconhecem outras opções.
2. Acabar de vez com a idéia de que somente as aplicações parecidas
ou similares a aquelas de grande nome é que são as únicas de
qualidade. Como todos já devem saber, “similar” nem sempre é
sinônimo de bom. Um belo exemplo é o GIMP, aplicação para
tratamento de imagem muito popular no mundo do Software Livre,
porém pouco conhecido pelo público em geral por possuir uma
interface diferenciada das ferramentas tradicionais, como o
PhotoShop e PhotoPaint.
3. Estudar os melhores métodos de desenvolver as tarefas, seja
utilizando novos procedimentos, novas rotinas e
conseqüentemente novos perfis de programas. Muitas
programadores obtém ótimo rendimento ao substituir as
tradicionais IDEs e RADs por um conjunto de ferramentas de
desenvolvimento livres.
Hoje a grande maioria das distribuições são bastante completas neste
quesito. Estas geralmente disponibilizam um aplicativo específico para
uma atividade. Mesmo que este aplicativo não venha à agradar, ainda
15/95
poderemos recorrer a outras fontes, como a página dos desenvolvedores,
os repositórios de programas e as chaves de buscas para encontrar
programas e soluções que atendem as nossas necessidades.
CONCLUSÃO
As recomendações aqui descritas neste capítulo são essenciais para o bom
aproveitamento do usuário nos próximos capítulos a seguir, pois o nosso
interesse, em virtude da grande quantidade de instruções, é otimizar ao
máximo possível a obra, tornando-a compacta; assim, a sua leitura será
uma atividade interessante e agradável ao invés de se tornar um
verdadeiro marasmo com instruções básicas e repetitivas. &;-D
16/95
II. A INTERNET
INTRODUÇÃO
Um dos maiores motivos que levam os consumidores a comprar de um
computador é o desejo de obter acesso a Internet e ter à sua disposição
todos os privilégios que ela oferece. Porém a palavra Internet, ao se
encontrar íntimamente ligada à outros termos, tais como Internet
Explorer, Outlook Express, Kazaa, entre outros, traz a sensação de que ela
existe somente para a plataforma Windows 4, dando a impressão de que
será bem mais difícil ou menos prazeroso acessar a grande teia mundial
pelos sistemas GNU/Linux e suas aplicações. Muitos usuários novatos que
desconhecem estes elementos freqüentemente perguntam “se existe
muita diferença em acessar a Internet pelo Linux...” ou “se teremos as
mesmas funcionalidades que são disponíveis ao Windows...”, deixando à
entender tais considerações acima citadas.
Felizmente isto é um grande engano! Os sistemas GNU/Linux possui uma
grande variedade de aplicações disponíveis na grande maioria das
distribuições, disposta de tal forma que somente nos será necessário a sua
correta configuração para o nosso entretenimento, sem gastar preciosos
minutos com a obtenção de diversos outros programas para esta
finalidade!
Isto veremos detalhadamente nas próximas seções deste capítulo.
A FUNDAÇÃO MOZILLA
✔ <http://www.mozilla.org/>.
Inicialmente, a Fundação Mozilla nasceu com apenas um único objetivo:
desenvolver uma suíte de aplicativos livre a partir da abertura do código-
fonte do Netscape em 1998. Com o aperfeiçoamento da engine Gecko,
nasceram diversos projetos livres, a saber: a antiga suíte Mozilla (hoje
SeaMonkey), o navegador Firefox, o cliente de correio Thunderbird e o
gestor de contatos Sunbird.
COMPONENTES
O FIREFOX E O THUNDERBIRD
✔ <http://www.mozilla.org/>,
17/95
✔ <http://www.spreadfirefox.com/>.
Ciente da preferência de diversos usuários em ter somente as
funcionalidades de navegação para a Internet e/ou o gerenciamento de
mensagens, o Projeto Mozilla resolveu desenvolver a partir do código-
fonte do Mozilla, dois aplicativos simples, prático e de excelente
performance. Daí nasceu o que conhecemos hoje como o Firefox e o
Thunderbird.
SUNBIRD
✔ <http://www.mozilla.org/>.
O Sunbird é nada mais que um gestor de contatos e calendário, derivado
do antigo Mozilla Calendar, componente integrado da suíte SeaMonkey.
18/95
Calendário (SeaMonkey Calendar).
SOBRE O SEAMONKEY
✔ <http://www.mozilla.org/>.
Conforme dissemos antes, um dos principais objetivos da Suíte Mozilla
era prover um conjunto de aplicações integradas para a Internet. Mas,
devido ao grande sucesso alcançado pelas aplicações Firefox e
Thunderbird, o projeto foi descontinuado. Mas, sabendo-se da satisfação
dos usuários por esta suíte, foi criada uma derivação do projeto original
chamado SeaMonkey. Este por sua vez, apesar do Projeto Mozilla
hospedá-lo com sua infraestrutura, é mantido por outra comunidade,
entusiasta e aficcionada.
19/95
SeaMonkey Navigator.
A INSTALAÇÃO
Por padrão, as aplicações da Fundação Mozilla acompanham grande parte
das distribuições. No Slackware, estas se situam na série /ap. Porém, a
versão que se encontra presente na distribuição está no idioma inglês.
Caso queiram ter disponível a versão em português (o que é bastante
provável), obtenham o pacote correspondente no endereço eletrônico
oficial brasileiro. Mas antes de instalar, certifiquem-se de que se encontra
desinstalada a versão que acompanha o sistema:
# removepkg seamonkey
Se optar por instalar o Firefox:
# removepkg mozilla-firefox
Se optar por instalar o Thunderbird:
# removepkg mozilla-thunderbird
Para o Sunbird, não há necessidade de desinstalar pacotes.
Se eles não estiverem instalados, será exibida uma mensagem de erro.
Descompactem o pacote obtido e entrem no diretório criado. Como
superusuário, executem o instalador do aplicativo e sigam suas instruções.
Exemplificaremos aqui a instalação do SeaMonkey. Os demais deverão
seguir basicamente o mesmo procedimento.
# ./seamonkey-installer
20/95
Assistente de instalação do SeaMonkey.
A EXECUÇÃO
Além das entradas disponíveis no menu principal do KDE, podemos
executar o SeaMonkey através de sua evocação com a utilização de
parâmetros especiais. Vejam a sintaxe:
$ seamonkey [PARÂMETROS]
Por ser uma suíte de aplicações, poderemos executar cada uma delas
utilizando parâmetros específicos ao evocá-lo. Vejam:
• -chat: inicializa o cliente de bate-papos;
• -edit: inicializa o editor HTML Composer;
• -mail: inicializa o gerenciador de correio eletrônico;
• -addressbook: inicializa o gerenciador de endereços eletrônicos;
21/95
• -jsconsole: inicializa o console JavaScript.
Ou ainda, acioná-los a partir do menu e selecionar as opções disponíveis.
A CONFIGURAÇÃO
✔ <http://www.blackdown.org/>.
✔ <http://www.macromedia.com/shockwave/download/alternates/>.
Como toda e qualquer boa aplicação, as definições gerais da configuração
padrão destas aplicações estão centralizadas em uma caixa de diálogo no
menu principal, em -> Edit (Editar )-> Preferences (Preferências).
Preferências do Firefox.
22/95
Bloqueio de popups no Firefox.
23/95
As temáticas decorações da interface podem ser ajustadas conforme
nossas preferências. No Mozilla, deveremos acessar o menu Edit (Editar)
-> Preferences (Preferência) -> Appearance (Aparência) -> Themes
(Temas).
24/95
Firefox acessando o site Firefox Add-ons, para a instalação de temas e extensões.
25/95
Sem maiores mistérios, bastará clicarmos neste item para que inicie o
processo de checagem de atualizações.
OBSERVAÇÕES FINAIS
O Mozilla, o Firefox e o Thunderbird conquistaram inúmeros adeptos não
só em sistemas GNU/Linux, como também em diversos outros sistemas
operacionais - inclusive o próprio Windows. E a tendência nos próximos
anos é que sua adoção continuará em um bom ritmo de crescimento, pelo
fato da adição de constantes melhorias, facilidades e recursos, além da
tão desejada segurança.
26/95
NAVEGADORES E CLIENTES DE CORREIO
O Konqueror.
GERENCIADORES DE CONTEÚDOS
27/95
Para utilizar o wget, digitem-no, indicando o endereço do conteúdo:
$ wget [FTP_OU_HTTP/ENDEREÇO/ARQUIVO_DESEJADO]
Segue abaixo alguns exemplos práticos:
$ wget http://www.darkstar.org/download/arquivo.tar.gz
$ wget ftp://ftp.darstar.org/download/arquivo.tar.gz
Somente com os exemplos acima citados, você poderá baixar os conteúdo
diretamente, sem quaisquer outros recursos avançados.
Além da sintaxe básica, o wget conta com inúmeros parâmetros que,
utilizados sozinhos ou em conjunto, dão ao usuários excelentes recursos
para a obtenção de conteúdos da Internet, não deixando nada a desejar
aos poderosos gerenciadores gráficos existentes!
Segue uma simples listagem com os principais parâmetros:
• -b: realiza o download no segundo plano (background);
• -c: continua o processo, caso a conexão tenha se interrompido;
• -r: baixa toda a hierarquia de arquivos em uma página (recursivo);
• -A / -R: aceita / rejeita, respectivamente, os arquivos pré-definidos
através de sua extensão (deve ser utilizado com a opção -r).
Estas são apenas algumas das funcionalidades disponíveis no wget. Para
obterem maiores informações, consultem a sua documentação.
Para facilitar a obtenção de conteúdos na Internet, foram desenvoldidas
algumas interfaces gráficas para o uso com o wget. Em destaque, o Kget.
KTORRENT
✔ <http://www.ktorrent.org/>.
O KTorrent é um excelente cliente BitTorrent para o KDE.
28/95
Tela obtida da página oficial do projeto.
MENSAGENS INSTANTÂNEAS
Além dos tradicionais gerenciadores de correio eletrônico, a Internet
também provê outro recurso bastante interessante de comunicação Trata-
se do envio de mensagens eletrônicas, como o IRC, ICQ, etc. Nesta
categoria temos ótimas opções de aplicativos, que por sua vez podem
suportar uma ou mais tecnologias.
KOPETE
O Kopete é o mensageiro oficial do KDE, que se encontra disponível a
partir da versão 3.2 deste maravilhoso ambiente gráfico.
29/95
Tela obtida da página oficial do projeto.
AMSN
✔ <http://www.amsn-project.net/>.
Escrito por Álvaro J. Iradier, o aMSN é um clone do famoso cliente MSN.
30/95
Suporta também o uso de skins e pode ser turbinado através do uso de
plugins especiais, ambos disponíveis na página oficial do projeto.
Como não existem pacotes pré-compilados para o Slackware e
disponibilizados pelo desenvolvedor, deveremos realizar o procedimento
de compilação clássica, o qual pode ser feito através de um único
comando:
# make
Em poucos instantes, o pacote é compilado e, sem a instrução make
install, os binários são copiados para /usr/local/share/amns e um atalho é
criado em /usr/local/bin. E sem cerimônias...
NVU
✔ <http://www.nvu.com/>.
Atualmente o desenvolvimento de páginas em HTML é realizado com a
utilização de editores visuais WYSWYG5 – “o que você escreve, é o que
você vê”). Para estas atividades, destacamos NVU.
O NVU – pronuncia-se “nview” – é um dos mais poderosos editores visuais
de páginas HTML. É uma aplicação derivada do editor visual Composer,
este por sua vez encontra-se disponível integrado à suíte Mozilla.
5 Pronuncia-se: wiz-wig.
31/95
Tela obtida da página oficial do projeto.
QUANTA+
✔ <http://quanta.kdewebdev.org/>.
Apesar de estarem sendo “substituídos” pelos editores visuais, os editores
de código HTML ainda continuam sendo bastante usados, graças a
possibilidade de se obter um código enxuto e bem organizado. Entre os
principais editores de código, destaca-se o Quanta.
Quanta+
32/95
CONCLUSÃO
A quantidade de aplicativos, utilitários e ferramentas para o uso na
Internet é imensa, bastando o usuário selecioná-las de acordo com sua
preferência. Apesar disto, muitas dessas aplicações não se encontrarão
disponíveis na nossa distribuição, ou apenas algumas de acordo com uma
categoria específica (um discador, um navegador, um cliente de ICQ,
etc.). Mas não há nada que nos desespere, pois basta consultar esta
documentação e verificar onde se encontram seus respectivos pacotes
para baixar na rede. É para isto que este livro se destina! &;-D
33/95
III. SUÍTES DE ESCRITÓRIO
INTRODUÇÃO
A editoração dos documentos de escritório estão entre as aplicações mais
utilizadas por usuários desktops no mundo inteiro. Seus aplicativos são
popularmente chamados de suítes de escritório, pois em virtude dos mais
diversos tipos de necessidade, existe um aplicativo para cada função que
por sua vez são agrupados em um pacote, ou seja, uma suíte.
Atualmente a maioria esmagadora de usuários utilizam a suíte de
escritório Microsoft Office, graças a sua excelente qualidade e o domínio
supremo do Windows como sistema operacional para estações desktops.
Neste capítulo, além de tratar alguns aspectos básicos, iremos conhecer a
principal opção de suíte de escritórios livre: o OpenOffice.org.
O OPENOFFICE.ORG
✔ <http://www.openoffice.org/>,
✔ <http://www.broffice.org.br/>.
O HISTÓRICO
Nos idos de 1998/1999, uma das maiores reclamações dos linuxers na
época estava na ausência de uma boa suíte de escritório, além de
inúmeras outras aplicações pertinentes. As distribuições até supriam as
necessidades de desenvolvedores e administradores de redes com
diversas ferramentas, mas era justamente na vez das estações de trabalho
que deixavam a desejar. Mas felizmente, as coisas começaram a mudar
com o OpenOffice.org...
34/95
OpenOffice.org Writer para Windows. Tela obtida da página oficial do projeto.
A EVOLUÇÃO
Desde o seu lançamento, a suíte vem tendo constantes aperfeiçoamentos.
Antes da versão 1.0, foram feitas várias melhorias no código-fonte original
do StarOffice, onde entra em destaque o amadurecimento de filtros de
conversão para os documentos gerados pela popular suíte Microsoft
Office, que nos possibilita ler e gravar destes e para estes formatos. A
partir da versão 1.0, muitas das melhorias se concentraram na exibição
correta de fontes e otimização da carga de processamento e uso de
memória.
35/95
No lançamento da versão 1.1, houve significativas melhoras no
desempenho e uma melhor visualização das fontes no sistema, além da
possibilidade de geração de arquivos no formato PDF. Ainda nesta versão,
a iniciativa brasileira BrOffice.org disponibilizou a suíte junto com um
corretor ortográfico em pt_BR (o que não havia na versão anterior).
Por último, a partir da versão 2.0, o OpenOffice.org traz algumas
funcionalidades interessantes, como uma melhor integração com o
ambiente gráfico em uso (KDE ou GNOME) e o suporte a extensões, tal
como é feito nas aplicações da Fundação Mozilla. Ainda nesta versão foi
incluído o banco de dados Base, a opção ideal para o popular MS Access.
AS CARACTERÍSTICAS
A interface dos aplicativos que compõem a suíte OpenOffice.org e a
disposição de suas funcionalidades são bastante semelhantes ao
aplicativos da suíte Microsoft Office. Graças a estas características, o
processo de migração dos usuários da suíte da Microsoft para esta suíte
de código aberto têm sido possível e sem maiores dificuldades.
Conforme já dito na seção anterior, outro grande atrativo desta suíte está
na presença de filtros maduros para a conversão de documentos gerados
pela suíte Microsoft Office, pois uma das maiores barreiras que impedem
a migração de suítes de escritório proprietárias para as livres é a questão
da conversão dos formatos de arquivos. No caso do Microsoft Office, em
que a maioria esmagadora dos escritórios o utilizam, a leitura e gravação
em seus formatos nativos é de suma importância para o sucesso da
operação.
Pensando sériamente nesta situação, a Sun desenvolveu para o StarOffice
um conjunto de filtros de conversão para sanar esta deficiência, os quais
foram posteriormente herdados pelo OpenOffice.org. Desde então, hoje é
possível realizar a conversão de arquivos do Microsoft Office o formato
nativo do OpenOffice.org.
Porém, nem tudo funciona às mil maravilhas: os filtros atuais – apesar de
bastante maduros –, ainda não fazem a perfeita conversão dos formatos
nativos da suíte proprietária, especialmente aqueles que possuem uma
formatação complexa. Se neles constam diversos tipos de objetos como
figuras vetoriais, imagens, fórmulas, planilhas, etc., com certeza sofrerá
perdas. Além disso, estes filtros não suportam as macros em Visual
BASIC, apesar de preservá-las. Para estas circunstâncias, o
OpenOffice.org possui um conjunto de opções passíveis de ajuste para
mantermos intacto tais objetos, preservando assim os elementos destes
documentos.
Para utilizarmos estes filtros, deveremos apenas navegarmos no menu
Arquivo -> Abrir e selecionar o arquivo “.doc”, “.xls”, ou “.ppt” desejado.
Mas lembrem-se: a conversão de documentos – dependendo da sua
complexibilidade – podem sofrer perda de detalhes importantes, apesar
36/95
das melhorias proporcionadas nestas últimas versões.
Infelizmente, o OpenOffice.org Draw também não suporta (até o presente
momento) os documentos gerados pelo CorelDRAW!, já que esta aplicação
se propõe a substituir o seu eqüivalente proprietário. Embora o
OpenOffice.org Draw não tenha a vastidão de recursos e funcionalidades
deste último, pode ser perfeitamente utilizado para tarefas mais simples.
OS COMPONENTES
Os principais aplicativos que compõe a suíte OpenOffice.org são:
• Writer: editor de textos e páginas HTML;
• Calc: editor de planilha eletrônica;
• Impress: editor de apresentações;
• Draw: editor de gráficos vetoriais;
• Base: implementador de bando de dados;
• Math: editor de fórmulas matemáticas.
O Writer é editor de textos do OpenOffice.org. Por ser dotado de uma
interface bastante semelhante ao conhecido e popular MS Word, a edição
de textos no Writer tornou-se uma tarefa simples, fácil e agradável graças
às melhorias proporcionadas à esta suíte. Com ele podemos também criar
páginas para a WEB utilizando seus recursos de edição visual. Os arquivos
à serem gerados estarão no formato HTML, onde bastará apenas
armazená-los em um provedor de hospedagem para serem visualizadas.
OpenOffice.org Writer.
37/95
suíte proprietário, tendo ainda algumas vantagens como a disponibilidade
de boas ferramentas de desenho.
OpenOffice.org Impress.
OpenOffice.org Draw.
38/95
Access, onde se encontra disponível a partir da versão 2.0.
OpenOffice.org Calc.
OS REQUERIMENTOS
Para obtermos uma boa performance do sistema na utilização desta suíte,
os mínimos requisitos necessários para o sistema são um processador
Pentium III 750 Mhz ou equivalente, 300 MB livres no disco rígido e pelo
menos 256 MB de memória RAM.
O OpenOffice.org pode ser adquirida diretamente página oficial do
projeto, bastando apenas baixar um arquivo compactado com tamanho
situado em torno de 120 MB. Por padrão, ele é fornecido em um pacote
pré-compilado estaticamente; na prática, significa que não teremos que
nos preocupar em realizar a instalação de pendências – inclusive a
máquina virtual JAVA.
39/95
A INSTALAÇÃO
Para realizarmos a instalação do OpenOffice.org, deveremos
descompactar o pacote baixado e entrar em um subdiretório chamado
RPMS, o qual contém os binários da suíte empacotadas no formato RPM.
$ ls -l
total 3
drwxr-xr-x 3 darkstar users 1592 2005-10-15 14:09 RPMS
drwxr-xr-x 2 darkstar users 120 2005-10-15 14:09 licenses
drwxr-xr-x 2 darkstar users 120 2005-10-15 14:09 readmes
$ cd RPMS
$ _
Dentro do diretório RPMS, realizem conversão dos pacotes RPM para o
formato nativo do Slackware, o padrão .TGZ:
$ cd RPMS
$ rpm2tgz *.rpm
A seguir, façam a instalação através da ferramenta installpkg:
# installpkg *.tgz
Após a instalação dos pacotes-base, entrem no diretório Desktop
Integrations (dentro do RPMS), façam novamente a conversão do pacote
openoffice.org-slackware-menus e façam a sua instalação:
$ cd desktop-integration
$ rpm2tgz openoffice.org-slackware-menus-(...).tgz
# installpkg openoffice.org-slackware-menus-(...).tgz
Este último pacote é necessário para a integração do Slackware/KDE.6
Para concluir a instalação, deveremos utilizar uma conta de usuário
comum e inicializar qualquer uma das aplicações (K -> Escritório).
Em poucos segundos entrará em cena uma caixa de diálogo que nos
orientará na execução dos procedimentos finais.
40/95
GNOME.
O restante do processo é simples, fácil e sem maiores complicações.
AS CONFIGURAÇÕES
Após inicializarem o OpenOffice.org, cliquem no menu principal e acessem
Tools (Ferramentas) -> Options... (Opções...). Será apresentada uma caixa
de diálogo com todas as opções de ajustes e configurações centralizadas.
41/95
SOBRE O FORMATO PDF
Uma dica interessante para aqueles que têm dificuldades em realizar
impressões no OpenOffice.org está na geração de um arquivo PDF –
Portable Document Format – e utilizar as aplicações nativas do sistema
para realizar a impressão do mesmo, como as ferramentas gráficas do
KDE.
O PDF foi desenvolvido pela Adobe Corporation com o objetivo de criar
um formato de arquivo universal que possa ser distribuído para a leitura
em diferentes sistemas, sem qualquer modificação visual do mesmo. Isto
quer dizer que poderemos visualizar seu conteúdo de forma exata a que
foi concebida em sua aplicação original, sem as incômodas alterações
visuais ocorridas com outros formatos nestas mesmas circunstâncias.
Embora o formato PDF seja amplamente utilizado para o
compartilhamento de documentos online, este não permite a livre edição,
sendo o ideal para a necessidade de ter garantida a sua integridade. Se
não for o caso, será melhor preferir a utilização de outro formato: o ODF.
42/95
Outras aplicações livres como a suíte de escritório KOffice, o editor de
textos AbiWord e a planilha eletrônica Gnumeric também o suportam. Já
para o Microsoft Office, é requerido um plugin especial para a conversão.
43/95
principais fontes proprietárias. Segue uma pequena listagem comparativa:
• Arial -> Bitstream Vera Sans, Helvetica.
• Times New Roman -> Bitstream Vera Serif, Times.
• Courier e Courier New -> Courier, Bitstream Vera Sans Mono.
• Verdana -> Luxi Sans.
A aparência destas fontes variam pouco, mas são suficientes para atender
a grande maioria das atividades necessárias. O grande inconveniente está
no fato de algumas destas fontes não serem escalonáveis (não TrueType),
o que impossibilita redimensioná-las em tamanhos maiores.
Fontes não escalonáveis: Helvética e Times; Fontes escalonáveis: Courier e Luxi Sans.
CONCLUSÃO
Houve um tempo que as aplicações para editoração de documentos de
escritório eram poucas e precárias, tendo os antigos usuários de sistemas
GNU/Linux se contentarem em utilizar outras soluções não disponíveis
para esta plataforma. Muitos destes, durante anos, tiveram que manter
dois sistemas operacionais justamente por causa deste motivo.
Além destas tradicionais suítes de escritório, existe também a
possibilidade da utilização da própria suíte Microsoft Office nos sistemas
GNU/Linux, utilizando para isto as implementações de APIs WINE e
Codewarers Cross Over. Para obterem maiores instruções de como
instalar e configurar o WINE, consultem nesta parte o capítulo Emulação
de sistemas. &;-D
44/95
IV. EDITORAÇÕES GRÁFICAS
INTRODUÇÃO
A editoração gráfica, ao lado da editoração de documentos de escritório,
estão entre as atividades de editoração mais realizadas pelos micreiros de
final de semana. Quem nunca teve vontade de reparar a foto daquele final
de semana? Ou fazer uma capa para aquele projeto da faculdade? Ou
ainda visualizar aquelas fotos baixadas daquelas páginas “particulares”?
com certeza estas são perguntas que não ficarão sem respostas...
Felizmente, existem existem diversas aplicações gráficas livres e de
excelente qualidade. Porém devido a enorme quantidade, neste capítulo
citaremos apenas as mais utilizadas (e consagradas).
GIMP
✔ <http://www.gimp.org/unix/>.
O GIMP – GNU Image Manipulation Program – é um dos aplicativos para a
editoração de imageins mais tradicionais existentes em código aberto.
45/95
excelente performance e é comparado inclusive ao famoso Photoshop,
graça a disponibilidade de excelentes recursos. Para seu
desenvolvimento, foi elaborada a biblioteca GTK, que posteriormente
serviu de base para o desenvolvimento do gestor de janelas GNOME e
muitas outras aplicações.
Aos que estão habituados a utilizar outras aplicações de tratamento de
imagens, certamente irão estranhar a exibição de uma simples caixa de
ferramentas ao invés das telas padrões dos demais aplicativos. Mas não se
enganem, pois nesta interface teremos acessos a todos os recursos
necessários. Basta trabalharmos com a imagem iniciada (ou aberta) e
utilizar a caixa de ferramentas do GIMP para realizar as operações
necessárias, lembrando também que um simples clique com o botão
direito acima da imagem disponibiliza os recursos presentes no menu
principal.
O formato de imagem utilizado pelo GIMP é o XCF, que, como qualquer
outro formato nativo de aplicações para tratamento de imagens,
possibilita a manutenção das camadas editadas para que possamos
continuar o trabalho posteriormente. Sua utilização nestas circunstâncias
é importante, pois caso utilizarmos outros formatos quaisquer, todas as
camadas se fundirão em uma só, impossibilitando trabalhá-las
separadamente.
Dentre outras características configuráveis, destaca-se também a
possibilidade de expansão de muitas funcionalidades com a utilização de
plugins e scripts. Estes últimos podem ser baixados em diversos locais na
Internet, bastando apenas procurar e selecionar conforme necessário.
O GIMP é um dos aplicativos mais difundidos entre os usuários
GNU/Linux, disponivel em praticamente todas as distribuições. No
Slackware não poderia ser diferente, bastando apenas instalar o pacote
durante o processo de instalação do sistema, já que este pacote já estará
marcado por padrão.
Já entre os pacotes não-oficiais, temos o gimp-print, um conjunto de
drivers de impressão para diversos sistemas de impressão e impressoras
que utilizam o protocolo PCL (incluso no Slackware). Outro interessante é
o gimp-data-extras, uma coletânea de paletas, pincéis, gradientes, entre
outras ferramentas para o GIMP.
46/95
INKSCAPE
✔ <http://www.inkscape.org/>.
O Inkscape é uma excelente ferramenta livre para desenhos vetoriais,
derivado do antigo e consagrado Sodipodi.
47/95
<http://www.gtkmm.org/>;
• libsigc++
<http://libsigc.sourceforge.net/>.
Todas estas pendências poderão ser instaladas a partir do procedimento
de compilação clássica. Qualquer dúvida, consultem as documentações
README e INSTALL que acompanham o código-fonte das bibliotecas.
DIAGRAMAÇÃO (DTD)
SCRIBUS
✔ <http://www.scribus.net/>.
Tendo o seu desenvolvimento encabeçado por Franz Schmid, o Scribus é
uma ótima opção de diagramador de páginas livre.
48/95
desenvolvimento têm o 2o. algarismo ímpar (1.3.X), e as de produção é
par (1.2.X).
Após a instalação do aplicativo, existe ainda um ajuste básico a ser feito:
para aqueles que gostariam de utilizar a aplicação na nossa língua,
teremos utilizar a seguinte sintaxe na sua evocação:
$ scribus --lang pt_BR
No atalho a ser disponibilizado para o aplicativo no menu K, utilizem o
Editor de Menus e, na edição do atalho, acrescentem o parâmetro para
que possamos utilizar esta aplicação toda a vez que inicializarmos.
VISUALIZADORES DE BITMAPS
Para aqueles que trabalham com grande quantidade de imagens,
ferramentas gráficas para visualisar e catalogar imagens são de grande
valia neste processo. E para estas tarefas temos excelentes aplicações
disponíveis como o Kview e o Kuickshow.
SOBRE O IMAGEMAGICK
✔ <http://www.imagemagick.org/>.
Além do já consagrado GIMP, outro grande destaque em tratamento de
imagens de código aberto é o ImageMagick, um conjunto de ferramentas
e bibliotecas que permite a realização de inúmeras operações. Dentre
suas características, a mais interessante é o suporte de uma infinidade de
49/95
formatos de arquivos, além dos já consagrados PNG, GIF, JPEG e
PhotoCD.7
Utilitário “display”, que por sua vez sendo executado corretamente, informa que a
aplicação foi corretamente instalada.
50/95
As sintaxes variam de acordo com o comando desejado.
Consulte a ajuda eletrônica de cada comando disponível, digitando...
$ [COMANDO] --help
... ou...
$ man [COMANDO]
... para obterem maiores instruções.
CONCLUSÃO
As aplicações para a editoração gráfica em sistemas GNU/Linux, diferente
das aplicações de escritório, ainda se encontram em um estágio um pouco
aquém em comparação com as aplicações disponíveis para o Windows. A
única exceção são as aplicações para tratamento de imagens. Estes sim, já
se encontram em um estágio bem maduro, onde o GIMP figura como
grande destaque, rivalizando ainda com o famoso Photoshop, apesar da
supremacia deste último. Quanto aos demais, não irá demorar muito e em
um futuro não muito distantes teremos programas nos mesmos níveis que
os tradicionais CorelDRAW!, AutoCAD e PageMaker. &;-D
51/95
V. IMAGEM, SOM E MULTIMÍDIA
INTRODUÇÃO
Outro grande atrativo para a aquisição de um computador está no fato do
usuário desejar usufruir de seus recursos multimídia, e não muito
diferente dos demais sistemas operacionais, o GNU/Linux provê uma série
de aplicativos e utilitários específicos para esta atividade.
Neste capítulo, iremos conhecer as principais aplicações multimídia, além
das bibliotecas, decodificadores, ferramentas e utilitários relacionados.
52/95
Requisitos para a reprodução de arquivos de vídeo
ffmpeg. Decodificado de vídeo para o formato MPEG. Também é requerido pelo
excelente tocador multimídia MPlayer.
✔ <http://ffmpeg.sourceforge.net/index.org.html>.
mencode Decodificador de vídeo. Disponível na página oficial do MPlayer.
✔ <http://www.mplayer.hu/>.
SDL Biblioteca multimídia e multiplataforma (já presente na distribuição).
✔ <http://www.libsdl.org/>.
Transcode Decodificador em modo texto que possibilita converter vários
formatos de vídeo, além de outras atividades inerentes da
manipulação de vídeo. Por ser dotado de diversos recursos, requer o
uso de parâmetros especiais para a realização de sua compilação.
✔ <http://www.transcoding.org/>.
VCDImager Ferramenta em modo texto que permite converter diferentes
formatos de vídeo para os formatos padrão em VCD/SVCD.
✔ <http://www.vcdimager.org/>.
win32codecs Este pacote contém bibliotecas decodificadoras para diversos
(essentials) formatos de vídeo. É utilizada pelos aplicativos MPlayer e Xine, sendo
indispensável para a sua instalação.
✔ <http://www.mplayerhq.hu/>.
Lembrem-se que, de acordo com a aplicação e/ou a utilização desta,
somente serão requeridas específicamente algumas destas pendências.
Por isso, optem por consultar a página oficial das aplicações a serem
usadas para obterem maiores detalhes.
SOBRE O LIBDVDCSS
Existe uma lei nos Estados Unidos, chamada DMCA, que proíbe o
desenvolvimento e uso de qualquer recurso que burle qualquer processo
de proteção desenvolvido pelas indústrias. Nos sistemas GNU/Linux,
temos a biblioteca libdvdcss, que possibilita a leitura das mídias em DVD
de qualquer região; devido a existência do DMCA, eis porque a libdvdcss
não se encontra disponível nas principais distribuições.
Em nosso caso estamos utilizando uma biblioteca cuja lei, apesar de
pertencer a aquele país, esta não se aplica aos demais, o que nos garante
a possibilidade de utilizá-la legalmente.
REPRODUÇÃO DE ÁUDIO
São inúmeros os utilitários para áudio em geral. Nesta seção, nos
concentraremos nas necessidades básicas de um usuário desktop com o
53/95
uso de ferramentas disponíveis para o KDE, embora também
descreveremos outros para cobrir eventuais necessidades.
AMAROK
✔ <http://amarok.kde.org/>,
✔ <http://gstreamer.freedesktop.org/>,
✔ <http://developer.kde.org/~wheeler/taglib.html>,
✔ <http://musicbrainz.org/products/tunepimp/>.
Este é considerado um dos melhores e mais completo tocadores
multimídia existente. A partir da versão 1.2, o AmaroK agrega inúmeros
recursos.
Em destaque, a possibilidade de serem exibidas as capas dos álbuns em
que as faixas pertencem, exibição automática da letra das músicas,
suporte para iPod, excelente listagem de músicas, entre outros recursos.
54/95
bibliotecas, se encontram em /l.
A instalação de todas elas poderá ser feita com os seguintes comandos...
# slackpkg install xine-lib
# slackpkg install taglib
# slackpkg install libtunepimp
Se não quiserem ter todo este trabalho, façam uma instalação completa do
sistema; assim, tudo estará resolvido.
O KMIX E O KSCD
No KDE, temos o simples, porém essenciais aplicativos para o ajuste de
áudio (equalização) e a reprodução de CDs.: o KMix e o KsCD.
55/95
para esta finalidade, nos sistemas GNU/Linux dispomos dos seguintes
recursos:
SERVIÇOS DO KONQUEROR
Uma das formas mais fáceis de extrair faixas de CDs de áudio é a
utilização do gerenciador de arquivos Konqueror, bastando apenas inserir
o CD na bandeja e clicar no ícone Services (Serviços), disponível na barra
lateral próximo à árvore de diretórios.
56/95
Para obterem maiores informações sobre este aplicativo, consultem na 6a
Parte: Ambientes Gráficos -> As aplicações nativas.
REPRODUÇÃO DE VÍDEOS
Nos sistemas GNU/Linux, tempos disponíveis diversos programas e
recursos de excelente qualidade para estas atividades. Em destaque, o
Xine, o VLC, o MPlayer, além de suas respectivas interfaces gráficas.
Neste capítulo, destacaremos o Xine, por já se encontrar disponível na
distribuição.
XINE
✔ <http://xinehq.de/>.
✔ <http://kaffeine.sourceforge.net/>.
Um belo tocador multimídia, o Xine é um dos melhores programas desta
categoria, destacando-se em especial para facilidade de operação e beleza
de sua interface gráfica.
57/95
três pacotes: o xine-lib, que contém a engine do Xine; o xine-ui, que
contém a sua interface gráfica padrão; e o gxine, uma segunda opção de
interface feita especialmente para as aplicações que utilizem a biblioteca
GTK+, como o Xfce e o GNOME. Todas elas se encontram disponíveis na
série /xap, e como direcionamos este trabalho para o ambiente gráfico
KDE, necessitaremos apenas dos dois primeiros pacotes:
# slackpkg install xine-lib
# slackpkg install xine-ui
Tendo realizado a instalação do programa principal, será necessário
definir por qual interface gráfica iremos utilizar, onde o projeto Xine exibe
em sua página oficial o endereço de diversas interfaces gráficas
disponíveis. Para isto, bastam pesquisarem na seção Download e
definirem qual irão utilizar.
Ainda que o projeto não disponibilize oficialmente uma interface gráfica
feita exclusivamente para o KDE, podemos encontrá-las em outros
projetos, pois como todo bom tocador multimídia, o Xine possui excelentes
interfaces gráficas feitas por terceiros. Em destaque o Kaffeine.
A interface gráfica Kaffeine foi desenvolvida para suprir ao KDE uma
reprodutor integrado ao ambiente gráfico. Ao ser executado, poderá
permanecer embutido no painel, de acordo com nossas preferências.
58/95
Assistente de instalação do Kaffeine.
GRAVAÇÃO DE MÍDIAS
Para realizar diversos tipos de gravação em mídias de CD e DVD, existe
uma enorme variedade de programas existentes, bastando apenas o
usuário selecionar os que mais lhe agradarem, e pelo fato destas unidades
estarem a cada dia mais presentes no cotidiano do usuário, é lógico que as
maiorias das distribuições incluíssem ótimas ferramentas para o uso e
manipulação destes recursos.
K3B
✔ <http://www.k3b.org/>.
Apesar de não possuir nenhuma aplicação para a gravação de CD-ROMs
em seu ambiente padrão, para o KDE temos disponível o excelente K3b.
59/95
Na verdade, o K3b não é apenas uma interface gráfica para a gravação de
CD/DVDs, e sim uma verdadeira suíte! Dentre suas características, está
no uso da biblioteca Qt, além de possuir uma interface gráfica muito
amigável e prover excelente integração ao KDE. É considerado um dos
melhores programas de sua categoria, sendo muito comparado ao famoso
Nero.
O programa possui inúmeros recursos que facilitam muito as atividades de
gravação tais como criação de CDs de áudio, dados, extração, discos de
inicialização, criação de VCD/SVCDs, enfim, praticamente tudo que um
usuário aventurado necessita. Afinal de contas, o K3b é considerado o
mais completo aplicativo da categoria.
Embora o Slackware disponibilize apenas os pacotes necessários para a
instalação do K3b, existem diversas pendências externas a serem
satisfeitas, de acordo com a utilização do programa. Até mesmo a
biblioteca k3bmonkeyaudioplugin não se encontra, embora seja requerida
pelo K3b. Mais à diante, falaremos a respeito destes requerimentos.
A instalação deverá ser feita através dos comandos...
# slackpkg install k3b
Se desejarem o pacote necessário para o suporte a internacionalização...
# slackpkg install k3b-i18n
Ao iniciar pela 1a. vez, o programa perguntará ao usuário se ele desejará
prover integração ao gereciador de arquivos Konqueror. Fica à critério do
usuário definir se é interessante ou não este recurso.
60/95
Definindo a integração com o gerenciador de arquivos Konqueror.
61/95
FFMPEG, poderemos decodificar vídeos para o formato MPEG; e assim
por diante. Felizmente alguns destes pacotes encontram-se inclusos na
maioria das distribuições; outros necessitam ser instalados à parte.
CONCLUSÃO
Apesar da pouca disponibilidade de recursos e aplicações para trabalhos
profissionais em multimídia, os sistemas GNU/Linux dispõe de diversos e
excelentes aplicativos para as tarefas mais simples e cotidianas, como a
reprodução, extração e decodificação de CDs e DVDs. Mas como a
situação do sistema operacional nesta área é promissora, esperamos que
num futuro próximo tenhamos à disposição, o que há de melhor em
multimídia. &;-D
62/95
VI. JOGOS E ENTRETENIMENTOS
INTRODUÇÃO
Juntamente com a editoração de documentos de escritório e o acesso a
Internet, a utilização de jogos para entretenimento também é uma das
principais atividades da grande maioria dos micreiros. Porém, existe um
pequeno agravante: a maioria esmagadora dos jogos comerciais são
desenvolvidos unicamente para a plataforma Windows, tendo os sistemas
GNU/Linux somente alguns pouquíssimos títulos disponíveis...
Isto é passado, pois em virtude do crescente número de usuários deste
sistema, empresas e desenvolvedores tiveram a iniciativa de portar bons
títulos para esta plataforma, além de desenvolverem APIs e bibliotecas
que visam facilitar a vida dos desenvolvedores para a criação de novos
jogos.
Neste capítulo iremos conhecer as particularidades dos jogos que rodam
em sistemas GNU/Linux, além de conhecer os principais títulos livres, as
bibliotecas, as APIs e os recursos tecnológicos pertinentes.
OS JOGOS...
Face a grande quantidade de jogos existentes, iremos apenas fazer uma
breve descrição sobre os títulos disponíveis, além de fornecer
informações gerais sobre as características dos mesmos e as telas dos
jogos obtidas na página oficial. Subdiviremos tais títulos de acordo com a
sua categoria: ação 3D, arcade, estratégia, FPS, simulador de corrida e
simulador de vôo.
AÇÃO 3D
BZFLAG
✔ <http://bzflag.org/>.
BZFlag é um excelente jogo multiplayer e multiplataforma.
63/95
Tela obtida da página oficial do projeto.
SUPERT UX
✔ <http://supertux.berlios.de/>.
Outro ótimo jogo para aqueles saudosos pelo clássico Super Mario Bros!
64/95
Tela obtida da página oficial do projeto.
ARCADE
CHROMIUM B.S.U
✔ <http://www.reptilelabour.com/software/chromium/>.
O Chromium é um tradicional jogo de tiro com aeronaves espaciais.
RAPTOR
✔ <http://raptorv2.sourceforge.net/>.
Com o mesmo estilo do velho e conhecido Chromiun, este é o Raptor: Call
of the shadows and Tyrian.
65/95
Tela obtida da página oficial do projeto.
SEARCH AN RESCUE
✔ <http://wolfpack.twu.net/SearchAndRescue/>.
Similar ao clássico Desert Strike, este é o Search and Rescue!
66/95
localizações, onde haverá a necessidade de realizar boas manobras para
pilotar o helicóptero, o que nos garantirá ótimos momentos de diversão!
Dentre os requisitos mínimos necessários estão um processador Pentium
166 Mhz ou similar, placa aceleradora gráfica, 16 MB de memória RAM
(32 recomendados) e josticks (opcional). Necessita também da
implementação Mesa3D (suporte OpenGL) e as bibliotecas libjsw (suporte
opcional ao jostick) e YIFF (suporte opcional para som). Confira na página
oficial para obterem maiores detalhes.
ESTRATÉGIA
BATTLE FOR WESNOTH
✔ <http://www.wesnoth.org/>.
Battle for Westnoth é um jogo de RPG livre e com uma temática medieval.
67/95
FREECIV
✔ <http://www.freeciv.org/>.
Popularmente conhecido por ser um clone do famoso Civilization, FreeCiv
é um jogo que segue a mesma linha de rival comercial.
LINCITY / LINCITY-NG
✔ <http://lincity.sourceforge.net/>,
✔ <http://lincity-ng.berlios.de/>.
Tal como o FreeCiv, Lincity é outro interessante simulador de cidades.
http://lincity-ng.berlios.de/wiki/index.php/Screenshots
68/95
“Rocket ready for launch” de ambas as versões – telas obtidas da página oficial do
projeto.
69/95
gráfico (e não é para menos, com seus 250 MB de binários), pode ser
jogado tanto em modo singleplayer quanto multiplayer, além de ter
requerimentos de hardware modestos para o padrão de jogos da
atualidade. Um simples Pentium III de 1.0 Ghz, com 256 MB de RAM e 32
MB de vídeo com aceleração gráfica 3D são mais que suficientes.
WARZONE2100
✔ <http://wz2100.net/>.
Warzone2100 é um jogo de estratégia em tempo real.
FPS
ALIEN ARENA
✔ <http://red.planetarena.org/>.
70/95
O Alien Arena é um jogo baseado na engine do Quake e traz a conhecida e
consagrada proposta das emocionantes partidas multiplayers!
Embora este jogo tenha sido desenvolvido para este propósito, também
poderemos jogar sozinho no modo singleplayer, contra os bots.
Outro grande atrativo está nos gráficos belíssimos, cenários estonteantes
e efeitos visuais maravilhosos, sem requerer muitos recursos em termos
de hardware. A qualidade sonora também não fica atrás. Até os aliens são
realmente feios... o que mais esperar?
CUBE (E VARIANTES )
✔ <http://cubeengine.com/>.
✔ <http://sauerbraten.org/>.
✔ <http://assault.cubers.net/>.
O Cube é um jogo estilo FPS ao bom e velho estilo Quake.
71/95
Tela obtida da página oficial do projeto.
NEXUIZ
✔ <http://www.nexuiz.com/>.
Tal como o Cube, o Nexuiz é outro excelente FPS.
72/95
Tela obtida da página oficial do projeto.
T REMULOUS
✔ <http://www.tremulous.net/>.
Tremulous é mais um jogo estilo FPS baseado na engine do Quake.
73/95
Tela obtida da página oficial do projeto.
Mais um? Não exatamente, pois ele traz o diferencial em dividir os times
em humanos e alienígenas, dando características especiais para cada
jogador.
Os humanos são frágeis e limitados, necessitando de armas para a
destruição de seus oponentes; já para os alienígenas, são conferidas uma
série de habilidades, porém não possuem “poder de fogo” para
enfrentarem seus oponentes. No geral, há um eqüilíbrio de forças
interessante.
O destaque deste jogo vai também para a mescla de estilos, como a ação
em 1a. pessoa e a necessidade de se definirem estratégia em tempo real.
WARSOW
✔ <http://www.warsow.net/>.
Quem alguma vez já teve a oportunidade de jogar o FPS XIII?
74/95
Tela obtida da página oficial do projeto.
Graças aos recursos tecnológicos providos pela engine do XIII, o jogo tem
uma aparência similar aos desenhos em quadrinhos (cartoons). Gostaram?
Felizmente, temos também um equivalente livre: o Warsow.
Baseado na engine Qfusion (que por sua vez é uma derivação da engine do
Quake), com um visual mais colorido e cores vibrantes, o Warsow agrada
pelas belas imagens, boa movimentação e excelente jogabilidade, além de
promover os estilos de jogos clássicos em modo multiplayer.
SIMULADOR DE CORRIDA
RACER
✔ <http://www.racer.nl/>.
O Racer é um projeto multiplataforma e não-comercial de um simulador de
corrida, com belos gráficos e uso de modelos de carros profissionais.
75/95
Tela obtida da página oficial do projeto.
T ORCS
✔ <http://torcs.sourceforge.net/>.
O Torcs – The Open Race Car Simulation – é um excelente e bem acabado
jogo de corrida, ao bom e maravilhoso estilo do The Need for Speed!
76/95
Tela obtida da página oficial do projeto.
T UX RACER
✔ <http://tuxracer.sourceforge.net/>.
Não deixe o Tux quebrar a cara montanha de neve abaixo!
77/95
renderizados através do OpenGL, possibilitando também a criação de
pistas pessoais e modificação das condições climáticas para maior emoção.
ULTIMATE STUNTS
✔ <http://www.ultimatestunts.nl/>.
Quem se lembra do antigo Stunts, disponível para o MS-DOS?
VDRIFT
✔ <http://vdrift.net/>.
Outra excelente opção de simulador de corrida multiplataforma!
78/95
Tela obtida da página oficial do projeto.
SIMULADOR DE VÔO
FLIGHTGEAR
✔ <http://www.flightgear.org/>.
O FlightGear é um simulador de vôo, similar ao famoso e já consagrado
FlightSimulator, desenvolvido pela Microsoft.
79/95
Tela obtida da página oficial do projeto.
GL-117
✔ <http://www.heptargon.de/gl-117/gl-117.html>.
Outro excelente simulador de vôo. Escrito em C++ e utilizando os
recursos de aceleração de hardware e multimídia providos pela OpenGL e
SDL.
80/95
Tela obtida da página oficial do projeto.
REAPER
✔ <http://reaper3d.sourceforge.net/>.
O Reaper é um simulador de vôo espacial, onde o jogador deverá
combater seus inimigos em uma espaçonave de guerra futurística.
81/95
jogabilidade. Com certeza, este será um dos jogos que terão bastante
sucessos com os usuários mais aficcionados.
82/95
BIBLIOTECAS E APIS
As bibliotecas ou APIs são um conjunto de rotinas desenvolvidas
especificamente para prover uma camada intermediária que padronize o
acesso as funções do hardware. Existem APIs para as mais diversas
finalidades, porém forneceremos informações apenas para as mais
utilizadas atualmente.
83/95
Como podem observar, uma das maiores vantagens proporcionadas pela
SDL é a possibilidade de portar aplicações para qualquer outra
plataforma.
A instalação da SDL é simples, rápida e sem maiores complicações, onde
existe apenas a necessidade de obter o código-fonte direto do
desenvolvedor e realizar o processo de compilação clássica. E felizmente,
a partir da versão 9.0, o Slackware incluiu em seu CD-ROM de instalação
este pacote, além de estar disponível no CD-ROM Extra das versões
anteriores.
A OPENAL
✔ <http://www.openal.org/>.
Tal como existe a OpenGL para sistemas gráficos, temos também a
OpenAL para sistemas de áudio, e sua função é bem simples: prover ao
desenvolvedor um conjunto de rotinas padronizadas (API) para acesso aos
recursos universais providos pela sistema de áudio (placa de som).
Os componentes desta API são divididos em três classes:
• Fonte: as coordenadas da origem do evento (neste caso, o som);
• Ouvinte: as coordenadas de destino do som (o jogador);
• Buffer: local da memória onde o som é armazenado antes de ser
processado, já que os jogos processam em tempo real.
A OpenAL é licenciada livremente sob os termos da GNU LGPL.
84/95
CONCLUSÃO
Antigamente, quando o assunto era sobre jogos nos sistemas GNU/Linux,
o que vinha em mente dos usuários eram os antigos joguinhos disponíveis
nas distribuições e que somente serviam para passar o tempo. Faltava a
disponibilidade de bons títulos para a plataforma, e os que existiam
somente poderiam ser rodados de duas formas: por implementação de
APIs, que ainda hoje deixam a desejar ou mantendo uma partição com o
sistema operacional Windows separada apenas para esta atividade. Pois é,
acreditem: muitos dos usuários de sistemas GNU/Linux mantém a 2a.
opção geralmente por este motivo, senão é este o motivo maior. &;-D
85/95
VII. EMULAÇÃO DE SISTEMAS
INTRODUÇÃO
Apesar da boa flexibilidade dos sistemas GNU/Linux, infelizmente haverão
circunstâncias em que teremos que utilizar alguns recursos de emulação
de sistemas 9, face a existência de algumas necessidades específicas, como
por exemplo a utilização de programas de outras plataformas, a análise de
aplicações específicas, a realização de testes, entre outros.
Neste capítulo, iremos conhecer os principais recursos e programas
disponíveis desta categoria para os sistemas GNU/Linux, além de
obtermos instruções, dicas e recomendações para a administração geral
dos mesmos.
WINE
✔ <http://www.winehq.org/>.
O WINE – WINE It's a Not Emulator – é uma implementação de APIs que
encontra-se em desenvolvimento desde 1993, onde seu objetivo é de
prover aos usuários de outros sistemas baseados em UNIX uma camada
intermediária que possibilita executar quaisquer aplicativos de 16/32 bits
desenvolvidos para a plataforma Windows.10
Tela “PowerPoint 2000, Internet Explorer 5.0, Notepad and Solitaire”, obtida da página
86/95
oficial do projeto.
A INSTALAÇÃO
Nesta seção trataremos apenas da implementação WINE, onde também
cobriremos apenas a sua instalação sem a utilização de uma partição com
o Windows, já que a intenção é substituí-lo (então que seja por completo).
Dentre os preparativos iniciais necessários, está a disponibilização de pelo
menos ½ GB de espaço em disco rígido para o processo de compilação,
pois serão gerados diversos arquivos para a construção dos binários
desejados.
Existem dois métodos de instalação através do processo de compilação: o
clássico e a automatizado. Nesta literatura, optaremos pelo método
automatizado, feito através da execução de um script chamado wineinstall.
Para isto, deveremos ir para o diretório tools...
$ cd /usr/local/src/wine-[VERSÃO]/tools
... e claro, iniciar o processo de compilação através da execução do script
wineinstall. Lembrem-se de estarem autenticado como simples usuário...
$ ./wineinstall
..., pois caso contrário...
# ./wineinstall
WINE Installer v0.75
/usr/local/src/wine-[VERSÃO] /usr/local/src/wine-0.9.30/tools
You are running wineinstall as root, this is not advisable. Please rerun as a
user.
Aborting.
# _
Para rodar o script wineinstall com poderes de um simples usuário, a
conta deverá ter acesso de leitura e escrita sobre a estrutura de arquivos
e diretórios a qual se encontra o código-fonte do WINE. Utilizem o
comando...
# chown -R darkstar.users /usr/local/src/wine-[VERSÃO]/
..., onde darkstar é a conta de usuário comum a ser utilizada.
Dentre as principais perguntas que seguirão, o script irá verificar se o
usuário deseja instalar o WINE, onde posteriormente será necessária a
senha do super usuário. Simplesmente digitem yes + <ENTER>.
87/95
We need to install wine as root user, do you want us to build wine,
'su root' and install WINE? Enter 'no' to continue without installing
(yes/no) _
Tenham bastante paciência, pois será realizado o processo de compilação
que, dependendo da capacidade do processador e da quantidade de
memória, certamente levará um bom tempo...
Após término da compilação, será solicitado a senha de superusuário.
Digitem-na para que o programa seja instalado.
Performing 'make install' as root to install binaries, enter root password
Password: _
Não irá demorar muito para que o processo seja concluído:
/home/darkstar/.wine updated successfully.
Installation complete for now. Good luck (this is still beta software).
If you have problems with WINE, please read the documentation first,
as many kinds of potential problems are explained there.
$ _
Conforme as instruções do próprio sistema de instalação do WINE, saibam
que estão utilizando um programa em que o seu desenvolvimento é ainda
classificado em estágio beta. Portanto, problemas poderão surgir.
A CONFIGURAÇÃO
Antigamente, as definições padrão do WINE eram armazenadas em um
arquivo especial chamado wine.conf, que por sua vez se localizava nas
definições pessoais do usuário (/home/darkstar/.wine/wine.conf). Porém, a
partir da série 0.9 e posteriores, estas definições não fazem mais sentido
devido a evolução da API. Portanto, entra em cena a ferramenta winecfg.
88/95
• Aplicações (Applications);
• Bibliotecas (Libraries);
• Sistema de vídeo (Graphics);
• Integração (Desktop integration);
• Unidades (Drives);
• Sistema de áudio (Audio);
• Sobre (About).
Dada as facilidades de interação e de entendimento proporcionados por
esta interface gráfica, omitiremos informações gerais acerca dos
processos de ajuste e configuração do WINE.
A EXECUÇÃO
Para inicializar o WINE, basta executá-lo conforme a seguinte sintaxe:
$ wine [EXECUTÁVEL]
Onde o [EXECUTÁVEL], como o próprio nome sugere, é o binário de
inicialização da aplicação desenvolvida para oWindows.
Exemplo:
$ wine setup.exe
OBSERVAÇÕES FINAIS
O método de compilação clássica somente deverá ser utilizado por
administradores que conhecem profundamente o processo de
configuração da implementação, pois estes deverão definir manualmente
todos possíveis parâmetros necessários para o seu perfeito
funcionamento. Portanto, procurem optar pelo método de compilação
automatizada, que por sua vez deverá ser feito através da execução do
script wineinstall.
Outra recomendação importante refere-se a instalação dos programas em
modo superusuário, pois somente assim todos os usuários terão acesso a
estes e suas respectivas configurações globais.
SOBRE O LICENCIAMENTO
Um aspecto interessante refere-se ao licenciamento de seu código-fonte.
O WINE é software livre, porém não é licenciado sob com os termos
restritos da GPL, o que significa que seu código-fonte pode ser modificado
e redistribuído sem as restrições desta licença. Resumindo: pode-se
desenvolver outras aplicações baseando-se em seu código-fonte e
distribuí-las como software proprietário. Como exemplo, temos a API
WINEX, da Transgaming, o qual por uma assinatura trimestral lhe dará o
89/95
direito de obter o pacote pré-compilado. Isto também acontece com a
derivação chamada Crossover Office e o seu adicional Crossover Plugins,
mediante a aquisição de uma licença da Codeweaver.
DOSBOX
✔ <http://dosbox.sourceforge.net/>.
Em certos casos, necessitaremos utilizar certas aplicações desenvolvidas
para o antigo sistema operacional MS-DOS. Exemplos comuns disto são os
famosos programinhas escritos em Clipper para o gerenciamento de
dados de clientes e locações de vídeo em uma locadora. E aqueles
joguinhos que não passam da casa dos 2 MB?
DOSBox rodando uma seção do Windows (tela obtida da página oficial do projeto).
CONCLUSÃO
Inicialmente recomendamos a utilização de soluções nativas ao sistema
para os desktop em geral. No caso da implementação da API WINE, a sua
utilização acarretará alguns inconvenientes, como uma maior demanda de
processamento e hardware e (em alguns casos) instabilidade, além do
90/95
habitual trabalho-extra e da necessidade de obtenção de conhecimentos
técnicos para a efetuação destas operações. &;-D
91/95
VIII. MISCELÂNEOS
INTRODUÇÃO
Além de todas as aplicações mencionadas nos capítulos anteriores,
existem uma infinidade de programas para todos os tipos de atividades
que desejarmos realizar. Descreveremos aqui somente as principais,
lembrando aos usuários que, pela grande existência de atividades, muitos
perfis de aplicação não estarão descritos aqui; mas nada impede que no
futuro tais aplicações estejam presentes, de acordo com a sua
necessidade.
CONTROLES FINANCEIRO
IRPF
✔ <http://www.receita.fazenda.gov.br/>.
Antigamente, um dos grandes inconvenientes dos usuários de sistemas
GNU/Linux que faziam a declaração de renda estava no fato do programa
estar disponível apenas para a plataforma Windows. Porém, a partir de
2004, a Receita Federal desenvolveu uma versão especial deste programa
na linguagem multiplataforma Java, para facilitar a vida daqueles que não
só utilizavam os sistemas GNU/Linux, como também o Mac, Solaris e OS2.
92/95
Slackware possui uma versão da JDK disponível na distribuição, mas caso
não se encontre, vá a página da Blackdown e obtenha a versão atualizada.
Para instalarmos o IRPF, basta apenas executarmos o binário
disponibilizado na página da Receita Federal. Antes, deveremos ajustar as
permissões de execução do aplicativo com...
$ chmod a+x IRPFJava[ANO]linuxv1.0.bin
Em seguida...
$ ./IRPFJava[ANO]linuxv1.0.bin
Assistente InstallShield
93/95
Opção pela utilização de um ícone para a evocação do programa na área de trabalho.
94/95
Inicializando Assistente InstallShield...
CONCLUSÃO
São inúmeras as necessidades dos usuários desktops; por isto apenas
disponibilizaremos as categorias de aplicações de cunho essencial para os
sistemas GNU/Linux. Se houver alguma de caráter indispensável para uso
geral em desktops e que não esteja aqui descrita, contactem-nos! &;-D
95/95
CONCLUSÃO
Ufa! Até que enfim! Chegamos! Acreditamos que este capítulo não deveria
se chamar “Conclusão”, e sim: “Final Feliz”!
Brincadeiras à parte, gostariamos de enfatizar que os sistemas GNU/Linux
saíram do anonimato para a capa de diversas revistas e páginas
especializadas, ganhando força e status entre as grandes corporações e
diversos outros segmentos. Não são mais vistos como sistemas
alternativos, e sim uma séria opção de sistema para os nossos
computadores, seja do lar, do escritório, da faculdade, onde for cogitada
sua utilização.
Apesar da supremacia do Windows – em especial nas estações de trabalho
–, os sistemas GNU/Linux a cada dia estão ganhando espaço nas mais
diversas áreas de atuação. A sua versatilidade, robustez, independência e
o seu jeito “completo” de ser, impulsionados pelo seu baixíssimo custo
geral são fatores marcantes e preponderantes para a sua adoção. De
forma lenta, porém progressiva, o sistema e suas inúmeras aplicações
disponíveis de grande atuação e destaque, vão ganhando terrenos que vão
desde soluções para o uso em servidores a sistemas embebidos em
dispositivos portáteis. Até mesmo em alguns consoles de video-games o
nosso querido Tux tem presença marcada! As grandes distribuições
incorporam à cada dia recursos e ferramentas que visam ampliar ao
máximo suas finalidades para onde estas propõe soluções.
Para nós usuários finais, todos os esforços de melhorias, implementação
de recursos interfaces amigáveis estão sendo aprimorados de modo que
possamos, em um futuro não muito distante, ter à disponibilidade um
sistema operacional com todas as características e qualidades desejadas
(e muitas outras únicas), contribuindo assim para tornar a utilização de
computadores uma atividade prazerosa e agradável, independente do
grau de conhecimento, formação e disponibilidade de recursos e
facilidades dos micreiros aficcionados. Agora com as iniciativas de
diversas empresas, corporações e projetos, acreditamos que não irá
demorar muito tempo para que o sonho se torne realidade.
Mesmo assim, após grandes e inúmeras evoluções, ainda permanece no ar
a seguinte pergunta (e expectativa): “Quando os sistemas GNU/Linux irão
dominar o mercado?” É algo difícil de responder. Seja pela qualidades do
sistema, seja pelo apoio de seus usuários, seja pelo compromisso de
grandes corporações, enfim, seja por diversos fatores que poderão ter
maior ou menor influência neste aspecto. Porém um grande passo já foi
dado: a sua existência deve-se graças à uma maravilhosa comunidade que
desde tempos remotos (nem tanto...) acredita na liberdade, e com base
em suas ideologias, construíram um incrível e maravilhoso sistema
operacional, além de uma vasta gama aplicações. Graças a sua força de
vontade, caráter e uma paixão intensa temos em nossos computadores o
fruto destes grandiosos esforços: um sistema livre, aberto, eficiente,
poderoso, robusto, estável, completo, flexível, versátil, amigável, belo... e
apaixonante! &;-D
REFERÊNCIAS
Aqui se encontram todas as referências de páginas eletrônicas sobre os
sistemas GNU/Linux e as aplicações disponíveis. Estes materiais foram
consultados para a obtenção de informações antes, durante e depois do
processo de desenvolvimento deste livro.
HOW-TOS
Os tradicionais HOW-TOs estão entre as melhores fontes de informações
disponíveis gratuitamente. Todos aqueles que foram traduzidos para o
nosso idioma também foram consultados. Vejam:
✔ “ COMO FAZER XFree86 do Linux” , por Eric S. Raymond, traduzido por
Conectiva Informática, <http://bazar2.conectiva.com.br/~ldp-
br/projetos/howto/arquivos/html/XFree86-HOWTO/XFree86-
HOWTO.pt_BR.html>.
✔ “ Mini-COMO FAZER ALSA-Sound” , Por Roberto Janny T. J. - krivilli,
Projeto SOBrasil – < http://sobrasil.hypermart.net/>.
Versão 0.3 - 10 de Abril de 2000.
<http://alsabrazil.sourceforge.net/howto1/alsa-howtobr.htm>.
✔ “ O Linux Kernel HOWTO” , por Brian Ward, traduzido por Augusto Cardoso e
Pedro Almeida, <http://www.poli.org/LDP-PT/HOWTO/Kernel-
HOWTO/Kernel-HOWTO.html>.
Agradecimentos especiais aos tradutores destas documentações.
Para aqueles que conhecem a língua inglesa, consultem o diretório...
/usr/doc/Linux-HOWTOs/
Lá encontrarão uma enorme quantidade de HOW-TOs disponíveis sobre os
mais variados temas. Caso não os encontrem, confiram se o pacote linux-
howtos-[VERSÃO] se encontra presente em /var/log/packages/. Senão (o
que é bem provável) façam a instalação deste pacote.
LITERATURAS ESPECIALIZADAS
Além de diversos endereços eletrônicos, foram consultados também
algumas literaturas especializadas, todas disponíveis gratuitamente.
✔ “ Guia do Usuário do Conectiva Linux” , versões 3, 4 e 8 por Equipe
Conectiva, <http://www.conectiva.com/doc/livros/> (neste atalho somente se
encontra disponível a última versão).
✔ “ Guia Foca Linux” , níveis Iniciantes, Intermediários e Avançados, por
Gleydson Mazioli da Silva, <http://focalinux.cipsga.org.br/>.
✔ “ Entendendo e dominando o Linux” , 5a. e 7a. edição, por Carlos E Morimoto,
<http://www.guiadohardware.net/livros/linux/>.
✔ “ FreeBSD HandBook (Projeto de documentação do FreeBSD” ),
<http://doc.fugspbr.org/handbook/>.
✔ “ The Linux Manual” , versão 3.4, por Hugo Cisneiros,
<http://tlm.conectiva.com.br/>.
0. PREAMBULE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to assure
everyone the effective freedom to copy and redistribute it, with or without
modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way to
get credit for their work, while not being considered responsible for
modifications made by others.
This License is a kind of "copyleft", which means that derivative works of
the document must themselves be free in the same sense. It complements
the GNU General Public License, which is a copyleft license designed for
free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals; it can
be used for any textual work, regardless of subject matter or whether it is
published as a printed book. We recommend this License principally for
works whose purpose is instruction or reference.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies to the
Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use technical
measures to obstruct or control the reading or further copying of the
copies you make or distribute. However, you may accept compensation in
exchange for copies. If you distribute a large enough number of copies
you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover Texts:
Front-Cover Texts on the front cover, and Back-Cover Texts on the back
cover. Both covers must also clearly and legibly identify you as the
publisher of these copies. The front cover must present the full title with
all words of the title equally prominent and visible. You may add other
material on the covers in addition. Copying with changes limited to the
covers, as long as they preserve the title of the Document and satisfy
these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you
should put the first ones listed (as many as fit reasonably) on the actual
cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy a
computer-network location from which the general network-using public
has access to download using public-standard network protocols a
complete Transparent copy of the Document, free of added material. If
you use the latter option, you must take reasonably prudent steps, when
you begin distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location until at
least one year after the last time you distribute an Opaque copy (directly
or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release the
Modified Version under precisely this License, with the Modified Version
filling the role of the Document, thus licensing distribution and
modification of the Modified Version to whoever possesses a copy of it. In
addition, you must do these things in the Modified Version:
A) Use in the Title Page (and on the covers, if any) a title distinct from
that of the Document, and from those of previous versions (which
should, if there were any, be listed in the History section of the
Document). You may use the same title as a previous version if the
original publisher of that version gives permission.
B) List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five), unless
they release you from this requirement.
C) State on the Title page the name of the publisher of the Modified
Version, as the publisher.
D) Preserve all the copyright notices of the Document.
E) Add an appropriate copyright notice for your modifications adjacent to
the other copyright notices.
F) Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G) Preserve in that license notice the full lists of Invariant Sections and
required Cover Texts given in the Document's license notice.
H) Include an unaltered copy of this License.
I) Preserve the section Entitled "History", Preserve its Title, and add to it
an item stating at least the title, year, new authors, and publisher of
the Modified Version as given on the Title Page. If there is no section
Entitled "History" in the Document, create one stating the title, year,
authors, and publisher of the Document as given on its Title Page, then
add an item describing the Modified Version as stated in the previous
sentence.
J) Preserve the network location, if any, given in the Document for public
access to a Transparent copy of the Document, and likewise the
network locations given in the Document for previous versions it was
based on. These may be placed in the "History" section. You may omit
a network location for a work that was published at least four years
before the Document itself, or if the original publisher of the version it
refers to gives permission.
K) For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L) Preserve all the Invariant Sections of the Document, unaltered in their
text and in their titles. Section numbers or the equivalent are not
considered part of the section titles.
M) Delete any section Entitled "Endorsements". Such a section may not
be included in the Modified Version.
N) Do not retitle any existing section to be Entitled "Endorsements" or to
conflict in title with any Invariant Section.
O) Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices
that qualify as Secondary Sections and contain no material copied from
the Document, you may at your option designate some or all of these
sections as invariant. To do this, add their titles to the list of Invariant
Sections in the Modified Version's license notice. These titles must be
distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various parties--
for example, statements of peer review or that the text has been approved
by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list of
Cover Texts in the Modified Version. Only one passage of Front-Cover
Text and one of Back-Cover Text may be added by (or through
arrangements made by) any one entity. If the Document already includes
a cover text for the same cover, previously added by you or by
arrangement made by the same entity you are acting on behalf of, you
may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or imply
endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the Invariant
Sections of all of the original documents, unmodified, and list them all as
Invariant Sections of your combined work in its license notice, and that
you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single copy.
If there are multiple Invariant Sections with the same name but different
contents, make the title of each such section unique by adding at the end
of it, in parentheses, the name of the original author or publisher of that
section if known, or else a unique number. Make the same adjustment to
the section titles in the list of Invariant Sections in the license notice of
the combined work.
In the combination, you must combine any sections Entitled "History" in
the various original documents, forming one section Entitled "History";
likewise combine any sections Entitled "Acknowledgements", and any
sections Entitled "Dedications". You must delete all sections Entitled
"Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other
documents released under this License, and replace the individual copies
of this License in the various documents with a single copy that is
included in the collection, provided that you follow the rules of this
License for verbatim copying of each of the documents in all other
respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all other
respects regarding verbatim copying of that document.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to copy,
modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full
compliance.