Você está na página 1de 413

Guia Foca GNU/Linux

Gleydson Mazioli da Silva <gleydson@guiafoca.org>

Verso 5.65 - domingo, 05 de setembro de 2010

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-2010 - 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.2 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 9

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

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.12.2 Disco Rgido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.12.3 CD/DVD/BluRay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

SUMRIO

ii

1.13 Cuidados Bsicos com o Computador . . . . . . . . . . . . . . . . . . . . . . . . . 20 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 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 . . . . . . . . . . . . . 43 Conitos de hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Placas on-board / off-board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Hardwares especcos ou For Windows . . . . . . . . . . . . . . . . . . . . . . . 46

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

Quais as diferenas iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Comandos equivalentes entre DOS/CMD do Windows e o Linux . . . . . . . . . 57 4.2.1 Arquivos de congurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.3 4.4

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

SUMRIO

iv

Discos e Parties 5.1 5.2 5.3

65

Parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Sistema de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Partio EXT2 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.1 5.3.2 Criando um sistema de arquivos EXT2 em uma partio . . . . . . . . . . 68 Criando um sistema de arquivos EXT2 em um arquivo . . . . . . . . . . . 68

5.4 5.5

Journaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Partio EXT3 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.5.6 5.5.7 5.5.8 Criando um sistema de arquivos EXT3 em uma partio . . . . . . . . . . 70 Criando um sistema de arquivos EXT3 em um arquivo . . . . . . . . . . . 71 Fazendo a converso do sistema de arquivos EXT2 para EXT3 . . . . . . . 71 Convertendo de EXT3 para EXT2 . . . . . . . . . . . . . . . . . . . . . . . . 72 Nomeando uma partio de disco ext2/ext3 . . . . . . . . . . . . . . . . . 72 Criando o diretrio especial lost+found . . . . . . . . . . . . . . . . . . 72 dumpe2fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Partio EXT2 ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.6

Sistema de arquivos reiserfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.6.1 5.6.2 Criando um sistema de arquivos reiserfs em uma partio . . . . . . . . . 74 Criando um sistema de arquivos reiserfs em um arquivo . . . . . . . . . . 74

5.7

Partio Linux Swap (Memria Virtual) . . . . . . . . . . . . . . . . . . . . . . . . 75 5.7.1 5.7.2 5.7.3 Criando sistema de arquivos Swap em uma partio . . . . . . . . . . . . 76 Criando um sistema de arquivos Swap em um arquivo . . . . . . . . . . . 76 Partio Swap ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.8 5.9

O sistema de arquivos /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 LVM - Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5 Representao grca do LVM . . . . . . . . . . . . . . . . . . . . . . . . . 80 Performance do LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Instalando LVM em seu sistema . . . . . . . . . . . . . . . . . . . . . . . . 81 Aumentando o tamanho de um volume lgico . . . . . . . . . . . . . . . . 82 Diminuindo um volume lgico . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.10 Formatando Pen-drives/Disquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

SUMRIO

5.10.1 Formatando pen-drives para serem usados no Linux . . . . . . . . . . . . 83 5.10.2 Formatando pen-drives compatveis com o Windows . . . . . . . . . . . . 83 5.10.3 Programas de Formatao Grcos . . . . . . . . . . . . . . . . . . . . . . . 84 5.11 Pontos de Montagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.12 Identicao de discos e parties em sistemas Linux . . . . . . . . . . . . . . . . 85 5.13 Montando (acessando) uma partio de disco . . . . . . . . . . . . . . . . . . . . . 86 5.13.1 fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.14 Desmontando uma partio de disco . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6 Gerenciadores de Partida (boot loaders) 6.1 89

LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.1.1 6.1.2 6.1.3 Criando o arquivo de congurao do LILO . . . . . . . . . . . . . . . . . 89 Opes usadas no LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Um exemplo do arquivo de congurao lilo.conf . . . . . . . . . . . . . . 94

6.2

GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 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 . . . . . . . . . . . . . . . . 96 Instalando o GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 No disco exvel (somente linha de comando) . . . . . . . . . . . . . . . . 97 No disco exvel (com interface de menu) . . . . . . . . . . . . . . . . . . . 97 Opes do arquivo de congurao . . . . . . . . . . . . . . . . . . . . . . 98 Um exemplo de arquivo de congurao . . . . . . . . . . . . . . . . . . . 100 Usando a linha de comandos do GRUB . . . . . . . . . . . . . . . . . . . . 102 Removendo o GRUB do MBR . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Como obter informaes mais detalhadas . . . . . . . . . . . . . . . . . . . 103

6.3 6.4

Parmetros de inicializao passados ao kernel . . . . . . . . . . . . . . . . . . . . 104 LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.4.1 6.4.2 Opes do LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Exemplo de inicializao com o LOADLIN . . . . . . . . . . . . . . . . . . 105

6.5

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

SUMRIO

vi

Execuo de programas 7.1 7.2 7.3 7.4 7.5 7.6 7.7

109

Executando um comando/programa . . . . . . . . . . . . . . . . . . . . . . . . . . 109 path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Tipos de Execuo de comandos/programas . . . . . . . . . . . . . . . . . . . . . 110 Executando programas em seqncia . . . . . . . . . . . . . . . . . . . . . . . . . 111 ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Controle de execuo de processos . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 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 . . . . . . . . . . . . . . . . . . 112 Parando momentaneamente a execuo de um processo . . . . . . . . . . 113 jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 fg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 bg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 killall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 killall5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Sinais do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.8 7.9

nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

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

ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

SUMRIO

vii

Comandos para manipulao de Arquivos 9.1 9.2 9.3 9.4 9.5

127

cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 tac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 131

10 Comandos Diversos

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

SUMRIO

viii

10.24reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 10.25shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 10.26wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 10.27seq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 10.28chattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 10.29lsattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 10.30cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 10.31cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.32dirname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 10.33diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 10.34pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.35patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.36whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 10.37which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 10.38zforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 10.39gzexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 10.40znew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 11 Comandos de rede 153

11.1 who . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 11.2 telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 11.3 nger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 11.4 ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 11.5 whoami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 11.6 dnsdomainname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 11.7 hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 11.8 talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 11.9 ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 11.10rlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11.11rsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 11.12w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

SUMRIO

ix

11.13traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 11.14netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 11.15wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 12 Comandos para manipulao de contas 161

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

13.1 Donos, Grupos e outros usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 13.2 Tipos de Permisses de Acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 13.3 Etapas para acesso a um arquivo/diretrio . . . . . . . . . . . . . . . . . . . . . . 171 13.4 Exemplos prticos de permisses de acesso . . . . . . . . . . . . . . . . . . . . . . 171 13.4.1 Exemplo de acesso a um arquivo . . . . . . . . . . . . . . . . . . . . . . . . 172 13.4.2 Exemplo de acesso a um diretrio . . . . . . . . . . . . . . . . . . . . . . . 172 13.5 Permisses de Acesso Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 13.6 A conta root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 13.7 chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

SUMRIO

13.8 chgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 13.9 chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 13.10Modo de permisso octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 13.11umask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 14 Redirecionamentos e Pipe 181

