Slackware Linux Essentials

O Guia Oficial do Slackware Linux


  1. Uma Introdução ao Slackware Linux
  2. Ajuda
  3. Instalação
  4. Configuração do Sistema
  5. Configuração de Rede
  6. Configuraração do X
  7. Processo de Boot
  8. O Shell
  9. Estrutura do Sistema de Arquivos
  10. Manipulando arquivos e diretórios
  11. Controle de Processos
  12. O Essencial em Administração de Sistema
  13. Comandos de rede básicos
  14. Segurança
  15. Arquivos Agrupados e Compactados
  16. Vi
  17. Emacs
  18. Gerenciamento de Pacotes do Slackware
  19. ZipSlack
  20. Glossário
  21. The GNU General Public License
  22. Contributing Authors



Slackware Linux Essentials

Segunda Edição

Publicação: Maio 2005

isbn: 1-57176-338-4

Slackware Linux Essentials, Second Edition

Copyright © 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Slackware Linux, Inc.

All rights reserved. Printed in Canada.

Published by Slackware Linux, Inc., 1164 Claremont Drive, Brentwood, CA 94513

Lead Author, Second Edition: Alan Hicks.

Editors, Second Edition: Murray Stokely and FuKang Chen.

Authors, First Edition: Chris Lumens, David Cantrell, and Logan Johnson.

Print History:

June, 2000 First Edition

May, 2005 Second Edition

Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux, Inc.

Linux is a registered trademark of Linus Torvalds.

America Online and AOL are registered trademarks of America Online, Inc. in the United States and/or other countries.

Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of Apple Computer, Inc., registered in the United States and other countries.

IBM, AIX, EtherJet, Net?nity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both.

IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States. Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Netscape and the Netscape Navigator are registered trademarks of Netscape Communications Corporation in the U.S. and other countries.

Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries.

XFree86 is a trademark of The XFree86 Project, Inc.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and Slackware Linux, Inc. was aware of the trademark claim, the designations have been followed by the '''tm''' or the ® symbol.


Prefácio

Público Alvo

O sistema operacional Slackware Linux é uma poderosa plataforma baseada em computadores i386. Ele foi projetado para ser estável, seguro e funcional como servidor, e também uma poderosa estação de trabalho.

Este livro foi feito para que você comece com o sistema operacional Slackware Linux. Isto não siginifica que iremos abordar cada detalhezinho da distribuição, mas mostraremos rapidamente do que ela é capaz dando o conhecimento para trabalhar com o básico do sistema.

Como você ganhará experiência com o Slackware, esperamos que você busque este livro para ser uma referência acessível. Nós também esperamos que o empreste para os seus amigos quando eles vierem perguntar sobre o sistema operacional Linux que você está usando.

Mesmo que esse livro não vá fazer você pular de emoção, nós certamente tentamos fazê-lo o mais interessante possível. Com alguma sorte dará um filme. Claro, nós esperamos também que você possa aprender com ele e o ache útil.

E agora, comecemos com o show.

Mudanças da Primeira Edição

Esta é a segunda edição, resultado de vários anos de trabalho duro dos membros dedicados do Projeto de Documentação do Slackware. A seguir estão as mudanças de maior valor nesta nova edição:

Organização deste Livro

Capítulo 1, Introdução

Capítulo 2, Ajuda

Capítulo 3, Instalação

Capítulo 4, Configuração do Sistema

Capítulo 5, Configuração da Rede

Capítulo 6, O Sistema de Janelas X

Capítulo 7, Inicialização

Capítulo 8, O Shell

Capítulo 9, Estrutura do Sistema de Arquivos

Capítulo 10, Manipulando Arquivos e Diretórios

Capítulo 11, Controle de Processos

Capítulo 12, Fundamentos para Administração do Sistema

Capítulo 13, Comandos Básicos de Rede

Capítulo 14, Segurança

Capítulo 15, Arquivos Compactados

Capítulo 16, vi

Capítulo 17, Emacs

Capítulo 18, Gerenciamento de Pacotes do Slackware

Capítulo 19, ZipSlack

Appendix A, Licença Pública Geral GNU

Convenções usadas neste livro

Para fornecer uma consistente e fácil leitura do texto, diversas convenções foram seguidas durante todo o livro.

Convenções Tipográficas

- Fontes em itálico são usada para comandos, texto enfatizado, e os termos técnicos de primeiro uso.

Entrada do Usuário

