Você está na página 1de 389

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 Antes de comear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pr-requisitos para a utilizao deste guia . . . . . . . . . . . . . . . . . . . . . . . O Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 1.4 2 Algumas Caractersticas do Linux . . . . . . . . . . . . . . . . . . . . . . . 1 3 4 5 6 8 11

Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Explicaes Bsicas 2.1 2.2 2.3

Interpretador de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Terminal Virtual (console) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Curingas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 15

Hardware 3.1 3.2 3.3

Placa de expanso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Nomes de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Congurao de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.1 3.3.2 3.3.3 IRQ - Requisio de Interrupo . . . . . . . . . . . . . . . . . . . . . . . . 17 DMA - Acesso Direto a Memria . . . . . . . . . . . . . . . . . . . . . . . . 19 I/O - Porta de Entrada/Sada . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4

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

SUMRIO

ii

3.5 3.6 3.7 3.8 3.9

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

3.10 Dispositivos especcos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 27 3.11 Conguraes de Dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.11.1 Congurando uma placa de rede . . . . . . . . . . . . . . . . . . . . . . . . 27 3.11.2 Congurando uma placa de SOM no Linux . . . . . . . . . . . . . . . . . . 28 3.11.3 Congurando um gravador de CD/DVD no Linux . . . . . . . . . . . . . 29 3.11.4 Congurando o gerenciamento de energia usando o APM . . . . . . . . . 31 3.11.5 Congurando o gerenciamento de energia usando ACPI . . . . . . . . . . 32 3.11.6 Ativando WakeUP on Lan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4 Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 4.1 4.2 35

Quais as diferenas iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Comandos equivalentes entre DOS/CMD do Windows e o Linux . . . . . . . . . 37 4.2.1 Arquivos de congurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3 4.4 5

Usando a sintaxe de comandos DOS no Linux . . . . . . . . . . . . . . . . . . . . 39 Programas equivalentes entre Windows/DOS e o Linux . . . . . . . . . . . . . . . 40 45

Discos e Parties 5.1 5.2 5.3

Parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Sistema de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Partio EXT2 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3.1 5.3.2 Criando um sistema de arquivos EXT2 em uma partio . . . . . . . . . . 48 Criando um sistema de arquivos EXT2 em um arquivo . . . . . . . . . . . 48

5.4 5.5

Journaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Partio EXT3 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.5.1 5.5.2 5.5.3 Criando um sistema de arquivos EXT3 em uma partio . . . . . . . . . . 50 Criando um sistema de arquivos EXT3 em um arquivo . . . . . . . . . . . 51 Fazendo a converso do sistema de arquivos EXT2 para EXT3 . . . . . . . 51

SUMRIO

iii

5.5.4 5.5.5 5.5.6 5.5.7 5.5.8 5.6

Convertendo de EXT3 para EXT2 . . . . . . . . . . . . . . . . . . . . . . . . 52 Nomeando uma partio de disco ext2/ext3 . . . . . . . . . . . . . . . . . 52 Criando o diretrio especial lost+found . . . . . . . . . . . . . . . . . . 52 dumpe2fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Partio EXT2 ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Sistema de arquivos reiserfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.6.1 5.6.2 Criando um sistema de arquivos reiserfs em uma partio . . . . . . . . . 54 Criando um sistema de arquivos reiserfs em um arquivo . . . . . . . . . . 54

5.7

Partio Linux Swap (Memria Virtual) . . . . . . . . . . . . . . . . . . . . . . . . 55 5.7.1 5.7.2 5.7.3 Criando sistema de arquivos Swap em uma partio . . . . . . . . . . . . 56 Criando um sistema de arquivos Swap em um arquivo . . . . . . . . . . . 56 Partio Swap ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.8 5.9

O sistema de arquivos /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 LVM - Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5 Representao grca do LVM . . . . . . . . . . . . . . . . . . . . . . . . . 60 Performance do LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Instalando LVM em seu sistema . . . . . . . . . . . . . . . . . . . . . . . . 61 Aumentando o tamanho de um volume lgico . . . . . . . . . . . . . . . . 62 Diminuindo um volume lgico . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.10 Formatando Pen-drives/Disquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.10.1 Formatando pen-drives para serem usados no Linux . . . . . . . . . . . . 63 5.10.2 Formatando pen-drives compatveis com o Windows . . . . . . . . . . . . 63 5.10.3 Programas de Formatao Grcos . . . . . . . . . . . . . . . . . . . . . . . 64 5.11 Pontos de Montagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.12 Identicao de discos e parties em sistemas Linux . . . . . . . . . . . . . . . . 65 5.13 Montando (acessando) uma partio de disco . . . . . . . . . . . . . . . . . . . . . 66 5.13.1 fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.14 Desmontando uma partio de disco . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6 Gerenciadores de Partida (boot loaders) 6.1 69

LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

SUMRIO

iv

6.1.1 6.1.2 6.1.3 6.2

Criando o arquivo de congurao do LILO . . . . . . . . . . . . . . . . . 69 Opes usadas no LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Um exemplo do arquivo de congurao lilo.conf . . . . . . . . . . . . . . 74

GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 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 . . . . . . . . . . . . . . . . 76 Instalando o GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 No disco exvel (somente linha de comando) . . . . . . . . . . . . . . . . 77 No disco exvel (com interface de menu) . . . . . . . . . . . . . . . . . . . 77 Opes do arquivo de congurao . . . . . . . . . . . . . . . . . . . . . . 78 Um exemplo de arquivo de congurao . . . . . . . . . . . . . . . . . . . 80 Usando a linha de comandos do GRUB . . . . . . . . . . . . . . . . . . . . 82 Removendo o GRUB do MBR . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Como obter informaes mais detalhadas . . . . . . . . . . . . . . . . . . . 83

6.3 6.4

Parmetros de inicializao passados ao kernel . . . . . . . . . . . . . . . . . . . . 84 LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.4.1 6.4.2 Opes do LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Exemplo de inicializao com o LOADLIN . . . . . . . . . . . . . . . . . . 85

6.5

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

Execuo de programas 7.1 7.2 7.3 7.4 7.5

Tipos de Execuo de comandos/programas . . . . . . . . . . . . . . . . . . . . . 89 Executando programas em seqncia . . . . . . . . . . . . . . . . . . . . . . . . . 90 ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Controle de execuo de processos . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.5.1 7.5.2 7.5.3 Interrompendo a execuo de um processo . . . . . . . . . . . . . . . . . . 91 Parando momentaneamente a execuo de um processo . . . . . . . . . . 92 jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

SUMRIO

7.5.4 7.5.5 7.5.6 7.5.7 7.5.8 7.5.9 7.6 7.7 7.8 7.9

fg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 bg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 killall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 killall5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Sinais do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 fuser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 tload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7.10 vmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.11 pidof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.12 pstree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.13 Fechando um programa quando no se sabe como sair . . . . . . . . . . . . . . . 98 7.14 Eliminando caracteres estranhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 8 Comandos para manipulao de diretrio 8.1 8.2 8.3 8.4 8.5 9 101

ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 105

Comandos para manipulao de Arquivos 9.1 9.2 9.3 9.4 9.5

cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 tac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

SUMRIO

vi

10 Comandos Diversos

109

10.1 clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 10.2 date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 10.3 df . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 10.4 ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 10.5 du . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 10.6 nd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10.7 free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 10.8 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 10.9 head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 10.10nl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.11more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.12less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.13sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 10.14tail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.15time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.16touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.17uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.18dmesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.19mesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 10.20echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 10.21su . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 10.22sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 10.23uname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 10.24reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 10.25shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 10.26wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 10.27seq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 10.28chattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.29lsattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.30cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

SUMRIO

vii

10.31cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.32dirname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.33diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 10.34pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.35patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.36whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 10.37which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 10.38zforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.39gzexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.40znew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11 Comandos de rede 131

11.1 who . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.2 telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.3 nger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 11.4 ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 11.5 whoami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.6 dnsdomainname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.7 hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.8 talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.9 ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 11.10rlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11.11rsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11.12w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11.13traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.14netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.15wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 12 Comandos para manipulao de contas 139

12.1 adduser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 12.2 addgroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.3 passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

SUMRIO

viii

12.4 gpasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 12.5 newgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.6 userdel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.7 groupdel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.8 lastlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.9 last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.10sg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.11Adicionando o usurio a um grupo extra . . . . . . . . . . . . . . . . . . . . . . . 144 12.12chfn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.13id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.14logname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.15users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.16groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 13 Permisses de acesso a arquivos e diretrios 147