14.1 > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 14.2 >> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 14.3 < . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 14.4 << . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 14.5 | (pipe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 14.6 Diferena entre o | e o > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 14.7 tee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 15 Rede 185

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

SUMRIO

xi

15.7.2 Servios iniciados atravs do inetd . . . . . . . . . . . . . . . . . . . . . . . 196 15.8 Segurana da Rede e controle de Acesso . . . . . . . . . . . . . . . . . . . . . . . . 199 15.8.1 /etc/ftpusers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 15.8.2 /etc/securetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 15.8.3 O mecanismo de controle de acessos tcpd . . . . . . . . . . . . . . . . . . . 200 15.8.4 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 15.9 Outros arquivos de congurao relacionados com a rede . . . . . . . . . . . . . . 204 15.9.1 /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 15.9.2 /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 16 Kernel e Mdulos 207

16.1 O Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 16.2 Mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 16.3 Como adicionar suporte a Hardwares e outros dispositivos no kernel . . . . . . . 208 16.4 kmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 16.5 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 16.6 insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 16.7 rmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 16.8 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 16.9 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 16.10modconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 16.11Recompilando o Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 16.12Arquivos relacionados com o Kernel e Mdulos . . . . . . . . . . . . . . . . . . . 216 16.12.1 /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 16.12.2 modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 16.13Aplicando Patches no kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 17 Arquivos e daemons de Log 219

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

SUMRIO

xii

18 Compactadores

225

18.1 O que fazem os compactadores/descompactadores? . . . . . . . . . . . . . . . . . 225 18.1.1 Tipos de compactao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 18.2 Extenses de arquivos compactados . . . . . . . . . . . . . . . . . . . . . . . . . . 227 18.3 gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 18.4 zip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 18.5 unzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 18.6 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 18.7 bzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 18.8 rar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 19 A distribuio Debian GNU/Linux 237

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

SUMRIO

xiii

19.11.8 Acessrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 19.11.9 Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 20 Sistema de gerenciamento de pacotes 247

20.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 20.1.1 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 20.1.2 Instalar pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 20.1.3 Dependncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 20.1.4 Listar pacotes existentes no sistema . . . . . . . . . . . . . . . . . . . . . . 248 20.1.5 Removendo pacotes do sistema . . . . . . . . . . . . . . . . . . . . . . . . . 248 20.1.6 Removendo completamente um pacote . . . . . . . . . . . . . . . . . . . . 248 20.1.7 Mostrar descrio do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 20.1.8 Procura de pacotes atravs do nome de um arquivo . . . . . . . . . . . . . 249 20.1.9 Status do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 20.1.10 Procurando pacotes com problemas de instalao . . . . . . . . . . . . . . 249 20.1.11 Mostrando a lista de pacotes do sistema . . . . . . . . . . . . . . . . . . . . 249 20.1.12 Obtendo uma lista de pacotes para instalar no sistema . . . . . . . . . . . 250 20.1.13 Congurando pacotes descongurados . . . . . . . . . . . . . . . . . . . . 250 20.1.14 Listando arquivos de um pacote . . . . . . . . . . . . . . . . . . . . . . . . 250 20.2 apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 20.2.1 O arquivo /etc/apt/sources.list . . . . . . . . . . . . . . . . . . . . 251 20.2.2 O arquivo /etc/apt/apt.conf . . . . . . . . . . . . . . . . . . . . . . . 253 20.2.3 Copiando a lista de pacotes disponveis . . . . . . . . . . . . . . . . . . . . 253 20.2.4 Utilizando CDs ociais/no-ociais/terceiros com o apt . . . . . . . . . . 253 20.2.5 Instalando novos pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.6 Removendo pacotes instalado . . . . . . . . . . . . . . . . . . . . . . . . . 254

20.2.7 Atualizando sua distribuio . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.8 Removendo pacotes baixados pelo apt . . . . . . . . . . . . . . . . . . . . 256 20.2.9 Procurando por pacotes atravs da descrio . . . . . . . . . . . . . . . . . 256 20.2.10 Procurando um pacote que contm determinado arquivo . . . . . . . . . . 256 20.2.11 Modos ecazes de compilao do cdigo fonte para a Debian . . . . . . . 257 20.2.12 Vericando pacotes corrompidos . . . . . . . . . . . . . . . . . . . . . . . . 257 20.2.13 Corrigindo problemas de dependncias e outros erros . . . . . . . . . . . 257

SUMRIO

xiv

21 Personalizao do Sistema

259

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

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

23.1 Acentuao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 23.1.1 Acentuao em modo Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 23.1.2 Acentuao em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . 275 23.2 Nmero de Cores do ambiente grco . . . . . . . . . . . . . . . . . . . . . . . . . 275 23.2.1 Congurando o nmero de cores para quem inicia pelo prompt . . . . . . 276 23.2.2 Congurando o nmero de cores para quem inicia pelo XDM . . . . . . . 276 23.2.3 Ajustando o alinhamento da imagem no X e outras conguraes . . . . . 277

SUMRIO

xv

24 Executando tarefas diversas no Linux

279

24.1 Gravando CDs e DVDs no Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 24.1.1 Gravando CDs / DVDs de dados . . . . . . . . . . . . . . . . . . . . . . . . 279 24.1.2 Gravando um CD de audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 24.1.3 Cpia de CD para CD no mesmo gravador . . . . . . . . . . . . . . . . . . 281 24.1.4 Gravao massiva de CDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 24.1.5 Gravao de CDs diretamente atravs de arquivos mp3 ou Ogg . . . . . . 282 24.1.6 Backup de dados para 1 ou mais CDs . . . . . . . . . . . . . . . . . . . . . 282 24.1.7 Aplicaes grcas para gravao de CDs . . . . . . . . . . . . . . . . . . . 282 24.1.8 Criar a capa de frente e verso do CD/DVD . . . . . . . . . . . . . . . . . . 282 24.2 Executando vdeos DIVX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 24.3 Assistindo DVDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 24.4 Convertendo msicas no formato wav para mp3 . . . . . . . . . . . . . . . . . . . 283 24.5 Convertendo msicas do formato mp3 para cdr . . . . . . . . . . . . . . . . . . . 283 25 Compilao 285

25.1 O que compilao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 25.2 Compilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 26 Manuteno do Sistema 287

26.1 Checagem dos sistemas de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . 287 26.1.1 fsck.ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 26.2 reiserfsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 26.3 fsck.minix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 26.4 badblocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 26.5 defrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 26.6 Vericando e marcando setores danicados em um HD . . . . . . . . . . . . . . . 291 26.7 Limpando arquivos de LOGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 26.8 Recuperando parties apagadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.9 Recuperando a senha de root perdida . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.10Tarefas automticas de manuteno do sistema . . . . . . . . . . . . . . . . . . . . 294 26.11cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 26.11.1 O formato de um arquivo crontab . . . . . . . . . . . . . . . . . . . . . . . 295 26.12at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

SUMRIO

xvi

27 Principais arquivos de congurao do diretrio /etc

299

27.1 Diretrio /etc/alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 27.2 Arquivo /etc/default/devpts . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 27.3 Arquivo /etc/default/rcS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 27.4 Arquivo /etc/console-tools/config . . . . . . . . . . . . . . . . . . . . . . 300 27.5 Diretrio /etc/menu-methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 27.6 Arquivo /etc/menu-methods/translate_menus . . . . . . . . . . . . . . . . 300 27.7 Diretrio /etc/network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 27.8 Arquivo /etc/network/interfaces . . . . . . . . . . . . . . . . . . . . . . . . 300 27.9 Arquivo /etc/networks/options . . . . . . . . . . . . . . . . . . . . . . . . . 302 27.10Diretrio /etc/pam.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 27.11Diretrio /etc/ppp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 27.12Diretrio /etc/security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 27.13Arquivo /etc/security/access.conf . . . . . . . . . . . . . . . . . . . . . . 303 27.14Arquivo /etc/security/limits.conf . . . . . . . . . . . . . . . . . . . . . . 303 27.15Arquivo /etc/crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 27.16Arquivo /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 27.17Arquivo /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.18Arquivo /etc/gshadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.19Arquivo /etc/host.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.20Arquivo /etc/hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.21Arquivo /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.22Arquivo /etc/hosts.allow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.23Arquivo /etc/hosts.deny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 27.24Arquivo /etc/hosts.equiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.25Arquivo /etc/inetd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.26Arquivo /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.27Arquivo /etc/inputrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.28Arquivo /etc/issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.29Arquivo /etc/issue.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 27.30Arquivo /etc/lilo.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

SUMRIO

xvii

27.31Arquivo /etc/login.defs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 27.32Arquivo /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 27.33Arquivo /etc/modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 27.34Arquivo /etc/motd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 27.35Arquivo /etc/mtab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 27.36Arquivo /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 27.37Arquivo /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.38Arquivo /etc/printcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.39Arquivo /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.40Arquivo /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.41Arquivo /etc/serial.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.42Arquivo /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.43Arquivo /etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 27.44Arquivo /etc/shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 27.45Arquivo /etc/syslog.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 27.46Arquivo /etc/timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 28 Conectando seu computador a Internet 311

28.1 Conectando-se a Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 28.1.1 Conectando atravs de ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . 311 28.1.2 Conectando atravs de Internet Discada . . . . . . . . . . . . . . . . . . . . 311 28.2 Navegando na Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 28.3 Recebimento de E-Mails atravs do fetchmail . . . . . . . . . . . . . . . . . . . 313 28.3.1 Processamento de mensagens atravs do procmail . . . . . . . . . . . . . . 315 29 X Window (ambiente grco) 317

29.1 O que X Window? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 29.2 A organizao do ambiente grco X Window . . . . . . . . . . . . . . . . . . . . 317 29.3 Iniciando o X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 29.4 Servidor X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

SUMRIO

xviii

30 Aplicativos para Linux

319

30.1 Aplicativos Bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 30.1.1 Editores de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 30.1.2 Aplicativos para Escritrio . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 30.1.3 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 30.1.4 Emuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 30.1.5 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 30.1.6 Administrao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 30.2 Listagem de Aplicativos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 324 30.2.1 Perifricos / Gerenciamento de Hardware . . . . . . . . . . . . . . . . . . 324 30.2.2 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 30.2.3 Conferncia de audio/vdeo via Internet/Intranet . . . . . . . . . . . . . . 326 30.2.4 Gerenciamento de WebSites / Linguagem HTML . . . . . . . . . . . . . . 326 30.2.5 Multimdia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 30.2.6 Som . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 30.2.7 Comunicao/Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 30.2.8 X Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 30.2.9 Editorao Grca/Visualizadores . . . . . . . . . . . . . . . . . . . . . . . 332 30.2.10 Emuladores/Ferramentas p/ Interao com outros SO . . . . . . . . . . . 333 30.2.11 Programao / Bancos de Dados / Acesso a Dados . . . . . . . . . . . . . 333 30.2.12 Impresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 30.2.13 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 30.2.14 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 30.2.15 Notebooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 30.2.16 Gravao de CD/DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 30.2.17 Computao Paralela/Clusters . . . . . . . . . . . . . . . . . . . . . . . . . 337 30.2.18 PalmTop / Palm Pilot / Computadores de Mo . . . . . . . . . . . . . . . 337 30.2.19 Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 30.2.20 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 30.2.21 Compactadores/Descompactadores/Arquivadores . . . . . . . . . . . . . 340 30.2.22 Dispositivos X-10 (Controle de eletrodomsticos e aparelhos via PC) . . . 340 30.2.23 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

SUMRIO

xix

31 Como obter ajuda no sistema

343

31.1 Pginas de Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 31.2 Info Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 31.3 Help on line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 31.4 help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 31.5 apropos/whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 31.6 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 31.7 which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 31.8 Documentos HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 31.8.1 Listagem de HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 31.8.2 Listagem de Mini-HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . 364 31.9 Documentao de Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 31.10FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 31.11RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 31.12Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 31.12.1 Pginas Internet de Referncia . . . . . . . . . . . . . . . . . . . . . . . . . 378 31.12.2 Listas de discusso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 31.13Netiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 31.13.1 Recomendaes Gerais sobre a Comunicao Eletrnica . . . . . . . . . . 382 31.13.2 Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 31.13.3 ICQ/MSN/Gtalk/Skype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 31.13.4 Talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 31.13.5 Listas de Discusso via Email . . . . . . . . . . . . . . . . . . . . . . . . . . 384 32 Apndice 387

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

SUMRIO

xx

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: Iniciante Intermedirio Entre o contedo do guia, voc encontrar: Textos explicativos falando sobre o sistema Linux, seus comandos, como manusear 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 Linux. A linguagem usada simples com o objetivo de explicar claramente o funcionamento de cada comando e evitando, sempre que possvel, termos tcnicos Explicaes necessrias para conhecer, operar, congurar, desenvolver, personalizar seu sistema Linux. 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. Particionamento de disco Criao de parties e arquivos contendo o sistema de arquivos ext2, ext3, reiserfs ou xfs (para gravao de arquivos e diretrios) e swap (memria virtual) e as vantagens/desvantagens de se utilizar um arquivo ou partio para armazenamento de dados.

Captulo 1. Introduo

Compilao de programas/kernel, com explicaes sobre cada uma das opes ajudando-o a decidir sobre a incluso ou no. 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 alguns dispositivos de boa qualidade, como placas de rede, custam at 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 arquivos Mais opes para os comandos existentes na verso Iniciante do guia e novos comandos. Conhecer os arquivos de congurao e arquivos bsicos de segurana, entendendo 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 (boot), 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. 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 modicalos 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

Captulo 1. Introduo

GNU/Linux. A ltima verso deste guia pode ser encontrada em: Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org). 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. Tenho recebido 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 55. 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 estimulando e desenvolvendo sua interpretao, e entender melhor o assunto (talvez at me de uma fora para melhorar o guia ;-)