Teclas são mostradas em negrito para se destacarem de outros textos. Combinações de teclas que possuem certo objetivo por serem digitadas simultaneamente, são mostradas com `+' entre as teclas, como:

Ctrl + Alt + Del

Desse modo o usuário deve digitar as teclas Ctrl, Alt, e Del ao mesmo tempo.

Teclas que possuem certo objetivo por serem digitadas em sequência que irão ser separadas por vírgulas, por exemplo:

Ctrl+X, Ctrl+S

Significaria que é esperado que o usuário digite as teclas Ctrl e X simultaneamente e então digite as teclas Ctrl e S simultaneamente.

Exemplos

Exemplos começando com \\ E:>\\ indica um comando \\MS-DOS\\. A menos que seja conhecido de outra forma, estes comandos podem ser executados de uma janela de "Prompt de Comandos" do ambiente moderno do Microsoft Windows.

D:> rawrite a: bare.i

Exemplos começando com &prompt.root; indica que o comando que deve ser usado pelo super-usuário no Slackware. Você pode iniciar uma sessão como root para digitar o comando, ou iniciar com uma conta normal e usar &man.su.1; para ganhar privilégio de super-usuário.

# dd if=bare.i of=/dev/fd0

Exemplos começando com &prompt.user; indicam que o comando pode ser usado em uma conta de usuário normal. A menos que seja conhecido de outra forma, a sintaxe C-shell é usada para ajustar as variáveis de ambiente e outros comandos de shell.

$ top

Agradecimentos

Este projeto é o acumulo de meses de trabalho de muitas pessoas dedicadas. Não seria possível para mim produzir este trabalho do zero. Muitas pessoas merecem nossos agradecimentos por seus atos de ajuda: Keith Keller por seu trabalho em rede wireless, Joost Kremers por seu maravilhoso trabalho escrito sem colaboradores da seção Emacs, Simon Williams por seu capítulo sobre segurança, Jurgen Phillippaerts pelos comandos básicos de rede, Cibao Cu Ali G Colibri pela inspiração e o ponta-pé inicial. Sem contar outros que nos enviaram sugestões e reparos. Uma lista incompleta inclui: Jacob Anhoej, John Yast, Sally Welch, Morgan Landry, e Charlie Law. Tenho também de agradecer Keith Keller por hospedar a lista de emails desse projeto, bem como Carl Inglis pela hospedagem inicial do site. Por último mas não menos importante, tenho que agradecer a Patrick J. Volkerding pelo Slackware, e David Cantrell, Logan Johnson, e Chris Lumens pelo Fundamentos do Slackware Linux 1ª Ediçao. Sem sua estrutura inicial, nada disso teria acontecido. Muitos outros contribuiram com pequenas e grandes partes desse projeto e não foram listadas. Espero que me perdoem por minha memória fraca.

Alan Hicks, Maio 2005


1. Uma Introdução ao Slackware Linux

1.1. O que é o Linux?

Linus Torvalds criou o Linux, o núcleo do sistema operacional, como um projeto pessoal em 1991. Ele iniciou o projeto porque procurava rodar um sistema operacional baseado em Unix mas não possuia muito dinheiro. além disso, Ele procurava aprender sobre a arquitetura do processador 386. O Linux é liberado livre de cobrança para o público assim qualquer pessoa pode ajudar estudando-o e fazendo melhorias sobre a licença pública geral. (veja Código Aberto e Software Livre e Apêndice A para uma explicação da licença.) Hoje o linux cresceu como um dos principais jogadores no mercado de sistema operacional. Ele foi portado para rodar em uma variedade de arquiteturas, incluindo HP/Compaq's Alpha, Sun's SPARC e UltraSPARC, e Motorola's PowerPC chips (através Apple Macintosh e computadores IBM RS/6000.) centenas, se não milhares, de programadores em todo o mundo desenvolve o Linux. Ele roda programas como Sendmail, Apache, e BIND, que são softwares bastante populares usado em servidores de internet. É importante lembrar que o termo "Linux" realmente se refere ao kernel - o núcleo do sistema operacional. Este núcleo é responsável por controlar o processador do seu computador, memória, discos rígidos e periféricos. Aquilo tudo é realmente o Linux: Controla as operações do seu computador e certifica-se de que todos os seus programas se comportam. Existem várias companhias e indivíduos que empacotam o kernel e vários programas juntos para fazer um sistema operacional. Nós chamamos cada pacote de uma distribuição Linux.

1.2. Uma palavrinha sobre GNU

O projeto do Kernel Linux começou com um esforço pessoal de Linus Torvalds em 1991, mas como Isaac Newton disse uma vez, "Se consegui enxergar mais longe, é porque estava apoiado sobre ombros de gigantes.". Quando Linus Torvalds criou o Kernel a Free Software Foundation tinha estabelecido já a idéia do software colaborativo. Intitularam seu esforço GNU, um acrônimo recursivo que significa simplesmente GNU's Not Unix. O Software da GNU funciona sobre o kernel do Linux desde o 1º dia. O compilador gcc foi usado usado para compilar o kernel. Hoje muitas ferramentas da GNU, do gcc ao gnutar estão ainda na base de cada distribuição principal do Linux. Por esta razão muitos dos membros da Free Software Foundation sugerem fervorosamente que seu trabalho deve ser dado o mesmo crédito que o kernel Linux e ainda que todas as distribuições de Linux devem se referir a ele como distribuições de GNU/Linux.

O prefixo "GNU" em "GNU/Linux" é o tema de inúmeras flamewars; só a guerra santa entre Emacs e vi gera mais brigas. O objetivo deste livro não é alimentar as chamas da discussão, e sim esclarecer a terminologia para os neófito. Quando vemos "GNU/Linux" isso quer dizer uma distribuição Linux; quando vemos "Linux" o termo pode estar se referindo tanto ao kernel quanto à distribuição inteira, o que pode ser um pouco confuso; e o termo "GNU/Linux" muitas vezes não é usado por ser longo demais.

1.3. O que é o Slackware?

O Slackware, criado por Patrick Volkerding no fim de 1992, e inicialmente lançado para o mundo em 17 de Julho de 1993, foi a primeira distribuição Linux a alcançar um uso bastante difundido.

Volkerding iniciou o aprendizado no linux quando precisou de um interpretador de LISP para um projeto. Uma das poucas distribuições disponíveis naquele tempo era a SLS Linux de Soft Landing Systems. Volkerding usou o SLS Linux, corringindo os bugs que encontrava.

Eventualmente, decidiu juntar todos estes bugfixes em sua própria distribuição privada que ele e seus amigos poderiam usar. Esta distribuição privada ganhou rapidamente a popularidade, assim que Volkerding decidiu nomeá-lo para Slackware e distribui-lo publicamente. Ao longo, Patrick adicionou coisas novas ao Slackware; um programa de instalação amigável para o usuário e baseado em um sistema de menu, também com o conceito de gerênciamento de pacote, na qual permite que os usuários facilmente adicionem, removam ou atualizem um programa ou o seu sistema inteiro.

Há muitas razões porque o Slackware é a distribuição Linux mais antiga em atividade. Não tenta imitar o Windows, tenta ser o mais similar ao Unix possível. Ele não esconde seus processos atrás de uma interface gráfica de apontar e clicar; ao invés disso ele põe os usuários no controle e mostra para eles exatamente o que está acontecendo. Seu desenvolvimento não é acelerado artificialmente para cumprir prazos - cada versão só é lançada quando realmente está pronta.

O Slackware é para as pessoas que gostam de aprender e fazer com o sistema exatamente o que quer. O que permite que o Slackware será usado por vários anos é a sua simplicidade e estabilidade. O Slackware atualmente possui uma reputação de um servidor estável e uma rápida estação de trabalho, Você poderá encontrar desktops com Slackware funcionando quase todos com um gerenciador de janelas ou com ambiente de trabalho, ou sem nenhum. Os Servidores Slackware aumentam os negócios, aumentando a capacidade para os usuários do servidor, Os usuários de Slackware são entre todos usuários os mais satisfeitos com o Linux. Naturalmente, nós diríamos isso. :^)

1.4. Código Aberto e Software Livre

Dentro da comunidade Linux, existem dois principais movimentos ideológicos em atividade. O movimento de Software livre (nós começaremos em instantes) que está trabalhando com o objetivo de fazer todo o software livre das restrições da propriedade intelectual. Os seguidores deste movimento acreditam que as restriçoes impedem as melhorias tecnicas e o trabalho contrário ao bem da comunidade. O movimento de código aberto está trabalhando praticamente com os mesmos objetivos, mas tomadas uma aproximação mais pragmática a elas. Os seguidores deste movimento preferem basear seus argumentos nos méritos econômicos e técnicos de fazer o código fonte livremente disponível, melhor que os princípios morais e éticos que dirigem o movimento de Software Livre, No extremo oposto da visão estão os grupos que desejam manter um controle em exesso sobre seus softwares.

O movimento de software livre é dirigido pela Free Software Foundation, uma organização de levantamento de fundos para o projeto GNU. O software livre é mais que uma ideologia. A expressão usada com frequência é livre como um discurso, mas não como cerveja grátis. Essencialmente, o software livre é uma tentativa de garantir determinados direitos para os usuários e desenvolvedores. Esta liberdade incluem a liberdade para executar o programa sem uma razão, para estudar e modificar o código fonte, para redistribuir o código fonte e para compartilhar de quaisquer modificações que você fizer. A fim de garantir esta liberdade, a licença pública geral da GNU (GPL) foi criado. A GPL, sendo breve, prover que qualquer um que distribui um programa compilado que seja licenciado sob a GPL deve também fornecer o código fonte, e é livre para fazer modificacões no programa e aquelas modificações feitas também estarão disponíveis na forma de código fonte. Isto garante que uma vez que um programa é aberto à comunidade, não pode ser fechado exceto pelo consentimento de cada autor de cada parte do código (mesmo as modificações) dentro dele. A maioria dos programas para o Linux estão licenciados sob a GPL.

É importante notar que a GPL não diz qualquer coisa sobre o preço. Tão ímpar como pode soar, você pode cobrar pelo software livre. A parte livre está na liberdade que você tem com o código fonte, não no preço que você paga pelo software. (entretanto, uma vez que alguém o vendeu, ou tenha dado um programa compilado licenciado sob a GPL são obrigados a fornecer também o código fonte.)

Outra licença popular é a licença BSD. Em contraste com a GPL, a licença BSD não impõe nenhuma exigência para a liberação do código fonte de um programa. Os Softwares lançado sobre a licença BSD permitem redistribuir em código fonte ou em binário uma forma de providenciar apenas algumas condições. O crédito do autor não pode ser usados como um caráter de propaganda para o programa. Imuniza também o autor da responsabilidade para os danos que podem se levados pelo uso do software. Muito dos softwares incluído no Slackware Linux são licenciados pela BSD.

Na linha de frente do jovem movimento de código aberto, A OSI é uma organização que existe unicamente para avançar a sustentação para o software de código aberto, isto é, o software ter o código aberto disponivel perfeitamente para ler e executar o programa. Não oferecem uma licença específica, mas em substituição suportam os vários tipos de licenças de códigos abertos.

A ideia atrás da OSI é trazer mais companhias para o código aberto permitindo que escrevam suas próprias licenças de código aberto e tenham aquelas licenças certificadas pela Open Source Initiative. Muitas companhias querem liberar o código fonte, mas não querem usar a GPL. Desde que não podem radicalmente mudar a GPL, são oferecidas a oportunidade de fornecer sua própria licença e de tê-la certificada por esta organização.

Quando a Free Software Foundation e a Open Source Initiative trabalharem para se ajudarem, elas não são a mesma coisa. A Free Software Foundation usa uma licença específica e fornece o software sob esta licença, A Open Source Initiative busca dar suporte para todas a licenças abertas, incluindo uma para a Free Software Foundation. Toda a sustentação aberta das buscas da Open Source Initiative para abrir o código fonte, inluindo a Free Software Foundation. As regiões em que cada uma discute fazendo o código fonte livremente disponível dividem às vezes os dois movimentos, mas o fato de que dois grupos ideologicamente diferentes estão trabalhando para o mesmo objetivo, isso dar crédito aos esforços de cada um.


2. Ajuda

Muitas vezes você precisa de ajuda para um comando específico, para iniciar um programa, ou simplesmente saber como um hardware trabalha. Talvez você queira saber mais opções que possam ser utilizadas em um determinado comando, ou apenas verificar quais opções estão disponíveis para serem utilizadas em um determinado comando. Felizmente, existem várias maneiras de você obter ajuda para o que está procurando. Quando você instala o Slackware você tem a opção de instalar os pacotes da série F que inclui FAQs e HOWTOs. Alguns programas também possuem ajuda sobre outras opções, arquivos de configuração e uso.

2.1. Ajuda do Sistema

2.1.1. man

O comando man (abreviação de manual) é a forma tradicional de documentação online dos sistemas operacionais Unix e Linux. Composto de Linhas formatadas especialmente, as man page, são escritas para a grande maioria dos programas e são distribuídas com o próprio software. Executando man comando será mostrada a man page para o programa especificado, em nosso exemplo esse seria o comando imaginário comando.

Você deve imaginar a grande quantidade de páginas de manual que podem ser rapidamente criadas, tornaria-se confuso e complicado até mesmo para um usuário avançado. Devido a isso, às páginas de manual são divididas em seções numeradas. Este sistema esteve disponível por um longo tempo; você verá bastante comandos, programas e referências de funções de bibliotecas referênciadas pelo número da seção do man.

Por exemplo:

Você pode fazer uma referência ao man(1). O número especifica que a man é documentada na seção 1 (comandos de usuários); você pode especificar que você quer a documentação da seção 1 do man com o comando man 1 man. Especificar a seção é útil quando existe manuais em várias seções com o mesmo nome.

2.1.2. Seções da página de Manuais

Seção Conteúdo
Seção 1 Comandos de usuários (somente introdução)
Seção 2 Chamadas do Sistema
Seção 3 Chamadas de bibliotecas C
Seção 4 Dispositivos (ex., hd, sd)
Seção 5 Formatos de Arquivos e protocolos (ex., wtmp, /etc/passwd//, nfs)
Seção 6 Jogos (somente introdução)
Seção 7 Convenções, pacotes macro, etc. (ex., nroff, ascii)
Seção 8 Administração do sistema (somente introdução)

Em adicional ao comando man(1), existem os comandos whatis(1) e apropos(1) que estão disponíveis para você, com a finalidade de encontrar uma informação mais fácil no sistema.

O comando whatis dá uma descrição muito breve dos comandos do sistema, uma espécie de referência.

Exemplo:

% whatis whatis

whatis (1) - search the whatis database for complete words

O comando apropos é usado para procurar a página de manual que contêm uma determinada palavra..

Exemplo

$ apropos wav cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files

netwave_cs (4) - Xircom Creditcard Netwave device driver

oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)

wavelan (4) - AT&T GIS WaveLAN ISA device driver

wavelan_cs (4) - AT&T GIS WaveLAN PCMCIA device driver

wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver

Caso queira alguma informação adicional para algum destes comandos, leia a página de manual para maiores detalhes. ;)

2.2. O diretório /usr/doc/

A grande maioria dos softwares que instalamos vem com algum tipo de documentação: arquivos README, instruções de uso, arquivos de licença, etc. Geralmente toda documentaçao que vêm com o software é instalada no sistema no diretório /usr/doc/. Cada programa geralmente instala sua documentação na seguinte ordem:

/usr/doc/$programa-$versão/

Onde $programa// é o nome do programa que você está querendo obter informações, e $versão// é (obviamente) a versão do software que está instalado em seu sistema.

Por exemplo, para ler a documentação do comando man(1) você digitaria cd no:

$ cd /usr/doc/man-$versão/

Caso ao ler as informações da página de manual você não encontre informações apropriadas o próximo passo é buscar informações no diretório /usr/doc/.

2.3. HOWTOs e mini-HOWTOs

O verdadeiro espírito da comunidade de Código Aberto cria uma grande coleção de HOWTO/mini-HOWTO. Esses arquivos são exatamente - documentos e guias descrevendo como deve ser feito algo. Caso você decida instalar os HOWTO, eles serão instalados no diretório /usr/doc/Linux-HOWTOs/ e os mini-HOWTOs em /usr/doc/Linux-mini-HOWTOs/.

A mesma série de pacotes inclui uma coleção de pacotes de FAQs, que é uma abreviação para Frequently Asked Questions (em português seria Perguntas mais Frequentes)

Estes documentos são escritos no estilo de Perguntas e Respostas. Os FAQs podem ser muito útil quando se procura algo onde se queira ter respostas rápidas para algo. Caso você decida instalar os FAQs durante a instalação, você os encontrará instalados do diretótio /usr/doc/Linux-FAQs/.

Esses arquivos são muito úteis quando você está com alguma dúvida e não sabe como resolver o problema. Cobrem uma grande variedade de assuntos, mas não cobrem os assuntos de maneira detalhada. Bom material!

2.4. Ajuda Online

Além da documentação que é fornecida com a instalação do Sistema Operacional Slackware Linux, existe uma grande variedade de documentação disponível que você pode obter para aprender.

2.5. O Site Oficial e os Fórums de Ajuda

2.6. Suporte por E-mail

A todos que compram o conjunto oficial de CDs do projeto é oferecido suporte livre via e-mail pelo desenvolvedor. Por favor, isso que está sendo dito, deve ser mantido entre os colaboradores (e a grande maioria dos usuários) do Slackware A velha escola. Isso significa que nós preferimos ajudar àqueles que têm um interesse sincero e estão dispostos a ajudar no processo. Nós faremos sempre o melhor para ajudar quem nos envia um e-mail. Entretanto, Por favor verifique a documentação e o site (especialmente os FAQs e talvez algum fórum listado abaixo) antes de enviar um e-mail. Você pode iniciar sua busca nas respostas simples, seria menos e-mail que teríamos que responder, obviamente nós ajudamos de uma forma melhor àqueles que precisam de nossa ajuda.

O endereço de e-mail para suporte técnico é: <support (a) slackware com>. Outros endereços de e-mail e informações de contato são listados no site oficial.

2.7. Lista de E-mail do Projeto Slackware Linux

Existem algumas listas de e-mail disponíveis em forma de sumário ou formulário normal. Verifique as instruções para saber como se inscrever.

Para inscrever em uma lista de e-mail, envie uma mensagem para:

<majordomo (a) slackware com>

com a frase subscribe [nome da lista] no corpo da mensagem. A descrição das listas está abaixo (use o nome abaixo para o inscrever-se na lista).

Os arquivos da lista de e-mail podem ser encontrador no site do Slackware em:

http://slackware.com/lists/archive/

slackware-announce

A lista de e-mail slackware-announce é utilizada para anunciar novas versões, principais atualizações e outras informações em geral.

slackware-security

A lista de e-mail slackware-security informa assuntos relacionados à segurança. Exploits e outras vulnerabilidades que pertençam diretamente ao Slackware são postadas na lista imediatamente.

As listas estão disponiveis no formato de sumário. Isto é, ao invés de você receber várias mensagens durante o dia, você receberá apenas uma mensagem com todo o conteúdo criado no dia. A lista de e-mail do Slackware não permite que usuários postem mensagem, e as listas possuem um tráfego baixo, muitos usuários encontram pouca vantagem em receber o sumário da lista. Caso você queira, ainda estão disponíveis para inscrição a lista slackware-announce-digest ou slackware-security-digest.

2.8. Sites não-oficiais e Fóruns de ajuda

2.9. Sites

Google (www.google.com)

O mestre do Kung-Fu para sites de busca. Absolutamente você, encontra as últimas informações sobre o kernel com o título: Não aceite substitutos.

Google:Linux (www.google.com/linux)

Procura especificamente por Linux

Google:BSD (www.google.com/bsd)

Procura especificamente por BSD. Slackware também é um sistema operacional genérico, assim como o Unix funciona, por isso, você também pode encontrar muitas informações sobre Slackware. Muitas vezes uma busca, em BSD, pode trazer informações técnicas relacionadas com o Linux.

Google:Groups (groups.google.com)

Busca por informações nas mensagens de décadas da Usenet.

userlocal

Um tesouro virtual de conhecimento, bom conselheiro, experiências em primeira mão e artigos interessantes. O primeiro lugar que você ouvirá com freqüência sobre o desenvolvimento de Slackware no mundo.

2.10. Recursos Web

linuxquestions.org

O fórum oficial de usuários de Slackware.

Fórum Slackware

"Um local para efetuar download e obter ajuda sobre Linux."

[alt.os.linux.slackware wombat.san-francisco.ca.us/perl/fom] FAQ

Outras FAQ

2.11. Grupos de usuários (NNTP)

A USENET tem sido por muito tempo o lugar onde os geeks buscam ajuda e ajudem uns aos outros. Existem poucos grupos dedicados ao Slackware Linux, mas tendem a serem preenchidos com as grandes base de conhecimento de outras pessoas.

alt.os.linux.slackware

alt.os.linux.slackware, mais conhecida como aols, (não confunda com a AOL!) é um dos lugares mais ativos para encontrar ajuda sobre problemas com o Slackware. Como cada grupo, alguns participam (ativamente) com experiência pelo fato de ajudar bastante. Aprenda a ignorar trolls e identifique ajuda de pessoas que realmente utilizam esse recurso.


3. Instalação

Antes que você possa usar o Slackware Linux, será necessário você obtê-lo e instalá-lo. Obter o Slackware é fácil, você pode compra-lo ou efetuar o download gratuíto através da Internet. A instalação também é muito fácil, desde que você tenha conhecimento básico sobre seu computador e esteja disposto a aprender algumas coisas. O programa de instalação o conduzirá passo-a-passo. Devido ao programa de instalçao você instalará rapidamente o sistema. O fato é que o Slackware possui um programa de instalação mais rápido em relação à qualquer outra distribuição Linux.

3.1. Obtendo o Slackware

3.1.1. A caixa com os discos Oficiais

O conjunto de CDs oficial do Slackware Linux CD está disponível na Slackware Linux, Inc. O jogo consiste em 4 discos. O primeiro disco contêm todo o software necessários para um sistema básico e o gerenciados de janelas X. O segundo CD é um disco adicional; isto é, um CD bootável que instala na RAM uma instalação provisória, caso seja necessário efetuar uma manutenção de reparo na máquina. Este CD possui alguns pacotes, tais como os ambienes gráficos KDE e GNOME. Alguns pacotes novos são inclusos no segundo CD incluindo a série de pacotes extra, que são pacotes não essenciais ao sistema. O terceiro e o quarto CD inclui todos os códigos fontes de todos os programas do Slackware, junto com a edição original desse livro.

Também é possível comprar um kit contendo os 4 discos e uma cópia deste Livro, dessa forma você poderá se exibir como um verdadeiro geek. A compra dos CDs estão disponíveis a um custo bem acessível.

A maneira preferida para a compra desses produtos é na loja oficial do Slackware.

Informações de Contato na Slackware Linux, Inc.

Method Contact Details
Telephone 1-(925) 674-0783
Site http://store.slackware.com
Email <orders (a) slackware com>
Postal 1164 Claremont Drive, Brentwood, CA 94513

3.1.2. Através da Internet

Slackware Linux está totalmente Livre na Internet. Você pode enviar suas perguntas por email, mas a prioridade será às perguntas referentes à compras do kit oficial. Como dito anteriormente, nós recebemos muitos e-mails, e o tempo é muito limitado para poder atender a todos. Antes de enviar um e-mail para suporte primeiramente leia a ajuda.

O site oficial do Projeto Slackware Linux Project é o endereço:

http://www.slackware.com/

A localização do FTP primário para o Slackware Linux é:

ftp://ftp.slackware.com/pub/slackware/

O ftp disponível no site, está aberto para uso geral, não existe limite de banda. Mas por favor, considere a opção de utilizar um mirror mais próximo à você para efetuar o download do Slackware. A lista completa dos mirros podem ser encontradas no site http://www.slackware.com/getslack.

3.2. Requisitos para Instalação

Uma instalação mínima do Slackware, necessita da seguinte configuração:

Hardware Necessário
Processador 586
Memória 32 MB RAM
Espaço em Disco 1GB
Drive de CD 4x CD-ROM

Caso você tenha um CD bootável, você não irá precisar de um disquete. É claro que se você não possuir uma unidade de CD-ROM, você precisará de um disquete e uma unidade de disquete para fazer a instalação via NFS através de uma rede. Além disso também é necessário uma placa de rede para esse tipo de instalação. Para maiores informações consulte a seção NFS.

O espaço em disco necessário, é um pouco complicado especificar. O espaço recomendado para uma instalação mínima é de 1GB, mas caso você faça uma instalação completa você irá precisar cerca de 2Gb de espaço em disco e mais um espaço para armazenar seus arquivos pessoais. A maioria dos usuários não fazem a instalação completa. O fato é que muitos usuários instalam o Slackware em um disco realmente pequeno com 100Mb de espaço.

O Slackware pode ser instalado em sistemas com pouca memória RAM, discos rígidos pequenos e CPUs com pouco poder de processamento, porém isso necesita de um pouco de trabalho. Se este for o seu caso, leia o arquivo LOWMEM.TXT localizado na árvore da distibuição, para obter algumas dicas úteis.

3.2.1. As Séries do Software

Por razões de simplicidade, os softwares (pacotes) que acompanham o Slackware são divididos em séries. Essas séries são chamadas de conjunto de discos devido terem sido planejadas para a instalação do sistema através de disquetes, porém hoje essas séries são usadas basicamente para categorizar os pacotes incluso no Slackware. Hoje não é mais possível fazer a instalação apenas com disquetes.

A seguir você encontra uma breve descrição de cada série de pacotes.

Série dos Pacotes

Série Conteúdo
A Base do Sistema. Contêm uma grande parte dos softwares utilizados para se ter um sistema básico funcionando. Isso contêm um editor de textos e um programa simples de comunicação.
AP Diversos aplicativos que não necessitam de um Servidor X.
D Ferramentas de desenvolvimento de programas. Compiladores, debugadores, interpretadores e a grande parte das man pages.
E GNU Emacs.
F FAQs, HOWTOs e outros tipos de documentação.
GNOME O ambiente gráfico GNOME.
K O código fonte do kernel do Linux.
KDE O ambiente gráfico K. Um ambiente gráfico que possui muitas características visuais em comum com o MacOS e o Windows. A biblioteca Qt, requerida para este ambiente, também é encontrada nesta série.
KDEI Pacotes de internacionalização para o ambiente KDE.
L Bibliotecas. Bibliotecas dinâmicas lincadas necessárias para muitos outros programas.
N Programas de Rede. Daemons, programas de e-mail, telnet, leitor de news e alguns outros.
T Sistema de formatação de documentos teTeX.
TCL Ferramenta de Linguagem de comando. Tk, TclX, e TkDesk.
X Sistema base para o X Window.
XAP Aplicações gráficas que não fazem parte de um ambiente de desktop principal (como por exemplo: Ghostscript e Netscape).
Y Jogos de console BSD

3.2.2. Métodos de Instalação

Disquete

Quando era possível, O Slackware Linux era instalado com apenas dois disquetes, porém o tamanho dos pacotes de alguns softwares cresceram (especificamente alguns softwares) então houve o abandono forçado da instalação via disquete. Até a versão 7.1, era possível fazer uma parte da instalação utilizando disquetes. As séries A e N podiam ser totalmente instaladas, o que fornecia um sistema básico para instalar o restante da distribuição. Caso você for utilizar um disquete para instalar (em um equipamento mais velho), é recomendável que você utilize uma versão mais antiga. Para esse tipo de equipamento é recomendado as versões 4.0 (a mais popular para isso) e a 7.0 do Slackware.

Observe que o disquete ainda é utilizado para realizar o boot, quando isso não é possível através de uma unidade de CD-ROM, ou quando se utiliza a instalação via NFS.

CD-ROM

Se você tiver um CD bootável, criado pela Slackware Linux, Inc. (veja a seção Obtendo o Slackware) a instalação ficará mais fácil para você. Caso contrário, você poderá utilizar um disquete de boot. Caso, você tenha um hardware específico, um disco de boot específico poderá ser utilizado.

A partir da versão 8.1, um novo método de criação de CDs de BOOT foi adotado, que não trabalha com algumas BIOS (esse problema é enfrentado por todas distribuições Linux atualmente). Se este for o seu caso, recomendamos que você utilize um disquete.

Veja a seção 3.2.3 e a seção 3.2.5 fornecem informações de como criar um disquete de boot, caso seja necessário.

NFS

NFS (Sistemas de Arquivos de Rede) é uma maneira de utilizar sistemas de arquivos em máquinas remotas. A instalação via NFS permite que você instale o Slackware à partir de uma outra máquina de sua rede. A máquina que você estiver utilizando para a instalação precisa ser configurada de modo a exportar a árvore de distribuição do Slackwware para a máquina que você está instalando. Isto, naturalmente, requer um certo conhecimento do NFS, que é coberto na seção Network File System (NFS)

Também é possível executar o NFS através de um método como o PLIP (sobre uma porta paralela), SLIP, e PPP (exceto sobre uma conexão via modem). Entretanto, é recomendável que você utilize uma placa de rede. Apesar de tudo, instalar um sistema através de uma porta paralela é algo muito lento.

3.2.3. Disco de Boot

O disco de boot é um disquete utilizado para iniciar a instalação. Ele contêm uma imagem compactada do Kernel que é utilizada para controlar o hardware durante a instalação. Ao menos que você esteja utilizando um CD, este disco é necessário. Os discos de boot são localizados no diretório bootdisks/ da árvore da distribuição.

Existem diversos discos de boot que você pode utilizar (são aproximadamente 16). A lista completa dos discos de boot e a descrição completa de cada um são encontradas no arquivo bootdisks/README.TXT localizado na árvore da distribuição. Entretanto, a maioria das pessoas utilizam a imagem bare.i (para dispositivos IDE ou scsi.s (para dispositivos SCSI) para o boot.

Veja a seção 3.2.3 - Disco de Boot para instruções de como fazer um disco de boot.

Após o boot, um prompt de comando solicitará que você insira o disco de root.

3.2.4. Disco de Root

Os discos de root contêm o programa de instalação e um sistema de arquivos que é utilizado durante a instalação. Também são necessários. As imagens do disco de root são encontradas na árvore da distribuição. Você terá que fazer dois discos de root, install.1 e install.2. Aqui, você também pode encontrar os discos network.dsk, pcmcia.dsk, rescue.dsk, e sbootmgr.dsk.

3.2.5. Disco Complementar

Um disco complementar é necessário caso você utilize uma instalação via NFS ou se você tiver um cartão PCMCIA. Os discos complementares são encontrados no diretótio raíz da árvore de distribuição, com os nomes network.dsk e pcmcia.dsk. Recentemente, outros discos complementares como rescue.dsk e sbootmgr.dsk foram adicionados. O disco de restauração é uma imagem pequena que funciona com 4MB de RAM. Inclui alguns utilitários básicos de rede e o editor vi para reparos rápidos. O disco sbootmgr.dsk é utilizado para carregar outros dispositivos. Use este disco se o seu CD-ROM bootável não quiser dar boot com os CDs do Slackware. Ele pedirá outras opções de boot e pode ser uma forma conveniente de contornar uma BIOS com bugs.

O disco de root irá instruí-lo a usar discos complementares quando ele for carregado.

3.2.6. Criando os discos

Caso tenha escolhido uma imagem de boot, você necessita de um disquete. Dependendo do sistema que está usando para criar os discos, o processo será diferente. Se você estiver utilizando um Linux (ou um outro sistema Unix) você utilizará o comando dd(1). Suponhamos que você esteja usando a imagem bare.i e a sua unidade de disquete é o /dev/fd0, o comando que você deverá utilizar para criar um disquete com a imagem bare.i é:

$ dd if=bare.i of=/dev/fd0

Se estiver utilizando um sistema operacional Microsoft, você precisará do programa RAWRITE.EXE, que está incluso no mesmo diretório das imagens de disquete. Suponhamos que esteja usando a imagem bare.i e o seu dispositivo de disquete é a unidade A:, abra o prompt do DOS e digite:

C:\ rawrite a: bare.i

3.3. Particionamento

Após a inicialização com a sua mídia preferida, será necessário particionar o seu disco rígido. A partição do disco é onde o sistema de arquivos do Linux será criado e onde o Slackware será instalado. Recomendamos a criação de, no mínimo, duas partições; uma para o seu sistema de arquivos root (/) e uma para a área de troca (swap).

Quando terminar o carregamento do disco de root, aparecerá um prompt de login. Entre no sistema como root (sem senha). No prompt do shell, execute cfdisk(8) ou fdisk(8). O programa cfdisk possui uma interface mais amigável do que o programa fdisk, mas lhe faltam alguns recursos. Segue abaixo uma rápida explicação do programa fdisk.

Comece executando o fdisk para o seu disco rígido. No Linux, em vez dos discos rígidos possuírem letras de drive, eles são representados por um arquivo. O primeiro disco rígido IDE (primário master) é /dev/hda, o primário slave é /dev/hdb, e assim por diante. Discos SCSI seguem o mesmo sistema, mas no formato /dev/sdX. Inicie o fdisk informando o seu disco rígido:

# fdisk /dev/hda

Como em todos os bons programas para o Unix, o fdisk mostra um prompt (pensou que haveria um menu, não foi?). A primeira coisa que você deve fazer é examinar o seu esquema de partições atual. Faça isso digitando p** no prompt do fdisk:

Command (m for help): p

Serão exibidos todos os tipos de informações sobre o seu sistema de partições atual. A maioria das pessoas seleciona uma unidade livre para a instalação e então remove as partições existentes para dar espaço para as partições do Linux.

AVISO: É EXTREMAMENTE IMPORTANTE FAZER UMA CÓPIA DE SEGURANÇA (BACKUP) DE TODAS AS INFORMAÇÕES QUE VOCÊ QUEIRA MANTER, ANTES DE REMOVER A PARTIÇÃO ONDE ELAS ESTÃO ARMAZENADAS.

Não existe uma forma fácil de recuperar dados de uma partição removida, portanto sempre faça uma cópia de segurança (backup) antes de alterá-las.

Na tabela de informações da partição há um número da partição, o tamanho, e o tipo. Há mais informações, mas não se preocupe com isso por enquanto. Removeremos todas as partições deste drive para criar as do Linux. Digitamos d para removê-las:

Command (m for help): d Partition number (1-4): 1

Repita este processo para cada uma das partições. Após removê-las, estaremos prontos para criar as do Linux. Decidimos criar uma partição para o nosso sistema de arquivos root e uma para o swap. Observe que os esquemas de particionamento do Unix são a causa de acaloradas discussões, e que a maioria dos usuários lhe dirá qual a melhor forma. No mínimo, crie uma partição para o / e uma para swap. Com o tempo, você desenvolverá uma metodologia que funcione bem para você.

Eu uso dois esquemas básicos de particionamento. O primeiro é para um desktop. Faço 4 partições, /, /home, /usr/local, e swap. Assim posso re-instalar ou atualizar tudo que está instalado em / sem remover os meus arquivos de dados no /home ou os meus aplicativos personalizados compilados no /usr/local. Em servidores, geralmente substituo a partição /usr/local por uma partição /var. Muitos servidores diferentes armazenam informações nesta partição e mantê-la separada do / traz benefícios quanto ao desempenho. Por enquanto, vamos ficar com apenas estas duas partições: / e swap.

Agora podemos criar as partições com o comando n:

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4):1

First cylinder (0-1060, default 0):0

Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M

Assegure-se de ter criado partições primárias. A primeira partição será a nossa partição swap. Diremos ao fdisk para tornar a partição número 1 uma partição primária. Ela começará no cilindro 0 e, para o cilindro final, digitamos +64M. Isto criará uma partição de 64 megabytes para swap. (Na verdade, o tamanho da partição de swap depende da quantidade de RAM do seu sistema. Por convenção se usa uma partição de swap com o dobro do tamanho da RAM do seu sistema.) Então, definimos a partição primária número 2 começando no primeiro cilindro disponível e indo até o final do drive.

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4):2

First cylinder (124-1060, default 124):124

Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060

Está quase pronto. Precisamos alterar o tipo da primeira partição para tipo 82 (Linux swap). Digite t para alterar o tipo, selecione a primeira partição, e digite 82. Antes de gravar as suas alterações em disco, dê uma última olhada na nova tabela de partições. Use o p no fdisk para exibir a tabela de partições. Se tudo parecer estar bem, digite w para salvar as suas alterações e sair do fdisk.

3.4. O programa setup

Uma vez criada as partições, você está pronto para instalar o Slackware. O próximo passo da instalação é executar o programa setup. Para executá-lo simplesmente digite setup no prompt. O setup possui um sistema de menu na qual permite que você instale os pacotes do Slackware e configure seu sistema.

O processo de instalação é algo do tipo: Selecione as opções de acordo como elas são listadas no programa setup. (É claro que você pode mudar a ordem de escolha das opções, não seguindo passo-a-passo o programa.) Os itens do menu são selecionados usando as teclas seta para cima e seta para baixo, e os botões Okay e Cancel são usados para proseguir ou para voltar. Como alternativa, você pode escolher a opção desejada, teclando a letra correspondente destacada do menu para cada opção. Para selecionar as opções (estas são indicadas com [X]) utiliza-se a barra de espaço.

É claro que você pode ver mais descrições na seção help do setup, porém acreditamos que o seu tempo vale dinheiro.

3.4.1. HELP

Caso seja a primeira vez que você esteja instalando o Slackware, você pode dar uma olhada na tela de ajuda. Assim terá uma descrição de cada parte do programa setup (assim como estamos descrevendo) e instruções para navegação e para o restante da instalação.

3.4.2. KEYMAP

Caso necessite de um teclado diferente do padrão americano qwerty, você deverá alterá-lo nessa seção. Existe uma grande quantidade de modelos de teclado que poderá escolher.

3.4.3. ADDSWAP

Caso você tenha criado uma partição de swap (voltar à seção 3.3), é aqui que você deverá habilitá-la para utilizar. As partições de swap existentes em seu disco serão exibidas automaticamente, permitindo que você selecione, pelo menos uma, para formatar e habilitar.

3.4.4. TARGET

Na seção target você formatará suas partições e mapeará os pontos de montagens dos sistemas de arquivos. Uma lista com as partições de seu disco rígido são mostradas. Para cada partição, poderá escolher formatar ou não. Dependendo do kernel utilizado, você poderá escolher os seguintes sistemas de arquivos reiserfs (padrão), ext3, ext2, jfs e xfs. A maioria das pessoas utilizam reiserfs ou ext3. Em um futuro próximo nós poderemos ter o suporte à reiserfs4.

A partição a ser selecionada é onde o sistera root (/)deverá ser instalado. Após isso, você poderá escolher e mapear cada partição para cada sistema de arquivos de acrodo com a sua escolha. (Por exemplo, você pode querer que a sua terceira partição /dev/hda3, seja o sistemas de arquivos para o home. Isto é apenas um exemplo; crie os pontos de montagens de acordo com o seu gosto.)

3.4.5. SOURCE

A seção Source é onde selecionamos a mídia a partir da qual o Slackware será instalado. Atualmente, há quatro opções disponíveis. São elas: CD-ROM, uma partição no disco rígido, NFS, ou um diretório pré-montado.

A opção CD-ROM permite a instalação a partir de um CD-ROM. Há a opção de procurar automaticamente um drive de CD-ROM ou exibir uma lista da qual pode-se escolher o tipo do drive. Assegure-se de ter o CD do Slackware no seu drive antes de começar a busca.

A opção NFS pede informações da sua rede e de seu servidor NFS. O servidor NFS já deve estar configurado. Note também que não é possível usar nomes de máquina (hostnames), deve-se usar endereços IP tanto para a sua máquina, quanto para o servidor NFS (não há um serviço de resolução de nomes no disco de instalação). Naturalmente, deve ser usado o disquete network.dsk para dar suporte para a sua placa de rede.

O diretório pré-montado oferece maior flexibilidade. Use este método para instalar a partir de dispositivos como Jaz disks, pontos de montagem NFS sobre PLIP, e sistemas de arquivos FAT. Monte o sistema de arquivos em um local de sua escolha antes de executar a instalação, e então especifique esse local aqui.

3.4.6. SELECT

A seção Select permite escolher as séries de software que desejamos instalar. Essas séries são descritas na seção 3.2.1. Note que é obrigatória a instalação da série A para ter um sistema base funcional. Todas as outras séries são opcionais.

3.4.7. INSTALL

Considerando que tenhamos passado pelas seções "target", "source", and "select", a seção install permite selecionar pacotes dentre as séries de software escolhidas. Se não, pedirá que você volte e complete as outras seções do programa de instalação. Esta seção permite escolher dentre seis diferentes métodos de instalação: //full, newbie, menu, expert, custom, e tag path.

A opção full (completo) instala todos os pacotes das séries escolhidas na seção select. Não há mais perguntas. Este é o método de instalação mais fácil, já que não é necessário tomar quaisquer decisões quanto aos pacotes a instalar de fato. É claro que esta opção também é a que ocupa maior espaço no disco rígido.

A próxima opção é newbie (novato). Esta opção instala todos os pacotes requeridos pelas séries selecionadas. Em todos os outros pacotes há um prompt onde podemos selecionar Yes (sim), No (não), ou Skip (pular). Yes e No fazem o óbvio, enquanto Skip pula para a próxima série de software. Além disso, é exibida uma descrição e o tamanho de cada pacote para ajudar a decidir se o mesmo é necessário. Recomendamos esta opção para os novos usuários, já que ela assegura que os pacotes desejados sejam instalados. Contudo, ela é um pouco mais lenta devido às perguntas.

Menu é uma versão mais rápida e mais avançada da opção newbie. Em cada série, aparece um menu, a partir do qual pode-se selecionar todos os pacotes não requeridos que se deseja instalar. Os pacotes requeridos não aparecem nesse menu.

Para os usuários mais avançados, a instalação oferece a opção expert. Isto permite total controle sobre quais pacotes são instalados. É possível remover da seleção pacotes que são absolutamente necessários, o que resulta em um sistema entrar em colapso. Por outro lado, é possível controlar exatamente o que entra em seu sistema. Simplesmente selecione os pacotes de cada série que deseja que sejam instalados. Isto não é recomendado para os novos usuários, já que é muito fácil dar um tiro no próprio pé.

As opções custom e tag path também são para usuários avançados. Estas opções permitem a instalação com base em tag files personalizados criados na árvore da distribuição. Isto é útil para se instalar um grande número de máquinas rapidamente. Para maiores informações sobre o uso de tag files, veja a seção 18.4.

Após escolher o seu método de instalação, uma coisa ou outra abaixo vai acontecer. Se tiver selecionado full ou menu, uma tela com um menu aparecerá, permitindo a seleção dos pacotes a ser instalados. Se tiver selecionado full, os pacotes começarão a ser instalados no destino imediatamente. Se tiver selecionado newbie, os pacotes serão instalados até que se alcance um pacote opcional. Observe que é possível que o espaço em disco acabe durante a instalação. Se selecionar pacotes demais para a quantidade de espaço livre no dispositivo alvo, você terá problemas. É mais seguro selecionar alguns programas e adicionar mais depois, se necessário. Isto pode ser feito facilmente usando as ferramentas de gerenciamento de pacotes do Slackware. Para maiores informações, veja a seção 18.

3.4.8. CONFIGURE

A seção configure permite fazer algumas configurações básicas do sistema, agora que os pacotes já foram instalados. O que você vê depende em grande parte de que programas foram instalados. Contudo, sempre será exibido o conteúdo abaixo:

3.4.8.1. Kernel selection (Seleção do kernel)

Aqui você deverá escolher um kernel para ser instalado. Você pode instalar o kernel do disco de boot usado na instalação, do CD-ROM do Slackware, ou de outro disquete que você (sempre se antecipando) tiver preparado. Ou você pode decidir pular, sendo que então o kernel padrão será instalado e o processo continuará.

3.4.8.2. Make a boot disk (Fazer um disco de boot)

Provavelmente será uma boa idéia fazer um disco de boot para usar no futuro. Você terá a opção de formatar um disquete e, então, criar um dos dois tipos de disco de boot. O primeiro tipo, simple (simples), simplesmente (como é de se esperar) grava um kernel no disquete. Uma opção mais flexível (e altamente recomendada) é lilo, que, é claro, cria um disco de boot do lilo. Veja LILO na seção 7.1 para maiores informações. É claro, você também pode decidir simplesmente continuar, de modo que não será criado um disco de boot.

3.4.8.3. Modem

Serão solicitadas informações sobre o seu modem. Mais especificamente, se você possui um modem, e, se possuir, em qual porta serial ele está.

As próximas sub-seções de configuração podem aparecer ou não, dependendo se os seus pacotes correspondentes tiverem sido instalados.

3.4.8.4. Timezone (Fuso horário)

Aqui é bem direto: será perguntado em qual fuso horário você está. Se estiver no horário Zulu, sentimos muito; a lista (extremamente longa) está em ordem alfabética, e você está no final dela.

3.4.8.5. Mouse

Esta sub-seção simplesmente pergunta que tipo de mouse você tem, e se você quer ter suporte ao mouse no console com o gpm(8) habilitado na inicialização.

3.4.8.6. Hardware clock (Relógio de hardware)

Esta sub-seção pergunta se o relógio de hardware do seu computador está ajustado no Tempo Universal Coordenado (UTC ou GMT). A maioria dos PCs não estão, então provavelmente você deve dizer "no" (não).

3.4.8.7. Font

A sub-seção font permite que se escolha dentre de uma lista de fontes personalizadas para o console.

3.4.8.8. LILO

Aqui é perguntado sobre a instalação do LILO (o LInux LOader; veja a seção 7.1 para maiores informações).

Se o Slackware for o único sistema operacional em seu computador, a opção simple (simples) deve funcionar perfeitamente. Se houver dual-boot, a opção expert é uma melhor escolha. Veja a seção 7.5 para maiores informações sobre dual-boot. A terceira opção, do not install (não instalar), não é recomendada, a não ser que você saiba o que está fazendo e que tenha uma ótima razão para não instalar o LILO. Se o modo de instalação for "expert", você poderá escolher onde o LILO será instalado. O LILO pode ficar na MBR (Master Boot Record) do seu disco rígido, no superbloco da sua partição raíz do Linux, ou em um disquete.

3.4.8.9. Network

Na verdade, a sub-seção de configuração network é o netconfig. Veja a seção 5.1 para maiores informações.

3.4.8.10. X Window Manager (Gerenciador de Janelas do X)

Esta sub-seção permite a escolha de um gerenciador de janelas padrão para o X. Veja seção 5.1 para maiores detalhes sobre o X e gerenciadores de janelas.

Não importa quais pacotes tenham sido instalados, a última coisa que será feita na seção configure será perguntar se você quer continuar e criar uma senha para o root . Por razões de segurança, provavelmente está será uma boa idéia; todavia, como tudo mais no Slackware, você decide.


4. Configuração do Sistema

Antes de você poder configurar as partes mais avançadas do seu sistema, é uma boa idéia entender como o sistema é organizado e que comandos podem ser utilizados para procurar por arquivos e programas. É bom saber também, se você precisará compilar um kernel otimizado e quais os passos que deverão ser seguidos. Este capítulo irá familiarizá-lo com a organização do sistema e a configuração de arquivos. Assim, você poderá avançar na configuração das partes mais avançadas do sistema.

4.1. Visão Geral do Sistema

É importante entender como um sistema Linux é montado antes de mergulhar nos vários aspectos de sua configuração. Um sistema Linux é significativamente diferente de um sistema DOS, Windows ou de um sistema Macintosh (com a exceção do Mac OS X que é baseado no Unix), mas estas seções o ajudarão a ficar familiarizado com o seu layout, de modo que você facilmente poderá configurar seu sistema para as suas necessidades.

4.1.1. Layout do Sistema de Arquivos

A primeira diferença marcante entre o Slackware Linux e um sistema DOS ou Windows é o sistema de arquivos. Logo de início, não são utilizados letras para os drivers, para identificar as diferentes partições. Sob o Linux, existe apenas um único diretório principal. Você pode relacionar isto com o drive C: do ambiente DOS. Cada partição em seu sistema é montado como um diretório dentro do diretório principal. É como se você tivesse um disco rígido expansível.

Chamamos o diretório principal de diretório root (ou raíz), e o mesmo é representado por uma barra (/). Este conceito pode soar estranho, mas isso torna sua vida mais fácil quando você quer adicionar mais espaço. Por exemplo, vamos dizer que você ficou sem espaço em disco no diretório /home. Muitas pessoas ao instalarem o Slackware criam uma única partição raiz. Bem, como uma partição pode ser montada para qualquer diretório, você só precisa ir até a loja mais próxima e comprar um disco rígido novo e montá-lo como /home. Você agora colocou mais espaço em seu sistema. E tudo sem precisar mover nada de lugar.

Abaixo, você irá encontrar as descrições dos diretórios mais importantes sob o Slackware.

bin - Programas essenciais para os usuários são armazenados aqui. Isso representa um conjunto mínimo de programas requeridos pelo usuário para a utilização do sistema. Coisas como o shell e os comandos do sistema de arquivos (ls, cp, e assim por diante) são armazenados aqui. O diretório /bin também não recebe modificação após a instalação. Se isso acontecer, é na forma de atualização de pacotes que fornecemos.

boot - Arquivos que são utilizados pelo Linux Loader (LILO). Esse diretório também recebe pequenas modificações após a instalação. O kernel é armazenado aqui desde a versão 8.1 do Slackware. Em versões anteriores do Slackware, o kernel era simplesmente armazenado sob o diretório / , porém a prática comum é montar o kernel e os arquivos relacionados aqui, para facilitar o dual-booting (ou boot duplo).

dev - Tudo no Linux é tratado como arquivo, inclusive dispositivos de hardware como as portas seriais, discos rígidos, e scanners. Em ordem de acessar esses dispositivos, um arquivo especial chamado de dispositivo de conexão tem de estar presente. Todos os dispositivos de conexão são armazenados no diretório /dev. Você vai descobrir que isso é verdade através dos muitos sistemas operacionais baseados em Unix.

etc - Esse diretório mantém os arquivos de configuração do sistema. Todos os arquivos de configuração do X Window, o banco de dados do usuário, até o sistema de inicialização de scripts. Com o tempo, o administrador do sistema ficará bastante familizado com este diretório.

home - O Linux é um sistema operacional multi-usuário. A cada usuário no sistema é dado uma conta e um diretório único para seus arquivos pessoais. Este diretório é chamado de diretório raíz do usuário. O diretório /home é fornecido como localização padrão para os diretórios raíz do usuário.

lib - As bibliotecas do sistema que são necessárias para operações básicas do sistema são armazenadas aqui. A biblioteca C, o carregador dinâmico, as bibliotecas ncurses e os módulos do kernel estão entre as coisas aqui armazenadas.

mnt - Este diretório contém pontos de montagem temporários para discos rígidos em operação ou drives removíveis. Aqui você encontrará os pontos de montagem para o seus drives de CD-ROM e de disquete.

opt - Pacotes de software opcionais. A idéia por trás do diretório /opt é que cada pacote de software instalado no diretório /opt/pacote de software, que seja fácil de remover depois. O Slackware distribui algumas coisas no diretório /opt (como o KDE em /opt/kde), porém você é livre para adicionar qualquer coisa que queira ao diretório /opt.

proc - Este é um diretório único. Ele não é realmente parte do sistema de arquivos, mas sim um sistema de arquivos virtual que provê acesso as informações do kernel. Vários pedaços de informação que o kernel quer que você conheça são transportados a você através de arquivos no diretório /proc. Você pode enviar informação para o kernel através desses mesmos arquivos. Tente o comando cat /proc/cpuinfo.

root - O administrador do sistema é conhecido como root no sistema. O diretório raíz do usuário root é mantido em /root em vez de /home/root. A razão é simples. O que acontece se o diretório /home estiver em uma partição diferente do diretório / e não puder ser montado? O usuário //root irá querer logar e repara o problema. Se o seu diretório de usuário raíz estiver no sistema de arquivos danificado, será meio difícil para ele conseguir logar-se.

sbin - Programas essenciais que são rodados pelo usuário root e durante o processo de boot do sistema são mantidos aqui. Usuários normais não irão rodar programas neste diretório.

tmp - Local de armazenagem temporária. Todos os usuários possuem acesso de leitura e escrita neste diretório.

usr - Este é o maior diretório em um sistema Linux. Tudo o mais vem aqui, programas, documentação, o código-fonte do kernel, e o sistema X Window. Este é o diretório que você mais irá gostar de estar instalando programas.

var - Arquivos de log do sistema, informações de cache, e arquivos protegidos de programas são armazenados aqui. Este é o diretório para mudanças freqüentes de informação.

Você agora deve ter uma boa noção para quais diretórios contém o que no sistema de arquivos. Informações mais detalhadas sobre o layout do sistema de arquivos estão disponíveis nas páginas de manual do hier(7). A próxima seção irá ajudá-lo a encontrar arquivos específicos com facilidade, então você não precisará fazer isso de forma braçal.

4.1.2. Encontrando Arquivos

Agora você sabe o que cada diretório principal contém, mas isso realmente não ajuda em nada a encontrar coisas. Eu creio que você poderia ir olhando através dos diretórios, porém existem maneiras rápidas de fazer isso. Existem quatro comandos principais de busca de arquivos disponíveis no Slackware.

which

O primeiro é o comando which(1). O comando which é geralmente usado para achar de forma rápida a localização de um programa. Ele apenas procura seu PATH e retorna a primeira instância encontrada e o caminho do diretório do mesmo. Pegue este exemplo: $ which bash /bin/bash

Pelo que você já viu do bash ele está no diretório /bin. Este é um comando de busca muito limitado, já que o mesmo só procura pelo PATH.

whereis

O comando whereis(1) trabalha de forma similar ao comando which, mas pode também procurar por páginas de manual e arquivos fontes. Um comando whereis para procurar pelo programa bash iria retornar:

$ whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz

Este comando não apenas nos diz onde atualmente o programa está localizado, mas também onde a sua documentação online está armazenada. Ainda assim, este comando é limitado. O que aconteceria se você precisasse procurar por um arquivo de configuração específico? Você não poderia utilizar o comando which ou o whereis para isso.

find

O comando find(1) permite ao usuário procurar o sistema de arquivos com um rico arsenal de opções de busca. Usuários poderiam especificar uma busca com espressões regulares no nome do arquivo, alcance de modificações ou tempo de criação, ou outra propriedade avançada. Por exemplo, para procurar pelo arquivo xinitrc padrão em um sistema, o comando a seguir poderia ser utilizado.

$ find / -name xinitrc /var/X11R6/lib/xinit/xinitrc

O comando find irá demorar um pouco no processo, desde que ele vai varrer tudo na árvore de diretórios raíz. E se este comando estiver rodando por um usuário normal, irão aparecer várias mensagens erro de permissão negada para os diretórios em que apenas o usuário root pode ver. Porém se o comando find encontra qualquer arquivo, isto é bom. Se ele pudesse ser pelo menos um pouco mais rápido...

slocate

O comando slocate(1) procura no sistema de arquivos inteiro, assim como o comando find pode fazer, porém ele procura em um banco de dados em vez do atual sistema de arquivos. O banco de dados está programado para ser atualizado toda manhã, então você terá de algum modo uma lista atualizada dos arquivos de seu sistema. Você pode rodar manualmente o comando updatedb(1) para atualizar o banco de dados slocate (antes de rodar na mão o comando updatedb, você precisa primeiro rodar o comando su para virar o usuário root). Aqui está um exemplo do comando slocate em ação:

$ slocate xinitrc # we don't have to go to the root /var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc.twm

Nós conseguimos mais do que estávamos procurando, e de forma rápida também. Com esses comandos, você será capaz de encontrar qualquer coisa que estiver procurando em seu sistema Linux.

4.1.3. O Diretório /etc/rc.d/

Os arquivos de inicialização do sistema são armazenados no diretório /etc/rc.d. O Slackware utiliza o layout estilo BSD para estes arquivos de inicialização ao contrário dos scripts de inicialização do System V, a qual tende a tornar as mudanças na configuração mais difíceis sem estar utilizando um programa especificamente desenhado para esta função. Nos scripts de inicialização do BSD, cada runlevel é um arquivo rc simples. No System V, cada runlevel é dado a seu próprio diretório, a qual contém inúmeros scripts de inicialização. Isto provê uma estrutura organizada que é fácil de manter.

Existem várias categorias de arquivos de inicialização. Estes são o sistema de inicialização, runlevel, inicialização de rede, e a compatibilidade com o System V. Pela tradição, nós iremos amontoar todas as outras coisas em uma nova categoria.

Inicialização do Sistema

O primeiro programa a rodar sobre o Slackware, além do kernel Linux, é o init(8). Este programa lê o arquivo /etc/inittab(5) para ver como carrega o sistema. Ele roda o script /etc/rc.d/rc.S para preparar o sistema antes de ir para o nível de execução desejado. O arquivo rc.S habilita sua memória virtual, monta seu sistema de arquivos, limpa certos diretórios de log, inicializa os dispositivos Plug and Play, carrega os módulos do kernel, configura os dispositivos PCMCIA, ativa as portas seriais, e os scripts de inicialização do System V (se encontrado). Obviamente o rc.S possui muitos recursos, mas existe alguns scripts no diretório /etc/rc.d que o rc.S irá chamar para completar seu trabalho:

rc.S - Este é o atual script do sistema de inicialização.

rc.modules - Carrega os módulos do kernel. Coisas como sua placa de rede, suporte a PPP, e outras coisas são carregadas aqui. Se este script acha o rc.netdevice, correrá tudo bem.

rc.pcmcia - Investiga e configura qualquer dispositivo PCMCIA que você possa ter em seu sistema. Isto é bem útil para usuários de laptops, que provavelmente possuem um modem ou rede PCMCIA.

rc.serial - Configura suas portas seriais rodando os comandos apropriados do setserial.

rc.sysvinit - Procura pelos scripts de inicialização do System V para o runlevel desejado e os inicializa. Este assunto é discutido em maiores detalhes abaixo.

Scripts de inicialização do Runlevel

Após o sistema de inicialização estar completo, o comando init vai para a inicialização do runlevel. Um runlevel descreve o nível em que a sua máquina irá rodar. Isso soa redundante? Bem, o runlevel comunica ao init se você estará aceitando logins de multi-usuários ou apenas de um único usuário, independente se você vai utilizar os serviços de rede ou não, e se você estará utilizando o X Window System ou o comando agetty(8) para manipular os logins. Os arquivos abaixo definem os diferentes runlevels no Slackware Linux.

rc.0 - Desliga o sistema (runlevel 0). Por padrão, este runlevel está linkado ao rc.6.

rc.4 - Inicialização multi-usuário (runlevel 4), porém no X11 com o KDM, GDM, ou XDM como o gerenciador de login.

rc.6 - Reinicializa o sistema (runlevel 6).

rc.K - Inicializa o sistema em modo mono-usuário (runlevel 1).

rc.M - Modo multi-usuário (runlevels 2 e 3), porém com o login em modo texto padrão. Este é o runlevel padrão no Slackware.

Inicialização de rede

Os Runlevels 2, 3, e 4 irão inicializar os serviços de rede. Os seguintes arquivos são responsáveis pela inicialização do sistema:

rc.inet1 - Criado pelo netconfig, este arquivo é responsável pela configuração da atual interface de rede.

rc.inet2 - Roda depois do rc.inet1 e inicializa os serviços de rede básicos.

rc.atalk - Inicializa os serviços AppleTalk.

rc.httpd - Inicializa o servidor Apache. Como alguns outros scripts, este pode ser utilizado para parar e reiniciar um serviço. O rc.httpd toma argumentos de parada, inicio, ou reinicio.

rc.news - Inicializa o servidor de news.

Compatibilidade com System V

A compatibilidade com o System V init foi introduzida no Slackware 7.0. Muitas outras distribuições Linux fazem uso deste estilo, em vez do estilo BSD. Basicamente a cada runlevel é dado um sub-diretório para os scripts do init, do contrário do estilo BSD que dá um script de inicialização para cada runlevel.

O script rc.sysvinit irá procurar por todos os scripts de inicialização do System V que você tenha em /etc/rc.d e inicializá-los, se o runlevel for apropriado. Isto é útil para certos pacotes de software que instalam os scripts de inicialização no System V.

Outros Arquivos

Os scripts descritos abaixo são os outros scripts de inicialização do sistema. Eles são rodados tipicamente de um dos principais scripts descritos acima, então tudo de que você precisa fazer é editar seus conteúdos.

rc.gpm - Inicializa os serviços de habilitação do mouse. Permite que você possa copiar e colar no console do Linux. Ocasionalmente, o gpm irá causar problemas para o mouse quando for usado sobre o X Windows. Se você tiver problemas com o uso do mouse no X, tente tirar a permissão de execução deste arquivo parando o servidor gpm.

rc.font - Carrega as fontes customizáveis para o console.

rc.local - Contém todos os comandos específicos de inicialização do seu sistema. Ele fica vazio depois de uma instalação limpa, esta reservado para administradores locais. Este script é inicializado após todas as outras inicializações terem sido realizadas.

Para habilitar um script, tudo que você precisa fazer é adicionar permissões de execução a ele com o comando chmod. Para desabilitar um script, remova a permissão de execução do mesmo. Para maiores informações sobre o comando chmod, veja a seção 9.2.

4.2. Selecionando um Kernel

O kernel é a parte do sistema operacional que provê acesso ao hardware, controle de processos, e todo o sistema de controle. O kernel contém suporte para seus dispositivos de hardware, então escolher um kernel para o seu sistema é um passo muito importante.

O Slackware provê mais de uma dúzia de kernels pré-compilados que você poderá utilizar, cada qual com um conjunto padrão de drivers genéricos e alguns drivers específicos. Você pode rodar um dos kernels pré-compilados ou pode construir seu próprio kernel a partir do código-fonte. Seja qualquer uma das opções que for escolhida, você precisará ter certeza que o seu kernel tenha o suporte ao hardware que você possui.

4.2.1. O diretório /kernels no CD-ROM do Slackware

Os kernels pré-compilados estão disponíveis no diretório /kernels no CD-ROM do Slackware ou no site de FTP no diretório principal do Slackware. Os kernels disponíveis mudam sempre que novas versões são lançadas, então a documentação em cada diretório é o código-fonte do mesmo. O diretório /kernels possui sub-diretórios para cada kernel disponibilizado. Os sub-diretórios possuem o mesmo nome que o seu disco de boot que o acompanha. Em cada sub-diretório você irá encontrar os seguintes arquivos:

Arquivo Propósito
System.map O arquivo de mapas do sistema para este kernel
bzImage A imagem do kernel atual
config O arquivo-fonte de configuração para este kernel

Para utilizar um kernel, copie os arquivos System.map e config para o seu diretório /boot e copie a imagem do kernel para /boot/vmlinuz. Rode o /sbin/lilo(8) para instalar o LILO para este novo kernel, e então reinicie seu sistema. Isso é tudo que há para instalar um novo kernel.

Os kernels que terminam com um .i são kernels IDE. Sendo assim, eles não incluem suporte a SCSI na base do seu kernel. Os kernels que terminam com .s são kernels com suporte a SCSI. Eles incluem todo o suporte a IDE, como nos kernels terminados em .i, além de terem o suporte a SCSI.

4.2.2. Compilando um Kernel a partir do código-fonte

A questão "Devo compilar um kernel para meu sistema?" é sempre questionado por usuários novatos. A resposta é sempre talvez. Existem poucas ocasiões onde você irá precisar compilar um kernel específico para o seu sistema. A maioria dos usuários pode utilizar um kernel pré-compilado e seus módulos carregáveis para terem um sistema totalmente funcional. Você irá querer compilar um kernel para o seu sistema apenas se você precisar fazer um upgrade de seu atual kernel para um que não esteja atualmente disponibilizado para o slcakware, ou se você estiver adicionando novas funcionalidades ao seu kernel para dar suporte a um hardware específico, que não esteja presente no código nativo no código-fonte do seu kernel. Qualquer um com um sistema SMP definitivamente irá querer compilar um kernal com suporte a SMP. Também, muitos usuários acham que um kernel customizado rodará. Você achará útil compilar o kernel com otimizações para o processador específico de sua máquina.

Construir seu próprio kernel não é tão difícil assim. O primeiro passo é ter certeza que você tem o código-fonte do kernel instalado no seu sistema. Tenha certeza de ter instalado os pacotes da série K durante o processo de instalação do seu Slackware. Você irá querer ter certeza que possui a série D instalada, especificamente o compilador C, o GNU make, e o GNU binutils. Em geral, é uma boa idéia ter a série D inteira instalada se você planeja fazer qualquer tipo de desenvolvimento. Você também pode baixar a última versão do código-fonte do kernel disponível em http://www.kernel.org/mirrors.

Compilação do Kernel Linux versão 2.4.x

$ su - Password: # cd /usr/src/linux

A primeira etapa é trazer o código-fonte do kernel ao seu estado de base. Nós emitimos este comando para fazer isso (nota, acredito que você vá querer fazer um backup do arquivo .config já que esse comando irá apagar ele sem nenhum aviso):

# make mrproper

Agora você pode configurar o kernel para o seu sistema. O kernel atual oferece 3 maneiras de fazer isso. A primeira é o original sistema de perguntas-e-respostas em modo texto. Este fará diversas perguntas e, baseado nas suas respostas, irá construir um arquivo de configuração. O problema deste método é se você errar algo, terá de recomeçar tudo do início. O método que a maior parte dos usuários preferem é o de sistema de menu. Por último, existe uma ferramenta de configuração gráfica do kernel. Escolha uma de sua preferência e digite o comando apropriado:

# make config (baseado em texto, versão P&R (Perguntas e Respostas)) # make menuconfig (menu dirigido, versão baseado em texto) # make xconfig (versão baseado em X, certifique-se que você está primeiramente no X)

menu de configuração do kernel

Os usuários novatos provavelmente irão achar o comando menuconfig mais fácil de usar. As telas de ajuda provêm explicações de várias partes do kernel. Após configurar seu kernel, saia do programa de configuração. Ele irá escrever os arquivos de configuração necessários. Agora nós podemos preparar a árvore do código-fonte do kernel para uma construção:

# make dep # make clean

A próxima etapa é compilar o kernel. Primeiro tente emitir o comando bzImage abaixo.

# make bzImage

Isso pode demorar um pouco, dependendo da velocidade de sua CPU. Durante o processo de construção, você poderá ver as mensagens geradas pela compilação. Após construir a imagem do kernel, você irá querer construir todas as partes do kernel que você marcou para serem modulares.

# make modules

Você agora pode instalar o kernel e seus módulos que compilou. Para instalar o kernel em um sistema Slackware, os comandos abaixo devem ser digitados:

# mv /boot/vmlinuz /boot/vmlinuz.old # cat arch/i386/boot/bzImage > /vmlinuz # mv /boot/System.map /boot/System.map.old # cp System.map /boot/System.map # make modules_install

Você irá querer editar o arquivo /etc/lilo.conf e adicionar uma seção para a inicialização de seu kernel antigo em caso do novo kernel não funcionar. Após ter feito isso, execute o comando /sbin/lilo para instalar o novo bloco de inicialização. Você agora já pode reiniciar com o seu novo kernel.

Kernel Linux Versão 2.6.x

A compilação do kernel 2.6 kernel é levemente diferente do kernel 2.4 ou 2.2, mas é importante que você entenda as diferenças antes de pesquisar. Não é mais necessário rodar os comandos make dep e make clean. Também, o processo de compilação do kernel não é mais em modo descritivo na série 2.6. Isso resulta em uma construção de processos de fácil entendimento, porém tem seus contras. Se você tiver problemas na construção do kernel, é altamente recomendado que você habilite o modo descritivo de novo. Você pode fazer isso modificando a opção V=1 na construção. Isso permite a você ter mais informações da saída da compilação que poderá ajudar um desenvolvedor de kernel ou outro amigo entendido a te ajudar na resolução deste problema.

# make bzImage V=1

4.2.3. Utilizando os Módulos do Kernel

Os módulos do kernel é outra definição para os drivers de dispositivo que podem ser inseridos em um kernel em uso. Eles permitem a você extender o suporte ao hardware pelo seu kernel sem precisar usar outro kernel ou mesmo compilar um novo.

Os módulos podem também ser carregados e descarregados a qualquer hora, mesmo se o sistema estiver rodando. Isso torna a atualização de drivers mais fácil para os administradores de sistema. Um novo módulo pode ser compilado, um antigo removido, e o novo ser carregado em seu lugar, tudo isso sem precisar reiniciar sua máquina.

Os módulos são armazenados no diretório /lib/modules/versão do kernel do seu sistema. Eles podem ser carregados na inicialização do sistema através do arquivo rc.modules. Este arquivo é muito bem documentado e oferece exemplos para a maior parte dos componentes de hardware. Para ver a lista dos módulos atualmente ativos, utilize o comando lsmod(1):

# lsmod Module Size Used by parport_pc 7220 0 parport 7844 0 [parport_pc]

Você pode ver aqui que eu só tenho o módulo da porta paralela carregado. Para remover um módulo, você usa o comando rmmod(1). Os módulos podem ser carregados pelos comandos modprobe(1) ou insmod(1). modprobe é normalmente mais seguro porque ele irá carregar qualquer módulo dos disponíveis que possuam dependências com o carregamento atual.

Vários usuários nunca tiveram que carregar ou descarregar módulos de kernel na mão. Eles utilizam o auto-carregamento do kernel para o gerenciamento de módulos. Por padrão, o Slackware inclui o kmod em seu kernel. O kmod é uma opção do kernel que habilita o kernel para carregar automaticamente os módulos que são requisitados. Para maiores informações sobre o kmod e como ele é configurado, veja o arquivo /usr/src/linux/Documentation/kmod.txt. Você irá precisar do pacote de código-fonte do kernel, ou baixar o código-fonte do kernel de http://kernel.org.

Maiores informações podem ser encontradas nas páginas de manual para cada um desses comandos, além do arquivo rc.modules.


5. Configuração de Rede

5.1. Introdução: netconfig é seu amigo.

Quando você instala inicialmente o Slackware, o programa setup chama o programa netconfig. O netconfig tem como objetivo realizar para você as seguintes funções:

Em geral o netconfig irá realizar cerca de 80% do trabalho de configurar sua conexão de rede LAN, se você permitir. Recomenda-se fortemente que você revise seus arquivos de configuração por duas razões:

5.2. Configuração do Hardware de Rede

Uma vez que seu desejo é conectar sua máquina com o Slackware em algum tipo de rede, a primeira coisa que você precisará é de uma placa de rede compatível com o Linux. Você precisa ter um pouco de cuidado e se certificar de que sua placa é verdadeiramente compatível com o Linux (por favor, consulte o Projeto de Documentação do Linux e/ou a documentação do kernel para informações sobre o status atual da placa de rede que você deseja utilizar). Via de regra você ficará, provavelmente muito surpreso com o número de placas de rede suportadas sob os kernels mais modernos. Tendo dito isso, sugerimos ainda que você consulte algumas das várias listas de hardwares compatíveis com o Linux (como por exemplo The GNU/Linux Beginners Group Hardware Compatibility Links e The Linux Documentation Project Hardware HOWTO) que estão disponíveis na Internet antes de comprar sua placa. Um pequeno tempo extra gasto em pesquisa podem economizar dias ou até semanas tentando resolver problemas com placas não compatíveis totalmente com o Linux.

Quando você visitar as listas de Hardware Compatível com o Linux disponíveis na Internet, ou quando consultar a documentação do kernel instalado na sua máquina, preste atenção em qual módulo que você irá precisar para suportar sua placa de rede.

5.2.1. Carregando os Módulos de Rede

Os módulos do kernel são carregados durante a inicialização do sistema são carregados pelo arquivo rc.modules, /etc/rc.d, ou pelo carregador automático de módulos do kernel iniciado pelo /etc/rc.d/rc.hotplug. O arquivo rc.modules padrão inclui uma seção de suporte a periféricos de rede. Se você abrir o rc.modules e procurar por esta seção, poderá notar que ele verifica inicialmente a existência do arquivo executável rc.netdevice em /etc/rc.d/. Esse script é criado se a tentativa de auto-configuração do periférico de rede executada pelo setup obteve sucesso durante a instalação.

Abaixo do bloco do "if" está uma lista de periféricos de rede e linhas com o comando modprobe comentadas. Procure o seu periférico e descomente a linha com o modprobe correspondente, e então salve o arquivo. Rodar o rc.modules como root irá, a partir de agora, carregar o driver do seu periférico de rede (assim como qualquer outro módulo listado e não comentado). Note que alguns módulos (como o do driver ne2000) precisam de parâmetros; tenha certeza que você selecionou a linha correta.

5.2.2. Placas de Rede Local (10/100/1000Base-T and Base-2)

Esse subtítulo abrange todas as placas de rede internas ISA ou PCI. Drivers para essas placas são acessados via módulos carregáveis do kernel conforme dito no parágrafo anterior. É possível que o /sbin/netconfig tenha encontrado e configurado com sucesso sua placa no seu arquivo rc.netdevice. Se isso não ocorreu o problema mais provável deve ser o carregamento do módulo incorreto para a placa em questão (não são conhecidos casos onde para diferentes gerações de um mesmo tipo/família de placas de um mesmo fabricante sejam necessários módulos diferentes). Se você têm certeza que o módulo que você quer carregar é o correto, sua próxima melhor ação seria consultar a documentação do módulo para verificar se o módulo exige ou não algum(uns) parâmetro(s) específico(s) no momento em que o módulo é iniciado.

5.2.3. Modems

Assim como as placas de redes locais, modems podem ter várias opções de barramento suportadas. Até pouco tempo atrás a maioria dos modems eram placas com barramento ISA, de 8 ou 16 bits. Graças aos esforços da Intel e de fabricantes de placas-mãe de todo o mundo, finalmente modems ISA fazem parte do passado, sendo comum atualmente que a maioria dos modems sejam modems externos que se conectam por uma porta serial ou USB, ou então modems internos PCI. Se você deseja trabalhar com seu modem no Linux, é de VITAL importância perquisar o modem que você pretende comprar, particularmente se você tem intenção de comprar um modem PCI. Muitos, se não a maioria, dos modems PCI atualmente disponíveis nas prateleiras das lojas são WinModems. WinModems não possuem algumas funções de hardware características dos próprios modems: as funções de responsabilidade desse hardware específico geralmente são descarregadas sobre a CPU pelo driver do modem e pelo sistema operacional Windows. Isso significa que eles não tem a interface serial padrão que o PPPD estará esperando quando você disca para o seu Provedor de Acesso à Internet.

Se você deseja ter absoluta certeza de que o modem que você está comprando irá trabalhar com o Linux, compre um modem de hardware externo que se conecta à porta serial do seu PC. Com toda certeza esses irão trabalhar melhor e apresentar menos problemas para instalar e dar manutenção, em detrimento de precisarem de energia externa e tenderem a custar mais.

Há vários sites que oferecem drivers e assistência para configuração de periféricos baseados em WinModems. Alguns usuários relatam sucessos na configuração e instalação de drivers para vários Winmodems, incluindo os de chipset Lucent, Conexant e Rockwell. Como os softwares necessários para esses periféricos não fazem parte do Slackware, e variam de driver para driver, nós não iremos entrar em detalhes.

5.2.4. PCMCIA

Como parte da instalação do seu Slackware, você terá a oportunidade de instalar o pacote pcmcia (na série "A" de pacotes). Esse pacote contém as aplicações e arquivos de configuração necessários para trabalhar com placas PCMCIA no Slackware. É importante notar que o pacote pcmcia instala apenas o software genérico necessário para trabalhar com placas PCMCIA no Slackware. Ele NÃO instala qualquer driver ou módulo. Os módulos e drivers disponíveis podem ser encontrados no diretório /lib/modules/`uname -r`/pcmcia. Você possivelmente precisará de algumas experiências para encontrar o módulo que irá trabalhar com sua placa de rede. Você precisará editar o arquivo /etc/pcmcia/network.opts (para uma placa Ethernet) ou o /etc/pcmcia/wireless.opts (se você tem uma placa de rede sem fio). Como a maioria dos arquivos de configuração do Slackware, esses dois arquivos são muito bem comentados e isso torna fácil a tarefa de determinar que modificações você precisa fazer.

5.3. Configuração TCP/IP

Nesse momento, sua placa de rede deve estar físicamente instalada no seu computador, e os módulos relevantes do kernel devem estar carregados. Você ainda não estará pronto para se comunicar utilizando sua placa de rede, mas informações a respeito do seu periférico de rede podem ser obtidas com um ifconfig -a.

   # ifconfig -a
  eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
  UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
  TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:100
  RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
  Interrupt:5 Base address:0x8400
  
  lo Link encap:Local Loopback
  inet addr:127.0.0.1 Mask:255.0.0.0
  UP LOOPBACK RUNNING MTU:16436 Metric:1
  RX packets:2234 errors:0 dropped:0 overruns:0 frame:0
  TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)

Se você digitar /sbin/ifconfig, sem a opção -a, pode ser que você não veja a interface eth0, o que indica que sua placa de rede ainda não tem um endereço IP válido ou uma rota.

Uma vez que existem muitas formas diferentes de configurar uma rede, todas elas podem ser reduzidas a dois tipos: Estática e Dinâmica. Redes estáticas são configuradas para que cada nó (nomenclatura geek para objetos que com um endereço IP) sempre tenha o mesmo endereço IP. Redes dinâmicas são configuradas de forma que o endereço IP para cada nó seja controlado por um único servidor, chamado de servidor DHCP.

5.3.1. DHCP

DHCP (Dynamic Host Configuration Protocol ou Protocolo de Configuração Dinâmica de Host), é um método pelo qual um endereço IP pode ser atribuído a um computador quando esse é ligado. Quando o cliente é iniciado, ele envia uma requisição na rede local para que um servidor DHCP lhe atribua um endereço IP. O servidor DHCP tem um conjunto (ou escopo) de endereços IP disponíveis. O servidor irá responder a essa requisição com um endereço IP do seu conjunto, durante um tempo de alocação. Uma vez que o tempo de alocação para o endereço IP dado expire, o cliente precisa contactar novamente o servidor e repetir a negociação.

Então, o cliente aceitará o endereço IP enviado pelo servidor e irá configurar a interface que requireu com o endereço IP. Entretanto, há ainda um macete manual que o cliente DHCP usa para negociar o endereço IP que será a ele atribuído. O cliente irá lembrar seu último endereço IP a ele atribuído, e solicitará ao servidor uma re-atribuição do mesmo endereço IP novamente na próxima negociação. Se possível, o servidor irá atender o pedido, mas se não for, um novo endereço será atribuído. Assim, a negociação se parece com o que segue:

  Cliente: Há algum servidor DHCP disponível na rede local?
  Servidor: Sim, há. Aqui estou eu.
  Cliente: Eu preciso de um endereço IP.
  Servidor: Você pode pegar o 192.168.10.10 por 19200 segundos.
  Cliente: Obrigado.
  
  Cliente: Há algun servidor DHCP disponível na rede local?
  Servidor: Sim, há. Aqui estou eu.
  Cliente: Eu preciso de um endereço IP. Da última vez que conversamos, Eu peguei o 192.168.10.10; 
  Posso pegá-lo novamente?
  Servidor: Sim, pode (ou Não, não pode: pegue o 192.168.10.12 dessa vez).
  Cliente: Obrigado.
  
  

O cliente DHCP no Linux é o /sbin/dhcpcd. Se você carregar o /etc/rc.d/rc.inet1 em seu editor de texto favorito, você irá notar que o /sbin/dhcpcd é chamado mais ou menos no meio do script. Isso irá forçar a o diálogo mostrado acima. O dhcpcd irá também controlar a quantidade de tempo de alocação restante para o endereço IP atual, e irá contactar automaticamente o servidor DHCP com uma requisição para renovação da alocação quando necessário. O DHCP pode ainda controlar informações relacionadas, como qual o servidor ntp usar, qual rota pegar, etc.

Configurar DHCP no Slackware é simples. Apenas execute o netconfig e selecione DHCP quando oferecido. Se você tem mais de uma placa de rede e não deseja que a eth0 seja configurada via DHCP, apenas edite o arquivo /etc/rc.d/rc.inet1.conf e mude a variável relacionada à sua placa de rede para "YES".

5.3.2. IP Estático

Endereços IP estáticos são endereços fixos que só mudam se modificadas manualmente. Isso é usado em qualquer caso em que o administrador não deseje que as informações relacionadas ao IP mudem, por exemplo para servidores internos de uma rede local, qualquer servidor conectado à Internet, e roteadores. Com o endereçamento IP estático, você atribui um endereço IP e esquece :). Outras máquinas saberão que você sempre terá um certo endereço IP e poderão contactar você no endereço de sempre.

/etc/rc.d/rc.inet1.conf

Se você planeja atribuir um endereço IP ao seu novo Slackware, você pode fazê-lo através do script netconfig, ou então pode também editar o /etc/rc.d/rc.inet1.conf. No /etc/rc.d/rc.inet1.conf, você irá notar:

  # Primary network interface card (eth0)
      IPADDR[0]=""
      NETMASK[0]=""
      USE_DHCP[0]=""
      DHCP_HOSTNAME[0]="" 

E, mais abaixo:

GATEWAY=""

Nesse caso, nossa tarefa será meramente colocar a informação correta entre as aspas duplas. Essas variáveis são chamadas pelo /etc/rc.d/rc.inet1 no momento do boot para configurar as placas de rede. Para cada placa de rede, apenas insira a informação correta do IP, ou coloque "YES" no USE_DHCP. O Slackware irá iniciar as interfaces com a informação colocada na ordem em que elas forem encontradas.

A variável DEFAULT_GW configura a rota padrão para o Slackware. Todas as comunicações entre seu computador e outros computadores na Internet devem passar através do gateway, no caso de nenhuma outra rota ser especificada para elas (as comunicações). Se você está usando DHCP, em geral você não precisará digitar nada aqui, pois seu servidor DHCP irá especificar qual gateway usar.

/etc/resolv.conf

Muito bem. Então você tem um endereço IP, você tem um gateway padrão, você pode ter dez milhões de reais (nos dê um pouco), mas o que você consegue fazer de bom se você não consegue traduzir nomes para endereços IP? Ninguém merece digitar 72.9.234.112 no navegador para entrar no www.slackbook.org. Além disso, quem, além dos autores conseguiriam memorizar esse endereço IP? Nós precisamos configurar o DNS, mas como? É aí que o /etc/resolv.conf entra no jogo.

Provavelmente você já tem as opções apropriadas no /etc/resolv.conf. Se você configurar sua conexão de rede usando o DHCP, o servidor DHCP pode se encarregar de atualizar esse arquivo para você. (Tecnicamente o servidor DHCP apenas diz ao dhcpcd o quê colocar aqui, e ele obedece.) No entanto, se você precisa atualizar manualmente sua lista de servidores DNS, você precisará editar manualmente o /etc/resolv.conf. Segue um examplo:

  # cat /etc/resolv.conf
  nameserver 192.168.1.254
  search lizella.net

A primeira linha é simples. A diretiva nameserver nos indica qual servidor DNS procurar. Por necessidade eles sempre são endereços IP. Você pode ter vários listados aqui, conforme seu gosto. O Slackware irá alegremente checar um depois do outro até um deles retornar a busca.

A segunda linha é um pouco mais interessante. A diretiva search nos dá uma lista de domínio de nomes para assumir quando nenhum DNS requisitado for encontrado. Isso lhe permite contactar outra máquina tendo apenas a primeira parte da sua FQDN (Fully Qualified Domain Name, ou Domínio de Nome Totalmente Qualificado). Por exemplo, se "slackware.com" estava indicado na sua diretiva search, você pode buscar http://store.slackware.com apenas apontando seu navegador para http://store.

   # ping -c 1 store
  PING store.slackware.com (69.50.233.153): 56 data bytes
  64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
  1 packets transmitted, 1 packets received, 0% packet loss
  round-trip min/avg/max = 0.251/0.251/0.251 ms

/etc/hosts

Agora que nós temos um DNS trabalhando bem, o que podemos fazer se desejamos identificar nosso servidor DNS, ou adicionar uma entrade de DNS em uma máquina que não está no DNS? O Slackware inclui o arquivo salvador /etc/hosts, que contém uma lista local de nomes DNS e endereços IP para os quais eles apontam.

# cat /etc/hosts 127.0.0.1 localhost locahost.localdomain 192.168.1.101 redtail 172.14.66.32 foobar.slackware.com

Nele você pôde notar que o localhost têm como endereço IP relativo o 127.0.0.1 (sempre reservado para o localhost), redtail é apontado para 192.168.1.101, e o foobar.slackware.com para 172.14.66.32.

5.4. PPP

A maioria das pessoas continuam se conectando à Internet através de algum tipo de conexão discada. O método mais comum é o PPP, embora o SLIP seja ainda utilizado ocasionalmente. Configurar o seu sistema para utilizar chamar via PPP um servidor remoto é muito fácil. Nós vamos abordar algumas poucas ferramentas para ajudá-lo(a) a configurar.

5.4.1. pppsetup

O Slackware inclui um programa chamado pppsetup para configurar seu sistema para usar sua conta discada. Ele compartilha a aparência e parece muito semelhante ao nosso programa netconfig. Para executar o programa, tenha certeza que você está logado como root. Então digite pppsetup para executá-lo. Você irá ver uma tela como essa:

O programa apresentará uma série de questões, as quais você precisará responder apropriadamente. Coisas como o seu modem, a string de inicialização do modem, e o número de telefone do seu provedor. Alguns itens terão um valor padrão, que você poderá aceitar na maioria dos casos.

Após rodar o programa, ele criará um programa ppp-go e um programa ppp-off. Eles são usados para iniciar e parar, respectivamente, a conexão PPP. Os dois programas estão em /usr/sbin e precisam de privilégios de root para serem executados.

/etc/ppp

Para a maioria dos usuários, rodar o pppsetup será o suficiente. Entretanto, podem haver circunstâncias onde você precisará preparar um conjunto de valores a serem usados pelo daemon do PPP. Todas as informações de configuração ficam em /etc/ppp. Aqui está uma lista do que você pode encontrar para diferentes arquivos:

ip-down Esse script é executado pelo pppd após o encerramento da conexão PPP.
ip-up Esse script é executado pelo pppd quando ocorre sucesso em uma conexão ppp. Coloque nesse arquivo qualquer comando que você deseje executar após obter sucesso na conexão.
options Opções gerais para configuração do pppd.
options.demand Opções gerais de configuração do pppd quando executado no modo de discagem por demanda.
pppscript Os comandos enviados para o modem.
pppsetup.txt Um log dos seus dados de entrada, quando executou o pppsetup.

NOTA: A maioria desses arquivos não estarão lá até depois da execução do pppsetup.

5.5. Wireless

As redes sem fio ainda são coisas relativamente novas no mundo dos computadores mesmo com o grande crescimento no número de pessoas que compram laptops e esperam encontrar redes por onde passem, sem se preocuparem com o seu velho cabo de par trançado. E essa tendência não parece estar diminuindo o ritmo. Infelizmente, as redes sem fio não são ainda tão bem suportadas no Linux, a exemplo das redes cabeadas tradicionais.

Existem três passos básicos no processo de configuração de uma placa de rede sem fio:

5.5.1. Suporte ao Hardware

O suporte ao hardware de placas sem fio é dado através do kernel, tanto com um módulo como com suporte direto (built in) no kernel. Geralmente, as placas mais recentes utilizam esse suporte com múdulos. Sendo assim,você pode determinar o módulo aproprioado e carregá-lo via /etc/rc.d/rc.modules. O netconfig pode não detectar sua placa de rede sem fio. Nesses casos você provavelmente precisará determinar pessoalmente qual o módulo da sua placa. Procure mais informações sobre drivers para o kernel de várias placas de rede sem fio, em http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/.

5.5.2. Configuração da rede sem fio

A vasta maioria desse trabalho é feito pelo iwconfig, como sempre você pode ler o manual (com poderes de root, digite man iwconfig no terminal) do iwconfig se você precisa de mais informações.

Antes de tudo, você precisará configurar o seu ponto de acesso sem fio. Pontos de acesso sem fio possuem uma pequena variação em suas terminologias, e formas de configuração, então você talvez precise se mexer um pouco para se acostumar ao seu hardware. Em geral, você precisará pelo menos das seguintes informações:

AVISO: UMA NOTA A RESPEITO DO WE