13.1 Donos, Grupos e outros usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 13.2 Tipos de Permisses de Acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 13.3 Etapas para acesso a um arquivo/diretrio . . . . . . . . . . . . . . . . . . . . . . 149 13.4 Exemplos prticos de permisses de acesso . . . . . . . . . . . . . . . . . . . . . . 149 13.4.1 Exemplo de acesso a um arquivo . . . . . . . . . . . . . . . . . . . . . . . . 150 13.4.2 Exemplo de acesso a um diretrio . . . . . . . . . . . . . . . . . . . . . . . 150 13.5 Permisses de Acesso Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 13.6 A conta root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13.7 chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.8 chgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 13.9 chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 13.10Modo de permisso octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.11umask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 14 Redirecionamentos e Pipe 159

14.1 > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 14.2 >> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

SUMRIO

ix

14.3 < . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.4 << . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.5 | (pipe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14.6 Diferena entre o | e o > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 14.7 tee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 15 Rede 163

15.1 O que uma rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 15.2 Protocolo de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.3 Endereo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.3.1 Classes de Rede IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 15.3.2 Para instalar uma mquina usando o Linux em uma rede existente . . . . 165 15.3.3 Endereos reservados para uso em uma rede Privada . . . . . . . . . . . . 166 15.4 Interface de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 15.4.1 A interface loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 15.4.2 Atribuindo um endereo de rede a uma interface (ifcong) . . . . . . . . . 167 15.5 Roteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 15.5.1 Congurando uma rota no Linux . . . . . . . . . . . . . . . . . . . . . . . . 168 15.6 Resolvedor de nomes (DNS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 15.6.1 O que um nome? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 15.6.2 Arquivos de congurao usados na resoluo de nomes . . . . . . . . . . 171 15.6.3 Executando um servidor de nomes . . . . . . . . . . . . . . . . . . . . . . . 173 15.7 Servios de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 15.7.1 Servios iniciados como Daemons de rede . . . . . . . . . . . . . . . . . . 174 15.7.2 Servios iniciados atravs do inetd . . . . . . . . . . . . . . . . . . . . . . . 174 15.8 Segurana da Rede e controle de Acesso . . . . . . . . . . . . . . . . . . . . . . . . 177 15.8.1 /etc/ftpusers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 15.8.2 /etc/securetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 15.8.3 O mecanismo de controle de acessos tcpd . . . . . . . . . . . . . . . . . . . 178 15.8.4 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 15.9 Outros arquivos de congurao relacionados com a rede . . . . . . . . . . . . . . 182 15.9.1 /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 15.9.2 /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

SUMRIO

16 Kernel e Mdulos

185

16.1 O Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 16.2 Mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 16.3 Como adicionar suporte a Hardwares e outros dispositivos no kernel . . . . . . . 186 16.4 kmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 16.5 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 16.6 insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 16.7 rmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 16.8 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 16.9 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 16.10modconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 16.11Recompilando o Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 16.12Arquivos relacionados com o Kernel e Mdulos . . . . . . . . . . . . . . . . . . . 194 16.12.1 /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 16.12.2 modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 16.13Aplicando Patches no kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 17 Arquivos e daemons de Log 197

17.1 Formato do arquivo de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 17.2 Daemons de log do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 17.2.1 syslogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 17.2.2 klogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 17.3 logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 18 Compactadores 203

18.1 O que fazem os compactadores/descompactadores? . . . . . . . . . . . . . . . . . 203 18.1.1 Tipos de compactao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 18.2 Extenses de arquivos compactados . . . . . . . . . . . . . . . . . . . . . . . . . . 205 18.3 gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 18.4 zip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 18.5 unzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 18.6 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 18.7 bzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 18.8 rar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

SUMRIO

xi

19 A distribuio Debian GNU/Linux

215

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

20.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 20.1.1 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 20.1.2 Instalar pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 20.1.3 Dependncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 20.1.4 Listar pacotes existentes no sistema . . . . . . . . . . . . . . . . . . . . . . 226 20.1.5 Removendo pacotes do sistema . . . . . . . . . . . . . . . . . . . . . . . . . 226 20.1.6 Removendo completamente um pacote . . . . . . . . . . . . . . . . . . . . 226

SUMRIO

xii

20.1.7 Mostrar descrio do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 20.1.8 Procura de pacotes atravs do nome de um arquivo . . . . . . . . . . . . . 227 20.1.9 Status do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 20.1.10 Procurando pacotes com problemas de instalao . . . . . . . . . . . . . . 227 20.1.11 Mostrando a lista de pacotes do sistema . . . . . . . . . . . . . . . . . . . . 227 20.1.12 Obtendo uma lista de pacotes para instalar no sistema . . . . . . . . . . . 228 20.1.13 Congurando pacotes descongurados . . . . . . . . . . . . . . . . . . . . 228 20.1.14 Listando arquivos de um pacote . . . . . . . . . . . . . . . . . . . . . . . . 228 20.2 apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 20.2.1 O arquivo /etc/apt/sources.list . . . . . . . . . . . . . . . . . . . . 229 20.2.2 O arquivo /etc/apt/apt.conf . . . . . . . . . . . . . . . . . . . . . . . 231 20.2.3 Copiando a lista de pacotes disponveis . . . . . . . . . . . . . . . . . . . . 231 20.2.4 Utilizando CDs ociais/no-ociais/terceiros com o apt . . . . . . . . . . 231 20.2.5 Instalando novos pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 20.2.6 Removendo pacotes instalado . . . . . . . . . . . . . . . . . . . . . . . . . 232

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

21.1 Variveis de Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 21.2 Modicando o Idioma usado em seu sistema . . . . . . . . . . . . . . . . . . . . . 237 21.3 alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 21.4 Arquivo /etc/profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 21.5 Arquivo .bash_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 21.6 Arquivo .bashrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 21.7 Arquivo .hushlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 21.8 Arquivo /etc/environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 21.9 Diretrio /etc/skel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

SUMRIO

xiii

22 Impresso

243

22.1 Portas de impressora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 22.2 Imprimindo diretamente para a porta de impressora . . . . . . . . . . . . . . . . . 243 22.3 Imprimindo via spool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 22.4 Impresso em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 22.4.1 Ghost Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 22.5 Magic Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 22.5.1 Instalao e congurao do Magic Filter . . . . . . . . . . . . . . . . . . . 247 22.5.2 Outros detalhes tcnicos sobre o Magic Filter . . . . . . . . . . . . . . . . . 248 23 Congurao do sistema 251

23.1 Acentuao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 23.1.1 Acentuao em modo Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 23.1.2 Acentuao em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . 253 23.2 Nmero de Cores do ambiente grco . . . . . . . . . . . . . . . . . . . . . . . . . 253 23.2.1 Congurando o nmero de cores para quem inicia pelo prompt . . . . . . 254 23.2.2 Congurando o nmero de cores para quem inicia pelo XDM . . . . . . . 254 23.2.3 Ajustando o alinhamento da imagem no X e outras conguraes . . . . . 255 24 Executando tarefas diversas no Linux 257

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

SUMRIO

xiv

25 Compilao

263

25.1 O que compilao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 25.2 Compilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 26 Manuteno do Sistema 265

26.1 Checagem dos sistemas de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . 265 26.1.1 fsck.ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 26.2 reiserfsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 26.3 fsck.minix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 26.4 badblocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 26.5 defrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 26.6 Vericando e marcando setores danicados em um HD . . . . . . . . . . . . . . . 269 26.7 Limpando arquivos de LOGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 26.8 Recuperando parties apagadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 26.9 Recuperando a senha de root perdida . . . . . . . . . . . . . . . . . . . . . . . . . 271 26.10Tarefas automticas de manuteno do sistema . . . . . . . . . . . . . . . . . . . . 272 26.11cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 26.11.1 O formato de um arquivo crontab . . . . . . . . . . . . . . . . . . . . . . . 273 26.12at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 27 Principais arquivos de congurao do diretrio /etc 277

27.1 Diretrio /etc/alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 27.2 Arquivo /etc/default/devpts . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 27.3 Arquivo /etc/default/rcS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 27.4 Arquivo /etc/console-tools/config . . . . . . . . . . . . . . . . . . . . . . 278 27.5 Diretrio /etc/menu-methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 27.6 Arquivo /etc/menu-methods/translate_menus . . . . . . . . . . . . . . . . 278 27.7 Diretrio /etc/network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 27.8 Arquivo /etc/network/interfaces . . . . . . . . . . . . . . . . . . . . . . . . 278 27.9 Arquivo /etc/networks/options . . . . . . . . . . . . . . . . . . . . . . . . . 280 27.10Diretrio /etc/pam.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 27.11Diretrio /etc/ppp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

SUMRIO

xv

27.12Diretrio /etc/security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 27.13Arquivo /etc/security/access.conf . . . . . . . . . . . . . . . . . . . . . . 281 27.14Arquivo /etc/security/limits.conf . . . . . . . . . . . . . . . . . . . . . . 281 27.15Arquivo /etc/crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 27.16Arquivo /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 27.17Arquivo /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.18Arquivo /etc/gshadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.19Arquivo /etc/host.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.20Arquivo /etc/hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.21Arquivo /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.22Arquivo /etc/hosts.allow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.23Arquivo /etc/hosts.deny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 27.24Arquivo /etc/hosts.equiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.25Arquivo /etc/inetd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.26Arquivo /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.27Arquivo /etc/inputrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.28Arquivo /etc/issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.29Arquivo /etc/issue.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.30Arquivo /etc/lilo.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.31Arquivo /etc/login.defs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.32Arquivo /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.33Arquivo /etc/modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.34Arquivo /etc/motd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.35Arquivo /etc/mtab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.36Arquivo /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.37Arquivo /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.38Arquivo /etc/printcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.39Arquivo /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.40Arquivo /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.41Arquivo /etc/serial.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.42Arquivo /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

SUMRIO

xvi

27.43Arquivo /etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.44Arquivo /etc/shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.45Arquivo /etc/syslog.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.46Arquivo /etc/timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 28 Conectando seu computador a Internet 289

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

29.1 O que X Window? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 29.2 A organizao do ambiente grco X Window . . . . . . . . . . . . . . . . . . . . 295 29.3 Iniciando o X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 29.4 Servidor X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 30 Aplicativos para Linux 297

30.1 Aplicativos Bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 30.1.1 Editores de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 30.1.2 Aplicativos para Escritrio . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 30.1.3 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 30.1.4 Emuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 30.1.5 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 30.1.6 Administrao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 30.2 Listagem de Aplicativos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 302 30.2.1 Perifricos / Gerenciamento de Hardware . . . . . . . . . . . . . . . . . . 302 30.2.2 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 30.2.3 Conferncia de audio/vdeo via Internet/Intranet . . . . . . . . . . . . . . 304 30.2.4 Gerenciamento de WebSites / Linguagem HTML . . . . . . . . . . . . . . 304

SUMRIO

xvii

30.2.5 Multimdia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 30.2.6 Som . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 30.2.7 Comunicao/Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 30.2.8 X Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 30.2.9 Editorao Grca/Visualizadores . . . . . . . . . . . . . . . . . . . . . . . 310 30.2.10 Emuladores/Ferramentas p/ Interao com outros SO . . . . . . . . . . . 311 30.2.11 Programao / Bancos de Dados / Acesso a Dados . . . . . . . . . . . . . 311 30.2.12 Impresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 30.2.13 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 30.2.14 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 30.2.15 Notebooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 30.2.16 Gravao de CD/DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 30.2.17 Computao Paralela/Clusters . . . . . . . . . . . . . . . . . . . . . . . . . 315 30.2.18 PalmTop / Palm Pilot / Computadores de Mo . . . . . . . . . . . . . . . 315 30.2.19 Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 30.2.20 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 30.2.21 Compactadores/Descompactadores/Arquivadores . . . . . . . . . . . . . 318 30.2.22 Dispositivos X-10 (Controle de eletrodomsticos e aparelhos via PC) . . . 318 30.2.23 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 31 Como obter ajuda no sistema 321

31.1 Pginas de Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 31.2 Info Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 31.3 Help on line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 31.4 help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 31.5 apropos/whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 31.6 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 31.7 which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 31.8 Documentos HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 31.8.1 Listagem de HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 31.8.2 Listagem de Mini-HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . 342

SUMRIO

xviii

31.9 Documentao de Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 31.10FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 31.11RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 31.12Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 31.12.1 Pginas Internet de Referncia . . . . . . . . . . . . . . . . . . . . . . . . . 356 31.12.2 Listas de discusso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 31.13Netiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 31.13.1 Recomendaes Gerais sobre a Comunicao Eletrnica . . . . . . . . . . 360 31.13.2 Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 31.13.3 ICQ/MSN/Gtalk/Skype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 31.13.4 Talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 31.13.5 Listas de Discusso via Email . . . . . . . . . . . . . . . . . . . . . . . . . . 362 32 Apndice 365

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

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: Intermedirio Entre o contedo do guia, voc encontrar: 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. 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.

Captulo 1. Introduo

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

Captulo 1. Introduo

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 35. 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 ;-) 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 321), ou nas listas de discusso (veja Listas de discusso on page 358) 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