Captulo 1. Introduo

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. 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 343), ou nas listas de discusso (veja Listas de discusso on page 380) 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.2.30, 2.4.8, 2.6.28, etc. Estes documentos so teis para pessoas que por algum motivo necessitam operar com 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 380). 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), sob licena GPL, 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. O requisito mnimo para rodar o Linux depende do kernel que ser usado: 2.2.x - Computador 386 SX com 2 MB de memria 2.4.x - Computador 386 SX com 4MB de memria 2.6.x - Computador 486 DX com no mnimo 8MB Para espao em disco requerido 500MB para uma instalao bsica usando modo texto com suporte a rede. Claro que no considerada a execuo de ambiente grco ou servios de

Captulo 1. Introduo

rede em produo, que neste caso exigido mais memria RAM e espao em disco para armazenamento de dados de programas e usurios. 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. O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrigir algum problema ou fazer 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/DVD-RWs, BluRay 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. 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 na coordenao dos grupos de trabalho do kernel. O suporte ao sistema tambm se destaca como sendo o mais eciente e rpido do que qualquer programa comercial disponvel no mercado. Existem milhares de consultores e empresas especializadas no suporte e treinamento espalhados ao redor do mundo. Outra opo de suporte atravs da comunidade Linux; 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 380.

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 Tambm recebe apoio de grandes empresas como IBM, Sun, HP, etc. para seu desenvolvimento 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. Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM.

Captulo 1. Introduo

