guia do linux

594
Guia do Sistema 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. 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 Document License”.

Upload: nuno-miguel

Post on 16-Jun-2015

2.142 views

Category:

Documents


0 download

DESCRIPTION

Escrito por Ednei Pacheco de Melo, o Guia do Sistema GNU/Linux para o Usuário Desktop é um guia essencial para entender o GNU/Linux.

TRANSCRIPT

Page 1: Guia Do Linux

Guia do SistemaGNU/Linux

para o Usuário Desktop!

Baseado no sistema

Slackware Linux 12.1Kernel 2.6.24.5, KDE 3.5...

6a. EdiçãoRio, 1o. de Junho de 2008.

✔ 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 Document License”.

Page 2: Guia Do Linux

Linux é uma marca registrada e concedida porLinus Torvalds, seu criador e cedente.

Microsoft Windows 3.11/95/98/ME/XP, Microsoft Office (Word, Excel, PowerPoint e Access), Microsoft Outlook, Microsoft FrontPage, Microsoft

Internet Explorer, Hotmail, MSN e vários logotipos associados são marcas registradas da Microsoft® Corporation.

Outros nomes de empresas e produtos citados neste livro podem também ser marcas registradas dos seus respectivos proprietários, onde os

mesmos certamente terão todos os direitos legais sobre elas.

Page 3: Guia Do Linux

ÍNDICE GERAL

Introdução

1a. Parte: Os Sistemas GNU/Linux

Visão geral; I. O Linux; II. As distribuições; III. O Slackware; IV. Leis, normas e fundações.

A

2a. Parte: Conhecimentos Gerais

Visão geral; I. A estrutura de arquivos; II. Os arquivos de dispositivos; III. A linha de comando; IV. Manipulação de arquivos e diretórios; V. Unidades, partições e formatos; VI. Usuários, grupos e permissões de acesso; VII. O gerenciamento de processos; VIII. O sistema de inicialização; IX. O gerenciador de inicialização; X. O gerenciamento de programas; XI. As variáveis de ambiente.

B

3a. Parte: A Instalação do Sistema

Visão geral; I. Preparativos iniciais; II. Redimensão e repartição do disco rígido; III. A instalação; IV. Após a instalação...

C

4a. Parte: Ajustes & Configurações

Visão geral; I. Vídeo – placa, monitor e modo gráfico; II. Som – placa de som; III. Modem – placa de fax-modem; IV. Unidades de armazenamento; V. Teclado e mouse; VI. O kernel Linux.

D

5a. Parte: Gerenciamento de Programas

Visão geral; I. O gerenciamento de pacotes; II. A gestão das atualizações; III. A compilação do código-fonte; IV. A conversão de pacotes e programas; V. Obtendo os pacotes oficiais.

E

6a. Parte: Ambientes Gráficos

Visão geral; I. Os ambientes gráficos; II. O KDE e o GNOME; III. Iniciando o KDE; IV. O Konqueror; V. Aplicações nativas; VI. Ferramentas de ajustes; VII. Operações e ajustes afins.

F

7a. Parte: Aplicativos & utilitários

Visão geral; I. Os requerimentos; II. A Internet; III. Suítes de escritório; IV. Editorações gráficas; V. Imagem, som e multimídia; VI. Jogos e entretenimentos; VII. Emuladores de sistemas; VIII. Miscelâneos.

G

Conclusão

Referências

GNU Free Document License

Page 4: Guia Do Linux

INTRODUÇÃO

A utilização de sistemas GNU/Linux por parte dos usuários desktops é um dos assuntos mais debatidos da atualidade. Independente das análises feitas, hoje é reconhecida a supremacia do Windows em diversos fatores, apesar de ser perfeitamente possível o uso de sistemas GNU/Linux como alternativa. Mas ainda persiste a questão do difícil uso do sistema livre, especialmente por aqueles menos dotado de conhecimentos técnicos.

Incontáveis vezes, nós – experientes usuários – atendemos outros menos experimentados para resolver os problemas gerais de ajuste e configuração em seus sistemas habituais – o Windows –, apesar de suas facilidades. Isto é um fato, o qual temos certeza que a grande maioria dos experientes usuários devem ter passado, sem contar os casos de reincidência, onde nos leva a raciocinar da seguinte maneira: se estes mesmos usuários têm dificuldades de interagir com o próprio Windows, então como eles se comportariam com o uso de sistemas GNU/Linux, já que em muitos elementos, há uma analogia de procedimentos e métodos, sem contar os atributos inerentes ao ser humano? Então, porquê não experimentar?

Tivemos a oportunidade de fazer alguns experimentos e os resultados obtidos em sua aplicação foram interessantes. Era previsível que a grande maioria dos usuários dessem preferência ao sistema operacional antigo e suas aplicações, que por sua vez o consideravam "melhor" e "mais fácil", sem levar em conta que estes atributos baseavam-se por eles já estarem habituados ao seu uso – motivo pelo qual criavam uma natural resistência. Em contrapartida, já aqueles que possuíam mais "intimidade" com o computador, tiveram mais interesse pelos sistemas GNU/Linux, graças especialmente a beleza das interfaces gráficas e disponibilidade de bons e interessantes recursos. Mas ainda assim, em virtude de suas características e algumas limitações, logo sentiram-se impelidos a retornarem ao antigo e popular Windows. A falta de informações, acompanhada das diferença conceituais entre as duas plataformas, tornaram-se os principais empecilhos para a adoção dos sistemas GNU/Linux. Com lógica, deveremos concluir que nossos trabalhos deverão se concentrar nestes aspectos.

A qualidade das informações – estruturadas, organizadas, centralizadas e escritas dentro de um padrão – é de suma importância para o sucesso do trabalho, e por isto foi desenvolvido uma literatura básica e "genérica", ao invés de somente um site especializado e com vários materiais dispersos. A obra criada tem o objetivo de simplificar ao máximo o entendimento das questões administrativas inerentes dos sistemas GNU/Linux, com ênfase na descrição básica e detalhada de seus elementos e, ao mesmo tempo, a disponibilização de instruções simples, rápidas e eficientes para as necessidades mais essenciais. Conceitos, normas e recomendações se encontram bem trabalhadas que, graças a uma boa estruturação geral, nos possibilita ter uma obra completa e integrada. &;-D

Page 5: Guia Do Linux

1A. PARTE:

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”.

Page 6: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................4I. O LINUX............................................................5

Introdução.......................................................................................5

O histórico.......................................................................................5A Free Software e o Projeto GNU........................................................5O desenvolvimento do kernel Linux.....................................................6As ferramentas do Projeto GNU e o Linux...........................................7

As características............................................................................7

Perguntas interessantes.................................................................9Porquê “GNU/Linux”, e não “Linux”?...................................................9Porquê um pingüim como logotipo?...................................................11

Conclusão......................................................................................11

II. AS DISTRIBUIÇÕES.............................................13Introdução.....................................................................................13

Considerações básicas..................................................................13

As principais..................................................................................14A trindade............................................................................................14

Slackware.....................................................................................................14Debian..........................................................................................................14Red Hat / Fedora..........................................................................................15

As variantes.........................................................................................16Mandriva......................................................................................................16SuSE / OpenSuSE.........................................................................................18

As metas-distribuições........................................................................19Gentoo..........................................................................................................19

As especializadas.................................................................................20Ubuntu / Kubuntu.........................................................................................20Kurumin........................................................................................................21

Mitos e preconceitos.....................................................................22Preconceitos gerais.............................................................................22Instalação e configuração de hardware.............................................23Interface gráfica..................................................................................25Aplicativos & utilitários.......................................................................26Suporte técnico....................................................................................26

Sobre..............................................................................................27As versões...........................................................................................27A “venda”.............................................................................................27A “melhor”...........................................................................................28

Conclusão......................................................................................29

III. O SLACKWARE................................................30Introdução.....................................................................................30

Page 7: Guia Do Linux

A distribuição................................................................................30O que é o Slackware............................................................................30Um resumido histórico........................................................................31As particularidades.............................................................................31Suas aplicações....................................................................................33As versões...........................................................................................33

Seus requerimentos......................................................................34Requisitos de hardware......................................................................34Conhecimentos técnicos.....................................................................35Outras providências............................................................................36

Como obtê-la?................................................................................36Mídias oficiais......................................................................................36Imagens ISOs.......................................................................................37Em lojas virtuais..................................................................................37

Conclusão......................................................................................37

IV. LEIS, NORMAS E FUNDAÇÕES................................39Introdução.....................................................................................39

As leis.............................................................................................39O conceito Software Livre..................................................................39As licenças livres.................................................................................40

GPL...............................................................................................................40LGPL.............................................................................................................40FDL...............................................................................................................41

Copyleft x Copyright...........................................................................41Sobre as traduções extra-oficiais.................................................................42

Sobre outras licenças livres................................................................42Observações finais..............................................................................43

As normas......................................................................................43Linux Standard Base...........................................................................43

Requerimentos da LSB.................................................................................44Objetivos (e vantagens) da LSB...................................................................44Os (maiores) beneficiados............................................................................45Sobre a Free Standard Group......................................................................45

Sobre a FHS.........................................................................................45Observações finais..............................................................................46

As fundações.................................................................................46A Free Software Foundation...............................................................47O Linux Foundation.............................................................................47O FreeDesktop.....................................................................................48

Conclusão......................................................................................48

Page 8: Guia Do Linux

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

Page 9: Guia Do Linux

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

A FREE SOFTWARE E O PROJETO GNURichard Stallman, um talentoso programador, trabalhava como pesquisador em um departamento dedicado a inteligência artificial no MIT, o Instituto de Tecnologia de Massachusetts, EUA. Stallman, um típico hacker, cultuava a tradição de compartilhar seus conhecimentos com os seus companheiros, em um senso de mútua ajuda e colaboração.

Uma vez no laboratório do MIT, Richard Stallman obteve dificuldades em utilizar uma impressora cedida pela Xerox, face a um pequeno problema em um driver que impedia o seu uso. Ele se colocou à disposição dos fabricantes desta para realizar os ajustes necessários, solicitando para isto o código-fonte destes drivers. Para seu espanto, seu pedido foi negado com a justificativa de que o código-fonte não poderia ser repassado a terceiros por conter “segredos comerciais” da empresa, e por isto ele foi obrigado a aguardar a assistência técnica para a solução deste problema. Isto o deixou bastante indignado, o que foi a gota d'agua para que, à partir deste evento, Stallman viesse a idealizar o movimento do Software Livre. Stallman desenvolveu um poderoso compilador C, um grande editor de textos – o famoso Emacs – e em 1984 fundou a FSF – Free Software Foundation –, com o intuito de desenvolver um sistema operacional baseado em UNIX totalmente livre e gratuito, batizando-o de GNU – GNU is Not Unix.

Inicialmente, com a colaboração de diversos programadores do mundo inteiro, Stallman desenvolveu as ferramentas necessárias para a construção de seu novo sistema, e no início dos anos 90, praticamente todas estas estavam em um ótimo estágio de amadurecimento, onde somente faltava o desenvolvimento de um novo kernel para completar o projeto.

5/48

Page 10: Guia Do Linux

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

Page 11: Guia Do Linux

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

Page 12: Guia Do Linux

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

Page 13: Guia Do Linux

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

PORQUÊ “GNU/LINUX”, E NÃO “LINUX”?✔ <http://www.gnu.org/gnu/linux-and-gnu.pt.html>.

Ao contrário de diversos materiais técnicos, neste livro será mencionado somente o termo Sistemas GNU/Linux ou simplesmente GNU/Linux, ao invés de simplesmente Linux. Para uma melhor compreensão desta atitude, segue uma tradução do texto Linux e o Sistema GNU de autoria do líder Richard Stallman, obtido diretamente da página oficial do projeto. Conforme poderão observar, será até um certo desrespeito referir-se ao árduo trabalho de uma grande comunidade de Software Livre usando simplesmente o termo Linux, atribuindo crédito somente um grupo de pessoas, mesmo por mais importantes que sejam suas idéias e colaborações.

O projeto GNU começou há 12 anos com o objetivo de desenvolver um sistema operacional Unix-like totalmente livre. Livre se refere à liberdade, e não ao preço; significa que você está livre para executar, distribuir, estudar, mudar e melhorar o software.

Um sistema Unix-like consiste de muitos programas diferentes. Nós achamos alguns componentes já disponíveis como softwares livres -- por exemplo, X Window e TeX. Obtemos outros componentes ajudando a convencer seus desenvolvedores a tornarem eles livres -- por exemplo, o Berkeley network utilities. Outros componentes nós escrevemos especificamente para o GNU -- por exemplo, GNU Emacs, o compilador GNU C, o GNU C library, Bash e Ghostscript. Os componentes desta última categoria são "software GNU". O sistema GNU consiste de todas as três categorias reunidas.

O projeto GNU não é somente desenvolvimento e distribuição de alguns softwares livres úteis. O coração do projeto GNU é uma idéia: que software deve ser livre, e que a liberdade do usuário vale a pena ser defendida. Se as pessoas têm liberdade mas não a apreciam conscientemente, não irão mantê-la por muito tempo. Se queremos que a liberdade dure, precisamos chamar a atenção das pessoas para a liberdade que elas têm em programas livres.

O método do projeto GNU é que programas livres e a idéia da liberdade dos usuários ajudam-se mutuamente. Nós desenvolvemos software GNU, e conforme as pessoas encontrem programas GNU ou o sistema GNU e comecem a usá-los, elas também pensam sobre a filosofia GNU. O software mostra que a idéia funciona na prática. Algumas destas pessoas acabam concordando com a idéia, e então escrevem mais programas livres. Então, o software carrega a idéia, dissemina a idéia e cresce da idéia.

Em 1992, nós encontramos ou criamos todos os componentes principais do sistema exceto o kernel, que nós estávamos escrevendo. (Este kernel consiste do microkernel Mach mais o GNU HURD. Atualmente ele está funcionando, mas não está preparado para os usuários. Uma versão alfa

9/48

Page 14: Guia Do Linux

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

Page 15: Guia Do Linux

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]>.

PORQUÊ UM PINGÜIM COMO LOGOTIPO?Em 1996 houve um debate na lista de discussão do Linux, onde o tema principal era a criação de um logotipo para o sistema operacional. Houve propostas para a utilização de diversos tipos de animais e imagens abstratas, porém Linus Torvalds comentou sobre a possibilidade da utilização de um pingüim, pois este era um de seus animais favoritos – os pingüins são encontrados em abundância na Finlândia, onde o próprio Torvalds fazia visitas em zoológicos locais (conta a “lenda” que inclusive foi mordido por um deles).

À partir deste então, cessaram-se os debates para a definição do mascote à ser utilizado. A proposta foi aceita, porém havia mais uma dúvida: qual o perfil à ser utilizado para o animalzinho? Pretendia-se utilizar a imagem de animais fortes e imponentes, e mais uma vez Torvalds comentou da possibilidade de utilizar o desenho de um animal simples, simpático e adorável. Graças à estas idéias, Larry Ewing venceu um concurso para representar o famoso pingüim que atualmente conhecemos como Tux. Mas o que significa “Tux”? Para dar nome ao novo mascote, fora utilizadas as letras do termo Torvalds UniX = TUX.

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

Page 16: Guia Do Linux

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

Page 17: Guia Do Linux

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

5 A possibilidade de tornar o sistema operacional apto a executar perfis distintos de tarefas de acordo com as ferramentas agregadas ao kernel, bem como o uso de diversos processos de implementação para lhe atribuir características específicas, fizeram surgir no mercado diferentes distribuições, com conceitos, características e aplicações para cada (ou várias) funcionalidades que se pretende utilizar.

13/48

Page 18: Guia Do Linux

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,

6 Outras documentações não tão notórias – mas igualmente importantes – foram escritas posteriormente, como a Constituição Debian, Contrato Social e o Free Software Guideline.

14/48

Page 19: Guia Do Linux

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.

RED HAT / FEDORA

✔ <http://www.redhat.com/>,

✔ <http://fedora.redhat.com/>.

Conhecida pelo seu marcante chapéu vermelho, a Red Hat é uma das pioneiras em desenvolvimento de distribuições para o uso em servidores, tendo atualmente um grande domínio neste mercado. Apesar disso, foi também considerada uma distribuição excelente para o uso em desktops.

A Red Hat prima pela facilidade de uso e configuração do sistema, aplicativos de instalação e configuração que buscam facilitar ao máximo o uso do GNU/Linux. Ela é a autora do famoso gerenciador de pacotes RPM, do desenvolvimento da ferramenta de configuração Linuxconf, sndconfig e

15/48

Page 20: Guia Do Linux

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 destrutiva7, 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.

7 É considerado particionamento não destrutivo, o processo de divisão do disco rígido em que não é necessária a sua reformatação total; normalmente, esta intervenção ocorre apenas no espaço excedente disponível.

16/48

Page 21: Guia Do Linux

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.

8 A empresa tem grande destaque no mundo de código aberto, pois contratou o excelente desenhista Everaldo para o desenvolvimento dos ícones Crystal, utilizado no ambiente gráfico KDE. Graças à ela, também foram desenvolvidos os drivers genéricos VESA para suportar as antigas placas de vídeo que ainda estão em bastante em uso no Brasil.

17/48

Page 22: Guia Do Linux

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

9 O YAST já foi um dia, uma ferramenta proprietária da distribuição; mas felizmente, em 2004 se tornou livre, sob os termos da licença GNU GPL.

10 Significa: “Sim, uma outra ferramenta de configuração”.11 Tais revoltas chegaram a gerar vários desligamentos e demissões, especialmente

por causa da imposição do GNOME. Com a criação do OpenSuSE, as revoltas e os ressentimentos se amenizaram e a tranqüilidade do ambiente, restaurada.

18/48

Page 23: Guia Do Linux

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.

12 LFS – Linux From Scratch, significa “Linux à partir do código-fonte”. Na verdade não é uma distribuição, e sim uma documentação que nos orienta a instalar um sistema GNU/Linux manualmente à partir do código-fonte.

19/48

Page 24: Guia Do Linux

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

Page 25: Guia Do Linux

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

Page 26: Guia Do Linux

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

14 Devido ao certo grau de complexidade e imaturo grau de desenvolvimento em tempos antigos, os sistemas GNU/Linux ainda possuem uma espécie de “má reputação” referente ao seu uso para aplicações gerais. Muitas das vezes, um antigo conceito ou uma diferente visão de um processo de avaliação, têm sido o fator fundamental para a sua rejeição, além de diversos usuários e profissionais caracterizá-lo como uma espécie de última opção a ser cogitada para o uso.

22/48

Page 27: Guia Do Linux

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.

INSTALAÇÃO E CONFIGURAÇÃO DE HARDWARE

• “Várias mídias para instalação? Ih, a máquina vai ficar lerda...”

De início, as mídias de instalação não só contém o sistema operacional, mas também um conjunto imenso de aplicativos e utilitários para as mais

23/48

Page 28: Guia Do Linux

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

Page 29: Guia Do Linux

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

Page 30: Guia Do Linux

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.

APLICATIVOS & UTILITÁRIOS

• “Não existem bons aplicativos, utilitários e ferramentas...”

Mais uma “meia-verdade”. Houve um tempo onde uma das maiores deficiências do GNU/Linux era a falta de bons aplicativos do mesmo níveis que os comerciais. Atualmente o sistema conta com as mais variadas opções de aplicativos e utilitários para as mais variadas finalidades. Bastam apenas que realizem uma boa pesquisa e selecionem os aplicativos ideais para suprir as necessidades. Somente para se ter uma idéia, o Debian possui em torno de 20 mil aplicativos inclusos em sua distribuição oficial. Além disso, neste livro encontraremos ótimas instruções de uso e configuração das opções de aplicações disponíveis. Em contrapartida, existem algumas classes de aplicações do Windows que ainda as opções livres existentes não chegaram a um bom estágio de amadurecimento em sistemas GNU/Linux – eis a principal fonte destas “meias-verdades”. Mas felizmente, devido ao típico ritmo acelerado de desenvolvimento do Software Livre, certamente estas deficiências deixarão de existir, tendo ainda o risco de encontrarmos este parágrafo desatualizado nas futuras edições da literatura...

• “Para fazer bons trabalhos escolares, só com o MS-Office...”

Para iniciarmos o assunto, o OpenOffice.org é considerado atualmente uma suíte bastante madura para realizarmos trabalhos de boa qualidade. Por exemplo, para a criação deste livro, necessitamos apenas da utilização da suíte e das aplicações GIMP e KSnapshot (capturador de telas), além das principais fontes nativas do sistema – Bitstream Vera Sans, Luxy Sans e Luxy Mono. Apesar da sua excepcional qualidade, hoje o MS-Office vem aos poucos perdendo campo para esta maravilhosa suíte.

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

Page 31: Guia Do Linux

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

Page 32: Guia Do Linux

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

Page 33: Guia Do Linux

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:

NÃO EXISTE A MELHOR DISTRIBUIÇÃO,... e sim...

A DISTRIBUIÇÃO MAIS APTA PARA ATENDER AS NOSSAS NECESSIDADES, PREFERÊNCIAS E

PARTICULARIDADES!Apenas para citar como exemplo, o Slackware foi definido para este trabalho justamente graças a sua grande leveza, praticidade, flexibilidade e independência no uso de ferramentas para a administração do sistema. Na prática, estas características possibilitam ao usuário – ou aprendiz – um excelente nível de aprendizagem.

Mesmo que haja interesse do usuário em utilizar outras distribuições, as instruções contidas neste livro serão bastante úteis e aplicáveis (mais um ponto forte para a escolha do Slackware, e utilização deste livro por usuários de outras distribuições). Caso se interessem em utilizá-lo, o que é provável graças ao forte apoio do autor e colaboradores, poderão obter maiores informações no capítulo seguinte, O Slackware.

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

Page 34: Guia Do Linux

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 Slackware16 é 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.

16 O termo Slackware é derivado da palavra slack, que na língua inglesa significa “preguiçoso”. Na prática, o sistema não fornece nenhuma ferramenta ou recursos de automação que visam facilitar a vida do usuário, ficando por sua conta a realização das intervenções necessárias para o perfeito funcionamento do sistema.

17 Muitos confundem o significado do termo simples aos processos e recursos automatizados, feitos exclusivamente para facilitar a vida dos novatos. Embora o simples e o fácil apresentem atributos que íntimamente se relacionam, não quer dizer necessáriamente que estes termos possuam o mesmo significado.

30/48

Page 35: Guia Do Linux

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

Page 36: Guia Do Linux

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.

Menu principal de instalação (Slackware 12.0).

A inicialização do sistema é baseado no “estilo BSD”. Apesar disso, é compatível com o método System V, que por sua vez é utilizado na grande maioria das distribuições. A sua grande vantagem consiste na existência de apenas alguns scripts de inicialização, ao invés de centenas de atalhos simbólicos para uma grande diversidade de arquivos. Basta somente editá-los conforme as necessidades ou ainda desabilitar a sua execução para que este não seja carregado durante a inicialização do sistema. Ainda assim temos a opção de acrescentar mais scripts personalizados. Por questão de compatibilidade, o Slackware também suporta os scripts de inicialização do método System V, através das definições de um script especial (rc.sysinitv).

O sistema não possuir um gerenciador de pacote com opção de checagem de pendências, como o RPM ou o DPKG. Esta medida deve-se ao fato da necessidade de simplificar ao máximo o processo de gerenciamento de pacotes instalados, ficando à cargo do administrador conhecer todas as pendências necessárias para os aplicativos que deseja instalar, atualizar e/ou remover. À primeira vista, a impressão dada é de que será bem mais complicado gerenciar o sistema sem estas facilidades, porém nem sempre o processo de automatização das pendências funciona como o esperado, e o usuário poderá ter complicações indesejadas.

Da mesma forma que foram mantidos vários kernels customizados para atender a diversos perfis, os pacotes essenciais do Slackware foram compilados para a plataforma i386, visando a total compatibilidade destes

32/48

Page 37: Guia Do Linux

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).

18 Possibilidade de instalar 2 ou mais sistemas operacionais em harmonia num único computador.

33/48

Page 38: Guia Do Linux

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

19 Embora seja uma unidade de referência importante, nem sempre a freqüência interna (Mhz) reflete precisamente a performance do sistema. Por exemplo, existem processadores voltados para mercados específicos como o Celeron, Duron e o Via C3. O Celeron e o Duron possuem quantidade de memória cache L2 reduzida (128 e 64 KB, respectivamente), o que degrada bastante o desempenho. Para ser nivelado a um processador Pentium ou Athlon de 750 Mhz, necessitariam

34/48

Page 39: Guia Do Linux

• 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;

rodar com valores de clock estimados em 900 Mhz e 1 Ghz, respectivamente. Já o Via C3, mesmo trabalhando na velocidade de 1 Ghz, possui um desempenho igual ou inferior a um Pentium III com as especificações acima citadas.

20 São inúmeros os softmodens suportados pelos sistemas GNU/Linux, como também existem outros inúmeros não suportados. Para obterem maiores informações, consultem a 4a. Parte: Ajustes & Configurações -> Modem – Placa de Fax-modem.

35/48

Page 40: Guia Do Linux

• 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

Page 41: Guia Do Linux

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

Page 42: Guia Do Linux

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

Page 43: Guia Do Linux

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.

O CONCEITO SOFTWARE LIVRE

Um programa proprietário caracteriza-se por ser licenciado com leis e normas de Copyright que protege a obra e/ou o seu conteúdo, restringindo e/ou proibindo toda e qualquer prática de disseminação não prevista pela licença ou contrato. O usuário tendo o licenciamento do programa apenas possui o direito de utilizá-lo para fins particulares, sendo restringido de diversas práticas especificadas nos parágrafos que compõe o documento.

Já o Software Livre livre possui conceitos distintos do sistema proprietário, onde o seu diferencial se encontra justamente em seu conceito de liberdade: um programa livre são programas de computadores como quaisquer outros. Podem ser editores de textos, utilitários, ferramentas de programação, etc. O que os diferem do proprietário é a possibilidade copiar, modificar e redistribuir a obra, devendo preservar os mesmos direitos – ou não – aos terceiros, de acordo com os termos da licença.

Infelizmente a grande maioria vêem o custo como a principal – e muitas vezes a única – marcantes característica e qualidade. Existem diversas

39/48

Page 44: Guia Do Linux

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

Page 45: Guia Do Linux

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

Page 46: Guia Do Linux

SOBRE AS TRADUÇÕES EXTRA-OFICIAIS

Conforme as instruções contidas na página oficial do Projeto GNU, somente as versões em inglês das licenças do Projeto GNU especificam os termos reais da distribuição dos softwares de código-aberto por elas licenciadas, e por isto é exigido unicamente a sua utilização para efeitos legais. Isto ocorre em virtude da dificuldade e falta de recursos para realizar a tradução exatamente dentro dos termos da licença original. A ocorrência de quaisquer erro de interpretação ocasionada por emprego de termos que não exprimem exatamente o significado da licença, poderá ocasionar sérios problemas de legislação para a comunidade de Software Livre, e conseqüentemente recair em diversos prejuízos para a disseminação da ideologia.

Mas felizmente, para auxiliar os usuários a ter um melhor entendimento de seus conceitos, somente é permitida nestes circunstâncias a publicação destas traduções em caráter extra-oficial. Para isto, as notas abaixo deverão constar no corpo da tradução da licença.

Oficial (em inglês):

“This is an unofficial translation of the GNU General Public License into language. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help language speakers understand the GNU GPL better.”

Traduzida (português):

“Esta é uma tradução extra-oficial da Licensa Pública Genérica do GNU para o idioma linguagem. Ela não foi publicada pela Fundação para o Software Livre, e não determina juridicamente os termos de distribuição para o software que utiliza a GNU GPL -- somente o texto original em inglês da GNU GPL faz isso. Entretanto, nós esperamos que esta tradução ajude pessoas que falam idioma a entender a GNU GPL melhor.”

Onde laguange e linguagem são deverão ser substituídos pela tradução dos termos na língua nativa: portuguese (na versão em inglês) e português.

Infelizmente para o Brasil, temos apenas as traduções extra-oficial das licenças GPL e FDL. E claro, estas são válidas apenas para facilitar a compreensão de seus termos.

SOBRE OUTRAS LICENÇAS LIVRES

✔ <http://www.gnu.org/philosophy/license-list.pt.html>.

Além das tradicionais licenças do Projeto GNU, existem inúmeras outras licenças de caráter livre, porém nem todas são compatíveis aos pilares da filosofia do Software Livre. Para isto foi elaborada uma listagem das principais licenças e uma classificação simples – subdivididas em

42/48

Page 47: Guia Do Linux

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.

LINUX STANDARD BASE

✔ <http://www.linuxbase.org/>.

Antigamente, devido ao auxílio de diversos voluntários espalhados no mundo inteiro para o seu desenvolvimento, as distribuições GNU/Linux utilizavam dos mais variados recursos de desenvolvimento e implementação com uma liberdade tal que em diversos aspectos tornavam-se distintas e até mesmo incompatíveis. Isto gerou enormes dificuldades de utilização, culminando em uma grande convergência de padrões.

Para sanar estas deficiências ou ao menos, minimizar estes problemas, foi criado uma nova norma chamado LSB – Linux Standard Base –, que especifica um conjunto padrões e requerimentos visando obter ou melhorar a compatibilidade entre as distribuições GNU/Linux existentes

43/48

Page 48: Guia Do Linux

no mercado.

REQUERIMENTOS DA LSBDentre 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.

OBJETIVOS (E VANTAGENS) DA LSBAlém da difícil meta de padronização conforme já dito anteriormente, dentre os outros principais objetivos almejados pela LSB, destacam-se:

• Tornar todos os aplicativos aptos a serem suportados pelas distribuições que encontram-se em conformidade com os padrões pré-estabelecidos por ela; na prática poderemos utilizar as aplicações da distribuição X na distribuição Y, desde que obedeçam os critérios acima especificados;

• Facilitar a vida dos profissionais que lidam com os sistemas GNU/Linux, evitando maiores dificuldades de se adaptarem em virtude das diferentes implementações e recursos técnicos;

• Prover maior segurança, agilidade e redução de custos para as empresas que optam por manter estações de trabalho com sistemas GNU/Linux, em virtude do alto custo e baixa qualidade do suporte técnico – outra das grandes barreiras que impedem a sua adoção;

• Auxiliar ao desenvolvimento de materiais técnicos e didáticos, que atualmente focam uma única ou um pequeno conjunto básico de

44/48

Page 49: Guia Do Linux

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

Os maiores beneficiados com a padronização da LSB são todos os profissionais que trabalham diretamente ou indiretamente com sistemas GNU/Linux, que vão desde simples usuários a administradores de sistemas, de redes, programadores e até mesmo os profissionais que escrevem toda as documentações técnicas e didáticas.

Para nós, usuários comuns, a principal vantagem é a possibilidade de utilizarmos programas de diversos formatos e distribuições, além de ter maiores facilidades da manutenção do sistema, pelo fato dos arquivos de configuração e respectivas documentações estarem padronizadas, atendendo assim à diversas (e diferentes) distribuições.

SOBRE A FREE STANDARD GROUP

A LSB atualmente é desenvolvida com a participação de projetos como o Debian e de empresas renomadas, como a Red Hat, Suse, Conectiva e Caldera, além de outros gigantes da tecnologia como a HP, a Compaq (Digital), a IBM, a SGI, a Sun, entre diversos outros, onde formam a Free Standard Group, além de contar com apoio do próprio Linus Torvalds.

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

Page 50: Guia Do Linux

• /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

Page 51: Guia Do Linux

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 GNU, símbolo do projeto GNU.

“A Fundação para o Software Livre (FSF) é dedicada à eliminação de restrições sobre a cópia, redistribuição, entendimento e modificação de programas de computadores. Nós fazemos isso promovendo o desenvolvimento e o uso de software livre em todas as áreas da computação -- mas particularmente, ajudando a desenvolver o sistema operacional GNU.” -- [Richard Stallman].

Visitem a página oficial do projeto, onde encontraremos diversos textos e artigos que ilustram bem todos estes ideais.

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

Page 52: Guia Do Linux

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

Page 53: Guia Do Linux

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”.

Page 54: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................8I. 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.............................24Introdução.....................................................................................24

A classificação...............................................................................24Tipo caracter........................................................................................24Tipo bloco.............................................................................................24

A estrutura /dev............................................................................25Unidades externas e de armazenamento...........................................25

Discos rígidos IDE & CD-ROMs...................................................................25Unidades SCSI e SATA.................................................................................26Disquetes......................................................................................................26

Dispositivos de áudio...........................................................................26Fax-modem (portas seriais)................................................................27Console terminal.................................................................................27

Sobre o uDEV................................................................................28

Conclusão......................................................................................28

III. A LINHA DE COMANDO.......................................29Introdução.....................................................................................29

O Bourne Again Shell....................................................................29

Page 55: Guia Do Linux

Informações e métodos essenciais...............................................30Complemento da tecla <TAB>...........................................................30O uso de expressões............................................................................31As cores personalizadas......................................................................32Nomenclatura diferenciada................................................................32Acesso à documentação eletrônica....................................................33

Equivalências entre o BASH e MS-DOS.......................................34Estrutura de diretórios.......................................................................35Acesso as unidades do sistema...........................................................35Especificações do diretório.................................................................37Exibição de caminho...........................................................................37Case sensitive......................................................................................37

Observações...................................................................................38

Conclusão......................................................................................38

IV. MANIPULAÇÃO DE ARQUIVOS E DIRETÓRIOS..............39Introdução.....................................................................................39

Operações básicas.........................................................................39Listagem e navegação.........................................................................39

ls...................................................................................................................39cd..................................................................................................................40

Visualização..........................................................................................41type...............................................................................................................41less...............................................................................................................41file................................................................................................................42pwd...............................................................................................................42more.............................................................................................................43du..................................................................................................................45

Manipulação.........................................................................................46mkdir............................................................................................................46dd..................................................................................................................46cp..................................................................................................................46mv.................................................................................................................47ln...................................................................................................................47

Editoração............................................................................................48mcedit...........................................................................................................48

Exclusão...............................................................................................48rmdir.............................................................................................................48rm.................................................................................................................49

Cópias de segurança e compactação............................................49Arquivamento......................................................................................49

tar.................................................................................................................50Compactação........................................................................................51

gzip / gunzip.................................................................................................51bzip2 / bunzip2.............................................................................................52zip / unzip.....................................................................................................52

Utilitários.............................................................................................53split...............................................................................................................53cat.................................................................................................................53

Conclusão......................................................................................54

Page 56: Guia Do Linux

V. UNIDADES, PARTIÇÕES E FORMATOS........................55Introdução.....................................................................................55

As unidades e as partições............................................................55

Os formatos...................................................................................55Tipos de sistemas de arquivos............................................................55

O SWAP........................................................................................................56O ext2 e ext3................................................................................................56ReiserFS.......................................................................................................57MSDOS, FAT32 e NTFS...............................................................................58ISO9660........................................................................................................58

Operações e atividades afins........................................................58Trabalhando com partições e unidades.............................................58

mount / umount............................................................................................58sync..............................................................................................................60Formatação e definição do sistema de arquivos..........................................60mkfs..............................................................................................................60mkreiserfs....................................................................................................61mkswap / swapon.........................................................................................61

Verificando as partições e unidades do sistema................................61df...................................................................................................................61badblocks.....................................................................................................62fsck...............................................................................................................62reiserfs.........................................................................................................63

Realizando a transferência de dados.................................................64dd..................................................................................................................64

Operações com disquetes...................................................................64Utilização.....................................................................................................64Formatação..................................................................................................64

Operações com os gravadores de CD/DVD........................................65mkisofs.........................................................................................................65cdrecord.......................................................................................................66

Conclusão......................................................................................69

VI. USUÁRIOS, GRUPOS E PERMISSÕES DE ACESSO...........70Introdução.....................................................................................70

Considerações básicas..................................................................70As contas..............................................................................................70

O administrador de sistema.........................................................................70O usuário comum.........................................................................................71

O ID......................................................................................................71Os grupos.............................................................................................72As permissões......................................................................................72Senha...................................................................................................73

Comandos gerais...........................................................................73Adição de usuários e grupos...............................................................73

adduser.........................................................................................................73groupadd......................................................................................................76

Administração de contas.....................................................................76login / logout / exit.......................................................................................76id...................................................................................................................76

Page 57: Guia Do Linux

users / groups...............................................................................................77passwd..........................................................................................................77finger............................................................................................................78uptime..........................................................................................................79

Eliminando usuários e grupos............................................................79userdel..........................................................................................................79groupdel.......................................................................................................79

Obtendo os privilégios de outros usuários........................................80su..................................................................................................................80

Atributos de arquivos e diretórios.....................................................81chmod...........................................................................................................81chown...........................................................................................................83chgrp............................................................................................................83umask...........................................................................................................84

Os arquivos de configuração........................................................85/etc/passwd..........................................................................................85/etc/shadow..........................................................................................85/etc/groups...........................................................................................86

Conclusão......................................................................................87

VII. O GERENCIAMENTO DE PROCESSOS.......................88Introdução.....................................................................................88

Visão geral.....................................................................................88O que é um processo?.........................................................................88O identificador PID..............................................................................88Foreground e background..................................................................88

Gerenciando os processos.............................................................89Visualização.........................................................................................89

ps..................................................................................................................89top................................................................................................................90

Segundo plano.....................................................................................91Colocando em segundo plano.......................................................................91“Control-zê”..................................................................................................91bg..................................................................................................................91jobs...............................................................................................................92fg...................................................................................................................92

Exclusão...............................................................................................92kill.................................................................................................................92killall.............................................................................................................92

Desligamento do sistema..............................................................93halt.......................................................................................................93shutdown.............................................................................................93

Conclusão......................................................................................94

VIII. O SISTEMA DE INICIALIZAÇÃO............................95Introdução.....................................................................................95

Os método de inicialização...........................................................95System V..............................................................................................95Estilo BSD............................................................................................95

Page 58: Guia Do Linux

Os scripts de inicialização............................................................96Os demais scripts................................................................................96

Sistema & aplicações...................................................................................97Suporte ao Hardware...................................................................................97Sistema de impressão..................................................................................97Redes & Internet..........................................................................................98Configurações locais....................................................................................98Carregamento de módulos...........................................................................98Compatibilidade...........................................................................................99

A seqüencia de scripts na inicialização............................................100

Os níveis de execução.................................................................100Nível 1 – Manutenção do sistema.....................................................100Nível 3 e 4 – Modo multi-usuário.....................................................101Nível 0 e 6 – Reinicialização do sistema...........................................101Demais níveis de execução (2 e 5)...................................................102

Operações e ajustes afins...........................................................102Ativar / desativar scripts de inicialização........................................102

Método manual...........................................................................................102Método automatizado.................................................................................102

O arquivo /etc/inittab..................................................................103

Conclusão....................................................................................105

IX. O GERENCIADOR DE INICIALIZAÇÃO......................106Introdução...................................................................................106

O LILO.........................................................................................106/etc/lilo.conf.......................................................................................107

Seção global...............................................................................................107Seção de partições.....................................................................................109

O liloconfig.........................................................................................110Operações mais freqüentes..............................................................111

Selecionar o sistema GNU/Linux como padrão.........................................111Mudar a resolução do framebuffer............................................................111Adicionar mais uma entrada no LILO........................................................112Adicionar uma senha extra........................................................................112Inicializar o sistema em modo de manutenção..........................................113Criar um disco de recuperação com o lilo.conf..........................................113

Problemas mais freqüentes..............................................................113Ao invés do sistema inicializar, é exibido..................................................113Remoção das definições do LILO no setor MBR........................................114Recuperar a senha do superusuário..........................................................114

Atualizando as alterações desejadas................................................114

Conclusão....................................................................................115

X. GERENCIAMENTO DE PROGRAMAS.........................116Introdução...................................................................................116

A nomenclatura dos pacotes......................................................116

Ferramentas & métodos.............................................................117Slackware Package Tools..................................................................117Red Hat Package Management........................................................118

Page 59: Guia Do Linux

Compilação do código-fonte..............................................................119Outros utilitários...............................................................................119

Conclusão....................................................................................120

XI. VARIÁVEIS DE SISTEMA....................................121Introdução...................................................................................121

As variáveis..................................................................................121Path / RootPath..................................................................................121Home..................................................................................................122OsType...............................................................................................122Shell...................................................................................................122Term...................................................................................................123User....................................................................................................123

Comandos relacionados..............................................................123echo....................................................................................................123set.......................................................................................................123export.................................................................................................124

Internacionalização....................................................................124

Arquivos de configuração...........................................................125/etc/profile..........................................................................................125O diretório /etc/profile.d/..................................................................127~/.bashrc...........................................................................................128

Conclusão....................................................................................128

Page 60: Guia Do Linux

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

Page 61: Guia Do Linux

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.

/BIN – BINÁRIOS ESSENCIAIS

O diretório /bin contém todos (ou a maioria) os arquivos binários com os comandos essenciais dos usuários, tais como os programas da linha de comando, entre outros.

$ cd /bin$ lsMail@ du* ln* readlink* test*[* echo* loadkeys* rksh@ touch*arch* ed@ login* rm* tr*ash* egrep@ logname* rmdir* true*awk@ env* ls* rpm* tsort*base64* expand* lsmod@ rzip* tty*basename* expr* mail@ sed* umount*bash* factor* md5sum* seq* uname*bunzip2@ false* mkdir* setterm* uncompress@bzcat@ fgrep@ mkfifo* sh@ unexpand*bzip2* fmt* mknod* sha1sum* uniq*bzip2recover* fold* more* sha224sum* unlink*cat* free* mount* sha256sum* users*chgrp* ftp* mt@ sha384sum* usleep*chmod* gawk@ mt-GNU* sha512sum* vdir*chown* gawk-3.1.5* mt-st* shred* wc*

9/128

Page 62: Guia Do Linux

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.

/BOOT – INICIALIZAÇÃO DO SISTEMA

O diretório /boot contém todos os arquivos necessários (estáticos) para a inicialização do sistema (boot loader), exceto os arquivos de configuração (/etc) e o gerenciador de inicialização (LILO).

$ cd /boot$ ls -ltotal 17103lrwxrwxrwx 1 root root 37 2007-08-03 10:00 README.initrd -> /usr/doc/mkinitrd-1.1.2/README.initrdlrwxrwxrwx 1 root root 27 2007-08-07 23:53 System.map -> System.map-generic-2.6.21.5-rw-r--r-- 1 root root 795880 2007-06-19 17:18 System.map-generic-2.6.21.5-rw-r--r-- 1 root root 813610 2007-06-19 16:53 System.map-generic-smp-2.6.21.5-smp-rw-r--r-- 1 root root 1232918 2007-06-19 17:23 System.map-huge-2.6.21.5-rw-r--r-- 1 root root 1252098 2007-06-19 16:58 System.map-huge-smp-2.6.21.5-smp-rw-r--r-- 1 root root 512 2007-08-03 10:17 boot.0300-rw-r--r-- 1 root root 209 2007-08-03 10:17 boot_message.txtlrwxrwxrwx 1 root root 23 2007-08-07 23:52 config -> config-generic-2.6.21.5-rw-r--r-- 1 root root 72738 2007-06-19 17:18 config-generic-2.6.21.5-rw-r--r-- 1 root root 72764 2007-06-19 16:53 config-generic-smp-2.6.21.5-smp-rw-r--r-- 1 root root 72643 2007-06-19 17:23 config-huge-2.6.21.5-rw-r--r-- 1 root root 72669 2007-06-19 16:58 config-huge-smp-2.6.21.5-smp-rw-r--r-- 1 root root 5040 2007-06-10 03:09 diag1.img

10/128

Page 63: Guia Do Linux

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 maplrwxrwxrwx 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.

/DEV – ARQUIVOS DE DISPOSITIVOS

O diretório /dev contém todos os arquivos de dispositivos necessários para cada dispositivo em que o kernel do Linux suporta.

$ cd /dev$ ls -l | moretotal 0lrwxrwxrwx 1 root root 10 2007-08-05 08:04 adsp -> sound/adsplrwxrwxrwx 1 root root 12 2007-08-05 05:03 agpgart -> misc/agpgartlrwxrwxrwx 1 root root 11 2007-08-05 08:04 audio -> sound/audiodrwxr-xr-x 3 root root 60 2007-08-05 05:03 bus/lrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdr -> hdclrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdr1 -> hdclrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdrom -> hddlrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdrom0 -> hddlrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdrom1 -> hdclrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdrw -> hdclrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdrw1 -> hdclrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdwriter -> hdclrwxrwxrwx 1 root root 3 2007-08-05 05:03 cdwriter1 -> hdccrw------- 1 root tty 5, 1 2007-08-05 08:04 consolelrwxrwxrwx 1 root root 11 2007-08-05 05:03 core -> /proc/kcorecrw-rw---- 1 root root 10, 252 2007-08-05 05:03 dac960_gamdrwxr-xr-x 6 root root 120 2007-08-05 05:03 disk/lrwxrwxrwx 1 root root 9 2007-08-05 08:04 dsp -> sound/dsplrwxrwxrwx 1 root root 3 2007-08-05 05:03 dvd -> hddlrwxrwxrwx 1 root root 3 2007-08-05 05:03 dvd0 -> hddlrwxrwxrwx 1 root root 13 2007-08-05 05:03 fd -> /proc/self/fd/crw-rw-rw- 1 root root 1, 7 2007-08-05 05:03 fullsrwxrwxrwx 1 root root 0 2007-08-05 08:04 gpmctl=--More--

Todo e qualquer dispositivo, tais como portas seriais, discos rígidos,

11/128

Page 64: Guia Do Linux

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.

/ETC – ARQUIVOS DE CONFIGURAÇÃO

O diretório /etc contém todos os arquivos de configuração local para o sistema. Tais arquivos são bem diversificados: a tabela para montagem de partições, as definições do servidor X.org, uma série de scripts, etc.

$ cd /etc$ ls -l | moretotal 1739-rw-r--r-- 1 root root 3458 2007-06-08 22:12 DIR_COLORS-rw-r--r-- 1 root root 21 1999-01-27 23:11 HOSTNAMEdrwxr-xr-x 17 root root 592 2007-08-04 13:50 X11/-rw-r--r-- 1 root root 2561 2002-02-24 17:37 a2ps-site.cfg-rw-r--r-- 1 root root 15067 2002-02-24 17:37 a2ps.cfgdrwxr-xr-x 3 root root 104 2004-11-05 06:20 acpi/-rw-r--r-- 1 root root 46 2007-08-04 22:02 adjtimedrwxr-xr-x 3 root root 488 2007-08-03 10:00 asciidoc/-rw-r--r-- 1 root root 9930 2007-08-04 13:23 asound.state-rw-r----- 1 root daemon 144 2006-08-02 21:55 at.deny-rw-r--r-- 1 root users 95 2007-08-04 14:05 blkid.tabdrwxr-xr-x 3 root root 264 2007-08-03 10:09 bluetooth/-rw-r--r-- 1 root root 1229 2006-06-09 20:35 bootptabdrwxr-xr-x 2 root root 136 2007-08-03 10:10 cron.daily/drwxr-xr-x 2 root root 72 2007-02-21 19:22 cron.hourly/drwxr-xr-x 2 root root 48 2002-04-15 23:00 cron.monthly/drwxr-xr-x 2 root root 48 2002-04-15 23:00 cron.weekly/-rw-r--r-- 1 root root 1799 2007-04-22 16:01 csh.logindrwxr-xr-x 5 root root 328 2006-02-15 21:34 cups/drwxr-xr-x 3 root root 136 2007-05-19 03:04 dbus-1/drwxr-xr-x 2 root root 232 2005-07-29 13:17 default/-rw-r--r-- 1 root root 84 2007-06-27 21:56 dhclient.confdrwxr-xr-x 2 root root 88 2006-07-26 03:09 dhcpc/--More--

No Windows, todas as suas definições em termos de configuração ficam armazenadas em seu sistema de registro, que por sua vez é inicializado através do aplicativo regedit.exe. Embora funcional e centralizalizador, infelizmente ele é pouco intuitivo e sem uma documentação eficiente. Já nos sistemas GNU/Linux, suas definições ficam registradas em arquivos-textos de configuração, bem mais fácil de ser editado manualmente.

A edição de arquivos de configuração é um aspecto importante na

12/128

Page 65: Guia Do Linux

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.

/HOME – DADOS PESSOAIS

Em virtude dos sistemas Unix-likes terem sidos concebidos para serem sistemas multi-usuários, o diretório /home é designado exclusivamente para o armazenamento dos arquivos pessoais das contas de usuário do sistema, incluindo personalizações específicas de sua conta.

$ cd /home$ ls -ltotal 1drwx--x--x 19 darkstar users 1248 2007-08-05 08:04 darkstar/drwxr-xr-x 2 root root 48 2006-08-06 22:50 ftp/$ _

Para cada conta de usuário criado, é acrescentado neste diretório um subdiretório que utiliza a mesma nomenclatura definida para ser o apelido. Por exemplo, para conta do usuário darkstar, teremos um diretório /home/darkstar/ para o armazenamento de todos os arquivos e configurações pessoais desta conta.

/LIB – BIBLIOTECAS ESSENCIAIS

O diretório /lib contém bibliotecas compartilhadas necessárias para a execução dos arquivos contidos nos diretórios /bin e /sbin. Ainda neste diretório são encontrados os módulos do kernel.

$ cd /lib$ ls -l | moretotal 7746lrwxrwxrwx 1 root root 12 2007-08-03 10:01 cpp -> /usr/bin/cpp*-rwxr-xr-x 1 root root 7260 2007-01-25 02:25 e2initrd_helper*drwxr-xr-x 2 root root 752 2007-04-23 20:00 firmware/-rwxr-xr-x 1 root root 131484 2007-06-19 17:57 ld-2.5.so*lrwxrwxrwx 1 root root 9 2007-08-03 10:07 ld-linux.so.2 -> ld-2.5.so*-rwxr-xr-x 1 root root 7056 2007-06-19 17:57 libBrokenLocale-2.5.so*lrwxrwxrwx 1 root root 22 2007-08-03 10:07 libBrokenLocale.so.1 -> libBrokenLocale-2.5.so*-rwxr-xr-x 1 root root 16022 2007-06-19 17:57 libSegFault.so*

1 De acordo com as definições da FHS, todos os arquivos de configuração deverão estar armazenados no diretório /etc – daí a sua importância. Este diretório contém uma estrutura que comporta uma infinidade de arquivos e diretórios, o qual renderia o livro inteiro se todos eles fossem estudados.

13/128

Page 66: Guia Do Linux

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.

/MEDIA E /MNT – PONTOS DE MONTAGENS

Os diretórios /media e /mnt foram definidos para serem utilizados exclusivamente para a montagem de unidades. A diferença entre os dois está justamente no tipo de unidade a ser desmontada.

$ cd /mnt$ ls -ltotal 8-rw-r--r-- 1 root root 376 2006-09-26 00:09 READMEdrwxr-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-04 13:28 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/drwx------ 10 darkstar users 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/$ _

O /media deverá ser utilizado exclusivamente para a montagem de mídias removíveis, como DVDs, disquetes e memórias eletrôncias em geral.2 Já no /mnt se concentrará a montagem de volumes de uso provisório, como uma partição de um HD, por exemplo.

2 Em algumas distribuições, a montagem de determinadas unidades – disquetes e CD/DVD-ROMs – são feitas diretamente num diretório situados na raíz – /floppy e /cdrom, respectivamente.

14/128

Page 67: Guia Do Linux

/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 -ltotal 0drwxr-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.

/PROC – INFORMAÇÕES E PROCESSOS DO KERNEL

O diretório /proc contém um sistema de arquivo virtual, com informações gerais do sistema e processo do kernel.

$ cd /proc$ ls1/ 212/ 2721/ 2837/ 3/ cmdline irq/ partitions1000/ 213/ 2726/ 2839/ 3280/ config.gz kallsyms scsi/1070/ 214/ 2728/ 2841/ 3281/ cpuinfo kcore self@1348/ 215/ 2761/ 2846/ 3319/ crypto key-users slabinfo173/ 216/ 2763/ 2848/ 4/ devices keys stat174/ 2229/ 2764/ 2850/ 5/ diskstats kmsg swaps175/ 2311/ 2768/ 2852/ 6/ dma loadavg sys/178/ 2315/ 2769/ 2856/ 83/ driver/ locks sysrq-trigger180/ 2680/ 2774/ 2857/ 84/ execdomains mdstat sysvipc/192/ 2688/ 2819/ 2858/ 890/ fb megaraid/ timer_list2/ 2696/ 2820/ 2861/ 939/ filesystems meminfo tty/206/ 2701/ 2823/ 2877/ 944/ fs/ misc uptime207/ 2702/ 2825/ 2906/ 996/ i2o/ modules version208/ 2708/ 2827/ 2933/ acpi/ ide/ mounts@ vmstat209/ 2709/ 2829/ 2944/ asound/ interrupts mpt/ zoneinfo210/ 2712/ 2834/ 2949/ buddyinfo iomem mtrr211/ 2719/ 2836/ 2960/ bus/ ioports net/$ _

15/128

Page 68: Guia Do Linux

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/cpuinfoprocessor : 0vendor_id : AuthenticAMDcpu family : 6model : 8model name : AMD Athlon(tm) XP 2000+stepping : 1cpu MHz : 1668.877cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : nofpu : yesfpu_exception : yescpuid level : 1wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow tsbogomips : 3341.26clflush 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....

/ROOT – ADMINISTRADOR DO SISTEMA

O diretório /root é definido para ser utilizado exclusivamente no armazenamento de dados e arquivos pessoais do superusuário – o root.

# cd /root# ls -ltotal 100-rw-r--r-- 1 root root 1808 2002-04-17 01:21 loadlin16c.txt-rw-r--r-- 1 root root 97874 2002-04-17 01:20 loadlin16c.zip# _

Ele é mantido na raíz principal e não situado em /home, em decorrência de uma possibilidade de pane geral do sistema, caso este esteja separado em uma partição. Ao iniciarmos sistema como superusuário para realizar alguma tarefa de manutenção específica, ficaríamos presos a necessidade de ter seus arquivos pessoais disponíveis, e como provavelmente esta partição não se encontrará (pelo fato de utilizar o nível de manutenção), teremos complicações para realizarmos a autenticação do superusuário.

Não é recomendado o uso deste diretório para qualquer finalidades que

16/128

Page 69: Guia Do Linux

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.

/SBIN – BINÁRIOS ESSENCIAIS DO SISTEMA

O diretório /sbin somente armazena arquivos binários essenciais para a administração do sistema, onde os mesmos são utilizado somente pelo superusuário ou durante a inicialização do sistema.

$ cd /sbin$ ls -l | moretotal 12337-rwxr-xr-x 1 root bin 4920 2003-02-22 21:47 accton*-rwxr-xr-x 1 root root 33252 2007-06-24 04:33 adjtimex*-rwxr-xr-x 1 root root 14476 2007-06-24 04:33 agetty*-rwxr-xr-x 1 root root 38284 2007-04-30 01:34 arp*-rwxr-xr-x 1 root root 26600 2006-08-14 22:14 arpd*-rwxr-xr-x 1 root root 10628 2007-05-09 14:59 arping*-rwxr-xr-x 1 root root 17604 2007-01-25 02:25 badblocks*-rwxr-xr-x 1 root root 7744 2007-01-25 02:25 blkid*-rwxr-xr-x 1 root root 8936 2007-06-24 04:33 blockdev*-rwxr-xr-x 1 root root 10888 2007-05-14 23:46 bootlogd*-rwxr-xr-x 1 root root 21120 2007-04-30 01:34 brctl*lrwxrwxrwx 1 root root 7 2007-08-03 10:00 clock -> hwclock*-rwxr-xr-x 1 root root 3172 2007-05-14 23:46 consoletype*-rwxr-xr-x 1 root root 53348 2006-06-14 03:10 convertquota*-rwxr-xr-x 1 root root 600876 2007-06-20 21:00 cryptsetup.static*lrwxrwxrwx 1 root root 6 2007-08-03 10:10 ctstat -> lnstat*-rwxr-xr-x 1 root root 65772 2007-01-25 02:25 debugfs*-rwxr-xr-x 1 root root 199600 2007-05-31 21:28 debugreiserfs*-rwxr-xr-x 1 root root 98624 2007-02-21 19:22 depmod*-rwxr-xr-x 1 root root 353276 2007-06-27 21:56 dhclient*-rwx------ 1 root root 6285 2007-06-27 21:56 dhclient-script*-rwxr-xr-x 1 root root 43072 2006-07-26 03:09 dhcpcd*-r-xr-xr-x 1 root root 33828 2007-06-02 18:36 dmsetup*--More--

Todos os executáveis necessários para diversas outras atividades pertinentes estarão disponíveis, como as operações com pacotes, módulos, processos, configurações, partições, etc.

/TMP – ARQUIVOS TEMPORÁRIOS

O diretório /tmp armazena arquivos temporários gerados pelo sistema. Todos os usuários têm permissão de leitura e escrita nele.

$ cd /tmp$ ls -ltotal 1srwxr-xr-x 1 darkstar users 0 2007-08-05 08:05 OSL_PIPE_1000_SingleOfficeIPC_8

17/128

Page 70: Guia Do Linux

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.

/SRV – INFORMAÇÕES DE SERVIÇOS (INTERNET)Levemente diferenciado de /opt, o /srv armazena dados de aplicações (serviços) direcionados para redes, como o servidor Web Apache.

$ cd /srv$ ls -ltotal 0lrwxrwxrwx 1 root root 8 2007-08-03 10:10 httpd -> /var/www/lrwxrwxrwx 1 root root 8 2007-08-03 10:10 www -> /var/www/$ _

A diferença é notória: o /opt armazena os dados dos programas (binários e componentes), ao passo que o /srv apenas os dados gerados.

/SYS – SUPORTE AO DISPOSITIVOS DE HARDWARE

O diretório /sys, tal como o /proc, é um sistema virtual de arquivos que tem como objetivo, mostrar as informações relacionadas aos hardware.

$ cd /sys$ ls -ltotal 0drwxr-xr-x 30 root root 0 2007-08-05 05:03 block/drwxr-xr-x 18 root root 0 2007-08-05 05:03 bus/drwxr-xr-x 46 root root 0 2007-08-05 08:05 class/drwxr-xr-x 10 root root 0 2007-08-05 05:03 devices/drwxr-xr-x 3 root root 0 2007-08-05 05:03 firmware/drwxr-xr-x 3 root root 0 2007-08-05 05:03 fs/drwxr-xr-x 4 root root 0 2007-08-05 05:03 kernel/drwxr-xr-x 131 root root 0 2007-08-05 08:05 module/drwxr-xr-x 3 root root 0 2007-08-05 05:03 o2cb/drwxr-xr-x 2 root root 0 2007-08-05 08:04 power/$ _

Enquanto que /proc traz referências mais ligadas ao sistema, o /sys trata mais específicamente dos dispositivos de hardware em geral.

18/128

Page 71: Guia Do Linux

/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 -ltotal 280lrwxrwxrwx 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 -ltotal 2lrwxrwxrwx 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

Page 72: Guia Do Linux

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 -ltotal 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 crondrwxr-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 faillogdrwxr-xr-x 2 root root 48 2007-08-03 10:10 httpddrwxr-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 messagesdrwxr-xr-x 2 root root 48 2001-05-15 22:47 nfsddrwxr-xr-x 2 root root 34416 2007-08-07 19:31 packagesdrwxr-xr-x 2 root root 224 2007-08-07 08:56 removed_packagesdrwxr-xr-x 2 root root 160 2007-08-07 08:56 removed_scriptsdrwxr-xr-x 2 root root 48 2006-08-15 00:15 sadrwxr-xr-x 2 root root 48 2007-06-27 00:36 samba

20/128

Page 73: Guia Do Linux

drwxr-xr-x 2 root root 18848 2007-08-07 19:31 scripts-rw-r----- 1 root root 6563 2007-08-08 18:18 securedrwxr-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 syslogdrwxr-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 video0bttv0: registered device vbi0bttv0: registered device radio0bttv0: PLL: 28636363 => 35468950 .. okinput: bttv IR (card=72) as /class/input/input2Adding 257000k swap on /dev/hda5. Priority:-1 extents:1 across:257000kinput: PC Speaker as /class/input/input3input: ImPS/2 Generic Wheel Mouse as /class/input/input4parport: PnPBIOS parport detected.parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]lp0: using parport0 (interrupt-driven).lp0: console readyCapability LSM initializedReiserFS: hda7: found reiserfs format "3.6" with standard journalReiserFS: hda7: using ordered data modeReiserFS: 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 30ReiserFS: hda7: checking transaction log (hda7)ReiserFS: hda7: Using r5 hash to sort namesNTFS 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 -ltotal 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

Page 74: Guia Do Linux

-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.

SOBRE A NORMA FHS✔ <http://www.pathname.com/fhs/>.

A 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. É ela quem define quais são os diretórios que deverão existir, a localização dos arquivos de configuração, os atalhos simbólicos, entre outros, com o intuito de promover a compatibilidade dos sistemas GNU/Linux e suas aplicações.3

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.

3 O FSSTND – Linux Filesystem Structure – foi concebido anteriormente e com os mesmos propósitos da FHS, porém devido a sua pouca rigidez sobre diversos aspectos, muitas distribuições auto-definiam a localização de diversos arquivos de sistema. Os arquivos de inicialização e configuração do sistema eram os que mais situavam-se fora de uma padronização específica, mesmo que estas distribuições tomassem como base os métodos de inicialização SystemV e BSD.

22/128

Page 75: Guia Do Linux

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

Page 76: Guia Do Linux

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/lp0crw-rw-r-- 1 root lp 6, 0 2007-08-08 18:00 /dev/lp1crw-rw-r-- 1 root lp 6, 0 2007-08-08 18:00 /dev/lp2$ _

Exemplos de devices do tipo caracter.

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/hdabrw-rw---- 1 root disk 3, 1 2007-08-08 14:59 /dev/hda1

24/128

Page 77: Guia Do Linux

brw-rw---- 1 root disk 3, 2 2007-08-08 14:59 /dev/hda2brw-rw---- 1 root disk 3, 5 2007-08-08 14:59 /dev/hda5brw-rw---- 1 root disk 3, 6 2007-08-08 14:59 /dev/hda6brw-rw---- 1 root disk 3, 7 2007-08-08 18:00 /dev/hda7brw-rw---- 1 root cdrom 22, 0 2007-08-08 14:59 /dev/hdcbrw-rw---- 1 root cdrom 22, 64 2007-08-08 14:59 /dev/hdd$ _

Exemplos de devices do tipo bloco.

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.

UNIDADES EXTERNAS E DE ARMAZENAMENTO

DISCOS RÍGIDOS IDE & CD-ROMS

Todos os discos rígidos conectados a interface IDE utilizam os seguintes devices para serem acessados pelo sistema:

Discos rígidos IDE & CD-ROMs

hda 1a. unidade na controladora primária – mestre.

hda1, hda2... Partições da 1a. unidade na controladora primária.

hdb 2a. unidade na controladora primária – escravo.

hdb1, hdb2... Partições da 2a. unidade na controladora primária – escravo.

hdc 1a. unidade na controladora secundária – mestre.

hdc1, hdc2... Partições da 1a. unidade na controladora secundária – mestre.

hdd 2a. unidade na controladora secundária – escravo.

hdd1, hdd2... Partições da 2a. unidade na controladora secundária – escravo.

Quanto aos CD-ROMs, na verdade não existem devices para acesso as unidades leitoras de CD-ROMs atuais, e sim apenas atalhos simbólicos indicando em qual os devices reais estes se encontram. Este procedimento é necessário face a utilização dos devices para as diferentes localizações (primário, secundário, mestre, escravo, etc.) e antigos drivers de CD-ROMs que não utilizavam a controladoras IDE para serem conectados ao sistema. Para acessá-los, deveremos utilizar o atalho simbólico /dev/cdrom.

25/128

Page 78: Guia Do Linux

UNIDADES SCSI E SATASem 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.

No kernel 2.4, os gravadores de CD-R/W e DVD-R/W – são acessados através de emulação SCSI. Por este motivo, eles devem utilizar estes devices. Já para o kernel 2.6, os devices são os mesmos que os utilizados para os discos rígidos padrão IDE.

Em tratando-se de disco rígido, segue-se o mesmo padrão das unidades IDE, somente atentando-se para alterar o caracter h para o caracter s.

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:.

De acordo com as necessidades, existirão circunstâncias em que iremos referir-se a um dos devices específicos. Por exemplo, para formatação, iremos definí-lo como /dev/fd[X][D], onde [X] indica o device da unidade em questão e [D] a densidade da mesma.

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

Page 79: Guia Do Linux

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.

Todos estes devices pertencem ao grupo audio, onde devemos incluí-lo nas configurações das contas de usuário para que as propriedades de áudio estejam presentes. Para obterem maiores informações de como proceder, consultem na 4a. Parte: Ajustes & Configurações -> Áudio – Placa de som.

FAX-MODEM (PORTAS SERIAIS)As tradicionais placas de fax-modem – conhecidas popularmente como hardmodens – são referidas no sistema através dos devices /dev/ttyS[X].

Portas seriais

ttyS0 Porta serial 1 – equivale ao COM1.

ttyS1 Porta serial 2 – equivale ao COM2.

ttyS2 Porta serial 3 – equivale ao COM3.

ttyS3 Porta serial 4 – equivale ao COM4.

Já no caso dos softmodens, a maior parte destes periféricos utilizam um device especial, criado pelos drivers para a sua instalação.

Para obterem maiores informações sobre estes periféricos, consultem na 4a. Parte: Ajustes & Configurações -> Modem – placas de fax-modem.

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.

Somente teremos à disponibilidade diversos terminais desde que o kernel tenha o suporte aos terminais virtuais. Felizmente, todos os kernels são pré-compilados com este recurso habilitado.

27/128

Page 80: Guia Do Linux

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 -ltotal 4drwxr-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 -ltotal 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

Page 81: Guia Do Linux

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.

O BOURNE AGAIN SHELL

✔ <http://www.gnu.org/software/bash/>.

O interpretador de comandos é um programa especial que permite a interação do usuário com o sistema operacional através da utilização de comandos especiais via teclado. É nele em que coordenamos muitas das atividades administrativas pertinentes as funções do kernel, como a manipulação de arquivos, a edição de configurações, o gerenciamento de processos, entre outras atividades. Nos sistemas GNU/Linux, o BASH – Bourne Again Shell – é o interpretador de comandos oficial.

4 Infelizmente muitos usuários têm conceitos errôneos sobre o uso da linha de comando. Já escutamos diversos comentários específicos e sem fundamentos, tais como “isso é coisa do passado...”, “voltar aos tempos do DOS...”, “ninguém mais usa isto...”, “pra quê mexer nessa !%#&*...”, etc., mas em sistemas GNU/Linux ela é essencial e indispensável para o bom funcionamento do sistema.

29/128

Page 82: Guia Do Linux

Terminal virtual (Konsole) do KDE.

Desenvolvido pelo Projeto GNU, o BASH é uma derivação do antigo Shell Bourne, que leva o nome de seu criador original: Steven Bourne. O BASH é um trocadinho, pois o Again significa “novamente”, ou seja: “Novamente um Shell Bourne”. O Shell Bourne e o BASH são compatíveis, embora diversas melhorias tenham sido feitas neste último...

À primeira vista, o BASH lembra-se muito o MS-DOS, por ele disponibilizar uma tela de texto preta e uma linha de comando. Nesta literatura o utilizaremos apenas as instruções básicas e essenciais, necessárias para garantirmos a boa manutenção de um sistema para o uso em desktops.

Por se tratar de um requerimento das especificações do padrão LSB, torna-se essencial conhecer as suas características e as funcionalidades básicas.

INFORMAÇÕES E MÉTODOS ESSENCIAIS

São inúmeros os recursos disponibilizados pelo BASH; por isto, iremos omitir as instruções detalhadas e desnecessárias. Seguem abaixo apenas algumas informações e métodos básicos e essenciais para obtermos um excelente rendimento nas intervenções que iremos realizar mais à frente.

COMPLEMENTO DA TECLA <TAB>Em muitas circunstâncias, teremos a necessidade de digitar toda a nomenclatura de um comando, arquivo ou diretório na linha de comando. Ao invés de digitarmos cada caracter, poderemos apenas digitar as iniciais e complementar com a tecla <TAB>, onde o sistema se encarregará de localizar tal nomenclatura e preencher com os dados restantes.

30/128

Page 83: Guia Do Linux

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

Page 84: Guia Do Linux

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

Lembre-se que de acordo com o interpretador de comando utilizado,

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

Page 85: Guia Do Linux

poderão ser exibidos ou não, tais atributos.

ACESSO À DOCUMENTAÇÃO ELETRÔNICA

Uma das características interessantes dos sistemas GNU/Linux está na forte documentação eletrônica dos utilitários e comandos disponíveis, onde uma simples consulta poderá resolver a maioria das dúvidas existentes. Tais informações podem ser acessados no BASH através da execução do próprio comando, porém com a adição do parâmetro --help:

$ ps --help********* simple selection ********* ********* selection by list *********-A all processes -C by command name-N negate selection -G by real group ID (supports names)-a all w/ tty except session leaders -U by real user ID (supports names)-d all except session leaders -g by session leader OR by group name-e all processes -p by process IDT all processes on this terminal -s processes in the sessions givena all w/ tty, including other users -t by ttyg all, even group leaders! -u by effective user ID (supports names)r only running processes U processes for specified usersx processes w/o controlling ttys t by tty*********** output format ********** *********** long options ***********-o,o user-defined -f full --Group --User --pid --cols-j,j job control s signal --group --user --sid --rows-O,O preloaded -o v virtual memory --cumulative --format --deselect-l,l long u user-oriented --sort --tty --forest --version X registers --heading --no-heading ********* misc options *********-V,V show version L list format codes f ASCII art forest-m,m show threads S children in sum -y change -l format-n,N set namelist file c true command name n numeric WCHAN,UID-w,w wide output e show environment -H process heirarchy$ _

Se for necessária a obtenção de informações mais detalhadas, o man...

$ man ps...PS(1) Linux User's Manual PS(1)

,

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

Page 86: Guia Do Linux

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.

Set the I_WANT_A_BROKEN_PS environment variable to forcelines 1-28...

... e o info...

$ info ps...File: a2ps.info, Node: psmandup, Next: psset, Prev: pdiff, Up: Contribution\s

`psmandup'==========

I personally hate to print documents of hundreds of pages on a singlesided printer. Too bad, here there are no Duplex printers. The idea isthen simply first to print the odd pages, then the even in reversedorder. To make sure one flips the page in the meanwhile, the secondhalf should be printed from the manual feed tray.

Make a shell script that automates this, and you get `psmandup'.

* Menu:

* Invoking psmandup:: Command Line Interface

--zz-Info: (a2ps.info.gz)psmandup, 18 lines --All-- Subfile: a2ps.info-5.gz-----Welcome to Info version 4.8. Type ? for help, m for menu item.

... certamente atenderão perfeitamente bem a estes propósitos.

EQUIVALÊNCIAS ENTRE O BASH E MS-DOSApesar de se encontrar praticamente em desuso por usuários do Windows, muitos usuários sentem-se confortáveis ao realizar diversas intervenções com a utilização da linha de comando do MS-DOS, especialmente quando não há possibilidade de inicializar o Windows para estes eventos. Já em sistemas GNU/Linux, a linha de comando não só se encontra presente, como também é fundamental para a manutenção geral do sistema e ainda possui uma eficiência muito superior à que encontramos no velho MS-DOS.

34/128

Page 87: Guia Do Linux

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:\

12/05/2004 20:03 <DIR> WINDOWS24/05/2004 23:23 <DIR> Documents and Settings12/05/2004 20:18 <DIR> Arquivos de programas12/05/2004 20:19 0 CONFIG.SYS12/05/2004 20:19 0 AUTOEXEC.BAT 2 arquivo(s) 0 bytes 3 pasta(s) 3.165.028.352 bytes disponíveis

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 -ltotal 82drwxr-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.

ACESSO AS UNIDADES DO SISTEMA

O MS-DOS atribui letras para a unidade de armazenamento de dados (A:\, C:\, D:\, etc.), onde para acessarmos as demais unidades do sistema, bastaria apenas indicá-las na linha de comando acrescido de <DOIS_PONTOS> (“:”), teclando <ENTER> em seguida:

C:\> A:A:\> D:

35/128

Page 88: Guia Do Linux

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 -ltotal 8-rw-r--r-- 1 root root 376 2006-09-26 00:09 READMEdrwxr-xr-x 2 root root 48 2006-09-25 22:02 cdrecorderdrwxr-xr-x 2 root root 48 2002-03-16 04:34 cdromdrwxr-xr-x 2 root root 48 2006-09-25 22:02 dvddrwxr-xr-x 2 root root 48 2002-03-16 04:34 floppydrwxr-xr-x 2 root root 48 2002-03-16 04:34 hddrwxr-xr-x 2 root root 48 2006-09-25 22:02 memorydrwxr-xr-x 10 root root 224 2007-08-04 15:08 pkgdrwxr-xr-x 2 root root 48 2006-09-25 22:03 tmpdr-x------ 1 root root 4096 2007-08-05 00:59 windrwxr-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.

$ suPassword:# mkdir flash# mkdir tape# ls -ltotal 8-rw-r--r-- 1 root root 376 2006-09-26 00:09 READMEdrwxr-xr-x 2 root root 48 2006-09-25 22:02 cdrecorderdrwxr-xr-x 2 root root 48 2002-03-16 04:34 cdromdrwxr-xr-x 2 root root 48 2006-09-25 22:02 dvddrwxr-xr-x 2 root root 48 2007-08-05 19:07 flashdrwxr-xr-x 2 root root 48 2002-03-16 04:34 floppydrwxr-xr-x 2 root root 48 2002-03-16 04:34 hddrwxr-xr-x 2 root root 48 2006-09-25 22:02 memorydrwxr-xr-x 10 root root 224 2007-08-04 15:08 pkgdrwxr-xr-x 2 root root 48 2007-08-05 19:07 tapedrwxr-xr-x 2 root root 48 2006-09-25 22:03 tmpdr-x------ 1 root root 4096 2007-08-05 00:59 windrwxr-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

Page 89: Guia Do Linux

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 WINDOWSC:\WINDOWS\> CD ..C:\> cd windowsC:\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 /usrdarkstar@darkstar:/usr$ CD ..-bash: CD: command not founddarkstar@darkstar:/usr$ _

37/128

Page 90: Guia Do Linux

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

Page 91: Guia Do Linux

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

Lista os arquivos e diretórios do diretório corrente ou especificado.

Sintaxe:

ls [PARÂMETROS] [ARQUIVOS/DIRETÓRIOS]

Onde:

• -a: lista todos os arquivos e diretórios ocultos;

• -R: lista todos os arquivos e diretórios de forma recursiva;

• -i: lista o conteúdo, porém exibindo o tamanho em blocos;

• -1: lista o conteúdo, exibindo-o em somente uma simples coluna;

• -l: tal como -1, lista o conteúdo, exibindo-o em somente uma, mas contendo informações gerais acerca de seus atributos;

Observem que os parâmetros exemplificados podem ser utilizados em conjunto (combinados). Experimentem utilizar estes parâmetros combinado com outros parâmetros e verifiquem sua saída:

$ ls -li

39/128

Page 92: Guia Do Linux

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.

$ vdirtotal 83drwxr-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

Possibilita navegar (“entrar e sair”) entre os diretórios desejados.

Sintaxe:

$ cd [DIRETÓRIO]

Exemplo:

40/128

Page 93: Guia Do Linux

darkstar@darkstar:~$ cd /usrdarkstar@darkstar:/usr$ ls -l...darkstar@darkstar:/usr$ cd libdarkstar@darkstar:/usr/lib$ ls -l...darkstar@darkstar:/usr/lib$ cd X11darkstar@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/libdarkstar@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

Permite visualizar o conteúdo de arquivos-textos.

Sintaxe:

$ type [ARQUIVO]

As mesmas regras do MS-DOS também são aplicadas aqui: os arquivos textos serão exibidos normalmente, ao contrário dos arquivos binários.

LESS

Permite também visualizar o conteúdo de arquivos-textos, tal como type.

Sintaxe:

41/128

Page 94: Guia Do Linux

$ 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

Exibe informações gerais sobre o tipo de arquivo consultado.

Sintaxe:

$ file [ARQUIVO]

Observem atentamente os exemplos abaixo para uma melhor compreensão.

$ file fotografiafotografia: JPEG image data, JFIF standard 1.01, resolution (DPI), 72 x 72$ _

O comando file detectou que o arquivo fotografia trata-se de uma imagem gravada no formato JPEG, fornecendo ainda outras informações adicionais.

$ file tutorialtutorial: HTML document text$ _

Novamente o comando file detectou a existência do arquivo-texto tutorial informando ainda que trata-se de um documento HTML.

PWD

Este comando apenas mostra em qual é o diretório corrente.

$ pwd/home/darkstar$ _

Para as definições padrão no /etc/profile do Slackware, este comando é desnecessário, pois o próprio sinal de prontidão já exibe a sua localização.

darkstar@darkstar:/usr/local$ _

Porém existirão circunstâncias em que este, ao invés de exibir o caminho o qual se encontra, exibirá apenas o sinal ~. Isto significa que nos encontramos no diretório raiz do usuário autenticado.

darkstar@darkstar:~$ pwd

42/128

Page 95: Guia Do Linux

/home/darkstar

darkstar@darkstar:~$ _

MORE

Atua como um filtro paginador das informações exibidas no vídeo.

Sintaxe:

$ [COMANDO] [PARÂMETROS] | more

Ou...

$ more [ARQUIVO-TEXTO]

Existem diversas situações em que o uso deste comando será de bastante utilidade, mas basicamente o utilizaremos apenas para realizar uma listagem pausada. Vejam o exemplo a seguir:

$ ls -l /usr/share/ | moretotal 520drwxr-xr-x 7 root root 296 2004-05-07 22:32 AbiSuite-2.0drwxr-xr-x 2 root root 48 2004-08-07 20:16 ImageMagickdrwxr-xr-x 5 root root 264 2004-08-07 20:16 ImageMagick-6.0.4-rw-r--r-- 1 root root 600 2004-04-23 18:59 Ssh.bindrwxr-xr-x 2 root root 176 2003-02-11 22:41 WINGsdrwxr-xr-x 8 root root 1600 2003-02-11 22:41 WindowMakerdrwxr-xr-x 8 root root 216 2002-02-24 17:38 a2psdrwxr-xr-x 2 root root 2208 2004-09-19 21:07 aclocaldrwxr-xr-x 2 root root 968 2004-05-21 03:38 aclocal-1.8drwxr-xr-x 4 root root 160 2004-05-29 17:06 alsadrwxr-xr-x 2 root root 536 2004-06-07 19:36 application-registrydrwxr-xr-x 2 root root 2320 2004-10-22 20:42 applicationsdrwxr-xr-x 6 root root 168 2003-01-07 20:15 apsfilterdrwxr-xr-x 2 root root 1112 2003-01-13 22:27 aspelldrwxr-xr-x 2 root root 216 2003-08-29 03:17 aumixdrwxr-xr-x 7 root root 224 2004-02-15 23:44 autoconfdrwxr-xr-x 4 root root 648 2004-05-21 03:38 automake-1.8drwxr-xr-x 2 root root 608 2003-07-28 18:30 awkdrwxr-xr-x 2 root root 88 2004-05-13 17:27 battstat_appletdrwxr-xr-x 2 root root 112 2002-10-15 22:19 bisondrwxr-xr-x 2 root root 200 2004-05-16 20:47 blackjack--Mais--

O diretório /usr/share possui uma infinidade de diretório em sua estrutura. Uma simples listagem iria exibir todo o seu conteúdo, porém não realizaria uma pausa para a verificação, de forma que apenas conseguiríamos ver as informações da saída de vídeo do final da operação. Para continuar com a exibição dos dados, basta apenas pressionar <BARRA_DE_ESPAÇO>:

drwxr-xr-x 2 root root 200 2004-05-16 20:47 blackjackdrwxr-xr-x 3 root root 224 2004-05-07 16:02 bug-buddydrwxr-xr-x 2 root root 72 2004-06-08 16:57 cdrdaodrwxr-xr-x 5 root root 128 2004-05-13 03:47 control-centerdrwxr-xr-x 7 root root 176 2004-06-19 21:09 control-center-2.0

43/128

Page 96: Guia Do Linux

drwxr-xr-x 8 root root 232 2004-09-19 20:50 cupsdrwxr-xr-x 2 root root 88 2004-06-06 22:48 curldrwxr-xr-x 3 root root 72 2004-06-09 15:28 cvsdrwxr-xr-x 4 root root 544 2004-11-15 10:24 d4xdrwxr-xr-x 2 root root 72 2003-03-13 22:00 dictdrwxr-xr-x 3 root root 72 2004-05-02 19:22 distcclrwxrwxrwx 1 root root 6 2004-11-01 16:27 doc -> ../docdrwxr-xr-x 2 root root 3120 2004-06-19 20:52 eazel-enginedrwxr-xr-x 7 root root 888 2004-02-22 03:25 elvis-2.2_0drwxr-xr-x 4 root root 104 2003-05-23 02:28 emacsdrwxr-xr-x 4 root root 936 2002-02-26 02:05 enscriptdrwxr-xr-x 3 root root 104 2004-05-07 16:40 eogdrwxr-xr-x 4 root root 96 2004-02-21 23:24 epicdrwxr-xr-x 4 root root 496 2004-06-19 17:27 epiphanydrwxr-xr-x 4 root root 136 2004-06-19 18:50 epiphany-extensionsdrwxr-xr-x 2 root root 48 2004-06-19 19:52 facesdrwxr-xr-x 3 root root 72 2004-05-07 17:22 file-rollerdrwxr-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-rollerdrwxr-xr-x 3 root root 104 2004-11-01 16:40 fontsdrwxr-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

The Linux(R) kernel is Copyright 1991, 1992, 1993, 1994, 1995,1996, 1997, 1998 Linus Torvalds (others hold copyrights on someof the drivers, filesystems, and other parts of the kernel) andis licensed under the terms of the GNU General Public License.

LINUX is a registered trademark of Linus Torvalds.

(see COPYING in /usr/src/linux)

---------------

Many other software packages included in Slackware are licensed under the GNUGeneral Public License, which is included in the file COPYING.

----------------

This product includes software developed by the University of California, Berkeley and its contributors:

Copyright (c) 1980,1983,1986,1988,1990,1991 The Regents of the University of California. All rights reserved.

--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

Page 97: Guia Do Linux

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

Mostra o espaço ocupado por um arquivo ou conjunto de arquivos.

Sintaxe:

$ du [PARÂMETROS] [ARQUIVO/DIRETÓRIO]

Onde:

• -a: mostra não só apenas o tamanho dos diretórios, como também dos arquivos encontrados;

• -b, -k, -m: mostra o tamanho dos arquivos e diretórios em bytes, KB e MB respectivamente (valor padrão: byte);

• -c: acrescenta uma linha mostrando o tamanho total de todos os arquivos e diretórios.

Existem diversos outros parâmetros úteis de acordo com as circunstâncias, mas para nós, nos interessa apenas conhecer sua utilização básica, que por sua vez mostrará apenas o tamanho do arquivo e diretórios neles aplicados:

$ du texto.txt104 texto.txt$ _

Neste caso, o arquivo texto.txt possui apenas 104 KB. Já neste outro...

$ du “Prova 3o. Bimestre”/149 Prova 3o. Bimestre/Português245 Prova 3o. Bimestre/Matemática394 Prova 3o. Bimestre/$ _

... é mostrado os tamanhos de cada subdiretórios, além do total do diretório principal consultado, contando com o espaço ocupado por todos eles.

45/128

Page 98: Guia Do Linux

MANIPULAÇÃO

MKDIR

Este comando é utilizado unicamente para criar diretórios.

Sintaxe:

$ mkdir [PARÂMETROS] [DIRETÓRIO]

Exemplo:

$ mkdir /home/darkstar/teste$ ls -l /home/darkstar/total 3drwx------ 3 darkstar users 128 Ago 16 00:25 Desktop/drwxr-xr-x 26 darkstar users 1008 Ago 9 22:12 docs/drwxr-xr-x 3 darkstar users 320 Jul 11 18:54 OpenOffice.org1.0.0/drwxr-xr-x 2 darkstar users 48 Ago 16 20:25 teste/drwxr-xr-x 5 darkstar users 256 Ago 16 20:16 z/$ _

Para criar um conjunto de diretórios e respectivos subdiretórios diretamente com um único comando, utilizem o parâmetro -p.

$ mkdir -p /[DIRETÓRIO]/[SUBDIRETÓRIO]/

Exemplo:

$ mkdir -p teste/subteste/$ _

DD

Abreviatura de direct copy, possui a finalidade de copiar e transferir dados utilizando as especificações de bloco de entrada e saída. Útil para realizar cópia de arquivos e transferência de dados conforme sua estrutura.

Sintaxe:

$ dd if=[ORIGEM] of=[DESTINO]

Onde estes dados serão formatados de acordo com as definições dos parâmetros de entrada (if) e saída (of).

Observem este simples exemplo para a cópia de um arquivo:

$ dd if=/dev/hda9 of=/dev/sda1

Este comando copiará todo o conteúdo da partição hda9 (o diretório /home) para um dispositivo de memória eletrônica (um pendrive).

CP

Realiza a cópia de arquivos e/ou o conteúdo de um diretório.

Sintaxe:

46/128

Page 99: Guia Do Linux

$ 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

Abreviatura de move, movimenta o(s) arquivo(s) e/ou diretório(s) para o local desejado ou ainda, os renomeia conforme desejado.

Sintaxe:

$ mv [PARÂMETROS] [ORIGEM] [DESTINO]

Exemplo:

$ mv /home/darkstar/teste/* /home/darkstar/

O comando mv também pode ser utilizado para renomear diretórios...

$ mv /home/darkstar/teste/ /home/darkstar/ok

... e arquivos...

$ mv /home/darkstar/rasura /home/darkstar/texto.txt

LN

Cria atalhos para apontar determinados arquivos ou diretórios do sistema.

Sintaxe:

$ ln [PARÂMETROS] [ORIGEM] [DESTINO]

Onde:

• -s: atalho simbólico;

• -d: atalho físico (somente disponível para o superusuário).

A diferença entre atalhos simbólicos para atalhos físicos (ou hardlinks) está na manipulação direta do mesmo. O atalho simbólico apenas fornece um caminho apontado por ele; já o atalho físico faz uma referência direta, sendo perfeitamente idêntico ao arquivo original em tamanho e permissões de acesso. Sua única limitação está no fato de não fazer referências aos diretórios ou arquivos de outras partições.

Uma das principais vantagens da utilização do atalho é a possibilidade de

47/128

Page 100: Guia Do Linux

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

Componente indispensável das ferramentas GNU Midnight Commander, o MCedit é um excelente editor de textos ASCII, com uma aparência muito similar ao já conhecido Edit, do MS-DOS.

Dentre seus comandos, para acionar o menu principal, basta teclarmos <F9>; para que o programaseja encerrado, basta pressionarem <F10>.

Para os iniciantes, recomendamos a utilização deste editor de textos. Mas como estamos num mundo livre, fica em aberto a livre-escolha!

EXCLUSÃO

RMDIR

Remover um diretório já existente. O uso de parâmetros é opcional.

Sintaxe:

$ rmdir [DIRETÓRIO]

Exemplo:

$ rmdir /home/darkstar/teste/

48/128

Page 101: Guia Do Linux

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

Remove um arquivo já existente.

Onde:

• -i: exclusão interativa (permite definir se o arquivo em questão vai ser excluído ou não);

• -r: remoção recursiva (utilizado para excluir diretório não vazios).

Sintaxe:

$ rmdir [PARÂMETROS] [NOME_DO_ARQUIVO]

Exemplo:

$ rm /home/darkstar/texto.txt

Ao estudarmos o comando rmdir, vimos que ele não pode remover diretórios que possuem conteúdo. Para esta situação, podemos utilizar o comando rm junto com o parâmetro -r para resolver este problema.

$ rmdir teste/rmdir: `teste/': Diretório não vazio$ rm -r teste/$ _

CÓPIAS DE SEGURANÇA E COMPACTAÇÃO

A cópia de segurança é uma das operações essenciais para a manutenção dos dados e informações contidas nas unidades de armazenamento. Basicamente é dividida em 2 etapas: arquivamento e compactação.

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

Page 102: Guia Do Linux

TAR

O TAR – Type ARchive – é um eficiente arquivador de dados.

Sintaxe:

$ tar [PARÂMETROS] [ARQUIVO_OU_DIRETÓRIO_OU_ESTRUTURA]

Pelo fato de possuir vastos recursos, existe uma imensidade de parâmetros relacionados. Descreveremos aqui apenas os mais utilizados:

• -v: exibe o andamento da operação no vídeo;

• -f: tratamento de arquivo, device ARQ;

• -w: solicita a confirmação para cada operação a realizar;

• -M: criação / listagem / extração de múltiplos volumes.

Além dos parâmetros gerais, encontram-se também outros para o arquivamento propriamente dito. Segue a listagem abaixo:

• -c: criação de um novo arquivo (o destino);

• -r: acrescenta arquivos a um pacote já criado.

Com o TAR podemos também visualizar o conteúdo de pacotes gerados, além de realizar alguns processos de comparação:

• -t: lista o conteúdo de um arquivo gerado;

• -d: compara o arquivo gerado com os arquivos atuais.

Ainda poderemos utilizar parâmetros específicos para compactar ou descompactar os pacotes:

• -j: compressão / descompressão com Bzip2;

• -z: compressão / descompressão com GZIP.

Por último, também existem alguns parâmetros extras para facilitar as atividades de extração dos pacotes criados, tendo destaque a descompactação e extração simultânea:

• -x: extrai os dados arquivados;

• -p: mantém as permissões originais dos dados arquivados.

Exemplos:

Para empacotar toda uma estrutura de arquivos de diretório...

$ tar -cvf BACKUP.tar *

Para anexar o arquivoTEXTO.txt ao pacote BACKUP.tar...

$ tar -rf TEXTO.txt BACKUP.tar

Para desempacotar o pacote BACKUP.tar...

$ tar -xvf BACKUP.tar

Será descomprimir e desempacotar o pacote BACKUP.tar.gz...

50/128

Page 103: Guia Do Linux

$ 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

Atualmente é o compactador mais utilizado entre os disponíveis.

Sintaxe:

$ gzip [PARÂMETROS] [ARQUIVO_ORIGEM]

Onde:

• -c: mantém o arquivo original (não apaga);

• -d: descompacta o arquivo (o mesmo que utilizar apenas gunzip);

• -l: listagem de conteúdo do arquivo compactado;

• -v: exibe as informações do processo;

• - (1 até 9): variação da taxa de compressão, onde 1 = compressão rápida (baixa) e 9 = compressão lenta (alta).

Para simplesmente compactar um arquivo...

$ gzip [ARQUIVO]

Para compactar um arquivo com alta taxa de compressão...

51/128

Page 104: Guia Do Linux

$ gzip -9 [ARQUIVO]

Para descompactar um arquivo comprimido.

$ gzip -d [ARQUIVO]

... ou...

$ gunzip [ARQUIVO]

BZIP2 / BUNZIP2O 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

Os comandos zip e unzip são respectivamente compactador e descompactador de volumes para o uso do formato ZIP (.zip).

Sintaxe:

$ zip [PARÂMETROS] [DESTINO] [ORIGEM]

Onde:

• -e: permite a utilização de senha de proteção, esta solicitada no ato da compactação / descompactação;

• -r: compacta arquivos e diretórios de modo recursivo;

• - (1 até 9): variação da taxa de compressão, onde 1 = compressão rápida (baixa) e 9 = compressão lenta (alta);

Para realizar uma simples compactação, basta utilizar.

52/128

Page 105: Guia Do Linux

$ 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

Divide um arquivo em várias partes.

Sintaxe:

$ split [PARÂMETROS] [TAMANHO][UNIDADE_DE_MEDIDA] [ARQUIVO]

Onde:

• -b: define a unidade de medida – byte (b), KB (kb) e MB (mb).

Exemplo:

$ split -b 1440kb BACKUP.tar.gz

Serão gerados diverso arquivos com o tamanho especificado com a nomenclatura xaa, xab, xac, etc. No exemplo acima citado, o tamanho definido é ideal para gravá-los em disquetes.

Para reuni-los novamente em um só arquivo, utilizem o comando cat.

CAT

O comando cat possui diversas opções e funcionalidades, como poderemos ver ao checar sua documentação. Mas para operações básicas, ele é bastante utilizado em operações de visualização e concatenação.

Sintaxe:

$ cat [OPTION] [ARQUIVO]

Para realizar uma visualização do arquivo texto.txt, basta utilizar...

$ cat texto.txt

Para realizar uma concatenação, basta utilizar a seguinte sintaxe:

$ cat [TEXTO1] [TEXTO2] [TEXTO3] > [ARQUIVO_TEXTO_FINAL]

Um detalhe importante que deverá ser observado está na ordem correta dos arquivos a serem concatenados.

Segue um exemplo simples e prático:

$ cat texto.txt mais_info.txt > texto1.txt

Para mesclar arquivos gerados pelo split (veja seção anterior)...

53/128

Page 106: Guia Do Linux

$ 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

Page 107: Guia Do Linux

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.

TIPOS DE SISTEMAS DE ARQUIVOS

Cada sistema operacional normalmente suporta um pequeno conjunto de formatos específicos. Os sistemas GNU/Linux suportam uma infinidade de

55/128

Page 108: Guia Do Linux

tipos de sistemas de arquivos, onde as mais importantes são:

O SWAPO 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 EXT3O sistema de arquivos ext2 já foi o padrão dos sistemas GNU/Linux. Possui muitas similaridades em comparação ao sistema FAT32 utilizado no Windows, como o suporte a nomenclatura de arquivos com 256 caracteres e tamanho de clusters fixo em 4 KB, além da limitar o tamanho de arquivos para 4 GB. Dentre outras características, possibilita atribuir flags especiais aos arquivos criados neste sistema. Estes atributos são a leitura, a escrita e a gravação. Somente iremos operar nestes arquivos de acordo com os atributos definidos pelo usuário que o criou (dono) ou o administrador.

No sistema de arquivos ext2, foram implementadas melhorias que resultaram no surgimento do seu substituto: o sistema de arquivos ext3, que por sua vez não difere muito estruturalmente do sistema de arquivos ext2. Eis porque a conversão de partições do formato ext2 para o formato ext3 pode ser feita sem dificuldades, desde que o proceso seja feito de forma correta e com as ferramentas (nativas) adequadas. Em todo o caso, cópias de segurança são recomendáveis nestas circunstâncias.

O sistema de arquivos ext3 tem como acréscimo o recurso journaling: este – diferente do formato ReiserFS – se caracteriza por manter arquivadas no disco rígido informações do estado deste sistema de arquivos atualizada constantemente. Este arquivo, localizado na raíz da partição em uso, é chamado de .journal. Com o uso do journaling, toda vez que houver algum erro ou falha abrupta no sistema que necessite de uma reinicialização, o estado do sistema de arquivos é automaticamente restaurado baseando-se apenas em suas informações. Na prática, isto substitui a necessidade da utilização de ferramentas especiais para a sua manutenção como o fsck, em que ao realizar a checagem da integridade do sistema de arquivos, consome muito tempo e indisponibiliza o sistema por longos intervalos.

A vantagem do Ext3 em comparação com o ReiserFS está na possibilidade de realizar a manutenção dos dados gravados no exato momento da queda

56/128

Page 109: Guia Do Linux

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

Page 110: Guia Do Linux

MSDOS, FAT32 E NTFSEstes 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.

ISO9660O 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.

OPERAÇÕES E ATIVIDADES AFINS

TRABALHANDO COM PARTIÇÕES E UNIDADES

Existem uma infinidade de operações que poderão ser realizadas nas unidades e partições, mas antes, será necessário obter acesso a estes dispositivos para realizar as operações mais cotidianas...

MOUNT / UMOUNT

Os comandos mount e umount são utilizados respectivamente para “montar” (ter acesso) e “desmontar” (retirar acesso) unidades e partições.

Sintaxe:

$ mount [OPÇÕES] [DISPOSITIVO] [PONTO DE MONTAGEM]

58/128

Page 111: Guia Do Linux

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

Page 112: Guia Do Linux

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

Realiza toda a transferência de dados da cache do sistema (arquivos e diretórios) para a unidade montada (disquete, memória eletrônica, CD/DVD-ROM, etc.), para que possamos desmontar a unidade imediatamente.

$ sync

É muito útil em circunstâncias em que não sabemos porque o dispositivo não desmonta, mesmo que todas as operações estejam concluídas.

FORMATAÇÃO E DEFINIÇÃO DO SISTEMA DE ARQUIVOS

Os respectivos utilitários que utilizaremos em linha de comando para estas atividades são mkfs, mkreiserfs e mkswap.

MKFS

O mkfs é o utilitário usado para criar um sistema de arquivos.

Sintaxe:

# mkfs.ext2 [PARÂMETROS] /dev/[PARTIÇÃ0]

Onde:

• -b: definição do tamanho do bloco (cluster);

• -c: checagem de blocos danificados;

• -L [NOME]: define um nome para o sistema de arquivos.

O mkfs possui “extensões”, das quais cada uma possui a finalidade de criar sistemas de arquivos específicos: o mkfs.ext2, mkfs.ext3 e mkfs.msdos. Estas opções poderão ser omitidas, desde que utilizemos o parâmetro -t, acompanhado do sistema que se queira criar (msdos, ext2, ext3, etc.).

# mkfs -t [SIST._ARQUIVOS] [PARÂMETROS] /dev/[PARTIÇÃ0]

Observem também que o mkfs não suporta o sistema de arquivos ReiserFS, sendo necessário então utilizar outra ferramenta, o mkreiserfs.

60/128

Page 113: Guia Do Linux

MKREISERFS

Conforme dito na seção anterior, o utilitário mkreiserfs é utilizado para definir um sistema de arquivos ReiserFS em uma partição.

Sintaxe:

# mkreiserfs [PARÂMETROS] /dev/[PARTIÇÃ0]

Onde:

• -b: definição do tamanho do bloco (cluster);

• -L [NOME]: define um nome para o sistema de arquivos;

• -s [VALOR]: define o tamanho do arquivo de journal em blocos.

MKSWAP / SWAPON

Formata e ativa uma partição SWAP.

Sua utilização é simples, bastando digitar na linha de comando...

# mkswap /dev/[PARTIÇÃO]

Para ativá-la ao sistema, deveremos utilizar...

# swapon /dev/[PARTIÇÃO]

VERIFICANDO AS PARTIÇÕES E UNIDADES DO SISTEMA

Existem diversas ferramentas para a checagem das partições e unidades do sistema, dentre as quais, as principais usadas são:

DF

Verifica o espaço ocupado das unidades montadas.

Sintaxe:

$ df [PARÂMETROS]

Onde:

• -h: exibe as dimensões em MB (hm) e GB (h);

• -T: exibe o sistema de arquivos utilizado.

Ao utilizar somente o df, teremos apenas esta simples avaliação:

# dfFilesystem 1k-blocks Used Available Use% Mounted on/dev/hda5 2104408 339684 1764724 17% //dev/hda6 7341440 1841004 5500436 26% /usr/dev/hda7 2104408 51984 2052424 3% /var/dev/hda8 1052184 39240 1012944 4% /tmp/dev/hda9 1052184 177076 875108 17% /home/dev/hda10 24879804 282344 24597460 2% /usr/pkg# _

61/128

Page 114: Guia Do Linux

Definindo o parâmetro -T, veremos o sistema de arquivos utilizado...

# df -TFilesystem 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 -hFilesystem 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

Utilizado para checar blocos defeituosos na unidade de disco rígido.

Sintaxe:

# badblocks [PARÂMETRO] /dev/[PARTIÇÃO]

Onde:

• -b: definição do tamanho do bloco a ser checado (cluster);

• -v: mostra as operações em andamento.

Para realizarem uma checagem básica, utilizem...

# badblocks -b 4096 /dev/[PARTIÇÃO]

Normalmente os tamanhos de blocos utilizados pelos atuais sistemas de arquivos são de 4.096 bytes.

FSCK

Realiza uma checagem da unidade em questão, procurando por áreas e blocos danificados que porventura possam existir no disco rígido.

Sintaxe:

# fsck.[FS] [PARÂMETRO] /dev/[PARTIÇÃO]

Onde:

• [FS]: define o sistema de arquivos (ext2, ext3, xiafs, minix, etc.);

62/128

Page 115: Guia Do Linux

• -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

Também realiza uma checagem da unidade em questão, procurando por áreas e blocos danificados que porventura possam existir na unidade de disco rígido; sendo que esta ferramenta foi desenvolvida para ser utilizada unicamente em sistemas de arquivos ReiserFS.

Sintaxe:

# reiserfs [PARÂMETRO] /dev/[PARTIÇÃO]

Onde:

• -a: exibe detalhes sobre o sistema de arquivos;

• -j: especifica um arquivo journaling alternativo para ser utilizado;

• -q: não exibe nenhuma mensagem de status.

Para uma simples e básica checagem, utilizem...

# reiserfs /dev/[PARTIÇÃO]

7 Para o ext2, deveremos utilizar a opção -p para obter a mesma funcionalidade, visto que a opção -a somente encontra-se por questões de compatibilidade.

63/128

Page 116: Guia Do Linux

Lembrem-se: as partições devem estar previamente desmontadas.

REALIZANDO A TRANSFERÊNCIA DE DADOS

DD

Além da cópia direta de arquivos e dados, o comando dd também poderá ser utilizado para criar cópias de dados das partições desejadas.

Para obterem maiores informações, consultem nesta parte o capítulo Manipulação de arquivos e diretórios.

OPERAÇÕES COM DISQUETES

Em virtude da imensa utilização desta unidades de armazenamento, resolvemos descrever um conjunto de instruções para facilitar ao máximo sua utilização em sistemas GNU/Linux.

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

Page 117: Guia Do Linux

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/fd0Measuring drive 0's raw capacitywarmup cycle: 7 200150 200148

Não irá demorar para que todo o processo seja concluído.

Measuring drive 0's raw capacityIn order to avoid this time consuming measurement in the future,add the following line to /etc/driveprm:drive0: deviation=720CAUTION: The line is drive and controller specific, so it should beremoved before installing a new drive 0 or floppy controller.

Verifying cylinder 79, head 1mformat -s18 -t80 -h2 -S2 -M512 a:

$ _

Este comando utiliza apenas seus parâmetros padrões.

OPERAÇÕES COM OS GRAVADORES DE CD/DVDOs seguintes utilitários são essenciais para a manipulação da unidade de CD-R/CD-RW do sistema:

MKISOFS

O mkisofs – abreviação de mk (make = fazer) iso (imagem ISO) e fs (filesystem = sistema de arquivos) – permite construir imagens ISO à partir de dados disponíveis de uma unidade.

Sintaxe:

$ mkisofs [PARÂMETROS] -o [IMAGEM].iso [DIRETÓRIO_ORIGEM]

Onde:

• -C: para a criação de imagens com múltiplas sessões;

65/128

Page 118: Guia Do Linux

• -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/testeTotal translation table size: 0Total rockridge attributes bytes: 1693Total directory bytes: 0Path table size(bytes): 10Max brk space used 8284464 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

O cdrecord é o utilitário padrão para a realização de atividades relacionadas ao processo de gravação de mídias (CDs e DVDs).

Sintaxe para o uso geral:

$ cdrecord [PARÂMETROS]

Sintaxe para gravação:

$ cdrecord -fs=[BUFFER]M speed=[VELOCIDADE] dev=[LOCALIZAÇÃO] -[ESPECIFICAÇÃO] [IMAGEM].iso

Onde:

• -blank=[TIPO]: apaga os dados armazenados em uma mídia regragável. Os subparâmetros (tipos) específicos deste são: all -> Apaga tudo, session -> apaga uma sessão (para gravações multisessão) e track -> faixa de áudio;

• -dev[N,N,N.]: localização da unidade SCSI em questão (veja -scanbus);

66/128

Page 119: Guia Do Linux

• -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 -scanbusCdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg SchillingLinux sg driver version: 3.1.25Using 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

Page 120: Guia Do Linux

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,0Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schillingscsidev: '0,0,0'scsibus: 0 target: 0 lun: 0Linux sg driver version: 3.1.25Using libscg version 'schily-0.7'Device type : Removable CD-ROMVersion : 0Response Format: 2Capabilities : 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/R96Rcdrecord: Input/output error. test unit ready: scsi sendcmd: no errorCDB: 00 00 00 00 00 00status: 0x2 (CHECK CONDITION)Sense Bytes: 70 00 02 00 00 00 00 0A 00 00 00 00 3A 01 00 00Sense Key: 0x2 Not Ready, Segment 0Sense Code: 0x3A Qual 0x01 (medium not present - tray closed) Fru 0x0Sense flags: Blk 0 (not valid) cmd finished after 0.000s timeout 40scdrecord: No disk / Wrong disk!bash-2.05b$ cdrecord -atip dev=0,0,0Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schillingscsidev: '0,0,0'scsibus: 0 target: 0 lun: 0Linux sg driver version: 3.1.25Using libscg version 'schily-0.7'Device type : Removable CD-ROMVersion : 0Response Format: 2Capabilities : 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

Page 121: Guia Do Linux

ATIP start of lead out: 359846 (79:59/71)Disk type: Short strategy type (Phthalocyanine or similar)Manuf. index: 3Manufacturer: 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

Page 122: Guia Do Linux

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

Conforme já comentado diversas vezes, o root é o administrador do sistema – muitas vezes também chamado de superusuário.

De acordo com a distribuição utilizada, existirá um momento na instalação do sistema em que será solicitado a senha para acesso do superusuário.

Changing password for rootEnter the new password (minimum of 5, maximum of 127 characters)Please use a combination of upper and lower case letters and numbers.New password: _

Instante final do processo de instalação da distribuição em que é requerida uma senha para o administrador (root).

Somente o root possui acesso total ao sistema. É ele quem define as permissões gerais para acesso aos recursos e dados gerais do sistema para o usuário. Em algumas circunstâncias (de acordo com a distribuição utilizada), a sua única limitação existente está no acesso a Internet.

70/128

Page 123: Guia Do Linux

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: rootPasswd:# _

O USUÁRIO COMUM

A conta de usuário – ou conta comum –, diferente do superusuário, pois possui apenas permissões básicas para a realização de atividades gerais no sistema e algumas configurações locais, onde não é possível a realização de intervenções de encargo do superusuário, como a instalação / atribuição de permissão / configuração / remoção de programas, arquivos e dispositivos do sistema, entre outros.

Porém, de acordo com as definições do superusuário, as configurações gerais de permissão do usuário poderão ser editadas para que possam atender a determinadas circunstâncias. Por exemplo, podemos atribuir grupos para que estes tenham permissão para acessar a Internet, ao sistema de impressão, etc.

Após autenticado, o símbolo de indicador na linha de comando é:

Login: darkstarPasswd:$ _

O IDO 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...

$ iduid=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

Page 124: Guia Do Linux

9(kmem),10(wheel),11(floppy),12(mail),13(news),14(uucp),15(man),17(audio),18(video),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 docslrwxrwxrwx 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 usersdrwxr-xr-x 17 darkstar userslrwxrwxrwx 1 darkstar userslrwxrwxrwx 1 darkstar userslrwxrwxrwx 1 darkstar usersdrwxr-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

Page 125: Guia Do Linux

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.

Estas 9 seqüências de letras subdividem-se nos seguintes grupos:

• Dono: 1a. a 3a. letras da seqüência, refere-se as permissões de acesso do dono do arquivo em questão – neste caso, darkstar;

• Grupo: 4a. a 6a. letras da seqüência, refere-se as permissões de acesso do grupo o qual o dono do arquivo pertence – users;

• Todos: 7a. a 9a. letras da seqüência, refere-se as permissões de acesso dadas àqueles que não sejam donos e nem pertencem ao grupo de acesso do qual o arquivo pertence.

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

ADIÇÃO DE USUÁRIOS E GRUPOS

ADDUSER

O comando adduser é utilizado para criar contas de usuários e é somente utilizado pelo administrador do sistema.

Sintaxe:

# adduser [APELIDO]

...ou simplesmente...

# adduser

73/128

Page 126: Guia Do Linux

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

User ID ('UID') [ defaults to next available ]: _

Nesta seção deverá ser definido o UID do usuário. Apenas teclem <ENTER> para que o sistema possa definir uma UID disponível.

Initial group [ users ]: _

Aqui deverá ser definido o grupo padrão do usuário ou o grupo inicial, conforme a descrição acima. Digitem o grupo desejado ou apenas teclem <ENTER> para defini-lo no grupo padrão do sistema (users).

Additional groups (comma separated) []: _

Nesta próxima etapa, o comando solicita a informação de outros grupos para a conta a ser criada. O usuário terá acesso aos recursos de acordo com os grupos inclusos para este. Para obterem maiores informações, consultem a seção Considerações básicas -> Grupos de acesso.

Após definir os grupos de acesso, teclem <ENTER>.

Home directory [ /home/darkstar ] _

O sistema definirá o diretório do usuário utilizando o próprio nome da conta. Caso haja necessidade de definir outro caminho, digitem-no na linha de comando ou simplesmente teclem <ENTER> para manter o padrão.

Shell [ /bin/bash ] _

Definição padrão do interpretador da linha de comando é o Bash, indicado acima na opção Shell. Caso queiram utilizar outro que não seja o Bash, bastará especificá-lo aqui. Por exemplo, para o interpretador Ash, /bin/ash; para o Csh, /bin/csh. Prefiram manter o interpretador padrão, apenas teclando <ENTER>.

Expiry date (YYYY-MM-DD) []: _

A data de validade poderá ser definida nesta seção, bastando apenas digitá-la no formato ANO-MÊS-DIA. Caso queiram que esta não tenha prazo de expiração definido, apenas teclem <ENTER>.

New account will be created as follows:

---------------------------------------Login name.......: darkstar

74/128

Page 127: Guia Do Linux

UID..............: [ Next available ]Initial group....: usersAdditional groups: [ None ]Home directory...: /home/darkstarShell............: /bin/bashExpiry date......: [ Never ]

This is it... if you want to bail out, hit Control-C. Otherwise, pressENTER 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...

Changing the user information for darkstarEnter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []:

Preencha os dados solicitados como nome completo, endereço, telefone do trabalho, telefone do lar, além de outras informações que considerarem necessárias, se assim desejarem (estas informações são opcionais). Por último, deverá ser definido a senha de acesso.

Changing password for darkstarEnter the new password (minimum of 5, maximum of 127 characters)Please use a combination of upper and lower case letters and numbers.New password: _

Ao utilizarem um conjunto de caracteres curtos – com 5 ou menos – o comando rejeitará a cadeia definida devido a sua política de segurança para a definição de senhas, onde há o requerimento mínimo de 6 caracteres.

Bad password: too short.Warning: weak password (enter it again to use it anyway).New password: _

Novamente defina uma nova senha de acesso respeitando esta política. Se a cadeia de caracteres estiver de acordo como o exigido, o comando solicitará para que seja repetida a seqüencia utilizada para confirmar. Este procedimento é ideal para aquelas circunstâncias em que digitamos algum número ou caracter diferente do desejado, possibilitando com isto corrigir a senha definida.

New password:Re-enter new password:

No final da operação, serão exibidas as seguintes mensagens:

75/128

Page 128: Guia Do Linux

Password changed.

Account setup complete.# _

GROUPADD

Adiciona grupos ao sistema operacional.

Sintaxe:

# groupadd [PARÂMETROS] [GRUPO]

Onde:

• -g: define manualmente um ID específico para o grupo;

• -r: adiciona uma conta do sistema;

• -f (force): mantém um grupo já existente no sistema.

Exemplo:

# groupadd suporte

... para que seja criado um novo grupo chamado suporte.

ADMINISTRAÇÃO DE CONTAS

LOGIN / LOGOUT / EXIT

Toda vez que o sistema é inicializado, você deverá notar a existência de uma linha de comando com a seguinte mensagem:

login: _

Sua finalidade é a autenticação do usuário: para que possamos acessar o sistema e usufruir de seus recursos, teremos que nos tornar “autênticos”.

login: darkstarPassword: [SENHA]$ _

E como fazer para nos “deslogarmos”? Para isto, existe o comando logout.

$ logout

Outra forma de finalizar uma sessão é utilizando o comando exit:

$ exit

Na utilização destes comandos nas interfaces gráficas, como o Konsole ou o XTerm, estes apenas têm suas caixas de diálogos finalizadas.

ID

O comando id é utilizado basicamente para obter informações dos IDs dos

76/128

Page 129: Guia Do Linux

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:

# iduid=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:

$ iduid=1000(darkstar) gid=100(users) grupos=100(users),14(uucp)$ _

USERS / GROUPS

Exibem respectivamente os usuários autenticados naquele momento e seus grupos de acesso.

Superusuário:

$ usersroot$ groupsroot bin daemon sys adm disk wheel floppy$ _

Usuário comum:

$ usersdarkstar$ groupsusers disk floppy uucp audio video cdrom$ _

PASSWD

O comando passwd é utilizado para especificar uma nova senha ou alterar a senha atual de conta de usuário. Basta digitarem...

# passwd [USUÁRIO]

... ou apenas...

$ passwd

... para alterarmos a senha do usuário desejado. Segue um exemplo simples para a alteração de uma senha feita pelo administrador, para melhor entendimento.

# passwd darkstarChanging password for darkstarOld password: _

77/128

Page 130: Guia Do Linux

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.

$ passwdChanging password for darkstarOld 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

Exibe informações gerais de autenticação das contas do sistema.

Sintaxe:

$ finger [PARÂMETROS] [USUÁRIO]

Onde:

• -s: informações adicionais (nome completo, telefone, etc., ou seja, todas as informações solicitadas no ato da criação da conta);

• -l: modo de exibição das informações em diversas linhas;

A conta darkstar esta conectada no momento da utilização deste comando...

$ finger darkstarLogin: darkstar Name: (null)Directory: /home/darkstar Shell: /bin/bashOn since Tue Apr 6 09:27 (UTC) on :0 (messages off)On since Tue Apr 6 09:27 (UTC) on pts/0 2 hours 25 minutes idleOn since Tue Apr 6 09:42 (UTC) on pts/2 (messages off)No mail.No Plan.$ _

Ainda autenticado como darkstar...

$ finger rootLogin: root Name: (null)Directory: /root Shell: /bin/bash

78/128

Page 131: Guia Do Linux

Last login Fri Apr 2 18:00 (UTC) on tty1Mail 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

Exibe o tempo de autenticação do usuário no sistema.

Sintaxe:

$ uptime

Ao digitar o comando acima descrito...

$ uptime 12:29:37 up 3:13, 3 users, load average: 0.03, 0.05, 0.00$ _

ELIMINANDO USUÁRIOS E GRUPOS

USERDEL

Elimina a conta de usuário do sistema.

Sintaxe:

# userdel [PARÂMETROS] [USUÁRIO]

Onde:

• -r: elimina todos os dados gravados em seu diretório pessoal.

Segue um exemplo simples e prático:

# userdel darkstar

Caso não sejam mais necessários os dados arquivados em seu diretório pessoal, utilizem o parâmetro -r desta forma:

# userdel -r darkstar

GROUPDEL

Elimina o grupo de acesso do sistema.

Sintaxe:

# groupdel [GRUPO]

Uma dica importante encontrada na documentação eletrônica do comando está na restrição da remoção de um grupo primário de um grupo existente, onde a prévia remoção dos usuários faz-se necessária.

79/128

Page 132: Guia Do Linux

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

Apesar possuírem plenos poderes, os superusuários somente devem utilizar sua senha de acesso apenas para a administração do sistema, onde sua utilização para tarefas triviais de usuários, além de desnecessária, poderá acarretar riscos para a integridade do sistema. Na maioria das vezes estes necessitam apenas de uma simples conta de acesso para fazer uso dos recursos do sistema em si, porém poderão surgir algumas circunstâncias em que será necessário realizar intervenções ao sistema. Mas como fazer isto, sem ter que estar autenticando-se a todo o momento?

Para obtermos os privilégios de administrador do sistema, sem ter que nos “deslogarmos”, deveremos utilizar o comando su. Sua sintaxe é simples e básica, onde bastará apenas digitar na linha de comando...

$ suPassword: [SENHA DO SUPERUSUÁRIO]# _

E fornecer a senha de superusuário para ter as permissões de acesso desejadas. Note que indicador também mudou ($ -> #).

A utilidade deste comando basicamente é esta: ter acesso aos poderes de superusuário apenas para realizar intervenções básicas e rápidas, retornando logo em seguida às suas atividades comuns.

Dentre algumas limitações deste recurso está a impossibilidade de executar algumas aplicações que façam a utilização das bibliotecas gráficas – estes sequer se encontrarão disponíveis, ao digitar as 1as. Iniciais do executável e teclar <TAB>. Por exemplo, ao utilizar o comando su para obter os privilégios de superusuário e tentar executar...

# kpppbash: kppp: command not found# _

... o interpretador retorna uma mensagem de que não se encontra o programa desejado, mesmo estando ciente de que se encontra instalado no sistema e que o superusuário tem plenos poderes para a sua execução.

Dependendo destas limitações, talvez será até mesmo necessário autenticar-se novamente ao sistema como superusuário e iniciar o ambiente gráfico para realizarmos as atividades administrativas desejadas.

Para retornar ao estado anterior, bastará apenas digitarmos...

80/128

Page 133: Guia Do Linux

# exit

ATRIBUTOS DE ARQUIVOS E DIRETÓRIOS

Além da manipulação básica dos arquivos em sistemas GNU/Linux, poderemos também definir suas permissões e atributos específicos, além das definições dos usuários donos e grupos de acessos destes.

CHMOD

Em modo texto, poderemos utilizar o comando chmod para alterar as permissões de acesso destes elementos de acordo com sua necessidade.

Sintaxe:

# chmod [ugoa] {+-} [rwx] [ARQUIVO_OU_DIRETÓRIO]

...ou...

# chmod [NNN] [ARQUIVO_OU_DIRETÓRIO]

Onde a categoria [ugoa] possui as seguintes definições:

Caracter Definição de categoria

u users ... apenas para usuário (dono) do arquivo.

g group ... apenas para o grupo o qual o usuário se encontra.

o other ... para outros que não pertençam ao grupo do usuário.

a all ... para todos.

Já os sinais e atribuição {+-} possuem as seguintes definições:

Sinal Significado / Função

+ Habilita os parâmetros indicados.

- Desabilita os parâmetros indicados.

Já as flags [rwx] possuem as seguintes definições:

flags Arquivo Diretório

r read Leitura. Acesso ao dados de seu conteúdo

w write Escrita. Gravação de dados em seu conteúdo.

x execute Execução. Visualização de dados conteúdo de seu conteúdo.

Por último, [NNN] também representa as definições de categorias...

[NNN] Categoria (Equivale de...)

1o. número ... 2a. a 4a. seqüência de letras (dono).

2o. número ... de 5a. a 7a. seqüência de letras (grupo).

81/128

Page 134: Guia Do Linux

[NNN] Categoria (Equivale de...)

3o. número ... de 8a. a 10a. seqüência de letras (outros).

... e as permissões de acesso, em valor numérico:

N Funcionalidade básica (permissão...)

0 Nenhum.

1 ... apenas para executar.

2 ... apenas para gravar.

4 ... apenas para ler.

Outro recurso interessante da atribuição dos valores numéricos é a sua combinação para a definição de múltiplas flags. Observe a tabela abaixo:

N Combinação Funcionalidade combinada

3 1 + 2 Permissão para executar (1) e gravar (2).

5 1 + 4 Permissão para executar (1) e ler (4).

6 2 + 4 Permissão para gravar (2) e ler (4).

7 1 + 2 + 4 Permissão para executar (1), gravar (2) e ler (4).

No geral fica assim:

N Funcionalidades totais

0 sem permissão.

1 Permissão apenas para executar.

2 Permissão apenas para gravar.

3 Permissão para gravar e executar.

4 Permissão apenas para ler.

5 Permissão para executar e ler.

6 Permissão para gravar e ler.

7 Permissão para executar, gravar e ler.

Segue alguns exemplos práticos para melhor compreensão...

Desabilita a execução do arquivo ou a visualização do conteúdo do diretório especificado apenas para o usuário:

$ chmod u-x [ARQ/DIR]

Habilita a leitura do arquivo ou o acesso ao diretório especificado apenas para o grupo do qual o usuário se situa:

$ chmod g+r [ARQ/DIR]

Desabilita a escrita do arquivo ou a gravação de arquivos no diretório especificado somente para outros que não seja o usuário, nem pertençam

82/128

Page 135: Guia Do Linux

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

Utilizado para mudar dono e grupo de um arquivo ou diretório.

Sintaxe:

# chown [USUÁRIO].[GRUPO] [ARQUIVO_OU_DIRETÓRIO]

Onde [USUÁRIO].[GRUPO] são as especificações do novo usuário e grupo para o arquivo e/ou diretório desejado. Segue um simples exemplo:

# chown darkstar.users /home/darkstar/texto.txt

... ou...

# chown root.root /usr

Para definir os mesmos valores nos arquivos e diretórios de um determinado diretório, deveremos então utilizar o parâmetro -R (recursivo).

# chown -R root.root /usr

CHGRP

Possui a mesma finalidade que o comando chown, porém apenas atua na modificação do grupo.

Sintaxe:

# chgrp [GRUPO] [ARQUIVO_OU_DIRETÓRIO]

Exemplo:

# chgrp root /usr

Da mesma maneira, podemos definir o conteúdo do diretório recursivamente com o parâmetro -R.

# chgrp -R root /usr

83/128

Page 136: Guia Do Linux

UMASK

Define as permissões padrões que os arquivos e diretórios deverão ter no momento em que serão criados.

Sintaxe:

# umask [NNN]

Apesar de atribuir as permissões de acesso utilizando a mesma metodologia do comando chmod, o comando umask utiliza valores diferenciados para os números os quais utiliza. Segue sua tabela de permissões de acesso, equivalente ao chmod, porém com valores invertidos, conforme vemos:

• 6: sem permissão;

• 5: permissão apenas para executar;

• 4: permissão apenas para gravar;

• 3: permissão para gravar e executar;

• 2: permissão apenas para ler;

• 1: permissão para executar e ler;

• 0: completo – leitura, execução e escrita.

Por padrão, o valor das permissões praticadas pelo umask é 022, que corresponde ao 644 utilizado pelo chmod. Ou seja, apesar de apresentarem as mesmas definições, os valores numéricos são exatamente opostos.

Para alterar o valor umask, basta utilizar o comando...

$ umask [VALOR]

Onde [VALOR] deverá ser o novo perfil de valores das permissões à serem adotadas. Para torná-lo padrão à todos usuários, basta editar o arquivo /etc/profile e alterar suas definições...

# Default umask. A umask of 022 prevents new files from being created group# and world writable.umask 022

... para...

umask [VALOR]

Uma questão importante está no uso da permissão para execução. Mesmo que na criação da grande maioria dos arquivos não necessitem, os diretórios precisam dela para que possamos acessá-los.

84/128

Page 137: Guia Do Linux

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/bashbin:x:1:1:bin:/bin:/bin/falsedaemon:x:2:2:daemon:/sbin:/bin/falseadm:x:3:4:adm:/var/log:/bin/falselp:x:4:7:lp:/var/spool/lpd:/bin/falsesync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/:/bin/falsenews:x:9:13:news:/usr/lib/news:/bin/falseuucp:x:10:14:uucp:/var/spool/uucppublic:/bin/falseoperator:x:11:0:operator:/root:/bin/bashgames:x:12:100:games:/usr/games:/bin/falseftp:x:14:50::/home/ftp:/bin/falsesmmsp:x:25:25:smmsp:/var/spool/clientmqueue:/bin/falsemysql:x:27:27:MySQL:/var/lib/mysql:/bin/bashrpc:x:32:32:RPC portmap user:/:/bin/falsesshd:x:33:33:sshd:/:/bin/falsegdm:x:42:42:GDM:/var/state/gdm:/bin/bashapache:x:80:80:User for Apache:/srv/httpd:/bin/falsemessagebus:x:81:81:User for D-BUS:/var/run/dbus:/bin/falsehaldaemon:x:82:82:User for HAL:/var/run/hald:/bin/falsepop:x:90:90:POP:/:/bin/falsenobody:x:99:99:nobody:/:/bin/falsedarkstar: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

Page 138: Guia Do Linux

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:rootbin::1:root,bin,daemondaemon::2:root,bin,daemonsys::3:root,bin,adm,darkstaradm::4:root,adm,daemontty::5:disk::6:root,admlp::7:lpmem::8:kmem::9:wheel::10:rootfloppy::11:rootmail::12:mailnews::13:newsuucp::14:uucp,darkstarman::15:games::20:slocate::21:utmp::22:smmsp::25:smmspmysql::27:rpc::32:sshd::33:sshdgdm::42:shadow::43:ftp::50:pop::90:popnobody::98:nobodynogroup::99:users::100:darkstarconsole::101:

86/128

Page 139: Guia Do Linux

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

Page 140: Guia Do Linux

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 PIDO 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

Page 141: Guia Do Linux

vários terminais virtuais, seria deselegante toda vez que ao executarmos um programa...

Observem que, quando o GIMP é executado, o sinal de prontidão fica indisponível.

... 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

Exibe os processos os quais estão sendo rodados no sistema.

Sintaxe:

$ ps [PARÂMETROS]

Onde:

• -A: exibe todos os processos;

• -a: exibe os processos somente da seção corrente;

• -p [N]: verifica a existência de um determinado processo, onde [N] é o número do processo em questão;

• -u: mostra os processos inicializados pelo usuário.

89/128

Page 142: Guia Do Linux

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

Exibe todos os processos em execução, além de outros fatores importantes, como a utilização geral da CPU e ocupação da memória.

Sintaxe:

$ top [PARÂMETROS]

Exemplo:

$ toptop - 18:40:14 up 37 min, 1 user, load average: 0.07, 0.03, 0.00Tasks: 46 total, 2 running, 44 sleeping, 0 stopped, 0 zombieCpu(s): 0.7% user, 0.3% system, 0.0% nice, 99.0% idleMem: 515444k total, 295952k used, 219492k free, 40912k buffersSwap: 506008k total, 0k used, 506008k free, 170472k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 159 root 16 0 79428 12m 2244 S 0.3 2.6 0:33.61 X 538 darkstar 12 0 15948 15m 13m R 0.3 3.1 0:00.45 kdeinit 551 darkstar 12 0 988 988 800 R 0.3 0.2 0:00.08 top 1 root 8 0 236 236 208 S 0.0 0.0 0:04.77 init 2 root 9 0 0 0 0 S 0.0 0.0 0:00.02 keventd 3 root 19 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd_CPU0 4 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kswapd 5 root 9 0 0 0 0 S 0.0 0.0 0:00.00 bdflush 6 root 9 0 0 0 0 S 0.0 0.0 0:00.10 kupdated 10 root -1 -20 0 0 0 S 0.0 0.0 0:00.00 mdrecoveryd 11 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kreiserfsd 35 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kapmd 81 root 9 0 592 592 512 S 0.0 0.1 0:00.02 syslogd 84 root 9 0 444 444 388 S 0.0 0.1 0:00.01 klogd 124 root 9 0 520 520 464 S 0.0 0.1 0:00.00 inetd 134 root 9 0 528 528 464 S 0.0 0.1 0:00.00 crond 136 daemon 9 0 616 616 548 S 0.0 0.1 0:00.00 atd 140 root 9 0 500 500 448 S 0.0 0.1 0:00.00 apmd

Bastam analisar as informações gerais disponíveis na saída do monitor.

O comando também possui umas teclas especiais para funcionalidades específicas, as quais seguem:

• <ESPAÇO>: atualiza a tela;

90/128

Page 143: Guia Do Linux

• <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

COLOCANDO EM SEGUNDO PLANO

Para colocarmos qualquer processo em segundo plano na linha de comando, bastará utilizarmos o caracter & (“e-comercial”) no final do comando invocado.

$ gimp &[1] 1212$ _

O programa será executado normalmente, porém com a prontidão da linha de comando. Mas se nós esquecermos este detalhe desejarmos colocá-lo em 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

[1]+ Stopped gimp$ _

Porém o aplicativo simplesmente ficará inoperante. Como fazer para reverter este quadro?

BG

Para tornar o aplicativo novamente disponível, deveremos utilizar o comando bg – BackGround –, onde sua finalidade é colocar qualquer

91/128

Page 144: Guia Do Linux

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

Apenas exibe os programas que se encontram em segundo plano:

$ jobs[1]+ Running gimp &$ _

FG

Retorna qualquer processo parado ou em segundo plano para o primeiro.

$ fg 1gimp_

EXCLUSÃO

KILL

Elimina um processo existente no sistema através do PID.

Sintaxe:

$ kill [PARÂMETROS] [PROCESSO]

Exemplo: Caso desejarmos derrubar um determinado processo...

$ ps -p 1084 PID TTY TIME CMD 1084 ttyS4 00:00:00 pppd$ _

... basta utilizar o comando kill e fornecer o número do processo do programa ou atividade que desejamos encerrar...

$ kill 1084

KILLALL

Elimina um processo existente no sistema através do nome.

Sintaxe:

$ killall [PARÂMETROS] [PROCESSO]

92/128

Page 145: Guia Do Linux

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

Page 146: Guia Do Linux

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

Page 147: Guia Do Linux

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 VO 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 BSDO 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

Page 148: Guia Do Linux

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/# lsinit.d/ rc.dnsmasq rc.modules@ rc.sshdrc.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.confrc.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

Page 149: Guia Do Linux

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.

SISTEMA & APLICAÇÕES

Todos os scripts aqui listados são utilizados para habilitar os recursos do sistema para o suporte a nível de software em geral:

• rc.font, rc.fuse, rc.hald, rc.messagebus, rc.mysqld e rc.syslog.

Em destaque, os scripts rc.hald (servidor HAL) e rc.messagebus (servidor IPC D-Bus), pois é graças a eles que o kernel consegue realizar a detecção de hardware corretamente e a intercomunicação entre aplicações. Já o rc.syslog é de extremamente útil, pois registra todos os eventos do sistema em arquivos de LOGs. Consultando estes arquivos, poderemos verificar a ocorrência de falhas e invasões, além de obter outras informações úteis.

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

Atualmente, o CUPS é o servidor de impressão mais popular para os sistemas Unix, com destaque para o GNU/Linux e os sistemas *BSDs.

• rc.cups e rc.hplip.

O script responsável pela inicialização do servidor de impressão é o rc.cups; porém, é através do script rc.hplip é garantido o suporte para as impressoras fabricadas pela HP (HP Linux Imaging and Printing).

97/128

Page 150: Guia Do Linux

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

O script rc.local foi designado para o carregamento das configurações particulares da máquina local, sendo o último a ser executado.

#!/bin/sh## /etc/rc.d/rc.local: Local system initialization script.## Put any local setup commands in here:...

Observem que este script não possui nenhuma definição de comandos e opções para a inicialização de serviços e aplicações, ficando totalmente à cargo do administrador definir quais destes é que deverão ser carregados.

O banco de dados MySQL (quando instalado manualmente) e os utilitários como o HDParm e o SMARTD são bons exemplos de programas os quais necessitam ter comandos definidos para sua habilitação.

CARREGAMENTO DE MÓDULOS

Para o carregamento de módulos, existe um script definido unicamente para esta função: o rc.modules. Este script possui aproximadamente 700 linhas, em que seu conteúdo, por sua vez são subdivididos em diversas seções para facilitar a organização dos comandos e instruções lá descritos.

#!/bin/sh# rc.modules 11.0 Tue Jul 25 14:38:32 CDT 2006 pp (rb), pjv## This file loads extra drivers into the Linux kernel.## The modules will be looked for under /lib/modules/<kernel version number># On systems using KMOD and hotplug or udev this file should remain mostly# commented out. Nearly all hardware device modules will be loaded# automatically on such systems. This file should only be used when hotplug# or udev are not loading a module that you require, or if you are not using

98/128

Page 151: Guia Do Linux

# 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. ;^)...

Cabeçalho do script /etc/rc.d/rc.modules.

Uma observação interessante está no fato da inclusão de instruções para a habilitação de módulos especiais do sistema, como o suporte a uma placa de fax-modem (especialmente softmodem) ou qualquer outro periférico não suportado oficialmente pela distribuição. Alguns instruem em colocar estas definições em rc.modules; outros em rc.local. Independente do arquivo utilizado, inclua as instruções sempre no final do arquivo, para que possamos localizá-la de forma padronizada e com maiores facilidades.

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

Page 152: Guia Do Linux

Cabeçalho do script /etc/rc.d/rc.sysvinit.

O Slackware, por não utilizar este método de inicialização, e por necessitar obter compatibilidade com tais programas, definiu o script rc.sysvinit.

A SEQÜENCIA DE SCRIPTS NA INICIALIZAÇÃO

O primeiro script a ser executado é o rc.S, que roda apenas uma única vez durante a inicialização do sistema. Após o rc.S, vem o rc.M, responsável pela utilização do sistema no modo multi-usuário, desde que o nível de execução esteja pré-configurado em /etc/inittab para isto.

O script rc.K somente é executado quando houver a necessidade de manutenção do sistema. Por entrar no modo monousuário, todos recursos multi-usuários são desabilitados, como também qualquer serviço (processos) para que possamos intervir no sistema.

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.

NÍVEL 1 – MANUTENÇÃO DO SISTEMA

O nível 1 somente é executado quando da necessidade de manutenção do sistema. Somente a partição raíz é montada para as intervenções

100/128

Page 153: Guia Do Linux

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).

NÍVEL 3 E 4 – MODO MULTI-USUÁRIO

Os níveis 3 e 4 são definidos para a utilização normal do sistema. É com eles que iniciamos o sistema para realizar as atividades do nosso dia-a-dia – ou finais de semana, dependendo da nossa disponibilidade... &;-D

A principal diferença está no carregamento da interface gráfica e seus respectivos gerenciadores de autenticação. O nível 3 inicializa o sistema em modo texto, onde o usuário digita seu apelido de autenticação e senha de acesso, para que acionem logo em seguida o ambiente gráfico, digitando para isto...

$ startx

Já o nível 4 inicializa o sistema em modo gráfico, disponibilizando um gerenciador de autenticação gráfico pré-definido que disponibiliza diversos recursos gráficos para um melhor conforto e facilidades aos usuários.

Apesar do nível 3 ser a opção menos confortável na realização da autenticação e seleção/inicialização da interface gráfica, é em muitas circunstâncias a mais prática nas circunstâncias em que ocorrem problemas que impedem a inicialização do servidor gráfico (X.org). Já o nível 4 é indicado especialmente para usuários leigos, os quais não possuem conhecimentos técnicos para a manipulação do sistema em modo texto, como a seleção e inicialização do ambiente gráfico (na utilização dos gerenciadores KDM e GDM), desligamento do sistema, etc. Praticamente todas as distribuições friendly-user o habilitam por padrão.

Somente o nível 4 possui um script de inicialização, o rc.4, que por sua vez define quais os gerenciadores de autenticação deverão ser rodados, onde deveremos comentar e/ou descomentar as linhas correspondentes aos gerenciadores que desejamos utilizar (ou não), ou ainda modificar a ordem de execução dos mesmos, para dar prioridade ao gerenciador desejado.

Estas instruções e muitas outras se encontram com maiores detalhes na 6a. Parte: Ambientes Gráficos -> Operações e ajustes afins.

NÍVEL 0 E 6 – REINICIALIZAÇÃO DO SISTEMA

A partir do momento em que reinicializamos ou desligamos o computador, automaticamente o sistema utiliza o nível de execução 6 para que todos os serviços e processos sejam finalizados antes do sistema ser reinicializado. Ao utilizarmos o comando shutdown, estaremos acionando este nível.

101/128

Page 154: Guia Do Linux

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.

OPERAÇÕES E AJUSTES AFINS

ATIVAR / DESATIVAR SCRIPTS DE INICIALIZAÇÃO

MÉTODO MANUAL

O método manual de ativar e/ou desativar os serviços na inicialização é feito através da mudança das permissão de execução (flag x) de seus respectivos scripts. Dentro do diretório /etc/rc.d, basta executar...

# chmod a+x [SCRIPT]

... para ativarmos, ou...

# chmod a-x [SCRIPT]

... para desativarmos.

Poderemos também definir as demais permissões juntas da seguinte forma:

# chmod [PERMISSÃO] [SCRIPT]

Onde [PERMISSÃO] deve ser substituído pelas flags necessárias. Por exemplo, para ativarmos...

# chmod u+x rc.yp

... ou para desativarmos...

# chmod u-x rc.yp

Para obterem maiores informações sobre as permissões de acesso, consultem nesta parte, o capítulo Manipulação de arquivos e diretórios.

MÉTODO AUTOMATIZADO

O Slackware possui um atalho nos menus do Pkgtool para ativar e/ou desativar os scripts de inicialização. Basta carregarmos o utilitário...

# pkgtool

... e acionar a opção Setup disponível na tela principal:

102/128

Page 155: Guia Do Linux

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

Page 156: Guia Do Linux

# Modified by: Patrick J. Volkerding, <[email protected]>#

# 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

# Default runlevel. (Do not set to 0 or 6)id:3:initdefault:

# System initialization (runs when system boots).si:S:sysinit:/etc/rc.d/rc.S

# Script to run when going single user (runlevel 1).su:1S:wait:/etc/rc.d/rc.K

# Script to run when going multi user.rc:2345:wait:/etc/rc.d/rc.M

# What to do at the "Three Finger Salute".ca::ctrlaltdel:/sbin/shutdown -t5 -r now

# Runlevel 0 halts the system.l0:0:wait:/etc/rc.d/rc.0

# Runlevel 6 reboots the system.l6:6:wait:/etc/rc.d/rc.6

# What to do when power fails.pf::powerfail:/sbin/genpowerfail start

# If power is back, cancel the running shutdown.pg::powerokwait:/sbin/genpowerfail stop

# These are the standard console login getties in multiuser mode:c1:1235:respawn:/sbin/agetty 38400 tty1 linuxc2:1235:respawn:/sbin/agetty 38400 tty2 linuxc3:1235:respawn:/sbin/agetty 38400 tty3 linuxc4:1235:respawn:/sbin/agetty 38400 tty4 linuxc5:1235:respawn:/sbin/agetty 38400 tty5 linuxc6:12345:respawn:/sbin/agetty 38400 tty6 linux

# Local serial lines:#s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100#s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100

# 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

Page 157: Guia Do Linux

# 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

Page 158: Guia Do Linux

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

Page 159: Guia Do Linux

LILO (Slackware 12.1)

O LILO é adicionado ao sistema por padrão durante a instalação do Slackware, onde será necessário apenas definir o perfil de configuração e o local onde deverá ser gravado. Para obterem maiores informações, consultem a 3a. Parte: A Instalação -> Instalação do Slackware.

/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

A seção global é responsável pelo funcionamento geral do LILO. É nela onde estarão todos os parâmetros pertinentes.

# LILO configuration file# generated by 'liloconfig'## Start LILO global sectionboot = /dev/hdamessage = /boot/boot_message.txtprompttimeout = 1200# Override dangerous defaults that rewrite the partition table:change-rules reset

Constam os seguintes parâmetros passíveis de edição:

• boot = /dev/[DISCO_RÍGIDO]

Informa qual unidade do sistema deverá inicializar.

• Message = /boot/[MENSAGEM_TEXTO]

Exibe um conjunto de instruções e informações básicas sobre os sistemas disponíveis, conforme a exibição do arquivo-texto indicado.

Welcome to the LILO Boot Loader!

Please enter the name of the partition you would like to bootat the prompt below. The choices are:

DOS - DOS or Windows (FAT/FAT32 partition)Linux - Linux (Linux native partition)

Este é o conteúdo do arquivo boot_message.txt, situado em /boot. E se tratando de um arquivo-texto, é perfeitamente possível customizá-lo, mantendo apenas as instruções básicas sobre os sistemas disponíveis ou personalizando-o, de acordo com suas preferências.

107/128

Page 160: Guia Do Linux

Após esta operação, atualizem as informações na MBR, digitando...

# liloAdded 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 consolevga = 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

Page 161: Guia Do Linux

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

A seção de partições contém descritas as opções para de inicialização dos sistemas operacionais já instalados no micro.

Em uma unidade de armazenamento, onde existem duas partições para o Windows e GNU/Linux, a estrutura da seção de partições seria a seguinte:

# DOS bootable partition config beginsother = /dev/hda1 label = DOS table = /dev/hda1# DOS bootable partition config ends# Linux bootable partition config beginsimage = /boot/vmlinuz root = /dev/hda6 label = Linux read-only# Linux bootable partition config ends

Observe que, por sua vez, esta seção subdivide-se em mais duas distintas: uma especial para a inicialização de outros sistemas (DOS), e outra para a inicialização de sistemas GNU/Linux (Linux).

Ademais, segue as definições de cada parâmetro desta seção:

• image = /[IMAGEM_COMPACTADA]

Inicializa a imagem compactada do kernel utilizado. Este geralmente se encontra armazenado no diretório /boot, porém você poderá utilizar outros locais conforme desejar. Por exemplo, sempre mantenho a seguinte opção:

image = /usr/src/linux/arch/i386/boot/bzImage root = /dev/hda6 label = Experimental read-only# Linux bootable partition config ends

É muito útil para experimentar novos kernels, sem ter que ficar remexendo no sistema toda vez para realizamos uma nova compilação.

• root = /dev/[PARTIÇÃO_LINUX]

Informa onde se encontra a partição de sistemas GNU/Linux instalada. Atentem-se para que diferentes sistemas (kernels) possam estar localizadas em uma mesma partição, como é recomendável ser feito no caso da compilação de um kernel experimental.

• label = [NOME_DO_SISTEMA]

Exibe o nome do sistema instalado. Ao utilizarmos diferentes

109/128

Page 162: Guia Do Linux

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.

Tela de configuração do LILO.

110/128

Page 163: Guia Do Linux

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.

OPERAÇÕES MAIS FREQÜENTES

Existe algumas operações ocasionalmente necessárias para a boa manutenção da inicialização do sistema, que dentre as quais, segue:

SELECIONAR O SISTEMA GNU/LINUX COMO PADRÃO

Após a inicialização do LILO, o sistema aguardará o usuário selecionar qual será o sistema operacional a ser carregado. Por padrão, o Windows é carregado quando não é feita a escolha pelo usuário e o tempo de espera é consumido. Mas podemos alterar a opção padrão para que ela seja um sistema GNU/Linux. Para isto, acrescentem o parâmetro...

# LILO configuration file# generated by 'liloconfig'## Start LILO global sectionappend="hdd=ide-scsi"boot = /dev/hdamessage = /boot/boot_message.txtpromptdefault=[LABEL]timeout = 1200

..., onde [LABEL] será o nome (rótulo) dado ao sistema descrito na seção de partições. O modo padrão é Linux. Em seguida, rodem o lilo novamente. Será exibida a seguinte mensagem.

# liloAdded Windows

Added Linux *

# _

Significa que a operação foi realizada com sucesso.

MUDAR A RESOLUÇÃO DO FRAMEBUFFER

Podemos definir a resolução de vídeo manualmente, editando diretamente o arquivo /etc/lilo.conf na seção global. Vamos supor que tivéssemos optado por utilizar a resolução de 1024x768x32k:

# VESA framebuffer console @ 1024x768x32k# vga=790

Ou então 800x600x32k:

111/128

Page 164: Guia Do Linux

# 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.

ADICIONAR MAIS UMA ENTRADA NO LILOSe fosse instalado mais um sistema operacional além do Windows e o GNU/Linux padrão, e quisessem incluí-lo no gerenciador, bastaria definir as informações necessárias dentro desta seção.

Vamos supor que resolvemos instalar uma outra versão de sistema GNU/Linux em um outro disco rígido, de um micro qualquer que estava encostado no canto. As instruções necessárias seria estas:

image = /[IMAGEM DO KERNEL] root = /dev/[DISCO RÍGIDO] label = [NOME DO SISTEMA] read-only

Ou se fosse um outro sistema não GNU/Linux:

other = /dev/hdb1 label = [OUTRO SISTEMA] table = /dev/hdb

Ao executar o LILO para atualizar as alterações na MBR, será exibido o novo nome (label) do sistema operacional disponibilizado:

# liloAdded DOS *Added LinuxAdded [NOVO SISTEMA]# _

ADICIONAR UMA SENHA EXTRA

Sabendo-se da possibilidade de ter acesso ao sistema com a simples utilização do comando linux single na linha de comando do LILO, a única forma de proteger-se deste inconveniente é atribuir uma senha de acesso. Para isto, insiram a seguinte linha no arquivo /etc/lilo.conf:

# Start LILO global sectionboot = /dev/hdamessage = /boot/boot_message.txt

password = [SENHA]

prompt

112/128

Page 165: Guia Do Linux

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.

INICIALIZAR O SISTEMA EM MODO DE MANUTENÇÃO

Poderemos utilizar alguns parâmetros especiais na linha de comando do próprio LILO para inicializá-lo em modo de segurança. Assim, poderemos realizar certas tarefas para a sua manutenção.

boot: _

Ao inicializar o sistema, aguarde o carregamento da linha de comando do LILO. Digitem o nome dado para a seleção do sistema (no caso padrão, Linux) e digite em seguida, single + <ENTER>:

boot: Linux single

Assim, o kernel será carregado em modo single-user (init 1), montando tão somente a partição raíz e habilitando a conta de superusuário (root), propiciando um ambiente perfeito para a sua manutenção. Tal como acontece quando inicializamos o Windows em Modo de Segurança...

CRIAR UM DISCO DE RECUPERAÇÃO COM O LILO.CONF

Outra necessidade eventual está na utilização de um disco de recuperação que suporte o LILO, caso este não possa selecionar o sistema a ser inicializado. Para isto, digitem na linha de comando...

# lilo -b /dev/[DEVICE]

Segue um exemplo prático, utilizando uma unidade de memória eletrônica:

# lilo -b /dev/sda1

PROBLEMAS MAIS FREQÜENTES

AO INVÉS DO SISTEMA INICIALIZAR, É EXIBIDO...Ao invés do sistema inicializar, é exibido a seguinte cadeia de caracteres:

LI, LI-

... ou...

01 01 01

... indefinidamente, até o travamento. Isto ocorre devido a:

• Não-gravação e/ou não-atualização do LILO na MBR;

• Substituição da posição das unidades de disco rígido após a

113/128

Page 166: Guia Do Linux

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.

REMOÇÃO DAS DEFINIÇÕES DO LILO NO SETOR MBRBasicamente existem duas formas de remover as definições do LILO com a utilização dos interpretadores MS-DOS...

C:\> FDISK /MBR

... e GNU BASH...

# /sbin/lilo -U

Geralmente a remoção do LILO na MBR se faz quando há necessidade da desinstalação dos sistemas GNU/Linux ou utilização de discos rígidos os quais possuem ou tiveram um sistema GNU/Linux instalado.

RECUPERAR A SENHA DO SUPERUSUÁRIO

Em algumas circunstâncias poderão ocorrer a perda (esquecimento, erro de digitação) da senha do superusuário para a administração do sistema. Caso isto ocorra, simplesmente digitem na linha de comando do LILO...

LILO: linux single

O sistema será executado em modo monousuário, o qual com a utilização do comando passwd, poderemos alterar a senha original para um termo conhecido. Lembrem-se que este recurso somente funcionará caso não tenhamos definido a opção password na configuração do LILO. Neste caso deveremos ter em mãos a senha de acesso do LILO para que possamos iniciar o sistema em modo monousuário.

ATUALIZANDO AS ALTERAÇÕES DESEJADAS

Para atualizar qualquer modificação realizada no arquivo /etc/lilo.conf, basta apenas executarmos o LILO e verificar a saída de vídeo:

# liloAdded Windows

Added Linux *

114/128

Page 167: Guia Do Linux

# _

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

Page 168: Guia Do Linux

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.

A NOMENCLATURA DOS PACOTES

A nomenclatura dos arquivos empacotados obedecem a um formato especificado, tendo separadas suas definições apenas por hífen e ponto:

[NOME]-[VERSÃO]-[REVISÃO]-[PLATAFORMA].[FORMATO]

Utilizaremos como exemplo o pacote fictício darkstar-1.0-1.i386.rpm:

Nome: darkstarVersão: 1.0Revisão: 1Plataforma: i386Formato: Red Hat Package

Observem que a extensão de um arquivo é a identificação universal, herdada dos sistemas operacionais da Microsoft (MS-DOS e Windows), Independente do arquivo ser um pacote ou conter qualquer outro conteúdo. No caso acima, o formato Red Hat Package adota a extensão .rpm; já o formato utilizado pela distribuição Debian e baseados utilizam a extensão .deb, o Slackware por sua vez adota o padrão .tgz.

Em muitos casos, dada a compilação específica de um determinado aplicativo para uma distribuição baseada na Red Hat, são adicionados 2 caracteres para informar a distribuição do qual este pacote é compatível.

• cl -> Conectiva Linux;

• mk -> Mandrake Linux;

Para exemplo:

• quake-1.1-6cl-i386.rpm;

• qt-2.2mk-i586.rpm;

Existem outras nomenclaturas que poderão existir. Vejam alguns exemplos:

darkstar-0.6beta-i686.rpm

Trata-se de um pacote que se encontra na versão 0.6, porém em fase de

116/128

Page 169: Guia Do Linux

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.

FERRAMENTAS & MÉTODOS...

SLACKWARE PACKAGE TOOLS

✔ <http://www.slackware.org/>.

O gerenciador de pacotes padrão do Slackware é o Slackware Package Tools, um conjunto de ferramentas além do menu interativo que visa facilitar ao máximo o gerenciamento de pacotes.

Pkgtools.

Para ter acesso ao gerenciador, digitem na linha de comando...

# pkgtools

... onde será apresentada a tela principal da ferramenta.

Além do aplicativo, existem diversos utilitários de linha de comando que complementam o gerenciador, os quais são: installpkg, upgradepkg, removepkg, makepkg e explodepkg. Por este capítulo tratar de apenas instruções básicas para o uso em desktops, apenas descreveremos os três primeiros, já que atendem satisfatóriamente suas necessidades.

Para realizar a instalação de um pacote:

# installpkg [PACOTE]-[VERSÃO]-[ARQUITETURA]-[REVISÃO].tgz

Para realizar a atualização de um pacote:

# upgradepkg [PACOTE]-[VERSÃO]-[ARQUITETURA]-[REVISÃO].tgz

117/128

Page 170: Guia Do Linux

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.

RED HAT PACKAGE MANAGEMENT

✔ <http://www.rpm.org/>.

O RPM foi o primeiro gerenciador de pacotes desenvolvido para a instalação de programas pré-compilados.

RPM(8) Red Hat Linux RPM(8)

NAME rpm - RPM Package Manager

SYNOPSIS QUERYING AND VERIFYING PACKAGES: rpm {-q|--query} [select-options] [query-options]

rpm {-V|--verify} [select-options] [verify-options]

rpm --import PUBKEY ...

rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE ...

INSTALLING, UPGRADING, AND REMOVING PACKAGES: rpm {-i|--install} [install-options] PACKAGE_FILE ...

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]lines 1-39

Manual Eletrônico do RPM.

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

Page 171: Guia Do Linux

# 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

Page 172: Guia Do Linux

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

Page 173: Guia Do Linux

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/share/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

Page 174: Guia Do Linux

$ /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 $OSTYPElinux-gnu$ _

SHELL

Exibe qual o interpretador de comandos usado na seção.

$ echo $SHELL/bin/bash$ _

122/128

Page 175: Guia Do Linux

TERM

Já o TERM apenas indica o tipo de terminal utilizado no momento.

$ echo $TERMxterm$ _

USER

Exibe a conta de usuário autenticada naquele instante.

$ echo $USERdarkstar$ _

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

Page 176: Guia Do Linux

terminal, são exibidos os valores correntes de todas as variáveis do sistema:

$ setBASH=/bin/bashBASH_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=80CPLUS_INCLUDE_PATH=/usr/lib/qt-3.2.1/include:/usr/lib/qt-3.2.1/includeDIRSTACK=()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

Page 177: Guia Do Linux

• 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/manexport HOSTNAME="`cat /etc/HOSTNAME`"export LESSOPEN="|lesspipe.sh %s"export LESS="-M"

# If the user doesn't have a .inputrc, use the one in /etc.if [ ! -r "$HOME/.inputrc" ]; then export INPUTRC=/etc/inputrcfi

Caminhos dos executáveis...

# Set the default system $PATH:PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"

Caminhos dos executáveis (superusuário)...

# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in# the $PATH. Some means of connection don't add these by default (sshd comes# to mind).if [ "`id -u`" = "0" ]; then echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null if [ ! $? = 0 ]; then PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH

125/128

Page 178: Guia Do Linux

fifiDefiniçõ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=linuxfi

Definições do interpretador ksh93...

# Set ksh93 visual editing mode:if [ "$SHELL" = "/bin/ksh" ]; then VISUAL=emacs# VISUAL=gmacs# VISUAL=vifi

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\$ 'fiPS2='> '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

Page 179: Guia Do Linux

biff yfi

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 fidone

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

Page 180: Guia Do Linux

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

Page 181: Guia Do Linux

3A. PARTE:

A INSTALAÇÃO DO SISTEMA

✔ 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”.

Page 182: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................4I. PREPARATIVOS INICIAIS..........................................5

Introdução.......................................................................................5

Considerações básicas....................................................................5

Ajustes nas opções do BIOS............................................................5Acesso ao SETUP...................................................................................5As intervenções necessárias.................................................................6

Inicialização pelo CD-ROM............................................................................6Detecção de dispositivos Plug-and-Play.........................................................6Desabilitação do suporte a mouse e teclado USB..........................................6Suporte ao gerenciamento de energia...........................................................6Conflitos de IRQs............................................................................................7Desabilitação de antivírus..............................................................................7

Condicionamento do disco rígido...................................................7Cópia de segurança dos dados do disco rígido....................................7

Sobre os formatos ideais para a compressão................................................8Sobre mídias de armazenamento...................................................................8

Verificando o estado..............................................................................9Realizando a limpeza...........................................................................10Liberando mais espaço........................................................................11Reorganizando os dados.....................................................................12

Conclusão......................................................................................14

II. REDIMENSÃO E REPARTIÇÃO DO DISCO RÍGIDO............15Introdução.....................................................................................15

A redimensão.................................................................................15

A repartição...................................................................................17A inicialização......................................................................................18Criando a partição extendida..............................................................20

Criando a partição SWAP.............................................................................21... e formatando-a.........................................................................................22Criando a partição raíz.................................................................................24Sobre a criação das demais partições.........................................................26

Salvando as alterações da tabela........................................................27

Observações finais........................................................................27

Conclusão......................................................................................28

III. A INSTALAÇÃO................................................29Introdução.....................................................................................29

Considerações básicas..................................................................29A manipulação das caixas de diálogo.................................................29A omissão de instruções repetitivas...................................................29Importante: sobre as telas capturadas do livro!................................29

Page 183: Guia Do Linux

As intervenções iniciais................................................................30A metodologia da instalação...............................................................30Ajustando os parâmetros do teclado..................................................30Realizando a autenticação...................................................................32

A instalação...................................................................................32Setup – a tela principal........................................................................32Help – o sistema de ajuda...................................................................33Keyboard – a definição do mapa.........................................................33Addswap – a adição da partição SWAP..............................................34Target – a definição do destino..........................................................35Source – a definição das origens........................................................39Select – a seleção dos pacotes............................................................40Install – a instalação dos pacotes........................................................42Configure – a configuração inicial do sistema...................................42Exit – a conclusão do processo...........................................................49

A inicialização do sistema.............................................................50A inicialização do LILO........................................................................50A autenticação no sistema...................................................................51

Conclusão......................................................................................51

IV. APÓS A INSTALAÇÃO..........................................52Introdução.....................................................................................52

Os processos de configuração......................................................52Sobre os processos automatizados e os manuais..............................52Sobre a edição de arquivos de configuração.....................................52

As ferramentas e os componentes do sistema.............................54As ferramentas nativas.......................................................................54Os recursos do ambiente gráfico KDE...............................................55Os componentes do sistema...............................................................56Ferramentas da linha de comando.....................................................57Sobre os módulos do kernel...............................................................57

Obtendo as especificações do equipamento................................58Utilitário de detecção..........................................................................58Obtendo informações do /proc...........................................................59O Centro de Informações....................................................................61Softwares especializados em detecção..............................................62Manuais de fabricantes.......................................................................62

Conclusão......................................................................................63

Page 184: Guia Do Linux

VISÃO GERAL

A instalação de sistemas GNU/Linux não chegam a ser uma operação complexa, porém existem diversos aspectos que irão requerer certa atenção, onde o conhecimento e a experiência terão certa importância.

“A instalação e a configuração inicial deve ser feita por quem tem mais experiência com computadores. Isto é consistente com a prática difundida. (...) usuários finais que instalam seus próprios sistemas operacionais são uma excessão, não é uma norma, em quase todos os OS sobre o Sol. Conseqüentemente, a instalação e configuração inicial deve ser executada por um "nerd residente", no escritório ou em casa ou por uma pessoa que tenha alguma qualificação para isto.” -- [“Procedimento Desktop Parte I: Procurando uma nova Distro”, por Eduardo Sánchez G. e traduzido por Bruno H. Collovini].

Este processo é uma das intervenções mais trabalhosas e elaboradas na computação, onde a boa definição dos ajustes e configurações são de extrema importância para garantir o seu perfeito funcionamento. Muitos usuários sentem-se inseguros somente em pensar no assunto, preocupados com as dificuldades e/ou os inconvenientes de que poderão surgir.

A grande maioria das distribuições GNU/Linux possuem seus próprios métodos de instalação, onde muitas enfatizam que o desenvolvimento do processo é bastante similar em comparação a instalação do Windows. Prova disso é a existência de diversos processos dos quais muitos são idênticos. Em muitos casos, os únicos diferenciais se encontram no desenvolvimento dos disquetes de inicialização (felizmente bem documentados) e na preparação da unidade de disco rígido – onde para estas necessidades foram preparados capítulos especiais – conforme veremos a seguir.

Mas antes, devemos nos certificar de que todos os pré-requisitos necessários para o sucesso da operação foram atendidos corretamente. Sobre estes aspectos, teremos bons capítulos ricos de informações e detalhes, especialmente para tratar destas necessidades. Com certeza, dificilmente seremos surpreendidos por causa de uma circunstância inesperada ou quaisquer outros problemas que possam ocorrer.

Outra questão que devemos nos atentar está nos problemas que podemos encontrar na restauração do antigo sistema, caso ocorra algum inconveniente ou sinistro que impossibilite a instalação do sistema. Os motivos pelos quais são originados, são os mais variados: problemas gerais do hardware (configurações incorretas e incompatibilidades), fonte de luz, imperícia técnica, etc., mas (ao contrário do que muitos pensam) raramente os métodos de instalação das distribuições disponíveis são a causa principal destes distúrbios.

Nos próximos capítulos abordaremos todos os aspectos necessários para obtermos bons resultados na instalação de sistemas GNU/Linux. &;-D

4/63

Page 185: Guia Do Linux

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.

AJUSTES NAS OPÇÕES DO BIOSNa maioria das vezes, a realização de ajustes nas configurações da BIOS são procedimentos que, mesmo simples, são indispensáveis para a instalação do novo sistema operacional. Tais ajustes são alterações que vão desde a ordem de inicialização das unidades, passando por ativação e/ou desativação de recursos específicos para a detecção de periféricos, em alguns casos mais severos, a desabilitação de alguns dispositivos especiais.

ACESSO AO SETUPPara 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

Page 186: Guia Do Linux

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.

INICIALIZAÇÃO PELO CD-ROMLocalizem a opção Boot Sequence na seção de nome BIOS Feature Setup. Configurem para inicializar na seguinte ordem: Floppy Disk -> CD-ROM -> HardDisk. Isto fará com que toda vez que o sistema inicializar, verifiquem se há mídia de inicialização no drive de disquetes, passando pelo drive óptico e por fim, a unidade de disco rígido.

DETECÇÃO DE DISPOSITIVOS PLUG-AND-PLAY

Ajustem (caso não esteja) para o valor No, o atributo PnP OS na seção Support Peripheral ou PNP/PCI Configuration Setup. Esta intervenção fará a BIOS fornecer corretamente os parâmetros necessários para a detecção de dispositivos Plug-and-play (especialmente os que utilizam o barramento PCI), evitando assim problemas para a configuração destes periféricos.

DESABILITAÇÃO DO SUPORTE A MOUSE E TECLADO USBPara possibilitar os antigos sistemas operacionais (MS-DOS e Windows 9X) a reconhecer os novos teclados e mouse USBs, deveríamos habilitar uma opção chamada USB Legacy Support; porém, uma vez ativada, o kernel Linux poderá ter dificuldades de reconhecer estes periféricos corretamente. Por este motivo, recomendamos que desabilitem esta opção para que seja possível a detecção e instalação de sistemas GNU/Linux.

SUPORTE AO GERENCIAMENTO DE ENERGIA

Outras opção que deverá estar desativada é o ACPI Support ou ACPI Power Management na seção referente ao gerenciamento de energia (Power), que é um dos principais responsáveis por travamentos durante o processo de instalação e detecção do sistema. Muitas placas-mãe não

6/63

Page 187: Guia Do Linux

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

Algumas BIOS trazem um recurso especial que possibilita a verificação da existência de vírus. Apesar disto não acarretar maiores problemas para a instalação do sistema operacional, irá impedir a gravação do gerenciador de inicialização na MBR, o que certamente irá comprometer todo o processo: por isto, desabilitem (ou mantenham desabilitada) esta função. De qualquer forma ela será ineficiente, seja pela necessidade de sua (constante) atualização em tempos futuros, seja pela imunidade dos sistemas GNU/Linux quanto a contaminação de vírus.

CONDICIONAMENTO DO DISCO RÍGIDO

O condicionamento do disco rígido para a divisão (redimensão e repartição) está entre os processos mais importantes para a utilização do sistema. Apesar de ser uma tarefa relativamente simples (porém detalhada), deverá ser realizado com a máxima atenção, pois deveremos analizar todos os procedimentos necessários para que não haja nenhum ação perigosa ou descuidada que possa resultar em alterações indevidas ou perdas de dados.

CÓPIA DE SEGURANÇA DOS DADOS DO DISCO RÍGIDO

TORNA-SE EXTREMAMENTE NECESSÁRIA A REALIZAÇÃO DE UMA CÓPIA DE SEGURANÇA DE, PELO MENOS, TODAS AS INFORMAÇÕES DE SUMA IMPORTÂNCIA ARQUIVADAS NA UNIDADE DE DISCO RÍGIDO, POIS COMO QUALQUER OUTRO SISTEMA OPERACIONAL, A INSTALAÇÃO DE SISTEMAS GNU/LINUX PODEM OCASIONAR PERDA DE DADOS E INFORMAÇÕES DO DISCO RÍGIDO, CASO ALGUMA OPERAÇÃO SEJA MAL SUCEDIDA. A INSTALAÇÃO DO SISTEMA É DE TOTAL RESPONSABILIDADE DO USUÁRIO.

Apesar da instalação de um sistema GNU/Linux ser um processo relativamente seguro, infelizmente poderão ocorrer alguns inconvenientes que possam interferir no seu bom andamento (instabilidade, uso de comandos e parâmetros errados, equívocos, etc.). Para isto, nada melhor do que se precaver de tais ocorrências com a

7/63

Page 188: Guia Do Linux

realização de cópias de segurança de nossos dados – operação tal conhecida como backup.

SOBRE OS FORMATOS IDEAIS PARA A COMPRESSÃO

Para esta finalidade, recomendamos a utilização de aplicações que usem os formatos de compressão ZIP ou RAR, para que os pacotes gerados possam ser livremente manipulados pelos utilitários disponíveis tanto nos sistemas GNU/Linux quando no Windows.

Embora seja possível também utilizar os formatos formatos como o GZIP ou BZIP, estes não são recomendáveis por causa da possibilidade de ocorrer certos transtornos em virtude de suas particularidades, em especial, nos casos de corrupção de dados. O GZIP não permite recuperar quaisquer informações após o ponto em que ocorreu a falha; com o BZIP, perde-se automaticamente 900 KB de dados em virtude deste valor ser o tamanho do bloco comprimido. Se houverem diversos arquivos que compreendam este espaço todos estarão perdidos, ao passo que nos formatos ZIP e RAR, é perdido somente o arquivo que se localiza no ponto em que ocorreu a falha.

SOBRE MÍDIAS DE ARMAZENAMENTO

Existem vários métodos para a realização da cópia de segurança de arquivos importantes do disco rígido. Recomendamos o uso de mídias de CD-ROM graváveis de boa qualidade ou a utilização de dispositivos dotados com memória eletrônica1. Se ainda preferirem, podem utilizar uma 2a. unidade de disco rígido para esta finalidade.

Fotografia de um antigo pendrive de 256 MB / USB 1.1.

Porém recomendamos a NÃO utilizarem os discos ZIP (zip-drive) ou disquetes comuns de 3.5” ou 5.25” (floppy disk) para esta operação, pois os mesmos tendem a apresentar problemas de mau funcionamento após um certo tempo de uso. Risco muito maior de perda representam os disquetes, pois dada a sua fragilidade, seu uso é recomendado apenas para simples transporte de dados de pouco conteúdo.

1 Memória flash, como é conhecida no mercado.

8/63

Page 189: Guia Do Linux

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...

Tela principal do 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....

Propriedades do disco rígido.

9/63

Page 190: Guia Do Linux

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.

Arquivos temporários residentes após o uso da impressora...

Para iniciarmos a limpeza do disco rígido, mantenham a caixa Propriedades da unidade em aberto e, na aba Geral, selecionem a opção Limpeza de disco ou cliquem em Iniciar -> Programas -> Acessórios -> Ferramentas do Sistema -> Limpeza de disco.

Propriedades do disco rígido.

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

Page 191: Guia Do Linux

Limpeza de disco.

Felizmente existem poucas informações gravadas, conforme podem ver no exemplo acima. Geralmente em micros que possuem conexão com a Internet, onde os usuários não têm o hábito de eliminar os arquivos temporários; onde geralmente as pastas C:\WINDOWS\Temporary Internet Files\ e C:\WINDOWS\TEMP\ costumam ficar bem ocupada. Portanto, será necessária a limpeza do disco rígido para um ajuste mais fino.

Geralmente estes arquivos ocupam pouco espaço em disco, mas não custa nada checar, pois em muitos casos devido a longa utilização deste sistema operacional sem uma correta administração, a tendência é de que acumulem-se a tal ponto de ultrapassar a casa dos 100 ou 200 MB. E isto, em um disco com pouca capacidade, torna-se um fator preponderante.

LIBERANDO MAIS ESPAÇO

Se houver ainda pouco espaço disponível no disco rígido, verifiquem a possibilidade de remover alguns programas que não utilizem ou que com a instalação do Slackware possam a vir não utilizar ainda no utilitário Limpeza de disco. Em casos mais drásticos, poderemos remover alguns os componentes opcionais do Windows.

11/63

Page 192: Guia Do Linux

Assistente de Componentes do Windows.

Geralmente a instalação de jogos requer uma certa disponibilidade de espaço no disco rígido. Certifiquem-se se eles estão instalados por completo (full) e caso afirmativo, procurem consultar o manual do jogo para ver se eles possuem uma opção de instalação compacta, que utilize menos espaços no disco rígido e/ou que rodem diretamente pelo CD-ROM. Infelizmente perderemos um pouquinho de tempo durante o carregamento destes jogos, mas geralmente a performance não será afetada abruptamente.

Poderemos também optar por rodá-los diretamente no sistema GNU/Linux, com a utilização de APIs e outros processos de emulação. Apesar da existência de dificuldades e limitações deste processo, é mais uma opção para liberar espaço para o novo sistema operacional. Enfim, todas estas opções ficam ao critério dos usuários.

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

Page 193: Guia Do Linux

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.

Tela principal de “Meu Computador”.

Como podemos ver no exemplo acima, sobraram um pouco mais de 4.5 GB

13/63

Page 194: Guia Do Linux

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

Page 195: Guia Do Linux

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.

São inúmeros os comandos suportados pelo Parted, porém devido a sua complexidade, utilizaremos apenas aqueles essenciais para a redimensão da unidade. A tarefa de repartição deixaremos para os utilitários mais simples, como o cfdisk ou fdisk, com o objetivo de facilitar o aprendizado.

15/63

Page 196: Guia Do Linux

Em todo caso, para obterem maiores informações, utilizem a ajuda eletrônica pressionando a letra <H>...

Exibição de parte da ajuda eletrônica do Parted.

Para uma melhor análise do estado da unidade, digitem o comando...

(parted) p

Estejam atentos para a geometria da unidade. Conforme podemos ver, temos uma unidade de 20 GB (embora seja mostrado como 21.5 GB), tendo todo o seu conteúdo ocupado por uma única partição. O utilitário NÃO mostra o espaço vazio; apenas o tamanho total da unidade, as partições existentes e o espaço ocupado.

Apesar de sua aparência espartana, a redimensão de uma unidade com o Parted é algo bem mais simples do que parece. Vejam a sua sintaxe:

(parted) resize [POSIÇÃO] [INÍCIO] [TAMANHO]

Onde:

• [PARTIÇÃO]: Informa o número da partição;

• [INÍCIO]: Demarca a posição inicial da partição;

• [FIM]: Informa o novo tamanho da partição.

16/63

Page 197: Guia Do Linux

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

Pronto, já se encontram salva as alterações realizadas para a redimensão. Vejam que agora, o novo tamanho da partição passou a ser 7168 MB.

Para encerrarmos o utilitário, deveremos digitar...

(parted) q

... e enfim, reinicializar a unidade.

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

Page 198: Guia Do Linux

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:

Conforme podemos ver, existe um alerta referente ao número de cilindros para o disco rígido utilizado. Este aviso seria importante caso fosse utilizado uma versão do LILO anterior a 21.4.3, pois à partir do cilindro 1024 o gerenciador de inicialização apresentará erros que impossibilitem inicializar o sistema. Para resolvermos este problema, deveremos apenas

18/63

Page 199: Guia Do Linux

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

Aqui se encontram todos os comandos necessários para o particionamento do disco rígido. Existe também a opção x, que por sua vez, implementa recursos adicionais e que geralmente são utilizados para fins específicos; felizmente não é o nosso caso, já que as opções básicas são suficientes.

Agora digitem...

Command (m for help) p

... e conforme as explicações da tela anterior, será apresentado uma nova tabela com as informações atuais de particionamento do disco rígido.

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

Page 200: Guia Do Linux

CRIANDO A PARTIÇÃO EXTENDIDA

Para criar as demais partições necessárias, digitem...

Command (m for help) n

Será apresentada uma nova listagem de comandos. Em nosso caso, escolheremos criar uma partição estendida, que por sua vez, será subdividida posteriormente. Então, digitem...

e

Agora, de acordo com a ordem, faltará apenas definirmos o número da nossa partição extendida. Neste caso, utilizaremos a opção 2 para que esta seja reconhecida no sistema como /dev/hda2. Digitem...

Partition number (1-4): 2

O utilitário solicita que seja informada o início da partição extendida que desejamos criar. Como a nossa intenção é utilizar o restante de espaço disponibilizado no disco rígido, basta apenas pressionarmos <ENTER> e o utilitário se encarregará de utilizar a opção padrão (7910), dando continuidade a partir do final da 1a. partição existente.

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).

Para checar novamente a tabela de partição, digitem...

Command (m for help) p

20/63

Page 201: Guia Do Linux

Ótimo! Daremos então seqüência para a criação das partições desejadas.

CRIANDO A PARTIÇÃO SWAP...Para iniciarmos a subdivisão da partição extendida e criar a partição SWAP, digitem novamente...

Command (m for help) n

Notem agora que as opções para criar as partições mudaram: agora, o utilitário nos ofereçe opções para criar partições primárias (p) ou lógicas (l). Em nosso caso, utilizaremos a opção l, para dar continuidade ao processo de criação de partições que, agora em diante, serão lógicas.

l

Da mesma forma que na vez anterior, digitaremos o início da nossa partição lógica ou simplesmente teclemos <ENTER> para acionar o valor padrão:

Observem que o limite máximo para definirmos a dimensão desta partição é o cilindro 23696, que corresponde a dimensão da partição extendida, que por sua vez corresponde com o espaço restante do disco rígido.

Agora definiremos o tamanho da partição SWAP em 512 MB3, o dobro da quantidade de memória RAM deste computador. Neste caso, digitaremos

3 Antigamente as partições SWAP eram dimensionadas geralmente utilizando-se o dobro da quantidade de memória RAM existente, até o tamanho máximo de 127 MB. Isto era devido ao tratamento diferenciado dado ao gerenciamento de memória pelo kernel da versão 2.2. Hoje poderemos definir o tamanho que desejarmos, porém recomenda-se utilizar o valor máximo de até 2x a quantidade de memória RAM disponível, com limite máximo de 512 MB para equipamentos dotados de maior capacidade de memória. Mais que isto é desnecessário, visto que o sistema já tem memória mais que suficiente para suas operações básicas, além de desperdiçar espaço extra do disco rígido.

21/63

Page 202: Guia Do Linux

o caracter <+> que corresponde a operação de adição, lançado juntamente o valor 512 seguido do caracter <M>:

+512M

O valor 512 representa o tamanho desejado para a partição e <M> a unidade de medida utilizada (em megabytes). Para dimensionarmos em byte, bastaria digitar somente o valor e teclar <ENTER>; Se a opção fosse em KB, somente utilizar o caracter <K> após digitar o tamanho da partição.

Confiram novamente a listagem de partições através do comando...

Command (m for help) p

Pronto! Já está criada a partição SWAP do sistema.

Apesar desta explicação estar detalhada, observe que o processo não foi tão complicado assim. Basta apenas um pouco de paciência e boa vontade!

... E FORMATANDO-A

Voltando novamente para a listagem de partições, observem que o tipo da nossa partição SWAP (hda5) está sendo definida como 83 (Linux). E agora?

Como mudar isto? É simples. Para maiores detalhes, digitem a opção m + <ENTER> onde será novamente apresentada uma listagem de ajuda.

22/63

Page 203: Guia Do Linux

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

O utilitário solicita que seja definida a partição que se deseja alterar o tipo, ou seja, a sua formatação. Lembram-se do número desta partição (hda5)?

Partition number (1-5): 5

Sabem qual é o código hexadecimal que define o formato da partição SWAP? Provavelmente não: então, aceitem a sugestão do fdisk e digitem...

Hex code (type L to list codes): L

23/63

Page 204: Guia Do Linux

... 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

Assim estará feita a mudança do tipo de partição para SWAP. Agora, consultaremos novamente a tabela de partição...

Command (m for help) p

... para que possamos ver a partição SWAP (que criamos) redefinida.

CRIANDO A PARTIÇÃO RAÍZ

Agora iremos criar a nossa principal partição, ou seja, a partição raiz.

24/63

Page 205: Guia Do Linux

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.

Seleção do método de instalação do Slackware. Observem que na opção full, há um aviso em que é notificado o espaço total de 4.5 GB a ser ocupado, como também a

recomendação de uso desta opção.

Em virtude desta literatura dedicar-se exclusivamente ao uso dos sistemas GNU/Linux em desktops, optarei por reservar o espaço de 7 GB para a partição raíz, mantendo o espaço restante para a partição /home. Porém, estes valores poderão ser definidos de acordo com as suas preferências.

Para iniciar novamente o processo, digitem a opção...

Command (m for help) n

A seguirm, digitem a opção...

l

Note que houve uma mudança da posição padrão inicial do cilindro do disco rígido. Sabendo-se da existência da partição SWAP e que ela termina no cilindro 8475, não precisamos ser gênios para descobrirmos que o cilindro 8476 é a continuação desta seqüência. Bastará novamente teclarmos <ENTER> para selecionar esta opção, que será o valor padrão por omissão:

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

Page 206: Guia Do Linux

Verifiquem novamente a tabela de partição...

Command (m for help) p

... para confirmar a criação da partição raíz (hda6).

SOBRE A CRIAÇÃO DAS DEMAIS PARTIÇÕES

Se desejarmos, poderemos criar mais partições para melhor reaproveitar o espaço disponível do disco rígido. Saibam que não existe uma regra específica para a criação de partições do sistema, onde estas definições poderão ficar ao critério dos usuários (e de seu bom senso).

Entretanto, é recomendável que seja disponibilizada uma partição separada para os arquivos do diretório /home, já que este será destinado para o armazenamento dos dados dos usuários com contas cadastradas no sistema. Inclusive, este procedimento trará outras facilidades importantes, como a possibilidade de reinstalar o sistema sem apagar os dados dos usuários, ou ainda, realizar cópias de segurança com mais facilidade.

Conforme podem observar acima (hda7), optamos por reservar o espaço restante do disco rígido para a partição /home. Assim, teremos espaço de sobra para o armazenamento de dados dos usuários. Não exemplificamos os comandos a serem utilizados porque o processo seguirá exatamente da mesma forma como foi feita para a criação da partição raíz (hda6).

26/63

Page 207: Guia Do Linux

SALVANDO AS ALTERAÇÕES DA TABELA

Para encerrarmos o processo de partição do disco rígido, digitem...

Command (m for help) m

Para obter a lista de ajuda do utilitário. Analisando a tabela, qual o comando necessário para gravar as alterações da tabela de partição do disco rígido? Caracter w? Ótimo! Porquê? Simples abreviatura de write, que significa “escrever” (ou gravar)! Portanto, digitem...

Command (m for help) w

... para que o utilitário grave as alterações realizadas na tabela de partição, e assim, finalizar a execução do fdisk. O disco rígido encontra-se particionado corretamente e pronto para a instalação do Slackware.

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

Page 208: Guia Do Linux

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

Page 209: Guia Do Linux

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

A MANIPULAÇÃO DAS CAIXAS DE DIÁLOGO

A manipulação da caixa de diálogo é uma tarefa simples, mesmo não tendo disponível o mouse. Utilizando as teclas <SETA_ACIMA> e <SETA_ABAIXO>, navegaremos facilmente nos itens exibidos, a tecla <BARRA_DE_ESPAÇO> para demarcar itens e <TAB> para alternar entre as opções a serem demarcadas e os comando disponíveis nos menus. Da mesma forma que navegamos entre as opções disponíveis, utilizamos as teclas <SETA_ACIMA> e <SETA_ABAIXO> para navegar entre os comando, onde deveremos teclar <ENTER> para executá-las.

Consideraremos por padrão que os leitores estão cientes destas informações para o bom aproveitamento das instruções que estão por vir logo adiante.

A OMISSÃO DE INSTRUÇÕES REPETITIVAS

Em virtude da facilidade de instalação, em muitas vezes apenas teremos que confirmar as propriedades de um conjunto de opções ou de uma determinada caixa de diálogo. Como estas circunstâncias são variadas, resolvemos omitir as repetitivas instruções para confirmações e prosseguimentos, com o intuito de dinamizar as instruções dadas.

Se não houver mais nenhuma instrução disponível sobre uma determinada seção ou caixa de diálogo, tenham em mente que apenas deverão prosseguir para a instrução seguinte, acionando o comando OK.

IMPORTANTE: SOBRE AS TELAS CAPTURADAS DO LIVRO!Em virtude da grande similaridade das instruções de instalação da versão atual em comparação com as versões anteriores da distribuição, apenas

29/63

Page 210: Guia Do Linux

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-ROM4. 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.

Inicialização da mídia de instalação do Slackware.

Uma das características marcantes do utilitário instalador do Slackware é a apresentação de uma interface texto que irá orientar-nos durante todo o processo de instalação do sistema, diferente das demais que possuem um instalador gráfico que primam pela beleza e intuição. Contrariando certas idéias preconceituosas, a instalação em modo texto do Slackware é simples, intuitiva e fácil de usar, onde com certeza não teremos maiores dúvidas e/ou quaisquer outros inconvenientes.

Além disso, pelo fato de utilizar uma interface texto ao invés da gráfica, a instalação do sistema em computadores de poucos recursos ou obsoletos se torna simples, rápida e com grande eficiência, o qual também reduz bastante as inicidências de travamentos e lentidão.

AJUSTANDO OS PARÂMETROS DO TECLADO

Ao iniciarmos a instalação do Slackware, será apresentada uma tela nos

4 Opção presente na grande maioria das distribuições.

30/63

Page 211: Guia Do Linux

solicitando a escolha do mapa do teclado que está sendo utilizado.

Seleção do mapa do teclado.

Em nosso caso, como utilizamos o teclado padrão ABNT-2, deveremos digitar a opção 1 + <ENTER>. Em seguida aparecerá uma listagem com os principais mapas de teclado suportado pelo Slackware. Utilizando as teclas <SETA_ACIMA> e <SETA_ABAIXO> selecionaremos o mapa do teclado correto, teclando em seguida <ENTER>. Se desejarmos, poderemos utilizar as teclas <PAGE_UP> ou <PAGE_DOWN> para fazer a repaginação.

Em nosso país, onde a grande maioria absoluta dos teclados existentes pertencem ao padrão ABNT 2, deveremos selecionar a opção qwerty/br-abnt2.map.gz na lista apresentada. Após selecionarmos o mapa, será apresentada uma 2a. instrução solicitando-nos a testá-lo. Procurem utilizar as opções de acentuação do teclado, em especial a tecla cedilha (ç).

31/63

Page 212: Guia Do Linux

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.

“Autenticação” da instalação do Slackware.

Deveremos pressionar <ENTER>, para que seja feito automaticamente a autenticação de superusuário (root).

A INSTALAÇÃO

Com as partições redimensionadas e pré-definidas, inicializaremos o processo de instalação ao digitarmos na linha de comando...

# setup

SETUP – A TELA PRINCIPAL

Ao ser inicializado o setup, teremos uma caixa de diálogo com todas as seções da instalação que iremos percorrer ao longo deste capítulo.

32/63

Page 213: Guia Do Linux

Para iniciarmos a instalação, selecionem a opção Help e teclem <ENTER>.

HELP – O SISTEMA DE AJUDA

Embora não seja grande a importância da leitura de instruções contidas na seção Help, é sempre bom nos habituarmos a realizar algumas consultas.

A tela de ajuda do Slackware contém informações básicas sobre o processo de instalação do sistema. Caso os usuários sejam iniciantes (e tenham uma boa noção de inglês), podem dar uma espiada para ver vem pela frente!

KEYBOARD – A DEFINIÇÃO DO MAPA

Nesta etapa será solicitado a escolha do mapa do teclado utilizado neste computador, da mesma forma que durante a inicialização do sistema. Da mesma forma, se o teclado em uso for do padrão ABNT-2, selecionem a opção qwerty/br-abnt2.map.gz na lista apresentada.

33/63

Page 214: Guia Do Linux

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.

ADDSWAP – A ADIÇÃO DA PARTIÇÃO SWAPTerminada a seleção do mapa do teclado, o setup irá detectar a existência de uma ou mais partições SWAP a serem utilizada pelo sistema operacional. Inicialmente o instalador faz uma procura pelo sistema para detectar a existência desta partição, já que ela foi pré-definida no ato da repartição. Ao encontrá-la, será emitido o seguinte aviso:

Conforme podemos ver, esta foi encontrada em /dev/hda5, o que significa que a 1a. partição primária do sistema foi designada para ser a partição SWAP. Basta apenas selecionarmos o comando OK e teclar <ENTER>. Em seguida, o instalador se encarregará de formatá-la, mas antes...

34/63

Page 215: Guia Do Linux

..., 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.

TARGET – A DEFINIÇÃO DO DESTINO

Nesta etapa iremos definir quais são as partições que serão utilizadas para a instalação do sistema. Conforme vimos no capítulo Redimensão e repartição do disco rígido, necessitaremos de pelo menos duas partição para a instalação: a SWAP e a raíz. A 1a. foi definida na etapa anterior; agora iremos selecionar a partição que irá receber o sistema operacional.

O instalador exibirá uma série de partições disponíveis para os sistema. Como apenas definimos para este exemplo uma partição SWAP, uma raiz e uma /usr, serão apenas exibidas duas, já que a partição SWAP foi previamente configurada. Selecionem a partição que será a raíz do sistema.

35/63

Page 216: Guia Do Linux

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.

Aqui deveremos definir o sistema de arquivos a ser utilizado. O Slackware por padrão já deixa demarcado a opção ext3, mas se quisermos poderemos utilizar outros sistemas de arquivos. Apenas lembrem-se de que a opção ext2 não fornece nenhum recurso para a segurança dos dados, apesar de assegurar uma melhor performance justamente por causa desta ausência.

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

Page 217: Guia Do Linux

Sem grandes mistérios, basta selecionarmos e prosseguir com Continue.

Da mesma forma que procedemos para definir as propriedades da partição raíz, deveremos selecionar o processo de formatação desejado...

... e o sistema de arquivos adequado, optando sempre por utilizar o padrão pré-definido pela distribuição (ext3).

Aqui é que se encontra o diferencial em relação a partição raíz. Deveremos definir qual será o novo ponto de montagem para esta unidade. Como utilizaremos o diretório /home, basta apenas digitá-lo no

37/63

Page 218: Guia Do Linux

caminho...

Ao término da operação, são exibidas as partições pré-definidas para a montagem automática durante a inicialização do sistema.

Se houver alguma partição FAT32 da unidade, ela será detectada e o utilitário irá perguntar se desejaremos visualizá-la por este sistema operacional. Fica ao nosso critério definir esta visualização; porém para melhor exemplificarmos todo o processo, optaremos por Yes.

Das partições FAT32 disponíveis ao sistema, basta apenas selecioná-las para que sejam exibidam através de um ponto de montagem no sistema. Como neste exemplo existe apenas uma, prosseguirem com Select.

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

Page 219: Guia Do Linux

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.

SOURCE – A DEFINIÇÃO DAS ORIGENS

Aqui deveremos selecionar a origem dos pacotes os quais serão instaladas no disco rígido. Porém, inicialmente o utilitário irá perguntar em qual tipo de dispositivo se encontram os dados a serem instalados.

Pelo fato de estarmos realizando uma instalação a partir de uma mídia de DVD-ROM, deveremos selecionar a 1a. opção: “Instalar a partir do CD ou DVD (de instalação) do Slackware”.

Para que a unidade seja corretamente detectada, utilizem a opção auto; assim, esta unidade será reconhecida sem maiores problemas.

39/63

Page 220: Guia Do Linux

(...)

SELECT – A SELEÇÃO DOS PACOTES

Nesta parte, definiremos as principais séries de pacotes, os pacotes propriamente dito e o perfil de instalação.

Inicialmente será apresentada a seguinte caixa de diálogo:

Neste ponto deveremos selecionar as séries que desejamos instalar, bastando apenas marcá-las com <BARRA_DE_ESPAÇO>. As alterações aqui realizadas não serão efetivadas de imediato, somente a partir do momento da escolha do perfil de instalação desejado na próxima caixa.

Os seguintes perfis de instalação disponíveis conforme descrito no utilitário de instalação estão disponíveis por critério de facilidade para uso.

40/63

Page 221: Guia Do Linux

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.

Dependendo da escolha do perfil de instalação (conforme já visto), deverá ser apresentado novamente a tela de escolha da série dos pacotes...

41/63

Page 222: Guia Do Linux

... ou pacotes individuais...

Bastará definirmos quais os itens que irão compor a estação de trabalho, lembrando que, para aqueles que possuem pouca experiência ou que não desejam ter inconvenientes como a falta de bibliotecas para determinados programas, recomendamos que escolham a opção Full. Neste caso, o instalador inicia automaticamente a instalação, privando os usuários inexperientes da escolha destas opções.

INSTALL – A INSTALAÇÃO DOS PACOTES

Após selecionarmos o modo de instalação (optaremos por full), iniciaremos automaticamente o processo de instalação dos pacotes.

O instalador descompactará e copiará todos os pacotes selecionados para as partições pré-definidas do disco rígido. A partir desde momento, aproveitem a oportunidade para tomar um cafézinho e esticar as pernas...

CONFIGURE – A CONFIGURAÇÃO INICIAL DO SISTEMA

Ao término da instalação (cópia) dos pacotes, o instalador iniciará o processo de configuração básico do sistema e de alguns dispositivos.

(...)

42/63

Page 223: Guia Do Linux

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...

Na possibilidade do sistema não iniciar corretamente, é sugerida a criação de um pendrive de inicialização (ou qualquer outro dispositivo dotado de memória eletrônica). As anomalias responsáveis pelo sistema não inicializar corretamente podem ocorrer por vários motivos, mas as principais geralmente são causadas pelo insucesso na configuração do LILO. Em nosso exemplo, optamos por não criar a imagem, já que em um processo de instalação padrão, estas anomalias raramente acontecem...

Fica ao critério dos usuários definirem a criação da imagem de inicialização para este dispositivo; porém, ao optarem pela execução deste processo, conectem o dispositivo antes para que o sistema o detecte corretamente.

Nesta etapa iniciaremos alguns ajustes para o correto fucionamento do modem no sistema, onde deveremos definir o device correspondente para que o atalho /dev/modem aponte-o corretamente.

Infelizmente esta opção de configuração somente será válida para a

43/63

Page 224: Guia Do Linux

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.

O LILO é um gerenciador de inicialização para diferentes sistemas operacionais em um mesmo computador. Mesmo que tenham optado por manter um único sistema operacional, é recomendável sua manutenção.

Existem 3 opções disponíveis:

• simple: instalação automática (recomendável);

• expert: instalação personalizada (para usuários avançados);

• skip: não realiza a instalação (pula para o próximo passo).

Para os usuários avançados, fica ao seu critério a escolha do método de instalação; porém para os leigos e medianos, recomenda-se a instalação automática através da opção simple. A opção expert disponibiliza um menu à parte com uma série opções passíveis de edição manual. Após a carga do sistema operacional, poderemos redefini-las, se assim desejarmos.

5 Um detalhe importante a ser reconsiderado é que, nas versões anteriores do Slackware e com a série 2.4 do kernel, os hardmodem PCI eram referenciados através do device /dev/ttyS4; porém, nesta versão atual (Slackware 12.0 e kernel 2.6), o nosso modem foi detectado em /dev/ttyS1. Por este motivo, exemplificamos na tela a marcação da opção /dev/ttyS1 ao invés de /dev/ttyS4, embora o nosso dispositivo seja realmente um hardmodem PCI.

44/63

Page 225: Guia Do Linux

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).

Aqui, deveremos definir parâmetros específicos para que sejam passados ao kernel no momento da inicialização. Isto apenas deverá ser feito devido a necessidade de prover ao sistema o suporte a um determinado periférico ou a solução de problemas específicos. Por exemplo, certas unidades de disco rígido não são detectadas corretamente pelo sistema, especialmente para as unidades de disco rígido SATA. Nestas circunstâncias, o uso do parâmetro...

all-generico-ide

... se fará necessário para que este problema seja solucionado.

45/63

Page 226: Guia Do Linux

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.

Nesta etapa apenas definiremos qual a porta do mouse do sistema. Sem muito mistério, deveremos selecionar a opção PS/2, que é o padrão para maioria dos desktops hoje existentes. Para os mouses com rodinhas (scroll-lock), utilizem a opção IMPS/2; e para as máquinas antigas (Pentium, AMD K6 e anteriores), selecionem a opção serial.

Em seguida, deveremos apenas confirmar a habilitação do serviço para que tenhamos disponíveis as funcionalidades do mouse nos terminais.

46/63

Page 227: Guia Do Linux

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.

Durante a inicialização do sistema, podemos habilitar os principais serviços necessários para a sua utilização, bastando apenas marcá-los nesta seção. Se por ventura viermos a esquecer a habilitação e/ou a desabilitação de alguns destes serviços, poderemos inicializar o sistema e executar a ferramenta Slackware Package Tools: na seção Setup, realizem novamente a marcação e/ou a desmarcação do serviço. Para obterem maiores informações, consultem a 2a. Parte: Conhecimentos Gerais.

Caso queiram personalizar as fontes disponíveis para o console, habilitem esta opção e selecionem as que serão exibidas. Como raramente utilizamos esta opção, definimos por não habilitá-la (NO); porém, esta definição ficará ao critério dos usuários, pois caso decidam utilizá-las, lembrem-se de que poderão obter resultados estéticos “desgradáveis”, já que não é possível prevê-los em uma visualização...

Nesta parte, deveremos definir qual o fuso horário a ser utilizado.

Para nós brasileiros, deveremos escolher a opção NO (local), e na tela seguinte, selecionar qual o fuso horário mais aproximado de nossa cidade.

47/63

Page 228: Guia Do Linux

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.

Por último (e mais importante), faltará ser definida apenas a senha de autenticação do superusuário do sistema – o root. Apenas confirmem (Yes).

Será apresentada a seguinte instrução:

48/63

Page 229: Guia Do Linux

Changing password for rootEnter 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.

Press [enter] to continue:_

Teclem <ENTER> conforme as instruções do utilitário.

EXIT – A CONCLUSÃO DO PROCESSO

Enfim, realizado todo o processo de instalação, o instalador exibe uma mensagem de término do processo...

... e retorna ao menu principal.

Não tendo nada mais a fazer, finalizem a instalação (EXIT).

49/63

Page 230: Guia Do Linux

Installation of Slackware Linux is complete.

You may now press ctrl-alt-delete to reboot.

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 LILOA 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.

Welcome to the LILO Boot Loader!

Please enter the name of the partition you would like to bootat the prompt below. The choices are:

DOS - DOS or Windows (FAT/FAT32 partition)Linux - Linux (Linux native partition)

Através das teclas <SETA_ACIMA> e <SETA_ABAIXO>, poderemos escolher qual dos sistemas operacionais desejaremos inicializar. Escolham Linux (o Slackware) e aguardem alguns segundos até o aparecimento da linha de comando para realizar a autenticação.

50/63

Page 231: Guia Do Linux

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: rootPasswd: _

... 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

Page 232: Guia Do Linux

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

SOBRE OS PROCESSOS AUTOMATIZADOS E OS MANUAIS

Antes, gostaríamos de enfatizar sobre duas formas de realizar ajustes e configurações: o processo “automatizado” e o processo “manual”.

O processo automatizado caracteriza-se por utilizar utilitários e scripts de automatização que visam facilitar ao máximo a vida dos administradores, porém na maioria das vezes provem poucos recursos de adaptação e flexibilidade, além de ser ineficientes em muitas circunstâncias específicas. Já o processo manual, ou configuração através do uso da linha de comando e/ou da edição de arquivos de configuração é a forma mais eficiente de obter ótimos resultados, porém é a mais trabalhosa e dependendo do nível de conhecimento técnico e dos recursos necessários.

Conforme dito em outras ocasiões, o Slackware possui um enfoque mais intenso ao uso de procedimentos manuais – o que nos faz supor que teremos circunstâncias mais “desagradáveis” na intervenção direta no sistema em comparação as demais distribuições; mas fiquem tranqüilos: a coisa não é tão complicada assim, como veremos...

SOBRE A EDIÇÃO DE ARQUIVOS DE CONFIGURAÇÃO

Uma das características marcantes do uso de técnicas e procedimentos de configuração manual está na utilização da linha de comando e ferramentas em modo texto como método de intervenção ao invés de ferramentas gráficas intuitivas, diferente da configuração automática, que conta com inúmeras formas e recursos dos mais diferenciados. No Slackware, ela é

52/63

Page 233: Guia Do Linux

bem mais necessária que na maioria das distribuições existentes.6

Edição do arquivo de configuração /etc/X.org/xorg.conf, feita através do editor de textos MCEdit e com o uso do Konsole, o terminal virtual do KDE.

Segue um trecho abaixo de uma reportagem que encontramos na Revista do Linux, edição n. 10, onde descreve uma entrevista com o criador do Slackware, para que se possa ter uma noção da importância da edição de arquivos de configuração em modo texto:

“Existem muitas coisas no prompt que são impossíveis de se fazer com uma interface gráfica. No Linux, muitos parâmetros não são configuráveis com ferramentas gráficas. Os programas gráficos de configuração na verdade roubam do usuário a oportunidade de explorar em detalhes o que o sistema é capaz de fazer. Muitas dessas ferramentas gráficas oferecem apenas uma pequena parte do conjunto de características a serem configuradas.” -- [Patrick Volkerding].

Segue outro trecho abaixo, obtido também da Revista do Linux, edição n. 2 com Alan Cox, um dos mantenedores do kernel:

“Um ambiente gráfico é um bom ambiente para pessoas que não usam o computador com tanta freqüência. Ele o guia, mas limita o que você pode fazer. A interface texto é mais difícil de aprender, mas é muito mais poderosa e rápida no uso constante. O Linux suporta muito bem estes dois tipos de interface, deixando a opção para o usuário.” -- [Alan Cox].

Como podem ver, Patrick Volkerding e Alan Cox apóiam o uso da linha de comando para a realização de ajustes e configurações necessárias para o bom funcionamento do sistema. Acreditamos que, com o aval destes dois grandes especialistas, não será necessário dizer algo à mais...

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

Page 234: Guia Do Linux

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

Page 235: Guia Do Linux

Ferramenta de gerenciamento Pkgtool, seção “Setup”.

No decorrer dos capítulos da próxima parte, estes utilitários serão amplamente utilizados nos mais diversos processos de configuração, possibilitando assim, uma descrição minuciosa e mais detalhada.

OS RECURSOS DO AMBIENTE GRÁFICO KDEOutra opção interessante está no uso dos recursos providos pelo ambiente gráfico KDE. Em destaque, o KDE Control Center (Centro de Controle KDE), disponível tanto no menu K quanto na barra de tarefas.

KDE Control Center (Centro de Controle KDE).

Lá temos a seção System Administration (Administração do Sistema), onde teremos disponíveis entradas para acessar algumas configurações, como ajuste de parâmetros o opções do Kernel e LILO, por exemplo.

55/63

Page 236: Guia Do Linux

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

Page 237: Guia Do Linux

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...

$ archi686$ _

... a quantidade de memória física disponível...

$ free total used free shared buffers cachedMem: 256144 250920 5224 0 21580 120060-/+ buffers/cache: 109280 146864Swap: 530104 12936 517168$ _

... e as mensagens (logs) da última inicialização do kernel...

$ dmesgLinux version 2.4.22 (root@midas) (gcc version 3.2.3) #6 Tue Sep 2 17:43:01 PDT 2003BIOS-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: 32748zone(0): 4096 pages.zone(1): 28652 pages.zone(2): 0 pages.Kernel command line: BOOT_IMAGE=Linux ro root=306Initializing CPU#0Detected 799.779 MHz processor.Console: colour VGA+ 80x25Calibrating delay loop... 1595.80 BogoMIPSMemory: 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.

SOBRE OS MÓDULOS DO KERNEL

Para facilitar a vida dos usuários, o desenvolvedor do Slackware incluiu por padrão os módulos (drivers) da maioria dos periféricos mais utilizados, estes pré-compilados por padrão para serem habilitados durante a

57/63

Page 238: Guia Do Linux

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.

OBTENDO AS ESPECIFICAÇÕES DO EQUIPAMENTO

Muitas das vezes desconhecemos totalmente as especificações técnicas de um determinado periférico instalado em um computador, onde sequer temos noção de sua origem. Justamente neste momento, é que precisaremos descobrir qual o modelo da placa de vídeo (ou chipset) ou que tipo de modem estamos obtendo um péssimo desempenho durante o uso.

Existem diversas formas de obter informações gerais sobre os periféricos disponíveis ao sistema, os quais veremos agora.

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

Page 239: Guia Do Linux

• 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.

OBTENDO INFORMAÇÕES DO /PROC

Muitas vezes será necessário obter determinadas informações sobre o sistema para que possamos prosseguir com a realização de certos ajustes e configurações ainda no próprio sistema e/ou de seus periféricos. Para a nossa felicidade, muitas destas informações poderão ser pesquisadas através do sistema virtual de arquivos /proc.

Na verdade, o diretório /proc não é um sistema de arquivos real, e sim virtual contendo todas as informações gerais do sistema em geral.

# cd /proc# ls1 2423 2513 2545 5 5299 81 execdomains loadavg scsi10 2424 2516 2576 5250 5375 84 fb locks self11 2426 2521 2615 5251 5376 apm filesystems lvm slabinfo132 2427 2530 3 5260 5377 asound fs mdstat stat178 2428 2531 36 5266 5378 bus ide meminfo swaps2 2429 2533 3844 5271 5428 cmdline interrupts misc sys2352 2430 2534 3845 5274 5497 cpuinfo iomem modules sysvipc2369 2431 2535 4 5290 5534 crypto ioports mounts tty2382 2437 2538 4459 5291 5537 devices irq mtrr uptime2384 2451 2540 4921 5292 5538 dma kcore net version2387 2508 2542 4922 5293 5544 dri kmsg partitions2421 2511 2544 4925 5294 6 driver ksyms pci# _

Estrutura do diretório /proc. Os valores numéricos correspondem aos números dos processos em execução.

Através da consulta de seus arquivos, poderemos obter todas as informações necessárias para a realização das atividades de ajuste e configuração do sistema. Com um simples less ou cat, poderemos

59/63

Page 240: Guia Do Linux

visualizar o conteúdo destes “pseudo-arquivos-textos”.

Por exemplo, para obter informações sobre o processador...

$ cat /proc/cpuinfoprocessor : 0vendor_id : AuthenticAMDcpu family : 6model : 8model name : AMD Athlon(tm) XP 2000+stepping : 1cpu MHz : 1668.877cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : nofpu : yesfpu_exception : yescpuid level : 1wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow tsbogomips : 3341.26clflush 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

Page 241: Guia Do Linux

• /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

Page 242: Guia Do Linux

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.

PC Wizard, versão 1.72.

O único inconveniente deste excelente programa está no fato dele ser disponibilizado exclusivamente para a plataforma Windows. Mas “felizmente”, a grande maioria dos usuários optam por manter uma partição separada com este sistema operacional. Se for este o caso (e certamente o será), utilizem este programa para buscar das especificações necessárias.

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

Page 243: Guia Do Linux

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

Page 244: Guia Do Linux

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”.

Page 245: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................6I. VÍDEO – PLACA, MONITOR E MODO GRÁFICO.................7

Introdução.......................................................................................7

Preparativos iniciais.......................................................................7Detecção do chipset para o vídeo.........................................................7

Processo básico de configuração....................................................8xorgconfig..............................................................................................8

Instruções básicas..........................................................................................8Mouse.............................................................................................................8Teclado.........................................................................................................10Monitor.........................................................................................................11Placa de vídeo..............................................................................................14Memória da placa de vídeo..........................................................................16Descrição do periférico................................................................................17Resoluções e profundidade de cor...............................................................17Finalizando...................................................................................................19

Outras ferramentas.............................................................................20

As aceleradoras gráficas 3D.........................................................21O servidor gráfico e as aceleradoras.................................................21Preparativos necessários....................................................................22

GLX / DRI......................................................................................................22Suporte ao barramento AGP........................................................................23

Drivers proprietários..........................................................................23ATI................................................................................................................23nVidia...........................................................................................................24

Sobre o X.org.................................................................................24

Sobre os drivers VESA...................................................................25

Conclusão......................................................................................25

II. AUDIO – PLACA DE SOM......................................27Introdução.....................................................................................27

Preparativos iniciais.....................................................................27Detecção do chipset para o som.........................................................27Checando o carregamento dos módulos............................................28Definindo as permissões de acesso....................................................28

Os drivers ALSA.............................................................................28Configurando a placa de som.............................................................29Ajustes finais (mixer)..........................................................................30Os devices............................................................................................31Problemas mais freqüentes................................................................31

Sobre os antigos drivers OSS........................................................32

Conclusão......................................................................................32

Page 246: Guia Do Linux

III. MODEM – PLACA DE FAX-MODEM..........................34Introdução.....................................................................................34

Preparativos iniciais.....................................................................34Detecção do chipset para o fax-modem.............................................34O código-fonte do kernel....................................................................35Atalho e permissões de acesso...........................................................36

Processo genérico de configuração..............................................36Softmodens..........................................................................................36Hardmodens........................................................................................37

Preparativos finais........................................................................38Carregamento de módulos para a discagem.....................................38Configuração e inicialização do discador...........................................38

Conflitos de IRQs e portas seriais................................................44Configuração padrão das portas seriais.............................................44Setserial...............................................................................................45

Sobre os softmodens.....................................................................46

Conclusão......................................................................................47

IV. UNIDADES DE ARMAZENAMENTO............................48Introdução.....................................................................................48

Discos rígidos................................................................................48HDParm................................................................................................48

Obtendo informações sobre o disco rígido..................................................49Mão na massa...............................................................................................50Otimizações finais........................................................................................56Parâmetros opcionais...................................................................................57Observações importantes.............................................................................57Interfaces gráficas.......................................................................................58Agradecimentos...........................................................................................58

SMART.................................................................................................59smartctl........................................................................................................59smartd..........................................................................................................60

Gravadores de CD/DVDs................................................................61Reconhecimento do sistema...............................................................61Permissões de acesso..........................................................................61

Memórias eletrônicas...................................................................62

Gerenciamento de unidades e partições......................................63Os arquivos de configuração..............................................................63

/etc/fstab.......................................................................................................63/etc/mtab.......................................................................................................65

Conclusão......................................................................................66

V. TECLADO E MOUSE.............................................67Introdução.....................................................................................67

O teclado.......................................................................................67Configurações básicas.........................................................................67

Page 247: Guia Do Linux

Modo gráfico................................................................................................67Modo texto...................................................................................................68

Intervenções mais freqüentes............................................................68Habilitando as famosas “teclas do Windows”..............................................68Aumentando a velocidade............................................................................69

O mouse.........................................................................................69O GPM..................................................................................................69Configurações básicas.........................................................................70

Modo gráfico................................................................................................70Modo texto...................................................................................................71

Intervenções mais freqüentes............................................................72Mouses ópticos.............................................................................................72... e com scroll lock (com rodinhas)..............................................................72Com conexão USB........................................................................................72

Conclusão......................................................................................73

VI. O KERNEL LINUX.............................................74Introdução.....................................................................................74

Considerações básicas..................................................................74As particularidades do kernel.............................................................74O sistema de controle de versões......................................................74A localização de seus componentes....................................................75A equipe de desenvolvimento.............................................................77

Os módulos do kernel...................................................................77A manutenção......................................................................................77

lsmod............................................................................................................77modprobe.....................................................................................................79insmod..........................................................................................................79depmod.........................................................................................................80modinfo.........................................................................................................80rmmod..........................................................................................................80

O manuseio de módulos pré-compilados...........................................81A localização dos arquivos..................................................................81Observações finais..............................................................................82

O processo de compilação.............................................................82Sobre o processo de compilação........................................................82

O principal motivo........................................................................................82Entre outros aspectos interessantes............................................................83

Os preparativos iniciais.......................................................................83Cópia de segurança dos dados do sistema...................................................84A elaboração de pendrives de inicialização.................................................84Cópia de segurança da configuração anterior.............................................85

Iniciando os procedimentos................................................................85Atendendo os requerimentos básicos..........................................................85Limpando as definições prévias...................................................................85Inicializando as interfaces de interação......................................................86Sobre a habilitação de parâmetros..............................................................88As classes de atributos.................................................................................88

Realizando a compilação.....................................................................89Salvando as alterações realizadas...............................................................89Realizando a checagem das pendências......................................................89

Page 248: Guia Do Linux

Construindo a imagem compactada do kernel.............................................90Realizando a compilação dos módulos.........................................................90

Os preparativos finais.........................................................................91Recomendações gerais........................................................................91

Conclusão......................................................................................92

Page 249: Guia Do Linux

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

Page 250: Guia Do Linux

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

DETECÇÃO DO CHIPSET PARA O VÍDEO

Para obtermos as informações sobre as referências técnicas da placa ou do chipset de vídeo onboard em uso, deveremos utilizar o comando lspci, combinado-o com a palavra-chave VGA:

# lspci -v | grep -i VGA01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8378 [S3 UniChrome] Integrated Video (rev 01) (prog-if 00 [VGA])# _

Sem maiores dificuldades, vemos que as informações acima referem-se as especificações do vídeo onboard VT8378 (S3 UniChrome, dotado de aceleração 3D), localizado no chipset ponte norte KM400, que por sua vez é fabricado pela Via Tecnologies e utilizado em diversas placas-mãe.

Para obterem informações mais detalhadas, poderemos utilizar...

# lspci -v

... e buscar o trecho referente ao sistema de vídeo...

...01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8378 [S3 UniChrome] Integrated Video (rev 01) (prog-if 00 [VGA]) Subsystem: ABIT Computer Corp. Unknown device 140c Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 11 Memory at e0000000 (32-bit, prefetchable) [size=64M] Memory at e4000000 (32-bit, non-prefetchable) [size=16M] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: [60] Power Management version 2 Capabilities: [70] AGP version 2.0...

Claramente observamos a referência do fabricante da placa-mãe (Abit Computer Corp.) e o tipo de barramento suportado (AGP 2.0), além de

7/92

Page 251: Guia Do Linux

outras informações menos preponderantes.

PROCESSO BÁSICO DE CONFIGURAÇÃO

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

Após inicializar o utilitário, serão exibidas as seguintes informações:

This program will create a basic xorg.conf file, based on menu selectionsyou make. It will ask for a pathname when it is ready to write the file.

The xorg.conf file usually resides in /etc/X11 or /usr/etc/X11. Ifno xorg.conf file is present there, Xorg will probe the system toautoconfigure itself. You can run Xorg -configure to generate a xorg.conffile based on the results of autoconfiguration, or let this programproduce a base xorg.conf file for your configuration, and fine-tune it.A sample xorg.conf file is also supplied with Xorg; it is configuredfor a standard VGA card and monitor with 640x480 resolution.

There are also many chipset and card-specific options and settings available,but this program does not know about these. On some configurations some ofthese settings must be specified. Refer to the X driver man pages and thechipset-specific READMEs in /usr/lib/X11/doc for further details.

Before continuing with this program, make sure you know what video cardyou have, and preferably also the chipset it uses and the amount of videomemory on your video card, as well as the specifications of your monitor.

Press enter to continue, or ctrl-c to abort.

Conforme as instruções do utilitário, teclamos <ENTER> e seguimos adiante para a próxima etapa.

MOUSE

First specify a mouse protocol type. Choose one from the following list:

1. Auto

8/92

Page 252: Guia Do Linux

2. SysMouse 3. MouseSystems 4. PS/2 5. Microsoft 6. Busmouse 7. IMPS/2 8. ExplorerPS/2 9. GlidePointPS/210. MouseManPlusPS/211. NetMousePS/212. NetScrollPS/213. ThinkingMousePS/214. AceCad

The recommended protocol is Auto. If you have a very old mouseor don't want OS support or auto detection, and you have a two-buttonor three-button serial mouse, it is most likely of type Microsoft.

Enter a protocol number:

Nesta seção devemos informar ao utilitário o protocolo do mouse utilizado neste computador. Em nosso caso estamos utilizamos um mouse PS/2 de 3 botões com rodinhas (scroll), conforme as instruções da embalagem, é compatível com o mouse da Microsoft. Escolheremos então 7 + <ENTER>.

Enter a protocol number: 7

If your mouse has only two buttons, it is recommended that you enableEmulate3Buttons.

Please answer the following question with either 'y' or 'n'.Do you want to enable Emulate3Buttons? _

O utilitário questiona ao usuário se este mouse possui dois botões. Ele pergunta se deseja emular o 3o. Botão, para caso o mouse não possua. A funcionalidade do 3o. botão é habilitada quando pressionamos os dois botões do mouse juntos, muito útil em diversas aplicações. Como possuímos este mouse, esta emulação é desnecessária, então apenas digitaremos n + <ENTER> e continuaremos com o processo de configuração.

Do you want to enable Emulate3Buttons? N

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

Page 253: Guia Do Linux

TECLADO

Please select one of the following keyboard types that is the betterdescription 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

Enter a number to choose the keyboard.

Press enter for the next page_

Agora o utilitário solicita-nos informar qual o mapa do teclado utilizado neste computador. Não confunda com o mapa do teclado carregado durante a inicialização do sistema. Em nosso caso, pressionaremos <ENTER>...

Please select one of the following keyboard types that is the betterdescription of your keyboard. If nothing really matches,choose "Generic 104-key PC"

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)

Enter a number to choose the keyboard.

10/92

Page 254: Guia Do Linux

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

Enter a number to choose the country.Press enter for the next page_

Neste caso basta apenas digitar o valor referente ao nosso país, no caso Brasil. sem muito mistério, digitem 13 + <ENTER>.

Please enter a variant name for 'br' layout. Or just press enterfor default variant_

A questão acima mencionada é recomendada para a utilização de um teclado variante do padrão oficial. Como no Brasil utilizamos o padrão ABNT-2, bastam apenas que teclem <ENTER>.

Please answer the following question with either 'y' or 'n'.

Do you want to select additional XKB options (group switcher,

group indicator, etc.)?

Esta opção será para criar um novo grupo com permissões inerentes a configuração do teclado. Apenas digitem n + <ENTER>.

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

Page 255: Guia Do Linux

parameters are the vertical refresh rate, which is the rate at which thethe whole screen is refreshed, and most importantly the horizontal sync ratewhich is the rate at which scanlines are displayed.

The valid range for horizontal sync and vertical sync should be documentedin 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.

Press enter to continue, or ctrl-c to abort.

Esta é a fase mais crítica da configuração, pois caso as freqüência seja informada incorretamente, haverá o risco de danos ao monitor. deveremos ter certeza de que estamos utilizando todos os parâmetros corretos, caso contrário poderemos perder um caro componente do computador.

Para dar seqüência ao processo, apenas pressionem <ENTER>.

You must indicate the horizontal sync range of your monitor. You can eitherselect one of the predefined ranges below that correspond to industry-standard monitor types, or give a specific range.

It is VERY IMPORTANT that you do not specify a monitor type with a horizontalsync range that is beyond the capabilities of your monitor. If in doubt,choose a conservative setting.

hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz11 Enter your own horizontal sync range

Enter your choice (1-11): _

Aqui devemos consultar o manual do monitor de vídeo e procurar suas definições de freqüência da varredura horizontal. Geralmente essas configurações estão situadas em capítulos ou seções com o título Especificações Técnicas. Caso tenhamos a infelicidade de não possuir a disposição o manual do equipamento, basta virar o monitor de costas: certamente que atrás dele deverá constar suas especificações técnicas.

Se as freqüências do utilitário não se enquadrarem as especificações do equipamento em uso, existe a opção 11 do xorgconfig que permitirá lançar manualmente a freqüência correta. Por utilizarmos um monitor de 15” fabricado pela LG, modelo Flatron EZ T530S, que possui a freqüência horizontal de 30 a 56 Hz, deveremos então digitar 11 + <ENTER>.

Enter your choice (1-11): 11

12/92

Page 256: Guia Do Linux

Please enter the horizontal sync range of your monitor, in the format usedin the table of monitor types above. You can either specify one or morecontinuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.

Horizontal sync range: _

Agora é só informar a freqüência de acordo com o formato solicitado pelo utilitário. No caso do monitor acima referido, será 30-56 + <ENTER>.

Horizontal sync range: 30-56

You must indicate the vertical sync range of your monitor. You can eitherselect 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

Enter your choice: _

O mesmo vale para a freqüência de varredura vertical. Também existe uma opção que nos permite lançar a freqüência vertical do nosso monitor – a 5. Neste caso, digitem 5 + <ENTER> se as freqüências do utilitário não se enquadrarem com as freqüências disponibilizadas.

Enter your choice: 5

Vertical sync range: _

Da mesma forma que na freqüência horizontal, informar ao utilitário a freqüência vertical do monitor de acordo com o formato solicitado (o mesmo formato da freqüência horizontal). Em nosso caso, o monitor utiliza os valores de 50 a 120 Hz. Informaremos estes valores e teclem <ENTER>:

Vertical sync range: 50-120

You must now enter a few identification/description strings, namely anidentifier, a vendor name, and a model name. Just pressing enter will fillin default names.

The strings are free-form, spaces are allowed.Enter an identifier for your monitor definition: _

Agora é só informar a nomenclatura de identificação do monitor. Se desejarmos, poderemos apenas pressionar <ENTER> e continuar com o processo de configuração, já que estas definições são opcionais. Em nosso caso digitamos o texto LG Flatron EZ T530S.

13/92

Page 257: Guia Do Linux

PLACA DE VÍDEO

Now we must configure video card specific settings. At this point you canchoose to make a selection out of a database of video card definitions.Because there can be variation in Ramdacs and clock generators evenbetween cards of the same model, it is not sensible to blindly copythe settings (e.g. a Device section). For this reason, after you make aselection, you will still be asked about the components of the card, withthe settings from the chosen database entry presented as a strong hint.

The database entries include information about the chipset, what driver torun, the Ramdac and ClockChip, and comments that will be included in theDevice section. However, a lot of definitions only hint about what driverto 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 asyour card; choosing one that looks similar is just a bad idea (e.g. AGemStone Snail 64 may be as different from a GemStone Snail 64+ in terms ofhardware as can be).

Do you want to look at the card database? _

Agora vamos para a etapa de configuração da placa de vídeo. O utilitário apenas deseja saber se queremos dar uma olhada nos modelos existentes suportados pelo X.org. Claro que sim! Se não, como saberemos a especificação da nossa placa de vídeo? Digitem então y + <ENTER>.

0 * Generic VESA compatible - 1 * Generic VGA compatible - 2 * Unsupported VGA compatible - 3 ** 3DLabs, TI (generic) [glint] - 4 ** 3Dfx (generic) [tdfx] - 5 ** ASPEED Technology (generic) [ast] - 6 ** ATI (generic) [ati] - 7 ** ATI Radeon (generic) [radeon] - 8 ** ATI Rage 128 based (generic) [r128] - 9 ** Alliance Pro Motion (generic) [apm] - 10 ** Ark Logic (generic) [ark] - 11 ** Chips and Technologies (generic) [chips] - 12 ** Cirrus Logic (generic) [cirrus] - 13 ** Cyrix MediaGX (generic) [cyrix] - 14 ** DEC TGA (generic) [tga] - 15 ** Intel i740 (generic) [i740] - 16 ** Intel i810 (generic) [i810] - 17 ** Linux framebuffer (generic) [fbdev] -

Enter a number to choose the corresponding card definition.Press enter for the next page, q to continue configuration.

_

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

Page 258: Guia Do Linux

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 VGA01: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

Enter a number to choose the corresponding card definition.Press enter for the next page, q to continue configuration.

_

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

1 Um detalhe importante a ser mencionado é que, mesmo com a escolha do driver genérico S3, a configuração feita manualmente não funcionou; mas ao inicializar o utilitário de detecção xorgsetup, este detectou o chipset corretamente e o configurou para utilizar o driver via, vindo a funcionar perfeitamente (consultamos o arquivo de configuração gerado). Mesmo sabendo que o servidor X.org suporta este chipset corretamente (inclusive com a aceleração gráfica), não encontramos a menção do driver via na listagem das placas suportadas. Por isso, manteremos estas informações apenas para efeito de instrução.

15/92

Page 259: Guia Do Linux

Your selected card definition:

Identifier: ** S3 (not ViRGE or Savage) (generic) [s3]Chipset: -Driver: s3

Press enter to continue, or ctrl-c to abort.

Apenas confirmem a configuração escolhida, pressionando <ENTER> para continuar. Caso tenham feito uma escolha errda, acionem a combinação de teclas <CTRL> + C para cancelar todo o processo de configuração.

MEMÓRIA DA PLACA DE VÍDEO

A partir deste ponto, deveremos definir a quantidade de memória disponível físicamente na placa de vídeo, ou compartilhada com a memória principal, caso estejamos utilizando um chipset de vídeo integrado na placa-mãe.

Now you must give information about your video card. This will be used forthe "Device" section of your video card in xorg.conf.

It is probably a good idea to use the same approximate amount as that detectedby the server you intend to use. If you encounter problems that are due to theused server not supporting the amount memory you have, specify the maximumamount supported by the server.

How much video memory do you have on your video card:

1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 8192K 7 16384K 8 32768K 9 65536K10 131072K11 262144K12 Other

Enter your choice: _

Praticamente todas as opções se encontram aqui, porém há casos em que a quantidade de memória não se enquadra na listagem apresentada. Um belo exemplo é a antiga aceleradora de vídeo Monster Fusion, da Diamond, equipada com o chipset Voodoo2 e 12 MB de memória RAM. Neste caso deverá ser digitada a opção 12 + <ENTER> e o utilitário logo solicitará informar a quantidade de memória em KB da placa de vídeo em questão, neste caso o valor 12288. Veja o pequeno exemplo abaixo:

16/92

Page 260: Guia Do Linux

Enter your choice: 12

Amount of video memory in kbytes: _

Mas, como estamos lidando com um chipset em que foi definido o valor de 16 MB de memória compartilhada, bastará então utilizar a opção 7.

DESCRIÇÃO DO PERIFÉRICO

Nesta seção, o utilitário apenas exibe o modelo definido pela seleção manual e, da mesma forma que foi feito na vez do monitor, é solicitada uma nomenclatura para a identificação da placa de vídeo.

Enter your choice: 7

You must now enter a few identification/description strings, namely anidentifier, a vendor name, and a model name. Just pressing enter will fillin default names (possibly from a card definition).

Your card definition is ** S3 (not ViRGE or Savage) (generic) [s3].

The strings are free-form, spaces are allowed.Enter an identifier for your video card definition: _

A especificação desta identificação é opcional, podendo ser livremente definida ou não. Em nosso caso, digitaremos Via IGP S3 UniChrome + <ENTER>; mas, poderíamos perfeitamente ter teclado apenas <ENTER>.

RESOLUÇÕES E PROFUNDIDADE DE COR

Agora iremos definir quais as resoluções e profundidade de cor que serão apresentadas pelo sistema quando executarmos o ambiente gráfico X.

For each depth, a list of modes (resolutions) is defined. The defaultresolution that the server will start-up with will be the first listedmode that can be supported by the monitor and card.Currently it is set to:

"1280x1024" "1024x768" "800x600" "640x480" for 8-bit"1280x1024" "1024x768" "800x600" "640x480" for 16-bit"1280x1024" "1024x768" "800x600" "640x480" for 24-bit

Modes that cannot be supported due to monitor or clock constraints willbe automatically skipped by the server.

1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue.

Enter your choice: _

Observem que foram habilitadas várias resoluções de vídeo para outras várias profundidades de cores. Assim, dependendo da profundidade de

17/92

Page 261: Guia Do Linux

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

Select modes from the following list:

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 adefault 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 largerthan the physical screen and which is panned by moving the mouse to the edgeof 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 adifferently-sized virtual screen

Please answer the following question with either 'y' or 'n'.Do you want a virtual screen that is larger than the physical screen? _

2 A opção 432 seleciona as resoluções 1024x768, 800x600 e 640x480, onde a 1a. definição (valor 4) define a resolução de 1024x768 como padrão assim que o modo gráfico é inicializado.

18/92

Page 262: Guia Do Linux

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 defaultresolution that the server will start-up with will be the first listedmode that can be supported by the monitor and card.Currently it is set to:

"1280x1024" "1024x768" "800x600" "640x480" for 8-bit"1280x1024" "1024x768" "800x600" "640x480" for 16-bit"1024x768" for 24-bit

Modes that cannot be supported due to monitor or clock constraints willbe automatically skipped by the server.

1 Change the modes for 8-bit (256 colors) 2 Change the modes for 16-bit (32K/64K colors) 3 Change the modes for 24-bit (24-bit color) 4 The modes are OK, continue.

Enter your choice: _

Enfim, o utilitário novamente nos mostra a lista de profundidade de cores para que possamos definir as demais profundidades & resoluções. Note agora que a profundidade de cor de 24 bits possui apenas uma única definição de resolução, graças a escolha que realizamos ao configurá-la.

Caso queiram escolher outras resoluções as demais profundidade de cores, digitem a opção que lhe corresponde + <ENTER>. Senão, confirmem as escolhas feitas digitando a opção 4 + <ENTER>.

Please specify which color depth you want to use by default:

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)

Enter a number to choose the default depth.

Agora iremos definir a profundidade de cores padrão do sistema, ou seja, a quantidade de cores simultâneas o qual o servidor X poderá exibir ao executarmos o ambiente gráfico. Escolheremos a opção 5 + <ENTER>, pois foi a única que definimos um único padrão de resolução.

FINALIZANDO

Enfim, para encerrar este processo, o utilitário questionará se

19/92

Page 263: Guia Do Linux

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 accidentlyoverwrite a previously configured one.

Do you want it written to the current directory as 'xorg.conf'? _

Simplesmente confirmem esta opção, teclando y + <ENTER>.

File has been written. Take a look at it before starting an X server. Note thatthe xorg.conf file must be in one of the directories searched by the server(e.g. /etc/X11) in order to be used. Within the server pressctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,alt and backspace simultaneously immediately exits the server (use ifthe monitor doesn't sync for a particular mode).

For further configuration, refer to the xorg.conf(5x) manual page.

$ _

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.

$ suPassword: [SENHA]# copy xorg.conf /etc/X11# exitexit$ _

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

Page 264: Guia Do Linux

... 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 3DEm 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.

O SERVIDOR GRÁFICO E AS ACELERADORAS

À partir da versão 4.1.0 do antigo Xfree86, o servidor gráfico passou a suportar nativamente os recursos de aceleração gráfica disponíveis em diversas placas 3D do mercado (“herdado” também pelo X.org). Com isto, os sistemas GNU/Linux passaram a ter suporte a diversas aplicações que requerem o uso de aceleração via hardware, como os modeladores gráficos, ferramentas de arte gráfica, jogos e muitos outros. Porém, muitos dos drivers inclusos, apesar de terem o código aberto e apresentarem bom desempenho, encontram-se ainda em um patamar bem inferior aos drivers de código fechado dos principais fabricantes, e mesmo tendo a opção de uso destes, ainda serão necessários a instalação dos drivers proprietários.

As aceleradoras de vídeo da série Voodoo, fabricadas pela então extinta 3DFx, foram as primeiras a terem suporte em sistemas GNU/Linux graças a liberação das especificações de sua API Glide, desenvolvida pela 3DFx, o qual a empresa a forneceu para o desenvolvimento de drivers nativos sob os termos de licenciamento NDA - Non-disclosure agreement –, que entre suas exigências, tais informações não deveriam ser repassadas a terceiros. Mas, por volta do ano 2000, este grande fabricante se encontrava no vermelho e fechar as portas para ela era inevitável. Mas antes, foi adquirida pela nVidia, uma outra empresa que, na época, era a

3 GPU – Graphics Processor Units, significa “Unidade de processamento gráfico”.

21/92

Page 265: Guia Do Linux

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

Page 266: Guia Do Linux

SUPORTE AO BARRAMENTO AGPPara 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 agpvia_agp 8192 1agpgart 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

Page 267: Guia Do Linux

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

Page 268: Guia Do Linux

✔ <http://www.xfree86.org/>.

O XFree86 é uma implementação livre do X Windows4 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.

SOBRE OS DRIVERS VESAPossivelmente muitos usuários deverão estar se perguntando: “Ué, mas se o X.org suporta uma grande variedade de placas de vídeo, porquê a minha antiga placa modelo X, capacidade Y e marca Z não se encontra aqui?”

Bem, até a versão 3.3.6, o servidor gráfico suportava uma quantidade de modelos antigos relativamente grande, porém já estava ficando saturado da grande quantidade de drivers existentes e pouco uso. Então a Conectiva desenvolveu um conjunto de drivers VESA genérico para suprir o uso destas placas de vídeo, pois ainda praticamente todas as placas de vídeo em uso suportam o padrão VESA.

A partir da versão 4.0, o X.org deixou de incorporar drivers das placas de vídeo mais antigas, substituindo-as pelo driver VESA genérico.

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

Page 269: Guia Do Linux

ponto que poderemos usufruí-lo praticamente no mesmo nível de performance em comparação aos demais sistemas operacionais. &;-D

26/92

Page 270: Guia Do Linux

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

DETECÇÃO DO CHIPSET PARA O SOM

Para obtermos as informações sobre as especificações técnicas do sistema de áudio, deveremos utilizar o comando lspci, combinado-o com a palavras-chave audio para filtrar as referências dos dispositivos:

# lspci -v | grep -i audio

Deverá ser exibido na tela do monitor uma mensagem constando as referências técnicas do hardware instalado no computador:

00:07.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)

Neste exemplo, as informações exibidas pelo utilitário referem-se a uma Creative Sound Blaster Live! PCI, com o processador de áudio Emu10k1.

00:0a 0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)

Neste outro exemplo trata-se de uma placa de som Crystal com processador de áudio Sound Blaster 64V PCI, onde também consta seu módulo correspondente, neste caso es1371.

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 -v

..., onde serão exibidas as informações de diversos periféricos. Localizem somente aqueles trechos referentes ao periférico...

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50) Subsystem: ABIT Computer Corp. Unknown device 140b Flags: medium devsel, IRQ 5 I/O ports at e400 [size=256] Capabilities: [c0] Power Management version 2

Neste último caso, trata-se de um dispositivo de áudio onboard, onde os

27/92

Page 271: Guia Do Linux

circuitos integrados são provenientes do chipset VT8235 (ponte sul) e a referência Abit Computer Corp. definem o fabricante da placa-mãe.

CHECANDO O CARREGAMENTO DOS MÓDULOS

Antes, verifiquem se os módulos foram corretamente carregados:

$ lsmod | grep sndsnd_seq_dummy 2692 0snd_seq_oss 28032 0snd_seq_midi_event 5888 1 snd_seq_osssnd_seq 42576 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_eventsnd_pcm_oss 38432 0snd_mixer_oss 13824 1 snd_pcm_osssnd_via82xx 22296 0gameport 10760 1 snd_via82xxsnd_ac97_codec 96292 1 snd_via82xxac97_bus 2048 1 snd_ac97_codecsnd_pcm 65160 3 snd_pcm_oss,snd_via82xx,snd_ac97_codecsnd_timer 17540 2 snd_seq,snd_pcmsnd_page_alloc 7432 2 snd_via82xx,snd_pcmsnd_mpu401_uart 6272 1 snd_via82xxsnd_rawmidi 18080 1 snd_mpu401_uartsnd_seq_device 6540 4 snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidisnd 41956 11 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_via82xx,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_devicesoundcore 5728 1 snd$ _

DEFININDO AS PERMISSÕES DE ACESSO

Para que todos os usuários do sistema tenham acesso aos recursos de áudio existente nestes periféricos, devemos incluí-los no grupo audio. Para isto, digitem na linha de comando...

# gpasswd -a darkstar audioAdding user darkstar to group audio# _

Onde darkstar representa a nossa conta de usuário para a autenticação.

Não é recomendado realizar intervenções nas permissões de acesso dos dispositivos de áudio. Optem sempre por incluir o usuário no grupo audio.

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

Page 272: Guia Do Linux

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.

CONFIGURANDO A PLACA DE SOM

Conforme enfatizado diversas vezes, o Slackware não possui utilitários nativos da distro para a configuração de diversos periféricos do sistema; porém, quanto as placas de som, até antes não havia implementação de nenhum utilitário para esta finalidade, como o sndconfig ou qualquer outro utilizado em outras distribuições. Mas a partir da versão 9.0 da distribuição e, com a incorporação dos drivers ALSA, este processo passou a ser automatizado graças aos utilitários de configuração inerentes aos drivers.

Para iniciar a configuração de uma placa de som, teremos que utilizar uma ferramenta especial que funciona em modo texto: o Alsaconf.

# alsaconf

O utilitário apresentará uma uma tela de boas vidas, descrevendo em seguida algumas de suas características, além de recomendações gerais sobre o processo. Por ser simples e de fácil entendimento, bastará apenas seguirmos as instruções apresentadas por este assistente.

Tela de boas vindas.

O utilitário irá realizar o processo de detecção do periférico instalado no sistema, e ao encontrar as possíveis especificações, será exibido ao administrador os modelos compatíveis suportados.

29/92

Page 273: Guia Do Linux

Especificações do chipset encontrado durante a verificação.

Bastará selecionar o item referente ao periférico e solicitar a alteração do arquivo /etc/modules.conf para definir as suas propriedades.

Alteração das definições de /etc/modules.conf.

Terminada a configuração, o utilitário realiza as alterações finais para disponibilizar ao sistema os recursos proporcionados pela placa de som.

Loading driver...Loading ALSA mixer settings: /usr/sbin/alsactl restoreLoading OSS compatibility modules for ALSA.Setting default volumes...===========================================================================

Now ALSA is ready to use. For adjustment of volumes, please use alsamixer or gamix.

Have a lot of fun!

# _

Sem grandes mistérios, o periférico e seus recursos estarão disponíveis.

AJUSTES FINAIS (MIXER)Uma observação importante é que, mesmo corretamente detectada e configurada, a placa de áudio não emitirá qualquer som pois os canais de áudio são pré-configurados como mudo e o volume no mínimo. Para realizar os ajustes necessários, executem o configurador alsamixer, evocando-o na linha de comando com...

# alsamixer

... onde será apresentado uma interface texto simples, prática e intuitiva, bastando utilizar as teclas <SETA_ACIMA> e <SETA_ABAIXO> para ajustar as proporções de áudio, <SETA_ESQUERDA> e <SETA_DIREITA> para navegar entre os ítens passíveis de configuração.

30/92

Page 274: Guia Do Linux

Para encerrar e gravar as alterações realizadas, basta apenas teclar <ESC>.

Interface de ajuste do AlsaMixer (em preto & branco, para melhor visualização).

Certifiquem-se de que são atribuídos aos usuários o grupo audio, necessário para que ele tenha permissões de acesso para a utilização dos recursos de áudio pelos usuários dos sistema. Para isto, consultem a 2a. Parte: Conhecimentos Gerais -> Contas de usuários de grupos de acesso.

OS DEVICES

Os device do sistema de áudio ficam armazenados em /dev/sound.

# cd /dev/sound# ls -ltotal 0crw-rw--w- 1 root audio 14, 12 2007-08-11 17:40 adspcrw-rw--w- 1 root audio 14, 4 2007-08-11 17:40 audiocrw-rw--w- 1 root audio 14, 3 2007-08-11 17:40 dspcrw-rw--w- 1 root audio 14, 0 2007-08-11 17:40 mixercrw-rw--w- 1 root audio 14, 1 2007-08-11 17:40 sequencercrw-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.

PROBLEMAS MAIS FREQÜENTES

Em muitas circunstâncias teremos algumas anomalias na utilização do sistema de áudio. Um problema clássico está no fato de ser apresentado uma terrível chiadeira ao ligar os periféricos responsáveis pela reprodução do áudio (caixas de som e fones de ouvido).

Na maioria dos casos, o problema é resolvido apenas com o comando...

# alsactl restore

31/92

Page 275: Guia Do Linux

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.

SOBRE OS ANTIGOS DRIVERS OSS✔ <http://www.4front-tech.com/linux.html>.

O kernel dos sistemas GNU/Linux suporta nativamente algumas placas de som. Isto é graças ao antigo Projeto OSS/Free, que por sua vez derivou-se do projeto OSS/Linux, que são drivers produzidos pela empresa 4Front Technologies, que os comercializa sua licença de uso oferecendo em troca algumas implementações, que por sua vez disponibiliza maiores recursos e possui maiores facilidades para a sua instalação.

Como exemplo, a placa Sound Blaster Live! é suportada pela distribuição, do qual na seção ### Sound support ### consta as seguintes referências:

# Sound Blaster Live support:#/sbin/modprobe emu10k1

Após desmarcar o comentário, ficará então assim:

# Sound Blaster Live support:/sbin/modprobe emu10k1

Para habilitar imediatamente o suporte ao periférico desejado, basta utilizar na linha de comando a referência acima:

# modprobe emu10k1

Verifique se existam outros módulos para serem habilitados, pois como exemplo, esta placa de som possui suporte ao joystick, que deverá ser habilitado também desmarcando o comentário, este descrito na seção ### Joystick support ### desta forma:

# SoundBlaster Live! Gameports:/sbin/modprobe emu10k1-gp

Sem muito mistério, os demais periféricos, caso constem nesta listagem, deverão ser habilitados utilizando o mesmo procedimento.

Atenção: poderemos utilizar este procedimento para as versões posteriores do Slackware; porém estaremos utilizando a arquitetura OSS ao invés do ALSA, que por sua vez é muito inferior tecnológicamente. Portanto, utilizem estes drivers apenas como uma opção para utilizar as antigas placas de som que não são suportadas atualmente pelos drivers ALSA.

CONCLUSÃO

Felizmente a grande maioria das placas de som possuem suporte nos

32/92

Page 276: Guia Do Linux

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

Page 277: Guia Do Linux

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

DETECÇÃO DO CHIPSET PARA O FAX-MODEM

Para obtermos as informações sobre os chipsets do fax-modem em uso, deveremos utilizar o comando lspci, combinado-o com a palavra-chave Modem para filtrar as referências dos dispositivos:

# lspci -v | grep -i Modem

O resultado obtido deverá ser algo similar a...

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)# _

As vezes, a palavra-chave Modem pode não servir para a filtragem do processo de identificação do dispositivo. Nestas circunstâncias, poderemos utilizar outros termos como Communication, FaxModem, HSP ou qualquer outra referência – inclusive a sua marca, se for do nosso conhecimento:

# lspci | grep -i 3Com00:09.0 Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev 01)# _

Se ainda não obtivermos os resultados desejados, deveremos tentar...

# lspci00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4)00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]

34/92

Page 278: Guia Do Linux

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

Page 279: Guia Do Linux

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 uucpAdding user darkstar to group uucp# _

Se preferirem, usem utilitários gráficos para esta finalidade (KUser).

PROCESSO GENÉRICO DE CONFIGURAÇÃO

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

Page 280: Guia Do Linux

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

Page 281: Guia Do Linux

padrão das portas seriais para obter as referências necessárias para a correta configuração do modem.

PREPARATIVOS FINAIS

CARREGAMENTO DE MÓDULOS PARA A DISCAGEM

Certifiquem-se de que os módulos PPP para conexão discada estejam préviamente carregados. Como superusuário do sistema, digitem:

# lsmod | grep ppp

Dentre os módulos disponíveis, deverão constar os seguintes:

# lsmod | grep pppppp_deflate 4736 0ppp_async 8832 1crc_ccitt 1920 1 ppp_asyncppp_generic 21780 7 ppp_deflate,bsd_comp,ppp_asyncslhc 6144 1 ppp_generic# _

Caso não estejam disponíveis, utilizem o modprobe para habilitá-los...

# modprobe ppp_generic# _

Para habilitá-los toda vez que o sistema é inicializado (se o mesmo não o fizer), editem o arquivo /etc/rc.d/rc.modules e inclua esta linha:

modprobe ppp_generic

Pronto! Agora, é só realizar a configuração das propriedades de discagem.

Geralmente estes módulos são carregados por padrão, já que os sistemas de autodetecção do sistema fica encarregado deste processo.

CONFIGURAÇÃO E INICIALIZAÇÃO DO DISCADOR

O Slackware possui sua ferramenta nativa de configuração, o PPPD, um programa relativamente fácil de usar.

pppsetup.

Porém, por se tratar de uma ferramenta em modo texto, possívelmente

38/92

Page 282: Guia Do Linux

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.

Devido a facilidades proporcionadas pelo KPPP para a configuração da discagem, omitiremos as informações gerais sobre este processo, onde nos concentraremos apenas na ferramenta padrão da distribuição.

Para configurar o discador, basta evocá-lo com o comando...

# pppsetup

... e seguir as instruções do utilitário.

Modo de discagem e números do telefone.

Esta parte é bem simples. Basta digitar o número do telefone do provedor de acesso , precedido antes dos seguintes caracteres:

• atdt -> Discagem por tom;

• atdp -> Discagem por pulso.

Por exemplo, para realizar uma discagem por tom ao provedor iG, devemos definir o número de discagem conforme mostrado na figura acima.

39/92

Page 283: Guia Do Linux

Definição do device do modem.

Nesta seção deveremos identificar em qual porta o modem se encontra. É recomendada a criação do atalho /dev/modem apontando para o device correto, e assim selecionar a 1a. opção para a configuração do PPPD.

Definição da taxa de conexão.

Neste ponto deveremos informar a capacidade de conexão dos modens. Atentem-se para as especificações técnicas do periférico para definirem corretamente os parâmetros. Atualmente os modens suportam valores entre 115200 e 57600 bps.

Callback.

Callback é um serviço especial dos provedores de acesso os quais retornam a ligação após efetuada uma discagem para acesso à Internet, para a confirmação da conexão e autentificação da senha. Caso não saiba se o seu provedor suporta este serviço, simplesmente selecione NO + <ENTER>.

40/92

Page 284: Guia Do Linux

Strings de inicialização.

Para melhorar a velocidade e qualidade da conexão, algums modens possuem uma seqüência de caracteres específicas para o equipamento. Consultem na página do fabricante ou em páginas eletrônicas especializadas quais são as strings do periférico em uso e informem ao utilitário de configuração. Por padrão são utilizadas as strings ATZ.

Definição de strings de inicialização personalizada.

Sem muito mistério, nesta parte deverá ser informado o domínio do provedor de acesso, bastando apenas remover as iniciais http://www. O exemplo acima citado mostra a definição do provedor de acesso iG.

Definição do DNS do provedor de acesso.

Aqui deveremos informar o IP do provedor de acesso, que pode variar de acordo com o provedor utilizado. Entre em contato com o provedor para obter as informações desejadas.

41/92

Page 285: Guia Do Linux

Seleção do modo de autenticação

Geralmente a maioria dos provedores utilizam a autenticação PAP/CHAP. Caso não saibam, experimentem inicialmente estes dois. Se estiver tudo certo, a conexão ocorrerá sem maiores problemas.

Definição do Nick (apelido) do usuário.

Nesta parte, deverá ser informado o apelido do usuário para realizar a autentificação. Digitem apenas os caracteres antes de @.[PROVEDOR].

Definição da senha de acesso.

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

Page 286: Guia Do Linux

Conclusão do processo, onde são mostradas as definições realizadas.

Estes parâmetros estão gravados nos arquivos /etc/ppp/pppsetup.txt e /etc/ppp/options (que poderá ser editado quando necessário).

#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ######## Look at the /usr/doc/pppsetup/pppsetup-1.98.README. ####

# _

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:lockdefaultroutenoipdefaultmodem/dev/modem115200crtscts# 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.#noauthpassiveasyncmap 0name "[USUÁRIO]"

43/92

Page 287: Guia Do Linux

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.brnameserver 200.225.157.104nameserver 200.225.157.105

Salvem as alterações realizadas e a navegação entrará em vigor.

CONFLITOS DE IRQS E PORTAS SERIAIS

Em alguns caso podem ocorrer conflitos de IRQs e portas seriais no sistema que impedirão a utilização destes periféricos. Para isto, verifiquem no setup da BIOS do sistema se estes parâmetros encontram-se corretamente configurados, consultando o manual técnico da placa-mãe, se necessário.

Vejam nas próximas seções as informações gerais sobre as configurações padrões em sistemas GNU/Linux e recursos para a realização de ajustes destes, conforme necessário.

CONFIGURAÇÃO PADRÃO DAS PORTAS SERIAIS

A configuração padrão das portas utilizadas em sistemas GNU/Linux e seus respectivos IRQs são as seguinte:

Porta / IRQ / Endereços / UART / Windows

/dev/ttyS1 4 3F8 16550A COM2

/dev/ttyS2 3 2F8 16550A COM3

/dev/ttyS3 4 3E8 Unknow COM4

/dev/ttyS0 3 2E8 Unknow COM1

44/92

Page 288: Guia Do Linux

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-080: uart:16550A port:3F8 irq:4 baud:9600 tx:0 rx:01: 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

Page 289: Guia Do Linux

... 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

Page 290: Guia Do Linux

Nos sistemas GNU/Linux existe um agravante ainda maior, pois muitos fabricantes6 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

6 Em especial, aqueles fabricados pela US Robotic, pois os drivers atuais existentes para seus periféricos ainda se encontram em um estágio bastante imaturo

47/92

Page 291: Guia Do Linux

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

Page 292: Guia Do Linux

# 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.

OBTENDO INFORMAÇÕES SOBRE O DISCO RÍGIDO

Inicialmente, certifiquem-se de tenham descrito em mãos todos os recursos e características técnicas de sua unidade, para que estes possam ser consultados na utilização deste utilitário. Manuais (apesar de serem poucos), dados do fabricante, programas de detecção, etc., são excelentes formas de termos disponíveis estas informações. Não só da unidade, como também da placa-mãe, pois o suporte a determinados recursos da unidade também deverá estar nela presente. Aliás, não adianta nada ter um fusquinha em casa e querer colocar um motor de Ferrari.

INFORMAÇÕES BÁSICAS

Para obtermos as informações básicas da unidade de disco rígido em questão, utilizem o parâmetro i, digitando na linha de comando...

# hdparm -i /dev/[DISPOSITIVO]

Em nosso caso, a unidade situa-se na 1a. controladora, unidade mestre. Como é este o padrão na grande maioria dos computadores domésticos, consideraremos o device /dev/hda como exemplo para a otimização. Este valor poderá ser diferente de acordo com a máquina a ser utilizada.

# hdparm -i /dev/hda

/dev/hda:

Model=Maxtor 2B020H1, FwRev=WAK21R90, SerialNo=B1HDVY3E Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=40020624 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 AdvancedPM=yes: disabled (255) WriteCache=enabled Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

* signifies the current active mode

# _

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

Page 293: Guia Do Linux

analisar detalhadamente todas as suas propriedades, em especial, aquelas passíveis de ajustes para uma boa melhora de performance.

RECURSOS HABILITADOS OU DESABILITADOS

Para realizarmos outra simples, porém rápida e eficiente pesquisa das propriedades e parâmetros habilitados, simplesmente utilizem o comando...

# hdparm /dev/hda

/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:

AVALIANDO O TEMPO DE ACESSO

Após obter todos os dados necessários, iremos verificar a performance do disco rígido para que possamos avaliar quais as alterações que deverão ser realizadas. Para isto, digite na linha de comando:

# hdparm -Tt /dev/hda

/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

Page 294: Guia Do Linux

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.

LBAA 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

Page 295: Guia Do Linux

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

Para utilizar o modo de transferência correto, utilizem o comando...

# hdparm -X [VALOR] /dev/hda

Onde [VALOR] deverá ser substituído pelo modo correto, lembrando mais uma vez deveremos ter todo o cuidado para a definição deste parâmetro.

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

Page 296: Guia Do Linux

• 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

Page 297: Guia Do Linux

# 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

O multcount – abreviatura de multiple sector count (contagem de múltiplos setores) – é uma propriedade da unidade em ler mais de um setor a cada acesso realizado. Já o readahead é utilizado para definir quantos setores o sistema deverá ler em diante.

A aplicação neste último é indicado para a leitura de grandes arquivos tornando-se ideal para a leitura de imagens ISO, vídeos, jogos com centenas de megabytes, etc., tornando performance do sistema melhor em virtude do rápido acesso proporcionado. Em contrapartida, é contra-indicado para sistemas que lidam com diversos arquivos de pequenas dimensões, como as atividades cotidianas de um simples usuário (carga do sistema operacional e ambiente gráfico, execução de aplicativos, navegação, etc.).

Fica à critérios dos usuários definirem o que será melhor para seu caso, mas caso este tenha dúvidas, mantenham as mesmas definições padronizadas pelo hardware (multcount).

Na checagem dos parâmetros habilitados na nossa unidade, à encontramos corretamente configurada conforme abaixo, ...

multcount = 16 (on)

Porém as definições dadas ao readahead estão muito aquém do desejado...

readahead = 8 (on)

Lembrem-se que, caso o sistema apresente a propriedade readahead desabilitada, deveremos inicialmente habilitá-la com o comando...

# hdparm -A 1 /dev/hda

/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

Page 298: Guia Do Linux

/dev/hda: setting fs readahead to 16 readahead = 16 (on)# _

ADVANCEDPMHabilitaçã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

A unmaskirq – “desmascaração da IRQ”, em português – é um recurso que permite ao sistema operacional trabalhar com as demais interrupções mesmo quando o disco rígido estiver trabalhando; trocando em miúdos, permite ao sistema operacional realizar outras tarefas sem ter que aguardar o retorno da interrupção da unidade.

O ideal é tê-la habilitada, porém temos uma observação à fazer: este é mais um dos parâmetros considerados PERIGOSOS para ser utilizado, pois conforme as instruções do manual eletrônico, dependendo da não-tolerância do drive e da controladora, este recurso poderá acarretar em danos no sistema de arquivos e conseqüentemente perda de dados.

Analisando os resultados obtidos na checagem dos recursos, vejam:

unmaskirq = 1 (on)

Novamente em nossa unidade-teste encontra-se previamente habilitada, e com isto nos garantindo um ótimo desempenho nas atividades de escrita.

O comando para habilitar a unmasirq é:

# hdparm -u 1 /dev/hda

/dev/hda: setting unmaskirq to 1 (on) unmaskirq = 1 (on)# _

KEEPSETTINGS

O keepsettings – manter configurações – como a própria tradução diz, mantém as configurações pré-definidas com a utilização do hdparm.

Em nosso exemplo, observe que esta se encontra desabilitada:

keepsettings = 0 (off)

O comando para habilitar a keepsettings é:

# hdparm -k 1 /dev/hda

55/92

Page 299: Guia Do Linux

/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

Modo somente leitura. Como na esmagadora maioria das vezes a unidade de disco rígido não trabalha neste modo (lógico), é de melhor conveniência mantê-la desabilitada, onde não haverá necessidade de intervir para isto.

OTIMIZAÇÕES FINAIS

Após definidas toda as propriedades do disco rígido, verifiquem novamente o tempo de acesso da unidade para realizarmos uma comparação geral de seu desempenho. Para isto, digitem...

# hdparm -Tt /dev/hda

... e analisem os resultados obtidos e compare com as definições originais antes da utilização do HDParm. Apesar da pouca possibilidade destas unidades estarem mau configuradas após a instalação do sistema, é sempre bom realizar estas verificações e intervir para garantir uma ótima performance deste e de todo o sistema em geral.

“Infelizmente” a detecção dos parâmetros da unidade aqui testada estava bem definida, o que impossibilitou-nos de melhorar as instruções através de exemplos práticos. Mas assim que encontrarmos um disco rígido mal configurado, atualizaremos estes exemplos para que os usuários possam ter melhor noção das melhorias proporcionadas por este utilitário.

Para tornarmos efetivas as alterações realizadas todas as vezes que necessitar reiniciar a máquina, editem o arquivo /etc/rc.d/rc.local e acrescentem o comando com os parâmetros necessários.

#!/bin/sh## /etc/rc.d/rc.local: Local system initialization script.## Put any local setup commands in here:

### HDParm ###hdparm -P1 -P2 -P3 -P... /dev/[DISCO_RÍGIDO]

Onde P[X] são os parâmetros que habilitarão cada propriedade. Enfim, sempre que inicializarem o sistema, estas alterações estarão em vigor.

56/92

Page 300: Guia Do Linux

PARÂMETROS OPCIONAIS

Dentre outros parâmetros que encontramos disponíveis em diversos tutoriais, “destacam-se”.

# hdparm -Y /dev/hda

Desliga a unidade de disco rígido, tornando-o inativo ao cortar a energia elétrica (sem alimentação). Só não nos perguntem em que circunstância este parâmetro nos será útil...

# hdparm -q[PARÂMETROS]

Desabilita qualquer mensagem de aviso impressa pela utilização dos parâmetros do HDParm. Torna a utilização do utilitário bem mais elegante, quando o mesmo é utilizado com inúmeros parâmetros, como na edição do arquivo /etc/rc.d/rc.local. Ficaria então assim:

### HDParm ###hdparm -qP1 -qP2 -qP3 -qP... /dev/[DISCO_RÍGIDO]

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

Page 301: Guia Do Linux

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(Tela obtida da página oficial do projeto).

DriveTweak-gtk(Tela obtida da página oficial do projeto).

O mais interessante é que este utilitário provê todas as opções necessárias classificadas em três categorias: General (gerais), Advanced (avançadas) e Dangerous (perigosas): este recurso é muito interessante para evitarmos “pequenos enganos” ao ajustarmos as opções...

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

Page 302: Guia Do Linux

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

O smartctl imprime um relatório do estado atual do disco rígido.

Sintaxe:

# smartctl [PARÂMETROS] [UNIDADE]

Onde:

• -a / -A: exibe as informações gerais da unidade em uso e o suporte ao SMART de forma completa e detalhada;

• -H: exibe as informações conforme reportado pela controladora;

• -i: exibe as informações tal conforme é exibido pelo parâmetro -a, porém de forma simplificada;

• -s: habilita ou desabilita o suporte ao SMART;

• -t: realiza diagnósticos.

Para verificar o estado da unidade do sistema, digitem:

# smartctl -i /dev/hdasmartctl version 5.36 [i486-slackware-linux-gnu] Copyright (C) 2002-6 Bruce AllenHome page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===Model Family: Maxtor Fireball 541DX familyDevice Model: Maxtor 2B020H1Serial Number: B1HDVY3EFirmware Version: WAK21R90User Capacity: 20,490,559,488 bytesDevice is: In smartctl database [for details use: -P show]ATA Version is: 7ATA Standard is: ATA/ATAPI-7 T13 1532D revision 0Local Time is: Sun Nov 5 09:02:26 2006 BRSTSMART support is: Available - device has SMART capability.SMART support is: Enabled

# _

Neste caso, o SMART encontra-se habilitado por padrão. Mas caso não

59/92

Page 303: Guia Do Linux

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

O smartd carrega o serviço de monitoração do SMART. Embora seja possível carregá-lo manualmente através do executável smartd, optem por fazê-lo na inicialização do sistema, editando o arquivo /etc/rc.d/rc.local...

# mcedit /etc/rc.d/rc.local

E em seguida, incluam o comando smartd em seu conteúdo:

#!/bin/sh## /etc/rc.d/rc.local: Local system initialization script.## Put any local startup commands in here. Also, if you have# anything that needs to be run at shutdown time you can# make an /etc/rc.d/rc.local_shutdown script and put those# commands in there.

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 243Jul 10 06:37:54 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure Attribute: 8 Seek_Time_Performance changed from 243 to 242Jul 10 09:37:53 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure

60/92

Page 304: Guia Do Linux

Attribute: 8 Seek_Time_Performance changed from 242 to 241Jul 10 11:37:53 darkstar smartd[3091]: Device: /dev/hda, SMART Prefailure Attribute: 8 Seek_Time_Performance changed from 241 to 243Jul 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 -scanbusCdrecord-ProDVD-Clone 2.01.01a23 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jörg Schillingcdrecord: Warning: Running on Linux-2.6.21.5cdrecord: 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.27Using 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-Rhdc: 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

Page 305: Guia Do Linux

$ ls -l | grep hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdr -> hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdr1 -> hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdrom1 -> hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdrw -> hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdrw1 -> hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdwriter -> hdclrwxrwxrwx 1 root root 3 2007-08-11 18:35 cdwriter1 -> hdcbrw-rw---- 1 root cdrom 22, 0 2007-08-11 18:35 hdclrwxrwxrwx 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 burningAdding 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

Page 306: Guia Do Linux

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.

GERENCIAMENTO DE UNIDADES E PARTIÇÕES

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

Page 307: Guia Do Linux

/dev/sda1 /mnt/flash vfat noauto 0 0/dev/fd0 /mnt/floppy vfat noauto 0 0devpts /dev/pts devpts gid=5,mode=620 0 0proc /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

Page 308: Guia Do Linux

• 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 0devpts /dev/pts devpts rw,gid=5,mode=620 0 0proc /proc proc rw 0 0usbfs /proc/bus/usb usbfs rw 0 0

7 As partições FAT32 somente podem ser acessadas pelo superusuário. Para contornar esta situação, redefinam as permissões de acesso para que os usuários possam também acessá-las. Para obterem maiores informações, consultem nesta parte o capítulo Contas de usuário e grupos de acesso.

65/92

Page 309: Guia Do Linux

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

Page 310: Guia Do Linux

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

Ao executar os utilitários de configuração do servidor gráfico, não só a placa de vídeo e o monitor são configurados, como também o mouse e o teclado. Na seção keyboard, responderemos uma série de perguntas feita pelo utilitário, que por sua vez de acordo com estas informações, serão definidos todos os parâmetros necessários para que o teclado funcione perfeitamente no ambiente gráfico. Mas em alguns ambientes gráficos – especialmente o KDE – poderão ser necessário alguns ajustes extras.

Poderemos também ajustá-lo através do utilitário xorgcfg e, na seção Keyboard, ajustá-lo, tal como fazemos com o mouse (veja adiante).

67/92

Page 311: Guia Do Linux

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

Para ajustarmos o mapa do teclado, editem o arquivo /etc/rc.d/rc.keymap.

# mcedit /etc/rc.d/rc.keymap

Lá encontraremos as seguintes definições:

#!/bin/sh# Load the keyboard map. More maps are in /usr/share/kbd/keymaps.if [ -x /usr/bin/loadkeys ]; then /usr/bin/loadkeys [MAPA_DO_TECLADO]fi

Definam o mapa específico ao modelo do teclado em questão na definição loadkeys. Em nosso caso deveremos utilizar...

/usr/bin/loadkeys br-abnt2.map

Por último, certifiquem-se de que este arquivo possui o atributo de execução. Caso contrário (algo raro), utilizem o comando...

# chmod +x rc.keymap

INTERVENÇÕES MAIS FREQÜENTES

HABILITANDO AS FAMOSAS “TECLAS DO WINDOWS”Para habilitarmos as “teclas do Windows”, deveremos editar o arquivo /etc/X11/xinit/.Xmodmap e acrescentar as seguintes linhas:

keycode 115 = Meta_L

68/92

Page 312: Guia Do Linux

add mod4 = Meta_Lkeycode 116 = Meta_Radd mod4 =Meta_R

Rodem o xmodmap para estas alterações serem adicionadas:

# xmodmap .Xmodmap

AUMENTANDO A VELOCIDADE

Para aumentar a velocidade, utilizaremos o comando kbdrate.

Sintaxe:

# kdbrate -d [DELAY] -r [RATE]

Onde:

• -d [DELAY]: define o tempo de espera para a repetição da tecla pressionada, onde o intervalo vai de 250 a 1000 ms;

• -r [RATE]: define a taxa de repetição (velocidade), onde o intervalo vai de 6 a 24 ms.

Exemplo:

# kdbrate -d 1000 -r 20

Os valores destes parâmetros poderão variar conforme assim preferir.

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 GPMO 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.

Suas definições gerais estão centralizadas no script /etc/rc.d/rc.gpm:

#!/bin/sh

69/92

Page 313: Guia Do Linux

# Start/stop/restart the GPM mouse server:

if [ "$1" = "stop" ]; then echo "Stopping gpm..." /usr/sbin/gpm -kelif [ "$1" = "restart" ]; then echo "Restarting gpm..." /usr/sbin/gpm -k sleep 1 /usr/sbin/gpm -m /dev/mouse -t [MOUSE]else # assume $1 = start: echo "Starting gpm: /usr/sbin/gpm -m /dev/mouse -t [MOUSE]" /usr/sbin/gpm -m /dev/mouse -t [MOUSE]fi

Os parâmetros de configuração do mouse são referidos na seguinte linha:

/usr/sbin/gpm -m /dev/mouse -t [MOUSE]

Basta substituir [MOUSE] pelo parâmetro do periférico em questão. Se desejar ter menos trabalho para esta configuração, basta utilizar o script mouseconfig do Slackware (onde fornece os parâmetros do GPM para serem selecionados). Vejam à seguir como utilizá-lo.

CONFIGURAÇÕES BÁSICAS

MODO GRÁFICO

Para configurar o mouse de forma que funcione corretamente no modo gráfico, basta executar o utilitário xorgcfg e na seção Mouse, ajustá-lo.

Lembre-se que ao salvarem estas opções, o utilitário irá regravar o arquivo /etc/X11/xorg.conf. Caso tenham feito alguma alteração em especial, sugerimos que realizem-nas novamente ou faça uma cópia de segurança da configuração antiga, consulte os parâmetros da nova

70/92

Page 314: Guia Do Linux

configuração na seção “Core Pointers a InputDevice section”. Veja um pequeno exemplo abaixo:

# **********************************************************************# Core Pointers InputDevice section# **********************************************************************

Section "InputDevice"

# Identifier and driver

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

Simplesmente digitem na linha de comando...

# mouseconfig

... ou utilizem a ferramenta PkgTools, opção Setup -> Mouse, e selecione o padrão do novo mouse adquirido.

Simples, não? Porém devem-se lembrar de que ajustaram os parâmetros do mouse em modo texto. Por isto, será necessário realizar outros ajustes para configurar o mouse no ambiente gráfico.

71/92

Page 315: Guia Do Linux

INTERVENÇÕES MAIS FREQÜENTES

MOUSES ÓPTICOS...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.

... E COM SCROLL LOCK (COM RODINHAS)O mouse deverá ser configurado para utilizar o protocolo IMPS/2. Na seção Core Pointers InputDevice section (mouse), deverá ser adicionada a linha...

# **********************************************************************# Core Pointers InputDevice section# **********************************************************************

Section "InputDevice"

# Identifier and driver

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.

COM CONEXÃO USBPara habilitarmos os mouses com conexão USB, deveremos configurá-lo previamente conforme as suas especificações (botões, scroll lock, etc.). Logo em seguida, deveremos carregar os seguintes módulos do kernel:

modprobe hidmodprobe usbmousemodprobe usb-uhci

Estas linhas já se encontram descritas no arquivo de configuração /etc/rc.d/rc.modules, na seção USB Host Controllers...

### USB Host Controllers:

72/92

Page 316: Guia Do Linux

# 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

Page 317: Guia Do Linux

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.

O SISTEMA DE CONTROLE DE VERSÕES

Tecnicamente a versão de desenvolvimento e a versão estável do kernel.

A versão de desenvolvimento é composta por um número de série cujo o 2o. termo é sempre ímpar (2.1.x, 2.3.x, 2.5.x), onde são acrescentadas melhorias e modificações para que no futuro venha a ser largamente utilizado. Ao chegar a um certo grau de amadurecimento, este kernel se tornará a versão estável, onde é alterada a sua composição numérica para uma nova série, onde este 2o. termo passa a ser par (2.2.x, 2.4.x, 2.6.x).

À partir da versão estável, inicia-se novamente o trabalho para desenvolvimento de uma nova versão do kernel. Este processo acaba gerando um ciclo de desenvolvimento contínuo:

• A versão em desenvolvimento gera a versão estável – 2.1.x -> 2.2.x;

• A nova versão estável torna-se a base para a criação da versão em desenvolvimento – 2.2.x -> 2.3.x;

74/92

Page 318: Guia Do Linux

• 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...

A LOCALIZAÇÃO DE SEUS COMPONENTES

Conforme as definições da norma FHS, que por sua vez define a estrutura de arquivos e diretórios, o kernel e os arquivos de inicialização estão armazenados no diretório /boot. Lá, encontraremos o seguinte:

$ cd /boot$ ls -ltotal 17103lrwxrwxrwx 1 root root 37 2007-08-03 10:00 README.initrd -> /usr/doc/mkinitrd-1.1.2/README.initrdlrwxrwxrwx 1 root root 27 2007-08-07 23:53 System.map -> System.map-generic-2.6.21.5-rw-r--r-- 1 root root 795880 2007-06-19 17:18 System.map-generic-2.6.21.5-rw-r--r-- 1 root root 813610 2007-06-19 16:53 System.map-generic-smp-2.6.21.5-smp-rw-r--r-- 1 root root 1232918 2007-06-19 17:23 System.map-huge-2.6.21.5-rw-r--r-- 1 root root 1252098 2007-06-19 16:58 System.map-huge-smp-2.6.21.5-smp-rw-r--r-- 1 root root 512 2007-08-03 10:17 boot.0300-rw-r--r-- 1 root root 209 2007-08-03 10:17 boot_message.txtlrwxrwxrwx 1 root root 23 2007-08-07 23:52 config -> config-generic-2.6.21.5-rw-r--r-- 1 root root 72738 2007-06-19 17:18 config-generic-2.6.21.5-rw-r--r-- 1 root root 72764 2007-06-19 16:53 config-generic-smp-2.6.21.5-smp-rw-r--r-- 1 root root 72643 2007-06-19 17:23 config-huge-2.6.21.5-rw-r--r-- 1 root root 72669 2007-06-19 16:58 config-huge-smp-2.6.21.5-smp-rw-r--r-- 1 root root 5040 2007-06-10 03:09 diag1.imgdrwxr-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 maplrwxrwxrwx 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$ _

A imagem do kernel corresponde ao arquivo vmlinuz, ao passo que o arquivo System.map é utilizado pelas ferramentas de manipulação de

75/92

Page 319: Guia Do Linux

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 -ltotal 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 CREDITSdrwxr-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-BUGSdrwxr-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 -ltotal 2drwxr-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

Page 320: Guia Do Linux

$ _

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

Lista os módulos que se encontram carregados no sistema.

Para uma utilização simples e rápida, bastará digitarmos...

77/92

Page 321: Guia Do Linux

# lsmodModule Size Used bynls_iso8859_1 3968 0nls_cp437 5632 0vfat 10240 0fat 45340 1 vfatvia 39552 3drm 69652 4 viasnd_seq_dummy 2692 0snd_seq_oss 28032 0snd_seq_midi_event 5888 1 snd_seq_osssnd_seq 42576 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_eventsnd_pcm_oss 38432 0snd_mixer_oss 13824 1 snd_pcm_ossnls_utf8 1792 1ntfs 213312 1sg 25756 0capability 3336 0commoncap 5376 1 capabilitylp 9800 0parport_pc 23844 1parport 30152 2 lp,parport_pcpcspkr 2304 0psmouse 34440 0usb_storage 79040 0bt878 8872 0tuner 61352 0tvaudio 21788 0pata_via 8324 0serio_raw 5124 0bttv 168436 1 bt878video_buf 20228 1 bttvir_common 29956 1 bttvcompat_ioctl32 1280 1 bttvi2c_viapro 7828 0i2c_algo_bit 7176 1 bttvbtcx_risc 3976 1 bttvtveeprom 13712 1 bttvi2c_core 17168 6 tuner,tvaudio,bttv,i2c_viapro,i2c_algo_bit,tveepromata_generic 5252 0ehci_hcd 29964 0uhci_hcd 21004 0videodev 25344 1 bttvv4l2_common 14848 3 tuner,bttv,videodevv4l1_compat 13700 2 bttv,videodevvia_rhine 20360 0mii 4736 1 via_rhineshpchp 29204 0snd_via82xx 22296 0gameport 10760 1 snd_via82xxsnd_ac97_codec 96292 1 snd_via82xxac97_bus 2048 1 snd_ac97_codecsnd_pcm 65160 3 snd_pcm_oss,snd_via82xx,snd_ac97_codecsnd_timer 17540 2 snd_seq,snd_pcm

78/92

Page 322: Guia Do Linux

snd_page_alloc 7432 2 snd_via82xx,snd_pcmsnd_mpu401_uart 6272 1 snd_via82xxsnd_rawmidi 18080 1 snd_mpu401_uartsnd_seq_device 6540 4 snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidievdev 7936 2via_agp 8192 1agpgart 26928 2 drm,via_agpsnd 41956 11 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_via82xx,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_devicesoundcore 5728 1 sndreiserfs 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

O responsável pelo carregamento dos módulos disponíveis no sistema.

Sintaxe:

# modprobe [MÓDULO]

Para este comando existem parâmetros e funcionalidades extras, porém na maioria das vezes apenas o utilizaremos para o carregamento de módulos.

Por exemplo, para carregar os módulos USB para habilitar o mouse...

# modprobe usbmouse

INSMOD

Tal como o modprobe, o insmod também carrega os módulos do sistema.

Sintaxe:

# insmod [MÓDULO]

Porém, sua diferença está no fato de que o modprobe carrega as pendências necessárias para o funcionamento do módulo, ao passo que o insmod tão somente carrega o módulo. Veja um exemplo prático:

# insmod usb-storageUsing /lib/modules/2.4.22/kernel/drivers/usb/storage/usb-storage.o.gz# _

Para certificarmos de que foi corretamente carregado...

# lsmod | grep usbusb-storage 65536 0 (unused)usbcore 58400 1 [usb-storage uhci ehci-hcd]# _

Dependendo das circunstâncias, talvez seja necessário o carregamento forçado de um determinado módulo. Para isto, utilizem...

79/92

Page 323: Guia Do Linux

# 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

Checa as pendências dos módulos.

Sintaxe:

# depmod [PARÂMETROS]

Onde:

• -a: checa as pendências de módulo necessárias pelo kernel;

• -b: define o caminho de um módulo específico que não esteja armazenado no diretório padrão (/lib/modules/);

• -e: verifica se determinado módulo é compatível com o kernel atual.

Para realizarmos uma simples checagem, deveremos utilizar...

# depmod -a

Os resultados deste comando são armazenados em um arquivo-texto chamado modules.dep, situado em seu diretório padrão.

MODINFO

Exibe informações básicas sobre determinados módulos.

Sintaxe:

# modinfo [PARÂMETROS] [MÓDULO]

Onde:

• -a: exibe o autor (desenvolvedor);

• -d: exibe um breve resumo;

• -l: exibe a licença;

• -p: exibe parâmetros específicos.

Exemplo:

# modinfo -d /lib/modules/2.4.22/kernel/drivers/hotplug/pci_hotplug.o.gz"PCI Hot Plug PCI Core"# _

Experimentem os demais parâmetros e vejam por sí os resultados.

RMMOD

Sem grandes mistérios, o comando rmmod foi feito exclusivamente para

80/92

Page 324: Guia Do Linux

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

O MANUSEIO DE MÓDULOS PRÉ-COMPILADOS

Em muitos casos são disponibilizados módulos pré-compilados de determinados dispositivos, onde os mesmos deverão ser ativados manualmente para que o sistema possa reconhecê-lo. Exemplos típicos de periféricos que necessitam de ter tais módulos são os softmodens.

Para realizarmos esta operação, deveremos inicialmente obter o módulo (lógico). Este deverá ter uma extensão .o ou .o.gz no final de sua nomenclatura. Em seguida, deveremos copiá-lo para o diretório-padrão do sistema. Neste caso, o endereço-destino será...

# cp [MÓDULO] /lib/modules/[VERSÃO]/kernel

Em seguida, para ativarmos deveremos evocar o comando modprobe...

# modprobe /lib/modules/[VERSÃO]/kernel/[MÓDULO]

Por último, bastará apenas atualizar a listagem de módulos do sistema. Utilizem na linha de comando...

# depmod -a

Incluam o comando modprobe e sua sintaxe no arquivo /etc/rc.modules para que este módulo esteja sempre disponível a partir da inicialização.

A LOCALIZAÇÃO DOS ARQUIVOS

Os módulos encontram-se localizados por padrão no diretório...

$ cd /lib/modules/2.6.21.5/kernel/$ ls -ltotal 2drwxr-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/$ _

81/92

Page 325: Guia Do Linux

..., 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

SOBRE O PROCESSO DE COMPILAÇÃO

A possibilidade de realizar a compilação e/ou recompilação do kernel está entre as maiores vantagens para a adoção de sistemas operacionais livres como o GNU/Linux e BSDs em comparação aos outros proprietários. Mas especificamente para nós, simples usuários, quais motivos poderemos ter para realizar este delicado procedimento?

O PRINCIPAL MOTIVO

Em virtude da imensa variedade máquinas com perfis de hardwares existentes, os sistemas geralmente reconhecem a grande maioria destes, porém ainda existem muitos componentes que, por mais variados motivos, não são suportados pelo kernel ou seu suporte não se encontram habilitados. O mesmo se dá para determinados programas; no geral, muitos destes elementos deverão estar habilitadas no kernel para que

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

Page 326: Guia Do Linux

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.

ENTRE OUTROS ASPECTOS INTERESSANTES

Existem outros aspectos interessantes que também devem ser observados...

De acordo com cada compilação de kernel feita pelas distribuições, existem recursos diversos que são ativados por padrão para atender a grande maioria dos usuários; porém, por mais “exóticos” que sejam tais usuários, a grande maioria dos recursos presentes serão desnecessários para seu uso. Nestas condições, a (re)compilação do kernel proverá uma base de recursos mais enxuta para o equipamento ao qual o sistema se encontra instalado. Basta apenas personalizá-lo de acordo com a configuração disponível para ter um novo kernel: mais simples, limpo, rápido, enxuto e mais eficiente.

Em virtude da existência de diversas arquiteturas, a grande maioria das distribuições fornecem o kernel pré-compilado para atender as mais variadas existentes. Por exemplo, o kernel do Slackware é compilado para suportar processadores a partir do i486, ao passo que as distribuições friendly-users, com seus vastos recursos, suportam arquiteturas i585 em diante em virtude da demanda de processamento e de hardware. O kernel também pode ser otimizado para suportar os recursos específicos de uma única plataforma, habilitando suas extensões e otimizando-o somente para aquela arquitetura, para que o ganho de desempenho seja visível.

A possibilidade de ajustar o kernel para finalidades especiais também o torna altamente compatível com as tecnologias e requisitos atuais. Suporte a dispositivos exóticos e periféricos “desconhecidos” são também garantidos com algumas alterações na configuração do kernel e respectiva utilização.

Para os especialistas, técnicos e entusiastas, a compilação do kernel é uma ótima oportunidade de aprendizado para melhor conhecer os fundamentos básicos do funcionamento de um sistema operacional.

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

Page 327: Guia Do Linux

kernel – justamente o núcleo do sistema operacional – toda a atenção necessária deverá ser dada.

CÓPIA DE SEGURANÇA DOS DADOS DO SISTEMA

Na verdade, não são muito comuns os casos em que os processos de compilação do kernel feitos incorretamente produzem perdas de dados, porém, de acordo com o nosso nível de conhecimento e a possibilidade de não termos mais acesso ao sistema, será mais cômodo a utilização desta operação para resgate. Caso algo não dê certo, bastará apenas realizarmos a reinstalação do sistema, restaurando todas as definições anteriores e os dados previamente salvaguardados.

Para esta atividade, consultem a 2a. Parte: Conhecimentos Gerais -> Manipulação de arquivos e diretórios, para obterem maiores informações para a realização da cópia de segurança com segurança e praticidade.9

A ELABORAÇÃO DE PENDRIVES DE INICIALIZAÇÃO

A utilização de pendrives de inicialização é necessária especialmente quando ocorrem erros no processo de compilação que possam resultar a não inicialização do sistema, o qual somente poderá ser feito utilizando-se este recurso. Infelizmente, este tipo de ocorrência é bastante comum, o que torna praticamente indispensável a sua disponibilidade.

Para isto, inicializem através da linha de comando o Pkgtool...

# pkgtool

... e, na seção Setup, marquem a opção Make Bootdisk:

Sem maiores mistérios, basta seguirem as instruções do assistente.

9 Utilizem os processos que desejarem, porém dêem preferência para as ferramentas nativas do sistema, como o empacotador TAR e os compactadores bzip2 e gzip, ou que ainda utilizem estes formatos. Em situações mais drásticas, será mais fácil intervirmos com estes utilitários.

84/92

Page 328: Guia Do Linux

CÓPIA DE SEGURANÇA DA CONFIGURAÇÃO ANTERIOR

Se ao realizarmos a compilação do kernel, o sistema estiver rodando sem maiores problemas, poderemos optar por realizar uma cópia de segurança do arquivo de configuração gerado pela compilação anterior. Este arquivo se encontra na raiz deste diretório e se chama .config.

Se por algum motivo não o encontrarem, entrem no diretório do antigo código-fonte do kernel e executem o programa de configuração...

# make xconfig# make gconfig# make menuconfig

... com qualquer uma das três opções acima.

Em todas elas haverá uma opção para salvarmos a configuração padrão em um arquivo separado. Utilizem-na, definindo o nome .config e salvem-no em um local adequado, de preferência junto com os demais dados.

Se preferirem, podem também copiar o arquivo config.in disponível em /usr/src/linux/arch/i386 para /usr/src/linux, renomeando-o para .config. Mas esta é uma configuração genérica; portanto, pode ser que não sirva...

INICIANDO OS PROCEDIMENTOS

ATENDENDO OS REQUERIMENTOS BÁSICOS

Dentre os principais requerimentos a serem atendidos, destacam-se a satisfação das seguintes pendências:

• O compilador GCC e a biblioteca padrão GNU C;

• As ferramentas GNU que acompanham a distribuição;

• O arquivador TAR e os compactadores gzip e bzip2;

• O servidor X.org e a biblioteca Qt para usar a opção xconfig;

• O pacote ncurses para a opção menuconfig;

• O código-fonte do kernel – lógico...

Todas as pendências necessárias encontram-se disponíveis na mídia de instalação em qualquer distribuição GNU/Linux, onde estas são requeridas durante a instalação para o perfeito funcionamento do sistema.

LIMPANDO AS DEFINIÇÕES PRÉVIAS

Quando resolvemos realizar a recompilação de um mesmo kernel utilizado anteriormente, poderemos utilizar as mesmas definições de atributos realizadas na compilação anterior. Para isto basta apenas dar continuidade ao processo de compilação, iniciando os programas de configuração necessários. Porém, ao criarmos um novo perfil de

85/92

Page 329: Guia Do Linux

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.

INICIALIZANDO AS INTERFACES DE INTERAÇÃO

Para iniciar o processo de compilação, será necessário iniciar os programas de configuração para que possamos habilitar os parâmetros de configuração do kernel. Conforme já enfatizado, dispomos de três excelentes opções:

• make xconfig;

• make menuconfig;

• make config.

Todos estes três utilitários fornecem um menu de acesso e, apesar de possuírem diferentes telas de apresentação, todas as opções do kernel se encontram disponibilizadas. Atendem perfeitamente bem as expectativas, porém cada um possui um melhor rendimento em circunstâncias específicas, das quais iremos analisar.

O make xconfig fornece aos usuários, que podem disponibilizar a interface gráfica X, um menu gráfico simples e bem organizado, onde com apenas alguns cliques do mouse poderemos ter acesso a todas as categorias.

xconfig.

Para equipamentos com razoáveis recursos de hardware e quantidade de memória, estas são as opções mais indicada, pelas facilidades e confortos

86/92

Page 330: Guia Do Linux

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.

Menuconfig utilizando a biblioteca ncurses.

É recomendado o uso deste utilitário principalmente quando ocorre algum problema que impeça o uso da interface gráfica ou quando se deseja sobrecarregar o mínimo possível os recursos do sistema. Realizar a compilação do kernel com equipamentos de pouco recurso e ainda no modo texto, onde existe a necessidade de uma boa quantidade de memória realmente esta é a opção mais recomendável.

Por último, a opção config somente é utilizada quando existe algum problema que impeça a utilização das demais opções citadas.

* Linux Kernel Configuration*** Code maturity level options*Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] _

Esta opção é vista por muitos técnicos experientes como “espartana”, pois além de ser a menos amigável, infelizmente apresenta as opções de forma seqüencial, onde impossibilita alterar qualquer configuração realizada previamente, ou seja, não existe a possibilidade de retornar para uma opção anterior para corrigir. Outro grande inconveniente é que, quando se utiliza os demais utilitários (menuconfig e xconfig), e de acordo com itens específicos que por ventura sejam desabilitados, suas sub-opções (exibidas de forma identadas) ficam indisponíveis (embora possamos visualizá-las); já esta opção simplesmente “pula” estes itens, dos quais infelizmente sequer poderemos ter noção do que deixamos para trás.

No geral, dêem preferência para a utilização do xconfig, lançando mão das demais opções apenas nas circunstâncias em que este não possa ser inicializado (p. ex., a impossibilidade de inicializar o modo gráfico).

87/92

Page 331: Guia Do Linux

SOBRE A HABILITAÇÃO DE PARÂMETROS

Para habilitar as opções disponíveis durante a configuração do kernel, teremos que redefinir como estes serão utilizados pelo próprio kernel. Para isto, deveremos marcar as opções presentes no menu com Y, M e N:

• Y (Yes): habilita as opções selecionadas para que sejam embutidas no kernel principal (monolítico);

• M (Modules): habilita a opções selecionadas, porém somente serão carregadas sob demanda, conforme a necessidade do sistema para o seu uso (modular);

• N (No): desabilita as opções selecionadas.

Em muitas circunstâncias não teremos disponível a opção de habilitação ora como módulos (M), ora embutidos (Y), de diversas recursos e tecnologias de acordo com suas características e utilização.10

AS CLASSES DE ATRIBUTOS

Ao inicializarmos as interfaces de interação, teremos à disposição uma série de opções estruturadas por classes, onde basta apenas navegarmos por estas estruturas e marcar e/ou desmarcar as opções que desejarmos habilitar e/ou desabilitar. Porém, a quantidade de atributos é enorme:

• Code maturity level option

• General setup

• Loadable module support

• Block layer

• Processor type and features

• Power management option (ACPI, APM)

• Bus option (PCI, PCMCIA, EISA, MCA, ISA)

• Executable file formats

• Networking

• Device drivers

• Files system

• Instrumentation Support

• Kernel hacking

• Security options

10 É somente recomendada a habilitação das opções como módulos, os dispositivos que serão utilizados ocasionalmente, pois além de possibilitar a manutenção de um kernel enxuto, utilizaremos menor carga de processamento e hardware, ganhando com isto melhor performance geral em sua utilização.

88/92

Page 332: Guia Do Linux

• 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.

SALVANDO AS ALTERAÇÕES REALIZADAS

Após definirem os novos valores para os atributos do novo kernel customizado, encontraremos no final da janela quatro opções para finalizar o utilitário e retornar para a linha de comando:

• Save and Exit: salva as alterações realizadas;

• Quit Without Saving: sai do menu sem salvar as alterações;

• Load Configuration from File: carrega uma configuração gravada;

• Store Configuration to File: grava as definições em um arquivo.

Caso tenham utilizado os demais menus de configuração, as opções para salvar e carregar o arquivo de configuração gerado serão diferentes, mas os mesmos conceitos aqui descritos estarão presentes.

Ao salvarem as alterações realizadas, estas serão gravadas por padrão em um arquivo chamado .config, situado em /usr/src/linux, que será a base para que as ferramentas de compilação criem aquele que será o novo kernel do sistema e seus respectivos módulos.

REALIZANDO A CHECAGEM DAS PENDÊNCIAS

O comando make dep realizará a checagem das pendências necessárias e condicionará o código-fonte para a compilação do kernel:

# make dep

Caso já tenha sido feito o processo de compilação, deveremos utilizar...

# make clean

... para que seja feito uma limpeza dos arquivos temporários e de instalação criados durante a compilação anterior. Apesar de opcional, é recomendada a sua utilização, pois eliminará qualquer “resíduo” deixado

89/92

Page 333: Guia Do Linux

por outras compilações, além de ser uma operação bastante rápida.

CONSTRUINDO A IMAGEM COMPACTADA DO KERNEL

Para realizarmos a compilação propriamente dita, deveremos utilizar...

# make bzImage

Este comando realizará a compilação do kernel baseando-se nas definições previamente realizadas durante o processo de configuração. Dependendo da capacidade de carga para o processamento, será necessário aguardarmos alguns preciosos minutos para o término da operação.

Podemos também utilizar os três últimos comandos citados neste capítulo em uma única linha para a construção da imagem compactada do kernel, se desejarmos. Neste caso necessitaremos digitar apenas...

# make dep clean bzImage

Uma opção interessante que poderemos utilizar, para realizar a construção da imagem do kernel compactada, é utilizando o comando make bzlilo.

# make bzlilo

Este procedimento, ao ser utilizado com o LILO corretamente configurado, compilará o kernel da mesma forma que make bzImage, porém logo em seguida os arquivos System.map e vmlinuz serão copiados para o diretório /boot, e o kernel padrão anterior será renomeado para vmlinuz.old.

Isso tudo será feito de forma automática, e assim bastará apenas recondicionar o arquivo de configuração lilo.conf para habilitar o kernel recentemente compilado como padrão.

REALIZANDO A COMPILAÇÃO DOS MÓDULOS

No que se trata da instalação, ajuste e configuração de dispositivos do sistema, certamente será requerido a compilação de módulos, já que são estes componentes do sistema que trarão suporte ao hardware. E para dar continuidade ao procedimento, teremos que lançar a mão dos comandos...

# make modules# make modules_install

O comando make modules construirá os módulos necessários de acordo com as especificações feitas durante a configuração da compilação do kernel. Já o comando make modules_install irá instalar os (novos) módulos para o seu diretório padrão: /lib/modules/.11

11 Nas edições anteriores desta literatura, utilizamos recursos técnicos que possibilitam a manunteção de vários kernels compilados em um mesmo sistema; mas, devido ao caráter desta parte em prover instruções gerais necessárias apenas para o processo de ajuste e configuração, resolvemos manter apenas as

90/92

Page 334: Guia Do Linux

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:

# liloAdded WindowsAdded 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

instruções básicas e necessárias. Por este motivo, recomendamos a consulta em artigos e tutoriais na Internet que cubram mais profundamente este assunto, caso os usuários tenham interesse em prover outras otimizações para o kernel além dos procedimentos básicos de ajustes e configurações.

91/92

Page 335: Guia Do Linux

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

Page 336: Guia Do Linux

5A. PARTE:

GERENCIAMENTO DE PROGRAMAS

✔ 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”.

Page 337: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................5I. FERRAMENTAS DE GERENCIAMENTO............................6

Introdução.......................................................................................6

As ferramentas................................................................................6Slackware Package Tools......................................................................6

Current...........................................................................................................7Other..............................................................................................................7Floppy.............................................................................................................7Remove...........................................................................................................7View................................................................................................................8Setup..............................................................................................................9

Na linha de comando............................................................................9installpkg......................................................................................................10removepkg....................................................................................................10updatepkg.....................................................................................................11

Recomendações gerais..................................................................11

Conclusão......................................................................................12

II. FERRAMENTAS PARA A ATUALIZAÇÃO.......................13Introdução.....................................................................................13

O Slackpkg....................................................................................13A instalação..........................................................................................13A configuração.....................................................................................13

/etc/slackpkg/slackpkg.conf.........................................................................14/etc/slackpkg/mirrors...................................................................................17/etc/slackpkg/blacklist..................................................................................18

A utilização...........................................................................................18Observações........................................................................................21Recomendações gerais........................................................................21

Conclusão......................................................................................22

III. A COMPILAÇÃO DO CÓDIGO-FONTE........................23Introdução.....................................................................................23

Considerações básicas..................................................................23O que é o processo de compilação?....................................................23A compilação estática e a dinâmica....................................................23

As ferramentas do Projeto GNU...................................................24As bibliotecas.......................................................................................24

GNU C Library.............................................................................................24Libtool..........................................................................................................25

As ferramentas de automação............................................................25m4.................................................................................................................25automake......................................................................................................25autoconf........................................................................................................26make.............................................................................................................26

Page 338: Guia Do Linux

Os compiladores..................................................................................26GNU C Compiler...........................................................................................26

Entre outras........................................................................................27binutils..........................................................................................................27patch.............................................................................................................27

A compilação padrão.....................................................................27Obtendo o código-fonte.......................................................................28Descompactando o código-fonte.........................................................28O local de armazenamento..................................................................28A leitura de documentações................................................................29A configuração, a compilação e a instalação......................................29Limpando o diretório do pacote compilado.......................................30Desinstalando um pacote compilado..................................................30

Considerações avançadas.............................................................30Conteúdo da documentação................................................................31

O diretório docs............................................................................................31Readme / Install...........................................................................................31Copying........................................................................................................33Copyright......................................................................................................34Release.........................................................................................................34Credits..........................................................................................................35Changelog....................................................................................................35

Funcionalidades detalhadas...............................................................35./configure....................................................................................................36make.............................................................................................................37make deps / make depend............................................................................37make install..................................................................................................37make clean...................................................................................................37make uninstall..............................................................................................37

Observações importantes...................................................................38Manutenção do código-fonte........................................................................38Aplicativos & utilitários...............................................................................38Drivers, módulos e kernel............................................................................38

Conclusão......................................................................................39

IV. A CONVERSÃO DE PACOTES E PROGRAMAS................40Introdução.....................................................................................40

As ferramentas..............................................................................40Alien.....................................................................................................40CheckInstall.........................................................................................41rpm2tgz................................................................................................44

Recomendações.............................................................................45

Conclusão......................................................................................45

V. OBTENDO OS PACOTES OFICIAIS.............................46Introdução.....................................................................................46

O FTP do Slackware......................................................................46bootdisks..............................................................................................46extra.....................................................................................................46

Page 339: Guia Do Linux

isolinux.................................................................................................46kernels.................................................................................................47pasture.................................................................................................47patches.................................................................................................47rootdisk................................................................................................47slackware.............................................................................................47source...................................................................................................48testing..................................................................................................48zipslack.................................................................................................49

Sobre a árvore /current.................................................................49

Checando a integridade dos pacotes...........................................49md5sum................................................................................................49

Conclusão......................................................................................50

Page 340: Guia Do Linux

VISÃO GERAL

Diferente do gerenciamento de programas do Windows, nos sistemas GNU/Linux – e em especial no Slackware – existe uma certa necessidade de obtermos conhecimentos técnicos e dominar certas operações relacionadas, onde entra em destaque a famosa questão das pendências.

Os aplicativos existentes para os sistemas GNU/Linux geralmente são disponibilizados em um único arquivo chamado pacote. Como o próprio nome diz, um pacote é o conjunto de binários compilados (ou não) de um programa, arquivado em um formato especial reconhecido pelo gerenciador de pacotes da distribuição. Ao invés dos pacotes serem disponibilizados com todos os requerimentos adicionais, estes são encontrados contendo somente o programa principal, necessitando da instalação de outros pacotes adicionais para que possam serem executados corretamente. Tais pacotes são chamados de pendências.

As pendências possuem suas particularidades de acordo com a aplicação; porém, a grande maioria possuem em comum a necessidade de sua presença para o correto funcionamento do aplicativo. Existem diversas categorias de pendências necessárias, mas as principais são as bibliotecas do sistema. No Windows, temos as famosas DLL; já nos sistemas GNU/Linux, estas são substituídas por bibliotecas específicas do sistema, que possuem os mesmos conceitos e finalidades (além de outras mais).

Cada tipo de aplicação requer uma ou um conjunto específico de bibliotecas. Programas multimídia geralmente necessitam de bibliotecas para áudio e vídeo; programas de tratamento de imagens já requerem bibliotecas específicas para a leitura de diversos formatos; os jogos utilizam largamente bibliotecas de acesso a periféricos como a placa de som e vídeo – famosamente conhecida como APIs.

Geralmente todas as instruções necessárias para obter informações sobre as pendências necessárias encontram-se na página oficial do programa e/ou na documentação contida em seu próprio pacote (README e INSTALL), onde uma consulta básica pode resolver a maioria dos problemas e anomalias que venham porventura ocorrer.

Embora o gerenciamento de pacotes em sistemas GNU/Linux requeira certo conhecimento técnico, existem vantagens interessantes a serem consideradas: maior eficiência na administração de todo o processo (instalação, atualização, verificação e remoção), com poucas probabilidades de conflitos e erros, além da flexibilidade em termos de customização do conjunto de pacotes necessários. Por isso, são poucos os casos de sistemas GNU/Linux “saturados” com a instalação e/ou desinstalação de aplicativos, causando instabilidades e travamentos e assim, obrigando os usuário a reinstalarem novamente o sistema.

Nos próximos capítulos, conheceremos a fundo todo o processo de gerenciamento de programas no Slackware. &;-D

5/50

Page 341: Guia Do Linux

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

SLACKWARE PACKAGE TOOLS

O Slackware Package Tools – o chamaremos aqui como Ppkgtool – é o gerenciador de pacotes padrão do Slackware, escrito basicamente com a utilização de scripts (arquivos de lote) e funciona somente em modo texto.

Interface principal do Slackware Package Tool.

Além das funcionalidades básicas essenciais, o Pkgtool também provê uma série de scripts de configuração que auxiliam muito para a realização de ajustes e manutenções gerais do sistema.

Para executar o utilitário, deveremos carregá-lo na linha de comando...

# pkgtool

O Pkgtool provê uma interface texto com menus intuitivos e fácil de utilizar. Basta apenas utilizar as opções básicas que se encontram em sua interface, das quais seguem: Current, Other, Floppy, Remove, View e Setup.

6/50

Page 342: Guia Do Linux

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

Page 343: Guia Do Linux

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.

Porém, poderá ser realizado o acesso das informações somente por um pacote de cada vez. Teclando <ENTER>...

8/50

Page 344: Guia Do Linux

... 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.

Deveremos marcá-los com a tecla <BARRA_DE_ESPAÇO> e teclar <ENTER> em seguida para que eles sejam executadas sequëncialmente.

Poderemos obter mais informações adicionais sobre a utilização destas sub-opções durante a consulta dos capítulos referente aos processos de ajustes e configurações do sistema. Estas informações situam-se na 3a. Parte: A Instalação e 4a. Parte: Ajustes & Configurações.

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

Page 345: Guia Do Linux

INSTALLPKG

Para instalar pacotes, utilizamos o comando installpkg. Como o próprio nome diz, este utilitário é utilizado para a instalação de pacotes binários.

Sintaxe:

# installpkg [PACOTE]-[VERSÃO]-[PLATAFORMA]-[REVISÃO].tgz

Exemplo:

# installpkg libdvdread-0.9.4-i686-1.tgz

Installing package libdvdread-0.9.4-i686-1...PACKAGE DESCRIPTION:libdvdread: libdvdread (DVD access library)libdvdread:libdvdread: libdvdread provides a simple foundation for reading DVD video disks.libdvdread: It provides the functionality that is required to access many DVDs.libdvdread: It parses IFO files, reads NAV-blocks, and performs CSSlibdvdread: authentication and descrambling.Libdvdread:Executing install script for libdvdread-0.9.4-i686-1...

# _

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

Tal como o comando installpkg, utilizamos o comando removepkg, que por sua vez, tem a função de remover o pacote desejado.

Sintaxe:

# removepkg [PACOTE]

Exemplo:

# removepkg libdvdread

Removing package /var/log/packages/libdvdread-0.9.4-i686-1...Removing files: --> Deleting symlink /usr/lib/libdvdread.so --> Deleting symlink /usr/lib/libdvdread.so.3 --> Deleting /usr/doc/libdvdread-0.9.4/AUTHORS --> Deleting /usr/doc/libdvdread-0.9.4/ChangeLog --> Deleting /usr/doc/libdvdread-0.9.4/COPYING --> Deleting /usr/doc/libdvdread-0.9.4/INSTALL --> Deleting /usr/doc/libdvdread-0.9.4/NEWS --> Deleting /usr/doc/libdvdread-0.9.4/README --> Deleting /usr/doc/libdvdread-0.9.4/TODO --> Deleting /usr/include/dvdread/dvd_reader.h --> Deleting /usr/include/dvdread/ifo_print.h --> Deleting /usr/include/dvdread/ifo_read.h

10/50

Page 346: Guia Do Linux

--> 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

Para esta função, utilizamos o comando upgradepkg.

Sintaxe:

# upgradepkg [PACOTE]-[VERSÃO]-[PLATAFORMA].tgz

Este comando apenas atualiza um único pacote ou conjunto dele (desde que situados em um mesmo diretório e especificados através do curinga '*' <ASTERÍSCO>). Mas não é o ideal para atualizar todos os pacotes do sistema. Para esta atividade, temos ótimas ferramentas, como o Slackpkg.

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

Page 347: Guia Do Linux

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$ lsXorg.0.log cron faillog lastlog packages/ samba/ spoolerXorg.0.log.old cups/ httpd/ maillog removed_packages/ scripts/ syslogacpid 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

Page 348: Guia Do Linux

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 -ltotal 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

Page 349: Guia Do Linux

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

Page 350: Guia Do Linux

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

Page 351: Guia Do Linux

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 /testingFIRST=patchesSECOND=slackwareTHIRD=extraFOURTH=pastureFIFTH=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 directoriesMAIN=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=onPOSTINST=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

Page 352: Guia Do Linux

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=offDOWNLOAD_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=onDIALOG=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 moremirrors uncommented isn't valid syntax.

17/50

Page 353: Guia Do Linux

/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

Page 354: Guia Do Linux

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]

Além dos parâmetros utilizados para a manipulação dos pacotes, o Slackpkg poderá realizar a atualização de todo o sistema através da execução da seguinte seqüência de comandos:

# slackpkg update# slackpkg install-new# slackpkg upgrade-all# slackpkg clean-system

Para atualizar todo o sistema, deveremos digitar antes...

# slackpkg update

... para atualizar a lista de pacotes.

Formating lists to slackpkg style... Package List Package descriptions

Logo em seguida, deveremos utilizar...

# slackpkg install-new

... para serem selecionados e instalados os novos pacotes que passaram a fazer parte da distribuição. Depois...

# slackpkg upgrade-all

O utilitário checará quais os pacotes que deverão ser atualizados através da listagem baixada pelo comando anterior. Logo em seguida solicitará confirmação para a atualização dos pacotes mencionados.

Looking for slackware in package list. Please, wait... DONE

19/50

Page 355: Guia Do Linux

espgs-8.15rc2-i486-1.tgzflex-2.5.4a-i486-3.tgzgaim-1.1.4-i486-1.tgzgcc-3.3.5-i486-1.tgzgcc-g++-3.3.5-i486-1.tgzgcc-g77-3.3.5-i486-1.tgzgcc-gnat-3.3.5-i486-1.tgzgcc-java-3.3.5-i486-1.tgzgcc-objc-3.3.5-i486-1.tgzglib2-2.6.3-i486-1.tgzgtk+2-2.6.3-i486-1.tgznmap-3.81-i486-1.tgznormalize-0.7.6-i486-1.tgzopenssh-4.0p1-i486-1.tgzsamba-3.0.11-i486-1.tgztetex-3.0-i486-1.tgztetex-doc-3.0-noarch-1.tgzudev-054-i486-3.tgzx11-6.8.2-i486-1.tgzx11-devel-6.8.2-i486-1.tgzx11-docs-6.8.2-noarch-1.tgzx11-docs-html-6.8.2-noarch-1.tgzx11-fonts-100dpi-6.8.2-noarch-1.tgzx11-fonts-cyrillic-6.8.2-noarch-1.tgzx11-fonts-misc-6.8.2-noarch-1.tgzx11-fonts-scale-6.8.2-noarch-1.tgzx11-xdmx-6.8.2-i486-1.tgzx11-xnest-6.8.2-i486-1.tgzx11-xvfb-6.8.2-i486-1.tgz

Total of package(s): 29

Do you wish to upgrade selected packages (Y/n)? _

É só digitar y + <ENTER> e aguardar o fim do processo. Em alguns casos, ele perguntará se desejamos atualizar as definições de atualização de determinados pacotes, ao serem atualizados:

Searching NEW configuration files

Some packages had new configuration files installed.You have four choices:

(K)eep the old files and consider .new files later

(O)verwrite all old files with the new ones. The old files will be stored with the suffix .orig

(R)emove all .new files

(P)rompt K, O, R selection for every single file What do you want (K/O/R/P)?_

As opções disponíveis são:

20/50

Page 356: Guia Do Linux

• 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

Page 357: Guia Do Linux

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

Page 358: Guia Do Linux

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

O QUE É O PROCESSO DE COMPILAÇÃO?A compilação é o processo pelo qual as instruções contidas no código-fonte são convertidas para uma linguagem de máquina, que é somente entendida pelo próprio computador. Para os usuários mais novatos, vindos do sistema operacional Windows, muitos destes sentem-se confusos sobre o processo de compilação, pois os mesmos estão habituados a lidarem com a instalação de programas a partir do pacote ou um conjunto de arquivos binários, os quais contém suas aplicações prediletas.

A COMPILAÇÃO ESTÁTICA E A DINÂMICA

De acordo com as necessidades (e vantagens), existem duas formas básicas de compilação para um programa: A estática e a dinâmica.

A compilação estática é um processo que apresenta o conceito de “integração total” do programa, com todos os seus arquivos e bibliotecas necessárias para o seu funcionamento. A principal vantagem está no fato de que não haverá necessidade de instalação de bibliotecas necessárias para o perfeito funcionamento do programa – as conhecidas pendências. Em contrapartida, o tamanho ocupado pelo programa é muito superior à utilização destes mesmos utilizando o processo de compilação dinâmica, além de ocupar muito mais memórias, caso dois ou três destes programas utilizem as mesmas bibliotecas e estejam em execução ao mesmo tempo.

A compilação dinâmica apresenta conceitos “inversos” da estática: ao

23/50

Page 359: Guia Do Linux

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 FERRAMENTAS DO PROJETO GNUConforme dissemos anteriormente na 1a. Parte: Os sistemas GNU/Linux -> O Linux, o Projeto GNU consistia de desenvolver um sistema operacional Unix-like livre, onde para isto foram construídas inicialmente as principais ferramentas de desenvolvimento. Dentre elas existem desde compiladores, editores, utilitários de automação e uma série de bibliotecas para esta atividade (em especial, o Emacs, o GCC e GNU C Library).

Nesta seção, iremos conhecer todos os componentes indispensáveis para a realização do processo de compilação.

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

Page 360: Guia Do Linux

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

Page 361: Guia Do Linux

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

Page 362: Guia Do Linux

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

Page 363: Guia Do Linux

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

Page 364: Guia Do Linux

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 -ltotal 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.m4drwxr-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 INSTALLdrwxr-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.indrwxr-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.

A CONFIGURAÇÃO, A COMPILAÇÃO E A INSTALAÇÃO

Para compilar o pacote, existem 3 comandos a serem utilizados:

• ./configure: script responsável para detecção das pendências e geração de relatórios, chamados makefile.

29/50

Page 365: Guia Do Linux

• 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.

LIMPANDO O DIRETÓRIO DO PACOTE COMPILADO

Após a realização da compilação e instalação de um programa, talvez seja necessária a limpeza da estrutura do diretório com o código-fonte. Para isto temos à disposição a opção make clean para limpar (apagar) os arquivos gerados durante o processo de compilação, bem como as definições gerais utilizadas durante a execução do script de configuração.

# make clean

Este processo somente se faz necessário quando houver necessidade de reutilizar o código-fonte para realizar novas compilações ou caso tenha ocorrido algum erro em alguma compilação prévia (e depois solucionada), de acordo com as nossas necessidades.

DESINSTALANDO UM PACOTE COMPILADO

Alguns programas possuem a opção make uninstall, necessário para desinstalar os programas compilados no sistema.

# make uninstall

Recomenda-se a utilização de utilitários para o gerenciamento de programas compilados no sistema, como o Checkinstall.

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

Page 366: Guia Do Linux

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

Geralmente a maioria dos desenvolvedores quando não disponibilizam a documentação em um arquivo separado ou quando estes possuem um certo grau de complexidade, geralmente armazenam diversos documentos (arquivos) em um subdiretório chamado docs. Estarão lá as principais informações pertinentes ao programa em questão.

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

Fetchmail is a free, full-featured, robust, well-documented remotemail retrieval and forwarding utility intended to be used overon-demand TCP/IP links (such as SLIP or PPP connections). Itretrieves mail from remote mail servers and forwards it to your local(client) machine's delivery system, so it can then be be read bynormal mail user agents such as elm(1) or Mail(1).

Fetchmail supports all standard mail-retrieval protocols in use on theInternet: POP2, POP3, RPOP, APOP, KPOP, IMAP2bis, IMAP4, IMAP4rev1ESMTP ETRN, and ODMR. Fetchmail also fully supports authenticationvia GSSAPI, Kerberos 4 and 5, RFC1938 one-time passwords, Compuserve'sPOP3 with RPA, Microsoft's NTLM, Demon Internet's SDPS, or CRAM-MD5authentication a la RFC2195. Fetchmail also supports end-to-endencryption with OpenSSL.

The fetchmail code was developed under Linux, but has also beenextensively tested under the BSD variants, AIX, HP-UX versions 9 and10, SunOS, Solaris, NEXTSTEP, OSF 3.2, IRIX, and Rhapsody.

It should be readily portable to other Unix variants (it uses GNUautoconf). It has been ported to LynxOS and BeOS and will build there

31/50

Page 367: Guia Do Linux

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 generatesan RPM spec file at fetchmail.spec, and you can "make rpm" to generate anRPM and SRPM.

The Frequently Asked Questions list, included as the file FAQ in thisdistributions, answers the most common questions about configuring andrunning fetchmail.

1. USEFUL THINGS TO INSTALL FIRST

If you want support for RFC1938-compliant one-time passwords, you'llneed to install Craig Metz's OPIE libraries first and *make surethey're on the normal library path* where configure will find them. Thenconfigure with --enable-OPIE, and fetchmail build process will detectthem and compile appropriately.

Note: there is no point in doing this unless your server isOTP-enabled. To test this, telnet to the server port and give ita valid USER id. If the OK response includes the string "otp-",you should install OPIE. You need version 2.32 or better....

Em muitas circunstâncias, estas instruções poderão se encontrar bastante resumidas. Veja as instruções do INSTALL do XChat:

$ cat INSTALLX-Chat Requirements:~~~~~~~~~~~~~~~~~~~~

- GTK 2.0 or 2.2 (get it from http://www.gtk.org)

Optional:

- Perl (http://www.perl.org) - Python (http://www.python.org) - TCL (http://tcl.activestate.com) - OpenSSL (http://www.openssl.org)

X-Chat Compiling and Installation:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Type this:

./configure

32/50

Page 368: Guia Do Linux

make

Become root and type:

make install

Other Options~~~~~~~~~~~~~

To get a full list of compile options, type:

./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

GNU GENERAL PUBLIC LICENSE Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.

675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away yourfreedom to share and change it. By contrast, the GNU General PublicLicense is intended to guarantee your freedom to share and change freesoftware--to make sure the software is free for all its users. ThisGeneral Public License applies to most of the Free SoftwareFoundation's software and to any other program whose authors commit tousing it. (Some other Free Software Foundation software is covered bythe GNU Library General Public License instead.) You can apply it toyour 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

Page 369: Guia Do Linux

This program, "bzip2" and associated library "libbzip2", arecopyright (C) 1996-2002 Julian R Seward. All rights reserved.

Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditionsare met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTEGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Julian Seward, Cambridge, [email protected]/libbzip2 version 1.0.2 of 30 December 2001

Conforme dito, apesar do corpo da licença não se encontrar, estão descritas as principais cláusulas necessárias para torná-la compatível com a GPL.

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

Page 370: Guia Do Linux

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 ChangelogTue Aug 5 2003 kroah - 2003_08_05 release

Sun Aug 3 2003 kroah - fix usb autoloading of modules for 2.6 (it wasn't working).

Fri Jun 27 2003 kroah - changed network code to accept 2.5's change to the way network interfaces are brought up and down (now "add" and "remove" like... the other hotplug types.)

Fri Jun 6 2003 dbrownell hotplug.functions fixes from: - Olaf Hering: #!/bin/bash gone, VIM modeline, logger location can vary, and should include PID - Ian Abbot: correct init of LOADED (fixes sf.net bug filing) Other sf.net bugs resolved - pointless pci.rc message [538243] - Makefile should ignore tape drives [578462]

Thu May 1 2003 kroah - 2003_05_01 release - made /sbin/hotplug a tiny multiplexer program, moving the original /sbin/hotplug program to /etc/hotplug.d/default/default.hotplug...

FUNCIONALIDADES DETALHADAS

Apesar de serem necessárias apenas a utilização da seqüência de

35/50

Page 371: Guia Do Linux

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.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them asVAR=VALUE. See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

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

Page 372: Guia Do Linux

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

O comando make é o mais simples de utilizar, pois não necessita de nenhum parâmetro extra para a sua utilização – basta apenas digitar na linha de comando...

$ make

... para iniciar todo o processo de compilação. Em contrapartida, caso ocorra algum erro durante a utilização deste comando, existirá uma grande impossibilidade deste problema ser resolvido. Procurem sempre consultar a documentação do programa para evitar maiores inconvenientes.

MAKE DEPS / MAKE DEPEND

Estes comandos possuem a finalidade de checar as pendências gerais do sistema para a satisfação do programa que se deseja instalar. Caso falte algum pacote ou modificação necessária, estas informações serão exibidas no programa. São poucos, mas alguns programas necessitam destes parâmetros.

MAKE INSTALL

Diferente dos comandos anteriores, o comando make install somente é executado pelo superusuário, e é o principal responsável pela correta instalação do programa. Somente poderá ser utilizado depois de se ter obtido sucesso com as etapas anteriores. Sem grandes mistérios.

MAKE CLEAN

Conforme dito anteriormente, remove (“limpa”) todos os arquivos gerados pela compilação anterior e que se mantiveram presentes na estrutura de diretórios do código-fonte.

MAKE UNINSTALL

Sua função é desinstalar os programas compilados (inverso de make install), porém com um pequeno agravante: nem todos os programas possuem esta opção para realizar a sua desinstalação.

A melhor forma de suprir esta deficiência é a execução de utilitários para o gerenciamento de programas, como o Checkinstall ao invés de utilizar o

37/50

Page 373: Guia Do Linux

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

MANUTENÇÃO DO CÓDIGO-FONTE

À salvo algumas situações especiais, o diretório com o código-fonte do aplicativo após devidamente compilado e instalado, poderá ser removido. O espaço utilizado pelos arquivos gerados no processo de compilação tende à ser grande, ocupando desde vários à centenas de megabytes. Caso tenham que intervir novamente no gerenciamento do programa instalado, reutilizem as opções disponíveis do código-fonte empacotado ou as ferramentas nativas do sistema para gerenciamento de programas.

APLICATIVOS & UTILITÁRIOS

Praticamente todos os aplicativos e utilitários possuem requerimentos de bibliotecas e APIs para serem corretamente instalados, e para obter informações sobre eles, consulte sua página eletrônica ou a documentação que acompanha o código-fonte do aplicativo.

Outro grande inconveniente está nas versões das pendências e bibliotecas necessárias. Muitas vezes os pacotes que compõe a distribuição se encontram desatualizados para os aplicativos que desejamos instalar, sendo necessário a atualização destes para a obtenção de bons resultados.

DRIVERS, MÓDULOS E KERNEL

Dentre as necessidades mais importantes para a compilação de drivers e módulos está na manutenção do código-fonte do kernel (e em alguns casos, do cabeçalho) previamente instalado. Procurem se certificar de que os pacotes kernel-headers e kernel-source se encontram instalados no sistema. Dependendo da distribuição em uso, estes pacotes não se encontram na mídia de instalação, onde deverão ser baixados e instalados.

Para o carregamento e descarregamento dos módulos compilados, será indispensável a manutenção do pacote modutils, que felizmente se encontra em todas as distribuições GNU/Linux, além de ser instalado por padrão.

Com menor incidência, existe a necessidade da edição de parâmetros em arquivos de configuração, tanto o do sistema como o do próprio programa.

38/50

Page 374: Guia Do Linux

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

Page 375: Guia Do Linux

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.PLWriting 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

Page 376: Guia Do Linux

# 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

checkinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL.

A versão mais atual do CheckInstall se encontra disponível no FTP da distribuição, mais específicamente na série /extra. Baixem o pacote e realizem a sua instalação através do comando...

# installpkg checkinstall-[VERSÃO].tgz

Para utilizar o Checkinstall, bastará apenas configurar e compilar o código-fonte de qualquer programa com a utilização dos comandos...

# ./configure [OPÇÕES]# make

..., porém ao invés de realizar a instalação com o comando make install, bastará substituí-lo pela evocação do próprio CheckInstall:

# checkinstall

Assim, automaticamente será criado o pacote desejado, sendo este baseado na respostas de algumas instruções feitas pelo próprio utilitário. Caso queiram criar um pacote sem ter que responder as perguntas feitas pelo CheckInstall, deveremos utilizá-lo com o parâmetro -y:

# checkinstall -y

Com este comando, o aplicativo aceitará as respostas como positivo e criará um novo pacote personalizado, porém solicitando informar o formato de pacotes a utilizar: S – Slackware, D – Debian, R – RPM.

Mas se o utilizarmos com a opção -S...

# checkinstall -y -S

..., os binários do programa serão automaticamente empacotados no formato .tgz sem qualquer questionamento. O mesmo processo vale para os demais formatos, sendo -D para o formato .deb e -R para o formato

41/50

Page 377: Guia Do Linux

.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.

# checkinstallcheckinstall 1.5.3, Copyright 2001 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL.

The package documentation directory ./doc-pak does not exist.Should I create a default set of package docs? [y]:

Aqui somos questionados se desejamos criar o pacote com a sua documentação. Em caso negativo teclem n + <ENTER>. Como pretendemos adicionar a documentação, deveremos teclar <ENTER>.

Preparing package documentation...OK

*** No known documentation files were found. The new package*** won't include a documentation directory.

Installing with "make install"...

========================= Installation results ===========================...======================== Installation succesful ==========================

Some of the files created by the installation are inside the builddirectory: /usr/local/src/Aplicativo-1.0.0

You probably don't want them to be included in the package,especially if they are inside your home directory.Do you want me to list them? [n]:

Nesta etapa o utilitário pergunta se desejará verificar o conteúdo do pacote que será criado (listagem). Seguindo novamente as opções padrões do programa, teclem em <ENTER>.

Should I exclude them from the package? (Saying yes is a good idea) [y]:

Já nesta parte, o utilitário questiona se deveremos criar um pacote com o programa compilado (para depois reinstalá-lo sem recompilá-lo novamente). Confirme sua recomendação, teclando apenas <ENTER>.

Copying files to the temporary directory...OK

Striping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

42/50

Page 378: Guia Do Linux

Please write a description for the package. Remember that pkgtool showsonly 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>

This package will be built according to these values:

1 - Summary: [ Aplicativo compilado manualmente ]2 - Name: [ Aplicativo ]3 - Version: [ 1.0.0 ]4 - Release: [ 1 ]5 - License: [ GPL ]6 - Group: [ Applications/System ]7 - Architecture: [ i386 ]8 - Source location: [ Aplicativo-1.0.0 ]9 - Alternate source location: [ ]

Enter a number to change any of them or press ENTER to continue:

Caso queiram alterar alguma informação, digitem o número da categoria + <ENTER>. Para continuar o processo, simplesmente tecle <ENTER>.

**********************************************************************

Done. The new package has been saved to

/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

Page 379: Guia Do Linux

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:/# rpm2tgz 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.tgzInstalling 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

No such package: /var/log/packages/quake. Can't remove.

Para desinstalá-lo, foi necessário a utilização do nome completo e versão do pacote convertido, ao passo que os pacotes nativos desenvolvidos para o Slackware é necessário somente a utilização do nome do pacote:

# removepkg quake-1.1-6cl

Removing package /var/log/packages/quake-1.1-6cl.i386...Removing files: --> Deleting /etc/sysconfig/quake --> Deleting /usr/bin/quake --> Deleting /usr/bin/squake --> Deleting /usr/doc/quake-1.1/readme.squake --> Deleting /usr/lib/quake/id1/config.cfg --> Deleting /usr/lib/quake/id1/netgame.cfg

44/50

Page 380: Guia Do Linux

--> 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 diferente1. 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

Page 381: Guia Do Linux

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

Page 382: Guia Do Linux

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

Page 383: Guia Do Linux

• 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

Page 384: Guia Do Linux

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.

SOBRE A ÁRVORE /CURRENT

✔ <ftp://ftp.slackware.com/pub/slackware/slackware-current/>.

Todos os pacotes que irão incorporar a nova distribuição do Slackware se encontram na árvore slackware-current de seu FTP. Para aqueles que desejam obter a versão atualizada dos programas que compõem a distribuição, este é um local ideal para dar o pontapé inicial.

CHECANDO A INTEGRIDADE DOS PACOTES

Dependendo da conexão utilizada, muitas vezes o conteúdo dos arquivos e pacotes baixados da Intenet não se encontram íntegros, face às possibilidades de interferências na linha telefônica durante a realização do processo, entre outro possíveis problemas. Para checar a integridade destes arquivos, utilizareem o md5sum.

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.gz8cabf90c4f6c353d2c9bca758ef813bc firefox-0.8-i686-linux-gtk2+xft-ptBR.tar.gz$ _

49/50

Page 385: Guia Do Linux

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

Page 386: Guia Do Linux

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”.

Page 387: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................6I. OS AMBIENTES GRÁFICOS........................................7

Introdução.......................................................................................7

Os ambientes...................................................................................7Os desktops...........................................................................................7

O KDE e o GNOME.........................................................................................7... e as interfaces tradicionais...............................................................7

BlackBox / FluxBox.........................................................................................7Enlightenment................................................................................................8IceWM............................................................................................................9Xfce...............................................................................................................10WindowMaker..............................................................................................11

Ambientes em 3D?..............................................................................12Looking Glass...............................................................................................12Metisse 3D....................................................................................................13

Conclusão......................................................................................14

II. O KDE E O GNOME......................................15Introdução.....................................................................................15

O GNOME......................................................................................15Os requerimentos................................................................................16Iniciando o GNOME............................................................................16O Nautilus............................................................................................17As “versões” do GNOME....................................................................18Observações finais..............................................................................19

O KDE............................................................................................20Os requerimentos................................................................................21Observações gerais.............................................................................21

Conclusão......................................................................................22

III. INICIANDO O KDE..........................................23Introdução.....................................................................................23

Preparativos iniciais.....................................................................23A instalação do pacote de idiomas......................................................23Assistente de configurações para a área de trabalho.......................23

O ambiente de trabalho................................................................24A Área de Trabalho.............................................................................25

Seus atalhos.................................................................................................26O Painel do KDE..................................................................................29O Menu K.............................................................................................30

Conclusão......................................................................................32

IV. O KONQUEROR................................................34

Page 388: Guia Do Linux

Introdução.....................................................................................34

O Konqueror..................................................................................34

As funcionalidades........................................................................35Manipulação de arquivos....................................................................35Navegação em abas.............................................................................35Navegação em painéis........................................................................36Permissões de acesso..........................................................................37Compactação / descompactação de arquivos.....................................38Navegação WEB..................................................................................39Cliente FTP..........................................................................................41

As ferramentas..............................................................................41Abrir Terminal.....................................................................................42Procurar Arquivos...............................................................................42Filtro de Visualização..........................................................................43Galeria de Imagens.............................................................................44Comando do Shell................................................................................45

Os protocolos.................................................................................45

Ajustes & Configurações...............................................................46

Conclusão......................................................................................47

V. AS APLICAÇÕES NATIVAS......................................48Introdução.....................................................................................48

As aplicações.................................................................................48Configurações......................................................................................48Desenvolvimento.................................................................................48

KDevelop......................................................................................................48Kommander..................................................................................................49Quanta+.......................................................................................................50Umbrello.......................................................................................................51

Educacional..........................................................................................52Ciência..........................................................................................................52Ferramentas de aprendizado.......................................................................52Idiomas.........................................................................................................52Matemática..................................................................................................52Outros...........................................................................................................52

Escritório.............................................................................................53KOffice..........................................................................................................53Kontact.........................................................................................................54

Gráficos................................................................................................55KPDF............................................................................................................55KSnapshot....................................................................................................56Krita..............................................................................................................56KView...........................................................................................................57

Internet................................................................................................58Akregator.....................................................................................................58Kget..............................................................................................................58Kmail............................................................................................................59Konqueror....................................................................................................60Kopete..........................................................................................................60KPPP.............................................................................................................61

Page 389: Guia Do Linux

Jogos.....................................................................................................61Arcade..........................................................................................................61Brinquedos...................................................................................................61Jogos de Cartas............................................................................................62Jogos de Tabuleiro........................................................................................62Kidsgames....................................................................................................62Táticas & Estratégias...................................................................................62

Multimídia............................................................................................62JuK................................................................................................................62KAudio Creator.............................................................................................63KMix.............................................................................................................63KRec.............................................................................................................64KsCD.............................................................................................................65Noatum.........................................................................................................65

Sistema.................................................................................................66Centro de Informações do KDE....................................................................66KCron...........................................................................................................67Konsole.........................................................................................................67KPackage......................................................................................................68KRandR.........................................................................................................69Krfb (Desktop Sharing)................................................................................70KUser...........................................................................................................70KwikDisk e KdiskFree..................................................................................71KSysGuard....................................................................................................71

Utilitários.............................................................................................72Ark................................................................................................................72Disquete.......................................................................................................73Kate / KEdit / KWrite....................................................................................74KCalc............................................................................................................74KNotes..........................................................................................................75Seletor de caracteres...................................................................................75SuperKaramba.............................................................................................76

Sobre o KDE-Apps.org..................................................................76

Conclusão......................................................................................77

VI. AS FERRAMENTAS DE AJUSTES..............................78Introdução.....................................................................................78

O Centro de Controle KDE............................................................78A inicialização......................................................................................78As seções..............................................................................................79

Administração do Sistema............................................................................80Aparência & Temas......................................................................................80Componentes do KDE...................................................................................80Controle de Energia.....................................................................................81Internet & Rede............................................................................................81Periféricos....................................................................................................82Regional & Acessibilidade...........................................................................82Segurança & Privacidade.............................................................................83Som & Multimidia........................................................................................83Área de Trabalho..........................................................................................83

As (demais) ferramentas...............................................................83Assistente de Configurações para a Área de Trabalho.....................84Configurar o Painel.............................................................................84

Page 390: Guia Do Linux

Editor de Menus..................................................................................85Ferramenta de Atualização de Menu.................................................85Ferramenta de Gerenciamento da Carteira......................................86Gerenciador de Impressão..................................................................87

Conclusão......................................................................................88

VII. OPERAÇÕES E AJUSTES AFINS..............................89Introdução.....................................................................................89

Seleção da autenticação gráfica...................................................89Nível de execução...............................................................................89Seleção de gerenciadores...................................................................90

Seleção do ambiente gráfico........................................................92Configuração automatizada através do xwmconfig...........................92Alteração manual para todos os usuários..........................................92Alteraçõ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

Page 391: Guia Do Linux

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

Page 392: Guia Do Linux

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 GNOMEOs 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.

... E AS INTERFACES TRADICIONAIS

Devido as exigências de recursos do sistema pelos ambientes gráficos KDE e GNOME, são poucas as possibilidade de sua utilização em computadores de baixa performance geral. Mas felizmente isto não é motivo para nos desesperarmos! Existem várias opções de interfaces gráficas mais leves e funcionais que nos disponibilizarão pelo menos os recursos indispensáveis que não comprometerão o bom desenvolvimento de nossas atividades.

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

Page 393: Guia Do Linux

BlackBox, tela obtida da página oficial do projeto.

O FluxBox é uma interface derivada do código-fonte referente ao BlackBox, e devido as suas similaridades, ambos serão descritos juntos.

Dentre suas características, estão todos os recursos básicos necessários para a manipulação gráfica (janelas, menus, área de trabalho, etc.), garantindo assim a sua perfeita utilização neste segmento. Apesar de não existir uma barra de tarefas que mostre os programas em execução e minimizados, temos o IconBar, com funcionalidades similares.

Um fato interessante do BlackBox está na impossibilidade de suportar o carregamento de imagens, impedindo-nos de utilizar qualquer figura como papel de parede. Além disso, todos os seus elementos (menus, barras, etc.) são preenchidos com um simples palhetas de cores com gradientes. Estas características o torna um dos ambientes gráficos mais leves existentes para os sistemas GNU/Linux, consumindo do sistema apenas alguns megabytes de memória RAM. E justamente por esta falta de recursos programada, as derivações surgiram justamente para adicionar esta (e outras) funcionalidade, como é o caso do FluxBox.

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

Page 394: Guia Do Linux

Tela obtida da página oficial do projeto.

O Enlightenment possui seu próprio gerenciador de autenticação, o Entrance, tão bonito e funcional quanto os tradicionais KDM (KDE) e GDM (GNOME) e ainda tendo a vantagem de ser mais leve. Além disso, suporta os menus de aplicações do KDE e GNOME. Pelo fato de contar com uma bela interface gráfica, este ambiente gráfico requer pelo menos 32 MB de memória RAM do sistema e 2 MB de memória RAM da placa de vídeo, além de solicitar uma CPU Pentium para dispor uma performance aceitável.

Infelizmente o Slackware não disponibiliza este ambiente gráfico entre os pacotes oficiais da distribuição. Resta-nos obtê-lo diretamente da página oficial do projeto, para realizar a sua instalação manualmente.

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

Page 395: Guia Do Linux

Tema BlueCrux, obtido da página oficial do projeto.

Da mesma forma que o Centro de Controle do KDE, o IceWM também possui suas opções de configurações centralizadas nos painéis IcePref e IceWMConf, desenvolvidos respectivamente em Python e TCL/TK. Graças a isto, teremos disponíveis diversos recursos de personalização, tornando o IceWM um dos ambientes gráficos bem customizável.

Outra característica interessante está na possibilidade de interagir com o GNOME e o KDE, tornando seus recursos disponíveis neste ambiente gráfico para os usuários que assim o desejarem.

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

Page 396: Guia Do Linux

Tela obtida da página oficial do projeto.

A interface é dona de uma aparência limpa e impecável, levemente parecido com o CDE da Sun e, por utilizar a biblioteca GTK+, o Xfce agrada tanto aqueles que desejam recursos cosméticos quanto aos que necessitam de um ambiente simples e prático para usar.

Neste ambiente há uma simples barra no canto central-inferior da tela que disponibiliza as principais aplicações existentes, onde também fornecer uma série de utilitários pertinentes, além de ter suporte aos menus com aplicações do KDE e GNOME. O ambiente gráfico possui um bom gerenciador de arquivos – o Thunar – que possui todos os recursos básicos necessários como a expansão da árvore de diretórios e a função arrastar-e-soltar, tornando a navegação uma atividade simples e prática.

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

Page 397: Guia Do Linux

Tela obtida da página oficial do projeto.

O WindowMaker utiliza um menu suspenso para serem acessadas as aplicações disponíveis. Por não possuir uma barra de tarefas, todas as aplicações abertas, quando minimizadas, permanecem na área de trabalho com um simples ícone. As áreas de trabalho virtuais são gerenciadas através do Clip, um ícone que se situa no canto superior-esquerdo da área de trabalho. Nele, para navegarmos, bastará apenas clicar nas setinhas posicionadas nos cantos inferior-esquerdo e superior-direito deste ícone.

Outro grande destaque do WindowMaker é o WMaker Config, uma excelente ferramenta de configuração com uma boa diversidade de opções para ajustes e configurações, levando-se em conta a sua simplicidade.

Apesar da inexistência de alguns recursos disponíveis nos ambientes gráficos atuais (por exemplo, a função “arrastar-e-colar”), o WindowMaker é uma excelente opção para o uso em equipamentos antigos e modestos.

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

Page 398: Guia Do Linux

Tela “Applications view”, obtida da página oficial do projeto.

Desenvolvido em Java, e dentre as maravilhas proporcionadas, agora poderemos manipular as janelas em 3D com maior conforto e comodidade, além de manter uma integração com as aplicações já existentes para o sistema operacional. Porém, o ambiente gráfico requer um processador de 2 Ghz, 512 MB de memória RAM e uma aceleradora de vídeo com 64 MB.

Para obtermos instruções mais detalhadas (em inglês) deste ambiente gráfico, consultem a sua página oficial. Lá também encontraremos outras interessante telas capturadas para a nossa apreciação.

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

Page 399: Guia Do Linux

Tela obtida da página oficial do projeto.

Desenvolvido por Olivier Chapuis e Nicolas Roussel, este ambiente gráfico em fase experimental, baseado em um servidor gráfico especial Xwnc (uma junção do Xvnc e Xdarwin) e que utiliza as chamadas de sistema OpenGL. Por utilizar recursos de aceleração gráfica, também requer uma boa configuração de hardware – um processador Pentium IV de 2 Ghz similar ou superior e uma aceleradora gráfica com pelo menos 64 MB.

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

Page 400: Guia Do Linux

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.

Tela inicial do GNOME, da antiga versão 2.6.

Da mesma forma que o KDE, o GNOME possui ótimos recursos e

1 O mexicano Miguel de Icaza fundou o projeto em 1997, com o intuito de criar um ambiente gráfico 100% livre, pois na época o seu maior concorrente (KDE), apesar de livre, a Qt possuía uma licença restritiva que não se enquadrava nos conceitos ideológicos do Software Livre.

15/96

Page 401: Guia Do Linux

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 GNOMENa 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)...

Menus Applications (Aplicações) e Actions (Ações).

... a barra de tarefa...

16/96

Page 402: Guia Do Linux

... e os atalhos da área de trabalho.

Atalhos da área de Trabalho.

Como todos já sabem, as funcionalidades básicas são praticamente as mesmas, porém cada ambiente gráfico possui recursos e implementações próprias personalizadas de acordo com a ideologia de seu desenvolvimento.

Outro aspecto bastante interessante é o fato do ambiente gráfico ter presente o idioma português do Brasil em sua interface gráfica, onde o idioma é definido apenas alterando as variáveis do sistema, já que o mesmo suporta a internacionalização.

O NAUTILUS

✔ <http://www.gnome.org/projects/nautilus/>.

O gerenciador de arquivos (e navegador WEB) do GNOME é o Nautilus.

O Nautilus.

Ele também segue a filosofia de disponibilizar apenas um conjunto de ferramentas e utilitários essenciais em sua interface gráfica, visando simplificar ao máximo a realização destas atividades no ambiente gráfico.

Apesar de possuir uma interface simples, o Nautilus possui todas os recursos necessários para a boa administração de arquivos e diretórios, além de fornecer atalhos e menus rápidos para as ações mais freqüentes. Mesmo não sendo tão poderoso como é o Konqueror, é tão útil ou quanto.

17/96

Page 403: Guia Do Linux

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.

Tela obtida da página oficial do projeto.

O objetivo do Dropline GNOME é disponibilizar para o Slackware, uma versão melhorada deste ambiente gráfico, em um formato simples, belo e prático, conforme a filosofia KISS da distribuição.

Para instalar o Dropline GNOME, necessitaremos apenas baixar o seu programa de instalação, chamado dropline-installer. Por se tratar de um pacote pré-compilado, o instalaremos o programa apenas com o comando...

# installpkg dropline-installer-[VERSÃO]-[ARQUITETURA].tgz

Em seguida, deveremos executá-lo simplesmente com...

# dropline-installer

Será carregada uma interface em modo texto com as seguintes opções:

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

Page 404: Guia Do Linux

Tela do instalador do Dropline GNOME.

Com <SETA_ACIMA> e <SETA_ABAIXO>, bastará apenas navegarmos nas opções desejadas. Também necessitaremos de ter disponível uma conexão para a Internet para baixar os pacotes que compõe o ambiente gráfico, para que este instalador possa realizar todo o processo de instalação.

Pacotes do Dropline GNOME sendo automaticamente baixados pelo instalador.

Apesar de possuir um excelente desempenho, o Dropline GNOME requer os mesmos recursos de hardware do tradicional GNOME: necessita de um processador Pentium II de 750 Mhz e de pelo menos 256 MB de RAM.

Para aqueles que desejam utilizar outras opções além do Dropline GNOME, falaremos também sobre outros projetos, como o GNOME.SlackBuild (também conhecido como GBS) e o GWARE. Segundo as instruções de suas páginas oficiais, tanto o GNOME.SlackBuild quanto o GWARE possuem um diferencial interessante em comparação ao Dropline GNOME: estes projetos não são intrusivos ao sistema ao qual eles serão instalados. Isto quer dizer que não serão feitas mudanças nas configurações dos pacotes já instalados.

Consultem a página oficial de cada projeto para obterem informações detalhadas de como realizar todo o processo de instalação. Apesar de não serem intrusivos, ambos são mais complexos de serem instalados, em comparação ao Dropline GNOME (eis um dos motivos deste último ter suas instruções de instalação mantidas, além de ser mais popular).

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

Page 405: Guia Do Linux

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.

Tela inicial do KDE 3.5, utilizando o tema padrão Plastik.

O Projeto KDE foi desenvolvido inicialmente por Matthias Ettrich em 1996, utilizando a linguagem C++, e sua interface foi implementada com a biblioteca Qt, numa época em que os ambientes gráficos eram precários em recursos e funcionalidades (motivo pelo qual resultou na concepção e fundação do projeto). O seu principal objetivo é o de fornecer um ambiente gráfico completo e integrado (entre outras qualidades já citadas), tornando o desenvolvimento das atividades serem tarefas agradáveis. Atualmente o projeto é mantido na Alemanha, além de ganhar o apoio de diversas distribuições, como a OpenSuSE por exemplo.

20/96

Page 406: Guia Do Linux

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

Page 407: Guia Do Linux

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

Page 408: Guia Do Linux

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

A INSTALAÇÃO DO PACOTE DE IDIOMAS

Para inicializarmos o KDE em nossa língua nativa, deveremos instalar o respectivo pacote de internacionalização: o kde-i18n-pt_BR. Para isto, consultem nesta parte, o capítulo Operações e ajustes afins, onde obteremos instruções para a instalação deste pacote que proverá o idioma português do Brasil para este ambiente gráfico.

ASSISTENTE DE CONFIGURAÇÕES PARA A ÁREA DE TRABALHO

Ao iniciar pela 1a. vez, o KDE executará o Assistente de Configurações para a Área de Trabalho, um assistente que orientará o usuário a realizar uma rápida, porém funcional configuração inicial do ambiente gráfico. Conforme visto no tópico anterior, será importante ajustarmos o idioma local.

23/96

Page 409: Guia Do Linux

Assistente de Configurações para a Área de Trabalho (3.5).

Como todo assistente de configuração, bastará selecionarmos as opções desejadas e seguir adiante. O Assistente de configurações do KDE executará 5 passos importantes para o ajuste finais do ambiente gráfico:

1. Boas vindas e seleção da linguagem do ambiente;

2. Comportamento do sistema;

3. Enfeites;

4. Todo mundo gosta de temas;

5. Tempo para refinar.

Todas estas etapas são intuitivas e fáceis de ajustar, dispensando maiores comentários para a realização destas atividades. Ao terminá-los, o KDE disponibilizará a opção Lançar o Centro de Controle KDE, onde poderemos executar o diretamente o Centro de Controle KDE e realizar outras diversas alterações que desejarmos.

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

Page 410: Guia Do Linux

O Menu K e o Painel do KDE (3.4).

Ainda podemos habilitar o menu rápido da área de trabalho no topo da tela. Para isto, cliquem com o botão direito na área de trabalho e selecionem a opção Configurar Área de Trabalho.

Configurar – Área de Trabalho, seção 'Comportamento'.

Na seção Comportamento, desmarquem a caixa Barra de menus na área de trabalho. Pronto! Ela se encontrará disponível no topo da tela!

Barra de menus no topo da tela.

A ÁREA DE TRABALHO

Esta é a Área de Trabalho do KDE:

25/96

Page 411: Guia Do Linux

Á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.

Configurar Área de Trabalho.

Aqui, com muita praticidade e intuitividade, poderemos ajustar a Área de Trabalho de acordo com nossas preferências.

SEUS ATALHOS...Como todo bom ambiente gráfico, o KDE disponibiliza alguns atalhos em sua área de trabalho com o intuito de facilitar ao máximo a utilização para as tarefas mais corriqueiras. Em algumas distribuições, estes ícones chegam a ser numerosos devido as personalizações feitas.

O Slackware mantém a configuração padrão do ambiente gráfico; por isto, este apresenta apenas três ícones: Sistema, Pasta do Usuário e Lixo.

26/96

Page 412: Guia Do Linux

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....

... e em seguida, optar pelas opções caracterizadas como link:

• Para Localização (URL): cria atalho para arquivos comuns;

• Para Aplicativos: cria atalho para arquivos executáveis;

• Para Dispositivos: cria atalho para montagem/desmontagem de dispositivos (partições, disquetes, mídias, etc.).

Para cada classe de atalho, uma caixa de diálogo específica surgirá com o objetivo de orientar o usuário para a criação do atalho desejado.

27/96

Page 413: Guia Do Linux

Criação de um atalho para aplicativo (executável).

Aqui poderemos definir uma série de propriedades do novo atalho a ser criado, inclusive o ícone que representará o atalho em questão. Cliquem no ícone exibido escolham aquele que corresponde ao atalho. Na falta de um destes, optem pela opção Outros ícones e em seguida Navegar..., para selecionar um arquivo-ícone externo conforme desejado.

Seleção do ícone para o atalho.

Outra forma bastante prática de criar atalhos para a execução de aplicativos está na utilização da função Arrastar-e-soltar do mouse. Esta operação é feita de forma bastante similar como seria no Windows. Para isto, selecionem o atalho desejado que se encontra disponíveis nas seções do Menu K; cliquem nele, mantendo o botão esquerdo pressionado e arraste-o para a Área de Trabalho. Será apresentado este menu rápido:

Como estamos apenas arrastando um atalho já definido no Menu K, o ideal será utilizar a opção Copiar Aqui, onde em poucos instantes o teremos disponível na Área de Trabalho. Fica a critério do usuário definir a criação dos novos atalhos para a Área de Trabalho. Vejam o exemplo abaixo:

28/96

Page 414: Guia Do Linux

Área de Trabalho enriquecida de novos atalhos para as aplicações utilizadas (KDE 3.4).

Simples, prático e objetivo.

O PAINEL DO KDEO 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.

O Painel do KDE, conhecido também como a Barra de Tarefas.

Dentre os tradicionais elementos que a compõe, é interessante notar a disponibilidade do botão Esconder painel, representado por uma seta abaixo e à direita da tela que possibilita ocultação da barra de tarefas.

Ao posicionarmos o mouse sobre a seta, será mostrada uma legenda que descreverá a sua funcionalidade (esconder painel).

Ainda com o mouse, poderemos realizar alguns ajustes básicos no Painel do KDE (a barra de tarefas). Para isto, cliquem sobre ela com o botão direito e, ao ser apresentado um menu rápido, acionem a opção Configurar Painel...

29/96

Page 415: Guia Do Linux

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:

Diversos mini-aplicativos que podem ser embutidos no Painel do KDE. Em destaque, a opção realçada “Botões de Travar/Sair”.

Enfim, opções de funcionalidades é que não irão faltar.

O MENU KDe 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

Page 416: Guia Do Linux

Menu K.

Todas estas aplicações subdivididas em diversas categorias, organizada e consistente, que facilita a fácil localização dos ítens desejados. As principais categorias de aplicações disponíveis no menu K são:

• Configurações: assistentes, painéis de ajuste e controle, centro de controles integrados, enfim, ferramentas gerais de ajuste e configuração do ambiente gráfico;

• Desenvolvimento: IDEs, editores de código, construtores de interfaces gráficas, depuradores de erros, controles de versões, terminais de comandos, etc.;

• Educativo: para o entretenimento do público infanto-juvenil, subdivididas nas classes Ciência, Ferramentas de Aprendizado, Idiomas, Matemática e Outros;

• Escritório: suítes de escritório (processamento de texto, planilhas eletrônicas e apresentações), agendas pessoais, editores de fórmulas, geradores de relatórios, fluxogramas, etc.;

• Gráficos: editor de imagens bitmaps, vetoriais e ícones, visualizadores, capturas de tela, diagramadores, manipuladores de arquivos PostScript, etc.;

• Internet: discadores dial-up, navegadores, gerenciadores de conteúdo (downloads) clientes de correio, clientes de bate-papo, mensagens instantâneas e IRC, clientes de FTP, leitor de notícias, etc.;

• Jogos: diversos jogos para o entretenimento. Alguns são subdivididos por categorias: Arcade, Jogo de Cartas, Jogos de Tabuleiro, “Kidgames” (jogos infantis), Táticas & Estratégias;

• Multimídia: ferramentas de ajuste e configuração de gáudio, tocadores multimídia (CDs, DVDs e arquivos multimídia de gáudio e vídeo), gravadores de áudio, gravadores de mídia (CD-R/W e DVD-R/W), entre outros;

31/96

Page 417: Guia Do Linux

• 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.

Para obterem maiores informações, consultem neste capítulo, a seção Ajustes & Configurações -> 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

Page 418: Guia Do Linux

33/96

Page 419: Guia Do Linux

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...

O gerenciador de arquivos Konqueror (KDE 3.5).

Este poderoso gerenciador de arquivos é dono de uma interface bela, consistente e bem estruturada, além de ser uma das ferramentas mais utilizadas e evoluídas do KDE, com inúmeros recursos e funcionalidades.

Tal como o Windows Explorer, ele também possui a funcionalidade de navegador WEB. Entre outras vantagens, está a sua facilidade de uso e integração com outras ferramentas importantes, como o editor de textos (KWrite / KEdit / Kate) e o compactador de arquivos (Ark). Também

34/96

Page 420: Guia Do Linux

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.

Tela principal do Windows Explorer (Windows XP).

Para não estender esta seção, omitiremos instruções adicionais além de ressaltar apenas os diferenciais do Konqueror, visto que praticamente todos os usuários já conhecem íntimamente esta ferramenta.

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

Page 421: Guia Do Linux

O Konqueror exibindo 4 abas para 4 diretórios distintos: docs, cdrom, flash e floppy. No canto esquerdo, o ícone “Fechar a aba atual”.

Poderemos tanto habilitar as abas clicando no menu principal, em Localização -> Nova Aba, ou clicando com o botão direito do mouse sobre o diretório em questão e acionar a opção Abrir em uma nova Aba.

Acionamento das abas no menu principal...

... e através do botão direito do mouse.

Ao usarmos o botão direito do mouse, podemos também abrir em uma nova aba e de forma embutida um arquivo qualquer, desde que previamente especificado na Associação de Arquivos.

Duas abas abertas: uma visualizando o diretório /home/kde/docs e outra visualizando uma imagem no formato PNG – 264 x 323 pixels.

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

Page 422: Guia Do Linux

Acionamento da Barra de Ferramenta Extra.

Após habilitada, ela deverá aparecer apresentando os seguintes itens:

Barra de Ferramentas Extra.

À partir daí é só selecionar como desejamos que o painel seja subdividido. Para fins de exemplo, o dividiremos horizontalmente na figura abaixo, com a opção Separar a Visão em Topo/Base:

Visão em Topo/Base.

Para retornar a configuração antiga, cliquem no botão Fechar Visão Ativa. Neste caso, o painel em evidência (abaixo) será eliminado.

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

Page 423: Guia Do Linux

Caixa de diálogo Propriedades.

Basta redefinirmos os usuários, grupos e permissões de acesso conforme nossas necessidades. Vale também lembrar que, como superusuário do sistema (root), teremos maior flexibilidade para realizarmos as mudanças de permissões de acesso para grupos.

COMPACTAÇÃO / DESCOMPACTAÇÃO DE ARQUIVOS

A compactação e descompactação de arquivos e diretórios podem ser feitos nos mesmos moldes que faríamos no Windows Explorer e com os aplicativos desta categoria (WinZip, PowerArchive, BraZip, etc.): com o uso das funcionalidades do menu rápido. Ao clicarmos com o botão direito do mouse sobre um arquivo ou diretório (neste caso o diretório docs), poderemos acionar a seção Compactar e escolher as opções disponíveis.

Seleção das opções do menu rápido do Konqueror. Em destaque a seção Compactar e suas opções.

Para descompactá-los, deveremos utilizar o mesmo procedimento através

38/96

Page 424: Guia Do Linux

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.

Ainda assim, se desejarmos, poderemos acionar o Ark para realizar outras atividades que se façam necessários. Basta apenas dar um clique sobre o arquivo com o botão direito do mouse e selecionar a opção Ark.

Acionamento do Ark a partir do clique com o botão direito do mouse.

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 WEBAlé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

Page 425: Guia Do Linux

Dos ícones da Barra de Tarefas, observem o Navegador Web (KDE 3.4).

Bastará clicarmos nele e, em seguida...

Tela padrão do Konqueror (Navegador Web).

Apesar de estar ainda um pouco distante tecnologicamente dos grandes navegadores, o Konqueror prima pela sua simplicidade, leveza, aparência enxuta e ótima integração com o ambiente gráfico KDE.

Um dos ajustes necessários para o perfeito funcionamento do Konqueror está na habilitação do suporte à applets Java. Para isto, faz-se necessário apenas indicar a localização do arquivo executável em Configurações -> Configurar Konqueror, na seção Java & JavaScript.

40/96

Page 426: Guia Do Linux

Seção Java & JavaScript.

Basta habilitar a caixa Habilitar Java globalmente e informar corretamente o caminho onde se encontra o arquivo executável java. A instalação padrão do Slackware provê a SDK 2 da Sun, situada em /usr/lib/java. O executável deverá se encontrar em /usr/lib/java/bin/java.

CLIENTE FTPMais 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

Page 427: Guia Do Linux

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.

Konsole (Terminal virtual).

Para maior praticidade, poderemos também acessar o Konsole pressionando a tecla <F4> a partir do Konqueror. O diretório padrão do terminal não será o do usuário, e sim aquele em que navegamos.

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

Page 428: Guia Do Linux

Ferramenta Procurar arquivos.

Sem grandes mistérios e, com a utilização de expressões regulares e chaves de busca, em poucos instantes localizaremos todos os arquivos desejados.

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

Page 429: Guia Do Linux

Ferramenta Filtro de visualização.

Notem que são exibidas somente as entradas dos tipos existentes no diretório corrente. Basta clicarmos em apenas um deles para a filtragem.

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.

Caixa de diálogo para criação de galeria de imagens.

Ajustem a gosto próprio os parâmetros da criação desta galeria de imagens. Ao final dos ajustes, cliquem em Criar e aguardem o término do processo.

Imagens sendo redimensionadas para a galeria de imagens.

Em poucos instantes, o navegador WEB Konqueror irá exibir a nova galeria.

44/96

Page 430: Guia Do Linux

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:

Caixa de diálogo Executar Comando do Shell.

Opcionalmente poderemos inserir parâmetros entre as aspas simples, onde se encontra o arquivo a ser executado. Basta apenas conhecê-los. &;-D

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

Page 431: Guia Do Linux

• 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:

Vejam todas as seções do Centro de Controle disponíveis. Basta agora navegarmos em suas opções, como faríamos com uma estrutura de arquivos e diretórios.

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.

AJUSTES & CONFIGURAÇÕES

Para acionar a tela de configuração do Konqueror, deveremos ir ao menu principal e selecionar a opção Configurações -> Configurar Konqueror.

46/96

Page 432: Guia Do Linux

Opção Configurações -> Configurar Konqueror.

Aqui encontraremos de forma organizada e estruturada as mais diversas opções de ajustes e configuração, bastando apenas navegar no painel à esquerda e ajustar o gerenciador de acordo com nossas preferências.

As principais seções que encontraremos são:

• Comportamento,

• Aparência,

• Pré-Visualizações & Metadados,

• Associações de arquivos,

• Comportamento WEB,

• Java & JavaScript,

• Fontes,

• Atalhos da Web,

• Barra lateral de Histórico,

• Cookies,

• Cache,

• Proxy,

• Folhas de estilo,

• Criptografia,

• Identificação do Navegador,

• Plug-ins e

• Performance.

Não descreveremos estas seções aqui pelo fato de se encontrar também disponível no Centro de Controle KDE. Para terem acesso a todas estas opções, consultem nesta parte o capítulo As ferramentas de ajustes.

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

Page 433: Guia Do Linux

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.

Para obterem maiores informações sobre as ferramentas disponíveis nesta seção, consultem ainda nesta parte, o capítulo As ferramentas de ajustes.

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

Page 434: Guia Do Linux

KDevelop.

Semelhante ao Microsoft Visual C++, esta IDE possui alguns interessantes recursos, como um gerador de documentação eletrônica e makefiles automatizados, possibilitando em poucos minutos ter à nossa disposição, uma base de desenvolvimento para a criação de novas aplicações.

Infelizmente o KDevelop não possui um gerador de formulários; mesmo assim, é possível desenvolver excelentes aplicações básicas.

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

Page 435: Guia Do Linux

Kommander.

Basicamente existem dois módulos: o kmdr-editor, responsável pela criação da interface e que possibilita escrever os scripts “embutidos” nos widgets criados; e o kmdr-executor, que executa os arquivos criados pelo editor.

Muitas distribuições (que adotam o KDE como desktop padrão) utilizam o Kommander para construir seus painéis de controles personalizado.

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

Page 436: Guia Do Linux

Quanta+.

O Quanta+ – pronuncia-se “Quanta Plus” – possui vastos recursos para a edição de códigos HTML, oferecendo também, a partir da versão 3, opções de módulos para o desenvolvimento de páginas em outras linguagens.

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

Page 437: Guia Do Linux

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

Em Ferramentas de aprendizado, temos o KEduca, que permite criar, editar e aplicar testes de conhecimentos baseado no uso de formulários. As perguntas, pontuações, dicas, tempo de resposta, etc. São configuráveis conforme vão se incluindo as questões. Simples e fácil de usar.

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

Page 438: Guia Do Linux

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.

Espaço de trabalho do KOffice.

Dentre suas principais características, está a forte integração com o ambiente gráfico KDE, por ser parte integrante do projeto. Ela também se encontra bastante estável e madura em suas últimas versões.

Os principais componentes do KOffice são:

• Karbon14, editor de gráficos vetoriais;

• KChart, gerador de gráficos;

• Kexi, banco de dados (estilo MS Access);

• KIllustrator, editor de gráficos vetoriais;

• Kívio, editor de fluxogramas;

• KOntour, gráficos vetoriais (desenhos);

• KPlato, gestor de projetos;

• KPresenter, editor de apresentações;

53/96

Page 439: Guia Do Linux

• 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.

Tela inicial do Kontact.

Dentre suas características, a mais notória está na forma com que integrou as principais aplicações para o gerenciamento de informações do KDE, como o KMail, KOrganizer, Akregrator, entre outros. Todos eles encontram-se disponíveis através da interface do Kontact.

Os principais componentes do Kontact são:

• Akregator, leitor de RSS;

54/96

Page 440: Guia Do Linux

• 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

Page 441: Guia Do Linux

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

Page 442: Guia Do Linux

Krita.

Apesar de ter sido integrada a suíte recentemente, esta aplicação vem sendo desenvolvida desde 1999; porém, mudava constantemente de mantenedor, além das longas pausas em seu desenvolvimento.

A expectativa para o seu desenvolvimento é de que esta aplicação seja uma opção à altura do já conhecido, tradicional e consagrado GIMP.

KVIEW

✔ <http://www.ph.unimelb.edu.au/~ssk/kde/kview/>.

Um simples e funcional visualizador de imagens para o KDE.

KView.

O KView possibilita visualizarmos praticamente todos os formatos de

57/96

Page 443: Guia Do Linux

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.

O Akregator permite o suporte aos feeds RSS e a outros formatos eqüivalentes, que por sua vez possibilita os sites de informações resumirem suas notícias para uma simples consulta por tópico.

No KDE, esta aplicação também pode ficar embutido em seu Painel...

Akregator embutido no Painel do KDE.

... ou ainda, integrada ao gerenciador de infomações pessoais Kontact.

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

Page 444: Guia Do Linux

KGet.

Sendo um componente do ambiente gráfico KDE, poderemos realizar com ele as principais operações de forma simples e fácil, sem contar as vantagems de utilizá-lo de modo integrado ao navegador Konqueror.

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...

1a. inicialização do 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

Page 445: Guia Do Linux

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.

Konqueror acessando o Google.

Para maiores informações sobre suas funcionalidades como navegador, consultem nesta parte, o capítulo O Konqueror.

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

Page 446: Guia Do Linux

Kopete (em inglês).

Dentre suas características está o suporte a praticamente todos os protocolos existentes, desde o ICQ até o MSN, além da possibilidade de utilizar plugins para estender suas funcionalidades.

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.

Para configurá-lo, deveremos clicar no botão Configurar... e navegar através das abas para definirmos os atributos necessários para uma boa navegação. Apesar da existência de inúmeros parâmetros, a maioria das intervenções estão previamente configuradas como padrão para a maioria dos equipamentos; além disso, são de fácil entendimento, onde acreditamos não existir necessidade de instruções adicionais.

Para utilizar o KPPP, certifiquem-se de que possuem uma conta pré-configurada para a conexão, além de alguns ajustes necessários. Caso positivo, basta selecionar a conta, digitar a autenticação e a senha e clicar em Conectar. Caso contrário, basta apenas criarem uma nova conta. O processo em si é tão simples, que dispensa os comentários adicionais.

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

Page 447: Guia Do Linux

JOGOS DE CARTAS

Em Jogos de Cartas, temos: KPoker, Klondike, e Lieutenant Skat.

JOGOS DE TABULEIRO

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.

TÁTICAS & ESTRATÉGIAS

Em Táticas & Estratégias, temos: KAtomic, KBattleship, Kolor Lines, KMines, KJumpingCube, KSokoban, Klickety, Konquest e SameGame.

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.

JUK

✔ <http://developer.kde.org/~wheeler/juk.html>.

O JuK é o tocador de áudio multimídia padrão do KDE.

1a. Inicialização do JuK.

Embora não seja tão rico em recursos e funcionalidades como o AmaroK, no JuK poderemos reproduzir os formatos mais populares (MP3, Oggs Vorbis, FLAC, MPC, etc.), classificar as coletâneas de músicas, editar TAGs e ainda, suportar a gravação em CDs através do integração com o

62/96

Page 448: Guia Do Linux

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.

Este utilitário é apenas uma inteface gráfica para aplicativos em modo texto que realizam esta atividade, que por sua vez, se resume em duas etapas: ripagem, feita através do programa cdparanoia; e a codificação, feita através de diferentes codificadores, de acordo com formato desejado (lame para MP3, oggenc para Oggs Vorbis e flac para FLAC).

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.

KMix ajustando as propriedades da placa de som SB Live! 5.1.

Em destaque, o suporte a arquitetura ALSA e todos os seus recursos.

Se por um acaso, ao executarem o KMix e sua interface gráfica não aparecer na tela, olhem para a barra de tarefas, no canto esquerdo. Ele se

63/96

Page 449: Guia Do Linux

encontra inicializado, porém minimizado, disponibilizando apenas um pequeno ícone azul para ser acessado.

Aplicações embutidas no Painel. No canto direito, observem o ícone do KMix.

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.

Conforme as instruções de seu manual eletrônico:

“A finalidade do KRec é bastante simples. Ele conecta-se ao servidor aRts e grava o que para ele é redirecionado para arquivos. Estes arquivos estão num formato especial do KRec mas é possível exportá-los para arquivos wave, ogg e mp3. O KRec tem no entanto muito mais funcionalidades. Você pode efetuar gravações múltiplas num arquivo até com funcionalidades de sobreposição.” -- [Manual do KRec].

64/96

Page 450: Guia Do Linux

KSCDO KsCD é o reprodutor de CDs de áudio padrão do KDE.

KsCD reproduzindo “Toni Braxton: More than a woman”.

Ele possui todas opções básicas de um aparelho de CD comum, como os recursos randônicos, reprodução contínua e reprodução inicial das músicas, suporte ao banco de dados freedb, entre outros recursos disponíveis na opção Extras (Extras) -> Configure KsCD... (Configurações KsCD...).

Lembrem-se de que os CDs de áudio não precisam ser montados (no sentido literal), bastando apenas inseri-lo na bandeja e executar os tocadores para poder ouvir suas músicas preferidas.

NOATUM

✔ <http://noatun.kde.org/>.

Um reprodutor multimídia para o sintetizador aRts, do KDE.

Interface “Excelente”.

Não desdenhem da interface simples do Noatum; embora apresente apenas os controles básicos de um reprodutor multimídia, ele pode ser extendido e customizado através de seu painel de configuração. Por padrão, suporta os formatos MPEG Layer 1 e MP3. Os demais formatos podem ser suportados através da inclusão de bibliotecas e codecs especiais.

65/96

Page 451: Guia Do Linux

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.

Solicitação da senha de autenticação do superusuário.

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.

CENTRO DE INFORMAÇÕES DO KDEExtrair informações gerais sobre as especificações do equipamento em uso através da linha de comandos, além de cansativo e trabalho, é também bastante desmotivante. O ideal é ter, à disponibilidade, uma ferramenta que fizesse toda esta checagem e nos informasse de forma detalhada.

Para estas circunstâncias, temos o Centro de Informações do KDE.

66/96

Page 452: Guia Do Linux

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.

Interface gráfica inicial do KCron.

Aqui poderemos agendar todas as nossas tarefas, determinando as aplicações que serão carregadas e seus respectivos tempos (dia, semana, mês, hora, etc.). Para isto, cliquem no ícone Novo e editem os valores das variáveis apresentadas a seguir em uma caixa de diálogo.

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

Page 453: Guia Do Linux

Konsole (Terminal virtual).

Uma circunstância interessante para o seu uso está no ato da navegação na estrutura de diretórios do sistema com o Konqueror. Ao pressionarmos <F4>, teremos acesso ao Konsole, com a linha de comando apontando para o mesmo diretório o qual estávamos realizando a navegação.

Consultem nesta parte o capítulo O Konquero para obterem maiores informações acerca desta maravilhosa ferramenta.

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

Page 454: Guia Do Linux

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.

KRANDRComo o próprio nome indica, o KRandR é uma simples ferramenta que possibilita redimensionar e rotacionar a resolução de video.

KRandR (Redimensionar Tela & Rotacionar).

Outras características interessante desta ferramenta está no fato de que pode ser mantida embutida no Painel do KDE. Com um simples clique do botão esquerdo do mouse, podemos ajustar automaticamente a resolução e a taxa de atualização da tela, conforme a figura abaixo.

Inicialização do KRandR através do mouse, com a aplicação minimizada.

69/96

Page 455: Guia Do Linux

KRFB (DESKTOP SHARING)O Krfb (Desktop Sharing) é uma aplicação destinada especialmente para o compartilhamento de recursos de um desktop.

Assistente gráfico do Krfb.

Com o auxílio do cliente VNC do KDE, o Krfb compartilha a sessão atual do ambiente gráfico com usuários de outras máquinas que estejam ligadas em rede, sem a necessidade de reiniciar o servidor gráfico.

KUSER

O KUser é o gerenciador padrão de contas de autenticação dos usuários e grupos de acesso do sistema operacional.

KUser.

O processo de criação de contas pode ser feito de forma simples e intuitiva, bastando apenas navegarmos nas abas Usuários e Grupos ou clicar nos ícones ADD (adicionar), EDIT (editar), DEL (excluir) referentes as abas mencionadas. Já o ícone Salvar (o pequeno disquete à esquerda)

70/96

Page 456: Guia Do Linux

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).

KwikDisk acoplado. KDiskFree (KDE 3.4).

Ambos possibilitam a montagem e visualização das unidades físicas (CD/DVD-ROM, disquete, pedrives, etc) e partições (discos rígidos) do sistema, desde que estas estejam especificados corretamente em /etc/fstab.

KSYSGUARD

O KSysGuard – Guarda do Sistema KDE – é a aplicação que permite monitorar os aplicativos em aberto e o desempenho geral do sistema.

KSysGuard (aba “Carga do Sistema”).

A aba Carga do Sistema mostra as medições das taxas de utilização do

71/96

Page 457: Guia Do Linux

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>.

Aba “Tabela de Processos”, habilitada com o pressionamento das teclas <CTR>+<ESC>.

Outra forma de realizar a destruição de um processo é pressionando simultâneamente as teclas <CTRL>+<ALT>+<ESC>, onde em seguida o cursor terá sua imagem modificada por uma caveirinha. Bastará apenas clicarmos na janela o qual reside a aplicação travada.

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

Page 458: Guia Do Linux

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

Page 459: Guia Do Linux

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.

KATE / KEDIT / KWRITE

Estes são os editores de textos nativos do KDE.

Kate abrindo diversos arquivos-textos LINUX-HOWTO.

Cada um destes editores tem uma finalidade: o Kate é o mais avançado dos editores, pois disponibiliza uma série de ferramentas e recursos, tornando-se excelente opção para a edição de scripts e código-fontes. O KWrite, embora seja mais simples, possui a funcionalidade de identar e destacar a codificação do texto em questão (HTML, C/C++, CSS, etc.). Por último, o KEdit é o mais simples de todos, útil apenas para a editoração de textos simples. Embora tenha menos recursos, carrega de forma bem mais rápida.

KCALC

Sem maiores comentários, esta é a calculadora do KDE!

74/96

Page 460: Guia Do Linux

KCalc.

KNOTES

Um simples anotador para o KDE.

KNotes.

SELETOR DE CARACTERES

Quem não se lembra do mapa de caracteres, um utilitário que permite selecionar caracteres especiais? No KDE temos o Seletor de caracteres.

75/96

Page 461: Guia Do Linux

Seletor de caracteres.

Simples, fácil e muito prático! Algum comentário? &;-D

SUPERKARAMBA

✔ <http://netdragon.sourceforge.net/>.

O SuperKaramba é uma excelente ferramenta gráfica que auxilia o administrador no gerenciamento do sistema em geral.

SuperKaramba.

Como ele podemos verificar a carga do processador, serviços carregados, ocupação da memória, entre outros. Outra recente inovação está na possibilidade de ser utilizado como leitor de RSS. Os temas são baixados diretamente pela interface do aplicativo.

SOBRE O KDE-APPS.ORG

Por ter sido concebido para ser um ambiente gráfico completo e

76/96

Page 462: Guia Do Linux

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.

Se desejarmos incluir mais aplicações no sistema, poderemos consultar antes a página KDE-Apps. Lá encontraremos uma fantástica quantidade de referência para aplicações desenvolvidas para este ambiente gráfico. Todas elas estão organizadas em categorias, onde também temos uma simples classificação para as aplicações mais populares existentes.

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

Page 463: Guia Do Linux

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.

O CENTRO DE CONTROLE KDEO Centro de Controle KDE é a principal ferramenta de ajuste e configuração deste ambiente gráfico. Ele fornece um excelente menu estruturado com as principais seções e seus respectivos módulos para a configuração do ambiente gráfico – e até mesmo do sistema operacional.

Tela inicial do Centro de Controle KDE.

No Centro de Controle KDE, conseguiremos configurar praticamente todo o ambiente gráfico e o comportamento geral de suas aplicações.

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

Page 464: Guia Do Linux

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.

Pronto, basta acionarmos novamente o Menu K -> Configurações e navegar nas seções existentes, selecionando em seguida o módulo desejado.

Outra forma de executar os módulos separadamente é acionando na linha de comando a aplicação kcmshell. A sintaxe básica é:

$ kcmshell [MÓDULO]

Onde [MÓDULO] é o módulo desejado. Para obtermos maiores informações sobre esta aplicação, digitem...

$ kcmshell --list

AS SEÇÕES

As seções disponíveis no Centro de Controle são:

79/96

Page 465: Guia Do Linux

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

APARÊNCIA & TEMAS

Em Aparência & Temas, praticamente todos os módulos responsáveis pelas personalizações cosméticas do ambiente gráfico: cor de fundo, papel de parede, fotes, tamanhos de ícones, etc. Estes módulos se classificam em:

• Cores

• Decorações da Janela

• Estilo

• Fontes

• Fundo de Tela

• Gerenciador de Temas

• Lançador Rápido

• Protetor de Tela

• Tela de Apresentação

• Ícones

COMPONENTES DO KDEEm 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

Page 466: Guia Do Linux

• 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

INTERNET & REDE

Em Internet & Rede, temos diversos módulos de ajustes que possibilitam configurar praticamente todo o processo de comunicação em redes.

• Batepapo de Rede Local

• Compartilhamento de Arquivos

• Compartilhamento do Desktop

• Configurações de Conexão

• Configurações de Rede

• Navegador WEB

• Navegação em Rede Local

• Proxy

• Rede Sem Fio

• Samba

• Serviço Discovery

Tal como em Componentes do KDE, o Konqueror é agraciado com um módulo separado: o Navegador WEB. Ele é dedicado para ajustar as suas funcionalidades referentes a navegação para a Internet.

É subdividido nas seguintes partes:

• Atalho da WEB

• Barra Lateral de Histórico

81/96

Page 467: Guia Do Linux

• 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

REGIONAL & ACESSIBILIDADE

Em Regional & Acessibilidade, como o próprio nome diz, existem diversos módulos que facilitam a definição de variáveis de ambiente como a língua, o fuso horário, a moeda corrente, entre outros, como também algumas opções de acessibilidade em geral. É composta dos seguintes módulos:

• Acessibilidade

• Atalhos do Teclado

• Ações de Entrada

• Conversão de Texto para Fala

• Layout do Teclado

• País/Região & Idioma

82/96

Page 468: Guia Do Linux

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

SOM & MULTIMIDIA

Em Som & Multimídia, os módulos que o compõe subdividem-se à grosso modo em 2 categorias, à saber: propriedades de áudio em geral e sons de notificação do sistema. Esses módulos são:

• CDs de Áudio

• Campaínha do Sistema

• Notificações do Sistema

• Sistema de Som

ÁREA DE TRABALHO

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

Page 469: Guia Do Linux

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.

ASSISTENTE DE CONFIGURAÇÕES PARA A ÁREA DE TRABALHO

O Assistente de Configurações para a Área de Trabalho nos ajudará a definirmos alguns ajustes e configurações básicos para a área de trabalho. Esta ferramenta é a primeira aplicação a ser carregada assim que inicializamos pela 1a. vez o KDE.

Assistente de Configurações para a Área de Trabalho.

Para maiores informações, consultem o capítulo Iniciando o KDE.

CONFIGURAR O PAINEL

Para realizarmos ajustes gerais no painel do ambiente de trabalho, poderemos recorrer ao atalho Configurar o Painel.

84/96

Page 470: Guia Do Linux

Configurar Painel, entrada também disponível no Centro de Controle .

Tanto aqui quanto no Centro de Controle -> Ambiente de Trabalho -> Painéis, teremos recursos para personalizar o painel de trabalho conforme nossas preferências, bastando apenas navegar nas abas Disposição, Ocultação, Menus e Aparência.

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.

Sem grandes mistérios, com suas funcionalidades poderemos realizar diversos tipos de operações – inclusive criar submenus e entradas.

FERRAMENTA DE ATUALIZAÇÃO DE MENU

A Ferramenta de Atualização de Menus possibilita fazer uma busca de novas aplicações instaladas ao sistema. Muito útil para adicionar aquelas desenvolvidas com o uso de outras bibliotecas gráficas (como a GTK+), por elas não terem sido concebidas para se integrar a este ambiente.

85/96

Page 471: Guia Do Linux

Ferramenta de Atualização de Menu, sendo acionada pela 1a. vez.

As aplicações desenvolvidas para o ambiente gráfico KDE geralmente criam atalhos diretamente no menu K durante a instalação, dispensando o uso da Ferramenta de Atualização de Menus.

Uma observação importante é que estas novas aplicações deverão incluir seus executáveis no diretório /usr/local/bin ou /usr/bin, pois caso contrário, não serão detectados por esta ferramenta (o que normalmente ocorre com aquelas que não foram desenvolvidas para o KDE). Caso não se encontrem, deveremos criar atalhos simbólicos para seus executáveis:

# cd /usr/local/bin

... ou...

# cd /usr/bin

Em seguida...

# ln -s /usr/local/share/[DIR_APLICATIVO]/[EXECUTÁVEL] [EXECUTÁVEL]

Lembrem-se que, de acordo com a aplicação instalada, a localização de seu respectivo arquivo executável poderá variar.

Feito isto, a ferramenta fará a inclusão da aplicação normalmente.

FERRAMENTA DE GERENCIAMENTO DA CARTEIRA

Para aqueles que utilizam os mais diversos servidos que, para terem o acesso necessitam se autenticar, guardar os nomes das contas e senhas de acesso torna-se um verdadeiro tormento. Felizmente, para esta necessidade, existe a Ferramenta de Gerenciamento da Carteira.

86/96

Page 472: Guia Do Linux

Ferramenta de Gerenciamento da Carteira – o popular “Carteira de Senhas do KDE”.

Basicamente trata-se de um aplicativo simples e fácil de utilizar, que armazena todas contas de acesso e senhas de forma automática. Sem maiores inconvenientes, poderemos utilizar o Kopete, o KMail, entre outras aplicações com maior conforto e comodidade apenas acionando a opção gravar, salvar ou lembrar senha, presente na maioria destas aplicações. Assim, a Ferramenta de Gerenciamento da Carteira será acionada.

GERENCIADOR DE IMPRESSÃO

Outra maravilhosa ferramenta do KDE é o seu Gerenciador de Impressão.

Gerenciador de Impressão do KDE. Em conjunto com os servidores CUPS e LPRng, permitem configurar facilmente as impressoras do sistema.

Com qualquer um dos servidores de impressão CUPS e LPRng, poderemos facilmente instalar uma impressora no sistema. Em Sistema de impressão atualmente usado deveremos selecionar um dos servidores acima citados na listagem e, em seguida, ao clicarmos em Adicionar -> Adicionar impressora/classe..., será inicializado um assistente gráfico que nos auxiliará durante o processo de instalação do periférico.

87/96

Page 473: Guia Do Linux

Assistente de configuração da impressora – KDE.

Mas lembrem-se de que este periférico somente estará disponível para este ambiente gráfico; para os demais ambientes gráficos, deveremos proceder com a sua instalação de acordo com a documentação dos servidores e filtros de impressão disponíveis.

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

Page 474: Guia Do Linux

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.

SELEÇÃO DA AUTENTICAÇÃO GRÁFICA

Ao inicializarmos o sistema, poderemos optar por ajustar tanto o modo de autenticação (texto ou gráfico) como definir quais os gerenciadores utilizar.

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

# Default runlevel. (Do not set to 0 or 6)id:3:initdefault:

Encontraremos a linha referente a seção Default runlevel previamente pré-configurada para inicializar no nível 3 (modo texto). Vejam também que, no texto acima, que existem diversas opções a nossa disposição, onde

89/96

Page 475: Guia Do Linux

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

Gerenciador de autenticação KDM (KDE 3.1).

Para selecionar o gerenciador de autenticação desejado, deveremos apenas mantê-lo “descomentado”, marcando as demais opções disponíveis:

#! /bin/sh## rc.4 This file is executed by init(8) when the system is being# initialized for run level 4 (XDM)## Version: @(#)/etc/rc.d/rc.4 2.00 02/17/93## Author: Fred N. van Kempen, <[email protected]># At least 47% rewritten by: Patrick J. Volkerding <[email protected]>#

# Tell the viewers what's going to happen...echo "Starting up X11 session manager..."

# 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

4 À partir da versão 10.2, o Slackware deixou de disponibilizar o ambiente gráfico GNOME e respectivamente, o seu gerenciador de autenticação GDM, embora suas definições tenham sido mantidas nas configurações padrão da distribuição.

90/96

Page 476: Guia Do Linux

# exec /usr/bin/gdm -nodaemon#fi

# Someone thought that gdm looked prettier in /usr/sbin,# so look there, too:#if [ -x /usr/sbin/gdm ]; then# exec /usr/sbin/gdm -nodaemon#fi

# Not there? OK, try to use KDE's kdm session manager:if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemonelif [ -x /usr/bin/kdm ]; then exec /usr/bin/kdm -nodaemonfi

# If all you have is XDM, I guess it will have to do:#if [ -x /usr/bin/xdm ]; then# exec /usr/bin/xdm -nodaemon#elif [ -x /usr/X11R6/bin/xdm ]; then# exec /usr/X11R6/bin/xdm -nodaemon#fi

# errorechoecho "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 -nodaemonelif [ -x /usr/bin/kdm ]; then exec /usr/bin/kdm -nodaemonfi

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

Page 477: Guia Do Linux

Enfim, ao reiniciarem o sistema, a inicialização se dará no modo gráfico.

SELEÇÃO DO AMBIENTE GRÁFICO

A seleção de ambiente gráfico no modo gráfico não tem mistério: bastará apenas selecionar os gerenciadores disponíveis na tela de acordo com sua preferência. Porém, no modo texto existem diversas opções a serem utilizadas, e a principal existente é com a utilização do utilitário xwmconfig.

CONFIGURAÇÃO AUTOMATIZADA ATRAVÉS DO XWMCONFIG

O xwmconfig é uma ferramenta de configuração nativa do Slackware que realiza a seleção do ambiente gráfico para aqueles que preferem inicializar o sistema em nível de execução 3, com o comando startx + <ENTER>. Para inicializá-lo, deveremos evocar na linha de comando:

$ xwmconfig

Basta seguirem as instruções descritas pela ferramenta.

Uma característica interessante é que, quando o programa é executado com os poderes de superusuário, as alterações realizadas se tornam o padrão geral do sistema; porém ao ser rodado apenas por um simples usuário, suas alterações somente irão se refletir em sua conta: somente ele é que poderá executar o ambiente gráfico selecionado. Os demais seguirão os padrões adotados pelo superusuário ou definidos por si próprio.

ALTERAÇÃO MANUAL PARA TODOS OS USUÁRIOS

Outra forma de alterar o ambiente gráfico do sistema é lidando diretamente com os arquivos de configuração, situados em /etc/X11. Naveguem até o diretório /etc/X11/xinit...

92/96

Page 478: Guia Do Linux

# ls -ltotal 32-rw-r--r-- 1 root root 321 Mar 16 18:36 README.Xmodmaplrwxrwxrwx 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 -ltotal 32-rw-r--r-- 1 root root 321 Mar 16 18:36 README.Xmodmaplrwxrwxrwx 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?

ALTERAÇÕES MANUAIS PERSONALIZADAS PARA CADA USUÁRIO

Será necessário a criação de um atalho simbólico dentro de cada diretório $HOME dos usuários que desejarem ter o ambiente gráfico diferente do padrão do sistema. Este atalho deverá ser um arquivo oculto, então procedam com a seguinte sintaxe.

$ ln -s /etc/X11/xinit/xinitrc.[GER. DESEJADO] /home/[DIR_USUÁRIO]/.xinitrc

Para exemplificar, seguem o uso dos dados referentes a interface gráfica WindowMaker e a conta de acesso darkstar:

$ ln -s /etc/X11/xinit/xinitrc.wmaker /home/darkstar/.xinitrc

Pronto! para iniciarmos o ambiente gráfico, basta evocar novamente...

$ startx

93/96

Page 479: Guia Do Linux

... 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.

INICIALIZAÇÃO AUTOMÁTICA DE APLICAÇÕES

Quem se lembra da seção (ou pasta) Iniciar, localizável através do menu Iniciar -> Programas do Windows -> Iniciar? Ao colocarmos um atalho para esta seção, a cada vez que o Windows era iniciado, a aplicação referida é automaticamente carregava. No KDE, esta seção no menu K não existe, porém temos o diretório ~/.kde/Autostart/. O procedimento é basicamente o mesmo: criem um atalho para a aplicação dentro deste diretório e pronto! Bastará carregar novamente este ambiente gráfico para que o aplicativo também seja executado automaticamente logo em seguida.

AJUSTES NO IDIOMA (INTERNACIONALIZAÇÃO)O KDE por padrão utiliza o inglês como língua oficial do ambiente gráfico. Para configurá-lo para o português, será necessário obter e instalar o pacote kde-i18n-pt_BR-[VERSÃO]-noarch-1.tgz para posteriormente ajustar o idioma no Centro de Controle KDE. Este pacote se encontra disponível na mídia de instalação da distribuição, na pasta slackware/kdei/, como também no FTP da própria distribuição.

Após a obtenção do pacote, realizem a sua instalação com o comando:

# installpkg kde-i18n-pt_BR-[VERSÃO]-[ARQUITETURA]-[REVISÃO].tgz

Ao iniciarmos o KDE, deveremos ajustar a linguagem utilizada diretamente pelo assistente de configuração do KDE, na 1a. tela “Welcome into the KDE...”, ou inicializar o KDE Control Center (Centro de Controle KDE). Na seção Regional & Acessibility (Regional &

94/96

Page 480: Guia Do Linux

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.

Já para as aplicações baseadas na GTK – e especialmente o GNOME –, basta definirmos em /etc/profile as seguintes variáveis:

### Acentuação para as aplicações GTK+/GNOME ###alias portuguese.br=pt_BR.ISO.8859-1export LANG=pt_BRexport LC_ALL=pt_BRexport LC_TYPE=pt_BRexport LC_MESSAGES=pt_BR

Para torná-las ativas, podemos proceder com o comando...

# source /etc/profile

Outra forma de ativar estas alterações é realizar novamente a autenticação de usuário. Assim estes valores serão automaticamente carregados.

REDEFININDO AJUSTES MAL FEITOS

Se por algum motivo fizerem alguma operação indevida que possa vir a prejudicar a excelente performance e o bom funcionamento deste ambiente gráfico, encerrem sua execução, retornem para a linha de comando e removam o diretório .kde, presente no diretório pessoal:

$ rm -r ~/.kde

Neste diretorio ficam armazenadas as definições de customização do ambiente gráfico e de suas aplicações. Após removido, reinicializem novamente o ambiente gráfico para que seja iniciado o Desktop Setting Wizard (Assistente de Configurações para a Área de Trabalho), e assim refaçam novamente as definições das customizações, conforme desejado.

95/96

Page 481: Guia Do Linux

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

Page 482: Guia Do Linux

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”.

Page 483: Guia Do Linux

ÍNDICE

VISÃO GERAL..........................................................6I. OS REQUERIMENTOS..............................................7

Introdução.......................................................................................7

A metodologia adotada...................................................................7O público-alvo........................................................................................7Sobre a internacionalização das aplicações.........................................7

Aplicações KDE & Qt......................................................................................7Aplicações GTK..............................................................................................8

Otimização das instruções....................................................................8Disponibilidade de aplicativos..............................................................9Opção por pacotes pré-compilados.......................................................9

Processos de instalação..................................................................9Pacotes compilados...............................................................................9

Pacotes nativos do Slackware......................................................................10Pacotes do formato RPM..............................................................................10

Pacotes binários..................................................................................10Código-fonte........................................................................................11

Sobre a definição de localização dos pacotes..............................................11Sobre 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....................................................17Introdução.....................................................................................17

A Fundação Mozilla.......................................................................17Componentes.......................................................................................17

O Firefox e o Thunderbird............................................................................17Sunbird.........................................................................................................18Sobre o SeaMonkey.....................................................................................19

A instalação..........................................................................................20A execução...........................................................................................21A configuração.....................................................................................22Temas & Extensões.............................................................................23Observações finais..............................................................................26

Navegadores e clientes de correio...............................................27Konqueror & KMail.............................................................................27

Gerenciadores de conteúdos........................................................27wget & Kget.........................................................................................27KTorrent..............................................................................................28

Page 484: Guia Do Linux

Mensagens instantâneas..............................................................29Kopete..................................................................................................29aMSN...................................................................................................30

Desenvolvimento de páginas HTML.............................................31NVU......................................................................................................31Quanta+...............................................................................................32

Conclusão......................................................................................33

III. SUÍTES DE ESCRITÓRIO......................................34Introdução.....................................................................................34

O OpenOffice.org...........................................................................34O histórico...........................................................................................34A evolução............................................................................................35As características................................................................................36Os componentes..................................................................................37Os requerimentos................................................................................39A instalação..........................................................................................40As configurações.................................................................................41Sobre 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.....................................45Introdução.....................................................................................45

Tratamento de imagens (bitmaps)...............................................45GIMP....................................................................................................45

Arte gráfica (vetoriais).................................................................46Inkscape...............................................................................................47

Diagramação (DTD)......................................................................48Scribus.................................................................................................48

Visualizadores de bitmaps............................................................49

Sobre o ImageMagick...................................................................49

Sobre o padrão SVG......................................................................51

Conclusão......................................................................................51

V. IMAGEM, SOM E MULTIMÍDIA................................52Introdução.....................................................................................52

Requisitos para reprodução multimídia......................................52Sobre o libdvdcss................................................................................53

Reprodução de áudio....................................................................53AmaroK................................................................................................54O KMix e o KsCD.................................................................................55

Extração & ripagem de áudio.......................................................55

Page 485: Guia Do Linux

Serviços do Konqueror........................................................................56KAudio Creator (KDE).........................................................................56

Reprodução de vídeos...................................................................57Xine......................................................................................................57

Gravação de mídias.......................................................................59K3b.......................................................................................................59

Conclusão......................................................................................62

VI. JOGOS E ENTRETENIMENTOS................................63Introdução.....................................................................................63

Os jogos.........................................................................................63Ação 3D................................................................................................63

BZFlag..........................................................................................................63SuperTux......................................................................................................64

Arcade..................................................................................................65Chromium B.S.U...........................................................................................65Raptor...........................................................................................................65Search an Rescue.........................................................................................66

Estratégia.............................................................................................67Battle for Wesnoth.......................................................................................67FreeCiv.........................................................................................................68Lincity / LinCity-NG......................................................................................68UFO: Alien Invasion.....................................................................................69Warzone2100...............................................................................................70

FPS.......................................................................................................70Alien Arena...................................................................................................70Cube (e variantes)........................................................................................71Nexuiz..........................................................................................................72Tremulous....................................................................................................73Warsow.........................................................................................................74

Simulador de corrida...........................................................................75Racer............................................................................................................75Torcs.............................................................................................................76Tux Racer.....................................................................................................77Ultimate Stunts............................................................................................78VDrift............................................................................................................78

Simulador de vôo.................................................................................79FlightGear....................................................................................................79GL-117..........................................................................................................80Reaper..........................................................................................................81

A execução de jogos nativos do Windows....................................82WINE & WineX....................................................................................82

Bibliotecas e APIs.........................................................................83A OpenGL e a implementação MESA.................................................83A SDL - Simple DirectMedia Layer....................................................83A OpenAL.............................................................................................84Sobre outras APIs gráficas.................................................................84

Conclusão......................................................................................85

VII. EMULAÇÃO DE SISTEMAS...................................86

Page 486: Guia Do Linux

Introdução.....................................................................................86

WINE.............................................................................................86A instalação..........................................................................................87A configuração.....................................................................................88A execução...........................................................................................89Observações finais..............................................................................89Sobre o licenciamento.........................................................................89

DOSBox..........................................................................................90

Conclusão......................................................................................90

VIII. MISCELÂNEOS..............................................92Introdução.....................................................................................92

Controles financeiro.....................................................................92IRPF......................................................................................................92

Conclusão......................................................................................95

Page 487: Guia Do Linux

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 geral1, 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

1 Estes programas foram desenvolvidas em grande parte por programadores voluntários que utilizavam a Internet para se corresponderem e coordenarem um trabalho em equipe. É bastante lógico que houvesse uma certa tendência para que estas aplicações logo se tornassem maduras.

6/95

Page 488: Guia Do Linux

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.

SOBRE A INTERNACIONALIZAÇÃO DAS APLICAÇÕES

Felizmente a grande maioria das aplicações livres disponíveis para sistemas GNU/Linux se encontram traduzidas para o nossa lingua (pt_BR). Porém, veremos nesta parte que aquelas que estão aqui descritas apresentam uma tela capturada no idioma inglês. Isto foi necessário devido a alguns fatores externos em especial. Mas fica a pergunta no ar: como ajustar estas aplicações para que apresentem o nosso idioma?

APLICAÇÕES KDE & QT

As aplicações disponíveis para o KDE utilizam por padrão o idioma pré-configurado para este ambiente gráfico. Bastará somente instalarmos o pacote kde-i18n-pt_BR-[VERSÃO]-noarch.tgz e ajustarmos as configurações para a nossa língua, no Centro de Controle KDE. Este pacote se encontra disponível na pasta /kdei do FTP do Slackware ou na mídia de instalação da distribuição. Para maiores informações, consultem a 6a. Parte: Ambientes Gráficos -> Operações e ajustes afins.

Para as aplicações que foram desenvolvidas para o KDE, mas que não são distribuídas junto ao ambiente gráfico, deveremos instalar à parte o seu

7/95

Page 489: Guia Do Linux

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 GTKJá 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.

OTIMIZAÇÃO DAS INSTRUÇÕES

Conforme pudemos observar, existem métodos distintos de instalação de acordo com o formato do pacote disponibilizado. No caso dos formatos pré-compilados nativos do Slackware e do gerenciamento de pacotes RPM, o processo é relativamente simples e fácil, onde não teremos maiores complicações. Até mesmo o processo de compilação clássica não exige maiores conhecimentos. Por este motivo omitiremos estas instruções para tornar esta obra compacta, evitando assim por instruções repetitivas.

Porém, para pacotes binários e pacotes com o código-fonte que

8/95

Page 490: Guia Do Linux

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.

OPÇÃO POR PACOTES PRÉ-COMPILADOS

Por questões de comodidade e conforto, verifiquem se os pacotes dos programas desejados estejam disponíveis para a instalação os pacotes pré-compilados na distribuição ou no FTP oficial desta. Caso contrário, na seção referente ao aplicativo informaremos a página oficial do projeto, para que possamos obter os pacotes necessários para a instalação.

Se não tivermos disponíveis os pacotes pré-compilados, optem por binários; se não houver; infelizmente teremos que nos contentar com a utilização do código-fonte, onde felizmente teremos instruções detalhadas para a sua instalação, caso estes não utilizem o método de compilação clássica.

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

Page 491: Guia Do Linux

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 DO FORMATO RPMSão pacotes reservados para serem manipulados especificamente pelo o gerenciador RPM. Podem ser compatíveis apenas para uma ou diversas distribuições. Conforme as exigências da norma LSB, todos as distribuições deverão suportar o gerenciador de programas RPM. No Slackware, este se encontra presente desde da sua versão 8.1.

Para instalar um pacote RPM no Slackware...

# rpm -ivh PACOTE-[VERSÃO].rpm --nodeps

O parâmetro --nodeps é necessário, já que o RPM consulta o seu banco de dados para a verificação das pendências requeridas por este pacote. Se estas pendências não se encontrarem no sistema (na verdade apenas não consta no banco de dados), não será possível a sua instalaçã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

Page 492: Guia Do Linux

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.

SOBRE A DEFINIÇÃO DE LOCALIZAÇÃO DOS PACOTES

Em algumas circunstâncias, poderemos ter o inconveniente de ter compilado manualmente uma biblioteca para satisfazer pendência de um aplicativo (ou até mesmou outro elemento – biblioteca, codecs, plugins, etc.). Mas no ato da compilação deste aplicativo, ele por sua vez ainda "detecta" a falta da biblioteca requerida, mesmo já tendo sido instalada.3 Isto pode ocorrer devido a destinação que é dada para a localização dos

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

Page 493: Guia Do Linux

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

Page 494: Guia Do Linux

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

O Konqueror também dispõe de recursos de descompactação de arquivos, onde bastará clicarmos com o botão direito do mouse sobre os pacotes comprimidos e fazer uso das funcionalidades de extração disponíveis.

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.

Para obterem maiores detalhes, consultem na 6a. Parte: Ambientes Gráficos, os capítulos O Konqueror e Aplicações nativas.

Já as aplicações tradicionais que se encontram disponíveis na distribuição não terão seus processos de instalação descritos; somente quando deixarem de integrar a distribuição ou na existência de circunstâncias especiais. Porém serão mantidas instruções para a configuração de algumas modificações e inclusão de funcionalidades e extensões extras necessárias.

SOBRE AS PENDÊNCIAS E PLUGINS

Pendências são programas e/ou bibliotecas especiais que visam fornecer recursos para a utilização do programa principal, onde geralmente são indispensáveis para o seu perfeito funcionamento. Já os plugins são apenas extensões que acrescentam funcionalidades extras ao programa

13/95

Page 495: Guia Do Linux

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.

A EXECUÇÃO DOS PROGRAMAS

Uma questão importante está nas instruções para a execução das aplicações disponíveis no sistema, caso a nomenclatura do arquivo executável seja a mesma que o nome dado ao aplicativo. Serão omitidas as instruções para todas as aplicações que possuem seus executáveis com a mesma nomenclatura que o nome do projeto. Por exemplo:

Para inicializar o GIMP...

$ gimp

... o Firefox...

$ firefox

... e o KWrite...

$ kwrite

Estes não terão instruções para a sua execução, onde os usuários deverão estar préviamente instruídos de que deverão utilizar o mesmo nome do projeto em minúsculo para carregar os aplicativos desejados. Somente terão descritas estas instruções quando a nomenclatura do executável for diferente do nome do aplicativo em questão ou utilizar letras maiúsculas para evocá-lo. Por exemplo, para inicializar o Downloader For X...

$ d4x

Outra questão importante está na execução destes programas. Para evitar a perda de tempo com a repetição de instruções básicas para a execução do programa, ao invés de indicar o atalho o qual se encontra o executável de cada aplicativo nos ambientes gráficos KDE e GNOME, optaremos apenas por solicitar a evocá-los através da utilização da linha de comando...

$ [NOME_DO_PROGRAMA]

... ou da caixa de diálogo Run (Executar) disponível para esta tarefa.

14/95

Page 496: Guia Do Linux

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

Page 497: Guia Do Linux

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

Page 498: Guia Do Linux

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 Windows4, 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/>,

4 No Brasil, são aproximadamente 5% os computadores dos quais dispõe instalado o sistema GNU/Linux para o usuário final. Face a este público reduzido, o investimento de grandes empresas provedores de acesso são direcionados tão somente para os usuários da plataforma Windows.

17/95

Page 499: Guia Do Linux

✔ <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.

Firefox v1.0. Thunderbird v1.0.

O FireFox, que já foi conhecido também como Phoenix e FireBird, foi desenvolvido tendo como base o próprio código-fonte do Mozilla, porém customizado de modo a garantir a baixa utilização de recursos de hardware para a sua execução. Dispõe somente dos recursos essenciais para a realização de tarefas como navegação pela Internet, gerenciamento de endereços, entre outros. Além das tradicionais ferramentas disponíveis nos navegadores, o Firefox também traz recursos interessantes como a incrementação de outras funcionalidades através do uso das extensões e dos temas. Possui ainda uma poderosa ferramenta de busca para textos de uma determinada página, além da barra de busca do Google.

Já o Thunderbird nasceu com os mesmos preceitos do irmão Firefox: prover aos usuários um cliente de correio simples, prático e básico, com bons recursos básicos e pouca demanda de processamento. Por isto, o Thunderbird possui eficientes mecanismos para bloquear mensagens indesejadas, entre outros recursos essenciais como suporte HTML, várias contas POP (apesar de apenas uma SMTP), livro de endereços, etc. Tudo isto customizável através do uso das extensões.

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

Page 500: Guia Do Linux

Calendário (SeaMonkey Calendar).

Sem maiores mistérios, este é o gestor de contatos do Projeto Mozilla.

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

Page 501: Guia Do Linux

SeaMonkey Navigator.

Tal como o Mozilla, o SeaMonkey não se resume apenas em um navegador para a Internet, e sim em um conjunto de aplicativos e utilitários específicos para dar ao internauta, todos os recursos necessários para que ele possa fazer o uso da Internet com excelente proveito.

As aplicações que compõe a suíte são:

• Um navegador (SeaMonkey);

• Um cliente de correio (Mail);

• Um editor HTML visual (Composer);

• um cliente de bate-papos (Chat);

• E um livro de endereços (Calendar).

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

Page 502: Guia Do Linux

Assistente de instalação do SeaMonkey.

A partir deste ponto basta apenas seguir as instruções do instalador gráfico. Por ser intuitivo e de fácil compreensão, não há necessidade de instruções mais detalhadas – ou seja, ao tradicional modo next, next, next...

O Firefox, o Thunderbird e o Sunbird também podem ser “instalados” apenas com a descompactação de seus pacotes em /usr/local e criação um atalho simbólico para os seus executáveis em /usr/local/bin:

# cp [APLICATIVO]-[VERSÃO] /usr/local# tar -xpzvf [APLICATIVO]-[VERSÃO]# rm [APLICATIVO]-[VERSÃO]

Em seguida...

# ln -s /usr/local/firefox/firefox /usr/local/bin/ firefox # ln -s /usr/local/thunderbird/thunderbird /usr/local/bin/thunderbird# ln -s /usr/local/sunbird/sunbird /usr/local/bin/sunbird

Sem maiores mistérios, bastará que os usuários carreguem normalmente o cliente de correio eletrônico, evocando-o. Vejam isto na seção à seguir

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

Page 503: Guia Do Linux

• -jsconsole: inicializa o console JavaScript.

Ou ainda, acioná-los a partir do menu e selecionar as opções disponíveis.

Já o Firefox e o Thunderbird poderão ser carregados apenas evocando o seus executáveis. Lembrem-se de que as suas respectivas entradas existem também no menu K do KDE, seção Internet:

$ firefox$ thunderbird$ sunbird

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.

Existem diversas opções disponibilizadas de fácil entendimento, onde não há necessidade de mais instruções para melhor compreensão.

Em destaque a possibilidade de bloqueio das irritantes janelas popup, que é ativado por padrão. Dependendo das circunstâncias, será necessário que estas janelas estejam ativas para visualizarmos conteúdos específicos – como mensagens de WebMais, por exemplo.

22/95

Page 504: Guia Do Linux

Bloqueio de popups no Firefox.

Para ativá-la, deveremos ir na seção Content em suas configurações e desmarcar a caixa Block Popup Windows. No SeaMonkey também encontra-se disponível em sua caixa de configuração, na seção Privacity & Security (Privacidade e Segurança) -> Popups.

Para adicionar o suporte a applets Java, certifiquem-se de então possuir a JRE instalado no sistema. Caso contrário vá ao endereço eletrônico oficial da Blackdown, e na seção Download, escolha um espelho para obter o pacote. Após baixado o pacote, basta instalá-lo normalmente.

Com o pacote instalado, basta apenas criar o seguinte atalho:

$ cd /home/[USUÁRIO]/.mozilla/plugins$ ln -s /usr/java/j2re[VERSÃO]/plugin/i386/ns610/libjavaplugin_oji.so

Já o suporte ao Flash é adicionado automaticamente após acessarmos um site qualquer que possua uma animação neste formato. No topo da tela de renderização da página, aparecerá uma notificação como esta:

Cliquem em Install Missing Plugins...

... e assim que o navegador detectar o plugin necessário...

... procedam com o processo de instalação clicando em Next. Será apresentado um contrato de licença, depois será baixado o plugin e à seguir, ele será efetivamente adicionado ao navegador.

TEMAS & EXTENSÕES

✔ <http://update.mozilla.org/>.

23/95

Page 505: Guia Do Linux

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).

Caixa de diálogo Preferences, mostrando o tema disponível Moderns.

Ao escolhermos o tema Modern, o navegador exibirá um aviso informando que os efeitos estarão ativados na próxima inicialização. Deveremos fechálo e reiniciá-lo novamentepara apreciar a sua nova aparência. O mesmo poderá ser feito tanto no Firefox quanto no Thunderbird, bastando para isto apenas baixar os temas no menu Ferramentas -> Temas.

Já as extensões são funcionalidades adicionais que visam extender os recursos dos aplicativos. Apesar de terem sido desenvolvidos inicialmente para serem simples, leves e rápidos, o Firefox e o Thunderbird poderão ter diversos outros recursos e facilidades graças à instalação destes adicionais.

Caixa de diálogo exibindo algumas extensões instaladas no navegador.

Ao iniciarem o Firefox, acessem o menu Tools (Ferramentas) -> Add-ons (Extensões), aba Extensions (Extensões) e na caixa de diálogo seguinte, cliquem em Get More Extensions (Baixar mais extensões).

24/95

Page 506: Guia Do Linux

Firefox acessando o site Firefox Add-ons, para a instalação de temas e extensões.

À partir daí é só selecionar as extensões desejadas. No Firefox, bastará clicarmos no atalho para baixar a extensão e automaticamente instalá-lo no navegador. Já no Thunderbird, deveremos seguir os mesmos passos, porém ao clicar em Instalar, ele abrirá uma nova caixa de diálogo para apontarmos a localização da extensão préviamente baixada.

Caixa de diálogo para abrir arquivo, do Thunderbird (instalação de temas).

Outro recurso interessante está na automatica atualização dos temas e extensões já instalados no Firefox. Ao iniciarem o aplicativo, observem a existência de um ícone “seta acima” de fundo verde. Esta é a notificação de que existem atualizações à serem feitas.

25/95

Page 507: Guia Do Linux

Sem maiores mistérios, bastará clicarmos neste item para que inicie o processo de checagem de atualizações.

Em seguida, será aberta uma caixa de diálogo com instruções adicionais...

À partir deste ponto, bastará clicar em Install Now e seguir as instruções da caixa de diálogo. Logo, teremos os temas e as extensões atualizadas.

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

Page 508: Guia Do Linux

NAVEGADORES E CLIENTES DE CORREIO

KONQUEROR & KMAIL

Além dos já consagrados Firefox e Thunderbird (os quais recomendamos), existem outras aplicações disponíveis para esta atividade no KDE: o Konqueror (que pode ser utilizado como navegador WEB)...

O Konqueror.

... e o KMail (cliente de correio). Ambos estão descritos detalhadamente na 6a. Parte: Ambientes Gráficos, capítulos O Konqueror e As aplicações nativas, respectivamente.

GERENCIADORES DE CONTEÚDOS

WGET & KGET

✔ <http://www.gnu.org/software/wget/wget.html>.

✔ <http://kget.sourceforge.net/>.

O wget é um gerenciador de conteúdos da Internet em linha de comando disponível na grande maioria das distribuições existentes. Apesar de ser um utilitário em modo texto, ele é extremamente eficiente para baixar conteúdos tanto em HTTP quanto FTP, mesmo em conexões lentas e instáveis, além de possibilitar realizar as operações em etapas, excelentes para conteúdos de grande porte. Além disso, seus parâmetros fornecem diversas opções para facilitar o processo.

Sua sintaxe básica é a seguinte:

$ wget [PARÂMETROS] [URL]

27/95

Page 509: Guia Do Linux

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.

Para obterem maiores informações sobre esta interface gráfica, consultem a 6a. Parte: Ambientes Gráficos -> Aplicações nativas.

KTORRENT

✔ <http://www.ktorrent.org/>.

O KTorrent é um excelente cliente BitTorrent para o KDE.

28/95

Page 510: Guia Do Linux

Tela obtida da página oficial do projeto.

Embora seja utilizado para baixar conteúdos através do BitTorrent, é uma das aplicações mais completas da sua categoria. Ele permite definir prioridades para os conteúdos, limitar a velocidade do envio (e conseqüentemente do recebimento), encriptar as transferências, entre outras funcionalidades. Possui também um sistema de busca embutido, baseado na engine KHTML, a mesma do Konqueror.

A instalação poderá ser feita através da instalação do pacote pré-compilado existente para a distribuição. Este se encontra disponível na série /extra. Através do Slackpkg, poderemos utilizar...

# slackpkg install ktorrent

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

Page 511: Guia Do Linux

Tela obtida da página oficial do projeto.

Para obterem maiores informações sobre o Kopete, consultem a 6a. Parte: Ambientes Gráficos -> Aplicações nativas.

AMSN✔ <http://www.amsn-project.net/>.

Escrito por Álvaro J. Iradier, o aMSN é um clone do famoso cliente MSN.

Tela obtida da página oficial do projeto.

Dentre suas características, ele é desenvolvido em Tcl, além de suportar transferência de arquivos, ser multilíngua (suporta inclusive o pt_BR), entre outros atributos já conhecido de seu concorrente proprietário.

30/95

Page 512: Guia Do Linux

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...

DESENVOLVIMENTO DE PÁGINAS HTMLO HTML – “Linguagem de marcação de hipertexto” – é uma linguagem largamente utilizado para a criação de páginas de Internet. Dentre suas principais características está a utilização de tags formatadoras que definirão como deverá ser exibido as informações (textos).

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

Page 513: Guia Do Linux

Tela obtida da página oficial do projeto.

Dentre suas características, ele permite a edição tanto visual quanto de código dos arquivos em HTML, além de embutir códigos (scripts) da linguagem PHP, entre outras funcionalidades importantes. Por ser baseado na engine do antiga suíte WEB Mozilla, o NVU também pode ter suas funcionalidades extendidas através do uso de extensões.

Apesar de ser atualmente a aplicação mais amadurecida da sua categoria, o NVU ainda não pode ser comparado a aplicações tradicionais como o Dreamwere e FrontPage, mas não deixa de ser um bom projeto promissor.

A instalação deste aplicativo pode ser feita basicamente com a utilização do procedimento de compilação clássica, sem maiores inconvenientes, já que não existem versões pré-compiladas para o Slackware ou de uso geral. Porém, preparem-se para a demora durante a execução do processo, já que o pacote que contém o código-fonte do programa ocupa quase 30 MB!

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+

Para obterem maiores informações sobre o Quanta, consultem a 6a. Parte: Ambientes Gráficos -> Aplicações nativas.

32/95

Page 514: Guia Do Linux

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

Page 515: Guia Do Linux

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

Page 516: Guia Do Linux

OpenOffice.org Writer para Windows. Tela obtida da página oficial do projeto.

O OpenOffice.org originou-se da abertura do código-fonte do StarOffice, uma suíte de escritório desenvolvida pela empresa alemã StarDivison, que posteriormente foi vendida para a Sun Microsystem. Esta por sua vez o transformou em um programa gratuito apenas para o uso não comercial (versão 5.1), sendo inclusive distribuído em algumas distros, como a antiga Conectiva Linux 4.0 (1999).

Já na versão 5.2, a suíte passou a ser totalmente gratuita, tanto para uso em desktops quanto comercial, porém ainda com o código fechado. Após um certo tempo, a Sun decidiu então liberar o código-fonte do StarOffice dentro dos termos das licenças GPL e SISS – Sun Industry Source License – sendo que esta última permite a comercialização pela Sun de uma suíte de escritório baseada nas melhorias aplicadas ao OpenOffice.org. Graças a esta iniciativa, foi também criado o StarOffice 6.0, uma suíte de escritório não gratuita, com algumas ferramentas e fontes proprietárias.

O OpenOffice.org é atualmente uma das mais completas opções livres de suíte de escritório, sendo não só para os sistemas Unix, como também para a grande maioria dos sistemas operacionais para o qual foi portado.

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

Page 517: Guia Do Linux

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

Page 518: Guia Do Linux

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.

Já o Impress é o editor de apresentações (slides). Também possui uma interface bastante similar ao já conhecido MS PowerPoint, o Impress nos possibilita criar belas apresentações de forma tão fácil como faríamos na

37/95

Page 519: Guia Do Linux

suíte proprietário, tendo ainda algumas vantagens como a disponibilidade de boas ferramentas de desenho.

OpenOffice.org Impress.

Por sua vez, o Draw é o editor vetorial (imagens e ilustrações). Apesar de não existir nenhuma aplicação em equivalência no MS Office, o Draw supre na maioria dos casos todas as necessidades básicas de editoração, dos quais os usuários estão habituados no uso do poderoso CorelDRAW!.

OpenOffice.org Draw.

Por fim, temos também o Calc, o Math e o Base. O Calc é a planilha eletrônica, e ele está para o MS Excel, assim como o Writer e o Impress estão para o MS Word e MS PowerPoint, respectivamente. Já o Math nos possibilida desenvolver fórmulas matemáticas, e o banco de dados Base veio para se tornar a opção ideal para a substituição do tradicional MS

38/95

Page 520: Guia Do Linux

Access, onde se encontra disponível a partir da versão 2.0.

OpenOffice.org Calc.

Existem também outros os atalhos para a alterar as opções de instalação da impressora e respectivas fontes para uso do aplicativo, além do acesso aos modelos de documentos existentes.

Atalhos para o OpenOffice.org 2.2 no menu K -> Escritório.

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

Page 521: Guia Do Linux

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 -ltotal 3drwxr-xr-x 3 darkstar users 1592 2005-10-15 14:09 RPMSdrwxr-xr-x 2 darkstar users 120 2005-10-15 14:09 licensesdrwxr-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.

Caixa de diálogo da instalação do OpenOffice.org (versão 2.0).

Assim, redefiniremos os parâmetros de instalação para a conta do usuário em questão, de acordo com o ambiente gráfico utilizado – KDE ou

6 Esta afirmação é válida somente para a versão da distribuição vigente na época do lançamento desta suíte de escritório: por exemplo, a versão do OpenOffice.org citado nesta literatura foi lançada ainda na época do Slackware 11.0. Neste caso, tais pacotes não funcionarão nas versões posteriores da distribuição (12.0).

40/95

Page 522: Guia Do Linux

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.

Opções de configuração do OpenOffice.org (seção View).

Não há muito mistério no processo de ajustes e configurações do OpenOffice.org. Basta apenas navegarmos nesta estrutura de opções e otimizá-las de acordo com nossas preferências.

Outro ajuste importante a ser feito está na definição da impressora em uso. Para isto, deveremos inicializar o menu K -> Escritório -> OpenOffice.org 2.2 Printer administrator:

Módulo de administração do sistema de impressão.

O OpenOffice.org também realiza a detecção de novas versões: ao clicar no botão indicado pela notificação, o sistema automaticamente carrega o navegador WEB (no caso, o Firefox) e aciona a seção Downloads da página oficial desta maravilhosa suíte de escritório.

41/95

Page 523: Guia Do Linux

SOBRE O FORMATO PDFUma 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.

SOBRE O PADRÃO ODF✔ <http://www.odfalliance.org/>.

Apesar das grande melhorias de compatibilidade entre os diversos formatos existentes, existirão circunstâncias onde há necessidade de trocar arquivos diversos com outras pessoas, dos quais muito provavelmente foram gerados em outros sistemas e/ou suítes. Para estas circunstâncias, existem formatos de arquivos especiais que visam sua portabilidade para outras plataformas. No caso das suítes de escritório, temos o ODF – Open Document Format.

O ODF é uma especificação de formato de arquivos livre, universal, definido pelo OASIS e tornado padrão pela ISO. Com ele, será possível o compartilhamento de documentos criados em diferentes aplicações de escritório, como o Microsoft Office, o OpenOffice.org, o KOffice, entre outros. Por se tratar de um padrão universal reconhecido pela ISO, futuramente todas as aplicações que compõem as suítes de escritório deverão suportá-lo nativamente (exceto em casos em que o desenvolvedor não tenha interesse, por motivos especiais). Portanto, ao desenvolverem qualquer trabalho, optem por utilizar o formato de arquivos ODF.

Desde a versão 2.0 o OpenOffice.org suporta nativamente o formato ODF.

42/95

Page 524: Guia Do Linux

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.

A INSTALAÇÃO DE FONTES TRUETYPE

As fontes TrueType disponíveis para Windows e o Microsoft Office, em especial as fontes Arial, Times New Roman, Courier New, Comic Sans e Verdana são largamente utilizadas pelos usuários deste sistema, e com certeza muitos usuários que migraram para os sistemas GNU/Linux possívelmente sentirão a falta delas. Para isto, existe a possibilidade de utilizar tais fontes nos sistemas GNU/Linux.

De modo fácil e bem mais prático, se encontra disponível no KDE Control Center (Centro de Controle KDE) o Font Installer (Instalador de Fontes), que realiza de forma automática a instalação de fontes TrueType no sistema, incorporando-a não só no KDE mas em todos os ambientes gráficos que suportam o uso de fontes TrueType.

Instalador de fontes do KDE (em modo Administração).

Basta clicar em Add fonts... (Adicionar fontes...) e, na caixa de diálogo, indicar o caminho onde as fontes se encontram armazenadas, selecionar aquelas desejadas e indicar em qual pasta estas deverão ser instaladas (TTF). Após isto, cliquem em Add (Adicionar) e todas as fontes serão automaticamente inseridas no sistema, sem maiores complicações.

Tal como qualquer outro aplicativo proprietário, as fontes TrueType do Windows também são protegidas por leis de direitos de cópia, onde para utilizá-la será necessário termos a licença de uso dos programas que contenham tais fontes, como o Windows, o Microsoft Office, entre outros.

Muitos usuários, por não mais possuírem nenhuma licença destes programas, utilizam as fontes nativas do sistema para substituir as

43/95

Page 525: Guia Do Linux

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.

Todas as fontes acima exibidas foram dimensionadas com o tamanho de 40 pontos. Observem o serrilhado das fontes Helvetica e Times, enquanto a Courier e Luxi Sans apresentam um belo aliasing.

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

Page 526: Guia Do Linux

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).

TRATAMENTO DE IMAGENS (BITMAPS)Geralmente, toda e qualquer operação que envolve o desenvolvimento e/ou a edição de imagens bitmaps são classificados de tratamento de imagens.

Existem diversas programas e ferramentas para o tratamento de imagens nos sistemas GNU/Linux, porém são poucas as que alcançaram fama e renome, tendo o GIMP a liderança absoluta neste segmento.

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.

Caixa de Ferramentas padrão do GIMP.

Desenvolvido inicialmente por Spencer Kimball e Peter Mattis, possui uma

45/95

Page 527: Guia Do Linux

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.

ARTE GRÁFICA (VETORIAIS)A editoração gráfica – conhecida popularmente como arte gráfica ou design – apesar de ainda ser um ponto fraco, a cada dia cresce em número e recursos as opções de programas livres para os sistemas GNU/Linux. Apesar de serem poucas as opções existentes, pelo menos são bons os recursos por elas disponibilizados. Em destaque, o Inkscape.

46/95

Page 528: Guia Do Linux

INKSCAPE

✔ <http://www.inkscape.org/>.

O Inkscape é uma excelente ferramenta livre para desenhos vetoriais, derivado do antigo e consagrado Sodipodi.

Tela obtida da página oficial do projeto.

O Inkscape possui funcionalidades similares aos aqueles encontrados em grandes programas comerciais, como o CorelDRAW! e Illustrator. Tais funcionalidades compreendem o suporte a recursos como filtros antialising, múltiplas camadas, degradés, transparências, entre outros.

Tal como o Sodipodi, o Inkscape trabalha com o formato de arquivo SVG, que torna possível a edição de arquivos gerados por outros programas que suportem este formato (que por sua vez é um padrão XML consolidado pela W3C), como o Adobe Illustrator. Podemos também exportar os trabalhos desenvolvidos para os formatos bitmaps PNG e JPG, além de outros formatos destinados para a editoração, como o PostScript e o PDF.

Esta é uma das aplicações que mais tem evoluído, agregando a cada nova versão, recursos e funcionalidades até antes disponíveis apenas nas aplicações proprietárias. Por exemplo, nas versões mais recentes, foram adicionadas melhorias na geração de PDFs e filtros fotorrealísticos.

Na página oficial do projeto existem vários formatos de pacote disponíveis, mas infelizmente não para o Slackware. Então, teremos que optar por compilar o código-fonte através do processo de compilação clássica. Para isto, deveremos resolver antes as seguintes pendências:

• gc (Boehm GC)<http://www.hpl.hp.com/personal/Hans_Boehm/gc/>;

• glibmm gtkmm

47/95

Page 529: Guia Do Linux

<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.

Tela obtida da página oficial do projeto.

Nele, destaca-se o suporte a 27 linguagens, conversão para outros formatos eletrônicos (PostScript e PDF) e uma excelente página de documentação para apoio – mas que infelizmente se encontra em inglês. Embora não seja tão poderoso quanto os seus concorrentes comerciais (como o PageMaker), o Scribus possibilita a realização de trabalhos mais simples, garantindo um certo padrão de qualidade e bom acabamento final.

A instalação desta aplicatimo poderá ser feita basicamente com a utilização do procedimento de compilação clássica sem maiores inconvenientes, já que não temos pacotes pré-compilados para o Slackware. Mas antes, certifiquem-se de que estão utilizando realmente a versão estável da aplicação, pois tal como o GIMP, as séries de

48/95

Page 530: Guia Do Linux

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.

Kuickshow pré-visualizando uma imagem.

Ambos são disponibilizados como parte integrante do KDE. Para maiores informações sobre esta (e outras aplicações desta categoria), consultem a 6a. Parte: Ambientes Gráficos -> As aplicações nativas.

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

Page 531: Guia Do Linux

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.

Diferente das demais aplicações de sua categoria, o ImageMagick não disponibiliza uma interface gráfica ao estilo do PhotoShop ou do GIMP, e sim um conjunto de ferramentas de linha de comando para a manipulação de imagens. Fornece também um conjunto de APIs para diversos programas e linguagens de desenvolvimento. Tão somente por este último motivo ele é considerado indispensável, e por isso, se encontra por padrão na grande maioria das distribuições existentes; assim, não perderemos tempo com a criação de instruções gerais para a sua instalação.

Na linha de comando, podemos utilizar diversos comandos que compõem o corpo de funcionalidades do programa. Confiram alguns destes:

• composite: mescla diferente imagens em uma só;

• conjure: executa um script desenvolvido Magick Script Laguange;

• convert: realiza processos gerais de conversão de imagem;

• display: exibe uma imagem em um ambiente gráfico;

• identify: fornece as informações gerais sobre a imagem;

• import: salva (captura) a tela corrente de um ambiente gráfico;

• mogrify: realiza diversos tipos de transformações nas imagens;

• montage: mescla (monta) duas imagens diferentes lado-a-lado.

7 Outra característica interessante é a possibilidade de obter acesso aos seus recursos por diversas linguagens de programação, entre elas C/C++, Java, ColdFusion, Perl, Python, etc. Isto é possível graças a disponibilidade de funções para uso em aplicações gráficas em sua API.

50/95

Page 532: Guia Do Linux

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.

SOBRE O PADRÃO SVGO SVG – Scalable Vector Graphics – é o novo formato gráfico aberto desenvolvido para ser adotado como padrão geral de aplicações e tecnologias que necessitem acessar e manipular imagens vetoriais.

Dentre suas características destaca-se a possibilidade de utilizar gráficos de alta qualidade e interativo para a Internet. Pelo fato do arquivo ser um conjunto de códigos derivado do XML (ao invés de uma imagem simplesmente digital), poderá ser utilizado com melhor aproveitamento. Também possui suporte a textos e fontes, pois graças à sua estrutura, a busca de determinadas expressões com as ferramentas de busca na Internet facilitará ainda mais a localização de conteúdos desejados. Outro grande atrativo está no fato de que estas imagens podem ser redimensionadas livremente, se adaptando melhor às diferentes resoluções de vídeo dos usuários que estiver visualizando a imagem seja qual for dispositivo de saída (monitores com diferentes padrões de resolução, celulares. Palmtops, PDAs...).

Devido a qualidade do novo formato, a W3C recomenda a sua utilização para conteúdos na WEB e, graças a esta aprovação, diversas empresas de tecnologia apóiam sua popularização de tal forma que dentro de pouco tempo este formato será de uso comum na Internet.

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

Page 533: Guia Do Linux

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.

REQUISITOS PARA REPRODUÇÃO MULTIMÍDIA

Dada a existência de diversos formatos para a reprodução de áudio e vídeo, necessitamos de decodificados apropriados para este formato. E em virtude dos sistemas GNU/Linux terem à disponibilidade a maior parte destes decodificadores, dedicaremos uma atenção especial ao vídeo.

Dentre os requisitos gerais necessários para a reprodução de DVD, segue:

Requisitos para a reprodução de DVD

libdvdread Para que seja adicionadas diversas funcionalidades, como por exemplo o reconhecimento de formato dos filmes, suporte à legendas, entre outras.

✔ <http://freashmeat.net/projects/libdvdread/>.

libdvdcss Decodificador que possibilita a leitura de todos os DVDs, independente da região (0 a 6) ao qual foram definidos.

✔ <http://www.videolan.org/libdvdcss/>.

libdvdnat Necessária para realizarmos a navegação nos menus de um título em DVD com a utilização de um reprodutor multimídia (Xine, MPlayer, etc.). Encontra-se disponível como componente do projeto DVD Tools.

✔ <http://dvd.sourceforge.net/>.

Já as diversas aplicações para a reprodução de diferentes formatos de vídeo (inclusive VCD/SVCD), estas requerem os seguintes pacotes:

Requisitos para a reprodução de arquivos de vídeo

div4linux8 Decodificador de vídeo para o formato DivX 5.0, utilizado apenas para reprodução. Deveremos verificar se temos disponível no sistema a versão atual e, caso contrário, instalar a mais recente.

✔ <http://www.divx.com/divx/linux/>.

8 De todas estas aplicações, o decodificador div4linux é a única que não é regida sob os termos da GNU GPL.

52/95

Page 534: Guia Do Linux

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 (essentials)

Este pacote contém bibliotecas decodificadoras para diversos 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

Page 535: Guia Do Linux

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.

Tela obtida da página oficial do projeto.

Dada a grande aceitação do AmaroK por parte dos usuários desktops, o desenvolvedor do Slackware disponibilizou o pacote pré-compilado deste excelente reprodutor multimídia, que por sua vez se situa na série /kde. Através do Slackpkg, poderemos realizar a sua instalação:

# slackpkg install amarok

Porém, o AmaroK necessita de que determinadas pendências sejam satisfeitas. Dentre estas, destaca-se a engine do reprodutor Xine, a TagLib, responsável pela leitura e edição dos meta-dados das músicas armazenadas nos formatos apropriados, além de da libtunepimp, necessária para a catalogação das músicas. O pacote da engine Xine se encontra disponível na série /xap sob o nome de xine-lib; as demais

54/95

Page 536: Guia Do Linux

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.

Em sua 1a. Inicialização, o amaroK carrega um assistente gráfico que irá nos orientar a realizar algumas definições pessoais. Basta seguirmos as instruções conforme as instruções dadas pelo assistente, onde deveremos informar o modo de exibição do tocador e o local onde serão armazenados os arquivos de áudio que serão reproduzidos posteriormente.

O KMIX E O KSCDNo 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.

Para obterem maiores informações sobre estes aplicativos, consultem a 6a. Parte: Ambientes Gráficos -> Aplicações nativas.

EXTRAÇÃO & RIPAGEM DE ÁUDIO

Graças a grande capacidade de armazenamento das atuais unidades de disco rígido, muitos usuários dão preferência a ripar seus CDs de áudio e armazená-los no sistema para que possam ouvir suas faixas preferidas, sem aquele incômodo de colocar e retirar os CDs de áudio da bandeja. E

55/95

Page 537: Guia Do Linux

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.

Konqueror – Services (Serviços).

Teremos à disposição, os formatos de áudio WAV e Ogg Vorbis. Basta navegar no dispositivo “CD-ROM”, selecionar as faixas desejadas e realizar a cópia para o disco rígido, como se fossem realizar a cópia de arquivos.

Caso dêem preferência ao formato Ogg Vorbis, lembrem-se de configurar suas preferências de amostragem no Control Center (Centro de Controle), opção Sound & Multimedia (Som & Multimídia) -> Audio CDs (Áudio CDs) -> Ogg Vorbis Encoder (Decodificador Ogg Vorbis).

Se quisermos utilizar o formato MP3 ao invés do Ogg Vorbis, certifiquem-se de que a biblioteca Lame esteja préviamente instalada. Se não, busquem o seu pacote correspondente na página oficial do projeto e realizem a instalação com o procedimento de compilação clássica. Assim que instalada, bastará abrir o Konqueror para ver disponibilizada a pasta virtual MP3. Da mesma forma que o Ogg Vorbis, também poderemos ajustar as opções de decodificação através do Control Center (Centro de Controle).

KAUDIO CREATOR (KDE)Outra grata surpresa do KDE é o utilitário KAudio Creator. Trata-se de um simples ripador de CDs de áudio com uma interface simples e prática.

56/95

Page 538: Guia Do Linux

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.

Interface gráfica padrão do Xine.

Além da reprodução de DVDs, o Xine suporta a maioria das mídias existentes, como também a maior parte dos formatos de arquivos para áudio e vídeo, desde que venhamos a utilizar os codecs Win32 do MPlayer.

O Xine se encontra oficialmente disponível para a distribuição através de

57/95

Page 539: Guia Do Linux

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.

Tela obtida da página oficial do projeto.

Enfim, o Kaffeine traz para o KDE todo o poder da engine do Xine combinada com os recursos deste maravilhoso ambiente gráfico.

Da mesma forma que no MPlayer, o Kaffeine não se encontra disponível junto ao pacote oficial do Xine. Para instalá-lo, deveremos baixá-lo de sua página oficial. A sua instalação poderá ser feita também sem maiores problemas com método de compilação clássica, porém deveremos nos atentar para os erros que surgirão em sua 1a. incialização.

58/95

Page 540: Guia Do Linux

Assistente de instalação do Kaffeine.

Conforme a descrição de cada problema encontrado, deveremos efetuar as correções necessárias para que o aplicativo esteja apto para ser utilizado. Uma destas intervenções de suma importância está na utilização dos codecs Win32 disponíveis para o MPlayer, conforme já comentado.

Nota: na versão atual, o Xine considera por padrão que os codecs deverão ser instalados em /usr/lib/codecs, e não em /usr/lib/win32. Mas, sabendo-se que muitos programas podem procurá-los em /usr/lib/win32, recomenda-se criar o atalho simbólico win32 apontando para codecs:

# ln -s /usr/lib/codecs /usr/lib/win32

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

Page 541: Guia Do Linux

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

Page 542: Guia Do Linux

Definindo a integração com o gerenciador de arquivos Konqueror.

Para configurar o K3b, deveremos acessar o menu K -> System (Sistema) -> K3bSetup. Em seguida, será solicitada a senha de superusuário, caso estejamos autenticados como um simples usuário comum.

Basta agora apenas definirmos os ajustes necessários.

Outro ponto importante para a gravação de CDs de áudio está nos diferentes volumes para cada faixa de áudio gravada. Umas faixas ficarão com volume baixo, outras altas, trazendo-nos o inconveniente de ter que realizar o ajuste de volume à todo instante. Para isto, temos disponível o Normalize, uma aplicação desenvolvida especialmente para ajustar os níveis de volumes de faixas extraídas (WAV, Ogg Vorbis, MP3) para um padrão aceitável. Felizmente, o Normalize vem instalado por padrão.

Conforme dito anteriormente, o K3b é uma verdadeira suíte gráfica para operações gerais de gravação de CDs/DVDs. Mas para ter todas as suas funcionalidades à disposição, ele necessita de ter todas as suas pendências satisfeitas. Na página oficial do projeto, temos uma seção intitulada Documentation -> Requeriment, onde esta documentação nos mostra uma tabela de requerimentos necessários para o utilitário. Logo abaixo, há uma sub-seção intitulada Optionally, onde poderemos consultar a descrição de cada pendência necessária para a execução de uma atividade específica.

Por exemplo, com o VCDImager, poderemos realizar a criação de VCDs/SVCDs; com o cdrdao, a manipulação de mídias regraváveis; com o

61/95

Page 543: Guia Do Linux

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

Page 544: Guia Do Linux

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

Page 545: Guia Do Linux

Tela obtida da página oficial do projeto.

O objetivo do jogador é comanda um tanque, o qual deverá eliminar seus oponentes e capturar suas bandeiras, bem ao estilo Quake! O jogo possui somente modo de jogo multiplayer, sendo necessário uma conexão em rede ou Internet para desfrutar deste título.

Felizmente, apesar da excelência de sua qualidade gráfica, o BZFlag requer apenas 4 MB de espaço em disco e 16 MB de memória RAM, além de uma placa de vídeo que suporte OpenGL.

SUPERTUX

✔ <http://supertux.berlios.de/>.

Outro ótimo jogo para aqueles saudosos pelo clássico Super Mario Bros!

64/95

Page 546: Guia Do Linux

Tela obtida da página oficial do projeto.

O SuperTux é um clone do famoso encanador que conquistou muitos fãs da garotada que curtia na época seu novíssimo Super Nitendo – há uns 12 anos –, onde ao invés das tradicionais flores e cogumelos, o nosso Tux deverá atravessar fazes repletas de perigos na Antártida, enfrentando bolas de neve e cubos de gelo, entre outros inimigos. Apesar da simplicidade, com certeza será mais um título que agradará aos linuxistas.

ARCADE

CHROMIUM B.S.U

✔ <http://www.reptilelabour.com/software/chromium/>.

O Chromium é um tradicional jogo de tiro com aeronaves espaciais.

Tela obtida da página oficial do projeto.

O jogador deverá pilotar uma nave espacial com o objetivo de destruir as naves oponentes que simplesmente não irão descansar...

Com bonitos gráficos e uma ótima jogabilidade, este é um dos joguinhos se encontra disponível em diversas distribuições. Apesar de leve e consumir poucos recursos, requer uma aceleradora gráfica com suporte a OpenGL.

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

Page 547: Guia Do Linux

Tela obtida da página oficial do projeto.

Apesar de possuir gráficos limitados, o jogo possui bons efeitos visuais (a explosão é um deles). A diversão é garantida graças a excelente jogabilidade, além da possibilidade de equipar a nave.

Dentre os requerimentos necessários para a instalação do jogo estão as bibliotecas Allegro (gráfica) e Dumb (áudio).

SEARCH AN RESCUE

✔ <http://wolfpack.twu.net/SearchAndRescue/>.

Similar ao clássico Desert Strike, este é o Search and Rescue!

Tela obtida da página oficial do projeto.

O objetivo do jogo é apenas resgatar as pessoas de diferentes

66/95

Page 548: Guia Do Linux

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.

Tela obtida da página oficial do projeto.

Desenvolvido por David White e sua equipe, e considerado um dos melhores jogos de estratégia para sistemas GNU/Linux, o Battle for Wesnoth combina elementos de jogos tradicionais, além de ser leve e muito bonito. Por ser um jogo simples, torna-se fácil aprender a jogá-lo, além de possuir um forte suporte a internacionalização, num total de 17 traduções.

Conforme as instruções de sua página oficial, apesar de sua simplicidade, é um jogo com níveis de dificuldades consideráveis. Possui suporte ao modo campanha (total de 4 campanhas originais) e ao modo multiplayer. Neste último modo, poderá ser jogado numa pequena rede (LAN) ou pela Internet.

67/95

Page 549: Guia Do Linux

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.

Tela obtida da página oficial do projeto.

O objetivo do jogador será administrar a evolução de uma civilização com o objetivo de prosperar, tal como acontece com outros simuladores do gênero.

O FreeCiv foi desenvolvido especialmente para partidas em rede e multi-player, o qual é seu grande ponto de destaque. Além disso, conta com um grande apoio da comunidade, no que resulta em um ótimo suporte e grande variedade de línguas – inclusive o português.

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

Page 550: Guia Do Linux

“Rocket ready for launch” de ambas as versões – telas obtidas da página oficial do projeto.

Tal como todo e qualquer simulador da categoria, o objetivo do jogo é administrar a cidade com sucesso, garantindo a sua sobrevivência.

Embora seja um dos jogos que tem uma certa popularidade, ele não é tão belo e rico em detalhes gráficos, além de estar desatualizado (desde 2003 não são feitas atualizações). Felizmente um grupo de entusiastas resolveu criar uma derivação chamada LinCity-NG, a qual traz diversas melhorias. Em destaque, o modo de visualização em 3D, com um visual bem mais moderno, agradável e dinâmico.

UFO: ALIEN INVASION

✔ <http://www.ufoai.net/>.

UFO: Alien Invasion é mais um (excelente) jogo de estratégia militar.

Tela obtida da página oficial do projeto.

O objetivo do jogador será comandar um grupo de pesquisas que se tornou uma forma especial de combate contra forças alienígenas.

O jogo é inspirado no clássico UFO Defense, possui um excelente visual

69/95

Page 551: Guia Do Linux

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.

Tela obtida da página oficial do projeto.

Apesar de ter sido esenvolvido originalmente pela Pumpkin Studios e publicado pela Eidos Software, passou a ser disponibilizado livremente a partir de 2004 sob um licenciamento livre.

A história se passa em uma terra devastada por uma guerra nuclear, onde deveremos instalar uma base militar e evoluir, claro. Temos disponíveis tanto o modo singleplayer quanto o multiplayer. Tal como UFO: Alien Invasion, o Warzone2100 também foi inspirado em outro clássico do mesmo gênero, o Earth2150. O jogo também requer um equipamento moderado, dotado de uma CPU Pentium III de 1 Ghz ou equivalente, 256 MB RAM e 64 MB de de vídeo com aceleração gráfica 3D. As bibliotecas SDL e OpenAL, entre outras, também são requeridas.

FPS

ALIEN ARENA

✔ <http://red.planetarena.org/>.

70/95

Page 552: Guia Do Linux

O Alien Arena é um jogo baseado na engine do Quake e traz a conhecida e consagrada proposta das emocionantes partidas multiplayers!

Tela obtida da página oficial do projeto.

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

Page 553: Guia Do Linux

Tela obtida da página oficial do projeto.

Foi desenvolvido especialmente para partidas em rede e Internet (multiplayer), além de disponibilizar um modo especial para jogar contra inimigos controlados pelo computador (singleplayer contra bots).

Um detalhe interessante deste jogo é que ele foi desenvolvido praticamente “do zero”, ou seja, não foi utilizado nenhum código proveniente de outro jogo qualquer. Além disso, houveram melhorias significantes em sua engine a qual resultaram na nova versão Cube 2: Sauerbraten.

O Cube evoluiu a tal ponto que até se dá ao luxo de ter uma interessante variante, chamada AssaultCube. Esta, dá maior ênfase ao modo multiplayer.

NEXUIZ

✔ <http://www.nexuiz.com/>.

Tal como o Cube, o Nexuiz é outro excelente FPS.

72/95

Page 554: Guia Do Linux

Tela obtida da página oficial do projeto.

Desenvolvido pela empresa Alientrap e feito especialmente para ser jogado em modo multiplayers, apesar de possuir também excelentes bots.

Baseado na engine do Quake, o Nexuiz também tem versões disponíveis para outro sistemas operacionais, como o Windows e MAC. Por se tratar de um jogo livre e que requer sejam satisfeitas suas pendências, o processo de instalação do Nexuiz pode ser um pouco trabalhoso, onde as bibliotecas SDL e MESA são indispensáveis. Ah, em sua versão atual, o pacote possui aproximadamente 180 MB de tamanho.

TREMULOUS

✔ <http://www.tremulous.net/>.

Tremulous é mais um jogo estilo FPS baseado na engine do Quake.

73/95

Page 555: Guia Do Linux

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

Page 556: Guia Do Linux

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

Page 557: Guia Do Linux

Tela obtida da página oficial do projeto.

Dentre outras características – conforme as instruções da página oficial – está na a possibilidade de criarmos com certa facilidade novas pistas para o jogo, bastando para isto utilizar editores de fases especiais.

Todo o processo de instalação e configuração do jogo é manual e complexo, onde na seção Docs da página oficial existem alguns tutoriais explicando como proceder. Por necessitar de aceleração gráfica, requer uma aceleradora gráfica com suporte a OpenGL.

TORCS

✔ <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

Page 558: Guia Do Linux

Tela obtida da página oficial do projeto.

Apesar de não chegar a altura de seu concorrente comercial, o jogo promete conquistar fãs graças a ótima qualidade gráfica, tendo ainda a possibilidade do jogador criar suas próprias pistas.

TUX RACER

✔ <http://tuxracer.sourceforge.net/>.

Não deixe o Tux quebrar a cara montanha de neve abaixo!

Tela obtida da página oficial do projeto.

Embora não seja caracterizado tradicionalmente como um simulador de corrida (com uma temática até juvenil) e há um bom tempo não ter sido atualizado, o Tux Racer prima por excelente jogabilidade e belos gráficos

77/95

Page 559: Guia Do Linux

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?

Tela obtida da página oficial do projeto.

Se sim, certamente irão gostar do Ultimate Stunts, um excelente remaker!

Embora tenha um visual simples, sem gráficos cheio de efeitos e texturas espetaculares, o Ultimate Stunts garante a diversão para o jogador com incríveis acrobacias, graças a existência de rampas e outros apetrechos necessários para estas “manobras radicais”. E tal como os demais títulos, também permite a livre criação de pistas customizadas pelo jogador.

VDRIFT

✔ <http://vdrift.net/>.

Outra excelente opção de simulador de corrida multiplataforma!

78/95

Page 560: Guia Do Linux

Tela obtida da página oficial do projeto.

Graças ao uso da excelente engine física Vamos e excelentes gráficos tridimensionais, o VDrift torna a simulação da corrida desafiante, com excelente jogabilidade e o suporte para jogos multiplayers. Ah, não é preciso dizer que há possibilidades de criarmos nossas próprias pistas, né?

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

Page 561: Guia Do Linux

Tela obtida da página oficial do projeto.

Dentre suas características está a disponibilidade de binários para diversas plataformas, ferramentas para a instalação de cenários extras e maior flexibilidade em vôos a determinados locais, entre outros.

Pelo fato de possuir belíssimas imagens, bom acabamento e uma qualidade impecável, é considerado um dos melhores jogos de sua categoria, exigindo também uma boa performance do sistema. O pacote com o programa em si ocupa dezenas de MB, onde o desenvolvedor disponibiliza até mesmo vários CD-ROMs somente com os cenários para o jogo.

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

Page 562: Guia Do Linux

Tela obtida da página oficial do projeto.

O GL-117 destaca-se pela boa jogabilidade, tendo ainda disponível um manual em inglês no formato PDF onde instrui ao jogador as possíveis manobras, além de instruções adicionais para acionar os comandos desejados e suas respectivas teclas.

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.

Tela obtida da página oficial do projeto.

Os gráficos em 3D são de ótima qualidade, além de possuir uma excelente

81/95

Page 563: Guia Do Linux

jogabilidade. Com certeza, este será um dos jogos que terão bastante sucessos com os usuários mais aficcionados.

A EXECUÇÃO DE JOGOS NATIVOS DO WINDOWS

Para que possamos executar nossos jogos preferidos desenvolvidos para Windows em sistemas GNU/Linux, necessitaremos recorrer ao processo de emulação ou implementação das chamadas do sistema operacional nativo, o qual é uma das tarefas mais complexas e desafiadora atuais, seja pela maturidade dos emuladores existentes, quanto pela existência de diversos títulos que a cada dia evoluem.

Para estas árduas tarefas temos as implementações Wine e o WineX.

WINE & WINEX✔ <http://www.winehq.org/>.

✔ <http://www.transgaming.com/>.

O Wine é um conjunto de APIs que visam fornecer aos sistemas GNU/Linux uma camada de funções do sistema para a execução de aplicativos nativos para Windows, onde atualmente é largamente utilizado para rodar aplicações Win32 que não se encontram disponíveis para os sistemas GNU/Linux. Com os jogos, com certeza não poderia ser diferente...

Já o WineX possui uma implementação mais avançada da API DirectX, tornado-se apto a rodar jogos desenvolvidos para Windows que a utilizam para ter acesso aos recursos de hardware do sistema. Em especial, destaca-se a conversão das chamadas de aceleração gráfica do Direct3D para OpenGL, os quais os desenvolvedores esforçaram-se ao máximo para melhorar ao máximo o desempenho obtido.

Na página oficial do projeto, existe uma listagem dos jogos passíveis de emulação, onde é apresentado um sistema de pontuação que varia de 1 a 5. Este é o grau de compatibilidade que varia do perfeito funcionamento (nível 5) a impossibilidade de execução (nível 0) do jogo. Notem que a maioria esmagadora dos títulos descritos não possui o nível 5, o que atesta a possibilidade de existência de algum problema que dificulte o até mesmo impossibilitem de rodá-los através da implementação.

A instalação de ambas as APIs são idênticas, visto que um projeto derivou-se de outro. Diferentemente das aplicações básicas, as configuração destas APIs necessitam de alguns ajustes extras para que possam emular o com perfeição o ambiente ideal para a execução das aplicações.

Para obterem as instruções desejadas de como proceder para a instalação e configuração destas implementações, consultem a 6a. Parte: Adaptação & Flexibilidade -> Emulação de sistemas e hardwares.

82/95

Page 564: Guia Do Linux

BIBLIOTECAS E APISAs 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.

A OPENGL E A IMPLEMENTAÇÃO MESA✔ <http://www.opengl.org/>.

✔ <http: //www.mesa3d.org/ >.

a OpenGL – Open Graphics Library – é uma biblioteca de baixo nível escrita em linguagem C e desenvolvida pela Silicon Graphics Inc. em 1992 em comum acordo com a ARB – Architecture Review Board –, que disponibiliza as rotinas gráficas necessárias para modelagem, criação e manipulação de ambientes e objetos em 3D bastante utilizada em aplicações gráficas.

A OpenGL atualmente é mantida pela Silicon Graphics Inc. e a ARB. Considerada atualmente padrão para a indústria, a sua utilização têm ocorrido em larga escala por diversos fabricantes de aceleradoras de vídeo e conseqüentemente para o desenvolvimento de jogos, aplicações técnicas e científicas, entre outras áreas.

A biblioteca MESA é um implementação não-oficial da biblioteca OpenGL que tem o objetivo de prover uma solução para o desenvolvimento de aplicações em 3D para os sistemas de código-aberto.

Por padrão a OpenGL é suportada pelos sistemas GNU/Linux através da implementação MESA, que por sua vez já se encontra disponível através do servidor gráfico X.org X11R7 em sua versão atual.

A SDL - SIMPLE DIRECTMEDIA LAYER

✔ <http://www.libsdl.org/>.

A SDL – Simple DirectMedia Layer – é um conjunto de APIs de baixo nível desenvolvida para prover as chamadas de sistemas em uso no desenvolvimento de jogos multi-plataforma. Habilita os recursos de áudio, vídeo e demais periféricos como o mouse e o teclado, com excelente performance e garantia de portabilidade para os jogos desenvolvidos.

“This library is designed to make it easy to write games that run on Linux, Win32 and BeOS using the various native high-performance media interfaces, (for video, audio, etc) and presenting a single source-code level API to your application. This is a fairly low level API, but using this, completely portable applications can be written with a great deal of flexibility.” – [Desenvolvedores da SDL].

83/95

Page 565: Guia Do Linux

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.

SOBRE OUTRAS APIS GRÁFICAS

Conforme já viram neste capítulo, existem diversas outras APIs gráficas além da OpenGL. Entre elas, estão a Direct3D e o GLide.

Concorrente direta da OpenGL, a Direct3D é parte do conjunto de APIs DirecX, desenvolvida pela Microsoft e extremamente necessária para a interface em desenvolvimento de jogos no Windows. Da mesma forma que o OpenGL, fornece uma camada de comunicação entre os recursos de aceleração gráfica da placa de vídeo e os aplicativos que requerem processamento em 3D. A performance da Direct3D está apenas um pouco aquém da poderosa OpenGL, apesar de praticamente todos os jogos comerciais (que por sua vez são desenvolvidos para Windows) a suportam.

Já o GLide foi uma das primeiras APIs gráficas que visavam fornecer aos jogos uma camada para acesso aos recursos gráficos das aceleradoras de vídeo da série Voodoo, fabricada pela 3DFx. Em virtude da falência desta grande fabricante, hoje se encontra em desuso.

84/95

Page 566: Guia Do Linux

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

Page 567: Guia Do Linux

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 sistemas9, 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

9 Consideraremos também a emulação de PCs como sistemas (hardware).10 O objetivo inicial do WINE era apenas possibilitar a execução de aplicativos de 16

bits, feitos para o Windows 3.11. Porém, após o lançamento do Windows 95, os desenvolvedores resolveram continuar a implementação de modo a suportar também o modo de 32 bits, uma tarefa bem mais complexa que a inicial.

86/95

Page 568: Guia Do Linux

oficial do projeto.

A principal característica do WINE está ao fato de fornecer um conjunto de chamadas de sistema para que os programas executados interajam com o sistema operacional, obtendo assim ótimos índices de desempenho, estes muito superiores em comparação aos reais processos de emulação. Antes de mais nada, convém afirmar novamente que o WINE é uma implementação de APIs, e não um emulador de sistema operacional.

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...

# ./wineinstallWINE Installer v0.75

/usr/local/src/wine-[VERSÃO] /usr/local/src/wine-0.9.30/toolsYou 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

Page 569: Guia Do Linux

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 passwordPassword: _

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.

Informações gerais do WINE através da seção About do wineconfig.

Bem mais prática e confortável em comparação a edição direta do arquivo-texto de configuração wine.conf, a utilização desta interface gráfica também provê uma série de facilidades para os usuários iniciantes.

Todas as suas opções são classificadas em 6 categorias, a saber:

88/95

Page 570: Guia Do Linux

• 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

Page 571: Guia Do Linux

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).

Para estas circunstâncias (e muitas outras), temos a disposição o DOSBox, um emulador para ambiente DOS que, apesar de ter sido concebido inicialmente para rodar jogos, também nos possibilita utilizar aplicações desenvolvidas para este antigo sistema operacional.

A instalação é simples, fácil e sem maiores inconvenientes, onde deveremos apenas obter o código-fonte do programa e realizar o processo de compilação clássica. Mas antes, deveremos nos certificar de que todas as suas pendências se encontram satisfeitas. Para isto, consultem o arquivo INSTALL disponível junto ao código-fonte do programa.

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

Page 572: Guia Do Linux

habitual trabalho-extra e da necessidade de obtenção de conhecimentos técnicos para a efetuação destas operações. &;-D

91/95

Page 573: Guia Do Linux

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.

Interface padrão do IRPF (2006).

O principal requerimento exigido para a utilização do novo programa de imposto de renda está prévia instalação e configuração da Java Virtual Machine ou Java Development Kit – JDK. A partir da versão 9.0, o

92/95

Page 574: Guia Do Linux

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.binAssistente InstallShield

Inicializando Assistente InstallShield...

Procurando Java(tm) Virtual Machine...........

Será inicializada um assistente gráfico que fornecerá as instruções básicas necessárias para a instalação do programa.

Início do procedimento de instalação.

Sem grandes mistérios poderemos realizar todos os ajustes necessários para a instalação. O instalador irá solicitar a confirmação para a criação dos diretórios que armazenarão os arquivos do programa e os dados imputados. É sugerida a criação do diretório ProgramasSRF, mas por uma questão de estética, optamos por deixá-lo oculto, com a inclusão do ponto.

Definições dos diretórios que armazenarão o programa e os dados do IRPF.

Sem maiores complicações, dêem continuidade ao processo. Antes de terminar a instalação, será sugerida a inclusão de um atalho no desktop.

93/95

Page 575: Guia Do Linux

Opção pela utilização de um ícone para a evocação do programa na área de trabalho.

Para executar o programa, entrem no diretório criado na pasta do usuário...

$ cd /home/darkstar/ProgramasSRF/IRPFJava[ANO]/

... e executem o binário...

$ ./IRPFJava[ANO].bin

Ou ainda, acione o atalho disponibilizado pelo próprio programa na Área de Trabalho. Em poucos instantes estará disponível a interface do programa.

Como todo programa que utilize métodos diferenciados de instalação, provavelmente não será diferente para a sua desinstalação. No caso do IRPF, deveremos entrar no diretório do programa, acessar a pasta desinstalar e executar o binário desinstalar.bin.

$ cd /home/darkstar/ProgramasSRF/IRPFJava[ANO]/$ ./desinstalarirpf[ANO]

Por ser simples e de fácil entendimento, o processo de desinstalação do IRPF não requer comentários adicionais.

Para enviarmos a declaração via Internet, necessitaremos também do programa ReceitaNet, também disponibilizado pela Receita Federal.

1a. inicialização do Receita.Net

Tal como foi feito com o IRPFJava[ANO], deveremos executar o binário ReceitanetJava[ANO].bin para realizarmos a sua instalação.

$ ./ ReceitanetJava[ANO].binAssistente InstallShield

94/95

Page 576: Guia Do Linux

Inicializando Assistente InstallShield...

Procurando Java(tm) Virtual Machine...........

Sem grandes mistérios, o processo de instalação é bastante similar.

Basta seguir as instruções do assistente de instalação.

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

Page 577: Guia Do Linux

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

Page 578: Guia Do Linux

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.

ARTIGOS, TUTORIAIS E DICAS...✔ “Acelerando – Placas aceleradoras aumentam a emoção de cada jogo”, por

Revista do Linux, edição n. 2, <http://www.revistadolinux.com.br/ed/002/aceleradoras.php3>.

✔ “Administrando discos em GNU/Linux” partes 1 e 2, por Gilberto Nunes Ferreira, <http://www.comlinux.com.br/docs/comofazer/admindiscos.shtml>, <http://www.comlinux.com.br/docs/comofazer/admindiscos2.shtml>.

✔ “Anúncio oficial do Projeto GNU”, por Richard Stallman, traduzido por Fernando Lozano e revisado por Ricardo Grützmacher, <http://www.gnu.org/gnu/initial-announcement.pt.html>.

✔ “Assistindo DVD no linux”, por Fernando Seno, <http://www.linuxajuda.com.br/texto.php?id=227>.

✔ “A união faz...” , por Rodrigo Asturian, colaboradores Rafael Rigues e Felipe Arruda, <http://www.revistadolinux.com.br/ed/031/assinantes/capa.php3>.

✔ “Battle for Wesnoth 1.0 Notas de Liberação”, < http://www.wesnoth.org/start/1.0/pt/>.

✔ “BSD vs. SystemV”, por r_linux & mistif, < http://slackware.linuxbr.org/artigos/bsd.html>.

✔ “CD-RW quick-start” , por Jilliardy D. Santos, < http://www.dicas-l.unicamp.br/dicas-l/20030131.shtml>.

✔ “Chegou o nosso Photoshop”, por Simone Iervolino de Aguiar, <http://www.revistadolinux.com.br/ed/001/gimp.php3>.

✔ “Combatendo patentes de software – uma a uma e todas juntas”, por Richard Stallman, traduzido por César Blum Silveira, <http://www.dicas-l.com.br/dicas-l/20051127.php>.

✔ “Como montar dispositivos no Linux”, por Ricardo Y. Igarashi, <http://www.tempestl.eng.br/linux/doc/mount/mount.html>.

✔ “Compilação do kernel” , por João Alexandre Voss de Oliveira,<http://gus-br.linuxmag.com.br/pt/documentacao/kernel.html>.

✔ “Compilando programas”, por Ricardo Igarashi, <http://www.comlinux.com.br/docs/comofazer/compilando.shtml>.

✔ “Compilar o Kernel 2.4.18 no Slack 8”, por r_linux & misfit, texto obtido em <http://slackware.linuxbr.org/dicas/kernel.html>.

Page 579: Guia Do Linux

✔ “Conectiva Linux 10 já está disponível em Live CD Beta”, por Dicas-L, <http://www.dicas-l.unicamp.br/dicas-l/20040813.php>.

✔ “Conectiva Linux 9”, por Revista do Linux, edição n. 40, <http://www.revistadolinux.com.br/ed/040/>.

✔ “Configurando ACPI no Slackware 8.1”, por r_linux & misfit, <http://slackware.linuxbr.org/tutoriais/acpi.html>.

✔ “Configurando as opções do Kernel”, por prinewgirl, <http://www.linuxajuda.com.br/texto.php?id=170>.

✔ “Configurando o LILO”, por Hugo Cisneiro, < http://tlm.conectiva.com.br/lilo/>.

✔ “Configurando o slack (pós instalação)”, por linuxajuda, <http://www.linuxajuda.com.br/texto.php?id=223>.

✔ “Configurando o teclado no Slackware 8.1” , por r_linux & mistif, <http://slackware.linuxbr.org/tutoriais/acentos.html>.

✔ “Conversão de Imagens (batch conversion) usando ImageMagick” , por mistif, <http://www.misfit.hpg.ig.com.br/magick/>.

✔ “Criando Aplicações Integradas de Alta Qualidade para Linux”, por Avi Alkalay – Linux IBM Impact Team, <http://avi.alkalay.net/linux/docs/HighQuality/HighQuality.pt.html>.

✔ “Debian GNU/Linux”, por Bruno Torres, <http://www.brunotorres.net/gnulinux/debian>.

✔ “Dicionário - novos termos”, por Carlos E. Morimoto, <http://www.guiadohardware.net/dicionario/2003-06-07.asp>.

✔ “Dispositivos no Linux”, por Hugo Cisneiros, <http://tlm.conectiva.com.br/dispositivos/>.

✔ “Downloads e uploads FTP com o Konqueror” , por Willie Moraes Oliveira, <http://www.vivaolinux.com.br/dicas/verDica.php?codigo=1530>.

✔ “Diversão à vista” , por Domingos Parra Novo (Revista do Linux, edição n. 1), <http://www.revistadolinux.com.br/ed/001/jogos.php3>.

✔ “Dropline Gnome – A Revolução do Slackware”, por Anderson, < http://br-linux.org/noticias/002638.html>.

✔ “Enlightenment” , por Geoffrey W. Corey, <http://www.linuxfocus.org/Portugues/July1998/article52.html>.

✔ “Estrutura de diretórios do Slackware Linux”, tradução do capítulo 4 do livro “Slackware Linux Essentials” por r_linux & mistif, <http://slackware.linuxbr.org/artigos/dir.html>.

✔ “Ext3 no Kernel 2.4.10-ac11”, por r_linux & mistif, <http://slackware.linuxbr.org/tutoriais/ext.html>.

✔ “EXT3 x ReiserFS, qual é o mais seguro?”, por Carlos E. Morimoto, <http://www.guiadohardware.net/linux/dicas/36.htm>.

✔ “Extensões incrementam o navegador Firefox” , por Folha de S. Paulo,

Page 580: Guia Do Linux

<http://www1.folha.uol.com.br/folha/%20informatica/ult124u17405.shtml>.

✔ “Fazendo arte com o pingüim”, por Revista do Linux, <http://www.revistadolinux.com.br/ed/033/assinantes/graficos.php3>.

✔ “Fazendo download com o wget”, por nightnux, < http://www.linuxnarede.org/dicas/dicas_12.php>.

✔ “Ferramentas Linux – Reedição”, por LinuxDicas <http://www.linuxdicas.com.br/sections-viewarticle-225.html>.

✔ “Gimp – Um tutorial”, por Revista do Linux, <http://www.revistadolinux.com.br/ed/012/gimp.php3>.

✔ “Gnomos e Pingüins” , por Rafael Rigues, < http://www.revistadolinux.com.br/ed/038/assinantes/capa.php3>.

✔ “GNU/Slackware Linux EndUser” , por Bruno Henrique Collovi e Alexandre da Costa, <http://gus-br.linuxmag.com.br/pt/book/web-enduser.pdf>.

✔ “Gravando CDs sob o Linux”, por Katja and Guido Socher, traduzido por Bruno Sousa, <http://www.linuxfocus.org/Portugues/January2002/article227.shtml>.

✔ “Gravação de CDs no Linux”, por Raul Fernandes, <http://brlinux.linuxsecurity.com.br/artigos/dicas_cdrec2.htm>.

✔ “Gravador de CD-R IDE”, por r_linux & mistif, <http://slackware.linuxbr.org/tutoriais/cdr.html>.

✔ “Gravando CDs no Linux - parte I” , por Fábio Berbert de Paula, <http://olinux.uol.com.br/artigos/298/1.html>.

✔ “Gravar CDs via linha de comando”, por Guia do Hardware, <http://www.guiadohardware.net/linux/dicas/19.htm>.

✔ “ Inicialização do sistema, por r_linux e mistif, <http://slackware.linuxbr.org/configs/sysini.html>.

✔ “ Inicialização do Slackware”, por Piter Punk, <http://www.piterpunk.hpg.ig.com.br/artigos/Slackinit.html>.

✔ “ Instalando e configurando o Wine”, por Archon , <http://www.linuxajuda.com.br/texto.php?id=11>.

✔ “ Instalando o Inkscape no Slackware”, por Eduardo Penha, <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4032>.

✔ “ Instalando o ZipSlack”, por Hugo Cisneiros, <http://tlm.conectiva.com.br/zipslack_install/>.

✔ “ Instalando Plugin's no Mozilla”, por nightnux, <http://www.linuxnarede.org/dicas/dicas_03.php>.

✔ “ Instalando plugins no Slackware”, por r_linux & mistif, <http://slackware.linuxbr.org/dicas/plugins.html>.

✔ “ Instalando software a partir do fonte” , por Piter Punk, <http://www.piterpunk.hpg.ig.com.br/artigos/compilando.html>.

Page 581: Guia Do Linux

✔ “ Interfaces do Linux”, partes 1 e 2, por Carlos E. Morimoto, <http://www.guiadohardware.net/tutoriais/073/> e <http://www.guiadohardware.net/tutoriais/076/>.

✔ “ Introdução geral ao Linux”, por Michael K. Johnson, traduzido por Ricardo Ferreira, <http://www.linuxinfor.com/pt/>.

✔ “ Jogos para Linux, partes 1 e 2”, por Carlos E. Morimoto, <http://www.guiadohardware.info/artigos/254/> e <http://www.guiadohardware.info/artigos/257/>.

✔ “K3B – Gravando CDs no Slackware”, por Wainer Chiari, <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=986>.

✔ “Kernel 2.6 – o que muda na nova versão do Linux”, texto obtido da Revista do Linux, edição n. 40, <http://www.revistadolinux.com.br/ed/040/>.

✔ “KTorrent” , por Estúdio Livre, < http://estudiolivre.org/tiki-index.php?page=KTorrent>.

✔ “Lançada a versão 1.4 do KOffice”, por Manoel Pinho, < http://br-linux.org/linux/?q=node/1125>.

✔ “Liberada nova versão do jogo 'deathmatch' 3D Nexuiz”, por Jefferson Xavier, <http://br-linux.org/linux/node/2923>.

✔ “Linus Torvalds” , por Wikipédia,<http://pt.wikipedia.org/wiki/Linus_Torvalds>.

✔ “Linux 3D: Uma realidade à vista”, por Marcelo Vanzin, <http://www.leoviotti.com/hardcia/textos/linux3d.html>.

✔ “Linux Newbie Administrator Guide”, por Peter and Stan Klimas, <http://linux-newbie.sunsite.dk/index.htm> (original). Traduzido por Ronaldo Toledo Morais, <http://www.onlinux.com.br/dicas/lnag/>.

✔ “Linux pra Macho”, por Revista do Linux, edição n. 4, <http://www.revistadolinux.com.br/ed/004/cd.php3>.

✔ “Linux Standard Base”, por Wikipédia,<http://pt.wikipedia.org/wiki/Linux_Standard_Base>.

✔ “Looking Glass, O Ambiente 3D da Sun para linuxers, agora está disponível para desenvolvedores”, por Anunakin (Marcus Fazzi), <http://www.noticiaslinux.com.br/nl1088727825.html>.

✔ “LSB/LCS Base Standard Group”, por Rahul Dave, <http://reno.cis.upenn.edu/~rahul/standards/book/book1.html>.

✔ “Manejando contas de usuário”, por Fabio Guerrazzi, <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=286>.

✔ “Mantenha-se organizado com o CheckInstall” , por Edson Alves dos Santos, <http://www.slackwarenaveia.org/modules.php?name=Sections&op=viewarticle&artid=83>.

✔ “Manual do Gentoo Linux/x86”, < http://www.gentoo.org/doc/pt_br/handbook/handbook-x86.xml?part=0&chap=0>.

Page 582: Guia Do Linux

✔ “Manual do Kurumin, v1.0” , por Carlos E. Morimoto, <http://www.guiadohardware.net/linux/kurumim/>.

✔ “MD5SUM”, por Fabio Melatti, < http://superdownloads.ubbi.com.br/materias/20031021,203,1.html>.

✔ “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>.

✔ “Metisse (3D Desktop): Um novo conceito de interface gráfica!”, por Alessandro de Oliveira Faria, <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1845>.

✔ “Mini HOW-TO de Instalação do Slackware Linux”, por mistif e apoio de r_linux, <http://slackware.linuxbr.org/howto/index.html>.

✔ “Mini-manual do Slackware, por Carlos E. Morimoto, <http://www.guiadohardware.info/tutoriais/67/>.

✔ “Monitorando a saúde do HD com o SMART”, por Carlos E. Morimoto, <http://www.guiadohardware.net/artigos/328/>.

✔ “Montar dispositivos e tocar CDs de audio como usuário”, por r_linux & mistif, <http://slackware.linuxbr.org/tutoriais/usermont.html>.

✔ “Mouse com wheeler (Scroll - botão rodinha)” , < http://gus-br.linuxmag.com.br/pt/documentacao/24.html>.

✔ “Mudando o Gerenciador de Janelas Padrão no Slackware”, Por Jackson Laskoski, <http://www.cnecnet.com.br/>.

✔ “O avanço do Wine”, por Carlos E. Morimoto em 30/10/2001, <http://www.guiadohardware.net/artigos/182/>.

✔ “O futuro do Linux e do XFree86”, por Revista do Linux, <http://www.revistadolinux.com.br/ed/001/xfree86.php3>.

✔ “O manual do KMail” , por Daniel Naber / David Rugge, traduzido por Clovis Sena, <http://www.servtec.eti.br/downloads/MANUAL_KMAIL/>.

✔ “O Maravilhoso Mundo do Linux 2.6”, por Joseph Pranevich, traduzido por César Grossmann, <http://geocities.yahoo.com.br/cesarakg/wwol26-ptBR.html>.

✔ “O porquê de um pingüim como logo”, por lovezinho, <http://www.linuxajuda.com.br/texto.php?id=189>.

✔ “O que é Linux?”, por Mauricio Luiz Ortensi, <http://www.ortensi.com/info/linux_1.php>.

✔ “O que é Software Livre” , por Richard Stallman, traduzido por Fernando Lozano, <http://www.fsf.org/philosophy/free-sw.pt.html>.

✔ “O Shell” , por André Souza, < http://olinux.uol.com.br/artigos/313/1.html>.

✔ “O Som no Slackware”, por Piter Punk, < http://www.piterpunk.hpg.ig.com.br/

Page 583: Guia Do Linux

artigos/som.html>.

✔ “Otimizando gráfico”, por Lailson Bandeira, <http://www.lerach.hpg.ig.com.br/otimizando_grafico.htm>.

✔ “Particionamento de discos rígidos”, por Revista do Linux, <http://www.revistadolinux.com.br/ed/016/assinantes/particionamento.php3>

✔ “Passos Rápidos - Compilação do Kernel”, por Al Dev, <http://people.nl.linux.org/~gpolo/kernel/>.

✔ “Perguntas mais freqüentes do Gentoo Linux”, <http://www.gentoo.org/doc/pt_br/faq.xml>.

✔ “Perguntas mais freqüentes sobre o KDE”, por Matthias Hölzer e Bernd Johannes Wuebben, <http://sunsite.bilkent.edu.tr/pub/linux/www.kde.org/documentation/pt-br/general/faq/>.

✔ “Periféricos complicados”, por Ednilson Miura, <http://www.revistadolinux.com.br/ed/005/perifericos.php3>.

✔ “Player amaroK lança versão 1.2”, por brain, < http://br-linux.org/linux/?q=node/198>.

✔ “Por dentro do Slackware 9.0” , por Carlos E. Morimoto, <http://www.guiadohardware.net/artigos/248/>.

✔ “Porque o Software não deveria ter donos”, por Richard Stallman, <http://www.fsf.org/philosophy/why-free.pt.html>.

✔ “Por quê usar o Slackware”, por Piter Punk, <http://www.piterpunk.hpg.ig.com.br/artigos/porque.html>.

✔ “Por que usar software livre?”, por Rubens Queiroz de Almeida (Revista do Linux, edição n. 1), <http://www.revistadolinux.com.br/ed/001/livre.php3>.

✔ “Portas Seriais e Afins” , texto obtido do endereço eletrônico <http://modemclub.com.br/linux/portasafins.html>.

✔ “Post-install do Slackware 9.0” , por Piter Punk, <http://www.piterpunk.hpg.ig.com.br/artigos/postinstall9.html>.

✔ “Primeiros Passos no linux”, por linuxajuda, <http://www.linuxajuda.com.br/texto.php?id=66>.

✔ “Procedimento Desktop Parte I: Procurando por uma nova Distro” , por Eduardo Sánchez G., tradução de Bruno H. Collovini, <http://gus-br.linuxmag.com.br/pt/artigos/28-out-2004.html>.

✔ “Primeiro passo: particionamento de HD”, texto obtido da revista Arquivo Linux, Ano II, n. 7, <http: //www.digerati.com.br/ >.

✔ “Quem disse que não dá para se divertir no Linux?”, por Giancarlo Razzolini, <http://www.linuxdicas.com.br/sections-viewarticle-254.html>.

✔ “Recompilando o kernel 2.4.x ou 2.6.x”, por Pedro Augusto de Oliveira Pereira, <http://brlinux.linuxsecurity.com.br/tutoriais/001804.html>.

Page 584: Guia Do Linux

✔ “Scribus 1.1.6: A opção Linux para Adobe PageMaker, QuarkXPress e InDesign”, por Alessandro de Oliveira Faria (cabelo), <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1214>.

✔ “SDL – Uma nova API de altíssima performance para jogos”, por Por John Anderson Freitas Mendes, <http://www.inf.ufsc.br/~awangenh/CG/sdl.html>.

✔ “Search and Rescue”, por Davi Ferreira, <http://olinux.uol.com.br/artigos/348/1.html>.

✔ “Segurança Básica”, por r_linux & mistif, <http://slackware.linuxbr.org/dicas/seguro.html>.

✔ “Sistema de arquivos proc”, por Hugo Cisneiros, <http://tlm.conectiva.com.br/fsproc/>.

✔ “Sistema de atualizações do Slackware”, por Andrei Drusian, <http://www.slackwarenaveia.org/modules.php?name=Sections&op=viewarticle&artid=30>.

✔ “Slackware 9”, por Revista do Linux, <http://www.revistadolinux.com.br/ed/041/assinantes/distro.php3>.

✔ “Slackware BOOTING”, por r_linux & mistif, <http://slackware.linuxbr.org/howto/BOOTING.html>.

✔ “Slackware INIT (ou, o que ocorre no boot...)” , por r_linux & mistif, <http://slackware.linuxbr.org/artigos/init.html>.

✔ “Sobre o Kurumim”, por Antonio Francisco, < http://www.dicas-l.unicamp.br/dicas-l/20040715.php>.

✔ “SuSe Linux 6.4”, por Augusto Campos, <http://www.revistadolinux.com.br/ed/010/cd.php3>.

✔ “Telas de abertura (kernel e lilo) no Slackware”, por r_linux & mistif, <http://slackware.linuxbr.org/dicas/boot.html>.

✔ “Trabalhando com seu modem em Linux (Tendência dos modens no Linux)” , por Hernani Garcia, <http://www.linuxajuda.com.br/texto.php?id=181>.

✔ “Trabalhando com pacotes no Slackware”, por Piter Punk, <http://www.piterpunk.hpg.ig.com.br/artigos/Slackpkg.html>.

✔ “Trabalhando com shell e variáveis de ambiente” , por Cristian Alexandre, <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=855&pagina=2>.

✔ “Tuxmedia”, por Felipe Miguel Jorge Arruda e Rafael Rigues, <http://www.revistadolinux.com.br/ed/043/assinantes/capa.php3>.

✔ “udev e suas regras maravilhosas”, por Tiago Madeira, <http://tiagomadeira.net/udev-e-suas-regras-maravilhosas>.

✔ “Um guia para iniciar com OpenAL”, por gamenuX, <http://www.gamenux.com.br/wiki/index.php/OpenAL:Um_Guia_Para_Iniciar_Com_OpenAL>.

✔ “Uma visão simplificada do coração do Linux”, por Rafael “Tremere” Diehl,

Page 585: Guia Do Linux

<http://www.revistadolinux.com.br/artigos/005,030,3,4,11.html>.

✔ “Usando o Kommander para criar GUIs” , por João Garcia, <http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1408>.

✔ “Usando o GZIP e TAR no Linux”, por InfoWester, <http://www.infowester.com/lintargzip.htm>.

✔ “Usando o xf86config”, por Piter Punk, < http://www.piterpunk.hpg.ig.com.br/artigos/xf86config.html>.

✔ “Viagem ao centro do kernel”, por Revista do Linux, <http://www.revistadolinux.com.br/ed/004/kernel.php3>.

✔ “X.org lança nova versão do X11R6”, por Augusto Campos, <http://brlinux.linuxsecurity.com.br/noticias/002190.html>.

✔ “Xfce, a interface desconhecida”, por Edgard Lemos, <http://pontobr.org/article.php?sid=288>.

✔ “XFree 4: um é pouco, dois é bom!” , por Everaldo Coelho, <http://www.revistadolinux.com.br/ed/021/assinantes/hardware.php3>.

✔ “Window Maker” , por Ricardo Sartori, < http://wmaker.lrv.ufsc.br/index.php?pagina=windowmaker>.

✔ “Wine User Guide”, < http://www.winehq.org/trouble/>.

✔ “WinModens e SoftModens”, < http://modemclub.com.br/linux/winsoft.html>.

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-

Page 586: Guia Do 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/>.

DOCUMENTAÇÕES E MENSAGENS DE LISTAS

Foram analisados também as documentações eletrônicas de todos os aplicativos aqui descritos situados no diretório /usr/doc/ - em especial o Linux-HOWTOs e o Linux-FAQs –, além de diversas mensagens postadas na lista de discussão da Linux-BR, estas armazenadas na página...

✔ <http://www.zago.eti.br/>.

Page 587: Guia Do Linux

GNU FREE DOCUMENTATION LICENSE

Version 1.2, November 2002.

Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

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.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject

Page 588: Guia Do Linux

(or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific

Page 589: Guia Do Linux

section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

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

Page 590: Guia Do Linux

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.

Page 591: Guia Do Linux

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

Page 592: Guia Do Linux

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.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

Page 593: Guia Do Linux

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

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.

10. FUTURE REVISION OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: HOW TO USE THIS LICENSE FOR YOUR DOCUMENTS

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license

Page 594: Guia Do Linux

notices just after the title page:

Copyright (c) YEAR YOUR NAME.Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.2or any later version published by the Free Software Foundation;with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.A copy of the license is included in the section entitled "GNUFree Documentation License".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:

with the Invariant Sections being LIST THEIR TITLES, with theFront-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.