Captulo 1. Introduo

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 358). Boa Sorte e bem vindo ao GNU/Linux! Gleydson (<gleydson@guiafoca.org>).

1.2

Pr-requisitos para a utilizao deste guia

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.

Captulo 1. Introduo

1.3

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

Captulo 1. Introduo

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

Captulo 1. Introduo

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 transmisso 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, dis-

Captulo 1. Introduo

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

1.4

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.

Captulo 1. Introduo

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

Captulo 1. Introduo

10

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

11

Captulo 2

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

2.1

Interpretador de comandos

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

Captulo 2. Explicaes Bsicas

12

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

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

2.3

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:

Captulo 2. Explicaes Bsicas

13

[a-z][0-9] - Faz referncia a caracteres de a at z seguido de um caracter de 0 at 9. [a,z][1,0] - Faz a referncia aos caracteres a e z seguido de um caracter 1 ou 0 naquela posio. [a-z,1,0] - Faz referncia a intervalo de caracteres de a at z ou 1 ou 0 naquela posio. A procura de caracteres Case Sensitive assim se voc deseja que sejam localizados todos os caracteres alfabticos voc deve usar [a-zA-Z]. Caso a expresso seja precedida por um ^, faz referncia a qualquer caracter exceto o da expresso. Por exemplo [^abc] faz referncia a qualquer caracter exceto a, b e c. {padres} - Expande e gera strings para pesquisa de padres de um arquivo/diretrio. X{ab,01} - Faz referncia a seqencia de caracteres Xab ou X01 X{a-z,10} Faz referencia a seqencia de caracteres Xa-z e X10. O que diferencia este mtodo de expanso dos demais que a existncia do arquivo/diretrio opcional para gerao do resultado. Isto til para a criao de diretrios. Lembrando que os 4 tipos de curingas (*, ?, [], {}) podem ser usados juntos. Para entender melhor vamos a prtica: Vamos dizer que tenha 5 arquivo no diretrio /usr/teste: teste1.txt,teste2.txt, teste3.txt,teste4.new,teste5.new. Caso deseje listar todos os arquivos do diretrio /usr/teste voc pode usar o coringa * para especicar todos os arquivos do diretrio: cd /usr/teste e ls * ou ls /usr/teste/*. 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.

Captulo 2. Explicaes Bsicas

14

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.

15

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

16

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

17

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

18

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

19

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

20

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

21

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

22

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

23

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

24

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

Captulo 3. Hardware

25

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

26

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

27

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

28

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

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

29

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 23). 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 23) para detalhes. 2 Carregue o mdulo da placa de som com o comando modprobe mdulo (veja modprobe on page 188). 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

30

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

31

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

32

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

33

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

34

35

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 36 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 152. 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 89. 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. . Para desligar o computador, digite shutdown -h now e espere o aparecimento da mensagem Power Down para apertar o boto LIGA/DESLIGA do computador.

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

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. path No Linux deve ser usado ":" para separar os diretrios e usar o comando "export PATH=caminho1:/caminho2:/caminho3:" para definir a varivel de ambiente PATH. O path atual pode ser visualizado atravs

dir/s dir/od cd

del

md

copy

echo path

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

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 o nome modificado. mem cat /proc/meminfo Mostra detalhes sobre a quantidade de dados top em buffers, cache e memria virtual (disco). more more, less O more equivalente a ambos os sistemas, mas o less permite que sejam usadas as setas para

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

move

mv

scan

clamav

backup

tar

print

lpr

vol xcopy

e2label cp -R

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

4.2.1

Arquivos de congurao

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

4.3

Usando a sintaxe de comandos DOS no Linux

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

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

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. Tambm trabalha com arquivos no formato Word97/2000 e no vulnervel a vrus de macro. distribudo gratuitamente e no requer pagamento de licena

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

MS Excel MS PowerPoint MS Access

MS Outlook

MS Internet Explorer

ICQ

MSN Photo Shop

Corel Photo Paint Corel Draw Autocad Visio winamp

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 e timo conjunto de cones xmms Possui todos os recursos do programa para Windows alm de filtros que permite acrescentar efeitos digitais da msica (em

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

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

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

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

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 44

45

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 50). 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 65) . e dever ser montada (Montando (acessando) uma partio de disco on page 66) 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 69. 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

46

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

47

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 50. 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 53. 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 55. proc - Sistema de arquivos do kernel (veja O sistema de arquivos /proc on page 58). 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

48

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

49

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

50

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

51

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 66. ). 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 48, 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

52

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

53

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

54

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 65. 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 66. 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 48. 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

55

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

56

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

57

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

58

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

59

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

60

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

61

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

62

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

63

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

64

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

65

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

66

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

67

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

68

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.

69

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)

70

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 65) , 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 72. 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)

71

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)

72

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)

73

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)

74

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

75

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)

76

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

6.2.2

Instalando o GRUB

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

77

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)

78

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

79

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)

80

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

81

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

82

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

83

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)

84

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

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)

85

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)

86

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)

87

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)

88

CTRL+Z

01 - azul escuro 09 02 - verde escuro 0a 03 - ciano escuro 0b 04 - vermelho escuro 0c 05 - purple escuro 0d 06 - marrom 0e 07 - cinza claro 0f - Equivalente ao fim de arquivo no DOS

azul claro verde claro ciano claro vermelho claro purple claro amarelo branco

O cdigo padro usado o 07. Escolhendo uma cor clara para o fundo (08-0f) resultar em uma cor piscante correspondente para a texto (00-07).

89

Captulo 7

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

7.1

Tipos de Execuo de comandos/programas

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

Captulo 7. Execuo de programas

90

7.2

Executando programas em seqncia

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

7.3

ps

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

7.4

top

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

Captulo 7. Execuo de programas

91

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

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

7.5

Controle de execuo de processos

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

7.5.1

Interrompendo a execuo de um processo

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

Captulo 7. Execuo de programas

92

7.5.2

Parando momentaneamente a execuo de um processo

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

7.5.3

jobs

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

7.5.4

fg

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

7.5.5

bg

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

Captulo 7. Execuo de programas

93

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

7.5.6

kill

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

7.5.7

killall

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

Captulo 7. Execuo de programas

94

7.5.8

killall5

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

7.5.9

Sinais do Sistema

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

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

Captulo 7. Execuo de programas

95

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

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

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

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

7.6

nohup

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

Captulo 7. Execuo de programas

96

7.7

nice

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

7.8

fuser

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

7.9

tload

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

Captulo 7. Execuo de programas

97

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

7.10

vmstat

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

Captulo 7. Execuo de programas

98

7.11

pidof

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

7.12

pstree

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

7.13

Fechando um programa quando no se sabe como sair

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

Captulo 7. Execuo de programas

99

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

Captulo 7. Execuo de programas

100

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

7.14

Eliminando caracteres estranhos

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

101

Captulo 8

Comandos para manipulao de diretrio


Abaixo comandos teis para a manipulao de diretrios.

8.1

ls

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

Captulo 8. Comandos para manipulao de diretrio

102

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

-rwxr-xr--

gleydson user

8192 nov 4 16:00 teste

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

Captulo 8. Comandos para manipulao de diretrio

103

8.2

cd

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

8.3

pwd

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

8.4

mkdir

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

Captulo 8. Comandos para manipulao de diretrio

104

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

8.5

rmdir

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

105

Captulo 9

Comandos para manipulao de Arquivos


Abaixo, comandos utilizados para manipulao de arquivos.

9.1

cat

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

9.2

tac

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

Captulo 9. Comandos para manipulao de Arquivos

106

9.3

rm

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

9.4

cp

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

Captulo 9. Comandos para manipulao de Arquivos

107

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

9.5

mv

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

Captulo 9. Comandos para manipulao de Arquivos

108

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

109

Captulo 10

Comandos Diversos
Comandos de uso diversos no sistema.

10.1

clear

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

10.2

date

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

Captulo 10. Comandos Diversos

110

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

10.3

df

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

10.4

ln

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

Captulo 10. Comandos Diversos

111

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

10.5

du

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

Captulo 10. Comandos Diversos

112

Exemplo: du -h, du -hc.

10.6

nd

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

Captulo 10. Comandos Diversos

113

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

10.7

free

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

Captulo 10. Comandos Diversos

114

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

10.8

grep

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

10.9

head

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

Captulo 10. Comandos Diversos

115

Exemplos: head teste.txt, head -n 20 teste.txt.

10.10

nl

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

10.11

more

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

10.12

less

Permite fazer a paginao de arquivos ou da entrada padro. O comando less pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o less efetua uma pausa (semelhante ao more) e permite que voc pressione Seta para Cima e Seta para Baixo ou PgUP/PgDown para fazer o rolamento da pgina. Para sair do less pressione q. less [arquivo] Onde: arquivo o arquivo que ser paginado.

Captulo 10. Comandos Diversos

116

Para visualizar diretamente arquivos texto compactados pelo utilitrio gzip (arquivos .gz), use o comando zless. Exemplos: less /etc/passwd, cat /etc/passwd|less

10.13

sort

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

Captulo 10. Comandos Diversos

117

iniciada em 0. Caso no for especicada, a organizao feita no primeiro campo. Caso -num2 no seja especicado, a organizao ser feita usando a coluna +num1 at o m da linha. -k num1, num2 Esta uma alternativa ao mtodo acima para especicar as chaves de organizao. O uso idntico, mas o delimitador iniciado em 1. Abaixo, exemplos de uso do comando sort: sort texto.txt - Organiza o arquivo texto.txt em ordem crescente. sort texto.txt -r - Organiza o contedo do arquivo texto.txt em ordem decrescente. cat texto.txt|sort - Faz a mesma coisa que o primeiro exemplo, s que neste caso a sada do comando cat redirecionado a entrada padro do comando sort. sort -f texto.txt - Ignora diferenas entre letras maisculas e minsculas durante a organizao. sort +1 -3 texto.txt - Organiza o arquivo texto.txt usando como referncia a segunda at a quarta palavra (segundo ao quarto campo) que constam naquela linha. sort -t : +2 -3 passwd - Organiza o arquivo passwd usando como referncia a terceira at a quarta palavra (terceiro ao quarto campo). Note que a opo -t especica o caracter : como delimitador de campos ao invs do espao. Neste caso, o que estiver aps : ser considerado o prximo campo.

10.14

tail

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

10.15

time

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

Captulo 10. Comandos Diversos

118

10.16

touch

Muda a data e hora que um arquivo foi criado. Tambm pode ser usado para criar arquivos vazios. Caso o touch seja usado com arquivos que no existam, por padro ele criar estes arquivos. touch [opes] [arquivos] Onde: arquivos Arquivos que tero sua data/hora modicados. opes -t MMDDhhmm[ANO.segundos ] Usa Ms (MM), Dias (DD), Horas (hh), minutos (mm) e opcionalmente o ANO e segundos para modicao do(s) arquivos ao invs da data e hora atual. -a, time=atime Faz o touch mudar somente a data e hora do acesso ao arquivo. -c, no-create No cria arquivos vazios, caso os arquivos no existam. -m, time=mtime Faz o touch mudar somente a data e hora da modicao. -r [arquivo ] Usa as horas no [arquivo] como referncia ao invs da hora atual. Exemplos:

touch teste - Cria o arquivo teste caso ele no existir. touch -t 10011230 teste - Altera da data e hora do arquivo para 01/10 e 12:30. touch -t 120112301999.30 teste - Altera da data, hora ano, e segundos do arquivo para 01/12/1999 e 12:30:30. touch -t 12011200 * - Altera a data e hora do arquivo para 01/12 e 12:00.

10.17

uptime

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

10.18

dmesg

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

Captulo 10. Comandos Diversos

119

10.19

mesg

Permite ou no o recebimentos de requisies de talk de outros usurios. mesg [y/n] Onde: y permite que voc receba talks de outros usurios. Digite mesg para saber se voc pode ou no receber talks de outros usurios. Caso a resposta seja n voc poder enviar um talk para algum mas o seu sistema se recusar em receber talks de outras pessoas. interessante colocar o comando mesg y em seu arquivo de inicializao .bash_profile para permitir o recebimento de talks toda vez que entrar no sistema. Para detalhes sobre como se comunicar com outros usurios, veja o comando talk on page 133.

10.20

echo

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

10.21

su

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

10.22

sync

Grava os dados do cache de disco na memria RAM para todos os discos rgidos e exveis do sistema. O cache um mecanismo de acelerao que permite que um arquivo seja armazenado na memria ao invs de ser imediatamente gravado no disco, quando o sistema

Captulo 10. Comandos Diversos

120

estiver ocioso, o arquivo gravado para o disco. O GNU/Linux procura utilizar toda memria RAM disponvel para o cache de programas acelerando seu desempenho de leitura/gravao. sync O uso do sync til em disquetes quando gravamos um programa e precisamos que os dados sejam gravados imediatamente para retirar o disquete da unidade. Mas o mtodo recomendado especicar a opo sync durante a montagem da unidade de disquetes (para detalhes veja fstab on page 67.

10.23

uname

Retorna o nome e verso do kernel atual. uname

10.24

reboot

Reinicia o computador.

10.25

shutdown

Desliga/reinicia o computador imediatamente ou aps determinado tempo (programvel) de forma segura. Todos os usurios do sistema so avisados que o computador ser desligado . Este comando somente pode ser executado pelo usurio root ou quando usada a opo -a pelos usurios cadastrados no arquivo /etc/shutdown.allow que estejam logados no console virtual do sistema. shutdown [opes] [hora] [mensagem] hora Momento que o computador ser desligado. Voc pode usar HH:MM para denir a hora e minuto, MM para denir minutos, +SS para denir aps quantos segundos, ou now par