Proteo entre processos executados na memria RAM Suporte a mais de 63 terminais virtuais (consoles) Modularizao - O 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) Suporte nativo a rede e tecnologias avanadas como: balanceamento de carga, ips alias, failover, vlans, bridge, trunking, OSPF, BGP. 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 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 32MB de RAM). J pensou no seu desempenho em um Pentium, Xeon, ou Athlon? ;-) Suporte nativo a mltiplas CPUs, assim processadores como Dual Core, Core Duo, Athlon Duo, Quad Core tem seu poder de processamento integralmente aproveitado, tanto em 32 ou 64 bits. Suporte nativo a dispositivos SATA, PATA, Fiber Channel Suporte nativo a virtualizao, onde o Linux se destaca como plataforma preferida para execuo de mltiplos sistemas operacionais com performance e segurana. 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, da 2.2.x para a 2.4.x e da 2.4.x para a 2.6.x). O GNU/Linux distribuido livremente e licenciado de acordo com os termos da GPL. Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc. 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. 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). Frequentemente so criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para causar danos. 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 eciente sistema de atualizao e bem congurado, voc ter 99.9% de sua tranquilidade. 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 transmis-

Captulo 1. Introduo

so 10% maior. Executa outros sistemas operacionais como Windows, MacOS, DOS ou outro sistema Linux atravs de consagrados sistemas de virtualizao como Xen, vmware, ou emulao como o DOSEMU, QEMU, WINE. Suporte completo e nativo a diversos dispositivos de comunicao via infravermelho, Bluetooth, Firewire, USB. Basta conectar e o seu dispositivo automaticamente reconhecido. Raramente so necessrios drivers externos, exceto no caso de dispositivos muito novos que no tenham o suporte ainda adicionado no sistema. Suporte a rede via rdio amador. Suporte a dispositivos Plug-and-Play. Suporte nativo a pen drivers, dispositivos de armazenamento e cartes de memria. Suporte nativo a dispositivos I2C Integrao com gerenciamento de energia ACPI e APM Dispositivos de rede Wireless. Tanto com criptograa WEB e WPA PSK Vrios tipos de rewalls avanados de alta qualidade na deteco de trfego indesejvel, dando ao administrador uma excelente ferramenta de proteo e controle de sua rede. Roteamento esttico e dinmico de pacotes. Ponte entre Redes, proxy arp 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 mltiplos computadores. 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. Os sistemas de arquivos usados pelo GNU/Linux (Ext2, Ext3, reiserfs, xfs, jfs) 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 de publicao 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 16 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.) e diversas outras sub-arquiteturas. Empresas especializadas e consultores especializados no suporte ao sistema espalhados por todo o mundo. Entre muitas outras caractersticas que voc descobrir durante o uso do sistema (alm de poder criar outras, caso seja um administrador avanado ou desenvolvedor). TODOS OS TENS DESCRITOS ACIMA SO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.

Captulo 1. Introduo

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 aplicativos (como por exemplo editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, firewalls, etc). Este o signicado essencial 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: Ubuntu, Debian, Slackware, Red Hat, Gentoo, Suse 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 ou o kernel BSD). 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 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 para download: 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 14 arquiteturas diferentes (i386, IA64, AMD64, 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 25000 programas distribudos em forma de pacotes cada um destes programas so mantidos e testados pela pessoa ou grupo 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 apt e 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 usando seu

Captulo 1. Introduo

10

conhecimento para o 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 25000 pacotes) que possam comprometer 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 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 para download. Ubuntu http://www.ubuntu.com/ - Variante da distribuio Debian voltada a interao mais amigvel com o usurio nal e facilidade de instalao. Atualmente a melhor para usurios que tem o primeiro contato com o Linux. Conta tanto com a instalao do sistema em HD e execuo atravs de Live CD. http://www.ubuntu.com/getubuntu/download/ - Endereo para download do Ubuntu. 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.

Captulo 1. Introduo

11

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 norteamericano. O foco da Suse o usurio com conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux. Preferencialmente a administrao deve ser feita usando o Yast, mas tambm pode ser feita manualmente atravs de alterao dos arquivos de congurao. 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 2000 programas acompanham a verso 10 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. 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.

Captulo 1. Introduo

12

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. http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/ iso/ - Download da distribuio Fedora. Mandriva http://www.mandriva.com/ - Fuso da distribuio francesa Mandrake com a distribuio brasileira Conectiva contendo as caractersticas de instalao semiautomtica atravs de DVD. Boa auto-deteco de perifricos, inclusive web-cams. http://www.mandriva.com/ - Download da distribuio. Para contato com os grupos de usurios que utilizam estas distribuies, veja Listas de discusso on page 380.

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

Captulo 1. Introduo

13

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

Captulo 1. Introduo

14

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

Captulo 1. Introduo

15

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.

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 Quanto ao padro do monitor, existem diversos:

Captulo 1. Introduo

16

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. SVGA - Super Video Graphics Array Atual padro de mercado, capaz de mostrar at 16 milhes de cores simultneas. Excelente qualidade grca, tambm capaz de operar corretamente em modo texto.

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, Megabytes ou Gigabytes. 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 8 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. Em processadores Pentium e superiores, o co-processador sempre embutido no processador. 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. As memrias EDO, DIMM, DDR, DDR2, DDR3 so exemplos de memria RAM. 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. Existem tambm modelos chamados disco de estado slido (SSD), os dados so armazenados em chips eletrnicos ao invs de mecanismos mecnicos. Um exemplo de dispositivos de armazenamento auxiliar so os pen drives, disquetes, cartes SD, discos rgidos, unidades de ta, Zip Drives, DVD/CD/BluRay, 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, Pen-drives, SSD e CDs. Veja as explicaes sobre cada um deles abaixo.

Captulo 1. Introduo

19

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 (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. Existe tambm um tipo de disco rgido chamado SSD (disco de estado slido). A diferena deste disco para o disco rgido comum, que no SSD os dados so armazenados em chips ao invs de disco magntico. A caracterstica deste tipo de disco a alta capacidade de armazenamento de dados e alta velocidade no acesso aos dados.

1.12.3

CD/DVD/BluRay

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 - Alta capacidade de armazenamento. Pode armazenar at 8GB de arquivos ou programas quando usado em dual layer. BluRay - Alta capacidade de armazenamento. Pode armazenar mais de 50GB de arquivos ou programas quando usado em dual layer.

Captulo 1. Introduo

20

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

Abaixo uma lista de cuidados bsicos para garantir uma melhor conservao e funcionamento de seu computador. No deixe seu computador em locais expostos a umidade ou sol. O mesmo se aplica a mdias como pen-drives, gavetas de HD, cartes de memria etc. 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 de conana. No instale seu computador muito prximo 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 use a bandeja da unidade de CD/DVD como porta copos! No coloque objetos dentro da unidade de disquetes. Antes de desligar seu computador, utilize o comando shutdown -h now (ou seus sinonimos, como halt, poweroff) para desligar corretamente o computador. Este comando naliza adequadamente os programas, salva os dados, desmontar os sistemas de arquivos 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, touch screen, caneta tica, scanner.

Captulo 1. Introduo

21

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, som. O dispositivo de sada padro (stdout) em sistemas GNU/Linux o Monitor.

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). Os gerenciadores de inicializao mais usados em sistemas GNU/Linux na plataforma Intel X86 so o GRUB e 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.

Captulo 1. Introduo

22

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

2.1

Hardware e Software

Hardware - Signica parte fsica do computador (disquete, pen-drive, 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 127, j o arquivo index.html contm uma pgina de Internet e precisaremos de um navegador para poder visualiza-lo (como o lynx, Firefox ou o Konqueror). 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 (digitado pela pessoa que o criou, o programador) 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 125).

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 125) 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 /etc/hosts voc tem duas opes: 1 Mudar o diretrio padro para /etc com o comando cd /etc e usar o comando cat hosts 2 Usar o comando cat especicando o caminho completo na estrutura de diretrios e o nome de arquivo: cat /etc/hosts. 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-1999 - diretrio contendo vendas do ms 01/1999 /pub/vendas/mes02-2009 - diretrio contendo vendas do ms 02/2009 /pub/vendas/mes01-2010 - diretrio contendo vendas do ms 03/2010

