Você está na página 1de 421

Guia Foca GNU/Linux

Gleydson Mazioli da Silva <gleydson@guiafoca.org>

Verso 5.45 - segunda, 30 de outubro de 2006

Resumo
Este documento tem por objetivo ser uma referncia ao aprendizado do usurio e um guia de consulta, operao e congurao de sistemas Linux (e outros tipos de *ix). A ltima verso deste guia pode ser encontrada na Pgina Ocial do Foca GNU/Linux (http://www. guiafoca.org). Novas verses so lanadas com uma freqncia mensal e voc pode receber avisos de novos lanamentos deste guia preenchendo um formulrio na pgina Web.

Nota de Copyright
Copyright 1999-2006 - Gleydson Mazioli da Silva. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled GNU Free Documentation License.

Sumrio
1 Introduo 1.1 1.2 1.3 1.4 Antes de comear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pr-requisitos para a utilizao deste guia . . . . . . . . . . . . . . . . . . . . . . . Sistema Operacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 1.5 1.6 1.7 1.8 1.9 Algumas Caractersticas do Linux . . . . . . . . . . . . . . . . . . . . . . . 1 3 5 5 5 6 8

Distribuies do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Processamento de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 O Computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Conhecendo o Computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.9.1 1.9.2 1.9.3 Tipos de Gabinete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Painel Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Monitor de Vdeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.10 Placa Me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.10.1 Alguns componentes da placa me . . . . . . . . . . . . . . . . . . . . . . . 16 1.11 Memria do Computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.11.1 Memria Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.11.2 Memria Auxiliar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.12 Discos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.12.1 Discos Flexveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.12.2 Disco Rgido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.12.3 CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

SUMRIO

ii

1.13 Cuidados Bsicos com o Computador e Disquetes . . . . . . . . . . . . . . . . . . 19 1.14 Dispositivos de Entrada e Sada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.15 Ligando o computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.16 Desligando o computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.17 Reiniciando o computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2 Explicaes Bsicas 2.1 2.2 23

Hardware e Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.1 2.2.2 2.2.3 Extenso de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Tamanho de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Arquivo texto e binrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.3

Diretrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 Diretrio Raz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Diretrio atual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Diretrio home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Diretrio Superior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Diretrio Anterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Caminho na estrutura de diretrios . . . . . . . . . . . . . . . . . . . . . . 27 Exemplo de diretrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Estrutura bsica de diretrios do Sistema Linux . . . . . . . . . . . . . . . 28

2.4 2.5

Nomeando Arquivos e Diretrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5.1 Comandos Internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.6 2.7 2.8 2.9

Comandos Externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Aviso de comando (Prompt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Interpretador de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Terminal Virtual (console) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.10 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.11 Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.12 Curingas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

SUMRIO

iii

Hardware 3.1 3.2 3.3

35

Placa de expanso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Nomes de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Congurao de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1 3.3.2 3.3.3 IRQ - Requisio de Interrupo . . . . . . . . . . . . . . . . . . . . . . . . 37 DMA - Acesso Direto a Memria . . . . . . . . . . . . . . . . . . . . . . . . 39 I/O - Porta de Entrada/Sada . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.4

Hardwares congurveis por jumpers, dip-switches, jumperless e Plug-and-Play. 41 3.4.1 3.4.2 3.4.3 3.4.4 Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Dip-Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Jumperless (sem jumper) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Plug-and-Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5 3.6 3.7 3.8 3.9

Listando as placas e outros hardwares em um computador . . . . . . . . . . . . . 48 Conitos de hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Placas on-board / off-board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Hardwares especcos ou For Windows . . . . . . . . . . . . . . . . . . . . . . . 51

3.10 Dispositivos especcos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 52 3.11 Conguraes de Dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.11.1 Congurando uma placa de rede . . . . . . . . . . . . . . . . . . . . . . . . 53 3.11.2 Congurando uma placa de SOM no Linux . . . . . . . . . . . . . . . . . . 54 3.11.3 Congurando um gravador de CD no Linux . . . . . . . . . . . . . . . . . 55 3.11.4 Congurando o gerenciamento de energia usando o APM . . . . . . . . . 57 3.11.5 Congurando o gerenciamento de energia usando ACPI . . . . . . . . . . 58 3.11.6 Ativando WakeUP on Lan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4 Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 4.1 4.2 61

Quais as diferenas iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Comandos equivalentes entre DOS e Linux . . . . . . . . . . . . . . . . . . . . . . 63 4.2.1 Arquivos de congurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.3 4.4

Usando a sintaxe de comandos DOS no Linux . . . . . . . . . . . . . . . . . . . . 65 Programas equivalentes entre Windows/DOS e o Linux . . . . . . . . . . . . . . . 66

SUMRIO

iv

Discos e Parties 5.1 5.2 5.3

71

Parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Sistema de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Partio EXT2 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.3.1 5.3.2 Criando um sistema de arquivos EXT2 em uma partio . . . . . . . . . . 73 Criando um sistema de arquivos EXT2 em um arquivo . . . . . . . . . . . 74

5.4 5.5

Journaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Partio EXT3 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.5.1 5.5.2 5.5.3 5.5.4 Criando um sistema de arquivos EXT3 em uma partio . . . . . . . . . . 76 Criando um sistema de arquivos EXT3 em um arquivo . . . . . . . . . . . 76 Fazendo a converso do sistema de arquivos EXT2 para EXT3 . . . . . . . 77 Convertendo de EXT3 para EXT2 . . . . . . . . . . . . . . . . . . . . . . . . 77

5.6

Sistema de arquivos reiserfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 5.6.6 Criando um sistema de arquivos reiserfs em uma partio . . . . . . . . . 78 Criando um sistema de arquivos reiserfs em um arquivo . . . . . . . . . . 79 Nomeando uma partio de disco . . . . . . . . . . . . . . . . . . . . . . . 79 Criando o diretrio especial lost+found . . . . . . . . . . . . . . . . . . 80 dumpe2fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Partio EXT2 ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.7

Partio Linux Swap (Memria Virtual) . . . . . . . . . . . . . . . . . . . . . . . . 81 5.7.1 5.7.2 5.7.3 Criando sistema de arquivos Swap em uma partio . . . . . . . . . . . . 81 Criando um sistema de arquivos Swap em um arquivo . . . . . . . . . . . 82 Partio Swap ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.8 5.9

O sistema de arquivos /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 LVM - Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5 Representao grca do LVM . . . . . . . . . . . . . . . . . . . . . . . . . 85 Performance do LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Colocando LVM em seu sistema . . . . . . . . . . . . . . . . . . . . . . . . 86 Aumentando o tamanho de um volume lgico . . . . . . . . . . . . . . . . 87 Diminuindo um volume lgico . . . . . . . . . . . . . . . . . . . . . . . . . 88

5.10 Formatando disquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

SUMRIO

5.10.1 Formatando disquetes para serem usados no Linux . . . . . . . . . . . . . 88 5.10.2 Formatando disquetes compatveis com o DOS/Windows . . . . . . . . . 89 5.10.3 Programas de Formatao Grcos . . . . . . . . . . . . . . . . . . . . . . . 89 5.11 Pontos de Montagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.12 Identicao de discos e parties em sistemas Linux . . . . . . . . . . . . . . . . 90 5.13 Montando (acessando) uma partio de disco . . . . . . . . . . . . . . . . . . . . . 91 5.13.1 fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.14 Desmontando uma partio de disco . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6 Gerenciadores de Partida (boot loaders) 6.1 95

LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.1.1 6.1.2 6.1.3 Criando o arquivo de congurao do LILO . . . . . . . . . . . . . . . . . 95 Opes usadas no LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Um exemplo do arquivo de congurao lilo.conf . . . . . . . . . . . . . . 100

6.2

GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.2.9 Como o GRUB trabalha com discos e parties . . . . . . . . . . . . . . . . 101 Instalando o GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 No disco exvel (somente linha de comando) . . . . . . . . . . . . . . . . 103 No disco exvel (com interface de menu) . . . . . . . . . . . . . . . . . . . 103 Opes do arquivo de congurao . . . . . . . . . . . . . . . . . . . . . . 104 Um exemplo de arquivo de congurao . . . . . . . . . . . . . . . . . . . 106 Usando a linha de comandos do GRUB . . . . . . . . . . . . . . . . . . . . 108 Removendo o GRUB do MBR . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Como obter informaes mais detalhadas . . . . . . . . . . . . . . . . . . . 109

6.3 6.4

Parmetros de inicializao passados ao kernel . . . . . . . . . . . . . . . . . . . . 109 LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.4.1 6.4.2 Opes do LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Exemplo de inicializao com o LOADLIN . . . . . . . . . . . . . . . . . . 111

6.5

syslinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.5.1 6.5.2 6.5.3 Criando um disquete de inicializao com o syslinux . . . . . . . . . . . . 112 O arquivo SYSLINUX.CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Formatao dos arquivos de tela do syslinux . . . . . . . . . . . . . . . . . 113

SUMRIO

vi

Execuo de programas 7.1 7.2 7.3 7.4 7.5 7.6 7.7

115

Executando um comando/programa . . . . . . . . . . . . . . . . . . . . . . . . . . 115 path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Tipos de Execuo de comandos/programas . . . . . . . . . . . . . . . . . . . . . 116 Executando programas em seqncia . . . . . . . . . . . . . . . . . . . . . . . . . 117 ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Controle de execuo de processos . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.7.7 7.7.8 7.7.9 Interrompendo a execuo de um processo . . . . . . . . . . . . . . . . . . 119 Parando momentaneamente a execuo de um processo . . . . . . . . . . 119 jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 fg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 bg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 killall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 killall5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Sinais do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

7.8 7.9

nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.10 fuser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.11 tload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.12 vmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.13 pidof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7.14 pstree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7.15 Fechando um programa quando no se sabe como sair . . . . . . . . . . . . . . . 126 7.16 Eliminando caracteres estranhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8 Comandos para manipulao de diretrio 8.1 8.2 8.3 8.4 8.5 129

ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

SUMRIO

vii

Comandos para manipulao de Arquivos 9.1 9.2 9.3 9.4 9.5

133

cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 tac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 137

10 Comandos Diversos

10.1 clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 10.2 date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 10.3 df . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 10.4 ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 10.5 du . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 10.6 nd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 10.7 free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 10.8 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 10.9 head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 10.10nl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 10.11more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 10.12less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 10.13sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 10.14tail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10.15time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10.16touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10.17uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 10.18dmesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 10.19mesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 10.20echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.21su . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.22sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.23uname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

SUMRIO

viii

10.24reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.25shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.26wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.27seq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 10.28chattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 10.29lsattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.30cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.31cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 10.32dirname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 10.33diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 10.34pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 10.35patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.36whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.37which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.38zforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.39gzexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.40znew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11 Comandos de rede 159

11.1 who . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 11.2 Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 11.3 nger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 11.4 ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 11.5 whoami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 11.6 dnsdomainname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 11.7 hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 11.8 talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 11.9 ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 11.10rlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 11.11rsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 11.12w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

SUMRIO

ix

11.13traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 11.14netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 11.15wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 12 Comandos para manipulao de contas 165

12.1 adduser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 12.2 addgroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 12.3 passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 12.4 newgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 12.5 userdel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 12.6 groupdel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 12.7 lastlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 12.8 last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 12.9 sg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 12.10Adicionando o usurio a um grupo extra . . . . . . . . . . . . . . . . . . . . . . . 170 12.11chfn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 12.12id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 12.13logname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 12.14users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 12.15groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 13 Permisses de acesso a arquivos e diretrios 173

13.1 Donos, grupos e outros usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 13.2 Tipos de Permisses de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 13.3 Etapas para acesso a um arquivo/diretrio . . . . . . . . . . . . . . . . . . . . . . 175 13.4 Exemplos prticos de permisses de acesso . . . . . . . . . . . . . . . . . . . . . . 175 13.4.1 Exemplo de acesso a um arquivo . . . . . . . . . . . . . . . . . . . . . . . . 175 13.4.2 Exemplo de acesso a um diretrio . . . . . . . . . . . . . . . . . . . . . . . 176 13.5 Permisses de Acesso Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 13.6 A conta root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 13.7 chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 13.8 chgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

SUMRIO

13.9 chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 13.10Modo de permisso octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 13.11umask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 14 Redirecionamentos e Pipe 185

14.1 > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 14.2 >> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 14.3 < . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 14.4 << . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 14.5 | (pipe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 14.6 Diferena entre o | e o > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 14.7 tee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 15 Rede 189

15.1 O que uma rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 15.2 Protocolo de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 15.3 Endereo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 15.3.1 Classes de Rede IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 15.3.2 Para instalar uma mquina usando o Linux em uma rede existente . . . . 191 15.3.3 Endereos reservados para uso em uma rede Privada . . . . . . . . . . . . 192 15.4 Interface de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 15.4.1 A interface loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 15.4.2 Atribuindo um endereo de rede a uma interface (ifcong) . . . . . . . . . 193 15.5 Roteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 15.5.1 Congurando uma rota no Linux . . . . . . . . . . . . . . . . . . . . . . . . 194 15.6 Resolvedor de nomes (DNS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 15.6.1 O que um nome? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 15.6.2 Arquivos de congurao usados na resoluo de nomes . . . . . . . . . . 197 15.6.3 Executando um servidor de nomes . . . . . . . . . . . . . . . . . . . . . . . 199 15.7 Servios de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 15.7.1 Servios iniciados como Daemons de rede . . . . . . . . . . . . . . . . . . 200 15.7.2 Servios iniciados atravs do inetd . . . . . . . . . . . . . . . . . . . . . . . 200

SUMRIO

xi

15.8 Segurana da Rede e controle de Acesso . . . . . . . . . . . . . . . . . . . . . . . . 203 15.8.1 /etc/ftpusers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 15.8.2 /etc/securetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 15.8.3 O mecanismo de controle de acessos tcpd . . . . . . . . . . . . . . . . . . . 204 15.8.4 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 15.9 Outros arquivos de congurao relacionados com a rede . . . . . . . . . . . . . . 208 15.9.1 /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 15.9.2 /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 16 Kernel e Mdulos 211

16.1 O Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 16.2 Mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 16.3 Como adicionar suporte a Hardwares e outros dispositivos no kernel . . . . . . . 212 16.4 kmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 16.5 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 16.6 insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 16.7 rmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 16.8 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 16.9 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 16.10modconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 16.11Recompilando o Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 16.12Arquivos relacionados com o Kernel e Mdulos . . . . . . . . . . . . . . . . . . . 220 16.12.1 /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 16.12.2 modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 16.13Aplicando Patches no kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 17 Arquivos e daemons de Log 223

17.1 Formato do arquivo de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 17.2 Daemons de log do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 17.2.1 syslogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 17.2.2 klogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 17.3 logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

SUMRIO

xii

18 Compactadores

229

18.1 O que fazem os compactadores/descompactadores? . . . . . . . . . . . . . . . . . 229 18.1.1 Tipos de compactao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 18.2 Extenses de arquivos compactados . . . . . . . . . . . . . . . . . . . . . . . . . . 231 18.3 gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 18.4 zip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 18.5 unzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 18.6 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 18.7 bzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 18.8 rar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 19 A distribuio Debian GNU/Linux 241

19.1 Porque usar a Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 19.2 Pacotes existentes na Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 19.3 O que sid/testing/frozen/stable? . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 19.4 Como obter a Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 19.5 Programas de congurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 19.6 Arquivos de inicializao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 19.7 Nveis de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 19.7.1 Entendendo o funcionamento dos nveis de execuo do sistema (runlevels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 19.8 Rede no sistema Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 19.9 Bug tracking system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 19.10Onde encontrar a Debian para Download? . . . . . . . . . . . . . . . . . . . . . . 247 19.11Lista de pacotes para uma instalao rpida e manual . . . . . . . . . . . . . . . . 247 19.11.1 Pacotes Bsicos (Altamente Recomendado) . . . . . . . . . . . . . . . . . . 248 19.11.2 Compilao do Kernel e programas em linguagem C . . . . . . . . . . . . 248 19.11.3 X11 (bsico) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 19.11.4 Window Managers para o X . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 19.11.5 Impresso (texto e grco com sistema de spool) . . . . . . . . . . . . . . . 249 19.11.6 Som (mixer, mp3, Midi, wav, CD-Player) . . . . . . . . . . . . . . . . . . . 249 19.11.7 Programas de Internet (clientes) . . . . . . . . . . . . . . . . . . . . . . . . 249

SUMRIO

xiii

19.11.8 Acessrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 19.11.9 Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 20 Sistema de gerenciamento de pacotes 251

20.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 20.1.1 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 20.1.2 Instalar pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 20.1.3 Dependncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 20.1.4 Listar pacotes existentes no sistema . . . . . . . . . . . . . . . . . . . . . . 252 20.1.5 Removendo pacotes do sistema . . . . . . . . . . . . . . . . . . . . . . . . . 252 20.1.6 Removendo completamente um pacote . . . . . . . . . . . . . . . . . . . . 252 20.1.7 Mostrar descrio do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 20.1.8 Procura de pacotes atravs do nome de um arquivo . . . . . . . . . . . . . 253 20.1.9 Status do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 20.1.10 Procurando pacotes com problemas de instalao . . . . . . . . . . . . . . 253 20.1.11 Mostrando a lista de pacotes do sistema . . . . . . . . . . . . . . . . . . . . 253 20.1.12 Obtendo uma lista de pacotes para instalar no sistema . . . . . . . . . . . 254 20.1.13 Congurando pacotes descongurados . . . . . . . . . . . . . . . . . . . . 254 20.1.14 Listando arquivos de um pacote . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2 apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.1 O arquivo /etc/apt/sources.list . . . . . . . . . . . . . . . . . . . . 255 20.2.2 O arquivo /etc/apt/apt.conf . . . . . . . . . . . . . . . . . . . . . . . 257 20.2.3 Copiando a lista de pacotes disponveis . . . . . . . . . . . . . . . . . . . . 257 20.2.4 Utilizando CDs ociais/no-ociais/terceiros com o apt . . . . . . . . . . 257 20.2.5 Instalando novos pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 20.2.6 Removendo pacotes instalado . . . . . . . . . . . . . . . . . . . . . . . . . 258 20.2.7 Atualizando sua distribuio . . . . . . . . . . . . . . . . . . . . . . . . . . 258 20.2.8 Removendo pacotes baixados pelo apt . . . . . . . . . . . . . . . . . . . . 260 20.2.9 Procurando por pacotes atravs da descrio . . . . . . . . . . . . . . . . . 260 20.2.10 Procurando um pacote que contm determinado arquivo . . . . . . . . . . 260 20.2.11 Modos ecazes de compilao do cdigo fonte para a Debian . . . . . . . 261 20.2.12 Vericando pacotes corrompidos . . . . . . . . . . . . . . . . . . . . . . . . 261 20.2.13 Corrigindo problemas de dependncias e outros erros . . . . . . . . . . . 261

SUMRIO

xiv

21 Personalizao do Sistema

263

21.1 Variveis de Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 21.2 Modicando o Idioma usado em seu sistema . . . . . . . . . . . . . . . . . . . . . 263 21.3 alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 21.4 Arquivo /etc/profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 21.5 Arquivo .bash_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 21.6 Arquivo .bashrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 21.7 Arquivo .hushlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 21.8 Arquivo /etc/environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 21.9 Diretrio /etc/skel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 22 Impresso 269

22.1 Portas de impressora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 22.2 Imprimindo diretamente para a porta de impressora . . . . . . . . . . . . . . . . . 269 22.3 Imprimindo via spool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 22.4 Impresso em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 22.4.1 Ghost Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 22.5 Magic Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 22.5.1 Instalao e congurao do Magic Filter . . . . . . . . . . . . . . . . . . . 273 22.5.2 Outros detalhes tcnicos sobre o Magic Filter . . . . . . . . . . . . . . . . . 273 23 Congurao do sistema 277

23.1 Acentuao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 23.1.1 Acentuao em modo Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 23.1.2 Acentuao em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . 279 23.2 Nmero de Cores do ambiente grco . . . . . . . . . . . . . . . . . . . . . . . . . 280 23.2.1 Congurando o nmero de cores para quem inicia pelo prompt . . . . . . 281 23.2.2 Congurando o nmero de cores para quem inicia pelo XDM . . . . . . . 282 23.2.3 Ajustando o alinhamento da imagem no X e outras conguraes . . . . . 282 23.2.4 Sobre o nmero de cores para jogos que funcionam no X . . . . . . . . . . 282

SUMRIO

xv

24 Executando tarefas diversas no Linux

285

24.1 Gravando CDs no Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 24.1.1 Gravando CDs de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 24.1.2 Gravando um CD de audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 24.1.3 Cpia de CD para CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 24.1.4 Gravao massiva de CDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 24.1.5 Gravao de CDs diretamente atravs de arquivos mp3 ou Ogg . . . . . . 288 24.1.6 Backup de dados para 1 ou mais CDs . . . . . . . . . . . . . . . . . . . . . 288 24.1.7 Aplicaes grcas para gravao de CDs . . . . . . . . . . . . . . . . . . . 288 24.1.8 Fazendo a capa de frente e verso do CD . . . . . . . . . . . . . . . . . . . . 288 24.2 Executando vdeos DIVX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 24.2.1 Colocando legendas nos lmes . . . . . . . . . . . . . . . . . . . . . . . . . 288 24.3 Assistindo DVDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 24.4 Convertendo msicas no formato wav para mp3 . . . . . . . . . . . . . . . . . . . 289 24.5 Convertendo msicas do formato mp3 para cdr . . . . . . . . . . . . . . . . . . . 289 25 Compilao 291

25.1 O que compilao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 25.2 Compilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 26 Manuteno do Sistema 293

26.1 Checagem dos sistemas de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.1.1 fsck.ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.2 reiserfsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 26.3 fsck.minix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 26.4 badblocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 26.5 defrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 26.6 Vericando e marcando setores danicados em um HD . . . . . . . . . . . . . . . 297 26.7 Limpando arquivos de LOGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 26.8 Recuperando parties apagadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 26.9 Recuperando a senha de root perdida . . . . . . . . . . . . . . . . . . . . . . . . . 299 26.10Tarefas automticas de manuteno do sistema . . . . . . . . . . . . . . . . . . . . 300

SUMRIO

xvi

26.11cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 26.11.1 O formato de um arquivo crontab . . . . . . . . . . . . . . . . . . . . . . . 301 26.12at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 27 Principais arquivos de congurao do diretrio /etc 305

27.1 Diretrio /etc/alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.2 Arquivo /etc/default/devpts . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.3 Arquivo /etc/default/rcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.4 Arquivo /etc/kbd/config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.5 Diretrio /etc/menu-methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.6 Arquivo /etc/menu-methods/menu-translate . . . . . . . . . . . . . . . . . 306 27.7 Arquivo /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.8 Arquivo /etc/network/interfaces . . . . . . . . . . . . . . . . . . . . . . . . 306 27.9 Arquivo /etc/networks/options . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.10Arquivo /etc/networks/spoof-protect . . . . . . . . . . . . . . . . . . . . . 308 27.11Diretrio /etc/pam.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.12Diretrio /etc/ppp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.13Diretrio /etc/security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 27.14Arquivo /etc/security/access.conf . . . . . . . . . . . . . . . . . . . . . . 309 27.15Arquivo /etc/security/limits.conf . . . . . . . . . . . . . . . . . . . . . . 310 27.16Arquivo /etc/crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 27.17Arquivo /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.18Arquivo /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.19Arquivo /etc/gshadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.20Arquivo /etc/host.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.21Arquivo /etc/hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.22Arquivo /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.23Arquivo /etc/hosts.allow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 27.24Arquivo /etc/hosts.deny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 27.25Arquivo /etc/hosts.equiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 27.26Arquivo /etc/inetd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

SUMRIO

xvii

27.27Arquivo /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 27.28Arquivo /etc/inputrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 27.29Arquivo /etc/isapnp.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 27.30Arquivo /etc/isapnp.gone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.31Arquivo /etc/issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.32Arquivo /etc/issue.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.33Arquivo /etc/lilo.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.34Arquivo /etc/login.defs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.35Arquivo /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.36Arquivo /etc/modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 27.37Arquivo /etc/motd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.38Arquivo /etc/mtab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.39Arquivo /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.40Arquivo /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.41Arquivo /etc/printcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.42Arquivo /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.43Arquivo /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 27.44Arquivo /etc/serial.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 27.45Arquivo /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 27.46Arquivo /etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 27.47Arquivo /etc/shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 27.48Arquivo /etc/syslog.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 27.49Arquivo /etc/timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 28 Conectando seu computador a Internet 317

28.1 Conectando-se a Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 28.2 Navegando na Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 28.3 Recebimento de E-Mails atravs do fetchmail . . . . . . . . . . . . . . . . . . . 319 28.3.1 Processamento de mensagens atravs do procmail . . . . . . . . . . . . . . 320

SUMRIO

xviii

29 X Window (ambiente grco)

323

29.1 O que X Window? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 29.2 A organizao do ambiente grco X Window . . . . . . . . . . . . . . . . . . . . 323 29.3 Iniciando o X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 29.4 Servidor X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 30 Aplicativos para Linux 325

30.1 Aplicativos Bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 30.1.1 Editores de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 30.1.2 Aplicativos para Escritrio . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 30.1.3 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 30.1.4 Emuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 30.1.5 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 30.1.6 Administrao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 30.2 Listagem de Aplicativos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 330 30.2.1 Perifricos / Gerenciamento de Hardware . . . . . . . . . . . . . . . . . . 330 30.2.2 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 30.2.3 Conferncia de audio/vdeo via Internet/Intranet . . . . . . . . . . . . . . 332 30.2.4 Gerenciamento de WebSites / Linguagem HTML . . . . . . . . . . . . . . 332 30.2.5 Multimdia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.2.6 Som . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.2.7 Comunicao/Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 30.2.8 X Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 30.2.9 Editorao Grca/Visualizadores . . . . . . . . . . . . . . . . . . . . . . . 338 30.2.10 Emuladores/Ferramentas p/ Interao com outros SO . . . . . . . . . . . 339 30.2.11 Programao / Bancos de Dados / Acesso a Dados . . . . . . . . . . . . . 339 30.2.12 Impresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 30.2.13 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 30.2.14 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 30.2.15 Notebooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 30.2.16 Gravao de CD/DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

SUMRIO

xix

30.2.17 Computao Paralela/Clusters . . . . . . . . . . . . . . . . . . . . . . . . . 343 30.2.18 PalmTop / Palm Pilot / Computadores de Mo . . . . . . . . . . . . . . . 343 30.2.19 Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 30.2.20 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 30.2.21 Compactadores/Descompactadores/Arquivadores . . . . . . . . . . . . . 346 30.2.22 Dispositivos X-10 (Controle de eletrodomsticos e aparelhos via PC) . . . 346 30.2.23 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 31 Como obter ajuda no sistema 349

31.1 Pginas de Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 31.2 Info Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 31.3 Help on line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 31.4 help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 31.5 apropos/whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 31.6 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 31.7 which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 31.8 Documentos HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 31.8.1 Listagem de HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 31.8.2 Listagem de Mini-HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . 370 31.9 Documentao de Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 31.10FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 31.11RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 31.12Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 31.12.1 Pginas Internet de Referncia . . . . . . . . . . . . . . . . . . . . . . . . . 384 31.12.2 Listas de discusso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 31.13Netiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 31.13.1 Recomendaes Gerais sobre a Comunicao Eletrnica . . . . . . . . . . 389 31.13.2 Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 31.13.3 Talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 31.13.4 ICQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 31.13.5 Listas de Discusso via Email . . . . . . . . . . . . . . . . . . . . . . . . . . 392

SUMRIO

xx

32 Apndice

395

32.1 Sobre este guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 32.2 Sobre o Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 32.3 Referncias de auxlio ao desenvolvimento do guia . . . . . . . . . . . . . . . . . 396 32.4 Onde encontrar a verso mais nova do guia? . . . . . . . . . . . . . . . . . . . . . 397 32.5 Colaboradores do Guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 32.6 Marcas Registradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 32.7 Futuras verses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 32.8 Chave Pblica PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

Captulo 1

Introduo
Bem vindo ao guia Foca GNU/Linux. O nome FOCA signica FOnte de Consulta e Aprendizado. Este guia dividido em 3 nveis de aprendizado e verso que esta lendo agora contm o(s) nvel(is) de aprendizado: Iniciante Intermedirio Entre o contedo do guia, voc encontrar: Textos explicativos falando sobre o GNU/Linux, seus comandos, arquivos, diretrios, etc. Explicaes iniciais sobre as partes bsicas do computador e perifricos Comandos e Programas equivalentes entre o DOS/Windows e o GNU/Linux Todos os materiais contidos na verso iniciante so ideais para quem est tendo o primeiro contato com computadores e/ou com o GNU/Linux. So usadas palavras simples para explicar o funcionamento de cada comando evitando, sempre que possvel, termos tcnicos Explicaes necessrias para conhecer, operar, congurar, desenvolver, personalizar seus programas e arquivos. Uma lista de aplicativos clientes para serem usados em seu sistema GNU/Linux, com suas caractersticas, equipamento mnimo requerido e espao em disco recomendado para instalao. Criao de parties e arquivos contendo o sistema de arquivos ext2 (para gravao de dados) e swap (memria virtual) e as vantagens/desvantagens de se utilizar um arquivo ou partio para armazenamento de dados. Compilao de programas/kernel, com explicaes sobre cada uma das opes ajudando-o a decidir sobre a incluso ou no.

Captulo 1. Introduo

Manipulao de mdulos do kernel Explicaes sobre hardwares (Interrupes, DMA, Jumpers, Jumperless, Plug-and-Play) e como congura-los no Linux, valores padres e resoluo de conitos entre hardwares. Dicas de como avaliar e comprar bons hardwares para que seu computador tenha o melhor desempenho (tambm vlido para DOS, Windows e outras plataformas). Desta maneira voc saber porque algumas placas de fax-modens custam 3 vezes mais caro que outras e o que a placa traz de especial para ter este diferencial. Como modicar facilmente o idioma usado em seu sistema (localizao) para o modo texto e modo grco. Utilizao de compactadores de disco Mais opes para os comandos existentes na verso Iniciante do guia e novos comandos. Conhecer os arquivos de congurao e arquivos bsicos de segurana e aprender para que eles servem e como usa-los. Dicas de como saber escolher bons perifricos para uso no GNU/Linux e outros sistemas operacionais Manuteno bsica do computador (vericao do disco, desfragmentao) e manuteno automtica feita atravs dos programas de e scripts congurados. Introduo a rede no Linux (com a congurao de dispositivos de rede, etc.). Conguraes bsicas de segurana de Rede Gerenciadores de inicializao, o que so e como funcionam e como criar um arquivo de inicializao para inicializar o GNU/Linux pelo disco rgido ou mais de um Sistema Operacional. Particionamento de disco Criao de Memria virtual no disco rgido e em arquivo. Os materiais contidos na verso intermedirio so ideais para quem j tem um conhecimento bsico do sistema GNU/Linux mas que deseja se aprofundar neste sistema conhecendo os arquivos necessrios para o funcionamento do GNU/Linux, como modica-los e como estas modicaes afetam o funcionamento do sistema. Para melhor organizao, dividi o guia em 3 verses: Iniciante, Intermedirio e Avanado. Sendo que a verso Iniciante voltada para o usurio que no tem nenhuma experincia no GNU/Linux. A ltima verso deste guia pode ser encontrada em: Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org).

Captulo 1. Introduo

Caso tiver alguma sugesto, correo, crtica para a melhoria deste guia, envie um e-mail para <gleydson@guiafoca.org>. O Foca GNU/Linux atualizado freqentemente, por este motivo recomendo que preencha a cha do aviso de atualizaes na pgina web em Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org) no m da pgina principal. Aps preencher a cha do aviso de atualizaes, voc receber um e-mail sobre o lanamento de novas verses do guia e o que foi modicado, desta forma voc poder decidir em copia-la caso a nova verso contenha modicaes que considera importantes. Venho recebendo muitos elegios de pessoas do Brasil (e de paises de fora tambm) elogiando o trabalho e a qualidade da documentao. Agradeo a todos pelo apoio, tenham certeza que este trabalho desenvolvido pensando em repassar um pouco do conhecimento que adquiri ao comear o uso do Linux. Tambm venho recebendo muitos e-mails de pessoas que passaram na prova LPI nvel 1 e 2 aps estudar usando o guia Foca GNU/Linux. Fico bastante feliz por saber disso, pois nunca tive a inteno de tornar o guia uma referncia livre para estudo da LPI e hoje usado para estudo desta difcil certicao que aborda comandos, servios, conguraes, segurana, empacotamento, criptograa, etc.

1.1

Antes de comear

Os captulos Introduo e bsico contm explicaes tericas sobre o computador, GNU/Linux, etc., voc pode pular este captulos caso j conhea estas explicaes ou se desejar partir para a prtica e quiser v-los mais tarde, se lhe interessar. Se voc j um usurio do DOS e Windows, recomendo ler Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux on page 61. L voc vai encontrar comparaes de comandos e programas DOS/Windows e GNU/Linux. Para quem est comeando, muita teoria pode atrapalhar o aprendizado, mais produtivo ver na prtica o que o computador faz e depois porque ele faz isto. Mesmo assim, recomendo ler estes captulos pois seu contedo pode ser til. . . Coloquei abaixo algumas dicas para um bom comeo: Recomendo que faa a leitura deste guia e pratique imediatamente o que aprendeu. Isto facilita o entendimento do programa/comando/congurao. preciso ter interesse em aprender, se voc tiver vontade em aprender algo, voc ter menos diculdade do que em algo que no gosta e est se obrigando a aprender. Decorar no adianta, pelo contrrio, s atrapalha no aprendizado. Voc precisa entender o que o comando faz, deste modo voc estar tambm usando e desenvolvendo sua interpretao, e entender melhor o assunto (talvez at me de uma fora para melhorar o guia ;-) Curiosidade tambm importante. Voc talvez possa estar procurando um comando que mostre os arquivos que contm um certo texto, e isto far voc chegar at o comando grep, depois voc conhecer suas opes, etc.

Captulo 1. Introduo

No desanime vendo outras pessoas que sabem mais que voc, lembre-se que ningum nasce sabendo :-). Uma pessoa pode ter mais experincia em um assunto no sistema como compilao de programas, congurao, etc., e voc pode ter mais interesse em redes. Ningum pode saber tudo da noite para o dia, no procure saber tudo sobre o sistema de uma s vez seno no entender NADA. Caso tenha dvidas sobre o sistema, procure ler novamente a seo do guia, e caso ainda no tenha entendido procure ajuda nas pgina de manual (veja Pginas de Manual on page 349), ou nas listas de discusso (veja Listas de discusso on page 387) ou me envie uma mensagem <gleydson@guiafoca.org>. Certamente voc buscar documentos na Internet que falem sobre algum assunto que este guia ainda no explica. Muito cuidado! O GNU/Linux um sistema que cresce muito rapidamente, a cada semana uma nova verso lanada, novos recursos so adicionados, seria maravilhoso se a documentao fosse atualizada com a mesma freqncia. Infelizmente a atualizao da documentao no segue o mesmo ritmo (principalmente aqui no Brasil). comum voc encontrar na Internet documentos da poca quando o kernel estava na verso 2.0.20, 2.0.30, etc. Estes documentos so teis para pessoas que usem as verses antigas do Kernel Linux, mas pode trazer problemas ou causar m impresso do GNU/Linux em outras pessoas. Por exemplo, voc pode esbarrar pela Internet com um documento que diz que o Kernel no tem suporte aos nomes extensos da VFAT (Windows 95), isto verdade para kernels anteriores ao 2.0.31, mas as verses mais novas que a 2.0.31 reconhecem sem problemas os nomes extensos da partio Windows VFAT. Uma pessoa desavisada pode ter receio de instalar o GNU/Linux em uma mesma mquina com Windows por causa de um documento como este. Para evitar problemas deste tipo, verique a data de atualizao do documento, se vericar que o documento est obsoleto, contacte o autor original e pea para que ele retire aquela seo na prxima verso que ser lanada. O GNU/Linux considerado um sistema mais difcil do que os outros, mas isto porque ele requer que a pessoa realmente aprenda e conhea computadores e seus perifricos antes de fazer qualquer coisa (principalmente se voc um tcnico em manuteno, redes, instalaes, etc., e deseja oferecer suporte prossional a este sistema). Voc conhecer mais sobre computadores, redes, hardware, software, discos, saber avaliar os problemas e a buscar a melhor soluo, enm as possibilidades de crescimento neste sistema operacional depende do conhecimento, interesse e capacidade de cada um. A interface grca existe, mas os melhores recursos e exibilidade esto na linha de comando. Voc pode ter certeza que o aprendizado no GNU/Linux ajudar a ter sucesso e menos diculdade em usar qualquer outro sistema operacional. Pea ajuda a outros usurios do GNU/Linux quando estiver em dvida ou no souber fazer alguma coisa no sistema. Voc pode entrar em contato diretamente com outros usurios ou atravs de listas de discusso (veja Listas de discusso on page 387). Boa Sorte e bem vindo ao GNU/Linux!

gleydson (<gleydson@guiafoca.org>).

Captulo 1. Introduo

1.2

Pr-requisitos para a utilizao deste guia

assumido que voc j tenha seu GNU/Linux instalado e funcionando. assumido que voc tenha entendido a funo de boa parte dos comandos que consta na verso iniciante do Foca Linux, arquivos e permisses de acesso. Em resumo, que saiba decidir quando e qual(is) comando(s) deve usar em cada situao. Caso no entenda as explicaes da verso INTERMEDIRIO, recomendo que faa a leitura da verso INICIANTE do Foca Linux que pode ser encontrada em http://www.guiafoca. org. Este guia no cobre a instalao do sistema. Para detalhes sobre instalao, consulte a documentao que acompanha sua distribuio GNU/Linux.

1.3

Sistema Operacional

O Sistema Operacional o conjunto de programas que fazem a interface do usurio e seus programas com o computador. Ele responsvel pelo gerenciamento de recursos e perifricos (como memria, discos, arquivos, impressoras, CD-ROMs, etc.), interpretao de mensagens e a execuo de programas. No Linux o Kernel mais o conjunto de ferramentas GNU compem o Sistema Operacional. O kernel (que a base principal de um sistema operacional), poder ser construdo de acordo com a congurao do seu computador e dos perifricos que possui.

1.4

O Linux

O Linux um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlndia. um sistema Operacional de cdigo aberto distribudo gratuitamente pela Internet. Seu cdigo fonte liberado como Free Software (software livre) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele no pode fechar o sistema para que seja usado apenas comercialmente. Isto quer dizer que voc no precisa pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores, ns inclusive incentivamos voc a fazer isto. Ser um sistema de cdigo aberto pode explicar a performance, estabilidade e velocidade em que novos recursos so adicionados ao sistema. Para rodar o Linux voc precisa, no mnimo, de um computador 386 SX com 2 MB de memria (para um kernel at a srie 2.2.x) ou 4MB (para kernels 2.4 e superiores) e 40MB disponveis em seu disco rgido para uma instalao bsica e funcional. O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita diculdade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema.

Captulo 1. Introduo

O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija alguma problema ou faa alguma sugesto sobre sua melhoria, esse um dos motivos de seu rpido crescimento, do aumento da compatibilidade de perifricos (como novas placas sendo suportadas logo aps seu lanamento) e de sua estabilidade. Outro ponto em que ele se destaca o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos de ltima gerao e mais antigos (a maioria deles j ultrapassados e sendo completamente suportados pelo sistema operacional). Este um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com as mquinas que possui. Hoje o Linux desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuio ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e tambm ajuda na coordenao entre os desenvolvedores. O suporte ao sistema tambm se destaca como sendo o mais eciente e rpido do que qualquer programa comercial disponvel no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Voc pode se inscrever em uma lista de discusso e relatar sua dvida ou alguma falha, e sua mensagem ser vista por centenas de usurios na Internet e algum ir te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo. Para detalhes, veja Listas de discusso on page 387.

1.4.1

Algumas Caractersticas do Linux

livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuio para a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes Convivem sem nenhum tipo de conito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador. Multitarefa real Multiusurio Suporte a nomes extensos de arquivos e diretrios (255 caracteres) Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc. Proteo entre processos executados na memria RAM Suporte a mais de 63 terminais virtuais (consoles) Modularizao - O GNU/Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo nalizado Devido a modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento. Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo) No h a necessidade de se reiniciar o sistema aps a modicar a congurao de qualquer perifrico ou parmetros de rede. Somente necessrio reiniciar o sistema no caso

Captulo 1. Introduo

de uma instalao interna de um novo perifrico, falha em algum hardware (queima do processador, placa me, etc.). No precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memria RAM (sem rodar o sistema grco X, que recomendado 8MB de RAM). J pensou no seu desempenho em um 486 ou Pentium ;-) O crescimento e novas verses do sistema no provocam lentido, pelo contrrio, a cada nova verso os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos teis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x). No requerida uma licena para seu uso. O GNU/Linux licenciado de acordo com os termos da GPL. Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc. Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM. O LINUX NO VULNERVEL A VRUS! Devido a separao de privilgios entre processos e respeitadas as recomendaes padro de poltica de segurana e uso de contas privilegiadas (como a de root, como veremos adiante), programas como vrus tornam-se inteis pois tem sua ao limitada pelas restries de acesso do sistema de arquivos e execuo. Frequentemente so criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para danicar o sistema. Erroneamente este tipo de ataque classicado como vrus por pessoas mal informadas e so resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuio que tenha um bom sistema de atualizao resolve em 99.9% os problemas com exploits. Qualquer programa (nocivo ou no) poder alterar partes do sistema que possui permisses (ser abordado como alterar permisses e tornar seu sistema mais restrito no decorrer do guia). Rede TCP/IP mais rpida que no Windows e tem sua pilha constantemente melhorada. O GNU/Linux tem suporte nativo a redes TCP/IP e no depende de uma camada intermediria como o WinSock. Em acessos via modem a Internet, a velocidade de transmisso 10% maior. Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da maior velocidade do Jogo em rede. fcil rodar um servidor Quake em seu computador e assim jogar contra vrios adversrios via Internet. Roda aplicaes DOS atravs do DOSEMU, QEMU, BOCHS. Para se ter uma idia, possvel dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema. Roda aplicaes Windows atravs do WINE. Suporte a dispositivos infravermelho. Suporte a rede via rdio amador. Suporte a dispositivos Plug-and-Play. Suporte a dispositivos USB. Suporte a Fireware. Dispositivos Wireless. Vrios tipos de rewalls de alta qualidade e com grande poder de segurana de graa. Roteamento esttico e dinmico de pacotes. Ponte entre Redes.

Captulo 1. Introduo

Proxy Tradicional e Transparente. Possui recursos para atender a mais de um endereo IP na mesma placa de rede, sendo muito til para situaes de manuteno em servidores de redes ou para a emulao de mais computadores virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usurio que se conecta tem a impresso que a rede possui servidores diferentes. O sistema de arquivos usado pelo GNU/Linux (Ext2) organiza os arquivos de forma inteligente evitando a fragmentao e fazendo-o um poderoso sistema para aplicaes multi-usurias exigentes e gravaes intensivas. Permite a montagem de um servidor Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, distribudo gratuitamente junto com a maioria das distribuies Linux. O mesmo acontece com o Sendmail. Por ser um sistema operacional de cdigo aberto, voc pode ver o que o cdigo fonte (instrues digitadadas pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta caracterstica uma segurana a mais para empresas srias e outros que no querem ter seus dados roubados (voc no sabe o que um sistema sem cdigo fonte faz na realidade enquanto esta processando o programa). Suporte a diversos dispositivos e perifricos disponveis no mercado, tanto os novos como obsoletos. Pode ser executado em 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.). Consultores tcnicos especializados no suporte ao sistema espalhados por todo o mundo. Entre muitas outras caractersticas que voc descobrir durante o uso do sistema. TODOS OS TENS DESCRITOS ACIMA SO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.

1.5

Distribuies do Linux

S o kernel GNU/Linux no suciente para se ter uma sistema funcional, mas o principal. Existem grupos de pessoas, empresas e organizaes que decidem distribuir o Linux junto com outros programas essenciais (como por exemplo editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, firewalls, etc). Este o signicado bsico de distribuio. Cada distribuio tem sua caracterstica prpria, como o sistema de instalao, o objetivo, a localizao de programas, nomes de arquivos de congurao, etc. A escolha de uma distribuio pessoal e depende das necessidades de cada um. Algumas distribuies bastante conhecidas so: Slackware, Debian, Red Hat, Conectiva, Suse, Monkey, todas usando o SO Linux como kernel principal (a Debian uma distribuio independente de kernel e pode ser executada sob outros kernels, como o GNU hurd). A escolha de sua distribuio deve ser feita com muita ateno, no adianta muita coisa perguntar em canais de IRC sobre qual a melhor distribuio, ser levado pelas propagandas, pelo vizinho, etc. O melhor caminho para a escolha da distribuio, acredito eu, seria perguntar as caractersticas de cada uma e porque essa pessoa gosta dela ao invs de perguntar qual

Captulo 1. Introduo

a melhor, porque quem lhe responder isto estar usando uma distribuio que se encaixa de acordo com suas necessidade e esta mesma distribuio pode no ser a melhor para lhe atender. Segue abaixo as caractersticas de algumas distribuies seguidas do site principal e endereo ftp: Debian http://www.debian.org/ - Distribuio desenvolvida e atualizada atravs do esforo de voluntrios espalhados ao redor do mundo, seguindo o estilo de desenvolvimento GNU/Linux. Por este motivo, foi adotada como a distribuio ocial do projeto GNU. Possui suporte a lngua Portuguesa, a nica que tem suporte a 10 arquiteturas diferentes (i386, Alpha, Sparc, PowerPc, Macintosh, Arm, etc.) e aproximadamente 15 sub-arquiteturas. A instalao da distribuio pode ser feita tanto atravs de Disquetes, CD-ROM, Tftp, Ftp, NFS ou atravs da combinao de vrios destes em cada etapa de instalao. Acompanha mais de 8710 programas distribudos em forma de pacotes divididos em 4 CDs binrios e 2 de cdigo fonte (ocupou 2.1 GB em meu disco rgido), cada um destes programas so mantidos e testados pela pessoa responsvel por seu empacotamento. Os pacotes so divididos em diretrios de acordo com sua categoria e gerenciados atravs de um avanado sistema de gerenciamento de pacotes (o dpkg) facilitando a instalao e atualizao de pacotes. Possui tanto ferramentas para administrao de redes e servidores quanto para desktops, estaes multimdia, jogos, desenvolvimento, web, etc. A atualizao da distribuio ou de pacotes individuais pode ser feita facilmente atravs de 2 comandos, no requerendo adquirir um novo CD para usar a ltima verso da distribuio. a nica distribuio no comercial onde todos podem contribuir com seu conhecimento para o seu desenvolvimento. Para gerenciar os voluntrios, conta com centenas de listas de discusso envolvendo determinados desenvolvedores das mais diversas partes do mundo. So feitos extensivos testes antes do lanamento de cada verso para atingir um alto grau de conabilidade. As falhas encontradas nos pacotes podem ser relatados atravs de um sistema de tratamento de falhas que encaminha a falha encontrada diretamente ao responsvel para avaliao e correo. Qualquer um pode receber a lista de falhas ou sugestes sobre a distribuio cadastrando-se em uma das lista de discusso que tratam especicamente da soluo de falhas encontradas na distribuio (disponvel na pgina principal da distribuio). Os pacotes podem ser instalados atravs de Tarefas contendo selees de pacotes de acordo com a utilizao do computador (servidor Web, desenvolvimento, TeX, jogos, desktop, etc.), Pers contendo selees de pacotes de acordo com o tipo de usurio (programador, operador, etc.), ou atravs de uma seleo individual de pacotes, garantindo que somente os pacotes selecionados sero instalados fazendo uma instalao enxuta. Existe um time de desenvolvedores com a tarefa especca de monitorar atualizaes de segurana em servios (apache, sendmail, e todos os outros 8000 pacotes)que possam compromenter o servidor, deixando-o vulnervel a ataques. Assim que uma falha descoberta, enviado uma alerta (DSA - Debian Security Alert) e disponibilizada uma atualizao para correo das diversas verses da Debian. Isto geralmente feito em menos

Captulo 1. Introduo

10

de 48 horas desde a descoberta da falha at a divulgao da correo. Como quase todas as falhas so descobertas nos programas, este mtodo tambm pode ser usado por administradores de outras distribuies para manterem seu sistema seguro e atualizado. O suporte ao usurio e desenvolvimento da distribuio so feitos atravs de listas de discusses e canais IRC. Existem uma lista de consultores habilitados a dar suporte e assistncia a sistemas Debian ao redor do mundo na rea consultores do site principal da distribuio. ftp://ftp.debian.org/ - Endereo Ftp para download. Conectiva http://www.conectiva.com.br/ - um sistema tipicamente para pc e notebooks, com muitos pacotes de escritrio e desenho e etc. necessrio um conhecimento razovel do hardware que voc possui, pois ele *tenta* detectar sua placa de vdeo e rede, monitor e teclado, mas nem sempre a escolha acertada. A verso 10.0 saiu gracamente maravilhosa, mas com 3 cds. Existe um gerenciador grco de pacotes, o Synaptic, que muito bom, principalmente pra quem est comeando. A instalao muito simples e intuitiva, com todo o gerenciamento centralizado. Alm de ter a maioria dos manuais online e traduzidos para portugus. ftp://ftp.conectiva.com.br/ - Ftp da distribuio Conectiva. Libranet http://www.libranet.com/ - Distribuio baseada na Debian GNU/Linux oferecendo as principais caractersticas da distribuio Debian. So empacotadas os aplicativos mais utilizados da Distribuio Debian em um nico CD, voc pode ter um desktop completo sendo executado em pouco tempo. As atualizaes de softwares so feitas gratuitamente. O sistema de gerenciamento de pacotes Debian permite o gerenciamento de atualizaes automaticamente. ftp://ftp.libranet.com/ - Ftp da distribuio. Slackware http://www.slackware.com/ - Distribuio desenvolvida por Patrick Volkerding, desenvolvida para alcanar facilidade de uso e estabilidade como prioridades principais. Foi a primeira distribuio a ser lanada no mundo e costuma trazer o que h de mais novo enquanto mantm uma certa tradio, provendo simplicidade, facilidade de uso e com isso exibilidade e poder. Desde a primeira verso lanada em Abril de 1993, o Projeto Slackware Linux tem buscado produzir a distribuio Linux mais UNIX-like, ou seja, mais parecida com UNIX. O Slackware segue os padres Linux como o Linux File System Standard, que um padro de organizao de diretrios e arquivos para as distribuies. Enquanto as pessoas diziam que a Red Hat era a melhor distribuio para o usurio iniciante, o Slackware o melhor para o usurio mais velho, ou seja programadores, administradores, etc. ftp://ftp.slackwarebrasil.org/linux/slackware/ - Ftp da distribuio Slackware. SuSE http://www.suse.com/ - Distribuio comercial Alem com a coordenao sendo feita atravs dos processos administrativos dos desenvolvedores e de seu brao norte-

Captulo 1. Introduo

11

americano. O foco da Suse o usurio com conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux (at a verso 6.2). A distribuio possui suporte ao idioma e teclado Portugus, mas no inclui (at a verso 6.2) a documentao em Portugus. Eis a lista de idiomas suportados pela distribuio: English, Deutsch, Franais, Italiano, Espanhol, Portugus, Portugus Brasileiro, Polski, Cesky, Romanian, Slovensky, Indonsia. Possui suporte as arquiteturas Intel x86 e Alpha. Sua instalao pode ser feita via CDROM ou CD-DVD ( a primeira distribuio com instalao atravs de DVD). Uma mdia de 1500 programas acompanham a verso 6.3 distribudos em 6 CD-ROMs. O sistema de gerenciamento de pacotes o RPM padronizado. A seleo de pacotes durante a instalao pode ser feita atravs da seleo do perl de mquina (developer, estao kde, grcos, estao gnome, servidor de rede, etc.) ou atravs da seleo individual de pacotes. A atualizao da distribuio pode ser feita atravs do CD-ROM de uma nova verso ou baixando pacotes de ftp://ftp.suse.com/. Usurios registrados ganham direito a suporte de instalao via e-mail. A base de dados de suporte tambm excelente e est disponvel na web para qualquer usurio independente de registro. ftp://ftp.suse.com/ - Ftp da distribuio SuSE. Red Hat Enterprise Linux http://www.redhat.com/ - Distribuio comercial suportada pela Red Hat e voltada a servidores de grandes e medias empresas. Tambm conta com uma certicao chamada RHCE especca desta distro. Ela no est disponvel para download, apenas vendida a custos a partir de 179 dlares (a verso workstation) at 1499 dlares (advanced server). Fedora http://fedora.redhat.com/ - O Fedora Linux a distribuio de desenvolvimento aberto patrocinada pela RedHat e pela comunidade, originada em 2002 e baseada em verso da antiga linha de produtos RedHat Linux, a distribuio mais utilizada do mundo. Esta distribuio no suportada pela Red Hat como distribuio ocial (ela suporta apenas a linha Red Hat Enterprise Linux), devendo obter suporte atravs da comunidade ou outros meios. A distribuio Fedora d prioridade ao uso do computador como estao de trabalho. Alm de contar com uma ampla gama de ferramentas de escritrio possui funes de servidor e aplicativos para produtividade e desenvolvimento de softwares. Considerado um dos sistemas mais fceis de instalar e utilizar, inclui traduo para portugs do Brasil e suporte s plataformas Intel e 64 bits. Por basear-se no RedHat. o Fedora conta com um o up2date, um software para manter o sistema atualizado e utiliza pacotes de programas no formato RPM, um dos mais comuns. Por outro lado, no possui suporte a MP3, Video Players ou NTFS (Discos do Windows) em virtude de problemas legais sendo necessrio o download de alguns plugins para a utilizao destas funes. O Fedora no distribuido ocialmente atravs de mdias ou CDs, se voc quiser obte-lo ter de procurar distribuidores independentes ou fazer o download dos 4 CDs atravs do site ocial.

Captulo 1. Introduo

12

http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/ iso/ - Download da distribuio Fedora. Mandrake http://www.mandrakelinux.com/ - Uma distribuio francesa que se instala praticamente sozinha. Boa auto-deteco de perifricos, inclusive web-cams. ftp://mandrake.mirrors.pair.com/Mandrakelinux/official/iso/move/ 2.0/i586/ - Download da distribuio. Kurumin http://guiadohardware.net/kurumin/index.php/ - Uma distribuio baseada em Debian que roda diretamente a partir do CD, sendo ideal para quem deseja testar uma distribuio Linux. Caso gosto, pode ser instalada diretamente no disco rgido. Distribuida a partir do CD, maravilhosa e suporta boa quantidade de hardwares disponveis. A verso instalada possui suporte a maioria dos winmodens mais encontrados no Brasil. http://fisica.ufpr.br/kurumin/ - Download da distribuio. Para contato com os grupos de usurios que utilizam estas distribuies, veja Listas de discusso on page 387.

1.6

Software Livre

(traduo do texto Linux e o Sistema GNU de Richard Stallman obtido no site do CIPSGA: http://www.cipsga.org.br/). O projeto GNU comeou h 12 anos atrs com o objetivo de desenvolver um sistema operacional Unix-like totalmente livre. Livre se refere liberdade, e no ao preo; signica que voc est livre para executar, distribuir, estudar, mudar e melhorar o software. Um sistema Unix-like consiste de muitos programas diferentes. Ns achamos alguns componentes j disponveis como softwares livres por exemplo, X Window e TeX. Obtemos outros componentes ajudando a convencer seus desenvolvedores a tornarem eles livres por exemplo, o Berkeley network utilities. Outros componentes ns escrevemos especicamente para o GNU por exemplo, GNU Emacs, o compilador GNU C, o GNU C library, Bash e Ghostscript. Os componentes desta ltima categoria so software GNU. O sistema GNU consiste de todas as trs categorias reunidas. O projeto GNU no somente desenvolvimento e distribuio de alguns softwares livres teis. O corao do projeto GNU uma idia: que software deve ser livre, e que a liberdade do usurio vale a pena ser defendida. Se as pessoas tm liberdade mas no a apreciam conscientemente, no iro mant-la por muito tempo. Se queremos que a liberdade dure, precisamos chamar a ateno das pessoas para a liberdade que elas tm em programas livres. O mtodo do projeto GNU que programas livres e a idia da liberdade dos usurios ajudamse mutuamente. Ns desenvolvemos software GNU, e conforme as pessoas encontrem programas GNU ou o sistema GNU e comecem a us-los, elas tambm pensam sobre a losoa GNU. O software mostra que a idia funciona na prtica. Algumas destas pessoas acabam

Captulo 1. Introduo

13

concordando com a idia, e ento escrevem mais programas livres. Ento, o software carrega a idia, dissemina a idia e cresce da idia. Em 1992, ns encontramos ou criamos todos os componentes principais do sistema exceto o kernel, que ns estvamos escrevendo. (Este kernel consiste do microkernel Mach mais o GNU HURD. Atualmente ele est funcionando, mas no est preparado para os usurios. Uma verso alfa dever estar pronta em breve.) Ento o kernel do Linux tornou-se disponvel. Linux um kernel livre escrito por Linus Torvalds compatvel com o Unix. Ele no foi escrito para o projeto GNU, mas o Linux e o quase completo sistema GNU zeram uma combinao til. Esta combinao disponibilizou todos os principais componentes de um sistema operacional compatvel com o Unix, e, com algum trabalho, as pessoas o tornaram um sistema funcional. Foi um sistema GNU variante, baseado no kernel do Linux. Ironicamente, a popularidade destes sistemas desmerece nosso mtodo de comunicar a idia GNU para as pessoas que usam GNU. Estes sistemas so praticamente iguais ao sistema GNU a principal diferena a escolha do kernel. Porm as pessoas normalmente os chamam de sistemas Linux (Linux systems). A primeira impresso que se tem a de que um sistema Linux soa como algo completamente diferente de sistema GNU, e isto que a maioria dos usurios pensam que acontece. A maioria das introdues para o sistema Linux reconhece o papel desempenhado pelos componentes de software GNU. Mas elas no dizem que o sistema como um todo uma variante do sistema GNU que o projeto GNU vem compondo por uma dcada. Elas no dizem que o objetivo de um sistema Unix-like livre como este veio do projeto GNU. Da a maioria dos usurios no saber estas coisas. Como os seres humanos tendem a corrigir as suas primeiras impresses menos do que as informaes subseqentes tentam dizer-lhes, estes usurios que depois aprendem sobre a relao entre estes sistemas e o projeto GNU ainda geralmente o subestima. Isto faz com que muitos usurios se identiquem como uma comunidade separada de usurios de Linux, distinta da comunidade de usurios GNU. Eles usam todos os softwares GNU; de fato, eles usam quase todo o sistema GNU; mas eles no pensam neles como usurios GNU, e freqentemente no pensam que a losoa GNU est relacionada a eles. Isto leva a outros problemas tambm mesmo dicultando cooperao com a manuteno de programas. Normalmente quando usurios mudam um programa GNU para fazer ele funcionar melhor em um sistema especco, eles mandam a mudana para o mantenedor do programa; ento eles trabalham com o mantenedor explicando a mudana, perguntando por ela, e s vezes reescrevendo-a para manter a coerncia e mantenebilidade do pacote, para ter o patch instalado. Mas as pessoas que pensam nelas como usurios Linux tendem a lanar uma verso Linuxonly do programa GNU, e consideram o trabalho terminado. Ns queremos cada e todos os programas GNU que funcionem out of the box em sistemas baseados em Linux; mas se os usurios no ajudarem, este objetivo se torna muito mais difcil de atingir. Como deve o projeto GNU lidar com este problema? O que ns devemos fazer agora para disseminar a idia de que a liberdade para os usurios de computador importante?

Captulo 1. Introduo

14

Ns devemos continuar a falar sobre a liberdade de compartilhar e modicar software e ensinar outros usurios o valor destas liberdades. Se ns nos beneciamos por ter um sistema operacional livre, faz sentido para ns pensar em preservar estas liberdades por um longo tempo. Se ns nos beneciamos por ter uma variedade de software livres, faz sentido pensar sobre encorajar outras pessoas a escrever mais software livre, em vez de software proprietrio. Ns no devemos aceitar a idia de duas comunidades separadas para GNU e Linux. Ao contrrio, devemos disseminar o entendimento de que sistemas Linux so variantes do sistema GNU, e que os usurios destes sistemas so tanto usurios GNU como usurios Linux (usurios do kernel do Linux). Usurios que tm conhecimento disto iro naturalmente dar uma olhada na losoa GNU que fez estes sistemas existirem. Eu escrevi este artigo como um meio de fazer isto. Outra maneira usar os termos sistema GNU baseado em Linux (Linux-based GNU system) ou sistema GNU/Linux (GNU/Linux system), em vez de sistema Linux, quando voc escreve sobre ou menciona este sistema.

1.7

Processamento de Dados

Processamento de Dados o envio de dados ao computador que sero processados e tero um resultado de sada til. Veja tambm Dispositivos de Entrada e Sada on page 20.

1.8

O Computador

uma mquina eletrnica que processa e armazena os dados e pode executar diversos programas para realizar uma srie de tarefas e assim atender a necessidade do seu utilizador. O computador no uma mquina inteligente, ele apenas executa as instrues dos programas que foram escritos pelo programador.

1.9

Conhecendo o Computador

Esta explica para que serve cada boto do painel do computador e monitor de vdeo. Se voc j sabe para que cada um serve, recomendo pular esta parte, o BE-A-BA. :-) Todo computador possuem funes que so usados em outros tipos e modelos. Voc pode ter um modelo de computador e um amigo seu outro tipo e mesmo tendo aparncia diferente, tero as mesmas funes.

1.9.1

Tipos de Gabinete

Quanto ao tipo, o gabinete pode ser Desktop, Mini-torre e Torre.

Captulo 1. Introduo

15

Desktop usado na posio Horizontal (como o vdeo cassete). Sua caracterstica que ocupa pouco espao em uma mesa, pois pode ser colocado sob o monitor. A desvantagem que normalmente possui pouco espao para a colocao de novas placas e perifricos. Outra desvantagem a diculdade na manuteno deste tipo de equipamento (hardware). Mini-Torre usado na posio Vertical (torre). o modelo mais usado. Sua caracterstica o espao interno para expanso e manipulao de perifricos. A desvantagem o espao ocupado em sua mesa :-). Torre Possui as mesmas caractersticas do Mini-torre, mas tem uma altura maior e mais espao para colocao de novos perifricos. Muito usado em servidores de rede e placas que requerem uma melhor refrigerao.

1.9.2

Painel Frontal

O painel frontal do computador tem os botes que usamos para ligar, desligar, e acompanhar o funcionamento do computador. Abaixo o signicado de cada um: Boto POWER Liga/Desliga o computador. Boto TURBO Se ligado, coloca a placa me em operao na velocidade mxima (o padro). Desligado, faz o computador funcionar mais lentamente (depende de cada placa me). Deixe sempre o TURBO ligado para seu computador trabalhar na velocidade mxima de processamento. Boto RESET Reinicia o computador. Quando o computador reiniciado, uma nova partida feita ( como se ns ligssemos novamente o computador). Este boto um dos mais usados por usurios Windows dentre os botes localizados no painel do microcomputador. No GNU/Linux raramente usado (com menos freqncia que a tecla SCROLL LOCK). recomendado se pressionar as teclas <CTRL> <ALT> <DEL> para reiniciar o computador e o boto RESET somente em ltimo caso, pois o <CTRL> <ALT> <DEL> avisa ao Linux que o usurio pediu para o sistema ser reiniciado assim ele poder salvar os arquivos, fechar programas e tomar outras providncias antes de resetar o computador. KEYLOCK Permite ligar/desligar o teclado. acionado por uma chave e somente na posio Cadeado Aberto permite a pessoa usar o teclado (usar o computador). Alguns computadores no possuem KEYLOCK. LED POWER Led (normalmente verde) no painel do computador que quando aceso, indica que o computador est ligado. O led um diodo emissor de luz (light emission diode) que emite luz fria. LED TURBO Led (normalmente amarelo) no painel do computador. Quando esta aceso, indica que a chave turbo est ligada e o computador funcionando a toda velocidade. Raramente as placas me Pentium e acima usam a chave turbo. Mesmo que exista no gabinete do micro, encontra-se desligada. LED HDD Led (normalmente vermelho) no painel do computador. Acende quando o disco rgido (ou discos) do computador esta sendo usado. Tambm acende quando uma unidade de CD-ROM est conectada na placa me e for usado.

Captulo 1. Introduo

16

1.9.3

Monitor de Vdeo

O monitor de vdeo se divide em dois tipos: Monocromtico - Mostra tons de cinza Policromtico - A conhecida tela colorida Quando ao padro do monitor, existem diversos: CGA - Color Graphics Adapter Capacidade de mostrar 4 cores simultneas em modo grco. Uma das primeiras usadas em computadores PCs, com baixa qualidade de imagem, poucos programas funcionavam em telas CGA, quase todos em modo texto. Ficou muito conhecida como tela verde embora existem modelos CGA preto e branco. Hrcules Semelhante ao CGA. Pode mostrar 2 cores simultneas em modo grco. A diferena que apresenta uma melhor qualidade para a exibio de grcos mas por outro lado, uma grande variedade de programas para monitores CGA no funcionam com monitores Hrcules por causa de seu modo de vdeo. Tambm conhecido por sua imagem amarela. Dependendo da placa de vdeo, voc pode congurar um monitor Hrcules monocromtico para trabalhar como CGA. EGA - Enhanced Graphics Adapter Capacidade de mostrar 16 cores simultneas em modo grco. Razovel melhora da qualidade grca, mais programas rodavam neste tipo de tela. Ficou mais conhecida aps o lanamento dos computadores 286, mas no Brasil cou pouco conhecida pois logo em seguida foi lanada o padro VGA. VGA - Video Graphics Array Capacidade de mostrar 256 cores simultneas. Boa qualidade grca, este modelo se mostrava capaz de rodar tanto programas texto como grcos com tima qualidade de imagem. Se tornou o padro mnimo para rodar programas em modo grco.

1.10

Placa Me

a placa principal do sistema onde esto localizados o Processador, Memria RAM, Memria Cache, BIOS, CMOS, RTC, etc. A placa me possui encaixes onde so inseridas placas de extenso (para aumentar as funes do computador). Estes encaixes so chamados de SLOTS.

1.10.1

Alguns componentes da placa me

Abaixo a descrio de alguns tipos de componentes eletrnicos que esto presentes na placa me. No se preocupe se no entender o que eles signicam agora: RAM - Memria de Acesso Aleatrio (Randomic Access Memory). uma memria de armazenamento temporrio dos programas e depende de uma fonte de energia para o armazenamento dos programas. uma memria eletrnica muito rpida assim os programas de computador so executados nesta memria. Seu tamanho medido em Kilobytes ou Megabytes. Os chips de memria RAM podem ser independentes (usando circuitos integrados encaixados em soquetes na placa me) ou agrupados placas de 30 pinos, 72 pinos e 168 pinos.

Captulo 1. Introduo

17

Quanto maior o tamanho da memria, mais espao o programa ter ao ser executado. O tamanho de memria RAM pedido por cada programa varia, o GNU/Linux precisa de no mnimo 2 MB de memria RAM para ser executado pelo processador. PROCESSADOR - a parte do computador responsvel pelo processamentos das instrues matemticas/lgicas e programas carregados na memria RAM. CO-PROCESSADOR - Ajuda o Processador principal a processar as instrues matemticas. normalmente embutido no Processador principal em computadores a partir do 486 DX2-66. CACHE - Memria de Armazenamento Auxiliar do Processador. Possui alta velocidade de funcionamento, normalmente a mesma que o processador. Serve para aumentar o desempenho de processamento. A memria Cache pode ser embutida na placa me ou encaixada externamente atravs de mdulos L2. BIOS - a memria ROM que contm as instrues bsicas para a inicializao do computador, reconhecimento e ativao dos perifricos conectados a placa me. As BIOS mais modernas (a partir do 286) tambm trazem um programa que usado para congurar o computador modicando os valores localizados na CMOS. As placas controladoras SCSI possuem sua prpria BIOS que identicam automaticamente os perifricos conectados a ela. Os seguintes tipos de chips podem ser usados para gravar a BIOS: ROM - Memria Somente para Leitura (Read Only Memory). Somente pode ser lida. programada de fbrica atravs de programao eltrica ou qumica. PROM - Memria Somente para Leitura Programvel (Programable Read Only Memory) idntica a ROM mas que pode ser programada apenas uma vez por mquinas Programadoras PROM. tambm chamada de MASK ROM. EPROM - Memria semelhante a PROM, mas seu contedo pode ser apagado atravs raios ultra-violeta. EEPROM - Memria semelhante a PROM, mas seu contedo pode ser apagado e regravado. Tambm chamada de Flash. CMOS - uma memria temporria alimentada por uma Bateria onde so lidas/armazenadas as conguraes do computador feitas pelo programa residente na BIOS.

1.11

Memria do Computador

A memria a parte do computador que permitem o armazenamento de dados. A memria dividida em dois tipos: Principal e Auxiliar. Normalmente quando algum fala em memria de computador est se referindo a memria Principal. Veja abaixo as descries de Memria Principal e Auxiliar.

Captulo 1. Introduo

18

1.11.1

Memria Principal

um tipo de memria eletrnica que depende de uma fonte de energia para manter os dados armazenados e perde os dados quando a fonte de energia desligada. A memria RAM do computador (Randomic Access Memory - Memria de Acesso aleatrio) o principal exemplo de memria de armazenamento Principal. Os dados so armazenados em circuitos integrados (chips) e enquanto voc est usando seu computador, a RAM armazena e executa seus programas. Os programas so executados na memria RAM porque a memria eletrnica muito rpida. Se desligarmos o computador ou ocorrer uma queda de energia, voc perder os programas que estiverem em execuo ou o trabalho que estiver fazendo. Por esse motivo necessrio o uso de uma memria auxiliar (veja Memria Auxiliar on the current page).

1.11.2

Memria Auxiliar

So dispositivos que no dependem de uma fonte de energia para manter os dados armazenados, os dados no so perdidos quando a fonte de energia desligada. As Memrias Auxiliares so muito mais lentas que as Memrias Principais porque utilizam mecanismos mecnicos e eltricos (motores e eletroms) para funcionar e fazer a leitura/gravao dos dados. Um exemplo de dispositivos de armazenamento auxiliar so os disquetes, discos rgidos, unidades de ta, Zip Drives, CD-ROM, etc. A Memria Auxiliar resolve o problema da perda de dados causado pela Memria Principal quando o computador desligado, desta forma podemos ler nossos arquivos e programas da memria Auxiliar e copia-los para a Memria Principal (memria RAM) para que possam ser novamente usados. Um exemplo simples de quando estiver editando um texto e precisar salva-lo, o que voc faz simplesmente salvar os dados da memria RAM que esto sendo editados para o disco rgido, desta forma voc estar guardando seu documento na Memria Auxiliar. Este tipo de memria mais lento que a memria principal, por este motivo que os programas somente so carregados e executados na Memria Principal.

1.12

Discos

Os discos so memrias de armazenamento Auxiliares. Entre os vrios tipos de discos existentes, posso citar os Flexveis, Rgidos e CDs. Veja as explicaes sobre cada um deles abaixo.

1.12.1

Discos Flexveis

So discos usados para armazenar e transportar pequenas quantidades de dados. Este tipo de disco normalmente encontrado no tamanho 3 1/2 (1.44MB) polegadas e 5 1/4 polegadas

Captulo 1. Introduo

19

(360Kb ou 1.2MB). Hoje os discos de 3 1/2 so os mais utilizados por terem uma melhor proteo por causa de sua capa plstica rgida, maior capacidade e o menor tamanho o que facilita seu transporte. Os disquetes so inseridos em um compartimento chamado de Unidade de Disquetes ou Drive que faz a leitura/gravao do disquete. Sua caracterstica a baixa capacidade de armazenamento e baixa velocidade no acesso aos dados mas podem ser usados para transportar os dados de um computador a outro com grande facilidade. Os disquetes de computador comuns so discos exveis.

1.12.2

Disco Rgido

um disco localizado dentro do computador. fabricado com discos de metal recompostos por material magntico onde os dados so gravados atravs de cabeas e revestido externamente por uma proteo metlica que preso ao gabinete do computador por parafusos. Tambm chamado de HD (Hard Disk) ou Winchester. nele que normalmente gravamos e executamos nossos programas mais usados. A caracterstica deste tipo de disco a alta capacidade de armazenamento de dados e alta velocidade no acesso aos dados.

1.12.3

CD

um tipo de disco que permite o armazenamento de dados atravs de um compact disc e os dados so lidos atravs de uma lente tica. A Unidade de CD localizada no gabinete do computador e pode ler CDs de msicas, arquivos, interativos, etc. Existem diversos tipos de CDs no mercado, entre eles: CD-R - CD gravvel, pode ser gravado apenas uma vez. Possui sua capacidade de armazenamento entre 600MB e 740MB dependendo do formato de gravao usado. Usa um formato lido por todas as unidades de CD-ROM disponveis no mercado. CD-RW - CD regravvel, pode ser gravado vrias vezes, ter seus arquivos apagados, etc. Seu uso semelhante ao de um disquete de alta capacidade. Possui capacidade de armazenamento de normalmente 640MB mas isto depende do fabricante. Usa um formato que lido apenas por unidades leitoras e gravadoras multiseo. DVD-ROM - CD ROM de alta capacidade de armazenamento. Pode armazenar mais de 17GB de arquivos ou programas. um tipo de CD muito novo no mercado e ainda em desenvolvimento. lido somente por unidades prprias para este tipo de disco.

1.13

Cuidados Bsicos com o Computador e Disquetes

Abaixo uma lista de cuidados bsicos para garantir uma melhor conservao e funcionamento de seu computador e disquetes.

Captulo 1. Introduo

20

No deixe seu computador em locais expostos a umidade ou sol. O mesmo se aplica a discos magnticos, como os disquetes. Limpe o Gabinete e o Monitor com um pano levemente umedecido em gua com sabo neutro ou soluo de limpeza apropriada para micros. No use lcool, querosene, acetona ou qualquer outro tipo de produto abrasivo. O uso de um destes podem estragar o gabinete de seu computador e se um destes produtos atingir a parte interna pode causar problemas nas placas ou at um incndio! No retire o Pino central da tomada do computador, ele no veio sobrando e tem utilidade! Este pino ligado a carcaa do computador (chassis) e deve ser ligado ao terra de sua rede eltrica. As descargas eltricas vindas da fonte e componentes do micro so feitas no chassis e se este pino for retirado voc poder tomar choques ao tocar em alguma parte metlica do micro e queimar componentes sensveis como o disco rgido, placa me, etc. Se estiver em dvida consulte um eletricista. No instale seu computador muito perto de campos magnticos com televisores, aparelhos de som, motores, etc. Estes aparelhos geram rudos eltricos e/ou magnticos que podem prejudicar o bom funcionamento de seu micro. OBS: As caixas de som de kits multimdia possuem os ms revestidos de metais em seus auto-falantes para no causar nenhuma interferncia ao computador. No coloque copos na bandeja da unidade de CD-ROM! No coloque objetos dentro da unidade de disquetes. Antes de desligar seu computador, utilize o comando shutdown -h now para nalizar os programas, salvar os dados, desmontar os sistemas de arquivos em seu sistema GNU/Linux. Para detalhes veja Desligando o computador on the facing page.

1.14

Dispositivos de Entrada e Sada

Entrada - Permite a comunicao do usurio com o computador. So dispositivos que enviam dados ao computador para processamento. Exemplos: Teclado, mouse, caneta tica, scanner. O dispositivo de entrada padro (stdin) em sistemas GNU/Linux o teclado. Sada - Permite a comunicao do computador com o usurio. So dispositivos que permitem o usurio visualizar o resultado do processamento enviado ao computador. Exemplos: Monitor, Impressora, Plotter. O dispositivo de sada padro (stdout) em sistemas GNU/Linux o Monitor.

Captulo 1. Introduo

21

1.15

Ligando o computador

Para ligar o computador pressione o boto POWER ou I/O localizado em seu painel frontal do micro. Imediatamente entrar em funcionamento um programa residente na memria ROM (Read Only Memory - memria somente para leitura) da placa me que far os testes iniciais para vericar se os principais dispositivos esto funcionando em seu computador (memria RAM, discos, processador, portas de impressora, memria cache, etc). Quando o ROM termina os testes bsicos, ele inicia a procura do setor de boot nos discos do computador que ser carregado na memria RAM do computador. Aps carregar o setor de boot, o sistema operacional ser iniciado (veja Sistema Operacional on page 5). O setor de boot contm a poro principal usada para iniciar o sistema operacional. No GNU/Linux, o setor de boot normalmente criado por um gerenciador de inicializao (um programa que permite escolher qual sistema operacional ser iniciado). Deste modo podemos usar mais de um sistema operacional no mesmo computador (como o DOS e Linux). O gerenciador de inicializao mais usado em sistemas GNU/Linux na plataforma Intel X86 o LILO. Caso o ROM no encontre o sistema operacional em nenhum dos discos, ele pedir que seja inserido um disquete contendo o Sistema Operacional para partida.

1.16

Desligando o computador

Para desligar o computador primeiro digite (como root): shutdown -h now, halt ou poweroff, o GNU/Linux nalizar os programas e gravar os dados em seu disco rgido, quando for mostrada a mensagem power down, pressione o boto POWER em seu gabinete para desligar a alimentao de energia do computador. NUNCA desligue diretamente o computador sem usar o comando shutdown, halt ou poweroff, pois podem ocorrer perda de dados ou falhas no sistema de arquivos de seu disco rgido devido a programas abertos e dados ainda no gravados no disco. Salve seus trabalhos para no correr o risco de perde-los durante o desligamento do computador.

1.17

Reiniciando o computador

Reiniciar quer dizer iniciar novamente o sistema. No recomendvel desligar e ligar constantemente o computador pelo boto ON/OFF, por este motivo existe recursos para reiniciar o sistema sem desligar o computador. No GNU/Linux voc pode usar o comando reboot, shutdown -r now e tambm pressionar simultaneamente as teclas <CTRL> <ALT> <DEL> para reiniciar de uma forma segura. Observaes:

Captulo 1. Introduo

22

Salve seus trabalhos para no correr o risco de perde-los durante a reinicializao do sistema. O boto reset do painel frontal do computador tambm reinicia o computador, mas de uma maneira mais forte pois est ligado diretamente aos circuitos da placa me e o sistema ser reiniciado imediatamente, no tendo nenhuma chance de nalizar corretamente os programas, gravar os dados da memria no disco e desmontar os sistemas de arquivos. O uso indevido da tecla reset pode causar corrompimentos em seus arquivos e perdas. Prera o mtodo de reinicializao explicado acima e use o boto reset somente em ltimo caso.

23

Captulo 2

Explicaes Bsicas
Este captulo traz explicaes sobre os principais componentes existentes no computador e do sistema operacional.

2.1

Hardware e Software

Hardware - Signica parte fsica do computador (disquete, impressoras, monitores, placa me, placa de fax, discos rgidos, etc). Software - So os programas usados no computador (sistema operacional, processador de textos, planilha, banco de dados, scripts, comandos, etc).

2.2

Arquivos

onde gravamos nossos dados. Um arquivo pode conter um texto feito por ns, uma msica, programa, planilha, etc. Cada arquivo deve ser identicado por um nome, assim ele pode ser encontrado facilmente quando desejar usa-lo. Se estiver fazendo um trabalho de histria, nada melhor que salva-lo com o nome historia. Um arquivo pode ser binrio ou texto (para detalhes veja Arquivo texto e binrio on page 25). O GNU/Linux Case Sensitive ou seja, ele diferencia letras maisculas e minsculas nos arquivos. O arquivo historia completamente diferente de Historia. Esta regra tambm vlido para os comandos e diretrios. Prera, sempre que possvel, usar letras minsculas para identicar seus arquivos, pois quase todos os comandos do sistema esto em minsculas. Um arquivo oculto no GNU/Linux identicado por um . no inicio do nome (por exemplo, .bashrc). Arquivos ocultos no aparecem em listagens normais de diretrios, deve ser usado o comando ls -a para tambm listar arquivos ocultos.

Captulo 2. Explicaes Bsicas

24

2.2.1

Extenso de arquivos

A extenso serve para identicar o tipo do arquivo. A extenso so as letras aps um . no nome de um arquivo, explicando melhor: relatrio.txt - O .txt indica que o contedo um arquivo texto. script.sh - Arquivo de Script (interpretado por /bin/sh). system.log - Registro de algum programa no sistema. arquivo.gz - Arquivo compactado pelo utilitrio gzip. index.html - Pgina de Internet (formato Hypertexto). A extenso de um arquivo tambm ajuda a saber o que precisamos fazer para abri-lo. Por exemplo, o arquivo relatrio.txt um texto simples e podemos ver seu contedo atravs do comando cat on page 133, j o arquivo index.html contm uma pgina de Internet e precisaremos de um navegador para poder visualiza-lo (como o lynx, Mosaic ou o Netscape). A extenso (na maioria dos casos) no requerida pelo sistema operacional GNU/Linux, mas conveniente o seu uso para determinarmos facilmente o tipo de arquivo e que programa precisaremos usar para abri-lo.

2.2.2

Tamanho de arquivos

A unidade de medida padro nos computadores o bit. A um conjunto de 8 bits ns chamamos de byte. Cada arquivo/diretrio possui um tamanho, que indica o espao que ele ocupa no disco e isto medido em bytes. O byte representa uma letra. Assim, se voc criar um arquivo vazio e escrever o nome Linux e salvar o arquivo, este ter o tamanho de 5 bytes. Espaos em branco e novas linhas tambm ocupam bytes. Alm do byte existem as medidas Kbytes, Mbytes, Gbytes. Os prexos K (quilo), M (mega), G (giga), T (tera) etc. vem da matemtica. O K signica multiplicar por 10^3, o M por 10^6, e assim por diante. Esta letras servem para facilitar a leitura em arquivos de grande tamanho. Um arquivo de 1K a mesma coisa de um arquivo de 1024 bytes. Uma forma que pode inicialmente lhe ajudar a lembrar: K vem de Kilo que igual a 1000 - 1Kilo igual a 1000 gramas certo?. Da mesma forma 1Mb (ou 1M) igual a um arquivo de 1024K ou 1.048.576 bytes 1Gb (ou 1G) igual a um arquivo de 1024Mb ou 1048576Kb ou 1.073.741.824 bytes (1 Gb igual a 1.073.741.824 bytes, so muitos nmeros!). Deu pra notar que mais fcil escrever e entender como 1Gb do que 1.073.741.824 bytes :-) A lista completa em ordem progressiva das unidades de medida a seguinte:

Captulo 2. Explicaes Bsicas

25

Smbolo 10^ 2^ Nome K M G T P E Z Y 3 6 9 12 15 18 21 24 10 20 30 40 50 60 70 80 Quilo Mega Giga Tera Peta Eta Zetta Yotta

2.2.3

Arquivo texto e binrio

Quanto ao tipo, um arquivo pode ser de texto ou binrio: texto Seu contedo compreendido pelas pessoas. Um arquivo texto pode ser uma carta, um script, um programa de computador escrito pelo programador, arquivo de congurao, etc. binrio Seu contedo somente pode ser entendido por computadores. Contm caracteres incompreensveis para pessoas normais. Um arquivo binrio gerado atravs de um arquivo de programa (formato texto) atravs de um processo chamado de compilao. Compilao basicamente a converso de um programa em linguagem humana para a linguagem de mquina.

2.3

Diretrio

Diretrio o local utilizado para armazenar conjuntos arquivos para melhor organizao e localizao. O diretrio, como o arquivo, tambm Case Sensitive (diretrio /teste completamente diferente do diretrio /Teste). No podem existir dois arquivos com o mesmo nome em um diretrio, ou um sub-diretrio com um mesmo nome de um arquivo em um mesmo diretrio. Um diretrio nos sistemas Linux/UNIX so especicados por uma / e no uma \ como feito no DOS. Para detalhes sobre como criar um diretrio, veja o comando mkdir (mkdir on page 131).

2.3.1

Diretrio Raz

Este o diretrio principal do sistema. Dentro dele esto todos os diretrios do sistema. O diretrio Raz representado por uma /, assim se voc digitar o comando cd / voc estar acessando este diretrio.

Captulo 2. Explicaes Bsicas

26

Nele esto localizados outros diretrios como o /bin,/sbin,/usr,/usr/local,/mnt, /tmp,/var,/home, etc. Estes so chamados de sub-diretrios pois esto dentro do diretrio /. A estrutura de diretrios e sub-diretrios pode ser identicada da seguinte maneira: / /bin /sbin /usr /usr/local /mnt /tmp /var /home A estrutura de diretrios tambm chamada de rvore de Diretrios porque parecida com uma rvore de cabea para baixo. Cada diretrio do sistema tem seus respectivos arquivos que so armazenados conforme regras denidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padro do Sistema de Arquivos) verso 2.0, denindo que tipo de arquivo deve ser armazenado em cada diretrio.

2.3.2

Diretrio atual

o diretrio em que nos encontramos no momento. Voc pode digitar pwd (veja pwd on page 131) para vericar qual seu diretrio atual. O diretrio atual tambm identicado por um . (ponto). O comando comando ls . pode ser usado para listar seus arquivos ( claro que isto desnecessrio porque se no digitar nenhum diretrio, o comando ls listar o contedo do diretrio atual).

2.3.3

Diretrio home

Tambm chamado de diretrio de usurio. Em sistemas GNU/Linux cada usurio (inclusive o root) possui seu prprio diretrio onde poder armazenar seus programas e arquivos pessoais. Este diretrio est localizado em /home/[login], neste caso se o seu login for joao o seu diretrio home ser /home/joao. O diretrio home tambm identicado por um ~(til), voc pode digitar tanto o comando ls /home/joao como ls ~ para listar os arquivos de seu diretrio home. O diretrio home do usurio root (na maioria das distribuies GNU/Linux) est localizado em /root. Dependendo de sua congurao e do nmero de usurios em seu sistema, o diretrio de usurio pode ter a seguinte forma: /home/[1letra_do_nome]/[login], neste caso se o seu login for joao o seu diretrio home ser /home/j/joao.

Captulo 2. Explicaes Bsicas

27

2.3.4

Diretrio Superior

O diretrio superior (Upper Directory) identicado por .. (2 pontos). Caso estiver no diretrio /usr/local e quiser listar os arquivos do diretrio /usr voc pode digitar, ls .. Este recurso tambm pode ser usado para copiar, mover arquivos/diretrios, etc.

2.3.5

Diretrio Anterior

O diretrio anterior identicado por -. til para retornar ao ltimo diretrio usado. Se estive no diretrio /usr/local e digitar cd /lib, voc pode retornar facilmente para o diretrio /usr/local usando cd -.

2.3.6

Caminho na estrutura de diretrios

So os diretrios que teremos que percorrer at chegar no arquivo ou diretrio que que procuramos. Se desejar ver o arquivo /usr/doc/copyright/GPL voc tem duas opes: 1 Mudar o diretrio padro para /usr/doc/copyright com o comando cd /usr/doc/copyright e usar o comando cat GPL 2 Usar o comando cat especicando o caminho completo na estrutura de diretrios e o nome de arquivo: cat /usr/doc/copyright/GPL. As duas solues acima permitem que voc veja o arquivo GPL. A diferena entre as duas a seguinte: Na primeira, voc muda o diretrio padro para /usr/doc/copyright (conra digitando pwd) e depois o comando cat GPL. Voc pode ver os arquivos de /usr/doc /copyright com o comando ls. /usr/doc/copyright o caminho de diretrio que devemos percorrer para chegar at o arquivo GPL. Na segunda, digitado o caminho completo para o cat localizar o arquivo GPL: cat /usr/doc/copyright/GPL. Neste caso, voc continuar no diretrio padro (conra digitando pwd). Digitando ls, os arquivos do diretrio atual sero listados. O caminho de diretrios necessrio para dizer ao sistema operacional onde encontrar um arquivo na rvore de diretrios.

2.3.7

Exemplo de diretrio

Um exemplo de diretrio o seu diretrio de usurio, todos seus arquivos essenciais devem ser colocadas neste diretrio. Um diretrio pode conter outro diretrio, isto til quando temos muitos arquivos e queremos melhorar sua organizao. Abaixo um exemplo de uma empresa que precisa controlar os arquivos de Pedidos que emite para as fbricas: /pub/vendas - diretrio principal de vendas /pub/vendas/mes01-99 - diretrio contendo vendas do ms 01/1999 /pub/vendas/mes02-99 - diretrio contendo vendas do ms 02/1999 /pub/vendas/mes03-99 - diretrio contendo vendas do ms 03/1999

Captulo 2. Explicaes Bsicas

28

o diretrio vendas o diretrio principal. mes01-99 subdiretrio que contm os arquivos de vendas do ms 01/1999. mes02-99 subdiretrio que contm os arquivos de vendas do ms 02/1999. mes03-99 subdiretrio que contm os arquivos de vendas do ms 03/1999. mes01-99,mes02-99,mes03-99 so diretrios usados para armazenar os arquivos de pedidos do ms e ano correspondente. Isto essencial para organizao, pois se todos os pedidos fossem colocados diretamente no diretrio vendas, seria muito difcil encontrar o arquivo do cliente Joo ;-) Voc deve ter reparado que usei a palavra sub-diretrio para mes01-99, mes02-99 e mes0399, porque que eles esto dentro do diretrio vendas. Da mesma forma, vendas um subdiretrio de pub.

2.3.8

Estrutura bsica de diretrios do Sistema Linux

O sistema GNU/Linux possui a seguinte estrutura bsica de diretrios organizados segundo o FHS (Filesystem Hierarchy Standard): /bin Contm arquivos programas do sistema que so usados com freqncia pelos usurios. /boot Contm arquivos necessrios para a inicializao do sistema. /cdrom Ponto de montagem da unidade de CD-ROM. /dev Contm arquivos usados para acessar dispositivos (perifricos) existentes no computador. /etc Arquivos de congurao de seu computador local. /floppy Ponto de montagem de unidade de disquetes /home Diretrios contendo os arquivos dos usurios. /lib Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel. /lost+found Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. Cada partio possui seu prprio diretrio lost+found. /mnt Ponto de montagem temporrio. /proc Sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e usado por diversos programas que fazem sua leitura, vericam conguraes do sistema ou modicar o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos. /root Diretrio do usurio root. /sbin Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema.

Captulo 2. Explicaes Bsicas

29

/tmp Diretrio para armazenamento de arquivos temporrios criados por programas. /usr Contm maior parte de seus programas. Normalmente acessvel somente como leitura. /var Contm maior parte dos arquivos que so gravados com freqncia pelos programas do sistema, e-mails, spool de impressora, cache, etc.

2.4

Nomeando Arquivos e Diretrios

No GNU/Linux, os arquivos e diretrios pode ter o tamanho de at 255 letras. Voc pode identica-lo com uma extenso (um conjunto de letras separadas do nome do arquivo por um .). Os programas executveis do GNU/Linux, ao contrrio dos programas de DOS e Windows, no so executados a partir de extenses .exe,.com ou .bat. O GNU/Linux (como todos os sistemas POSIX) usa a permisso de execuo de arquivo para identicar se um arquivo pode ou no ser executado. No exemplo anterior, nosso trabalho de histria pode ser identicado mais facilmente caso fosse gravado com o nome trabalho.text ou trabalho.txt. Tambm permitido gravar o arquivo com o nome TrabalhodeHistoria.txt mas no recomendado gravar nomes de arquivos e diretrios com espaos. Porque ser necessrio colocar o nome do arquivo entre aspas para acessa-lo (por exemplo, cat Trabalho de Historia.txt). Ao invs de usar espaos, prera capitalizar o arquivo (usar letras maisculas e minsculas para identicalo): TrabalhodeHistoria.txt.

2.5

Comandos

Comandos so ordens que passamos ao sistema operacional para executar uma determinada tarefa. Cada comando tem uma funo especca, devemos saber a funo de cada comando e escolher o mais adequado para fazer o que desejamos, por exemplo: ls - Mostra arquivos de diretrios cd - Para mudar de diretrio Este guia tem uma lista de vrios comandos organizados por categoria com a explicao sobre o seu funcionamento e as opes aceitas (incluindo alguns exemplos). sempre usado um espao depois do comando para separ-lo de uma opo ou parmetro que ser passado para o processamento. Um comando pode receber opes e parmetros: opes As opes so usadas para controlar como o comando ser executado, por exemplo, para fazer uma listagem mostrando o dono, grupo, tamanho dos arquivos voc deve digitar ls -l. Opes podem ser passadas ao comando atravs de um - ou : - Opo identicada por uma letra. Podem ser usadas mais de uma opo com um nico hfen. O comando ls -l -a a mesma coisa de ls -la Opo identicada por um nome. O comando ls --all equivalente a ls -a.

Captulo 2. Explicaes Bsicas

30

Pode ser usado tanto - como , mas h casos em que somente - ou esta disponvel. parmetros Um parmetro identica o caminho, origem, destino, entrada padro ou sada padro que ser passada ao comando. Se voc digitar: ls /usr/doc/copyright, /usr/doc /copyright ser o parmetro passado ao comando ls, neste caso queremos que ele liste os arquivos do diretrio /usr/doc/copyright. normal errar o nome de comandos, mas no se preocupe, quando isto acontecer o sistema mostrar a mensagem command not found (comando no encontrado) e voltar ao aviso de comando. As mensagens de erro no fazem nenhum mal ao seu sistema, somente dizem que algo deu errado para que voc possa corrigir e entender o que aconteceu. No GNU/Linux, voc tem a possibilidade de criar comandos personalizados usando outros comandos mais simples (isto ser visto mais adiante). Os comandos se encaixam em duas categorias: Comandos Internos e Comandos Externos. Por exemplo: ls -la /usr/doc, ls o comando, -la a opo passada ao comando, e /usr/doc o diretrio passado como parmetro ao comando ls.

2.5.1

Comandos Internos

So comandos que esto localizados dentro do interpretador de comandos (normalmente o Bash) e no no disco. Eles so carregados na memria RAM do computador junto com o interpretador de comandos. Quando executa um comando, o interpretador de comandos verica primeiro se ele um Comando Interno caso no seja vericado se um Comando Externo. Exemplos de comandos internos so: cd, exit, echo, bg, fg, source, help

2.6

Comandos Externos

So comandos que esto localizados no disco. Os comandos so procurados no disco usando o path e executados assim que encontrados. Para detalhes veja path on page 116.

2.7

Aviso de comando (Prompt)

Aviso de comando (ou Prompt), a linha mostrada na tela para digitao de comandos que sero passados ao interpretador de comandos para sua execuo. A posio onde o comando ser digitado marcado um trao piscante na tela chamado de cursor. Tanto em shells texto como em grcos necessrio o uso do cursor para sabermos onde iniciar a digitao de textos e nos orientarmos quanto a posio na tela. O aviso de comando do usurio root identicado por uma # (tralha), e o aviso de comando de usurios identicado pelo smbolo $. Isto padro em sistemas UNIX.

Captulo 2. Explicaes Bsicas

31

Voc pode retornar comandos j digitados pressionando as teclas Seta para cima / Seta para baixo. A tela pode ser rolada para baixo ou para cima segurando a tecla SHIFT e pressionando PGUP ou PGDOWN. Isto til para ver textos que rolaram rapidamente para cima. Abaixo algumas dicas sobre a edio da linha de comandos (no necessrio se preocupar em decora-los): Pressione a tecla Back Space (<) para apagar um caracter esquerda do cursor. Pressione a tecla Del para apagar o caracter acima do cursor. Pressione CTRL+A para mover o cursor para o inicio da linha de comandos. Pressione CTRL+E para mover o cursor para o m da linha de comandos. Pressione CTRL+U para apagar o que estiver esquerda do cursor. O contedo apagado copiado para uso com CTRL+y. Pressione CTRL+K para apagar o que estiver direita do cursor. O contedo apagado copiado para uso com CTRL+y. Pressione CTRL+L para limpar a tela e manter o texto que estiver sendo digitado na linha de comando (parecido com o comando clear). Pressione CTRL+Y para colocar o texto que foi apagado na posio atual do cursor.

2.8

Interpretador de comandos

Tambm conhecido como shell. o programa responsvel em interpretar as instrues enviadas pelo usurio e seus programas ao sistema operacional (o kernel). Ele que executa comandos lidos do dispositivo de entrada padro (teclado) ou de um arquivo executvel. a principal ligao entre o usurio, os programas e o kernel. O GNU/Linux possui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash, csh, tcsh, sh, etc. Entre eles o mais usado o bash. O interpretador de comandos do DOS, por exemplo, o command.com. Os comandos podem ser enviados de duas maneiras para o interpretador: interativa e no-interativa: Interativa Os comandos so digitados no aviso de comando e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usurio para executar uma tarefa, ou prximo comando. No-interativa So usados arquivos de comandos criados pelo usurio (scripts) para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um e dependendo do trmino do

Captulo 2. Explicaes Bsicas

32

comando, o script pode checar qual ser o prximo comando que ser executado e dar continuidade ao processamento. Este sistema til quando temos que digitar por vrias vezes seguidas um mesmo comando ou para compilar algum programa complexo. O shell Bash possui ainda outra caracterstica interessante: A completao dos nomes. Isto feito pressionando-se a tecla TAB. Por exemplo, se digitar ls tes e pressionar <tab>, o Bash localizar todos os arquivos que iniciam com tes e completar o restante do nome. Caso a completao de nomes encontre mais do que uma expresso que satisfaa a pesquisa, ou nenhuma, emitido um beep. Se voc apertar novamente a tecla TAB imediatamente depois do beep, o interpretador de comandos ir listar as diversas possibilidades que satisfazem a pesquisa, para que voc possa escolher a que lhe interessa. A completao de nomes funciona sem problemas para comandos internos. Exemplo: ech (pressione TAB). ls /vm(pressione TAB)

2.9

Terminal Virtual (console)

Terminal (ou console) o teclado e tela conectados em seu computador. O GNU/Linux faz uso de sua caracterstica multi-usuria usando os terminais virtuais. Um terminal virtual uma segunda seo de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente via telnet, rsh, rlogin, etc. No GNU/Linux, em modo texto, voc pode acessar outros terminais virtuais segurando a tecla ALT e pressionando F1 a F6. Cada tecla de funo corresponde a um nmero de terminal do 1 ao 6 (o stimo usado por padro pelo ambiente grco X). O GNU/Linux possui mais de 63 terminais virtuais, mas apenas 6 esto disponveis inicialmente por motivos de economia de memria RAM (cada terminal virtual ocupa aproximadamente 350 Kb de memria RAM, desative a quantidade que no estiver usando para liberar memria RAM para uso de outros programas!) . Se estiver usando o modo grco, voc deve segurar CTRL+ ALT enquanto pressiona uma tela de <F1> a <F6>. Um exemplo prtico: Se voc estiver usando o sistema no Terminal 1 com o nome joao e desejar entrar como root para instalar algum programa, segure ALT enquanto pressiona <F2> para abrir o segundo terminal virtual e faa o login como root. Ser aberta uma nova seo para o usurio root e voc poder retornar a hora que quiser para o primeiro terminal pressionando ALT+<F1>.

2.10

Login

Login a entrada no sistema quando voc digita seu nome e senha. Por enquanto vou manter o seu suspense sobre o que o logout.

Captulo 2. Explicaes Bsicas

33

2.11

Logout

Logout a sada do sistema. A sada do sistema feita pelos comandos logout, exit, CTRL+D, ou quando o sistema reiniciado ou desligado.

2.12

Curingas

Curingas (ou referncia global) um recurso usado para especicar um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc faa a ltragem do que ser listado, copiado, apagado, etc. So usados 4 tipos de curingas no GNU/Linux: * - Faz referncia a um nome completo/restante de um arquivo/diretrio. ? - Faz referncia a uma letra naquela posio. [padro] - Faz referncia a uma faixa de caracteres de um arquivo/diretrio. Padro pode ser: [a-z][0-9] - Faz referncia a caracteres de a at z seguido de um caracter de 0 at 9. [a,z][1,0] - Faz a referncia aos caracteres a e z seguido de um caracter 1 ou 0 naquela posio. [a-z,1,0] - Faz referncia a intervalo de caracteres de a at z ou 1 ou 0 naquela posio. A procura de caracteres Case Sensitive assim se voc deseja que sejam localizados todos os caracteres alfabticos voc deve usar [a-zA-Z]. Caso a expresso seja precedida por um ^, faz referncia a qualquer caracter exceto o da expresso. Por exemplo [^abc] faz referncia a qualquer caracter exceto a, b e c. {padres} - Expande e gera strings para pesquisa de padres de um arquivo/diretrio. X{ab,01} - Faz referncia a seqencia de caracteres Xab ou X01 X{a-z,10} Faz referencia a seqencia de caracteres Xa-z e X10. O que diferencia este mtodo de expanso dos demais que a existncia do arquivo/diretrio opcional para gerao do resultado. Isto til para a criao de diretrios. Lembrando que os 4 tipos de curingas (*, ?, [], {}) podem ser usados juntos. Para entender melhor vamos a prtica: Vamos dizer que tenha 5 arquivo no diretrio /usr/teste: teste1.txt,teste2.txt, teste3.txt,teste4.new,teste5.new. Caso deseje listar todos os arquivos do diretrio /usr/teste voc pode usar o coringa * para especicar todos os arquivos do diretrio: cd /usr/teste e ls * ou ls /usr/teste/*.

Captulo 2. Explicaes Bsicas

34

No tem muito sentido usar o comando ls com * porque todos os arquivos sero listados se o ls for usado sem nenhum Coringa. Agora para listar todos os arquivos teste1.txt,teste2.txt,teste3.txt com excesso de teste4.new, teste5.new, podemos usar inicialmente 3 mtodos: 1 Usando o comando ls *.txt que pega todos os arquivos que comeam com qualquer nome e terminam com .txt. 2 Usando o comando ls teste?.txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter no lugar do coringa ? e terminem com .txt. Com o exemplo acima teste*.txt tambm faria a mesma coisa, mas se tambm tivssemos um arquivo chamado teste10.txt este tambm seria listado. 3 Usando o comando ls teste[1-3].txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter entre o nmero 1-3 no lugar da 6a letra e terminem com .txt. Neste caso se obtm uma ltragem mais exata, pois o coringa ? especica qualquer caracter naquela posio e [] especica nmeros, letras ou intervalo que ser usado. Agora para listar somente teste4.new e teste5.new podemos usar os seguintes mtodos: 1 ls *.new que lista todos os arquivos que terminam com .new 2 ls teste?.new que lista todos os arquivos que comeam com teste, contenham qualquer caracter na posio do coringa ? e terminem com .new. 3 ls teste[4,5].* que lista todos os arquivos que comeam com teste contenham nmeros de 4 e 5 naquela posio e terminem com qualquer extenso. Existem muitas outras formas de se fazer a mesma coisa, isto depende do gosto de cada um. O que pretendi fazer aqui foi mostrar como especicar mais de um arquivo de uma s vez. O uso de curingas ser til ao copiar arquivos, apagar, mover, renomear, e nas mais diversas partes do sistema. Alias esta uma caracterstica do GNU/Linux: permitir que a mesma coisa possa ser feita com liberdade de vrias maneiras diferentes.

35

Captulo 3

Hardware
Hardware tudo que diz respeito a parte fsica do computador. Nesta seo sero abordados assuntos relacionados com a congurao de hardwares, escolha de bons hardwares, dispositivos for Windows, etc.

3.1

Placa de expanso

um circuito eletrnico encaixado na placa me que tem por objetivo adicionar novas funcionalidades ao computador. Esta placa pode ser uma: placa de som - para fazer o computador emitir sons, msicas, ligar um joystick, etc. fax-modem - para enviar/receber fax, conectar-se a internet, BBS, acesso remoto, bina, etc. rede - para permitir a comunicao com outros computadores em uma rede interna controladora de perifricos - Para ligar discos rgidos, unidades de disquete, impressora, mouse, joystick, etc. SCSI - Para ligar unidades de disco rgidos e perifricos de alto desempenho. Controladora de Scanner - Para ligar um Scanner externo ao micro computador. O encaixe da placa me que recebe as placas de expanso so chamados de Slots.

3.2

Nomes de dispositivos

Seria terrvel se ao congurar CADA programa que utilize o mouse ou o modem precisssemos nos se referir a ele pela IRQ, I/O, etc. . . para evitar isso so usados os nomes de dispositivos.

Captulo 3. Hardware

36

Os nomes de dispositivos no sistema GNU/Linux so acessados atravs do diretrio /dev. Aps congurar corretamente o modem, com sua porta I/O 0x2F8 e IRQ 3, ele identicado automaticamente por /dev/ttyS1 (equivalente a COM2 no DOS). Daqui para frente basta se referir a /dev/ttyS1 para fazer alguma coisa com o modem. Voc tambm pode fazer um link de /dev/ttyS1 para um arquivo chamado /dev/modem usando: ln -s /dev/ttyS1 /dev/modem, faa a congurao dos seus programas usando /dev/modem ao invs de /dev/ttyS1 e se precisar recongurar o seu modem e a porta serial mudar para /dev/ttyS3, ser necessrio somente apagar o link /dev/modem antigo e criar um novo apontando para a porta serial /dev/ttyS3. No ser necessrio recongurar os programas que usam o modem pois eles esto usando /dev/modem que est apontando para a localizao correta. Isto muito til para um bom gerenciamento do sistema. Abaixo uma tabela com o nome do dispositivo no GNU/Linux, portas I/O, IRQ, DMA e nome do dispositivo no DOS (os nomes de dispositivos esto localizados no diretrio /dev): Dispos. Linux ttyS0 ttyS1 ttyS2 ttyS3 lp0 lp1 /dev/hda1 /dev/hda2 /dev/hdb1 Dispos. DOS COM1 COM2 COM3 COM4 LPT1 LPT2 C: D: * D: *

IRQ 4 3 4 3 7 5 14 14 15

DMA 3(ECP) 3(ECP) -

I/O 0x3F8 0x2F8 0x3E8 0x2E8 0x378 0x278 0x1F0,0x3F6 0x1F0,0x3F6 0x170,0x376

* A designao de letras de unidade do DOS no padro como no GNU/Linux e depende da existncia de outras unidades fsicas/lgicas no computador.

3.3

Congurao de Hardware

A congurao consiste em ajustar as opes de funcionamento dos dispositivos (perifricos) para comunicao com a placa me. Um sistema bem congurado consiste em cada dispositivo funcionando com suas portas I/O, IRQ, DMA bem denidas, no existindo conitos com outros dispositivos. Isto tambm permitir a adio de novos dispositivos ao sistema sem problemas. importante conhecer bem a congurao dos dispositivos do sistema para saber identicar e corrigir possveis problemas de conitos e o que deve ser modicado, caso seja necessrio. Os parmetros usados para congurar dispositivos de hardware so a IRQ, DMA e I/O. Nem todo dispositivo usam estes trs parmetros, alguns apenas a I/O e IRQ, outros apenas a I/O, etc.

Captulo 3. Hardware

37

3.3.1

IRQ - Requisio de Interrupo

Existem dois tipos bsicos de interrupes: as usadas por dispositivos (para a comunicao com a placa me) e programas (para obter a ateno do processador). As interrupes de software so mais usadas por programas, incluindo o sistema operacional e interrupes de hardware mais usado por perifricos. Daqui para frente ser explicado somente detalhes sobre interrupes de hardware. Os antigos computadores 8086/8088 (XT) usavam somente 8 interrupes de hardware operando a 8 bits. Com o surgimento do AT foram includas 8 novas interrupes, operando a 16 bits. Os computadores 286 e superiores tem 16 interrupes de hardware numeradas de 0 a 15. Estas interrupes oferecem ao dispositivo associado a capacidade de interromper o que o processador estiver fazendo, pedindo ateno imediata. As interrupes do sistema podem ser visualizadas no kernel com o comando cat /proc/interrupts. Abaixo um resumo do uso mais comum das 16 interrupes de hardware: 0 01 02 Timer do Sistema Teclado - Fixa Controlador de Interrupo Programvel - Fixa. Esta interrupo usada como ponte para a IRQ 9 e vem dos antigos processadores 8086/8088 que somente tinham 8 IRQs. Assim, pera tornar processadores 8088 e 80286 comunicveis, a IRQ 2 usada como um redirecionador quando se utiliza uma interrupo acima da 8. Normalmente usado por /dev/ttyS1 mas seu uso depende dos dispositivos instalados em seu sistema (como fax-modem, placas de rede 8 bits, etc). Normalmente usado por /dev/ttyS0 e quase sempre usada pelo mouse serial a no ser que um mouse PS2 esteja instalado no sistema. Normalmente a segunda porta paralela. Muitos micros no tem a segunda porta paralela, assim comum encontrar placas de som e outros dispositivos usando esta IRQ. Controlador de Disquete - Esta interrupo pode ser compartilhada com placas aceleradoras de disquete usadas em tapes (unidades de fita). Primeira porta de impressora. Pessoas tiveram sucesso compartilhando esta porta de impressora com a segunda porta de impressora. Muitas impressoras no usam IRQs. - Fixa

03

04

05

06

07

Captulo 3. Hardware

38

08

Relgio em tempo real do CMOS - No pode ser usado por nenhum outro dispositivo. Esta uma ponte para IRQ2 e deve ser a ltima IRQ a ser utilizada. No entanto pode ser usada por dispositivos. Interrupo normalmente livre para dispositivos. O controlador USB utiliza essa interrupo quando presente, mas no regra. Interrupo livre para dispositivos Interrupo normalmente livre para dispositivos. O mouse PS/2, quando presente, utiliza esta interrupo. Processador de dados numricos - No pode ser usada ou compartilhada Esta interrupo usada pela primeira controladora de discos rgidos e no pode ser compartilhada. Esta a interrupo usada pela segunda controladora de discos e no pode ser compartilhada. Pode ser usada caso a segunda controladora esteja desativada.

09

10

11 12

13 14

15

Dispositivos ISA, VESA, EISA, SCSI no permitem o compartilhamento de uma mesma IRQ, talvez isto ainda seja possvel caso no haja outras opes disponveis e/ou os dois dispositivos no acessem a IRQ ao mesmo tempo, mas isto uma soluo precria. Conitos de IRQ ocorrem quando dois dispositivos disputam uma mesma IRQ, e normalmente ocasionam a parada ou mal funcionamento de um dispositivo e/ou de todo o sistema. Para resolver um conito de IRQs, deve-se conhecer quais IRQs esto sendo usadas por quais dispositivos (usando cat /proc/interrupts) e congurar as interrupes de forma que uma no entre em conito com outra. Isto normalmente feito atravs dos jumpers de placas ou atravs de software (no caso de dispositivos jumperless ou plug-and-play). Dispositivos PCI so projetados para permitir o compartilhamento de uma mesma IRQ pois as manipulam de forma diferente. Se for necessrio usar uma interrupo normal, o chipset (ou BIOS) mapear a interrupo para uma interrupo normal do sistema (normalmente usando alguma interrupo entre a IRQ 9 e IRQ 12). Prioridade das Interrupes Cada IRQ no sistema tem um nmero que identica a prioridade que ser atendida pelo processador. Nos antigos sistemas XT as prioridades eram identicadas em seqncia de acordo com as interrupes existentes: IRQ 0 1 2 3 4 5 6 7 8

Captulo 3. Hardware

39

PRI 1 2 3 4 5 6 7 8 9 Com o surgimento do barramento AT (16 bits), as interrupes passaram a ser identicadas da seguinte forma: IRQ 0 PRI 1 1 2 2 3 (9 4 10 5 11 6 12 7 13 8 14 9 15) 3 4 5 6 7 8 10 11 12 13 14 15 16

Note que a prioridade segue em seqncia atravs da ponte da IRQ 2 para IRQ 9. Os dispositivos com prioridade mais baixa so atendidos primeiro, mas uma diferena de desempenho praticamente imperceptvel de ser notada nos sistemas atuais.

3.3.2

DMA - Acesso Direto a Memria

A DMA usada para permitir a transferncia de dados entre dispositivos I/O e a memria sem precisar do processador faze-lo. Ele livra esta carga do processador e resulta em uma rpida transferncia de dados. O PC padro tem dois controladores de DMA. O primeiro controla os canais 0, 1, 2, 3 e o segundo os canais 4, 5, 6, 7, assim temos 8 canais. No entanto, o canal 4 perdido porque usado pelo controlador de acesso direto a memria. Os canais 0-3 so chamados de canais baixos porque podem somente mover um byte (8 bits) por transferncia enquanto canais altos movem 2 bytes (16 bits) por transferncia. Os dados movidos usando a DMA no so movidos atravs do controlador de DMA. Isto oferece uma limitao porque a DMA somente podem mover dados entre os dispositivos (portas I/O) e a memria. No possvel mover dados entre as portas ou entre a memria. Existem dois controladores de DMA nos computadores AT e superiores. Ao contrrio do que acontece com os dois controladores de IRQ, o primeiro controlador ligado ao segundo e no o segundo ao primeiro. Os canais de DMA altos (5 ao 7) somente podem ser acessados por dispositivos de 16 bits (aqueles que utilizam a segunda parte do slot AT). Como resultado temos 8 canais de DMA, de 0 a 7, sendo que a DMA 4 usada como ligao entre eles. Os canais de DMA em uso no sistema podem ser visualizados com cat /proc/dma. Abaixo uma listagem de uso mais comum dos canais de DMA. DMA 0 1 Barram. 8/16 bits Uso Usada pelo circuito de refresh da memria DRAM Normalmente usado por placas de som (canal 8 bits), porta paralela ECP, adaptadoras SCSI, placas de rede ou controladora de scanner. Normalmente usado pela controladora de disquetes ou controladoras de tapes. Usado pela porta paralela ECP, placa de som, controladoras de tapes, controladoras SCSI ou

2 3

8/16 bits 8/6 bits

Captulo 3. Hardware

40

4 5

16 bits

6 7

16 bits 16 bits

controladora de scanner antiga. Usada como ponte para a outra controladora de Normalmente usada pela placa de som (canal 16 placas controladoras SCSI, placas de rede ou controladora de scanner. Placa de som (canal 16 bits), controladora de ou placa de rede. Placa de som (canal 16 bits), controladora de ou placa de rede.

DMA (0-3) bits),

scanner scanner

Somente dispositivos ISA e derivados dele, como o EISA e VESA, usam os canais de DMA padro. Os atuais dispositivos de alta taxa de transferncia (normalmente PCI) possuem seu prprio controlador de DMA embutido, muito mais rpido do que a DMA padro. Este controlador de DMA chamado de Bus Mastering e muito usado nos discos rgidos atuais e pode atingir taxas de 33,3MB/s (no modo 2) e 66MB/s (no modo 4 - requer um cabo IDE com aterramento para evitar interferncias de rudos externos). Conitos de DMA Um canal de DMA no pode ser compartilhado entre dispositivos. Ainda possvel congurar dois dispositivos para usarem um mesmo canal de DMA, desde que ele no seja usado ao mesmo tempo. Isto acontece com Scanners paralelos que compartilham a mesma porta paralela com a impressora. Se voc for uma pessoa que explora os recursos de multitarefa de seu Linux e seu desempenho, evite estes tipos de dispositivos, prera aqueles que utilizam seus prprios recursos. Quando ocorre um conito de DMA, os dados podem ser misturados e ocorrerem coisas estranhas at o travamento total do sistema. Este tipo de conito difcil de se diagnosticar, a no ser que o tcnico seja experiente o bastante e tenha desconado do que o problema se trata. . .

3.3.3

I/O - Porta de Entrada/Sada

Cada dispositivo possui um endereo de porta. O endereo uma localizao da memria usada pelo computador para enviar dados ao dispositivo e onde o dispositivo envia dados ao computador. Ao contrrios da IRQ e DMA, o dispositivo pode usar mais de uma porta de Entrada/Sada ou uma faixa de endereos. Por exemplo, uma placa de som padro usa as portas 0x220, 0x330 e 0x388, respectivamente audio digital, midi e opl3. As placas de rede normalmente transferem grandes quantidades de dados, assim ocupam uma faixa de endereos. Minha NE2000, por exemplo, ocupa a faixa de endereos 0x260 a 0x27F (0x260-0x27F). O tamanho da faixa de endereos varia de acordo com o tipo de dispositivo. Os endereos de I/O em uso no sistema podem ser visualizados com o comando cat /proc/ioports. Endereos das portas de entrada/sada no podem ser compartilhados

Captulo 3. Hardware

41

3.4

Hardwares congurveis por jumpers, dip-switches, jumperless e Plug-and-Play.


Jumpers

3.4.1

Hardwares congurveis por jumpers (pinos metlicos protegidos por uma capa plstica) tem sua congurao alterada atravs da colocao, retirada ou mudana de posio. Hardwares congurveis por jumpers so os preferidos por tcnicos de informtica muito experientes. Estes hardwares possuem a caracterstica de somente terem seus parmetros modicados atravs da mudana da posio dos jumpers da placa, desta forma se obtm uma congurao xa (no podendo ser modicada por qualquer tipo de programa) e o dispositivo estar sempre pronto para ser ativado aps a inicializao de qualquer sistema operacional. O nico inconveniente a necessidade de se retirar a placa do computador para se ter acesso aos jumpers de congurao, a no ser que estejam manualmente acessveis. Alguns hardwares congurveis atravs de jumpers podem tambm funcionar como Plug-and-Play, atravs de um ajuste da posio dos jumpers para Plug-and-Play. Normalmente as placas controladoras SIDE, rede, bons modelos de fax-modens, placas de som, SCSI, etc., so conguradas por jumpers e possuem um mapa de congurao gravado em seu circuito impresso que explica as posies de como os jumpers devem ser posicionados para operar na congurao desejada. Normalmente possvel escolher uma entre vrios tipos de congurao, mas recomendado optar por valores padres (para detalhes veja IRQ Requisio de Interrupo on page 37, DMA - Acesso Direto a Memria on page 39 e I/O Porta de Entrada/Sada on the preceding page). As disposio dos jumpers so normalmente denidas em fechado/aberto e multi-posio. Na disposio fechado/aberto, o jumper pode ou no ser colocado, denindo a congurao do dispositivo: ::|:: Esta disposio facilmente encontrada na seleo de IRQ e I/O em placas de fax-modem. Na disposio multi-posio, os pinos de encaixe so numerados de 1 a 3 (ou 1 a 4, 1 a 5, etc) e os pinos podem ou no ser colocados na placa e a posio que so colocados tambm inuencia os valores escolhidos para o funcionamento do dispositivo (a posio 1-2 especicam um valor enquanto 2-3 especicam outro). A associao entre a posio dos jumpers e a congurao desejada feita consultando o mapa desenhado no circuito impresso da placa ou o manual de instrues da placa. A congurao de jumper atravs de multi-posio normalmente usada em placas me para denir a freqncia de operao do barramento, a freqncia de multiplicao ou o tipo do processador. Se no possuir o mapa de congurao de sua placa e/ou o manual de instrues, ser necessrio fazer um mapeamento manual da placa, mas para isto voc precisar conhecer detalhadamente a congurao de portas I/O, DMA, IRQ usadas na mquina que ser usada

Captulo 3. Hardware

42

e anotar as diferenas obtidas atravs da modicao da pinagem do dispositivo. Isto no fcil, mas tcnicos de informtica experientes conhecero as armadilhas encontradas pelo mapeamento manual de placas e faro o esquema de congurao completo do dispositivo, obtendo um excelente manual de instrues. Nesta hora a experincia conta mais que o uso de programas de diagnstico. Outra caracterstica de hardwares congurados atravs de jumpers que raramente apresentam problemas de funcionamento, a no ser que seus parmetros como IRQ, DMA, ou I/O estejam em conitos com outro dispositivo, mas isso no culpa do fabricante e nem mesmo do dispositivo. . .

3.4.2

Dip-Switches

a mesma coisa que os hardwares congurveis por jumpers exceto que so usados dipswitches no lugar de jumpers. O dip-switches um conjunto de chaves numeradas que podem ser colocadas para cima ou para baixo (como um disjuntor ou vrios interruptores LIGA/DESLIGA colocados um ao lado do outro) para se modicar a congurao do dispositivo. Normalmente as chaves esto acessveis na parte metlica da placa (onde os hardwares so conectados) para permitir a fcil mudana de congurao sem retirar a placa. ainda comum encontrar isto em algumas placas de fax-modem.

3.4.3

Jumperless (sem jumper)

Os hardwares jumperless no possuem jumpers e so congurados atravs de um programa que acompanha a prpria placa. Neste programa escolhida a IRQ, DMA, I/O e a congurao salva na prpria placa ou restaurada aps cada inicializao por um programa carregado na memria. Devido a congurao via software, se obtm uma congurao xa com muito mais facilidade do que via jumpers (por no haver a necessidade de se retirar a placa). A maioria das placas jumperless podem funcionar tambm como Plug-and-Play. Existem muitas placas de rede, fax-modem, scanner jumperless no mercado.

3.4.4

Plug-and-Play

O Plug-and-Play um protocolo que l os valores de operao disponveis para a placa e permitem que o usurio possa especicar facilmente qual ser sua IRQ, DMA, I/O. A diferena em relao ao modo jumperless que o mesmo programa de congurao Plugand-Play permite congurar todas as placas Plug-and-Play e a placa somente recebe os valores de IRQ, DMA e I/O aps ser ativada por este programa, normalmente o isapnp no Linux. Isto signica que a placa no tem nenhum parmetro de IRQ, DMA e I/O na partida do sistema. Desta forma, somente sistemas operacionais que possuem suporte ao Plug-and-Play (como o GNU/Linux, Windows) ou programas acionadores PnP (como o ICU para o DOS) podem ativar e usar estes tipos de placas.

Captulo 3. Hardware

43

Placas Plug-and-Play permitem muita exibilidade de congurao de dispositivos. O programa usado para a congurao de placas Plug-and-Play no GNU/Linux o isapnp e a congurao de todas as placas Plug-and-Play so denidas no arquivo /etc/isapnp.conf. Veja a prxima seo para entender como funciona o arquivo de congurao isapnp.conf e assim poder ativar seu dispositivo Plug-and-Play. Entendendo o arquivo de congurao isapnp.conf Segue abaixo um exemplo de arquivo /etc/isapnp.conf gerado atravs do pnpdump para a congurao de uma placa de Som Sound Blaster com porta IDE embutida no GNU/Linux. O objetivo congurar a placa Sound Blaster para operar na congurao: IO=0x220 IRQ=5 DMA=1 DMA16=5 MIDI=0x330 OPL=0x388 IDE operando como placa controladora quartenria na porta 0x168/0x36e - Ns queremos ligar um HD na placa de som, SIM o GNU/Linux permite isso, e ele ser congurado como /dev/hdg1 JOYSTICK na porta 0x220 - bom para jogos e controle do xmms Observe que as linhas iniciando com # so apenas comentrios e no sero interpretadas pelo isapnp: # # # # # # $Id: pnpdump.c,v 1.21 1999/12/09 22:28:33 fox Exp $ Release isapnptools-1.21 (library isapnptools-1.21) Para detalhes do formato do arquivo de sada, veja a pgina de manual do isapnp.conf

# A seo abaixo faz o isolamento da placa atravs da BIOS (normalmente no # precisa ser alterado). Com a configurao abaixo, os dados sobre # dispositivos sero obtidos diretamente da BIOS. # Em placas me que no suportam Plug-and-Play, necessrio apenas o # parmetro (ISOLATE) para que o isapnp possa assumir totalmente o controle # para identificao dos dispositivos Plug-and-Play (READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # ou WARNING # Card 1: (serial identifier fc 10 01 fb 5d 28 00 8c 0e)

Captulo 3. Hardware

44

# # # # # # # # #

Vendor Id CTL0028, Serial Number 268565341, checksum 0xFC. Version 1.0, Vendor version 1.0 ANSI string -->Creative SB16 PnP<--

Descomente os valores desejados abaixo, selecionando a configurao requerid Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum) "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)" Para ativar as configuraes selecionadas, basta descomentar a linha "#(ACT Y)" no final do bloco de configurao.

(CONFIGURE CTL0028/268565341 (LD 0 # ANSI string -->Audio<-# Pela string acima, esta a configurao de Audio da Sound Blaster # Hora de mltiplas escolhas, escolha apenas uma! # Inicia funes dependentes, classificada por prioridade aceitvel # # IRQ 5, 7 ou 10. (INT 0 (IRQ 5 (MODE +E))) # Foi especificada a IRQ 5 na configurao acima # Primeiro canal DMA 0, 1 ou 3. # Somente DMA de 8 bits # Dispositivo lgico no um bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode (DMA 0 (CHANNEL 1)) # O valor da DMA 8 bits padro 0 (o mais baixo), mas este no o valor # que desejamos. Ajustamos o valor para 1. # Next DMA channel 5, 6 or 7. # 16 bit DMA only # Logical device is a bus master # DMA may not execute in count by byte mode # DMA may execute in count by word mode # DMA channel speed in compatible mode (DMA 1 (CHANNEL 5)) # O canal DMA 16 bits desejado para a Sound Blaster o 5. Apenas # descomentamos a linha acima. # # # # # Logical device decodes 16 bit IO address lines Minimum IO base address 0x0220 Maximum IO base address 0x0280 IO base alignment 32 bytes Number of IO addresses required: 16

Captulo 3. Hardware

45

(IO 0 (SIZE 16) (BASE 0x0220)) # Apenas descomentamos a linha. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0300 # Maximum IO base address 0x0330 # IO base alignment 48 bytes # Number of IO addresses required: 2 (IO 1 (SIZE 2) (BASE 0x0330)) # O valor padro 0x0300 para a porta MIDI, mas ns desejamos usar o # valor 0x0330. Descomentamos a linha e alteramos o valor da I/O. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0388 # Maximum IO base address 0x0388 # IO base alignment 1 bytes # Number of IO addresses required: 4 (IO 2 (SIZE 4) (BASE 0x0388)) # Apenas descomentamos a linha. 0x0388 um valor padro para OPL # Fim de funes dependentes (NAME "CTL0028/268565341[0]{Audio }") (ACT Y) #Descomentamos para ativar este bloco de configurao acima ))

######################################## # Logical device id CTL2011 # # Descomente os valores desejados abaixo, selecionando a configurao requerid # Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum) # "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)" # Para ativar as configuraes selecionadas, basta descomentar a linha # "#(ACT Y)" no final do bloco de configurao. (CONFIGURE CTL0028/268565341 (LD 1 # Compatible device id PNP0600 # ANSI string -->IDE<-# Pela string acima sabemos que esta a configurao da IDE embutida na SB # Hora de mltiplas escolhas, escolha apenas uma! # Inicia funes dependentes: Prioridade Preferida # IRQ 10. (INT 0 (IRQ 10 (MODE +E))) # Descomentamos e aceitamos o valor acima, pois no entra em conflito com

Captulo 3. Hardware

46

# nenhum outro dispositivo do sistema. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0168 # Maximum IO base address 0x0168 (IO 0 (SIZE 8) (BASE 0x0168)) # Descomentamos e aceitamos o valor acima, pois no entra em conflito com # nenhum outro dispositivo do sistema. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x036e # Maximum IO base address 0x036e # IO base alignment 1 bytes # Number of IO addresses required: 2 (IO 1 (SIZE 2) (BASE 0x036e)) # Descomentamos e aceitamos o valor acima, pois no entra em conflito com # nenhum outro dispositivo do sistema. #

End dependent functions (NAME "CTL0028/268565341[1]{IDE }") (ACT Y) # Descomentando esta linha, a placa IDE da Sound Blaster passar a # funcionar como IDE quartenria (de acordo com os recursos passados) ))

####################################### # Logical device id CTL7001 # # Descomente os valores desejados abaixo, selecionando a configurao requerid # Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum) # "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)" # Para ativar as configuraes selecionadas, basta descomentar a linha # "#(ACT Y)" no final do bloco de configurao. (CONFIGURE CTL0028/268565341 (LD 3 # Compatible device id PNPb02f # ANSI string -->Game<-# Pela string acima sabemos que a Entrada para Joystick # # # # # Logical device decodes 16 bit IO address lines Minimum IO base address 0x0200 Maximum IO base address 0x0200 IO base alignment 1 bytes Number of IO addresses required: 8 (IO 0 (SIZE 8) (BASE 0x0200)) (NAME "CTL0028/268565341[3]{Jogo }")

Captulo 3. Hardware

47

(ACT Y) # Sem muitos comentrios... descomentamos a linha IO acima e # ativamos a configurao (descomentando (ACT Y)). A diferena # que especificamos o nome GAME para o recurso atravs da # linha (NAME "CTL0028/268565341[3]{Jogo }") # Este nome ser mostrado quando o Joystick for ativado )) # Returns all cards to the Wait for Key state (WAITFORKEY)

Note ainda que o isapnp.conf gerado atravs do pnpdump contm vrios tipos de prioridades de congurao para o mesmo bloco de congurao e a prioridade que usamos acima foi priority acceptable para o bloco de audio da Sound Blaster e priority preferred para a porta IDE e Joystick. Os tipos de prioridades disponveis so:

priority preferred - Congurao preferida para o funcionamento do hardware. a recomendada pelo fabricante do hardware e tambm recomendvel se voc no tem muita experincia na congurao de hardwares, pois lista somente uma congurao por recurso. Se a placa entrar em conito com outras placas usando priority preferred, tente a priority acceptable. priority acceptable - Lista todas as conguraes aceitas pelo seu hardware. Ela minha opo preferida, pois permite analisar dinamicamente todas as conguraes permitidas pelo hardware e escolher qual a mais adequada para funcionar sem problemas no sistema. priority functional - Pode conter 1 ou mais blocos de prioriade funcional por hardware. Note que alguns recursos do hardware podem no estar disponvel neste tipo de prioridade. til para uso em casos de conito, quando o hardware pode ser colocado em funcionamento de forma alternativa ou parcial.

Aps a gravao do arquivo /etc/isapnp.conf, basta voc digitar isapnp /etc/isapnp.conf para ativar a congurao dos dispositivos listados com as conguraes que voc escolheu. Se o isapnp lhe mostrar mensagens de conito ou qualquer outro problema, verique as conguraes do hardware e modique, se necessrio. Depois execute novamente o /etc/isapnp.conf. Para detalhes sobre outros parmetros no explicados aqui, veja a pgina de manual do isapnp.conf. A maioria das distribuies GNU/Linux congura os dispositivos Plug-and-Play existentes neste arquivo automaticamente na inicializao (como o caso da Debian e a Red Hat). Se este no for o seu caso, coloque a linha isapnp /etc/isapnp.conf em um dos scripts de inicializao de sua distribuio.

Captulo 3. Hardware

48

3.5

Listando as placas e outros hardwares em um computador

Administradores e tcnicos ao congurar uma mquina precisaro saber quais os hardwares ela possui, perifricos e at mesmo a reviso de dispositivos e clock para congurar as coisas e ver a necessidade de atualizaes de dispositivos atuais. Dispositivos PCI/AMR/CNR podem ser listados executando o comando cat /proc/pci. Outra forma de listar tais dispositivos usando o lspci, se voc precisa de mais detalhes como o mapeamento de memria, use lspci -vv. O mapeamento de memria de dispositivos podem ser mostrados com o comando cat /proc/ioports, ou usando o comando lsdev. O barramento USB e dispositivos conectados a ele podem ser listados com o comando lsusb ou com cat /proc/bus/usb/devices. Hardwares disponveis na mquina, como placa me, clock multiplicador, discos, placas diversas, verses e nmeros seriais de dispositivos podem ser mostrados atravs do comando lshw. Use lshw -html para produzir a listagem em formato HTML, bem interessante para relatrios :-)

3.6

Conitos de hardware

Ocorre quando um ou mais dispositivos usam a mesma IRQ, I/O ou DMA. Um sistema com conguraes de hardware em conito tem seu funcionamento instvel, travamentos constantes, mal funcionamento de um ou mais dispositivos e at mesmo, em casos mais graves, a perda de dados. Sempre que possvel conhea e utilize os valores padres para a congurao de perifricos, isto pode te livrar de conitos com outros dispositivos e mal funcionamento do sistema. Alguns programas de diagnstico ou de auto-deteco podem no localizar seu dispositivo caso ele esteja usando um valor muito diferente do padro. Para resolver conitos de hardware ser necessrio conhecer a congurao de cada dispositivo em seu sistema. Os comandos cat /proc/interrupts, cat /proc/dma e cat /proc/ioports podem ser teis para se vericar as conguraes usadas. Lembre-se que o barramento PCI permite o compartilhamento de IRQs entre placas PCI.

3.7

Barramento

O tipo de slot varia de acordo com o barramento usado no sistema, que pode ser um(s) do(s) seguinte(s): ISA 8 Bits Industry Standard Architecture - o padro mais antigo, encontrado em computadores PC/XT.

Captulo 3. Hardware

49

ISA 16 Bits Evoluo do padro ISA 8 Bits, possui um conector maior e permite a conexo de placas de 8 bits. Sua taxa de transferncia chega a 2MB/s. VESA Video Electronics Standard Association - uma interface feita inicialmente para placas de vdeo rpidas. O barramento VESA basicamente um ISA com um encaixe extra no nal. Sua taxa de transferncia pode chegar a 132MB/s. EISA Enhanced Industry Standard Architecture - um barramento mais encontrado em servidores. Tem a capacidade de bus mastering, que possibilita a comunicao das placas sem a interferncia da CPU. MCA Micro Channel Architecture - Barramento 32 bits proprietrio da IBM. Voc no pode usar placas ISA nele, possui a caracterstica de bus mastering, mas pode procurar por dispositivos conectados a ele, procurando congurao automtica. Este barramento estava presente no PS/1 e PS/2, hoje no mais usado. PCI Peripheral Component Interconnect - outro barramento rpido produzido pela Intel com a mesma velocidade que o VESA. O barramento possui um chipset de controle que faz a comunicao entre os slots PCI e o processador. O barramento se congura automaticamente (atravs do Plug-and-Play). O PCI o barramento mais usado por Pentiums e est se tornando uma padro no PC. AGP Accelerated Graphics Port - um novo barramento criado exclusivamente para a ligao de placas de video. um slot marrom (em sua maioria) que ca mais separado do ponto de xao das placas no chassis (comparado ao PCI). Estas placas permitem obter um desempenho elevado de vdeo se comparado as placas onboards com memria compartilhada e mesmo PCI externas. O consumo de potncia em placas AGP x4 podem chegar at a 100W, portanto importante dimensionar bem o sistema e ter certeza que a fonte de alimentao pode trabalhar com folga. PCMCIA Personal Computer Memory Card International Association - um slot especial usado para conexes de placas externas (normalmente revestivas de plstico) e chamadas de cartes PCMCIA. Estes cartes podem adicionar mais memria ao sistema, conter um fax-modem, placa de rede, disco rgido, etc. Os cartes PCMCIA so divididos em 3 tipos: Tipo 1 Tem a espessura de 3.3 milmetros, e podem conter mais memria RAM ou memria Flash. Tipo 2 Tem a espessura de 5 milmetros e capacidade de operaes I/O. um tipo usado para placas de fax-modem, rede, som. Computadores que aceitam cartes PCMCIA do tipo 2, mantm a compatibilidade com o tipo 1. Tipo 3 Tem a espessura de 10.5 milmetros e normalmente usado para discos rgidos PCMCIA. Slots PCMCIA do tipo 3 mantm a compatibilidade com o tipo 2 e 1. AMR Audio Modem Raise - Pequeno barramento criado pela Intel para a conexo de placas de som e modem. Placas de som e modem AMR usam o HSP (host signal processor) e so como as Placas on-board e todo o processamento feito pela CPU do computador (veja detalhes em Placas on-board / off-board on the following page e Hardwares especcos ou For Windows on page 51. Sua vantagem o preo: um modem ou placa de som AMR custa em torno de R$ 25,00. CNR Communication and Networking Rise - Pequeno barramento criado pela Intel para a conexo de placas de som, modens e placas de rede. Este um pequenino slot marrom que localizado no ponto de xao das placas no chassis do gabinete. Elas so como as Placas on-board e todo o processamento feito pela CPU do computador (veja

Captulo 3. Hardware

50

detalhes em Placas on-board / off-board on this page e Hardwares especcos ou For Windows on the next page.

3.8

Placas on-board / off-board

Placas on-board so embutidas na placa me (motherboard). Placas off-board so placas externas encaixadas nos slots de expanso da placa me. No inicio da era do PC/XT todos as placas eram embutidas na placa me (na poca eram somente a placa de vdeo e controladora). Com o surgimento do padro AT, diversas empresas de informtica desenvolveram dispositivos concorrentes e assim o usurio tinha a liberdade de escolha de qual dispositivo colocar em sua placa me (ou o mais barato ou o de melhor qualidade e desempenho), isto permitiu a adio de perifricos de qualidade sem romper com seu oramento pessoal (comprando uma placa de som, depois uma de fax-modem, placa de vdeo melhor, etc). Atualmente parece que voltamos ao ponto de partida e tudo vem embutido na placa me (on-board) e o usurio no tem como escolher qual dispositivo usar em seu computador. muito difcil (praticamente impossvel) encontrar uma placa me que satisfaa completamente as necessidades do usurio ou recomendaes de um bom tcnico de informtica (a no ser que seja um tcnico experiente e encontre alguma alternativa). Certamente o nico dispositivo que funciona melhor se embutido na placa me a placa controladora de perifricos. Esta placa usada para se conectar unidades de disquete, discos rgidos, CD-ROM, portas seriais, paralelas, joystick ao computador. Os HDs conectados em uma controladora embutida conseguem ter um desempenho muito maior do que em placas conectadas externamente, sem causar nenhum tipo de problema. Felizmente os ltimos modelos de placas me 486 e os Pentium j trazem a placa controladora de perifricos embutida. Hardwares embutidos na placa me (como fax-modem, vdeo, som) so em mdia 30% mais baratos que os vendidos separadamente mas quase sempre so usados dispositivos de baixo desempenho e qualidade para reduzir o preo da placa me e quase sempre usados hardwares For Windows. Hoje em dia por causa do preo da placa me, comum encontrar pessoas que vericam somente o preo e sequer procuram saber ou conhecem a qualidade das placas embutidas na placa me. Pior ainda encontrar vendedores despreparados que sequer sabem explicar o porque que uma placa de som Sound Blaster 64 mais cara que uma de modelo genrico. . . Certa vez z um teste de desempenho em um jogo chamado Network Rally do DOS com minha mquina Pentium 120 MHz (s com a placa controladora embutida), 16 MB RAM, placa de som Sound Blaster 16, placa de vdeo Trident 9680 com 1MB versus um computador Pentium 200 MMX, 32 MB RAM, placa de vdeo embutida (usando 2 MB de memria compartilhada), fax modem Rockwell embutido, e som CMI 8330 tambm embutido. O resultado foi que o jogo rodava perfeito em meu pentium 120MHZ e no outro computador com o som pipocando e imagem apresentando paradas. O problema que em dispositivos

Captulo 3. Hardware

51

de baixa qualidade e baratos, sua carga de processamento jogada para o processador, resultando em menos potncia para executar os programas (veja Hardwares especcos ou For Windows on this page para maiores detalhes sobre o problema). A memria de vdeo compartilhada quer dizer que parte da memria RAM usada para memria de vdeo ao invs de uma memria DRAM especca e desenvolvida exclusivamente para acelerao de vdeo. Isto traz mais lentido pois a memria de vdeo (RAM) tambm ser acessada pelo barramento do computador, envolvendo mais carga para o processador, etc. A tcnica de memria compartilhada exclusiva de placas de vdeo embutidas. Outro perifrico que traz problemas e muita carga para o processador o fax-modem for Windows, HSP, AMR, micromodem, etc. A maioria destes perifricos se recusam a funcionar em computadores inferiores ao Pentium 150, no trazem seu chip de processamento e o pior: o chip UART. Isto faz com que o perifrico, mesmo marcando conexo a 57.600 ou mais tenha um desempenho de at duas vezes menor que um fax-modem inteligente com chip de processamento prprio e UART (sem contar com os controles internos do modem, como os protocolos de correo de erros, e sua extensa interface de programao via comandos). A economia, neste caso, ser paga em sua conta telefnica. Outra vantagem de fax-modens inteligentes que os modelos atuais vem com FlashBios o que signica que podem ser reprogramados facilmente para passar de 33.600 para 57.600 sem trocar a placa, ou aceitarem novas tendncias de tecnologia. Para detalhes veja Hardwares especcos ou For Windows on the current page. Se voc estiver em uma situao destas, certamente os computadores de menor potncia e com hardwares inteligentes (que possuem seus prprios chips de controle e processamento) tero um desempenho muito melhor. Mas tambm existem placas embutidas que tem a mesma qualidade de placas separadas (como alguns modelos de placas me que trazem a Sound Blaster embutida). O preo pode ser maior mas voc estar pagando por um dispositivo de melhor qualidade e que certamente trar benefcios a voc e ao seu sistema. Consulte um tcnico em informtica experiente para te indicar uma placa me de bom preo e de qualidade. muito comum encontrar falta de prossionalismo em pessoas que no sabem distinguir as caractersticas, funes e vantagens entre uma placa de boa qualidade e um hardware for Windows a no ser o preo mais barato.

3.9

Hardwares especcos ou For Windows

Esta seo foi retirada do manual de instalao da Debian GNU/Linux. Uma tendncia que perturba a proliferao de Modens e impressoras especcos para Windows. Em muitos casos estes so especialmente fabricados para operar com o Sistema Operacional Microsoft Windows e costumam ter a legenda WinModem, for Windows, ou Feito especialmente para computadores baseados no Windows. Geralmente estes dispositivos so feitos retirando os processadores embutidos daquele hardware e o trabalho deles so feitos por drivers do Windows que so executados pelo processador principal do computador. Esta estratgia torna o hardware menos caro, mas o que poupado

Captulo 3. Hardware

52

no passado para o usurio e este hardware pode at mesmo ser mais caro quanto dispositivos equivalentes que possuem inteligncia embutida. Voc deve evitar o hardware baseado no Windows por duas razes: 1 O primeiro que aqueles fabricantes no tornam os recursos disponveis para criar um driver para Linux. Geralmente, o hardware e a interface de software para o dispositivo proprietria, e a documentao no disponvel sem o acordo de no revelao, se ele estiver disponvel. Isto impede seu uso como software livre, desde que os escritores de software grtis descubram o cdigo fonte destes programas. 2 A segunda razo que quando estes dispositivos tem os processadores embutidos removidos, o sistema operacional deve fazer o trabalho dos processadores embutidos, freqentemente em prioridade de tempo real, e assim a CPU no esta disponvel para executar programas enquanto ela esta controlando estes dispositivos. Um exemplo tpico disso so os Modens for Windows; Alm da carga jogada na CPU, o dispositivo no possui o chip UART 16550, que essencial para uma boa taxa de transferncia do modem. O que alguns destes dispositivos fazem a emulao deste chip exigindo no mnimo uma CPU Pentium de 166 MHZ para operar adequadamente nesta taxa de transmisso. Mesmo assim, devido a falta do chip UART, um modem destes inicia uma transmisso de um arquivo a 57.600, a tendncia sua taxa de transferncia ir caindo na medida que um arquivo transferido (at se estabilizar em 21/25 Kbps). Assim o usurio tpico do Windows no obtm um multi-processamento to intensivo como um usurio do Linux, o fabricante espera que aquele usurio do Windows simplesmente no note a carga de trabalho que este hardware pe naquela CPU. No entanto, qualquer sistema operacional de multi-processamento, at mesmo Windows 95 / 98 ou NT, so prejudicados quando fabricantes de perifricos retiram o processador embutido de suas placas e colocam o processamento do hardware na CPU. Voc pode ajudar a reverter esta situao encorajando estes fabricantes a lanarem a documentao e outros recursos necessrios para ns desenvolvermos drivers para estes hardwares, mas a melhor estratgia simplesmente evitar estes tipos de hardwares at que ele esteja listado no HOWTO de hardwares compatveis com Linux. Note que hoje j existem muitos drivers para WinModems e outros hardwares for Windows para o Linux. Veja a lista de hardwares compatveis no HARDWARE-HOWTO ou procure o driver no site do fabricante de seu dispositivo. Mesmo assim a dica evitar hardwares for Windows e comprar hardwares inteligentes onde cada um faz sua funo sem carregar a CPU.

3.10

Dispositivos especcos para GNU/Linux

Esta seo foi retirada do manual de instalao da Debian GNU/Linux. Existem diversos vendedores, agora, que vendem sistemas com a Debian ou outra distribuio do GNU/Linux pr-instaladas. Voc pode pagar mais para ter este privilgio, mas compra um nvel de paz de mente, desde ento voc pode ter certeza que seu hardware bem compatvel com

Captulo 3. Hardware

53

GNU/Linux. Praticamente todas as placas que possuem processadores prprios funcionam sem nenhum problema no Linux (algumas placas da Turtle Beach e mwave tem suporte de som limitado). Se voc tiver que comprar uma mquina com Windows instalado, leia cuidadosamente a licena que acompanha o Windows; voc pode rejeitar a licena e obter um desconto de seu vendedor. Se no estiver comprando um computador com GNU/Linux instalado, ou at mesmo um computador usado, importante vericar se os hardwares existentes so suportados pelo kernel do GNU/Linux. Verique se seu hardware listado no Hardware Compatibility HOWTO, na documentao do cdigo fonte do kernel no diretrio Documentation/sound ou consulte um tcnico de GNU/Linux experiente. Deixe seu vendedor (se conhecer) saber que o que est comprando para um sistema GNU/Linux. Desta forma isto servir de experincia para que ele poder recomendar o mesmo dispositivo a outras pessoas que procuram bons dispositivos para sistemas GNU/Linux. Apie vendedores de hardwares amigos do GNU/Linux.

3.11

Conguraes de Dispositivos

As sees abaixo explicam como fazer conguraes em dispositivos diversos no sistema Linux como placas de rede, som, gravador de CD entre outras.

3.11.1

Congurando uma placa de rede

Para congurar sua placa de rede no Linux siga os passos a seguir: 1 Identique se sua placa de rede ISA ou PCI. Caso seja ISA, pode ser preciso alterar a congurao de jumpers ou plug-and-play, evitando conitos de hardware ou o no funcionamento da placa (veja como congura-la em Hardwares congurveis por jumpers, dip-switches, jumperless e Plug-and-Play. on page 41. 2 Identique a marca/modelo de sua placa. O programa lshw til para isto. Caso sua placa seja PCI ou CNR, execute o comando lspci e veja a linha Ethernet. Em ltimo caso, abra a mquina e procure a marca na prpria placa. Quase todos os fabricantes colocam a marca da placa no prprio circuito impresso ou no CI principal da placa (normalmente o maior). 3 Depois de identicar a placa, ser preciso carregar o mdulo correspondente para ser usada no Linux. Em algumas instalaes padres o suporte j pode estar embutido no kernel, neste caso, voc poder pular este passo. Para carregar um mdulo, digite o comando modprobe modulo (Veja modprobe on page 214) . Em placas ISA, geralmente preciso passar a IRQ e porta de I/O como argumentos para alocar os recursos corretamente. O modprobe tentar auto-detectar a congurao em placas ISA, mas ela poder falhar por algum motivo. Por exemplo, para uma NE 2000: modprobe ne io=0x300 irq=10. Para evitar a digitao destes parmetros toda vez que a mquina for iniciada recomendvel coloca-lo no arquivo /etc/modules.conf da seguinte forma:

Captulo 3. Hardware

54

options ne io=0x300 irq=10 A partir de agora, voc pode carregar o mdulo de sua placa NE 2000 apenas com o comando modprobe ne. O parmetro io=0x300 irq=10 ser automaticamente adicionado. Em sistemas Debian, o local correto para colocar as opes de um mdulo em arquivos separados localizados dentro de /etc/modutils. Crie um arquivo chamado /etc/modutils/ne e coloque a linha: options ne io=0x300 irq=10 Depois disso, execute o comando update-modules para o sistema gerar um novo arquivo /etc/modules.conf com todos os mdulos de /etc/modutils e substituir o anterior. 4 Aps carregar o mdulo de sua placa de rede, resta apenas congurar seus parmetros de rede para coloca-la em rede. Veja Atribuindo um endereo de rede a uma interface (ifcong) on page 193.

3.11.2

Congurando uma placa de SOM no Linux

A congurao de dispositivos de audio no Linux no uma coisa complicada, se resumindo na congurao de recursos de IRQ (caso a placa seja ISA), carregar o seu respectivo mdulo com seus parmetros e ajustar o mixer. Atualmente existem 2 padres de som no sistema Linux: OSS (Open Sound System) e ALSA (Advanced Linux Sound Architecture). O OSS o primeiro padro existente no sistema Linux e embutido por padro no kernel. O ALSA mais novo, suporta full duplex e outros recursos adicionais, alm de manter a compatibilidade com OSS. O ALSA um padro mais moderno e garante mais performance para a CPU da mquina, principalmente para a exibio de vdeos, etc.

Reservando os recursos de hardware para sua placa de som Caso esteja usando uma placa ISA jumpeada, jumperless ou Plug-and-Play, preciso selecionar que recursos de hardware sua placa est usando e como estes sero congurados. O padro a utilizao da IRQ 5, DMA1, DMA16, I/O 0x220, 0x330, 0x388 para PCM e MIDI. A congurao de uma placa Plug-and-Play descrita em Plug-and-Play on page 42 e de uma placa jumpeada em Jumpers on page 41. Como referncia, veja a tabela padro de uso de interrupes em IRQ - Requisio de Interrupo on page 37.

Congurando uma placa de som usando o padro OSS O padro OSS o presente por padro desde que o suporte a som foi includo no kernel. Para congurar uma placa de som para usar este sistema de som, primeiro compile seu kernel com o suporte ao mdulo de sua placa de som. Caso seja uma placa ISA, voc provavelmente ter que habilitar a seo Open Sound System para ver as opes disponveis (entre elas, a Sound Blaster e compatveis). Uma olhada na ajuda de cada mdulo deve ajuda-lo a identicar quais placas cada opo do kernel suporta.

Captulo 3. Hardware

55

Caso seu kernel seja o padro de uma distribuio Linux, provavelmente ter o suporte a todas as placas de som possveis. Siga o passo a passo abaixo para congurar sua placa de som no sistema: 1 Primeiro descubra se sua placa de som ISA. Caso seja, verique se os seus recursos esto alocados corretamente (veja Conitos de hardware on page 48). Caso seja PCI, AMR, execute o comando lspci, procure pela linha Multimedia e veja o nome da placa. Voc tambm poder executar o comando lshw para descobrir qual placa voc possui (veja Listando as placas e outros hardwares em um computador on page 48) para detalhes. 2 Carregue o mdulo da placa de som com o comando modprobe mdulo (veja modprobe on page 214). Na Debian, voc pode executar o comando modconf para navegar visualmente entre os mdulos disponveis e carregar os mdulos necessrios. Algumas placas (principalmente ISA) requerem que seja especicado o recurso de hardware sejam passados para seu mdulo, ou simplesmente voc quer especicar isto para manter o uso de hardware sobre seu controle. Alguns dos parmetros mais usados em placas Sound Blaster so os seguintes: modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 Para evitar ter que passar estes parmetros todas as vezes para o mdulo, voc poder coloca-los no arquivo /etc/modules.conf da seguinte forma: options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 Assim, quando der o comando modprobe sb ele ser carregado com as opes acima. Na distribuio Debian, voc dever criar um arquivo chamado /etc/modutils/sb contendo a linha acima, depois execute o update-modules para juntar todos os arquivos do /etc/modutils e criar o /etc/modules.conf. 3 Aps carregar o mdulo correto de sua placa de som, seu sistema de som dever estar funcionando. Se voc utiliza uma distribuio Linux, os dispositivos de som como /dev /audio, /dev/dsp, /dev/mixer estaro criados e ento poder passar para o prximo passo. Caso no existam, entre no diretrio /dev e execute o comando MAKEDEV audio. 4 O prximo passo consiste em instalar um programa para controle de volume, tonalidade e outros recursos de sua placa de som. O recomendado o aumix por ser simples, pequeno e funcional, e permitindo restaurar os valores dos nveis de volumes na inicializao (isso evita que tenha que ajustar o volume toda vez que iniciar o sistema). Caso o aumix aparea na tela, sua placa de som j est funcionando! Caso acesse o sistema como usurio, no se esquea de adicionar seu usurio ao grupo audio para ter permisso de usar os dispositivos de som: adduser usuario audio .

3.11.3

Congurando um gravador de CD no Linux

Congurar um gravador de CD no Linux no tem mistrios, apenas preciso que sejam seguidos passos para que a coisa funcione direito, pois sempre funciona. Se algo no funcionou, ou porque os passos no foram seguidos corretamente, algum problema no hardware, alguma falha no kernel especca que afeta seu gravador, ou o autor deste guia deu mancada em algo (por favor, relate a falha) :-) O tipo mais complicado de gravador, se tratando de congurao, o IDE, pois seu funcionamento baseado na emulao SCSI. Para usar esta interface, ele precisa ser identicado

Captulo 3. Hardware

56

como um dispositivo SCSI usando emulao SCSI do kernel, isto necessrio porque o mdulo padro ATAPI do kernel para unidades de CD (ide-cd) no contm todos os comandos necessrios para permitir que uma unidade funcione como gravadora de CD. No Windows a coisa tambm funciona desta forma, a unidade emulada como SCSI para fazer a gravao, se voc no sabia disso, tenho certeza que esta gostando da forma como as coisas cam claras quando se usa Linux :-) Caso seu gravador seja IDE, veja Congurando o suporte a um gravador IDE on the current page caso seja um autntico gravador com barramento SCSI, v at Congurando o suporte a um gravador SCSI on the facing page.

Congurando o suporte a um gravador IDE Para congurar seu gravador de CD IDE para ser usado no Linux, siga os seguintes passos: 1 Tenha certeza que compilou o suporte as seguintes caractersticas no kernel: Em "ATA/IDE/MFM/RLL support" marque as opes: * Include IDE/ATAPI CDROM support * SCSI emulation support Depois em "SCSI support" marque as opes: * SCSI support M SCSI CD-ROM Support M SCSI Generic Support As opes marcadas como * sero embutidas no kernel e as M como mdulos. Note que ambas as opes IDE/ATAPI CDROM e SCSI Emulation foram marcadas como embutidas. Isto faz com que o driver ATAPI tenha prioridade em cima do SCSI, mas vou explicar mais adiante como dizer para o kernel para carregar o suporte a SCSI para determinada unidade. Isto til quando temos mais de 1 unidade de CD IDE no sistema e queremos congurar somente o gravador para SCSI, pois alguns aplicativos antigos no se comunicam direito tanto com gravadores SCSI como emulados. Voc tambm pode marcar somente a opo SCSI Emulation para que sua(s) unidade(s) seja(m) automaticamente emulada(s) como SCSI. Caso tenha usado esta tcnica, v at a seo Testando o funcionamento on the next page. 2 O prximo passo identicar o dispositivo de CD-Rom atual. Isto feito atravs do comando dmesg. Supondo que sua unidade de CD hdc (primeiro disco na segunda controladora IDE) e que compilou ambos o suporte a IDE ATAPI e SCSI emulation no kernel, adicione o argumento hdc=ide-scsi no /etc/lilo.conf ou no grub: # Lilo vmlinuz=/vmlinuz append="hdc=ide-scsi" Isto diz para o kernel que a unidade hdc usar emulao ide-scsi. Caso tenha outras unidades de CD no sistema, estas ainda utilizao ATAPI como protocolo de comunicao padro. Execute o lilo para gerar novamente o setor de inicializao com as modicaes e reinicie o computador.

Captulo 3. Hardware

57

OBS: Cuidado ao colocar um disco rgido IDE como hdc! A linha hdc=ide-scsi dever ser retirada, caso contrrio, seu disco rgido no ser detectado. Agora, siga at Testando o funcionamento on this page. Congurando o suporte a um gravador SCSI Caso tenha um autentico gravador SCSI, no ser preciso fazer qualquer congurao de emulao, a unidade estar pronta para ser usada, desde que seu suporte esteja no kernel. As seguintes opes do kernel so necessrias para funcionamento de gravadores SCSI: Depois * SCSI M SCSI M SCSI em "SCSI support" marque as opes: support CD-ROM Support Generic Support

Alm disso, deve ser adicionado o suporte EMBUTIDO no kernel a sua controladora SCSI. Se o seu disco rgido tambm SCSI, e seu CD est ligado na mesma controladora SCSI, ela j est funcionando e voc poder seguir para o passo Testando o funcionamento on the current page. Caso contrrio carregue o suporte da sua placa adaptadora SCSI antes de seguir para este passo. Testando o funcionamento Para testar se o seu gravador, instale o pacote cdrecord e execute o comando: cdrecord -scanbus para vericar se sua unidade de CD-ROM detectada. Voc dever ver uma linha como: scsibus0: 0,0,0 0,1,0 0,2,0

0) CREATIVE CD-RW RWXXXX 1) * 2) *

1.00 Removable CD-ROM

O que signica que sua unidade foi reconhecida perfeitamente pelo sistema e j pode ser usada para gravao. V at a seo Gravando CDs no Linux on page 285 para aprender como gravar CDs no Linux.

3.11.4

Congurando o gerenciamento de energia usando o APM

O APM (Advanced Power Management - Gerenciamento Avanado de Energia) permite que sistemas gerenciem caractersticas relacionadas com o uso e consumo de energia do computador. Ele opera a nvel de BIOS e tenta reduzir o consumo de energia de vrias formas quando o sistema no estiver em uso (como reduzindo o clock da CPU, desligar o HD, desligar o monitor, etc.).

Captulo 3. Hardware

58

O uso de advanced power management tambm permite que computadores com fonte de alimentao ATX sejam desligados automaticamente quando voc executa o comando halt. Caso sua mquina tenha suporte a ACPI, este dever ser usado como preferncia ao invs do APM por ter recursos mais sosticados (veja Congurando o gerenciamento de energia usando ACPI on the current page). Para ativar o suporte a APM no Linux, compile seu kernel com o suporte embutido a APM e tambm a Advanced Power Management (seno sua mquina no desligar sozinha no halt). Caso deseje compilar como mdulo, basta depois carregar o mdulo apm adicionando no arquivo /etc/modules. Depois disso instale o daemon apmd para gerenciar as caractersticas deste recurso no sistema. Voc pode desativar o uso de APM de 3 formas: removendo seu suporte do kernel, passando o argumento apm=off (quando compilado estaticamente no kernel) ou removendo o nome do mdulo do arquivo /etc/modules (quando compilado como mdulo). Depois disso remova o daemon apmd.

3.11.5

Congurando o gerenciamento de energia usando ACPI

O ACPI (Advanced Conguration and Power Interface - Interface de Congurao e Gerenciamento de Energia Avanado) uma camada de gerenciamento de energia que opera a nvel de sistema operacional. Apresenta os mesmos recursos que o APM, e outros como o desligamento da mquina por teclas especiais de teclado, controle de brilho e contraste de notebooks, suspend para RAM, suspend para disco, reduo de velocidade de CPU manualmente, monitoramento de perifricos, temperatura, hardwares, etc. Desta forma, o ACPI varia de sistema para sistema em questes relacionadas com suporte a recursos especiais, estes dados so armazenados em tabelas chamadas DSDT. O Linux inclui suporte a recursos ACPI genricos entre placas me, recursos especcos devem ser extrados diretamente da BIOS e disassemblados manualmente para a construo de um kernel com suporte especco a tabela DSDT do hardware (no falarei das formas de se fazer disso aqui, somente do suporte genrico). recomendvel pelo menos o uso do kernel 2.4.21 para suporte a ACPI. Para compilar estaticamente, marque com Y a opo ACPI, depois marque os mdulos que voc quer que ele monitore: button (boto power), fan (ventoinhas), etc. Se compilou como mdulo, adicione o nome do mdulo acpi no arquivo /etc/modules. No h problema em compilar tambm o suporte a APM, pois no causar problemas com um kernel com ACPI tambm compilado. Caso no saiba quais mdulos ACPI seu sistema aceita, marque o suporte a todos e carregueos. Aps isto, entre no diretrio /proc/acpi e de um ls entrando nos diretrios e vendo se existem arquivos dentro deles. Remova o mdulo correspondente daqueles que no tiver contedo. Aps isto, instale o daemon acpid e congure-o para monitorar algumas caractersticas do seu sistema. Por padro o acpid monitora o boto POWER, assim se voc pressionar o power, seu sistema entrar automaticamente em run-level 0, fechando todos os processos e desligando sua mquina.

Captulo 3. Hardware

59

O suporte a ACPI pode ser desativado de 3 formas: Removendo seu suporte do kernel, passando o argumento acpi=off ao kernel (caso esteja compilado estaticamente) ou removendo o mdulo de /etc/modules (caso tenha compilado como mdulo. Aps isto, remova o daemon acpid do seu sistema.

3.11.6

Ativando WakeUP on Lan

Algumas placas me ATX possuem suporte a este interessante recurso, que permite sua mquina ser ligada atravs de uma rede. Isto feito enviando-se uma seqncia especial de pacotes diretamente para o MAC (endereo fsico) da placa de rede usando um programa especial. Para usar este recurso, seu sistema dever ter as seguintes caractersticas: Placa me ATX Fonte de alimentao ATX compatvel com o padro 2.0, com fornecimento de pelo menos 720ma de corrente na sada +3v. Placa de rede com suporte a WakeUP-on-Lan (WOL), voc poder conrmar isto vendo um conector branco de 3 terminais instalado na placa que o local onde o cabo wake-up conectado. Suporte na BIOS tambm dever ter a opo para WakeUP-on-Lan. Com todos esses tens existentes, instale em uma mquina da rede o pacote etherwake. Depois disso, pegue o MAC address a placa de rede da mquina que tem o wakeup on lan e na mquina da rede onde instalou o pacote execute o seguinte comando: ether-wake AA:BB:CC:DD:EE:FF Onde AA:BB:CC:DD:EE:FF o endereo MAC da placa de rede. A mquina dever ligar e realizar o procedimento padro de POST normalmente. Algumas das situaes onde o WOL no funciona quando sua rede controlada por Switches (devido a natureza de funcionamento deste equipamentos) ou caso esteja atrs de um roteador que no faz proxy arp.

Captulo 3. Hardware

60

61

Captulo 4

Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
Este captulo explica as diferenas e particularidades do sistema GNU/Linux comparado ao DOS/Windows e uma lista de equivalncia entre comandos e programas DOS e GNU/Linux, que pode servir de comparao para que o usurio possa conhecer e utilizar os comandos/programas GNU/Linux que tem a mesma funo no ambiente DOS/Windows.

4.1

Quais as diferenas iniciais

Quando entrar pela primeira vez no GNU/Linux (ou qualquer outro UNIX, a primeira coisa que ver ser a palavra login: escrita na tela. A sua aventura comea aqui, voc deve ser uma pessoa cadastrada no sistema (ter uma conta) para que poder entrar. No login voc digita seu nome (por exemplo, gleydson) e pressiona Enter. Agora ser lhe pedida a senha, repare que a senha no mostrada enquanto digitada, isto serve de segurana e para enganar pessoas que esto prximas de voc tocando algumas teclas a mais enquanto digita a senha e fazendo-as pensar que voc usa uma grande senha ;-) (com os asteriscos aparecendo isto no seria possvel). Caso cometa erros durante a digitao da senha, basta pressionar a tecla Back Space para apagar o ltimo caracter digitado e terminar a entrada da senha. Pressione Enter, se tudo ocorrer bem voc estar dentro do sistema e ser presenteado com o smbolo # (caso tenha entrado como usurio root) ou $ (caso tenha entrado como um usurio normal). Existe um mecanismo de segurana que te alerta sobre eventuais tentativas de entrada no sistema por intrusos usando seu login, faa um teste: entre com seu login e digite a senha errada, na segunda vez entre com a senha correta no sistema. Na penltima linha das mensagens aparece uma mensagem 1 failure since last login, o que quer dizer 1

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 62 falha desde o ltimo login. Isto signica que algum tentou entrar 1 vez com seu nome e senha no sistema, sem sucesso. A conta root no tem restries de acesso ao sistema e pode fazer tudo o que quiser, equivalente ao usurio normal do DOS e Windows. Use a conta root somente para manutenes no sistema e instalao de programas, qualquer movimento errado pode comprometer todo o sistema. Para detalhes veja A conta root on page 178. No GNU/Linux os diretrio so identicados por uma / e no por uma \ como acontece no DOS. Para entrar no diretrio /bin, voc deve usar cd /bin. Os comandos so case-sensitive, o que signica que ele diferencia as letras maisculas de minsculas em arquivos e diretrios. O comando ls e LS so completamente diferentes. A multitarefa lhe permite usar vrios programas simultaneamente (no pense que multitarefa somente funciona em ambientes grcos, pois isto errado!). Para detalhes veja Execuo de programas on page 115. Os dispositivos tambm so identicados e uma forma diferente que no DOS por exemplo: DOS/Windows ------------A: B: C: LPT1 LPT2 LPT3 COM1 COM2 COM3 COM4 Linux --------------/dev/fd0 /dev/fd1 /dev/hda1 /dev/lp0 /dev/lp1 /dev/lp2 /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Os recursos multiusurio lhe permite acessar o sistema de qualquer lugar sem instalar nenhum driver, ou programa gigante, apenas atravs de conexes TCP/IP, como a Internet. Tambm possvel acessar o sistema localmente com vrios usurios (cada um executando tarefas completamente independente dos outros) atravs dos Terminais Virtuais. Faa um teste: pressione ao mesmo tempo a tecla ALT e F2 e voc ser levado para o segundo Terminal Virtual, pressione novamente ALT e F1 para retornar ao anterior. Para reiniciar o computador, voc pode pressionar CTRL+ALT+DEL (como usurio root) ou digitar shutdown -r now. Veja Reiniciando o computador on page 21 para detalhes . Para desligar o computador, digite shutdown -h now e espere o aparecimento da mensagem Power Down para apertar o boto LIGA/DESLIGA do computador. Veja Desligando o computador on page 21 para detalhes.

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 63

4.2

Comandos equivalentes entre DOS e Linux

Esta seo contm os comandos equivalentes entre estes dois sistemas e a avaliao entre ambos. Grande parte dos comandos podem ser usados da mesma forma que no DOS, mas os comandos Linux possuem avanos para utilizao neste ambiente multiusurio/multitarefa. O objetivo desta seo permitir as pessoas com experincia em DOS fazer rapidamente no GNU/Linux as tarefas que fazem no DOS. A primeira coluna tem o nome do comando no DOS, a segunda o comando que possui a mesma funo no GNU/Linux e na terceira coluna as diferenas. DOS -------cls dir Linux Diferenas ------------ -------------------------------------------------clear Sem diferenas. ls -la A listagem no Linux possui mais campos (as permisses de acesso) e o total de espao ocupado no diretrio e livre no disco deve ser visto separadamente usando o comando du e df. Permite tambm listar o contedo de diversos diretrios com um s comando (ls /bin /sbin /...). ls -lR Sem diferenas. ls -tr Sem diferenas. cd Poucas diferenas. cd sem parmetros retorna ao diretrio de usurio e tambm permite o uso de "cd -" para retornar ao diretrio anteriormente acessado. rm Poucas diferenas. O rm do Linux permite especificar diversos arquivos que sero apagados (rm arquivo1 arquivo2 arquivo3). Para ser mostrados os arquivos apagados, deve-se especificar o parmetro "-v" ao comando, e "-i" para pedir a confirmao ao apagar arquivos. mkdir Uma s diferena: No Linux permite que vrios diretrios sejam criados de uma s vez (mkdir /tmp/a /tmp/b...). cp Poucas diferenas. Para ser mostrados os arquivos enquanto esto sendo copiados, deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j existente, deve-se usar a opo "-i". echo Sem diferenas. path No Linux deve ser usado ":" para separar os diretrios e usar o comando "export PATH=caminho1:/caminho2:/caminho3:" para definir a varivel de ambiente PATH. O path atual pode ser visualizado atravs

dir/s dir/od cd

del

md

copy

echo path

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 64

ren

type ver date time attrib

scandisk doskey edit

fdisk

format

help interlnk

intersvr keyb

label mem more

do comando "echo $PATH". mv Poucas diferenas. No Linux no possvel renomear vrios arquivos de uma s vez (como "ren *.txt *.bak"). necessrio usar um shell script para fazer isto. cat Sem diferenas. uname -a Poucas diferenas (o uname tem algumas opes a mais). date No Linux mostra/modifica a Data e Hora do sistema. date No Linux mostra/modifica a Data e Hora do sistema. chmod O chmod possui mais opes por tratar as permisses de acesso de leitura, gravao e execuo para donos, grupos e outros usurios. fsck.ext2 O fsck mais rpido e extensivo na checagem. ----A edio de teclas feita automaticamente pelo bash. vi, ae, O edit mais fcil de usar, mas usurio emacs experientes apreciaro os recursos do vi ou o emacs (programado em lisp). fdisk, cfdisk Os particionadores do Linux trabalham com praticamente todos os tipos de parties de diversos sistemas de arquivos diferentes. mkfs.ext2 Poucas diferenas, precisa apenas que seja especificado o dispositivo a ser formatado como "/dev/fd0" ou "/dev/hda10" (o tipo de identificao usada no Linux), ao invs de "A:" ou "C:". man, info Sem diferenas. plip O plip do Linux permite que sejam montadas redes reais a partir de uma conexo via Cabo Paralelo ou Serial. A mquina pode fazer tudo o que poderia fazer conectada em uma rede (na realidade uma rede e usa o TCP/IP como protocolo) inclusive navegar na Internet, enviar e-mails, irc, etc. plip Mesmo que o acima. loadkeys Sem diferenas (somente que a posio das teclas do teclado pode ser editada. Desnecessrio para a maioria dos usurios). e2label necessrio especificar a partio que ter o nome modificado. cat /proc/meminfo Mostra detalhes sobre a quantidade de dados top em buffers, cache e memria virtual (disco). more, less O more equivalente a ambos os sistemas, mas o less permite que sejam usadas as setas para cima e para baixo, o que torna a leitura do

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 65

move

mv

scan

-----

backup

tar

print

lpr

vol xcopy

e2label cp -R

texto muito mais agradvel. Poucas diferenas. Para ser mostrados os arquivos enquanto esto sendo movidos, deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j existente deve-se usar a opo "-i". No existem vrus no Linux devido as restries do usurio durante execuo de programas. O tar permite o uso de compactao (atravs do parmetro -z) e tem um melhor esquema de recuperao de arquivos corrompidos que j segue evoluindo h 30 anos em sistemas UNIX. O lpr mais rpido e permite at mesmo impresses de grficos ou arquivos compactados diretamente caso seja usado o programa magicfilter. o programa de Spool de impressoras usados no sistema Linux/Unix. Sem diferenas. Pouca diferena, requer que seja usado a opo "-v" para mostrar os arquivos que esto sendo copiados e "-i" para pedir confirmao de substituio de arquivos.

4.2.1

Arquivos de congurao

Os arquivos config.sys e autoexec.bat so equivalentes aos arquivos do diretrio /etc especialmente o /etc/inittab e arquivos dentro do diretrio /etc/init.d .

4.3

Usando a sintaxe de comandos DOS no Linux

Voc pode usar os comandos do pacote mtools para simular os comandos usados pelo DOS no GNU/Linux, a diferena bsica que eles tero a letra m no inicio do nome. Os seguintes comandos so suportados: mattrib - Ajusta modica atributos de arquivos mcat - Mostra os dados da unidade de disquete em formato RAW mcd - Entra em diretrios mcopy - Copia arquivos/diretrios mdel - Exclui arquivos mdeltree - Exclui arquivos, diretrios e sub-diretrios mdir - Lista arquivos e diretrios mdu - Mostra o espao ocupado pelo diretrio do DOS mformat - Formatador de discos minfo - Mostra detalhes sobre a unidade de disquetes

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 66

mlabel - Cria um volume para unidades DOS mmd - Cria diretrios mmount - Monta discos DOS mmove - Move ou renomeia arquivos/subdiretrios mpartition - Particiona um disco para ser usado no DOS mrd - Remove um diretrio mren - Renomeia arquivos mtype - Visualiza o contedo de arquivos (equivalente ao cat) mtoolstest - Exibe a congurao atual do mtools mshowfat - Mostra a FAT da unidade mbadblocks - Procura por setores defeituosos na unidade mzip - Altera modo de proteo e ejeta discos em unidades Jaz/ZIP mkmanifest - Cria um shell script para restaurar nomes extensos usados no UNIX mcheck - Verica arquivos na unidade

4.4

Programas equivalentes entre Windows/DOS e o Linux

Esta seo contm programas equivalentes para quem est vindo do DOS e Windows e no sabe o que usar no GNU/Linux. Esta seo tambm tem por objetivo permitir ao usurio que ainda no usa GNU/Linux decidir se a passagem vale a pena vendo se o sistema tem os programas que precisa. Note que esta listagem mostra os programas equivalentes entre o DOS/Windows e o GNU/Linux cabendo a voc a deciso nal de migrar ou no. Lembrando que possvel usar o Windows, OS/2, DOS, OS/2 e GNU/Linux no mesmo disco rgido sem qualquer tipo de conito. A listagem abaixo pode estar incompleta, se encontrar algum programa que no esteja listado aqui, por favor entre em contato pelo E-Mail <gleydson@guiafoca.org> para inclui-lo na listagem. DOS/Windows ----------MS Word Linux Diferenas ---------------------------------------Open Office, O Open Office possui todos os Corel Word Perfect recursos do Word alm de ter a interface grfica igual, menus e teclas de atalho idnticas ao Word, o que facilita a migrao. Tambm trabalha com arquivos no formato Word97/2000 e no vulnervel a vrus de macro. distribudo gratuitamente e no requer pagamento de licena podendo ser instalado em quantos computadores voc quiser (tanto domsticos como de empresas). Open Office Mesmos pontos do acima e tambm

MS Excel

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 67

MS PowerPoint MS Access

Open Office SQL, Oracle, etc

MS Outlook

Pine, Mutt, sylpheed, etc

MS Internet Explorer

Netscape, Arena, Mozilla, lynx. LICQ, GAIM, SIM

ICQ

MSN Photo Shop

AMSN, GAIM The Gimp

Corel Photo Paint winamp

Corel Photo Paint xmms

media player

mplayer,playmidi xwave,

abre arquivos Excel97/2000. Mesmos pontos do acima. Existem diversas ferramentas de conceito para bancos de dados corporativos no Linux. Todos produtos compatveis com outras plataformas. Centenas de programas de E-Mail tanto em modo texto como em modo grfico. Instale, avalie e escolha. Os trs primeiros para modo grfico e o lynx opera em modo texto. Muito prtico e fcil de operar. Possibilita a mudana completa da aparncia do programa atravs de Skins. A organizao dos menus deste programa outro ponto de destaque. Permite conversar diretamente com usurios do Microsoft MSN. Fcil de usar, possui muitos scripts que permitem a criao rpida e fcil de qualquer tipo de efeito profissional pelo usurio mais leigo. Acompanha centenas de efeitos especiais e um belo manual em html com muitas fotos (aproximadamente 20MB) que mostra o que possvel se fazer com ele. Corel Photo-Paint para Linux. Possui todos os recursos do programa para Windows alm de filtros que permite acrescentar efeitos digitais da msica (em tempo real), eco, etc. Programas para execuo de arquivos de msica e videos multimdia. Existem outras alternativas, a escolha depende de seu gosto e da sofisticao do programa.

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 68

Pouca diferena. O cron da mais liberdade na programao de tarefas a serem executadas pelo Linux. Mixer aumix, cam Sem diferenas. Bate-Papo talk, ytalk O talk e o ytalk permite a conversa de dois usurios no s atravs de uma rede local, mas de qualquer parte do planeta, pois usa o protocolo tcp/ip para comunicao. Muito til e fcil de usar. MIRC Bitchx, xchat Clientes IRC para Linux IIS, Pers. Web Server Apache O apache o servidor WEB mais usado no mundo (algo em torno de 75% das empresas), muito rpido e flexvel de se configurar. Exchange, NT Mail Sendmail, Postfix, 72% da base de servidores de Exim, Qmail emails no mundo atualmente roda em software livre. Os mais recomendad so o Postfix e o qmail, devido a segurana, velocidade e integridade de mensagem Wingate, MS Proxy Squid, Apache, A migrao de um servidor proxy ip masquerade, para Linux requer o uso de nat, diald, vrios programas separados para exim, que se tenha um resultado profissional. Isto pode parecer incomodo no comeo, mas voc logo perceber que a diviso de servios entre programas mais produtivo. Quando desejar substituir um deles, o funcionamento dos outros no sero afetados. No vou entrar em detalhes sobre os programas citados ao lado, mas o squi um servidor proxy Web (HTTP e HTTPS) completo e tambm apresenta um excelente servio FTP. Possui outros mdulos como dns, ping, restries de acesso, limites de tamanho de arquivos, cache, etc. MS Frontpage Netscape Composer Sem comentrios... todas so e muitas outras ferramentas para a gerao ferramentas para de grandes Web Sites. O wdm,

Agente de Sistema

cron

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 69

MS Winsock

ViruScan, TBAV, F-PROT, CPAV.

gerao de contedo por exemplo, usado na gerao WEB (como zope, do site da distribuio Debian php3, php4, wdm, (http://www.debian.org) em 27 htdig) idiomas diferentes. Sem equivalente O Linux tem suporte nativo a tcp/ip desde o comeo de sua existncia e no precisa de nenhuma camada de comunicao entre ele e a Internet. A performance aproximadamente 10% maior em conexes Internet via fax-modem e outras redes tcp/ip. ----No existem vrus no Linux devido as restries ao usurio durante a execuo de programas.

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 70

71

Captulo 5

Discos e Parties
Este captulo traz explicaes de como manipular discos rgidos e parties no sistema GNU/Linux e como acessar seus discos de CD-ROM e parties DOS, Windows 95/98 no GNU/Linux. Tambm ser ensinado como utilizar o programa mkfs.ext2 para criar um sistema de arquivos EXT2 (formatar o disco) e a ferramenta mkswap (para criar uma partio ou arquivo de memria virtual).

5.1

Parties

So divises existentes no disco rgido que marcam onde comea onde termina um sistema de arquivos. Por causa destas divises, ns podemos usar mais de um sistema operacional no mesmo computador (como o GNU/Linux, Windows e DOS), ou dividir o disco rgido em uma ou mais partes para ser usado por um nico sistema operacional. Para gravar os dados, o disco rgido deve ser primeiro particionado (usando o fdisk), escolher o tipo da partio (Linux Native, Linux Swap, etc) e depois aquela partio deve ser formatada com o mkfs.ext2 (veja Partio EXT2 (Linux Native) on page 73). Aps criada e formatada, a partio ser identicada como um dispositivo no diretrio /dev (veja Identicao de discos e parties em sistemas Linux on page 90) . e dever ser montada (Montando (acessando) uma partio de disco on page 91) para permitir seu uso no sistema. Uma partio de disco no interfere em outras parties existentes, por este motivo possvel usar o Windows, GNU/Linux e qualquer outro sistema operacional no mesmo disco. Para escolher qual deles ser inicializado, veja Gerenciadores de Partida (boot loaders) on page 95. Para particionar (dividir) o disco rgido em uma ou mais partes necessrio o uso de um programa de particionamento. Os programas mais conhecidos para particionamento de discos no GNU/Linux so fdisk, cfdisk e o Disk Druid. Lembre-se:

Captulo 5. Discos e Parties

72

Quando se apaga uma partio, voc estar apagando TODOS os arquivos existentes nela! A partio do tipo Linux Native (Tipo 83) a usada para armazenar arquivos no GNU/Linux. Para detalhes veja Partio EXT2 (Linux Native) on the facing page. A partio do tipo Linux Swap (Tipo 82) usada como memria virtual. Para detalhes veja Partio Linux Swap (Memria Virtual) on page 81. Em sistemas novos, comum encontrar o Windows instalado em uma partio que consome TODO o espao do disco rgido. Uma soluo para instalar o GNU/Linux apagar a partio Windows e criar trs com tamanhos menores (uma para o Windows, uma para o GNU/Linux e outra para a Memria Virtual do Linux (SWAP). Ou criar apenas 2 se voc no quiser mais saber mais do Windows ;-) A outra usar o programa FIPS para diminuir o tamanho da partio Windows (usando o espao livre existente) e criar as 2 parties requeridas pelo GNU/Linux no espao restante, sem apagar o Windows. Esta tcnica tambm chamada de Reparticionamento no destrutivo (e o outro obviamente Reparticionamento destrutivo). Caso decida usar o FIPS, pegue a verso 2.0 ou superior do programa, pois funciona nativamente com sistema de arquivos FAT32 (voc o encontra no site de sua distribuio GNU/Linux). Para mais detalhes sobre discos, parties ou como particionar seu disco, veja algum bom documento sobre particionamento (como a pgina de manual e documentao do fdisk, cfdisk ou Disk Druid).

5.2

Sistema de Arquivos

criado durante a formatao da partio de disco (quando se usa o comando mkfs.ext2). Aps a formatao toda a estrutura para leitura/gravao de arquivos e diretrios pelo sistema operacional estar pronta para ser usada. Normalmente este passo feito durante a instalao de sua distribuio GNU/Linux. Cada sistema de arquivos tem uma caracterstica em particular mas seu propsito o mesmo: Oferecer ao sistema operacional a estrutura necessria para ler/gravar os arquivos/diretrios. Entre os sistemas de arquivos existentes posso citar: Ext2 - Usado em parties Linux Nativas para o armazenamento de arquivos. identicado pelo cdigo 83. Seu tamanho deve ser o suciente para acomodar todo os arquivos e programas que deseja instalar no GNU/Linux (voc encontra isto no manual de sua distribuio). Para detalhes veja Partio EXT2 (Linux Native) on the facing page. Ext3 - Este sistema de arquivos possui melhorias em relao ao ext2, como destaque o recurso de jornaling. Ele tambm identicado pelo tipo 83 e totalmente compatvel com o ext2 em estrutura. O journal mantm um log de todas as operaes no sistema de arquivos, caso acontea uma queda de energia eltrica (ou qualquer outra anormalidade que interrompa o funcionamento do sistema), o fsck verica o sistema de arquivos no ponto em que estava quando houve a interrupo, evitando a demora para checar todo um sistema de arquivos (que pode levar minutos em sistemas de arquivos muito grandes). Para detalhes veja Partio EXT3 (Linux Native) on page 75.

Captulo 5. Discos e Parties

73

Swap - Usado em parties Linux Swap para oferecer memria virtual ao sistema. Note que altamente recomendado o uso de uma partio Swap no sistema (principalmente se voc tiver menos que 16MB de memria RAM). Este tipo de partio identicado pelo cdigo 82. Para detalhes veja Partio Linux Swap (Memria Virtual) on page 81. proc - Sistema de arquivos do kernel (veja O sistema de arquivos /proc on page 83). FAT12 - Usado em disquetes no DOS FAT16 - Usado no DOS e oferece suporte at discos de 2GB FAT32 - Tambm usado no DOS e oferece suporte a discos de at 2 Terabytes

5.3

Partio EXT2 (Linux Native)

A partio EXT2 o tipo usado para criar o sistema de arquivos Linux Native usado para armazenar o sistema de arquivos EXT2 (aps a formatao) e permitir o armazenamento de dados. Para detalhes de como criar uma partio EXT2 veja Criando um sistema de arquivos EXT2 em uma partio on this page. Este tipo de partio normalmente identicado pelo cdigo 83 nos programas de particionamento de disco. Note que tambm possvel criar um sistema de arquivos EXT2 em um arquivo (ao invs de uma partio) que poder ser montado e acessado normalmente pelo sistema de arquivos (veja Criando um sistema de arquivos EXT2 em um arquivo on the next page. Logo que foi inventado, o GNU/Linux utilizava o sistema de arquivos Minix (e conseqentemente uma partio Minix) para o armazenamento de arquivos. Com a evoluo do desenvolvimento, foi criado o padro EXT (Extended Filesystem) e logo evoluiu para o EXT2 (Second Extended Filesystem) que o usado hoje em dia. Voc deve escolher este tipo de partio para armazenar seus arquivos, o padro atualmente, o mais rpido, no se fragmenta to facilmente pois permite a localizao do melhor lugar onde o arquivo se encaixa no disco, etc. Isto til para grandes ambientes multiusurio onde vrias pessoas gravam/apagam arquivos o tempo todo.

5.3.1

Criando um sistema de arquivos EXT2 em uma partio

O utilitrio usado para formatar uma partio EXT2 o mkfs.ext2. Aps terminar este passo, seu sistema de arquivos EXT2 estar pronto para ser usado. Aps particionar seu disco rgido e criar uma (ou vrias) parties EXT2, use o comando: mkfs.ext2 /dev/hda? Onde a ? em hda? signica o nmero da partio que ser formatada. A identicao da partio mostrada durante o particionamento do disco, anote se for o caso. hda o primeiro disco rgido IDE, hdb o segundo disco rgido IDE. Discos SCSI so identicados por sda?, sdb?, etc. Para detalhes sobre a identicao de discos, veja Identicao de discos e parties em sistemas Linux on page 90. Algumas opes so teis ao mkfs.ext2:

Captulo 5. Discos e Parties

74

-c Procura blocos danicados na partio antes de criar o sistema de arquivos. -L NOME Coloca um nome (label) no sistema de arquivos. -b NUM Dene o tamanho do bloco, em bytes. -m NUM Dene a porcentagem de espao em disco reservada para manuteno (por padro reservado para o root, mas isto altervel). Agora para acessar a partio dever ser usado o comando: mount /dev/hda? ext2 Para mais detalhes veja Montando (acessando) uma partio de disco on page 91. Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/hda, /dev/hdb, etc. EVITE FAZER ISSO! Como no estar criando uma partio, o disco estar divido de maneira incorreta, voc no poder apagar o sistema de arquivos completamente do disco caso precise (lembre-se que voc no criou uma partio), e a partio possui uma assinatura apropriada que identica o sistema de arquivos. O espao padro reservado na partio para o usurio root de 5%. Em sistemas com parties maiores que 3Gb, isso pode representar uma grande quantidade de espao em disco no utilizada por outros usurios. Veja a opo -m sobre como fazer esta modicao. Caso j tenha criado a partio, isto pode ser feito no tune2fs com a opo -m. /mnt -t

5.3.2

Criando um sistema de arquivos EXT2 em um arquivo

possvel criar um sistema de arquivos EXT2 em um arquivo que poder ser montado e acessado normalmente como se fosse uma partio normal. Isto possvel por causa do recurso loop oferecido pelo kernel do GNU/Linux. Os dispositivos de loop esto disponveis no diretrio /dev com o nome loop? (normalmente esto disponveis 8 dispositivos de loop). Isto possvel usando o comando dd e o mkfs.ext2. Veja passo a passo como criar o sistema de arquivos EXT2 em um arquivo: 1 Use o comando dd if=/dev/zero of=/tmp/arquivo-ext2 bs=1024 count=10000 para criar um arquivo arquivo-ext2 vazio de 10Mb de tamanho em /tmp. Voc pode modicar os parmetros de of para escolher onde o arquivo ser criado, o tamanho do arquivo poder ser modicado atravs de count 2 Formate o arquivo com mkfs.ext2 /tmp/arquivo-ext2. Ele primeiro dir que o arquivo arquivo-ext2 no um dispositivo de bloco especial (uma partio de disco) e perguntar se deve continuar, responda com y. O sistema de arquivos EXT2 ser criado em /tmp/arquivo-ext2 e estar pronto para ser usado.

Captulo 5. Discos e Parties

75

3 Monte o arquivo arquivo-ext2 com o comando: mount /tmp/arquivo-ext2 /mnt -o loop=/dev/loop1. Note que foi usado o parmetro -o loop para dizer ao comando mount para usar os recursos de loop do kernel para montar o sistema de arquivos. 4 Conra se o sistema de arquivos EXT2 em arquivo-ext2 foi realmente montado no sistema de arquivos digitando df -T. Para detalhes, veja df on page 138. Pronto! o que voc gravar para /mnt ser gravado dentro do arquivo /tmp/arquivo-ext2. Como foi criado um sistema de arquivos EXT2 em arquivo-ext2, voc poder usar todos os recursos da partio EXT2 normal, como permisses de arquivos e diretrios, links simblicos, etc. O uso da opo loop=/dev/loop1 permite que o dispositivo /dev/loop1 seja associado ao arquivo /arquivo-ext2 e assim permitir sua montagem e uso no sistema. Voc poder usar apenas -o loop com o comando mount, assim o kernel gerenciar automaticamente os dispositivos de loop. Caso faa isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referncia a um nico arquivo.

5.4

Journaling

O sistema de journaling grava qualquer operao que ser feita no disco em uma rea especial chamada journal, assim se acontecer algum problema durante a operao de disco, ele pode voltar ao estado anterior do arquivo, ou nalizar a operao. Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior tolerncia a falhas. Aps uma falha de energia, por exemplo, o journal analisado durante a montagem do sistema de arquivos e todas as operaes que estavam sendo feitas no disco so vericadas. Dependendo do estado da operao, elas podem ser desfeitas ou nalizadas. O retorno do servidor praticamente imediato (sem precisar a enorme espera da execuo do fsck em parties maiores que 10Gb), garantindo o rpido retorno dos servios da mquina. Outra situao que pode ser evitada com inconsistncias no sistema de arquivos do servidor aps a situao acima, fazendo o servidor car em estado single user e esperando pela interveno do administrador. Este captulo do guia explica a utilizao de journaling usando o sistema de arquivos ext3 (veja Partio EXT3 (Linux Native) on the current page para detalhes).

5.5

Partio EXT3 (Linux Native)

O sistema de arquivos ext3 faz parte da nova gerao extended le system do Linux, sendo que seu maior benefcio o suporte a journaling.

Captulo 5. Discos e Parties

76

O uso deste sistema de arquivos comparado ao ext2, na maioria dos casos, melhora o desempenho do sistema de arquivos atravs da gravao seqencial dos dados na rea de metadados e acesso mhash a sua rvore de diretrios. A estrutura da partio ext3 semelhante a ext2, o journaling feito em um arquivo chamado .journal que ca oculto pelo cdigo ext3 na partio (desta forma ele no poder ser apagado, comprometendo o funcionamento do sistema). A estrutura idntica da partio ext3 com a ext2 torna mais fcil a manuteno do sistema, j que todas as ferramentas para recuperao ext2 funcionaro sem problemas.

5.5.1

Criando um sistema de arquivos EXT3 em uma partio

Para criar uma partio ext3, utilize o comando mkfs.ext3 ou o mkfs.ext2 junto com a opo -j. As opes usadas pelo mkfs.ext3 so idnticas a do mkfs.ext2 (documentado em Criando um sistema de arquivos EXT2 em uma partio on page 73). A nica vantagem desta ferramenta comparada ao mkfs.ext2 que a opo -j automaticamente adicionada a linha de comando para criar um sistema de arquivos com journal. Se voc daqueles que querem ter um controle maior sobre o tamanho do arquivo de journal, use a opo -J [tam] (onde tamanho o tamanho em Megabytes). Quando uma partio ext3 criada, o arquivo .journal criado no raz da partio, sendo usado para gravar os metadados das transaes de journaling. A estrutura da partio ext2 no difere em nada da ext3, a no ser este arquivo e a opo has_journal que passada a partio. Por exemplo, para criar uma partio ext3 em /dev/hda1: mkfs.ext3 /dev/hda1 ou mkfs.ext2 -j /dev/hda1 Basta agora montar a partio com o comando mount /dev/hda1 /teste -t ext3 (para montar a partio em /teste. Aps isto, modique o /etc/fstab para montar a partio como ext3 quando o Linux for iniciado. Para mais detalhes veja Montando (acessando) uma partio de disco on page 91. ). Caso o suporte a ext3 tenha sido compilado no kernel, ele tentar detectar e montar a partio como ext3, caso contrrio, ele usar ext2. Sua partio agora est montada como ext3, para conferir digite: df -T. OBS: Quando criar um sistema de arquivos ext3 em uma partio raz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrrio a partio ser montada como ext2.

5.5.2

Criando um sistema de arquivos EXT3 em um arquivo

As instrues para criar um sistema de arquivos ext3 em um arquivo no difere muito das instrues de Criando um sistema de arquivos EXT2 em um arquivo on page 74, apenas

Captulo 5. Discos e Parties

77

utilize a opo -j ou -J [tamanho_em_mb] (como explicado em Criando um sistema de arquivos EXT3 em uma partio on the preceding page).

5.5.3

Fazendo a converso do sistema de arquivos EXT2 para EXT3

Se voc j possui um uma partio ext2 e deseja converte-la para ext3 isto poder ser feito facilmente, de forma segura (sem qualquer risco de perda de dados) e voc poder voltar para o sistema ext2 caso deseje (veja Convertendo de EXT3 para EXT2 on this page). Primeiro, execute o comando tune2fs na partio que deseja converter com a opo -j ou -J [tamanho_journal] para adicionar o suporte a Journaling na partio. Este comando poder ser executado com segurana em uma partio ext2 montada, aps converter remontar a partio usando os comandos umount /particao e mount /particao. Aps a converso para ext3 desnecessria a checagem peridica do sistema de arquivos (que por padro aps 20 montagens e a cada 30 dias). Voc pode desativar a checagem aps o nmero mximo de montagens com a opo -c [num_vezes], e o nmero de dias mximos antes de vericar novamente com a opo -i [num_dias] (o uso de 0 desativa). Por exemplo: tune2fs -c 0 -i 90 /dev/hda2 Desativa a checagem aps nmero mximo de montagens (-c 0) e diz para a partio ser vericada a cada 90 dias (-i 90). O ltimo passo modicar o /etc/fstab para que a partio seja montada como ext3 na inicializao e depois desmontar (umount /dev/hda2 e remonta-la (mount /dev/hda2) para usar o suporte ext3. Conra se ela est usando ext3 usando o comando df -T. OBS: Caso a partio convertida para ext3 seja a raz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrrio, a partio ser montada como ext2.

5.5.4

Convertendo de EXT3 para EXT2

Remover o suporte a ext3 de uma partio simples, rpido e seguro. Execute os seguintes passos: 1 Execute o comando tune2fs -O^has_journal /dev/hdxx na partio que deseja remover o Journal. Este comando poder ser executado em uma partio montada. 2 Modique o /etc/fstab e altere a partio para ext2. 3 Desmonte e monte novamente a partio com os comandos: umount /dev/hdxx e mount /dev/hdxx. 4 Pronto! a partio agora novamente uma partio ext2 normal, conra digitando df -T. Pronto, o suporte a ext3 foi removido do seu sistema e agora poder usar a partio como ext2 normalmente (conra digitando df -T).

Captulo 5. Discos e Parties

78

5.6

Sistema de arquivos reiserfs

Este um sistema de arquivos alternativo ao ext2/3 que tambm possui suporte a journaling. Entre suas principais caractersticas, esto que ele possui tamanho de blocos variveis, suporte a arquivos maiores que 2 Gigabytes (esta uma das limitaes do ext3) e o acesso mhash a rvore de diretrios um pouco mais rpida que o ext3. Para utilizar reiserfs, tenha certeza que seu kernel possui o suporta habilitado (na seo File Systems) e instale o pacote reiserfsprogs que contm utilitrios para formatar, vericar este tipo de partio.

5.6.1

Criando um sistema de arquivos reiserfs em uma partio

Para criar uma partio reiserfs, primeiro instale o pacote reiserfsprogs (apt-get install reiserfsprogs). Para criar uma partio reiserfs, primeiro crie uma partio ext2 normal, e ento use o comando: mkreiserfs /dev/hda? Onde a ? em hda? signica o nmero da partio que ser formatada com o sistema de arquivos reiserfs. A identicao da partio mostrada durante o particionamento do disco, anote se for o caso. hda o primeiro disco rgido IDE, hdb o segundo disco rgido IDE. Discos SCSI so identicados por sda?, sdb?, etc. Para detalhes sobre a identicao de discos, veja Identicao de discos e parties em sistemas Linux on page 90. Algumas opes so teis ao mkreiserfs: -s [num] - Especica o tamanho do arquivo de journal em blocos. O valor mnimo 513 e o mximo 32749. O valor padro 8193. -l [NOME] - Coloca um nome (label) no sistema de arquivos. -f - Fora a execuo do mkreiserfs. -d - Ativa a depurao durante a execuo do mkreiserfs. Agora para acessar a partio dever ser usado o comando: mount /dev/hda? reiserfs Para mais detalhes veja Montando (acessando) uma partio de disco on page 91. Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/hda, /dev/hdb, etc. usando a opo -f EVITE FAZER ISSO! Como no estar criando uma partio, o disco estar divido de maneira incorreta, voc no poder apagar o sistema de arquivos completamente do disco caso precise (lembre-se que voc no criou uma partio), e a partio possui uma assinatura apropriada que identica o sistema de arquivos. /mnt -t

Captulo 5. Discos e Parties

79

5.6.2

Criando um sistema de arquivos reiserfs em um arquivo

O sistema de arquivos reiserfs tambm poder ser criado em um arquivo, usando os mesmos benefcios descritos em Criando um sistema de arquivos EXT2 em um arquivo on page 74. Para fazer isso execute os seguintes passos em seqncia: 1 Use o comando dd if=/dev/zero of=/tmp/arquivo-reiserfs bs=1024 count=33000 para criar um arquivo arquivo-reiserfs vazio de 33Mb de tamanho em /tmp. Voc pode modicar os parmetros de of para escolher onde o arquivo ser criado, o tamanho do arquivo poder ser modicado atravs de count. Note que o tamanho mnimo do arquivo deve ser de 32Mb, devido aos requerimentos do reiserfs. 2 Formate o arquivo com mkreiserfs -f /tmp/arquivo-reiserfs. Ele primeiro dir que o arquivo arquivo-reiserfs no um dispositivo de bloco especial (uma partio de disco) e perguntar se deve continuar, responda com y. O sistema de arquivos ReiserFS ser criado em /tmp/arquivo-reiserfs e estar pronto para ser usado. 3 Monte o arquivo arquivo-reiserfs com o comando: mount /tmp/arquivo-reiserfs /mnt -t reiserfs -o loop=/dev/loop1. Note que foi usado o parmetro -o loop para dizer ao comando mount para usar os recursos de loop do kernel para montar o sistema de arquivos. O parmetro -t reiserfs poder ser omitido, se desejar. 4 Conra se o sistema de arquivos ReiserFS em arquivo-reiserfs foi realmente montado no sistema de arquivos digitando df -T. Para detalhes, veja df on page 138. Pronto! o que voc gravar para /mnt ser gravado dentro do arquivo /tmp /arquivo-reiserfs. Voc poder usar todos os recursos de um sistema de arquivos reiserfs como permisses de arquivos e diretrios, links simblicos, etc. O uso da opo loop=/dev/loop1 permite que o dispositivo /dev/loop1 seja associado ao arquivo /arquivo-reiserfs e assim permitir sua montagem e uso no sistema. Voc poder usar apenas -o loop com o comando mount, assim o kernel gerenciar automaticamente os dispositivos de loop. Caso faa isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referncia a um nico arquivo.

5.6.3

Nomeando uma partio de disco

O comando e2label usado para esta funo. e2label [dispositivo] [nome] Onde:

Captulo 5. Discos e Parties

80

dispositivo Partio que ter o nome modicado nome Nome que ser dado a partio (mximo de 16 caracteres). Caso seja usado um nome de volume com espaos, ele dever ser colocado entre aspas. Se no for especicado um nome, o nome atual da partio ser mostrado. O nome da partio tambm pode ser visualizado atravs do comando dumpe2fs (veja dumpe2fs on the current page). Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 Foca Linux

5.6.4

Criando o diretrio especial lost+found

O utilitrio mklost+found cria o diretrio especial lost+found no diretrio atual. O diretrio lost+found criado automaticamente aps a formatao da partio com o mkfs.ext2, a funo deste diretrio pr-alocar os blocos de arquivos/diretrio durante a execuo do programa fsck.ext2 na recuperao de um sistema de arquivos (veja Checagem dos sistemas de arquivos on page 293). Isto garante que os blocos de disco no precisaro ser diretamente alocados durante a checagem. mklost+found OBS: Este comando s funciona em sistemas de arquivos ext2 Exemplo: cd /tmp;mklost+found;ls -a

5.6.5

dumpe2fs

Mostra detalhes sobre uma partio Linux. dumpe2fs [opes] [partio] Onde: partio Identicao da partio que ser usada. opes -b Mostra somente os blocos marcado como defeituosos no sistema de arquivos especicado. Este comando lista diversas opes teis do sistema de arquivos como o tipo do sistema de arquivos, caractersticas especiais, nmero de inodos, blocos livres, tamanho do bloco, intervalo entre checagens automticas, etc. Exemplo: dumpe2fs /dev/sda1, dumpe2fs -b /dev/sda1

5.6.6

Partio EXT2 ou Arquivo?

Criar uma partio EXT2 ou um arquivo usando o loop? Abaixo esto algumas consideraes: A partio EXT2 o mtodo recomendado para a instalao do GNU/Linux. O desempenho da partio EXT2 bem melhor se comparado ao arquivo porque acessada diretamente pelo Kernel (SO).

Captulo 5. Discos e Parties

81

O arquivo EXT2 til para guardarmos dados condenciais em disquetes ou em qualquer outro lugar no sistema. Voc pode perfeitamente gravar seus arquivos condenciais em um arquivo chamado libBlaBlaBla-2.0 no diretrio /lib e ningum nunca suspeitar deste arquivo (acho que no. . . ). Tambm possvel criptografa-lo para que mesmo algum descobrindo que aquilo no uma lib, no poder abri-lo a no ser que tenha a senha (isto coberto no documento Loopback-encripted-filesystem.HOWTO). O uso do arquivo EXT2 til quando voc est perdendo espao na sua partio EXT2 e no quer re-particionar seu disco pois teria que ser feita uma re-instalao completa e tem muito espao em um partio de outro SO (como o Windows). Voc poderia facilmente copiar o contedo de /var, por exemplo, para o arquivo EXT2 ext2-l criado no diretrio Raz do Windows, apagar o contedo de /var (liberando muito espao em disco) e ento montar ext2-l como /var. A partir de agora, tudo o que for gravado em /var ser na realidade gravado no arquivo ext2-l. Para o sistema acessar o arquivo, deve passar pelo sistema de arquivos loop e FAT32, isto causa um desempenho menor.

5.7

Partio Linux Swap (Memria Virtual)

Este tipo de partio usado para oferecer o suporte a memria virtual ao GNU/Linux em adio a memria RAM instalada no sistema. Este tipo de partio identicado pelo tipo 82 nos programas de particionamento de disco para Linux. Para detalhes de como criar uma partio Linux Swap veja Criando sistema de arquivos Swap em uma partio on the current page. Somente os dados na memria RAM so processados pelo processador, por ser mais rpida. Desta forma quando voc est executando um programa e a memria RAM comea a encher, o GNU/Linux move automaticamente os dados que no esto sendo usados para a partio Swap e libera a memria RAM para a continuar carregando os dados necessrios pelo. Quando os dados movidos para a partio Swap so solicitados, o GNU/Linux move os dados da partio Swap para a Memria. Por este motivo a partio Swap tambm chamada de Troca ou memria virtual. A velocidade em que os dados so movidos da memria RAM para a partio muito alta. Note tambm que possvel criar o sistema de arquivos Swap em um arquivo ao invs de uma partio (veja Criando um sistema de arquivos Swap em um arquivo on the following page).

5.7.1

Criando sistema de arquivos Swap em uma partio

O programa usado para formatar uma partio Swap o mkswap. Seu uso simples: mkswap /dev/hda? Novamente veja Identicao de discos e parties em sistemas Linux on page 90 caso no souber identicar seus discos e parties. O nome do dispositivo da partio Swap pode ser visualizado atravs de seu programa de particionamento, voc pode usar o comando fdisk -l /dev/hda para listar as parties no primeiro disco rgido e assim vericar qual dispositivo corresponde a partio Swap.

Captulo 5. Discos e Parties

82

A opo -c tambm pode ser usada com o mkswap para checar se existem agrupamentos danicados na partio. Com a partio Swap formatada, use o comando: swapon /dev/hda? para ativar a partio Swap (lembre-se de substituir ? pelo nmero de sua partio Swap). Observaes: Os Kernels do GNU/Linux 2.0.xx e anteriores somente suportam parties Swap de at 128MB. Caso precise de mais que isso, crie mais parties Swap ou atualize seu sistema para trabalhar com o kernel 2.2.xx Se utilizar mais que 1 partio Swap, pode ser til o uso da opo -p NUM que especica a prioridade em que a partio Swap ser usada. Pode ser usado um valor de prioridade entre 0 e 32767, parties com nmero maior sero usadas primeiro, sendo que na montagem automtica atravs de mount -a podem ser designados nmeros negativos. Procure usar o nmero maior para parties mais rpidas (elas sero acessadas primeiro) e nmeros maiores para parties mais lentas. Caso precise desativar a partio Swap, use o comando: swapoff /dev/hda?.

5.7.2

Criando um sistema de arquivos Swap em um arquivo

Tambm possvel criar um arquivo que poder ser usado como memria virtual. Veja passo a passo como fazer isso: 1 Use o comando dd if=/dev/zero of=/tmp/troca bs=1024 count=16000 para criar um arquivo chamado troca vazio de 16Mb de tamanho em /tmp. Voc pode modicar os parmetros de of para escolher onde o arquivo ser criado, o tamanho do arquivo poder ser modicado atravs de count. 2 Execute mkswap /tmp/troca para formatar o arquivo. Aps concluir este passo, o sistema de arquivos Swap estar criado e pronto para ser usado. 3 Digite sync para sincronizar os buffers para o disco, assim voc no ter problemas em um servidor com muito I/O. 4 Ative o arquivo de troca com o comando swapon /tmp/troca. 5 Conra se o tamanho da memria virtual foi modicado digitando cat /proc/meminfo ou free. Observaes: Podem ser usadas parties de troca e arquivos de troca juntos, sem problemas. Caso seu sistema j tenha uma partio de Swap, recomendvel deixar o acesso ao arquivo Swap com uma prioridade menor (usando a opo -p NUM com o comando swapon).

Captulo 5. Discos e Parties

83

5.7.3

Partio Swap ou Arquivo?

Criar uma partio de Troca ou um arquivo de troca? Abaixo algumas vantagens e desvantagens: A partio Swap mais rpida que o arquivo Swap pois acessada diretamente pelo Kernel. Se o seu computador tem pouca memria (menos que 32Mb) ou voc tem certeza que o sistema recorre freqentemente a memria virtual para executar seus programas, recomendvel usar uma partio Swap. O arquivo de troca permite que voc crie somente uma partio Linux Native e crie o arquivo de troca na partio EXT2. Voc pode alterar o tamanho do arquivo de troca facilmente apagando e criando um novo arquivo como descrito em Criando um sistema de arquivos Swap em um arquivo on the facing page. possvel criar um arquivo de troca em outros tipos de parties como FAT16, FAT32, etc. O arquivo de troca estar disponvel somente aps o sistema de arquivos que o armazena (ext2, fat32, etc) estar montado. Isto um problema para sistemas com pouca memria que dependem do arquivo de troca desde sua inicializao.

5.8

O sistema de arquivos /proc

o sistema de arquivos do Kernel do GNU/Linux. Ele oferece um mtodo de ler, gravar e modicar dinamicamente os parmetros do kernel, muito til para curiosos (como eu) e programas de congurao. A modicao dos arquivos do diretrio /proc o mtodo mais usado para modicar a congurao do sistema e muitos programas tambm dependem deste diretrio para funcionar. Nele voc tem todo o controle do que o seus sistema operacional est fazendo, a congurao dos hardwares, interrupes, sistema de arquivos montado, execuo de programas, memria do sistema, rede, etc. Agora entre no diretrio /proc digite ls e veja a quantidade de arquivos e diretrios que ele possui, d uma passeada por eles. Abaixo a descrio de alguns deles (todos podem ser visualizados pelo comando cat): Diretrios com nmeros - Estes identicam os parmetros de um processo em execuo. Por exemplo, se o PID (identicao do processo) do inetd for 115, voc pode entrar no diretrio 115 e vericar as opes usadas para execuo deste programa atravs de cada arquivos existente dentro do diretrio. Alguns so: cmdline - O que foi digitado para iniciar o processo (pode tambm ter sido iniciado atravs de um programa ou pelo kernel). environ - Variveis de Ambiente existentes no momento da execuo do processo.

Captulo 5. Discos e Parties

84

status - Dados sobre a execuo do Processo (PID, status da execuo do programa, memria consumida, memria executvel, UID, GID, etc). apm - Dados sobre o gerenciamento de energia cmdline - Linha de comando usada para inicializar o Kernel GNU/Linux. Os parmetros so passados atravs do programa de inicializao, como o LILO, LOADLIN, SYSLINUX. cpuinfo - Detalhes sobre a CPU do sistema devices - Dispositivos usados no sistema dma - Canais de DMA usados por dispositivos filesystems - Sistemas de arquivos em uso atualmente interrupts - Interrupes usadas por dispositivos ioports - Portas de Entrada e Sada usadas pelos dispositivos do sistema kcore - Este arquivo corresponde a toda a memria RAM em seu sistema. Seu tamanho correspondente a memria RAM do micro kmsg - Permite visualizar mensagens do Kernel (use o comando cat < kmsg para visualiza-lo e pressione CTRL+C para cancelar loadavg - Mdia de Carga do sistema meminfo - Dados de utilizao da memria do sistema misc - Outras conguraes modules - Mdulos atualmente carregados no kernel mounts - Sistemas de Arquivos atualmente montados pci - Detalhes sobre dispositivos PCI do sistema rtc - Relgio em Tempo real do sistema uptime - Tempo de execuo do sistema version - Verso atual do Kernel, programa usado na compilao, etc Diretrio net - Dados sobre a rede do sistema Diretrio sys - Dados sobre outras reas do sistema Diretrio scsi - Detalhes sobre dispositivos SCSI do sistema Note que o diretrio proc e os arquivos existentes dentro dele esto localizados no diretrio raiz (/), mas no ocupa nenhum espao no disco rgido.

5.9

LVM - Logical Volume Manager

O lvm (Logical Volume Manager) faz a associao entre dispositivos/parties fsicas (incluindo discos RAID, MO, mass storages diversos, MD, e loop) e dispositivos lgicos. O mtodo tradicional faz a alocao de todo espao fsico ao tamanho da partio do disco (o mtodo tradicional), o que traz muito trabalho quando o espao esgota, cpia de dados ou planejamento de uso de mquina (que pode mudar com o passar do tempo). O sistema de lvm soluciona os seguintes problemas: Uso ecaz de disco, principalmente quando h pouco espao para criao de parties independentes. Permite aumentar/diminuir dinamicamente o tamanho das parties sem reparticionamento do disco rgido usando o espao livre em outras parties ou utilizando o espao livre reservado para o uso do LVM.

Captulo 5. Discos e Parties

85

Uma partio de disco identicada por um nome de volume e no pelo dispositivo. Voc pode ento se referir aos volumes como: usurios, vendas, diretoria, etc. Sua diviso em 3 camadas possibilita a adio/remoo de mais discos de um conjunto caso seja necessrio mais espao em volumes, etc. Permite selecionar o tamanho do cluster de armazenamento e a forma que eles so acessados entre os discos, possibilitando garantir a escolha da melhor opo dependendo da forma que os dados sero manipulados pelo servidor. Permite snapshots dos volumes do disco rgido. As 3 camadas do LVM so agrupadas da seguinte forma: PV (Phisical Volume) - Corresponde a todo o disco rgido/partio ou dispositivo de bloco que ser adicionado ao LVM. Os aplicativos que manipulam o volume fsico, comeam com as letras pv*. O espao disponvel no PV dividido em PE (Phisical Extends, ou extenses fsicas). O valor padro do PE de 4MB, possibilitando a criao de um VG de 256Gb. Por exemplo: /dev/hda1 VG (Volume Group) - Corresponde ao grupo de volumes fsicos que fazem parte do LVM. Do grupo de volume so alocados os espaos para criao dos volumes lgicos. Os aplicativos que manipulam o o grupo de volume, comeam com as letras vg*. Por exemplo: /dev/lvmdisk0 LV (Logical Volume) - Corresponde a partio lgica criada pelo LVM para gravao de dados. ao invs de ser identicada por nomes de dispositivos, podem ser usados nomes comuns para se referir as parties (tmp,usr,etc.). O Volume lgico a rea onde o sistema de arquivo criado para gravao de dados, seria equivalente a partio em um sistema SEM LVM s que lgica ao invs de fsica. O volume lgico tem seu espao dividido em LE (Logical Extends, ou extenses lgicas) que correspondem aos PEs alocados. Exemplos: /dev/lvmdisk/usr, /dev/lvmdisk /tmp, etc.

5.9.1

Representao grca do LVM

Desenvolvi este desenho para representar a idia de organizao de um sistema LVM para o guia Foca GNU/Linux e apresentar a descrio prtica da coisa: +------[ Grupo de Volume (VG) - lvmdsk ]------+ | +--[ PV - hda1 ]---+ +--[ PV - hdb1 ]--+ | | | PE PE PE PE PE PE| | PE PE PE PE PE | | | +------------------+ +-----------------+ | | | | | | | | | | +-----------------+ | | | | +----------------+ | | | | | | | | | +-[ LV - var ]-+ +-[ LV - home ]-+ | | | LE LE LE LE | | LE LE LE LE | | | +--------------+ +---------------+ | +---------------------------------------------+ O grco acima representa a seguinte situao:

Captulo 5. Discos e Parties

86

1 Ns temos dois volumes fsicos representados por hda1 e hdb1. Cada um desses volumes fsicos tem um Phisical Extend (PE) de 4M (o padro). 2 Estes dois volumes fsicos acima representam o espao total do grupo de volume lvmdisk em /dev/lvmdisk. 3 Do grupo de volume lvmdisk so criados dois volumes lgicos chamados var e home, estando disponveis para particionamento atravs de /dev/lvmdisk/var e /var /lvmdisk/home. Na prtica, o espao do volume lgico denido alocando-se alguns Phisical Extends (PE) dos volumes fsicos como logical extends (LE) dos volumes lgicos. Desta forma, o tamanho de todos os PEs e LEs existentes dentro de um mesmo grupo de volume devem ser iguais.

5.9.2

Performance do LVM

Um sistema com LVM tem sua performance um pouco reduzida quanto ao acesso a disco, devido as camadas adicionais de acesso aos dados, sendo afetadas operaes em caracteres e inteligentes de acesso a dados. Entretanto, a performance de leitura/gravao de blocos melhorada consideravelmente aps a adoo do LVM. O LVM tambm garante que o sistema no mostre sintomas de paradas durante o esvaziamento de cache de disco, mantendo sempre uma certa constncia na transferncia de dados mesmo em operaes pesadas de I/O no disco. Depende de voc avaliar estes pontos e considerar sua adoo.

5.9.3

Colocando LVM em seu sistema

Nesta seo no tenho a inteno de cobrir todos os detalhes tcnicos da implantao do LVM, a idia aqui fornecer uma referncia bsica e prtica para uso em qualquer sistema normal (desconsiderando usos crticos). A idia aqui mostrar de forma prtica como implantar LVM em sua mquina e preparar seu uso nos discos. Antes de comear, retire QUALQUER CD que estiver inserido na unidade de CD-ROM, pois eles podem causar erro no pvscan, pvdisplay, etc. 1 No particionamento, dena as parties do tipo 8E (Linux LVM). A partio Linux LVM exatamente igual a Linux Native (82), a nica vantagem que o LVM utilizar auto deteco para saber quais parties ele deve utilizar no pvscan. 2 Instale o pacote lvm10 e uma imagem de kernel 2.4 que tenha suporte a LVM, ou compile seu prprio kernel (caso goste de mquinas turbinadas :-) 3 Execute o pvscan para detectar as parties marcadas como LVM e criar sua congurao em /etc/lvmtab.d. OBS: normal o sistema procurar dispositivos de CD-ROM durante a execuo do pvscan, apenas no deixe um CD na unidade para evitar grandes sustos se estiver desatento com os passos :-) 4 Rode o pvcreate no disco ou partio para dizer que ela ser um volume fsico do LVM: pvcreate /dev/hda1 ou pvcreate /dev/hda Em caso de dvida sobre qual a partio LVM, digite: fdisk -l /dev/hda (supondo que /dev/hda o disco rgido que est congurando o LVM).

Captulo 5. Discos e Parties

87

5 Rode o pvdisplay /dev/hda1 para vericar se o volume fsico foi criado. Recomendo que deixe a partio raz (/) de fora do LVM para no ter futuros problemas com a manuteno do seu sistema, a menos que tenha muitas opes de inicializao com suporte a LVM em mos, ou algo mais complexo baseado em initrd :-) 6 Crie o grupo de volume na partio vgcreate lvmdisk /dev/hda1 /dev/hdb7. . . Note que parties de discos diferentes podem fazer parte de um mesmo grupo de volume (VG) do LVM. Caso use o devfs, ser preciso usar o caminho completo do dispositivo ao invs do link: vgcreate lvmdisk /dev/ide/host0/bus0/target0/lun0/part1 O valor padro do Phisical Extend de 4MB mas pode ser alterado pelo parmetro -s tamanho, assim o tamanho mximo do grupo de volume ser de 256GB (4MB * 64.000 extends que so suportados por volume lgico). Os valores do Phisical Extend (PE) pode ser de 8k a 16GB. No possvel modicar o tamanho do PE aps ele ser denido. 7 Verique o grupo de volume (VG) recm criado com o comando: vgdisplay ou vgdisplay /dev/hda6. Atente para a linha Free PE / tamanho, que indica o espao livre restante para criar os volumes lgicos (LV). 8 Crie o volume lgico (LV) com o comando: lvcreate -L1500 -ntmp lvmdisk Que vai criar uma partio LVM de 1500MB (1,5GB) com o nome tmp (acessvel por /var /lvmdisk/tmp) dentro do grupo lvmdisk. Voc dever fazer isso com as outra parties. 9 Agora resta criar um sistema de arquivos (ext3, reiserfs, xfs, jfs, etc) como faria com qualquer partio fsica normal: mkfs.ext3 /dev/lvmdisk/tmp mkfs.reiserfs /dev/lvmdisk/tmp OBS: Caso deseje montar automaticamente o volume LVM, coloque o caminho completo do LVM ao invs do volume fsico no /etc/fstab: /dev/lvmdisk/tmp.

5.9.4

Aumentando o tamanho de um volume lgico

O processo para aumentar o tamanho do volume lgico consiste em primeiro aumentar o tamanho do VG com o lvextend e depois ajustar o tamanho do sistema de arquivos: # Aumenta o espao do volume lgico tmp para 1G lvextend -L1G /dev/lvmdisk/tmp # Aumenta em 200MB o espao no volume lgico tmp lvextend -L+200M /dev/lvmdisk/tmp As unidades Kk,Mm,Gg,Tt podem ser usadas para especicar o espao. Aps modicar o volume lgico, ser preciso aumentar o tamanho do sistema de arquivos para ser exatamente igual ao tamanho do LV. Isto depende do seu sistema de arquivos: ext2/3 resize2fs /dev/lvmdisk/tmp O ext2/3 ainda vem com o utilitrio e2fsadm que executa os dois comandos (lvextend e resize2fs) de uma s vez: e2fsadm -L+1G /dev/lvmdisk/tmp OBS: Voc dever desmontar o sistema de arquivos antes de alterar o tamanho de um sistema de arquivos ext2 ou ext3. Para alterar o tamanho durante a execuo do sistema operacional, necessria a aplicao do patch ext2online no kernel.

Captulo 5. Discos e Parties

88

reiserfs resize_reiserfs -f /dev/lvmdisk/tmp O tamanho do sistema de arquivos reiserfs poder ser modicado on-line, assim no precisa parar seu servidor para esta operao. xfs xfs_growfs /tmp Note que deve ser especicado o ponto de montagem ao invs do dispositivo. O sistema de arquivos dever ser montado antes de ser modicado e incluido no /etc/fstab.

5.9.5

Diminuindo um volume lgico

Para diminuir o tamanho de um volume lgico, certique-se de ter calculado o espao corretamente para acomodar todos os dados que j existem na partio. A diferena para o processo de aumentar o LV que neste o sistema de arquivos reduzido primeiro e depois o LV: ext2/3 e2fsadm -L-1G /dev/lvmdisk/tmp Voc tambm poder usar o resize2fs e depois o lvreduce, mas dever dizer o tamanho em blocos para o resize2fs que varia de acordo com o tamanho do sistema de arquivos: resize2fs /dev/lvmdisk/tmp 524288 lvreduce -L-1G /dev/lvmdisk/tmp OBS: Voc dever desmontar o sistema de arquivos antes de alterar o tamanho do sistema de arquivos, a no ser que tenha o patch ext2online aplicado no kernel. reiserfs resize_reiserfs -s-1G /dev/lvmdisk/tmp lvreduce -L-1G /dev/lvmdisk/tmp O tamanho do sistema de arquivos reiserfs poder ser modicado on-line, assim no precisa parar seu servidor para a modicao. xfs No possvel diminuir o tamanho de um sistema de arquivos XFS em sua verso atual (12/2003).

5.10

Formatando disquetes

As subsees seguintes explicaro maneiras de formatar seus disquetes para serem usados no GNU/Linux e DOS/Windows.

5.10.1

Formatando disquetes para serem usados no Linux

Para formatar disquetes para serem usados no GNU/Linux use o comando: mkfs.ext2 [-c] [/dev/fd0] Em alguns sistemas voc deve usar mke2fs no lugar de mkfs.ext2. A opo -c faz com que o mkfs.ext2 procure por blocos danicados no disquete e /dev/fd0 especica a primeira unidade de disquetes para ser formatada (equivalente a A: no DOS). Mude para /dev/fd1 para formatar um disquete da segunda unidade. OBS: Este comando cria um sistema de arquivos ext2 no disquete que nativo do GNU/Linux e permite usar caractersticas como permisses de acesso e outras. Isto tambm faz com que o disquete NO possa ser lido pelo DOS/Windows. Para formatar um disquete no GNU/Linux usando o FAT12 (compatvel com o DOS/Windows) veja prxima seo. Exemplo: mkfs.ext2 -c /dev/fd0

Captulo 5. Discos e Parties

89

5.10.2

Formatando disquetes compatveis com o DOS/Windows

A formatao de disquetes DOS no GNU/Linux feita usando o comando superformat que geralmente includo no pacote mtools. O superformat formata (cria um sistema de arquivos) um disquete para ser usado no DOS e tambm possui opes avanadas para a manipulao da unidade, formatao de intervalos de cilindros especcos, formatao de discos em alta capacidade e vericao do disquete. superformat [opes] [dispositivo] dispositivo Unidade de disquete que ser formatada. Normalmente /dev/fd0 ou /dev/fd1 especicando respectivamente a primeira e segunda unidade de disquetes. opes -v [num ] Especica o nvel de detalhes que sero exibidos durante a formatao do disquete. O nvel 1 especica um ponto mostrado na tela para cada trilha formatada. Veja a pgina de manual do superformat para detalhes. -superverify Verica primeiro se a trilha pode ser lida antes de formata-la. Este o padro. dosverify, -B Verica o disquete usando o utilitrio mbadblocks. Usando esta opo, as trilhas defeituosas encontradas sero automaticamente marcadas para no serem utilizadas. verify_later, -V Verica todo o disquete no nal da formatao. noverify, -f No faz vericao de leitura. -b [trilha ] Especica a trilha inicial que ser formatada. O padro 0. -e [trilha ] Especica a trilha nal que ser formatada. Na primeira vez que o superformat executado, ele verica a velocidade de rotao da unidade e a comunicao com a placa controladora, pois os discos de alta densidade so sensveis a rotao da unidade. Aps o teste inicial ele recomendar adicionar uma linha no arquivo /etc/driveprm como forma de evitar que este teste seja sempre executado. OBS: Esta linha calculada de acordo com a rotao de usa unidade de disquetes, transferncia de dados e comunicao com a placa controladora de disquete. Desta forma ela varia de computador para computador Note que no necessrio montar a unidade de disquetes para formata-la. Segue abaixo exemplos de como formatar seus disquetes com o superformat: superformat /dev/fd0 - Formata o disquete na primeira unidade de disquetes usando os valores padres. superformat /dev/fd0 dd - Faz a mesma coisa que o acima, mas assume que o disquete de Dupla Densidade (720Kb). superformat -v 1 /dev/fd0 - Faz a formatao da primeira unidade de disquetes (/dev/fd0) e especica o nvel de detalhes para 1, exibindo um ponto aps cada trilha formatada.

5.10.3

Programas de Formatao Grcos

Alm de programas de formatao em modo texto, existem outros para ambiente grco (X11) que permitem fazer a mesma tarefa. Entre os diversos programas destaco o gfloppy que alm de permitir selecionar se o disquete ser formatado para o GNU/Linux (ext2) ou DOS (FAT12), permite selecionar a capacidade da

Captulo 5. Discos e Parties

90

unidade de disquetes e formatao rpida do disco.

5.11

Pontos de Montagem

O GNU/Linux acessa as parties existente em seus discos rgidos e disquetes atravs de diretrios. Os diretrios que so usados para acessar (montar) parties so chamados de Pontos de Montagem. Para detalhes sobre montagem de parties, veja Montando (acessando) uma partio de disco on the next page. No DOS cada letra de unidade (C:, D:, E:) identica uma partio de disco, no GNU/Linux os pontos de montagem fazem parte da grande estrutura do sistema de arquivos raiz. Existem muitas vantagens de se usar pontos de montagem ao invs de unidade de disco para identicar parties (mtodo usado no DOS): Voc pode montar a partio no diretrio que quiser. Em caso de um sistema de arquivos cheio, voc pode copiar o contedo de um grande diretrio para um disco separado, apagar o contedo do diretrio original e montar o disco onde foram copiados os arquivos naquele local (caso no use um sistema de LVM). O uso de pontos de montagem torna o gerenciamento mais exvel. A adio de novas parties ou substituio de discos rgidos no afeta a ordem de identicao dos discos e pontos de montagem (como no acontece no DOS).

5.12

Identicao de discos e parties em sistemas Linux

No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identicados por um arquivo referente a este dispositivo no diretrio /dev. A identicao de discos rgidos no GNU/Linux feita da seguinte forma: /dev/hda1 | | || | | ||_Nmero que identifica o nmero da partio no disco rgido. | | | | | |_Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). | | | |_Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xt=XT). | |_Diretrio onde so armazenados os dispositivos existentes no sistema. Abaixo algumas identicaes de discos e parties em sistemas Linux: /dev/fd0 - Primeira unidade de disquetes.

Captulo 5. Discos e Parties

91

/dev/fd1 - Segunda unidade de disquetes. /dev/hda Primeiro disco rgido na primeira controladora IDE do micro (primary master). /dev/hda1 - Primeira partio do primeiro disco rgido IDE. /dev/hdb Segundo disco rgido na primeira controladora IDE do micro (primary slave). /dev/hdb1 - Primeira partio do segundo disco rgido IDE. /dev/sda - Primeiro disco rgido na primeira controladora SCSI. /dev/sda1 - Primeira partio do primeiro disco rgido SCSI. /dev/sdb - Segundo disco rgido na primeira controladora SCSI. /dev/sdb1 - Primeira partio do segundo disco rgido SCSI. /dev/sr0 - Primeiro CD-ROM SCSI. /dev/sr1 - Segundo CD-ROM SCSI. /dev/xda - Primeiro disco rgido XT. /dev/xdb - Segundo disco rgido XT. As letras de identicao de discos rgidos podem ir alm de hdb, em meu micro, por exemplo, a unidade de CD-ROM est localizada em /dev/hdg (Primeiro disco - quarta controladora IDE). importante entender como os discos e parties so identicados no sistema, pois ser necessrio usar os parmetros corretos para monta-los.

5.13

Montando (acessando) uma partio de disco

Voc pode acessar uma partio de disco usando o comando mount. mount [dispositivo] [ponto de montagem] [opes] Onde: dispositivo Identicao da unidade de disco/partio que deseja acessar (como /dev/hda1 (disco rgido) ou /dev/fd0 (primeira unidade de disquetes). ponto de montagem Diretrio de onde a unidade de disco/partio ser acessado. O diretrio deve estar vazio para montagem de um sistema de arquivo. Normalmente usado o diretrio /mnt para armazenamento de pontos de montagem temporrios. -t [tipo ] Tipo do sistema de arquivos usado pelo dispositivo. So aceitos os sistemas de arquivos:

Captulo 5. Discos e Parties

92

ext2 - Para parties GNU/Linux usando o Extended File System verso 2 (a mais comum). ext3 - Para parties GNU/Linux usando o Extended File System verso 3, com suporte a journaling. reiserfs - Para parties reiserfs, com suporte a journaling. vfat - Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios. msdos - Para parties DOS normais. iso9660 - Para montar unidades de CD-ROM. o padro. umsdos - Para montar uma partio DOS com recursos de parties EXT2, como permisses de acesso, links, etc. Para mais detalhes sobre opes usadas com cada sistema de arquivos, veja a pgina de manual mount. -r Caso for especicada, monta a partio somente para leitura. -w Caso for especicada, monta a partio como leitura/gravao. o padro. Existem muitas outras opes que podem ser usadas com o comando mount, mas aqui procurei somente mostrar o bsico para montar seus discos e parties no GNU/Linux (para mais opes, veja a pgina de manual do mount). Caso voc digitar mount sem parmetros, sero mostrados os sistemas de arquivos atualmente montados no sistema. Esta mesma listagem pode ser vista em /etc/mtab. A remontagem de partio tambm muito til, especialmente aps reparos nos sistema de arquivos do disco rgido. Veja alguns exemplos de remontagem abaixo. necessrio permisses de root para montar parties, a no ser que tenha especicado a opo user no arquivo /etc/fstab (veja fstab on this page). Exemplo de Montagem: Montar uma partio Windows (vfat) de /dev/hda1 em /mnt somente para leitura: mount /dev/hda1 /mnt -r -t vfat Montar a primeira unidade de disquetes /dev/fd0 em /floppy: mount /dev/fd0 /floppy -t vfat Montar uma partio DOS localizada em um segundo disco rgido /dev/hdb1 em /mnt: mount /dev/hdb1 /mnt -t msdos. Remontar a partio raz como somente leitura: mount -o remount,rw / Remontar a partio raz como leitura/gravao (a opo -n usada porque o mount no conseguir atualizar o arquivo /etc/mtab devido ao sistema de arquivos / estar montado como somente leitura atualmente: mount -n -o remount,rw /.

5.13.1

fstab

O arquivo /etc/fstab permite que as parties do sistema sejam montadas facilmente especicando somente o dispositivo ou o ponto de montagem. Este arquivo contm parmetros sobre as parties que so lidos pelo comando mount. Cada linha deste arquivo contm a partio que desejamos montar, o ponto de montagem, o sistema de arquivos usado pela partio e outras opes. fstab tem a seguinte forma:

Captulo 5. Discos e Parties

93

Sistema_de_arquivos /dev/hda1 /dev/hda2 /dev/hda3 /dev/hdg

Ponto_de_Montagem / /boot /dos /cdrom

Tipo ext2 ext2 msdos iso9660

Opes dump ordem defaults 0 1 defaults 0 2 defaults,noauto,rw 0 0 defaults,noauto 0 0

Onde: Sistema de Arquivos Partio que deseja montar. Ponto de montagem Diretrio do GNU/Linux onde a partio montada ser acessada. Tipo Tipo de sistema de arquivos usado na partio que ser montada. Para parties GNU/Linux use ext2, para parties DOS (sem nomes extensos de arquivos) use msdos, para parties Win 95 (com suporte a nomes extensos de arquivos) use vfat, para unidades de CD-ROM use iso9660. Opes Especica as opes usadas com o sistema de arquivos. Abaixo, algumas opes de montagem para ext2/3 (a lista completa pode ser encontrada na pgina de manual do mount): defaults - Utiliza valores padres de montagem. noauto - No monta os sistemas de arquivos durante a inicializao (til para CDROMS e disquetes). ro - Monta como somente leitura. user - Permite que usurios montem o sistema de arquivos (no recomendado por motivos de segurana). sync recomendado para uso com discos removveis (disquetes, zip drives, etc) para que os dados sejam gravados imediatamente na unidade (caso no seja usada, voc deve usar o comando sync on page 147 antes de retirar o disquete da unidade. dump Especica a frequncia de backup feita com o programa dump no sistema de arquivos. 0 desativa o backup. Ordem Dene a ordem que os sistemas de arquivos sero vericados na inicializao do sistema. Se usar 0, o sistema de arquivos no vericado. O sistema de arquivos raz que dever ser vericado primeiro o raz / (a no ser que voc tenha um sistema de arquivos de outro tipo que no montado dentro do diretrio raz e possui seu suporte embutido no kernel) . Aps congurar o /etc/fstab, basta digitar o comando mount /dev/hdg ou mount /cdrom para que a unidade de CD-ROM seja montada. Voc deve ter notado que no necessrio especicar o sistema de arquivos da partio pois o mount vericar se ele j existe no /etc/fstab e caso existir, usar as opes especicadas neste arquivo. Para maiores detalhes veja as pginas de manual fstab e mount.

5.14

Desmontando uma partio de disco

Para desmontar um sistema de arquivos montado com o comando umount, use o comando umount. Voc deve ter permisses de root para desmontar uma partio. umount [dispositivo/ponto de montagem]

Captulo 5. Discos e Parties

94

Voc pode tanto usar umount /dev/hda1 como umount /mnt para desmontar um sistema de arquivos /dev/hda1 montado em /mnt. Observao: O comando umount executa o sync automaticamente no momento da desmontagem para garantir que todos os dados ainda no gravados sero salvos.

95

Captulo 6

Gerenciadores de Partida (boot loaders)


Gerenciadores de Partida so programas que carregam um sistema operacional e/ou permitem escolher qual ser iniciado. Normalmente este programas so gravados no setor de boot (inicializao) da partio ativa ou no master boot record (MBR) do disco rgido. Este capitulo explica o funcionamento de cada um dos principais gerenciadores de partida usados no GNU/Linux, em que situaes recomendado seu uso, as caractersticas, como congura-lo e alguns exemplos de congurao.

6.1

LILO

O LILO (Linux Loader) sem dvida o gerenciador de partida padro para quem deseja iniciar o GNU/Linux atravs do disco rgido. Ele permite selecionar qual sistema operacional ser iniciado (caso voc possua mais de um) e funciona tanto em discos rgidos IDE como SCSI. A seleo de qual sistema operacional e a passagem de parmetros ao kernel pode ser feita automaticamente ou usando o aviso de boot: do LILO.

6.1.1

Criando o arquivo de congurao do LILO

Os dados para a criao do novo setor de boot que armazenar o gerenciador de partida so lidos do arquivo /etc/lilo.conf Este arquivo pode ser criado em qualquer editor de textos (como o ae ou vi). Normalmente ele criado durante a instalao de sua distribuio GNU/Linux mas por algum motivo pode ser preciso modica-lo ou personaliza-lo (para incluir novos sistemas operacionais, mensagens, alterar o tempo de espera para a partida automtica, etc). O arquivo /etc/lilo.conf dividido em duas sees: Geral e Imagens. A seo Geral vem no inicio do arquivo e contm opes que sero usadas na inicializao do Lilo e parmetros que sero passados ao kernel. A seo Imagens contm opes especicas identicando qual a partio que contm o sistema operacional, como ser montado inicialmente o sistema de

Captulo 6. Gerenciadores de Partida (boot loaders)

96

arquivos, tabela de partio, o arquivo que ser carregado na memria para inicializar o sistema, etc. Abaixo um modelo do arquivo /etc/lilo.conf para sistemas que s possuem o GNU/Linux instalado: boot=/dev/hda1 compact install=text map=/boot/map vga=normal delay=20 lba32 image=/vmlinuz root=/dev/hda1 label=Linux read-only Para criar um novo gerenciador de partida atravs do arquivo /etc/lilo.conf , execute o comando lilo. No exemplo acima, o gerenciador de partida ser instalado em /dev/hda1 (veja Identicao de discos e parties em sistemas Linux on page 90) , utilizar um setor de boot compacto (compact), modo de vdeo VGA normal (80x25), esperar 2 segundos antes de processar automaticamente a primeira seo image= e carregar o kernel /vmlinux de /dev/hda1. Para detalhes sobre opes que podem ser usadas neste arquivo veja Opes usadas no LILO on page 98. Para mostrar o aviso de boot:, voc dever ligar as teclas Caps Lock ou Scrool lock na partida ou pressionar a tecla Shift durante os dois segundos de pausa. Outro mtodo incluir a opo prompt na seo global para que o aviso de boot: seja mostrado automaticamente aps carregar o Lilo. Abaixo uma congurao para computadores com mais de um sistema operacional (Usando GNU/Linux e DOS): boot=/dev/hda1 compact lba32 install=menu map=/boot/map vga=normal delay=20 prompt image=/vmlinuz root=/dev/hda1

Captulo 6. Gerenciadores de Partida (boot loaders)

97

label=linux read-only other=/dev/hda2 table=/dev/hda label=dos O exemplo acima idntico ao anterior, o que foi acrescentado foi a opo prompt na seo geral (para que seja mostrado imediatamente o aviso de boot: no momento em que o LILO for carregado), e includa uma imagem de disco DOS localizado em /dev/hda2. No momento da inicializao mostrada a mensagem boot: e caso seja digitado DOS e pressionado ENTER, o sistema iniciar o DOS. Caso a tecla Enter seja pressionada sem especicar a imagem, a primeira ser carregada (neste caso o GNU/Linux). Voc pode substituir a palavra GNU/Linux da opo label por o nmero 1 e DOS por 2, desta forma o nmero pode ser digitado para iniciar o sistema operacional. Isto muito til para construir um menu usando a opo message. Para detalhes veja Opes usadas no LILO on the following page. A seo Geral vem do inicio do arquivo at a palavra delay=20. A partir do primeiro aparecimento da palavra image, other ou range, tudo o que vier abaixo ser interpretado como imagens de inicializao. Por padro, a imagem carregada a especicada por default= ou a primeira que aparece no arquivo (caso default= no seja especicado). Para carregar o outro sistema (o DOS), digite o nome da imagem de disco no aviso de boot: (especicada em label=) que ser carregada. Voc tambm pode passar parmetros manualmente ao kernel digitando o nome da imagem de disco e uma opo do kernel ou atravs do arquivo /etc/lilo.conf (veja Opes usadas no LILO on the next page). O LILO pode inicializar o seguintes tipos de imagens: Imagens do kernel de um arquivo. Normalmente usado para iniciar o GNU/Linux pelo disco rgido e especicado pelo parmetro image=. Imagens do kernel de um dispositivo de bloco (como um disquete). Neste caso o nmero de setores a serem lidos devem ser especicados na forma PRIMEIRO-LTIMO ou PRIMEIRO+NMERO de setores a serem lidos. necessrio especicar o parmetro image= e range=, por exemplo: image=/dev/fd0 range=1+512 Todas as opes do kernel podem ser usadas na inicializao por dispositivo. O setor de boot de outro sistema operacional (como o DOS, OS/2, etc). O setor de partida armazenado junto com a tabela de partio no arquivo /boot/map. necessrio especicar o parmetro OTHER=dispositivo ou OTHER=arquivo e a inicializao atravs de um setor de partida possui algumas opes especiais como o TABLE= (para especicar a tabela de partio) e o MAP-DRIVE= (identicao da unidade de discos pelo sistema operacional). Veja o exemplo desta congurao abaixo: other=/dev/hda2 table=/dev/hda

Captulo 6. Gerenciadores de Partida (boot loaders)

98

label=DOS map-drive=0x80 to = 0x81 map-drive=0x81 to = 0x80 Observaes: Caso o gerenciador de partida seja instalado no MBR do disco rgido (boot=/dev/hda), o setor de boot do antigo sistema operacional ser substitudo, retire uma cpia do setor de boot para um disquete usando o comando dd if=/dev/hda of=/floppy/mbr bs=512 count=1 no GNU/Linux para salvar o setor de boot em um disquete e dd if=/floppy/mbr of=/dev/hda bs=446 count=1 para restaura-lo. No DOS voc pode usar o comando fdisk /mbr para criar um novo Master Boot Record. Aps qualquer modicao no arquivo /etc/lilo.conf , o comando lilo dever ser novamente executado para atualizar o setor de partida do disco rgido. Isto tambm vlido caso o kernel seja atualizado ou a partio que contm a imagem do kernel desfragmentada. A limitao de 1024 cilindros do Lilo no existe mais a partir da verso 21.4.3 (recomendada, por conter muitas correes) e superiores. A reinstalao, formatao de sistemas DOS e Windows pode substituir o setor de partida do HD e assim o gerenciador de partida, tornando impossvel a inicializao do GNU/Linux. Antes de reinstalar o DOS ou Windows, verique se possui um disquete de partida do GNU/Linux. Para gerar um novo boot loader, coloque o disquete na unidade e aps o aviso boot: ser mostrado, digite linux root=/dev/hda1 (no lugar de /dev/hda1 voc coloca a partio raiz do GNU/Linux), o sistema iniciar. Dentro do GNU/Linux, digite o comando lilo para gerar um novo setor de partida. Agora reinicie o computador, tudo voltar ao normal.

6.1.2

Opes usadas no LILO

Esta seo traz opes teis usadas no arquivo lilo.conf com explicaes sobre o que cada uma faz. As opes esto divididas em duas partes: As usadas na seo Global e as da seo Imagens do arquivo lilo.conf. Global backup=[arquivo/dispositivo] - Copia o setor de partida original para o arquivo ou dispositivo especicado. boot=dispositivo - Dene o nome do dispositivo onde ser gravado o setor de partida do LILO (normalmente usada a partio ativa ou o Master Boot Record - MBR). Caso no seja especicado, o dispositivo montado como a partio raiz ser usado. compact - Tenta agrupar requisies de leitura para setores seguintes ao sendo lido. Isto reduz o tempo de inicializao e deixa o mapa menor. normalmente recomendado em disquetes.

Captulo 6. Gerenciadores de Partida (boot loaders)

99

default=imagem - Usa a imagem especicada como padro ao invs da primeira encontrada no arquivo lilo.conf. delay=[num] - Permite ajustar o nmero de segundos (em dcimos de segundos) que o gerenciador de partida deve aguardar para carregar a primeira imagem de disco (ou a especicada por default=). Esta pausa lhe permite selecionar que sistema operacional ser carregado. install=interface - Especica que interface ser usada para exibio de menu com as opes de inicializao ao usurio. As seguintes opes so permitidas: text - Exibe uma mensagem de texto (exibida atravs do parmetro message=) na tela. Esta a recomendada para terminais. menu - Exibe um menu que lhe permite selecionar atravs de uma interface de menu a opo de inicializao. Esta a padro. bmp - Exibe um bitmap grco com a resoluo de 640x480 com 16 ou 256 cores. lba32 - Permite que o LILO quebre o limite de 1024 cilindros do disco rgido, inicializando o GNU/Linux em um cilindro acima deste atravs do acesso . Note que isto requer compatibilidade com o BIOS, mais especicamente que tenha suporte a chamadas int 0x13 e AH=0x42. recomendado o seu uso. map=arquivo-mapa - Especica a localizao do arquivo de mapa (.map). Se no for especicado, /boot/map usado. message=arquivo - Especica um arquivo que contm uma mensagem que ser mostrada antes do aviso de boot:. Nenhuma mensagem mostrada at que seja pressionada a tecla Shift aps mostrar a palavra LILO. O tamanho da mensagem deve ser no mximo 65535 bytes. O arquivo de mapa deve ser novamente criado caso a mensagem seja retirada ou modicada. Na mensagem, o caracter FF (CTRL+L) limpa a tela. nowarn - No mostra mensagens de alerta. password=senha - Permite proteger todas as imagens de disco com uma nica senha. Caso a senha esteja incorreta, o LILO novamente carregado. prompt - Mostra imediatamente o aviso de boot: ao invs de mostrar somente quando a tecla Shift pressionada. verbose=[num] - Ativa mensagens sobre o processamento do LILO. Os nmeros podem ser especicados de 1 a 5, quanto maior o nmero, maior a quantidade de detalhes mostrados. timeout=[num] - Ajusta o tempo mximo de espera (em dcimos de segundos) de digitao no teclado. Se nenhuma tecla pressionada no tempo especicado, a primeira imagem automaticamente carregada. Igualmente a digitao de senha interrompida se o usurio estiver inativo por este perodo.

Captulo 6. Gerenciadores de Partida (boot loaders)

100

Adicionalmente as opes de imagem do kernel append, ramdisk, read-only, read-write, root e vga podem ser especicadas na seo global. Opes por Imagem As opes por imagem iniciam com uma das seguintes opes: image=, other= ou range=. Opes usadas por cada imagem: table=dispositivo - Indica o dispositivo que contm a tabela de partio para aquele dispositivo. Necessrio apenas para imagens especicadas por other=. unsafe - No acessa o setor de boot no momento da criao do mapa. Isto desativa algumas checagens, como a checagem da tabela de partio. unsafe e table= so incompatveis. label=[nome] - Permite especicar um nome para a imagem. Este nome ser usado na linha boot: para inicializar o sistema. alias=[nome] - Apelido para a imagem de disco. como um segundo label. optional - Ignora a imagem caso no estiver disponvel no momento da criao do mapa. til para especicar kernels que no esto sempre presentes no sistema. password=senha - Protege a imagem atual com a senha. Caso a senha esteja incorreta, o setor de partida do Lilo novamente carregado. restricted - A senha somente pedida para iniciar a imagem se o sistema for iniciado no modo single. Tambm podem ser usados parmetros de inicializao do kernel no arquivo /etc /lilo.conf, veja a seo Parmetros de inicializao passados ao kernel on page 109 para maiores detalhes.

6.1.3

Um exemplo do arquivo de congurao lilo.conf

Abaixo um exemplo do arquivo /etc/lilo.conf que poder ser usado em instalaes GNU/Linux com o DOS.

boot=/dev/hda1 #Instala o LILO em /dev/hda1 compact install=menu map=/boot/map message=/etc/lilo.message #mensagem que ser mostrada na tela default=1 #Carrega a Imagem especificada por label=1 como padro vga=normal #usa o modo de video 80x25 ao iniciar o Linux delay=20 #aguarda 2 segundos antes de iniciar a imagem padro lba32 #permite quebrar o limite de 1024 cilindros na inicializa prompt #mostra o aviso de "boot:" logo que o LILO carregado

Captulo 6. Gerenciadores de Partida (boot loaders)

101

image=/vmlinuz root=/dev/hda1 label=1 read-only password=12345 restricted other=/dev/hda2 table=/dev/hda label=2 password=12345

#especifica o arquivo que contm a primeira imagem #partio onde a imagem acima esta localizada #identificao da imagem de disco #monta inicialmente como somente leitura #Usa a senha 12345 #somente quando iniciar com o parmetro single #especifica outro sistema que ser carregado #a tabela de partio dele est em /dev/hda #identificao desta imagem de disco #pede a senha antes de iniciar este sistema

Voc pode usar o exemplo acima como base para construir sua prpria congurao personalizada do /etc/lilo.conf mas no se esquea de modicar as tabelas de parties para seu sistema. Se voc usa o Windows NT 4.0, Windows NT 5.0 (Windows 2000) ou o OS/2, recomendo ler o DOS+Windows+OS/2-HOWTO. Aps criar seu arquivo /etc/lilo.conf , execute o comando lilo e se tudo ocorrer bem, o LILO ser instalado.

6.2

GRUB

(Os detalhes contidos na seo sobre o GRUB, foram integralmente desenvolvidos por Alexandre Costa <alebyte@bol.com.br> como contribuio ao guia FOCA GNU/Linux.) O GRUB (Grand Unied Boot Loader) mais uma alternativa como gerenciador de boot e apresenta alguns recursos extras com relao as outras opes disponveis. Ele exvel, funcional e poderoso, podendo inicializar sistemas operacionais como o Windows (9x, ME, NT, 2000 e XP), Dos, Linux, GNU Hurd, *BSD, OS/2 e etc. Podemos destacar tambm o suporte aos sistemas de arquivos ext2 (Linux), ext3 e reiserfs (novos sistemas de arquivos journaling do Linux), FAT16 e FAT32 (Win 9x/ME), FFS (Fast File System usado no *BSD), minix (MINIX OS) e etc. Por utilizar o padro Multiboot ele capaz de carregar diversas imagens de boot e mdulos. Por esse motivo ele o nico gerenciador de inicializao capaz de carregar o conjunto de servidores do GNU Hurd. O GRUB tambm permite buscar imagens do kernel pela rede, por cabo seriais, suporta discos rgidos IDE e SCSI, detecta toda a memria RAM disponvel no sistema, tem interface voltada para linha de comandos ou menus de escolha, alm de suportar sistemas sem discos e terminais remotos. Como possui inmeros recursos, ser apresentada sua utilizao bsica, cando como sugesto ao leitor procurar se aprofundar mais em suas possibilidades de uso e congurao.

6.2.1

Como o GRUB trabalha com discos e parties

O GRUB trabalha com uma notao diferente para apontar discos e parties sendo necessrio algumas explicaes antes de prosseguir. Veja a tabela comparativa:

Captulo 6. Gerenciadores de Partida (boot loaders)

102

No Linux /dev/hda /dev/hda1 /dev/hda2 /dev/hdb /dev/hdb1 /dev/hdb2 /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/fd0

No GRUB (hd0) (hd0,0) (hd0,1) (hd1) (hd1,0) (hd1,1) (hd0) # Disco SCSI ID 0 (hd0,0) # Disco SCSI ID 0, partio 1 (hd0,1) # Disco SCSI ID 0, partio 2 (hd1) # Disco SCSI ID 1 (hd1,0) # Disco SCSI ID 1, partio 1 (hd1,1) # Disco SCSI ID 1, partio 2 (fd0)

OBS: Os discos IDE e SCSI so referenciados ambos como (hd?) pelo GRUB. No h distino entre os discos e de modo geral a identicao de unidades IDE menor do que qualquer tipo de drive SCSI, salvo se voc alterar a seqncia de inicializao (boot) na BIOS. Para saber como o Linux trabalha com parties veja Identicao de discos e parties em sistemas Linux on page 90.

6.2.2

Instalando o GRUB

A instalao do GRUB ao contrrio da instalao do LILO (LILO on page 95), s precisa ser executada uma nica vez. Caso seja necessria alguma mudana como por exemplo adicionar uma nova imagem, esta pode ser feita apenas editando o arquivo de congurao menu.lst.

No MBR Um mtodo simples de adicionar o GRUB para gerenciar seu MBR (Master Boot Record) rodando o seguinte comando (como superusurio): # /sbin/grub-install /dev/hda Este comando grava o GRUB no MBR do primeiro disco e cria o diretrio /boot/grub onde estaro os arquivos necessrios para o seu funcionamento. Neste ponto o GRUB j est instalado e quando voc reiniciar seu computador ir se deparar com uma linha de comandos, onde ter

Captulo 6. Gerenciadores de Partida (boot loaders)

103

que carregar a imagem do kernel manualmente. Mais adiante ser explorada a utilizao desta linha de comando que muito eciente. Provavelmente voc achar mais interessante copiar o arquivo de congurao de exemplos do GRUB e otimiz-lo s suas necessidades. Note que isto no exclui a possibilidade de utilizar a linha de comando, apenas cria uma interface de menus onde voc pode congurar vrias opes de boot de uma forma organizada, automatizada e funcional. Copie este arquivo para o diretrio /boot/grub com o seguinte comando: # cp /usr/share/doc/grub/examples/menu.lst /boot/grub Por ser um arquivo de exemplos ser necessrio otimiz-lo de acordo com suas necessidades, o que ser abordado mais a frente.

6.2.3

No disco exvel (somente linha de comando)

Quando criamos um disquete de partida, este funcionar em um sistema qualquer, podendo utilizar este disquete em vrias mquinas diferentes ou em uma mquina em que tenha tido algum problema com o GRUB no MBR. Coloque um disquete virgem e digite os seguintes comandos: # dd if=/usr/lib/grub/i386-pc/stage1 of=/dev/fd0 count=1 # dd if=/usr/lib/grub/i386-pc/stage2 of=/dev/fd0 seek=1 Estes comandos permitem que seja apresentada a linha de comando do grub quando este disco for utilizado para boot.

6.2.4

No disco exvel (com interface de menu)

Quando foi criado o disquete de partida anteriormente, este s nos permitia utilizar a linha de comando sendo necessrio carregar o menu.lst pelo disco rgido (o qual deve estar presente). Em alguns casos este disco satisfaz as necessidades bsicas mas pode haver um momento em que voc deseje ter um disquete que funcione com vrios sistema e no dependa de um disco xo. Digite os seguintes comandos: # # # # # # # mke2fs /dev/fd0 mount /dev/fd0 /floppy -t ext2 mkdir /floppy/grub cp /usr/lib/grub/i386-pc/stage[12] /floppy/grub cp /usr/share/doc/grub/examples/menu.lst /floppy/grub umount /floppy /sbin/grub

Captulo 6. Gerenciadores de Partida (boot loaders)

104

Este ltimo comando disponibiliza a linha de comando do GRUB. Digite os seguintes comandos:

grub> install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/menu.ls grub> quit Neste momento o disquete est pronto. Note que o menu.lst que foi copiado para ele um arquivo de exemplo, sendo necessrio que voc o congure de acordo com suas necessidades.

6.2.5

Opes do arquivo de congurao

Esta seo descreve o arquivo menu.lst com explicaes sobre as opes mais usadas. Este arquivo dividido em parmetros Globais, que afetam o arquivo todo e parmetros que s tem efeito para as imagens do sistema que ser carregado. Algumas opes podem ser passadas para o kernel do Linux no momento do boot, algumas delas tambm sero detalhadas. Parmetros Globais timeout = Dene um tempo (em segundos) de espera. Se nenhuma tecla for pressionada, carrega a imagem padro. default = Dene qual ser a opo padro que deve ser automaticamente selecionada quando nenhuma outra for especicada em um tempo denido por timeout. fallback = Caso ocorra algum erro inesperado e a opo padro no possa ser carregada, este parmetro dene qual a outra opo deve ser utilizada. color = Permite que voc escolha as cores usadas no menu de boot. password = Permite que voc especique uma senha. Est ser solicitada sempre que houver necessidade de realizar uma funo que no seja carregar as imagens disponveis, como por exemplo acessar a linha de comandos do GRUB. Voc pode utilizar tambm o parmetro password para esconder um arquivo que contenha outras conguraes, como um menu.lst secreto. O arquivo pode ter um nome qualquer. Ex.: password = senha (hd0,0)/boot/grub/secret.conf Voc pode ter vrias entradas do parmetro password em um mesmo arquivo sendo que uma delas usada para bloquear o acesso as imagens/linha de comandos e as outras usadas para carregar arquivos de opes do GRUB. Quando voc digitar p para entrar com a senha, voc pode digitar a senha que protege as imagens/linha de comandos ou a que utilizada para carregar os arquivos de opes. hiddenmenu = Est opo faz com que o menu de opes no seja mostrado e de boot na imagem especicada por default depois de expirado o tempo denido em timeout. O usurio pode requisitar o menu com as opes pressionando a tecla <ESC> antes que o tempo denido em timeout expire. Parmetros que afetam apenas as imagens title = Dene um texto que ser apresentado no menu de boot para identicar o sistema a ser inicializado. root = Determina qual a partio raiz do sistema a ser inicializada. rootnoverify = Idntica a opo root, mas no tenta montar a partio-alvo, o que necessrio para alguns sistemas como Dos e Windows.

Captulo 6. Gerenciadores de Partida (boot loaders)

105

kernel = Nesta opo voc informa qual o kernel vai ser inicializado. Voc pode passar parmetros diretamente para o kernel tambm. Ex.: kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 module = Faz com que algum mdulo necessrio para o boot seja carregado. Lembre-se que estes no so mdulos do kernel (mdulos de som, rede, etc.) e sim mdulos necessrios ao boot de alguns sistemas, como por exemplo o GNU Hurd. lock = Quando voc quiser controlar se uma pessoa pode iniciar um sistema que esteja listado nas opes do menu de boot, voc pode utilizar esta opo que faz com que a senha especicada com o comando password seja solicitada no momento em que se tentar carregar a imagem em questo. pause = Emite uma mensagem na tela e espera uma tecla ser pressionada. makeactive = Torna a partio ativa. Este comando est limitado a parties primrias dos discos. chainloader = Alguns sistemas como o Windows ou Dos armazenam seu prprio gerenciador de boot no incio da partio em que ele est instalado. Para efetuar o boot destes sistemas atravs do GRUB, voc precisa pedir para que o gerenciador de boot de tal sistema seja carregado e faa seu trabalho, dando o boot. hide e unhide = Esconde e mostra partio respectivamente. Estas duas opes so necessrias quando houver mais de uma verso do Dos ou Windows na mquina em parties diferentes, j que estes sistemas detectam automaticamente a partio e quase sempre o fazem de modo errado. Suponha o Windows na primeira partio primria (hd0,0) e o Dos na segunda partio primria (hd0,1). Quando quisermos carregar estes sistemas devemos proceder da seguinte maneira: title Windows hide (hd0,1) unhide (hd0,0) rootnoverify (hd0,0) chainloader +1 makeactive title Dos hide (hd0,0) unhide (hd0,1) rootnoverify (hd0,1) chainloader +1 makeactive map = Alguns sistemas no permitem ser inicializados quando no esto no primeiro disco (Dos, Win 9x, etc.). Para resolver esta e outras situaes o GRUB tem um comando que permite enganar tal sistema mapeando as unidades de disco do modo como lhe for mais conveniente. Imagine que voc tenha o primeiro disco (hd0) com o GNU/Linux instalado e em um outro disco (hd1) com o Windows/Dos instalado. O Windows/Dos no permitem serem inicializados desta forma e como soluo voc poderia usar a seguinte entrada no arquivo de conguraes do GRUB: title Windows unhide (hd1,0) rootnoverify (hd1,0)

Captulo 6. Gerenciadores de Partida (boot loaders)

106

chainloader +1 map (hd1) (hd0) makeactive Isso faz com que o disco (hd1), onde esta o Windows/Dos, seja apresentado a este sistema como (hd0) enganado o mesmo e possibilitando o boot. Parmetros enviados diretamente ao kernel Pode ser necessrio passar alguns parmetros para o kernel no momento do boot. Para maiores informaes ver a seo Parmetros de inicializao passados ao kernel on page 109. Voc pode passar os parmetros da seguinte maneira: # Exemplo de entrada no menu.lst. title Linux 2.4.16 root (hd0,0) kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 mem=512M ramdisk=0 Neste exemplo, a linha com o comando kernel usada para indicar qual imagem deve ser carregada. As opes que seguem (vga, mem e ramdisk) so parmetros que devem ser passados diretamente ao kernel do sistema a ser carregado.

6.2.6

Um exemplo de arquivo de congurao

# Exemplo de arquivo de configurao do GRUB. # Note que voc pode usar o caracter # para fazer comentrios. # Se aps 30 segundos nenhuma tecla for pressionada, carrega a imagem padro. timeout 30 # Define a primeira imagem como padro. default 0 # Caso a imagem padro no funcione carrega a imagem definida aqui. fallback 1 # Define as cores que sero usadas no menu. color light-cyan/black white/blue # Permite utilizar uma senha. password minha-senha-secreta password minha-senha (hd0,0)/boot/grub/secret.conf # Para boot com o GNU/Hurd title GNU/Hurd root (hd0,0) kernel /boot/gnumach.gz root=hd0s1

Captulo 6. Gerenciadores de Partida (boot loaders)

107

module /boot/serverboot.gz # Para boot com o GNU/Linux title Linux 2.4.16 # Pede a senha configurada em "password" antes de carregar esta imagem. lock root (hd0,0) # Atente as opes passadas diretamente para o kernel (vga, mem, etc.). kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 mem=512M ramdisk=0 # Para boot com o Mach (obtendo o kernel de um disquete) title Utah Mach4 multiboot root (hd0,2) pause Insira o disquete agora!!! kernel (fd0)/boot/kernel root=hd0s3 module (fd0)/boot/bootstrap # Para boot com FreeBSD title FreeBSD 3.4 root (hd0,2,a) kernel /boot/loader # Para boot com OS/2 title OS/2 root (hd0,1) makeactive chainloader +1 chainloader /boot/chain.os2 # Para boot com Windows 9x, ME, NT, 2000, XP. title Windows 9x, ME, NT, 2000, XP unhide (hd0,0) rootnoverify (hd0,0) chainloader +1 makeactive # Para instalar o GRUB no disco rgido. title = Instala o GRUB no disco rgido root = (hd0,0) setup = (hd0) # Muda as cores. title Mudar as cores color light-green/brown blink-red/blue

Captulo 6. Gerenciadores de Partida (boot loaders)

108

6.2.7

Usando a linha de comandos do GRUB

O GRUB possui inmeros recursos, mas com certeza um dos mais importantes e que merece destaque sua linha de comandos. A maioria dos comandos usados no arquivo de congurao menu.lst so vlidos aqui e muitos outros esto disponveis. Uma breve apresentao da linha de comandos ser dada, cando por conta do leitor se aprofundar o quanto achar necessrio em sua exibilidade. Quando o GRUB inicializado voc pode se deparar com sua linha de comandos ou se possuir o arquivo menu.lst congurado, um menu de escolha. Mesmo usando os menus de escolha voc pode utilizar a linha de comandos, bastando para isso seguir as instrues no rodap da tela onde o GRUB nos informa que podemos digitar e para editar as entradas de boot ou c para ter acesso a linha de comandos (lembre-se que pressionar <ESC> faz com que voc volte aos menus de escolha). Caso a opo password tenha sido especicada no arquivo menu.lst, ser necessrio antes de acessar as outras opes (que estaro desabilitadas) pressionar p e entrar com a senha correta. Agora, com acesso a linha de comandos, voc pode vericar os comandos disponveis pressionando duas vezes a tecla <TAB>. Note que voc tambm pode utilizar esta tecla para completar nomes de comandos bem como parmetros de alguns comandos. Alguns comandos disponveis: cat = Este comando permite vericar o contedo de um arquivo qualquer, o qual deve estar gravado em um dispositivo ligado a sua mquina. Embora seja um recurso til, nenhuma permisso de acesso vericada e qualquer pessoa que tenha acesso a linha de comandos do GRUB pode listar o contedo de arquivos importantes. Para contornar este problema o parmetro password utilizado no arquivo menu.lst e faz com que uma senha seja solicitada antes de liberar o acesso a linha de comandos. No esquea que ainda possvel utilizar um disquete com o GRUB para dar boot na mquina o que permite usar a linha de comandos pelo disquete. Ex.: grub> cat (hd0,0)/etc/passwd cmp = Este comando utilizado para comparar dois arquivos. Ex.: grub> cmp (hd0,0)/arquivo1 (hd0,0)/arquivo2 configfile = Carrega um arquivo de congurao do GRUB. Ex.: grub> configfile (hd0,0)/boot/grub/menu.lst displayapm = Mostra informaes sobre APM. displaymem = Mostra informaes sobre a memria RAM. find = Permite encontrar um arquivo. A sada deste comando disponibiliza o nome completo do caminho para o arquivo e a partio onde o mesmo est localizado. Ex.: grub> find stage1 geometry = Mostra informaes sobre a geometria reconhecida de seu drive e permite que voc escolha a geometria desejada caso esta esteja sendo reconhecida erroneamente. help = help comando para ver a ajuda. Ex.: help color install = Instala o GRUB, embora no seja recomendado o uso deste comando diretamente, pois possvel esquecer ou trocar facilmente um parmetro e sobrescrever a

Captulo 6. Gerenciadores de Partida (boot loaders)

109

tabela de parties de seu disco. Ex.: install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/m setup = Voc pode usar este comando para instalar o GRUB. Note que sua sintaxe menos complexa do que a usada em install. Ex.: grub> root = (hd0,0) grub> setup = (hd0) quit = Abandona a linha de comandos do GRUB. reboot = Reinicia o computador. boot = Efetua o boot. Suponha o Linux instalado em (hd0,0), podemos passar os seguintes comandos na linha de comandos para efetuar o boot de uma imagem do GNU/Linux: grub> root (hd0,0) grub> kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 grub> boot Muitos outros comandos esto disponveis tanto na linha de comandos do GRUB quanto no arquivo de congurao menu.lst. Estes comandos adicionais podem ser necessrios apenas para algumas pessoas e por isso no sero explicados.

6.2.8

Removendo o GRUB do MBR

No existe a necessidade de se remover o GRUB do MBR pois no h utilizao para o mesmo vazio. Para substituir o GRUB do MBR necessrio apenas que outro gerenciador de boot escreva algo nele. Voc pode seguir o procedimento de instalao do LILO para escrever algo no MBR ou usar o comando fdisk /mbr do DOS.

6.2.9

Como obter informaes mais detalhadas

Para obter informaes mais detalhadas sobre o GRUB recomendado o site ocial do mesmo, o qual est disponvel apenas na lngua inglesa. Os seguintes sites foram utilizados na pesquisa: Site ocial do GRUB: http://www.gnu.org/software/grub/ Site Debian-br (http://debian-br.cipsga.org.br/), na parte de suporte, documentao, Como usar o GRUB: Um guia rpido para usar o GRUB, feito por Vitor Silva Souza e Gustavo Noronha Silva.

6.3

Parmetros de inicializao passados ao kernel

Abaixo algumas das opes mais usadas para passar parmetros de inicializao de hardware/caractersticas ao kernel. append=string - Passa os parmetros especicados ao kernel. extremamente til para passar parmetros de hardwares que podem ter problemas na hora da deteco ou para parmetros que precisam ser passados constantemente ao kernel atravs do aviso boot:.

Captulo 6. Gerenciadores de Partida (boot loaders)

110

Exemplo: append=mem=32m ramdisk=tamanho - Especica o tamanho do disco RAM que ser criado. Caso for igual a zero, nenhum disco RAM ser criado. Se no for especicado, o tamanho do disco RAM usado na imagem de inicializao do kernel ser usada. read-only - Especica que o sistema de arquivos raiz dever ser montado como somente leitura. Normalmente o sistema de inicializao remonta o sistema de arquivos como leitura/gravao. read-write - Especica que o sistema de arquivos raiz dever ser montado como leitura e gravao. root=dispositivo - Especica o dispositivo que ser montado como raiz. Se a palavra current usada, o dispositivo atual ser montado como raiz. vga=modo - Especica o mode de video texto que ser usado durante a inicializao. normal - Usa o modo 80x25 (80 colunas por 25 linhas) extended (ou ext) - Usa o modo de texto 80x50 ask - Pergunta que modo de video usar na inicializao. Os modos de vdeo podem ser obtidos pressionando-se enter quando o sistema perguntar o modo de vdeo. Uma lista mais detalhada de parmetros de inicializao pode ser obtida no documento Boot-prompt-howto (veja Documentos HOWTOs on page 352).

6.4

LOADLIN

um gerenciador de partida que permite iniciar o GNU/Linux a partir do DOS. A vantagem do uso do Loadlin no ser preciso reiniciar o computador para se entrar no GNU/Linux. Ele funciona carregando o kernel (copiado para a partio DOS) para a memria e inicializando o GNU/Linux. Outro motivo pelo qual muito usado quando o GNU/Linux no tem suporte a um certo tipo de dispositivo, mas este tem seu suporte no DOS ou Windows e funciona corretamente com eles. O truque o seguinte: Voc inicia normalmente pelo DOS e aps seu dispositivo ser congurado corretamente pelo driver do DOS e funcionando corretamente, voc executa o Loadlin e o GNU/Linux assim poder usa-lo. Muitos usam o comando Loadlin dentro do arquivo autoexec.bat para iniciar o GNU/Linux automaticamente aps o dispositivo ser congurado pelo DOS. ATENO!!! No execute o Loadlin dentro do Windows.

6.4.1

Opes do LOADLIN

Abaixo a lista de opes que podem ser usadas com o programa LOADLIN (note que todas so usadas no DOS):

Captulo 6. Gerenciadores de Partida (boot loaders)

111

loadlin [imagem_kernel] [argumentos] [opes] imagem_kernel - Arquivo que contm o kernel. root=dispositivo - Especica o dispositivo que contm o sistema de arquivos raiz. especicado de acordo com a identicao de dispositivos no GNU/Linux (/dev/hda1, /dev/hdb1, etc). ro - Diz ao kernel para montar inicialmente o sistema de arquivos raiz como somente leitura. Os scripts de inicializao normalmente modicam o sistema de arquivos para leitura e gravao aps sua checagem. rw - Diz ao kernel para montar inicialmente o sistema de arquivos raiz como leitura e gravao. initrd=[NUM] - Dene o tamanho do disco RAM usado no sistema. -v - Mostra detalhes sobre mensagens e congurao -t - Modo de teste, tudo feito menos a inicializao do GNU/Linux. -d arquivo - Mesma funo de -t, mas envia a sada para o arquivo -txmode - Altera o modo de vdeo para 80x25 antes de inicializar o kernel. -dskreset - Aps carregar a imagem do kernel, reseta todos os discos rgidos antes de inicializar o GNU/Linux.

6.4.2

Exemplo de inicializao com o LOADLIN

Abaixo voc encontra um exemplo do comando loadlin que poder ser usado em sua instalao GNU/Linux (precisando apenas ajustar a localizao da partio raiz do GNU/Linux de acordo com seu sistema). C:\> LOADLIN vmlinuz root=/dev/hda1 ro | | | | | +- Montar como somente leitura | | | +- Partio raiz | +- Nome do kernel copiado para o DOS

6.5

syslinux

Outro gerenciador de partida que funciona somente com sistemas de arquivos DOS. A principal diferena do syslinux em relao ao LOADLIN que foi feito especialmente para funcionar em disquetes formatados no DOS, facilitando a instalao do GNU/Linux e para a criao de disquetes de recuperao ou de inicializao. Um disquete gerado pelo syslinux lido sem problemas pelo DOS/Windows. syslinux [-s] [dispositivo] A opo -s instala no disquete uma verso segura, lenta e estpida do syslinux. Isto necessrio para algumas BIOS problemticas.

Captulo 6. Gerenciadores de Partida (boot loaders)

112

6.5.1

Criando um disquete de inicializao com o syslinux

Siga os passos abaixo para criar um disquete de inicializao com o syslinux: 1 Formate o disquete no DOS ou com alguma ferramenta GNU/Linux que faa a formatao de disquetes para serem usados no DOS. 2 Copie um ou mais arquivos de kernel para o disquete 3 Digite syslinux /dev/fd0 (lembre-se de usar a opo -s se tiver problemas de inicializao). Este comando modicar o setor de partida do disquete e gravar um arquivo chamado LDLINUX.SYS no diretrio raiz do disquete. Lembre-se: O disquete deve estar desmontado antes de usar o comando syslinux, caso o disquete estiver montado uma mensagem ser mostrada e o syslinux abortado. Por padro carregado o kernel de nome GNU/Linux. Este padro pode ser modicado atravs do arquivo de congurao SYSLINUX.CFG que tambm gravado no diretrio raiz do disquete. Veja O arquivo SYSLINUX.CFG on the current page para detalhes. Se as teclas Caps Lock ou Scrool Lock estiverem ligadas ou Shift, Alt forem pressionadas durante o carregamento do syslinux, o syslinux mostrar um aviso de boot: no estilo do LILO. O usurio pode ento digitar o nome do kernel seguido de qualquer parmetro para inicializar o GNU/Linux.

6.5.2

O arquivo SYSLINUX.CFG

Este arquivo criado no diretrio raiz da unidade de disquete e contm as opes que sero usadas para modicar o funcionamento do syslinux. Abaixo a listagem de opes que podem ser especicadas neste arquivo: default [kernel [opes]] Indica o nome do kernel e as opes dele que sero usadas na inicializao, caso syslinux seja iniciado automaticamente. Caso no for especicada, o valor assumido ser linux auto sem nenhuma opo de inicializao. append [opes ] Passa uma ou mais opes ao kernel na inicializao. Elas sero adicionadas automaticamente para inicializaes automticas e manuais do syslinux. label [nome ] kernel [kernel ] append [opes ] Nome que identicar o kernel no aviso de boot: (idntica a opo label= do LILO). Se a imagem especicada por nome for selecionada, o kernel usado ser o especicado pelo parmetro kernel e as opes usadas por append. Caso seja passado um hfen - ao parmetro append, os parmetros passados pelo append global sero anulados. implicit [valor ] Se o [valor] for igual a 0, no carrega a imagem at que seja explicitamente especicada na opo label. timeout [tempo ] Indica quanto tempo o syslinux aguardar antes de inicializar automaticamente (medido em 1/10 de segundos). Caso alguma tecla seja pressionada, a inicializao automtica interrompida. Para desativar esta caracterstica, use 0 como timeout. O valor mximo de 35996.

Captulo 6. Gerenciadores de Partida (boot loaders)

113

font [nome ] Especica uma fonte (em formato .psf) que ser usada para mostrar as mensagens do syslinux (aps o aviso de copyright do programa). Ele carrega a fonte para a placa de vdeo, se a fonte conter uma tabela unicode, ela ser ignorada. Somente funciona em placas EGA e VGA. kbdmap [mapa ] Instala um simples mapa de teclado. O mapa de teclados usado muito simples: somente remapeia cdigos conhecidos pela BIOS, o que signica que somente teclas usadas no teclado padro EUA sero usadas. O utilitrio keytab-lilo.pl da distribuio do lilo pode ser usado para criar tais mapas de teclado. prompt [valor ] Se [valor] for igual a 1, mostra automaticamente o aviso de boot: assim que o syslinux for iniciado. Caso seja igual a 0, mostra o aviso de boot: somente se as teclas Shift ou Alt forem pressionadas ou Caps Lock e Scrool Lock estiverem ativadas. display [arquivo ] Mostra o contedo do [arquivo] durante a inicializao do syslinux. F1 [arquivo ] F2 [arquivo ] ... F0 [arquivo ] Especica que arquivos sero mostrados quando as teclas de F1 at F10 forem pressionadas. Para detalhes, veja Formatao dos arquivos de tela do syslinux on this page.

6.5.3

Formatao dos arquivos de tela do syslinux

Os arquivos de texto que so mostrados na tela pelo syslinux podem ter suas cores modicadas usando parmetros simples, isto causa um bom efeito de apresentao. Abaixo esto os cdigos que podem ser usados para criar um arquivo texto que ser exibido pelo syslinux: CTRL+L - Limpa a tela (semelhante ao que o clear faz). CTRL+O[frente][fundo] - Define a cor de frente e fundo, se somente uma cor for especificada, esta ser assumida como frente. Veja os valores para [frente] e [fundo] abaixo: 00 - preto 08 - cinza escuro 01 - azul escuro 09 - azul claro 02 - verde escuro 0a - verde claro 03 - ciano escuro 0b - ciano claro 04 - vermelho escuro 0c - vermelho claro 05 - purple escuro 0d - purple claro 06 - marrom 0e - amarelo 07 - cinza claro 0f - branco CTRL+Z - Equivalente ao fim de arquivo no DOS O cdigo padro usado o 07. Escolhendo uma cor clara para o fundo (08-0f) resultar em uma cor piscante correspondente para a texto (00-07).

Captulo 6. Gerenciadores de Partida (boot loaders)

114

115

Captulo 7

Execuo de programas
Este captulo explica como executar programas no GNU/Linux e o uso das ferramentas de controle de execuo dos programas.

7.1

Executando um comando/programa

Para executar um comando, necessrio que ele tenha permisses de execuo (veja Tipos de Permisses de acesso on page 174 e ls on page 129) e que esteja no caminho de procura de arquivos (veja path on the next page). No aviso de comando #(root) ou $(usurio), digite o nome do comando e tecle Enter. O programa/comando executado e receber um nmero de identicao (chamado de PID - Process Identication), este nmero til para identicar o processo no sistema e assim ter um controle sobre sua execuo (ser visto mais adiante neste captulo). Todo o programa recebe uma identicao de usurio (UID) quando executado o que determina quais sero suas permisses de acesso durante sua execuo. O programa normalmente usa o UID do usurio que o executou ou o usurio congurado pelo bit de permisso de acesso SUID caso estiver denido. Existem tambm programas que so executados como root e modicam sua identicao de usurio para algum que tenha menos privilgios no sistema (como o Apache, por exemplo). Para maiores detalhes veja Permisses de acesso a arquivos e diretrios on page 173. Todo o programa executado no GNU/Linux roda sob o controle das permisses de acesso. Recomendo ver mais tarde o Permisses de acesso a arquivos e diretrios on page 173. Exemplos de comandos: ls, df, pwd.

7.2

path

Path o caminho de procura dos arquivos/comandos executveis. O path (caminho) armazenado na varivel de ambiente PATH. Voc pode ver o contedo desta varivel com o comando

Captulo 7. Execuo de programas

116

echo $PATH. Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 signica que se voc digitar o comando ls, o interpretador de comandos iniciar a procura do programa ls no diretrio /usr/local/bin, caso no encontre o arquivo no diretrio /usr/local/bin ele inicia a procura em /usr/bin, at que encontre o arquivo procurado. Caso o interpretador de comandos chegue at o ltimo diretrio do path e no encontre o arquivo/comando digitado, mostrada a seguinte mensagem: bash: ls: command not found (comando no encontrado).

O caminho de diretrios vem congurado na instalao do Linux, mas pode ser alterado no arquivo /etc/profile. Caso deseje alterar o caminho para todos os usurios, este arquivo o melhor lugar, pois ele lido por todos os usurios no momento do login. Caso um arquivo/comando no esteja localizado em nenhum dos diretrios do path, voc deve executa-lo usando um ./ na frente do comando. Se deseja alterar o path para um nico usurio, modique o arquivo .bash_profile em seu diretrio de usurio (home). OBSERVAO: Por motivos de segurana, no inclua o diretrio atual $PWD no path.

7.3

Tipos de Execuo de comandos/programas

Um programa pode ser executado de duas formas: 1 Primeiro Plano - Tambm chamado de foreground. Quando voc deve esperar o trmino da execuo de um programa para executar um novo comando. Somente mostrado o aviso de comando aps o trmino de execuo do comando/programa. 2 Segundo Plano - Tambm chamado de background. Quando voc no precisa esperar o trmino da execuo de um programa para executar um novo comando. Aps iniciar um programa em background, mostrado um nmero PID (identicao do Processo) e o aviso de comando novamente mostrado, permitindo o uso normal do sistema. O programa executado em background continua sendo executado internamente. Aps ser concludo, o sistema retorna uma mensagem de pronto acompanhado do nmero PID do processo que terminou. Para iniciar um programa em primeiro plano, basta digitar seu nome normalmente. Para iniciar um programa em segundo plano, acrescente o caracter & aps o nal do comando. OBS: Mesmo que um usurio execute um programa em segundo plano e saia do sistema, o programa continuar sendo executado at que seja concludo ou nalizado pelo usurio que iniciou a execuo (ou pelo usurio root). Exemplo: find / -name boot.b & O comando ser executado em segundo plano e deixar o sistema livre para outras tarefas. Aps o comando find terminar, ser mostrada uma mensagem.

Captulo 7. Execuo de programas

117

7.4

Executando programas em seqncia

Os comandos podem ser executados em seqncia (um aps o trmino do outro) se os separarmos com ;. Por exemplo: echo primeiro;echo segundo;echo terceiro

7.5

ps

Algumas vezes til ver quais processos esto sendo executados no computador. O comando ps faz isto, e tambm nos mostra qual usurio executou o programa, hora que o processo foi iniciado, etc. ps [opes] Onde: opes a Mostra os processos criados por voc e de outros usurios do sistema. x Mostra processos que no so controlados pelo terminal. u Mostra o nome de usurio que iniciou o processo e hora em que o processo foi iniciado. m Mostra a memria ocupada por cada processo em execuo. f Mostra a rvore de execuo de comandos (comandos que so chamados por outros comandos). e Mostra variveis de ambiente no momento da inicializao do processo. w Mostra a continuao da linha atual na prxima linha ao invs de cortar o restante que no couber na tela. sort:[coluna] Organiza a sada do comando ps de acordo com a coluna escolhida. Voc pode usar as colunas pid, utime, ppid, rss, size, user, priority. Pode ser especicada uma listagem em ordem inversa especicando --sort:[-coluna]. Para mais detalhes e outras opes, veja a pgina de manual. As opes acima podem ser combinadas para resultar em uma listagem mais completa. Voc tambm pode usar pipes | para filtrar a sada do comando ps. Para detalhes, veja | (pipe) on page 186. Ao contrrio de outros comandos, o comando ps no precisa do hfen - para especicar os comandos. Isto porque ele no utiliza opes longas e no usa parmetros. Exemplos: ps, ps ax|grep inetd, ps auxf, ps auxw.

7.6

top

Mostra os programas em execuo ativos, parados, tempo usado na CPU, detalhes sobre o uso da memria RAM, Swap, disponibilidade para execuo de programas no sistema, etc. top um programa que continua em execuo mostrando continuamente os processos que esto rodando em seu computador e os recursos utilizados por eles. Para sair do top, pressione a tecla q.

Captulo 7. Execuo de programas

118

top [opes] Onde: -d [tempo ] Atualiza a tela aps o [tempo] (em segundos). -s Diz ao top para ser executado em modo seguro. -i Inicia o top ignorando o tempo de processos zumbis. -c Mostra a linha de comando ao invs do nome do programa. A ajuda sobre o top pode ser obtida dentro do programa pressionando a tecla h ou pela pgina de manual (man top). Abaixo algumas teclas teis:

espao - Atualiza imediatamente a tela. CTRL+L - Apaga e atualiza a tela. h - Mostra a tela de ajuda do programa. mostrado todas as teclas que podem ser usadas com o top. i - Ignora o tempo ocioso de processos zumbis. q - Sai do programa. k - Finaliza um processo - semelhante ao comando kill. Voc ser perguntado pelo nmero de identicao do processo (PID). Este comando no estar disponvel caso esteja usando o top com a opo -s. n - Muda o nmero de linhas mostradas na tela. Se 0 for especicado, ser usada toda a tela para listagem de processos.

7.7

Controle de execuo de processos

Abaixo algumas comandos e mtodos teis para o controle da execuo de processos no GNU/Linux.

7.7.1

Interrompendo a execuo de um processo

Para cancelar a execuo de algum processo rodando em primeiro plano, basta pressionar as teclas CTRL+C. A execuo do programa ser cancelada e ser mostrado o aviso de comando. Voc tambm pode usar o comando kill on the next page para interromper um processo sendo executado.

Captulo 7. Execuo de programas

119

7.7.2

Parando momentaneamente a execuo de um processo

Para parar a execuo de um processo rodando em primeiro plano, basta pressionar as teclas CTRL+Z. O programa em execuo ser pausado e ser mostrado o nmero de seu job e o aviso de comando. Para retornar a execuo de um comando pausado, use fg on this page ou bg on the next page. O programa permanece na memria no ponto de processamento em que parou quando ele interrompido. Voc pode usar outros comandos ou rodar outros programas enquanto o programa atual est interrompido.

7.7.3

jobs

O comando jobs mostra os processos que esto parados ou rodando em segundo plano. Processos em segundo plano so iniciados usando o smbolo & no nal da linha de comando (veja Tipos de Execuo de comandos/programas on page 116) ou atravs do comando bg. jobs O nmero de identicao de cada processo parado ou em segundo plano (job), usado com os comandos fg on the current page e bg on the following page. Um processo interrompido pode ser nalizado usando-se o comando kill %[num], onde [num] o nmero do processo obtido pelo comando jobs.

7.7.4

fg

Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Voc deve usar o comando jobs para pegar o nmero do processo rodando em segundo plano ou interrompida, este nmero ser passado ao comando fg para ativa-lo em primeiro plano. fg [nmero] Onde nmero o nmero obtido atravs do comando jobs. Caso seja usado sem parmetros, o fg utilizar o ltimo programa interrompido (o maior nmero obtido com o comando jobs). Exemplo: fg 1.

7.7.5

bg

Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Para fazer um programa em primeiro plano rodar em segundo, necessrio primeiro interromper a execuo do comando com CTRL+ Z, ser mostrado o nmero da tarefa interrompida, use este nmero com o comando bg para iniciar a execuo do comando em segundo plano.

Captulo 7. Execuo de programas

120

bg [nmero] Onde: nmero nmero do programa obtido com o pressionamento das teclas CTRL+Z ou atravs do comando jobs.

7.7.6

kill

Permite enviar um sinal a um comando/programa. Caso seja usado sem parmetros, o kill enviar um sinal de trmino ao processo sendo executado. kill [opes] [sinal] [nmero] Onde: nmero o nmero de identicao do processo obtido com o comando ps on page 117. Tambm pode ser o nmero aps o sinal de % obtido pelo comando jobs para matar uma tarefa interrompida. Veja jobs on the preceding page. sinal Sinal que ser enviado ao processo. Se omitido usa -15 como padro. opes -9 Envia um sinal de destruio ao processo ou programa. Ele terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporrios criados por ele. Voc precisa ser o dono do processo ou o usurio root para termina-lo ou destru-lo. Voc pode vericar se o processo foi nalizado atravs do comando ps. Os tipos de sinais aceitos pelo GNU/Linux so explicados em detalhes em Sinais do Sistema on the next page. Exemplo: kill 500, kill -9 500, kill %1.

7.7.7

killall

Permite nalizar processos atravs do nome. killall [opes] [sinal] [processo] Onde: processo Nome do processo que deseja nalizar sinal Sinal que ser enviado ao processo (pode ser obtido usando a opo -i). opes -i Pede conrmao sobre a nalizao do processo. -l Lista o nome de todos os sinais conhecidos. -q Ignora a existncia do processo. -v Retorna se o sinal foi enviado com sucesso ao processo. -w Finaliza a execuo do killall somente aps nalizar todos os processos. Os tipos de sinais aceitos pelo GNU/Linux so explicados em detalhes na Sinais do Sistema on this page. Exemplo: killall -HUP inetd

Captulo 7. Execuo de programas

121

7.7.8

killall5

Envia um sinal de nalizao para todos os processos sendo executados. killall5 [sinal]

7.7.9

Sinais do Sistema

Retirado da pgina de manual signal. O GNU/Linux suporta os sinais listados abaixo. Alguns nmeros de sinais so dependentes de arquitetura. Primeiro, os sinais descritos no POSIX 1:

Sinal Valor Ao Comentrio --------------------------------------------------------------------------HUP 1 A Travamento detectado no terminal de controle ou finalizao do processo controlado INT 2 A Interrupo atravs do teclado QUIT 3 C Sair atravs do teclado ILL 4 C Instruo Ilegal ABRT 6 C Sinal de abortar enviado pela funo abort FPE 8 C Exceo de ponto Flutuante KILL 9 AEF Sinal de destruio do processo SEGV 11 C Referncia Invlida de memria PIPE 13 A Pipe Quebrado: escreveu para o pipe sem leitores ALRM 14 A Sinal do Temporizador da chamada do sistema alarm TERM 15 A Sinal de Trmino USR1 30,10,16 A Sinal definido pelo usurio 1 USR2 31,12,17 A Sinal definido pelo usurio 2 CHLD 20,17,18 B Processo filho parado ou terminado CONT 19,18,25 Continuar a execuo, se interrompido STOP 17,19,23 DEF Interromper processo TSTP 18,20,24 D Interromper digitao no terminal TTIN 21,21,26 D Entrada do terminal para o processo em segundo plan TTOU 22,22,27 D Sada do terminal para o processo em segundo plano As letras da coluna Ao tem o seguinte signicado: A - A ao padro terminar o processo. B - A ao padro ignorar o sinal. C - A ao padro terminar o processo e mostrar o core. D - A ao padro parar o processo. E - O sinal no pode ser pego. F - O sinal no pode ser ignorado. Sinais no descritos no POSIX 1 mas descritos na SUSv2:

Captulo 7. Execuo de programas

122

Sinal Valor Ao Comentrio ------------------------------------------------------------------------BUS 10,7,10 C Erro no Barramento (acesso incorreto da memria) POLL A Evento executado em Pool (Sys V). Sinnimo de IO PROF 27,27,29 A Tempo expirado do Profiling SYS 12,-,12 C Argumento invlido para a rotina (SVID) TRAP 5 C Captura do trao/ponto de interrupo URG 16,23,21 B Condio Urgente no soquete (4.2 BSD) VTALRM 26,26,28 A Alarme virtual do relgio (4.2 BSD) XCPU 24,24,30 C Tempo limite da CPU excedido (4.2 BSD) XFSZ 25,25,31 C Limite do tamanho de arquivo excedido (4.2 BSD)

(Para os casos SIGSYS, SIGXCPU, SIGXFSZ, e em algumas arquiteturas tambm o SIGGUS, a ao padro do Linux para kernels 2.3.27 e superiores A (terminar), enquanto SYSv2 descreve C (terminar e mostrar dump core).) Seguem vrios outros sinais:

Sinal Valor Ao Comentrio -------------------------------------------------------------------IOT 6 C Trao IOT. Um sinnimo para ABRT EMT 7,-,7 STKFLT -,16,A Falha na pilha do processador IO 23,29,22 A I/O agora possvel (4.2 BSD) CLD -,-,18 Um sinnimo para CHLD PWR 29,30,19 A Falha de fora (System V) INFO 29,-,Um sinnimo para SIGPWR LOST -,-,A Perda do bloqueio do arquivo WINCH 28,28,20 B Sinal de redimensionamento da Janela (4.3 BSD, Su UNUSED -,31,A Sinal no usado (ser SYS)

O - signica que o sinal no est presente. Onde trs valores so listados, o primeiro normalmente vlido para o Alpha e Sparc, o do meio para i386, PowerPc e sh, o ltimo para o Mips. O sinal 29 SIGINFO/SIGPWR em um Alpha mas SIGLOST em um Sparc.

7.8

nohup

Executa um comando ignorando os sinais de interrupo. O comando poder ser executado at mesmo em segundo plano caso seja feito o logout do sistema. nohup [comando que ser executado] As mensagens de sada do nohup so direcionadas para o arquivo $HOME/nohup.out. Exemplo: nohup find / -uid 0 >/tmp/rootfiles.txt &.

Captulo 7. Execuo de programas

123

7.9

nice

Congura a prioridade da execuo de um comando/programa. nice [opes] [comando/programa] Onde: comando/programa Comando/programa que ter sua prioridade ajustada. opes -n [numero ] Congura a prioridade que o programa ser executado. Se um programa for executado com maior prioridade, ele usar mais recursos do sistema para seu processamento, caso tenha uma prioridade baixa, ele permitir que outros programas tenham preferncia. A prioridade de execuo de um programa/comando pode ser ajustada de -19 (a mais alta) at 19 (a mais baixa). Exemplo: nice -n -19 find / -name apropos.

7.10

fuser

Permite identicar e fechar os processos que esto utilizando arquivos e soquetes no sistema. fuser [opes] [nome] Onde: nome Especica um nome de processo, diretrio, arquivo, etc. opes -k Finaliza os processos acessando o arquivo especicado. O sinal desejado deve ser especicado com a opo -signal [num], ou o sinal -9 ser enviado como padro. No possvel matar o prprio processo fuser. -i Pergunta antes de destruir um processo. Ser ignorada caso a opo -k no seja especicada. -l Lista todos os nomes de sinais conhecidos. -m [nome ] Especica um arquivo em um sistema de arquivos montado ou dispositivo de bloco que est montado. Todos os processos acessando aquele sistema de arquivos sero listados. Diretrios so mostrados seguidos de uma / -signal [nmero ] Usa o sinal especicado ao invs de -9 (SIGKILL) quando nalizar processos. -u Acrescenta o nome do dono de cada processo ao PID. -v Os processos so mostrados em um estilo idntico ao ps.

7.11

tload

Representa de forma grca a carga do sistema. tload [opes] Onde:

Captulo 7. Execuo de programas

124

opes -s [nmero ] Mostra uma escala vertical com espaamento especicado por [nmero]. recomendvel o uso de nmeros entre 1 e 10 para melhor visualizao da escala. -d [nmero ] Especica o intervalo entre atualizaes, em segundos.

7.12

vmstat

Mostra estatsticas sobre o uso da memria virtual do sistema. vmstat [intervalo] [contagem] Onde: intervalo Nmero especicado em segundos entre atualizaes. contagem Nmero de vezes que ser mostrado. Se no for especicado nenhum parmetro, o vmstat mostra o status da memria virtual e volta imediatamente para a linha de comando. A descrio dos campos do vmstat so as seguintes: Processos r Nmero de processos aguardando execuo. b Nmero de processos em espera no interrompveis. w Nmero de processos extrados do arquivo de troca ou caso contrrio em execuo. Memria swpd A quantidade de memria virtual usada em Kb. free Quantidade de memria livre em Kb. buff Quantidade de memria usada como buffer em Kb. Memria Virtual si Quantidade de memria gravada para o disco Kb/s. so Quantidade de memria retirada do disco em Kb/s. Entrada/Sada bi Blocos enviados para um dispositivo de bloco (medido em blocos por segundo). bo Blocos recebidos de um dispositivo de bloco (em blocos por segundo). Sistema in Nmero de interrupes por segundo, incluindo o clock. cs Nmero de mudanas de contexto por segundo. Porcentagem do total de tempo da CPU us Tempo do usurio sy Tempo do sistema id Tempo ocioso

Captulo 7. Execuo de programas

125

7.13

pidof

Retorna o PID do processo especicado pidof [opes] [nome] Onde: nome Nome do processo que seja obter o nmero PID opes -s Retorna somente o primeiro PID encontrado. -x Retorna o PID do do shell que est executando o script -o [PID ] Ignora o processo com aquele PID. O PID especial %PPID pode ser usado para nomear o processo pai do programa pidof, em outras palavras OBS: O programa pidof um link simblico ao programa killall5. Cuidado ao executar o killall5 as funes e opes so completamente diferentes dependendo da forma como chamado na linha de comando! (veja killall5 on page 121 para detalhes.) Exemplo: pidof -s init

7.14

pstree

Mostra a estrutura de processos em execuo no sistema em forma de rvore. pstree [opes] [pid] Onde: pid Nmero do processo que ter sua rvore listada. Se omitido, lista todos os processos. opes -a Mostra opes passadas na linha de comando. -c Mostra toda a estrutura (inclusive sub-processos do processo pai). -G Usa caracteres grcos no desenho da rvore de processos. -h Destaca o processo atual e seus antecessores. -H [pid ] Destaca o processo especicado. -l No faz quebra de linha -n Classica pelo nmero PID ao invs do nome. -p Mostra o nmero PID entre parnteses aps o nome do processo. -u Mostra tambm o dono do processo. -U Usa o conjunto de caracteres Unicode para o desenho da rvore.

7.15

Fechando um programa quando no se sabe como sair

Muitas vezes quando se esta iniciando no GNU/Linux voc pode executar um programa e talvez no saber como fecha-lo. Este captulo do guia pretende ajuda-lo a resolver este tipo de problema.

Captulo 7. Execuo de programas

126

Isto pode tambm ocorrer com programadores que esto construindo seus programas e por algum motivo no implementam uma opo de sada, ou ela no funciona! Em nosso exemplo vou supor que executamos um programa em desenvolvimento com o nome contagem que conta o tempo em segundos a partir do momento que executado, mas que o programador esqueceu de colocar uma opo de sada. Siga estas dicas para naliza-lo: 1 Normalmente todos os programas UNIX (o GNU/Linux tambm um Sistema Operacional baseado no UNIX) podem ser interrompidos com o pressionamento das teclas <CTRL> e <C>. Tente isto primeiro para nalizar um programa. Isto provavelmente no vai funcionar se estiver usando um Editor de Texto (ele vai entender como um comando de menu). Isto normalmente funciona para comandos que so executados e terminados sem a interveno do usurio. Caso isto no der certo, vamos partir para a fora! ;-) 2 Mude para um novo console (pressionando <ALT> e <F2>), e faa o login como usurio root. 3 Localize o PID (nmero de identicao do processo) usando o comando: ps ax, aparecero vrias linhas cada uma com o nmero do processo na primeira coluna, e a linha de comando do programa na ltima coluna. Caso aparecerem vrios processos voc pode usar ps ax|grep contagem, neste caso o grep far uma ltragem da sada do comando ps ax mostrando somente as linhas que tem a palavra contagem. Para maiores detalhes, veja o comando grep on page 142. 4 Feche o processo usando o comando kill PID, lembre-se de substituir PID pelo nmero encontrado pelo comando ps ax acima. O comando acima envia um sinal de trmino de execuo para o processo (neste caso o programa contagem). O sinal de trmino mantm a chance do programa salvar seus dados ou apagar os arquivos temporrios que criou e ento ser nalizado, isto depende do programa. 5 Alterne para o console onde estava executando o programa contagem e verique se ele ainda est em execuo. Se ele estiver parado mas o aviso de comando no est disponvel, pressione a tecla <ENTER>. Freqentemente acontece isto com o comando kill, voc naliza um programa mas o aviso de comando no mostrado at que se pressione <ENTER>. 6 Caso o programa ainda no foi nalizado, repita o comando kill usando a opo -9: kill -9 PID. Este comando envia um sinal de DESTRUIO do processo, fazendo ele terminar na marra! Uma ltima dica: todos os programas estveis (todos que acompanham as boas distribuies GNU/Linux) tem sua opo de sada. Lembre-se que quando naliza um processo todos os dados do programa em execuo podem ser perdidos (principalmente se estiver em um editor de textos), mesmo usando o kill sem o parmetro -9.

Captulo 7. Execuo de programas

127

Procure a opo de sada de um programa consultando o help on line, as pginas de manual, a documentao que acompanha o programa, info pages. Para detalhes de como encontrar a ajuda dos programas, veja o Como obter ajuda no sistema on page 349

7.16

Eliminando caracteres estranhos

As vezes quando um programa mal comportado nalizado ou quando voc visualiza um arquivo binrio atravs do comando cat, possvel que o aviso de comando (prompt) volte com caracteres estranhos. Para fazer tudo voltar ao normal, basta digitar reset e teclar ENTER. No se preocupe, o comando reset no reiniciar seu computador (como o boto reset do seu computador faz), ele apenas far tudo voltar ao normal. Note que enquanto voc digitar reset aparecero caracteres estranhos ao invs das letras. No se preocupe! Basta digitar corretamente e bater ENTER e o aviso de comando voltar ao normal.

Captulo 7. Execuo de programas

128

129

Captulo 8

Comandos para manipulao de diretrio


Abaixo comandos teis para a manipulao de diretrios.

8.1

ls

Lista os arquivos de um diretrio. ls [opes] [caminho/arquivo] [caminho1/arquivo1] ... onde: caminho/arquivo Diretrio/arquivo que ser listado. caminho1/arquivo1 Outro Diretrio/arquivo que ser listado. Podem ser feitas vrias listagens de uma s vez. opes -a, all Lista todos os arquivos (inclusive os ocultos) de um diretrio. -A, almost-all Lista todos os arquivos (inclusive os ocultos) de um diretrio, exceto o diretrio atual e o de nvel anterior. -B, ignore-backups No lista arquivos que terminam com ~ (Backup). color=PARAM Mostra os arquivos em cores diferentes, conforme o tipo de arquivo. PARAM pode ser: never - Nunca lista em cores (mesma coisa de no usar o parmetro color). always - Sempre lista em cores conforme o tipo de arquivo. auto - Somente colore a listagem se estiver em um terminal. -d, directory Lista os nomes dos diretrios ao invs do contedo. -f No classica a listagem. -F Insere um caracter aps arquivos executveis (*), diretrios (/), soquete (=), link simblico (@) e pipe (|). Seu uso til para identicar de forma fcil tipos de arquivos nas listagens de diretrios. -G, no-group Oculta a coluna de grupo do arquivo. -h, human-readable Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes.

Captulo 8. Comandos para manipulao de diretrio

130

-H Faz o mesmo que -h, mas usa unidades de 1000 ao invs de 1024 para especicar Kbytes, Mbytes, Gbytes. -l Usa o formato longo para listagem de arquivos. Lista as permisses, data de modicao, donos, grupos, etc. -n Usa a identicao de usurio e grupo numrica ao invs dos nomes. -L, dereference Lista o arquivo original e no o link referente ao arquivo. -o Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG). -p Mesma coisa que -F, mas no inclui o smbolo * em arquivos executveis. Esta opo tpica de sistemas Linux. -R Lista diretrios e sub-diretrios recursivamente. full-time Lista data e hora completa. Classicao da listagem A listagem pode ser classicada usando-se as seguintes opes: -f No classica, e usa -au para listar os arquivos. -r Inverte a ordem de classicao. -c Classica pela data de alterao. -X Classica pela extenso. -U No classica, lista os arquivos na ordem do diretrio. Uma listagem feita com o comando ls -la normalmente mostrada da seguinte maneira:

-rwxr-xr--

gleydson user

8192 nov 4 16:00 teste

Abaixo as explicaes de cada parte: -rwxr-xr-- So as permisses de acesso ao arquivo teste. A primeira letra (da esquerda) identica o tipo do arquivo, se tiver um d um diretrio, se tiver um - um arquivo normal. As permisses de acesso explicada em detalhes em Permisses de acesso a arquivos e diretrios on page 173. 1 Se for um diretrio, mostra a quantidade de sub-diretrios existentes dentro dele. Caso for um arquivo, ser 1. gleydson Nome do dono do arquivo teste. user Nome do grupo que o arquivo teste pertence. 8192 Tamanho do arquivo (em bytes). nov Ms da criao/ ltima modicao do arquivo. 4 Dia que o arquivo foi criado. 16:00 Hora em que o arquivo foi criado/modicado. Se o arquivo foi criado h mais de um ano, em seu lugar mostrado o ano da criao do arquivo. teste Nome do arquivo. Exemplos do uso do comando ls: ls - Lista os arquivos do diretrio atual. ls /bin /sbin - Lista os arquivos do diretrio /bin e /sbin ls -la /bin - Listagem completa (vertical) dos arquivos do diretrio /bin inclusive os ocultos.

Captulo 8. Comandos para manipulao de diretrio

131

8.2

cd

Entra em um diretrio. Voc precisa ter a permisso de execuo para entrar no diretrio. cd [diretrio] onde: diretrio - diretrio que deseja entrar. Exemplos: Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio de usurio (diretrio home). cd /, retornar ao diretrio raz. cd -, retornar ao diretrio anteriormente acessado. cd .., sobe um diretrio. cd ../[diretrio], sobe um diretrio e entra imediatamente no prximo (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin).

8.3

pwd

Mostra o nome e caminho do diretrio atual. Voc pode usar o comando pwd para vericar em qual diretrio se encontra (caso seu aviso de comandos no mostre isso).

8.4

mkdir

Cria um diretrio no sistema. Um diretrio usado para armazenar arquivos de um determinado tipo. O diretrio pode ser entendido como uma pasta onde voc guarda seus papeis (arquivos). Como uma pessoa organizada, voc utilizar uma pasta para guardar cada tipo de documento, da mesma forma voc pode criar um diretrio vendas para guardar seus arquivos relacionados com vendas naquele local. mkdir [opes] [caminho/diretrio] [caminho1/diretrio1] onde: caminho Caminho onde o diretrio ser criado. diretrio Nome do diretrio que ser criado. opes: verbose Mostra uma mensagem para cada diretrio criado. As mensagens de erro sero mostradas mesmo que esta opo no seja usada. Para criar um novo diretrio, voc deve ter permisso de gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste que ser usado para gravar arquivos de teste, voc deve usar o comando "mkdir/tmp/teste".

Captulo 8. Comandos para manipulao de diretrio

132

Podem ser criados mais de um diretrio com um nico comando (mkdir /tmp/teste /tmp/teste1 /tmp/teste2).

8.5

rmdir

Remove um diretrio do sistema. Este comando faz exatamente o contrrio do mkdir. O diretrio a ser removido deve estar vazio e voc deve ter permisso de gravao para removelo. rmdir [caminho/diretrio] [caminho1/diretrio1] onde: caminho Caminho do diretrio que ser removido. diretrio Nome do diretrio que ser removido. necessrio que esteja um nvel acima do diretrio(s) que ser(o) removido(s). Para remover diretrios que contenham arquivos, use o comando rm com a opo -r (para maiores detalhes, veja rm on page 134). Por exemplo, para remover o diretrio /tmp/teste voc deve estar no diretrio tmp e executar o comando rmdir teste.

133

Captulo 9

Comandos para manipulao de Arquivos


Abaixo, comandos utilizados para manipulao de arquivos.

9.1

cat

Mostra o contedo de um arquivo binrio ou texto. cat [opes] [diretrio/arquivo] [diretrio1/arquivo1] diretrio/arquivo Localizao do arquivo que deseja visualizar o contedo. opes -n, number Mostra o nmero das linhas enquanto o contedo do arquivo mostrado. -s, squeeze-blank No mostra mais que uma linha em branco entre um pargrafo e outro. - L a entrada padro. O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente arquivos compactados com gzip. Exemplo: cat /usr/doc/copyright/GPL

9.2

tac

Mostra o contedo de um arquivo binrio ou texto (como o cat) s que em ordem inversa. tac [opes] [diretrio/arquivo] [diretrio1/arquivo1] diretrio/arquivo Localizao do arquivo que deseja visualizar o contedo opes -s [string ] Usa o [string] como separador de registros. - L a entrada padro. Exemplo: tac /usr/doc/copyright/GPL.

Captulo 9. Comandos para manipulao de Arquivos

134

9.3

rm

Apaga arquivos. Tambm pode ser usado para apagar diretrios e sub-diretrios vazios ou que contenham arquivos. rm [opes][caminho][arquivo/diretrio] [caminho1][arquivo1/diretrio1] onde: caminho Localizao do arquivo que deseja apagar. Se omitido, assume que o arquivo esteja no diretrio atual. arquivo/diretrio Arquivo que ser apagado. opes -i, interactive Pergunta antes de remover, esta ativada por padro. -v, verbose Mostra os arquivos na medida que so removidos. -r, recursive Usado para remover arquivos em sub-diretrios. Esta opo tambm pode ser usada para remover sub-diretrios. -f, force Remove os arquivos sem perguntar. arquivo Remove arquivos/diretrios que contm caracteres especiais. O separador funciona com todos os comandos do shell e permite que os caracteres especiais como *, ?, -, etc. sejam interpretados como caracteres comuns. Use com ateno o comando rm, uma vez que os arquivos e diretrios forem apagados, eles no podero ser mais recuperados. Exemplos: rm teste.txt - Apaga o arquivo teste.txt no diretrio atual. rm *.txt - Apaga todos os arquivos do diretrio atual que terminam com .txt. rm *.txt teste.novo - Apaga todos os arquivos do diretrio atual que terminam com .txt e tambm o arquivo teste.novo. rm -rf /tmp/teste/* - Apaga todos os arquivos e sub-diretrios do diretrio /tmp /teste mas mantm o sub-diretrio /tmp/teste. rm -rf /tmp/teste - Apaga todos os arquivos e sub-diretrios do diretrio /tmp /teste, inclusive /tmp/teste. rm -f -- --arquivo-- - Remove o arquivo de nome -arquivo-.

9.4

cp

Copia arquivos. cp [opes] [origem] [destino] onde: origem Arquivo que ser copiado. Podem ser especicados mais de um arquivo para ser copiado usando Curingas (veja Curingas on page 33). destino O caminho ou nome de arquivo onde ser copiado. Se o destino for um diretrio, os arquivos de origem sero copiados para dentro do diretrio. opes i, interactive Pergunta antes de substituir um arquivo existente.

Captulo 9. Comandos para manipulao de Arquivos

135

-f, force No pergunta, substitui todos os arquivos caso j exista. -r Copia arquivos dos diretrios e subdiretrios da origem para o destino. recomendvel usar -R ao invs de -r. -R, recursive Copia arquivos e sub-diretrios (como a opo -r) e tambm os arquivos especiais FIFO e dispositivos. -v, verbose Mostra os arquivos enquanto esto sendo copiados. -s, simbolic-link Cria link simblico ao invs de copiar. -l, link Faz o link no destino ao invs de copiar os arquivos. -p, preserve Preserva atributos do arquivo, se for possvel. -u, update Copia somente se o arquivo de origem mais novo que o arquivo de destino ou quando o arquivo de destino no existe. -x No copia arquivos que esto localizados em um sistema de arquivos diferente de onde a cpia iniciou. O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos origem e destino tero o mesmo contedo aps a cpia. Exemplos: cp teste.txt teste1.txt Copia o arquivo teste.txt para teste1.txt. cp teste.txt /tmp Copia o arquivo teste.txt para dentro do diretrio /tmp. cp * /tmp Copia todos os arquivos do diretrio atual para /tmp. cp /bin/* . Copia todos os arquivos do diretrio /bin para o diretrio em que nos encontramos no momento. cp -R /bin /tmp Copia o diretrio /bin e todos os arquivos/sub-diretrios existentes para o diretrio /tmp. cp -R /bin/* /tmp Copia todos os arquivos do diretrio /bin (exceto o diretrio /bin) e todos os arquivos/sub-diretrios existentes dentro dele para /tmp. cp -R /bin /tmp Copia todos os arquivos e o diretrio /bin para /tmp.

9.5

mv

Move ou renomeia arquivos e diretrios. O processo semelhante ao do comando cp mas o arquivo de origem apagado aps o trmino da cpia. mv [opes] [origem] [destino] Onde: origem Arquivo/diretrio de origem. destino Local onde ser movido ou novo nome do arquivo/diretrio. opes -f, force Substitui o arquivo de destino sem perguntar. -i, interactive Pergunta antes de substituir. o padro. -v, verbose Mostra os arquivos que esto sendo movidos. -u, update Move somente arquivos antigos, ou novos arquivos. O comando mv copia um arquivo da ORIGEM para o DESTINO (semelhante ao cp), mas aps a cpia, o arquivo de ORIGEM apagado. Exemplos:

Captulo 9. Comandos para manipulao de Arquivos

136

mv teste.txt teste1.txt Muda o nome do arquivo teste.txt para teste1.txt. mv teste.txt /tmp Move o arquivo teste.txt para /tmp. Lembre-se que o arquivo de origem apagado aps ser movido. mv teste.txt teste.new (supondo que teste.new j exista) Copia o arquivo teste.txt por cima de teste.new e apaga teste.txt aps terminar a cpia.

137

Captulo 10

Comandos Diversos
Comandos de uso diversos no sistema.

10.1

clear

Limpa a tela e posiciona o cursor no canto superior esquerdo do vdeo. clear

10.2

date

Permite ver/modicar a Data e Hora do Sistema. Voc precisa estar como usurio root para modicar a data e hora. Muitos programas do sistema, arquivos de registro (log) e tarefas agendadas funcionam com base na data e hora fornecidas pelo sistema, assim esteja consciente das modicaes que a data/hora pode trazer a estes programas (principalmente em se tratando de uma rede com muitos usurios) . date MesDiaHoraMinuto[AnoSegundos] Onde: MesDiaHoraMinuto[AnoSegundos ] So respectivamente os nmeros do ms, dia, hora e minutos sem espaos. Opcionalmente voc pode especicar o Ano (com 2 ou 4 dgitos) e os Segundos. +[FORMATO ] Dene o formato da listagem que ser usada pelo comando date. Os seguintes formatos so os mais usados: %d - Dia do Ms (00-31). %m - Ms do Ano (00-12). %y - Ano (dois dgitos). %Y - Ano (quatro dgitos). %H - Hora (00-24). %I - Hora (00-12).

Captulo 10. Comandos Diversos

138

%M - Minuto (00-59). %j - Dia do ano (1-366). %p - AM/PM (til se utilizado com %d). %r - Formato de 12 horas completo (hh:mm:ss AM/PM). %T - Formato de 24 horas completo (hh:mm:ss). %w - Dia da semana (0-6). Outros formatos podem ser obtidos atravs da pgina de manual do date. Para maiores detalhes, veja a pgina de manual do comando date. Para ver a data atual digite: date Se quiser mudar a Data para 25/12 e a hora para 08:15 digite: date 12250815 Para mostrar somente a data no formato dia/ms/ano: date +%d/%m/%Y

10.3

df

Mostra o espao livre/ocupado de cada partio. df [opes] onde: opes -a Inclui sistemas de arquivos com 0 blocos. -h, human-readable Mostra o espao livre/ocupado em MB, KB, GB ao invs de blocos. -H Idntico a -h mas usa 1000 ao invs de 1024 como unidade de clculo. -k Lista em Kbytes. -l Somente lista sistema de arquivos locais. -m Lista em Mbytes (equivalente a block-size=1048576). sync Executa o sync antes de mostrar os dados. -T Lista o tipo de sistema de arquivos de cada partio -t tipo Lista somente sistema de arquivos do tipo tipo. -x tipo No lista sistemas de arquivos do tipo tipo. Exemplos: df, df -h, df -t vfat.

10.4

ln

Cria links para arquivos e diretrios no sistema. O link um mecanismo que faz referncia a outro arquivo ou diretrio em outra localizao. O link em sistemas GNU/Linux faz referncia reais ao arquivo/diretrio podendo ser feita cpia do link (ser copiado o arquivo alvo), entrar no diretrio (caso o link faa referncia a um diretrio), etc. ln [opes] [origem] [link] Onde: origem Diretrio ou arquivo de onde ser feito o link.

Captulo 10. Comandos Diversos

139

link Nome do link que ser criado. opes -s Cria um link simblico. Usado para criar ligaes com o arquivo/diretrio de destino. -v Mostra o nome de cada arquivo antes de fazer o link. -d Cria um hard link para diretrios. Somente o root pode usar esta opo. Existem 2 tipos de links: simblicos e hardlinks. O link simblico cria um arquivo especial no disco (do tipo link) que tem como contedo o caminho para chegar at o arquivo alvo (isto pode ser vericado pelo tamanho do arquivo do link). Use a opo -s para criar links simblicos. O hardlink faz referncia ao mesmo inodo do arquivo original, desta forma ele ser perfeitamente idntico, inclusive nas permisses de acesso, ao arquivo original. Ao contrrio dos links simblicos, no possvel fazer um hardlink para um diretrio ou fazer referncia a arquivos que estejam em parties diferentes. Observaes: Se for usado o comando rm com um link, somente o link ser removido. Se for usado o comando cp com um link, o arquivo original ser copiado ao invs do link. Se for usado o comando mv com um link, a modicao ser feita no link. Se for usado um comando de visualizao (como o cat), o arquivo original ser visualizado. Exemplos: ln -s /dev/ttyS1 /dev/modem - Cria o link /dev/modem para o arquivo /dev /ttyS1. ln -s /tmp ~/tmp - Cria um link ~/tmp para o diretrio /tmp.

10.5

du

Mostra o espao ocupado por arquivos e sub-diretrios do diretrio atual. du [opes] onde: opes -a, all Mostra o espao ocupado por todos os arquivos. -b, bytes Mostra o espao ocupado em bytes. -c, total Faz uma totalizao de todo espao listado. -D No conta links simblicos. -h, human Mostra o espao ocupado em formato legvel por humanos (Kb, Mb) ao invs de usar blocos. -H Como o anterior mas usa 1000 e no 1024 como unidade de clculo. -k Mostra o espao ocupado em Kbytes. -m Mostra o espao ocupado em Mbytes. -S, separate-dirs No calcula o espao ocupado por sub-diretrios. -x No faz a contagem de diretrios em sistemas de arquivos diferentes do atual.

Captulo 10. Comandos Diversos

140

Exemplo: du -h, du -hc.

10.6

nd

Procura por arquivos/diretrios no disco. find pode procurar arquivos atravs de sua data de modicao, tamanho, etc atravs do uso de opes. find, ao contrrio de outros programas, usa opes longas atravs de um -. find [diretrio] [opes/expresso] Onde: diretrio Inicia a procura neste diretrio, percorrendo seu sub-diretrios. opes/expresso -name [expresso ] Procura pelo nome [expresso] nos nomes de arquivos e diretrios processados. -depth Processa os sub-diretrios primeiro antes de processar os arquivos do diretrio principal. -maxdepth [num ] Faz a procura at [num] sub-diretrios dentro do diretrio que est sendo pesquisado. -mindepth [num ] No faz nenhuma procura em diretrios menores que [num] nveis. -mount, -xdev No faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi executado. -amin [num ] Procura por arquivos que foram acessados [num] minutos atrs. Caso for antecedido por -, procura por arquivos que foram acessados entre [num] minutos atrs at agora. -atime [num ] Procura por arquivos que foram acessados [num] dias atrs. Caso for antecedido por -, procura por arquivos que foram acessados entre [num] dias atrs e a data atual. -gid [num ] Procura por arquivos que possuam a identicao numrica do grupo igual a [num]. -group [nome ] Procura por arquivos que possuam a identicao de nome do grupo igual a [nome]. -uid [num ] Procura por arquivos que possuam a identicao numrica do usurio igual a [num]. -user [nome ] Procura por arquivos que possuam a identicao de nome do usurio igual a [nome]. -inum [num ] Procura por arquivos que esto localizados no inodo [num]. -links [num ] Procura por arquivos que possuem [num] links como referncia. -mmin [num ] Procura por arquivos que tiveram seu contedo modicado h [num] minutos. Caso for antecedido por -, procura por arquivos que tiveram seu contedo modicado entre [num] minutos atrs at agora. -mtime [num ] Procura por arquivos que tiveram seu contedo modicado h [num] dias. Caso for antecedido por -, procura por arquivos que tiveram seu contedo modicado entre [num] dias atrs at agora. -ctime [num ] Procura por arquivos que teve seu status modicado h [num] dias. Caso for

Captulo 10. Comandos Diversos

141

antecedido por -, procura por arquivos que tiveram seu contedo modicado entre [num] dias atrs at agora. -nouser Procura por arquivos que no correspondam a identicao do usurio atual. -nogroup Procura por arquivos que no correspondam a identicao do grupo do usurio atual. -perm [modo ] Procura por arquivos que possuam os modos de permisso [modo]. Os [modo] de permisso pode ser numrico (octal) ou literal. -used [num ] O arquivo foi acessado [num] vezes antes de ter seu status modicado. -size [num ] Procura por arquivos que tiverem o tamanho [num]. [num] pode ser antecedido de + ou - para especicar um arquivo maior ou menor que [num]. A opo -size pode ser seguida de: b - Especica o tamanho em blocos de 512 bytes. o padro caso [num] no seja acompanhado de nenhuma letra. c - Especica o tamanho em bytes. k - Especica o tamanho em Kbytes. -type [tipo ] Procura por arquivos do [tipo] especicado. Os seguintes tipos so aceitos: b - bloco c - caracter d - diretrio p - pipe f - arquivo regular l - link simblico s - sockete A maior parte dos argumentos numricos podem ser precedidos por + ou -. Para detalhes sobre outras opes e argumentos, consulte a pgina de manual. Exemplo: find / -name grep - Procura no diretrio raz e sub-diretrios um arquivo/diretrio chamado grep. find / -name grep -maxdepth 3 - Procura no diretrio raz e sub-diretrios at o 3o. nvel, um arquivo/diretrio chamado grep. find . -size +1000k - Procura no diretrio atual e sub-diretrios um arquivo com tamanho maior que 1000 kbytes (1Mbyte). find / -mmin 10 - Procura no diretrio raz e sub-diretrios um arquivo que foi modicado h 10 minutos atrs. find / -links 4 - Procura no diretrio raz e sub-diretrios, todos os arquivos que possuem 4 links como referncia.

10.7

free

Mostra detalhes sobre a utilizao da memria RAM do sistema. free [opes] Onde: opes

Captulo 10. Comandos Diversos

142

-b Mostra o resultado em bytes. -k Mostra o resultado em Kbytes. -m Mostra o resultado em Mbytes. -o Oculta a linha de buffers. -t Mostra uma linha contendo o total. -s [num ] Mostra a utilizao da memria a cada [num] segundos. O free uma interface ao arquivo /proc/meminfo.

10.8

grep

Procura por um texto dentro de um arquivo(s) ou no dispositivo de entrada padro. grep [expresso] [arquivo] [opes] Onde: expresso palavra ou frase que ser procurada no texto. Se tiver mais de 2 palavras voc deve identica-la com aspas caso contrrio o grep assumir que a segunda palavra o arquivo! arquivo Arquivo onde ser feita a procura. opes -A [nmero ] Mostra o [nmero] de linhas aps a linha encontrada pelo grep. -B [nmero ] Mostra o [nmero] de linhas antes da linha encontrada pelo grep. -f [arquivo ] Especica que o texto que ser localizado, esta no arquivo [arquivo]. -h, no-lename No mostra os nomes dos arquivos durante a procura. -i, ignore-case Ignora diferena entre maisculas e minsculas no texto procurado e arquivo. -n, line-number Mostra o nome de cada linha encontrada pelo grep. -U, binary Trata o arquivo que ser procurado como binrio. Se no for especicado o nome de um arquivo ou se for usado um hfen -, grep procurar a string no dispositivo de entrada padro. O grep faz sua pesquisa em arquivos texto. Use o comando zgrep para pesquisar diretamente em arquivos compactados com gzip, os comandos e opes so as mesmas. Exemplos: grep capitulo texto.txt, ps ax|grep inetd, grep capitulo texto.txt -A 2 -B 2.

10.9

head

Mostra as linhas iniciais de um arquivo texto. head [opes] Onde: -c [numero ] Mostra o [numero] de bytes do inicio do arquivo. -n [numero ] Mostra o [numero] de linhas do inicio do arquivo. Caso no for especicado, o head mostra as 10 primeiras linhas. Exemplos: head teste.txt, head -n 20 teste.txt.

Captulo 10. Comandos Diversos

143

10.10

nl

Mostra o nmero de linhas junto com o contedo de um arquivo. nl [opes] [arquivo] Onde: -f [opc ] Faz a ltragem de sada de acordo com [opc]: a Numera todas as linhas. t No numera linhas vazias. n Numera linhas vazias. texto Numera somente linhas que contm o [texto]. -v [num ] Nmero inicial (o padro 1). -i [num ] Nmero de linhas adicionadas a cada linha do arquivo (o padro 1). Exemplos: nl /etc/passwd, nl -i 2 /etc/passwd.

10.11

more

Permite fazer a paginao de arquivos ou da entrada padro. O comando more pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o more efetua uma pausa e permite que voc pressione Enter ou espao para continuar avanando no arquivo sendo visualizado. Para sair do more pressione q. more [arquivo] Onde: arquivo o arquivo que ser paginado. Para visualizar diretamente arquivos texto compactados pelo gzip .gz use o comando zmore. Exemplos: more /etc/passwd, cat /etc/passwd|more.

10.12

less

Permite fazer a paginao de arquivos ou da entrada padro. O comando less pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o less efetua uma pausa (semelhante ao more) e permite que voc pressione Seta para Cima e Seta para Baixo ou PgUP/PgDown para fazer o rolamento da pgina. Para sair do less pressione q. less [arquivo] Onde: arquivo o arquivo que ser paginado. Para visualizar diretamente arquivos texto compactados pelo utilitrio gzip (arquivos .gz), use o comando zless. Exemplos: less /etc/passwd, cat /etc/passwd|less

Captulo 10. Comandos Diversos

144

10.13

sort

Organiza as linhas de um arquivo texto ou da entrada padro. A organizao feita por linhas e as linhas so divididas em campos que a ordem que as palavras aparecem na linha separadas por um delimitador (normalmente um espao). sort [opes] [arquivo] Onde: arquivo o nome do arquivo que ser organizado. Caso no for especicado, ser usado o dispositivo de entrada padro (normalmente o teclado ou um |). opes -b Ignora linhas em branco. -d Somente usa letras, dgitos e espaos durante a organizao. -f Ignora a diferena entre maisculas e minsculas. -r Inverte o resultado da comparao. -n Caso estiver organizando um campo que contm nmeros, os nmeros sero organizados na ordem aritmtica. Por exemplo, se voc tiver um arquivo com os nmeros 100 10 50 Usando a opo -n, o arquivo ser organizado desta maneira: 10 50 100 Caso esta opo no for usada com o sort, ele organizar como uma listagem alfabtica (que comeam de a at z e do 0 at 9) 10 100 50 -c Verica se o arquivo j esta organizado. Caso no estiver, retorna a mensagem disorder on arquivo. -o arquivo Grava a sada do comando sort no arquivo. -m arquivo1 arquivo2 Combina o contedo de arquivo1 e arquivo2 gerando um nico arquivo. Os dois arquivos precisam estar ordenados antes de se utilizar esta opo. -i Ignora os caracteres fora da faixa octal ASCII 040-0176 durante a organizao. -t caracter Usa caracter como delimitador durante a organizao de linhas. Por padro usado um espao em branco como delimitador de caracteres. +num1 -num2 Especica qual o campo dentro na linha que ser usado na organizao. O(s) campo(s) usado(s) para organizao estar entre +num1 e +num2. O delimitador padro utilizado um espao em branco (use a opo -t para especicar outro). A contagem iniciada em 0. Caso no for especicada, a organizao feita no primeiro campo. Caso -num2 no seja especicado, a organizao ser feita usando a coluna +num1 at o m da linha. -k num1, num2 Esta uma alternativa ao mtodo acima para especicar as chaves de organizao. O uso idntico, mas o delimitador iniciado em 1.

Captulo 10. Comandos Diversos

145

Abaixo, exemplos de uso do comando sort: sort texto.txt - Organiza o arquivo texto.txt em ordem crescente. sort texto.txt -r - Organiza o contedo do arquivo texto.txt em ordem decrescente. cat texto.txt|sort - Faz a mesma coisa que o primeiro exemplo, s que neste caso a sada do comando cat redirecionado a entrada padro do comando sort. sort -f texto.txt - Ignora diferenas entre letras maisculas e minsculas durante a organizao. sort +1 -3 texto.txt - Organiza o arquivo texto.txt usando como referncia a segunda at a quarta palavra (segundo ao quarto campo) que constam naquela linha. sort -t : +2 -3 passwd - Organiza o arquivo passwd usando como referncia a terceira at a quarta palavra (terceiro ao quarto campo). Note que a opo -t especica o caracter : como delimitador de campos ao invs do espao. Neste caso, o que estiver aps : ser considerado o prximo campo.

10.14

tail

Mostra as linhas nais de um arquivo texto. tail [opes] Onde: -c [numero ] Mostra o [numero] de bytes do nal do arquivo. -n [numero ] Mostra o [numero] de linhas do nal do arquivo. Exemplos: tail teste.txt, tail -n 20 teste.txt.

10.15

time

Mede o tempo gasto para executar um processo (programa). time [comando] Onde: comando o comando/programa que deseja medir o tempo gasto para ser concludo. Exemplo: time ls, time find / -name crontab.

10.16

touch

Muda a data e hora que um arquivo foi criado. Tambm pode ser usado para criar arquivos vazios. Caso o touch seja usado com arquivos que no existam, por padro ele criar estes arquivos. touch [opes] [arquivos] Onde:

Captulo 10. Comandos Diversos

146

arquivos Arquivos que tero sua data/hora modicados. opes -t MMDDhhmm[ANO.segundos ] Usa Minutos (MM), Dias (DD), Horas (hh), minutos (mm) e opcionalmente o ANO e segundos para modicao do(s) arquivos ao invs da data e hora atual. -a, time=atime Faz o touch mudar somente a data e hora do acesso ao arquivo. -c, no-create No cria arquivos vazios, caso os arquivos no existam. -m, time=mtime Faz o touch mudar somente a data e hora da modicao. -r [arquivo ] Usa as horas no [arquivo] como referncia ao invs da hora atual. Exemplos: touch teste - Cria o arquivo teste caso ele no existir. touch -t 10011230 teste - Altera da data e hora do arquivo para 01/10 e 12:30. touch -t 120112301999.30 teste - Altera da data, hora ano, e segundos do arquivo para 01/12/1999 e 12:30:30. touch -t 12011200 * - Altera a data e hora do arquivo para 01/12 e 12:00.

10.17

uptime

Mostra o tempo de execuo do sistema desde que o computador foi ligado. uptime

10.18

dmesg

Mostra as mensagens de inicializao do kernel. So mostradas as mensagens da ltima inicializao do sistema. dmesg|less

10.19

mesg

Permite ou no o recebimentos de requisies de talk de outros usurios. mesg [y/n] Onde: y permite que voc receba talks de outros usurios. Digite mesg para saber se voc pode ou no receber talks de outros usurios. Caso a resposta seja n voc poder enviar um talk para algum mas o seu sistema se recusar em receber talks de outras pessoas.

Captulo 10. Comandos Diversos

147

interessante colocar o comando mesg y em seu arquivo de inicializao .bash_profile para permitir o recebimento de talks toda vez que entrar no sistema. Para detalhes sobre como se comunicar com outros usurios, veja o comando talk on page 161.

10.20

echo

Mostra mensagens. Este comando til na construo de scripts para mostrar mensagens na tela para o usurio acompanhar sua execuo. echo [mensagem] A opo -n pode ser usada para que no ocorra o salto de linha aps a mensagem ser mostrada.

10.21

su

Permite o usurio mudar sua identidade para outro usurio sem fazer o logout. til para executar um programa ou comando como root sem ter que abandonar a seo atual. su [usurio] Onde: usurio o nome do usurio que deseja usar para acessar o sistema. Se no digitado, assumido o usurio root. Ser pedida a senha do superusurio para autenticao. Digite exit quando desejar retornar a identicao de usurio anterior.

10.22

sync

Grava os dados do cache de disco na memria RAM para todos os discos rgidos e exveis do sistema. O cache um mecanismo de acelerao que permite que um arquivo seja armazenado na memria ao invs de ser imediatamente gravado no disco, quando o sistema estiver ocioso, o arquivo gravado para o disco. O GNU/Linux procura utilizar toda memria RAM disponvel para o cache de programas acelerando seu desempenho de leitura/gravao. sync O uso do sync til em disquetes quando gravamos um programa e precisamos que os dados sejam gravados imediatamente para retirar o disquete da unidade. Mas o mtodo recomendado especicar a opo sync durante a montagem da unidade de disquetes (para detalhes veja fstab on page 92.

10.23

uname

Retorna o nome e verso do kernel atual.

Captulo 10. Comandos Diversos

148

uname

10.24

reboot

Reinicia o computador.

10.25

shutdown

Desliga/reinicia o computador imediatamente ou aps determinado tempo (programvel) de forma segura. Todos os usurios do sistema so avisados que o computador ser desligado . Este comando somente pode ser executado pelo usurio root ou quando usada a opo -a pelos usurios cadastrados no arquivo /etc/shutdown.allow que estejam logados no console virtual do sistema. shutdown [opes] [hora] [mensagem] hora Momento que o computador ser desligado. Voc pode usar HH:MM para denir a hora e minuto, MM para denir minutos, +SS para denir aps quantos segundos, ou now para imediatamente (equivalente a +0). O shutdown criar o arquivo /etc/nologin para no permitir que novos usurios faam login no sistema (com excesso do root). Este arquivo removido caso a execuo do shutdown seja cancelada (opo -c) ou aps o sistema ser reiniciado. mensagem Mensagem que ser mostrada a todos os usurios alertando sobre o reinicio/desligamento do sistema. opes -h Inicia o processo para desligamento do computador. -r Reinicia o sistema -c Cancela a execuo do shutdown. Voc pode acrescentar uma mensagem avisando aos usurios sobre o fato. -a Permite que os nomes de usurios contidos no arquivo /etc/shutdown.allow possam utilizar o shutdown para reinicializar/desligar o sistema. Deve ser colocado um nome de usurio por linha. O limite mximo de usurios neste arquivo de 32. Este arquivo til quando o shutdown usado para controlar o pressionamento das teclas CTRL+ALT+DEL no /etc/inittab. -k Simula o desligamento/reinicio do sistema, enviando mensagem aos usurios. -f No executa a checagem do sistema de arquivos durante a inicializao do sistema. Este processo feito gravando-se um arquivo /fastboot que interpretado pelos scripts responsveis pela execuo do fsck durante a inicializao do sistema. -F Fora a checagem do sistema de arquivos durante a inicializao. gravado um arquivo chamado /forcefsck que interpretado pelos scripts responsveis pela execuo do fsck durante a inicializao do sistema. -n Faz com que o shutdown ignore a execuo do init fechando todos os processos. -t [num ] Faz com que o shutdown envie um sinal de trmino aos processos e aguarde [num] segundos antes de enviar o sinal KILL.

Captulo 10. Comandos Diversos

149

O shutdown envia uma mensagem a todos os usurios do sistema alertando sobre o desligamento durante os 15 minutos restantes e assim permite que nalizem suas tarefas. Aps isto, o shutdown muda o nvel de execuo atravs do comando init para 0 (desligamento), 1 (modo monousurio), 6 (reinicializao). recomendado utilizar o smbolo & no nal da linha de comando para que o shutdown seja executado em segundo plano. Quando restarem apenas 5 minutos para o reinicio/desligamento do sistema, o programa login ser desativado, impedindo a entrada de novos usurios no sistema. O programa shutdown pode ser chamado pelo init atravs do pressionamento da combinao das teclas de reinicializao CTRL+ALT+DEL alterando-se o arquivo /etc/inittab. Isto permite que somente os usurios autorizados (ou o root) possam reinicializar o sistema. Exemplos: shutdown -h now - Desligar o computador imediatamente. shutdown -r now - Reinicia o computador imediatamente. shutdown 19:00 A manuteno do servidor ser iniciada s 19:00 Faz o computador entrar em modo monousurio (init 1) s 19:00 enviando a mensagem A manuteno do servidor ser iniciada s 19:00 a todos os usurios conectados ao sistema. shutdown -r 15:00 O sistema ser reiniciado s 15:00 horas - Faz o computador ser reiniciado (init 6) s 15:00 horas enviando a mensagem O sistema ser reiniciado s 15:00 horas a todos os usurios conectados ao sistema. shutdown -r 20 - Faz o sistema ser reiniciado aps 20 minutos. shutdown -c - Cancela a execuo do shutdown. shutdown -t 30 -r 20 - Reinicia o sistema aps 20 minutos, espera 30 segundos aps o sinal de trmino para enviar o sinal KILL a todos os programas abertos.

10.26

wc

Conta o nmero de palavras, bytes e linhas em um arquivo ou entrada padro. Se as opes forem omitidas, o wc mostra a quantidade de linhas, palavras, e bytes. wc [opes] [arquivo] Onde: arquivo Arquivo que ser vericado pelo comando wc. opes -c, bytes Mostra os bytes do arquivo. -w, words Mostra a quantidade de palavras do arquivo. -l, lines Mostra a quantidade de linhas do arquivo. A ordem da listagem dos parmetros nica, e modicando a posio das opes no modica a ordem que os parmetros so listados. Exemplo: wc /etc/passwd - Mostra a quantidade de linhas, palavras e letras (bytes) no arquivo /etc/passwd. wc -w /etc/passwd - Mostra a quantidade de palavras.

Captulo 10. Comandos Diversos

150

wc -l /etc/passwd - Mostra a quantidade de linhas. wc -l -w /etc/passwd - Mostra a quantidade de linhas e palavras no arquivo /etc /passwd.

10.27

seq

Imprime uma seqncia de nmeros comeando em [primeiro] e terminando em [ltimo], utilizando [incremento] para avanar. seq [opes] [primeiro] [incremento] [ltimo] Onde: primeiro Nmero inicial da seqncia. incremento Nmero utilizado para avanar na seqncia. ltimo Nmero nal da seqncia. opes -f, format=[formato ] Formato de sada dos nmeros da seqncia. Utilize o estilo do printf para ponto utuante (valor padro: %g). -s, separator=[string ] Usa [string] para separar a seqncia de nmeros (valor padro: \n). -w, equal-width Insere zeros na frente dos nmeros mantendo a seqncia alinhada. Observaes: Se [primeiro] ou [incremento] forem omitidos, o valor padro 1 ser utilizado. Os nmeros recebidos so interpretados como nmeros em ponto utuante. incremento deve ser positivo se [primeiro] for menor do que o ltimo, e negativo caso contrrio. Quando utilizarmos a opo format, o argumento deve ser exatamente %e, %f ou %g. Exemplos: seq 0 2 10, seq -w 0 10, seq -f%f 0 10, seq -s, 0 10

10.28

chattr

Modica atributos de arquivos/diretrios. No confunda atributos de arquivo com permisses de acesso (Permisses de acesso a arquivos e diretrios on page 173), os atributos so diferentes e denem outras caractersticas especiais para os arquivos/diretrios especicados. chattr [opes] [atributos] [arquivos/diretrios] Onde: arquivos/diretrios Arquivos/Diretrios que tero os atributos modicados. Podem ser usados curingas opes -R Modica atributos em subdiretrios -V Mostra detalhes sobre a modicao de atributos. atributos Os atributos de arquivos/diretrios podem ser especicados da seguinte maneira: + - Adiciona o atributo

Captulo 10. Comandos Diversos

151

- - Remove o atributo = - Dene o atributo exatamente como especicado Os atributos so os seguintes: A - No modica a hora de acesso de arquivos. Poder aumentar consideravelmente a performance em Notebooks devido a diminuio de I/O no disco rgido. Quando especicada em diretrios, faz com que todos os arquivos e subdiretrios residentes nele no tenham a hora de acesso modicada. Este atributo funciona apenas em kernels 2.2 e superiores a - Append-Only - Arquivos com este atributo podem somente ser gravados em modo incrementais (o contedo poder somente ser adicionado ao nal do arquivo). Eles no podero ser removidos, renomeados e novos links no podero ser criados para estes arquivos. Em diretrios faz com que os arquivos sejam apenas adicionados. Somente o root pode especicar ou retirar este atributo. c - Permite compactao nos arquivos especicados de forma transparente para o usurio. Durante a leitura, o kernel retorna dados descompactados e durante a gravao os dados so compactados e gravados no disco. Este atributo ainda no foi totalmente implementado no cdigo atual do kernel. d - Este atributo no usado pelo kernel, mas faz com que o programa dump evitar backup dos arquivos marcados com este atributo. i - Imutvel - Arquivos imutveis no podem ser modicados, os dados tambm no podem ser gravados para estes arquivos, no podem ser removidos, renomeados. At mesmo o usurio root no poder modicar estes arquivos. Em diretrios, faz com que arquivos no possam ser adicionados ou apagados. Somente o usurio root pode especicar ou retirar este atributo. s - O arquivo especicado marcado como apagamento seguro; quando o arquivo apagado, seus blocos so zerados e gravados de volta no disco (eliminando qualquer possibilidade de recuperao). S - Faz a gravao imediatamente para o arquivo especicado. como especicar a opo sync na montagem do sistema de arquivos ext2, mas afeta somente os arquivos especicados. No tem efeito em diretrios. u - O arquivo especicado marcado como recupervel. Quando o arquivo apagado, seu contedo salvo para permitir futura recuperao. Este atributo ainda no foi implementado totalmente no cdigo atual do kernel. Os atributos de arquivos/diretrios so visualizados atravs do utilitrio lsattr. Existem patches para os kernels da srie 2.2 que adicionam o suporte experimental aos atributos c e u.

Exemplos: chattr chattr chattr chattr

+AacdiSsu teste.txt - Adiciona todos os atributos =ASs teste.txt - Dene os atributos para ASs +i -A teste.txt - Retira o atributo A e adiciona i = teste.txt - Retira todos os atributos

Captulo 10. Comandos Diversos

152

10.29

lsattr

Lista atributos de um arquivo/diretrio. Os atributos podem ser modicados atravs do comando chattr. lsattr [opes] [arquivos/diretrios] Onde: arquivos/diretrios Arquivos/diretrios que deseja listar os atributos. Podem ser usados curingas. opes -a Lista todos os arquivos, incluindo ocultos (iniciando com um .). -d Lista os atributos de diretrios ao invs de listar os arquivos que ele contm. -R Faz a listagem em diretrios e subdiretrios. -v Mostra verses dos arquivos. Caso seja especicado sem parmetros, o lsattr listar os atributos de todos os arquivos e diretrios do diretrio atual. O lsattr mostrar mensagens de erro caso seja usado em um diretrio de pontos de montagem ou arquivos que no sejam ext2. Exemplo: lsattr -d, lsattr -R, lsattr -R *.txt

10.30

cut

Mostra sees de cada linha do arquivo dependendo das opes passadas ao programa. cut [opes] [arquivo] Onde: arquivo Arquivo que ser vericado pelo comando cut. opes -b, bytes [bytes ] Mostra somente a lista de [bytes] do arquivo. -c, characters [numero ] Mostra somente o [nmero] de caracteres no arquivo. semelhante a opo -b mas tabs e espaos so tratados como qualquer caracter. -f, eld [campos ] Mostra somente a lista de [campos]. -d, delimite [delimitador ] Para uso com a opo -f, os campos so separados pelo primeiro caracter em [delimitador] ao invs de tabulaes. -s Para uso com a opo -f, somente mostra linhas que contm o caracter separador de campos. Devem ser especicadas opes para o funcionamento deste comando. Os bytes, campos e delimitadores podem ser especicados atravs de intervalos de caracteres (usando a-z), atravs de vrgulas (a,b,d) ou da combinao entre eles. cut -b 1,3 /etc/passwd - Pega a primeira e terceira letra (byte) de cada linha do arquivo /etc/passwd cut -b 1,3-10 /etc/passwd - Pega a primeira letra (byte) e terceira a dcima letra de cada linha do arquivo /etc/passwd. cut -c 1,3-10 /etc/passwd - Pega o primeiro caracter e terceiro ao dcimo caracter de cada linha do arquivo /etc/passwd.

Captulo 10. Comandos Diversos

153

10.31

cmp

Compara dois arquivos de qualquer tipo (binrio ou texto). Os dois arquivos especicados sero comparado e caso exista diferena entre eles, mostrado o nmero da linha e byte onde ocorreu a primeira diferena na sada padro (tela) e o programa retorna o cdigo de sada 1. cmp [arquivo1] [arquivo2] [opes] Opes: arquivo1/arquivo2 Arquivos que sero comparados. opes -l Mostra o nmero do byte (hexadecimal) e valores diferentes de bytes (octal) para cada diferena. -s No mostra nenhuma diferena, s retorna o cdigo de sada do programa. Use o comando zcmp para comparar diretamente arquivos binrios/texto compactados com gzip. Exemplo: cmp teste.txt teste1.txt.

10.32

dirname

Obtm o nome do diretrio atravs do caminho passado ao programa. dirname [diretrio/arquivo] dirname /usr/bin/dirname, dirname /tmp/*.

10.33

diff

Compara dois arquivos e mostra as diferenas entre eles. O comando diff usado somente para a comparao de arquivos em formato texto. As diferenas encontradas podem ser redirecionadas para um arquivo que poder ser usado pelo comando patch para aplicar as alteraes em um arquivo que no contm as diferenas. Isto til para grandes textos porque possvel copiar somente as modicaes (geradas atravs do diff, que so muito pequenas) e aplicar no arquivo para atualiza-lo (atravs do patch) ao invs de copiar a nova verso. Este um sistema de atualizao muito usado na atualizao dos cdigo fonte do kernel do GNU/Linux. diff [diretrio1/arquivo1] [diretrio2/arquivo2] [opes] Opes: diretrio1/arquivo1 diretrio2/arquivo2 Arquivos /diretrios que sero comparados. Normalmente usado como primeiro arquivo/diretrio o mais antigo e o mais novo como segundo. opes

Captulo 10. Comandos Diversos

154

-lines [num ] Gera a diferena com [num] linhas de contexto. Por padro o diff gera um arquivo com 2 linhas que o mnimo necessrio para o correto funcionamento do patch. -a Compara os dois arquivos como arquivos texto. -b Ignora espaos em branco como diferenas. -B Ignora linhas em branco inseridas ou apagadas nos arquivos. -i Ignora diferenas entre maisculas e minsculas nos arquivos. -H Usa anlise heurstica para vericar os arquivos. -N Em uma comparao de diretrios, se o arquivo apenas existe em um diretrio, trata-o como presente mas vazio no outro diretrio. -P Em uma comparao de diretrios, se o arquivos apenas existe no segundo diretrio, trata-o como presente mas vazio no primeiro diretrio. -q Mostra somente se os dois arquivos possuem diferenas. No mostra as diferenas entre eles. -r Compara diretrios e sub-diretrios existentes. -S [nome ] Inicia a comparao de diretrios pelo arquivo [nome]. til quando cancelamos uma comparao. -t Aumenta a tabulao das diferenas encontradas. -u Usa o formato de comparao unicado. Use o comando zdiff para comparar diretamente arquivos compactados pelo utilitrio gzip Use o comando sdiff para visualizar as linhas diferentes entre os dois arquivos em formato texto simples. Exemplo: diff texto.txt texto1.txt - Compara o arquivo texto.txt com texto1.txt e exibe suas diferenas na tela. diff -Bu texto.txt texto1.txt - Compara o arquivo texto.txt com texto1.txt ignorando linhas em branco diferentes entre os dois arquivos e usando o formato unicado. diff texto.txt texto1.txt >texto.diff - Compara o arquivo texto.txt com texto1.txt e gera um arquivo chamado texto.diff contendo a diferena entre eles. Este arquivo poder ser usado pelo patch para aplicar as diferenas existente entre os dois no arquivo texto.txt. diff -r /usr/src/linux-2.2.13 /usr/src/linux-2.2.14 >patch-2.2.14.diff - Compara o diretrio e sub-diretrios linux-2.2.13 e linux-2.2.14 e grava as diferenas entre eles no arquivo patch-2.2.14.diff.

10.34

pr

Pgina arquivos texto ou a entrada padro para impresso. Este comando faz a paginao de um arquivo texto e opcionalmente ajusta o nmero de colunas e mostra o resultado na sada padro.

Captulo 10. Comandos Diversos

155

pr [opes] [arquivo] Onde: arquivo Arquivo que ser paginado para impresso. opes +[NUM ] Inicia a numerao de pginas na pgina [PAGINA] -[NUM ] Mostra a sada com [NUM] colunas. -c Imprime o caracter CTRL como ^ na sada padro. -F, -f Usa avano de pgina ao invs de linhas em branco para separar pginas. -e[caracter [tamanho]] Usa o caracter [caracter] como tabulao (o padro tab) e o espao da tabulao [tamanho]. -h [nome ] Mostra [nome] ao invs do nome do arquivo no cabealho. -l [num ] Dene o nmero mximo de linhas por pgina para [num]. -m Imprime vrios arquivos em paralelo, um por coluna. -r Oculta mensagens de erro de abertura de arquivos. -w [num ] Ajusta a largura da pgina para [num] colunas (o padro 72). Exemplo: pr -l 50 -h Teste do comando pr teste.txt.

10.35

patch

Atualiza arquivos texto atravs das diferenas geradas pelo comando diff. patch [opes] [arquivo.diff] ou patch [opes] < [arquivo.diff] Onde: arquivo.diff Arquivo contendo as diferenas geradas pelo comando diff. opes -p [num ] Nvel do diretrio onde o patch ser aplicado, se igual a 0, o patch assume que os arquivos que sero atualizados esto no diretrio atual, se 1, assume que os arquivos que sero atualizado esto no diretrio acima (..), se 2, 2 diretrios acima . . . -b Cria cpias de segurana dos arquivos originais ao aplica o patch. -binary L e grava arquivo usando modo binrio. -d [dir ] Muda para o diretrio [dir] antes de aplica o patch. -E Remove arquivos vazios aps a aplicao do patch. -n Interpreta o arquivo de patch como um .diff normal. -N No desfaz patches j aplicados. -s No mostra mensagens de erro. -u Interpreta o patch em formato unicado. As diferenas so aplicadas em arquivos originais gerados pelo comando diff. importante entender os comandos patch e diff pois so comandos muito utilizados para desenvolvimento feito por equipes de pessoas. Exemplo: patch -p0<texto.diff - Aplica as diferenas contidas no arquivo texto.diff nos arquivos originais.

Captulo 10. Comandos Diversos

156

patch -p0 texto.txt texto.diff - Aplica as diferenas contidas no arquivo texto.diff nos arquivos originais. Faz a mesma coisa que o comando anterior.

10.36

whereis

Localiza o arquivo que contm uma pgina de manual. A pesquisa feita usando-se os caminhos de pginas de manuais conguradas no sistema (normalmente o arquivo /etc /manpath.config). whereis [comando] Exemplo: whereis ls, whereis cd.

10.37

which

Mostra a localizao de um arquivo executvel no sistema. A pesquisa de arquivos executveis feita atravs do path do sistema. Para maiores detalhes, veja path on page 116. which [comando] Exemplos: which ls, which shutdown, which which.

10.38

zforce

Renomeia extenso de arquivos para .gz. Este comando til quando fazemos downloads de arquivos compactados pelo gzip mas que no esto identicados pela extenso .gz. zforce [arquivos] Quando usado o zforce verica se o arquivo um arquivo compactado pelo gzip, caso seja, vericado se j tem a extenso .gz, caso no tiver, acrescenta a extenso.

10.39

gzexe

Cria arquivos compactados gzip auto-extrcteis. Este comando usado para compactar arquivos executveis que se auto-descompactam assim que so solicitados. til para sistemas ou unidades de disco que possuem pouco espao disponvel. Este comando deve somente ser usado para arquivos executveis. gzexe [arquivo] Onde: arquivo o arquivo executvel que ser compactado. Quando gzexe executado, uma cpia do arquivo original gravada com o formato nome_do_arquivo~. Exemplo: gzexe /tmp/teste.

Captulo 10. Comandos Diversos

157

10.40

znew

Recompacta arquivos do formato compress (.Z) para o formato gzip (.gz). Aps a recompactao, os arquivos de origem .Z so apagados. znew [opes] [arquivo] Onde: arquivo.Z Arquivo compactado pelo compress que ser re-compactado para o gzip. opes -f Substitui o arquivo .gz caso j exista. -t Teste os novos arquivos criados antes de apagar os arquivos .Z. -v Mostra o nome e porcentagem de compactao para cada arquivo processado. -9 Usa a mxima compactao. -P Usa pipes durante a converso para reduzir o espao ocupado no disco. A data e hora do arquivo no mantida caso esta opo seja usada. -K Mantm o arquivo .Z caso seja menor que o arquivo .gz.

Captulo 10. Comandos Diversos

158

159

Captulo 11

Comandos de rede
Este captulo traz alguns comandos teis para uso em rede e ambientes multiusurio.

11.1

who

Mostra quem est atualmente conectado no computador. Este comando lista os nomes de usurios que esto conectados em seu computador, o terminal e data da conexo. who [opes] onde: opes -H, heading Mostra o cabealho das colunas. -i, -u, idle Mostra o tempo que o usurio est parado em Horas:Minutos. -m, i am Mostra o nome do computador e usurio associado ao nome. equivalente a digitar who i am ou who am i. -q, count Mostra o total de usurios conectados aos terminais. -T, -w, mesg Mostra se o usurio pode receber mensagens via talk (conversao). + O usurio recebe mensagens via talk - O usurio no recebe mensagens via talk. ? No foi possvel determinar o dispositivo de terminal onde o usurio est conectado.

11.2

Telnet

Permite acesso a um computador remoto. mostrada uma tela de acesso correspondente ao computador local onde deve ser feita a autenticao do usurio para entrar no sistema. Muito til, mas deve ser tomado cuidados ao disponibilizar este servio para evitar riscos de segurana. telnet [opes] [ip/dns] [porta]

Captulo 11. Comandos de rede

160

onde: ip/dns Endereo IP do computador de destino ou nome DNS. porta Porta onde ser feita a conexo. Por padro, a conexo feita na porta 23. opes -8 Requisita uma operao binria de 8 bits. Isto fora a operao em modo binrio para envio e recebimento. Por padro, telnet no usa 8 bits. -a Tenta um login automtico, enviando o nome do usurio lido da varivel de ambiente USER. -d Ativa o modo de debug. -r Ativa a emulao de rlogin. -l [usurio ] Faz a conexo usando [usurio] como nome de usurio. Exemplo: telnet 192.168.1.1, telnet 192.168.1.1 23.

11.3

nger

Mostra detalhes sobre os usurios de um sistema. Algumas verses do finger possuem bugs e podem signicar um risco para a segurana do sistema. recomendado desativar este servio na mquina local. finger [usurio] [usurio@host] Onde: usurio Nome do usurio que deseja obter detalhes do sistema. Se no for digitado o nome de usurio, o sistema mostra detalhes de todos os usurios conectados no momento. usurio@host Nome do usurio e endereo do computador que deseja obter detalhes. -l Mostra os detalhes de todos os usurios conectados no momento. Entre os detalhes, esto includos o nome do interpretador de comandos (shell) do usurio, diretrio home, nome do usurio, endereo, etc. Estes dados so lidos de /etc/passwd. -p No exibe o contedo dos arquivos .plan e .project Se for usado sem parmetros, mostra os dados de todos os usurios conectados atualmente ao seu sistema. Exemplo: finger, finger root.

11.4

ftp

Permite a transferncia de arquivos do computador remoto/local e vice versa. O le transfer protocol o sistema de transmisso de arquivos mais usado na Internet. requerida a autenticao do usurio para que seja permitida a conexo. Muitos servidores ftp disponibilizam acesso annimo aos usurios, com acesso restrito. Uma vez conectado a um servidor ftp, voc pode usar a maioria dos comandos do GNU/Linux para oper-lo. ftp [ip/dns] Abaixo alguns dos comandos mais usados no FTP:

Captulo 11. Comandos de rede

161

ls Lista arquivos do diretrio atual. cd [diretrio ] Entra em um diretrio. get [arquivo ] Copia um arquivo do servidor ftp para o computador local. O arquivo gravado, por padro, no diretrio onde o programa ftp foi executado. hash [on/off ] Por padro esta opo est desligada. Quando ligada, faz com que o caracter # seja impresso na tela indicando o progresso do download. mget [arquivos ] Semelhante ao get, mas pode copiar diversos arquivos e permite o uso de curingas. send [arquivo ] Envia um arquivo para o diretrio atual do servidor FTP (voc precisa de uma conta com acesso a gravao para fazer isto). prompt [on/off ] Ativa ou desativa a pergunta para a cpia de arquivo. Se estiver como off assume sim para qualquer pergunta. Exemplo: ftp ftp.br.debian.org.

11.5

whoami

Mostra o nome que usou para se conectar ao sistema. til quando voc usa vrias contas e no sabe com qual nome entrou no sistema :-) whoami

11.6

dnsdomainname

Mostra o nome do domnio de seu sistema.

11.7

hostname

Mostra ou muda o nome de seu computador na rede.

11.8

talk

Inicia conversa com outro usurio em uma rede local ou Internet. Talk um programa de conversao em tempo real onde uma pessoa v o que a outra escreve. talk [usurio] [tty] ou talk [usurio@host] Onde:

Captulo 11. Comandos de rede

162

usurio Nome de login do usurio que deseja iniciar a conversao. Este nome pode ser obtido com o comando who (veja who on page 159). tty O nome de terminal onde o usurio est conectado, para iniciar uma conexo local. usurio@host Se o usurio que deseja conversar estiver conectado em um computador remoto, voc deve usar o nome do usurio@hosname do computador. Aps o talk ser iniciado, ele vericar se o usurio pode receber mensagens, em caso positivo, ele enviar uma mensagem ao usurio dizendo como responder ao seu pedido de conversa. Veja who on page 159. Para poder fazer a rolagem para cima e para baixo no talk, pressione CTRL+P(Previous - Tela anterior) e CTRL+N (Next - Prxima tela). Voc deve ter o daemon do talk instalado (talkd) para receber requisies de conversa. Voc deve autorizar o recebimento de talks de outros usurios para que eles possam se comunicar com voc , para detalhes veja o comando mesg on page 146.

11.9

ping

Verica se um computador est disponvel na rede. Este comando muito utilizado por alguns programas de conexo e administradores para vericar se uma determinada mquina est conectada na rede e tambm para vericar o tempo de resposta de cada mquina da rede. O ping envia pacotes ICMS ECHO_REQUEST para um computador, este quando recebe o pacote envia uma resposta ao endereo de origem avisando que est disponvel na rede. ping [opes][IP/DNS] onde: IP/dns Endereo IP ou nome DNS do endereo. opes -c [num ] Envia num pacotes ao computador de destino. -f Flood ping. Envia novos pacotes antes de receber a resposta do pacote anterior. Para cada requisio enviada, um . mostrado na tela e para cada resposta recebida, um backspace mostrado. Somente o usurio root pode utilizar esta opo e pode te auxiliar muito na deteco de erros de transmisso de pacotes em interfaces das mquinas em sua rede. -i [seg ] Aguarda [seg] segundos antes de enviar cada pacote. -q No mostra as requisies enquanto so enviadas, somente mostra as linhas de sumrio no inicio e trmino do programa. -s [tamanho ] Especica o tamanho do pacote que ser enviado. -v, verbose Sada detalhada, tanto os pacotes enviados como recebidos so listados. Exemplo: ping 192.168.1.1, ping www.br.debian.org.

11.10

rlogin

Executa um login em uma mquina local ou remota. rlogin [opes] [IP/DNS]

Captulo 11. Comandos de rede

163

onde: IP/DNS Endereo IP ou DNS do computador que ser acessado. opes -l [nome ] Entra com o user id [nome] no sistema. rlogin usado para executar comandos interativamente no computador de destino (como se voc estivesse sentado diante dele, muito semelhante ao telnet). Para executar comandos no interativamente veja rsh on this page.

11.11

rsh

Executa um comando em um computador local ou remoto. rsh [opes] [IP/DNS] [comando] Onde: IP/DNS Endereo IP ou nome DNS do computador. comando Comando que ser executado no computador local/remoto. opes -l [nome ] Entra no sistema usando o login [nome]. rsh usado somente para executar comandos. Para usar um shell interativo veja Telnet on page 159 e rlogin on the facing page.

11.12

Mostra quem est conectado no sistema e o que cada um est fazendo. w [opes][usurio] onde: usurio Nome do usurio que deseja ver os detalhes. Se o usurio no for digitado, o comando w mostra detalhes de todos os usurios conectados no sistema. opes -h No mostra o cabealho -u Ignora os nomes de usurios enquanto verica os processo atuais e tempos de CPU. -f Mostra ou oculta o campo FROM na listagem.

11.13

traceroute

Mostra o caminho percorrido por um pacote para chegar ao seu destino. Este comando mostra na tela o caminho percorrido entre os Gateways da rede e o tempo gasto de retransmisso. Este comando til para encontrar computadores defeituosos na rede caso o pacote no esteja chegando ao seu destino. traceroute [opes] [host/IP de destino]

Captulo 11. Comandos de rede

164

Onde: host/IP destino o endereo para onde o pacote ser enviado (por exemplo, www.debian.org). Caso o tamanho do pacote no seja especicado, enviado um pacote de 38 bytes. opes -l Mostra o tempo de vida do pacote (ttl) -m [num ] Ajusta a quantidade mximas de ttl dos pacotes. O padro 30. -n Mostra os endereos numericamente ao invs de usar resoluo DNS. -p [porta ] Ajusta a porta que ser usada para o teste. A porta padro 33434. -r Pula as tabelas de roteamento e envia o pacote diretamente ao computador conectado a rede. -s [end ] Usa o endereo IP/DNS [end] como endereo de origem para computadores com mltiplos endereos IPs ou nomes. -v Mostra mais detalhes sobre o resultado do traceroute. -w [num ] Congura o tempo mximo que aguardar por uma resposta. O padro 3 segundos. Exemplos: traceroute www.debian.org, traceroute www.linux.org.

11.14

netstat

Mostra conexes de rede, tabela de roteamento, estatsticas de interfaces, conexes masquerade, e mensagens. netstat [opes] Onde: opes -i [interface ] Mostra estatsticas da interface [interface]. -M, masquerade Se especicado, tambm lista conexes masquerade. -n, numeric Usa endereos numricos ao invs de tentar resolver nomes de hosts, usurios e portas. -c, continuos Mostra a listagem a cada segundo at que a CTRL+C seja pressionado. Se no for especicada nenhuma opo, os detalhes das conexes atuais sero mostrados.

11.15

wall

Envia uma mensagem a todos os usurios do sistema. Este comando faz a leitura de um arquivo ou entrada padro e escreve o resultado em todos os terminais onde existem usurios conectados. Somente o usurio root pode utilizar este comando. wall [arquivo] Exemplos: wall /tmp/mensagem.txt, echo Teste de mensagem enviada a todos os usurios conectados ao sistema|wall.

165

Captulo 12

Comandos para manipulao de contas


Este captulo traz comandos usados para manipulao de conta de usurios e grupos em sistemas GNU/Linux. Entre os assuntos descritos aqui esto adicionar usurios ao sistema, adicionar grupos, incluir usurios existente em novos grupos, etc.

12.1

adduser

Adiciona um usurio ou grupo no sistema. Por padro, quando um novo usurio adicionado, criado um grupo com o mesmo nome do usurio. Opcionalmente o adduser tambm pode ser usado para adicionar um usurio a um grupo (veja Adicionando o usurio a um grupo extra on page 170). Ser criado um diretrio home com o nome do usurio (a no ser que o novo usurio criado seja um usurio do sistema) e este receber uma identicao. A identicao do usurio (UID) escolhida ser a primeira disponvel no sistema especicada de acordo com a faixa de UIDS de usurios permitidas no arquivo de congurao /etc/adduser.conf. Este o arquivo que contm os padres para a criao de novos usurios no sistema. adduser [opes] [usurio/grupo] Onde: usurio/grupo Nome do novo usurio que ser adicionado ao sistema. opes -disable-passwd No executa o programa passwd para escolher a senha e somente permite o uso da conta aps o usurio escolher uma senha. force-badname Desativa a checagem de senhas ruins durante a adio do novo usurio. Por padro o adduser checa se a senha pode ser facilmente adivinhada. group Cria um novo grupo ao invs de um novo usurio. A criao de grupos tambm pode ser feita pelo comando addgroup. -uid [num ] Cria um novo usurio com a identicao [num] ao invs de procurar o prximo UID disponvel. -gid [num ] Faz com que o usurio seja parte do grupo [gid] ao invs de pertencer a um novo grupo que ser criado com seu nome. Isto til caso deseje permitir que grupos de

Captulo 12. Comandos para manipulao de contas

166

usurios possam ter acesso a arquivos comuns. Caso estiver criando um novo grupo com adduser, a identicao do novo grupo ser [num]. home [dir ] Usa o diretrio [dir] para a criao do diretrio home do usurio ao invs de usar o especicado no arquivo de congurao /etc/adduser.conf. ingroup [nome ] Quando adicionar um novo usurio no sistema, coloca o usurio no grupo [nome] ao invs de criar um novo grupo. quiet No mostra mensagens durante a operao. system Cria um usurio de sistema ao invs de um usurio normal. Os dados do usurio so colocados no arquivo /etc/passwd aps sua criao e os dados do grupo so colocados no arquivo /etc/group. OBSERVAO: Caso esteja usando senhas ocultas (shadow passwords), as senhas dos usurios sero colocadas no arquivo /etc/shadow e as senhas dos grupos no arquivo /etc /gshadow. Isto aumenta mais a segurana do sistema porque somente o usurio root pode ter acesso a estes arquivos, ao contrrio do arquivo /etc/passwd que possui os dados de usurios e devem ser lidos por todos.

12.2

addgroup

Adiciona um novo grupo de usurios no sistema. As opes usadas so as mesmas do adduser on the preceding page. addgroup [usurio/grupo] [opes]

12.3

passwd

Muda a senha do usurio ou grupo. Um usurio somente pode alterar a senha de sua conta, mas o superusurio (root) pode alterar a senha de qualquer conta de usurio, inclusive a data de validade da conta, etc. Os donos de grupos tambm podem alterar a senha do grupo com este comando. Os dados da conta do usurio como nome, endereo, telefone, tambm podem ser alterados com este comando. passwd [usurio/grupo] [opes] Onde: usurio Nome do usurio/grupo que ter sua senha alterada. opes -g Se especicada, a senha do grupo ser alterada. Somente o root ou o administrador do grupo pode alterar sua senha. A opo -r pode ser usada com esta para remover a senha do grupo. A opo -R pode ser usada para restringir o acesso do grupo para outros usurios. -x [dias ] Especica o nmero mximo de dias que a senha poder ser usada. Aps terminar o prazo, a senha dever ser modicada.

Captulo 12. Comandos para manipulao de contas

167

-i Desativa a conta caso o usurio no tenha alterado sua senha aps o tempo especicado por -x. -n [dias ] Especica o nmero mnimo de dias para a senha ser alterada. O usurio no poder mudar sua senha at que [dias] sejam atingidos desde a ltima alterao de senha. -w [num ] Nmero de dias antecedentes que o usurio receber o alerta para mudar sua senha. O alerta ocorre [num] dias antes do limite da opo -x, avisando ao usurios quantos dias restam para a troca de sua senha. -l [nome ] Bloqueia a conta do usurio [nome]. Deve ser usada pelo root. O bloqueio da conta feito acrescentando um caracter a senha para que no conra com a senha original. -u [nome ] Desbloqueia a conta de um usurio bloqueada com a opo -l. -S [nome ] Mostra o status da conta do usurio [nome]. A primeira parte o nome do usurio seguido de L(conta bloqueada), NP(sem senha), ou P (com senha), a terceira parte a data da ltima modicao da senha, a quarta parte a perodo mnimo, mximo, alerta e o perodo de inatividade para a senha. Procure sempre combinar letras maisculas, minsculas, e nmeros ao escolher suas senhas. No recomendado escolher palavras normais como sua senha pois podem ser vulnerveis a ataques de dicionrios cracker. Outra recomendao utilizar senhas ocultas em seu sistema (shadow password). Voc deve ser o dono da conta para poder modicar a senhas. O usurio root pode modicar/apagar a senha de qualquer usurio. Exemplo: passwd root.

12.4

newgrp

Altera a identicao de grupo do usurio. Para retornar a identicao anterior, digite exit e tecle Enter. Para executar um comando com outra identicao de grupo de usurio, use o comando sg on page 169. newgrp - [grupo] Onde: - Se usado, inicia um novo ambiente aps o uso do comando newgrp (semelhante a um novo login no sistema), caso contrrio, o ambiente atual do usurio mantido. grupo Nome do grupo ou nmero do grupo que ser includo. Quando este comando usado, pedida a senha do grupo que deseja acessar. Caso a senha do grupo esteja incorreta ou no exista senha denida, a execuo do comando negada. A listagem dos grupos que pertence atualmente pode ser feita usando o comando id on page 171.

12.5

userdel

Apaga um usurio do sistema. Quando usado, este comando apaga todos os dados da conta especicado dos arquivos de contas do sistema. userdel [-r] [usurio]

Captulo 12. Comandos para manipulao de contas

168

Onde: -r Apaga tambm o diretrio HOME do usurio. OBS: Note que uma conta de usurio no poder ser removida caso ele estiver no sistema, pois os programas podem precisar ter acesso aos dados dele (como UID, GID) no /etc/passwd.

12.6

groupdel

Apaga um grupo do sistema. Quando usado, este comando apaga todos os dados do grupo especicado dos arquivos de contas do sistema. groupdel [grupo] Tenha certeza que no existem arquivos/diretrios criados com o grupo apagado atravs do comando find. OBS: Voc no pode remover o grupo primrio de um usurio. Remova o usurio primeiro.

12.7

lastlog

Mostra o ltimo login dos usurios cadastrados no sistema. mostrado o nome usado no login, o terminal onde ocorreu a conexo e a hora da ltima conexo. Estes dados so obtidos atravs da pesquisa e formatao do arquivo /var/log/lastlog. Caso o usurio no tenha feito login, mostrada a mensagem ** Never logged in ** lastlog [opes] Onde: opes -t [dias ] Mostra somente os usurios que se conectaram ao sistema nos ltimos [dias]. -u [nome ] Mostra somente detalhes sobre o usurio [nome]. A opo -t substitui a opo -u caso sejam usadas.

12.8

last

Mostra uma listagem de entrada e sada de usurios no sistema. So mostrados os seguintes campos na listagem: Nome do usurio Terminal onde ocorreu a conexo/desconexo O hostname (caso a conexo tenha ocorrido remotamente) ou console (caso tenha ocorrido localmente).

Captulo 12. Comandos para manipulao de contas

169

A data do login/logout, a hora do login/down se estiver fora do sistema/ still logged in se ainda estiver usando o sistema Tempo (em Horas:Minutos) que esteve conectado ao sistema. A listagem mostrada em ordem inversa, ou seja, da data mais atual para a mais antiga. A listagem feita pelo last obtida de /var/log/wtmp. last [opes] Onde: opes -n [num ] Mostra [num] linhas. Caso no seja usada, todas as linhas so mostradas. -R No mostra o campo HostName. -a Mostra o hostname na ltima coluna. Ser muito til se combinada com a opo -d. -d Usa o DNS para resolver o IP de sistemas remotos para nomes DNS. -x Mostra as entradas de desligamento do sistema e alteraes do nvel de execuo do sistema. O comando last pode ser seguido de um argumento que ser pesquisado como uma expresso regular durante a listagem. O comando last usa o arquivo /var/log/wtmp para gerar sua listagem, mas alguns sistemas podem no possuir este arquivo. O arquivo /var/log/wtmp somente usado caso existir. Voc pode cria-lo com o comando echo -n >/var/log/wtmp ou touch /var/log/wtmp. last - Mostra a listagem geral last -a - Mostra a listagem geral incluindo o nome da mquina last gleydson - Mostra somente atividades do usurio gleydson last reboot - Mostra as reinicializaes do sistema last tty1 - Mostra todas as atividades no tty1

12.9

sg

Executa um comando com outra identicao de grupo. A identicao do grupo de usurio modicada somente durante a execuo do comando. Para alterar a identicao de grupo durante sua seo shell, use o comando newgrp on page 167. sg [-] [grupo] [comando] Onde: - Se usado, inicia um novo ambiente durante o uso do comando (semelhante a um novo login e execuo do comando), caso contrrio, o ambiente atual do usurio mantido. grupo Nome do grupo que o comando ser executado. comando Comando que ser executado. O comando ser executado pelo bash. Quando este comando usado, pedida a senha do grupo que deseja acessar. Caso a senha do grupo esteja incorreta ou no exista senha denida, a execuo do comando negada. Exemplo: sg root ls /root

Captulo 12. Comandos para manipulao de contas

170

12.10

Adicionando o usurio a um grupo extra

Para adicionar um usurio em um novo grupo e assim permitir que ele acesse os arquivos/diretrios que pertencem quele grupo, voc deve estar como root e editar o arquivo /etc /group com o comando vigr. Este arquivo possui o seguinte formato: NomedoGrupo:senha:GID:usurios Onde: NomedoGrupo o nome daquele grupo de usurios. senha Senha para ter acesso ao grupo. Caso esteja utilizando senhas ocultas para grupos, as senhas estaro em /etc/gshadow. GID Identicao numrica do grupo de usurio. usuarios Lista de usurios que tambm fazem parte daquele grupo. Caso exista mais de um nome de usurio, eles devem estar separados por vrgula. Deste modo para acrescentar o usurio joao ao grupo audio para ter acesso aos dispositivos de som do Linux, acrescente o nome no nal da linha: audio:x:100:joao. Pronto, basta digitar logout e entrar novamente com seu nome e senha, voc estar fazendo parte do grupo audio (conra digitando groups ou id). Outros nomes de usurios podem ser acrescentados ao grupo audio bastando separar os nomes com vrgula. Voc tambm pode usar o comando adduser da seguinte forma para adicionar automaticamente um usurio a um grupo: adduser joao audio Isto adicionaria o usurio joao ao grupo audio da mesma forma que fazendo-se a edio manualmente.

12.11

chfn

Muda os dados usados pelo comando nger on page 160. chfn [usurio] [opes] Onde: usurio Nome do usurio. opes -f [nome ] Muda o nome completo do usurio. -r [nome ] Muda o nmero da sala do usurio. -w [tel ] Muda o telefone de trabalho do usurio.

Captulo 12. Comandos para manipulao de contas

171

-h [tel ] Muda o telefone residencial do usurio. -o [outros ] Muda outros dados do usurio. Caso o nome que acompanha as opes (como o nome completo) contenha espaos, use para identica-lo. Exemplo: chfn -f Nome do Usurio root root

12.12

id

Mostra a identicao atual do usurio, grupo primrio e outros grupos que pertence. id [opes] [usurio] Onde: usurio o usurio que desejamos ver a identicao, grupos primrios e complementares. opes -g, group Mostra somente a identicao do grupo primrio. -G, groups Mostra a identicao de outros grupos que pertence. -n, name Mostra o nome do usurio e grupo ao invs da identicao numrica. -u, user Mostra somente a identicao do usurio (user ID). -r, real Mostra a identicao real de usurio e grupo, ao invs da efetiva. Esta opo deve ser usada junto com uma das opes: -u, -g, ou -G. Caso no sejam especicadas opes, id mostrar todos os dados do usurio. Exemplo: id, id --user, id -r -u.

12.13

logname

Mostra seu login (username). logname

12.14

users

Mostra os nomes de usurios usando atualmente o sistema. Os nomes de usurios so mostrados atravs de espaos sem detalhes adicionais, para ver maiores detalhes sobre os usurios, veja os comandos id on the current page e who on page 159. users Os nomes de usurios atualmente conectados ao sistema so obtidos do arquivo /var/log /wtmp.

Captulo 12. Comandos para manipulao de contas

172

12.15

groups

Mostra os grupos que o usurio pertence. groups [usurio] Exemplo: groups, groups root

173

Captulo 13

Permisses de acesso a arquivos e diretrios


A permisso de acesso protege o sistema de arquivos Linux do acesso indevido de pessoas ou programas no autorizados. A permisso de acesso do GNU/Linux tambm impede que um programa mal intencionado, por exemplo, apague um arquivo que no deve, envie arquivos para outra pessoa ou fornea acesso da rede para que outros usurios invadam o sistema. O sistema GNU/Linux muito seguro e como qualquer outro sistema seguro e convel impede que usurios iniciantes (ou mal intencionados) instalem programas enviados por terceiros sem saber para que eles realmente servem e causem danos irreversveis em seus arquivos, seu micro ou sua empresa. Esta seo pode se tornar um pouco difcil de se entender, ento recomendo ler e ao mesmo tempo prtica-la para uma tima compreenso. No se preocupe, tambm coloquei exemplos para ajuda-lo a entender o sistema de permisses de acesso do ambiente GNU/Linux.

13.1

Donos, grupos e outros usurios

O princpio da segurana no sistema de arquivos GNU/Linux denir o acesso aos arquivos por donos, grupos e outros usurios: dono a pessoa que criou o arquivo ou o diretrio. O nome do dono do arquivo/diretrio o mesmo do usurio usado para entrar no sistema GNU/Linux. Somente o dono pode modicar as permisses de acesso do arquivo. As permisses de acesso do dono de um arquivo somente se aplicam ao dono do arquivo/diretrio. A identicao do dono tambm chamada de user id (UID). A identicao de usurio e o nome do grupo que pertence so armazenadas respectivamente nos arquivos /etc/passwd e /etc/group. Estes so arquivos textos comuns e podem ser editados em qualquer editor de texto, mas tenha cuidado para no modicar o campo que contm a senha do usurio encriptada (que pode estar armazenada neste arquivo caso no estiver usando senhas ocultas). grupo Para permitir que vrios usurios diferentes tivessem acesso a um mesmo arquivo (j que somente o dono poderia ter acesso ao arquivo), este recurso foi criado. Cada usu-

Captulo 13. Permisses de acesso a arquivos e diretrios

174

rio pode fazer parte de um ou mais grupos e ento acessar arquivos que pertenam ao mesmo grupo que o seu (mesmo que estes arquivos tenham outro dono). Por padro, quando um novo usurio criado, o grupo ele pertencer ser o mesmo de seu grupo primrio (exceto pelas condies que explicarei adiante) (veja isto atravs do comando id, veja id on page 171). A identicao do grupo chamada de gid (group id). Um usurio pode pertencer a um ou mais grupos. Para detalhes de como incluir o usurio em mais grupos veja Adicionando o usurio a um grupo extra on page 170. outros a categoria de usurios que no so donos ou no pertencem ao grupo do arquivo. Cada um dos tipos acima possuem trs tipos bsicos de permisses de acesso que sero vistas na prxima seo.

13.2

Tipos de Permisses de acesso

Quanto aos tipos de permisses que se aplicam ao dono, grupo e outros usurios, temos 3 permisses bsicas: r - Permisso de leitura para arquivos. Caso for um diretrio, permite listar seu contedo (atravs do comando ls, por exemplo). w - Permisso de gravao para arquivos. Caso for um diretrio, permite a gravao de arquivos ou outros diretrios dentro dele. Para que um arquivo/diretrio possa ser apagado, necessrio o acesso a gravao. x - Permite executar um arquivo (caso seja um programa executvel). Caso seja um diretrio, permite que seja acessado atravs do comando cd (veja cd on page 131 para detalhes). As permisses de acesso a um arquivo/diretrio podem ser visualizadas com o uso do comando ls -la. Para maiores detalhes veja ls on page 129. As 3 letras (rwx) so agrupadas da seguinte forma: -rwxrwxrwx gleydson users teste

Virou uma baguna no? Vou explicar cada parte para entender o que quer dizer as 10 letras acima (da esquerda para a direita): A primeira letra diz qual o tipo do arquivo. Caso tiver um d um diretrio, um l um link a um arquivo no sistema (veja ln on page 138 para detalhes) , um - quer dizer que um arquivo comum, etc. Da segunda a quarta letra (rwx) dizem qual a permisso de acesso ao dono do arquivo. Neste caso gleydson ele tem a permisso de ler (r - read), gravar (w - write) e executar (x execute) o arquivo teste. Da quinta a stima letra (rwx) diz qual a permisso de acesso ao grupo do arquivo. Neste caso todos os usurios que pertencem ao grupo users tem a permisso de ler (r), gravar (w), e tambm executar (x) o arquivo teste.

Captulo 13. Permisses de acesso a arquivos e diretrios

175

Da oitava a dcima letra (rwx) diz qual a permisso de acesso para os outros usurios. Neste caso todos os usurios que no so donos do arquivo teste tem a permisso para ler, gravar e executar o programa. Veja o comando chmod on page 179 para detalhes sobre a mudana das permisses de acesso de arquivos/diretrios.

13.3

Etapas para acesso a um arquivo/diretrio

O acesso a um arquivo/diretrio feito vericando primeiro se o usurio que acessar o arquivo o seu dono, caso seja, as permisses de dono do arquivo so aplicadas. Caso no seja o dono do arquivo/diretrio, vericado se ele pertence ao grupo correspondente, caso pertena, as permisses do grupo so aplicadas. Caso no pertena ao grupo, so vericadas as permisses de acesso para os outros usurios que no so donos e no pertencem ao grupo correspondente ao arquivo/diretrio. Aps vericar aonde o usurio se encaixa nas permisses de acesso do arquivo (se ele o dono, pertence ao grupo, ou outros usurios), vericado se ele ter permisso acesso para o que deseja fazer (ler, gravar ou executar o arquivo), caso no tenha, o acesso negado, mostrando uma mensagem do tipo: Permission denied (permisso negada). O que isto que dizer que mesmo que voc seja o dono do arquivo e denir o acesso do dono (atravs do comando chmod) como somente leitura (r) mas o acesso dos outros usurios como leitura e gravao, voc somente poder ler este arquivo mas os outros usurios podero ler/grava-lo. As permisses de acesso (leitura, gravao, execuo) para donos, grupos e outros usurios so independentes, permitindo assim um nvel de acesso diferenciado. Para maiores detalhes veja Tipos de Permisses de acesso on the preceding page. Lembre-se: Somente o dono pode modicar um arquivo/diretrio! Para mais detalhes veja os comandos chown on page 180 e chgrp on page 180.

13.4

Exemplos prticos de permisses de acesso

Abaixo dois exemplos prticos de permisso de acesso: Exemplo de acesso a um arquivo on this page e a Exemplo de acesso a um diretrio on the next page. Os dois exemplos so explicados passo a passo para uma perfeita compreenso do assunto. Vamos a prtica!

13.4.1

Exemplo de acesso a um arquivo

Abaixo um exemplo e explicao das permisses de acesso a um arquivo no GNU/Linux (obtido com o comando ls -la, explicarei passo a passo cada parte: -rwxr-xr 1 gleydson user 8192 nov 4 16:00 teste

Captulo 13. Permisses de acesso a arquivos e diretrios

176

-rwxr-xr-- Estas so as permisses de acesso ao arquivo teste. Um conjunto de 10 letras que especicam o tipo do arquivo, permisso do dono do arquivo, grupo do arquivo e outros usurios. Veja a explicao detalhada sobre cada uma abaixo: -rwxr-xr A primeira letra (do conjunto das 10 letras) determina o tipo do arquivos. Se a letra for um d um diretrio, e voc poder acessa-lo usando o comando cd. Caso for um l um link simblico para algum arquivo ou diretrio no sistema (para detalhes veja o comando ln on page 138 . Um - signica que um arquivo normal. -rwxr-xr Estas 3 letras (da segunda a quarta do conjunto das 10 letras) so as permisses de acesso do dono do arquivo teste. O dono (neste caso gleydson) tem a permisso para ler (r), gravar (w) e executar (x) o arquivo teste. -rwxr-xr Estas 3 letras (da quinta a stima do conjunto das 10 letras) so as permisses de acesso dos usurios que pertencem ao grupo user do arquivo teste. Os usurios que pertencem ao grupo user tem a permisso somente para ler (r) e executar (x) o arquivo teste no podendo modica-lo ou apaga-lo. -rwxr-xr Estas 3 letras (da oitava a dcima) so as permisses de acesso para usurios que no so donos do arquivo teste e que no pertencem ao grupo user. Neste caso, estas pessoas somente tero a permisso para ver o contedo do arquivo teste. gleydson Nome do dono do arquivo teste. user Nome do grupo que o arquivo teste pertence. teste Nome do arquivo.

13.4.2

Exemplo de acesso a um diretrio

Abaixo um exemplo com explicaes das permisses de acesso a um diretrio no GNU/Linux: drwxr-x 2 gleydson user 1024 nov 4 17:55 exemplo drwxr-x--- Permisses de acesso ao diretrio exemplo. um conjunto de 10 letras que especicam o tipo de arquivo, permisso do dono do diretrio, grupo que o diretrio pertence e permisso de acesso a outros usurios. Veja as explicaes abaixo: drwxr-x A primeira letra (do conjunto das 10) determina o tipo do arquivo. Neste caso um diretrio porque tem a letra d. drwxr-x Estas 3 letras (da segunda a quarta) so as permisses de acesso do dono do diretrio exemplo. O dono do diretrio (neste caso gleydson) tem a permisso para listar arquivos do diretrio (r), gravar arquivos no diretrio (w) e entrar no diretrio (x). drwxr-x Estas 3 letras (da quinta a stima) so as permisses de acesso dos usurios que pertencem ao grupo user. Os usurios que pertencem ao grupo user tem a permisso somente para listar arquivos do diretrio (r) e entrar no diretrio (x) exemplo. drwxr-x Estas 3 letras (da oitava a dcima) so as permisses de acesso para usurios que no so donos do diretrio exemplo e que no pertencem ao grupo user. Com as permisses acima, nenhum usurio que se encaixe nas condies de dono e grupo do diretrio tem a permisso de acessa-lo. gleydson Nome do dono do diretrio exemplo. user Nome do grupo que diretrio exemplo pertence. exemplo Nome do diretrio.

Captulo 13. Permisses de acesso a arquivos e diretrios

177

Para detalhes de como alterar o dono/grupo de um arquivo/diretrio, veja os comandos chmod on page 179, chgrp on page 180 e chown on page 180. OBSERVAES: O usurio root no tem nenhuma restrio de acesso ao sistema. Se voc tem permisses de gravao no diretrio e tentar apagar um arquivo que voc no tem permisso de gravao, o sistema perguntar se voc conrma a excluso do arquivo apesar do modo leitura. Caso voc tenha permisses de gravao no arquivo, o arquivo ser apagado por padro sem mostrar nenhuma mensagem de erro (a no ser que seja especicada a opo -i com o comando rm). Por outro lado, mesmo que voc tenha permisses de gravao em um arquivo mas no tenha permisses de gravao em um diretrio, a excluso do arquivo ser negada. Isto mostra que levado mais em considerao a permisso de acesso do diretrio do que as permisses dos arquivos e sub-diretrios que ele contm. Este ponto muitas vezes ignorado por muitas pessoas e expem seu sistema a riscos de segurana. Imagine o problema que algum usurio que no tenha permisso de gravao em um arquivo mas que a tenha no diretrio pode causar em um sistema mal administrado.

13.5

Permisses de Acesso Especiais

Em adio as trs permisses bsicas (rwx), existem permisses de acesso especiais (stX) que afetam arquivos executveis e diretrios: s - Quando usado na permisso de acesso do Dono, ajusta a identicao efetiva do usurio do processo durante a execuo de um programa, tambm chamado de bit setuid. No tem efeito em diretrios. Quando s usado na permisso de acesso do Grupo, ajusta a identicao efetiva do grupo do processo durante a execuo de um programa, chamado de bit setgid. identicado pela letra s no lugar da permisso de execuo do grupo do arquivo/diretrio. Em diretrios, fora que os arquivos criados dentro dele pertenam ao mesmo grupo do diretrio, ao invs do grupo primrio que o usurio pertence. Ambos setgid e setuid podem aparecer ao mesmo tempo no mesmo arquivo/diretrio. A permisso de acesso especial s somente pode aparecer no campo Dono e Grupo. S - Idntico a s. Signica que no existe a permisso x (execuo ou entrar no diretrio) naquele lugar. Um exemplo o chmod 2760 em um diretrio. t - Salva a imagem do texto do programa no dispositivo swap, assim ele ser carregado mais rapidamente quando executado, tambm chamado de stick bit. Em diretrios, impede que outros usurios removam arquivos dos quais no so donos. Isto chamado de colocar o diretrio em modo append-only. Um exemplo de diretrio que se encaixa perfeitamente nesta condio o /tmp, todos os usurios devem ter acesso para que seus programas possam criar os arquivos temporrios l, mas nenhum pode apagar arquivos dos outros. A permisso especial t, pode ser especicada somente no campo outros usurios das permisses de acesso. T - Idntico a t. Signica que no existe a permisso x naquela posio (por exemplo, em um chmod 1776 em um diretrio). X - Se voc usar X ao invs de x, a permisso de execuo somente afetada se o arquivo j tiver permisses de execuo. Em diretrios ela tem o mesmo efeito que a permisso

Captulo 13. Permisses de acesso a arquivos e diretrios

178

de execuo x. Exemplo da permisso de acesso especial X: 1 Crie um arquivo teste (digitando touch teste) e dena sua permisso para rw-rw-r-- (chmod ug=rw,o=r teste ou chmod 664 teste). 2 Agora use o comando chmod a+X teste 3 digite ls -l 4 Veja que as permisses do arquivo no foram afetadas. 5 agora digite chmod o+x teste 6 digite ls -l, voc colocou a permisso de execuo para os outros usurios. 7 Agora use novamente o comando chmod a+X teste 8 digite ls -l 9 Veja que agora a permisso de execuo foi concedida a todos os usurios, pois foi vericado que o arquivo era executvel (tinha permisso de execuo para outros usurios). 10 Agora use o comando chmod a-X teste 11 Ele tambm funcionar e remover as permisses de execuo de todos os usurios, porque o arquivo teste tem permisso de execuo (conra digitando ls -l). 12 Agora tente novamente o chmod a+X teste 13 Voc deve ter reparado que a permisso de acesso especial X semelhante a x, mas somente faz efeito quanto o arquivo j tem permisso de execuo para o dono, grupo ou outros usurios. Em diretrios, a permisso de acesso especial X funciona da mesma forma que x, at mesmo se o diretrio no tiver nenhuma permisso de acesso (x).

13.6

A conta root

Esta seo foi retirada do Manual de Instalao da Debian. A conta root tambm chamada de super usurio, este um login que no possui restries de segurana. A conta root somente deve ser usada para fazer a administrao do sistema, e usada o menor tempo possvel. Qualquer senha que criar dever conter de 6 a 8 caracteres (em sistemas usando crypto) ou at frases inteiras (caso esteja usando MD5, que garante maior segurana), e tambm poder conter letras maisculas e minsculas, e tambm caracteres de pontuao. Tenha um cuidado especial quando escolher sua senha root, porque ela a conta mais poderosa. Evite palavras de dicionrio ou o uso de qualquer outros dados pessoais que podem ser adivinhados. Se qualquer um lhe pedir senha root, seja extremamente cuidadoso. Voc normalmente nunca deve distribuir sua conta root, a no ser que esteja administrando um computador com mais de um administrador do sistema. Utilize uma conta de usurio normal ao invs da conta root para operar seu sistema. Porque no usar a conta root? Bem, uma razo para evitar usar privilgios root por causa da facilidade de se cometer danos irreparveis como root. Outra razo que voc pode ser enganado

Captulo 13. Permisses de acesso a arquivos e diretrios

179

e rodar um programa Cavalo de Tria que um programa que obtm poderes do super usurio para comprometer a segurana do seu sistema sem que voc saiba.

13.7

chmod

Muda a permisso de acesso a um arquivo ou diretrio. Com este comando voc pode escolher se usurio ou grupo ter permisses para ler, gravar, executar um arquivo ou arquivos. Sempre que um arquivo criado, seu dono o usurio que o criou e seu grupo o grupo do usurio (exceto para diretrios congurados com a permisso de grupo s, ser visto adiante). chmod [opes] [permisses] [diretrio/arquivo] Onde: diretrio/arquivo Diretrio ou arquivo que ter sua permisso mudada. opes -v, verbose Mostra todos os arquivos que esto sendo processados. -f, silent No mostra a maior parte das mensagens de erro. -c, change Semelhante a opo -v, mas s mostra os arquivos que tiveram as permisses alteradas. -R, recursive Muda permisses de acesso do diretrio/arquivo no diretrio atual e subdiretrios. ugoa+-=rwxXst ugoa - Controla que nvel de acesso ser mudado. Especicam, em ordem, usurio (u), grupo (g), outros (o), todos (a). +-= - + coloca a permisso, - retira a permisso do arquivo e = dene a permisso exatamente como especicado. rwx - r permisso de leitura do arquivo. w permisso de gravao. x permisso de execuo (ou acesso a diretrios). chmod no muda permisses de links simblicos, as permisses devem ser mudadas no arquivo alvo do link. Tambm podem ser usados cdigos numricos octais para a mudana das permisses de acesso a arquivos/diretrios. Para detalhes veja Modo de permisso octal on page 181. DICA: possvel copiar permisses de acesso do arquivo/diretrio, por exemplo, se o arquivo teste.txt tiver a permisso de acesso r-xr----- e voc digitar chmod o=u, as permisses de acesso dos outros usurios (o) sero idnticas ao do dono (u). Ento a nova permisso de acesso do arquivo teste.txt ser r-xr--r-x Exemplos de permisses de acesso: chmod g+r * Permite que todos os usurios que pertenam ao grupo dos arquivos (g) tenham (+) permisses de leitura (r) em todos os arquivos do diretrio atual. chmod o-r teste.txt Retira (-) a permisso de leitura (r) do arquivo teste.txt para os outros usurios (usurios que no so donos e no pertencem ao grupo do arquivo teste.txt). chmod uo+x teste.txt Inclui (+) a permisso de execuo do arquivo teste.txt para o dono e outros usurios do arquivo. chmod a+x teste.txt Inclui (+) a permisso de execuo do arquivo teste.txt para o dono, grupo e outros usurios.

Captulo 13. Permisses de acesso a arquivos e diretrios

180

chmod a=rw teste.txt Dene a permisso de todos os usurios exatamente (=) para leitura e gravao do arquivo teste.txt.

13.8

chgrp

Muda o grupo de um arquivo/diretrio. chgrp [opes] [grupo] [arquivo/diretrio] Onde: grupo Novo grupo do arquivo/diretrio. arquivo/diretrio Arquivo/diretrio que ter o grupo alterado. opes -c, changes Somente mostra os arquivos/grupos que forem alterados. -f, silent No mostra mensagens de erro para arquivos/diretrios que no puderam ser alterados. -v, verbose Mostra todas as mensagens e arquivos sendo modicados. -R, recursive Altera os grupos de arquivos/sub-diretrios do diretrio atual.

13.9

chown

Muda dono de um arquivo/diretrio. Opcionalmente pode tambm ser usado para mudar o grupo. chown [opes] [dono.grupo] [diretrio/arquivo] onde: dono.grupo Nome do dono.grupo que ser atribudo ao diretrio/arquivo. O grupo opcional. diretrio/arquivo Diretrio/arquivo que o dono.grupo ser modicado. opes -v, verbose Mostra os arquivos enquanto so alterados. -f, supress No mostra mensagens de erro durante a execuo do programa. -c, changes Mostra somente arquivos que forem alterados. -R, recursive Altera dono e grupo de arquivos no diretrio atual e sub-diretrios. O dono.grupo pode ser especicado usando o nome de grupo ou o cdigo numrico correspondente ao grupo (GID). Voc deve ter permisses de gravao no diretrio/arquivo para alterar seu dono/grupo. chown joao teste.txt - Muda o dono do arquivo teste.txt para joao. chown joao.users teste.txt - Muda o dono do arquivo teste.txt para joao e seu grupo para users. chown -R joao.users * - Muda o dono/grupo dos arquivos do diretrio atual e subdiretrios para joao/users (desde que voc tenha permisses de gravao no diretrios e sub-diretrios).

Captulo 13. Permisses de acesso a arquivos e diretrios

181

13.10

Modo de permisso octal

Ao invs de utilizar os modos de permisso +r, -r, etc, pode ser usado o modo octal para se alterar a permisso de acesso a um arquivo. O modo octal um conjunto de oito nmeros onde cada nmero dene um tipo de acesso diferente. mais exvel gerenciar permisses de acesso usando o modo octal ao invs do comum, pois voc especica diretamente a permisso do dono, grupo, outros ao invs de gerenciar as permisses de cada um separadamente. Abaixo a lista de permisses de acesso octal: 0 - Nenhuma permisso de acesso. Equivalente a -rwx. 1 - Permisso de execuo (x). 2 - Permisso de gravao (w). 3 - Permisso de gravao e execuo (wx). 4 - Permisso de leitura (r). 5 - Permisso de leitura e execuo (rx). 6 - Permisso de leitura e gravao (rw). 7 - Permisso de leitura, gravao e execuo. Equivalente a +rwx. O uso de um deste nmeros dene a permisso de acesso do dono, grupo ou outros usurios. Um modo fcil de entender como as permisses de acesso octais funcionam, atravs da seguinte tabela: 1 = Executar 2 = Gravar 4 = Ler * Para Dono e Grupo, multiplique as permisses acima por x100 e x10. e para as permisses de acesso especiais: 1000 = Salva imagem do texto no dispositivo de troca 2000 = Ajusta o bit setgid na execuo 4000 = Ajusta o bit setuid na execuo Basta agora fazer o seguinte: Somente permisso de execuo, use 1. Somente a permisso de leitura, use 4. Somente permisso de gravao, use 2. Permisso de leitura/gravao, use 6 (equivale a 2+4 / Gravar+Ler). Permisso de leitura/execuo, use 5 (equivale a 1+4 / Executar+Ler). Permisso de execuo/gravao, use 3 (equivale a 1+2 / Executar+Gravar). Permisso de leitura/gravao/execuo, use 7 (equivale a 1+2+4 / Executar+Gravar+Ler). Salvar texto no dispositivo de troca, use 1000. Ajustar bit setgid, use 2000. Ajustar bip setuid, use 4000.

Captulo 13. Permisses de acesso a arquivos e diretrios

182

Salvar texto e ajustar bit setuid, use 5000 (equivale a 1000+4000 / Salvar texto + bit setuid). Ajustar bit setuid e setgid, use 6000 (equivale a 4000+2000 / setuid + setgid). Vamos a prtica com alguns exemplos: "chmod 764 teste" Os nmeros so interpretados da direita para a esquerda como permisso de acesso aos outros usurios (4), grupo (6), e dono (7). O exemplo acima faz os outros usurios (4) terem acesso somente leitura (r) ao arquivo teste, o grupo (6) ter a permisso de leitura e gravao (w), e o dono (7) ter permisso de leitura, gravao e execuo (rwx) ao arquivo teste. Outro exemplo: "chmod 40 teste" O exemplo acima dene a permisso de acesso dos outros usurios (0) como nenhuma, e dene a permisso de acesso do grupo (4) como somente leitura (r). Note usei somente dois nmeros e ento a permisso de acesso do dono do arquivo no modicada (leia as permisses de acesso da direita para a esquerda!). Para detalhes veja a lista de permisses de acesso em modo octal no inicio desta seo. "chmod 751 teste" O exemplo acima dene a permisso de acesso dos outros usurios (1) para somente execuo (x), o acesso do grupo (5) como leitura e execuo (rx) e o acesso do dono (7) como leitura, gravao e execuo (rwx). "chmod 4751 teste" O exemplo acima dene a permisso de acesso dos outros usurios (1) para somente execuo (x), acesso do grupo (5) como leitura e execuo (rx), o acesso do dono (7) como leitura, gravao e execuo (rwx) e ajusta o bit setgid (4) para o arquivo teste.

13.11

umask

A umask (user mask) so 3 nmeros que denem as permisses iniciais do dono, grupo e outros usurios que o arquivo/diretrio receber quando for criado ou copiado. Digite umask sem parmetros para retornar o valor de sua umask atual. A umask tem efeitos diferentes caso o arquivo que estiver sendo criado for binrio (um programa executvel) ou texto (Arquivo texto e binrio on page 25) . Veja a tabela a seguir para ver qual a mais adequada a sua situao:

Captulo 13. Permisses de acesso a arquivos e diretrios

183

--------------------------------------------| | ARQUIVO | DIRETRIO | | UMASK |----------------------| | | | Binrio | Texto | | |------------------------------|------------| | 0 | r-x | rw| rwx | | 1 | r-| rw| rw| | 2 | r-x | r-| r-x | | 3 | r-| r-| r-| | 4 | --x | -w| -wx | | 5 | --| -w| -w| | 6 | --x | --| --x | | 7 | --| --| --| --------------------------------------------Um arquivo texto criado com o comando umask 012;touch texto.txt receber as permisses -rw-rw-r--, pois 0 (dono) ter permisses rw-, 1 (grupo), ter permisses rwe 2 (outros usurios) tero permisses r--. Um arquivo binrio copiado com o comando umask 012;cp /bin/ls /tmp/ls receber as permisses -r-xr--r-x (conra com a tabela acima). Por este motivo preciso um pouco de ateno antes de escolher a umask, um valor mal escolhido poderia causar problemas de acesso a arquivos, diretrios ou programas no sendo executados. O valor padro da umask na maioria das distribuies atuais 022. A umask padro no sistema Debian a 022 . A umask de grande utilidade para programas que criam arquivos/diretrios temporrios, desta forma pode-se bloquear o acesso de outros usurios desde a criao do arquivo, evitando recorrer ao chmod.

Captulo 13. Permisses de acesso a arquivos e diretrios

184

185

Captulo 14

Redirecionamentos e Pipe
Esta seo explica o funcionamento dos recursos de direcionamento de entrada e sada do sistema GNU/Linux.

14.1

>

Redireciona a sada de um programa/comando/script para algum dispositivo ou arquivo ao invs do dispositivo de sada padro (tela). Quando usado com arquivos, este redirecionamento cria ou substitui o contedo do arquivo. Por exemplo, voc pode usar o comando ls para listar arquivos e usar ls >listagem para enviar a sada do comando para o arquivo listagem. Use o comando cat para visualizar o contedo do arquivo listagem. O mesmo comando pode ser redirecionado para o segundo console /dev/tty2 usando: ls >/dev/tty2, o resultado do comando ls ser mostrado no segundo console (pressione ALT e F2 para mudar para o segundo console e ALT e F1 para retornar ao primeiro).

14.2

>>

Redireciona a sada de um programa/comando/script para algum dispositivo ou nal de arquivo ao invs do dispositivo de sada padro (tela). A diferena entre este redirecionamento duplo e o simples, se caso for usado com arquivos, adiciona a sada do comando ao nal do arquivo existente ao invs de substituir seu contedo. . Por exemplo, voc pode acrescentar a sada do comando ls ao arquivo listagem do captulo anterior usando ls / >>listagem. Use o comando cat para visualizar o contedo do arquivo listagem.

Captulo 14. Redirecionamentos e Pipe

186

14.3

<

Direciona a entrada padro de arquivo/dispositivo para um comando. Este comando faz o contrrio do anterior, ele envia dados ao comando. Voc pode usar o comando cat <teste.txt para enviar o contedo do arquivo teste.txt ao comando cat que mostrar seu contedo ( claro que o mesmo resultado pode ser obtido com cat teste.txt mas este exemplo serviu para mostrar a funcionalidade do <).

14.4

<<

Este redirecionamento serve principalmente para marcar o m de exibio de um bloco. Este especialmente usado em conjunto com o comando cat, mas tambm tem outras aplicaes. Por exemplo: cat << final este arquivo ser mostrado at que a palavra final seja localizada no inicio da linha final

14.5

| (pipe)

Envia a sada de um comando para a entrada do prximo comando para continuidade do processamento. Os dados enviados so processados pelo prximo comando que mostrar o resultado do processamento. Por exemplo: ls -la|more, este comando faz a listagem longa de arquivos que enviado ao comando more (que tem a funo de efetuar uma pausa a cada 25 linhas do arquivo). Outro exemplo o comando locate find|grep bin/, neste comando todos os caminhos/arquivos que contm nd na listagem sero mostrados (inclusive man pages, bibliotecas, etc.), ento enviamos a sada deste comando para grep bin/ para mostrar somente os diretrios que contm binrios. Mesmo assim a listagem ocupe mais de uma tela, podemos acrescentar o more: locate find|grep bin/|more. Podem ser usados mais de um comando de redirecionamento (<, >, |) em um mesmo comando.

14.6

Diferena entre o | e o >

A principal diferena entre o | e o >, que o Pipe envolve processamento entre comandos, ou seja, a sada de um comando enviado a entrada do prximo e o > redireciona a sada de

Captulo 14. Redirecionamentos e Pipe

187

um comando para um arquivo/dispositivo. Voc pode notar pelo exemplo acima (ls -la|more) que ambos ls e more so comandos porque esto separados por um |! Se um deles no existir ou estiver digitado incorretamente, ser mostrada uma mensagem de erro. Um resultado diferente seria obtido usando um > no lugar do |; A sada do comando ls -la seria gravada em um arquivo chamado more.

14.7

tee

Envia o resultado do programa para a sada padro (tela) e para um arquivo ao mesmo tempo. Este comando deve ser usado com o pipe |. comando|tee [arquivo] Exemplo: ls -la|tee listagem.txt, a sada do comando ser mostrada normalmente na tela e ao mesmo tempo gravada no arquivo listagem.txt.

Captulo 14. Redirecionamentos e Pipe

188

189

Captulo 15

Rede
Este captulo descreve o que uma rede, os principais dispositivos de rede no GNU/Linux, a identicao de cada um, como congurar os dispositivos, escolha de endereos IP, roteamento. Parte deste captulo, uns 70% pelo menos, baseado no documento NET3-4-HOWTO. (seria perda de tempo reescrever este assunto pois existe um material desta qualidade j disponvel).

15.1

O que uma rede

Rede a conexo de duas ou mais mquinas com o objetivo de compartilhar recursos entre uma mquina e outra. Os recursos podem ser: Compartilhamento do contedo de seu disco rgido (ou parte dele) com outros usurios. Os outros usurios podero acessar o disco como se estivesse instalado na prpria mquina). Tambm chamado de servidor de arquivos. Compartilhamento de uma impressora com outros usurios. Os outros usurios podero enviar seus trabalhos para uma impressora da rede. Tambm chamado de servidor de impresso. Compartilhamento de acesso a Internet. Outros usurios podero navegar na Internet, pegar seus e-mails, ler noticias, bate-papo no IRC, ICQ atravs do servidor de acesso Internet. Tambm chamado de servidor Proxy. Servidor de Internet/Intranet. Outros usurios podero navegar nas pginas Internet localizadas em seu computador, pegar e-mails, usar um servidor de IRC para chat na rede, servidor de ICQ, etc Com os tens acima funcionando possvel criar permisses de acesso da rede, denindo quem ter ou no permisso para acessar cada compartilhamento ou servio existente na mquina (www, ftp, irc, icq, etc), e registrando/avisando sobre eventuais tentativas de violar a segurana do sistema, rewalls, pontes, etc. Entre outras ilimitadas possibilidades que dependem do conhecimento do indivduo no ambiente GNU/Linux, j que ele permite muita exibilidade para fazer qualquer coisa funcionar em rede.

Captulo 15. Rede

190

A comunicao entre computadores em uma rede feita atravs do Protocolo de Rede.

15.2

Protocolo de Rede

O protocolo de rede a linguagem usada para a comunicao entre um computador e outro. Existem vrios tipos de protocolos usados para a comunicao de dados, alguns so projetados para pequenas redes (como o caso do NetBios) outros para redes mundiais (TCP/IP que possui caractersticas de roteamento). Dentre os protocolos, o que mais se destaca atualmente o TCP/IP devido ao seu projeto, velocidade e capacidade de roteamento.

15.3

Endereo IP

O endereo IP so nmeros que identicam seu computador em uma rede. Inicialmente voc pode imaginar o IP como um nmero de telefone. O IP compostos por quatro bytes e a conveno de escrita dos nmeros chamada de notao decimal pontuada. Por conveno, cada interface (placa usada p/ rede) do computador ou roteador tem um endereo IP. Tambm permitido que o mesmo endereo IP seja usado em mais de uma interface de uma mesma mquina mas normalmente cada interface tem seu prprio endereo IP. As Redes do Protocolo Internet so seqncias contnuas de endereos IPs. Todos os endereos dentro da rede tem um nmero de dgitos dentro dos endereos em comum. A poro dos endereos que so comuns entre todos os endereos de uma rede so chamados de poro da rede. Os dgitos restantes so chamados de poro dos hosts. O nmero de bits que so compartilhados por todos os endereos dentro da rede so chamados de netmask (mscara da rede) e o papel da netmask determinar quais endereos pertencem ou no a rede. Por exemplo, considere o seguinte: ----------------Endereo do Host Mscara da Rede Poro da Rede Poro do Host ----------------Endereo da Rede Endereo Broadcast ------------------------------192.168.110.23 255.255.255.0 192.168.110. .23 --------------192.168.110.0 192.168.110.255 ---------------

Qualquer endereo que nalizado em zero em sua netmask, revelar o endereo da rede que pertence. O endereo e rede ento sempre o menor endereo numrico dentro da escalas de endereos da rede e sempre possui a poro host dos endereos codicada como zeros.

Captulo 15. Rede

191

O endereo de broadcast um endereo especial que cada computador em uma rede escuta em adio a seu prprio endereo. Este um endereo onde os datagramas enviados so recebidos por todos os computadores da rede. Certos tipos de dados como informaes de roteamento e mensagens de alerta so transmitidos para o endereo broadcast, assim todo computador na rede pode recebe-las simultaneamente. Existe dois padres normalmente usados para especicar o endereo de broadcast. O mais amplamente aceito para usar o endereo mais alto da rede como endereo broadcast. No exemplo acima este seria 192.168.110.255. Por algumas razes outros sites tem adotado a conveno de usar o endereo de rede como o endereo broadcast. Na prtica no importa muito se usar este endereo, mas voc deve ter certeza que todo computador na rede esteja congurado para escutar o mesmo endereo broadcast.

15.3.1

Classes de Rede IP

Por razes administrativas aps algum pouco tempo no desenvolvimento do protocolo IP alguns grupos arbitrrios de endereos foram formados em redes e estas redes foram agrupadas no que foram chamadas de classes. Estas classes armazenam um tamanho padro de redes que podem ser usadas. As faixas alocadas so: +--------------------------------------------------------+ | Classe | Mscara de | Endereo da Rede | | | Rede | | +--------------------------------------------------------+ | A | 255.0.0.0 | 0.0.0.0 - 127.255.255.255 | | B | 255.255.0.0 | 128.0.0.0 - 191.255.255.255 | | C | 255.255.255.0 | 192.0.0.0 - 223.255.255.255 | |Multicast| 240.0.0.0 | 224.0.0.0 - 239.255.255.255 | +--------------------------------------------------------+ O tipo de endereo que voc deve utilizar depende exatamente do que estiver fazendo.

15.3.2

Para instalar uma mquina usando o Linux em uma rede existente

Se voc quiser instalar uma mquina GNU/Linux em uma rede TCP/IP existente ento voc deve contactar qualquer um dos administradores da sua rede e perguntar o seguinte: Endereo IP de sua mquina Endereo IP da rede Endereo IP de broadcast Mscara da Rede IP Endereo do Roteador Endereo do Servidor de Nomes (DNS) Voc deve ento congurar seu dispositivo de rede GNU/Linux com estes detalhes. Voc no pode simplesmente escolhe-los e esperar que sua congurao funcione.

Captulo 15. Rede

192

15.3.3

Endereos reservados para uso em uma rede Privada

Se voc estiver construindo uma rede privada que nunca ser conectada a Internet, ento voc pode escolher qualquer endereo que quiser. No entanto, para sua segurana e padronizao, existem alguns endereos IPs que foram reservados especicamente para este propsito. Eles esto especicados no RFC1597 e so os seguintes: +---------------------------------------------------------+ | ENDEREOS RESERVADOS PARA REDES PRIVADAS | +---------------------------------------------------------+ | Classe | Mscara de | Endereo da Rede | | de Rede | Rede | | +---------+---------------+-------------------------------+ | A | 255.0.0.0 | 10.0.0.0 - 10.255.255.255 | | B | 255.255.0.0 | 172.16.0.0 - 172.31.255.255 | | C | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 | +---------------------------------------------------------+ Voc deve decidir primeiro qual ser a largura de sua rede e ento escolher a classe de rede que ser usada.

15.4

Interface de rede

As interfaces de rede no GNU/Linux esto localizadas no diretrio /dev e a maioria criada dinamicamente pelos softwares quando so requisitadas. Este o caso das interfaces ppp e plip que so criadas dinamicamente pelos softwares. Abaixo a identicao de algumas interfaces de rede no Linux (a ? signica um nmero que identica as interfaces seqencialmente, iniciando em 0): eth? - Placa de rede Ethernet e WaveLan. ppp? - Interface de rede PPP (protocolo ponto a ponto). slip? - Interface de rede serial eql - Balanceador de trfego para mltiplas linhas plip? - Interface de porta paralela arc?e,arc?s - Interfaces Arcnet sl?,ax? - Interfaces de rede AX25 (respectivamente para kernels 2.0.xx e 2.2.xx. fddi? - Interfaces de rede FDDI. dlci??,sdla? - Interfaces Frame Relay, respectivamente para para dispositivos de encapsulamento DLCI e FRAD. nr? - Interface Net Rom rs? - Interfaces Rose st? - Interfaces Strip (Starmode Radio IP) tr? - Token Ring Para maiores detalhes sobre as interfaces acima, consulte o documento NET3-4-HOWTO.

Captulo 15. Rede

193

15.4.1

A interface loopback

A interface loopback um tipo especial de interface que permite fazer conexes com voc mesmo. Todos os computadores que usam o protocolo TCP/IP utilizam esta interface e existem vrias razes porque precisa fazer isto, por exemplo, voc pode testar vrios programas de rede sem interferir com ningum em sua rede. Por conveno, o endereo IP 127.0.0.1 foi escolhido especicamente para a loopback, assim se abrir uma conexo telnet para 127.0.0.1, abrir uma conexo para o prprio computador local. A congurao da interface loopback simples e voc deve ter certeza que fez isto (mas note que esta tarefa normalmente feita pelos scripts padres de inicializao existentes em sua distribuio). ifconfig lo 127.0.0.1 Caso a interface loopback no esteja congurada, voc poder ter problemas quando tentar qualquer tipo de conexo com as interfaces locais, tendo problemas at mesmo com o comando ping.

15.4.2

Atribuindo um endereo de rede a uma interface (ifcong)

Aps congurada sicamente, a interface precisa receber um endereo IP para ser identicada na rede e se comunicar com outros computadores, alm de outros parmetros como o endereo de broadcast e a mscara de rede. O comando usado para fazer isso o ifconfig (interface congure). Para congurar a interface de rede Ethernet (eth0) com o endereo 192.168.1.1, mscara de rede 255.255.255.0, podemos usar o comando: ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up O comando acima ativa a interface de rede. A palavra up pode ser omitida, pois a ativao da interface de rede o padro. Para desativar a mesma interface de rede, basta usar usar o comando: ifconfig eth0 down Digitando ifconfig so mostradas todas as interfaces ativas no momento, pacotes enviados, recebidos e colises de datagramas. Para mostrar a congurao somente da interface eth0, use o comando: ifconfig eth0 Em sistemas Debian, o arquivo correto para especicar os dados das interfaces o /etc/network/interfaces (veja Arquivo /etc/network /interfaces on page 306). Para mais detalhes, veja a pgina de manual do ifconfig ou o NET3-4-HOWTO.

Captulo 15. Rede

194

15.5

Roteamento

Roteamento quando uma mquina com mltiplas conexes de rede decide onde entregar os pacotes IP que recebeu, para que cheguem ao seu destino. Pode ser til ilustrar isto com um exemplo. Imagine um simples roteador de escritrio, ele pode ter um link intermitente com a Internet, um nmero de segmentos ethernet alimentando as estaes de trabalho e outro link PPP intermitente fora de outro escritrio. Quando o roteador recebe um datagrama de qualquer de suas conexes de rede, o mecanismo que usa determina qual a prxima interface deve enviar o datagrama. Computadores simples tambm precisam rotear, todos os computadores na Internet tem dois dispositivos de rede, um a interface loopback (explicada acima) o outro um usado para falar com o resto da rede, talvez uma ethernet, talvez uma interface serial PPP ou SLIP. OK, viu como o roteamento funciona? cada computador mantm uma lista de regras especiais de roteamento, chamada tabela de roteamento. Esta tabela contm colunas que tipicamente contm no mnimo trs campos, o primeiro o endereo de destino, o segundo o nome da interface que o datagrama deve ser roteado e o terceiro opcionalmente o endereo IP da outra mquina que levar o datagrama em seu prximo passo atravs da rede. No GNU/Linux voc pode ver a tabela de roteamento usando um dos seguintes comandos: cat /proc/net/route route -n netstat -r O processo de roteamento muito simples: um datagrama (pacote IP) recebido, o endereo de destino (para quem ele ) examinado e comparado com cada item da tabela de roteamento. O item que mais corresponder com o endereo selecionado e o datagrama direcionado a interface especicada. Se o campo gateway estiver preenchido, ento o datagrama direcionado para aquele computador pela interface especicada, caso contrrio o endereo de destino assumido sendo uma rede suportada pela interface.

15.5.1

Congurando uma rota no Linux

A congurao da rota feita atravs da ferramenta route. Para adicionar uma rota para a rede 192.168.1.0 acessvel atravs da interface eth0 basta digitar o comando: route add -net 192.168.1.0 eth0 Para apagar a rota acima da tabela de roteamento, basta substituir a palavra add por del. A palavra net quer dizer que 192.168.1.0 um endereo de rede (lembra-se das explicaes em Endereo IP on page 190?)) para especicar uma mquina de destino, basta usar a palavra -host. Endereos de mquina de destino so muito usadas em conexes de rede apenas entre

Captulo 15. Rede

195

dois pontos (como ppp, plip, slip). Por padro, a interface especicada como ltimo argumento. Caso a interface precise especica-la em outro lugar, ela dever ser precedida da opo -dev. Para adicionar uma rota padro para um endereo que no se encontre na tabela de roteamento, utiliza-se o gateway padro da rede. Atravs do gateway padro possvel especicar um computador (normalmente outro gateway) que os pacotes de rede sero enviados caso o endereo no conra com os da tabela de roteamento. Para especicar o computador 192.168.1.1 como gateway padro usamos: route add default gw 192.168.1.1 eth0 O gateway padro pode ser visualizado atravs do comando route -n e vericando o campo gateway. A opo gw acima, especica que o prximo argumento um endereo IP (de uma rede j acessvel atravs das tabelas de roteamento). O computador gateway est conectado a duas ou mais redes ao mesmo tempo. Quando seus dados precisam ser enviados para computadores fora da rede, eles so enviados atravs do computador gateway e o gateway os encaminham ao endereo de destino. Desta forma, a resposta do servidor tambm enviada atravs do gateway para seu computador ( o caso de uma tpica conexo com a Internet). A nossa congurao caria assim: route add -net 192.168.1.0 eth0 route add default gw 192.168.1.1 eth0 Para mais detalhes, veja a pgina de manual do route ou o NET3-4-HOWTO.

15.6

Resolvedor de nomes (DNS)

DNS signica Domain Name System (sistema de nomes de domnio). O DNS converte os nomes de mquinas para endereos IPs que todas as mquinas da Internet possuem. Ele faz o mapeamento do nome para o endereo e do endereo para o nome e algumas outras coisas. Um mapeamento simplesmente uma associao entre duas coisas, neste caso um nome de computador, como www.cipsga.org.br, e o endereo IP desta mquina (ou endereos) como 200.245.157.9. O DNS foi criado com o objetivo de tornar as coisas mais fceis para o usurio, permitindo assim, a identicao de computadores na Internet ou redes locais atravs de nomes ( como se tivssemos apenas que decorar o nome da pessoa ao invs de um nmero de telefone). A parte responsvel por traduzir os nomes como www.nome.com.br em um endereo IP chamada de resolvedor de nomes. O resolvedor de nomes pode ser um banco de dados local (controlador por um arquivo ou programa) que converte automaticamente os nomes em endereos IP ou atravs de servidores DNS

Captulo 15. Rede

196

que fazem a busca em um banco de dados na Internet e retornam o endereo IP do computador desejado. Um servidor DNS mais difundido na Internet o bind. Atravs do DNS necessrio apenas decorar o endereo sem precisar se preocupar com o endereo IP (alguns usurios simplesmente no sabem que isto existe. . . ). Se desejar mais detalhes sobre DNS, veja o documento DNS-HOWTO.

15.6.1

O que um nome?

Voc deve estar acostumado com o uso dos nomes de computadores na Internet, mas pode no entender como eles so organizados. Os nomes de domnio na Internet so uma estrutura hierrquica, ou seja, eles tem uma estrutura semelhante aos diretrios de seu sistema. Um domnio uma famlia ou grupo de nomes. Um domnio pode ser colocado em um subdomnio. Um domnio principal um domnio que no um sub-domnio. Os domnios principais so especicados na RFC-920. Alguns exemplos de domnios principais comuns so: COM - Organizaes Comerciais EDU - Organizaes Educacionais GOV - Organizaes Governamentais MIL - Organizaes Militares ORG - Outras Organizaes NET - Organizaes relacionadas com a Internet Identificador do Pas - So duas letras que representam um pas em particular. Cada um dos domnios principais tem sub-domnios. Os domnios principais baseados no nome do pas so freqentemente divididos em sub-domnios baseado nos domnios .com, .edu, .gov, .mil e .org. Assim, por exemplo, voc pode naliza-lo com: com.au e gov.au para organizaes comerciais e governamentais na Austrlia; note que isto no uma regra geral, as organizaes de domnio atuais dependem da autoridade na escolha de nomes de cada domnio. Quando o endereo no especica o domnio principal, como o endereo www.unicamp.br, isto quer dizer que uma organizao acadmica. O prximo nvel da diviso representa o nome da organizao. Subdomnios futuros variam em natureza, freqentemente o prximo nvel do sub-domnio baseado na estrutura departamental da organizao mas ela pode ser baseada em qualquer critrio considerado razovel e signicantes pelos administradores de rede para a organizao. A poro mais a esquerda do nome sempre o nome nico da mquina chamado hostname, a poro do nome a direita do hostname chamado nome de domnio e o nome completo chamado nome do domnio completamente qualicado (Fully Qualied Domain Name). Usando o computador www.debian.org.br como exemplo: br - Pas onde o computador se encontra org - Domnio principal debian - Nome de Domnio www - Nome do computador A localizao do computador www.debian.org.br atravs de servidores DNS na Internet obedece exatamente a seqncia de procura acima. Os administradores do domnio

Captulo 15. Rede

197

debian.org.br podem cadastrar quantos sub-domnios e computadores quiserem (como www.non-us.debian.org.br ou cvs.debian.org.br).

15.6.2

Arquivos de congurao usados na resoluo de nomes

Abaixo a descrio dos arquivos usados no processo de resolver um nome no sistema GNU/Linux.

/etc/resolv.conf O /etc/resolv.conf o arquivo de congurao principal do cdigo do resolvedor de nomes. Seu formato um arquivo texto simples com um parmetro por linha e o endereo de servidores DNS externos so especicados nele. Existem trs palavras chaves normalmente usadas que so: domain Especica o nome do domnio local. search Especica uma lista de nomes de domnio alternativos ao procurar por um computador, separados por espaos. A linha search pode conter no mximo 6 domnios ou 256 caracteres. nameserver Especica o endereo IP de um servidor de nomes de domnio para resoluo de nomes. Pode ser usado vrias vezes. Como exemplo, o /etc/resolv.conf se parece com isto: domain maths.wu.edu.au search maths.wu.edu.au wu.edu.au nameserver 192.168.10.1 nameserver 192.168.12.1 Este exemplo especica que o nome de domnio a adicionar ao nome no qualicado (i.e. hostnames sem o domnio) maths.wu.edu.au e que se o computador no for encontrado naquele domnio ento a procura segue para o domnio wu.edu.au diretamente. Duas linhas de nomes de servidores foram especicadas, cada uma pode ser chamada pelo cdigo resolvedor de nomes para resolver o nome.

/etc/host.conf O arquivo /etc/host.conf o local onde possvel congurar alguns tens que gerenciam o cdigo do resolvedor de nomes. O formato deste arquivo descrito em detalhes na pgina de manual resolv+. Em quase todas as situaes, o exemplo seguinte funcionar: order hosts,bind multi on

Captulo 15. Rede

198

Este arquivo de congurao diz ao resolvedor de nomes para checar o arquivo /etc/hosts (parmetro hosts) antes de tentar vericar um servidor de nomes (parmetro bind) e retornar um endereo IP vlido para o computador procurado e multi on retornar todos os endereos IP resolvidos no arquivo /etc/hosts ao invs do primeiro. Os seguintes parmetros podem ser adicionados para evitar ataques de IP spoong: nospoof on spoofalert on

O parmetro nospoof on ativa a resoluo reversa do nome da biblioteca resolv (para checar se o endereo pertence realmente quele nome) e o spoofalert on registra falhas desta operao no syslog.

/etc/hosts O arquivo /etc/hosts faz o relacionamento entre um nome de computador e endereo IP local. Recomendado para IPs constantemente acessados e para colocao de endereos de virtual hosts (quando deseja referir pelo nome ao invs de IP). A incluso de um computador neste arquivo dispenda a consulta de um servidor de nomes para obter um endereo IP, sendo muito til para mquinas que so acessadas frequentemente. A desvantagem de fazer isto que voc mesmo precisar manter este arquivo atualizado e se o endereo IP de algum computador for modicado, esta alterao dever ser feita em cada um dos arquivos hosts das mquinas da rede. Em um sistema bem gerenciado, os nicos endereos de computadores que aparecero neste arquivo sero da interface loopback e os nomes de computadores. # /etc/hosts 127.0.0.1 192.168.0.1

localhost loopback maquina.dominio.com.br

Voc pode especicar mais que um nome de computador por linha como demonstrada pela primeira linha, a que identica a interface loopback. Certique-se de que a entrada do nome de domnio neste arquivo aponta para a interface de rede e no para a interface loopback, ou ter problema com o comportamento de alguns servios. OBS: Caso encontre problemas de lentido para resolver nomes e at para executar os aplicativos (como o mc, etc), verique se existem erros neste arquivo de congurao. Estes sintomas se confundem com erros de memria ou outro erro qualquer de congurao de hardware, e somem quando a interface de rede desativada (a com o IP no loopback). Isto causados somente pela m congurao do arquivo /etc/hosts. O bom funcionamento do Unix depende da boa ateno do administrador de sistemas para congurar os detalhes de seu servidor.

Captulo 15. Rede

199

/etc/networks O arquivo /etc/networks tem uma funo similar ao arquivo /etc/hosts. Ele contm um banco de dados simples de nomes de redes contra endereos de redes. Seu formato se difere por dois campos por linha e seus campos so identicados como: Nome_da_Rede Endereo_da_Rede

Abaixo um exemplo de como se parece este arquivo: loopnet localnet amprnet 127.0.0.0 192.168.1.0 44.0.0.0

Quando usar comandos como route, se um destino uma rede e esta rede se encontra no arquivo /etc/networks, ento o comando route mostrar o nome da rede ao invs de seu endereo.

15.6.3

Executando um servidor de nomes

Se voc planeja executar um servidor de nomes, voc pode fazer isto facilmente. Por favor veja o documento DNS-HOWTO e quaisquer documentos includos em sua verso do BIND (Berkeley Internet Name Domain).

15.7

Servios de Rede

Servios de rede o que est disponvel para ser acessado pelo usurio. No TCP/IP, cada servio associado a um nmero chamado porta que onde o servidor espera pelas conexes dos computadores clientes. Uma porta de rede pode se referenciada tanto pelo nmero como pelo nome do servio. Abaixo, alguns exemplos de portas padres usadas em servios TCP/IP: 21 - FTP (transferncia de arquivos) 23 - Telnet (terminal virtual remoto) 25 - Smtp (envio de e-mails) 53 - DNS (resolvedor de nomes) 79 - Finger (detalhes sobre usurios do sistema) 80 - http (protocolo www - transferncia de pginas Internet) 110 - Pop-3 (recebimento de mensagens) 119 - NNTP (usado por programas de noticias) O arquivo padro responsvel pelo mapeamento do nome dos servios e das portas mais utilizadas o /etc/services (para detalhes sobre o seu formato, veja a /etc/services on page 208).

Captulo 15. Rede

200

15.7.1

Servios iniciados como Daemons de rede

Servios de rede iniciados como daemons cam residente o tempo todo na memria esperando que algum se conecte (tambm chamado de modo standalone). Um exemplo de daemon o servidor proxy squid e o servidor web Apache operando no modo daemon. Alguns programas servidores oferecem a opo de serem executados como daemons ou atravs do inetd. recomendvel escolher daemon se o servio for solicitado freqentemente (como o caso dos servidores web ou proxy). Para vericar se um programa est rodando como daemon, basta digitar ps ax e procurar o nome do programa, em caso positivo ele um daemon. Normalmente os programas que so iniciados como daemons possuem seus prprios recursos de segurana/autenticao para decidir quem tem ou no permisso de se conectar.

15.7.2

Servios iniciados atravs do inetd

Servios iniciados pelo inetd so carregados para a memria somente quando so solicitados. O controle de quais servios podem ser carregados e seus parmetros, so feitos atravs do arquivo /etc/inetd.conf. Um daemon chamado inetd l as conguraes deste arquivo e permanece residente na memria, esperando pela conexo dos clientes. Quando uma conexo solicitada, o daemon inetd verica as permisses de acesso nos arquivos /etc/hosts.allow e /etc/hosts.deny e carrega o programa servidor correspondente no arquivo /etc/inetd.conf. Um arquivo tambm importante neste processo o /etc/services que faz o mapeamento das portas e nomes dos servios. Alguns programas servidores oferecem a opo de serem executados como daemons ou atravs do inetd. recomendvel escolher inetd se o servio no for solicitado freqentemente (como o caso de servidores ftp, telnet, talk, etc).

/etc/inetd.conf O arquivo /etc/inetd.conf um arquivo de congurao para o daemon servidor inetd. Sua funo dizer ao inetd o que fazer quando receber uma requisio de conexo para um servio em particular. Para cada servio que deseja aceitar conexes, voc precisa dizer ao inetd qual daemon servidor executar e como executa-lo. Seu formato tambm muito simples. um arquivo texto com cada linha descrevendo um servio que deseja oferecer. Qualquer texto em uma linha seguindo uma # ignorada e considerada um comentrio. Cada linha contm sete campos separados por qualquer nmero de espaos em branco (tab ou espaos). O formato geral o seguinte: servio tipo_soquete proto opes.num usurio caminho_serv. opes_serv.

Captulo 15. Rede

201

servio o servio relevante a este arquivo de congurao pego do arquivo /etc /services. tipo_soquete Este campo descreve o tipo do soquete que este item utilizar, valores permitidos so: stream, dgram, raw, rdm, ou seqpacket. Isto um pouco tcnico de natureza, mas como uma regra geral, todos os servios baseados em tcp usam stream e todos os protocolos baseados em udp usam dgram. Somente alguns tipos de daemons especiais de servidores usam os outros valores. protocolo O protocolo considerado vlido para esta item. Isto deve bater com um item apropriado no arquivo /etc/services e tipicamente ser tcp ou udp. Servidores baseados no Sun RPC (Remote Procedure Call), utilizam rpc/tcp ou rpc/udp. opes Existem somente duas conguraes para este campo. A congurao deste campo diz ao inetd se o programa servidor de rede libera o soquete aps ele ser iniciado e ento se inetd pode iniciar outra cpia na prxima requisio de conexo, ou se o inetd deve aguardar e assumir que qualquer servidor j em execuo pegar a nova requisio de conexo. Este um pequeno truque de trabalho, mas como uma regra, todos os servidores tcp devem ter este parmetro ajustado para nowait e a maior parte dos servidores udp deve t-lo ajustado para wait. Foi alertado que existem algumas excesses a isto, assim deixo isto como exemplo se no estiver seguro. O nmero especicado aps o . opcional e dene a quantidade mxima de vezes que o servio poder ser executado durante 1 minuto. Se o servio for executado mais vezes do que este valor, ele ser automaticamente desativado pelo inetd e uma mensagem ser mostrada no log do sistema avisando sobre o fato. Para reativar o servio interrompido, reinicie o inetd com: killall -HUP inetd. O valor padro 40. usurio Este campo descreve que conta de usurio usurio no arquivo /etc/passwd ser escolhida como dono do daemon de rede quando este for iniciado. Isto muito til se voc deseja diminuir os riscos de segurana. Voc pode ajustar o usurio de qualquer item para o usurio nobody, assim se a segurana do servidor de redes quebrada, a possibilidade de problemas minimizada. Normalmente este campo ajustado para root, porque muitos servidores requerem privilgios de usurio root para funcionarem corretamente. caminho_servidor Este campo o caminho para o programa servidor atual que ser executado. argumentos_servidor Este campo inclui o resto da linha e opcional. Voc pode colocar neste campo qualquer argumento da linha de comando que deseje passar para o daemon servidor quando for iniciado. Uma dica que pode aumentar signicativamente a segurana de seu sistema comentar (colocar uma #no inicio da linha) os servios que no sero utilizados. Abaixo um modelo de arquivo /etc/inetd.conf usado em sistemas Debian: # /etc/inetd.conf: veja inetd(8) para mais detalhes. # # Banco de Dados de configuraes do servidor Internet # # # Linhas iniciando com "#:LABEL:" ou "#<off>#" no devem

Captulo 15. Rede

202

# ser alteradas a no ser que saiba o que est fazendo! # # # Os pacotes devem modificar este arquivo usando update-inetd(8) # # <nome_servio> <tipo_soquete> <proto> <opes> <usurio> <caminho_servidor> # #:INTERNO: Servios internos #echo stream tcp nowait root internal #echo dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal time stream tcp nowait root internal #time dgram udp wait root internal #:PADRES: Estes so servios padres. #:BSD: Shell, login, exec e #shell stream tcp #login stream tcp #exec stream tcp talk dgram udp ntalk dgram udp

talk so protocolos BSD. nowait root /usr/sbin/tcpd /usr/sbin/in.rshd nowait root /usr/sbin/tcpd /usr/sbin/in.rlog nowait root /usr/sbin/tcpd /usr/sbin/in.rexe wait.10 nobody.tty /usr/sbin/tcpd /usr/sbin/i wait.10 nobody.tty /usr/sbin/tcpd /usr/sbin/i

#:MAIL: Mail, news e servios uucp. smtp stream tcp nowait.60 mail /usr/sbin/exim exim -bs #:INFO: Servios informativos #:BOOT: O servio Tftp oferecido primariamente para a inicializao. Alguns # o executam somente em mquinas atuando como "servidores de inicializao". #:RPC: Servios baseados em RPC #:HAM-RADIO: servios de rdio amador #:OTHER: Outros servios

Captulo 15. Rede

203

15.8

Segurana da Rede e controle de Acesso

Deixe-me iniciar esta seo lhe alertando que a segurana da rede em sua mquina e ataques maliciosos so uma arte complexa. Uma regra importante : No oferea servios de rede que no deseja utilizar. Muitas distribuies vem conguradas com vrios tipos de servios que so iniciados automaticamente. Para melhorar, mesmo que insignicantemente, o nvel de segurana em seu sistema voc deve editar se arquivo /etc/inetd.conf e comentar (colocar uma #) as linhas que contm servios que no utiliza. Bons candidatos so servios tais como: shell, login, exec, uucp, ftp e servios de informao tais como finger, netstat e sysstat. Existem todos os tipos de mecanismos de segurana e controle de acesso, eu descreverei os mais importantes deles.

15.8.1

/etc/ftpusers

O arquivo /etc/ftpusers um mecanismo simples que lhe permite bloquear a conexo de certos usurios via ftp. O arquivo /etc/ftpusers lido pelo programa daemon ftp (ftpd) quando um pedido de conexo recebido. O arquivo uma lista simples de usurios que no tem permisso de se conectar. Ele se parece com:

# /etc/ftpusers - login de usurios bloqueados via ftp root uucp bin mail

15.8.2

/etc/securetty

O arquivo /etc/securetty lhe permite especicar que dispositivos tty que o usurio root pode se conectar. O arquivo /etc/securetty lido pelo programa login (normalmente /bin /login). Seu formato uma lista de dispositivos tty onde a conexo permitida, em todos os outros, a entrada do usurio root bloqueada.

# /etc/securetty - terminais que o usurio root pode se conectar tty1 tty2 tty3 tty4

Captulo 15. Rede

204

15.8.3

O mecanismo de controle de acessos tcpd

O programa tcpd que voc deve ter visto listado no mesmo arquivo /etc/inetd.conf, oferece mecanismos de registro e controle de acesso para os servios que esta congurado para proteger. Ele um tipo de rewall simples e fcil de congurar que pode evitar tipos indesejados de ataques e registrar possveis tentativas de invaso. Quando executado pelo programa inetd, ele l dos arquivos contendo regras de acesso e permite ou bloqueia o acesso ao servidor protegendo adequadamente. Ele procura nos arquivos de regras at que uma regra conra. Se nenhuma regra conferir, ento ele assume que o acesso deve ser permitido a qualquer um. Os arquivos que ele procura em seqncia so: /etc/hosts.allow e /etc/hosts.deny. Eu descreverei cada um destes arquivos separadamente. Para uma descrio completa desta facilidade, voc deve vericar a pgina de manual apropriada (hosts_access (5) um bom ponto de partida). /etc/hosts.allow O arquivo /etc/hosts.allow um arquivo de congurao do programa /usr/sbin /tcpd. O arquivo hosts.allow contm regras descrevendo que hosts tem permisso de acessar um servio em sua mquina. O formato do arquivo muito simples: # /etc/hosts.allow # # lista de servios: lista de hosts : comando lista de servios uma lista de nomes de servios separados por vrgula que esta regra se aplica. Exemplos de nomes de servios so: ftpd, telnetd e fingerd. lista de hosts uma lista de nomes de hosts separada por vrgula. Voc tambm pode usar endereos IPs aqui. Adicionalmente, voc pode especicar nomes de computadores ou endereo IP usando caracteres coringas para atingir grupos de hosts. Exemplos incluem: gw.vk2ktj.ampr.org para conferir com um endereo de computador especco, .uts.edu.au para atingir qualquer endereo de computador nalizando com aquele string. Use 200.200.200. para conferir com qualquer endereo IP iniciando com estes dgitos. Existem alguns parmetros especiais para simplicar a congurao, alguns destes so: ALL atinge todos endereos, LOCAL atinge qualquer computador que no contm um . (ie. est no mesmo domnio de sua mquina) e PARANOID atinge qualquer computador que o nome no confere com seu endereo (falsicao de nome). Existe tambm um ltimo parmetro que tambm til: o parmetro EXCEPT lhe permite fazer uma lista de excees. Isto ser coberto em um exemplo adiante. comando um parmetro opcional. Este parmetro o caminho completo de um comando que dever ser executado toda a vez que esta regra conferir. Ele pode executar um comando para tentar identicar quem esta conectado pelo host remoto, ou gerar uma mensagem via E-Mail ou algum outro alerta para um administrador de rede que algum est

Captulo 15. Rede

205

tentando se conectar. Existem um nmero de expanses que podem ser includas, alguns exemplos comuns so: %h expande o endereo do computador que est conectado ou endereo se ele no possuir um nome, %d o nome do daemon sendo chamado. Se o computador tiver permisso de acessar um servio atravs do /etc/hosts.allow, ento o /etc/hosts.deny no ser consultado e o acesso ser permitido. Como exemplo: # /etc/hosts.allow # # Permite que qualquer um envie e-mails in.smtpd: ALL # Permitir telnet e ftp somente para hosts locais e myhost.athome.org.au in.telnetd, in.ftpd: LOCAL, myhost.athome.org.au # Permitir finger para qualquer um mas manter um registro de quem in.fingerd: ALL: (finger @%h | mail -s "finger from %h" root) Qualquer modicao no arquivo /etc/hosts.allow entrar em ao aps reiniciar o daemon inetd. Isto pode ser feito com o comando kill -HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd. /etc/hosts.deny O arquivo /etc/hosts.deny um arquivo de congurao das regras descrevendo quais computadores no tem a permisso de acessar um servio em sua mquina. Um modelo simples deste arquivo se parece com isto: # /etc/hosts.deny # # Bloqueia o acesso de computadores com endereos suspeitos ALL: PARANOID # # Bloqueia todos os computadores ALL: ALL A entrada PARANOID realmente redundante porque a outra entrada nega tudo. Qualquer uma destas linhas pode fazer uma segurana padro dependendo de seu requerimento em particular. Tendo um padro ALL: ALL no arquivo /etc/hosts.deny e ento ativando especicamente os servios e permitindo computadores que voc deseja no arquivo /etc/hosts.allow a congurao mais segura. Qualquer modicao no arquivo /etc/hosts.deny entrar em ao aps reiniciar o daemon inetd. Isto pode ser feito com o comando kill -HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.

Captulo 15. Rede

206

/etc/hosts.equiv e /etc/shosts.equiv O arquivo /etc/hosts.equiv usado para garantir/bloquear certos computadores e usurios o direito de acesso aos servios r* (rsh, rexec, rcp, etc) sem precisar fornecer uma senha. O /etc/shosts.equiv equivalente mas lido somente pelo servio ssh. Esta funo til em um ambiente seguro onde voc controla todas as mquinas, mesmo assim isto um perigo de segurana (veja nas observaes). O formato deste arquivo o seguinte: #Acesso + Mquina maquina2.dominio.com.br maquina4.dominio.com.br maquina1.dominio.com.br Usurio usuario2 usuario2 +@usuarios

O primeiro campo especica se o acesso ser permitido ou negado caso o segundo e terceiro campo conram. Por razes de segurana deve ser especicado o FQDN no caso de nomes de mquinas. Grupos de rede podem ser especicados usando a sintaxe +@grupo. Para aumentar a segurana, no use este mecanismo e encoraje seus usurios a tambm no usar o arquivo .rhosts. ATENO O uso do sinal + sozinho signica permitir acesso livre a qualquer pessoa de qualquer lugar. Se este mecanismo for mesmo necessrio, tenha muita ateno na especicao de seus campos. Evita tambm A TODO CUSTO uso de nomes de usurios (a no ser para negar o acesso), pois fcil forjar o login, entrar no sistema tomar conta de processos (como por exemplo do servidor Apache rodando sob o usurio www-data ou at mesmo o root), causando enormes estragos. Vericando a segurana do TCPD e a sintaxe dos arquivos O utilitrio tcpdchk til para vericar problemas nos arquivos hosts.allow e hosts.deny. Quando executado ele verica a sintaxe destes arquivos e relata problemas, caso eles existam. Outro utilitrio til o tcpdmatch, o que ele faz permitir que voc simule a tentativa de conexes ao seu sistema e observar ser ela ser permitida ou bloqueada pelos arquivos hosts.allow e hosts.deny. importante mostrar na prtica como o tcpdmatch funciona atravs de um exemplo simulando um teste simples em um sistema com a congurao padro de acesso restrito: O arquivo hosts.allow contm as seguintes linhas: ALL: 127.0.0.1 in.talkd, in.ntalkd: ALL in.fingerd: 192.168.1. EXCEPT 192.168.1.30

Captulo 15. Rede

207

A primeira linha permite o loopback (127.0.0.1) acessar qualquer servio TCP/UDP em nosso computador, a segunda linha permite qualquer um acessar os servidor TALK (ns desejamos que o sistema nos avise quando algum desejar conversar) e a terceira somente permite enviar dados do finger para computadores dentro de nossa rede privada (exceto para 192.168.1.30). O arquivo hosts.deny contm a seguinte linha: ALL: ALL Qualquer outra conexo ser explicitamente derrubada. Vamos aos testes, digitando: tcpdmatch in.ngerd 127.0.0.1 (vericar se o endereo 127.0.0.1 tem acesso ao nger): client: server: matched: access: address 127.0.0.1 process in.fingerd /etc/hosts.allow line 1 granted

Ok, temos acesso garantido com especicado pela linha 1 do hosts.allow (a primeira linha que confere usada). Agora tcpdmatch in.ngerd 192.168.1.29: client: server: matched: access: address 192.168.1.29 process in.fingerd /etc/hosts.allow line 3 granted

O acesso foi permitido atravs da linha 3 do hosts.allow. Agora tcpdmatch in.ngerd 192.168.1.29: client: server: matched: access: address 192.168.1.30 process in.fingerd /etc/hosts.deny line 1 denied

O que aconteceu? como a linha 2 do hosts.allow permite o acesso a todos os computadores 192.168.1.* exceto 192.168.1.30, ela no bateu, ento o processamento partiu para o hosts.deny que nega todos os servios para qualquer endereo. Agora um ltimo exemplo: tcpdmatch in.talkd www.debian.org client: server: matched: access: address www.debian.org process in.talkd /etc/hosts.allow line 2 granted

Captulo 15. Rede

208

Ok, na linha 2 qualquer computador pode te chamar para conversar via talk na rede, mas para o endereo DNS conferir com um IP especicado, o GNU/Linux faz a resoluo DNS, convertendo o endereo para IP e vericando se ele possui acesso. No lugar do endereo tambm pode ser usado a forma daemon@computador ou cliente@computador para vericar respectivamente o acesso de daemons e cliente de determinados computadores aos servios da rede. Como pode ver o TCPD ajuda a aumentar a segurana do seu sistema, mas no cone nele alm do uso em um sistema simples, necessrio o uso de um rewall verdadeiro para controlar minuciosamente a segurana do seu sistema e dos pacotes que atravessam os protocolos, roteamento e as interfaces de rede. Se este for o caso aprenda a trabalhar a fundo com rewalls e implemente a segurana da sua rede da forma que melhor planejar.

15.8.4

Firewall

Dentre todos os mtodos de segurana, o Firewall o mais seguro. A funo do Firewall bloquear determinados tipos de trfego de um endereo ou para uma porta local ou permitir o acesso de determinados usurios mas bloquear outros, bloquear a falsicao de endereos, redirecionar trfego da rede, ping da morte, etc. A implementao de um bom rewall depender da experincia, conhecimentos de rede (protocolos, roteamento, interfaces, endereamento, masquerade, etc), da rede local, e sistema em geral do Administrador de redes, a segurana de sua rede e seus dados dependem da escolha do prossional correto, que entenda a fundo o TCP/IP, roteamento, protocolos, servios e outros assuntos ligados a rede. Freqentemente tem se ouvido falar de empresas que tiveram seus sistemas invadidos, em parte isto devido a escolha do sistema operacional indevido mas na maioria das vezes o motivo a falta de investimento da empresa em polticas de segurana, que algumas simplesmente consideram a segurana de seus dados e sigilo interno como uma despesa a mais. Um bom rewall que recomendo o ipchains, Sinus e o TIS. Particularmente gosto muito de usar o ipchains e o Sinus e possvel fazer coisas inimaginveis programando scripts para interagirem com estes programas. . .

15.9
15.9.1

Outros arquivos de congurao relacionados com a rede


/etc/services

O arquivo /etc/services um banco de dados simples que associa um nome amigvel a humanos a uma porta de servio amigvel a mquinas. um arquivo texto de formato muito simples, cada linha representa um item no banco de dados. Cada item dividido em trs campos separados por qualquer nmero de espaos em branco (tab ou espaos). Os campos so:

Captulo 15. Rede

209

nome

porta/protocolo

apelido

# comentrio

name Uma palavra simples que representa o nome do servio sendo descrito. porta/protocolo Este campo dividido em dois sub-campos. porta - Um nmero que especica o nmero da porta em que o servio estar disponvel. Muitos dos servios comuns tem designados um nmero de servio. Estes esto descritos no RFC-1340. protocolo - Este sub-campo pode ser ajustado para tcp ou udp. importante notar que o item 18/tcp muito diferente do item 18/udp e que no existe razo tcnica porque o mesmo servio precisa existir em ambos. Normalmente o senso comum prevalece e que somente se um servio esta disponvel em ambos os protocolos tcp e udp, voc precisar especicar ambos. apelidos Outros nomes podem ser usados para se referir a entrada deste servio. comentrio Qualquer texto aparecendo em uma linha aps um caracter # ignorado e tratado como comentrio.

15.9.2

/etc/protocols

O arquivo /etc/protocols um banco de dados que mapeia nmeros de identicao de protocolos novamente em nomes de protocolos. Isto usado por programadores para permitilos especicar protocolos por nomes em seus programas e tambm por alguns programas tal como tcpdump permitindo-os mostrar nomes ao invs de nmeros em sua sada. A sintaxe geral deste arquivo : nomeprotocolo nmero apelidos

Captulo 15. Rede

210

211

Captulo 16

Kernel e Mdulos
Este captulo descreve em detalhes o que o kernel, mdulos, sua congurao e programas relacionados.

16.1

O Kernel

o sistema operacional (o Linux), ele que controla os dispositivos e demais perifricos do sistema (como memria, placas de som, vdeo, discos rgidos, disquetes, sistemas de arquivos, redes e outros recursos disponveis). Muitos confundem isto e chamam a distribuio de sistema operacional. Isto errado! O kernel faz o controle dos perifricos do sistema e para isto ele deve ter o seu suporte includo. Para fazer uma placa de som Sound Blaster funcionar, por exemplo, necessrio que o kernel oferea suporte a este placa e voc deve congurar seus parmetros (como interrupo, I/O e DMA) com comandos especcos para ativar a placa e faze-la funcionar corretamente. Existe um documento que contm quais so os perifricos suportados/ no suportados pelo GNU/Linux, ele se chama Hardware-HOWTO. Suas verses so identicadas por nmeros como 2.0.36, 2.0.38, 2.1.10, 2.2.12, as verses que contm um nmero par entre o primeiro e segundo ponto so verses estveis e que contm nmeros mpares neste mesmo local so verses instveis (em desenvolvimento). Usar verses instveis no quer dizer que ocorrer travamentos ou coisas do tipo, mas algumas partes do kernel podem no estar testadas o suciente ou alguns controladores podem ainda estar incompletos para obter pleno funcionamento. Se opera sua mquina em um ambiente crtico, prera pegar verses estveis do kernel. Aps inicializar o sistema, o kernel e seus arquivos podem ser acessados ou modicados atravs do ponto de montagem /proc. Para detalhes veja O sistema de arquivos /proc on page 83. Caso voc tenha um dispositivo (como uma placa de som) que tem suporte no GNU/Linux mas no funciona veja Como adicionar suporte a Hardwares e outros dispositivos no kernel on the following page.

Captulo 16. Kernel e Mdulos

212

16.2

Mdulos

So partes do kernel que so carregadas somente quando so solicitadas por algum aplicativo ou dispositivo e descarregadas da memria quando no so mais usadas. Este recurso til por 2 motivos: Evita a construo de um kernel grande (esttico) que ocupe grande parte da memria com todos os drivers compilados e permite que partes do kernel ocupem a memria somente quando forem necessrios. Os mdulos do kernel esto localizados no diretrio /lib/modules/verso_do_kernel /* (onde verso_do_kernel a verso atual do kernel em seu sistema, caso seja 2.2.10 o diretrio que contm seus mdulos ser /lib/modules/2.2.10. Os mdulos so carregados automaticamente quando solicitados atravs do programa kmod ou manualmente atravs do arquivo /etc/modules , insmod ou modprobe. Ateno: No compile o suporte ao seu sistema de arquivos raz como mdulo, isto o tornar inacessvel.

16.3

Como adicionar suporte a Hardwares e outros dispositivos no kernel

Quando seu hardware no funciona mas voc tem certeza que suportado pelo GNU/Linux, preciso seguir alguns passos para faze-lo funcionar corretamente:

Verique se o kernel atual foi compilado com suporte ao seu dispositivo. Tambm possvel que o suporte ao dispositivo esteja compilado como mdulo. D o comando dmesg para ver as mensagens do kernel durante a inicializao e verique se aparece alguma coisa referente ao dispositivo que deseja instalar (alguma mensagem de erro, etc). Caso no aparecer nada possvel que o driver esteja compilado como mdulo, para vericar isto entre no diretrio /lib/modules/versao_do_kernel e veja se encontra o mdulo correspondente ao seu dispositivo (o mdulo da placa NE 2000 tem o nome de ne.o e o da placa Sound Blaster de sb.o, por exemplo). Caso o kernel no tiver o suporte ao seu dispositivo, voc precisar recompilar seu kernel ativando seu suporte. Veja Recompilando o Kernel on page 215. Caso seu hardware esteja compilado no kernel, verique se o mdulo correspondente est carregado (com o comando lsmod). Caso no estiver, carregue-o com o modprobe (por exemplo, modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330), para detalhes veja modprobe on page 214. O uso deste comando dever ativar seu hardware imediatamente, neste caso congure o mdulo para ser carregado automaticamente atravs do programa modconf ou edite os arquivos relacionados com os mdulos (veja Arquivos relacionados com o Kernel e Mdulos on page 220). Caso no tenha sucesso, ser retornada uma mensagem de erro.

Captulo 16. Kernel e Mdulos

213

16.4

kmod

Este o programa usado para carregar os mdulos automaticamente quando so requeridos pelo sistema. Ele um daemon que funciona constantemente fazendo a monitorao, quando verica que algum dispositivo ou programa est solicitando o suporte a algum dispositivo, ele carrega o mdulo correspondente. Ele pode ser desativado atravs da recompilao do kernel, dando um kill no processo ou atravs do arquivo /etc/modules (veja /etc/modules on page 220. Caso seja desativado, preciso carregar manualmente os mdulos atravs do modprobe ou insmod.

16.5

lsmod

Lista quais mdulos esto carregados atualmente pelo kernel. O nome lsmod uma contrao de ls+mdulos - Listar Mdulos. A listagem feita pelo lsmod uma alternativa ao uso do comando cat /proc/modules. A sada deste comando tem a seguinte forma: Module nls_iso8859_1 nls_cp437 ne 8390 Size 8000 3744 6156 8390 Pages 1 1 2 2 Used by 1 (autoclean) 1 (autoclean) 1 [ne] 0

A coluna Module indica o nome do mdulo que est carregado, a coluna Used mostra qual mdulos est usando aquele recurso. O parmetro (autoclean) no nal da coluna indica que o mdulo foi carregado manualmente (pelo insmod ou modprobe) ou atravs do kmod e ser automaticamente removido da memria quando no for mais usado. No exemplo acima os mdulos ne e 8390 no tem o parmetro (autoclean) porque foram carregados pelo arquivo /etc/modules (veja /etc/modules on page 220). Isto signica que no sero removidos da memria caso estiverem sem uso. Qualquer mdulo carregado pode ser removido manualmente atravs do comandos rmmod.

16.6

insmod

Carrega um mdulo manualmente. Para carregar mdulos que dependem de outros mdulos para que funcionem, voc duas opes: Carregar os mdulos manualmente ou usar o modprobe que verica e carrega as dependncias correspondentes. A sintaxe do comando : insmod [mdulo] [opes_mdulo] Onde:

Captulo 16. Kernel e Mdulos

214

mdulo o nome do mdulo que ser carregado. opes_mdulo Opes que sero usadas pelo mdulo. Variam de mdulo para mdulo, alguns precisam de opes outros no, tente primeiro carregar sem opes, caso seja mostrada uma mensagem de erro verique as opes usadas por ele. Para detalhes sobre que opes so suportadas por cada mdulo, veja a sua documentao no cdigo fonte do kernel em /usr/src/linux/Documentation Exemplo: insmod ne io=0x300 irq=10

16.7

rmmod

Remove mdulos carregados no kernel. Para ver os nomes dos mdulos atualmente carregados no kernel digite lsmod e verique na primeira coluna o nome do mdulo. Caso um mdulo tenha dependncias e voc tentar remover suas dependncias, uma mensagem de erro ser mostrada alertando que o mdulo est em uso. Exemplo: rmmod ne

16.8

modprobe

Carrega um mdulo e suas dependncias manualmente. Este comando permite carregar diversos mdulos e dependncias de uma s vez. O comportamento do modprobe modicado pelo arquivo /etc/modules.conf . A sintaxe deste comando : modprobe [mdulo] [opes_mdulo] Onde: mdulo o nome do mdulo que ser carregado. opes_mdulo Opes que sero usadas pelo mdulo. Variam de mdulo para mdulo, alguns precisam de opes outros no, tente primeiro carregar sem opes, caso seja mostrada uma mensagem de erro verique as opes usadas por ele. Para detalhes sobre que opes so suportadas por cada mdulo, veja a sua documentao no cdigo fonte do kernel em /usr/src/linux/Documentation Nem todos os mdulos so carregados corretamente pelo modprobe, o plip, por exemplo, mostra uma mensagem sobre porta I/O invlida mas no caso seja carregado pelo insmod. Exemplo: modprobe ne io=0x300 irq=10, modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330

16.9

depmod

Verica a dependncia de mdulos. As dependncias dos mdulos so vericadas pelos scripts em /etc/init.d usando o comando depmod -a e o resultado gravado no arquivo /lib

Captulo 16. Kernel e Mdulos

215

/modules/versao_do_kernel/modules.dep. Esta checagem serve para que todas as dependncias de mdulos estejam corretamente disponveis na inicializao do sistema. O comportamento do depmod pode ser modicado atravs do arquivo /etc/modules.conf . possvel criar a dependncia de mdulos imediatamente aps a compilao do kernel digitando depmod -a [verso_do_kernel]. Exemplo: depmod -a

16.10

modconf

Este programa permite um meio mais fcil de congurar a ativao de mdulos e opes atravs de uma interface atravs de menus. Selecione a categoria de mdulos atravs das setas acima e abaixo e pressione enter para selecionar os mdulos existentes. Sero pedidas as opes do mdulo (como DMA, IRQ, I/O) para que sua inicializao seja possvel, estes parmetros so especcos de cada mdulo e devem ser vistos na documentao do cdigo fonte do kernel no diretrio /usr/src/linux/Documentation. Note que tambm existem mdulos com auto-deteco mas isto deixa o sistema um pouco mais lento, porque ele far uma varredura na faixa de endereos especicados pelo mdulo para achar o dispositivo. As opes so desnecessrias em alguns tipos de mdulos. As modicaes feitas por este programa so gravadas no diretrio /etc/modutils em arquivos separados como /etc/modutils/alias - alias de mdulos, /etc/modutils /modconf - opes usadas por mdulos, /etc/modutils/paths - Caminho onde os mdulos do sistema so encontrados. Dentro de /etc/modutils ainda encontrado um subdiretrio chamado arch que contm opes especcas por arquiteturas. A sincronizao dos arquivos gerados pelo modconf com o /etc/modules.conf feita atravs do utilitrio update-modules. Ele normalmente executado aps modicaes nos mdulos feitas pelo modconf.

16.11

Recompilando o Kernel

Ser que vou precisar recompilar o meu kernel? voc deve estar se perguntando agora. Abaixo alguns motivos para esclarecer suas dvidas: Melhora o desempenho do kernel. O kernel padro que acompanha as distribuies GNU/Linux foi feito para funcionar em qualquer tipo de sistema e garantir seu funcionamento e inclui suporte a praticamente tudo. Isto pode gerar desde instabilidade at uma grade pausa do kernel na inicializao quando estiver procurando pelos dispositivos que simplesmente no existem em seu computador! A compilao permite escolher somente o suporte aos dispositivos existentes em seu computador e assim diminuir o tamanho do kernel, desocupar a memria RAM com dispositivos que nunca usar e assim voc ter um desempenho bem melhor do que teria com um kernel pesado.

Captulo 16. Kernel e Mdulos

216

Incluir suporte a alguns hardwares que esto desativados no kernel padro (SMP, APM, Firewall, drivers experimentais, etc). Se aventurar em compilar um kernel (sistema operacional) personalizado em seu sistema. Impressionar os seus amigos, tentando coisas novas. Sero necessrios uns 70Mb de espao em disco disponvel para copiar e descompactar o cdigo fonte do kernel e alguns pacotes de desenvolvimento como o gcc, cpp, binutils, gcc-i386-gnu, bin86, make, dpkg-dev, perl, kernel-package (os trs ltimos somente para a distribuio Debian). Na distribuio Debian, o melhor mtodo atravs do kernel-package que faz tudo para voc (menos escolher o que ter o no o suporte no kernel) e gera um pacote .deb que poder ser usado para instalar o kernel em seu sistema ou em qualquer outro que execute a Debian ou distribuies baseadas (Corel Linux, Libranet, etc). Devido a sua facilidade, a compilao do kernel atravs do kernel-package muito recomendado para usurios iniciantes e para aqueles que usam somente um kernel no sistema ( possvel usar mais de dois ao mesmo tempo, veja o processo de compilao manual adiante neste captulo). Siga este passos para recompilar seu kernel atravs do kernel-package: 1 Descompacte o cdigo fonte do kernel (atravs do arquivo linux-2.2.XX) para o diretrio /usr/src. Caso use os pacotes da Debian eles tero o nome de kernel-source-2.2.XX, para detalhes de como instalar um pacote, veja Instalar pacotes on page 251. 2 Aps isto, entre no diretrio onde o cdigo fonte do kernel foi instalado com cd /usr/src/linux (este ser assumido o lugar onde o cdigo fonte do kernel se encontra). 3 Como usurio root, digite make config. Voc tambm pode usar make menuconfig (congurao atravs de menus) ou make xconfig (congurao em modo grco) mas precisar de pacotes adicionais para que estes dois funcionem corretamente. Sero feitas perguntas sobre se deseja suporte a tal dispositivo, etc. Pressione Y para incluir o suporte diretamente no kernel, M para incluir o suporte como mdulo ou N para no incluir o suporte. Note que nem todos os drivers podem ser compilados como mdulos. Escolha as opes que se encaixam em seu sistema. se estiver em dvida sobre a pergunta digite ? e tecle Enter para ter uma explicao sobre o que aquela opo faz. Se no souber do que se trata, recomendo incluir a opo (pressionando Y ou M. Este passo pode levar entre 5 minutos e 1 Hora (usurios que esto fazendo isto pela primeira vez tendem a levar mais tempo lendo e conhecendo os recursos que o GNU/Linux possui, antes de tomar qualquer deciso). No se preocupe se esquecer de incluir o suporte a alguma coisa, voc pode repetir o passo make config (todas as suas escolhas so gravadas no arquivo .config), recompilar o kernel e instalar em cima do antigo a qualquer hora que quiser.

Captulo 16. Kernel e Mdulos

217

4 Aps o make config chegar ao nal, digite make-kpkg clean para limpar construes anteriores do kernel. 5 Agora compile o kernel digitando make-kpkg --revision=teste.1.0 kernel-image. A palavra teste pode ser substituda por qualquer outra que voc quiser e nmero da verso 1.0 serve apenas como controle de suas compilaes (pode ser qualquer nmero). Observao: No inclua hfens (-) no parmetro revision, use somente pontos. 6 Agora aps compilar, o kernel ser gravado no diretrio superior (..) com um nome do tipo kernel-image-2.2.10-i386_teste.1.0.deb. Basta voc digitar dpkg -i kernel-image-2.2.10-i386_teste.1.0.deb e o dpkg far o resto da instalao do kernel para voc e perguntar se deseja criar um disquete de inicializao (recomendvel). 7 Reinicie seu computador, seu novo kernel iniciar e voc j perceber a primeira diferena pela velocidade que o GNU/Linux iniciado (voc inclui somente suporte a dispositivos em seu sistema). O desempenho dos programas tambm melhorar pois cortou o suporte a dispositivos/funes que seu computador no precisa. Caso alguma coisa sair errada, coloque o disquete que gravou no passo anterior e reinicie o computador para fazer as correes. Para recompilar o kernel usando o mtodo padro, siga os seguintes passos: 1 Descompacte o cdigo fonte do kernel (atravs do arquivo linux-2.2.XX) para o diretrio /usr/src. O cdigo fonte do kernel pode ser encontrado em ftp://ftp.kernel. org/. 2 Aps isto, entre no diretrio onde o cdigo fonte do kernel foi instalado com cd /usr/src/linux (este ser assumido o lugar onde o cdigo fonte do kernel se encontra). 3 Como usurio root, digite make config. Voc tambm pode usar make menuconfig (congurao atravs de menus) ou make xconfig (congurao em modo grco) mas precisar de pacotes adicionais. Sero feitas perguntas sobre se deseja suporte a tal dispositivo, etc. Pressione Y para incluir o suporte diretamente no kernel, M para incluir o suporte como mdulo ou N para no incluir o suporte. Note que nem todos os drivers podem ser compilados como mdulos. Escolha as opes que se encaixam em seu sistema. se estiver em dvida sobre a pergunta digite ? e tecle Enter para ter uma explicao sobre o que aquela opo faz. Se no souber do que se trata, recomendo incluir a opo (pressionando Y ou M. Este passo pode levar entre 5 minutos e 1 Hora (usurios que esto fazendo isto pela primeira vez tendem a levar mais tempo lendo e conhecendo os recursos que o GNU/Linux possui antes de tomar qualquer deciso). No se preocupe se esquecer de incluir o suporte a alguma coisa, voc pode repetir o passo make config, recompilar o kernel e instalar em cima do antigo a qualquer hora que quiser. 4 Digite o comando make dep para vericar as dependncias dos mdulos. 5 Digite o comando make clean para limpar construes anteriores do kernel. 6 Digite o comando make zImage para iniciar a compilao do kernel esttico (outro comando compila os mdulos). Aguarde a compilao, o tempo pode variar dependendo

Captulo 16. Kernel e Mdulos

218

da quantidade de recursos que adicionou ao kernel, a velocidade de seu computador e a quantidade de memria RAM disponvel. Caso tenha acrescentado muitos tens no Kernel, possvel que o comando make zImage falhe no nal (especialmente se o tamanho do kernel esttico for maior que 505Kb). Neste caso use make bzImage. A diferena entre zImage e bzImage que o primeiro possui um limite de tamanho porque descompactado na memria bsica (recomendado para alguns Notebooks), j a bzImage, descompactada na memria estendida e no possui as limitaes da zImage. 7 Aps terminada a compilao do kernel esttico, execute make modules para compilar os mdulos referentes quele kernel. A velocidade de compilao pode variar de acordo com os motivos do passo anterior. 8 A compilao neste ponto est completa, voc agora tem duas opes para instalar o kernel: Substituir o kernel anterior pelo recm compilado ou usar os dois. A segunda questo recomendvel se voc no tem certeza se o kernel funcionar corretamente e deseja iniciar pelo antigo no caso de alguma coisa dar errado. Se voc optar por substituir o kernel anterior: 1 recomendvel renomear o diretrio /lib/modules/verso_do_kernel para /lib/modules/verso_do_kernel.old, isto ser til para restaurao completa dos mdulos antigos caso alguma coisa der errado. 2 Execute o comando make modules_install para instalar os mdulos do kernel recm compilado em /lib/modules/verso_do_kernel. 3 Copie o arquivo zImage que contm o kernel de /usr/src/linux/arch/i386 /boot/zImage para /boot/vmlinuz-2.XX.XX (2.XX.XX a verso do kernel anterior) 4 Verique se o link simblico /vmlinuz aponta para a verso do kernel que compilou atualmente (com ls -la /). Caso contrrio, apague o arquivo /vmlinuz do diretrio raz e crie um novo link com ln -s /boot/vmlinuz-2.XX.Xx /vmlinuz apontando para o kernel correto. 5 Execute o comando lilo para gerar um novo setor de partida no disco rgido. Para detalhes veja LILO on page 95. 6 Reinicie o sistema (shutdown -r now). 7 Caso tudo esteja funcionando normalmente, apague o diretrio antigo de mdulos que salvou e o kernel antigo de /boot. Caso algo tenha dado errado e seu sistema no inicializa, inicie a partir de um disquete, apague o novo kernel, apague os novos mdulos, renomeie o diretrio de mdulos antigos para o nome original, ajuste o link simblico /vmlinuz para apontar para o antigo kernel e execute o lilo. Aps reiniciar seu computador voltar como estava antes. Se voc optar por manter o kernel anterior e selecionar qual ser usado na partida do sistema (til para um kernel em testes): 1 Execute o comando make modules_install para instalar os mdulos recm compilados do kernel em /lib/modules/versao_do_kernel. 2 Copie o arquivo zImage que contm o kernel de /usr/src/linux/arch/i386 /boot/zImage para /boot/vmlinuz-2.XX.XX (2.XX.XX a verso do kernel anterior) 3 Crie um link simblico no diretrio raz (/) apontando para o novo kernel. Como exemplos ser usado /vmlinuz-novo. 4 Modique o arquivo /etc/lilo.conf para incluir a nova imagem de kernel. Por

Captulo 16. Kernel e Mdulos

219

exemplo: Antes da modificao: boot=/dev/hda prompt timeout=200 delay=200 map=/boot/map install=menu image = /vmlinuz root = /dev/hda1 label = 1 read-only Depois da modificao: boot=/dev/hda prompt timeout=200 delay=200 map=/boot/map install=menu image = /vmlinuz root = /dev/hda1 label = 1 read-only image = /vmlinuz-new root = /dev/hda1 label = 2 read-only Se voc digitar 1 no aviso de boot: do Lilo, o kernel antigo ser carregado, caso digitar 2 o novo kernel ser carregado. Para detalhes veja Criando o arquivo de congurao do LILO on page 95 e Um exemplo do arquivo de congurao lilo.conf on page 100. 5 Execute o comando lilo para gravar o novo setor de boot para o disco rgido. 6 Reinicie o computador 7 Carregue o novo kernel escolhendo a opo 2 no aviso de boot: do Lilo. Caso tiver problemas, escolha a opo 1 para iniciar com o kernel antigo e verique os passos de congurao (o arquivo lilo.conf foi modicado corretamente?. Em alguns casos (como nos kernels empacotados em distribuies GNU/Linux) o cdigo fonte do kernel gravado em um diretrio chamado kernel-source-xx.xx.xx. recomendvel fazer um link com um diretrio GNU/Linux, pois o padro usado pelas atualizao do cdigo fonte atravs de patches (veja Aplicando Patches no kernel on page 221).

Captulo 16. Kernel e Mdulos

220

Para criar o link simblico, entre em /usr/src e digite: ln -s kernel-source-xx.xx.xx linux. Se quiser mais detalhes sobre a compilao do kernel, consulte o documento kernel-howto.

16.12

Arquivos relacionados com o Kernel e Mdulos

Esta seo descreve os arquivos usados pelo kernel e mdulos, a funo de cada um no sistema, a sintaxe, etc.

16.12.1

/etc/modules

A funo deste arquivo carregar mdulos especicados na inicializao do sistema e mantlos carregado todo o tempo. til para mdulos de placas de rede que precisam ser carregados antes da congurao de rede feita pela distribuio e no podem ser removidos quando a placa de rede estiver sem uso (isto retiraria seu computador da rede). Seu contedo uma lista de mdulos (um por linha) que sero carregados na inicializao do sistema. Os mdulos carregados pelo arquivo /etc/modules pode ser listados usando o comando lsmod (veja lsmod on page 213. Se o parmetro auto estiver especicado como um mdulo, o kmod ser ativado e carregar os mdulos somente em demanda, caso seja especicado noauto o programa kmod ser desativado. O kmod ativado por padro nos nveis de execuo 2 ao 5. Ele pode ser editado em qualquer editor de textos comum ou modicado automaticamente atravs do utilitrio modconf.

16.12.2

modules.conf

O arquivo /etc/modules.conf permite controlar as opes de todos os mdulos do sistema. Ele consultado pelos programas modprobe e depmod. As opes especicadas neste arquivo facilita o gerenciamento de mdulos, evitando a digitao de opes atravs da linha de comando. Note que recomendado o uso do utilitrio modconf para congurar quaisquer mdulos em seu sistema e o utilitrio update-modules para sincronizao dos arquivos gerados pelo modconf em /etc/modutils com o /etc/modules.conf (geralmente isto feito automaticamente aps o uso do modconf). Por este motivo no recomendvel modica-lo manualmente, a no ser que seja um usurio experiente e saiba o que est fazendo. Veja modconf on page 215 Por exemplo: adicionando as linhas: alias sound sb options sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330

Captulo 16. Kernel e Mdulos

221

permitir que seja usado somente o comando modprobe sb para ativar a placa de som.

16.13

Aplicando Patches no kernel

Patches so modicaes geradas pelo programa diff em que servem para atualizar um programa ou texto. Este recurso muito til para os desenvolvedores, pois podem gerar um arquivo contendo as diferenas entre um programa antigo e um novo (usando o comando diff) e enviar o arquivo contendo as diferenas para outras pessoas. As pessoas interessadas em atualizar o programa antigo, podem simplesmente pegar o arquivo contendo as diferenas e atualizar o programa usando o patch. Isto muito usado no desenvolvimento do kernel do GNU/Linux em que novas verses so lanadas freqentemente e o tamanho kernel completo compactado ocupa cerca de 18MB. Voc pode atualizar seu kernel pegando um patch seguinte a verso que possui em ftp://ftp. kernel.org/. Para aplicar um patch que atualizar seu kernel 2.2.13 para a verso 2.2.14 voc deve proceder da seguinte forma: Descompacte o cdigo fonte do kernel 2.2.13 em /usr/src/linux ou certique-se que existe um link simblico do cdigo fonte do kernel para /usr/src/linux. Copie o arquivo patch-2.2.14.gz de ftp://ftp.kernel.org/ para /usr/src. Use o comando gzip -dc patch-2.2.14|patch -p0 -N -E para atualizar o cdigo fonte em /usr/src/linux para a verso 2.2.14. Alternativamente voc pode primeiro descompactar o arquivo patch-2.2.14.gz com o gzip e usar o comando patch -p0 -N -E <patch-2.2.14 para atualizar o cdigo fonte do kernel. O GNU/Linux permite que voc obtenha o mesmo resultado atravs de diferentes mtodos, a escolha somente sua. Caso deseja atualizar o kernel 2.2.10 para 2.2.14, como no exemplo acima, voc dever aplicar os patches em seqncia (do patch 2.2.11 ao 2.2.14). Vale a pena observar se o tamanho total dos patches ultrapassa ou chega perto o tamanho do kernel completo.

Captulo 16. Kernel e Mdulos

222

223

Captulo 17

Arquivos e daemons de Log


A atividade dos programas so registradas em arquivos localizados em /var/log . Estes arquivos de registros so chamados de logs e contm a data, hora e a mensagem emitida pelo programa (violaes do sistema, mensagens de erro, alerta e outros eventos) entre outros campos. Enm, muitos detalhes teis ao administrador tanto para acompanhar o funcionamento do seu sistema, comportamento dos programas ou ajudar na soluo e preveno de problemas. Alguns programas como o Apache, exim, ircd e squid criam diversos arquivos de log e por este motivo estes so organizados em sub-diretrios (a mesma tcnica usada nos arquivos de congurao em /etc, conforme a padro FHS atual).

17.1

Formato do arquivo de log

Um arquivo de log normalmente composto pelos seguintes campos: Data|Hora|Mquina|daemon|mensagem O campo mquina o nome do computador que registrou a mensagem (a mquina pode atuar como um servidor de logs registrando mensagens de diversos computadores em sua rede). O campo daemon indica qual programa gravou a mensagem. O uso dos utilitrios do console pode ajudar muito na pesquisa e monitorao dos logs, por exemplo, para obter todas as mensagens do daemon kernel da estao de trabalho wrk1, eliminando os campos wrk1 e kernel: cat /var/log/*|grep wrk1|grep kernel|awk {print $1 $2 $3 $6 $7 $8 $9 $10 Os parmetros $1, $2 do comando awk indica que campos sero listados, (omitimos $4 e $5 que so respectivamente wrk1 e kernel).

Captulo 17. Arquivos e daemons de Log

224

17.2

Daemons de log do sistema

Os daemons de log do sistema registram as mensagens de sada do kernel (klogd) e sistema (syslogd) nos arquivos em /var/log . A classicao de qual arquivo em /var/log receber qual tipo de mensagem controlado pelo arquivo de congurao /etc/syslog.conf atravs de facilidades e nveis (veja Arquivo de congurao syslog.conf on the current page para detalhes).

17.2.1

syslogd

Este daemon controla o registro de logs do sistema. syslogd [opes] opes -f Especica um arquivo de congurao alternativo ao /etc/syslog.conf. -h Permite redirecionar mensagens recebidas a outros servidores de logs especicados. -l [computadores ] Especica um ou mais computadores (separados por :) que devero ser registrados somente com o nome de mquina ao invs do FQDN (nome completo, incluindo domnio). -m [minutos ] Intervalo em minutos que o syslog mostrar a mensagem --MARK--. O valor padro padro 20 minutos, 0 desativa. -n Evita que o processo caia automaticamente em background. Necessrio principalmente se o syslogd for controlado pelo init. -p [soquete ] Especica um soquete UNIX alternativo ao invs de usar o padro /dev/log. -r Permite o recebimento de mensagens atravs da rede atravs da porta UDP 514. Esta opo til para criar um servidor de logs centralizado na rede. Por padro, o servidor syslog rejeitar conexes externas. -s [domnios ] Especica a lista de domnios (separados por :) que devero ser retirados antes de enviados ao log. Na distribuio Debian, o daemon syslogd iniciado atravs do script /etc/init.d /sysklogd. Arquivo de congurao syslog.conf O arquivo de congurao /etc/syslog.conf possui o seguinte formato: facilidade.nvel destino

A facilidade e nvel so separadas por um . e contm parmetros que denem o que ser registrado nos arquivos de log do sistema: facilidade - usada para especicar que tipo de programa est enviando a mensagem. Os seguintes nveis so permitidos (em ordem alfabtica): auth - Mensagens de segurana/autorizao ( recomendvel usar authpriv ao invs deste).

Captulo 17. Arquivos e daemons de Log

225

authpriv - Mensagens de segurana/autorizao (privativas). cron - Daemons de agendamento (cron e at). daemon - Outros daemons do sistema que no possuem facilidades especcas. ftp - Daemon de ftp do sistema. kern - Mensagens do kernel. lpr - Subsistema de impresso. local0 a local7 - Reservados para uso local. mail - Subsistema de e-mail. news - Subsistema de notcias da USENET. security - Sinnimo para a facilidade auth (evite usa-la). syslog - Mensagens internas geradas pelo syslogd. user - Mensagens genricas de nvel do usurio. uucp - Subsistema de UUCP. * - Confere com todas as facilidades. Mais de uma facilidade pode ser especicada na mesma linha do syslog.conf separando-as com ,. nvel - Especica a importncia da mensagem. Os seguintes nveis so permitidos (em ordem de importncia invertida; da mais para a menos importante): emerg - O sistema est inutilizvel. alert - Uma ao deve ser tomada imediatamente para resolver o problema. crit - Condies crticas. err - Condies de erro. warning - Condies de alerta. notice - Condio normal, mas signicante. info - Mensagens informativas. debug - Mensagens de depurao. * - Confere com todos os nveis. none - Nenhuma prioridade. Alm destes nveis os seguintes sinnimos esto disponveis: error - Sinnimo para o nvel err. panic - Sinnimo para o nvel emerg. warn - Sinnimo para o nvel warning. destino - O destino das mensagens pode ser um arquivo, um pipe (se iniciado por um |), um computador remoto (se iniciado por uma @), determinados usurios do sistema (especicando os logins separados por vrgula) ou para todos os usurios logados via wall (usando *). Todas as mensagens com o nvel especicado e superiores a esta especicadas no syslog.conf sero registradas, de acordo com as opes usadas. Conjuntos de facilidades e nveis podem ser agrupadas separando-as por ;. OBS1: Sempre use TABS ao invs de espaos para separar os parmetros do syslog.conf. OBS2: Algumas facilidades como security, emitem um beep de alerta no sistema e enviam uma mensagem para o console, como forma de alerta ao administrador e usurios logados no sistema. Existem ainda 4 caracteres que garantes funes especiais: *, =, ! e -:

Captulo 17. Arquivos e daemons de Log

226

* - Todas as mensagens da facilidade especicada sero redirecionadas. = - Somente o nvel especicado ser registrado. ! - Todos os nveis especicados e maiores NO sero registrados. - - Pode ser usado para desativar o sync imediato do arquivo aps sua gravao. Os caracteres especiais = e ! podem ser combinados em uma mesma regra. Exemplo: Veja abaixo um exemplo de um arquivo /etc/syslog.conf padro de sistemas Debian # # Primeiro alguns arquivos de log padres. Registrados por facilidade # auth,authpriv.* *.*;auth,authpriv.none cron.* daemon.* kern.* lpr.* mail.* user.* uucp.* /var/log/auth.log -/var/log/syslog /var/log/cron.log -/var/log/daemon.log -/var/log/kern.log -/var/log/lpr.log /var/log/mail.log -/var/log/user.log -/var/log/uucp.log

# # Registro de logs do sistema de mensagens. Divididos para facilitar # a criao de scripts para manipular estes arquivos. # mail.info -/var/log/mail.info mail.warn -/var/log/mail.warn mail.err /var/log/mail.err # Registro para o sistema de news INN # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice # # Alguns arquivos de registro "pega-tudo". # So usadas "," para especificar mais de uma prioridade (por # exemplo, "auth,authpriv.none") e ";" para especificar mais de uma # facilidade.nvel que ser gravada naquele arquivo. # Isto permite deixar as regras consideravelmente menores e mais legveis # *.=debug;\ auth,authpriv.none;\

Captulo 17. Arquivos e daemons de Log

227

news.none;mail.none *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none

-/var/log/debug

-/var/log/messages

# # Emergncias so enviadas para qualquer um que estiver logado no sistema. Ist # feito atravs da especificao do "*" como destino das mensagens e so # enviadas atravs do comando wall. # *.emerg * # # Eu gosto de ter mensagens mostradas no console, mas somente em consoles que # no utilizo. # #daemon,mail.*;\ # news.=crit;news.=err;news.=notice;\ # *.=debug;*.=info;\ # *.=notice;*.=warn /dev/tty8 # O pipe /dev/xconsole usado pelo utilitrio "xconsole". Para usa-lo, # voc deve executar o "xconsole" com a opo "-file": # # $ xconsole -file /dev/xconsole [...] # # NOTA: ajuste as regras abaixo, ou ficar maluco se tiver um um site # muito movimentado... # daemon.*;mail.*;\ news.crit;news.err;news.notice;\ *.=debug;*.=info;\ *.=notice;*.=warn |/dev/xconsole # A linha baixo envia mensagens importantes para o console em que # estamos trabalhando logados (principalmente para quem gosta de ter # controle total sobre o que est acontecendo com seu sistema). *.err;kern.debug;auth.notice;mail.crit /dev/console

17.2.2

klogd

Este daemon controla o registro de mensagens do kernel. Ele monitora as mensagens do kernel e as envia para o daemon de monitoramento syslogd, por padro. klogd [opes]

Captulo 17. Arquivos e daemons de Log

228

opes -d Ativa o modo de depurao do daemon -f [arquivo ] Envia as mensagens do kernel para o arquivo especicado ao invs de enviar ao daemon do syslog -i Envia um sinal para o daemon recarregar os smbolos de mdulos do kernel. -I Envia um sinal para o daemon recarregar os smbolos estticos e de mdulos do kernel. -n Evita a operao em segundo plano. til se iniciado pelo init -k [arquivo ] Especica o arquivo que contm os smbolos do kernel. Exemplos deste arquivo esto localizados em /boot/System.map-xx.xx.xx. A especicao de um arquivo com a opo -k necessria se desejar que sejam mostradas a tabela de smbolos ao invs de endereos numricos do kernel.

17.3

logger

Este comando permite enviar uma mensagem nos log do sistema. A mensagem enviada aos logs via daemon syslogd ou via soquete do sistema, possvel especicar a prioridade, nvel, um nome identicando o processo, etc. Seu uso muito til em shell scripts ou em outros eventos do sistema. logger [opes] [mensagem] Onde: mensagem Mensagem que ser enviada ao daemon syslog opes -i Registra o PID do processo -s Envia a mensagem ambos para a sada padro (STDOUT) e syslog. -f [arquivo ] Envia o contedo do arquivo especicado como mensagem ao syslog. -t [nome ] Especica o nome do processo responsvel pelo log que ser exibido antes do PID na mensagem do syslog. -p [prioridade ] Especica a prioridade da mensagem do syslog, especicada como facilidade.nvel. Veja os tipos de prioridade/nveis em Arquivo de congurao syslog.conf on page 224. O valor padro prioridade.nvel user.notice Mais detalhes sobre o funcionamento sobre o daemon de log do sistema syslogd, pode ser encontrado em syslogd on page 224 Exemplos: logger -i -t focalinux Teste teste teste, /tmp/mensagem -p security.emerg logger -i -f

229

Captulo 18

Compactadores
Esta seo explica o que so e como usar programas compactadores no GNU/Linux, as caractersticas de cada um, como identicar um arquivo compactado e como descompactar um arquivo compactado usando o programa correspondente. A utilizao de arquivos compactados mtodo til principalmente para reduzir o consumo de espao em disco ou permitir grandes quantidades de texto serem transferidas para outro computador atravs de disquetes.

18.1

O que fazem os compactadores/descompactadores?

Compactadores so programas que diminuem o tamanho de um arquivo (ou arquivos) atravs da substituio de caracteres repetidos. Para entender melhor como eles funcionam, veja o prximo exemplo: compactadores compactam e deixam arquivos compactados. -- aps a compactao da frase -%dores %m e deixam arquivos %dos O que aconteceu realmente foi que a palavra compacta se encontrava 3 vezes na frase acima, e foi substituda por um sinal de %. Para descompactar o processo seria o contrrio: Ele substituiria % por compacta e ns temos a frase novamente restaurada. Voc deve ter notado que o tamanho da frase compactada caiu quase pela metade. A quantidade de compactao de um arquivo chamada de taxa de compactao. Assim se o tamanho do arquivo for diminudo a metade aps a compactao, dizemos que conseguiu uma taxa de compactao de 2:1 (l-se dois para um), se o arquivo diminuiu 4 vezes, dizemos que conseguiu uma compactao de 4:1 (quatro para um) e assim por diante.

Captulo 18. Compactadores

230

Para controle dos caracteres que so usados nas substituies, os programas de compactao mantm cabealhos com todas as substituies usadas durante a compactao. O tamanho do cabealho pode ser xo ou denido pelo usurio, depende do programa usado na compactao. Este um exemplo bem simples para entender o que acontece durante a compactao, os programas de compactao executam instrues muito avanadas e cdigos complexos para atingir um alta taxa de compactao. Observaes: No possvel trabalhar diretamente com arquivos compactados! necessrio descompactar o arquivo para usa-lo. Note que alguns programas atualmente suportam a abertura de arquivos compactados, mas na realidade eles apenas simplicam a tarefa descompactando o arquivo, abrindo e o recompactando assim que o trabalho estiver concludo. Arquivos de texto tem uma taxa de compactao muito melhor que arquivos binrios, porque possuem mais caracteres repetidos. normal atingir taxas de compactao de 10 para 1 ou mais quando se compacta um arquivo texto. Arquivos binrios, como programas, possuem uma taxa de compactao mdia de 2:1. Note que tambm existem programas compactadores especialmente desenvolvidos para compactao de msicas, arquivos binrios, imagens, textos.

18.1.1

Tipos de compactao

Existem basicamente dois tipos de compactao, a compactao sem perdas e a compactao com perdas. Os exemplos a seguir tentam explicar de forma simples os conceitos envolvidos. A compactao sem perdas, como o prprio nome diz no causa nenhuma perda nas informaes contidas no arquivo. Quando voc compacta e descompacta um arquivo, o contedo o mesmo do original. A compactao com perdas um tipo especco de compactao desenvolvido para atingir altas taxas, porm com perdas parciais dos dados. aplicada a tipos de arquivos especiais, como msicas e imagens ou arquivos que envolvam a percepo humana. Sabe-se que o ouvido humano no to sensvel a determinados sons e freqncias, ento a compactao de um arquivo de msica poderia deixar de gravar os sons que seriam pouco percebidos, resultando em um arquivo menor. Uma compactao do tipo ogg ou mp3 utilizase destes recursos. O arquivo resultante muito menor que o original, porm alguns dados sonoros so perdidos. Voc s notaria se estivesse reproduzindo a msica em um equipamento de alta qualidade e se tivesse um ouvido bem aguado. Para efeitos prticos, voc est ouvindo a mesma msica e economizando muito espao em disco. Outro exemplo de compactao com perdas so as imagens jpg. Imagine que voc tem uma imagem com 60000 tons de cor diferentes, mas alguns tons so muito prximos de outros, ento o compactador resume para 20000 tons de cor e a imagem ter 1/3 do tamanho original e o nosso olho conseguir entender a imagem sem problemas e quase no perceber a diferena. Exemplos de extenses utilizadas em imagens compactadas so jpg, png, gif.

Captulo 18. Compactadores

231

Apesar das vantagens da grande taxa de compactao conseguida nos processos com perdas, nem sempre podemos utiliz-lo. Quando compactamos um texto ou um programa, no podemos ter perdas, seno o nosso texto sofre alteraes ou o programa no executa. Nem mesmo podemos tem perdas quando compactamos imagens ou musicas que sero utilizadas em processos posteriores de masterizao, mixagem ou impresso em alta qualidade.

18.2

Extenses de arquivos compactados

As extenses identicam o tipo de um arquivo e assim o programa o programa necessrio para trabalhar com aquele tipo de arquivo. Existem dezenas de extenses que identicam arquivos compactados. Quando um arquivo (ou arquivos) compactado, uma extenso correspondente ao programa usado adicionada ao nome do arquivo (caso o arquivo seja compactado pelo gzip receber a extenso .gz, por exemplo). Ao descompactar acontece o contrrio: a extenso retirada do arquivo. Abaixo segue uma listagem de extenses mais usadas e os programas correspondentes:

.gz - Arquivo compactado pelo gzip. Use o programa gzip para descompacta-lo (para detalhes veja gzip on the following page). .bz2 - Arquivo compactado pelo bzip2. Use o programa bzip2 para descompacta-lo (para detalhes veja bzip2 on page 236). .Z - Arquivo compactado pelo programa compress. Use o programa uncompress para descompacta-lo. .zip - Arquivo compactado pelo programa zip. descompacta-lo. .rar - Arquivo compactado pelo programa rar. descompacta-lo. Use o programa unzip para

Use o programa rar para

.tar.gz - Arquivo compactado pelo programa gzip no utilitrio de arquivamento tar. Para descompacta-lo, voc pode usar o gzip e depois o tar ou somente o programa tar usando a opo -z. Para detalhes veja gzip on the following page e tar on page 235. .tgz - Abreviao de .tar.gz. .tar.bz2 - Arquivo compactado pelo programa bzip2 no utilitrio de arquivamento tar. Para descompacta-lo, voc pode usar o bzip2 e depois o tar ou somente o programa tar usando a opo -j. Para detalhes veja bzip2 on page 236 e tar on page 235. .tar.Z - Arquivo compactado pelo programa compress no utilitrio de arquivamento tar. Para descompacta-lo, voc pode usar o uncompress e depois o tar ou somente o programa tar usando a opo -Z. Para detalhes veja tar on page 235.

Captulo 18. Compactadores

232

18.3

gzip

praticamente o compactador padro do GNU/Linux, possui uma tima taxa de compactao e velocidade. A extenso dos arquivos compactados pelo gzip a .gz, na verso para DOS, Windows NT usada a extenso .z. gzip [opes] [arquivos] Onde: arquivos Especica quais arquivos sero compactados pelo gzip. Caso seja usado um -, ser assumido a entrada padro. Curingas podem ser usados para especicar vrios arquivos de uma s vez (veja Curingas on page 33). Opes -d, decompress [arquivo ] Descompacta um arquivo. -f Fora a compactao, compactando at mesmo links. -l [arquivo ] Lista o contedo de um arquivo compactado pelo gzip. -r Compacta diretrios e sub-diretrios. -c [arquivo ] Descompacta o arquivo para a sada padro. -t [arquivo ] Testa o arquivo compactado pelo gzip. -[num , fast, best] Ajustam a taxa de compactao/velocidade da compactao. Quanto melhor a taxa menor a velocidade de compactao e vice versa. A opo --fast permite uma compactao rpida e tamanho do arquivo maior. A opo --best permite uma melhor compactao e uma velocidade menor. O uso da opo -[nmero] permite especicar uma compactao individualmente usando nmeros entre 1 (menor compactao) e 9 (melhor compactao). til para buscar um bom equilibro entre taxa de compactao/velocidade (especialmente em computadores muito lentos). Quando um arquivo compactado pelo gzip, automaticamente acrescentada a extenso .gz ao seu nome. O gzip tambm reconhece arquivos compactados pelos programas zip, compress, compress -H e pack. As permisses de acesso dos arquivos so tambm armazenadas no arquivo compactado. Exemplos: gzip -9 texto.txt - Compacta o arquivo texto.txt usando a compactao mxima (compare o tamanho do arquivo compactado usando o comando ls -la). gzip -d texto.txt.gz - Descompacta o arquivo texto.txt gzip -c texto.txt.gz - Descompacta o arquivo texto.txt para a tela gzip -9 *.txt - Compacta todos os arquivos que terminam com .txt gzip -t texto.txt.gz - Verica o arquivo texto.txt.gz.

18.4

zip

Utilitrio de compactao compatvel com pkzip (do DOS) e trabalha com arquivos de extenso .zip. Possui uma tima taxa de compactao e velocidade no processamento dos arquivos compactados (comparando-se ao gzip).

Captulo 18. Compactadores

233

zip [opes] [arquivo-destino] [arquivos-origem] Onde: arquivo-destino Nome do arquivo compactado que ser gerado. arquivos-origem Arquivos/Diretrios que sero compactados. Podem ser usados curingas para especicar mais de um arquivo de uma s vez (veja Curingas on page 33). opes -r Compacta arquivos e sub-diretrios. -e Permite encriptar o contedo de um arquivo .zip atravs de senha. A senha ser pedida no momento da compactao. -f Somente substitui um arquivo compactado existente dentro do arquivo .zip somente se a verso mais nova que a atual. No acrescenta arquivos ao arquivo compactado. Deve ser executado no mesmo diretrio onde o programa zip foi executado anteriormente. -F Repara um arquivo .zip danicado. -[NUM ] Ajusta a qualidade/velocidade da compactao. Pode ser especicado um nmero de 1 a 9. O 1 permite mnima compactao e mxima velocidade, 9 permite uma melhor compactao e menor velocidade. -i [arquivos ] Compacta somente os [arquivos] especicados. -j Se especicado, no armazena caminhos de diretrios. -m Apaga os arquivos originais aps a compactao. -T [arquivo ] Procura por erros em um arquivo .zip. Caso sejam detectados problemas, utilize a opo -F para corrigi-los. -y Armazena links simblicos no arquivo .zip. Por padro, os links simblicos so ignorados durante a compactao. -k [arquivo ] Modica o [arquivo] para ter compatibilidade total com o pkzip do DOS. -l Converte saltos de linha UNIX (LF) para o formato CR+LF (usados pelo DOS). Use esta opo com arquivos Texto. -ll Converte saltos de linha DOS (CR+LF) para o formato UNIX (LF). Use esta opo com arquivos texto. -n [extenso ] No compacta arquivos identicados por [extenso]. Ele armazenado sem compactao no arquivo .zip, muito til para uso com arquivos j compactados. Caso sejam especicados diversas extenses de arquivos, elas devem ser separadas por : - Por exemplo, zip -n .zip:.tgz arquivo.zip *.txt. -q No mostra mensagens durante a compactao do arquivo. -u Atualiza/adiciona arquivos ao arquivo .zip -X No armazena detalhes de permisses, UID, GID e datas dos arquivos. -z Permite incluir um comentrio no arquivo .zip. Caso o nome de arquivo de destino no termine com .zip, esta extenso ser automaticamente adicionada. Para a descompactao de arquivos .zip no GNU/Linux, necessrio o uso do utilitrio unzip. Exemplos: zip textos.zip *.txt - Compacta todos os arquivos com a extenso .txt para o arquivo textos.zip (compare o tamanho do arquivo compactado digitando ls -la). zip -r textos.zip /usr/*.txt - Compacta todos os arquivos com a extenso .txt do diretrio /usr e sub-diretrios para o arquivo textos.zip. zip -9 textos.zip * - Compacta todos os arquivos do diretrio atual usando a compactao mxima para o arquivo textos.zip.

Captulo 18. Compactadores

234

zip -T textos.zip - Verica se o arquivo textos.zip contm erros.

18.5

unzip

Descompacta arquivos .zip criados com o programa zip. Este programa tambm compatvel com arquivos compactados pelo pkzip do DOS. unzip [opes] [arquivo.zip] [arquivos-extrair] [-d diretrio] Onde: arquivo.zip Nome do arquivo que deseja descompactar. Podem ser usados curingas para especicar mais de um arquivo para ser descompactado. arquivos-extrair Nome dos arquivos (separados por espao) que sero descompactados do arquivo .zip. Caso no seja especicado, assumido * (todos os arquivos sero descompactados). Se for usado -x arquivos, os arquivos especicados no sero descompactados. O uso de curingas permitido. -d diretrio Diretrio onde os arquivos sero descompactados. Caso no for especicado, os arquivos sero descompactados no diretrio atual. opes -c Descompacta os arquivos para stdout (sada padro) ao invs de criar arquivos. Os nomes dos arquivos tambm so mostrados (veja a opo -p). -f Descompacta somente arquivos que existam no disco e mais novos que os atuais. -l Lista os arquivos existentes dentro do arquivo .zip. -M Efetua uma pausa a cada tela de dados durante o processamento (a mesma funo do comando more). -n Nunca substitui arquivos j existentes. Se um arquivo existe ele pulado. -o Substitui arquivos existentes sem perguntar. Tem a funo contrria a opo -n. -P [SENHA ] Permite descompactar arquivos .zip usando a [SENHA]. CUIDADO! qualquer usurio conectado em seu sistema pode ver a senha digitada na linha de comando digitada. -p Descompacta os arquivos para stdout (sada padro) ao invs de criar arquivos. Os nomes dos arquivos no so mostrados (veja a opo -c). -q No mostra mensagens. -t Verica o arquivo .zip em busca de erros. -u Idntico a opo -f s que tambm cria arquivos que no existem no diretrio. -v Mostra mais detalhes sobre o processamento do unzip. -z Mostra somente o comentrio existente no arquivo. Por padro o unzip tambm descompacta sub-diretrios caso o arquivo .zip tenha sido gerado com zip -r. Exemplos: unzip texto.zip - Descompacta o contedo do arquivo texto.zip no diretrio atual. unzip texto.zip carta.txt - Descompacta somente o arquivo carta.txt do arquivo texto.zip.

Captulo 18. Compactadores

235

unzip texto.zip -d /tmp/texto - Descompacta o contedo do arquivo texto.zip para o diretrio /tmp/texto. unzip -l texto.zip - Lista o contedo do arquivo texto.zip. unzip -t texto.zip - Verica o arquivo texto.zip.

18.6

tar

Na verdade o tar no um compactador e sim um arquivador (ele junta vrios arquivos em um s), mas pode ser usado em conjunto com um compactar (como o gzip ou zip) para armazena-los compactados. O tar tambm muito usado para cpias de arquivos especiais ou dispositivos do sistema. comum encontrar arquivos com a extenso .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z, .tgZ, o primeiro um arquivo normal gerado pelo tar e todos os outros so arquivos gerados atravs tar junto com um programa de compactao (gzip (.gz), bzip2 (.bz2) e compress (.Z). tar [opes] [arquivo-destino] [arquivos-origem] Onde: arquivo-destino o nome do arquivo de destino. Normalmente especicado com a extenso .tar caso seja usado somente o arquivamento ou .tar.gz/.tgz caso seja usada a compactao (usando a opo -z). arquivos-origem Especica quais arquivos/diretrios sero compactados. opes -c, create Cria um novo arquivo .tar -t, list Lista o contedo de um arquivo .tar -u, update Atualiza arquivos compactados no arquivo .tar -f, le [HOST: F] Usa o arquivo especicado para gravao ou o dispositivo /dev/rmt0. -j, bzip2 Usa o programa bzip2 para processar os arquivos do tar -l, one-le-system No processa arquivos em um sistema de arquivos diferentes de onde o tar foi executado. -M, multi-volume Cria/lista/descompacta arquivos em mltiplos volumes. O uso de arquivos em mltiplos volumes permite que uma grande cpia de arquivos que no cabe em um disquete, por exemplo, seja feita em mais de um disquete. -o Grava o arquivo no formato VT7 ao invs do ANSI. -O, to-stdout Descompacta arquivos para a sada padro ao invs de gravar em um arquivo. remove-les Apaga os arquivos de origem aps serem processados pelo tar. -R, record-number Mostra o nmero de registros dentro de um arquivo tar em cada mensagem. totals Mostra o total de bytes gravados com a opo --create. -v Mostra os nomes dos arquivos enquanto so processados. -V [NOME ] Inclui um [NOME] no arquivo tar. -W, verify Tenta vericar o arquivo gerado pelo tar aps grava-lo. x Extrai arquivos gerados pelo tar -X [ARQUIVO ] Tenta apagar o [ARQUIVO] dentro de um arquivo compactado .tar. -Z Usa o programa compress durante o processamento dos arquivos.

Captulo 18. Compactadores

236

-z Usa o programa gzip durante o processamento dos arquivos. use-compress-program [PROGRAMA ] Usa o [PROGRAMA] durante o processamento dos arquivos. Ele deve aceitar a opo -d. -[0-7 [lmh]] Especica a unidade e sua densidade. A extenso precisa ser especicada no arquivo de destino para a identicao correta: Arquivos gerados pelo tar precisam ter a extenso .tar Caso seja usada a opo -j para compactao, a extenso dever ser .tar.bz2 Caso seja usada a opo -z para compactao, a extenso dever ser .tar.gz ou .tgz Caso seja usada a opo -Z para a compactao, a extenso dever ser .tar.Z ou .tgZ importante saber qual qual o tipo de compactador usado durante a gerao do arquivo .tar pois ser necessrio especicar a opo apropriada para descompacta-lo (para detalhes veja Extenses de arquivos compactados on page 231). Exemplos: tar -cf index.txt.tar index.txt - Cria um arquivo chamado index.txt.tar que armazenar o arquivo index.txt. Voc pode notar digitando ls -la que o arquivo index.txt foi somente arquivado (sem compactao), isto til para juntar diversos arquivos em um s. tar -xf index.txt.tar - Desarquiva o arquivo index.txt criado pelo comando acima. tar -czf index.txt.tar.gz index.txt - O mesmo que o exemplo de arquivamento anterior, s que agora usado a opo -z (compactao atravs do programa gzip). Voc agora pode notar digitando ls -la que o arquivo index.txt foi compactado e depois arquivado no arquivo index.txt.tar.gz (voc tambm pode chama-lo de index.txt.tgz que tambm identica um arquivo .tar compactado pelo gzip) tar -xzf index.txt.tar.gz - Descompacta e desarquiva o arquivo index.txt.tar.gz criado com o comando acima. gzip -dc index.tar.gz | tar -xf - - Faz o mesmo que o comando acima s que de uma forma diferente: Primeiro descompacta o arquivo index.txt.tar.gz e envia a sada do arquivo descompactado para o tar que desarquivar o arquivo index.txt. tar -cjf index.txt.tar.bz2 index.txt - Arquiva o arquivo index.txt em index.txt.tar.bz2 compactando atravs do bzip2 (opo -j). tar -xjf index.txt.tar.bz2 - Descompacta e desarquiva o arquivo index.txt.tar.bz2 criado com o comando acima. bzip2 -dc index.txt.tar.bz2 | tar -xf - - Faz o mesmo que o comando acima s que de uma forma diferente: Primeiro descompacta o arquivo index.txt.tar.bz2 e envia a sada do arquivo descompactado para o tar que desarquivar o arquivo index.txt. tar -t index.txt.tar - Lista o contedo de um arquivo .tar. tar -tz index.txt.tar.gz - Lista o contedo de um arquivo .tar.gz.

18.7

bzip2

um novo compactador que vem sendo cada vez mais usado porque consegue atingir a melhor compactao em arquivos texto se comparado aos j existentes (em conseqncia sua ve-

Captulo 18. Compactadores

237

locidade de compactao tambm menor; quase duas vezes mais lento que o gzip). Suas opes so praticamente as mesmas usadas no gzip e voc tambm pode usa-lo da mesma forma. A extenso dos arquivos compactados pelo bzip2 a .bz2 bzip2 [opes] [arquivos] Onde: arquivos Especica quais arquivos sero compactados pelo bzip2. Caso seja usado um -, ser assumido a entrada padro. Curingas podem ser usados para especicar vrios arquivos de uma s vez (veja Curingas on page 33). Opes -d, decompress [arquivo ] Descompacta um arquivo. -f Fora a compactao, compactando at mesmo links. -l [arquivo ] Lista o contedo de um arquivo compactado pelo bzip2. -r Compacta diretrios e sub-diretrios. -c [arquivo ] Descompacta o arquivo para a sada padro. -t [arquivo ] Testa o arquivo compactado pelo bzip2. -[num , fast, best] Ajustam a taxa de compactao/velocidade da compactao. Quanto melhor a taxa menor a velocidade de compactao e vice versa. A opo --fast permite uma compactao rpida e tamanho do arquivo maior. A opo --best permite uma melhor compactao e uma velocidade menor. O uso da opo -[nmero] permite especicar uma compactao individualmente usando nmeros entre 1 (menor compactao) e 9 (melhor compactao). til para buscar um bom equilibro entre taxa de compactao/velocidade (especialmente em computadores muito lentos). Quando um arquivo compactado pelo bzip2, automaticamente acrescentada a extenso .bz2 ao seu nome. As permisses de acesso dos arquivos so tambm armazenadas no arquivo compactado. Exemplos: bzip2 -9 texto.txt - Compacta o arquivo texto.txt usando a compactao mxima (compare o tamanho do arquivo compactado usando o comando ls -la). bzip2 -d texto.txt.bz2 - Descompacta o arquivo texto.txt bzip2 -c texto.txt.bz2 - Descompacta o arquivo texto.txt para a sada padro (tela) bzip2 -9 *.txt - Compacta todos os arquivos que terminam com .txt bzip2 -t texto.txt.bz2 - Verica o arquivo texto.txt.bz2.

18.8

rar

rar um compactador desenvolvido por Eugene Roshal e possui verses para GNU/Linux, DOS, Windows, OS/2 e Macintosh. Trabalha com arquivos de extenso .rar e permite armazenar arquivos compactados em vrios disquetes (mltiplos volumes). Se trata de um produto comercial, mas decidi coloca-lo aqui porque possui boas verses Shareware e pode ser muito til em algumas situaes. rar [aes] [opes] [arquivo-destino.rar] [arquivos-origem]

Captulo 18. Compactadores

238

Onde: arquivo-destino.rar o nome do arquivo de destino arquivos-origem Arquivos que sero compactados. Podem ser usados curingas para especicar mais de um arquivo. aes a Compacta arquivos x Descompacta arquivos d Apaga arquivos especicados t Verica o arquivo compactado em busca de erros. c Inclui comentrio no arquivo compactado r Repara um arquivo .rar danicado l Lista arquivos armazenados no arquivo compactado u Atualiza arquivos existentes no arquivo compactado. m Compacta e apaga os arquivos de origem (move). e Descompacta arquivos para o diretrio atual p Mostra o contedo do arquivo na sada padro rr Adiciona um registro de vericao no arquivo s Converte um arquivo .rar normal em arquivo auto-extrctil. Arquivos auto-extrcteis so teis para enviar arquivos a pessoas que no tem o programa rar. Basta executar o arquivo e ele ser automaticamente descompactado (usando o sistema operacional que foi criado). Note que esta opo requer que o arquivo default.sfx esteja presente no diretrio home do usurio. Use o comando find para localiza-lo em seu sistema. opes o+ Substitui arquivos j existentes sem perguntar o- No substitui arquivos existentes sfx Cria arquivos auto-extrcteis. Arquivos auto-extrcteis so teis para enviar arquivos a pessoas que no tem o programa rar. Basta executar o arquivo e ele ser automaticamente descompactado. Note que este processo requer que o arquivo default.sfx esteja presente no diretrio home do usurio. Use o comando find para localiza-lo em seu sistema. y Assume sim para todas as perguntas r Inclui sub-diretrios no arquivo compactado x [ARQUIVO ] Processa tudo menos o [ARQUIVO]. Pode ser usados curingas v[TAMANHO ] Cria arquivos com um limite de tamanho. Por padro, o tamanho especicado em bytes, mas o nmero pode ser seguido de k (kilobytes) ou m(megabytes). Exemplo: rar a -v1440k ... ou rar a -v10m ... p [SENHA ] Inclui senha no arquivo. CUIDADO, pessoas conectadas em seu sistema podem capturar a linha de comando facilmente e descobrir sua senha. m [0-5 ] Ajusta a taxa de compactao/velocidade de compactao. 0 no faz compactao alguma (mais rpido) somente armazena os arquivos, 5 o nvel que usa mais compactao (mais lento). ed No inclui diretrios vazios no arquivo isnd Ativa emisso de sons de alerta pelo programa ierr Envia mensagens de erro para stderr inul Desativa todas as mensagens ow Salva o dono e grupo dos arquivos.

Captulo 18. Compactadores

239

ol Salva links simblicos no arquivo ao invs do arquivo fsico que o link faz referncia. mm[f ] Usa um mtodo especial de compactao para arquivos multimdia (sons, vdeos, etc). Caso for usado mmf, fora o uso do mtodo multimdia mesmo que o arquivo compactado no seja deste tipo. Os arquivos gerados pelo rar do GNU/Linux podem ser usados em outros sistemas operacionais, basta ter o rar instalado. Quando usada a opo -v para a criao de mltiplos volumes, a numerao dos arquivos feita na forma: arquivo.rar, arquivo.r00, arquivo.r01, etc, durante a descompactao os arquivos sero pedidos em ordem. Se voc receber a mensagem cannot modify volume durante a criao de um arquivo .rar, provavelmente o arquivo j existe. Apague o arquivo existente e tente novamente. Exemplos: rar a texto.rar texto.txt - Compacta o arquivo texto.txt em um arquivo com o nome texto.rar rar x texto.rar - Descompacta o arquivo texto.rar rar a -m5 -v1400k textos.rar * - Compacta todos os arquivos do diretrio atual, usando a compactao mxima no arquivo textos.rar. Note que o tamanho mximo de cada arquivo 1440 para ser possvel grava-lo em partes para disquetes. rar x -v -y textos.rar - Restaura os arquivos em mltiplos volumes criados com o processo anterior. Todos os arquivos devem ter sido copiados dos disquetes para o diretrio atual antes de prosseguir. A opo -y til para no precisar-mos responder yes a toda pergunta que o rar zer. rar t textos.rar - Verica se o arquivo textos.rar possui erros. rar r textos.rar - Repara um arquivo .rar danicado.

Captulo 18. Compactadores

240

241

Captulo 19

A distribuio Debian GNU/Linux


Este captulo traz algumas caractersticas sobre a distribuio Debian GNU/Linux, programas de congurao e particularidades. A maioria dos trechos aqui descritos, tambm se aplicam a distribuies baseadas na Debian, como a Corel Debian GNU/Linux e a LibraNet. Voc deve estar se perguntando mas porque um captulo falando sobre a distribuio Debian se eu uso outra?. Bem, a partir da verso Intermedirio do Foca Linux existem algumas partes que so especicas de algumas distribuies Linux e que no se aplicam a outras, como a localizao dos arquivos de congurao, nomes dos programas de congurao e outros detalhes especcos e esta verso a baseada na Debian. Pegue na pgina do Foca Linux (http://www.guiafoca.org) uma verso Intermedirio do guia especco para sua distribuio.

19.1

Porque usar a Debian?

A Debian a distribuio que mais cresce no mundo, cada verso somente lanada aps rigorosos testes de segurana e correo de falhas fazendo desta a mais segura e convel dentre todas as outras distribuies Linux. reconhecida como a mais segura, maior e atualizada mais freqentemente entre as outras distribuies Linux, alm de ser a nica sem ns comerciais. a nica que adota o estilo de desenvolvimento aberto e no mantida por uma empresa comercial (note que o endereo do WebSite da Debian termina com .org), ao invs disso mantida por programadores, hackers e especialistas de segurana espalhados ao redor do mundo, seguindo o estilo de desenvolvimento do Linux. Possui suporte a mais de 10 arquiteturas e 15 sub-arquiteturas (entre elas, Intel x86, Alpha, VMS, Sparc, Macintosh (m68k), Power Pc, ARM, etc). Suas atualizaes so constantes e no necessrio adquirir um novo CD para fazer upgrades. Meu sistema atualizado semanalmente e de forma segura atravs de 2 simples comandos. Veja apt on page 254 as instrues de como fazer isto.

Captulo 19. A distribuio Debian GNU/Linux

242

Cada pacote da distribuio mantida por uma pessoa, o que garante uma boa qualidade, implementaes de novos recursos e rpida correo de falhas. Qualquer pessoa com bons conhecimentos no sistema e ingls pode se tornar um Debian Developer, para detalhes consulte a lista de discusso debian-user-portuguese (veja Listas de discusso on page 387) ou veja a pgina ocial da Debian: http://www.debian.org/. A distribuio apresenta compatibilidade com outros sistemas a partir da instalao at a seleo de programas e execuo do sistema, sua instalao est at mesmo disponvel desde computadores 386 que utilizam unidades de disquetes de 5 1/4 polegadas at para computadores UDMA66 e com CD-ROM inicializvel. a distribuio mais indicada para uso em servidores devido ao seu desempenho, segurana e programas teis de gerenciamento e monitorao da rede, recomendados por especialistas que participam de seu desenvolvimento. No existem verses separadas da Debian para servidores, uso pessoal, etc, ao invs disso a distribuio usa pers de usurio (dependendo da funo do usurio) e pers de computador (dependendo do que deseja fazer), podendo ser selecionado mais de um perl de usurio/computador. Os pers selecionam automaticamente os pacotes mais teis para a instalao. Os pacotes existentes em cada perl foram escolhidos atravs de debates entre usurios que trabalham ativamente naquela rea, resultando em uma seleo de pacotes de alta produtividade. Para os usurios avanados e exigentes, tambm possvel selecionar os pacotes individualmente via dselect, o que resultar em uma instalao somente com pacotes teis e melhor congurada.

19.2

Pacotes existentes na Debian

O nmero de pacotes existentes na distribuio atual da Debian (Woody - 3.0) de 8710. A Debian (como a Red Hat) usa um formato prprio para armazenar os programas: o formato .deb. Este formato permite a declarao, resoluo e checagem automtica de dependncias, pacotes sugeridos, opcionais e outras caractersticas que o torna atraente para o desenvolvimento, gerenciamento e manuteno do sistema. Estes pacotes so gerenciados atravs do programa dpkg (Debian Package) ou atravs de frontends como o dselect ou apt (para detalhes veja Sistema de gerenciamento de pacotes on page 251).

19.3

O que sid/testing/frozen/stable?

Para o lanamento de uma nova distribuio Debian, o seguinte processo ocorre: sid => testing => stable (sendo a stable sempre o lanamento ocial e sem bugs da distribuio).

Captulo 19. A distribuio Debian GNU/Linux

243

sid Durante o desenvolvimento de uma nova distribuio Debian, ela chamada de sid. A sid a verso Unstable, isto no signica instabilidade, mas sim que a distribuio esta sofrendo modicaes para se tornar uma verso estvel, recebendo novos pacotes, etc. Quando os pacotes no so modicados aps um determinado perodo, os scripts da Debian copiam estes pacotes (novos ou atualizados) para a testing. No use a distribuio sid (unstable) ao menos que tenha experincia no Linux para corrigir problemas, que certamente aparecero. testing A testing recebe os pacotes que no so modicados durante algum tempo da unstable, isto signica que eles possuem alguma estabilidade. A testing uma espcie de congelamento permanente (freeze) durante o desenvolvimento da Unstable. Os novos pacotes que entram na unstable tambm caem na testing aps certo tempo. Mesmo assim, podem existir falhas graves na testing, se voc precisa de um ambiente realmente livre de falhas, use a stable. frozen (congelada) Na data programada pela equipe de lanamento da Debian, a distribuio testing congelada: nenhum pacote novo da unstable cai na testing e comea a procura de falhas na distribuio testing. Nenhuma nova caracterstica implementada nos pacotes (a no ser que seja extremamente necessrio) e os developers se dedicam a correo de erros nos pacotes. A distribuio testing congelada se tornar a futura stable aps todas as falhas serem corrigidas. considerado seguro usar a frozen aps 1 ms de congelamento. Quando a testing congelada, o ciclo de desenvolvimento da unstable continua para que a prxima distribuio da Debian seja lanada. stable Quando todos os bugs da testing congelada so eliminados, ela lanada como stable, a nova verso Ocial da Debian. A stable o resultado nal do desenvolvimento, das correo de falhas/segurana e que passou por todos os ciclos de testes para ser lanada. Resumindo a distribuio pronta para ser usada com toda a segurana.

19.4

Como obter a Debian

A instalao da distribuio pode ser obtida atravs de Download de ftp://ftp.debian. org//debian/dists/stable/main/disks-i386 (para Intel x86), seus programas diversos esto disponveis em ftp://ftp.debian.org//debian/dists/stable/main/ binary-i386. A distribuio tambm pode ser obtida atravs de 3 (ou 4) CDs binrios (para a Debian 2.2).

Captulo 19. A distribuio Debian GNU/Linux

244

19.5

Programas de congurao

dselect - Seleciona pacote para instalao/desinstalao pppconfig - Congura o computador para se conectar a Internet facilmente. Aps isto, use pon para se conectar a Internet, poff para se desconectar e plog para monitorar a conexo. modconf - Permite selecionar os mdulos que sero automaticamente carregados na inicializao do sistema. Se requerido pelos mdulos os parmetros I/O, IRQ e DMA tambm podem ser especicados. kbdconfig - Permite selecionar o tipo de teclado que utiliza shadowconfig - Permite ativar ou desativar o suporte a senhas ocultas (shadow password). Com as senhas ocultas ativadas, as senhas criptografadas dos usurios e grupos so armazenadas nos arquivos shadow e gshadow respectivamente, que somente podem ser acessadas pelo usurio root. Isto aumenta consideravelmente a segurana do sistema pois os arquivos passwd e group contm dados de usurios que devem ter permisso de leitura de todos os usurios do sistema. tasksel - Permite selecionar/modicar de forma fcil a instalao de pacotes em seu sistema atravs da funo que sua mquina ter ou do seu perl de usurio. tzconfig - Permite modicar/selecionar o fuso-horrio usado na distribuio. Alm destes, a Debian 3.0 (Woody) conta com o sistema de congurao baseado no dpkg-reconfigure que permite congurar de forma fcil e rpida aspecto de pacotes: dpkg-reconfigure xserver-svga.

19.6

Arquivos de inicializao

Os arquivos de inicializao da distribuio Debian (e baseadas nela) esto localizados no diretrio /etc/init.d. Cada daemon (programa residente na memria) ou congurao especca possui um arquivo de onde pode ser ativado/desativado. Os sistemas residentes neste diretrio no so ativados diretamente, mas sim atravs de links existentes nos diretrios /etc/rc?.d onde cada diretrio consiste em um nvel de execuo do sistema (veja tambm a Nveis de Execuo on the facing page). Por padro, voc pode usar as seguintes palavras chaves com os arquivos de congurao: start - Inicia o daemon ou executa a congurao stop - Interrompe a execuo de um daemon ou desfaz a congurao feita anteriormente (se possvel). restart - Reinicia a execuo de um daemon. equivalente ao uso de stop e start mas se aplicam somente a alguns daemons e conguraes, que permitem a interrupo de execuo e reinicio.

Captulo 19. A distribuio Debian GNU/Linux

245

Por exemplo, para recongurar as interfaces de rede do computador, podemos utilizar os seguintes comandos: cd /etc/init.d ./networking restart

19.7

Nveis de Execuo

Os Nveis de execuo (run levels) so diferentes modos de funcionamento do GNU/Linux com programas, daemons e recursos especcos. Em geral, os sistemas GNU/Linux possuem sete nveis de execuo numerados de 0 a 6. O daemon init o primeiro programa executado no GNU/Linux (veja atravs do ps ax|grep init) e responsvel pela carga de todos daemons de inicializao e congurao do sistema. O nvel de execuo padro em uma distribuio GNU/Linux denido atravs do arquivo de congurao do /etc/inittab (Arquivo /etc/inittab on page 312) atravs da linha id:2:initdefault:

19.7.1

Entendendo o funcionamento dos nveis de execuo do sistema (runlevels)

Os nvel de execuo atual do sistema pode ser visualizado atravs do comando runlevel e modicado atravs dos programas init ou telinit. Quando executado, o runlevel l o arquivo /var/run/utmp e adicionalmente lista o nvel de execuo anterior ou a letra N em seu lugar (caso ainda no tenha ocorrido a mudana do nvel de execuo do sistema). Na Debian, os diretrios /etc/rc0.d a /etc/rc6.d contm os links simblicos para arquivos em /etc/init.d que so acionados pelo nvel de execuo correspondente. Por exemplo, o arquivo S10sysklogd em /etc/rc2.d, um link simblico para /etc /init.d/sysklogd. O que aconteceria se voc removesse o arquivo /etc/rc2.d/S10sysklogd? Simplesmente o daemon sysklogd deixaria de ser executado no nvel de execuo 2 do sistema (que o padro da Debian). A Debian segue o seguinte padro para denir se um link simblico em /etc/rc[0-6].d iniciar ou interromper a execuo de um servio em /etc/init.d, que o seguinte: Se um link iniciado com a letra K (kill), quer dizer que o servio ser interrompido naquele nvel de execuo. O que ele faz executar o daemon em /etc/init.d seguido de stop. Se um link iniciado com a letra S (start), quer dizer que o servio ser iniciado naquele nvel de execuo ( equivalente a executar o daemon seguido de start). Primeiro os links com a letra K so executado e depois os S. A ordem que os links so executados dependem do valor numrico que acompanha o link, por exemplo, os seguintes arquivos so executados em seqncia:

Captulo 19. A distribuio Debian GNU/Linux

246

S10sysklogd S12kerneld S20inetd S20linuxlogo S20logoutd S20lprng S89cron S99xdm

Note que os arquivos que iniciam com o mesmo nmero (S20*) so executados alfabeticamente. O nvel de execuo do sistema pode ser modicado usando-se o comando init ou telinit. Os seguinte nveis de execuo esto disponveis na Debian: 0 - Interrompe a execuo do sistema. todos os programas e daemons nalizados. acionado pelo comando shutdown -h 1 - Modo monousurio, til para manuteno dos sistema. 2 - Modo multiusurio (padro da Debian) 3 - Modo multiusurio 4 - Modo multiusurio 5 - Modo multiusurio com login grco 6 - Reinicializao do sistema. Todos os programas e daemons so encerrados e o sistema reiniciado. acionado pelo comando shutdown -r e o pressionamento de CTRL+ALT+DEL. Por exemplo, para listar o nvel de execuo atual do sistema digite: runlevel. O runlevel dever listar algo como:

N 2

Agora para mudar para o nvel de execuo 1, digite: init 3. Agora conra a mudana digitando: runlevel. Voc dever ver este resultado:

2 3

Isto quer dizer que o nvel de execuo anterior era o 2 e o atual o 3.

19.8

Rede no sistema Debian

O local que contm as conguraes de rede em um sistema Debian o /etc /network/interfaces. O formato deste arquivo descrito em Arquivo /etc/network /interfaces on page 306.

Captulo 19. A distribuio Debian GNU/Linux

247

19.9

Bug tracking system

o sistema para relatar bugs e enviar sugestes sobre a distribuio. Para relatar um bug primeiro voc deve saber ingls ( a lngua universal entendida pelos desenvolvedores) e vericar se o bug j foi relatado. O Debian Bug tracking system pode ser acessado pelo endereo: http://bugs.debian.org/. Para relatar uma falha/sugesto, envie um e-mail para: <submit@bugs.debian.org>, com o assunto referente a falha/sugesto que deseja fazer e no corpo da mensagem: Package: pacote Severity: normal/grave/wishlist Version: verso do pacote E o relato do problema O bug ser encaminhado diretamente ao mantenedor do pacote que vericar o problema relatado. Os campos Package e Severity so obrigatrios para denir o nome do pacote (para enderear o bug para a pessoa correta) e verso do pacote (esta falha pode ter sido relatada e corrigida em uma nova verso).

19.10

Onde encontrar a Debian para Download?

No endereo ftp://ftp.debian.org/. Outros endereos podem ser obtidos na pgina ocial da Debian (http://www.debian.org/) clicando no link Download e mirrors. A distribuio Woody (3.0) completa, com 8710 pacotes ocupa em torno de 3.0 GB, (equivalente a 6 CDS de pacotes e mais 3 se quiser o cdigo fonte). Voc tambm pode optar por fazer a instalao dos pacotes opcionais via Internet atravs do mtodo apt. Para detalhes veja o guia do dselect ou envie uma mensagem para a lista de discusso <debian-user-portuguese@ lists.debian.org> (veja Listas de discusso on page 387 para detalhes).

19.11

Lista de pacotes para uma instalao rpida e manual

Esta seo contm uma lista de pacotes necessrios que atendem a maioria dos usurios normais da Debian em um sistema padro sem desperdcio de espao e sabendo exatamente o que est instalando. Estou assumindo que voc concluiu a instalao da Debian 3.0 (Woody) mas preferiu pular o passo de seleo de pacotes do dselect e fazer uma instalao manual. A lista de pacotes est dividida por categorias e voc precisa ter o programa apt congurado corretamente para que os comandos funcionem (veja apt on page 254 para detalhes). Se pretende usar a lista de pacotes para fazer a instalao da Debian em muitos computadores, voc tem duas opes:

Captulo 19. A distribuio Debian GNU/Linux

248

1 Copiar o contedo das sees que seguem e fazer um script de instalao personalizado para automatizar a instalao de pacotes da Debian em outras mquinas 2 Aps a instalao dos pacotes no computador, utilize o comando dpkg --get-selections >Lista-Pacotes.txt para gerar o arquivo Lista-Pacotes.txt contendo a lista de pacotes instalados. Ento no computador que pretende fazer a instalao de pacotes, use o comando dpkg --set-selections <Lista-Pacotes.txt e ento digitar apt-get -f install ou escolher a opo Install no dselect. Para mais detalhes veja Mostrando a lista de pacotes do sistema on page 253 e a Obtendo uma lista de pacotes para instalar no sistema on page 254. importante usar o comando apt-get clean aps a instalao de pacotes para remover os pacotes baixados pelo apt de /var/cache/apt/archives (exceto na instalao de pacotes atravs do disco rgido local).

19.11.1

Pacotes Bsicos (Altamente Recomendado)

apt-get install cpio info libident libncurses4 man-db manpages whois nvi hdparm mc exim linuxlogo less kbd mutt libstdc++2.8 bzip2 isapnptools cron gpm libstdc++2.9-glibc2.1

19.11.2

Compilao do Kernel e programas em linguagem C

apt-get install perl, gcc-i386-gnu libc6-dev bin86 make Se pretender utilizar o kernel-package para compilar o kernel mais facilmente, ento voc precisar dos seguintes pacotes: apt-get install kernel-package dpkg-dev Veja Recompilando o Kernel on page 215 para entender como compilar seu prprio kernel.

19.11.3

X11 (bsico)

apt-get install xbase xbase-clients xf86setup xfonts-75dpi xserver-svga xterm xfs-xtt xdm Caso suas fontes sejam mostradas em tamanho exagerado, remova o pacotes xfonts-100dpi ou ajuste a seo Files do arquivo /etc/X11/XF86Config apropriadamente.

19.11.4

Window Managers para o X

apt-get install wmaker wmakerconf wmaker-data wmavload eterm enlightenment enlightenment-theme-bluesteel asclock afterstep

Captulo 19. A distribuio Debian GNU/Linux

249

OBS: Existem outros excelentes gerenciadores de janelas como o gnome, se voc tiver espao em disco. . .

19.11.5

Impresso (texto e grco com sistema de spool)

apt-get install lprng magicfilter gs gsfonts

19.11.6

Som (mixer, mp3, Midi, wav, CD-Player)

xmms playmidi cam aumix libaudiofile0 libmikmod2 libesd0 mesag3+ggi xmcd sox

19.11.7

Programas de Internet (clientes)

apt-get install xchat licq licq-data netscape fetchmail procmail mime-support

19.11.8

Acessrios

apt-get install gimp gimp-nonfree gedit gxedit abiword freefont sharefont type1inst

19.11.9

Rede

apt-get install finger, talk, talkd, telnet

Captulo 19. A distribuio Debian GNU/Linux

250

251

Captulo 20

Sistema de gerenciamento de pacotes


Este captulo ensina a operao bsica do programa de manipulao de pacotes Debian, a instalao, remoo, consulta e checagem de arquivos .deb.

20.1

dpkg

O dpkg (Debian Package) o programa responsvel pelo gerenciamento de pacotes em sistemas Debian. Sua operao feita em modo texto e funciona atravs de comandos, assim caso deseje uma ferramenta mais amigvel para a seleo e instalao de pacotes, prera o dselect (que um front-end para o dpkg) ou o apt (veja apt on page 254). dpkg muito usado por usurios avanados da Debian e desenvolvedores para ns de instalao, manuteno e construo de pacotes.

20.1.1

Pacotes

Pacotes Debian so programas colocados dentro de um arquivo identicados pela extenso .deb incluindo arquivos necessrios para a instalao do programa, um sistemas de listagem/checagem de dependncias, scripts de automatizao para remoo parcial/total do pacote, listagem de arquivos, etc. Um nome de pacote tem a forma nome-verso_reviso.deb

20.1.2

Instalar pacotes

Use o comando: dpkg -i [NomedoPacote] (ou install) para instalar um pacote em seu sistema. Talvez ele pea que seja instalado algum pacote que depende para seu funcionamento. Para detalhes sobre dependncias veja Dependncias on the next page. preciso especicar o nome completo do pacote (com a verso e reviso).

Captulo 20. Sistema de gerenciamento de pacotes

252

20.1.3

Dependncias

Dependncias so pacotes requeridos para a instalao de outro pacote. Na Debian cada pacote contm um programa com uma certa funo. Por exemplo, se voc tentar instalar o pacote de edio de textos supertext que usa o programa sed, voc precisar vericar se o pacote sed est instalado em seu sistema antes de tentar instalar o supertext, caso contrrio, o pacote supertext pedir o sed e no funcionar corretamente. Note que o pacote supertext apenas um exemplo e no existe (pelo menos at agora :-). O programa dselect faz o trabalho de checagem de dependncias automaticamente durante a instalao dos pacotes. A colocao de cada programa em seu prprio pacote parece ser uma diculdade a mais para a instalao manual de um certo programa. Mas para os desenvolvedores que mantm os mais de 8710 pacotes existentes na distribuio Debian, um ponto fundamental, porque no preciso esperar uma nova verso do supertext ser lanada para instalar a verso mais nova do pacote sed. Por este motivo tambm uma vantagem para o usurio.

20.1.4

Listar pacotes existentes no sistema

Use o comando: dpkg -l [pacote] (list) para isto. Na listagem de pacotes tambm ser mostrado o status de cada um na coluna da esquerda, acompanhado do nome do pacote, verso e descrio bsica. Caso o nome do [pacote] seja omitido, todos os pacotes sero listados. recomendado usar dpkg -l|less para ter um melhor controle da listagem (pode ser longa dependendo da quantidade de programas instalados).

20.1.5

Removendo pacotes do sistema

Use o comando: dpkg -r NomedoPacote (remove) para remover um pacote do sistema completamente. Somente necessrio digitar o nome e verso do pacote que deseja remover, no sendo necessrio a reviso do pacote. O comando dpkg -r no remove os arquivos de congurao criados pelo programa. Para uma remoo completa do programa veja Removendo completamente um pacote on this page.

20.1.6

Removendo completamente um pacote

Use o comando: dpkg -P [NomedoPacote|-a] (purge) para remover um pacote e todos os diretrios e arquivos de congurao criados. No necessrio especicar a reviso do pacote. O comando dpkg--purge pode ser usado aps uma remoo normal do pacote (usando dpkg -r). Caso voc usar diretamente o comando dpkg --purge, dpkg primeiro remover o pacote normalmente (como explicado em Removendo pacotes do sistema on the current page) e aps removido apagar todos os arquivos de congurao.

Captulo 20. Sistema de gerenciamento de pacotes

253

Caso especique a opo -a (ou sua equivalente pending) no lugar do nome do pacote, todos os pacotes marcados para remoo sero removidos completamente do sistema. Note que o dpkg --purge somente remove arquivos de congurao conhecidos pelo pacote. Em especial, os arquivos de congurao criados para cada usurio do sistema devem ser removidos manualmente. Seria pedir demais que o dpkg tambm conhecesse os usurios de nosso sistema ;-).

20.1.7

Mostrar descrio do pacote

Use o comando: dpkg -I NomedoPacote (info) para mostrar a descrio do pacote. Entre a descrio so mostradas as dependncias do pacote, pacotes sugeridos, recomendados, descrio do que o pacote faz, tamanho e nmero de arquivos que contm.

20.1.8

Procura de pacotes atravs do nome de um arquivo

Use o comando: dpkg -S arquivo (search) para saber de qual pacote existente no sistema o arquivo pertence.

20.1.9

Status do pacote

Use o comando: dpkg -s pacote (status) para vericar o status de um pacote em seu sistema, se esta ou no instalado, congurado, tamanho, dependncias, maintainer, etc. Se o pacote estiver instalado no sistema, o resultado ser parecido com o do comando dpkg -c [pacote] (contents).

20.1.10

Procurando pacotes com problemas de instalao

A checagem de pacotes com este tipo de problema pode ser feita atravs do comando: dpkg -C (audit) Ser listado todos os pacotes com algum tipo de problema, verique os detalhes do pacote com dpkg -s para decidir como corrigir o problema.

20.1.11

Mostrando a lista de pacotes do sistema

Use o comando: dpkg --get-selections para obter uma lista de seleo dos pacotes em seu sistema. A listagem mostrada na sada padro, que pode ser facilmente redirecionada para um arquivo usando dpkg --get-selections >dpkg.lista.

Captulo 20. Sistema de gerenciamento de pacotes

254

A listagem obtida com este comando muito til para repetir os pacotes usados no sistema usando o dpkg --set-selections.

20.1.12

Obtendo uma lista de pacotes para instalar no sistema

Use o comando: dpkg --set-selections <arquivo para obter a lista de pacotes que sero instalados no sistema. O uso do dpkg --get-selections e dpkg --set-selections muito til durante uma necessidade de reinstalao do sistema GNU/Linux ou repetir a instalao em vrias mquinas sem precisar selecionar algumas dezenas entre os milhares de pacotes no dselect. Aps obter a lista com dpkg --get-selections, use dpkg --set-selections <arquivo e ento entre no dselect e escolha a opo INSTALL, todos os pacotes obtidos via dpkg --set-selections sero automaticamente instalados.

20.1.13

Congurando pacotes descongurados

Pacotes esto descongurados quando, por algum motivo, a instalao do mesmo no foi concluda com sucesso. Pode ter faltado alguma dependncia, acontecido algum erro de leitura do arquivo de pacote, etc. Quando um erro deste tipo acontece, os arquivos necessrios pelo pacote podem ter sido instalados, mas os scripts de congurao ps-instalao no so executados. Use o comando: dpkg --configure [NomedoPacote] Para congurar um pacote. O NomedoPacote no precisa conter a reviso do pacote e extenso.

20.1.14

Listando arquivos de um pacote

Use o comando: dpkg -c arquivo (contents) para obter a listagem dos arquivos contidos no pacote. necessrio digitar o nome completo do pacote. O comando dpkg -c til para listarmos arquivos de pacotes que no esto instalados no sistema. Para obter a listagem de arquivos de pacotes j instalados no sistema, use o comando: dpkg -L arquivo. necessrio digitar somente o nome do pacote (sem a reviso e extenso).

20.2

apt

O apt sistema de gerenciamento de pacotes de programas que possui resoluo automtica de dependncias entre pacotes, mtodo fcil de instalao de pacotes, facilidade de operao, permite atualizar facilmente sua distribuio, etc. Ele funciona atravs de linha de comando

Captulo 20. Sistema de gerenciamento de pacotes

255

sendo bastante fcil de usar. Mesmo assim, existem interfaces grcas para o apt como o synaptic (modo grco) e o aptitude (modo texto) que permitem poderosas manipulaes de pacotes sugeridos, etc. O apt pode utilizar tanto com arquivos locais como remotos na instalao ou atualizao, desta maneira possvel atualizar toda a sua distribuio Debian via ftp ou http com apenas 2 simples comandos! recomendvel o uso do mtodo apt no programa dselect pois ele permite a ordem correta de instalao de pacotes e checagem e resoluo de dependncias, etc. Devido a sua facilidade de operao, o apt o mtodo preferido para os usurios manipularem pacotes da Debian. O apt exclusivo da distribuio Debian e distribuies baseadas nela e tem por objetivo tornar a manipulao de pacotes poderosa por qualquer pessoa e tem dezenas de opes que podem ser usadas em sua execuo ou conguradas no arquivo /etc/apt/apt.conf. Explicarei aqui como fazer as aes bsicas com o apt, portanto se desejar maiores detalhes sobre suas opes, veja a pgina de manual apt-get.

20.2.1

O arquivo /etc/apt/sources.list

Este arquivo contm os locais onde o apt encontrar os pacotes, a distribuio que ser vericada (stable, testing, unstable, Woody, Sarge) e a seo que ser copiada (main, non-free, contrib, non-US). Woody(Debian 3.0) e Sarge(Debian 3.1) so os nomes das verses enquanto stable e unstable so links para as verses estvel e testing respectivamente. Se desejar usar sempre uma distribuio estvel (como a Woody), modique o arquivo sources.list e coloque Woody como distribuio. Caso voc desejar estar sempre atualizado mas uma pessoa cuidadosa e deseja ter sempre a ltima distribuio estvel da Debian, coloque stable como verso. Assim que a nova verso for lanada, os links que apontam de stable para Woody sero alterados apontando para Sarge e voc ter seu sistema atualizado. Abaixo um exemplo simples de arquivo /etc/apt/sources.list com explicao das sees: deb http://www.debian.org/debian stable main contrib non-free deb http://nonus.debian.org/debian-non-US stable non-US Voc pode interpretar cada parte da seguinte maneira: deb - Identica um pacote da Debian. A palavra deb-src identica o cdigo fonte. http://www.debian.org/debian - Mtodo de acesso aos arquivos da Debian, site e diretrio principal. O caminho pode ser http://, ftp://, file:/. stable - Local onde sero procurados arquivos para atualizao. Voc pode tanto usar o nome de sua distribuio (Woody, Sarge) ou sua classicao (stable, testing ou unstable. Note que unstable recomendada somente para desenvolvedores, mquinas de testes e se voc tem conhecimentos para corrigir problemas. Nunca utilize unstable em ambientes de produo ou servidores crticos, use a stable.

Captulo 20. Sistema de gerenciamento de pacotes

256

main contrib non-us - Sees que sero vericadas no site remoto. Note que tudo especicado aps o nome da distribuio ser interpretado como sendo as sees dos arquivos (main, non-free, contrib, non-US). As linhas so processadas na ordem que esto no arquivo, ento recomendvel colocar as linhas que fazem referncia a pacotes locais primeiro e mirrors mais perto de voc para ter um melhor aproveitamento de banda. O caminho percorrido pelo apt para chegar aos arquivos ser o seguinte: http://www.debian.org/debian/dists/stable/main/binary-i386 http://www.debian.org/debian/dists/stable/non-free/binary-i386 http://www.debian.org/debian/dists/stable/contrib/binary-i386 Voc notou que o diretrio dists foi adicionado entre http: //www.debian.org/debian e stable, enquanto as sees main, non-free e contrib so processadas separadamente e nalizando com o caminho binary-[arquitetura], onde [arquitetura] pode ser i386, alpha, sparc, powerpc, arm, etc. dependendo do seu sistema. Entendendo isto, voc poder manipular o arquivo sources.list facilmente. OBS: Caso tenha mais de uma linha em seu arquivo sources.list de onde um pacote pode ser instalado, ele ser baixado da primeira encontrada no arquivo. recomendvel colocar primeiro repositrios locais ou mais perto de voc, como recomendado nesta seo. Endereos de servidores e mirrors nacionais da Debian Segue abaixo uma relao de servidores que podem ser colocados em seu arquivo sources.list: Endereo -------ftp://ftp.debian.org.br ftp://ftp.br.debian.org ftp://ftp.debian.org ftp://download.sourceforge.net ftp://ftp.quimica.ufpr.br ftp://download.unesp.br Diretrio Principal --------- --------/debian /debian /debian /debian /debian /linux/debian

Um modelo de arquivo sources.list Voc pode copiar o modelo do sources.list abaixo para ser usado em sua distribuio Stable ou personaliza-lo modicando a distribuio utilizada e servidores: # Arquivos principais da stable deb ftp://ftp.debian.org.br/debian stable main non-free contrib

Captulo 20. Sistema de gerenciamento de pacotes

257

# Non-US da Stable deb ftp://ftp.debian.org.br/debian-non-US stable/non-US main non-free contrib # Atualizaes propostas para Stable main e non-US deb ftp://ftp.debian.org.br/debian dists/proposed-updates/ deb ftp://ftp.debian.org.br/debian-non-US dists/proposed-updates/ # Atualizaes de segurana da Stable deb ftp://nonus.debian.org/debian-security stable/updates main # # # # #

Ximian um conjunto de pacotes atualizados freqentemente e compatveis com a distribuio Debian. Entre estes programas esto o Gimp 1.2 e outros mais atuais e compatveis com a Debian. Para usa-los inclua a seguinte linha seu sources.list deb ftp://spidermonkey.ximian.com/pub/red-carpet/binary/debian-22-i386/ ./

# Kde 1 e 2 # deb ftp://kde.tdyc.com/pub/kde/debian woody main crypto optional qt1apps

20.2.2

O arquivo /etc/apt/apt.conf

Voc pode especicar opes neste arquivo que modicaro o comportamento do programa apt durante a manipulao de pacotes (ao invs de especicar na linha de comando). Se estiver satisfeito com o funcionamento do programa apt, no necessrio modica-lo. Para detalhes sobre o formato do arquivo, veja a pgina de manual do apt.conf. Na pgina de manual do apt-get so feitas referncias a parmetros que podem ser especicados neste arquivo ao invs da linha de comando.

20.2.3

Copiando a lista de pacotes disponveis

O apt utiliza uma lista de pacotes para vericar se os pacotes existentes no sistema precisam ou no ser atualizados. A lista mais nova de pacotes copiada atravs do comando apt-get update. Este comando pode ser usado com alguma freqncia se estiver usando a distribuio stable e sempre se estiver usando a unstable (os pacotes so modicados com muita freqncia). Sempre utilize o apt-get update antes de atualizar toda a distribuio.

20.2.4

Utilizando CDs ociais/no-ociais/terceiros com o apt

Para usar CDs da Debian ou de programas de terceiros, use o seguinte comando com cada um dos CDs que possui: apt-cdrom add

Captulo 20. Sistema de gerenciamento de pacotes

258

Este comando adicionar automaticamente uma linha para cada CD no arquivo /etc/apt /sources.list e atualizar a lista de pacotes em /var/state/apt/lists. Por padro, a unidade acessada atravs de /cdrom usada. Use a opo -d /dev/scd? para especicar um outra unidade de CDs (veja Identicao de discos e parties em sistemas Linux on page 90 para detalhes sobre essa identicao). Durante a instalao de um novo programa, o apt pede que o CD correspondente seja inserido na unidade e pressionado <Enter> para continuar. O mtodo acesso do apt atravs de CDs inteligente o bastante para instalar todos os pacotes necessrios daquele CD, instalar os pacotes do prximo CD e iniciar a congurao aps instalar todos os pacotes necessrios. Observao: - CDs de terceiros ou contendo programas adicionais tambm podem ser usados com o comando apt-cdrom add.

20.2.5

Instalando novos pacotes

Use o comando apt-get install [pacotes] para instalar novos pacotes em sua distribuio. Podem ser instalados mais de um pacotes ao mesmo tempo separando os nomes por espaos. Somente preciso especicar o nome do pacote (sem a verso e reviso). Se preciso, o apt instalar automaticamente as dependncias necessrias para o funcionamento correto do pacote. Quando pacotes alm do solicitado pelo usurio so requeridos para a instalao, o apt mostrar o espao total que ser usado no disco e perguntar ao usurio se ele deseja continuar. Aps a instalao, o pacote ser automaticamente congurado pelo dpkg para ser executado corretamente em seu sistema.

20.2.6

Removendo pacotes instalado

Use o comando apt-get remove [pacotes] para remover completamente um pacote do sistema. Podem ser removidos mais de um pacote ao mesmo tempo separando os nomes dos pacotes com espaos. O apt-get remove remove completamente o pacote mas mantm os arquivos de congurao, exceto se for adicionada a opo --purge. preciso especicar somente o nome do pacote (sem a verso e reviso).

20.2.7

Atualizando sua distribuio

O apt tem uma grande caracterstica: Atualizar toda a sua distribuio de uma forma inteligente e segura. O apt l a listagem de pacotes disponveis no servidor remoto, verica quais esto instalados e suas verses, caso a verso do pacote seja mais nova que a j instalada em seu sistema, o pacote ser imediatamente atualizado. A cpia dos arquivos pelo apt pode ser feita via FTP, HTTP ou atravs de uma cpia local dos arquivos no disco rgido (um mirror local). Em nenhuma circunstncia os pacotes existentes em seu sistema sero removidos ou sua congurao apagada durante um upgrade na distribuio.

Captulo 20. Sistema de gerenciamento de pacotes

259

Os arquivos de congurao em /etc que foram modicados so identicados e podem ser mantidos ou substitudos por verses existentes nos pacotes que esto sendo instalado, esta escolha feita por voc. Se estiver atualizando a Debian Potato (2.2) para Woody (3.0) (ou verso superior), execute os seguintes comandos antes de iniciar a atualizao: export LANG=C export LC_ALL=C export LC_MESSAGES=C para retornar as variveis de localizao ao valor padro (ingls). Isto necessrio por causa de modicaes no sistema de locales, e o excesso de mensagens de erro do perl causaram alguns problemas em meus testes. Aps isto, a atualizao da distribuio Debian pode ser feita atravs de dois simples comandos: apt-get update #Para atualizar a lista de pacotes (obrigatrio) apt-get -f dist-upgrade #Para atualizar a distribuio A opo -f faz com que o apt verique e corrija automaticamente problemas de dependncias entre pacotes. Recomendo executa o comando apt-get -f --dry-run dist-upgrade|less para ver o que vai acontecer sem atualizar a distribuio, se tudo ocorrer bem, retire o --dry-run e v em frente. A distribuio usada na atualizao pode ser: Para a mesma verso que utiliza - Para quem deseja manter os pacotes sempre atualizados entre revises, copiar pacotes que contm correes para falhas de segurana (veja a pgina web em http://www.debian.org/ para acompanhar o boletim de segurana). Para uma distribuio stable - Mesmo que o acima, mas quando uma nova distribuio for lanada, o link simblico de stable ser apontado para prxima distribuio, atualizando instantaneamente seu sistema. Para a distribuio testing - Atualiza para a futura distribuio Debian que ser lanada, como a unstable, mas seus pacotes passam por um perodo de testes de 2 semanas na unstable antes de serem copiados para esta. unstable - Verso em desenvolvimento, recomendada somente para desenvolvedores ou usurios que conhecem a fundo o sistema GNU/Linux e saibam resolver eventuais problemas que apaream. A unstable uma distribuio em constante desenvolvimento e podem haver pacotes problemticos ou com falhas de segurana. Aps o perodo de desenvolvimento, a distribuio unstable se tornar frozen. frozen - Verso congelada, nenhum pacote novo aceito e somente so feitas correes de falhas. Aps todas as falhas estarem corrigidas, a distribuio frozen se tornar stable A distribuio que ser usada na atualizao pode ser especicada no arquivo /etc/apt /sources.list (veja a seo correspondente acima). Caso o mtodo de atualizao usado seja via HTTP ou FTP, ser necessrio usar o comando apt-get clean para remover os pacotes copiados para seu sistema (para detalhes veja a seo seguinte).

Captulo 20. Sistema de gerenciamento de pacotes

260

20.2.8

Removendo pacotes baixados pelo apt

Use o comando apt-get clean para apagar qualquer arquivo baixado durante uma atualizao ou instalao de arquivos com o apt. Os arquivos baixados residem em /var/cache /apt/archives (download completo) e /var/cache/apt/archives/partial (arquivos sendo baixados - parciais). Este local de armazenamento especialmente usado com o mtodo http e ftp para armazenamento de arquivos durante o download para instalao (todos os arquivos so primeiro copiados para serem instalados e congurados). O apt-get clean automaticamente executado caso seja usado o mtodo de acesso apt do dselect.

20.2.9

Procurando por pacotes atravs da descrio

O utilitrio apt-cache pode ser usado para esta funo. Ele tambm possui outras utilidades interessante para a procura e manipulao da lista de pacotes. Por exemplo, o comando apt-cache search clock mostrar todos os pacotes que possuem a palavra clock na descrio do pacote.

20.2.10

Procurando um pacote que contm determinado arquivo

Suponha que algum programa esteja lhe pedindo o arquivo perlcc e voc no tem a mnima idia de que pacote instalar no seu sistema. O utilitrio auto-apt pode resolver esta situao. Primeiro instale o pacote auto-apt e execute o comando auto-apt update para que ele copie o arquivo Contents-i386.gz que ser usado na busca desses dados. Agora, basta executar o comando: auto-apt search perlcc para que ele retorne o resultado: usr/bin/perlcc interpreters/perl

O pacote que contm este arquivo o perl e se encontra na seo interpreters dos arquivos da Debian. Para uma pesquisa que mostra mais resultados (como auto-apt search a2ps), interessante usar o grep para ltrar a sada: auto-apt search a2ps|grep bin/ usr/bin/psmandup text/a2ps usr/bin/pdiff text/a2ps

Captulo 20. Sistema de gerenciamento de pacotes

261

usr/bin/psset text/a2ps usr/bin/composeglyphs text/a2ps usr/bin/a2psj text/a2ps-perl-ja usr/bin/a2ps text/a2ps usr/bin/fixps text/a2ps usr/bin/ogonkify text/a2ps usr/bin/fixnt text/a2ps usr/bin/card text/a2ps usr/bin/texi2dvi4a2ps text/a2ps Sero mostrados somente os binrios, diretrios de documentao, manpages, etc. no sero mostradas.

20.2.11

Modos ecazes de compilao do cdigo fonte para a Debian

O Debian como qualquer distribuio de Linux, possui o diretrio /usr/local que segundo a FHS o local apropriado para colocao de programas que no fazem parte da distribuio, que seria no caso o de fontes compilados manualmente. Um dos grandes trabalhos de quem pega o cdigo fonte para compilao a instalao de bibliotecas de desenvolvimento para a compilao ocorrer com sucesso. O auto-apt facilita magicamente o processo de compilao da seguinte forma: durante o passo ./configure no momento que pedida uma bibliotecas, dependncia, etc. o auto-apt para o processo, busca por pacotes no repositrio da Debian, pergunta qual pacote ser instalado (caso tenha mais de uma opo), instala e retorna o ./configure do ponto onde havia parado. Para fazer isso, execute o comando: auto-apt run ./configure E ele se encarregar do resto :-)

20.2.12

Vericando pacotes corrompidos

Use o comando apt-get check para vericar arquivos corrompidos. A correo feita automaticamente. A lista de pacotes tambm atualizada quando utiliza este comando.

20.2.13

Corrigindo problemas de dependncias e outros erros

Use o comando apt-get -f install (sem o nome do pacote) para que o apt-get verique e corrija problemas com dependncias de pacotes e outros problemas conhecidos.

Captulo 20. Sistema de gerenciamento de pacotes

262

263

Captulo 21

Personalizao do Sistema
Este captulo ensina como personalizar algumas caractersticas de seu sistema GNU/Linux.

21.1

Variveis de Ambientes

um mtodo simples e prtico que permite a especicao de opes de congurao de programas sem precisar mexer com arquivos no disco ou opes. Algumas variveis do GNU/Linux afetam o comportamento de todo o Sistema Operacional, como o idioma utilizado e o path (veja path on page 116) . Variveis de ambientes so nomes que contm algum valor e tem a forma Nome=Valor. As variveis de ambiente so individuais para cada usurio do sistema ou consoles virtuais e permanecem residentes na memria RAM at que o usurio saia do sistema (logo-off) ou at que o sistema seja desligado. As variveis de ambiente so visualizadas/criadas atravs do comando set ou echo $NOME (apenas visualiza) e exportadas para o sistemas com o comando export NOME=VALOR. Nos sistemas Debian, o local usado para especicar variveis de ambiente o /etc /environment (veja Arquivo /etc/environment on page 266). Todas as variveis especicadas neste arquivos sero inicializadas e automaticamente exportadas na inicializao do sistema. Exemplo: Para criar uma varivel chamada TESTE que contenha o valor 123456 digite: export TESTE=123456. Agora para ver o resultado digite: echo $TESTE ou set|grep TESTE. Note que o $ que antecede o nome TESTE serve para identicar que se trata de uma varivel e no de um arquivo comum.

21.2

Modicando o Idioma usado em seu sistema

O idioma usado em seu sistema pode ser modicado facilmente atravs das variveis de ambiente. Atualmente a maioria dos programas esto sendo localizados. A localizao um recurso que especica arquivos que contm as mensagens do programas em outros idiomas. Voc

Captulo 21. Personalizao do Sistema

264

pode usar o comando locale para listar as variveis de localizao do sistema e seus respectivos valores. As principais variveis usadas para determinar qual idioma os programas localizados utilizaro so: LANG - Especica o idioma_PAIS local. Podem ser especicados mais de um idioma na mesma varivel separando-os com :, desta forma caso o primeiro no esteja disponvel para o programa o segundo ser vericado e assim por diante. A lngua Inglesa identicada pelo cdigo C e usada como padro caso nenhum locale seja especicado. Por exemplo: export LANG=pt_BR, export LANG=pt_BR:pt_PT:C LC_MESSAGES - Especica o idioma que sero mostradas as mensagens dos programas. Seu formato o mesmo de LANG. LC_ALL - Congura todas as variveis de localizao de uma s vez. Seu formato o mesmo de LANG. As mensagens de localizao esto localizadas em arquivos individuais de cada programa em /usr/share/locale/[Idioma]/LC_MESSAGES . Elas so geradas atravs de arquivos potfiles (arquivos com a extenso .po ou .pot e so gerados catlogos de mensagens .mo. As variveis de ambiente podem ser especicadas no arquivo /etc/environment desta forma as variveis sero carregadas toda a vez que seu sistema for iniciado. Voc tambm pode especicar as variveis de localizao em seu arquivos de inicializao .bash_profile, .bashrc ou .profile assim toda a vez que entrar no sistema, as variveis de localizao personalizadas sero carregadas. Siga as instrues a seguir de acordo com a verso de sua distribuio Debian: Debian 3.0 Acrescente a linha pt_BR ISO-8859-1 no arquivo /etc/locale.gen, rode o utilitrio locale-gen para gerar os locales e acrescente as variveis de localizao no arquivo /etc/locales.def seguindo a forma: export LANG=pt_BR export LC_ALL=pt_BR export LC_MESSAGES=pt_BR Note que o arquivo /etc/environment tambm pode ser usado para tal tarefa, mas o locales.def foi criado especialmente para lidar com variveis de localizao na Debian 3.0. Debian 2.2 Coloque estas variveis no arquivo /etc/environment (veja um exemplo deste arquivo em Arquivo /etc/environment on page 266), assim toda a vez que seu sistema for iniciado as variveis de localizao sero carregadas e exportadas para o sistema, estando disponveis para todos os usurios. Para as mensagens e programas do X-Window usarem em seu idioma local, preciso colocar as variveis no arquivo ~/.xserverrc do diretrio home de cada usurio e dar a permisso de execuo neste arquivo (chmod 755 .xserverrc). Lembre-se de incluir o caminho completo do arquivo executvel do seu gerenciador de janelas na ltima linha deste arquivo (sem o & no nal), caso contrrio o Xserver ser nalizado logo aps ler este arquivo. Abaixo exemplos de localizao com as explicaes: export LANG=pt_BR - Usa o idioma pt_BR como lngua padro do sistema. Caso o idioma Portugues do Brasil no esteja disponvel, C usado (Ingls). export LANG=C - Usa o idioma Ingls como padro ( a mesma coisa de no especicar LANG, pois o idioma Ingls usado como padro).

Captulo 21. Personalizao do Sistema

265

export LANG=pt_BR:pt_PT:es_ES:C - Usa o idioma Portugus do Brasil como padro, caso no esteja disponvel usa o Portugus de Portugal, se no estiver disponvel usa o Espanhol e por m o Ingls. recomendvel usar a varivel LC_ALL para especicar o idioma, desta forma todos os outras variveis (LANG,MESSAGES,LC_MONETARY,LC_NUMERIC,LC_COLLATE,LC_CTYPE eLC_TIME) sero conguradas automaticamente.

21.3

alias

Permite criar um apelido a um comando ou programa. Por exemplo, se voc gosta de digitar (como eu) o comando ls --color=auto para ver uma listagem longa e colorida, voc pode usar o comando alias para facilitar as coisas digitando: alias ls=ls --color=auto (no se esquea da meia aspa para identicar o comando). Agora quando voc digitar ls, a listagem ser mostrada com cores. Se voc digitar ls -la, a opo -la ser adicionada no nal da linha de comando do alias: ls --color=auto -la, e a listagem tambm ser mostrada em cores. Se quiser utilizar isto toda vez que entrar no sistema, veja Arquivo .bash_profile on the following page e Arquivo .bashrc on the next page.

21.4

Arquivo /etc/profile

Este arquivo contm comandos que so executados para todos os usurios do sistema no momento do login. Somente o usurio root pode ter permisso para modicar este arquivo. Este arquivo lido antes do arquivo de congurao pessoal de cada usurio (.profile(root) e .bash_profile). Quando carregado atravs de um shell que requer login (nome e senha), o bash procura estes arquivos em seqncia e executa os comandos contidos, caso existam: 1 /etc/profile 2 ~/.bash_profile 3 ~/.bash_login 4 ~/.profile Ele ionterrompe a pesquisa assim que localiza o primeiro arquivo no diretrio do usurio (usando a sequncia acima). Por exemplo, se voc tem o arquivo ~/.bash_login e ~ /.bash_profile em seu diretrio de usurio, ele processar o /etc/profile e aps isto o ~/.bash_profile, mas nunca processar o ~/.bash_login (a menos que o ~ /.bash_profile seja apagado ou renomeado). Caso o bash seja carregado atravs de um shell que no requer login (um terminal no X, por exemplo), o seguinte arquivo executado: ~/.bashrc. Observao: Nos sistemas Debian, o prole do usurio root est congurado no arquivo /root/.profile. A razo disto porque se o bash for carregado atravs do comando sh,

Captulo 21. Personalizao do Sistema

266

ele far a inicializao clssica deste shell lendo primeiro o arquivo /etc/profile e aps o ~/.profile e ignorando o .bash_profile e .bashrc que so arquivos de congurao usados somente pelo Bash. Exemplo, inserindo a linha mesg y no arquivo /etc/profile permite que todos os usurios do sistema recebam pedidos de talk de outros usurios. Caso um usurio no quiser receber pedidos de talk, basta somente adicionar a linha mesg n no arquivo pessoal .bash_profile.

21.5

Arquivo .bash_profile

Este arquivo reside no diretrio pessoal de cada usurio. executado por shells que usam autenticao (nome e senha). .bash_profile contm comandos que so executados para o usurio no momento do login no sistema aps o /etc/profile. Note que este um arquivo oculto pois tem um . no inicio do nome. Por exemplo colocando a linha: alias ls=ls --colors=auto no .bash_profile, cria um apelido para o comando ls -colors=auto usando ls, assim toda vez que voc digitar ls ser mostrada a listagem colorida.

21.6

Arquivo .bashrc

Possui as mesmas caractersticas do .bash_profile mas executado por shells que no requerem autenticao (como uma seo de terminal no X). Os comandos deste arquivo so executados no momento que o usurio inicia um shell com as caractersticas acima. Note que este um arquivo oculto pois tem um . no inicio do nome.

21.7

Arquivo .hushlogin

Deve ser colocado no diretrio pessoal do usurio. Este arquivo faz o bash pular as mensagens do /etc/motd, nmero de e-mails, etc. Exibindo imediatamente o aviso de comando aps a digitao da senha.

21.8

Arquivo /etc/environment

Armazena as variveis de ambiente que so exportadas para todo o sistema. Uma varivel de ambiente controla o comportamento de um programa, registram detalhes teis durante a seo do usurio no sistema, especicam o idioma das mensagens do sistema, etc. Exemplo do contedo de um arquivo /etc/environment: LANG=pt_BR

Captulo 21. Personalizao do Sistema

267

LC_ALL=pt_BR LC_MESSAGES=pt_BR

21.9

Diretrio /etc/skel

Este diretrio contm os modelos de arquivos .bash_profile e .bashrc que sero copiados para o diretrio pessoal dos usurios no momento que for criada uma conta no sistema. Desta forma voc no precisar congurar estes arquivos separadamente para cada usurio.

Captulo 21. Personalizao do Sistema

268

269

Captulo 22

Impresso
Este capitulo descreve como imprimir em seu sistema GNU/Linux e as formas de impresso via spool, rede, grca, etc. Antes de seguir os passos descritos neste captulo, tenha certeza que seu kernel foi compilado com o suporte a impressora paralela ativado, caso contrrio at mesmo a impresso direta para a porta de impressora falhar. Para detalhes veja Recompilando o Kernel on page 215 .

22.1

Portas de impressora

Uma porta de impressora o local do sistema usado para se comunicar com a impressora. Em sistemas GNU/Linux, a porta de impressora identicada como lp0,lp1,lp2 no diretrio /dev, correspondendo respectivamente a LPT1, LPT2 e LPT3 no DOS e Windows. Recomendo que o suporte a porta paralela esteja compilado como mdulo no kernel.

22.2

Imprimindo diretamente para a porta de impressora

Isto feito direcionando a sada ou o texto com > diretamente para a porta de impressora no diretrio /dev. Supondo que voc quer imprimir o texto contido do arquivo trabalho.txt e a porta de impressora em seu sistema /dev/lp0, voc pode usar os seguintes comandos: cat trabalho.txt >/dev/lp0 - Direciona a sada do comando cat para a impressora. cat <trabalho.txt >/dev/lp0. Faz a mesma coisa que o acima. cat -n trabalho.txt >/dev/lp0 - Numera as linhas durante a impresso. head -n 30 trabalho.txt >/dev/lp0 - Imprime as 30 linhas iniciais do arquivo. cat trabalho.txt|tee /dev/lp0 - Mostra o contedo do cat na tela e envia tambm para a impressora. Os mtodos acima servem somente para imprimir em modo texto (letras, nmeros e caracteres semi-grcos).

Captulo 22. Impresso

270

22.3

Imprimindo via spool

A impresso via spool tem por objetivo liberar logo o programa do servio de impresso deixando um outro programa especico tomar conta. Este programa chamado de daemon de impresso, normalmente o lpr ou o lprng (recomendado) em sistemas GNU/Linux. Logo aps receber o arquivo que ser impresso, o programa de spool gera um arquivo temporrio (normalmente localizado em /var/spool/lpd) que ser colocado em la para a impresso (um trabalho ser impresso aps o outro, em seqncia). O arquivo temporrio gerado pelo programa de spool apagado logo aps concluir a impresso. Antes de se imprimir qualquer coisa usando os daemons de impresso, preciso congurar os parmetros de sua impressora no arquivo /etc/printcap. Um arquivo /etc/printcap para uma impressora local padro se parece com o seguinte: lp|Impressora compatvel com Linux :lp=/dev/lp0 :sd=/var/spool/lpd/lp :af=/var/log/lp-acct :lf=/var/log/lp-errs :pl#66 :pw#80 :pc#150 :mx#0 :sh possvel tambm compartilhar a impressora para a impresso em sistemas remotos, isto ser visto em uma seo separada neste guia. Usando os exemplos anteriores da seo Imprimindo diretamente para uma porta de impressora, vamos acelerar as coisas: cat trabalho.txt |lpr - Direciona a sada do comando cat para o programa de spool lpr. cat <trabalho.txt |lpr. Faz a mesma coisa que o acima. cat -n trabalho.txt |lpr - Numera as linhas durante a impresso. head -n 30 trabalho.txt |lpr - Imprime as 30 linhas iniciais do arquivo. A la de impresso pode ser controlada com os comandos: lpq - Mostra os trabalhos de impresso atuais lprm - Remove um trabalho de impresso Ou usado o programa de administrao lpc para gerenciar a la de impresso (veja a pgina de manual do lpc ou digite ? ao iniciar o programa para detalhes). OBS1: Se a impressora no imprimir ou no for possvel compartilhar a porta de impressora paralela com outros dispositivos (tal como o plip), verique se o mdulo parport_pc foi carregado e com os valores de irq e I/O corretos (por exemplo, modprobe parport_pc io=0x378 irq=7). Muitas vezes sua porta paralela pode funcionar sem problemas durante a impresso, mas se ao utilizar plip ocorrerem erros, a causa pode ser essa. Na distribuio

Captulo 22. Impresso

271

Debian, use o programa modconf para congurar os valores permanentemente para o mdulo parport_pc. OBS2: Se tiver mais de uma impressora instalada na mquina, ser necessrio especicar a opo -P impressora para especicar qual impressora deseja imprimir/controlar.

22.4

Impresso em modo grco

A impresso em modo grco requer que conhea a marca e modelo de sua impressora e os mtodos usados para imprimir seus documentos. Este guia abordar somente a segunda recomendao :-)

22.4.1

Ghost Script

O mtodo mais usados pelos aplicativos do GNU/Linux para a impresso de grcos do Ghost Script. O Ghost Script (chamado de gs) um interpretador do formato Pos Script (arquivos .ps) e pode enviar o resultado de processamento tanto para a tela como impressora. Ele est disponvel para diversas plataformas e sistema operacionais alm do GNU/Linux, inclusive o DOS, Windows, OS/2, etc. O formato .ps esta se tornando uma padronizao para a impresso de grcos em GNU/Linux devido a boa qualidade da impresso, liberdade de congurao, gerenciamento de impresso feito pelo gs e por ser um formato universal, compatveis com outros sistemas operacionais. Para imprimir um documento via Ghost Script, voc precisar do pacote gs, gsfonts (para a distribuio Debian e distribuies baseadas, ou outros de acordo com sua distribuio Linux) e suas dependncias. A distribuio Debian vem com vrios exemplos Pos Script no diretrio /usr/share/doc/gs/example que so teis para o aprendizado e testes com o Ghost Script. Hora da diverso: Copie os arquivos tiger.ps.gz e alphabet.ps.gz do diretrio /usr/share/doc /gs/examples (sistemas Debian) para /tmp e descompacte-os com o comando gzip -d tiger.ps.gz e gzip -d alphabet.ps.gz. Se a sua distribuio no possui arquivos de exemplo ou voc no encontra nenhuma referncia de onde se localizam, mande um e-mail que os envio os 2 arquivos acima (so 32Kb). O Ghost Script requer um monitor EGA, VGA ou superior para a visualizao dos seus arquivos (no tenho certeza se ele funciona com monitores CGA ou Hrcules Monocromtico) . Para visualizar os arquivos na tela digite: gs tiger.ps gs alphabet.ps Para sair do Ghost Script pressione CTRL+C. Neste ponto voc deve ter visto um desenho de um tigre e (talvez) letras do alfabeto. Se o comando gs alphabet.ps mostrou somente uma tela em branco, voc se esqueceu de instalar as fontes do Ghost Script (esto localizadas no pacote gsfonts na distribuio Debian).

Captulo 22. Impresso

272

Para imprimir o arquivo alphabet.ps use o comando: gs -q -dSAFER -dNOPAUSE -sDEVICE=epson -r240x72 -sPAPERSIZE=legal -sOut alphabet.ps O arquivo alphabet.ps deve ser impresso. Caso aparecerem mensagens como Error: /invalidfont in findfont no lugar das letras, voc se esqueceu de instalar ou congurar as fontes do Ghost Script. Instale o pacote de fontes (gsfonts na Debian) ou verique a documentao sobre como congurar as fontes. Cada uma das opes acima descrevem o seguinte: -q, -dQUIET - No mostra mensagens de inicializao do Ghost Script. -dSAFER - uma opo para ambientes seguros, pois desativa a operao de mudana de nome e deleo de arquivo e permite somente a abertura dos arquivos no modo somente leitura. -dNOPAUSE - Desativa a pausa no nal de cada pgina processada. -sDEVICE=dispositivo - Dispositivo que receber a sada do Ghost Script. Neste local pode ser especicada a marca o modelo de sua impressora ou um formato de arquivo diferente (como pcxmono, bmp256) para que o arquivo .ps seja convertido para o formato designado. Para detalhes sobre os dispositivos disponveis em seu Ghost Script, digite gs --help|less ou veja a pgina de manual. Normalmente os nomes de impressoras e modelos so concatenados, por exemplo, bjc600 para a impressora Canon BJC 600, epson para impressoras padro epson, stcolor para Epson Stylus color, etc. O Hardware-HOWTO contm referncias sobre hardware suportados pelo GNU/Linux, tal como impressoras e sua leitura pode ser til. -r<ResH>x<ResV> - Dene a resoluo de impresso (em dpi) Horizontal e Vertical. Os valores dependem de sua impressora. -sPAPERSIZE=tamanho - Tamanho do papel. Podem ser usados a4, legal, letter, etc. Veja a pgina de manual do gs para ver os outros tipos suportados e suas medidas. -sOutputFile=dispositivo - Dispositivo que receber a sada de processamento do gs. Voc pode especicar * arquivo.epson - Nome do arquivo que receber todo o resultado do processamento. O arquivo.epson ter toda a impresso codicada no formato entendido por impressoras epson e poder ser impresso com o comando cat arquivo.epson >/dev/lp0. Uma curiosidade til: possvel imprimir este arquivo em outros sistemas operacionais, tal como o DOS digitando: copy /b arquivo.eps prn (lembre-se que o DOS tem um limite de 8 letras no nome do arquivo e 3 na extenso. Voc deve estar compreendendo a exibilidade que o GNU/Linux e suas ferramentas permitem, isso s o comeo. * impressao%d.epson - Nome do arquivo que receber o resultado do processamento. Cada pgina ser gravada em arquivos separados como impressao1.epson, impressao2.epson. Os arquivos podem ser impressos usando os mesmos mtodos acima. * /dev/lp0 para uma impressora em /dev/lp0 * - para redirecionar a sada de processamento do gs para a sada padro. til para usar o gs com pipes |. * \|lpr - Envia a sada do Ghost Script para o daemon de impresso. O objetivo

Captulo 22. Impresso

273

deixar a impresso mais rpida. Se voc curioso ou no esta satisfeito com as opes mostradas acima, veja a pgina de manual do gs.

22.5

Magic Filter

O Magic Filter um ltro de impresso inteligente. Ele funciona acionado pelo spool de impresso (mais especicamente o arquivo /etc/printcap) e permite identicar e imprimir arquivos de diversos tipos diretamente atravs do comando lpr arquivo. um timo programa e ALTAMENTE RECOMENDADO se voc deseja apenas clicar no boto imprimir e deixar os programas fazerem o resto :-) A inteno do programa justamente automatizar os trabalhos de impresso e spool. A maioria dos programas para ambiente grco X11, incluindo o Netscape, Word Perfect, Gimp e Star Ofce trabalham nativamente com o magicfilter.

22.5.1

Instalao e congurao do Magic Filter

O Magic Filter encontrado no pacote magicfilter da distribuio Debian e baseadas. Sua congurao pode ser feita com o programa magicfilterconfig que torna o processo de congurao rpido e fcil para quem no conhece a sintaxe do arquivo /etc/printcap ou no tem muitas exigncias sobre a congurao detalhada da impressora. Aps instalar o magicfilter reinicie o daemon de impresso (se estiver usando a Debian, entre no diretrio /etc/init.d e como usurio root digite ./lpr restart ou ./lprng restart). Para testar o funcionamento do magicfilter, digite lpr alphabet.ps e lpr tiger.ps, os arquivos sero enviados para o magicfilter que identicar o arquivo como Pos Script, executar o Ghost Script e retornar o resultado do processamento para o daemon de impresso. O resultado ser visto na impressora. Se tiver problemas, verique se a congurao feita com o magicfilterconfig est correta. Caso precise re-congurar o magicfilter, digite magicfilterconfig --force (lembrese que a opo force substitui qualquer congurao personalizada que tenha adicionado ao arquivo /etc/printcap).

22.5.2

Outros detalhes tcnicos sobre o Magic Filter

Durante a congurao do magicfilter, a seguinte linha adicionada ao arquivo /etc /printcap: :if=/etc/magicfilter/epson9-filter

Captulo 22. Impresso

274

No tenho nenhum contrato de divulgao com a epson :-) estou usando esta marca de impressora porque a mais tradicional e facilmente encontrada. A linha que comea com :if no magicfilter identica um arquivo de ltro de impresso. O arquivo /etc/magicfilter/epson9-filter criado usando o formato do magiclter, e no difcil entender seu contedo e fazer algumas modicaes:

#! /usr/sbin/magicfilter # # Magic filter setup file for 9-pin Epson (or compatible) printers # # This file is in the public domain. # # This file has been automatically adapted to your system. # # wild guess: native control codes start with ESC 0 \033 cat

# PostScript 0 %! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputF 0 \004%! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOut

# PDF 0 %PDF fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutput # TeX DVI 0 \367\002 fpipe /usr/bin/dvips -X 120 # compressd data 0 \037\235 pipe /bin/gzip # 0 0 0 0

-Y 72

-R -q -f

-cdq

packed, gzipped, frozen and SCO LZH data \037\036 pipe /bin/gzip -cdq \037\213 pipe /bin/gzip -cdq \037\236 pipe /bin/gzip -cdq \037\240 pipe /bin/gzip -cdq -cdq

0 BZh pipe /usr/bin/bzip2 # 0 0 0 0 0

troff documents .\?\?\040 fpipe /usr/bin/grog -Tps $FILE .\\\" fpipe /usr/bin/grog -Tps $FILE \\\" fpipe /usr/bin/grog -Tps $FILE .\\\" fpipe /usr/bin/grog -Tps $FILE \\\" fpipe /usr/bin/grog -Tps $FILE

Captulo 22. Impresso

275

Voc deve ter notado que para cada tipo de arquivo existe o respectivo programa que executado, basta voc modicar as opes usadas nos programas neste arquivo (como faria na linha de comando) para afetar o comportamento da impresso. Por exemplo, modicando a resoluo para -r240x72 no processamento de arquivos Pos Script (gs), a impressora passar a usar esta resoluo.

Captulo 22. Impresso

276

277

Captulo 23

Congurao do sistema
Este captulo traz explicaes sobre algumas conguraes teis que podem ser feitas no sistema. Neste documento assumimos que o kernel do seus sistema j possui suporte a pgina de cdigo 860 (Portuguesa) e o conjunto de caracteres ISO-8859-1.

23.1

Acentuao

Permite que o GNU/Linux use a acentuao. A acentuao do modo texto independente do modo grco; voc pode congurar tanto um como o outro ou ambos. Para maiores detalhes veja Acentuao em modo Texto on the current page e/ou Acentuao em modo grco on page 279. Note que os mapas de teclado usados em modo texto so diferentes dos usados em modo grco. Geralmente os mapas de teclados para o modo grco tem uma letra X no nome.

23.1.1

Acentuao em modo Texto

Caso sua distribuio Debian esteja acentuando corretamente no modo texto voc no precisar ler esta seo. Antes de prosseguir, verique se voc possui o pacote kbd ou console-data instalado em seu sistema com o comando: dpkg -l kbd. Caso no existam, alguns programas de congurao e arquivos de fontes no estaro disponveis. Siga os passos abaixo para colocar e acentuao em funcionamento para o modo Texto na Debian: Mapa de Teclados Debian 2.2 (Potato) Verique se possui o arquivo de mapa de teclado correspondente ao seu modelo. Um mapa de teclado so arquivos com a extenso .map ou .kmap que fazem a traduo do cdigo enviado pelo teclado para um caracter que ser exibido na tela alm de outras funes como o Dead Keys (pressionamento de uma tecla que no gera nenhum caracter mas afetar o prximo caracter gerado - como na acentuao, quando voc aperta o no aparece nada mas aps

Captulo 23. Congurao do sistema

278

apertar a letra A um caracter exibido. A combinao + A um Dead Key e est denido no arquivo do mapa de teclados). Os tipos de teclados mais usados aqui no Brasil so o padro EUA e o ABNT2. O teclado padro EUA o modelo usado nos Estados Unidos e voc precisar apertar +C para gerar um Cedilha (), enquanto o teclado ABNT2 possui todas as teclas usadas no Brasil (semelhante a uma mquina de escrever) e o Cedilha possui sua prpria tecla aps a letra L. O mapa de teclados correspondente ao teclado padro EUA o br-latin1 enquanto o ABNT2 o br-abnt2. Se no tiver o arquivo correspondente ao seu teclado ou no encontralo, voc poder copia-lo de http://www.guiafoca.org/download/outros/ Consolemaps_tar.gz, este arquivo possui 3 mapas de teclados para os 2 teclados Brasileiros mais usados e um de Portugal (raramente usado no Brasil). Descompacte o arquivo Consolemaps_tar.gz para um local em seu sistema (por exemplo: /tmp) com o comando: tar -xzvf Consolemaps_tar.gz. Note que este arquivo serve somente para a congurao no modo texto (console), veja a seo seguinte para congurar a acentuao no modo grco. Debian 3.0 (Woody) Digite dpkg-reconfigure console-data. Aps a tela inicial, selecione a opo Select Keymap from Arch List, qwerty e selecione os passos seguintes de acordo com seu tipo de teclado: Us Internacional - Selecione US American na lista de opes e em seguida Standard e US International (ISO-8859-1). ABNT2 (com cedilha) - Selecione Brazilian na lista de opes. Congurando o Mapa de Teclados Se o arquivo do mapa de teclados possuir a extenso .gz, descompacte-o com o comando: gzip -dc arquivo.gz>/etc/kbd/default.map ou gzip -d arquivo.gz para descompactar e depois o comando cp arquivo.kmap /etc/kbd/default. Se o arquivo possuir a extenso .tar.gz, descompacte-o com o comando: tar -zxvf arquivo.tar.gz e depois use o comando cp arquivo.kmap /etc/kbd/default. Faa isto substituindo arquivo.gz ou arquivo.tar.gz com o nome do arquivo compactado que contm o mapa de teclados. Voc pode manter o arquivo /etc/kbd/default.map.gz, pois este arquivo lido pelos scripts de inicializao da Debian somente se o arquivo /etc/kbd/default.map no for encontrado. Se desejar usar o comando loadkeys, voc precisa copiar o mapa de teclados para um local conhecido no sistema, ento copie o arquivo arquivo.kmap para /usr/share /keymaps/i386/qwerty (em sistemas Debian) ou algum outro local apropriado. Note que o arquivo pode ser compactado pelo gzip e copiado para /usr/share/keymaps /i386/qwerty que ser lido sem problemas pelo sistema encarregado de congurar o teclado e acentuao. Congurando a fonte de Tela Descomente a linha CONSOLE_FONT=iso01.f16 e modiquea para CONSOLE_FONT=lat1u-16.psf no arquivo /etc/kbd/config. Esta linha diz ao sistema que fonte deve carregar para mostrar os caracteres na tela. A fonte de caracteres deve ser compatvel com o idioma local, pois nem todas supor-

Captulo 23. Congurao do sistema

279

tam caracteres acentuados. A fonte prefervel para exibir os caracteres acentuados a lat1u-16, o -16 no nome do arquivo signica o tamanho da fonte. As fontes de tela esto disponveis no diretrio /usr/share/consolefonts. Neste ponto voc pode vericar se o seu sistema esta reconhecendo corretamente a acentuao entrando no editor de textos ae e digitando: . Se todos os acentos apareceram corretamente, parabns! voc j passou pela parte mais difcil. Agora o prximo passo a acentuao no Bash. Acentuao no aviso de comando (bash) Para acentuar no Bash (interpretador de comandos) necessrio alterar o arquivo /etc/inputrc e fazer as seguintes modicaes: 1 Descomente a linha: #set convert-meta off voc faz isto apagando o smbolo # antes do nome. Um comentrio faz com que o programa ignore linha(s) de comando. muito til para descrever o funcionamento de comandos/programas (voc vai encontrar muito isso no sistema GNU/Linux, tudo muito bem documentado). 2 Inclua a seguinte linha no nal do arquivo: set meta-ag on 3 O contedo deste arquivo deve car assim: set convert-meta off set input-meta on set output-meta on 4 Digite exit ou pressione CTRL+D para fazer o logout. Entre novamente no sistema para que as alteraes faam efeito. Pronto! voc j esta acentuando em modo texto!. Talvez seja necessrio que faa alguma alterao em arquivos de congurao de outros programas para que possa acentuar corretamente (veja se existe algum arquivo com o nome correspondente ao programa no diretrio /etc). A distribuio Debian tambm traz o utilitrio kbdconfig que tambm faz a congurao do mapa de teclados de forma interativa e gravando automaticamente o mapa de teclados em /etc/kbd/default.map.gz. Se preferir usar o kbdconfig ainda ser necessrio executar os passos acima para habilitao da fonte lat1u-16 e acentuao no bash.

23.1.2

Acentuao em modo grco

A acentuao no modo grco feita de maneira simples: Mapa de Teclados Verique se possui o arquivo de mapa de teclado para o modo grco que corresponde ao seu teclado. Um arquivo de mapa de teclado faz a traduo do cdigo enviado pelo teclado para um caracter que ser exibido na tela. Este tipo de arquivo identicado com a extenso .map. Se no tiver este arquivo ou no encontra-lo, voc pode

Captulo 23. Congurao do sistema

280

copia-lo de http://www.guiafoca.org/download/outros/Xmodmaps_tar.gz, este arquivo possui 3 mapas de teclados para os 2 teclados Brasileiros mais usados e um de Portugal. Descompacte o arquivo Xmodmaps_tar.gz para um local em seu sistema (por exemplo: /tmp) com o comando: tar -xzvf Xmodmaps-tar.gz. Note que os mapas de teclado do Xmodmaps_tar.gz somente servem para a congurao no modo grco (X-Window). Acentuao no X Para acentuar no X voc precisar descompactar e copiar o arquivo de mapa de teclado adequado ao seu computador em cima do arquivo /etc/X11/Xmodmap que j est em seu sistema. No meu caso, eu usei o seguinte comando (aps descompactar o arquivo): cp Xmodmap.us+ /etc/X11/Xmodmap. Agora voc precisa reiniciar o servidor X para que as alteraes faam efeito (ou digite xmodmap /etc/X11/Xmodmap no xterm para aplicar as alteraes na seo atual). Os passos descritos at aqui funcionaro para pessoas que iniciam o X pelo prompt (usando o comando startx, xinit, etc), veja o passo seguinte para acentuar pelo XDM. Acentuao no XDM Para acentuar no XDM, inclua as seguintes linhas no arquivo /etc/X11 /xdm/Xsetup_0: sysmodmap=/etc/X11/Xmodmap if [ -r $sysmodmap ]; then xmodmap $sysmodmap fi

23.2

Nmero de Cores do ambiente grco

O nmero de cores do ambiente grco pode ser alterado facilmente. Por padro, a maioria das instalaes e distribuies GNU/Linux vem com apenas 16 cores (4 bits) porque um nmero de cores suportado por qualquer placa de vdeo, sem modicaes especiais. A congurao de mais de 16 cores exige que voc tenha escolhido o modelo correto de sua placa de vdeo (usando o programa xf86config (na Debian 2.2) ou digitando dpkg-reconfigure xserver-svga (na Debian 3.0)). Por exemplo, minha placa de vdeo uma Trident 9680 na tela de seleo do programa xf86config eu escolhi Trident 9680 Generic (cdigo 671 no servidor X 3.3.6) que o driver que permite o uso de todas as cores permitidas por esta placa e tambm usar os recursos de acelerao que ela oferece. Voc pode utilizar o programa xviddetect para obter o modelo de sua placa de vdeo e o servidor X correspondente a ela, basta digitar xviddetect na linha de comando. O comando dpkg-reconfigure xserver-svga da Debian 3.0 (Woody) mais exvel e possui uma facilidade maior de congurao, inclusive auto-detectando seu chipset de vdeo e congurando seu monitor de acordo com o tamanho da tela (em polegadas). Com uma congurao correta possvel atingir at 32 bits de cores (pocket pixel) no X. A congurao do X utiliza o nmero de bits ao invs do nmero de cores na sua congurao. Abaixo uma tabela comparativa:

Captulo 23. Congurao do sistema

281

Bits ------4 bits 8 bits 16 bits 24 bits 32 bits

Nmero Max. Cores Memria mnima requerida na Placa de Vdeo ----------------- ----------------------------------------16 cores 256Kb 256 cores 512Kb 32.384/65536 cores 1MB 16 milhes de cores (pixel menor) 1MB 16 milhes de cores 1MB

Lembre-se que a tabela acima leva em considerao a resoluo de vdeo de 640x480. Caso utilizar uma resoluo de 800x600, 1024x768 ou superior, os requerimentos de memria de vdeo para mostrar o nmero de cores da tabela acima sero maiores. Para mostrar 1024x768 - 16 milhes de cores sero necessrios 2MB de memria de vdeo, por exemplo. A resoluo de 24 bits normalmente traz problemas em alguns chipsets, considere a utilizao da resoluo de 16 ou 32 bits. O uso de uma resoluo de vdeo como 800x600 ou superior, tambm depende do monitor de vdeo. Nem todos os monitores VGA e SVGAs do mercado suportam resolues acima de 640x480. OBS: Se tiver escolha, prera placas de vdeo independentes da placa me. Normalmente as placas de vdeo on-board usam parte da memria RAM como memria de vdeo (memria compartilhada) e isto diminui a performance de vdeo e a performance do sistema porque se voc estiver usando 2MB de memria de vdeo, ter 2 MB a menos para executar seus programas. O preo destas placas geralmente diminui na proporo do desempenho que oferecem. Uma boa escolha para uma melhor qualidade e maior velocidade 16 bits. O motivo disto que quanto maior a qualidade e a resoluo, mais tempo ser levado para os pixels serem atualizados no monitor. Veja abaixo como congurar o nmero de cores para quem esta iniciando o X-Window pelo modo texto e XDM.

23.2.1

Congurando o nmero de cores para quem inicia pelo prompt

Aps congurar corretamente a resoluo de vdeo aceita pelo seu servidor X com xf86config ou dpkg-reconfigure xserver-svga (Debian 3.0) use o comando startx -- -bpp 8 no lugar de startx. Note que estou usando 256 cores como exemplo (veja a tabela acima), se quiser usar mais cores e sua placa de vdeo tiver memria suciente, use 16, 24 ou 32. Os usurios de distribuies baseadas na Debian 2.2 tambm tem o anXious (um programa em linguagem Perl) que permite fazer a congurao no modo texto atravs de menus. Para a Debian 3.0 (Woody) o comando dpkg-reconfigure xserver-svga o mais fcil e rpido, ele detecta sua placa de vdeo e congura seu monitor de acordo com o tamanho de tela, alm de permitir conguraes detalhadas se selecionar a opo Avanado de congurao. Uma maneira mais prtica de iniciar sempre com uma mesma resoluo incluir um alias no arquivo .bashrc em seu diretrio: alias startx=startx -- -bpp 8 Desta forma toda a vez que se digitar startx, ser executado o comando da direita do sinal de igual.

Captulo 23. Congurao do sistema

282

OBS: Se alguma coisa der errado e a imagem aparecer distorcida ou simplesmente no aparecer, no se desespere! Pressione simultaneamente CTRL+ALT+Back Space, esta a combinao de teclas naliza imediatamente o servidor X.

23.2.2

Congurando o nmero de cores para quem inicia pelo XDM

Assumindo que o seu arquivo /etc/X11/XF86Config foi gerado corretamente, modique o arquivo /etc/X11/xdm/Xservers e alterar o nal da linha colocando -bpp resoluo. Por exemplo, a ltima linha de meu arquivo Xservers era: :0 local /usr/bin/X11/X vt7 eu a modifiquei para :0 local /usr/bin/X11/X vt7 -bpp 16 Pronto, basta reiniciar o servidor X (usando CTRL+ALT+Back Space) ou reiniciando atravs do arquivo /etc/init.d/xdm usando xdm restart e seu sistema passar a usar 65.000 cores de vdeo. OBS: Lembre-se de salvar todos os seus arquivos antes de reiniciar o servidor X, pois todos os programas que estiverem abertos no sistema sero imediatamente fechados.

23.2.3

Ajustando o alinhamento da imagem no X e outras conguraes

Aps voc ter criado o arquivo de congurao do X com o xf86config (modo texto), dpkg-reconfigure xserver-svga ou XF86Setup (modo grco), possvel que a congurao precise de um ajuste no para o alinhamento correto da imagem no monitor. Muitos monitores modernos possuem teclas para esta funo, mas desde que monitor esteja com sua imagem aparecendo corretamente em modo texto, o ajuste dever ser feito no servidor X. Este ajuste feito atravs do utilitrio xvidtune. Entre no modo grco como usurio root, abra o xterm e digite xvidtune uma tela aparecer com um aviso sobre o uso do programa, clique em OK. Recomendo que ative o boto AUTO para que a tela v se ajustando na medida que voc mexe nos ajustes. Para restaurar a congurao anterior, pressione o boto Restore (no faz efeito caso o boto Apply tenha sido pressionado). Clicando em Quit, voc sai do xvidtune sem salvar a congurao. Quando estiver satisfeito com a sua congurao/alinhamento da imagem, clique em Apply, a congurao escolhida estar salva.

23.2.4

Sobre o nmero de cores para jogos que funcionam no X

A maioria dos jogos se recusam a funcionam com uma quantidade de cores maior do que 8 bits. Se voc instalar algum jogo e ao tentar executa-lo simplesmente no acontecer nada ou

Captulo 23. Congurao do sistema

283

mostrar uma mensagem de erro, modique o nmero de cores para 8 bits, provavelmente o problema estar ai. Lembre-se: Quanto mais cores usar e maior for sua resoluo, mais lento car a velocidade de vdeo. Por este motivo alguns jogos se recusam a funcionar com mais de 8 bits de cores.

Captulo 23. Congurao do sistema

284

285

Captulo 24

Executando tarefas diversas no Linux


Este captulo explica como realizar tarefas especcas no sistema, como gravar um CD, assistir lmes, etc. Ele tambm contm nomes de programas recomendados tanto em modo texto como modo grco.

24.1

Gravando CDs no Linux

A gravao de CDs no Linux pode ser feita atravs dos programas cdrecord ou CDRDAO. Neste captulo vou explicar a gravao usando o cdrecord para gravar um CD de dados e audio. Primeiro instale o cdrecord, mkisofs e cdda2wav em sua mquina (apt-get install cdrecord mkisofs cdda2wav).

24.1.1

Gravando CDs de dados

O processo de gravao de um CD de dados feito em 2 etapas: primeiro gerado um arquivo ISO com o programa mkisofs que ser a imagem exata do CD que ser gravado e a gravao usando o cdrecord. Caso ainda no tenha congurado seu gravador no Linux ou no tem certeza do seu funcionamento, veja Congurando um gravador de CD no Linux on page 55. Vou assumir que os dados que deseja gravar esto no diretrio /dados. Primeiro gere o arquivo ISO: cd /dados mkisofs -r -o dados.iso -J -V"CD_DADOS" . Na linha acima, voc permite que todos possam ler o CD alterando as permisses (-r), o arquivo de sada ser dados.iso (-o dados.iso), os nomes tambm tero o ndice no formato Joliet (Windows) (-J), o nome de volume ser CD_DADOS (-VCD_DADOS). Foi colocado . para o diretrio raz porque estamos dentro do diretrio que queremos gravar dados. No us

Captulo 24. Executando tarefas diversas no Linux

286

e * para especicar os arquivos, a no ser que queira que todos os arquivos do seus subdiretrios quem dentro do raz do CD :-) Antes de gravar voc pode testar se o contedo do CD est OK montando a imagem ISO: mkdir /tmp/iso mount /dados/dados.iso /tmp/iso -o loop -t iso9660 Voc poder entrar no diretrio /tmp/iso e ver como est o contedo do seu CD antes da gravao. Qualquer modicao dever ser feita no diretrio /dados e depois gerar novamente o iso com mkisofs. Desmonte o arquivo ISO antes de gravar o CD. Agora, execute o comando: cdrecord -v -dev=0,0,0 -data /dados/dados.iso Para gravar seu CD. O -v mostra a progresso da gravao, o nmero passado como argumento a -dev obtido pelo comando cdrecord -scanbus, a opo -data especica o arquivo iso que contm os dados que sero gravados. Aps isto seu CD estar gravado e pronto para uso.

24.1.2

Gravando um CD de audio

A gravao de um CD de audio se divide em 2 etapas: Extrao das trilhas de audio para um diretrio em formato wav e a gravao. Aps inserir o CD de audio na unidade, a extrao feita pelo programa cdda2wav da seguinte forma: mkdir /audio cd /audio cdda2wav -x -D/dev/cdrom -d99999 -S4 -Owav -B audio A opo -x extrai usando mxima qualidade, -D/dev/cdrom diz qual o dispositivo onde o CD de audio est inserido, -d99999 diz a durao total da extrao (99999 um valor que garante a extrao de TODO o CD), -S4 diz que a velocidade de extrao ser de 4X, a -B audio diz para criar arquivos contendo as faixas seqencialmente como audio01.wav, audio02.wav, etc. Aps extrair, voc dever executar o comando: cdrecord -v -dev=0,0,0 -dao -useinfo *.wav O comando acima usa o dispositivo gravador 0,0,0 (cdrecord -scanbus) para fazer a gravao do CD de audio. O formato usado o DAO (-dao), o que garante que no haver intervalo

Captulo 24. Executando tarefas diversas no Linux

287

entre as faixas de CD, til em CDs ao vivo e que os arquivos *.inf contendo os dados das faixas sero usados para controlar a durao de cada uma (-useinfo *.wav). Se voc quer gravar uma seleo de arquivos .wav ou .cdr, ser preciso faze-lo em modo TAO (track at once), mantendo a pausa de 2 segundos entre as msicas. Isto feito pelo comando: cdrecord -v -dev=0,0,0 -pad -audio *.wav Estamos dizendo para o cdrecord gravar diversos arquivos de audio (-audio *.wav) e preencher os intervalos dos arquivos de audio com zeros (-pad) pois nem sempre os arquivos tem o mltiplo de setores requeridos para a gravao de arquivos de audio.

24.1.3

Cpia de CD para CD

A cpia de CD de dados para outro feita em duas etapas: A extrao do arquivo ISO e a gravao do CD. Esse recurso til pela economia de tempo que proporciona e porque mantm caractersticas especiais do CD como setores de boot (para CDs de instalao). Primeiro, extraia o contedo do CD em format raw com o comando: dd if=/dev/cdrom of=/dados/arquivo.iso Conra se no nal o nmero de bytes conferem, isso diz que a extrao foi feita com sucesso. O parmetro if= indica o arquivo de entrada e of= o arquivo de sada. Depois disso grave o CD com o comando: cdrecord -v -dev=0,0,0 -data /dados/dados.iso Veja a explicao dos parmetros em Gravando CDs de dados on page 285. Note que voc tambm poder gravar o CD usando o comando dd: dd if=/dados/arquivo.iso of=/dev/sr0

24.1.4

Gravao massiva de CDs

Isso feito pelo programa cdcontrol que permite a gravao de CDs paralelamente, sendo bastante til para gerar CDs para install fests, distribuies comerciais em massa. Ele mantm um relatrio de CDs totais por unidade de disco e tambm de falhas, tambm permite a cpia de CDs de inicializao. Ele est disponvel em http://cdcontrol.sourceforge.net/. Ele tambm est disponvel como pacote .deb (apt-get install cdcontrol).

Captulo 24. Executando tarefas diversas no Linux

288

24.1.5

Gravao de CDs diretamente atravs de arquivos mp3 ou Ogg

Utilize o aplicativo mp3burn para fazer isto. Por exemplo: mp3burn -o "-v -dev=0,0,0" *.mp3 A opo -o indica as opes que devem ser passadas ao cdrecord. A opo -audio e -pad so adicionadas automaticamente.

24.1.6

Backup de dados para 1 ou mais CDs

O programa multicd a ferramenta que permite esta funo.

24.1.7

Aplicaes grcas para gravao de CDs

Os seguintes aplicativos so interfaces grcas e amigveis que usam o cdrecord, cdda2wav e mkisofs para fazer a gravao de seus CDs. Normalmente eles acrescentam uma carga maior para a mquina, mas se voc gosta de uma interface amigvel para fazer as coisas, ter animaes, etc. o preo que paga a performance :-) Entre os principais programas, destaco os seguintes: cdrtoaster, cdbakeoven, kreatecd, gcombust.

24.1.8

Fazendo a capa de frente e verso do CD

Capas de frente e verso podem ser produzidas com o cdlabelgen.

24.2

Executando vdeos DIVX

O programa mais recomendado o mplayer. Aps instalar, execute o comando: mplayer -framedrop -vo xv arquivo.avi. A opo -framedrop diz ao mplayer pular frames que ele no conseguir exibir (til em sistemas que tem CPU lenta). O gmplayer a interface grca do mplayer e aceita todos os seus parmetros.

24.2.1

Colocando legendas nos lmes

Para adicionar legendas em um lme Divx sendo executado pelo mplayer, baixe a fonte de caracteres da legenda de http://mplayer.sourceforge.net/ e a descompacte dentro de ~/.mplayer. Sero criados vrios diretrios contendo fontes de tamanhos especcos. Escolha qual deseja utilizar e faa um link para o diretrio ~/.mplayer/font com o comando ln.

Captulo 24. Executando tarefas diversas no Linux

289

24.3

Assistindo DVDs

Para assistir lmes em DVD recomendo os seguintes programas: ogle, xine e mplayer. Lembre-se de fazer um link de /dev/dvd para seu dispositivo leitor de DVD antes de executar um destes programas.

24.4

Convertendo msicas no formato wav para mp3

A converso explicada aqui usando o programa bladeenc. Voc pode baixa-lo de http: //bladeenc.mp3.no/. O bladeenc foi o escolhido por apresentar a melhor performance e qualidade para converso da msicas, que importante para quem tem mquinas menos potentes e processamento leve valioso para voc :-) A converso feita da seguinte forma: bladeenc -progress=4 -del *.wav A opo -del diz para apagar os arquivos .wav a medida que so convertidos e -progress=4 para mostrar uma barra de progresso total e outra do arquivo que est sendo processado.

24.5

Convertendo msicas do formato mp3 para cdr

Esta converso necessria quando deseja gravar um CD de audio a partir de uma seleo de msicas MP3. As explicaes aqui so baseadas no programa mpg123, que pode ser instalado com apt-get install mpg123. Execute o seguinte comando para fazer a converso: mpg123 --cdr - arquivo.mp3 >arquivo.cdr Para fazer a converso de todos os arquivos mp3 dentro de um diretrio, use o comando: for MUSICA in *.mp3; do mpg123 --cdr - "$MUSICA" >"${VAR}.cdr" done Aps feita a converso de msicas necessrias para completar um CD (normalmente 600MB), v at Gravando um CD de audio on page 286.

Captulo 24. Executando tarefas diversas no Linux

290

291

Captulo 25

Compilao
Este captulo explica o que compilao, os principais compiladores e como compilar programas e principalmente o Kernel do GNU/Linux com o objetivo de personaliza-lo de acordo com os dispositivos usados em seu computador e/ou os recursos que planeja utilizar.

25.1

O que compilao?

a transformao de um programa em cdigo fonte (programa escrito pelo programador) em linguagem de mquina (programa executvel). Existem centenas de linguagens de programao diferentes umas das outras, cada uma oferece recursos especcos para atender melhor uma necessidade ou caractersticas particulares, algumas so voltadas para bancos de dados, outras somente para a criao de interfaces comunicao (front-ends), aprendizado, etc. Cada linguagem de programao possui comandos especcos que desempenham alguma funo, mas todas trabalham com variveis de memria para a manipulao de dados de entrada/processamento.

25.2

Compilador

o programa que converte o programa feito pelo programador em linguagem de mquina. Aps o processo de compilao o programa estar pronto para ser executado como um arquivo binrio. Existem muitos compiladores no ambiente GNU/Linux, um dos mais usados o gcc, o compilador para linguagem C.

Captulo 25. Compilao

292

293

Captulo 26

Manuteno do Sistema
Este captulo descreve como fazer a manuteno de seu sistema de arquivos e os programas de manuteno automtica que so executados periodicamente pelo sistema.

26.1

Checagem dos sistemas de arquivos

A checagem do sistema de arquivos permite vericar se toda a estrutura para armazenamento de arquivos, diretrios, permisses, conectividade e superfcie do disco esto funcionando corretamente. Caso algum problema exista, ele poder ser corrigido com o uso da ferramenta de checagem apropriada. As ferramentas de checagem de sistemas de arquivos costumam ter seu nome iniciado por fsck e terminados com o nome do sistema de arquivos que verica, separados por um ponto: fsck.ext2 - Verica o sistema de arquivos EXT2 ou EXT3. Pode tambm ser encontrado com o nome e2fsck. fsck.ext3 - Um alias para fsck.ext3. fsck.minix - Verica o sistema de arquivos Minix. fsck.msdos - Verica o sistema de arquivos Msdos. Pode tambm ser encontrado com o nome dosfsck. Para vericar um sistema de arquivos necessrio que ele esteja desmontado caso contrrio poder ocorrer danos em sua estrutura. Para vericar o sistema de arquivos raz (que no pode ser desmontado enquanto o sistema estiver sendo executado) voc precisar inicializar atravs de um disquete e executar o fsck.ext2.

26.1.1

fsck.ext2

Este utilitrio permite vericar erros em sistemas de arquivos EXT2 e EXT3 (Linux Native).

Captulo 26. Manuteno do Sistema

294

fsck.ext2 [opes] [dispositivo] Onde: dispositivo o local que contm o sistema de arquivos EXT2/EXT3 que ser vericado (parties, disquetes, arquivos). opes -c Faz o fsck.ext2 vericar se existem agrupamentos danicados na unidade de disco durante a checagem. -d Debug - Mostra detalhes de processamento do fsck.ext2. -f Fora a checagem mesmo se o sistema de arquivos aparenta estar em bom estado. Por padro, um sistema de arquivos que aparentar estar em bom estado no so vericados. -F Grava os dados do cache no disco antes de iniciar. -l [arquivo ] Inclui os blocos listados no [arquivo] como blocos defeituosos no sistema de arquivos. O formato deste arquivo o mesmo gerado pelo programa badblocks. -L [arquivo ] Faz o mesmo que a opo -l, s que a lista de blocos defeituosos do dispositivo completamente limpa e depois a lista do [arquivo] adicionada. -n Faz uma vericao de somente leitura no sistema de arquivos. Com esta opo possvel vericar o sistema de arquivos montado. Ser assumido no para todas as perguntas e nenhuma modicao ser feita no sistema de arquivos. Caso a opo -c seja usada junto com -n, -l ou -L, o sistema de arquivos ser vericado e permitir somente a atualizao dos setores danicados no alterando qualquer outra rea. -p Corrige automaticamente o sistema de arquivos sem perguntar. recomendvel fazer isto manualmente para entender o que aconteceu, em caso de problemas com o sistema de arquivos. -v Ativa o modo verbose (mais mensagens so mostradas durante a execuo do programa). -y Assume sim para todas as questes. Caso sejam encontrados arquivos problemticos e estes no possam ser recuperados, o fsck.ext2 perguntar se deseja salva-los no diretrio lost+found. Este diretrio encontrado em todas as parties ext2. No h risco de usar o fsck.ext3 em uma partio EXT2. Aps sua execuo mostrado detalhes sobre o sistema de arquivos vericado como quantidade de blocos livres/ocupados e taxa de fragmentao. Exemplos: fsck.ext2 /dev/hda2, fsck.ext2 -f /dev/hda2, fsck.ext2 -vrf /dev/hda1.

26.2

reiserfsck

Verica um sistema de arquivos reiserfs em sistema de arquivos. reiserfsck [opes] [dispositivo] dispositivo Dispositivo que contm o sistema de arquivos reiserfs que ser vericado. opes -a Mostra detalhes sobre o sistema de arquivos e sai -j arquivo Especica um arquivo de Journal alternativo usado pelo sistema de arquivos. -q quiet No exibe mensagens sobre o status da checagem do sistema de arquivos.

Captulo 26. Manuteno do Sistema

295

-S Constri a rvore de todos os blocos do dispositivo. O reiserfsck possui outros modos de operao alm de checagem (o padro), para detalhes veja a pgina de manual do programa. Exemplos: reiserfsck /dev/hda1, reiserfsck -S /tmp/arq-reiserfs.

26.3

fsck.minix

Verica o sistema de arquivos minix em um dispositivo. fsck.minix [opes] [dispositivo] Onde: dispositivo Partio, disquete ou arquivo que contm o sistema de arquivos Minix que ser vericado opes -f Verica o sistema de arquivos mesmo se ele estiver perfeito. -r Permite reparo manual do sistema de arquivos -a Permite um reparo automtico do sistema de arquivos. recomendado fazer o reparo manual. -v Verbose - Mostra detalhes durante a execuo do programa -s Exibe detalhes sobre os blocos de root. Exemplo: fsck.minix -f /dev/hda8, fsck.minix -vf /dev/hda8

26.4

badblocks

Procura blocos defeituosos em um dispositivo. Note que este apenas pesquisa por blocos defeituosos, sem alterar a congurao do disco. Para marcar os blocos defeituosos para no serem mais usados, utilize a opo -l do fsck (veja fsck.ext2 on page 293). badblocks [opes] [dispositivo] Onde: dispositivo Partio, disquete ou arquivo que contm o sistema de arquivos que ser vericado. opes -b [tamanho ] Especica o [tamanho] do bloco do dispositivo em bytes -o [arquivo ] Gera uma lista dos blocos defeituosos do disco no [arquivo]. Este lista pode ser usada com o programa fsck.ext2 junto com a opo -l. -s Mostra o nmero de blocos checados durante a execuo do badblocks. -v Modo verbose - So mostrados mais detalhes. -w Usa o modo leitura/gravao. Usando esta opo o badblocks procura por blocos defeituosos gravando alguns padres (0xaa, 0x55, 0xff, 0x00) em cada bloco do dispositivo e comparando seu contedo. Nunca use a opo -w em um dispositivo que contm arquivos pois eles sero apagados!

Captulo 26. Manuteno do Sistema

296

Exemplo: badblocks -s /dev/hda6, badblocks -s -o bad /dev/hda6

26.5

defrag

Permite desfragmentar uma unidade de disco. A fragmentao o armazenamento de arquivos em reas no seqenciais (uma parte armazenada no comeo a outra no nal, etc), isto diminui o desempenho da unidade de disco porque a leitura dever ser interrompida e feita a movimentao da cabea para outra regio do disco onde o arquivo continua, por este motivo discos fragmentados tendem a fazer um grande barulho na leitura e o desempenho menor. A desfragmentao normalmente desnecessria no GNU/Linux porque o sistema de arquivos ext2 procura automaticamente o melhor local para armazenar o arquivo. Mesmo assim, recomendvel desfragmentar um sistema de arquivos assim que sua taxa de fragmentao subir acima de 10%. A taxa de fragmentao pode ser vista atravs do fsck.ext2. Aps o fsck.ext2 ser executado mostrada a taxa de fragmentao seguida de non-contiguos. A ferramenta de desfragmentao usada no GNU/Linux o defrag que vem com os seguintes programas: e2defrag - Desfragmenta sistemas de arquivos Ext2. defrag - Desfragmenta sistemas de arquivos Minix. xdefrag - Desfragmenta sistemas de arquivos Xia. O sistema de arquivos deve estar desmontado ao fazer a desfragmentao. Se quiser desfragmentar o sistema de arquivos raz (/), voc precisar inicializar atravs de um disquete e executar um dos programas de desfragmentao apropriado ao seu sistema de arquivos. A checagem individual de fragmentao em arquivos pode ser feita com o programa frag. ATENO: Retire cpias de segurana de sua unidade antes de fazer a desfragmentao. Se por qualquer motivo o programa de desfragmentao no puder ser completado, voc poder perder dados! e2defrag [opes] [dispositivo] Onde: dispositivo Partio, arquivo, disquete que contm o sistema de arquivos que ser desfragmentado. -d Debug - sero mostrados detalhes do funcionamento -n No mostra o mapa do disco na desfragmentao. til quando voc inicializa por disquetes e recebe a mensagem Failed do open term Linux ao tentar executar o e2defrag. -r Modo somente leitura. O defrag simular sua execuo no sistema de arquivos mas no far nenhuma gravao. Esta opo permite que o defrag seja usado com sistema de arquivos montado. -s Cria um sumrio da fragmentao do sistema de arquivos e performance do desfragmentador. -v Mostra detalhes durante a desfragmentao do sistema de arquivos. Caso mais de uma opo -v seja usada, o nvel de detalhes ser maior. -i [arquivo ] Permite denir uma lista de prioridades em que um arquivo ser gravado no disco, com isto possvel determinar se um arquivo ser gravado no comeo ou nal da

Captulo 26. Manuteno do Sistema

297

unidade de disco. Esta lista lida do [arquivo] e deve conter uma lista de prioridades de -100 a 100 para cada inodo do sistema de arquivos. Arquivos com prioridade alta sero gravados no comeo do disco. Todos os inodos tero prioridade igual a zero caso a opo -i no seja usada ou o inodo no seja especicado no [arquivo]. O [arquivo] dever conter uma srie de linhas com um nmero (inodo) ou um nmero prexado por um sinal de igual seguido da prioridade. -p [numero ] Dene o [numero] de buffers que sero usados pela ferramenta de desfragmentao na realocao de dados, quanto mais buffers mais eciente ser o processo de realocao. O nmero depende de quantidade memria RAM e Swap voc possui. Por padro 512 buffers so usados correspondendo a 512Kb de buffer (em um sistema de arquivos de blocos com 1Kb). Exemplo: e2defrag -n -v /dev/hdb4, e2defrag -r /dev/hda1

26.6

Vericando e marcando setores danicados em um HD

Um dos sintomas de um disco rgido que contm setores danicados (bad blocks) a mudana repentina do sistema de arquivos para o modo somente leitura, o aparecimento de diversas mensagens no syslog indicando falha de leitura do hd, uma pausa se segundos no sistema junto com o led de atividade de disco ligado. Se isto acontece com voc, uma forma de solucionar este inconveniente executar o teste na superfcie fsica do disco para procurar e marcar os blocos problemticos como defeituosos. Em alguns casos, os blocos defeituosos ocorrem isoladamente no disco rgido, no aumentando mais sua quantidade, entretanto, se o nmero de blocos danicados em seu disco est crescendo em um curto espao de tempo, comece a pensar na troca do disco rgido por um outro. Existem empresas que recuperam HDs mas pelo valor cobrado por se tratar de um servio delicado, s compensa caso voc no tenha o backup e realmente precisa dos dados do disco. Para fazer uma checagem de HD no sistema de arquivos ext2 ou ext3, proceda da seguinte forma: Se possvel, faa um backup de todos os dados ou dos dados essenciais da partio ser checada. Inicie o sistema por um disquete de boot ou CD de recuperao. Este passo til pois em alguns casos, pode ocorrer a perda de interrupo do disco rgido e seu sistema car paralisado. S o mtodo de checar o HD usando um disquete de boot lhe far agendar uma parada no sistema e noticar os usurios, evitando srios problemas do que fazendo isto com um sistema em produo. Execute o badblocks usando a opo -o para gravar os possveis blocos defeituosos encontrados para um arquivo: badblocks -v -o blocos-defeituosos.lista /dev/hd??. Substitua o dispositivo /dev/hd?? pelo dispositivo que deseja vericar. A checagem do badblocks dever ser feita para cada partio existente no disco rgido. O tempo de checagem depender da velocidade do disco rgido, velocidade do barramento, cabo de dados utilizado, velocidade de processamento e claro, do estado do disco rgido (quantos setores defeituosos ele tem).

Captulo 26. Manuteno do Sistema

298

Aps concluir o badblocks, veja se foram encontrados blocos defeituosos. Caso tenha encontrado, siga para o prximo passo. Para marcar os blocos encontrados pelo badblocks como defeituosos, execute o comando: fsck.ext3 -l blocos-defeituosos.lista -f /dev/hd??. Substitua o dispositivo, pelo dispositivo que vericou com o badblocks. O arquivo blocos-defeituosos.list contm a lista de blocos gerada pelo badblocks que sero marcados como defeituosos. Para mais detalhes sobre as opes de checagem usada pelos programas, veja badblocks on page 295 e fsck.ext2 on page 293.

26.7

Limpando arquivos de LOGS

Tudo que acontece em sistemas GNU/Linux pode ser registrado em arquivos de log em /var /log, como vimos anteriormente. Eles so muito teis por diversos motivos, para o diagnstico de problemas, falhas de dispositivos, checagem da segurana, alerta de eventuais tentativas de invaso, etc. O problema quando eles comeam a ocupar muito espao em seu disco. Verique quantos Megabytes seus arquivos de LOG esto ocupando atravs do comando cd /var/log;du -hc. Antes de fazer uma limpeza nos arquivos de LOG, necessrio vericar se eles so desnecessrios e s assim zerar os que forem dispensveis. No recomendvel apagar um arquivo de log pois ele pode ser criado com permisses de acesso indevidas (algumas distribuies fazem isso). Voc pode usar o comando: echo -n >arquivo ou o seguinte shell script para zerar todos os arquivos de LOG de uma s vez (as linhas iniciante com # so comentrios): #! /bin/sh cd /var/log for l in ls -p|grep /; do echo -n >$l &>/dev/null echo Zerando arquivo $l... done echo Limpeza dos arquivos de log concluda! Copie o contedo acima em um arquivo com a extenso .sh, d permisso de execuo com o chmod e o execute como usurio root. necessrio executar este script para zerar arquivos de log em subdiretrios de /var/log, caso sejam usados em seu sistema. Algumas distribuies, como a Debian GNU/Linux, fazem o arquivamento automtico de arquivos de LOGs em arquivos .gz atravs de scripts disparados automaticamente pelo cron. ATENO: LEMBRE-SE QUE O SCRIPT ACIMA APAGAR TODOS OS ARQUIVOS DE LOGs DO SEU SISTEMA SEM POSSIBILIDADE DE RECUPERAO. TENHA ABSOLUTA CERTEZA DO QUE NO PRECISAR DELES QUANDO EXECUTAR O SCRIPT ACIMA!

Captulo 26. Manuteno do Sistema

299

26.8

Recuperando parties apagadas

Caso tenha apagado uma partio acidentalmente ou todas as parties do seu disco, uma forma simples de recuperar todos os seus dados simplesmente recriar todas as parties com o tamanho EXATAMENTE igual ao existente anteriormente. Isto deve ser feito dando a partida com um disquete ou CD de inicializao. Aps recriar todas as parties e seus tipos (83, 82 8e, etc), execute novamente o lilo para recriar o setor de boot do HD e garantir que a mquina dar o boot. A recuperao desta forma possvel porque quando se cria ou apaga uma partio, voc est simplesmente delimitando espao onde cada sistema de arquivos gravar seus dados, sem fazer nenhuma alterao dentro dele. Assim, tambm til manter uma cpia dos tamanhos usados durante o processo de criao das parties para ser usado como recuperao em uma possvel emergncia.

26.9

Recuperando a senha de root perdida

Uma situao que voc deve ter se deparado (ou algum dia ainda vai se deparar) precisar alterar a senha de root e no sabe ou no lembra a senha atual. Esta situao tambm pode ser encontrada quando ocorre uma falha de disco, falha eltrica, reparos em uma mquina que no detm sua manuteno, etc. A melhor notcia que a alterao da senha de root possvel e no apresenta problema qualquer para o sistema. Existem vrias formas para se fazer isto, a forma que descreverei abaixo assume que voc tem acesso a um outro dispositivo de partida que no seja o HD do Linux (CD-ROM, disquetes, outro disco rgido, etc). Assim, mesmo que encontre uma senha de BIOS em uma mquina, poder colocar o disco rgido em outra mquina e executar estes procedimentos. OBS: Estes procedimentos tens ns didticos e administrativos, no sendo escritos com a inteno de fornecer mal uso desta tcnica. Entender a exposio de riscos tambm ajuda a desenvolver novas tcnicas de defesa para sistemas crticos, e estas so totalmente possveis e as mais usadas documentadas neste guia. Como primeiro passo consiga um CD de partida ou disquete de uma distribuio Linux. Normalmente os mesmos CDs que usou para instalar sua distribuio tambm so desenvolvidos para permitir a manuteno do sistema, contendo ferramentas diversas e um terminal virtual disponvel para trabalhos manuais (tanto de instalao como manuteno). V at a BIOS da mquina e altere a ordem de inicializao para que seu sistema inicialize a partir do disquete ou CD-ROM (dependendo do mtodo escolhido no passo anterior). Inicialize a partir do Disquete/CD-ROM. Na maioria dos casos voc provavelmente estar utilizando o CD-ROM que usou para instalar sua distribuio. Imediatamente quando o programa de instalao for iniciado, pressione ALT+F2 para alternar para o segundo terminal virtual do sistema. O segundo terminal esta sempre disponvel nas distribuies distribuies Debian, Red Hat, Conectiva, Fedora, etc.

Captulo 26. Manuteno do Sistema

300

O prximo passo ser montar sua partio raz para ser possvel alterar sua senha de root. Para isto, crie um diretrio onde a partio ser montada (por exemplo, /target) e execute o comando mount: mount /dev/hda1 /target (assumindo que /dev/hda1 a partio que contm seu sistema de arquivos raz (/). Entre no diretrio /target (cd /target) e torne-o seu diretrio raz atual com o comando: chroot .. digite passwd e entre com a nova senha de superusurio. saia do chroot digitando exit Digite sync para salvar todas as alteraes pendentes para o disco e reinicie o sistema (pressionando-se as teclas CTRL+ALT+DEL, init 6, reboot). Retire o CD da unidade de discos e altere sua BIOS para dar a partida a partir do disco rgido. Teste e verique se a senha de root foi alterada. Normalmente as distribuies seguem o padro FHS, mantendo binrios de administrao necessrios para recuperao do sistema em caso de panes dentro da partio /, se este no for o caso de sua distribuio (hoje em dia raro), voc ter que montar sistemas de arquivos adicionais (como o /usr, /var) ou ento o comando passwd no ser encontrado ou ter problemas durante sua execuo.

26.10

Tarefas automticas de manuteno do sistema

Os arquivos responsveis pela manuteno automtica do sistema se encontram em arquivos individuais localizados nos diretrios /etc/cron.daily, /etc/cron.weekly e /etc /cron.montly. A quantidade de arquivos depende da quantidade de pacotes instalado em seu sistema, porque alguns programam tarefas nestes diretrios e no possvel descrever todas, para detalhes sobre o que cada arquivo faz veja o cabealho e o cdigo de cada arquivo. Estes arquivos so executados pelo cron atravs do arquivo /etc/crontab. Voc pode programar quantas tarefas desejar, para detalhes veja cron on the current page e at on page 302. Alguns programas mantm arquivos do cron individuais em /var/spool/cron /crontabs que executam comandos periodicamente.

26.11

cron

O cron um daemon que permite o agendamento da execuo de um comando/programa para um determinado dia/ms/ano/hora. muito usado em tarefas de arquivamento de logs, checagem da integridade do sistema e execuo de programas/comandos em horrios determinados. As tarefas so denidas no arquivo /etc/crontab e por arquivos individuais de usurios em /var/spool/cron/crontabs/[usurio] (criados atravs do programa crontab). Adicionalmente a distribuio Debian utiliza os arquivos no diretrio /etc/cron.d como uma extenso para o /etc/crontab.

Captulo 26. Manuteno do Sistema

301

Para agendar uma nova tarefa, basta editar o arquivo /etc/crontab com qualquer editor de texto (como o ae e o vi) e denir o ms/dia/hora que a tarefa ser executada. No necessrio reiniciar o daemon do cron porque ele verica seus arquivos a cada minuto. Veja a seo O formato de um arquivo crontab on the current page para entender o formato de arquivo cron usado no agendamento de tarefas.

26.11.1

O formato de um arquivo crontab

O arquivo /etc/crontab tem o seguinte formato: 52 18 1 * * root run-parts --report /etc/cron.montly | | | | | | | | | | | | | \_Comando que ser executado | | | | | | | | | | | \_ UID que executar o comando | | | | | | | | | \_ Dia da semana (0-7) | | | | | | | \_ Ms (1-12) | | | | | \_ Dia do Ms (1-31) | | | \_ Hora | \_ Minuto Onde: Minuto Valor entre 0 e 59 Hora Valor entre 0 e 23 Dia do Ms Valor entre 0 e 31 Ms Valor entre 0 e 12 (identicando os meses de Janeiro a Dezembro) Dia da Semana Valor entre 0 e 7 (identicando os dias de Domingo a Sbado). Note que tanto 0 e 7 equivalem a Domingo. usurio O usurio especicado ser usado para executar o comando (o usurio dever existir). comando Comando que ser executado. Podem ser usados parmetros normais usados na linha de comando. Os campos do arquivo so separados por um ou mais espaos ou tabulaes. Um asterisco * pode ser usado nos campos de data e hora para especicar todo o intervalo disponvel. O hfen - serve para especicar perodos de execuo (incluindo a o nmero inicial/nal). A vrgula serve para especicar lista de nmeros. Passos podem ser especicados atravs de uma /. Veja os exemplos no nal desta seo. O arquivo gerado em /var/spool/cron/crontabs/[usurio] pelo crontab tem o mesmo formato do /etc/crontab exceto por no possuir o campo usurio (UID), pois o nome do arquivo j identica o usurio no sistema.

Captulo 26. Manuteno do Sistema

302

Para editar um arquivo de usurio em /var/spool/cron/crontabs ao invs de editar o /etc/crontab use crontab -e, para listar as tarefas daquele usurio crontab -l e para apagar o arquivo de tarefas do usurio crontab -r (adicionalmente voc pode remover somente uma tarefa atravs do crontab -e e apagando a linha correspondente). OBS: No esquea de incluir uma linha em branco no nal do arquivo, caso contrrio o ltimo comando no ser executado. O cron dene o valor de algumas variveis automaticamente durante sua execuo; a varivel SHELL denida como /bin/sh, PATH como /usr/bin:/bin, LOGNAME, MAILTO e HOME so denidas atravs do arquivo /etc/passwd. Os valores padres destas variveis podem ser substitudos especicando um novo valor nos arquivos do cron. Exemplos de um arquivo /etc/crontab: SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin

00 10 * * * root sync # Executa o comando sync todo o dia as 10:00 00 06 * * 1 root updatedb # Executa o comando updatedb toda segunda-feira as 06:00. 10,20,40 * * * * root runq # Executa o comando runq todos os dias e a toda a hora em 10, 20 e 40 minutos. */10 * * * * root fetchmail # Executa o comando fetchmail de 10 em 10 minutos todos os dias 15 0 25 12 * root echo "Feliz Natal"|mail john # Envia um e-mail as 0:15 todo o dia 25/12 para john desejando um feliz natal. 30 5 * * 1-6 root poff # Executa o comando poff automaticamente as 5:30 de segunda-feira a sbado.

26.12

at

O at agenda tarefas de forma semelhante ao cron com uma interface que permite a utilizao de linguagem natural nos agendamentos. Sua principal aplicao no uso de tarefas que sejam disparadas somente uma vez. Uma caracterstica deste programa a execuo de aplicativos que tenham passado de seu horrio de execuo, muito til se o computador desligado com freqncia ou quando ocorre uma interrupo no fornecimento de energia. Para utilizar o at, instale-o com o comando: apt-get install at. O prximo passo criar os arquivos /etc/at.allow e at.deny. Estes arquivos so organizados no formato de um usurio por linha. Durante o agendamento, vericado primeiro o arquivo at.allow (lista de quem pode executar comandos) e depois o at.deny (lista de quem NO pode executar comandos). Caso eles no existam, o agendamento de comandos permitido a todos os usurios. Abaixo seguem exemplos do agendamento atravs do comando at:

Captulo 26. Manuteno do Sistema

303

echo ls | at 10am today Executa as 10 da manha de hoje echo ls | at 10:05 today Executa as 10:05 da manha de hoje echo ls | at 10:05pm today Executa as 10:05 da noite de hoje echo ls | at 22:05 today Executa as 22:05 da noite de hoje echo ls | at 14:50 tomorrow Executa o comando amanh as 14:50 da tarde echo ls | at midnight Executa o comando a meia noite de hoje echo ls | at midnight tomorrow Executa o comando a meia noite de amanh echo ls | at noon Executa o comando de tarde (meio dia). at -f comandos.txt teatime Executa os comandos especicados no arquivo comandos.txt no horrio do caf da tarde (as 16:00 horas). at -f comandos.txt +3 minutes Executa os comandos especicados no arquivo comandos.txt daqui a 3 minutos. Tambm pode ser especicado hours ou days. at -f comandos.txt tomorrow +3 hours Executa os comandos especicados no arquivo comandos.txt daqui a 3 horas no dia de amanh. (se agora so 10:00, ela ser executada amanh as 13:00 da tarde). Todas as tarefas agendadas so armazenadas em arquivos dentro do diretrio /var/spool /cron/atjobs. A sintaxe de comandos para gerenciar as tarefas semelhante aos utilitrios do lpd: Para ver as tarefas, digite atq. Para remover uma tarefa, use o comando atrm seguido do nmero da tarefa obtida pelo atq.

Captulo 26. Manuteno do Sistema

304

305

Captulo 27

Principais arquivos de congurao do diretrio /etc


Este captulo descreve a funo, parmetros e exemplos de utilizao de alguns arquivos/diretrios de congurao em /etc. Estes arquivos esto disponveis por padro na instalao bsica do GNU/Linux, o que assegura um mximo de aproveitamento deste captulo. No sero descritos aqui arquivos de congurao especcos de servidores ou daemons (com exceo do inetd).

27.1

Diretrio /etc/alternatives

Este diretrio contm links para diversos aplicativos padres utilizados pelo sistema. Dentre eles so encontrados links para o editor do sistema e o xterm padro usado pelo sistema. Por exemplo, se voc quiser usar o editor jed ao invs do ae ou vi, remova o link editor com o comando rm editor, localize o arquivo executvel do jed com which jed e crie um link para ele ln -s /usr/bin/jed editor. De agora em diante o editor padro usado pela maioria dos aplicativos ser o jed.

27.2

Arquivo /etc/default/devpts

Este arquivo contm algumas conguraes para os pseudo terminais em /dev/pts.

27.3

Arquivo /etc/default/rcs

Contm variveis padres que alteram o comportamento de inicializao dos scripts em /etc /rcS.d

Captulo 27. Principais arquivos de congurao do diretrio /etc

306

Por exemplo, se quiser menos mensagens na inicializao do sistema, ajuste o valor da varivel VERBOSE para no. OBS: Somente modique aquilo que tem certeza do que est fazendo, um valor modicado incorretamente poder causar falhas na segurana de sua rede ou no sistemas de arquivos do disco.

27.4

Arquivo /etc/kbd/config

Este arquivo contm conguraes padres do pacote kbd para as fontes de tela e mapas de teclado usados pelo sistema. A fonte de tela especicada neste arquivo (as fontes disponveis no sistema esto localizadas em /usr/share/consolefonts). O arquivo do mapa de teclados pode ser copiado para o diretrio /etc/kbd com o nome default.kmap para que seja utilizado na inicializao do sistema ou escolhido interativamente atravs do utilitrio kbdconfig.

27.5

Diretrio /etc/menu-methods

Este diretrio contm uma lista de arquivos que so executados pelo programa update-menu para criar os menus dos programas.

27.6

Arquivo /etc/menu-methods/menu-translate

Este arquivo permite fazer a traduo de nomes de menus, identicao ou ttulos usados no ambiente grco.

27.7

Arquivo /etc/networks

Este local contm as conguraes das interfaces (placas) de rede do sistema e outras opes teis para a congurao/segurana da rede.

27.8

Arquivo /etc/network/interfaces

Este o arquivo de congurao usado pelos programas ifup e ifdown, respectivamente para ativar e desativas as interfaces de rede. O que estes utilitrios fazem na realidade carregar os utilitrios ifconfig e route atravs dos argumentos passados do arquivo /etc/network/interfaces, permitindo que o usurio iniciante congure uma interface de rede com mais facilidade.

Captulo 27. Principais arquivos de congurao do diretrio /etc

307

Abaixo um exemplo do arquivo interfaces o seguinte: iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 As interfaces e roteamentos so congurados na ordem que aparecem neste arquivo. Cada congurao de interface inicia com a palavra chave iface. A prxima palavra o nome da interface que deseja congurar (da mesma forma que utilizada pelos comandos ifconfig e route). Voc pode tambm usar IP aliases especicando eth0:0 mas tenha certeza que a interface real (eth0) inicializada antes. A prxima palavra especica a familia de endereos da interface; Escolha inet para a rede TCP/IP, ipx para interfaces IPX e IPv6 para interfaces conguradas com o protocolo IPV6. A palavra static especica o mtodo que a interface ser congurada, neste caso uma interface com endereo esttico (xo). Outros mtodos e seus parmetros so especicados abaixo (traduzido da pgina do arquivo interfaces): O mtodo loopback usado para congurar a interface loopback (lo) IPv4. O mtodo static usado para congurar um endereo IPv4 xo para a interface. As opes que podem ser usadas com o mtodos static so as seguintes (opes marcadas com * no nal so requeridas na congurao): address endereo * Endereo IP da Interface de rede (por exemplo, 192.168.1.1). netmask mscara * Mscara de rede da Interface de rede (por exemplo, 255.255.255.0). broadcast endereo Endereo de Broadcast da interface (por exemplo, 192.168.1.255). network endereo Endereo da rede (por exemplo, 192.168.0.0). gateway endereo Endereo do gateway padro (por exemplo, 192.168.1.10). O gateway o endereo do computador responsvel por conectar o seu computador a outra rede. Use somente se for necessrio em sua rede. O mtodo dhcp Este mtodo usado para obter os parmetros de congurao atravs de um servidor DHCP da rede atravs das ferramentas: dhclient, pump (somente Kernels 2.2.x) ou dpcpcp (somente kernels 2.0.x e 2.2.x) hostname nome Nome da estao de trabalho que ser requisitado. (pump, dhcpcd) leasehours leasttime Lease time preferida em horas (pump) leasetime leasetime Lease time preferida em segundos (dhcpcd) vendor vendedor Identicador do vendedor (dhcpcd) cliente identicao Identicao do cliente (dhcpcd) O mtodo bootp Este mtodo pode ser usado para obter um endereo via bootp: bootle arquivo Diz ao servidor para utilizar arquivo como arquivo de inicializao

Captulo 27. Principais arquivos de congurao do diretrio /etc

308

server endereo Especica o endereo do servidor bootp. hwaddr endereo Usa endereo como endereo de hardware no lugar do endereo original. Algumas opes se aplicam a todas as interfaces e so as seguintes: noauto No congura automaticamente a interface quando o ifup ou ifdown so executados com a opo -a (normalmente usada durante a inicializao ou desligamento do sistema). pre-up comando Executa o comando antes da inicializao da interface. up comando Executa o comando aps a interface ser iniciada. down comando Executa o comando antes de desativar a interface. pre-down comando Executa o comando aps desativar a interface. Os comandos que so executados atravs das opes up, pre-up e down podem aparecer vrias vezes na mesma interface, eles so executados na seqncia que aparecem. Note que se um dos comandos falharem, nenhum dos outros ser executado. Voc pode ter certeza que os prximos comandos sero executados adicionando || true ao nal da linha de comando.

27.9

Arquivo /etc/networks/options

Este arquivo contm opes que sero aplicadas as interfaces de rede durante a inicializao do sistema. Este arquivo lido pelo script de inicializao /etc/init.d/network que verica os valores e aplica as modicaes apropriadas no kernel.

27.10

Arquivo /etc/networks/spoof-protect

Permite especicar os endereos IPs locais e interfaces de rede que sero protegidas contra a tcnica de IP spoong (falsicao de endereo IP).

27.11

Diretrio /etc/pam.d

Este diretrio possui arquivos de congurao de diversos mdulos PAM existentes em seu sistema.

27.12

Diretrio /etc/ppp

Contm arquivos de congurao usados pelo daemon pppd para fazer uma conexo com uma rede PPP externa, criados manualmente ou atravs do pppconfig.

Captulo 27. Principais arquivos de congurao do diretrio /etc

309

27.13

Diretrio /etc/security

Este diretrio contm arquivos para controle de segurana e limites que sero aplicados aos usurios do sistema. O funcionamento de muitos dos arquivos deste diretrio depende de modicaes nos arquivos em /etc/pam.d para habilitar as funes de controle, acesso e restries.

27.14

Arquivo /etc/security/access.conf

lido no momento do login do usurio e permite denir quem ter acesso ao sistema e de onde tem permisso de acessar sua conta. O formato deste arquivo so 3 campos separados por :, cada linha contendo uma regra de acesso. O primeiro campo deve conter o caracter + ou - para denir se aquela regra permitir (+) ou bloquear(-) o acesso do usurio. O segundo campo deve conter uma lista de logins, grupos, usurio@computador ou a palavra ALL (confere com tudo) e EXCEPT (excesso). O terceiro campo deve conter uma lista de terminais tty (para logins locais), nomes de computadores, nomes de domnios (iniciando com um .), endereo IP de computadores ou endereo IP de redes (nalizando com .). Tambm pode ser usada a palavra ALL, LOCAL e EXCEPT (atinge somente mquinas locais conhecidas pelo sistema). Abaixo um exemplo do access.conf

# Somente permite o root entrar em tty1 # -:ALL EXCEPT root:tty1 # bloqueia o logins do console a todos exceto whell, shutdown e sync. # -:ALL EXCEPT wheel shutdown sync:console # Bloqueia logins remotos de contas privilegiadas (grupo wheel). # -:wheel:ALL EXCEPT LOCAL .win.tue.nl # Algumas contas no tem permisso de acessar o sistema de nenhum lugar: # -:wsbscaro wsbsecr wsbspac wsbsym wscosor wstaiwde:ALL

# Todas as outras contas que no se encaixam nas regras acima, podem acessar d # qualquer lugar

Captulo 27. Principais arquivos de congurao do diretrio /etc

310

27.15

Arquivo /etc/security/limits.conf

Deni limites de uso dos recursos do sistema para cada usurio ou grupos de usurios. Os recursos so descritos em linhas da seguinte forma: #<dominio> <tipo> <item> <valor>

O domnio pode ser um nome de usurio, um grupo (especicado como @grupo) ou o curinga *. O tipo pode ser soft para o limite mnimos e hard para o limite mximo. O campo item pode ser um dos seguintes: core - limita o tamanho do arquivo core (KB) data - tamanho mximo de dados (KB) fsize - Tamanho mximo de arquivo (KB) memlock - Espao mximo de endereos bloqueados na memria (KB) nofile - Nmero mximo de arquivos abertos rss - Tamanho mximo dos programas residentes (KB) stack - Tamanho mximo de pilha (KB) cpu - Tempo mximo usado na CPU (MIN) nproc - Nmero mximo de processos as - Limite de espao de endereos maxlogins - Nmero mximo de logins deste usurio priority - Prioridade que os programas deste usurio sero executados Abaixo um exemplo de arquivo /etc/security/limits.conf:

#<dominio> * * @student @faculty @faculty ftp @student

<tipo> soft hard hard soft hard hard -

<item> core rss nproc nproc nproc nproc maxlogins

<valor> 0 10000 20 20 50 0 4

27.16

Arquivo /etc/crontab

Arquivo que contm a programao de programas que sero executados em horrios/datas programadas. Veja cron on page 300 para mais detalhes sobre o formato deste arquivo e outras opes.

Captulo 27. Principais arquivos de congurao do diretrio /etc

311

27.17

Arquivo /etc/fstab

Contm detalhes para a montagem dos sistemas de arquivos do sistema. Veja fstab on page 92 para detalhes sobre o formato deste arquivo.

27.18

Arquivo /etc/group

Lista de grupos existentes no sistema. Veja Adicionando o usurio a um grupo extra on page 170 para mais detalhes sobre o formato deste arquivo.

27.19

Arquivo /etc/gshadow

Senhas ocultas dos grupos existentes no sistema (somente o usurio root pode ter acesso a elas). Use o utilitrio shadowconfig para ativar/desativar o suporte a senhas ocultas.

27.20

Arquivo /etc/host.conf

Veja /etc/host.conf on page 197.

27.21

Arquivo /etc/hostname

Arquivo lido pelo utilitrio hostname para denir o nome de sua estao de trabalho.

27.22

Arquivo /etc/hosts

Banco de dados DNS esttico que mapeia o nome ao endereo IP da estao de trabalho (ou vice versa). Veja /etc/hosts on page 198 para mais detalhes sobre o formato deste arquivo.

27.23

Arquivo /etc/hosts.allow

Controle de acesso do wrapper TCPD que permite o acesso de determinadas de determinados endereos/grupos aos servios da rede. Veja /etc/hosts.allow on page 204 para detalhes sobre o formato deste arquivo.

Captulo 27. Principais arquivos de congurao do diretrio /etc

312

27.24

Arquivo /etc/hosts.deny

Controle de acesso do wrapper TCPD que bloqueia o acesso de determinados endereos/grupos aos servios da rede. Este arquivo somente lido caso o /etc/hosts.allow no tenha permitido acesso aos servios que contm. Um valor padro razoavelmente seguro que pode ser usado neste arquivo que serve para a maioria dos usurios domsticos : ALL: ALL caso o acesso ao servio no tenha sido bloqueado no hosts.deny, o acesso ao servio permitido. Veja /etc/hosts.deny on page 205 para detalhes sobre o formato deste arquivo.

27.25

Arquivo /etc/hosts.equiv

Veja /etc/hosts.equiv e /etc/shosts.equiv on page 206.

27.26

Arquivo /etc/inetd.conf

Veja /etc/inetd.conf on page 200.

27.27

Arquivo /etc/inittab

Este o arquivo de congurao utilizado pelo programa init para a inicializao do sistema. Para mais detalhes sobre o formato deste arquivo, consulte a pgina de manual do inittab.

27.28

Arquivo /etc/inputrc

Este arquivo contm parmetros para a congurao do teclado. Veja o nal da seo Acentuao em modo Texto on page 277 e a pgina de manual do inputrc para mais detalhes.

27.29

Arquivo /etc/isapnp.conf

Gerado pelo utilitrio pnpdump e utilizado pelo utilitrio isapnp para congurar os recursos de hardware dos dispositivos Plug-and-Play no GNU/Linux.

Captulo 27. Principais arquivos de congurao do diretrio /etc

313

27.30

Arquivo /etc/isapnp.gone

Contm uma lista de endereos reservados que no devero ser usados pelo isapnp.

27.31

Arquivo /etc/issue

Contm um texto ou mensagem que ser mostrada antes do login do sistema.

27.32

Arquivo /etc/issue.net

Mesma utilidade do /etc/issue mas mostrado antes do login de uma seo telnet. Outra diferena que este arquivo aceita os seguintes tipos de variveis: %t - Mostra o terminal tty atual. %h - Mostra o nome de domnio completamente qualicado (FQDN). %D - Mostra o nome do domnio NIS. %d - Mostra a data e hora atual. %s - Mostra o nome do Sistema Operacional. %m - Mostra o tipo de hardware do computador. %r - Mostra a reviso do Sistema Operacional. %v - Mostra a verso do Sistema Operacional. %% - Mostra um simples sinal de porcentagem (%).

27.33

Arquivo /etc/lilo.conf

Arquivo de congurao do gerenciador de partida lilo. Veja LILO on page 95 e Um exemplo do arquivo de congurao lilo.conf on page 100.

27.34

Arquivo /etc/login.defs

Denies de congurao para o pacote login

27.35

Arquivo /etc/modules

Veja /etc/modules on page 220.

27.36

Arquivo /etc/modules.conf

Veja modules.conf on page 220.

Captulo 27. Principais arquivos de congurao do diretrio /etc

314

27.37

Arquivo /etc/motd

Mostra um texto ou mensagem aps o usurio se logar com sucesso no sistema. Tambm usado pelo telnet, ftp, e outros servidores que requerem autenticao do usurio (nome e senha).

27.38

Arquivo /etc/mtab

Lista os sistemas de arquivos montados atualmente no sistema. Sua funo idntica ao /proc /mounts.

27.39

Arquivo /etc/networks

Veja /etc/networks on page 199.

27.40

Arquivo /etc/passwd

o arquivo mais cobiado por Hackers porque contm os dados pessoais do usurio como o login, uid, telefone e senha (caso seu sistema esteja usando senhas ocultas, a senha ter um * no lugar e as senhas reais estaro armazenadas no arquivo /etc/shadow).

27.41

Arquivo /etc/printcap

Banco de dados de congurao da impressora, usado por daemons de impresso como o lpr e lprng.

27.42

Arquivo /etc/protocols

Veja /etc/protocols on page 209.

27.43

Arquivo /etc/resolv.conf

Veja /etc/resolv.conf on page 197.

Captulo 27. Principais arquivos de congurao do diretrio /etc

315

27.44

Arquivo /etc/serial.conf

Conguraes das portas seriais do sistema. Veja a pgina de manual do serial.conf e a pgina de manual do utilitrio setserial para detalhes de como congurar adequadamente a taxa de transmisso serial conforme seu dispositivo.

27.45

Arquivo /etc/services

Veja /etc/services on page 208.

27.46

Arquivo /etc/shadow

Este arquivo armazena as senhas criptografadas caso estiver usando o recurso de senhas ocultas. Este arquivo somente pode ser lido pelo usurio root.

27.47

Arquivo /etc/shells

Contm uma lista de interpretadores de comando (shells) vlidos no sistema.

27.48

Arquivo /etc/syslog.conf

Contm conguraes para denir o que ser registrado nos arquivos de log em /var/log do sistema. Veja a pgina de manual syslog.conf e dos programas klog e syslogd para entender o formato usado neste arquivo.

27.49

Arquivo /etc/timezone

Contm a sua localizao para clculo correto do seu fuso-horrio local.

Captulo 27. Principais arquivos de congurao do diretrio /etc

316

317

Captulo 28

Conectando seu computador a Internet


Este captulo descreve como congurar seu sistema para se conectar a Internet, navegar, enviar/receber mensagens, etc.

28.1

Conectando-se a Internet

Conectar-se a Internet atravs da Debian fcil, e todo o trabalho de congurao pode ser feito atravs do programa pppconfig ou modicando manualmente os arquivos em /etc /ppp. Para criar uma conexo internet atravs do pppconfig, entre como usurio root no sistema, digite pppconfig e siga os passos de congurao (esta congurao serve para usurios domsticos e assume que voc possui o kernel com suporte a PPP): 1 No primeiro menu, escolha a opo Create para criar uma nova conexo. As outras opes disponveis so Change para modicar uma conexo a Internet criada anteriormente, Delete para apagar uma conexo. A opo Quit sai do programa. 2 Agora o sistema perguntar qual ser o nome da conexo que ser criada. O nome provider o padro, e ser usado caso digite pon para iniciar uma conexo internet sem nenhum argumento. 3 O prximo passo especicar como os servidores de nomes sero acessados. Escolha Static se no tiver nenhum tipo de rede local ou None para usar os servidores especicados no arquivo /etc/resolv.conf. Aperte a tecla TAB e tecle ENTER para seguir para o prximo passo. 4 Agora digite o endereo do servidor DNS especicado pelo seu provedor de acesso. Um servidor DNS converte os nomes como www.blablabla.com.br para o endereo IP correspondente para que seu computador possa fazer conexo. Tecle ENTER para seguir para o prximo passo.

Captulo 28. Conectando seu computador a Internet

318

5 Voc pode digitar um endereo de um segundo computador que ser usado na resoluo de nomes DNS. Siga as instrues anteriores caso tiver um segundo servidor de nomes ou ENTER para continuar. 6 Agora voc precisar especicar qual o mtodo de autenticao usado pelo seu provedor de acesso. O Password Autentication Protocol usado pela maioria dos provedores de acesso. Desta forma escolha a opo PAP 7 Agora entre com o seu login no provedor de acesso, ou seja, o nome para acesso ao sistema que escolheu no momento que fez sua assinatura. 8 Agora especique a sua senha. 9 O prximo passo ser especicar a taxa de transmisso da porta serial do micro. O valor de 115200 deve funcionar com todas as conguraes mais recentes. Uma congurao serial DTE detalhada pode ser feita com a ferramenta setserial. 10 Agora ser necessrio selecionar o modo de discagem usado pelo seu fax-modem. Escolha tone para linha digital e pulse se possuir uma linha telefnica analgica. Pressione TAB e tecle ENTER para prosseguir. 11 Agora digite o nmero do telefone para fazer conexo com o seu provedor de acesso. 12 O prximo passo ser a identicao do seu fax-modem, escolha YES para que seja utilizada a auto-deteco ou NO para especicar a localizao do seu fax-modem manualmente. 13 Se voc quiser especicar mais detalhes sobre sua congurao, como strings de discagem, tempo de desconexo, auto-discagem, etc., faa isto atravs do menu Advanced. Escolha a opo Finished para salvar a sua congurao e retornar ao menu principal. Escolha a opo Quit para sair do programa.

Pronto! todos os passos para voc se conectar a Internet esto concludos, basta digitar pon para se conectar e poff para se desconectar da Internet. Caso tenha criado uma conexo com o nome diferente de provider voc ter que especica-la no comando pon (por exemplo, pon provedor2). A conexo pode ser monitorada atravs do comando plog e os pacotes enviados/recebidos atravs do pppconfig. Para uma navegao mais segura, recomendvel que leia e compreenda alguns tens que podem aumentar consideravelmente a segurana do seu sistema em Segurana da Rede e controle de Acesso on page 203, /etc/hosts.allow on page 204, /etc/hosts.deny on page 205. A seo /etc/resolv.conf on page 197 pode ser tambm til.

Captulo 28. Conectando seu computador a Internet

319

28.2

Navegando na Internet

Existem diversos tipos de navegadores web para GNU/Linux e a escolha depende dos recursos que pretende utilizar (e do poder de processamento de seu computador). Para navegar na Internet com muitos recursos, voc pode usar o navegador Netscape Navigator, ele suporta plug-ins, java, ash, etc. Voc tambm tem a escolha do Mozilla que inspirou a criao do Netscape. O Arena uma boa alternativa para aqueles que desejam um navegador em modo grco, mas eles no tem suporte a Java e Frames. Os usurios e administradores de servidores que operam em modo texto podem optar pelo Lynx. Uma listagem mais detalhada e recursos requeridos por cada navegador podem ser encontrados em Internet on page 327.

28.3

Recebimento de E-Mails atravs do fetchmail

o programa mais tradicional no recebimento de mensagens atravs dos servios pop3, imap, pop2, etc. no GNU/Linux. Ele pega as mensagens de seu servidor pop3 e as entrega ao MDA local ou nos arquivos de e-mails dos usurios do sistema em /var/mail Todo o funcionamento do fetchmail controlado pelo arquivo ~/.fetchmailrc. Segue abaixo um modelo padro deste arquivo: poll pop3.seuprovedor.com.br protocol pop3 user gleydson password sua_senha keep fetchall is gleydson here Este arquivo lido pelo fetchmail na ordem que foi escrito. Veja a explicao abaixo sobre o arquivo exemplo: A palavra poll especica o servidor de onde suas mensagens sero baixadas, o servidor especicado no exemplo pop3.seuprovedor.com.bt. A palavra skip pode ser especicada, mas as mensagens no servidor especicado por skip somente sero baixadas caso o nome do servidor de mensagens for especicado atravs da linha de comando do fetchmail. protocol o protocolo que ser usado para a transferncia de mensagens do servidor. O fetchmail utilizar a auto-deteco de protocolo caso este no seja especicado. user dene o nome do usurio no servidor pop3.seuprovedor.com.br, que no exemplo acima gleydson. password dene a senha do usurio gleydson (acima), especicada como sua_senha no exemplo. keep opcional e serve para no apagar as mensagens do servidor aps baixa-las (til para testes e acesso a uma nica conta de e-mail atravs de vrios locais, como na empresa e sua casa por exemplo). fetchall baixa todas as mensagens do provedor marcadas como lidas e no lidas.

Captulo 28. Conectando seu computador a Internet

320

is gleydson here um modo de especicar que as mensagens obtidas de pop3.seuprovedor.com.br do usurio gleydson com a senha sua_senha sero entregues para o usurio local gleydson no diretrio /var/mail/gleydson. As palavras is e here so completamente ignoradas pelo fetchmail, servem somente para dar um tom de linguagem natural na congurao do programa e da mesma forma facilitar a compreenso da congurao. Se possuir vrias contas no servidor pop3.seuprovedor.com.br, no necessrio repetir toda a congurao para cada conta, ao invs disso especique somente os outros usurios do mesmo servidor: poll pop3.seuprovedor.com.br protocol pop3 user gleydson password sua_senha keep fetchall is gleydson here user conta2 password sua_senha2 fetchall is gleydson here user conta3 password sua_senha3 fetchall is gleydson here Note que todos os e-mails das contas gleydson, conta2 e conta3 do servidor de mensagens pop3.seuprovedor.com.br so entregues ao usurio local gleydson (arquivo /var /mail/gleydson). Agora voc pode usar um programa MUA como o mutt ou pine para ler localmente as mensagens. O armazenamento de mensagens no diretrio /var/mail preferido pois permite a utilizao de programas de noticao de novos e-mais como o comsat, mailleds, biff, etc. Tambm possvel utilizar um processador de mensagens ao invs do MTA para a entrega de mensagens. O programa procmail um exemplo de processador de mensagens rpido e funcional que pode separar as mensagens em arquivos de acordo com sua origem, destino, assunto, enviar respostas automticas, listas de discusso, envio de arquivos atravs de requisio, etc. Veja Processamento de mensagens atravs do procmail on the current page para detalhes. Para mais detalhes sobre outras opes especcas de outros protocolos, checagem de mensagens, criptograa, etc, veja a pgina de manual do fetchmail.

28.3.1

Processamento de mensagens atravs do procmail

O processamento de mensagens pode ser usado para inmeras nalidades, dentre elas a mais comum separar uma mensagem em arquivos/diretrios de acordo com sua origem, prioridade, assuntos, destinatrio, contedo, etc., programar auto-respostas, programa de frias, servidor de arquivos, listas de discusso, etc. O procmail um programa que rene estas funes e permitem muito mais, dependendo da habilidades e conhecimento das ferramentas GNU/Linux para saber integra-las corretamente. Toda a operao do procmail controlada pelo arquivo /etc/procmailrc e ~ /.procmailrc. Abaixo um modelo do arquivo ~/.procmailrc usado para enviar todas as mensagens contendo a palavra GNU/Linux no assunto para o arquivo mensagens-linux:

Captulo 28. Conectando seu computador a Internet

321

PATH=/usr/bin:/bin:/usr/local/bin: MAILDIR=$HOME/Mail DEFAULT=$MAILDIR/mbox LOGFILE=$MAILDIR/log :0: * ^Subject:.*Linux mensagens-linux A varivel de ambiente MAILDIR especica o diretrio que sero armazenadas as mensagens e logs das operaes do procmail. A varivel DEFAULT especica a caixa de correio padro onde todas as mensagens que no se encaixam nas descries do ltro do procmailrc sero enviadas. A varivel LOGFILE especica o arquivo que registrar todas as operaes realizadas durante o processamento de mensagens do procmail. O arquivo mensagens-linux criado dentro do diretrio especicado por MAILDIR. Para que o procmail entre em ao toda vez que as mensagens forem baixadas via fetchmail, preciso modicar o arquivo .fechmailrc e incluir a linha mda /usr/bin/procmail -d %T no nal do arquivo e retirar as linhas is [usuriolocal] here para que o processamento das mensagens seja feita pelo MDA local (neste caso, o procmail). Se quiser que o procmail seja executado pelo MDA local, basta criar um arquivo ~ /.forward no diretrio do usurio e incluir a linha exec /usr/bin/procmail (note que em algumas implementaes do exim, o procmail executado automaticamente caso um arquivo ~/.procmailrc seja encontrado, caso contrrio ser necessrio adicionar a linha /usr/bin/procmail ao arquivo ~/.forward (somente exim). Para mais detalhes, veja a pgina de manual do procmail, procmailrc e HOWTOs relacionados com e-mails no GNU/Linux.

Captulo 28. Conectando seu computador a Internet

322

323

Captulo 29

X Window (ambiente grco)


Este captulo do guia traz explicaes sobre o ambiente grco X Window System.

29.1

O que X Window?

um sistema grco de janelas que roda em uma grande faixa de computadores, mquinas grcas e diferentes tipos de mquinas e plataformas Unix. Pode tanto ser executado em mquinas locais como remotas atravs de conexo em rede.

29.2

A organizao do ambiente grco X Window

Em geral o ambiente grco X Window dividido da seguinte forma: O Servidor X - o programa que controla a exibio dos grcos na tela, mouse e teclado. Ele se comunica com os programas cliente atravs de diversos mtodos de comunicao. O servidor X pode ser executado na mesma mquina que o programa cliente esta sendo executado de forma transparente ou atravs de uma mquina remota na rede. O gerenciador de Janelas - o programa que controla a aparncia da aplicao. Os gerenciadores de janelas (window managers) so programas que atuam entre o servidor X e a aplicao. Voc pode alternar de um gerenciador para outro sem fechar seus aplicativos. Existem vrios tipos de gerenciadores de janelas disponveis no mercado entre os mais conhecidos posso citar o Window Maker (feito por um Brasileiro), o After Step, Gnome, KDE, twm (este vem por padro quando o servidor X instalado), Enlightenment, IceWm, etc. A escolha do seu gerenciador de janelas pessoal, depende muito do gosto de cada pessoa e dos recursos que deseja utilizar.

Captulo 29. X Window (ambiente grco)

324

A aplicao cliente - o programa sendo executado. Esta organizao do ambiente grco X traz grandes vantagens de gerenciamento e recursos no ambiente grco UNIX, uma vez que tem estes recursos voc pode executar seus programas em computadores remotos, mudar totalmente a aparncia de um programa sem ter que fechalo (atravs da mudana do gerenciador de janelas), etc.

29.3

Iniciando o X

O sistema grco X pode ser iniciado de duas maneiras: Automtica - Usando o programa xdm que um programa que roda no ambiente grco X e apresenta uma tela pedindo nome e senha para entrar no sistema (login). Aps entrar no sistema, o X executar um dos gerenciadores de janelas congurados. Manual - Atravs do comando startx, ou xinit (note que o startx e xstart so scripts que fazem uma congurao completa do ambiente e as vezes tambm a segurana antes de executar o xinit) . Neste caso o usurio deve entrar com seu nome e senha para entrar no modo texto e ento executar um dos comandos acima. Aps executar um dos comandos acima, o servidor X ser iniciado e executar um dos gerenciadores de janelas congurados no sistema.

29.4

Servidor X

Como dito acima, o servidor X controla o teclado, mouse e a exibio dos grcos em sua tela. Para ser executado, precisa ser congurado atravs do arquivo /etc/X11/XF86Config ou usando o utilitrio xf86config (modo texto). A nalizao do servidor X feita atravs do pressionamento simultneo das teclas CTRL, ALT, Back Space. O servidor X imediatamente terminado e todos os gerenciadores de janelas e programas clientes so fechados. CUIDADO: Sempre utilize a opo de sada de seu gerenciador de janelas para encerrar normalmente uma seo X11 e salve os trabalhos que estiver fazendo antes de nalizar uma seo X11. A nalizao do servidor X deve ser feita em caso de emergncia quando no se sabe o que fazer para sair de um gerenciador de janelas ou de um programa mal comportado. Recomendo fazer a leitura de Fechando um programa quando no se sabe como sair on page 126 caso estiver em dvidas de como nalizar um programa mal comportado ou que no sabe como sair.

325

Captulo 30

Aplicativos para Linux


Este captulo traz uma lista de aplicativos e suas caractersticas e tem como objetivo servir de referncia para a escolha de um programa que atenda as suas necessidades especcas. Os programas descritos aqui so Clientes, ou seja, fazem acesso a um programa Servidor (como o caso dos navegadores) para funcionarem. Os programas servidores esto descritos na verso Avanado do guia, de forma passo a passo, caractersticas e mtodos de congurao recomendados. Se voc conhece um bom programa e acha que ele deveria estar aqui, me avise pelo email <gleydson@guiafoca.org>.

30.1

Aplicativos Bsicos

So aplicativos que fazem parte do cotidiano da maioria dos usurios domsticos e de empresas.

30.1.1

Editores de Texto

vi Modo Texto - (existem algumas verses adaptadas para o modo grco). um dos editores padres dos sistemas GNU/Linux e sua interface complexa e possui muitas funes (usurios GNU/Linux avanados adoram a quantidade de funes deste programa). Recomendo que aprenda o bsico sobre ele, pois sempre estar disponvel caso ocorra algum problema no sistema. Para sair do editor vi sem salvar pressione ESC e digite :q!. Para sair do editor e salvar pressione ESC e digite :wq. elvis Modo Texto - possui boa interface de comunicao com o usurio, suporte a HTML e Metacaracteres.

Captulo 30. Aplicativos para Linux

326

ae Modo Texto - um dos editores padres dos sistemas GNU/Linux (encontrado nas distribuies Debian e baseadas). Sua interface mais fcil que o vi. Tambm recomendo que aprenda o bsico sobre ele, pois requerido para a manuteno do sistema. Para sair do ae sem salvar pressione CTRL+Q, para salvar o texto pressione CTRL+X e CTRL+W (aps isto se quiser sair do editor, pressione CTRL+Q). jed Modo Texto - Recomendvel para aqueles que esto acostumados com o EDIT do DOS e gostam de menus suspensos. Sua interface de fcil operao. O jed possui recursos poderosos para programadores de C e outras linguagens que faz auto-tabulao, auto-identao e delimitao de blocos de cdigo atravs de cores. mcedit Modo Texto - Muito fcil de utilizar e possui interface em Portugus do Brasil, em geral no requer um tutorial para aprendizado. Este programa faz parte do pacote Midnight Commander (conhecido tambm como mc). Voc utiliza as teclas de funo (F1 a F10) para salvar o texto, procurar palavras no texto, pedir ajuda, sair, etc. Ele possui recursos para colorir blocos de cdigo (testado com arquivos HTML e SGML). joe Modo Texto - um editor muito verstil e voc pode escolher inclusive sua interface. gedit Modo Grco - editor do Gnome, sua interface de comunicao tima e recomendado para aqueles que gostam de trabalhar com muitos arquivos abertos, copiar e colar, etc. Possui muitos recursos de operao de arquivo, tabulaes, browser, diff de documentos, etc. gxedit Modo Grco - Editor no estilo do gedit, sua interface de comunicao com o usurio tima, possui suporte a e-mail, mede o nmero de toques por minuto do usurio (digitao), suporte a tags HTML, audio, rede, correo ortogrca, etc.

30.1.2

Aplicativos para Escritrio

Open Ofce Modo Grco - Pacote de Escritrio contendo editor de texto, planilha de clculo, banco de dados, digitalizador de imagens, editor grco, calculadora, navegador, e-mail, abre todos os arquivos do MS Ofce 2000 e sua interface idntica aos programas do Ofce, no requerendo novo treinamento dos usurios. Todos os programas do Open Office so iniciados atravs de uma interface virtual idntica ao Windows (com menu iniciar e tudo mais). Possui verso em Portugus e sua verso atual a 1.0. Alm da impressionante integrao entre os programas que compem o conjunto, o Open Office possui um frame de navegao com centenas de modelos, barra de desktop, localizao fcil de arquivos e abertura instantnea. O Open Office possui mais recursos que o Ofce e no custa nada! Seu tamanho para download de 80MB e no requer o pagamento de licenas para a instalao em computadores de empresas ou domsticos.

Captulo 30. Aplicativos para Linux

327

O equipamento mnimo que recomendo para a execuo do Open Office um 586 com 64 MB de memria RAM e 200 MB Livres no disco rgido. Sua instalao feita em modo grco e o tamanho ocupado no disco depende dos componentes selecionados. Abiword Modo Grco - um editor de Textos mais simples que o Star Office e uma boa interface de operao que possui suporte a arquivos do Ofce 2000. O equipamento mnimo que recomendo para a execuo do Abiword um 486 com 8 MB de memria RAM e 7 MB de espao livre no disco rgido (ele pode ocupar menos espao caso as bibliotecas compartilhados que utiliza j estiverem instaladas). Corel Word Perfect Modo Grco - Pacote de escritrio da Corel. Uma alternativa ao Open Office. Ele requer o pagamento de licenas para seu uso.

30.1.3

Internet

Netscape 4.73 Modo Grco - Verso do Netscape Communicator para GNU/Linux, com criptograa forte, programa de e-mail, news, editor interativo de pginas HTML, catlogo de endereos. Tambm possui suporte a rede proxy e conexo via rewall. Equipamento mnimo recomendvel: 486 com 32 MB de RAM e 40 MB de espao em disco livre. Mozilla Modo Grco - Navegador que inspirou a construo do Netscape, foi o primeiro navegador grco e hoje a verso do Netscape 6.0 baseada no Mozilla. Se gosta de frescuras na aparncia do navegador escolha este mas o desempenho do Netscape 4.73 melhor. . . Tambm possui suporte a rede proxy e conexo via rewall Equipamento mnimo recomendado: 486 com 48 MB de RAM e 40 MB de espao em disco livre. Arena Modo Grco - navegador pequeno, sem suporte a Java e Frames, ideal para computadores menos potentes. Recomendo o Lynx! Equipamento mnimo recomendado: 386 com 8 MB de RAM e 12 MB de disco Opera Modo Grco - Navegador pequeno, sem suporte a Java e Frames, ideal para computadores menos potentes. Ainda recomendo o Lynx! Lynx Modo Texto - Agora sim! Navegador pequeno, no tem suporte a frames mas exibe uma listagem permitindo selecionar qual ser aberto, sem suporte a Java e muito exvel em sua congurao (d uma olhada na quantidade de opes no arquivo /etc /lynx.cfg). Tambm funciona via proxy tradicional ou rewall. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 2 MB de disco. Pine Modo Texto - Programa de E-Mail muito usado entre os usurios GNU/Linux, mas no gratuito. . . Possui suporte a criptograa PGP e HTML em sua nova verso. Mutt Modo Texto - Outro programa de E-mail muito usado pelos usurios do GNU/Linux. Possui suporte a criptograa PGP, cores de destaque nas mensagens e processamento de

Captulo 30. Aplicativos para Linux

328

links HTML. muito personalizvel (veja a quantidade de opes no arquivo de congurao /etc/Muttrc). Sua interface em Portugus. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 2 MB de disco. ftp Modo Texto - O prprio! faz cpias de arquivos de um site remoto para seu disco local ou vice versa. Veja ftp on page 160 para mais detalhes. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 1 MB de disco. telnet Modo Texto - Conexo ao terminal virtual remotamente. Permite controlar seu terminal remotamente atravs de uma conexo via rede TCP/IP. Veja Telnet on page 159 para mais detalhes. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 1 MB de disco. talk Modo Texto - Permite conversar com outros usurios GNU/Linux conectados atravs de uma rede TCP/IP no estilo do Bate Papo ou do Chat do ICQ. Veja talk on page 161 para mais detalhes. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 1 MB de disco. fetchmail Modo Texto - Permite baixar as mensagens de seu servidor de e-mail para o seu diretrio de usurio no sistema. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 1 MB de disco. procmail Modo Texto - Organiza mensagens em arquivos separados de acordo com a origem/assunto/contedo. O procmail muito exvel e tambm permite resposta automtica de acordo com alguns tipos de mensagens e a criao de ltros de mensagens muito poderosos caso voc conhea e saiba integrar as ferramentas do sistema. bitchx Programa de IRC muito complexo e poderoso. Ele opera em modo texto e em modo grco (xbitchx). Tem que ter disposio de hacker para aprender o que signicam cada uma das 4 telas de comandos obtidos com o /help. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 4 MB de disco. xchat Programa de IRC muito fcil de usar e com muitos recursos. Ele possui verses para modo texto e grco e possui suporte a scripts Perl e Python, personalizao de menus, comandos, etc. Sua exibilidade muito boa para quem conhece os comandos dos clientes IRC. Tambm permite o log das conversas pblicas e privadas. Tambm funciona via proxy tradicional ou Firewall. Equipamento mnimo recomendado: 386 com 8 MB de RAM e 3 MB de disco. licq Modo grco - Programa de ICQ grco para GNU/Linux. Apesar de ter muitos recursos, sua interface muito organizada e possui suporte a seleo de sua aparncia (Skins). Emite avisos sonoros e levanta-se sobre as outras janelas durante o recebimento de mensagens. Tambm funciona via proxy tradicional ou Firewall. Equipamento mnimo recomendado: 486 com 16 MB de RAM e 10 MB de disco.

Captulo 30. Aplicativos para Linux

329

gaim Modo grco - Possui suporte a mltiplos protocolos, podendo se conectar ao ICQ, MSN, Jabber, e outros. Equipamento mnimo recomendado: 486 com 16 MB de RAM e 20 MB de disco. zicq Modo Texto - Programa de ICQ em modo Texto. Equipamento mnimo recomendado: 386 com 2 MB de RAM e 1 MB de disco. amsn Modo Grco - Suporta protocolo MSN. Equipamento mnimo recomendado: 486 com 16 MB de RAM e 8 MB de disco.

30.1.4

Emuladores

DosEmu Emulador do DOS. Permite executar aplicativos e jogos de DOS no GNU/Linux Equipamento mnimo recomendado: 486 com 8 MB de RAM e 4 MB de disco. Wine Emulador de Windows. Permite executar aplicativos desenvolvidos para Windows 3.1X, 9X, NT e 200x no GNU/Linux. Equipamento mnimo recomendado: 486 com 16 MB de RAM e 12 MB de disco.

30.1.5

Utilitrios

Midnight Commander Gerenciador de Arquivos no estilo do Norton Commander e Far. Opera tanto em modo texto e grco e possui todas as qualidades dos gerenciadores acima, mais o suporte ao painel FTP, permisses de arquivos e dicas sobre o sistema. Simples, prtico e til. Equipamento mnimo recomendado: 386 com 4 MB de RAM e 2 MB de disco. wget Modo Texto - Permite a cpia completa de sites remotos e tambm pode ser usado como mirror. Com o simples comando wget http://www.guiafoca.org, todo o site do guia Foca Linux ser gravado em seu disco. O wget tambm tem a caracterstica de resumir downloads interrompidos e copiar somente arquivos mais novos. Gostou da idia? Isto s o comeo! existem ferramentas mais poderosas no GNU/Linux :-) Equipamento mnimo recomendado: 386 com 4 MB de RAM e disco dependendo do tamanho do site que deseja copiar (um disco maior que 540 MB exige uma placa me com suporte a LBA :-)

30.1.6

Administrao do Sistema

logcheck Envia um E-Mail periodicamente ao usurio alertando sobre ocorrncias especiais encontradas nos logs do sistema, como tentativas de invaso sem sucesso, tentativas de acesso ao usurio root do sistema, erros nos dispositivos, mensagens dos daemons, inetd, etc.

Captulo 30. Aplicativos para Linux

330

30.2

Listagem de Aplicativos para GNU/Linux

Esta seo contm uma listagem dos mais diversos tipos de aplicativos/ferramentas/scripts/suites/servidores, etc. para GNU/Linux com sua respectiva descrio. A listagem est organizada em ordem alfabtica e subsees para facilitar a sua navegao e localizao do aplicativo desejado. Alguns aplicativos marcados com (D) no nal da descrio so Docks que so executados como cones no gerenciador de janelas.

30.2.1

Perifricos / Gerenciamento de Hardware

3c5x9utils - Utilitrios de congurao e diagnstico para placas 3Com 5x9 apcupsd - Gerenciamento de Energia para No Breaks APC buffer - Programa de buffering/reblocking para backup em tapes, impresso, etc dds2tar - Ferramenta para usar caractersticas DDS de unidades DAT com o programa tar da GNU dtlk -Controlador de dispositivo Linux para o DoubleTalk PC eject - ejeta CDs e opera CD-Changers sob o Linux estic - Programa de administrao para ISDN PABX ISTEC 1003/1008 gatos - Software de captura TV All-in-Wonder da ATI genpower - Monitor de No Break e manipulador de falhas de energia hdparm - Permite fazer um ajuste no na performance do disco rgido hpscanpbm - Utilitrio para o Scanner HP ScanJet hwtools - Coleo de ferramentas para o gerenciamento em baixo nvel do hardware isapnp - Permite congurar recursos de dispositivos Plug-and-Play no Linux jazip - monta e desmonta Zip drives Iomega e/ou Jaz jaztool - Utilitrio para manipular drives Iomega joystick -Ferramentas de teste e calibragem de Joysticks lcdproc - Daemon de tela LCD lm-sensors - Utilitrios para ler a temperatura/voltagem/sensores da ventoinha da CPU mtx - Controla unidades tape autochangers pciutils - Utilitrios PCI para o Linux (para kernels 2.[123].x ) powstatd - Daemon de monitoramento de No Breaks congurvel prime-net - Permite doar ciclos da CPU no usados - Cliente PrimeNet GIMPS sane-gimp1.1 - Interface para Scanners no gimp sane - Interface para Scanners. Permite a comunicao e uso de diversos tipos de scanners diferentes. setcd - Controla caractersticas de funcionamento de sua unidade de CD-ROM (autolock, auto-eject, etc) sformat - Formatador de discos SCSI e ferramenta de reparo svgatextmode - Executa o modo de texto em alta resoluo synaptics - Congura um TouchPad da Synaptics upsd - Programa monitor de No Breaks wanpipe - Utilitrios de congurao para placas Sangoma S508/S514 WAN

Captulo 30. Aplicativos para Linux

331

wdsetup - Utilitrio de congurao para placas ethernet Western Digital e SMC xsane-gimp1.1 - Uma interface X11 baseada no GTK para o SANE (Scanner Access Now Easy) xsane - Uma interface X11 baseada no GTK para o SANE (Scanner Access Now Easy) xviddetect - Detecta o modelo da placa de vdeo e indica servidores X associados a placa

30.2.2

Internet

arena - um navegador WWW compatvel com HTML 3.0 para o X bezerk - Cliente IRC baseado em GTK bitchx - Cliente IRC Avanado bitchx-gtk - Interface grca GTK para o BitchX cftp - Cliente ftp de tela cheia chimera2 - Navegador Web para o X dxftp - Cliente FTP Darxite baseado em linha de comando epic4 - Cliente irc epic irc client, verso 4 epic - Cliente ircII modicado com funcionalidades adicionais everybuddy - Cliente ICQ, AOL, Yahoo (tudo em 1) express - Navegador web baseado em GTK para o GNOME filerunner - Programa FTP e Gerenciador de Arquivos baseado em X ftp - O cliente FTP padro ftp-upload - Envia arquivos FTP atravs de um script gaim - Um clone GTK do AOL Instant Messenger gftp - Cliente FTP do X/GTK+ gnap - Cliente Gnome para o Napster gnapster - Cliente Napster para Linux - localiza arquivos MP3 na Internet gnomeicu - Clone pequeno, rpido e funcional do Mirabilis ICQ gnome-napster - Cliente Napster para Linux - localiza arquivos MP3 na Internet gpppon - Um applet do gnome que funciona como uma interface ao pon e poff gzilla - Um navegador web baseado em GTK irssi - Cliente IRC para Gnome isdnbutton - Inicia e Interrompe conexes ISDN e mostra status licq-data - Arquivos de daods para o Licq licq-plugin-qt2 - Interface grca para o Licq usando bibliotecas QT2 licq - Programa ICQ grco para Linux lynx - Navegador WWW em modo texto micq - Cliente ICQ baseado em texto com muitas caractersticas mosaic - Navegador WWW Grco mozilla - Um Navegador WWW de cdigo aberto para o X e GTK+ ncftp2 - Um cliente FTP com interface fcil e com muitas caractersticas ncftp - Um cliente FTP com interface fcil e com muitas caractersticas Netscape - Navegador grco com programa de e-mail, news, livro de endereos, editor de pginas HTML. Suporta Java, tabelas, frames, CSS, proxy, etc. . . ppxp - Programa PPP

Captulo 30. Aplicativos para Linux

332

ppxp-tcltk - Console tk do ppxp ppxp-x11 - Console X do ppxp quickppp - Ferramenta de congurao PPP realplayer - Real Player sysnews - Mostra noticias do sistema (de /var/news) talk - Permite conversar com outro usurio conectado ao sistema ou via rede TCP/IP tftp - Programa trivial le transfer tik - Cliente Tcl/Tk do servio AOL Instant Messenger utalk - programa parecido com o talk com caractersticas adicionais vrwave - Navegador baseado em VRML 2.0 java vrweb - Um navegador VRML e editor wvdial - Discador PPP com inteligncia embutida. wxftp-gtk - Um programa ftp grco com a interface GTK xchat - Cliente IRC para X similar ao AmIRC xchat-gnome - Cliente IRC para o GNOME similar ao AmIRC xisp - Uma interface X amigvel ao pppd/chat xitalk - Programa talk que lista usurios atuais do sistema. Ele tambm pode iniciar uma seo talk, tocar som, executar um aplicativo, etc. durante uma requisio talk xrn - Leitor de news NNTP baseado em X xtalk - Um cliente X-Window BSD talk, escrito em Python ytalk - Programa talk avanado com suporte ao X zicq - Cliente ICQ baseado em ncurses

30.2.3

Conferncia de audio/vdeo via Internet/Intranet

camediaplay - Interface de Cmera Digital cqcam - Programa de Controle da Cmera Colorida QuickCam (PC/Paralela) gphoto - Aplicativo Universal para cmeras digitais gstalker - Stock and commodity price charting utility photopc - Interface para cmeras digitais phototk - Interface grca para cmeras digitais qcam - Capturador de Imagens da QuickCam qvplay - Ferramenta de comunicao para a cmera Casio QV rat - RAT - Ferramenta de conferncia de audio unicast e multicast Vat - Ferramenta de audio conferncia via rede/Internet vic - Ferramenta de vdeo conferncia wbd - Prancha de Desenho para Multicast webcam - Captura e faz o upload automtico de imagens para um servidor web

30.2.4

Gerenciamento de WebSites / Linguagem HTML

adacgi - Interface CGI para o Ada amaya - Editor HTML Grco da w3.org analog - Analiza arquivos de log de servidores www

Captulo 30. Aplicativos para Linux

333

bk2site - Utilitrio para tornar bookmarks em pginas parecidas com o yahoo/Slashdot bluefish - Um editor HTML baseado em Gtk+ bookmarker - Gerenciamento de bookmark baseado em WWW, ferramenta de recuperao e procura bookmarks - Outra coleo de bookmarks browser-history - Daemon do usurio que captura URLs procuradas e as registra c2html - Destaca cdigos em C para apresentao em WWW cgic-capture - Captura de ambiente CGI para depurao cgiemail - Conversor de formulrio CGI para E-Mail cgilib - Biblioteca CGI simples cgiwrap - Permite usurios ordinrios executar seus prprios Scripts CGI checkbot - Vericador de links WWW cocoon - Um Framework de publicao XML/XSL cronolog - Um roteador de arquivos de log para servidores web curl - Copia um arquivo de um servidor FTP, GOPHER, ou HTTP (sem suporte a ssl) cvs2html - Cria verses em html dos logs do CVS faqomatic - FAQ cgi online e interativa freetable - Um script em Perl que facilita a produo de tabelas HTML gifsicle - Poderoso programa para a manipulao de imagens GIF giftrans - Converte qualquer arquivo GIF em um GIF89a gnujsp - Uma implementao gratuita do Suns Java Server Pages (JSP 1.0) gtml - Um pr-processador HTML htdig - Sistema de procura WWW para a Intranet ou uma pequena internet htget - Um capturador de arquivos que obtm arquivos atraes de servidores HTTP htmldoc - Processador HTML que gera arquivos HTML, PS, e PDF indexados htmlgen - Gerao de documentos HTML com scripts em Python htp - Um pr-processador HTML http-analyze - Um analizador rpido de logs de servidores WWW hypermail - Cria arquivos HTML de listas de discusses por E-Mail imaptool - Uma ferramenta para a criao de mapas de imagens do lado cliente imgsizer - Adiciona os atributos WIDTH e HEIGHT a tags IMG tags em arquivos HTML imho - Mdulo de E-Mail baseado na Web para o Roxen (usando IMAP) imp - Programa de E-Mail baseado em IMAP para a Web java2html - Destaca cdigos em Java e C++ para apresentao via WWW jserv - Motor Java Servlet 2.0 com um mdulo Apache adicional junkbuster - O Junkbuster da Internet! latte - A linguagem para transformao de texto (atualmente para html) linbot - Vericador de links de sites WWW lists-archives - Arquivo Web para listas de discusso por E-Mail mailto - Ligao de formulrios WWW com o programa de E-Mail muffin - Um proxy Web pessoal e extensvel pas2html - Destaca fontes do Pascal e Modula para apresentao via WWW pcd2html - Scripts para converter imagens PCD para pginas HTML comentadas perl2html - Destaca fontes do Perl para apresentao via WWW

Captulo 30. Aplicativos para Linux

334

php3 - Uma linguagem script embutida em HTML - lado do servidor php4 - Uma linguagem script embutida em HTML - lado do servidor phplib - Biblioteca para escrever aplicaes para a Web facilmente plugger - Plug-in Mime do Netscape rpm2html - Gera ndices HTML dos diretrios de RPMs screem - Um ambiente de desenvolvimento de website sitecopy - Um programa para gerenciar um site WWW via FTP squishdot - Sistema de discusso/news baseado na Web swish-e - Sistema simples de indexao Web para Humanos swish++ - Sistema simples de indexao Web para Humanos++ tidy - Vericador de sintaxe HTML e reformatador do cdigo w3mir - Ferramenta de cpia completa HTTP e mirror wdg-html-validator - Vericador de arquivos HTML webalizer - Programa de anlise arquivos de log do servidor Web weblint - Um vericador de sintaxe e estilo mnimo para HTML webmagick - Cria uma galeria de thumbnails para website websec - Secretria Web wget - Utilitrio para copiar arquivos atraes da WWW via HTTP e FTP com suporte a reinicio do ponto de interrupo do download. wmf - Web Mail Folder wml - Website META Language por Ralf Engelschall wwwcount - Contador de acessos a pginas Web wwwoffle - Explorer OFFline da World Wide Web wwwtable - Um script em Perl que facilita a produo de tabelas em HTML xsitecopy - Um programa para gerenciar um site WWW via FTP (verso GNOME) zope - O Ambiente de Publicao de Objetos Z

30.2.5

Multimdia

gxanim - Interface em GTK para o xanim smpeg-gtv - Exibe arquivos MPEG de audio/vdeo com interface em GTK+ smpeg-plaympeg - Exibe arquivos MPEG de audio/vdeo atravs da linha de comando streamer - Programa de captura de vdeo para a bt848 a video4linux tkxanim - Interface Tcl/Tk para o xanim ucbmpeg - Encoder de vdeo MPEG e ferramentas de anlise ucbmpeg-play - Exibe arquivos de vdeo MPEG vstream - Utilitrio de captura de vdeo bttv para a criao de MPEGs xanim - Exibe arquivos multimdia (animaes, lmes e sons) xanim-modules - Instalao de binrios de xanim - somente mdulos

30.2.6

Som

ascdc - CD changer ideal para ser usado no After Step junto com o mdulo wharf ascd - CD Player e mixer para Window Maker e After Step (D)

Captulo 30. Aplicativos para Linux

335

aumix - Mixer em modo texto que permite modicar, salvar e restaurar a congurao de som na inicializao do sistema bplay - Player/Gravador wav que opera em modo texto (root) cam - Mixer para modo texto com controle completo da placa de som. Tambm permite salvar e restaurar a congurao de som, embora isto seja mais simples atravs do aumix. cdda2wav - Extrai audio do CD para arquivos wav e mp3 cd-diskio - Obtem dados do CDDB sobre o CD de audio cdparanoia - Extrai dados de CD para wav cdtool - Utilitrios para manipulao de CD player em modo texto dtmfdial - Gera tons de discagem para linhas tom festival - L textos para a placa de som do sistema freeamp - Player mp2/mp3 gramofile - Programa de gravao de msicas de disco de vinil para wav com ltros para retirada de rudos graudio - Permite controlar placas de rdio FM grip - CD-Ripper e CD-Player (do CD paranoia) gtick - Gera rudos de batida em /dev e /dsp id3 - Modica cabealhos de identicao de arquivos mp3 maplay - Decoder mp3 que permite a decodicao para a sada padro mctools - CDplayer e mixer mixer.app - Mixer para Window Maker (D) mp3blaster - Player mp3 para console mp3info - Mostra cabealho de arquivos mp3 nas - Network Audio Server - Sistema de audio atravs da rede playmidi - Toca musicas .mid recite - L textos para a placa de som do sistema rplay - Toca sons atravs da rede s3mod - Player para arquivos de msica s3m e mod saytime - Diz as horas na placa de som snack - Adiciona suporte a som na linguagem TCL/TK soundtracker - Mdulos para edio. suporta mdulos .xt e instrumentos .xi sox - Tradutor universal de sons splay - Toca arquivos mp1, mp2, mp3 synaesthesia - Osciloscpio musical timitidy - Midi sequencer. Tambm faz a converso de arquivos .mid para .wav tkmixer - Mixer em TCL/TK transcriber - Permite gravar notas durante a descrio de programas vkeybd - Teclado virtual (requer placa awe) wav2cdr - Converte wav em arquivos cdr. Permite edio de msicas wavtools - Ferramentas para arquivos wav (player, recorder, compactao) wmcdplayer - Mdulo de Cd player para Window Maker wmxmms-spectrum - Spectrum analizador para Window Maker (D) workbone - CD player para modo texto operado atravs do teclado numrico wosundprefs - Preferncias musicais para o Window Maker wsoundserver - Servidor de som para Window Maker xcolmix - Um mixer colorido RGB

Captulo 30. Aplicativos para Linux

336

xfreecd - Programa para tocar CDS xmcd - CD player/changer muito completo com suporte ao CDDB xmix - Mixer para o X xmp - Player mod, s3m, 669, mtm, ptm, okt, far, wow, amd, rad, alm

30.2.7

Comunicao/Fax

adbbs - AD BBS, uma BBS baseada em perl ou menu de sistema fcil efax - Programas para enviar e receber mensagens de fax hylafax-client - Programa HylaFAX cliente hylafax-server - Programa HylaFAX servidor lrzsz - Ferramentas para a transferncia de arquivos atravs de zmodem/xmodem/ymodem mgetty-fax - Ferramentas de Fax para o mgetty mgetty - Substituio ao getty mgetty-viewfax - Programa para mostrar arquivos de fax sob o X mgetty-voice -Secretria Eletrnica para o mgetty minicom - Clone do Telix - um programa de comunicao do DOS mserver - Servidor de Modem para a Rede seyon - Programa de comunicao nativo completo nativo do X11 smsclient - Um programa para enviar mensagens curtas para telefones mveis/Pagers (SM / SMS) speaker - Aplicativo Viva Voz baseado em Tcl/Tk tkhylafax - Uma interface td ao hylafax xringd - Daemon de chamadas Extendida - Monitora toques do telefone e executa alguma ao

30.2.8

X Window

asclock - Relgio do After Step dfm - Gerenciador de Arquivos/Desktop dgs - Visualizador de arquivos do Ghost Script dxpc - Compactador do protocolo X para linhas lentas floatbg - Modica lentamente a cor do fundo da janela do root gdm - Gerenciador de seo do GNOME - Substituio ao xdm gentoo - Um gerenciador de arquivos totalmente congurvel para o X usando o GTK+ gtkcookie - Editor de arquivos cookie gtkfind - Localizador de arquivos completo gtkfontsel - Visualizador de fontes ical - Um aplicativo de calendrio baseado em X11/Tk regexplorer - Explorer visual de expresses regulares rt - Mostra arquivos de log selecionados na janela raz do X sclient - Um cliente MUD baseado em gtk. sfm - Um gerenciador de arquivos baseado em texto usando o GTK+ tkdesk - Um gerenciador de Desktop/Arquivos X11 baseado em TCL/TK

Captulo 30. Aplicativos para Linux

337

tkvnc - Mostra uma lista de mquinas denidas para iniciar o VNC tkworld - Uma interface grca para comandos do shell tuxeyes - Uma verso do xeyes para o penguim ude - Ambiente desktop do Unix unclutter - Oculta o mouse no X aps um perodo de inatividade uwm - Gerenciador de janelas ultimate para o UDE vreng - Motor de realidade virtual wdm - Substituio ao XDM com visual do Window Maker, animaes e suporte a seleo do gerenciador de janelas wmanager - Permite selecionar o gerenciador de janelas aps o login do xdm wmapm - Mostra o status da bateria, gerenciamento de energia do sistema (D) wmdate - Mostra a data/dia da semana (D) wmifs - Monitor das interfaces de rede com indicador de atividade das interfaces (envio/recebimento) grco de atividade na rede e indicador de interface ativa (D) wmitime - Relgio analgico+digital+data e hora da Internet. (D) wmload - Mostra a carga da CPU na forma de barras (D) wmmail - Monitor de E-mails (D) wmmatrix - Mostra um dock do matrix (D) wmmixer - Mixer para o Window maker (D) wmmoonclock - Relgio da lua (D) wmnet - Monitor de interfaces de rede (D) wmnetselect - Dispara o netscape atravs de um cone (D) wmpinboard - Todo list com animaes e um excelente visual (D) wmspaceweather - Monitora prtons e eltrons do espao (D) wmtime - Relgio analgico, dia da semana e data (D) wmtv - Sintonlizador de TV para Window Maker com suporte a seleo de canais, sistema de cores PAM-M/Secam/NTSC, ajuste no, procura de estaes de TV, uso de aplicativos de TV externos e muito mais (D) x2x - Liga a imagem de 2 monitores simulando multi-telas xautolock - Inicia um programa aps certo perodo de inatividade do X xawtv - Visualizador Video4linux xbanner - Deixa a tela de login mais bonita xext - Extenses para os servidores X xfishtank - Mostra um aqurio na janela raz do X Window xfs - Servidor de fontes do X xfs-xtt - Servidor de fontes do X com suporte a fontes true type xinput - Congurao em tempo de execuo e teste para dispositivos de entrada do X xipmsg - Envia mensagens xjscal - Calibrador de Joystick para o X11 xkbsel - Ferramenta para denir, selecionar e indicar teclados para o X xkbsel-gnome - Ferramenta para denir, selecionar e indicar teclados para o X (verso para Gnome) xkeycaps - Mostra o cdigo de teclas do seu teclado no X para a construo de um Xmodmap personalizado xlockmore-gl - Verso do xlockmore em GL xlockmore - Trava a tela do X at que uma senha seja digitada

Captulo 30. Aplicativos para Linux

338

xmaddressbook - Agenda de endereos para o X xmanpages - Visualizador de pginas de manual para o X xmbdfed - Editor de fontes para o X11 xmon - Monitor do protocolo X xmotd - Navegador da mensagem do dia par ao X xodo - Mede a distncia percorrida pelo cursos do seu mouse. permitido escolher at a unidade de medida da distncia xpaste - Mostra o contedo copiado com CTRL+C xrootconsole - Melhora a aparncia do desktop xscreensaver - Coleo de Screen Savers automtico para o X xscreensaver-gl - Protees de tela GL para o xscreensaver xsm - Gerenciador de seo do X xsnow - Animao de neve para o X (muito legal). xt - Traceroute grco em GL. Mostra o caminho percorrido por sua conexo at chegar ao destino xvt - Emulador de terminal do X parecido com o xterm, mas menor xwit - Uma coleo de rotinas simples para chamar algumas funes do X11 xwrits - Te lembra para dar uma parada na digitao xzoom - Lente de aumento para parte da sua tela do X, com atualizaes rpidas

30.2.9

Editorao Grca/Visualizadores

dia - Editor de Diagramas egon - Programa de animaes da Siag Ofce gimp - O Programa de Manipulao de Imagens da GNU imagemagick - Programas de manipulao de Imagem mentor - Uma coleo de algoritmos de animao moonlight - Cria e desenha cenas em 3D pixmap - Um editor de pixmaps qcad - Sistema CAD PROFISSIONAL. qiv - Um visualizador rpido de imagens para o X saoimage - Utilitrio para mostrar e processar imagens atronmicas sced - Um programa para criar cenas em 3D sketch - Um programa de desenho interativo do X11 terraform - Um programa para gerao/manipulao de mapas Tridimensionais da Terra tgif - Programa para desenhos 2-D sob o X11 whirlgif - Cria GIFs animadas xbmbrowser - Navegador para Pixmaps e Bitmaps xfig - Facilita a gerao de guras interativamente sob o X11 xli - Visualiza imagens sob o X11 xloadimage - Visualizador de arquivos grcos sob o X11 xpcd - Coleo de ferramentas PhotoCD: Bsico xpcd-gimp - Coleo de ferramentas PhotoCD: Suporte ao Gimp xpcd-svga - Coleo de ferramentas PhotoCD: Visualizador SVGA

Captulo 30. Aplicativos para Linux

339

xv-doc - Documentao do XV em Posscript e HTML. xv - Uma visualizador e manipulador de imagens para o X Window System xwpick - Captura uma tela X11 e armazena em arquivos

30.2.10

Emuladores/Ferramentas p/ Interao com outros SO

doschk - Verica a compatibilidade de arquivos SYSV e DOS dosemu - Emulador de DOS para Linux dosfstools-Utilitrios para criar e checar sistemas de arquivos DOS FAT hfsutils - Ferramenta para ler e gravar volumes Macintosh. hfsutils-tcltk -Interface Tcl/Tk para ler e gravar volumes Macintosh macutils - Conjunto de ferramentas para negociar com arquivos especiais do Macintosh mcvert - Ferramenta para negociar com arquivos encodicados especiais do Macintosh mixal - Um emulador MIX e interpretador MIXAL mtools - Ferramenta para manipulao de arquivos do DOS p3nfs - Monta unidades da sria Psion 3[ac], 5 simh - Um emulador de vrios computadores DEC stella - Emulador do video game Atari 2600 Emulator para X Windows uae-exotic - O Emulador Amiga Ubiquitous: Binrios exticos uae - O Emulador Amiga Ubiquitous: Bsico uae-suid - O Emulador Amiga Ubiquitous: Binrios Suid root umsdos - Utilitrios para o sistema de arquivos UMSDOS vice - Emulador verstil do commodore wine - Emulador do Windows (Emulador Binrio) xapple2 - Emulador do Apple xcopilot - Emulador do Pilot xspectemu - Emulador do Spectrim Fast 48k ZX para X11 xtrs - Emulador para os computadores TRS-80 Modelos I/III/4/4P xzx - Emulador de espectro baseado em ZX para o X11

30.2.11

Programao / Bancos de Dados / Acesso a Dados

bcc - Compilador C 16 Bits bin86 - Assembler 16 bits e carregador binutils - Assembler da GNU, linker e utilitrios binrios clc-intercal - Compilador para a linguagem Intercal cmucl - Compilador lisp CMUCL e sistema de desenvolvimento colorgcc - Colore mensagens de alerta/erro do GCC cutils - Utilitrios de cdigo fonte C cvs - Concurrent Versions System cvsweb - uma interface CGI ao seu repositrio CVS cxref - Gera documentao em latex e HTML para seus programas em C dbf2pg - Converte arquivos do xBase para PostgreSQL dbf - Pacote de manipulao de arquivos xbase

Captulo 30. Aplicativos para Linux

340

dbview - Visualiza arquivos do dBase III dialog - Permite adicionar o recurso de caixas de dilogo em shell scripts como Yes/No, Ok, Cancelar, etc. dist - Ferramentas para desenvolver, manter e distribuir softwares doc++ - Um sistema de documentao para C/C++ e Java f2c -Um tradutor do Fortran77 para C/C++ com bibliotecas estticas e compartilhadas f77reorder - Um script de compilao Fortran chamando o f2c/gcc fp-api -Units Livres da API do Pascal fp-compiler - Compilador Livre do Pascal fp-extra - Pacotes Extras do Pascal Livre fp-fcl - Pascal Livre - Biblioteca de Componentes Livres fp-gtk - Ligaes Pascal - GTK fp-utils - Units do Pascal Livre freetds-jdbc - Driver JDBC Java puro para MS SQL e Sybase g77 - Compilador GNU Fortran 77. gbdk-dev - Kit de desenvolvimento do GameBoy - pacotes de desenvolvimento gbdk-examples - Kit de desenvolvimento do GameBoy - pacote de exemplos gbdk -Kit de desenvolvimento GameBoy - pacote binrio gcc272-docs - Documentao para compiladores gcc (gcc272, g++272) gcc-i386-gnu - Cheap cross-compiler para GNU/Hurd gcc - O compilador C da GNU g++ - Compilador GNU C++ gdb - O depurador GNU gengetopt - Gerador de estrutura main.c global - Ferramenta de procura e navegao do cdigo fonte gpc - Compilador Pascal da GNU gprolog - Compilador GNU Prolog gtksql - Interface grca GTK para o banco de dados posgress SQL guavac - Compilador java hello-debhelper - O programa inicial e um bom exemplo hello - O programa inicial e um bom exemplo indent - Programa de formatao do cdigo fonte em linguagem C inform - Compilador para jogos de aventura jitterbug - Um ferramenta cgi-bin para relato de problemas e teste lclint - Uma ferramenta para checagem esttica de programas em C liwc - Ferramentas para manipular o cdigo fonte em C mercury - Nova linguagem de programao lgica/funcional mmake - Gerador Makele para programas em java mpsql - Uma interface grca ao PostgreSQL mysql-client - Binrios cliente do banco de dados mysql mysql-gpl-client - Binrios cliente do banco de dados mysql mysql-manual - Documentao no ocial do MySQL 3.20 mysql-server 3.22.32-1 - binrios do servidor do banco de dados mysql nosql - um sistema de Gerenciamento de Banco de Dados Relacional para Unix p2c - Tradutor Pascal para C pentium-builder - Fora a compilao otimizada para computadores Pentium

Captulo 30. Aplicativos para Linux

341

pgaccess - Interface grca Tk/Tcl para o banco de dados PostgreSQL phylip - [Biology] A program package for inferring phylogenies postgresql - Banco de dados SQL relacionado a objetos, descendente do POSTGRES postgresql-client - Programas de interface para o PostgreSQL postgresql-contrib - Facilidades adicionais para o PostgreSQL postgresql-test - Conjunto de testes de regresso para o PostgreSQL smalleiffel - Compilador Eiffel GNU solid-desktop - Servidor SQL Slido solid-devel - Desenvolvimento do Servidor SQL Slido solid-doc-Documentao do servidor slido SQL solid-tools - Ferramentas do servidor slido SQL www-mysql - Uma interface WWW interface para o banco de dados TCX mySQL www-pgsql - Uma interface WWW para o banco de dados PostgreSQL xmysqladmin - Interface grca para o mysql (3.22.xx) xxgdb - Interface grca para o GNU debugger gdb

30.2.12

Impresso

apsfilter - Um ltro de linha de impresso para sistemas com lpd/lpr cupsys-bsd - Common UNIX Printing System(tm) - comandos BSD cupsys - Common UNIX Printing System(tm) - bsico djtools - Ferramentas para a impressora HP Deskjet ifhp - Filtro para impressoras HP LaserJet lprng - Sistema de spooling de impresso lpr/lpd lpr - Sistema de spooling da linha de impresso estilo BSD magicfilter - Filtro automtico de impressora mpage - Mostra mltiplas pginas em uma impressora PostScript printop - Interface grca para o daemon de impresso LPRng printtool - Ferramenta de administrao de impressoras psptools - Ferramentas para impressoras PostScript e dispositivos rlpr -Um utilitrio para impresso do ldp sem usar o /etc/printcap wip - Pacote de para ploters grcos com alta qualidade de sada

30.2.13

Texto

1a2ps - Conversor GNU de tudo para PostScript e impresso abc2ps - Traduz arquivos de descrio de msica ABC para PostScript acroread - Adobe Acrobat Reader: Visualizador de arquivos Portable Document Format aspell - Uma substituio mais inteligente para o vericador ortogrco ispell brazilian-conjugate - Conjugador de verbos Portugues do Brasil catdoc - Conversor de arquivos MS-Word para TeX ou texto plano colortail - tail que colore os padres que conferem cost - Ferramenta de ps processamento SGML de propsito geral debiandoc-sgml -DTD DebianDoc SGML e ferramentas de formatao

Captulo 30. Aplicativos para Linux

342

docbook - DTD SGML para a documentao de software dog - Substituio avanada para o cat figlet - Cria palavras usando tabelas de caracteres ASCII flip - Converte arquivos de texto entre os formatos DOS e Unix ghostview - Um visualizador PostScript para o X11 gnuhtml2latex - Um Script Perl que converte arquivos html em latex gs-aladdin - Interpretador PostScript com suporte a X11 e preview svgalib gsfonts - Fontes para o interpretador ghostscript gs - Interpretador PostScript com suporte a X11 e preview svgalib gtkdiff - Ferramenta de comparao de texto grca help2man - Gerador automtico de pginas de manual html2ps - Conversor HTML para PostScript iamerican - Um dicionrio de Ingls Americano para o ispell ibrazilian - Um dicionrio do Brasileiro para o ispell ispell - International Ispell (um corretor ortogrco interativo) less - Programa de paginao de arquivos, parecido com o more lincredits - Gera verses com melhor formatao do arquivo CREDITS do Linux lookup - utilitrio para procurar arquivos de texto rapidamente e com muitos recursos lout - Sistema de Digitao, uma alternativa ao (La)TeX lv - Um poderoso visualizador de arquivos multi-lngua lyx - Processador de textos de alto nvel mgdiff - clone do xdiff mswordview - Um conversor de arquivos MS Word 97/2000 para HTML ndtpd - Servidor CD-ROM books par - Reformatador de pargrafo pbm2ppa - Conversor PBM para PPA perlsgml - Ferramentas para construir e analizar DTDs SGML perspic - Programa indexador de textos e localizador de palavras poster - Faz grandes posters de pginas PostScript ppd-gs - Arquivos de descrio de impressora PostScript para o Ghostscript pstotext - Extrai textos de arquivos PostScript e PDF recode - Utilitrio de converso do conjunto de caracteres sgml-base - Utilitrio para manter o arquivo de catlogo SGML sgml-data - Dados comuns entre DTDs SGML e entities sgml-tools - Conversores SGML somente par ao DTD linuxdoc spell - Spell GNU, um clone do spell para Unix sufary - Ferramentas de procura em texto completo usando uma array de suxos sufary-tcltk - Interface Tcl/Tk para o SUFARY tcs - Tradutor de conjunto de caracteres tkdiff - Utilitrio diff grco trueprint - Imprime de forma organizada o cdigo fonte word2x - Traduz arquivos do Word em texto ascii ou LaTeX xpdf - Visualizador do formato Portable Document Format para X11 xpw - O processador de textos Pattico

Captulo 30. Aplicativos para Linux

343

30.2.14

Kernel

adjtimex - Mostra e congura variveis do kernel autofs - Montador automtico baseado no kernel para Linux kernellab - Gerencia facilmente conguraes do kernel em muitas mquinas kernel-package - Scripts de construo do pacote de kernel para a Debian knl - Obtm/ajusta parmetros de imagem do kernel ksymoops - Interpreta mensagens oops e de erro do kernel psmisc - Utilitrios que utilizam o sistema de arquivos /proc systune - Ajuste no do kernel atravs do sistema de arquivos /proc

30.2.15

Notebooks

apmd - Utilitrio para gerenciamento avanado de energia (APM) em Notebooks toshutils - Utilitrios para Note Books Toshiba wmbattery - Mostra o status/carga da bateria (D)

30.2.16

Gravao de CD/DVD

cdrdao - Grava CDs de audio ou tipos de dados diversos no disco de uma s vez cdrecord - Ferramenta de gravao de CD/DVD cdrtoaster - Interface grca em Tcl/Tk para gravar CD-ROMs cdwrite - Ferramenta de gravao de CD para unidades CD-R Orange Book cdlabelgen - Gera capa e fundo para CDs gtoaster - Gnome Toaster, uma interface grca para gravao de CDs mkhybrid - Cria imagens do sistema de arquivos CD-ROM mkisofs - Cria imagens do sistema de arquivos CD-ROM ISO-9660 tkcdlayout - Programa simples em X para criar capas de CDs xcdroast - Software de gravao de CDs baseado no X

30.2.17

Computao Paralela/Clusters

lam2-dev - Ativa processamento paralelo entre mltiplos processadores mpich - Sistema de computao Paralela pvm - Mquina Virtual Paralela - binrios e bibliotecas compartilhadas

30.2.18

PalmTop / Palm Pilot / Computadores de Mo

imgvtopgm -Utilitrio de converso de imagem PalmPilot/III jpilot -Um utilitrio GTK para modicar o contedo de seus Bancos de Dados no Pilot. lpkg - Carregador do pacotes de mensagens para o PDA Newton MessagePad lx-gdb - Mostra e carrega banco de dados do palmtop da HP lxtools -Permite o gerenciamento de arquivos em palmtops HP100/200LX palm-doctoolkit - Ferramentas de texto eletrnico para usurios PalmPilot picasm -Assembler para a familia de controladores Microchip PIC

Captulo 30. Aplicativos para Linux

344

pilot-link -Ferramentas para se comunicar com um Pilot 3COM PDA atravs de uma porta serial pilot-manager - PalmPilot PIM, UI, e gerenciador de condute pilot-template - Gerador de cdigo para programas do PalmPilot pilrc - Compilador de recursos e editor do PalmPilot/PalmIII pose - Emulador PalmOS prc-tools - GCC, GDB, binutils, etc. para o PalmPilot e Palm III pyrite - Kit da plataforma de comunicao Palm Computing(R) para Python

30.2.19

Backup

afbackup-client - Sistema de backup cliente-servidor (lado Cliente) afbackup - Sistema de backup cliente-servidor (lado Servidor) amanda-client - Advanced Maryland Automatic Network Disk Archiver (Cliente) amanda-common - Advanced Maryland Automatic Network Disk Archiver (Libs) amanda-server - Advanced Maryland Automatic Network Disk Archiver (Servidor) floppybackup - Backup em disquetes usando diversos tipos de formatos de disquetes taper - Utilitrio de backup do sistema em tela cheia tob - Programa pequeno e poderoso orientado a backup de tapes

30.2.20

Utilitrios

afio - Programa de manipulao de arquivos aish - Conversor ish/base64/uuencoded_le alien - Instala pacotes da Red Hat, Stampede e Slackware com o dpkg ascii - Mostra aliases e tabela para caracteres ASCII autoconf - Script de congurao automtico autogen - Gerador automtico de arquivos texto automake - Gerador automtico de scripts Makele autoproject - Cria um esqueleto de pacote fonte para um novo programa barcode - Cria cdigo de barras no formato .ps binstats - Ferramenta de estatstica para programas instalados birthday - Alerta sobre eventos pendentes no login blinkd -Pisca LEDS do teclado para uma secretria eletrnica ou mquina de fax bl - Pisca seqencialmente os LEDs do teclado bsdmainutils - Mais utilitrios do 4.4BSD-Lite btoa - Converte binrio para ascii e vice versa cbb - Um clone do Quicken chase - Segue um link simblico e mostra seu arquivo alvo dgpsip - Corrige localizao GPS com o sinal DGPS da internet diffstat - produz grcos das alteraes introduzidas por um arquivo diff dotfile-bash - Gerador de arquivos dotle, mdulo para o bash dotfile -Congurao fcil de programas populares atravs da interface Tcl/Tk dotfile-elm - Gerador de arquivos dotle, mdulo para o elm dotfile-fvwm1 - Gerador de arquivos dotle, mdulo para o fvwm1

Captulo 30. Aplicativos para Linux

345

dotfile-fvwm2 - Gerador de arquivos dotle, mdulo para o fvwm2 dotfile-ipfwadm - Gerador de arquivos dotle, mdulo para o ipfwadm dotfile-procmail - Gerador de arquivos dotle, mdulo para o procmail dotfile-rtin - Gerador de arquivos dotle, mdulo para o rtin dotfile-tcsh - Gerador de arquivos dotle, mdulo para o tcsh dump - 4.4bsd dump e restore para sistema de arquivos ext2 fastjar - Utilitrio de criao de arquivos Jar fdupes - Identica arquivos duplicados residindo nos diretrios especicados fdutils - Utilitrios de disquete do Linux file - Determina o tipo de arquivo usando nmeros mgicos gcal - Mostra um calendrio gettext - Utilitrios de internacionalizao da GNU gfloppy - Interface grca para a formatao de disquetes git - Ferramentas interativas da GNU glimpse - Ferramentas de indexao e localizao em tela cheia gmc - Midnight Commander - Um poderoso gerenciador de arquivos - Verso gnome gmemusage -Mostra um grco detalhando a utilizao de memria por cada processo gnotes - Applet de notas Yellow sticky para o GNOME gnucash - Um programa de tratamento de nanas pessoais gpm - Daemon de mouse para modo texto grep-dctrl - Verso do gru para informaes de pacotes da Debian gtktalog - Catlogo de Disco guitar - Ferramenta de extrao/visualizao de arquivos em GTK+ gxset - Interface grca baseada em GTK a ferramenta de linha de comando xset hextype - Hexdump de acordo com o formato de sada do antido Debug do DOS iraf - Reduo de Imagem e Facilidade de Anlise (astronomia/imagem) jdresolve - Alternativa rpida ao logresolve do Apache kbd - Utilitrios de fonte e mapas de teclado para o console do Linux launcher - Seleciona que programa carregar de acordo com a extenso lavaps - Uma lmpada de lava dos processos atualmente executados leave - Te lembra quando deve deixar o sistema (muito til para quem gosta do Linux :-) linuxlogo - Logotipo do Sistema Colorido em ANSI loadwatch - Executa um programa usando somente ciclos ociosos da CPU makepatch - gera/aplica arquivos de patch com mais funcionalidade que o diff plano mc-common - Arquvios comuns par ao mc e gmc mc - Midnight Commander - Um poderoso gerenciador de arquivos mirrordir - Duplica um diretrio fazendo um mnimo de modicaes ncdt - Mostra a rvore de diretrios netplan - Servidor de rede para o plan nwrite - Substituio avanada ao comando write patch - Aplica um arquivo gerado pelo diff a um original pcal - Cria calendrios imprimveis via PostScript sem o X perforate - Utilitrios para salvar espao em disco pgrep - utilitrio grep que usa expresses regulares compatveis com o Perl plan - Planejamento dirio baseado em X/Motif (compilado dinamicamente com Less-

Captulo 30. Aplicativos para Linux

346

Tif) pointerize - Utilitrios de internacionalizao baseado no gettext popularity-contest - Vote em seus pacotes favoritos automaticamente pydf - Clone df com sada em cores rtlinux - Linux em Tempo Real set6x86 -Ferramenta de congurao para CPUs Cyrix/IBM 5x86/6x86 splitvt - Executa dois programas em uma tela dividida statserial - Mostra a linha de status da porta serial do modem strace - Um traador de chamadas do sistema sunclock - Mostra poro iluminada do planeta terra symlinks - procura/modica links simblicos tleds - Pisca LEDs do teclado indicando Envio e Recebimento de pacotes da rede tree - Mostra a rvore de diretrios em cores units - conversor entre diferentes unidades de sistema uptimed - Utilitrio para registrar seus maiores tempos de utilizao do sistema urlview - Extrai URLs de textos vold - Daemon de volume para unidades de CDROM vrms - Virtual Richard M. Stallman (mostra mensalmente uma lista de pacotes no-livres instalados em seu sistema) wipe - Deleo segura de arquivos (sem possibilidade de recuperao) xcal - Um calendrio grco com alarmes de alerta xplanet - Cria imagens do planeta Terra xvmount - Pequeno utilitrio grco para a montagem de dispositivos pelos usurios

30.2.21

Compactadores/Descompactadores/Arquivadores

bzip2 - Um timo compactador de arquivos texto - utilitrios gzip - Compactador de arquivos de formato .gz lha - Compactador de arquivos no formato .lha ou . lzh lzop - Um compactador em tempo real ncompress - Compress / Uncompress original para a transferncia de News, etc. rar - Compactador/Descompactador de arquivos .rar tar - Utilitrio de arquivamento de arquivos unarj - Descompactador de arquivos .arj unzip - Descompactador de arquivos .zip zoo - Manipula arquivos compactados no formato .zoo

30.2.22

Dispositivos X-10 (Controle de eletrodomsticos e aparelhos via PC)

bottlerocket - Utilitrio para controle de dispositivos X10 heyu - Comunicao X10 de dois pontos para o CM11A wmx10 - Permite controlar uma casa atravs de mdulos x10. Este aplicativo permite controlar at 8 dispositivos por casa (D) x10 - Opera mdulos de controle de fora eltrica X10x10-automate - Interface grca para o utilitrio de controle de fora de linha X10

Captulo 30. Aplicativos para Linux

347

xtend - Daemon monitor de status X10

30.2.23

Outros

acs - Simulador de Circuito Als avra - Montador para microcontroladoras AVR Atmel avrp - Programador para microcontroladoras AVR Atmel chipmunk-log - Ferramenta de captura esquemtica e ambiente de simulao cracklib2-dev - Uma biblioteca de checagem de senhas cracklib2 - Uma biblioteca de checagem de senhas cracklib-runtime - Uma biblioteca de checagem de senhas display-dhammapada - Mostra versos do Dhammapada fastdnaml - [Biologia] Uma ferramenta para construo de rvores da seqncia do DNA geda - GNU EDA Software de design eletrnico gwave - Um visualizador waveform para simuladores spice megahal - Um simulador de conversao que pode aprender mime-support - Arquivos MIME mime.types e mailcap, e programas nitpic - Simulador para o Microcontrolador Microchip PIC16C84 pcb - Programa de Design de Placas de Circuito Impresso puzzle - [Biology] Reconstruction of phylogenetic trees by maximum likelihood readseq - [Biologia] Converso entre formatos em seqncia savant - Analizador VHDL 93 livre da University de Cincinnatis screen - Um gerenciador de tela com a emulao de terminal VT100/ANSI seaview - [Biologia] Um editor de alinhamento em mltiplas seqncias simulpic - Simulador de dispositivo PIC Microchip smtm - Show Me The Money is a congurable Perl/Tk stock ticker program spim - Emulador MIPS R2000/R3000 xacc-smotif -Um programa de tratamento de nanas pessoais xacc - Um programa de tratamento de nanas pessoais xcircuit - Esquemas de circuitos de desenho de quase tudo

Captulo 30. Aplicativos para Linux

348

349

Captulo 31

Como obter ajuda no sistema


Dvidas so comuns durante o uso do GNU/Linux e existem vrias maneiras de se obter ajuda e encontrar a resposta para algum problema. O GNU/Linux um sistema bem documentado, provavelmente tudo o que imaginar fazer ou aprender j esta disponvel para leitura e aprendizado. Abaixo segue algumas formas teis para encontrar a soluo de sua dvida, vale a pena conhece-las.

31.1

Pginas de Manual

As pginas de manual acompanham quase todos os programas GNU/Linux. Elas trazem uma descrio bsica do comando/programa e detalhes sobre o funcionamento de opo. Uma pgina de manual visualizada na forma de texto nico com rolagem vertical. Tambm documenta parmetros usados em alguns arquivos de congurao. A utilizao da pgina de manual simples, digite: man [seo] [comando/arquivo] onde: seo a seo de manual que ser aberta, se omitido, mostra a primeira seo sobre o comando encontrada (em ordem crescente). comando/arquivo Comando/arquivo que deseja pesquisar. A navegao dentro das pginas de manual feita usando-se as teclas: q - Sai da pgina de manual PageDown ou f - Rola 25 linhas abaixo PageUP ou w - Rola 25 linhas acima SetaAcima ou k - Rola 1 linha acima SetaAbaixo ou e - Rola 1 linha abaixo r - Redesenha a tela (refresh) p ou g - Inicio da pgina h - Ajuda sobre as opes da pgina de manual s - Salva a pgina de manual em formato texto no arquivo especicado (por exemplo: /tmp/ls).

Captulo 31. Como obter ajuda no sistema

350

Cada seo da pgina de manual contm explicaes sobre uma determinada parte do sistema. As sees so organizadas em diretrios separados e localizadas no diretrio /usr/man. Os programas/arquivos so classicados nas seguintes sees: 1 Programas executveis ou comandos internos 2 Chamadas do sistema (funes oferecidas pelo kernel) 3 Chamadas de Bibliotecas (funes dentro de bibliotecas do sistema) 4 Arquivos especiais (normalmente encontrados no diretrio /dev) 5 Formatos de arquivos e convenes (/etc/inittab por exemplo). 6 Jogos 7 Pacotes de macros e convenes (por exemplo man) 8 Comandos de Administrao do sistema (normalmente usados pelo root) 9 Rotinas do kernel (no padres) A documentao de um programa tambm pode ser encontrada em 2 ou mais categorias, como o caso do arquivo host_access que documentado na seo 3 (bibliotecas) e 5 (formatos de arquivo). Por este motivo necessrio digitar man 5 hosts_access para ler a pgina sobre o formato do arquivo, porque o comando man procura a pgina de manual nas sees em ordem crescente e a digitao do comando man hosts_access abriria a seo 3. As pginas de manual contm algumas regras para facilitar a compreenso do comando: Texto Negrito - Deve ser digitado exatamente como mostrado bla bla bla - Qualquer coisa dentro de [] so opcionais Exemplo, man ls, man 5 hosts_access.

31.2

Info Pages

Idntico as pginas de manual, mas usada navegao entre as pginas. Se pressionarmos <Enter> em cima de uma palavra destacada, a info pages nos levar a seo correspondente. A info pages til quando sabemos o nome do comando e queremos saber para o que ele serve. Tambm traz explicaes detalhadas sobre uso, opes e comandos. Para usar a info pages, digite: info [comando/programa] Se o nome do comando/programa no for digitado, a info pages mostra a lista de todos os manuais de comandos/programas disponveis. A navegao da info pages feita atravs de nomes marcados com um * (hipertextos) que se pressionarmos <Enter>, nos levar at a seo correspondente. A info pages possui algumas teclas de navegao teis:

Captulo 31. Como obter ajuda no sistema

351

q - Sai da info pages ? - Mostra a tela de ajuda (que contm a lista completa de teclas de navegao e muitos outras opes). n - Avana para a prxima pgina p - Volta uma pgina u - Sobre um nvel do contedo (at checar ao ndice de documentos) m - Permite usar a localizao para encontrar uma pgina do info. Pressione m, digite o comando e tecle <Enter> que ser levado automaticamente a pgina correspondente. d - Volta ao ndice de documentos. Existem muitos outras teclas de navegao teis na info pages, mas estas so as mais usadas. Para mais detalhes, entre no programa info e pressione ?. Exemplo, info cvs.

31.3

Help on line

Ajuda rpida, til para sabermos quais opes podem ser usadas com o comando/programa. Quase todos os comandos/programas GNU/Linux oferecem este recurso que til para consultas rpidas (e quando no precisamos dos detalhes das pginas de manual). til quando se sabe o nome do programa mas deseja saber quais so as opes disponveis e para o que cada uma serve. Para acionar o help on line, digite: [comando] --help comando - o comando/programa que desejamos ter uma explicao rpida. O Help on Line no funciona com comandos internos (embutidos no Bash), para ter uma ajuda rpida sobre os comandos internos, veja help on this page. Por exemplo, ls --help.

31.4

help

Ajuda rpida, til para saber que opes podem ser usadas com os comandos internos do interpretador de comandos. O comando help somente mostra a ajuda para comandos internos, para ter uma ajuda similar para comandos externos, veja Help on line on the current page. Para usar o help digite: help [comando] Por exemplo, help echo, help exit

31.5

apropos/whatis

Apropos procura por programas/comandos atravs da descrio. til quando precisamos fazer alguma coisa mas no sabemos qual comando usar. Ele faz sua pesquisa nas pginas de ma-

Captulo 31. Como obter ajuda no sistema

352

nual existentes no sistema e lista os comandos/programas que atendem a consulta. Para usar o comando apropos digite: apropos [descrio] Digitando apropos copy, ser mostrado todos os comandos que tem a palavra copy em sua descrio (provavelmente os programas que copiam arquivos, mas podem ser mostrados outros tambm).

31.6

locate

Localiza uma palavra na estrutura de arquivos/diretrios do sistema. til quando queremos localizar onde um comando ou programa se encontra (para copia-lo, curiosidade, etc). A pesquisa feita em um banco de dados construdo com o comando updatedb sendo feita a partir do diretrio raz / e sub-diretrios. Para fazer uma consulta com o locate usamos: locate [expresso] A expresso deve ser o nome de um arquivo diretrio ou ambos que sero procurados na estrutura de diretrios do sistema. Como a consulta por um programa costuma localizar tambm sua pgina de manual, recomendvel usar pipes para ltrar a sada do comando (para detalhes veja | (pipe) on page 186 . Por exemplo, para listar os diretrios que contm o nome cp: locate cp. Agora mostrar somente arquivos binrios, usamos: locate cp|grep bin/

31.7

which

Localiza um programa na estrutura de diretrios do path. muito semelhante ao locate, mas a busca feita no path do sistema e somente so mostrados arquivos executveis . which [programa/comando].

31.8

Documentos HOWTOs

So documentos em formato texto, html, etc, que explicam como fazer determinada tarefa ou como um programa funciona. Normalmente so feitos na linguagem SGML e convertidos para outros formatos (como o texto, HTML, Pos Script) depois de prontos. Estes trazem explicaes detalhadas desde como usar o bash at sobre como funciona o modem ou como montar um servidor internet completo. Os HOWTOs podem ser encontrados no diretrio do projeto de documentao do GNU/Linux (LDP) em ftp://metalab.unc. edu/pub/Linux/docs/HOWTO/ ou traduzidos para o Portugus pelo LDP-BR em http: //www.tldp.org/projetos/howto/traduzidos.php. Caso tenha optado por instalar o pacote de HOWTOs de sua distribuio GNU/Linux, eles podem ser encontrados em: /usr /doc/how-to

Captulo 31. Como obter ajuda no sistema

353

31.8.1

Listagem de HOWTOs

Esta seo tem a inteno de facilitar a localizao de um documento que trata do assunto desejado ou te despertar a curiosidade sobre alguns assuntos do SO-GNU/Linux atravs da descrio contida nos documentos. Segue abaixo uma listagem de HOWTOs do projeto LDP organizadas por sub-sees com a descrio do assunto que cada um deles aborda. Introduo ao Sistema / Instalao / Conguraes / Kernel Access-HOWTO O HOWTO de Acesso ao GNU/Linux cobre o uso de tecnologia adaptada para tornar o GNU/Linux acessvel queles que no o utilizam. Ele cobre reas onde ele pode usar solues tecnolgicas adaptadas. Bash-Prompt-HOWTO Explica como criar e controlar um terminal e aviso de comando xterm, incluindo seqncias de escape incorporadas para passar o nome do usurio, diretrio atual, hora, uso de cores ANSI, etc. Bootdisk-HOWTO Explica como criar seu prprio disco de inicializao/raz para o GNU/Linux. BootPrompt-HOWTO Este documento rene a maioria dos parmetros de inicializao que podem ser passados ao kernel do GNU/Linux durante a inicializao do sistema. Tambm explica como o kernel classica os argumentos de inicializao e tambm os softwares usados para inicializao do kernel do GNU/Linux. Compaq-Remote-Insight-Board-HOWTO Descreve como instalar o Linux no servidor Compaq ProLiant. Cong-HOWTO Este documento ensina como fazer um ajuste no em sua mquina GNU/Linux recm instalada rpido e fcil. Neste documento voc encontrar um conjunto de conguraes para as aplicaes e servios mais populares. Distribution-HOWTO Este documento tem a inteno de ajudar novos usurios escolherem uma distribuio GNU/Linux e ajudar usurios experientes a avaliar o estado do marketing no GNU/Linux Ele no planeja ser uma lista completa de distribuies GNU/Linux para todas as plataformas, mas ao invs disso se focaliza nas distribuies em Ingls baseadas no processador Intel, disponveis em CD-ROM e acessveis a usurios novatos no sistema. From-PowerUp-To-Bash-Prompt-HOWTO Contm uma breve descrio sobre o que acontece no sistema GNU/Linux, do momento que liga o seu computador at o login no aviso do bash. Ele organizado por pacotes para torna-lo fcil para pessoas que desejam construir um sistema atravs do cdigo fonte. Entendendo isto ser til quando precisar resolver problemas ou congurar o seu sistema. Installation-HOWTO Este documento descreve como obter e instalar o software GNU/Linux. Ele o primeiro documento que um novo usurio GNU/Linux dev ler para iniciar no sistema.

Captulo 31. Como obter ajuda no sistema

354

INFO-SHEET Este documento oferece informaes bsicas sobre o sistema operacional GNU/Linux, incluindo uma explicao sobre o sistema, uma lista de caractersticas, alguns requerimentos e alguns recursos. Kernel-HOWTO Este um guia detalhado de congurao do kernel, compilao, upgrades e problemas para sistemas baseados. PLIP-Install-HOWTO Descreve como instalar uma distribuio GNU/Linux em um computador sem placa Ethernet, ou CD-ROM, mas apenas com uma unidade de disquetes local e um servidor NFS remoto conectado via um cabo paralelo. Reading-List-HOWTO Lista os livros mais valiosos para uma pessoa que deseja aprender o sistema operacional Unix (especialmente o GNU/Linux). Software-Building-HOWTO Guia compreensivo de como construir e instalar distribuies de softwares genricas UNIX sob o GNU/Linux. Adicionalmente existe alguma cobertura dos binrios pr-empacotados rpm e deb. Tips-HOWTO Este documento descreve algumas dicas difceis de encontrar e truques que fazem o GNU/Linux um pouco melhor. Unix-and-Internet-Fundamentals-HOWTO Este documento descreve a base de funcionamento dos computadores da classe PC, sistemas operacionais Unix e a Internet em linguagem no tcnica. User-Authentication-HOWTO Explica como as informaes de usurio e grupo so armazenadas e como os usurios so autenticados no sistema GNU/Linux (PAM) e como melhorar a autenticao de seu sistema. Adaptao do GNU/Linux para idiomas especcos Belarusian-HOWTO Adicionando o suporte ao idioma Belarusian no Linux. Belgian-HOWTO Este documento ensina a congurao do sistema GNU/Linux para o idioma Belgo. Chinese-HOWTO Este documento explica como congurar o idioma Chins no GNU/Linux. Cyrillic-HOWTO Explica como utilizar o GNU/Linux com o idioma Russo. Danish-HOWTO Descreve como congurar o GNU/Linux e vrios aplicativos GNU/Linux para este idioma. Esperanto-HOWTO Congurao do GNU/Linux para o idioma Esperanto. Finnish-HOWTO Descreve como usar o sistema GNU/Linux no idioma Finlands. Francophones-HOWTO Descreve como usar o GNU/Linux no idioma Francs. German-HOWTO Descreve como usar o GNU/Linux com o idioma Alemo.

Captulo 31. Como obter ajuda no sistema

355

Hebrew-HOWTO Descreve como congurar o GNU/Linux para exibir caracteres Hebreus no X-Window e Console. Hellenic-HOWTO Guia para congurao do GNU/Linux. Italian-HOWTO Descreve como congurar o GNU/Linux no idioma Italiano. Polish-HOWTO Congurando seu sistema GNU/Linux para o idioma Polons. Portuguese-HOWTO Congurando seu sistema GNU/Linux para o idioma Portugus. Serbian-HOWTO Congurando seu sistema GNU/Linux para o idioma Servio. Slovenian-HOWTO Como congurar os parmetros do sistema GNU/Linux para este idioma. Spanish-HOWTO Congurando o sistema GNU/Linux para o idioma Espanhol. Thai-HOWTO Descreve como usar o idioma Tailands com o GNU/Linux. Turkish-HOWTO Congurando o GNU/Linux para o idioma Turco.

Discos / Sistemas de Arquivos / Desempenho Filesystems-HOWTO Descreve sistemas de arquivos e o acesso aos sistemas de arquivos. Large-Disk-HOWTO Tudo sobre a geometria e o limite de 1024 cilindros para os discos. LVM-HOWTO Um HOWTO descritivo sobre o GNU/Linux LVM. Loopback-Encrypted-Filesystem-HOWTO Este documento explica como criar e utilizar um sistema de arquivos que, quando montado por um usurios, encripta transparentemente e dinamicamente seu contedo. O sistema de arquivos armazenado em um arquivo regular, que pode ser oculto ou nomeado para algo que no chama a ateno, como algo que nunca seria procurado. Isto permite um alto nvel de segurana dos dados armazenados. Multi-Disk-HOWTO Este documento descreve como utilizar da melhor maneira mltiplos discos e parties em um sistema GNU/Linux. Muitos dos detalhes descritos aqui podem tambm ser aplicados a outros sistemas operacionais multi-tarefas. MultiOS-HOWTO Este documento cobre os procedimentos para utilizar discos rgidos removveis para instalar e gerenciar mltiplos sistemas operacionais alternativos enquanto deixa um disco rgido simples xo para proteger o sistema operacional primrio. muito escalvel e oferece uma boa grade de proteo e um ambiente de disco estvel para o sistema operacional primrio. Optical-Disk-HOWTO Este documento descreve a instalao e congurao de unidades de disco ticos para GNU/Linux.

Captulo 31. Como obter ajuda no sistema

356

Root-RAID-HOWTO Este documento somente se aplica a ferramentas RAID ANTIGAS, verso 0.50 e inferiores. Os detalhes contidos neste documento se tornaram obsoletos com a vasta melhoria das ferramentas RAID 0.90 e acompanhadas do patch nos kernels das sries 2.0.37, 2.2x e 2.3x. SCSI-Programming-HOWTO Este documento fala sobre a programao da interface SCSI genrica no GNU/Linux. UMSDOS-HOWTO O UMSDOS um sistema de arquivos GNU/Linux. Ele oferece uma alternativa do sistema de arquivos EXT2. Sua maior caracterstica a coexistncia com os dados DOS existentes, compartilhando a mesma partio. Escrita de Documentao / Editores C-editing-with-VIM-HOWTO Oferece dicas para editar arquivos desta linguagem e com sintaxe similar como C++ e Java. Emacs-Beginner-HOWTO Este documento introduz os usurios GNU/Linux no editor Emacs. Ele assume o mnimo de conhecimento com o editor de texto vi ou similar. Emacspeak-HOWTO Este documento descreve como um usurio pode usar o sistema com um sintetizador de voz no lugar do monitor de vdeo. Ele descreve como ter o GNU/Linux rodando em seu PC e como congura-lo para falar. Ele tambm sugere como aprender sobre o Unix. HOWTO-HOWTO Lista de ferramentas, processos e dicas para ajudar os autores de HOWTOs aumentarem sua produtividade. LinuxDoc+Emacs+Ispell-HOWTO Este documento de interesse de escritores e tradutores dos HOWTOs do GNU/Linux ou qualquer outro papel para o Projeto de Documentao do GNU/Linux. Ele oferece dicas sobre o uso de ferramentas incluindo o Emacs e Ispell. TeTeX-HOWTO Este documento cobre a instalao bsico e uso das implementaes TeTeX, TeX e LaTeX sob as maiores distribuies de GNU/Linux Inglesas e pacotes auxiliares como o GhostScript. Vim-HOWTO Este documento uma guia para congurar rapidamente o editor colorido Vim nos sistemas Unix e GNU/Linux. Os detalhes aqui aumentaro a produtividade dos programadores porque o editor Vim suporta a colorizao de cdigo e fontes negrito, aumentando a legibilidade do cdigo do programa. A produtividade do programador aumenta de 2 a 3 vezes com um editor colorido como Vim. Hardware 3Dfx-HOWTO Este documento descreve o suporte do GNU/Linux aos chips aceleradores 3Dfx. Tambm lista alguns hardwares suportados, descreve como congurar os drivers e responde perguntas freqntes.

Captulo 31. Como obter ajuda no sistema

357

4mb-Laptops Como instalar o Linux em um notebook com 4MB de RAM e com HDs menores que 200 MB. Acer Laptop-HOWTO Descreve como instalar o Linux em notebooks Acer. Busmouse-HOWTO Descreve como instalar, congurar e usar um barramento de mouse sob o GNU/Linux. Ele contm uma lista de barramentos suportados e tenta responder as questes mais freqntes relacionadas ao assunto. CDServer-HOWTO Oferece as dicas e passos para criar um servidor de CD no Linux para serem compartilhados via rede com Windows e outros sistemas operacionais. CPU-Design-HOWTO Oferece referncias para mostrar como uma CPU projetada e fabricada. Bastante interessante para estudantes de computao e outros prossionais da rea. Ftape-HOWTO Este HOWTO discute o controlador de unidades tape para GNU/Linux. HP-HOWTO Este documento descreve o uso dos produtos disponveis no catlogo HewlettPackard (HP) com o GNU/Linux e alguns programas free software. Ele explica o estado do suporte para hardwares, softwares utilizados e respostas para alguns questes freqntes. Hardware-HOWTO Este documento lista a maioria dos hardware suportados pelo GNU/Linux e lhe ajuda a localizar os controladores necessrios. Jaz-Drive-HOWTO Este HOWTO cobre a congurao e uso dos drivers Iomega 1Gb e 2Gb sob o GNU/Linux. Kodak-Digitalcam-HOWTO Fazendo GNU/GNU/Linux. uma cmera Kodak digital funcionar sob

Laptop-HOWTO Os Notebooks so diferentes de computadores desktops/torres. Eles usam certos hardwares como cartes PCMCIA, portas infravermelho, baterias, estaes de encaixe. Freqentemente seus hardwares so mais limitados (i.e. espao em disco, velocidade da CPU) ento sua performance se torna menor. Em algumas instncias, os notebooks podem se tornar uma substituio ao sistema desktop. O suporte de hardware para o GNU/Linux (e outros sistemas operacionais) algumas vezes mais limitado (i.e. chips grcos, modens internos). Os Notebooks freqentemente utilizam hardware especializado, no qual a localizao de um controlador adequado pode se tornar uma diculdade. Os Notebooks so utilizados em ambientes mveis, assim existe a necessidade de mltiplas conguraes e estratgias adicionais de segurana. Modem-HOWTO Ajuda com a seleo, conexo, congurao, resoluo de problemas e compreenso de modens de um PC. Veja o Serial-HOWTO para detalhes sobre mltiplas placas seriais. PCI-HOWTO Informaes sobre o que funciona com o GNU/Linux e placas PCI e que o no funciona.

Captulo 31. Como obter ajuda no sistema

358

Plug-and-Play-HOWTO Este documento ajuda a compreenso e operao do Plug-and-Play e como incluir o suporte do seu sistema GNU/Linux ao Plug-and-Play. Serial-HOWTO Este documento descreve caractersticas da porta serial ao invs de outros detalhes que devem ser cobertos pelos documentos Modem-HOWTO, PPP-HOWTO, Serial-Programming-HOWTO, ou Text-Terminal-HOWTO. Ele lista detalhes sobre mltiplas placas seriais contendo informaes tcnicas detalhadas sobre a prpria porta serial em mais detalhes do que os encontrados nos HOWTOs acima e deve ser o suciente para correo de problemas quando o problema a prpria porta serial. Se estiver trabalhando com um Modem, PPP (usado para acesso a Internet atravs de uma Linha telefnica), ou um Terminal baseado em modo texto, seus respectivos HOWTOs devem ser primeiramente consultados. Serial-Programming-HOWTO Explica como programar comunicaes com dispositivos atravs de uma porta serial em um computador com o GNU/Linux. UPS-HOWTO Este documento te ajudar a conectar um uninterruptable power supply (No Break) em seu computador GNU/Linux. . . se tiver a sorte de possuir um. . . Wacom-Tablet-HOWTO Instalao do (no somente) Wacom graphic tablets sob o GNU/Linux e / ou xfree86. Wearable-HOWTO Computao mvel com GNU/Linux. Winmodems-and-Linux-HOWTO Este documento contm detalhes sobre a congurao de Winmodems no GNU/Linux.

Software AI-Alife-HOWTO Este howto contm informaes primrias sobre, e links para, vrias bibliotecas relacionadas com o AI, aplicativos, etc. que funcionam na plataforma GNU/Linux. Todos eles (pelo menos) livres para uso pessoal. Apache-Overview-HOWTO Oferece uma viso do servidor Web Apache e projetos relacionados. Commercial-HOWTO Este documento contm uma listagem de programas comerciais e aplicaes que so oferecidas para o GNU/Linux Glibc2-HOWTO Este documento cobre a instalao e uso da Biblioteca GNU C verso 2 nos sistemas GNU/Linux. RPM-HOWTO Explica como utilizar o sistema de gerenciamento de pacotes RPM. Program-Library-HOWTO Este documento para programadores discute como criar e usar bibliotecas no GNU/Linux. Estas incluem bibliotecas estticas, bibliotecas compartilhadas e bibliotecas carregadas dinamicamente.

Captulo 31. Como obter ajuda no sistema

359

Secure-Programs-HOWTO Este documento oferece um conjunto de designs e regras de implementao para escrever programas seguros para os sistemas Unix e Linux. Tais programas incluem programas aplicativos usados para visualizadores de dados remotos, scripts CGI, servidores de rede, programas setuid/setgid. Guias especcos sobre C, C++, Java, Perl, Python, e Ada95 esto includos. Software-RAID-0.4x-HOWTO RAID signica Redundant Array of Inexpensive Disks, e signica ser um mtodo de criar um rpido e convel subsistema de unidades de disco ao invs de discos individuais. O RAID pode se prevenir de falhas de disco e pode tambm aumentar a performance obtida atravs de uma simples unidade de disco. Este documento um tutorial/HOWTO/FAQ para usurios do kernel do Linux com extenses MD, as ferramentas associadas, e seu uso. A extenso MD implementa o RAID-0 (striping), RAID-1 (mirroring), RAID-4 e RAID-5 no software. O que signica que, com MD, nenhum hardware especial ou controladoras de disco so requeridas para obter muitos dos benefcios do RAID. Software-RAID-HOWTO Este documento descreve como usar o software RAID sob o GNU/Linux. Ele enderea uma verso especca da camada de software do RAID, nomeada camada RAID 0.90, feita por Ingo Molnar e outros. Esta a camada RAID que ser padronizada no Linux-2.4, e tambm a verso usada por kernels 2.2 do GNU/Linux vendidos por alguns vendedores. O suporte RAID 0.90 est disponvel com patches para os kernels do 2.0 e 2.2 do GNU/Linux e tambm considerado ser mais estvel que o antigo suporte RAID j includo nestes kernels. Software-Release-Practice-HOWTO Este documento descreve boas prticas de lanamento para o projeto de cdigo-aberto GNU/Linux. Seguindo estas prticas, ser fcil e possvel para os usurios construir seu cdigo e usa-lo, e para outros desenvolvedores entender seu cdigo e cooperar com voc para melhora-lo. Este documento deve ser lido por desenvolvedores iniciantes. Desenvolvedores experientes devem revisa-lo quando desejarem lanar um novo projeto. Este documento revisado periodicamente para reetir a evoluo das boas prticas de lanamento.

Plataformas no Intel (x86) Alpha-HOWTO Este documento uma viso rpida das CPUs Alpha, chipsets e sistemas existentes. MILO-HOWTO Este documento descreve o MIniLOader, um programa para sistemas baseados na arquitetura Alpha que pode ser usado para inicializar a mquina e carregar o GNU/Linux. O Linux Miniloader do Alpha (seu nome completo) tambm conhecido como MILO. MIPS-HOWTO Esta FAQ descreve o porte do MIPS para o sistema operacional Linux, problemas comuns e suas solues, disponibilidade e mais. Ele tambm tenta ser um pouco til a outras pessoas que desejam ler esta FAQ em uma tentativa de encontrar informaes que atualmente seriam cobertas em outro lugar.

Captulo 31. Como obter ajuda no sistema

360

SRM-HOWTO Este documento descreve como inicializar no Linux/Alpha usando o console SRM, que a rmware de console tambm usada para inicializar o Unix Compaq Tru64 (tambm conhecido com Digital Unix e OSF/1) e OpenVMS. Programao / Compiladores / Banco de Dados Assembly-HOWTO Este documento descreve como programar em linguagem Assembler usando ferramentas de programao livres, focalizando-se no desenvolvimento para ou do Sistema Operacional GNU/Linux, mais na plataforma IA-32 (i386). Bash-Prog-Intro-HOWTO Este documento tem a inteno de te ajudar a iniciar na programao de shell scripts. Ele no tem a inteno de ser uma documento avanado. C++Programming-HOWTO Discute os mtodos para evitar problemas de memria no C++ e tambm te ajudar a programar corretamente na linguagem C++. As informaes contidas neste documento se aplicam a todos os sistemas operacionais que so GNU/Linux, DOS, BeOS, Apple Macintosh OS, Windows 95/98/NT/2000, OS/2, Sistemas IBM (MVS, AS/400, etc. . . ), VAX VMS, Novell Netware, todos os tipos de Unix como o Solaris, HPUX, AIX, SCO, Sinix, BSD, etc., e todos os outros sistemas operacionais que suportam o compilador C++ (quase todos os sistemas operacionais deste planeta!). C-C++Beautier-HOWTO Este documento ajudar a formatar (de forma organizada) os programas C/C++ assim ser mais legvel e seguir os padres de codicao C/C++. As informaes deste documento se aplica a quase todos os sistemas operacionais do planeta! DB2-HOWTO Este documento explica como instalar o DB2 Universal Database verso 7.1 para GNU/Linux nas seguintes distribuies baseadas no Intel x86: Caldera Caldera OpenLinux 2.4, Debian, Red Hat Linux 6.2, SuSE Linux 6.2 e 6.3, e TurboLinux 6.0. Aps instalar o DB2, voc pode usar um banco de dados de exemplo, conectar-se ao servidor DB2 de uma mquina remota e administrar o DB2 usando o DB2 Control Center. Enterprise-Java-for-Linux-HOWTO Como congurar um ambiente Java Enterprise no GNU/Linux incluindo o Java Development Kit, um servidor Web, suportando Java servlets, acessando um banco de dados via JDBC e suportado Enterprise Java Beans (EJBs). GCC-HOWTO Este documento explica como congurar o compilador GNU C e bibliotecas de desenvolvimento sob o GNU/Linux e te d uma viso de compilao, linkagem, execuo e programas de depurao. IngresII-HOWTO Este documento cobre a instalao do Ingres II Relational Database management System no GNU/Linux. Ele cobre a congurao de ambos o Kit de desenvolvimento e verso completa do Ingres. Algumas sees explicam como iniciar o uso do Ingres. Oracle-7-HOWTO Um guia para instalar e congurar o Servidor do Banco de Dados Oracle em um sistema GNU/Linux.

Captulo 31. Como obter ajuda no sistema

361

Oracle-8-HOWTO Com este HOWTO, um pouco de sorte, voc ser capaz de ter o Oracle 8i Enterprise Edition para GNU/Linux instalado, criar um banco de dados e conectar a ele atravs de um computador remoto. O foco principal deste guia o RedHat 6.0, no entanto ele pode funcionar em outros distribuies recentes aps algumas modicaes. PHP-HOWTO Ensina como desenvolver programas em PHP e tambm migrar todas as aplicaes GUI do Windows 95 para o poderoso conjunto PHP + HTML + DHTML + XML + Applets Java + Javascript. As explicaes descritas neste documento se aplicam a todo os sistemas operacionais para onde o PHP est portado que so: Linux, Windows 95/98/NT/2000, OS/2, todos os tipos de Unix como o Solaris, HPUX, AIX, SCO, Sinix, BSD, etc. . . PostgreSQL-HOWTO Este documento um guia prtico para rapidamente colocar para funcionar um banco de dados SQL e suas ferramentas de comunicao em um sistema Unix. Ele tambm discute a linguagem padro Internacional ANSI/ISO SQL e revisa os mritos/vantagens do SQL Database engine desenvolvido pela Internet ao redor do mundo em um ambiente de desenvolvimento aberto. Tambm como congurar a prxima gerao do banco de dados relacional a objetos SQL PostgreSQL em um sistema Unix que pode ser usado como um Servidor de Aplicativos de banco de dados ou como um Servidor de banco de dados Web. TclTk-HOWTO Este documento descreve o uso do Tcl no GNU/Linux, uma linguagem de scripting. Ela uma linguagem interpretada fcil de aprender que usa pouca digitao para obter um alto nvel de programao e desenvolvimento rpido de aplicativos (RAD). O Tk toolkit um ambiente de programao para criar interfaces grcas do usurio (GUI) sob o Sistema X Window. Suas capacidades incluem a possibilidade de estender e incluir em outros aplicativos, desenvolvimento rpido e fcil de usar. Juntos o Tcl e Tk oferecem muitos benefcios para o desenvolvedor e usurio. As interfaces baseadas no Tk tendem a ser mais personalizveis e dinmicas que aquelas feitas de toolkits C ou C++. O Tk implementa o Visual e Uso do Motif. Um grande nmero de aplicaes X interessantes so implementadas completamente em Tk, com nenhum comandos especcos de aplicativo.

Computao Paralela / Clusters Beowulf-HOWTO Este documento uma introduo a arquitetura de Supercomputador Beowulf e oferece informaes sobre programao paralela, incluindo links para documentos mais especcos e pginas internet. Cluster-HOWTO Como congurar clusters de computador GNU/Linux de alta performance. Parallel-Processing-HOWTO O Processamento Paralelo uma forma de acelerar a execuo de um programa dividindo o programa em mltiplos fragmentos que podem ser executados simultaneamente, cada um em seu prprio processador. Um programa sendo executado em N processadores pode ser executado N vezes mais rpido que seria usando somente um processador. Este documento discute os quatro mtodos para

Captulo 31. Como obter ajuda no sistema

362

realizar processamento paralelo que esto disponveis aos usurios do sistema operacional GNU/Linux: Sistemas Linux SMP, Sistemas Linux em Clusters de rede, execuo paralela usando as instrues multimdia do processador (i.e. MMX) e processadores (paralelos) conectados no sistema GNU/Linux. SMP-HOWTO Este HOWTO revisa principais assuntos (e eu espero que solues) relacionadas com as conguraes SMP sob o GNU/Linux.

Congurao de Teclado / Vdeo / Console Font-HOWTO Como usar e congurar corretamente tipos de fontes no ambiente GNU/Linux. Framebuffer-HOWTO Descreve como utilizar dispositivos framebuffer no GNU/Linux com uma variedade de plataformas. Isto tambm inclui como ajustar telas multi-headed. Keyboard-and-Console-HOWTO Este documento contm algumas informaes sobre o teclado e console no GNU/Linux, e o uso de caracteres no-ASCII. Ele descreve o GNU/Linux 2.0. Text-Terminal-HOWTO Explica o que so os terminais texto, como funcionam, como instalar e congura-los e oferece muitos detalhes de como conserta-los. Se no tiver um manual do terminal, poder ser de grande ajuda. Enquanto escrito para terminais reais no sistema GNU/Linux alguns deles tambm so aplicveis a emulao de terminal e pode ser til para sistemas no Linux. Unicode-HOWTO Explica como alterar seu sistema GNU/Linux para utilizar a codicao de texto baseada no UTF-8. -

Ambiente Grco MGR-HOWTO O MGR (ManaGeR) um sistema de janelas grco. O servidor MGR oferece um gerenciador de janelas embutido e emulao de terminal grco em janela em monitor colorido ou monocromtico. O MGR controlado por menus pop-up, por interao do teclado e por seqencias de escapa escrita em pseudo-terminais pelo software cliente. XFree86-HOWTO Este documento descreve como obter, instalar e congurar a verso 4.0 do XFree86 do X Window System (X11R6) para sistemas GNU/Linux. Ele um guia passo a passo para congurar o XFree86 em seu sistema. XFree86-Touch-Screen-HOWTO Descreve como congurar um dispositivo de entrada touch screen sob o XFree86. XFree86-Video-Timings-HOWTO Como congurar os modos de vdeo de sua placa/monitor sob o XFree86.

Captulo 31. Como obter ajuda no sistema

363

XWindow-User-HOWTO Este documento contm detalhes sobre a congurao do ambiente X Windows para o usurio GNU/Linux, tambm como o administrador de sistemas iniciantes tentando aprender os mais diversos tipos de opes de congurao e detalhes do X Window. assumido um conhecimento bsico de conguraes de software e instalao. Xinerama-HOWTO Este documento descreve como congurar o XFree86 verso 4.0 com monitores multimdia com as extenses Xinerama. Suporte ao Sistema / Grupos de Usurios / Listas de Discusso Consultants-HOWTO Contm uma lista de empresas e consultores oferecendo suporte comercial relacionado ao sistema GNU/Linux. Online-Troubleshooting-HOWTO Este documento direciona usurios GNU/Linux a lugares disponveis na Internet que oferecem acesso a uma vasta quantidade de documentos teis relacionados ao sistema em situaes de problema. User-Group-HOWTO Este documento descreve como fundar, manter e organizar um grupo de usurios GNU/Linux. Migrao / Convivncia com Outras Plataformas DOS-Win-to-Linux-HOWTO Este documento tem a inteno de ajudar o leitor traduzir seu conhecimento do DOS e Windows para o ambiente GNU/Linux, tambm como oferecer dicas de manipulao de arquivos e utilizao de recursos entre os dois sistemas. VMS-to-Linux-HOWTO Este documento escrito para todos aqueles que tem usado o VMS e agora precisam migrar para o GNU/Linux um clone gratuito do UNIX. A transio feita (felizmente) atravs de uma comparao passo a passo de comandos e ferramentas existentes. Tarefas Especcas Astronomy-HOWTO Este documento compartilha dicas e recursos para utilizar solues do GNU/Linux no mundo da Astronomia. CD-Writing-HOWTO Este documento explica como gravar CD-ROMs sob o GNU/Linux. CDROM-HOWTO Este documento descreve como instalar, congurar e usar uma unidade de CD-ROM sob o GNU/Linux. Ele lista hardwares suportados e responde a um nmero de questes freqntes. CVS-RCS-HOWTO Este documento um guia prtico para rapidamente congurar o sistema de controle do cdigo fonte CVS/RCS. Este documento tambm possui shell scripts personalizados que so trocados no topo do CVS. Estes scripts oferecem uma interface fcil entre o usurio e o CVS.

Captulo 31. Como obter ajuda no sistema

364

DVD-Playing-HOWTO Uma explicao fcil de seguir de como obter seu DVD funcionando no GNU/Linux. Diskless-HOWTO Este documento descreve como congurar uma mquina sem disco rgido no GNU/Linux. Java-Decompiler-HOWTO Este documento te ajudar a descompilar programas class feitos em Java. Este documento contm uma lista de descompiladores que podem reverter o engineer os arquivos Java class e gerar arquivos de cdigo fonte Java. Isto muito til se voc no tem o arquivo com o cdigo fonte Java. JavaStation-HOWTO Este HOWTO descreve como ativar o SO GNU/Linux no NC Sun Java Station. KickStart-HOWTO Este documento descreve como usar o sistema Linux RedHat para instalar rapidamente o sistema em um grande nmero de mquinas GNU/Linux. Kiosk-HOWTO Este documento oferece um guia para ajustar um kiosk baseado em WWW usando o GNU/Linux, X11R6, FVWM2, Netscape Navigator 4.X e um trackball customizado. Linux-From-Scratch-HOWTO Este documento descreve o processo de criar seu prprio sistema GNU/Linux do nada atravs de uma distribuio j instalada, usando nada mais que o cdigo fonte dos softwares que precisamos. MP3-HOWTO Este documento descreve o hardware, software e processos necessrios, para encodicar, tocar, mixar e decodicar arquivos de som MP3 sob o GNU/Linux. Majordomo-MajorCool-HOWTO Este documento tem a inteno de guiar o usurio atravs do software de gerenciamento de listas de discusso Majordomo e MajorCool. O MajorCool um utilitrio para gerenciar listas Majordomo via script CGI; muitas pessoas que no esto familiar com o Majordomo baseado em modo texto podem preferir uma interface mais amigvel via web do MajorCool. Mutt-GnuPG-PGP-HOWTO Este documento explica como congurar rapidamente o Mutti, PGP e GnuPG em suas diferentes verses (2.6.x, 5.x e GnuPG), nada dos problemas que podem ocorrer enquanto envia e-mails criptografados e assinados para ser lidos por clientes de e-mail que no so compatveis com PGP/MIME como denido na RFC 2015 e em outros sistemas operacionais. NC-HOWTO Este documento tenta descrever como colocar uma Netstation da IBM em sua rede local usando um computador GNU/Linux como servidor. NCD-HOWTO Este documento tenta descreve como colocar uma ThinSTAR NCD em sua rede local usando um computador GNU/Linux como servidor. PalmOS-HOWTO Este documento explica como usar seu dispositivo Palm OS com um sistema GNU/Linux. Este HOWTO no aborda somente o sistema operacional GNU/Linux.

Captulo 31. Como obter ajuda no sistema

365

Printing-HOWTO Este o Printing HOWTO do GNU/Linux, uma coleo de informaes sobre como gerar, ver, imprimir e enviar fax de tudo sob o GNU/Linux (e outros UNIXes em geral). Printing-Usage-HOWTO Descreve como usar o sistema de spooling oferecido pelo sistema operacional GNU/Linux. Este HOWTO um documento suplementar ao Linux Printing Setup, que discute a instalao e congurao do sistema de impresso do GNU/Linux. Psion-HOWTO Este documento descreve como usar Palmtops Psion com o GNU/Linux, mas no cobre a execuo do Linux no Palmtop Psion. Veja o projeto Linux 7k em http: //www.calcaria.net. Quake-HOWTO Este documento explica como instalar, executar e corrigir problemas no Quake, QuakeWorld e Quake II em um sistema GNU/Linux Intel. RedHat-CD-HOWTO Descreve como fazer seus prprios CDs da distribuio Red Hat, a estrutura da distribuio e tambm como incluir RPMs atualizados na distribuio. Sound-HOWTO Este documento descreve o suporte ao som no GNU/Linux, arquiteturas de som suportadas e como incluir o suporte ao som no kernel. Este documento tambm responde algumas questes freqntes sobre o suporte ao som no GNU/Linux. Sound-Playing-HOWTO Este documento lista aplicativos que podem tocar vrios formatos de sons no GNU/Linux. VME-HOWTO Este documento mostra como executar o GNU/Linux em seu Pentium VMEbus e outros barramentos PCI baseados no design de processador VMEbus.

Rede / Administrao / Firewall / Proxy / Segurana AX25-HOWTO Talvez o GNU/Linux seja o nico sistema operacional no mundo que possui suporte nativo e padro ao protocolo de pacotes de rdio AX.25 usado por Operadores de Rdio Amador ao redor do mundo. Este documento explica como instalar e congurar este suporte. Adv-Routing-HOWTO Roteamento avanado. Explicaes sobre o iproute2, traffic shaper e netfilter. Bandwidth-Limiting-HOWTO Descreve como congurar o servidor Linux para limitar banda. BRIDGE-STP-HOWTO Este documento explica o que uma ponte entre redes e como criar uma utilizando o Spanning Tree Protocol (STP). Este um mtodo de manter os dispositivos Ethernet conectados e funcionando em mltiplos caminhos. Os participantes negociam a troca atravs do caminho mais curto atravs do STP. Cable-Modem Fornece instrues de como usar o Linux para se conectar a um provedor de Cable modem.

Captulo 31. Como obter ajuda no sistema

366

Chroot-BIND8-HOWTO Este documento descreve a instalao do servidor de nomes BIND 8 para ser executado em uma jaula chroot e como um usurio no-root, para oferecer segurana adicional e minimizar efeitos potenciais que podem comprometer a segurana. Cyrus-IMAP Um guia compreensivo para a instalao, congurao e execuo do Cyrus Imap e Cyrus SASL. DNS-HOWTO Como congurar seu servidor DNS em pouco tempo. Diald-HOWTO Este documento mostra alguns cenrios tpicos para iniciar o uso do Diald facilmente. Este cenrios incluem uma conexo de um computador local a um provedor usando o PPP atravs de um modem sem usar o pon/poff ou ppp-pon/ppp-off para um servidor proxy/rewall com diferentes conexes Internet atravs de vrios provedores. Diskless-root-NFS-HOWTO Explica como congurar um servidor e clientes para operao sem disco atravs de uma rede. DSL-HOWTO Este documento examina a famlia DSL de servios Internet de alta velocidade. Descreve como instalar, congurar depurar. Ethernet-HOWTO Este documento uma coleo de dados sobre dispositivos Ethernet que podem ser usados no GNU/Linux e como congura-los. Note que este HOWTO est focalizado no hardware e aspectos de baixo nvel de controladores das placas ethernet e no cobre assuntos de software como os programas ifconfig e route (veja o NetworkHOWTO se procura por estes materiais). Firewall-HOWTO Descreve os sistemas bsicos de rewall e alguns detalhes de como ajustar rewalls proxy e de ltragem de pacotes em sistemas baseados no GNU/Linux. IP-Masquerade-HOWTO Este documento descreve como ativar a caracterstica IP Masquerade no GNU/Linux. O IP Masquerade uma forma do Network Address Translation ou NAT que permite que computadores conectados internamente que no tem um ou mais endereos Internet registrados ter a habilidade de se comunicar com a Internet via uma nica mquina GNU/Linux com um nico endereo IP. IPCHAINS-HOWTO Descreve como obter, instalar e congurar o programa avanado de rewall para o GNU/Linux e algumas idia de como usa-lo. IPX-HOWTO Descreve como obter, instalar e congurar as vrias ferramentas disponveis para o sistema operacional GNU/Linux para utilizar o suporte do protocolo IPX no kernel do GNU/Linux. Infrared-HOWTO Uma introduo ao GNU/Linux e dispositivos infra-vermelho e como usar programas oferecidos pelo projeto Linux/IrDA. ISP-Hookup-HOWTO Descreve como usar o GNU/Linux para conectar a um Provedor Internet via modem dial-up via conexo TCP/IP. Tambm como o procedimento de discagem inicial e estabelecimento de IP, recebimento de email e news. ISP-Setup-RedHat-HOWTO Descreve como congurar servios de ISP no Red Hat. Domnios, virtual hosts, pop3 e emails.

Captulo 31. Como obter ajuda no sistema

367

Intranet-Server-HOWTO Este documento descreve como congurar uma Intranet usando o GNU/Linux como um servidor que se comunica com Unix, Netware, NT e Windows. Java-CGI-HOWTO Este documento explica como congurar seu servidor para permitir programas CGI escritos em Java e como usar Java para escrever programas CGI. LDAP-HOWTO Informaes sobre a instalao, congurao, execuo e manuteno de um Servidor LDAP (Lightweight Directory Access Protocol) em uma mquina GNU/Linux descrita neste documento. Existe tambm detalhes sobre como criar bancos de dados LDAP, como atualizar e apagar informaes no banco de dados, como implementar roaming access e como usar o Livro de Endereos do Netscape. LDAP-Implementation-HOWTO Descreve aspectos tcnicos de armazenamento de dados de aplicaes em um servidor LDAP. Mail-Administrator-HOWTO Este documento descreve a congurao e uso do Correio Eletrnico (E-mail) sob o GNU/Linux. primariamente mais indicado para administradores do que usurios. Mail-User-HOWTO Este documento uma introduo ao mundo do Correio Eletrnico sob o GNU/Linux Masquerading-Simple-HOWTO Descreve de forma prtica como conectar diversas mquinas de sua rede Interna a Internet. MindTerm-SSH-HOWTO Este documento descreve como usar o SSH o programa MindTerm baseado em Java para criar de forma rpida, segura e convel uma VPN sobre redes inseguras. Multicast-HOWTO Este HOWTO tenta cobrir muitos aspectos relacionados com o multicast sobre redes TCP/IP. Assim, muitas informaes que no so especcas do sistema Linux (apenas no caso de no usar o GNU/Linux. . . ainda). NFS-HOWTO Como congurar servidores e clientes NFS> NetMeeting-HOWTO Descreve como fazer o Microsoft NetMeeting se integrar com o Linux. NIS-HOWTO Este documento descreve como congurar o GNU/Linux como um cliente NIS (YS) ou NIS+ e como instala-lo como um servidor NIS. Network-boot-HOWTO Descreve como congurar um servidor Linux para permitir que estaes sem disco rgido faam boot via rede e iniciem o sistema Linux ( uma regravao parcial do Diskless-howto). Net-HOWTO Este documento cobre as rea de software e tecnologias de rede no GNU/Linux. Networking-Overview-HOWTO O propsito deste documento lhe oferecer uma viso das capacidades de rede do sistema operacional GNU/Linux e oferecer ponteiros para outros documentos e detalhes de implementao.

Captulo 31. Como obter ajuda no sistema

368

PPP-HOWTO Este documento mostra como conectar seu PC GNU/Linux a um servidor PPP (Protocolo Ponto a Ponto), como usar o PPP para ligar duas redes e oferece um mtodo de congurar seu computador GNU/Linux como um servidor PPP. Este documento tambm oferece ajuda na soluo de problemas relacionados com o PPP. Qmail-VMailMgr-Courier-imap-HOWTO Este documento sobre a construo de um servidor de e-mail que suportar hospedagem de domnios dinmicos e oferecer os servios smtp, pop3 e imap, usando uma poderosa alternativa ao sendmail. Remote-Serial-Console-HOWTO A porta RS232 permite que o Linux ser controlado de um terminal ou modem conectado a uma porta serial assncrona. Este documento descreve como congurar o Linux para se conectar ao console serial. Sat-HOWTO Descreve base e referncias sober a tecnologia SAP, as caractersticas de larga banda para download, etc. Serial-Laplink-HOWTO Descreve como criar uma conexo serial entre dois computadores para compartilhamento de dados. Este permite tambm efetuar conexes seriais entre outros tipos de sistemas operacionais como Windows 9X, NT. SMB-HOWTO Este o HOWTO SMB. Ele descreve como usar o protocolo Server Message Block (SMB), tambm chamado de Session Message Block, NetBIOS ou protocolo LanManager, com o GNU/Linux e usando o Samba. Securing-Domain-HOWTO Este documento descreve as coisas que provavelmente deve fazer quando desejar congurar uma rede de computadores sob seu prprio domnio. Ele cobre a congurao de parmetros de rede, servios de rede e conguraes de segurana. Security-HOWTO Este documento uma viso geral dos assuntos de segurana que enfrente o administrador de sistemas GNU/Linux Ele cobre a losoa geral de segurana e um nmero de exemplos especcos de como melhorar a segurana de seu sistema GNU/Linux Tambm esto includos ponteiros para materiais relacionados com programas e segurana. Shadow-Password-HOWTO Este documento tenta descrever como obter, instalar e congurar o Linux password Shadow Suite. Tambm discute como obter e reinstalar outros softwares e daemons de rede que requerem acesso as senhas do usurio. SSL-RedHat-HOWTO Fornece referncias sobre como o PKI e SSL funcionam juntos Tango-HOWTO Descreve a instalao, congurao e correo de problemas bsicos do Pervasive Softwares Tango Application Server no Sun Solaris e vrios sabores de GNU/Linux. Thinclient-HOWTO Como converter computadores comuns em rpidos terminais usando o poder de seu computador principal, voc precisar de: Um computador rpido para atuar como servidor, um computador cliente (antigo e no desejado). Placas de rede compatveis com o GNU/Linux. Uma conexo entre os computadores. Como centralizar a administrao do sistema usando o NFS (i.e. colocando todo o sistema de arquivos de um cliente rpido no servidor).

Captulo 31. Como obter ajuda no sistema

369

UUCP-HOWTO Este documento descreve a congurao do UUCP sob o GNU/Linux. Voc deve ler este documento se planejar conectar a sites remotos via UUCP via modem, conexo direta ou via Internet. Provavelmente no precisar ler este documento se no souber o que UUCP ou se seu computador no possuir este suporte. VMailMgr-HOWTO Explica como congurar o suporte ao VMailMgr servios de domnio virtual pop3 em conjunto com o Qmail. VoIP-HOWTO Ensina como congurar o sistema Linux para comunicao via voz usando a Internet. Descreve protocolos e mtodos para transmisso de voz aproveitando recursos de redes de baixa velocidade. VPN-HOWTO Descreve como congurar uma Virtual Private Network com o GNU/Linux. VPN-Masquerade-HOWTO Descreve como congurar um Firewall GNU/Linux para o masquerade em trfego baseado no IPsec- e PPTP Virtual Private Network Trafc, permitindo estabelecer uma conexo VPN sem perder a segurana e exibilidade de sua conexo Internet com o rewall GNU/Linux e permitindo fazer um servidor VPN disponvel que no possui um endereo IP registrado na Internet. Tambm esto includos detalhes de como congurar um cliente e servidor VPN. Virtual-Services-HOWTO Este documento fala sobre tudo que precisa saber para virtualizar um servio. Windows-LAN-Server-HOWTO Ajuda na congurao do Linux em ambientes onde existiam primariamente mquinas executando o Windows 9x. Wireless-HOWTO Explica como como congurar uma rede sem o em ambiente Linux, limitaes, requerimentos, etc. WWW-HOWTO Explica como congurar servios WWW sob o GNU/Linux (ambos cliente e servidor). Ele no tenta ser um manual detalhada mas uma viso e um bom ponto de referncia. WWW-mSQL-HOWTO Descreve como construir um banco de dados cliente/servidor usando a WWW e HTML para a interface com o usurio. phhttpd-HOWTO O phttpd um acelerador HTTP. Ele serve uma rpida requisio esttica HTTP atravs de um sistema de arquivos locai e passa as requisies menos dinmicas para um servidor de espera. Suas caractersticas so uma compreenso do I/O e um cache de contedo agressivo que o ajuda a fazer um trabalho eciente.

Outros Benchmarking-HOWTO Este documento discute assuntos relacionados ao desempenho dos sistemas Linux e recomenda algumas ferramentas para medida do desempenho do sistema.

Captulo 31. Como obter ajuda no sistema

370

DOSEMU-HOWTO Ensina como utilizar, congurar o emulador do ambiente DOS para Linux. Ecology-HOWTO Este documento discute mtodos de como os computadores com o GNU/Linux podem ser usados para proteger nosso ambiente, usando caractersticas como economia de energia ou papel. Como ele no requer grandes requerimentos de hardware, o GNU/Linux pode ser usado com computadores antigos e tornar seu ciclo de vida longo. Os jogos podem ser usados em ambientes educativos e esto disponveis programas para simular os processos ecolgicos. Process-Monitor-HOWTO Este documento descreve como monitorar os processos (programas) no Linux/Unix e como reinicia-los automaticamente se eles so destrudos sem interveno manual. Este documento tambm tem URLs para FAQs sobre Processos no Unix. VAR-HOWTO Contm uma lista de empresas de servio que no fabricam hardwares ou criam pacotes de softwares, mas incluem valores ao produtos existentes.

31.8.2

Listagem de Mini-HOWTOs

Segue abaixo uma listagem de Mini-HOWTOs do projeto LDP organizados por sub-sees com a descrio do assunto que cada um deles aborda.

Introduo ao Sistema / Instalao / Congurao / Kernel Alsa-sound Descreve a instalao dos controladores de som ALSA para Linux. Estes controladores de som podem ser usados em substituio aos controladores de com regular, como so totalmente compatveis. Install-From-ZIP Descreve como instalar o GNU/Linux atravs de um zip drive conectado a porta paralela usando a distribuio Slackware do GNU/Linux. Install-Strategies Descreve algumas formas de instalao para aqueles que tem a inteno de fazer dual boot entre o Linux e Windows. Lego Mostra solues em software livre para utilizao com os kits de robtica da The Lego Groups Mindstorm Robotics Invention System (RIS). Kerneld Explica como congurar e utilizar o daemon kerneld. Loadlin+Win95 Este documento descreve como usar o Loadlin com o Windows 95 para inicializar o GNU/Linux. Modules Explica como incluir seu suporte no kernel, congurar e utilizar mdulos no GNU/Linux.

Captulo 31. Como obter ajuda no sistema

371

Path Descreve truques comuns e problemas com as variveis de ambiente no GNU/Linux/Unix, especialmente a varivel PATH. PATH uma lista de diretrios onde os comandos so pesquisados. Os detalhes se aplicam a distribuio Debian 1.3. Pre-Installation-Checklist Voc um novato no Linux? Voc um guru no Linux? Em ambos os casos esta checklist ser de grande ajuda para voc. Quantas vezes voc se encontrou com problemas no meio de um processo de instalao do GNU/Linux porque algum detalhe vital sobre o hardware alvo no conhecido? Post-Installation-Checklist Lembra alguns passos que devem ser vericados logo aps a instalao de um novo sistema Linux. RPM+Slackware Este documento descreve como ter o RPM instalado e funcionando corretamente sob o Slackware. Update Descreve como se manter atualizado sobre o desenvolvimento no mundo GNU/Linux. Upgrade Dicas e truques de como atualizar de uma distribuio GNU/Linux para outra. VAIO+Linux Explica a instalao do GNU/Linux em computadores Sony VAIO. Discos / Sistema de Arquivos / Desempenho Automount Descreve a montagem automtica de sistemas de arquivos autofs, como congura-lo e alguns problemas que devem ser evitados. Ext2fs-Undeletion Imagina isto: Voc passou os ltimos trs dias sem dormir, sem comer. Sua compulso hacker foi paga: voc nalizou aquele programa que lhe dar fama e reconhecimento. Todo o que voc precisa fazer coloca-lo no Metalab. Oh, e apagar aqueles arquivos de backup do Emacs. Assim voc fadigado digita rm * ~.. E bem mais tarde voc notou o espao extra naquele comando. Voc simplesmente apagou todo o seu trabalho! Mas a ajuda est na mo. Este documento oferece uma discusso de como recuperar arquivos apagados atravs do Second Extend File System (EXT2). Talvez, voc ser capaz de lanar aquele programa depois disso. . . Ext2fs-Undeletion-Dir-Struct Fornece um complemento ao ext2-undeletion-howto e descreve formas de recuperar estrutura de diretrios de forma segura. Hard-Disk-Upgrade Como copiar um sistema GNU/Linux de um disco para outro. Loopback-Root-FS Este documento explica como usar o dispositivo de loopback do Linux para criar um formato nativo de sistema de arquivos atravs de uma partio DOS sem reparticionamento. Partition-Rescue-mini-HOWTO Como recuperar uma partio pelo GNU/Linux. Quota Descreve como ativar a quota nos sistemas de arquivos para usurios e grupos de uma mquina GNU/Linux.

Captulo 31. Como obter ajuda no sistema

372

Swap-Space Descreve como compartilhar sua partio swap do GNU/Linux com o Windows. Ultra-DMA Explica como usar Ultra-DMA como discos rgidos e interfaces Ultra ATA, Ultra 33 e Ultra66 com o GNU/Linux. ZIP-Drive Este documente oferece uma referncia rpida para a congurao e uso da unidade de ZIP drive Iomega com o GNU/Linux. Escrita de Documentao / Editores DocBook-Install Descreve de forma rpida e prtica como ajustar novatos a ter de forma rpida o DocBook instalado para processamento de arquivos SGML em HTML. Howtos-with-LinuxDoc Descreve como escrever documentos HOWTOs usando o LinuxDoc (referncia para iniciantes). Man-Page Descreve o que deve ter em mente quando estiver escrevendo documentao online tambm chamada de pgina de manual (man page). Hardware 3-Button-Mouse Como ter um mouse serial de 3 botes funcionando no GNU/Linux. ACP-Modem Descreve como congurar e utilizar a caracterstica ACP (Mwave) de mquinas IBM, como o IBM Thinkpad. BTTV-Mini-HOWTO-0.3 Este documento descreve o hardware, software e procedimentos necessrios para se usar um chipset baseado no bt8x8 frame grabber ou placa sintonizadora de TV sob o GNU/Linux. Boca Instalando uma placa serial Boca 16-portas (Boca 2016) no GNU/Linux. GTEK-BBS-550 Ensina como congurar a placa serial de 8 portas GTEKs BBS-550 com 16C550 UARTS. Somente uma IRQ pode ser usada para todas 8 portas. Ele no requer qualquer controlador no GNU/Linux no entanto o kernel precisa ter o suporte a portas seriais. Handspring-Visor Usando o Visor com o GNU/Linux e sua porta USB. IO-Port-Programming Este documento descreve a programao de portas I/O de hardware. Software ADSM-Backup Descreve como instalar e usar um cliente para o sistema de backup comercial ADSM para Linux Intel. Bzip2 Explica como usar o programa de compactao bzip2.

Captulo 31. Como obter ajuda no sistema

373

GIS-GRASS Este documento descreve como adquirir, instalar e congurar o poderoso sistema de informaes cientcas e geogrcas de domnio pblico (GIS): o Geographic Resources Analysis Support System (GRASS). LILO O LILO o gerenciador de inicializao mais usado na plataforma Intel do Linux. Este documento descreve alguns tipos de instalaes do LILO. Plataformas no Intel (x86) Mac-Terminal Descreve o 1,002nd uso para um Macintosh (grin) morto: como congurar o Mac para uso como um terminal GNU/Linux. Programao / Compiladores / Banco de Dados Programming-Languages Uma breve comparao das maiores linguagens de programao para o GNU/Linux e maiores bibliotecas para para criao de interfaces grcas com o usurio (GUIs) sob o GNU/Linux. Congurao de Teclado / Video / Console Intkeyb Mini-Howto experimental para o GNU/Linux para a congurao de teclados. Ambiente Grco 3D-Modelling Oferece detalhes sobre instrues de instalao de um ambiente desktop de renderizao e modelamento usando o RedHat Linux. FDU Como corrigir fontes feias e ilegveis no X. LBX O LBX (Low Bandwidth X) uma extenso do servidor X que realiza compresso no protocolo X. Isto signica que pode ser usado em conjunto com aplicativos X e um servidor X que esto separados atravs de uma conexo de rede de baixa velocidade, para aumentar o tempo de resposta. Nvidia-OpenGL-Conguration Ensina como instalar os drivers OpenGL para a placa de vdeo Nvidia. Remote-X-Apps Descreve como executar aplicativos X remotos. TT-XFree86 Ensina como usar fontes true type com o XFree 4.0.x XDM-Xterm Ensina como utilizar o XDM para gerenciar terminais X. Uma referncia completa do assunto pode ser encontrada no Thin-client HOWTO. XFree86-Second-Mouse Instrues de como usar um segundo mouse no X.

Captulo 31. Como obter ajuda no sistema

374

X-Big-Cursor Descreve como usar cursores grandes no X. XFree86-XInside Como converte um modeline XFree86 em um XInside/XiGraphics. Xterm-Title Explica como usar seqncias de escape para alterar dinamicamente os ttulos e cones de janelas de um xterm. Migrao/Convivncia com outras plataformas Linux+DOS+Win95+OS2 Este documento oferece um procedimento para fazer 4 sistemas operacionais coexistirem no mesmo disco rgido. Linux+FreeBSD Descreve como usar o Linux e FreeBSD no mesmo sistema. Linux+NT-Loader Descreve como usar o gerenciador de inicializao do Windows NT para iniciar o GNU/Linux. Este processo foi testado com o Windows NT 4.0 WorkStation. Linux+Solaris Descreve como usar o Linux (X86) e Solaris (x86) no mesmo computador. Linux+Win95 Descreve como usar o Linux e Windows 95-98 na mesma mquina. Loadlin+Win95-98-ME Descreve como usar o Loadlin com o Windows 95/98/ME para inicializar no Linux. Multiboot-with-GRUB Descreve como instalar o Windows 98, 2000, DOS e Linux usando o GRUB. Multiboot-with-LILO Descreve como usar mltipla inicializao entre o Windows 95, Windows NT e Linux. Tarefas Especcas Backup-With-MSDOS Descreve como usar uma unidade de tape compatvel com o GNU/Linux instalado em uma mquina DOS para fazer o backup do sistema de arquivos de uma mquina GNU/Linux. Battery-Powered Descreve como reduzir o consumo de energia do sistema GNU/Linux atravs de alguns ajustes de congurao. Isto ser til para qualquer um quer executar o GNU/Linux em um sistema de computador porttil. Tambm contm dicas de uso da bateria. Se estiver usando o GNU/Linux em um sistema desktop, voc provavelmente no precisar ler todo este documento. Clock Como manter o relgio de seu computador na hora. Coffee Uma dos mais extremos dos documentos. Eu j pensei se era possvel usar o GNU/Linux para fazer caf. . . e descobri que o GNU/Linux faz caf! Por um longo tempo a humanidade estava se perguntando se um computador podia fazer caf. . . As pessoas precisam de caf para no dormirem na frente do computador. Todo mundo sabe que melhor programar de noite. . .

Captulo 31. Como obter ajuda no sistema

375

Divert-Sockets-mini-HOWTO Descreve como obter, compilar e usar os soquetes divert FreeBSD sob o GNU/Linux 2.2.12. Home-Electrical-Control Contm referncias para fazer o Linux controlar praticamente qualquer dispositivo eltrico. Leased-Line Congurando seu modem e pppd para usar 2 pares de cabos leased line. Linux-Modem-Sharing Descreve como congurar o sistema GNU/Linux para compartilhar um modem conectado a este sistema com outros atravs de uma rede TCP/IP. Mail2News Descreve como enviar mensagens de uma lista de discusso para um servidor news. MP3-CD-Burning Uma referncia completa para a criao de CDs de audio e dados de arquivos MP3. MSSQL6-Openlink-PHP-ODBC Ensina como conectar o servidor de banco de dados MS SQL 6.x ou superior via ODBC do PHP3 (e superior) compilado com os drivers Openlink sob o Linux. NCD-X-Terminal Descreve como conectar um terminal NCD X a um computador UNIX. NFS-Root Este documento tenta explicar como congurar uma estao de trabalho sem disco no GNU/Linux, que monta seu sistema de arquivos raz via NFS. NFS-Root-Client-mini-HOWTO O propsito deste documento explicar como criar um cliente dos diretrios raz em um servidor que est usando clientes com NFS root montados. Netscape+Proxy Este documento descreve o processo de congurar uma REDE (INTRANET) em casa. Ento congura o NETSCAPE das mquinas dos clientes para acessarem a internet. News-Leafsite Este documento ajudar a congurao de um pequeno leafsite para a Usenet News usando o Leadnode do pacote free software. Ofine-Mailing Explica como usar o sistema de mensagens do GNU/Linux off-line, receber emails para mltiplos usurios somente com uma conta de e-mail, e sem estar 24-24 horas on-line na Internet. Se voc no pode pagar uma linha para estar conectado por 24-24 horas e ainda deseja que seus usurios recebem emails em sua mquina Linux; tambm no pague por uma conta multi-drop em seu provedor, voc pode usar este sistema usando somente um endereo de e-mail para dividir seus endereos de e-mails dos usurios. Outlook-to-Unix-Mailbox Mostra formas de converter mensagens de email do Microsoft Outlook (exceto do Outlook Express) para formatos de arquivos tpicos do Unix. Pager Ensina como compilar, instalar e congurar um Gateway de emails para Pager. Partition Descreve como criar parties em discos rgidos IDE e SCSI. Tambm coberta a recuperao de tabelas de partio perdidas.

Captulo 31. Como obter ajuda no sistema

376

Partition-Rescue Descreve formas para recuperar uma partio de disco apagada. Process-Accounting Descreve como ativar a conta de processos em uma mquina GNU/Linux, o uso de vrios comandos de contabilizao de processos. RCS Este documento cobre a instalao e uso bsicos do RCS, o GNU Revision Control System sob o GNU/Linux. Saving-Space Este documento mostra maneiras de diminuir sua instalao GNU/Linux consumindo o mnimo possvel de espao. Secure-POP+SSH Este documento explica como usar conexes POP seguras via ssh. Small-Memory O propsito deste documento descrever como executar o GNU/Linux em um sistema com pequena quantidade de memria. Assumindo que a compra de memria esta fora de questo aqui. Soundblaster-AWE Descreve como instalar e congurar a placa de som Sound Blaster 32 (SB AWE 32, SB AWE 64) da Creative Labs em um Sistema Linux usando a extenso do driver de som AWE escrito por Takashi Iwai. StarOfce Instalando o StarOfce 3.1 da StarDivision no GNU/Linux. TT-Debian Descreve como congurar o suporte das fontes True Type na Debian. TkRat Este documento foi escrito para qualquer um que tem interesse em usar seu computador GNU/Linux para enviar e receber E-mails pela Internet. Visual-Bell Explica como usar o termcap para congurar um aviso visual no sistema ao invs do beep e como desativar o sinal de audio. Wacom-USB-mini-HOWTO Descreve como congurar um Wacom Graphire USB tablet para uso no GNU/Linux (console e X), iniciando com a congurao do kernel para o nvel da aplicao. WordPerfect Discute a execuo do WordPerfect no GNU/Linux incluindo uma breve discusso sobre o WordPerfect 7.0. ZIP-Install Este documento somente til para aqueles que possuem a verso em porta paralela de um ZIP drive e que deseja fazer o backup do sistema GNU/Linux em um disco ZIP. call-back-mini-HOWTO Descreve como congurar um call-back usando um sistema GNU/Linux e um modem. Rede / Administrao / Firewall / Segurana ADSL Congurando o GNU/Linux para funcionar com Asymmetric Digital Subscriber Loop (ADSL), uma nova tecnologia de acesso digital de alta velocidade atravs de linhas disponvel atravs da Telcos. O ADSL uma das tecnologias disponveis da famlia da digital

Captulo 31. Como obter ajuda no sistema

377

subscriber line (DSL) disponveis para usurios residenciais e comerciais usando copper loops, oferecendo velocidades que variam de 384kbps a 1.5Mbps. Este documento contm uma introduo ao ADSL e informaes de como instalar, congurar e colocar o ADSL para funcionar. Apache+SSL+PHP+fp Este documento explica como construir um servidor web que suportar contedo web dinmico via a linguagem de scripting PHP/FI, transmisso de dados segura baseado no SSL do Netscape, execuo segura de CGIs e extenses do M$ Frontpage Server. Apache-mods Detalhes sobre a instalao do servidor web baseado no Apache congurado para manipular DSO e vrios mdulos teis incluindo perl, ssl, e php. Bridge Este documento descreve como ajustar uma ponte ethernet (bridge). O que uma ponte ethernet? um dispositivo que controla os pacotes de dados dentro de uma subrede na tentativa de cortar o excesso de trfego. Uma ponte colocada normalmente entre dois grupos separados de computadores que falam entre eles, mas no muito com computadores no outro grupo. Um bom exemplo disto considerar um grupo de Macintoshes e um grupo de mquinas Unix. Ambos destes grupos de mquinas tendem falar uma com as outras, e o trfego que produzem na rede causam colises para as outras mquinas que esto tentando falar uma com a outra. Uma ponte pode ser colocada entre estes dois grupos de computadores. A tarefa da ponte ento examinar o destino dos pacotes de dados um por vez e decidir o que passar ou no para o outro lado do segmento ethernet. O resultado uma rede rpida com menos colises. Bridge+Firewall Como congurar uma ponte com um rewall. Bridge+Firewall+DSL Congurando um sistema GNU/Linux para funcionar como um rewall e ponte com uma conexo de rede DSL. Cipe+Masq Como congurar uma VPN usando o Cipe em um rewall GNU/Linux masquerading. Compressed-TCP Sees TCP/IP compactadas usando ferramentas como SSH. DHCP Este documento tenta responder questes bsicas de como congurar seu computador GNU/Linux para servir de cliente ou servidor DHCP. DPT-Hardware-RAID Como ajustar o hardware RAID sob o GNU/Linux. Domain Este documento explica as coisas que voc provavelmente deve fazer quando desejar construir uma rede de computadores sob seu prprio domnio. Ele cobre a congurao dos parmetros de rede, servios de rede e segurana. FTP Como usar clientes e servidores FTP. Fax-Server Descreve os mtodos mais simples de congurar um servidor de fax em seu sistema GNU/Linux. O fax est disponvel aos usurios do seu sistema local e rede de usurios.

Captulo 31. Como obter ajuda no sistema

378

Firewall-Piercing Mtodos de usar PPP atravs de telnet para tornar os materiais da rede transparentes atravs de um rewall Internet. Home-Network-mini-HOWTO Um tutorial simples de congurao do sistema Red Hat 6 e variantes para operar como um gateway na internet para uma pequena rede domstica ou de escritrio. Entre os tpicos cobertos esto includos masquerading, DNS, DHCP e segurana bsica. IP-Alias Descreve como utilizar vrios IPs em uma nica interface de rede. Em adio, esto includas instrues de como ajustar a mquina para receber e-mais em IPs alises. IP-Subnetworking Descreve porque e como subdividir uma rede IP - que est usando uma simples classe de rede A, B ou C para funcionar corretamente em diversas redes interconectadas. IPMasquerading+Napster Descreve como permitir usurios atravs de um sistema IPMasquerade usar o Napster. ISP-Connectivity Descreve como congurar o PPP, conectar-se ao seu Provedor, congurar o E-mail e news, obter um IP permanente (se disponvel), obter um nome de domnio. Mail-Queue Queue E-mails remotos + Entregar e-mails locais as conguraes necessrias para fazer o Sendmail enviar mensagens locais ***Agora*** e entregar mensagens remotas quando quiser. Netrom-Node Este documento descreve como congurar o pacote de utilitrios ax25 para Rdio Amadores. PLIP Este documento lhe ajudar a usar sua porta Paralela para conexo entre computadores. ppp-ssh Descreve como congurar uma rede VPN usando ssh sobre ppp. PortSlave Congurando e usando um roteador Linux para conexo remota, radius, console serial. Proxy-ARP-Subnet Este documento discute o uso do Proxy Address Resolution Protocol (ARP) com subrede em ordem para fazer uma pequena rede de computadores visvel a outra sub rede IP (eu chamo isto de sub-subrede). isto faz todas as mquinas na rede local (rede 0 onde estamos agora) aparecer como se estivessem conectadas a rede principal (rede 1). Public-Web-Browser A idia bsica dar acesso web a pessoas que desejam, limitando suas habilidades de causar problemas. Qmail+MH Ensina como usar o Qmail em conjunto com o MH. Remote-Boot Este documento descreve como congurar um servidor de inicializao robusto e seguro para um grupo de PCS, permitindo cada cliente escolher em tempo de inicializao qual sistema operacional executar. SLIP-PPP-Emulator Descreve como obter seu computador Linux conectado a um site genrico via emulador SLIP/PPP, tal como SLiRP ou TIA.

Captulo 31. Como obter ajuda no sistema

379

Sendmail+UUCP Como utilizar o Sendmail em conjunto com o UUCP. Sendmail-Address-Rewrite Breve descrio de como ajustar o arquivo de congurao do sendmail para o usurio domstico que utiliza o acesso dial-up a Sybase-PHP-Apache Explica como usar o PHP + Apache para acesso a uma base de dados Sybase-ASE. Term-Firewall Mtodos de usar o term para tornar os materiais de rede transparentes atravs de um rewall TCP que parece no ser capaz. Token-Ring Fazendo o Token Ring funcionar no GNU/Linux. TransparentProxy Como congurar um servidor proxy transparente de cache HTTP usando somente o GNU/Linux e o Squid. VPN Ensina como congurar uma Virtual Protected Network no GNU/Linux. Outros Advocacy Este documento oferece sugestes de como a comunidade Linux pode defender efetivamente o uso do Linux. BogoMips Detalhes sobre BogoMips. Este texto foi criado a partir de vrios arquivos GNU/Linux no arquivo HOWTO/mini/BogoMips. Commercial-Port-Advocacy Este documento discute mtodos que podem ser usados como aproximao de empresas comerciais para convence-las a portar seus programas para o GNU/Linux.

31.9

Documentao de Programas

So documentos instalados junto com os programas. Alguns programas tambm trazem o aviso de copyright, changelogs, modelos, scripts, exemplos e FAQs (perguntas freqntes) junto com a documentao normal. Seu princpio o mesmo do How-to; documentar o programa. Estes arquivos esto localizados em: /usr/doc/[programa]. Programa o nome do programa ou comando procurado.

31.10

FAQ

FAQ um arquivo de perguntas e respostas mais freqntes sobre o programa. Os arquivos de FAQ esto localizados em:

Captulo 31. Como obter ajuda no sistema

380

/usr/doc/FAQ/[programa]. Programa o nome do programa ou comando procurado.

31.11

RFCs

So textos que contm normas para a padronizao dos servios e protocolos da Internet (como a porta padro de operao, comandos que devem ser utilizados, respostas) e outros detalhes usados para padronizar o uso de servios Internet entre as mais diversas plataformas de computadores, com o objetivo de garantir a perfeita comunicao entre ambos. As RFCs podem ser obtidas de http://rfc.net. O arquivo de uma RFC segue o formato RFC+Nmero, onde RFC descreve que o documento uma RFC e Nmero o seu nmero de identicao, como o documento RFC1939 que documenta o funcionamento e comandos do protocolo POP3. Os arquivos de RFCs podem ser encontrados no pacote doc-rfc da distribuio Debian e baseadas . Segue abaixo o ndice principal do diretrio de RFCs que poder ser usado para localizar RFCs especcas de um determinado servio/assunto: 0001 PADRES OFICIAIS DO PROTOCOLO INTERNET. J. Reynolds, R. Braden. Maro 2000. (Formato: TXT=86139 bytes) (Deixa obsoleto RFC2500, RFC2400, RFC2300, RFC2200, RFC2000, RFC1920, RFC1880, RFC1800, RFC1780, RFC1720, RFC1610, RFC1600, RFC1540, RFC1500, RFC1410, RFC1360, RFC1280, RFC1250, RFC1200, RFC1140, RFC1130, RFC1100, RFC1083) (Tambm RFC2600) 0002 Nmeros designados. J. Reynolds, J. Postel. Outubro 1994. (Formato: TXT=458860 bytes) (Tambm RFC1700) 0003 Requerimentos do sistema. R. Braden. Outubro 1989. (Formato: TXT=528939 bytes) (Tambm RFC1122, RFC1123) 0004 Requerimentos do Gateway. R. Braden, J. Postel. Junho 1987. (Formato: TXT=125039 bytes) (Tambm RFC1009) 0005 Protocolo Internet. J. Postel. Setembro 1981. (Formato: TXT=241903 bytes) (Tambm RFC0791, RFC0950, RFC0919, RFC0922, RFC792, RFC1112) 0006 User Datagram Protocol. J. Postel. Agosto 1980. (Formato: TXT=5896 bytes) (Tambm RFC0768) 0007 Transmission Control Protocol. J. Postel. September 1981. (Formato: TXT=172710 bytes) (Tambm RFC0793) 0008 Protocolo Telnet. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=44639 bytes) (Tambm RFC0854, RFC0855) 0009 File Transfer Protocol. J. Postel, J. Reynolds. Outubro 1985. (Formato: TXT=148316 bytes) (Tambm RFC0959)

Captulo 31. Como obter ajuda no sistema

381

0010 SMTP Service Extensions. J. Klensin, N. Freed, M. Rose, E. Stefferud & D. Crocker. Novembro 1995. (Formato: TXT=23299 bytes) (Deixa obsoleto RFC1651) (Tambm RFC821, RFC1869) 0011 Standard for the format of ARPA Internet text messages. D. Crocker. 13-Ago-1982. (Formato: TXT=109200 bytes) (Deixa obsoleto RFC1653) (Tambm RFC0822) 0012 Network Time Protocol. D. Mills. Setembro 1989. (Formato: TXT=193 bytes) (Tambm RFC1119) 0013 Domain Name System. P. Mockapetris. Novembro 1987. (Formato: TXT=248726 bytes) (Tambm RFC1034, RFC1035) 0014 Mail Routing and the Domain System. C. Partridge. Janeiro 1986. (Formato: TXT=18182 bytes) (Tambm RFC0974) 0015 Simple Network Management Protocol. J. Case, M. Fedor, M. Schoffstall, J. Davin. Maio 1990. (Formato: TXT=72876 bytes) (Tambm RFC1157) 0016 Structure of Management Information. M. Rose, K. McCloghrie. Maio 1990. (Formato: TXT=82279 bytes) (Deixa obsoleto RFC1065) (Tambm RFC1155) 0017 Management Information Base. K. McCloghrie, M. Rose. March 1991. TXT=142158 bytes) (Deixa obsoleto RFC1158) (Tambm RFC1213) (Formato:

0018 Exterior Gateway Protocol. D. Mills. Abril 1984. (Formato: TXT=63836 bytes) (Tambm RFC0904) 0019 NetBIOS Service Protocols. NetBIOS Working Group. TXT=319750 bytes) (Tambm RFC1001, RFC1002) Maro 1987. (Formato:

0020 Echo Protocol. J. Postel. Maio 1983. (Formato: TXT=1237 bytes) (Tambm RFC0862) 0021 Discard Protocol. J. Postel. Maio 1983. (Formato: TXT=1239 bytes) (Tambm RFC0863) 0022 Character Generator Protocol. J. Postel. Maio 1983. (Formato: TXT=6842 bytes) (Tambm RFC0864) 0023 Quote of the Day Protocol. J. Postel. Maio 1983. (Formato: TXT=1676 bytes) (Tambm RFC0865) 0024 Active Users Protocol. J. Postel. Maio 1983. (Formato: TXT=2029 bytes) (Tambm RFC0866) 0025 Daytime Protocol. J. Postel. Maio 1983. (Formato: TXT=2289 bytes) (Tambm RFC0867) 0026 Time Server Protocol. J. Postel. Maio 1983. (Formato: TXT=3024 bytes) (Tambm RFC0868) 0027 Binary Transmission Telnet Option. TXT=8965 bytes) (Tambm RFC0856) J. Postel, J. Reynolds. Maio 1983. (Formato:

Captulo 31. Como obter ajuda no sistema

382

0028 Echo Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=10859 bytes) (Tambm RFC0857) 0029 Suppress Go Ahead Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=3712 bytes) (Tambm RFC0858) 0030 Status Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=4273 bytes) (Tambm RFC0859) 0031 Timing Mark Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=7881 bytes) (Tambm RFC0860) 0032 Extended Options List Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=3068 bytes) (Tambm RFC0861) 0033 Trivial File Transfer Protocol. K. Sollins. Julho 1992. (Formato: TXT=24599 bytes) (Tambm RFC1350) 0034 Routing Information Protocol. C. Hedrick. Junho 1988. (Formato: TXT=91435 bytes) (Tambm RFC1058) 0035 ISO Transport Service on top of the TCP (Version: 3). M. Rose, D. Cass. Maio 1978. (Formato: TXT=30662 bytes) (Tambm RFC1006) 0036 Transmission of IP and ARP over FDDI Networks. D. Katz. Janeiro 1993. (Formato: TXT=22077 bytes) (Tambm RFC1390) 0037 An Ethernet Address Resolution Protocol. David C. Plummer. Novembro 1982. (Formato: TXT=21556 bytes) (Tambm RFC0826) 0038 A Reverse Address Resolution Protocol. Ross Finlayson, Timothy Mann, Jeffrey Mogul, Marvin Theimer. Junho 1984. (Formato: TXT=9345 bytes) (Tambm RFC0903) 0039 Interface Message Processor: Especicaes para a Interconexo de um computador e um IMP (Revisado). BBN. Dezembro 1981. (fora de linha) 0040 Host Access Protocol specication. Bolt Beranek and Newman. Agosto 1993. (Formato: TXT=152740 bytes) (Deixa obsoleto RFC0907) (Tambm RFC1221) 0041 Standard for the transmission of IP datagrams over Ethernet networks. C. Hornig. Abril 1984. (Formato: TXT=5697 bytes) (Tambm RFC0894) 0042 Standard for the transmission of IP datagrams over experimental Ethernetnetworks. J. Postel. Abril 1984. (Formato: TXT=4985 bytes) (Tambm RFC0895) 0043 Standard for the transmission of IP datagrams over IEEE 802 networks. J. Postel, J.K. Reynolds. Agosto 1993. (Formato: TXT=34359 bytes) (Deixa obsoleto RFC0948) (Tambm RFC1042) 0044 DCN Local-Network Protocols. D.L. Mills. Agosto 1993. (Formato: TXT=65340 bytes) (Tambm RFC0891)

Captulo 31. Como obter ajuda no sistema

383

0045 Internet Protocol on Network Systems HYPERchannel: Protocol Specication. K. Hardwick, J. Lekashman. Augosto 1993. (Formato: TXT=100836 bytes) (Tambm RFC1044) 0046 Transmitting IP trafc over ARCNET networks. D. Provan. Agosto 1993. (Formato: TXT=16565 bytes) (Deixa obsoleto RFC1051) (Tambm RFC1201) 0047 Nonstandard for transmission of IP datagrams over serial lines: SLIP. J.L. Romkey. Agosto 1993. (Formato: TXT=12578 bytes) (Tambm RFC1055) 0048 Standard for the transmission of IP datagrams over NetBIOS networks. L.J. McLaughlin. Agosto 1993. (Formato: TXT=5579 bytes) (Tambm RFC1088) 0049 Standard for the transmission of 802.2 packets over IPX networks. L.J. McLaughlin. Agosto 1993. (Formato: TXT=7902 bytes) (Tambm RFC1132) 0050 Denitions of Managed Objects for the Ethernet-like Interface Types. F. Kastenholz. Julho 1994. (Formato: TXT=39008, bytes) (Deixa obsoleto RFC1623, RFC1398) (Tambm RFC1643) 0051 The Point-to-Point Protocol (PPP). W. Simpson, Editor. Julho 1994. (Formato: TXT=151158 bytes) (Deixa obsoleto: RFC1549) (Tambm RFC1661, RFC1662) 0052 The Transmission of IP Datagrams over the SMDS Service. D. Piscitello, J. Lawrence. Maro 1991. (Formato: TXT=24662 bytes) (Tambm RFC1209) 0053 Post Ofce Protocol - Version 3. J. Myers & M. Rose. Maio 1996. (Formato: TXT=47018 bytes) (Deixa Obsoleto: RFC1725) (Tambm RFC1939) 0054 OSPF Version 2. J. Moy. Abril 1998. (Formato: TXT=447367 bytes) (Tambm RFC2328) 0055 Multiprotocol Interconnect over Frame Relay. C. Brown, A. Malis. Setembro 1998. (Formato: TXT=74671 bytes) (Deixa Obsoleto: RFC1490, RFC1294) (Tambm RFC2427) 0056 RIP Version 2. G. Malkin. Novembro 1998. (Formato: TXT=98462 bytes) (Atualiza RFC1723, RFC1388) (Tambm RFC2453) 0057 RIP Version 2 Protocol Applicability Statement. G. Malkin. Novembro 1994. (Formato: TXT=10236 bytes) (Tambm RFC1722) 0058 Structure of Management Information Version 2 (SMIv2. K. McCloghrie, D. Perkins, J. Schoenwaelder. Abril 1999. (Formato: TXT=89712 bytes) (Deixa Obsoleto RFC1902) (Tambm RFC2578, RFC2579) 0059 Remote Network Monitoring Management Information Base. S. Waldbusser. Maio 2000. (Formato: TXT=198676 bytes) (Deixa Obsoleto RFC1757) (Tambm RFC2819)

31.12

Internet

Certamente o melhor suporte ao GNU/Linux via Internet, veja abaixo alguns locais teis de onde pode obter ajuda ou se atualizar.

Captulo 31. Como obter ajuda no sistema

384

31.12.1

Pginas Internet de Referncia

Existem boas pginas Internet Nacionais e Internacionais sobre o GNU/Linux e assuntos relacionados com este sistema. A maioria trazem documentos e explicaes sobre congurao, instalao, manuteno, documentao, suporte, etc. Estas pginas podem ser encontradas atravs de ferramentas de busca. Entre outras pginas, posso citar as seguintes: http://debian-br.cipsga.org.br/ Projeto Debian-Br. A Debian uma distribuio de Linux conhecida por sua qualidade, grande nmero de pacotes, estabilidade, facilidade de atualizao, desenvolvimento aberto, segurana, ferramentas de gerenciamento de servidores e comprometimento com o software livre. A Debian feita originalmente em ingls e traduzida por grupos em vrios lugares do mundo. O projeto Debian-br destina-se a colaborar na traduo da Debian para o Portugus (nossa lngua-me). Atravs desse projeto, todos podero, da forma colaborativa como na Debian, trazer essa excelente distribuio em nosso idioma! Participe: Voc pode pegar um documento pra traduzir Reformular a pgina do projeto Programando para o projeto Sendo um desenvolvedor da Debian A pagina do projeto a http://debian-br.cipsga.org.br/ Revisar documentao Ou participar de outras tarefas do seu interesse! Entre em contato com o responsvel pelo projeto pelo email <debian-br@listas. cipsga.org.br> para saber como entrar no projeto ou visite a pgina http:// debian-br.cipsga.org.br/. Todos os interessados esto convidados a participar do projeto! http://debian-br.cipsga.org.br/contador-debian/contador.html - O contador Debian uma pgina idealizada para que fossem geradas estatsticas fceis de se aplicar quanto ao nmero e caractersticas prprias de cada grupo de usurios Debian no Brasil. Sua base construda em PHP com uso do banco de dados MySQL, hospedado no Source Forge mantido pelo pessoal do projeto Debian-BR o contador tem tambm a facilidade de integrar-se com o bot apt-br facilitando a vida dos usurios do canal IRC do projeto. Responsvel pela pgina: Gustavo Noronha <dockov@zaz.com.br> endereo: http: //debian-br.cipsga.org.br/contador-debian/contador.html http://www.linux.trix.net/ - Boletim dirio com as noticias mais recentes sobre GNU/Linux, testes, redes, descrio/congurao/ avaliao de programas, entrevistas, downloads, dica do dia, mecanismo de busca no site, links, etc. Em Portugus. Responsvel pela pgina: Augusto Campos <brain@matrix.com.br> endereo: http://www.linux.trix.net/.

Captulo 31. Como obter ajuda no sistema

385

http://www.olinux.com.br/ - Trata o GNU/Linux com o foco jornalstico e tem a inteno de prover informaes ecazes e esclarecedoras capazes de instruir, reciclar e tornar acessvel aos usurios o conhecimento e aprofundamento de temas relacionados a plataforma GNU/Linux. Publicao diria de Artigos que so feitos para que o usurio possa resolver problemas e tirar dvidas deste sistema. Assuntos diversos sobre programas, servios e utilitrios. Tambm conta com sees de programao, jogos, segurana e entrevistas com personalidades do cenrio software livre/cdigo aberto. Atualizao diria. Responsvel pela pgina: Linux Solutions <baptista@linuxsolutions.com.br> endereo: http://www.olinux.com.br/. http://come.to/linuxworld/ - Informaes sobre distribuies Linux, downloads, gerenciadores de janelas (Enlightenment, Window Maker, etc) temas com fotos ilustrativas, seo programa do ms (onde falado sobre um programa interessante), seo sobre jogos (para as pessoas enviarem suas dvidas de jogos). Em Portugus. Esta home page tambm traz uma seo onde as pessoas escrevem suas dvidas, que so recebidas pelo responsvel pela pgina, solucionadas e respondidas. Responsvel pela pgina: Luiz Estevo Baptista de Oliveira <luizestevao@yahoo. com> endereo: http://come.to/linuxworld/. http://www.linuxsecurity.com.br/ - Boletins de segurana, publicaes de textos nacionais, tradues de sites especializados em segurana, programas relacionados com criptograa e segurana no ambiente Linux. A pgina requer um navegador com suporte a Java. Endereo: http://www.linuxsecurity.com.br/. http://www.tldp.org/ - Projeto de documentao do GNU/Linux no Brasil. Toda a documentao traduzida para o Portugus do Brasil pode ser encontrada l. Responsvel pela pgina: <ricardo@conectiva.com.br> endereo: http://www. tldp.org/. http://expansion.onweb.cx/ - Site que visa juntar e divulgar principalmente a documentao do GNU/Linux, sejam HOW-TOs ou simples dicas. Responsvel pela pgina: expansion.onweb.cx/. <netstart@linuxbr.com.br> endereo: http://

http://www.guiadohardware.net/ - Site de Hardware, conta com notcias dirias, cursos on-line, artigos, tutoriais, anlises de equipamentos, frum, dicionrio de termos, dicas sobre overclock, palm pilot e sesso FAQ com mais de 300 dvidas respondidas. Atualizaes dirias, possui um servio de envio de dicas por e-mail. Responsvel pela pgina: Carlos E. Morimoto <morimoto@guiadohardware.net> endereo: http://www.guiadohardware.net/.

Captulo 31. Como obter ajuda no sistema

386

http://br.linuxchix.org/ O LinuxChix Brasil, assim como o Projeto LinuxChix internacional, uma comunidade para mulheres que gostam de Linux, e para apoiar as mulheres na computao em geral. As participantes vo desde novatas usurias experientes, e incluem programadoras prossionais e amadoras, administradoras de sistemas e documentadoras tcnicas. Responsvel pela pgina: Lista LinuxChix <linuxchix@listas.cipsga.org.br> endereo: http://www.guiadohardware.net/. http://www.noticiaslinux.com.br/ Notcias dirias sobre GNU/Linux e Software Livre no site, por e-mail ou RSS. Responsvel pela pgina: <deivison@noticiaslinux.com.br> endereo: http: //www.noticiaslinux.com.br/ http://www.linux.org/ - Pgina ocial do GNU/Linux mantida pela Transmeta (a empresa que Linus Torvalds vem trabalhando atualmente). Muita referncia sobre GNU/Linux, distribuies, hardwares, softwares, downloads, etc. Responsvel pela pgina: linux.org/. <webmaster@linux.org> endereo: http://www.

http://counter.li.org/ - Este um servio que tem o objetivo de contar os usurios, mquinas, grupos de usurios Linux existentes ao redor do mundo. Te encorajo a se registrar neste site e indica-lo aos seus amigos, de graa, voc estar contribuindo para o aumento das estatsticas do nmero de usurios no mundo, pas, sua cidade, etc. O site tambm conta com um sistema de estatsticas de usurios, mquinas e grupos de usurios espalhados ao redor do mundo. Voc pode saber em poucos segundos a quantidade de usurios Linux em seu pas, cidade, etc. Responsvel pela pgina: Harald T. Alvestrand <harald@alvestrand.no> endereo: http://counter.li.org/. http://metalab.unc.edu/ - O ponto de referncia mais tradicional de softwares GNU/Linux do mundo. Voc pode encontrar desde dicas, documentao (todos os HowTos) at diversas distribuies GNU/Linux. Responsvel pelo site: metalab.unc.edu/. <webmaster@sunsite.unc.edu> endereo: http://

http://www.themes.org/ - Neste site voc encontra milhares de temas divididos em categorias para os mais diversos gerenciadores de janelas no GNU/Linux. O site muito pesado, por causa das fotos, recomendvel um bom fax-modem ou muita pacincia. Responsvel pela pgina: themes.org/. <webmaster@themes.org> endereo: http://www.

http://www.oreill.com/safari/ - Neste site voc encontra os livros publicados sobre a licena OpenBook da Orreil. Na maioria livros que no atende mais propsitos

Captulo 31. Como obter ajuda no sistema

387

atualmente e livros em que os autores concordaram em licenciar sob os termos OpenBook. Endereo: http://www.oreill.com/safari/. Caso conhecer uma pgina de Internet que contenha materiais teis a comunidade GNU/Linux ou desejar incluir a sua, entre em contato para sua incluso na prxima verso do guia junto com uma descrio da pgina.

31.12.2

Listas de discusso

So grupos de usurios que trocam mensagens entre si, resolvem dvidas, ajudam na congurao de programas, instalao, etc. considerado o melhor suporte ao GNU/Linux pois qualquer participante pode ser beneciar das solues discutidas. Existem milhares de listas de discusses sobre o GNU/Linux espalhadas pelo mundo, em Portugus existem algumas dezenas. Algumas listas so especcas a um determinado assunto do sistema, algumas so feitas para usurios iniciantes ou avanados, outras falam praticamente de tudo. Existem desde usurios iniciantes, hackers, consultores, administradores de redes experientes e gurus participando de listas e oferecendo suporte de graa a quem se aventurar em instalar e usar o sistema GNU/Linux. A lista de discusso funciona da seguinte forma: voc se inscreve na lista enviando uma mensagem ao endereo de inscrio, ser enviada um pedido de conrmao por e-mail, simplesmente d um reply na mensagem para ser cadastrado. Pronto! agora voc estar participando do grupo de usurios e receber todas as mensagens dos participantes do grupo. Assim voc poder enviar sua mensagem e ela ser vista por todos os participantes da lista. Da mesma forma, voc pode responder uma dvida de outro usurio da lista ou discutir algum assunto, tirar alguma dvida sobre a dvida de outra pessoa, etc. No tenha vergonha de enviar sua pergunta, participar de listas de discusso uma experincia quase obrigatrio de um Linuxer. Abaixo segue uma relao de listas de discusso em Portugus com a descrio, endereo de inscrio, e o que voc deve fazer para ser cadastrado: <debian-user-portuguese@lists.debian.org> Lista de discusso para usurios Portugueses da Debian. Tambm so discutidos assuntos relacionados ao Linux em geral. A inscrio aberta a todos os interessados. Para se inscrever, envie uma mensagem para <debian-user-portuguese-request@ lists.debian.org> contendo a palavra subscribe no assunto da mensagem. Ser enviada uma mensagem a voc pedindo a conrmao da inscrio na lista de discusso, simplesmente d um reply na mensagem (responder) e voc estar cadastrado e poder enviar e receber mensagens dos participantes. <debian-news-portuguese@lists.debian.org> A Debian extremamente bem estruturada quanto a divulgaes e notcias, vrias listas de email e vrias pginas compe

Captulo 31. Como obter ajuda no sistema

388

essa base. A Debian Weekly News especialmente importante pois d uma viso geral do que se passou na Debian durante a semana. Sua verso Brasileira editada e traduzida por Gustavo Noronha Silva (kov) e conta com a lista de pacotes traduzida por Adriano Freitas (afreitas) e revisada por Hilton Fernandes e no traz apenas tradues mas tambm adies dos acontecimentos atuais da Debian no Brasil, ou projetos concludos ou lanados pela equipe Debian-br (http://debian-br.cipsga.org.br/). Essa lista NO usada para resoluo de dvidas e problemas, apenas para o RECEBIMENTO de notcias relacionadas a Debian. No poste mensagens nela! Para se inscrever, envie uma mensagem para <debian-news-portuguese-request@ lists.debian.org> contendo a palavra subscribe no assunto da mensagem. Ser enviada uma mensagem a voc pedindo a conrmao da inscrio na lista de discusso, simplesmente d um reply na mensagem (responder) e voc passar a receber as notcias sobre a Debian em Portugus. <linux-br@unicamp.br> Lista de discusso que cobre assuntos diversos. Esta lista voltada para usurios com bons conhecimentos no GNU/Linux, so abordados assuntos como redes, conguraes, etc. Esta uma lista moderada, o que signica que a mensagem que envia passam por uma pessoa que verica (modera) e a libera caso estejam dentro das normas adotada na lista. uma lista de alto nvel e recomendada para quem deseja fugir de mensagens como no consigo instalar o Linux, no sei compilar o kernel, o que eu fao quando vejo uma tela com o nome login:?, etc. Para se inscrever nesta lista, envie uma mensagem para: <linux-br-request@ unicamp.br> contendo a palavra subscribe no assunto da mensagem e aguarde o recebimento da conrmao da inscrio. Apenas responda a mensagem de conrmao para se inscrever. Para se descadastrar envie uma mensagem para o mesmo endereo mas use a palavra unsubscribe. <dicas-l@unicamp.br> Esta lista envia diariamente uma dica de Unix, sistemas da Microsoft ou novidades da Internet. Para se inscreve nesta lista de discusso, envie uma mensagem para: <dicas-l-request@unicamp.br> contendo a palavra subscribe no corpo da mensagem e aguarde o recebimento da conrmao da inscrio. Apenas responda a mensagem de conrmao para conrmar sua inscrio na lista. Para se descadastrar envie uma mensagem para o mesmo endereo mas use a palavra unsubscribe. <linux-br@listas.conectiva.com.br> Discute todos os aspectos relacionados ao uso, instalao, atualizao e operao do GNU/Linux. Para se inscreve nesta lista de discusso, envie uma mensagem para: <linux-br-request@listas.conectiva.com.br> contendo a palavra subscribe no corpo da mensagem e aguarde o recebimento da conrmao da inscrio. Apenas responda a mensagem de conrmao para conrmar sua inscrio na lista. Para se descadastrar envie uma mensagem para o mesmo endereo mas use a palavra unsubscribe.

Captulo 31. Como obter ajuda no sistema

389

Esta listagem deveria estar mais completa, mas eu no lembro de todas as listas!. Tambm recomendo dar uma olhada em Listas de Discusso via Email on page 392 que descreve recomendaes de comportamento em listas de discusso.

31.13

Netiqueta

So recomendaes que tem como objetivo facilitar a para comunicao atravs dos recursos de uma rede. O nome Netiqueta vem de Etiqueta de Rede (Net Etiquete). O material desta seo foi escrito com base nos anos de observao que tive via internet e tambm com referncia a rfc 1855.

31.13.1

Recomendaes Gerais sobre a Comunicao Eletrnica

Como recomendao geral, lembre-se que a conversa via internet feita sempre de uma para outra pessoa ou de uma para vrias pessoas, e que a forma de comunicao a mesma que utilizaria se estivesse de frente a frente com a pessoa. Nunca diga algo que no diria se estivesse diante da outra pessoa. Existem pessoas que por estar atrs de um monitor, se sentem maiores se esquecendo disso e causando prejuzos de comunicao (e sem imaginar que a pessoa do outro lado da linha existe). Apesar do modo que as frases so escritas expressarem o jeito que a outra pessoa est do outro lado da linha e seu tom de comunicao no decorrer da conversar, existem algumas coisas que no podem ser totalmente expressadas atravs da Internet, como por exemplo a expresso da face das pessoas. Para isto foram criados smbolos chamados smileys que expressam a face da outra pessoa em determinado momento, e dependendo do sentido da conversa, um smiley pode expressar corretamente a inteno de sua frase. Os mais usados so os seguintes: :-) --> Sorriso :-( ;-) :-O :-| 8-) |-) --> Triste --> Piscadinha --> De boca aberta --> Sem graa --> De culos --> Com sono e feliz

<:-) --> Bobo Para entender o sentido do smiley, veja ele de lado (45 graus). Use os smileys em suas conversaes, mas com cautela. No espere que a incluso de um smiley sorridente :-) deixe o destinatrio da mensagem contente com um comentrio rude ou insulto.

Captulo 31. Como obter ajuda no sistema

390

ESCREVER EM MAISCULAS signica gritar quando escrever mensagens eletrnicas. Use *asteriscos* para destacar uma palavra ou frase. _Isso_ indica uma palavra/frase sublinhada. Se voc troca mensagens com pessoas do mundo todo, no espere que um japons responda logo seu e-mail que enviou as 15:00 da tarde. A essa hora no pas dele, ele est roncando forte na cama e sonhando com a placa 3D que vai ganhar para melhorar o desempenho de seus jogos de Linux. Durante a comunicao com pessoas de diferentes regies (ou pases), evite a utilizao de grias, ou expresses regionais. Uma interpretao em uma determinada regio no garante que ela tenha o mesmo signicado para seu destinatrio, as vezes pode ser at ofensiva. Assuma que sua mensagem est trafegando sobre uma via no segura, desta forma no envie informaes pessoais que no enviaria em uma carta comum. O uso de criptograa pode garantir melhor segurana na transmisso de dados.

31.13.2

Email

Tenha o hbito de colocar sempre um assunto na mensagem que envia para identicar seu contedo. Respeite os direitos autorais das mensagens de e-mail. Se precisar encaminhar mensagens, preserve seu contedo original. Procure limitar o tamanho da linha a 70 caracteres. Muitos usurios utilizam cliente de e-mail em modo texto, e nem todo mundo usa a mesma resoluo que voc. Caso o e-mail que responda tenha mais que 100 linhas, recomendvel colocar a palavra LONGA no assunto da mensagem. Se possvel corte as partes no necessrias da mensagens de respostas tendo o cuidado de no cortar de forma mal educada a mensagem de outra pessoa. No espere que o espaamento ou desenhos ASCII usados em uma mensagem sejam mostrados corretamente em todos os sistemas. Utilize sempre uma assinatura no nal da mensagem para identicar voc e principalmente seu endereo de e-mail. Em alguns cliente de e-mail, o campo Reply-to bagunado, e em e-mails redirecionados o endereo de resposta excludo. A assinatura facilita encontrar o remetente da mensagem. Tente manter a assinatura em um tamanho de no mximo 4 linhas. No repasse mensagens de corrente por e-mail. Elas tem somente o objetivo de espalhar boatos na Internet e se espalhar. Normalmente elas vem com uma histria bonita e no nal diz se no repassar acontecer tudo ao contrrio com voc ou algo do tipo. No vai acontecer nada! ignore isso e no entre na corrente! Pelas polticas da Internet, voc pode ter sua conta de e-mail perdida se zer mal uso dele.

31.13.3

Talk

Use sempre quebra de linhas ao escrever suas mensagens, use pelo menos 70 caracteres para escrever suas mensagens de talk. Evita escrever continuamente at a borda para fazer quebra de linha automtica, alguns clientes de talk no aceitam isso corretamente.

Captulo 31. Como obter ajuda no sistema

391

Sempre que termina uma frase, deixe uma linha em branco (tecle enter 2 vezes) para indicar que a outra pessoa pode iniciar a digitao. Sempre se despea da outra pessoa e espere ela responder antes de fechar uma seo de conversao. O respeito mtuo durante um dilogo essencial :-) Lembre-se que o talk normalmente interrompe as pessoas que trabalham nativamente no console. Evite dar talk para estranhos, pois podem fazer uma m impresso de voc. Tente antes estabelecer outros meios de comunicao. Se a outra pessoa no responder, no assuma de cara que ela est ignorando voc ou no levando sua conversa muito bem. Ela pode simplesmente estar ocupada, trabalhando, ou com problemas no cliente de talk. Alguns cliente de talk do problemas durante a comunicao remota, lembre-se tambm que sua comunicao via UDP :-) Se a pessoa no responder seus talks durante certo tempo, no deixe ele innitamente beepando a pessoa. Tente mais tarde :-) Seja atencioso caso utilize mais de uma seo de talk ao mesmo tempo. O talk tambm leva em considerao sua habilidade de digitao. Muitos erros e correes contnuas fazem a outra pessoa ter uma noo de voc, suas experincias, etc ;-)

31.13.4

ICQ

O ICQ uma excelente ferramenta de comunicao em tempo real, usada principalmente para localizar quando uma pessoa est on-line. Este documento inclui algumas recomendaes de ICtiQueta (Etiqueta no ICQ) para melhor os usurios aproveitarem melhor esta ferramenta. De ateno ao status do ICQ da outra pessoa. Se ela estiver on-line ou free for chat signica que ela est desocupada e que pode conversar naquele instante. Se estiver como no perturbe, envie somente mensagens se for mesmo preciso. Seja tambm sensato ao usar o ICQ. No entre nele caso no possa conversar, ou avise isso mudando seu status para o mais adequado para a situao, assim os outros podero entender que est longe do computador, no disponvel ou ocupado. recomendvel ser prudente quanto ao envio de mensagens no ICQ, no envie mais do que 4 mensagens seguidas, pois a outra pessoa ter diculdades para responder a todas elas mais outra que talvez possa estar recebendo de outras. Guarde seu login e senha de ICQ em um lugar seguro. Caso ela seja perdida, voc ter trabalho para avisar a todos de sua lista de contato. Caso algum de sua lista de contatos esteja sempre on-line e no lhe envia mensagens h muito tempo, no que com a impresso de que ela no quer trocar mais mensagens com voc. Pode ser apenas que ela tenha reinstalado seu programa de ICQ e no tenha anotados todos seus UINs. Normalmente quando se envia uma mensagem para a pessoa, o UIN automaticamente cadastrado em sua lista. No pense que a opo Requer Autorizao te de o controle total de quem ter ou no seu nmero de ICQ em sua lista. Utilize as opes de privacidade para congurar. Sempre que enviar uma URL, procure descrever algo para seu interlocutor na mensagem. No modo de chat, use as recomendaes descritas sobre o talk (em Talk on the facing page). Como em toda comunicao on-line, seja cauteloso quando a pessoa que conversa. Nem sempre quem conversamos do outro lado a pessoa que esperamos encontrar. Lembre-

Captulo 31. Como obter ajuda no sistema

392

se que um registro falso e uma identidade pode ser criada sem diculdades por qualquer pessoa.

31.13.5

Listas de Discusso via Email

Tente se manter dentro do assunto quando responder mensagens de listas. Seja claro e explicativo ao mesmo tempo :-) Sempre coloque um assunto (subject) na mensagem. O assunto serve como um resumo do problema ou dvida que tem. Alguns usurios, principalmente os que participam de vrias listas de discusso, vericam o assunto da mensagem e podem simplesmente descartar a mensagem sem l-la porque as vezes ele no conhece sobre aquele assunto. Nunca use Socorro!, Help! ou coisa do gnero como assunto, seja objetivo sobre o problema/dvida que tem: Falha ao carregar mdulo no do kernel, SMAIL retorna a mensagem Access denied, Novidades: Nova verso do guia Foca Linux ;-). Procure enviar mensagens em formato texto ao invs de HTML para as listas de discusso pois isto faz com que a mensagem seja vista por todos os participantes (muitos dos usurios GNU/Linux usam leitores de e-mail que no suportam formato html) e diminui drsticamente o tamanho da mensagem porque o formato texto no usa tags e outros elementos que a linguagem HTML contm (muitos dos usurios costumam participar de vrias listas de discusso, e mensagens em HTML levam a um excesso de trfego e tempo de conexo). Tenha cautela e bom censo em suas mensagens para listas e grupos de discusso, considere que cada mensagem que posta so arquivadas para futura referncia. Quando o contedo das mensagem tomar outro rumo, tico modicar o assunto do e-mail para se adequar ao novo contedo da mensagem. Por exemplo, Correo nas regras de Netiqueta para Conversa de pessoa para pessoa (Era: Correo das regras de Netiqueta). Quando a conversa em grupo sair do assunto e envolver apenas duas pessoas, conveniente retirar os endereos das pessoas/listas do CC. No mande arquivos grandes para as listas, principalmente se eles tiverem mais que 40Kb de tamanho. Se precisar enviar arquivos maiores que isso, envie diretamente para os e-mails dos interessados depois de perguntar. Quando enviar mensagens para listas de discusso, seja educado e cordial quanto ao contedo de sua mensagem. Envie CCs para as pessoas que dizem respeito ao assunto, assim com a lista. Tente ignorar ou no responda mensagens de Guerras em listas (Flame Wars), caso queira reponde-la por algum tipo de agresso de quem mandou a mensagem, esperar para responde-la a noite (nunca garantida uma boa resposta no momento que est de cabea quente). Lembre-se de quando responde uma mensagem de Flame War a altura de quem mandou seus ataques, est sendo igualmente to baixo quando o nvel dessa pessoa. Caso se desentenda com alguma pessoa em uma lista de discusso, no envie mensagens agressivas para a listas, se precisar, faa isso diretamente para a pessoa! Voc pode se arrepender disso mais tarde. No culpe o administrador da lista pelos usurios que participam dela. Notique so-

Captulo 31. Como obter ajuda no sistema

393

mente usurios que no estejam colaborando com a lista e outras coisas que prejudiquem seu funcionamento. Administradores preservam o funcionamento das listas, e no o policiamento dos usurios. No use auto respostas para listas de discusso. Pelos inconvenientes causados, voc pode ser descadastrado ou banido de se inscrever na lista/newsgroup. Salve as mensagens de inscrio que recebe da lista. Ela contm detalhes sobre seus recursos, e a senha usada muitas vezes para se descadastrar dela ou modicar suas permisses de usurio. O administrador pode te ajudar nessa tarefa, mas no espere que ele esteja sempre disponvel para realizar tarefas que podem ser feitas pelo prprio usurio. Muitas pessoas reclamam do excesso de mensagens recebidas das listas de discusso. Se voc recebe muitas mensagens, procure usar os ltros de mensagens para organiza-las. O que eles fazem procurar por campos na mensagem, como o remetente, e enviar para um local separado. No nal da ltragem, todas as mensagens de listas de discusso estaro em locais separados e as mensagens enviadas diretamente a voc entraro na caixa de correio principal, por exemplo. Um ltro de mensagens muito usado no GNU/Linux o procmail, para maiores detalhes consulte a documentao deste programa. O Netscape tambm tem recursos de ltros de mensagem que podem ser criadas facilmente atravs da opo Arquivo/Nova SubPasta (File/New Subfolder) do programa de E-mail. Ento dena as regras atravs do menu Editar/Filtros de Mensagens (Edit/Message lters) clicando no boto Novo(New).

Captulo 31. Como obter ajuda no sistema

394

395

Captulo 32

Apndice
Este captulo contm consideraes sobre o guia Foca GNU/Linux.

32.1

Sobre este guia

Esta guia foi criado com a inteno de servir como referncia a usurios Iniciantes e que esto tendo o primeiro contato com o sistema operacional GNU/Linux, Intermedirios que j conhecem o bsico sobre o funcionamento deste sistema operacional e j esto acostumados com os comandos, execuo de programas e diretrios, ou com referncia de consulta rpida. A verso que esta lendo agora foi gerada com as seguintes opes: Descrio detalhada de comandos Opes usadas em comandos e programas Observaes Exemplos para a melhor compreenso do assunto discutido. e contm o(s) nvel(is) de aprendizado (Iniciante, Intermedirio e Avanado): Iniciante Intermedirio O Foca GNU/Linux atualizado freqentemente, por este motivo recomendo que preencha a cha do aviso de atualizaes na pgina web em Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org) no m da pgina principal. Aps preencher a cha do aviso de atualizaes, eu te enviarei um e-mail sobre o lanamento de novas verses do guia e o que foi modicado, desta forma voc poder decidir em copia-la caso a nova verso contm modicaes que considera importantes. Verses diferentes deste guia podem ser geradas a partir do cdigo fonte SGML ou obtidas atravs da home page principal (para detalhes veja Onde encontrar a verso mais nova do guia? on page 397).

Captulo 32. Apndice

396

32.2

Sobre o Autor

Gleydson Mazili da Silva Capixaba, nascido em Vila Velha, tem 25 anos. Amante de eletrnica desde criana, foi atraido para a informtica atravs da curiosidade em hardware, no demorando muito para recupera-los ou especicar corretamente dimensionamento e outras caractersticas. Se dedica ao sistema Linux desde 1997. Curioso por natureza e determinado a testar ferramentas a fundo avaliando pontos fortes e fracos de cada uma. Logo que iniciou em Linux passou a estudar exaustivamente aspectos tcnicos de distribuies e rede em Linux/BSD e largando de vez o Windows (que s usava para rodar mais de uma seo DOS e ter rede na mquina). Entre coisas que gosta de fazer/implementar em Linux: possibilidade de pesquisa e atualizao de conhecimento constante, nveis de segurana da informao (tanto fsico e lgico), rewalls, redes virtuais, integrao de sistemas, forense computacional, documentao de processos, desenvolvimento de ferramentas GPL para a comunidade, depurao, hacks baseados em snifng para facilitar a vida dos outros, desenvolvimento de documentaes, etc. Um dos desenvolvedores da distribuio Liberdade, CAETECT, Debian-BR e desenvolvedor ocial da distribuio Debian. Atuou como tradutor do LDP-BR, traduzindo vrios HOW-TOs importantes para a comunidade Linux Brasileira. um dos administradores do projeto CIPSGA, cuidando de uma innidade de servios que o projeto oferece a comunidade que deseja estrutura para hospedar, fortalecer e manter projetos em software livre. Trabalhou para algumas empresas do Esprito Santo na implantao de sistemas em software livre e seu ltimo trabalho foi atuando como consultor em servidores GNU/Linux para a compania e processamento de dados de Campinas (IMA), sediada no CPQD. No concorda totalmente com certicaes, acreditando que a pessoa deva tem em mente procurar pontos fracos quando notar diculdade na avaliao e melhora-los. Mesmo assim possui certicao LPI nvel 2 e um ISO9001 internacional, obtendo 2o lugar no ranking Brasileiro.

32.3

Referncias de auxlio ao desenvolvimento do guia

As sees sobre comandos/programas foram construdas aps uso, teste e observao das opes dos comandos/programas, help on line, pginas de manual, info pages e documentao tcnica do sistema. How-tos do Linux (principalmente o Networking Howto, Security-Howto) ajudaram a formar a base de desenvolvimento do guia e desenvolver algumas sees (verses Intermedirio e Avanado somente). Todos os exemplos e sees descritivas do guia so de minha autoria. Manual de Instalao da Debian GNU/Linux - Os captulos contendo materiais extrados do manual de instalao da Debian so muito teis e explicativos, seria desnecessrio reescrever um material como este. O texto claro e didaticamente organizado, o documento aborda detalhes tcnicos teis sobre hardwares em geral e o Linux ausentes nos manuais de outras distribuies Linux.

Captulo 32. Apndice

397

32.4

Onde encontrar a verso mais nova do guia?

Novas verses deste guia, avisos de lanamento, outros nveis de aprendizado (Iniciante, Intermedirio e Avanado), verses para outras distribuies Linux podem ser encontradas em: Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org). Se quiser receber noticaes de novas verses por E-Mail, envie uma mensagem para <gleydson@guiafoca.org> pedindo para ser includo na lista de atualizaes do guia ou preencha o formulrio encontrado no nal da Home Page do guia (recomendado).

32.5

Colaboradores do Guia

Entre as principais colaboraes at a verso atual, posso citar as seguintes: Djalma Valois <djalma@cipsga.org.br> - Pela recente hospedagem do Foca GNU/Linux. Estou muito feliz vendo o Foca GNU/Linux fazendo parte de um projeto to positivo como o CIPSGA para o crescimento e desenvolvimento do software livre nacional. Bakurih <bakurih@yahoo.com> - Reviso inicial do documento. Eduardo Marcel Maan <macan@debian.org> - Pela antiga hospedagem na pgina do metainfo. Michelle Ribeiro <michelle@cipsga.org.br> - Por dispensar parte de seu atencioso tempo enviando revises e sugestes que esto melhorando bastante a qualidade do guia. Entre eles detalhes que passaram despercebidos durante muito tempo no guia e pgina principal. E tambm por cuidar do fonte do guia ;-) Augusto Campos <brain@matrix.com.br> - Descrio sobre a distribuio Suse em Distribuies do Linux on page 8 . Paulo Henrique Baptista de Oliveira <baptista@linuxsolutions. com.br> - Pelo apoio moral oferecido durante os freqentes lanamentos do guia, acompanhamento e divulgao. Diego Abadan <diego@hipernet.ufsc.br> - Envio de correes signicativas, novos endereos de listas de discusso. Alexandre Costa <alebyte@bol.com.br> - Envio de centenas de patches ortogrcos nas verses Iniciante e Intermedirio do guia que passaram desapercebidas durante vrias verses do guia. . . Christoph Simon <ciccio@prestonet.com.br> - Pela pesquisa e a gigantesca coletnea de textos sobre o Linux enviada. Eles esto sendo muito teis tanto para mim quanto no desenvolvimento do guia.

Captulo 32. Apndice

398

Gustavo Noronha <dockov@zaz.com.br> - Vem enviando freqentes correes, contribuies construtivas ao desenvolvimento alm de apoio ao desenvolvimento do guia . Vale a pena destaca-lo por sua atual dedicao junto a distribuio Debian/GNU, sua traduo e a comunidade Open Source. Pedro Zorzenon Neto <pzn@debian.org> - Envio de diversas atualizaes para o nvel Avanado, principalmente sobre o rewall iptables.

32.6

Marcas Registradas

Todas as marcas registradas citadas neste guia so propriedades de seus respectivos autores.

32.7

Futuras verses

Estes so os materiais que pretendo adicionar em futuras verses do guia: Acrescentar mais detalhes sobre o sistema grco X-Window. Entre outros tens que venho estudando para vericar se encaixam no perl do guia. Esta uma futura implementao que venho estudando para acompanhar o crescimento do guia. Sugestes so bem vindas e podem ser enviadas para <gleydson@guiafoca.org>.

32.8

Chave Pblica PGP

Chaves PGP so usadas para criptografar arquivos, e-mails ou qualquer outra coisa que desejamos que somente uma pessoa tenha acesso. O PGP segue o padro de chave pblica/privada; a chave pblica distribuda a todos e a chave privada permanece na posse do criador para que ele seja o nico a ter acesso aos dados criptografados aps digitar a frase de acesso correta. Minha chave PGP segue abaixo, ela tambm pode ser encontrada em http://pgp.ai.mit. edu. Se voc deseja saber mais sobre o PGP, recomendo um excelente documento encontrado na seo Apostilas em http://www.cipsga.org.br/ -----BEGIN PGP PUBLIC KEY BLOCK----Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDl7WYgRBACsQNtIozvf8XId+xEpF2D1x7nqgFdJyn1QA2VzXg0/OZ9DewXj qr7ChEIoyyzAmxBSubE/jdtkAb9+2LsE9+OXgzJvBc4luYpv+HG2IXlMPujI9drO ubLlK6xqPiakBgqBTS74rp/ZEEAGQsr0sug7b8nsXHMk+spyGkjsU8pPWwCgltai 4vfmBDMZMqBYvUoksVxbaKcD/ApAMghgE53KAAKFtwXI0o7K1DJmdZBufCvGDbEB

Captulo 32. Apndice

399

Y3MVS4BI+aXxoP5zQpEmQ5+lYOZ8RjPL9pNUJa9nOQtjf7Kiw/41BPDtlZXCeRR5 OcQTit0lYRCLGam7FZ22uliwh0h/3lpf4olMff3qeLqv1DECbo8Qsdn6yxynLihE OA9kA/9K1sqiIl/+gXM3/Sjz8EcrwQNklV3MoaETbDmukbXcOEUjdqfFr1xARM5W 8SKoVrWO5y1oa1e9XcQuK6g8c7KeJsK/GEWYiRwX2X2AqdBC2ZzVfJSmgpguZJHn ltMdYZhPwZaCsNPdQSlem3UrGupL0pbpT7PqkvyAHBH2itB9X7RKR2xleWRzb24g TWF6aW9saSBkYSBTaWx2YSAoQ2hhdmUgUEdQIFBlc3NvYWwpIDxnbGV5ZHNvbkBl c2NlbHNhbmV0LmNvbS5icj6IVgQTEQIAFgUCOXtZiAQLCgQDAxUDAgMWAgECF4AA CgkQpWvD35hbooFdwgCfQijPTW5VH+Cep1HIBvyuw9uMg7wAoI/RYW0tkjjnhrgH 8+Zqx6AgGlQ/iEYEEBECAAYFAjnlrPAACgkQoUSye+uc2tWZPgCfVgR4lbd8XPBm bjPupLzB3EYAPI8AoJomkfsgz+NuUZy1mD6pI1Ptc/fDiEYEEBECAAYFAjm4FfUA CgkQco65AkzGCoF34gCgsVcH4b3s6kfCtjD7iMMhkubnDnUAoL2UiorB3Z/m3f9A RZiRMhQUclMRiEYEEBECAAYFAjm4ITAACgkQt1anjIgqbEupXgCg1/NjvT562Hgt /ft5JETOf3yOFywAn1SmK3unyhMU5GU9d49MNM3fNgBtiEYEEBECAAYFAjnFWrYA CgkQORwuc54x+1t8VQCeMZTCla98rrI60EnlkAvb9AaScm4AnA4V795vcVlr3ix9 f6fcl5YGamKciEYEEBECAAYFAjvSF6sACgkQUZATEoypqPVQ7wCbBTRiSGGMzMTd KJotfRKf5aoUAr0AoIAX0oE5XEEFm7Ea0IQqG91T9TvXtDtHbGV5ZHNvbiBNYXpp b2xpIGRhIFNpbHZhIChEZXZlbG9wZXIpIDxnbGV5ZHNvbkBkZWJpYW4ub3JnPohX BBMRAgAXBQI7BR7fBQsHCgMEAxUDAgMWAgECF4AACgkQpWvD35hbooESRACcCliY yxR02KEBYs8cxKav9L0wlzwAn2Z9DWAbqi9Mv4fqPqZ7mViSMRbeiEYEEBECAAYF AjsauX0ACgkQt1anjIgqbEvBEACffJxYfK22YPQ8ZkcjIc85BCiPLuUAnRq1EE9i ukdUHPUo0vzHBeiN355miEYEEBECAAYFAjxEY28ACgkQGERS+iaKCE2fgwCeNGNV Mpa1EWgXF+Hj15gidVjaVCAAn187X6eATJAVzspveNSf/Ny1iuFnuQENBDl7WasQ BACxhBiSFOGa8tv7MOn0XVa6WCViBuQs9QJx2ZnMrx/KssRHMsNXnps+i+zVENqr 1Lz5zPpP7eWgrUy6B7/V9R4LV8nwHC1lZrR/1xyJ6G5j9RLSbYInZCLIAFUMlAar iTThMhvXM+Pf7SXPj+ivrP9EYPSLxqTs1K/dWAbrDK/QiwADBQP9Hgc3EOw+7luB /bXWssQp70bF9yvZLCGOgIE/rZIbOXumXkPlV7FTDgv+h47Bgcj2KDPEM98LUyxG GcJAmrC9gWH7mYEUFNn1bGD+qHRwJ7+xj45NXBJDOBbHzTDS8QhacCRGW1CvRVgP 8ycPDOv/hmGfAJEzqzUkSO1uBcPmmXSIRgQYEQIABgUCOXtZqwAKCRCla8PfmFui gQHnAJ4kDKHKvG9s9OjGV6RvszTDGE51igCcCZn0rO/Si0ek97bTCIusQzJF/pA= =bvnT -----END PGP PUBLIC KEY BLOCK-----