Captulo 2. Explicaes Bsicas

28

mes01-99,mes02-2009,mes01-2010 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 do ms 01/2009. Voc deve ter reparado que usei a palavra sub-diretrio para mes01-1999, mes02-2009 e mes012010, 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. /media Ponto de montagem de dispositivos diversos do sistema (rede, pen-drives, CD-ROM em distribuies mais novas). /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. /sys 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.

Captulo 2. Explicaes Bsicas

29

/sbin Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema. /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 :

Captulo 2. Explicaes Bsicas

30

- 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. Tambm chamado de opo extensa. O comando ls --all equivalente a ls -a. 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/share/doc/copyright, /usr/share/doc/copyright ser o parmetro passado ao comando ls, neste caso queremos que ele liste os arquivos do diretrio /usr/share/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/share/doc, ls o comando, -la a opo passada ao comando, e /usr/share/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 ordem do PATH e executados assim que encontrados. Para detalhes veja path on page 109.

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.

Captulo 2. Explicaes Bsicas

31

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

Captulo 2. Explicaes Bsicas

32

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 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>. Para voltar ao modo grco, pressione CTRL+ALT+ <F7>. 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>.

Captulo 2. Explicaes Bsicas

33

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.

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:

Captulo 2. Explicaes Bsicas

34

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/*. 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. Placa de vdeo 3D - Para obter imagens mais rpidas para jogos e ambientes de desktop 3 dimenses Placa de captura - Para assistir televiso/rdio e gravar a programao de TV em seu micro. fax-modem - para enviar/receber fax, conectar-se a internet, 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.

Captulo 3. Hardware

36

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. 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 segue o padro do 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 bem como a congurao do software correspondente para fazer acesso ao hardware. 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.

Captulo 3. Hardware

37

Dispositivos PCI, PCI Express, AMR, CNR possuem congurao automtica de recursos de hardware, podendo apenas ser ligados na mquina para serem reconhecidos pela placa me. Aps isso dever ser feita a congurao do mdulo do kernel para que o hardware funcione corretamente. Os parmetros dos mdulos do kernel usados para congurar dispositivos de hardware so a IRQ, DMA e I/O. Para dispositivos plug and play, como hardwares PCI, basta carregar o mdulo para ter o hardware funcionando.

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. No kernel 2.4 e superiores do Linux, a funo APIC (Advanced Programmable Interruption Controller) permite gerenciar de forma avanada mais de 15 interrupes no sistema operacional. 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. - Fixa

03

04

Captulo 3. Hardware

38

05

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

06

07

08

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 ocorriam nesse tipo de hardware acima ocasionando 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, PCI Express so projetados para permitir o compartilhamento de inter-

Captulo 3. Hardware

39

rupes. 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) ou usando APIC (se estiver congurado). 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 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 para faz-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.

Captulo 3. Hardware

40

DMA 0 1

Barram. 8/16 bits

2 3

8/16 bits 8/6 bits

4 5

16 bits

6 7

16 bits 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 controladora de scanner antiga. Usada como ponte para a outra controladora de DMA (0-3) Normalmente usada pela placa de som (canal 16 bits), placas controladoras SCSI, placas de rede ou controladora de scanner. Placa de som (canal 16 bits), controladora de scanner ou placa de rede. Placa de som (canal 16 bits), controladora de scanner ou placa de rede.

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

Captulo 3. Hardware

41

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

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 fsica do pino. Este tipo de hardware, antigamente presente em placas ISA e VESA, no mais usado atualmente devido a congurao Plug and Play de dispositivos PCI, PCI express, etc. 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 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,

Captulo 3. Hardware

42

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.

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. Hardwares PCI possuem congurao Plug-and-Play nativa, registrando suas interrupes, portas e dma na tabela de hardwares PCI do sistema. A diferena em relao ao modo jumperless que toda a congurao do hardware (IRQ, DMA e I/O) feita pelo kernel do Linux, onde ele passa a congurao detectada durante a inicializao do sistema para os mdulos carregados, garantindo o perfeito funcionamento do dispositivos e evitando conitos. Na poca de hardwares ISA e VESA, o programa isapnp era a preferencia para a congurao de placas ISA Plug and Play. Veja a prxima seo para entender como funciona o arquivo de congurao isapnp.conf e assim poder ativar seu dispositivo Plug-and-Play.

Captulo 3. Hardware

43

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. Conitos geralmente ocorriam em placas ISA, VESA onde era necessrio conhecer e usar uma tabela de valores padres para a congurao de perifricos (como a mostrada no inicio desse captulo). Para resolver conitos de hardware 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.

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

Captulo 3. Hardware

44

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. PCI Express Peripheral Component Interconnect Express - Identico ao barramento PCI, funcionando nativamente no clock de 64 bits. 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 next page e Hardwares especcos ou For Windows on page 46. 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 detalhes em Placas on-board / off-board on the next page e Hardwares especcos ou For Windows on page 46.

Captulo 3. Hardware

45

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. 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 128 mais cara que uma de modelo genrico. . . Geralmente dispositivos on-board trazem problemas caso tal dispositivo queime e geralmente colocado um hardware de baixa qualidade para baratear o custo de placas me, que na maioria das vezes tambm oferece grande diculdade para ser congurada no Linux. Outro perifrico que traz problemas e carga para o processador o fax-modem for Windows, HSP, AMR, micromodem, etc. utilizando o processador do sistema para realizar seu trabalho e algumas vezes no trazem nem mesmo o chip UART. Isso resulta em perda de qualidade na conexo e maior consumo telefnico. 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) no tero o desempenho comprometido. 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

Captulo 3. Hardware

46

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 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. 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 9X, XP e Vista, 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.

Captulo 3. Hardware

47

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

Captulo 3. Hardware

48

kernel, neste caso, voc poder pular este passo. Para carregar um mdulo, digite o comando modprobe modulo (Veja modprobe on page 210) . 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: 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 189.

3.11.2

Congurando uma placa de SOM no Linux

A congurao de dispositivos de audio no Linux simples, bastando carregar o mdulo da placa 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 foi o primeiro padro adotado em sistemas Linux, que tinha como grande limitao a diculdade em usar diversas placas e a impossibilidade dos programas utilizaram ao mesmo tempo a placa de som. 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.

Congurando uma placa de som usando o padro OSS 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. 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:

Captulo 3. Hardware

49

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 43). 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 43) para detalhes. 2 Carregue o mdulo da placa de som com o comando modprobe mdulo (veja modprobe on page 210). 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/DVD no 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 following page.

Congurando o suporte a um gravador IDE Caso tenha um gravador IDE e use um kernel 2.6 ou superior, no necessrio fazer qualquer congurao, pois seu gravador j est pronto para ser usado, sendo acessado atravs de seu dispositivo tradicional (/dev/hdc, /dev/hdd, etc). De qualquer forma, voc poder

Captulo 3. Hardware

50

realizar a congurao da unidade IDE com emulao SCSI, assim como utilizava no kernel 2.4 e inferiores seguindo as instrues abaixo. Para congurar seu gravador de CD/DVD IDE para ser usado no Linux usando o mtodo para o kernel 2.4 e inferiores, 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/DVD. 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. 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 the facing 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:

Captulo 3. Hardware

51

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 wodim e execute o comando: wodim -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 e DVDs no Linux on page 279 para aprender como gravar CDs no Linux. Note que gravadores IDE nativos, no so listados com esse comando.

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

Captulo 3. Hardware

52

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). Quanto mais nova a verso do kernel, maiores as chances do seu hardware ser suportado plenamente pelo ACPI, principalmente no caso de notebooks. 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. 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.

Captulo 3. Hardware

53

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

54

55

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 Windows, DOS e uma lista de equivalncia entre comandos e programas executados no CMD do Windows/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

Captulo 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 56 das mensagens aparece uma mensagem 1 failure since last login, o que quer dizer 1 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 174. 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 109. 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 ou /dev/sda1 /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 22 para detalhes .

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

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.

4.2

Comandos equivalentes entre DOS/CMD do Windows e o 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.

dir/s dir/od cd

del

md

copy

echo

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

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 do comando "echo $PATH". ren 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. type cat Sem diferenas. ver uname -a Poucas diferenas (o uname tem algumas opes a mais). date date No Linux mostra/modifica a Data e Hora do sistema. time date No Linux mostra/modifica a Data e Hora do sistema. attrib chmod O chmod possui mais opes por tratar as permisses de acesso de leitura, gravao e execuo para donos, grupos e outros usurios. chkdsk fsck O fack mais rpido e a checagem mais abrangente. scandisk fsck O fsck mais rpido e a checagem mais abrangente. doskey ----A memorizao de comandos feita automaticamente pelo bash. edit vi, ae, O edit mais fcil de usar, mas usurio emacs, mcedit experientes apreciaro os recursos do vi ou o emacs (programado em lisp). fdisk fdisk, cfdisk Os particionadores do Linux trabalham com praticamente todos os tipos de parties de diversos sistemas de arquivos diferentes. format mkfs.ext3 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:". help man, info Sem diferenas. interlnk 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. intersvr plip Mesmo que o acima. keyb loadkeys Sem diferenas (somente que a posio das teclas do teclado pode ser editada. Desnecessrio para a maioria dos usurios). label e2label necessrio especificar a partio que ter

path

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

mem more

move

scan

backup

print

vol xcopy

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 texto muito mais agradvel. mv 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". clamav Os principais fabricantes disponibilizam anti-virus para Linux, na maioria das vezes para integrar a servidores de arquivos, e-mails, protegendo estaes Windows. Infeces por vrus so raras no Linux devido as restries do usurio durante execuo de programas (quando corretamente utilizadas). tar 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. lpr 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. e2label Sem diferenas. cp -R 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

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

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 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 ---------Open Office, Diferenas ------------------------------O Open Office possui todos os recursos do Word alm de ter a interface grfica igual, menus e teclas de atalho idnticas ao Word, o que facilita a migrao.

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

MS Excel MS PowerPoint MS Access

MS Outlook

MS Internet Explorer

ICQ

MSN Photo Shop

Corel Photo Paint Corel Draw Autocad Visio

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 abre arquivos Excel97/2000. Open Office Mesmos pontos do acima. MySQL, PostgreSQL Existem diversas ferramentas de Oracle conceito para bancos de dados corporativos no Linux. Todos produtos compatveis com outras plataformas. Pine, evolution Centenas de programas de E-Mail mutt, sylpheed, tanto em modo texto como em icedove modo grfico. Instale, avalie e escolha. Firefox, Opera, Os trs primeiros para modo Mozilla, lynx. grfico e o lynx opera em modo texto. LICQ, PIDGIM, SIM 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. AMSN, PIDGIM Permite conversar diretamente com usurios do Microsoft MSN. The Gimp 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. GIMP Corel Photo-Paint para Inkscape, Sodipodi Programas equivalentes Qcad Programa com funes genricas dia Possui funcionalidades identicas

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

winamp

xmms

media player

mplayer,playmidi xwave,

Agente de Sistema

cron

Mixer Bate-Papo

aumix, cam talk, ytalk

MIRC Bitchx, xchat IIS, Pers. Web Server Apache

Exchange, NT Mail

Postfix, Sendmail Exim, Qmail

e timo conjunto de cones 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. Pouca diferena. O cron da mais liberdade na programao de tarefas a serem executadas pelo Linux. Sem diferenas. 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. Clientes IRC para Linux O apache o servidor WEB mais usado no mundo (algo em torno de 75% das empresas), muito rpido e flexvel de se configurar. 72% da base de servidores de 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, ip masquerade, nat, diald, exim,

A migrao de um servidor proxy para Linux requer o uso de vrios programas separados para 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

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

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 Mozilla Sem comentrios... todas so e muitas outras ferramentas para a gerao ferramentas para de grandes Web Sites. O wdm, gerao de contedo por exemplo, usado na gerao WEB (como zope, do site da distribuio Debian php3, php4, wdm, (http://www.debian.org) em 30 htdig) idiomas diferentes. MS Winsock 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. AVG, Viruscan, Clamavis, AVG Os maiores fabricantes de anti-virus norton, F-PROT, CPAV. F-Prot, ViruScan disponibilizam verses para Linux, com o objetivo principal de remoo de vrus em servidores de E-mail ou servidores de arquivos, com o objetivo de no contaminar os vulnerveis sistemas Windows, servindo como uma efetiva barreira de defesa na rede.

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

65

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 9X/XP/Vista/Seven no GNU/Linux. Tambm ser ensinado como formatar uma partio ou arquivo em formato EXT2, EXT3, reiserfs, xfs e usar 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. As parties nos permitem 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 ou at mesmo por diferentes arquiteturas (32 e 64 bits). Para gravar os dados, o disco rgido deve ser primeiro particionado (usando o cfdisk, parted, diskdruid, fdisk), escolher o tipo da partio (Linux Native, Linux Swap, etc) e depois aquela partio deve ser formatada com o mkfs.ext3 (veja Partio EXT3 (Linux Native) on page 70). Aps criada e formatada, a partio ser automaticamente identicada como um dispositivo no diretrio /dev (veja Identicao de discos e parties em sistemas Linux on page 85) . e dever ser montada (Montando (acessando) uma partio de disco on page 86) 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 89. 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.

Captulo 5. Discos e Parties

66

Lembre-se: 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, tanto ext2, ext3, ext4, reiserfs, xfs, etc. 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 75. 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 soluo usar o parted (e gparted sua verso grca), que trabalha com FAT16, FAT32, NTFS. Esta tcnica tambm chamada de Reparticionamento no destrutivo (e o outro obviamente Reparticionamento destrutivo). Para sistemas que foram formatados em Windows XP e superiores, possvel que o parted no consiga redimensionar o sistema, neste caso voc pode reparticionar usando ferramentas como o ntfsresize ou Partition Magic (para Windows). 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, parted ou Disk Druid).

5.2

Sistema de Arquivos

criado durante a formatao da partio de disco (quando se usa o comando mkfs.ext3). Aps a formatao toda a estrutura para leitura/gravao/permisses 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). Voc dever usar preferencialmente o ext3 para a instalao de seu sistema operacional. 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 e suporte a arquivos de at 16Gb. 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, evi-

Captulo 5. Discos e Parties

67

tando 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 70. Reiserfs - Possui os mesmos recursos do ext3, mas seu design bastante diferente. Bastante recomendavel para sistemas que possuem muitos arquivos pequenos (servidor web, etc). Possui o tempo de recuperao em caso de queda de energia menor que o ext3. Para detalhes veja Sistema de arquivos reiserfs on page 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 75. proc - Sistema de arquivos do kernel (veja O sistema de arquivos /proc on page 78). FAT12 - Usado em disquetes no DOS. No possui suporte a permisses, journaling. FAT16 - Usado no DOS e oferece suporte at discos de 2GB. No possui suporte a permisses e journaling. FAT32 - Tambm usado no DOS e oferece suporte a discos de at 2 Terabytes. No possui suporte a permisses e journaling. NTFS - Formato nativo de discos de sistemas operacionais Windows XP e superiores. Possui suporte a permisses de acesso e compactao nativa.

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 the next 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 following page. Logo que foi inventado, o GNU/Linux utilizava o sistema de arquivos Minix (e consequentemente 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). O padro mais usado nos dias de hoje o EXT3 devido ao Journaling (ser abordado no prximo captulo). Entre as vantagens do EXT2 para armazenamento de arquivos esto: o mais rpido devido ao no uso de journaling (principalmente para Netbooks e dispositivos ash), 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.

Captulo 5. Discos e Parties

68

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/sda? Onde a ? em sda? signica o nmero da partio que ser formatada. A identicao da partio mostrada durante o particionamento do disco, anote se for o caso. sda normalmente o primeiro disco rgido SATA, sdb o segundo disco rgido SATA. Discos IDE normalmente so identicados por hda?, hdb?, etc. Para detalhes sobre a identicao de discos, veja Identicao de discos e parties em sistemas Linux on page 85. Algumas opes so teis ao mkfs.ext2: -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/sda? ext2 Para mais detalhes veja Montando (acessando) uma partio de disco on page 86. Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/sda, /dev/sdb, 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 10Gb, 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:

Captulo 5. Discos e Parties

69

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. 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 132. 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 alteraes no 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.

Captulo 5. Discos e Parties

70

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 e reiserfs (veja Partio EXT3 (Linux Native) on this 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 o padro atual e tem como seu maior benefcio o suporte a journaling e armazenamento eciente de arquivos com at 16Gb de tamanho. 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. Mas pode trazer impactos na performance no caso de dispositivos de memria ash e quando utiliza arquivos para armazenar o sistema de arquivos. A estrutura da partio ext3 semelhante a ext2, o journaling feito em um arquivo chamado .journal que ca oculto pelo cdigo ext3 na raiz da 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 68). 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/sda1: mkfs.ext3 /dev/sda1 ou mkfs.ext2 -j /dev/sda1

Captulo 5. Discos e Parties

71

Basta agora montar a partio com o comando mount /dev/sda1 /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 86. ). 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 68, apenas utilize a opo -j ou -J [tamanho_em_mb] (como explicado em Criando um sistema de arquivos EXT3 em uma partio on the facing 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 the next 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/sda2 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/sda2 e remonta-la (mount /dev/sda2) 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.

Captulo 5. Discos e Parties

72

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

5.5.5

Nomeando uma partio de disco ext2/ext3

O comando e2label usado para esta funo. e2label [dispositivo] [nome] Onde: 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 facing page). Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 Foca Linux

5.5.6

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 287). 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/3/4 Exemplo: cd /tmp;mklost+found;ls -a

5.5.7

dumpe2fs

Mostra detalhes sobre uma partio Linux.

Captulo 5. Discos e Parties

73

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

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

Sistema de arquivos reiserfs

Este um sistema de arquivos alternativo ao ext2/3/4 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 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.

Captulo 5. Discos e Parties

74

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/sda? Onde a ? em sda? 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. sda o primeiro disco rgido SATA, sdb o segundo disco rgido SATA. Discos IDE so identicados por hda?, hdb?, etc. Para detalhes sobre a identicao de discos, veja Identicao de discos e parties em sistemas Linux on page 85. 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 Kb. 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/sda? reiserfs Para mais detalhes veja Montando (acessando) uma partio de disco on page 86. Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/sda, /dev/sdb, etc. usando a opo -f EVITE FAZER ISSO! Como no estar criando uma partio, o disco estar preparado para uso 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

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

Captulo 5. Discos e Parties

75

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 132. 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.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 following 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 partio swap otimizada para permitir alta velocidade para mover dados da memria RAM para ela e vice versa. 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 current page).

Captulo 5. Discos e Parties

76

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/sda? Novamente veja Identicao de discos e parties em sistemas Linux on page 85 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/sda para listar as parties no primeiro disco rgido e assim vericar qual dispositivo corresponde a partio Swap. A opo -c tambm pode ser usada com o mkswap para checar se existem agrupamentos danicados na partio. A opo -v1 permite a criao da swap usando mais de 128Mb (esta opo a padro). Com a partio Swap formatada, use o comando: swapon /dev/sda? para ativar a partio Swap (lembre-se de substituir ? pelo nmero de sua partio Swap). Observaes: Verses antigas do kernel do GNU/Linux 2.0.xx e anteriores somente suportavam parties Swap de at 128MB. Nos novos kernels foi introduzida uma nova verso da swap. Para converter a swap antiga para uma nova verso reformate-a usando mkswap -v1 /dev/sda? (onde /dev/sda? especica sua partio swap, obtida com o fdisk -l /dev/sda). 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/sda?.

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=64000 para criar um arquivo chamado troca vazio de 64Mb 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.

Captulo 5. Discos e Parties

77

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

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 512Mb) 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 preceding page. possvel criar um arquivo de troca em outros tipos de parties como FAT16, FAT32, NTFS, 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 pessoas que gostam de entender como as coisas funcionam (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.

Captulo 5. Discos e Parties

78

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

Captulo 5. Discos e Parties

79

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

Captulo 5. Discos e Parties

80

| +--[ 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: 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

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

Captulo 5. Discos e Parties

81

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 lvm2 e uma imagem de kernel 2.4 ou 2.6 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/sda1 ou pvcreate /dev/sda Em caso de dvida sobre qual a partio LVM, digite: fdisk -l /dev/sda (supondo que /dev/sda o disco rgido que est congurando o LVM). 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 :-) 6 Crie o grupo de volume na partio vgcreate lvmdisk /dev/sda1 /dev/sdb7. Note que parties de discos diferentes podem fazer parte de um mesmo grupo de volume (VG) do LVM. Caso use o devfs ou em algumas verses do udev, 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/sda7. 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 ou 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

Captulo 5. Discos e Parties

82

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. Em kernels da serie 2.6.17 e superiores, a alterao pode ser feita on-line (devido ao patch ext2online incorporado ao kernel). 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 primeiramente o sistema de arquivos reduzido primeiro e depois o LV (pois o LV que acomoda o sistema de arquivos): ext2/3/4 resize2fs /dev/lvmdisk/tmp 4G e depois lvreduce -L-1G /dev/lvmdisk/tmp Podem ser usados K, M ou G para especicar o novo tamanho. Caso esteja usando um kernel 2.6.17 ou superior, o tamanho poder ser ajustado com o sistema de arquivos on-line (sem desmontar). reiserfs resize_reiserfs -s-1G /dev/lvmdisk/tmp e depois 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/2006).

5.10

Formatando Pen-drives/Disquetes

As subsees seguintes explicaro maneiras de formatar seu pen-drive, memria ash, e outras tecnologias (incluindo disquetes) para serem usados no GNU/Linux e DOS/Windows.

Captulo 5. Discos e Parties

83

5.10.1

Formatando pen-drives para serem usados no Linux

Para formatar pen-drives para serem usados no GNU/Linux use o comando: mkfs.ext2 [-c] [/dev/sde1] 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 pen-drive. Caso deseje formatar um disquete, especique o dispositivo /dev/fd0 ao inves de /dev/sdb1. Note que o nome de dispositivo que conectado varia de acordo com o sistema e quantidade de discos rgidos que sua mquina possui portanto tenha ATENCO para no formatar o dispositivo incorreto (que pode ser justamente seu disco disco rgido principal). Para maior segurana, ao identicar o pen-drive, digite dmesg ao conectar o pen-drive para visualizar o dispositivo correto ou que atento as mensagens do console que mostrar o dispositivo que foi associado ao pen-drive. OBS: Este comando cria um sistema de arquivos ext2 no pen-drive e permite usar caractersticas como permisses de acesso e outras. Isto tambm faz com que o pen-drive NO possa ser lido pelo DOS/Windows. Para formatar um pen-drive no GNU/Linux usando o FAT16 ou FAT32 (compatvel com o DOS/Windows) veja prxima seo. Exemplo: mkfs.ext2 -c /dev/sde1

5.10.2

Formatando pen-drives compatveis com o Windows

A formatao de pen-drives para serem usados no Windows feita usando o comando mkfs.msdos que geralmente includo no pacote dosfstools. O mkfs.msdos permite tanto a criao de sistemas de arquivos FAT16 ou FAT32. mkfs.msdos [opes] [dispositivo] dispositivo Pen-drive que ser formatado. Normalmente /dev/sdb1 (dependendo do dispositivo detectado via comando dmesg). opes -F [num ] Especica o tipo de FAT que ser usado na formatao. Podem ser usados os valores 12 (para formatao usando FAT12, limitado a 12MB), 16 (para formatao usando FAT16, limitado a 2Gb) e 32 (para formatao FAT32, limitado a 128Gb). -n [nome ] Atribui o [nome] de volume ao dispositivo. -c Faz uma pesquisa por bad blocks antes da criao do sistema de arquivos no dispositivo. Os setores defeituosos encontrados sero automaticamente marcados para no serem utilizadas. -m [arquivo_mensagem ] Especica o arquivo que contm a mensagem que ser exibida ao usurio caso o disco no seja inicializvel. A mensagem no pode exceder 418 bytes. Note que no se deve montar o pen-driv / disquete para formata-lo. Segue abaixo exemplos de como formatar seu pen-drive mkfs.msdos: mkfs.msdos /dev/sdc1 - Formata o pen-drive no terceiro dispositivo SCSI Genrico, como FAT32 e usando os valores padres.

Captulo 5. Discos e Parties

84

mkfs.msdos -F 16 /dev/sdc1 - Faz a mesma coisa que o acima, mas formata o pendrive como FAT16. mkfs.msdos -n teste -F 16 /dev/sdc1 - Formata o pen-drive no terceiro dispositivo SCSI genrico, como FAT16 e cria o nome de volume teste.

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), DOS (FAT12) e permite selecionar a capacidade 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 page 86. 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 Windows): 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 outro sistema de arquivos, apagar o contedo do diretrio original e montar o disco onde foram copiados os arquivos naquele local (caso no use um sistema de LVM). Reduz riscos de corrompimento do sistema operacional. Caso isto acontea, ser necessrio apenas restaurar o backup do sistema de arquivos afetado. Tempo de boot reduzido quando um sistema de arquivos for vericado por ferramentas como o fsck. 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, pendrives, ash, disquetes tela, portas de impressora, modem, etc) so identicados por um arquivo referente a este dispositivo no diretrio /dev.

Captulo 5. Discos e Parties

85

A identicao de discos rgidos no GNU/Linux feita da seguinte forma:

/dev/sda1 | | || | | ||_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 (sd=SATA/SCSI, sd=IDE, xt=M | |_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. /dev/fd1 - Segunda unidade de disquetes. /dev/sda SCSI. Primeiro disco rgido na primeira controladora SATA ou

/dev/sda1 - Primeira partio do primeiro disco rgido SATA ou. /dev/sdb SCSI. Segundo disco rgido na primeira controladora SATA ou

/dev/sdb1 - Primeira partio do segundo disco rgido SATA ou SCSI. /dev/sr0 - Primeiro CD-ROM SATA ou SCSI. /dev/sr1 - Segundo CD-ROM SATA ou SCSI. /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/xda - Primeiro disco rgido XT. /dev/xdb - Segundo disco rgido XT. As letras de identicao de discos rgidos podem ir alm de sdb, por exemplo, caso utilize pen-drives, memria ash, as unidades sero detectadas como sdc, sdd e assim por diante. importante entender como os discos e parties so identicados no sistema, pois ser necessrio usar os parmetros corretos para monta-los.

Captulo 5. Discos e Parties

86

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: 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. ext4 - Para parties GNU/Linux usando o Extended File System verso 4, com suporte a journaling. reiserfs - Para parties reiserfs, com suporte a journaling. xfs - Para parties xfs, 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. Na maioria das vezes, caso o sistema de arquivos no seja especicado, o mount utilizar a auto-deteco e montar a partio usando o sistema de arquivos correto. 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 the current page). Exemplo de Montagem: Montar uma partio Windows (vfat) de /dev/sda1 em /mnt somente para leitura: mount /dev/sda1 /mnt -r -t vfat Montar um pen-drive detectado em /dev/sdc1 em /mnt: mount /dev/sdc1 /mnt -t vfat

Captulo 5. Discos e Parties

87

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,ro / 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: Sistema_de_arquivos /dev/sda1 /dev/sda2 /dev/sda3 /dev/hdg Ponto_de_Montagem / /boot /dos /cdrom Tipo ext3 ext3 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 ext3, reiserfs, xfs (de acordo com o tipo de partio selecionada durante a formatao), 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/4 (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, nfs, etc) para que os dados sejam gravados imediatamente na unidade (caso no seja usada, voc deve usar o comando sync on page 141 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.

Captulo 5. Discos e Parties

88

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

Utilize o comando umount para desmontar um sistema de arquivos que foi montado com o mount. Voc deve ter permisses de root para desmontar uma partio. umount [dispositivo/ponto de montagem] Voc pode tanto usar umount /dev/sda1 como umount /mnt para desmontar um sistema de arquivos /dev/sda1 montado em /mnt. Observao: O comando umount executa o sync automaticamente no momento da desmontagem, para garantir que todos os dados ainda em memria RAM sejam salvos.

89

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)

90

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 85) , 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 92. 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)

91

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 next 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 following 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)

92

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)

93

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)

94

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

95

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.

Captulo 6. Gerenciadores de Partida (boot loaders)

96

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

6.2.2

Instalando o GRUB

A instalao do GRUB ao contrrio da instalao do LILO (LILO on page 89), 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

Captulo 6. Gerenciadores de Partida (boot loaders)

97

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

Captulo 6. Gerenciadores de Partida (boot loaders)

98

# cp /usr/share/doc/grub/examples/menu.lst /floppy/grub # umount /floppy # /sbin/grub 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.

Captulo 6. Gerenciadores de Partida (boot loaders)

99

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

Captulo 6. Gerenciadores de Partida (boot loaders)

100

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

Captulo 6. Gerenciadores de Partida (boot loaders)

101

# Para boot com o GNU/Hurd title GNU/Hurd root (hd0,0) kernel /boot/gnumach.gz root=hd0s1 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)

Captulo 6. Gerenciadores de Partida (boot loaders)

102

# Muda as cores. title Mudar as cores color light-green/brown blink-red/blue

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

Captulo 6. Gerenciadores de Partida (boot loaders)

103

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 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://www.debianbrasil.org/), 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.

Captulo 6. Gerenciadores de Partida (boot loaders)

104

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

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.

Captulo 6. Gerenciadores de Partida (boot loaders)

105

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

Captulo 6. Gerenciadores de Partida (boot loaders)

106

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.

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

Captulo 6. Gerenciadores de Partida (boot loaders)

107

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

Captulo 6. Gerenciadores de Partida (boot loaders)

108

CTRL+Z

01 - azul escuro 09 02 - verde escuro 0a 03 - ciano escuro 0b 04 - verme