Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Abstract
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://focalinux. cipsga.org.br). Novas verses so lanadas com uma freqncia mensal e voc pode receber avisos de lanamentos preenchendo um formulrio na pgina Web.
Copyright Notice
Copyleft 1999-2003 - Gleydson Mazioli da Silva. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled GNU Free Documentation License.
Contents
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 5 8 11
Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placa de expanso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Nomes de dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 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
CONTENTS
ii
Listando as placas e outros hardwares em um computador . . . . . . . . . . . . . 28 Conitos de hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Placas on-board / off-board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Hardwares especcos ou For Windows . . . . . . . . . . . . . . . . . . . . . . . 31
3.10 Dispositivos especcos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 32 3.11 Conguraes de Dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.11.1 Congurando uma placa de rede . . . . . . . . . . . . . . . . . . . . . . . . 33 3.11.2 Congurando uma placa de SOM no Linux . . . . . . . . . . . . . . . . . . 34 3.11.3 Congurando um gravador de CD no Linux . . . . . . . . . . . . . . . . . 35 3.11.4 Congurando o gerenciamento de energia usando o APM . . . . . . . . . 37 3.11.5 Congurando o gerenciamento de energia usando ACPI . . . . . . . . . . 38 3.11.6 Ativando WakeUP on Lan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux 4.1 4.2 41
Quais as diferenas iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Comandos equivalentes entre DOS e Linux . . . . . . . . . . . . . . . . . . . . . . 43 4.2.1 Arquivos de congurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 4.4 5
Usando a sintaxe de comandos DOS no Linux . . . . . . . . . . . . . . . . . . . . 45 Programas equivalentes entre Windows/DOS e o Linux . . . . . . . . . . . . . . . 46 51
Parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Sistema de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Partio EXT2 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.3.1 5.3.2 Criando um sistema de arquivos EXT2 em uma partio . . . . . . . . . . 53 Criando um sistema de arquivos EXT2 em um arquivo . . . . . . . . . . . 54
5.4 5.5
Journaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Partio EXT3 (Linux Native) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.5.1 5.5.2 5.5.3 Criando um sistema de arquivos EXT3 em uma partio . . . . . . . . . . 56 Criando um sistema de arquivos EXT3 em um arquivo . . . . . . . . . . . 56 Fazendo a converso do sistema de arquivos EXT2 para EXT3 . . . . . . . 57
CONTENTS
iii
5.5.4 5.6
Sistema de arquivos reiserfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 5.6.6 Criando um sistema de arquivos reiserfs em uma partio . . . . . . . . . 58 Criando um sistema de arquivos reiserfs em um arquivo . . . . . . . . . . 59 Nomeando uma partio de disco . . . . . . . . . . . . . . . . . . . . . . . 59 Criando o diretrio especial lost+found . . . . . . . . . . . . . . . . . . 60 dumpe2fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Partio EXT2 ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.7
Partio Linux Swap (Memria Virtual) . . . . . . . . . . . . . . . . . . . . . . . . 61 5.7.1 5.7.2 5.7.3 Criando sistema de arquivos Swap em uma partio . . . . . . . . . . . . 61 Criando um sistema de arquivos Swap em um arquivo . . . . . . . . . . . 62 Partio Swap ou Arquivo? . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.8 5.9
O sistema de Arquivos /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 LVM - Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5 Representao grca do LVM . . . . . . . . . . . . . . . . . . . . . . . . . 65 Performance do LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Colocando LVM em seu sistema . . . . . . . . . . . . . . . . . . . . . . . . 66 Aumentando o tamanho de um volume lgico . . . . . . . . . . . . . . . . 67 Diminuindo um volume lgico . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.10 Formatando disquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.10.1 Formatando disquetes para serem usados no Linux . . . . . . . . . . . . . 68 5.10.2 Formatando disquetes compatveis com o DOS/Windows . . . . . . . . . 69 5.10.3 Programas de Formatao Grcos . . . . . . . . . . . . . . . . . . . . . . . 69 5.11 Pontos de Montagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.12 Identicao de discos e parties em sistemas Linux . . . . . . . . . . . . . . . . 70 5.13 Montando (acessando) uma partio de disco . . . . . . . . . . . . . . . . . . . . . 71 5.13.1 fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.14 Desmontando uma partio de disco . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6 Gerenciadores de Partida (boot loaders) 6.1 75
LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
CONTENTS
iv
Criando o arquivo de congurao do LILO . . . . . . . . . . . . . . . . . 75 Opes usadas no LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Um exemplo do arquivo de congurao lilo.conf . . . . . . . . . . . . . . 80
GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 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 . . . . . . . . . . . . . . . . 81 Instalando o GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 No disco exvel (somente linha de comando) . . . . . . . . . . . . . . . . 83 No disco exvel (com interface de menu) . . . . . . . . . . . . . . . . . . . 83 Opes do arquivo de congurao . . . . . . . . . . . . . . . . . . . . . . 84 Um exemplo de arquivo de congurao . . . . . . . . . . . . . . . . . . . 86 Usando a linha de comandos do GRUB . . . . . . . . . . . . . . . . . . . . 87 Removendo o GRUB do MBR . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Como obter informaes mais detalhadas . . . . . . . . . . . . . . . . . . . 89
6.3 6.4
Parmetros de inicializao passados ao kernel . . . . . . . . . . . . . . . . . . . . 89 LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.4.1 6.4.2 Opes do LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Exemplo de inicializao com o LOADLIN . . . . . . . . . . . . . . . . . . 91
6.5
syslinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.5.1 6.5.2 6.5.3 Criando um disquete de inicializao com o syslinux . . . . . . . . . . . . 91 O arquivo SYSLINUX.CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Formatao dos arquivos de tela do syslinux . . . . . . . . . . . . . . . . . 93 95
Tipos de Execuo de comandos/programas . . . . . . . . . . . . . . . . . . . . . 95 Executando programas em seqncia . . . . . . . . . . . . . . . . . . . . . . . . . 96 ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Controle de execuo de processos . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.5.1 7.5.2 7.5.3 Interrompendo a execuo de um processo . . . . . . . . . . . . . . . . . . 97 Parando momentaneamente a execuo de um processo . . . . . . . . . . 98 jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
CONTENTS
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
7.10 vmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.11 pidof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.12 pstree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.13 Fechando um programa quando no se sabe como sair . . . . . . . . . . . . . . . 104 7.14 Eliminando caracteres estranhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 8 Comandos para manipulao de diretrio 8.1 8.2 8.3 8.4 8.5 9 107
CONTENTS
vi
10 Comandos Diversos
115
10.1 clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.2 date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.3 df . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 10.4 ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 10.5 du . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.6 nd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.7 free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 10.8 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 10.9 head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 10.10nl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 10.11more . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 10.12less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 10.13sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 10.14tail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.15time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.16touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.17uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.18dmesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.19mesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.20echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.21su . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.22sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.23uname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.24reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 10.25shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 10.26wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.27seq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 10.28chattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 10.29lsattr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 10.30cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
CONTENTS
vii
10.31cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 10.32dirname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 10.33diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 10.34pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 10.35patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 10.36whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.37which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.38zforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.39gzexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.40znew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11 Comandos de rede 137
11.1 who . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 11.2 Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 11.3 nger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.4 ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.5 whoami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.6 dnsdomainname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.7 hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.8 talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.9 ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.10rlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.11rsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 11.12w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 11.13traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 11.14netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.15wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12 Comandos para manipulao de contas 143
CONTENTS
viii
12.4 newgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.5 userdel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 12.6 groupdel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.7 lastlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.8 last . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.9 sg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 12.10Adicionando um novo grupo a um usurio . . . . . . . . . . . . . . . . . . . . . . 148 12.11chfn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 12.12id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.13logname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.14users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 12.15groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 13 Permisses de acesso a arquivos e diretrios 151
13.1 Donos, grupos e outros usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 13.2 Tipos de Permisses de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13.3 Etapas para acesso a um arquivo/diretrio . . . . . . . . . . . . . . . . . . . . . . 153 13.4 Exemplos prticos de permisses de acesso . . . . . . . . . . . . . . . . . . . . . . 153 13.4.1 Exemplo de acesso a um arquivo . . . . . . . . . . . . . . . . . . . . . . . . 153 13.4.2 Exemplo de acesso a um diretrio . . . . . . . . . . . . . . . . . . . . . . . 154 13.5 Permisses de Acesso Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 13.6 A conta root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 13.7 chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 13.8 chgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 13.9 chown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 13.10Modo de permisso octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 13.11umask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 14 Redirecionamentos e Pipe 163
CONTENTS
ix
14.4 << . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 14.5 | (pipe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 14.6 Diferena entre o | e o > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 14.7 tee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 15 Rede 167
15.1 O que uma rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 15.2 Protocolo de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 15.3 Endereo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 15.3.1 Classes de Rede IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 15.3.2 Para instalar uma mquina usando o Linux em uma rede existente . . . . 169 15.3.3 Endereos reservados para uso em uma rede Privada . . . . . . . . . . . . 170 15.4 Interface de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 15.4.1 A interface loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 15.4.2 Atribuindo um endereo de rede a uma interface (ifcong) . . . . . . . . . 171 15.5 Roteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 15.5.1 Congurando uma rota no Linux . . . . . . . . . . . . . . . . . . . . . . . . 172 15.6 Resolvedor de nomes (DNS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 15.6.1 O que um nome? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 15.6.2 Arquivos de congurao usados na resoluo de nomes . . . . . . . . . . 175 15.6.3 Executando um servidor de nomes . . . . . . . . . . . . . . . . . . . . . . . 177 15.7 Servios de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 15.7.1 Servios iniciados como Daemons de rede . . . . . . . . . . . . . . . . . . 177 15.7.2 Servios iniciados atravs do inetd . . . . . . . . . . . . . . . . . . . . . . . 178 15.8 Segurana da Rede e controle de Acesso . . . . . . . . . . . . . . . . . . . . . . . . 180 15.8.1 /etc/ftpusers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 15.8.2 /etc/securetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 15.8.3 O mecanismo de controle de acessos tcpd . . . . . . . . . . . . . . . . . . . 181 15.8.4 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 15.9 Outros arquivos de congurao relacionados com a rede . . . . . . . . . . . . . . 186 15.9.1 /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 15.9.2 /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
CONTENTS
16 Kernel e Mdulos
189
16.1 O Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 16.2 Mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 16.3 Como adicionar suporte a Hardwares e outros dispositivos no kernel . . . . . . . 190 16.4 kmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 16.5 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 16.6 insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 16.7 rmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 16.8 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 16.9 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 16.10modconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 16.11Recompilando o Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 16.12Arquivos relacionados com o Kernel e Mdulos . . . . . . . . . . . . . . . . . . . 198 16.12.1 /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 16.12.2 modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 16.13Aplicando Patches no kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 17 Arquivos e daemons de Log 201
17.1 Formato do arquivo de log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 17.2 Daemons de log do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 17.2.1 syslogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 17.2.2 klogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 17.3 logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 18 Compactadores 207
18.1 O que fazem os compactadores/descompactadores? . . . . . . . . . . . . . . . . . 207 18.1.1 Tipos de compactao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 18.2 Extenses de arquivos compactados . . . . . . . . . . . . . . . . . . . . . . . . . . 209 18.3 gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 18.4 zip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 18.5 unzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 18.6 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 18.7 bzip2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 18.8 rar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
CONTENTS
xi
219
19.1 Porque usar a Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 19.2 Pacotes existentes na Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 19.3 O que sid/testing/frozen/stable? . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 19.4 Como obter a Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 19.5 Programas de congurao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 19.6 Arquivos de inicializao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 19.7 Nveis de Execuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 19.7.1 Entendendo o funcionamento dos nveis de execuo do sistema (runlevels) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 19.8 Rede no sistema Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 19.9 Bug tracking system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 19.10Onde encontrar a Debian para Download? . . . . . . . . . . . . . . . . . . . . . . 225 19.11Lista de pacotes para uma instalao rpida e manual . . . . . . . . . . . . . . . . 225 19.11.1 Pacotes Bsicos (Altamente Recomendado) . . . . . . . . . . . . . . . . . . 226 19.11.2 Compilao do Kernel e programas em linguagem C . . . . . . . . . . . . 226 19.11.3 X11 (bsico) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 19.11.4 Window Managers para o X . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 19.11.5 Impresso (texto e grco com sistema de spool) . . . . . . . . . . . . . . . 227 19.11.6 Som (mixer, mp3, Midi, wav, CD-Player) . . . . . . . . . . . . . . . . . . . 227 19.11.7 Programas de Internet (clientes) . . . . . . . . . . . . . . . . . . . . . . . . 227 19.11.8 Acessrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 19.11.9 Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 20 Sistema de gerenciamento de pacotes 229
20.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 20.1.1 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 20.1.2 Instalar pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 20.1.3 Dependncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 20.1.4 Listar pacotes existentes no sistema . . . . . . . . . . . . . . . . . . . . . . 230 20.1.5 Removendo pacotes do sistema . . . . . . . . . . . . . . . . . . . . . . . . . 230 20.1.6 Removendo completamente um pacote . . . . . . . . . . . . . . . . . . . . 230
CONTENTS
xii
20.1.7 Mostrar descrio do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 20.1.8 Procura de pacotes atravs do nome de um arquivo . . . . . . . . . . . . . 231 20.1.9 Status do pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 20.1.10 Procurando pacotes com problemas de instalao . . . . . . . . . . . . . . 231 20.1.11 Mostrando a lista de pacotes do sistema . . . . . . . . . . . . . . . . . . . . 231 20.1.12 Obtendo uma lista de pacotes para instalar no sistema . . . . . . . . . . . 232 20.1.13 Congurando pacotes descongurados . . . . . . . . . . . . . . . . . . . . 232 20.1.14 Listando arquivos de um pacote . . . . . . . . . . . . . . . . . . . . . . . . 232 20.2 apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 20.2.1 O arquivo /etc/apt/sources.list . . . . . . . . . . . . . . . . . . . . 233 20.2.2 O arquivo /etc/apt/apt.conf . . . . . . . . . . . . . . . . . . . . . . . 235 20.2.3 Copiando a lista de pacotes disponveis . . . . . . . . . . . . . . . . . . . . 235 20.2.4 Utilizando CDs ociais/no-ociais/terceiros com o apt . . . . . . . . . . 235 20.2.5 Instalando novos pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 20.2.6 Removendo pacotes instalado . . . . . . . . . . . . . . . . . . . . . . . . . 236 20.2.7 Atualizando sua distribuio . . . . . . . . . . . . . . . . . . . . . . . . . . 236 20.2.8 Removendo pacotes baixados pelo apt . . . . . . . . . . . . . . . . . . . . 238 20.2.9 Procurando por pacotes atravs da descrio . . . . . . . . . . . . . . . . . 238 20.2.10 Procurando um pacote que contm determinado arquivo . . . . . . . . . . 238 20.2.11 Modos ecazes de compilao do cdigo fonte para a Debian . . . . . . . 239 20.2.12 Vericando pacotes corrompidos . . . . . . . . . . . . . . . . . . . . . . . . 239 20.2.13 Corrigindo problemas de dependncias e outros erros . . . . . . . . . . . 239 21 Personalizao do Sistema 241
21.1 Variveis de Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 21.2 Modicando o Idioma usado em seu sistema . . . . . . . . . . . . . . . . . . . . . 241 21.3 alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 21.4 Arquivo /etc/profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 21.5 Arquivo .bash_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 21.6 Arquivo .bashrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 21.7 Arquivo .hushlogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 21.8 Arquivo /etc/environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 21.9 Diretrio /etc/skel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
CONTENTS
xiii
22 Impresso
247
22.1 Portas de impressora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 22.2 Imprimindo diretamente para a porta de impressora . . . . . . . . . . . . . . . . . 247 22.3 Imprimindo via spool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 22.4 Impresso em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 22.4.1 Ghost Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 22.5 Magic Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 22.5.1 Instalao e congurao do Magic Filter . . . . . . . . . . . . . . . . . . . 251 22.5.2 Outros detalhes tcnicos sobre o Magic Filter . . . . . . . . . . . . . . . . . 251 23 Congurao do sistema 255
23.1 Acentuao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 23.1.1 Acentuao em modo Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 23.1.2 Acentuao em modo grco . . . . . . . . . . . . . . . . . . . . . . . . . . 257 23.2 Nmero de Cores do ambiente grco . . . . . . . . . . . . . . . . . . . . . . . . . 258 23.2.1 Congurando o nmero de cores para quem inicia pelo prompt . . . . . . 259 23.2.2 Congurando o nmero de cores para quem inicia pelo XDM . . . . . . . 260 23.2.3 Ajustando o alinhamento da imagem no X e outras conguraes . . . . . 260 23.2.4 Sobre o nmero de cores para jogos que funcionam no X . . . . . . . . . . 260 24 Executando tarefas diversas no Linux 263
24.1 Gravando CDs no Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 24.1.1 Gravando CDs de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 24.1.2 Gravando um CD de audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 24.1.3 Cpia de CD para CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 24.1.4 Gravao massiva de CDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 24.1.5 Gravao de CDs diretamente atravs de arquivos mp3 ou Ogg . . . . . . 266 24.1.6 Backup de dados para 1 ou mais CDs . . . . . . . . . . . . . . . . . . . . . 266 24.1.7 Aplicaes grcas para gravao de CDs . . . . . . . . . . . . . . . . . . . 266 24.1.8 Fazendo a capa de frente e verso do CD . . . . . . . . . . . . . . . . . . . . 266 24.2 Executando vdeos DIVX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 24.2.1 Colocando legendas nos lmes . . . . . . . . . . . . . . . . . . . . . . . . . 266
CONTENTS
xiv
24.3 Assistindo DVDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 24.4 Convertendo msicas no formato wav para mp3 . . . . . . . . . . . . . . . . . . . 267 24.5 Convertendo msicas do formato mp3 para cdr . . . . . . . . . . . . . . . . . . . 267 25 Compilao 269
25.1 O que compilao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 25.2 Compilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 26 Manuteno do Sistema 271
26.1 Checagem dos sistemas de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . 271 26.1.1 fsck.ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 26.2 reiserfsck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 26.3 fsck.minix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 26.4 badblocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 26.5 defrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 26.6 Vericando e marcando setores danicados em um HD . . . . . . . . . . . . . . . 275 26.7 Limpando arquivos de LOGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 26.8 Recuperando parties apagadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 26.9 Tarefas automticas de manuteno do sistema . . . . . . . . . . . . . . . . . . . . 277 26.10cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 26.10.1 O formato de um arquivo crontab . . . . . . . . . . . . . . . . . . . . . . . 278 26.11at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 27 Principais arquivos de congurao do diretrio /etc 281
27.1 Diretrio /etc/alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 27.2 Arquivo /etc/default/devpts . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 27.3 Arquivo /etc/default/rcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 27.4 Arquivo /etc/kbd/config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 27.5 Diretrio /etc/menu-methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 27.6 Arquivo /etc/menu-methods/menu-translate . . . . . . . . . . . . . . . . . 282 27.7 Arquivo /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 27.8 Arquivo /etc/network/interfaces . . . . . . . . . . . . . . . . . . . . . . . . 282
CONTENTS
xv
27.9 Arquivo /etc/networks/options . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.10Arquivo /etc/networks/spoof-protect . . . . . . . . . . . . . . . . . . . . . 284 27.11Diretrio /etc/pam.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.12Diretrio /etc/ppp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 27.13Diretrio /etc/security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 27.14Arquivo /etc/security/access.conf . . . . . . . . . . . . . . . . . . . . . . 285 27.15Arquivo /etc/security/limits.conf . . . . . . . . . . . . . . . . . . . . . . 286 27.16Arquivo /etc/crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 27.17Arquivo /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.18Arquivo /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.19Arquivo /etc/gshadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.20Arquivo /etc/host.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.21Arquivo /etc/hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.22Arquivo /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.23Arquivo /etc/hosts.allow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 27.24Arquivo /etc/hosts.deny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 27.25Arquivo /etc/hosts.equiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 27.26Arquivo /etc/inetd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 27.27Arquivo /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 27.28Arquivo /etc/inputrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 27.29Arquivo /etc/isapnp.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 27.30Arquivo /etc/isapnp.gone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.31Arquivo /etc/issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.32Arquivo /etc/issue.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.33Arquivo /etc/lilo.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.34Arquivo /etc/login.defs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.35Arquivo /etc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.36Arquivo /etc/modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 27.37Arquivo /etc/motd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 27.38Arquivo /etc/mtab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 27.39Arquivo /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
CONTENTS
xvi
27.40Arquivo /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 27.41Arquivo /etc/printcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 27.42Arquivo /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 27.43Arquivo /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 27.44Arquivo /etc/serial.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 27.45Arquivo /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 27.46Arquivo /etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 27.47Arquivo /etc/shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 27.48Arquivo /etc/syslog.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 27.49Arquivo /etc/timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 28 Conectando seu computador a Internet 293
28.1 Conectando-se a Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 28.2 Navegando na Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 28.3 Recebimento de E-Mails atravs do fetchmail . . . . . . . . . . . . . . . . . . . 295 28.3.1 Processamento de mensagens atravs do procmail . . . . . . . . . . . . . . 296 29 X Window (ambiente grco) 299
29.1 O que X Window? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 29.2 A organizao do ambiente grco X Window . . . . . . . . . . . . . . . . . . . . 299 29.3 Iniciando o X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 29.4 Servidor X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 30 Aplicativos para Linux 301
30.1 Aplicativos Bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 30.1.1 Editores de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 30.1.2 Aplicativos para Escritrio . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 30.1.3 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 30.1.4 Emuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 30.1.5 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 30.1.6 Administrao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 30.2 Listagem de Aplicativos para GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 305
CONTENTS
xvii
30.2.1 Perifricos / Gerenciamento de Hardware . . . . . . . . . . . . . . . . . . 306 30.2.2 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 30.2.3 Conferncia de audio/vdeo via Internet/Intranet . . . . . . . . . . . . . . 308 30.2.4 Gerenciamento de WebSites / Linguagem HTML . . . . . . . . . . . . . . 308 30.2.5 Multimdia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 30.2.6 Som . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 30.2.7 Comunicao/Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 30.2.8 X Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 30.2.9 Editorao Grca/Visualizadores . . . . . . . . . . . . . . . . . . . . . . . 314 30.2.10 Emuladores/Ferramentas p/ Interao com outros SO . . . . . . . . . . . 314 30.2.11 Programao / Bancos de Dados / Acesso a Dados . . . . . . . . . . . . . 315 30.2.12 Impresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 30.2.13 Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 30.2.14 Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 30.2.15 Notebooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 30.2.16 Gravao de CD/DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 30.2.17 Computao Paralela/Clusters . . . . . . . . . . . . . . . . . . . . . . . . . 319 30.2.18 PalmTop / Palm Pilot / Computadores de Mo . . . . . . . . . . . . . . . 319 30.2.19 Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 30.2.20 Utilitrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 30.2.21 Compactadores/Descompactadores/Arquivadores . . . . . . . . . . . . . 322 30.2.22 Dispositivos X-10 (Controle de eletrodomsticos e aparelhos via PC) . . . 322 30.2.23 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 31 Como obter ajuda no sistema 325
31.1 Pginas de Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 31.2 Info Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 31.3 Help on line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 31.4 help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 31.5 apropos/whatis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 31.6 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
CONTENTS
xviii
31.7 which . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 31.8 Documentos HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 31.8.1 Listagem de HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 31.8.2 Listagem de Mini-HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . 346 31.9 Documentao de Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 31.10FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 31.11RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 31.12Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 31.12.1 Pginas Internet de Referncia . . . . . . . . . . . . . . . . . . . . . . . . . 360 31.12.2 Listas de discusso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 31.13Netiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 31.13.1 Recomendaes Gerais sobre a Comunicao Eletrnica . . . . . . . . . . 365 31.13.2 Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 31.13.3 Talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 31.13.4 ICQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 31.13.5 Listas de Discusso via Email . . . . . . . . . . . . . . . . . . . . . . . . . . 368 32 Apndice 371
32.1 Sobre este guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 32.2 Sobre o Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 32.3 Referncias de auxlio ao desenvolvimento do guia . . . . . . . . . . . . . . . . . 372 32.4 Onde encontrar a verso mais nova do guia? . . . . . . . . . . . . . . . . . . . . . 373 32.5 Colaboradores do Guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 32.6 Marcas Registradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 32.7 Futuras verses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 32.8 Chave Pblica PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Chapter 1
Introduo
Bem vindo ao guia Foca GNU/Linux. O nome FOCA signica FOnte de Consulta e Aprendizado. Este guia dividido em 3 nveis de aprendizado e verso que esta lendo agora contm o(s) nvel(is) de aprendizado: Intermedirio Entre o contedo do guia, voc encontrar: Explicaes necessrias para conhecer, operar, congurar, desenvolver, personalizar seus programas e arquivos. Uma lista de aplicativos clientes para serem usados em seu sistema GNU/Linux, com suas caractersticas, equipamento mnimo requerido e espao em disco recomendado para instalao. Criao de parties e arquivos contendo o sistema de arquivos ext2 (para gravao de dados) e swap (memria virtual) e as vantagens/desvantagens de se utilizar um arquivo ou partio para armazenamento de dados. Compilao de programas/kernel, com explicaes sobre cada uma das opes ajudando-o a decidir sobre a incluso ou no. Manipulao de mdulos do kernel Explicaes sobre hardwares (Interrupes, DMA, Jumpers, Jumperless, Plug-and-Play) e como congura-los no Linux, valores padres e resoluo de conitos entre hardwares. Dicas de como avaliar e comprar bons hardwares para que seu computador tenha o melhor desempenho (tambm vlido para DOS, Windows e outras plataformas). Desta maneira voc saber porque algumas placas de fax-modens custam 3 vezes mais caro que outras e o que a placa traz de especial para ter este diferencial. Como modicar facilmente o idioma usado em seu sistema (localizao) para o modo texto e modo grco.
Chapter 1. Introduo
Utilizao de compactadores de disco Mais opes para os comandos existentes na verso Iniciante do guia e novos comandos. Conhecer os arquivos de congurao e arquivos bsicos de segurana e aprender para que eles servem e como usa-los. Dicas de como saber escolher bons perifricos para uso no GNU/Linux e outros sistemas operacionais Manuteno bsica do computador (vericao do disco, desfragmentao) e manuteno automtica feita atravs dos programas de e scripts congurados. Introduo a rede no Linux (com a congurao de dispositivos de rede, etc.). Conguraes bsicas de segurana de Rede Gerenciadores de inicializao, o que so e como funcionam e como criar um arquivo de inicializao para inicializar o GNU/Linux pelo disco rgido ou mais de um Sistema Operacional. Particionamento de disco Criao de Memria virtual no disco rgido e em arquivo. Os materiais contidos na verso intermedirio so ideais para quem j tem um conhecimento bsico do sistema GNU/Linux mas que deseja se aprofundar neste sistema conhecendo os arquivos necessrios para o funcionamento do GNU/Linux, como 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://focalinux.cipsga.org.br). Caso tiver alguma sugesto, correo, crtica para a melhoria deste guia, envie um e-mail para <gleydson@cipsga.org.br>. 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://focalinux.cipsga.org.br) no m da pgina principal. Aps preencher a cha do aviso de atualizaes, voc receber um e-mail sobre o lanamento de novas verses do guia e o que foi modicado, desta forma voc poder decidir em copia-la caso a nova verso contenha modicaes que considera importantes. Venho recebendo muitos elegios de pessoas do Brasil (e de paises de fora tambm) elogiando o trabalho e a qualidade da documentao. Agradeo a todos pelo apoio, tenham certeza que este trabalho desenvolvido pensando em repassar um pouco do conhecimento que adquiri ao comear o uso do Linux.
Chapter 1. Introduo
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 41. L voc vai encontrar comparaes de comandos e programas DOS/Windows e GNU/Linux. Para quem est comeando, muita teoria pode atrapalhar o aprendizado, mais produtivo ver na prtica o que o computador faz e depois porque ele faz isto. Mesmo assim, recomendo ler estes captulos pois seu contedo pode ser til. . . Coloquei abaixo algumas dicas para um bom comeo: Recomendo que faa a leitura deste guia e pratique imediatamente o que aprendeu. Isto facilita o entendimento do programa/comando/congurao. preciso ter interesse em aprender, se voc tiver vontade em aprender algo, voc ter menos diculdade do que em algo que no gosta e est se obrigando a aprender. Decorar no adianta, pelo contrrio, s atrapalha no aprendizado. Voc precisa entender o que o comando faz, deste modo voc estar tambm usando e desenvolvendo sua interpretao, e entender melhor o assunto (talvez at me de uma fora para melhorar o guia ;-) Curiosidade tambm importante. Voc talvez possa estar procurando um comando que mostre os arquivos que contm um certo texto, e isto far voc chegar at o comando grep, depois voc conhecer suas opes, etc. 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 325), ou nas listas de discusso (veja Listas de discusso on page 363) ou me envie uma mensagem <gleydson@cipsga.org. br>. Certamente voc buscar documentos na Internet que falem sobre algum assunto que este guia ainda no explica. Muito cuidado! O GNU/Linux um sistema que cresce muito rapidamente, a cada semana uma nova verso lanada, novos recursos so adicionados, seria maravilhoso se a documentao fosse atualizada com a mesma freqn-
Chapter 1. Introduo
cia. Infelizmente a atualizao da documentao no segue o mesmo ritmo (principalmente aqui no Brasil). comum voc encontrar na Internet documentos da poca quando o kernel estava na verso 2.0.20, 2.0.30, etc. Estes documentos so teis para pessoas que usem as verses antigas do Kernel Linux, mas pode trazer problemas ou causar m impresso do GNU/Linux em outras pessoas. Por exemplo, voc pode esbarrar pela Internet com um documento que diz que o Kernel no tem suporte aos nomes extensos da VFAT (Windows 95), isto verdade para kernels anteriores ao 2.0.31, mas as verses mais novas que a 2.0.31 reconhecem sem problemas os nomes extensos da partio Windows VFAT. Uma pessoa desavisada pode ter receio de instalar o GNU/Linux em uma mesma mquina com Windows por causa de um documento como este. Para evitar problemas deste tipo, verique a data de atualizao do documento, se vericar que o documento est obsoleto, contacte o autor original e pea para que ele retire aquela seo na prxima verso que ser lanada. O GNU/Linux considerado um sistema mais difcil do que os outros, mas isto porque ele requer que a pessoa realmente aprenda e conhea computadores e seus perifricos antes de fazer qualquer coisa (principalmente se voc um tcnico em manuteno, redes, instalaes, etc., e deseja oferecer suporte prossional a este sistema). Voc conhecer mais sobre computadores, redes, hardware, software, discos, saber avaliar os problemas e a buscar a melhor soluo, enm as possibilidades de crescimento neste sistema operacional depende do conhecimento, interesse e capacidade de cada um. A interface grca existe, mas os melhores recursos e exibilidade esto na linha de comando. Voc pode ter certeza que o aprendizado no GNU/Linux ajudar a ter sucesso e menos diculdade em usar qualquer outro sistema operacional. Pea ajuda a outros usurios do GNU/Linux quando estiver em dvida ou no souber fazer alguma coisa no sistema. Voc pode entrar em contato diretamente com outros usurios ou atravs de listas de discusso (veja Listas de discusso on page 363). Boa Sorte e bem vindo ao GNU/Linux! gleydson (<gleydson@cipsga.org.br>).
1.2
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://focalinux. cipsga.org.br. Este guia no cobre a instalao do sistema. Para detalhes sobre instalao, consulte a documentao que acompanha sua distribuio GNU/Linux.
Chapter 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) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele no pode fechar o sistema para que seja usado apenas comercialmente. Isto quer dizer que voc no precisa pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores, ns inclusive incentivamos voc a fazer isto. Ser um sistema de cdigo aberto pode explicar a performance, estabilidade e velocidade em que novos recursos so adicionados ao sistema. Para rodar o Linux voc precisa, no mnimo, de um computador 386 SX com 2 MB de memria e 40MB disponveis em seu disco rgido para uma instalao bsica e funcional. O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita diculdade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija alguma problema ou faa alguma sugesto sobre sua melhoria, esse um dos motivos de seu rpido crescimento, do aumento da compatibilidade de perifricos (como novas placas sendo suportadas logo aps seu lanamento) e de sua estabilidade. Outro ponto em que ele se destaca o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos de ltima gerao e mais antigos (a maioria deles j ultrapassados e sendo completamente suportados pelo sistema operacional). Este um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com as mquinas que possui. Hoje o Linux desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuio ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e tambm ajuda na coordenao entre os desenvolvedores. O suporte ao sistema tambm se destaca como sendo o mais eciente e rpido do que qualquer programa comercial disponvel no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Voc pode se inscrever em uma lista de discusso e relatar sua dvida ou alguma falha, e sua mensagem ser vista por centenas de usurios na Internet e algum ir te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo. Para detalhes, veja Listas de discusso on page 363.
1.3.1
livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuio para
Chapter 1. Introduo
a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes Convivem sem nenhum tipo de conito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador. Multitarefa real Multiusurio Suporte a nomes extensos de arquivos e diretrios (255 caracteres) Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc. Proteo entre processos executados na memria RAM Suporte a mais de 63 terminais virtuais (consoles) Modularizao - O GNU/Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo nalizado Devido a modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento. Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo) No h a necessidade de se reiniciar o sistema aps a modicar a congurao de qualquer perifrico ou parmetros de rede. Somente necessrio reiniciar o sistema no caso de uma instalao interna de um novo perifrico, falha em algum hardware (queima do processador, placa me, etc.). No precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memria RAM (sem rodar o sistema grco X, que recomendado 8MB de RAM). J pensou no seu desempenho em um 486 ou Pentium ;-) O crescimento e novas verses do sistema no provocam lentido, pelo contrrio, a cada nova verso os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos teis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x). No requerida uma licena para seu uso. O GNU/Linux licenciado de acordo com os termos da GPL. Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc. Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM. NO EXISTEM VRUS NO LINUX! Em 13 anos de existncia, nunca foi registrado NENHUM tipo de infeces desde que respeitadas as recomendaes padro de poltica de segurana e uso de contas privilegiadas (como a de root, como veremos adiante). O sistema oferece restries de de acesso do sistema de arquivos e durante a execuo de programas. Frequentemente so criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para danicar o sistema. Erroneamente este tipo de ataque classicado como vrus por pessoas mal informadas e so resolvidas corrigindo a falha que foi descoberta. Em geral, usando uma boa distribuio que tenha um bom sistema de atualizao resolve em 99.9% os problemas com exploits. Lembre-se que o formato padro de arquivos do Linux ELF, qualquer programa (nocivo ou no) que tenha privilgios adequados, podem escrever em qualquer lugar.
Chapter 1. Introduo
Rede TCP/IP mais rpida que no Windows e tem sua pilha constantemente melhorada. O GNU/Linux tem suporte nativo a redes TCP/IP e no depende de uma camada intermediria como o WinSock. Em acessos via modem a Internet, a velocidade de transmisso 10% maior. Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da maior velocidade do Jogo em rede. fcil rodar um servidor Quake em seu computador e assim jogar contra vrios adversrios via Internet. Roda aplicaes DOS atravs do DOSEMU. Para se ter uma idia, possvel dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema. Roda aplicaes Windows atravs do WINE. Suporte a dispositivos infravermelho. Suporte a rede via rdio amador. Suporte a dispositivos Plug-and-Play. Suporte a dispositivos USB. Vrios tipos de rewalls de alta qualidade e com grande poder de segurana de graa. Roteamento esttico e dinmico de pacotes. Ponte entre Redes. Proxy Tradicional e Transparente. Possui recursos para atender a mais de um endereo IP na mesma placa de rede, sendo muito til para situaes de manuteno em servidores de redes ou para a emulao de mais computadores virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usurio que se conecta tem a impresso que a rede possui servidores diferentes. O sistema de arquivos usado pelo GNU/Linux (Ext2) organiza os arquivos de forma inteligente evitando a fragmentao e fazendo-o um poderoso sistema para aplicaes multi-usurias exigentes e gravaes intensivas. Permite a montagem de um servidor Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, distribudo gratuitamente junto com o Linux. O mesmo acontece com o Sendmail. Por ser um sistema operacional de cdigo aberto, voc pode ver o que o cdigo fonte (o que foi digitado pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta caracterstica uma segurana a mais para empresas srias e outros que no querem ter seus dados roubados (voc no sabe o que um sistema sem cdigo fonte faz na realidade enquanto esta processando o programa). Suporte a diversos dispositivos e perifricos disponveis no mercado, tanto os novos como obsoletos. Pode ser executado em 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.). Consultores tcnicos especializados no suporte ao sistema espalhados por todo o mundo. Entre muitas outras caractersticas que voc descobrir durante o uso do sistema. TODOS OS TENS DESCRITOS ACIMA SO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.
Chapter 1. Introduo
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 h 12 anos atrs com o objetivo de desenvolver um sistema operacional Unix-like totalmente livre. Livre se refere liberdade, e no ao preo; signica que voc est livre para executar, distribuir, estudar, mudar e melhorar o software. Um sistema Unix-like consiste de muitos programas diferentes. Ns achamos alguns componentes j disponveis como softwares livres por exemplo, X Window e TeX. Obtemos outros componentes ajudando a convencer seus desenvolvedores a tornarem eles livres por exemplo, o Berkeley network utilities. Outros componentes ns escrevemos especicamente para o GNU por exemplo, GNU Emacs, o compilador GNU C, o GNU C library, Bash e Ghostscript. Os componentes desta ltima categoria so software GNU. O sistema GNU consiste de todas as trs categorias reunidas. O projeto GNU no somente desenvolvimento e distribuio de alguns softwares livres teis. O corao do projeto GNU uma idia: que software deve ser livre, e que a liberdade do usurio vale a pena ser defendida. Se as pessoas tm liberdade mas no a apreciam conscientemente, no iro mant-la por muito tempo. Se queremos que a liberdade dure, precisamos chamar a ateno das pessoas para a liberdade que elas tm em programas livres. O mtodo do projeto GNU que programas livres e a idia da liberdade dos usurios ajudamse mutuamente. Ns desenvolvemos software GNU, e conforme as pessoas encontrem programas GNU ou o sistema GNU e comecem a us-los, elas tambm pensam sobre a losoa GNU. O software mostra que a idia funciona na prtica. Algumas destas pessoas acabam concordando com a idia, e ento escrevem mais programas livres. Ento, o software carrega a idia, dissemina a idia e cresce da idia. Em 1992, ns encontramos ou criamos todos os componentes principais do sistema exceto o kernel, que ns estvamos escrevendo. (Este kernel consiste do microkernel Mach mais o GNU HURD. Atualmente ele est funcionando, mas no est preparado para os usurios. Uma verso alfa dever estar pronta em breve.) Ento o kernel do Linux tornou-se disponvel. Linux um kernel livre escrito por Linus Torvalds compatvel com o Unix. Ele no foi escrito para o projeto GNU, mas o Linux e o quase completo sistema GNU zeram uma combinao til. Esta combinao disponibilizou todos os principais componentes de um sistema operacional compatvel com o Unix, e, com algum trabalho, as pessoas o tornaram um sistema funcional. Foi um sistema GNU variante, baseado no kernel do Linux. Ironicamente, a popularidade destes sistemas desmerece nosso mtodo de comunicar a idia GNU para as pessoas que usam GNU. Estes sistemas so praticamente iguais ao sistema GNU a principal diferena a escolha do kernel. Porm as pessoas normalmente os chamam de sistemas Linux (Linux systems). A primeira impresso que se tem a de que um sistema Linux soa como algo completamente diferente de sistema GNU, e isto que a maioria dos usurios pensam que acontece. A maioria das introdues para o sistema Linux reconhece o papel desempenhado pelos
Chapter 1. Introduo
componentes de software GNU. Mas elas no dizem que o sistema como um todo uma variante do sistema GNU que o projeto GNU vem compondo por uma dcada. Elas no dizem que o objetivo de um sistema Unix-like livre como este veio do projeto GNU. Da a maioria dos usurios no saber estas coisas. Como os seres humanos tendem a corrigir as suas primeiras impresses menos do que as informaes subseqentes tentam dizer-lhes, estes usurios que depois aprendem sobre a relao entre estes sistemas e o projeto GNU ainda geralmente o subestima. Isto faz com que muitos usurios se identiquem como uma comunidade separada de usurios de Linux, distinta da comunidade de usurios GNU. Eles usam todos os softwares GNU; de fato, eles usam quase todo o sistema GNU; mas eles no pensam neles como usurios GNU, e freqentemente no pensam que a losoa GNU est relacionada a eles. Isto leva a outros problemas tambm mesmo dicultando cooperao com a manuteno de programas. Normalmente quando usurios mudam um programa GNU para fazer ele funcionar melhor em um sistema especco, eles mandam a mudana para o mantenedor do programa; ento eles trabalham com o mantenedor explicando a mudana, perguntando por ela, e s vezes reescrevendo-a para manter a coerncia e mantenebilidade do pacote, para ter o patch instalado. Mas as pessoas que pensam nelas como usurios Linux tendem a lanar uma verso Linuxonly do programa GNU, e consideram o trabalho terminado. Ns queremos cada e todos os programas GNU que funcionem out of the box em sistemas baseados em Linux; mas se os usurios no ajudarem, este objetivo se torna muito mais difcil de atingir. Como deve o projeto GNU lidar com este problema? O que ns devemos fazer agora para disseminar a idia de que a liberdade para os usurios de computador importante? Ns devemos continuar a falar sobre a liberdade de compartilhar e modicar software e ensinar outros usurios o valor destas liberdades. Se ns nos beneciamos por ter um sistema operacional livre, faz sentido para ns pensar em preservar estas liberdades por um longo 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.
Chapter 1. Introduo
10
11
Chapter 2
Explicaes Bsicas
Este captulo traz explicaes sobre os principais componentes existentes no computador e do sistema operacional.
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
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 (ou console) o teclado e tela conectados em seu computador. O GNU/Linux faz uso de sua caracterstica multi-usuria usando os terminais virtuais. Um terminal virtual uma segunda seo de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente via telnet, rsh, rlogin, etc. No GNU/Linux, em modo texto, voc pode acessar outros terminais virtuais segurando a tecla ALT e pressionando F1 a F6. Cada tecla de funo corresponde a um nmero de terminal do 1 ao 6 (o stimo usado por padro pelo ambiente grco X). O GNU/Linux possui mais de 63 terminais virtuais, mas apenas 6 esto disponveis inicialmente por motivos de economia de memria RAM (cada terminal virtual ocupa aproximadamente 350 Kb de memria RAM, desative a quantidade que no estiver usando para liberar memria RAM para uso de outros programas!) . Se estiver usando o modo grco, voc deve segurar CTRL+ ALT enquanto pressiona uma tela de <F1> a <F6>. Um exemplo prtico: Se voc estiver usando o sistema no Terminal 1 com o nome joao e desejar entrar como root para instalar algum programa, segure ALT enquanto pressiona <F2> para abrir o segundo terminal virtual e faa o login como root. Ser aberta uma nova seo para o usurio root e voc poder retornar a hora que quiser para o primeiro terminal pressionando ALT+<F1>.
2.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:
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.
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
Chapter 3
Hardware
Hardware tudo que diz respeito a parte fsica do computador. Nesta seo sero abordados assuntos relacionados com a congurao de hardwares, escolha de bons hardwares, dispositivos for Windows, etc.
3.1
Placa de expanso
um circuito eletrnico encaixado na placa me que tem por objetivo adicionar novas funcionalidades ao computador. Esta placa pode ser uma: placa de som - para fazer o computador emitir sons, msicas, ligar um joystick, etc. fax-modem - para enviar/receber fax, conectar-se a internet, BBS, acesso remoto, bina, etc. rede - para permitir a comunicao com outros computadores em uma rede interna controladora de perifricos - Para ligar discos rgidos, unidades de disquete, impressora, mouse, joystick, etc. SCSI - Para ligar unidades de disco rgidos e perifricos de alto desempenho. Controladora de Scanner - Para ligar um Scanner externo ao micro computador. O encaixe da placa me que recebe as placas de expanso so chamados de Slots.
3.2
Nomes de dispositivos
Seria terrvel se ao congurar CADA programa que utilize o mouse ou o modem precisssemos nos se referir a ele pela IRQ, I/O, etc. . . para evitar isso so usados os nomes de dispositivos.
Chapter 3. Hardware
16
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/ttyS0. 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
I/O 0x3F8 0x2F8 0x3E8 0x2E8 0x378 0x278 0x1F0,0x3F6 0x1F0,0x3F6 0x170,0x376
* A designao de letras de unidade do DOS no padro como no GNU/Linux e depende da existncia de outras unidades fsicas/lgicas no computador.
3.3
Congurao de Hardware
A congurao consiste em ajustar as opes de funcionamento dos dispositivos (perifricos) para comunicao com a placa me. Um sistema bem congurado consiste em cada dispositivo funcionando com suas portas I/O, IRQ, DMA bem denidas, no existindo conitos com outros dispositivos. Isto tambm permitir a adio de novos dispositivos ao sistema sem problemas. importante conhecer bem a congurao dos dispositivos do sistema para saber identicar e corrigir possveis problemas de conitos e o que deve ser modicado, caso seja necessrio. Os parmetros usados para congurar dispositivos de hardware so a IRQ, DMA e I/O. Nem todo dispositivo usam estes trs parmetros, alguns apenas a I/O e IRQ, outros apenas a I/O, etc.
Chapter 3. Hardware
17
3.3.1
Existem dois tipos bsicos de interrupes: as usadas por dispositivos (para a comunicao com a placa me) e programas (para obter a ateno do processador). As interrupes de software so mais usadas por programas, incluindo o sistema operacional e interrupes de hardware mais usado por perifricos. Daqui para frente ser explicado somente detalhes sobre interrupes de hardware. Os antigos computadores 8086/8088 (XT) usavam somente 8 interrupes de hardware operando a 8 bits. Com o surgimento do AT foram includas 8 novas interrupes, operando a 16 bits. Os computadores 286 e superiores tem 16 interrupes de hardware numeradas de 0 a 15. Estas interrupes oferecem ao dispositivo associado a capacidade de interromper o que o processador estiver fazendo, pedindo ateno imediata. As interrupes do sistema podem ser visualizadas no kernel com o comando cat /proc/interrupts. Abaixo um resumo do uso mais comum das 16 interrupes de hardware: 0 01 02 Timer do Sistema Teclado - Fixa Controlador de Interrupo Programvel - Fixa. Esta interrupo usada como ponte para a IRQ 9 e vem dos antigos processadores 8086/8088 que somente tinham 8 IRQs. Assim, pera tornar processadores 8088 e 80286 comunicveis, a IRQ 2 usada como um redirecionador quando se utiliza uma interrupo acima da 8. Normalmente usado por /dev/ttyS1 mas seu uso depende dos dispositivos instalados em seu sistema (como fax-modem, placas de rede 8 bits, etc). Normalmente usado por /dev/ttyS0 e quase sempre usada pelo mouse serial a no ser que um mouse PS2 esteja instalado no sistema. Normalmente a segunda porta paralela. Muitos micros no tem a segunda porta paralela, assim comum encontrar placas de som e outros dispositivos usando esta IRQ. Controlador de Disquete - Esta interrupo pode ser compartilhada com placas aceleradoras de disquete usadas em tapes (unidades de fita). Primeira porta de impressora. Pessoas tiveram sucesso compartilhando esta porta de impressora com a segunda porta de impressora. Muitas impressoras no usam IRQs. - Fixa
03
04
05
06
07
Chapter 3. Hardware
18
08
Relgio em tempo real do CMOS - No pode ser usado por nenhum outro dispositivo. Esta uma ponte para IRQ2 e deve ser a ltima IRQ a ser utilizada. No entanto pode ser usada por dispositivos. Interrupo normalmente livre para dispositivos. O controlador USB utiliza essa interrupo quando presente, mas no regra. Interrupo livre para dispositivos Interrupo normalmente livre para dispositivos. O mouse PS/2, quando presente, utiliza esta interrupo. Processador de dados numricos - No pode ser usada ou compartilhada Esta interrupo usada pela primeira controladora de discos rgidos e no pode ser compartilhada. Esta a interrupo usada pela segunda controladora de discos e no pode ser compartilhada. Pode ser usada caso a segunda controladora esteja desativada.
09
10
11 12
13 14
15
Dispositivos ISA, VESA, EISA, SCSI no permitem o compartilhamento de uma mesma IRQ, talvez isto ainda seja possvel caso no haja outras opes disponveis e/ou os dois dispositivos no acessem a IRQ ao mesmo tempo, mas isto uma soluo precria. Conitos de IRQ ocorrem quando dois dispositivos disputam uma mesma IRQ, e normalmente ocasionam a parada ou mal funcionamento de um dispositivo e/ou de todo o sistema. Para resolver um conito de IRQs, deve-se conhecer quais IRQs esto sendo usadas por quais dispositivos (usando cat /proc/interrupts) e congurar as interrupes de forma que uma no entre em conito com outra. Isto normalmente feito atravs dos jumpers de placas ou atravs de software (no caso de dispositivos jumperless ou plug-and-play). Dispositivos PCI so projetados para permitir o compartilhamento de uma mesma IRQ pois as manipulam de forma diferente. Se for necessrio usar uma interrupo normal, o chipset (ou BIOS) mapear a interrupo para uma interrupo normal do sistema (normalmente usando alguma interrupo entre a IRQ 9 e IRQ 12). Prioridade das Interrupes Cada IRQ no sistema tem um nmero que identica a prioridade que ser atendida pelo processador. Nos antigos sistemas XT as prioridades eram identicadas em seqncia de acordo com as interrupes existentes: IRQ 0 1 2 3 4 5 6 7 8
Chapter 3. Hardware
19
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
A DMA usada para permitir a transferncia de dados entre dispositivos I/O e a memria sem precisar do processador faze-lo. Ele livra esta carga do processador e resulta em uma rpida transferncia de dados. O PC padro tem dois controladores de DMA. O primeiro controla os canais 0, 1, 2, 3 e o segundo os canais 4, 5, 6, 7, assim temos 8 canais. No entanto, o canal 4 perdido porque usado pelo controlador de acesso direto a memria. Os canais 0-3 so chamados de canais baixos porque podem somente mover um byte (8 bits) por transferncia enquanto canais altos movem 2 bytes (16 bits) por transferncia. Os dados movidos usando a DMA no so movidos atravs do controlador de DMA. Isto oferece uma limitao porque a DMA somente podem mover dados entre os dispositivos (portas I/O) e a memria. No possvel mover dados entre as portas ou entre a memria. Existem dois controladores de DMA nos computadores AT e superiores. Ao contrrio do que acontece com os dois controladores de IRQ, o primeiro controlador ligado ao segundo e no o segundo ao primeiro. Os canais de DMA altos (5 ao 7) somente podem ser acessados por dispositivos de 16 bits (aqueles que utilizam a segunda parte do slot AT). Como resultado temos 8 canais de DMA, de 0 a 7, sendo que a DMA 4 usada como ligao entre eles. Os canais de DMA em uso no sistema podem ser visualizados com cat /proc/dma. Abaixo uma listagem de uso mais comum dos canais de DMA. DMA 0 1 Barram. 8/16 bits Uso Usada pelo circuito de refresh da memria DRAM Normalmente usado por placas de som (canal 8 bits), porta paralela ECP, adaptadoras SCSI, placas de rede ou controladora de scanner. Normalmente usado pela controladora de disquetes ou controladoras de tapes. Usado pela porta paralela ECP, placa de som, controladoras de tapes, controladoras SCSI ou
2 3
Chapter 3. Hardware
20
4 5
16 bits
6 7
16 bits 16 bits
controladora de scanner antiga. Usada como ponte para a outra controladora de Normalmente usada pela placa de som (canal 16 placas controladoras SCSI, placas de rede ou controladora de scanner. Placa de som (canal 16 bits), controladora de ou placa de rede. Placa de som (canal 16 bits), controladora de ou placa de rede.
scanner scanner
Somente dispositivos ISA e derivados dele, como o EISA e VESA, usam os canais de DMA padro. Os atuais dispositivos de alta taxa de transferncia (normalmente PCI) possuem seu prprio controlador de DMA embutido, muito mais rpido do que a DMA padro. Este controlador de DMA chamado de Bus Mastering e muito usado nos discos rgidos atuais e pode atingir taxas de 33,3MB/s (no modo 2) e 66MB/s (no modo 4 - requer um cabo IDE com aterramento para evitar interferncias de rudos externos). Conitos de DMA Um canal de DMA no pode ser compartilhado entre dispositivos. Ainda possvel congurar dois dispositivos para usarem um mesmo canal de DMA, desde que ele no seja usado ao mesmo tempo. Isto acontece com Scanners paralelos que compartilham a mesma porta paralela com a impressora. Se voc for uma pessoa que explora os recursos de multitarefa de seu Linux e seu desempenho, evite estes tipos de dispositivos, prera aqueles que utilizam seus prprios recursos. Quando ocorre um conito de DMA, os dados podem ser misturados e ocorrerem coisas estranhas at o travamento total do sistema. Este tipo de conito difcil de se diagnosticar, a no ser que o tcnico seja experiente o bastante e tenha desconado do que o problema se trata. . .
3.3.3
Cada dispositivo possui um endereo de porta. O endereo uma localizao da memria usada pelo computador para enviar dados ao dispositivo e onde o dispositivo envia dados ao computador. Ao contrrios da IRQ e DMA, o dispositivo pode usar mais de uma porta de Entrada/Sada ou uma faixa de endereos. Por exemplo, uma placa de som padro usa as portas 0x220, 0x330 e 0x388, respectivamente audio digital, midi e opl3. As placas de rede normalmente transferem grandes quantidades de dados, assim ocupam uma faixa de endereos. Minha NE2000, por exemplo, ocupa a faixa de endereos 0x260 a 0x27F (0x260-0x27F). O tamanho da faixa de endereos varia de acordo com o tipo de dispositivo. Os endereos de I/O em uso no sistema podem ser visualizados com o comando cat /proc/ioports. Endereos das portas de entrada/sada no podem ser compartilhados
Chapter 3. Hardware
21
3.4
3.4.1
Hardwares congurveis por jumpers (pinos metlicos protegidos por uma capa plstica) tem sua congurao alterada atravs da colocao, retirada ou mudana de posio. Hardwares congurveis por jumpers so os preferidos por tcnicos de informtica muito experientes. Estes hardwares possuem a caracterstica de somente terem seus parmetros modicados atravs da mudana da posio dos jumpers da placa, desta forma se obtm uma congurao xa (no podendo ser modicada por qualquer tipo de programa) e o dispositivo estar sempre pronto para ser ativado aps a inicializao de qualquer sistema operacional. O nico inconveniente a necessidade de se retirar a placa do computador para se ter acesso aos jumpers de congurao, a no ser que estejam manualmente acessveis. Alguns hardwares congurveis atravs de jumpers podem tambm funcionar como Plug-and-Play, atravs de um ajuste da posio dos jumpers para Plug-and-Play. Normalmente as placas controladoras SIDE, rede, bons modelos de fax-modens, placas de som, SCSI, etc., so conguradas por jumpers e possuem um mapa de congurao gravado em seu circuito impresso que explica as posies de como os jumpers devem ser posicionados para operar na congurao desejada. Normalmente possvel escolher uma entre vrios tipos de congurao, mas recomendado optar por valores padres (para detalhes veja IRQ Requisio de Interrupo on page 17, DMA - Acesso Direto a Memria on page 19 e I/O Porta de Entrada/Sada on the preceding page). As disposio dos jumpers so normalmente denidas em fechado/aberto e multi-posio. Na disposio fechado/aberto, o jumper pode ou no ser colocado, denindo a congurao do dispositivo: ::|:: Esta disposio facilmente encontrada na seleo de IRQ e I/O em placas de fax-modem. Na disposio multi-posio, os pinos de encaixe so numerados de 1 a 3 (ou 1 a 4, 1 a 5, etc) e os pinos podem ou no ser colocados na placa e a posio que so colocados tambm inuencia os valores escolhidos para o funcionamento do dispositivo (a posio 1-2 especicam um valor enquanto 2-3 especicam outro). A associao entre a posio dos jumpers e a congurao desejada feita consultando o mapa desenhado no circuito impresso da placa ou o manual de instrues da placa. A congurao de jumper atravs de multi-posio normalmente usada em placas me para denir a freqncia de operao do barramento, a freqncia de multiplicao ou o tipo do processador. Se no possuir o mapa de congurao de sua placa e/ou o manual de instrues, ser necessrio fazer um mapeamento manual da placa, mas para isto voc precisar conhecer detalhadamente a congurao de portas I/O, DMA, IRQ usadas na mquina que ser usada
Chapter 3. Hardware
22
e anotar as diferenas obtidas atravs da modicao da pinagem do dispositivo. Isto no fcil, mas tcnicos de informtica experientes conhecero as armadilhas encontradas pelo mapeamento manual de placas e faro o esquema de congurao completo do dispositivo, obtendo um excelente manual de instrues. Nesta hora a experincia conta mais que o uso de programas de diagnstico. Outra caracterstica de hardwares congurados atravs de jumpers que raramente apresentam problemas de funcionamento, a no ser que seus parmetros como IRQ, DMA, ou I/O estejam em conitos com outro dispositivo, mas isso no culpa do fabricante e nem mesmo do dispositivo. . .
3.4.2
Dip-Switches
a mesma coisa que os hardwares congurveis por jumpers exceto que so usados dipswitches no lugar de jumpers. O dip-switches um conjunto de chaves numeradas que podem ser colocadas para cima ou para baixo (como um disjuntor ou vrios interruptores LIGA/DESLIGA colocados um ao lado do outro) para se modicar a congurao do dispositivo. Normalmente as chaves esto acessveis na parte metlica da placa (onde os hardwares so conectados) para permitir a fcil mudana de congurao sem retirar a placa. ainda comum encontrar isto em algumas placas de fax-modem.
3.4.3
Os hardwares jumperless no possuem jumpers e so congurados atravs de um programa que acompanha a prpria placa. Neste programa escolhida a IRQ, DMA, I/O e a congurao salva na prpria placa ou restaurada aps cada inicializao por um programa carregado na memria. Devido a congurao via software, se obtm uma congurao xa com muito mais facilidade do que via jumpers (por no haver a necessidade de se retirar a placa). A maioria das placas jumperless podem funcionar tambm como Plug-and-Play. Existem muitas placas de rede, fax-modem, scanner jumperless no mercado.
3.4.4
Plug-and-Play
O Plug-and-Play um protocolo que l os valores de operao disponveis para a placa e permitem que o usurio possa especicar facilmente qual ser sua IRQ, DMA, I/O. A diferena em relao ao modo jumperless que o mesmo programa de congurao Plugand-Play permite congurar todas as placas Plug-and-Play e a placa somente recebe os valores de IRQ, DMA e I/O aps ser ativada por este programa, normalmente o isapnp no Linux. Isto signica que a placa no tem nenhum parmetro de IRQ, DMA e I/O na partida do sistema. Desta forma, somente sistemas operacionais que possuem suporte ao Plug-and-Play (como o GNU/Linux, Windows) ou programas acionadores PnP (como o ICU para o DOS) podem ativar e usar estes tipos de placas.
Chapter 3. Hardware
23
Placas Plug-and-Play permitem muita exibilidade de congurao de dispositivos. O programa usado para a congurao de placas Plug-and-Play no GNU/Linux o isapnp e a congurao de todas as placas Plug-and-Play so denidas no arquivo /etc/isapnp.conf. Veja a prxima seo para entender como funciona o arquivo de congurao isapnp.conf e assim poder ativar seu dispositivo Plug-and-Play. Entendendo o arquivo de congurao isapnp.conf Segue abaixo um exemplo de arquivo /etc/isapnp.conf gerado atravs do pnpdump para a congurao de uma placa de Som Sound Blaster com porta IDE embutida no GNU/Linux. O objetivo congurar a placa Sound Blaster para operar na congurao: IO=0x220 IRQ=5 DMA=1 DMA16=5 MIDI=0x330 OPL=0x388 IDE operando como placa controladora quartenria na porta 0x168/0x36e - Ns queremos ligar um HD na placa de som, SIM o GNU/Linux permite isso, e ele ser congurado como /dev/hdg1 JOYSTICK na porta 0x220 - bom para jogos e controle do xmms Observe que as linhas iniciando com # so apenas comentrios e no sero interpretadas pelo isapnp: # # # # # # $Id: pnpdump.c,v 1.21 1999/12/09 22:28:33 fox Exp $ Release isapnptools-1.21 (library isapnptools-1.21) Para detalhes do formato do arquivo de sada, veja a pgina de manual do isapnp.conf
# A seo abaixo faz o isolamento da placa atravs da BIOS (normalmente no # precisa ser alterado). Com a configurao abaixo, os dados sobre # dispositivos sero obtidos diretamente da BIOS. # Em placas me que no suportam Plug-and-Play, necessrio apenas o # parmetro (ISOLATE) para que o isapnp possa assumir totalmente o controle # para identificao dos dispositivos Plug-and-Play (READPORT 0x0273) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # ou WARNING # Card 1: (serial identifier fc 10 01 fb 5d 28 00 8c 0e)
Chapter 3. Hardware
24
# # # # # # # # #
Vendor Id CTL0028, Serial Number 268565341, checksum 0xFC. Version 1.0, Vendor version 1.0 ANSI string -->Creative SB16 PnP<--
Descomente os valores desejados abaixo, selecionando a configurao requerid Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum) "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)" Para ativar as configuraes selecionadas, basta descomentar a linha "#(ACT Y)" no final do bloco de configurao.
(CONFIGURE CTL0028/268565341 (LD 0 # ANSI string -->Audio<-# Pela string acima, esta a configurao de Audio da Sound Blaster # Hora de mltiplas escolhas, escolha apenas uma! # Inicia funes dependentes, classificada por prioridade aceitvel # # IRQ 5, 7 ou 10. (INT 0 (IRQ 5 (MODE +E))) # Foi especificada a IRQ 5 na configurao acima # Primeiro canal DMA 0, 1 ou 3. # Somente DMA de 8 bits # Dispositivo lgico no um bus master # DMA may execute in count by byte mode # DMA may not execute in count by word mode # DMA channel speed in compatible mode (DMA 0 (CHANNEL 1)) # O valor da DMA 8 bits padro 0 (o mais baixo), mas este no o valor # que desejamos. Ajustamos o valor para 1. # Next DMA channel 5, 6 or 7. # 16 bit DMA only # Logical device is a bus master # DMA may not execute in count by byte mode # DMA may execute in count by word mode # DMA channel speed in compatible mode (DMA 1 (CHANNEL 5)) # O canal DMA 16 bits desejado para a Sound Blaster o 5. Apenas # descomentamos a linha acima. # # # # # Logical device decodes 16 bit IO address lines Minimum IO base address 0x0220 Maximum IO base address 0x0280 IO base alignment 32 bytes Number of IO addresses required: 16
Chapter 3. Hardware
25
(IO 0 (SIZE 16) (BASE 0x0220)) # Apenas descomentamos a linha. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0300 # Maximum IO base address 0x0330 # IO base alignment 48 bytes # Number of IO addresses required: 2 (IO 1 (SIZE 2) (BASE 0x0330)) # O valor padro 0x0300 para a porta MIDI, mas ns desejamos usar o # valor 0x0330. Descomentamos a linha e alteramos o valor da I/O. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0388 # Maximum IO base address 0x0388 # IO base alignment 1 bytes # Number of IO addresses required: 4 (IO 2 (SIZE 4) (BASE 0x0388)) # Apenas descomentamos a linha. 0x0388 um valor padro para OPL # Fim de funes dependentes (NAME "CTL0028/268565341[0]{Audio }") (ACT Y) #Descomentamos para ativar este bloco de configurao acima ))
######################################## # Logical device id CTL2011 # # Descomente os valores desejados abaixo, selecionando a configurao requerid # Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum) # "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)" # Para ativar as configuraes selecionadas, basta descomentar a linha # "#(ACT Y)" no final do bloco de configurao. (CONFIGURE CTL0028/268565341 (LD 1 # Compatible device id PNP0600 # ANSI string -->IDE<-# Pela string acima sabemos que esta a configurao da IDE embutida na SB # Hora de mltiplas escolhas, escolha apenas uma! # Inicia funes dependentes: Prioridade Preferida # IRQ 10. (INT 0 (IRQ 10 (MODE +E))) # Descomentamos e aceitamos o valor acima, pois no entra em conflito com
Chapter 3. Hardware
26
# nenhum outro dispositivo do sistema. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x0168 # Maximum IO base address 0x0168 (IO 0 (SIZE 8) (BASE 0x0168)) # Descomentamos e aceitamos o valor acima, pois no entra em conflito com # nenhum outro dispositivo do sistema. # Logical device decodes 16 bit IO address lines # Minimum IO base address 0x036e # Maximum IO base address 0x036e # IO base alignment 1 bytes # Number of IO addresses required: 2 (IO 1 (SIZE 2) (BASE 0x036e)) # Descomentamos e aceitamos o valor acima, pois no entra em conflito com # nenhum outro dispositivo do sistema. #
End dependent functions (NAME "CTL0028/268565341[1]{IDE }") (ACT Y) # Descomentando esta linha, a placa IDE da Sound Blaster passar a # funcionar como IDE quartenria (de acordo com os recursos passados) ))
####################################### # Logical device id CTL7001 # # Descomente os valores desejados abaixo, selecionando a configurao requerid # Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum) # "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)" # Para ativar as configuraes selecionadas, basta descomentar a linha # "#(ACT Y)" no final do bloco de configurao. (CONFIGURE CTL0028/268565341 (LD 3 # Compatible device id PNPb02f # ANSI string -->Game<-# Pela string acima sabemos que a Entrada para Joystick # # # # # Logical device decodes 16 bit IO address lines Minimum IO base address 0x0200 Maximum IO base address 0x0200 IO base alignment 1 bytes Number of IO addresses required: 8 (IO 0 (SIZE 8) (BASE 0x0200)) (NAME "CTL0028/268565341[3]{Jogo }")
Chapter 3. Hardware
27
(ACT Y) # Sem muitos comentrios... descomentamos a linha IO acima e # ativamos a configurao (descomentando (ACT Y)). A diferena # que especificamos o nome GAME para o recurso atravs da # linha (NAME "CTL0028/268565341[3]{Jogo }") # Este nome ser mostrado quando o Joystick for ativado )) # Returns all cards to the Wait for Key state (WAITFORKEY)
Note ainda que o isapnp.conf gerado atravs do pnpdump contm vrios tipos de prioridades de congurao para o mesmo bloco de congurao e a prioridade que usamos acima foi priority acceptable para o bloco de audio da Sound Blaster e priority preferred para a porta IDE e Joystick. Os tipos de prioridades disponveis so:
priority preferred - Congurao preferida para o funcionamento do hardware. a recomendada pelo fabricante do hardware e tambm recomendvel se voc no tem muita experincia na congurao de hardwares, pois lista somente uma congurao por recurso. Se a placa entrar em conito com outras placas usando priority preferred, tente a priority acceptable. priority acceptable - Lista todas as conguraes aceitas pelo seu hardware. Ela minha opo preferida, pois permite analisar dinamicamente todas as conguraes permitidas pelo hardware e escolher qual a mais adequada para funcionar sem problemas no sistema. priority functional - Pode conter 1 ou mais blocos de prioriade funcional por hardware. Note que alguns recursos do hardware podem no estar disponvel neste tipo de prioridade. til para uso em casos de conito, quando o hardware pode ser colocado em funcionamento de forma alternativa ou parcial.
Aps a gravao do arquivo /etc/isapnp.conf, basta voc digitar isapnp /etc/isapnp.conf para ativar a congurao dos dispositivos listados com as conguraes que voc escolheu. Se o isapnp lhe mostrar mensagens de conito ou qualquer outro problema, verique as conguraes do hardware e modique, se necessrio. Depois execute novamente o /etc/isapnp.conf. Para detalhes sobre outros parmetros no explicados aqui, veja a pgina de manual do isapnp.conf. A maioria das distribuies GNU/Linux congura os dispositivos Plug-and-Play existentes neste arquivo automaticamente na inicializao (como o caso da Debian e a Red Hat). Se este no for o seu caso, coloque a linha isapnp /etc/isapnp.conf em um dos scripts de inicializao de sua distribuio.
Chapter 3. Hardware
28
3.5
Administradores e tcnicos ao congurar uma mquina precisaro saber quais os hardwares ela possui, perifricos e at mesmo a reviso de dispositivos e clock para congurar as coisas e ver a necessidade de atualizaes de dispositivos atuais. Dispositivos PCI/AMR/CNR podem ser listados executando o comando cat /proc/pci. Outra forma de listar tais dispositivos usando o lspci, se voc precisa de mais detalhes como o mapeamento de memria, use lspci -vv. O mapeamento de memria de dispositivos podem ser mostrados com o comando cat /proc/ioports, ou usando o comando lsdev. O barramento USB e dispositivos conectados a ele podem ser listados com o comando lsusb ou com cat /proc/bus/usb/devices. Hardwares disponveis na mquina, como placa me, clock multiplicador, discos, placas diversas, verses e nmeros seriais de dispositivos podem ser mostrados atravs do comando lshw. Use lshw -html para produzir a listagem em formato HTML, bem interessante para relatrios :-)
3.6
Conitos de hardware
Ocorre quando um ou mais dispositivos usam a mesma IRQ, I/O ou DMA. Um sistema com conguraes de hardware em conito tem seu funcionamento instvel, travamentos constantes, mal funcionamento de um ou mais dispositivos e at mesmo, em casos mais graves, a perda de dados. Sempre que possvel conhea e utilize os valores padres para a congurao de perifricos, isto pode te livrar de conitos com outros dispositivos e mal funcionamento do sistema. Alguns programas de diagnstico ou de auto-deteco podem no localizar seu dispositivo caso ele esteja usando um valor muito diferente do padro. Para resolver conitos de hardware ser necessrio conhecer a congurao de cada dispositivo em seu sistema. Os comandos cat /proc/interrupts, cat /proc/dma e cat /proc/ioports podem ser teis para se vericar as conguraes usadas. Lembre-se que o barramento PCI permite o compartilhamento de IRQs entre placas PCI.
3.7
Barramento
O tipo de slot varia de acordo com o barramento usado no sistema, que pode ser um(s) do(s) seguinte(s): ISA 8 Bits Industry Standard Architecture - o padro mais antigo, encontrado em computadores PC/XT.
Chapter 3. Hardware
29
ISA 16 Bits Evoluo do padro ISA 8 Bits, possui um conector maior e permite a conexo de placas de 8 bits. Sua taxa de transferncia chega a 2MB/s. VESA Video Electronics Standard Association - uma interface feita inicialmente para placas de vdeo rpidas. O barramento VESA basicamente um ISA com um encaixe extra no nal. Sua taxa de transferncia pode chegar a 132MB/s. EISA Enhanced Industry Standard Architecture - um barramento mais encontrado em servidores. Tem a capacidade de bus mastering, que possibilita a comunicao das placas sem a interferncia da CPU. MCA Micro Channel Architecture - Barramento 32 bits proprietrio da IBM. Voc no pode usar placas ISA nele, possui a caracterstica de bus mastering, mas pode procurar por dispositivos conectados a ele, procurando congurao automtica. Este barramento estava presente no PS/1 e PS/2, hoje no mais usado. PCI Peripheral Component Interconnect - outro barramento rpido produzido pela Intel com a mesma velocidade que o VESA. O barramento possui um chipset de controle que faz a comunicao entre os slots PCI e o processador. O barramento se congura automaticamente (atravs do Plug-and-Play). O PCI o barramento mais usado por Pentiums e est se tornando uma padro no PC. AGP Accelerated Graphics Port - um novo barramento criado exclusivamente para a ligao de placas de video. um slot marrom (em sua maioria) que ca mais separado do ponto de xao das placas no chassis (comparado ao PCI). Estas placas permitem obter um desempenho elevado de vdeo se comparado as placas onboards com memria compartilhada e mesmo PCI externas. O consumo de potncia em placas AGP x4 podem chegar at a 100W, portanto importante dimensionar bem o sistema e ter certeza que a fonte de alimentao pode trabalhar com folga. PCMCIA Personal Computer Memory Card International Association - um slot especial usado para conexes de placas externas (normalmente revestivas de plstico) e chamadas de cartes PCMCIA. Estes cartes podem adicionar mais memria ao sistema, conter um fax-modem, placa de rede, disco rgido, etc. Os cartes PCMCIA so divididos em 3 tipos: Tipo 1 Tem a espessura de 3.3 milmetros, e podem conter mais memria RAM ou memria Flash. Tipo 2 Tem a espessura de 5 milmetros e capacidade de operaes I/O. um tipo usado para placas de fax-modem, rede, som. Computadores que aceitam cartes PCMCIA do tipo 2, mantm a compatibilidade com o tipo 1. Tipo 3 Tem a espessura de 10.5 milmetros e normalmente usado para discos rgidos PCMCIA. Slots PCMCIA do tipo 3 mantm a compatibilidade com o tipo 2 e 1. AMR Audio Modem Raise - Pequeno barramento criado pela Intel para a conexo de placas de som e modem. Placas de som e modem AMR usam o HSP (host signal processor) e so como as Placas on-board e todo o processamento feito pela CPU do computador (veja detalhes em Placas on-board / off-board on the following page e Hardwares especcos ou For Windows on page 31. 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
Chapter 3. Hardware
30
detalhes em Placas on-board / off-board on this page e Hardwares especcos ou For Windows on the next page.
3.8
Placas on-board so embutidas na placa me (motherboard). Placas off-board so placas externas encaixadas nos slots de expanso da placa me. No inicio da era do PC/XT todos as placas eram embutidas na placa me (na poca eram somente a placa de vdeo e controladora). Com o surgimento do padro AT, diversas empresas de informtica desenvolveram dispositivos concorrentes e assim o usurio tinha a liberdade de escolha de qual dispositivo colocar em sua placa me (ou o mais barato ou o de melhor qualidade e desempenho), isto permitiu a adio de perifricos de qualidade sem romper com seu oramento pessoal (comprando uma placa de som, depois uma de fax-modem, placa de vdeo melhor, etc). Atualmente parece que voltamos ao ponto de partida e tudo vem embutido na placa me (on-board) e o usurio no tem como escolher qual dispositivo usar em seu computador. muito difcil (praticamente impossvel) encontrar uma placa me que satisfaa completamente as necessidades do usurio ou recomendaes de um bom tcnico de informtica (a no ser que seja um tcnico experiente e encontre alguma alternativa). Certamente o nico dispositivo que funciona melhor se embutido na placa me a placa controladora de perifricos. Esta placa usada para se conectar unidades de disquete, discos rgidos, CD-ROM, portas seriais, paralelas, joystick ao computador. Os HDs conectados em uma controladora embutida conseguem ter um desempenho muito maior do que em placas conectadas externamente, sem causar nenhum tipo de problema. Felizmente os ltimos modelos de placas me 486 e os Pentium j trazem a placa controladora de perifricos embutida. Hardwares embutidos na placa me (como fax-modem, vdeo, som) so em mdia 30% mais baratos que os vendidos separadamente mas quase sempre so usados dispositivos de baixo desempenho e qualidade para reduzir o preo da placa me e quase sempre usados hardwares For Windows. Hoje em dia por causa do preo da placa me, comum encontrar pessoas que vericam somente o preo e sequer procuram saber ou conhecem a qualidade das placas embutidas na placa me. Pior ainda encontrar vendedores despreparados que sequer sabem explicar o porque que uma placa de som Sound Blaster 64 mais cara que uma de modelo genrico. . . Certa vez z um teste de desempenho em um jogo chamado Network Rally do DOS com minha mquina Pentium 120 MHz (s com a placa controladora embutida), 16 MB RAM, placa de som Sound Blaster 16, placa de vdeo Trident 9680 com 1MB versus um computador Pentium 200 MMX, 32 MB RAM, placa de vdeo embutida (usando 2 MB de memria compartilhada), fax modem Rockwell embutido, e som CMI 8330 tambm embutido. O resultado foi que o jogo rodava perfeito em meu pentium 120MHZ e no outro computador com o som pipocando e imagem apresentando paradas. O problema que em dispositivos
Chapter 3. Hardware
31
de baixa qualidade e baratos, sua carga de processamento jogada para o processador, resultando em menos potncia para executar os programas (veja Hardwares especcos ou For Windows on this page para maiores detalhes sobre o problema). A memria de vdeo compartilhada quer dizer que parte da memria RAM usada para memria de vdeo ao invs de uma memria DRAM especca e desenvolvida exclusivamente para acelerao de vdeo. Isto traz mais lentido pois a memria de vdeo (RAM) tambm ser acessada pelo barramento do computador, envolvendo mais carga para o processador, etc. A tcnica de memria compartilhada exclusiva de placas de vdeo embutidas. Outro perifrico que traz problemas e muita carga para o processador o fax-modem for Windows, HSP, AMR, micromodem, etc. A maioria destes perifricos se recusam a funcionar em computadores inferiores ao Pentium 150, no trazem seu chip de processamento e o pior: o chip UART. Isto faz com que o perifrico, mesmo marcando conexo a 57.600 ou mais tenha um desempenho de at duas vezes menor que um fax-modem inteligente com chip de processamento prprio e UART (sem contar com os controles internos do modem, como os protocolos de correo de erros, e sua extensa interface de programao via comandos). A economia, neste caso, ser paga em sua conta telefnica. Outra vantagem de fax-modens inteligentes que os modelos atuais vem com FlashBios o que signica que podem ser reprogramados facilmente para passar de 33.600 para 57.600 sem trocar a placa, ou aceitarem novas tendncias de tecnologia. Para detalhes veja Hardwares especcos ou For Windows on the current page. Se voc estiver em uma situao destas, certamente os computadores de menor potncia e com hardwares inteligentes (que possuem seus prprios chips de controle e processamento) tero um desempenho muito melhor. Mas tambm existem placas embutidas que tem a mesma qualidade de placas separadas (como alguns modelos de placas me que trazem a Sound Blaster embutida). O preo pode ser maior mas voc estar pagando por um dispositivo de melhor qualidade e que certamente trar benefcios a voc e ao seu sistema. Consulte um tcnico em informtica experiente para te indicar uma placa me de bom preo e de qualidade. muito comum encontrar falta de prossionalismo em pessoas que no sabem distinguir as caractersticas, funes e vantagens entre uma placa de boa qualidade e um hardware for Windows a no ser o preo mais barato.
3.9
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
Chapter 3. Hardware
32
no passado para o usurio e este hardware pode at mesmo ser mais caro quanto dispositivos equivalentes que possuem inteligncia embutida. Voc deve evitar o hardware baseado no Windows por duas razes: 1 O primeiro que aqueles fabricantes no tornam os recursos disponveis para criar um driver para Linux. Geralmente, o hardware e a interface de software para o dispositivo proprietria, e a documentao no disponvel sem o acordo de no revelao, se ele estiver disponvel. Isto impede seu uso como software livre, desde que os escritores de software grtis descubram o cdigo fonte destes programas. 2 A segunda razo que quando estes dispositivos tem os processadores embutidos removidos, o sistema operacional deve fazer o trabalho dos processadores embutidos, freqentemente em prioridade de tempo real, e assim a CPU no esta disponvel para executar programas enquanto ela esta controlando estes dispositivos. Um exemplo tpico disso so os Modens for Windows; Alm da carga jogada na CPU, o dispositivo no possui o chip UART 16550, que essencial para uma boa taxa de transferncia do modem. O que alguns dispositivos fazer a emulao deste chip exigindo no mnimo uma CPU Pentium de 166 MHZ para operar adequadamente nesta taxa de transmisso. Mesmo assim, devido a falta do chip UART, um modem destes iniciar uma transmisso de arquivo a 57.600, a tendncia sua taxa de transferncia ir caindo na medida que um arquivo transferido (at se estabilizar em 21/25 Kbps). Assim o usurio tpico do Windows no obtm um multi-processamento to intensivo como um usurio do Linux, o fabricante espera que aquele usurio do Windows simplesmente no note a carga de trabalho que este hardware pe naquela CPU. No entanto, qualquer sistema operacional de multi-processamento, at mesmo Windows 95 / 98 ou NT, so prejudicados quando fabricantes de perifricos retiram o processador embutido de suas placas e colocam o processamento do hardware na CPU. Voc pode ajudar a reverter esta situao encorajando estes fabricantes a lanarem a documentao e outros recursos necessrios para ns desenvolvermos drivers para estes hardwares, mas a melhor estratgia simplesmente evitar estes tipos de hardwares at que ele esteja listado no HOWTO de hardwares compatveis com Linux. Note que hoje j existem muitos drivers para WinModems e outros hardwares for Windows para o Linux. Veja a lista de hardwares compatveis no HARDWARE-HOWTO ou procure o driver no site do fabricante de seu dispositivo. Mesmo assim a dica evitar hardwares for Windows e comprar hardwares inteligentes onde cada um faz sua funo sem carregar a CPU.
3.10
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
Chapter 3. Hardware
33
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. Veja http://www.linuxmall.com/refund/ para detalhes. 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
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 kernel, neste caso, voc poder pular este passo. Para carregar um mdulo, digite o comando modprobe modulo (Veja modprobe on page 192) . 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:
Chapter 3. Hardware
34
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 171.
3.11.2
A congurao de dispositivos de audio no Linux no uma coisa complicada, se resumindo na congurao de recursos de IRQ (caso a placa seja ISA), carregar o seu respectivo mdulo com seus parmetros e ajustar o mixer. Atualmente existem 2 padres de som no sistema Linux: OSS (Open Sound System) e ALSA (Advanced Linux Sound Architecture). O OSS o primeiro padro existente no sistema Linux e embutido por padro no kernel. O ALSA mais novo, suporta full duplex e outros recursos adicionais, alm de manter a compatibilidade com OSS. O ALSA um padro mais moderno e garante mais performance para a CPU da mquina, principalmente para a exibio de vdeos, etc.
Reservando os recursos de hardware para sua placa de som Caso esteja usando uma placa ISA jumpeada, jumperless ou Plug-and-Play, preciso selecionar que recursos de hardware sua placa est usando e como estes sero congurados. O padro a utilizao da IRQ 5, DMA1, DMA16, I/O 0x220, 0x330, 0x388 para PCM e MIDI. A congurao de uma placa Plug-and-Play descrita em Plug-and-Play on page 22 e de uma placa jumpeada em Jumpers on page 21. Como referncia, veja a tabela padro de uso de interrupes em IRQ - Requisio de Interrupo on page 17.
Congurando uma placa de som usando o padro OSS O padro OSS o presente por padro desde que o suporte a som foi includo no kernel. Para congurar uma placa de som para usar este sistema de som, primeiro compile seu kernel com o suporte ao mdulo de sua placa de som. Caso seja uma placa ISA, voc provavelmente ter que habilitar a seo Open Sound System para ver as opes disponveis (entre elas, a Sound Blaster e compatveis). Uma olhada na ajuda de cada mdulo deve ajuda-lo a identicar quais placas cada opo do kernel suporta.
Chapter 3. Hardware
35
Caso seu kernel seja o padro de uma distribuio Linux, provavelmente ter o suporte a todas as placas de som possveis. Siga o passo a passo abaixo para congurar sua placa de som no sistema: 1 Primeiro descubra se sua placa de som ISA. Caso seja, verique se os seus recursos esto alocados corretamente (veja Conitos de hardware on page 28). 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 28) para detalhes. 2 Carregue o mdulo da placa de som com o comando modprobe mdulo (veja modprobe on page 192). 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=0x388 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
Congurar um gravador de CD no Linux no tem mistrios, apenas preciso que sejam seguidos passos para que a coisa funcione direito, pois sempre funciona. Se algo no funcionou, ou porque os passos no foram seguidos corretamente, algum problema no hardware, alguma falha no kernel especca que afeta seu gravador, ou o autor deste guia deu mancada em algo (por favor, relate a falha) :-) O tipo mais complicado de gravador, se tratando de congurao, o IDE, pois seu funcionamento baseado na emulao SCSI. Para usar esta interface, ele precisa ser identicado
Chapter 3. Hardware
36
como um dispositivo SCSI usando emulao SCSI do kernel, isto necessrio porque o mdulo padro ATAPI do kernel para unidades de CD (ide-cd) no contm todos os comandos necessrios para permitir que uma unidade funcione como gravadora de CD. No Windows a coisa tambm funciona desta forma, a unidade emulada como SCSI para fazer a gravao, se voc no sabia disso, tenho certeza que esta gostando da forma como as coisas cam claras quando se usa Linux :-) Caso seu gravador seja IDE, veja Congurando o suporte a um gravador IDE on the current page caso seja um autntico gravador com barramento SCSI, v at Congurando o suporte a um gravador SCSI on the facing page.
Congurando o suporte a um gravador IDE Para congurar seu gravador de CD IDE para ser usado no Linux, siga os seguintes passos: 1 Tenha certeza que compilou o suporte as seguintes caractersticas no kernel: Em "ATA/IDE/MFM/RLL support" marque as opes: * Include IDE/ATAPI CDROM support * SCSI emulation support Depois em "SCSI support" marque as opes: * SCSI support M SCSI CD-ROM Support M SCSI Generic Support As opes marcadas como * sero embutidas no kernel e as M como mdulos. Note que ambas as opes IDE/ATAPI CDROM e SCSI Emulation foram marcadas como embutidas. Isto faz com que o driver ATAPI tenha prioridade em cima do SCSI, mas vou explicar mais adiante como dizer para o kernel para carregar o suporte a SCSI para determinada unidade. Isto til quando temos mais de 1 unidade de CD IDE no sistema e queremos congurar somente o gravador para SCSI, pois alguns aplicativos antigos no se comunicam direito tanto com gravadores SCSI como emulados. Voc tambm pode marcar somente a opo SCSI Emulation para que sua(s) unidade(s) seja(m) automaticamente emulada(s) como SCSI. Caso tenha usado esta tcnica, v at a seo Testando o funcionamento on the next page. 2 O prximo passo identicar o dispositivo de CD-Rom atual. Isto feito atravs do comando dmesg. Supondo que sua unidade de CD hdc (primeiro disco na segunda controladora IDE) e que compilou ambos o suporte a IDE ATAPI e SCSI emulation no kernel, adicione o argumento hdc=ide-scsi no /etc/lilo.conf ou no grub: # Lilo vmlinuz=/vmlinuz append="hdc=ide-scsi" Isto diz para o kernel que a unidade hdc usar emulao ide-scsi. Caso tenha outras unidades de CD no sistema, estas ainda utilizao ATAPI como protocolo de comunicao padro. Execute o lilo para gerar novamente o setor de inicializao com as modicaes e reinicie o computador.
Chapter 3. Hardware
37
OBS: Cuidado ao colocar um disco rgido IDE como hdc! A linha hdc=ide-scsi dever ser retirada, caso contrrio, seu disco rgido no ser detectado. Agora, siga at Testando o funcionamento on this page. Congurando o suporte a um gravador SCSI Caso tenha um autentico gravador SCSI, no ser preciso fazer qualquer congurao de emulao, a unidade estar pronta para ser usada, desde que seu suporte esteja no kernel. As seguintes opes do kernel so necessrias para funcionamento de gravadores SCSI: Depois * SCSI M SCSI M SCSI em "SCSI support" marque as opes: support CD-ROM Support Generic Support
Alm disso, deve ser adicionado o suporte EMBUTIDO no kernel a sua controladora SCSI. Se o seu disco rgido tambm SCSI, e seu CD est ligado na mesma controladora SCSI, ela j est funcionando e voc poder seguir para o passo Testando o funcionamento on the current page. Caso contrrio carregue o suporte da sua placa adaptadora SCSI antes de seguir para este passo. Testando o funcionamento Para testar se o seu gravador, instale o pacote cdrecord e execute o comando: cdrecord -scanbus para vericar se sua unidade de CD-ROM detectada. Voc dever ver uma linha como: scsibus0: 0,0,0 0,1,0 0,2,0
O que signica que sua unidade foi reconhecida perfeitamente pelo sistema e j pode ser usada para gravao. V at a seo Gravando CDs no Linux on page 263 para aprender como gravar CDs no Linux.
3.11.4
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.).
Chapter 3. Hardware
38
O uso de advanced power management tambm permite que computadores com fonte de alimentao ATX sejam desligados automaticamente quando voc executa o comando halt. Caso sua mquina tenha suporte a ACPI, este dever ser usado como preferncia ao invs do APM por ter recursos mais sosticados (veja Congurando o gerenciamento de energia usando ACPI on the current page). Para ativar o suporte a APM no Linux, compile seu kernel com o suporte embutido a APM e tambm a Advanced Power Management (seno sua mquina no desligar sozinha no halt). Caso deseje compilar como mdulo, basta depois carregar o mdulo apm adicionando no arquivo /etc/modules. Depois disso instale o daemon apmd para gerenciar as caractersticas deste recurso no sistema. Voc pode desativar o uso de APM de 3 formas: removendo seu suporte do kernel, passando o argumento apm=off (quando compilado estaticamente no kernel) ou removendo o nome do mdulo do arquivo /etc/modules (quando compilado como mdulo). Depois disso remova o daemon apmd.
3.11.5
O ACPI (Advanced Conguration and Power Interface - Interface de Congurao e Gerenciamento de Energia Avanado) uma camada de gerenciamento de energia que opera a nvel de sistema operacional. Apresenta os mesmos recursos que o APM, e outros como o desligamento da mquina por teclas especiais de teclado, controle de brilho e contraste de notebooks, suspend para RAM, suspend para disco, reduo de velocidade de CPU manualmente, monitoramento de perifricos, temperatura, hardwares, etc. Desta forma, o ACPI varia de sistema para sistema em questes relacionadas com suporte a recursos especiais, estes dados so armazenados em tabelas chamadas DSDT. O Linux inclui suporte a recursos ACPI genricos entre placas me, recursos especcos devem ser extrados diretamente da BIOS e disassemblados manualmente para a construo de um kernel com suporte especco a tabela DSDT do hardware (no falarei das formas de se fazer disso aqui, somente do suporte genrico). recomendvel pelo menos o uso do kernel 2.4.21 para suporte a ACPI. Para compilar estaticamente, marque com Y a opo ACPI, depois marque os mdulos que voc quer que ele monitore: button (boto power), fan (ventoinhas), etc. Se compilou como mdulo, adicione o nome do mdulo acpi no arquivo /etc/modules. No h problema em compilar tambm o suporte a APM, pois no causar problemas com um kernel com ACPI tambm compilado. Caso no saiba quais mdulos ACPI seu sistema aceita, marque o suporte a todos e carregueos. Aps isto, entre no diretrio /proc/acpi e de um ls entrando nos diretrios e vendo se existem arquivos dentro deles. Remova o mdulo correspondente daqueles que no tiver contedo. Aps isto, instale o daemon acpid e congure-o para monitorar algumas caractersticas do seu sistema. Por padro o acpid monitora o boto POWER, assim se voc pressionar o power, seu sistema entrar automaticamente em run-level 0, fechando todos os processos e desligando sua mquina.
Chapter 3. Hardware
39
O suporte a ACPI pode ser desativado de 3 formas: Removendo seu suporte do kernel, passando o argumento acpi=off ao kernel (caso esteja compilado estaticamente) ou removendo o mdulo de /etc/modules (caso tenha compilado como mdulo. Aps isto, remova o daemon acpid do seu sistema.
3.11.6
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.
Chapter 3. Hardware
40
41
Chapter 4
Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
Este captulo explica as diferenas e particularidades do sistema GNU/Linux comparado ao DOS/Windows e uma lista de equivalncia entre comandos e programas DOS e GNU/Linux, que pode servir de comparao para que o usurio possa conhecer e utilizar os comandos/programas GNU/Linux que tem a mesma funo no ambiente DOS/Windows.
4.1
Quando entrar pela primeira vez no GNU/Linux (ou qualquer outro UNIX, a primeira coisa que ver ser a palavra login: escrita na tela. A sua aventura comea aqui, voc deve ser uma pessoa cadastrada no sistema (ter uma conta) para que poder entrar. No login voc digita seu nome (por exemplo, gleydson) e pressiona Enter. Agora ser lhe pedida a senha, repare que a senha no mostrada enquanto digitada, isto serve de segurana e para enganar pessoas que esto prximas de voc tocando algumas teclas a mais enquanto digita a senha e fazendo-as pensar que voc usa uma grande senha ;-) (com os asteriscos aparecendo isto no seria possvel). Caso cometa erros durante a digitao da senha, basta pressionar a tecla Back Space para apagar o ltimo caracter digitado e terminar a entrada da senha. Pressione Enter, se tudo ocorrer bem voc estar dentro do sistema e ser presenteado com o smbolo # (caso tenha entrado como usurio root) ou $ (caso tenha entrado como um usurio normal). Existe um mecanismo de segurana que te alerta sobre eventuais tentativas de entrada no sistema por intrusos usando seu login, faa um teste: entre com seu login e digite a senha errada, na segunda vez entre com a senha correta no sistema. Na penltima linha das mensagens aparece uma mensagem 1 failure since last login, o que quer dizer 1
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
42
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 156. 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 95. Os dispositivos tambm so identicados e uma forma diferente que no DOS por exemplo: DOS/Windows ------------A: B: C: LPT1 LPT2 LPT3 COM1 COM2 COM3 COM4 Linux --------------/dev/fd0 /dev/fd1 /dev/hda1 /dev/lp0 /dev/lp1 /dev/lp2 /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3
Os recursos multiusurio lhe permite acessar o sistema de qualquer lugar sem instalar nenhum driver, ou programa gigante, apenas atravs de conexes TCP/IP, como a Internet. Tambm possvel acessar o sistema localmente com vrios usurios (cada um executando tarefas completamente independente dos outros) atravs dos Terminais Virtuais. Faa um teste: pressione ao mesmo tempo a tecla ALT e F2 e voc ser levado para o segundo Terminal Virtual, pressione novamente ALT e F1 para retornar ao anterior. Para reiniciar o computador, voc pode pressionar CTRL+ALT+DEL (como usurio root) ou digitar shutdown -r now. . Para desligar o computador, digite shutdown -h now e espere o aparecimento da mensagem Power Down para apertar o boto LIGA/DESLIGA do computador.
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
43
4.2
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
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
44
ren
fdisk
format
help interlnk
intersvr keyb
do comando "echo $PATH". mv Poucas diferenas. No Linux no possvel renomear vrios arquivos de uma s vez (como "ren *.txt *.bak"). necessrio usar um shell script para fazer isto. cat Sem diferenas. uname -a Poucas diferenas (o uname tem algumas opes a mais). date No Linux mostra/modifica a Data e Hora do sistema. date No Linux mostra/modifica a Data e Hora do sistema. chmod O chmod possui mais opes por tratar as permisses de acesso de leitura, gravao e execuo para donos, grupos e outros usurios. fsck.ext2 O fsck mais rpido e extensivo na checagem. ----A edio de teclas feita automaticamente pelo bash. vi, ae, O edit mais fcil de usar, mas usurio emacs experientes apreciaro os recursos do vi ou o emacs (programado em lisp). fdisk, cfdisk Os particionadores do Linux trabalham com praticamente todos os tipos de parties de diversos sistemas de arquivos diferentes. mkfs.ext2 Poucas diferenas, precisa apenas que seja especificado o dispositivo a ser formatado como "/dev/fd0" ou "/dev/hda10" (o tipo de identificao usada no Linux), ao invs de "A:" ou "C:". man, info Sem diferenas. plip O plip do Linux permite que sejam montadas redes reais a partir de uma conexo via Cabo Paralelo ou Serial. A mquina pode fazer tudo o que poderia fazer conectada em uma rede (na realidade uma rede e usa o TCP/IP como protocolo) inclusive navegar na Internet, enviar e-mails, irc, etc. plip Mesmo que o acima. loadkeys Sem diferenas (somente que a posio das teclas do teclado pode ser editada. Desnecessrio para a maioria dos usurios). e2label necessrio especificar a partio que ter o nome modificado. cat /proc/meminfo Mostra detalhes sobre a quantidade de dados top em buffers, cache e memria virtual (disco). more, less O more equivalente a ambos os sistemas, mas o less permite que sejam usadas as setas para cima e para baixo, o que torna a leitura do
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
45
move
mv
scan
-----
backup
tar
lpr
vol xcopy
e2label cp -R
texto muito mais agradvel. Poucas diferenas. Para ser mostrados os arquivos enquanto esto sendo movidos, deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j existente deve-se usar a opo "-i". No existem vrus no Linux devido as restries do usurio durante execuo de programas. O tar permite o uso de compactao (atravs do parmetro -z) e tem um melhor esquema de recuperao de arquivos corrompidos que j segue evoluindo h 30 anos em sistemas UNIX. O lpr mais rpido e permite at mesmo impresses de grficos ou arquivos compactados diretamente caso seja usado o programa magicfilter. o programa de Spool de impressoras usados no sistema Linux/Unix. Sem diferenas. Pouca diferena, requer que seja usado a opo "-v" para mostrar os arquivos que esto sendo copiados e "-i" para pedir confirmao de substituio de arquivos.
4.2.1
Arquivos de congurao
Os arquivos config.sys e autoexec.bat so equivalentes aos arquivos do diretrio /etc especialmente o /etc/inittab e arquivos dentro do diretrio /etc/init.d .
4.3
Voc pode usar os comandos do pacote mtools para simular os comandos usados pelo DOS no GNU/Linux, a diferena bsica que eles tero a letra m no inicio do nome. Os seguintes comandos so suportados: mattrib - Ajusta modica atributos de arquivos mcat - Mostra os dados da unidade de disquete em formato RAW mcd - Entra em diretrios mcopy - Copia arquivos/diretrios mdel - Exclui arquivos mdeltree - Exclui arquivos, diretrios e sub-diretrios mdir - Lista arquivos e diretrios mdu - Mostra o espao ocupado pelo diretrio do DOS mformat - Formatador de discos minfo - Mostra detalhes sobre a unidade de disquetes
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
46
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
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@cipsga.org.br> para inclui-lo na listagem. DOS/Windows ----------MS Word Linux Diferenas ---------------------------------------Open Office, O Open Office possui todos os Corel Word Perfect recursos do Word alm de ter a interface grfica igual, menus e teclas de atalho idnticas ao Word, o que facilita a migrao. Tambm trabalha com arquivos no formato Word97/2000 e no vulnervel a vrus de macro. distribudo gratuitamente e no requer pagamento de licena podendo ser instalado em quantos computadores voc quiser (tanto domsticos como de empresas). Open Office Mesmos pontos do acima e tambm
MS Excel
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
47
MS PowerPoint MS Access
MS Outlook
MS Internet Explorer
ICQ
Photo Shop
The Gimp
media player
mplayer,playmidi xwave,
Agente de Sistema
cron
abre arquivos Excel97/2000. Mesmos pontos do acima. Existem diversas ferramentas de conceito para bancos de dados corporativos no Linux. Todos produtos compatveis com outras plataformas. Centenas de programas de E-Mail tanto em modo texto como em modo grfico. Instale, avalie e escolha. Os trs primeiros para modo grfico e o lynx opera em modo texto. Muito prtico e fcil de operar. Possibilita a mudana completa da aparncia do programa atravs de Skins. A organizao dos menus deste programa outro ponto de destaque. Fcil de usar, possui muitos scripts que permitem a criao rpida e fcil de qualquer tipo de efeito profissional pelo usurio mais leigo. Acompanha centenas de efeitos especiais e um belo manual em html com muitas fotos (aproximadamente 20MB) que mostra o que possvel se fazer com ele. Corel Photo-Paint para Linux. Possui todos os recursos do programa para Windows alm de filtros que permite acrescentar efeitos digitais da msica (em tempo real), eco, etc. Programas para execuo de arquivos de msica e videos multimdia. Existem outras alternativas, a escolha depende de seu gosto e da sofisticao do programa. Pouca diferena. O cron da mais liberdade na programao
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
48
de tarefas a serem executadas pelo Linux. Mixer aumix, cam Sem diferenas. Bate-Papo talk, ytalk O talk e o ytalk permite a conversa de dois usurios no s atravs de uma rede local, mas de qualquer parte do planeta, pois usa o protocolo tcp/ip para comunicao. Muito til e fcil de usar. MIRC Bitchx, xchat Clientes IRC para Linux IIS, Pers. Web Server Apache O apache o servidor WEB mais usado no mundo (algo em torno de 75% das empresas), muito rpido e flexvel de se configurar. Exchange, NT Mail Sendmail, Postfix, 72% da base de servidores de Exim, Qmail emails no mundo atualmente roda em software livre. Os mais recomendad so o Postfix e o qmail, devido a segurana, velocidade e integridade de mensagem Wingate, MS Proxy Squid, Apache, A migrao de um servidor proxy ip masquerade, para Linux requer o uso de nat, diald, vrios programas separados para exim, que se tenha um resultado profissional. Isto pode parecer incomodo no comeo, mas voc logo perceber que a diviso de servios entre programas mais produtivo. Quando desejar substituir um deles, o funcionamento dos outros no sero afetados. No vou entrar em detalhes sobre os programas citados ao lado, mas o squi um servidor proxy Web (HTTP e HTTPS) completo e tambm apresenta um excelente servio FTP. Possui outros mdulos como dns, ping, restries de acesso, limites de tamanho de arquivos, cache, etc. MS Frontpage Netscape Composer Sem comentrios... todas so e muitas outras ferramentas para a gerao ferramentas para de grandes Web Sites. O wdm, gerao de contedo por exemplo, usado na gerao WEB (como zope, do site da distribuio Debian
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
49
MS Winsock
-----
(http://www.debian.org) em 27 idiomas diferentes. O Linux tem suporte nativo a tcp/ip desde o comeo de sua existncia e no precisa de nenhuma camada de comunicao entre ele e a Internet. A performance aproximadamente 10% maior em conexes Internet via fax-modem e outras redes tcp/ip. No existem vrus no Linux devido as restries ao usurio durante a execuo de programas.
Chapter 4. Para quem esta migrando (ou pensando em migrar) do DOS/Windows para o Linux
50
51
Chapter 5
Discos e Parties
Este captulo traz explicaes de como manipular discos rgidos e parties no sistema GNU/Linux e como acessar seus discos de CD-ROM e parties DOS, Windows 95/98 no GNU/Linux. Tambm ser ensinado como utilizar o programa mkfs.ext2 para criar um sistema de arquivos EXT2 (formatar o disco) e a ferramenta mkswap (para criar uma partio ou arquivo de memria virtual).
5.1
Parties
So divises existentes no disco rgido que marcam onde comea onde termina um sistema de arquivos. Por causa destas divises, ns podemos usar mais de um sistema operacional no mesmo computador (como o GNU/Linux, Windows e DOS), ou dividir o disco rgido em uma ou mais partes para ser usado por um nico sistema operacional. Para gravar os dados, o disco rgido deve ser primeiro particionado (usando o fdisk), escolher o tipo da partio (Linux Native, Linux Swap, etc) e depois aquela partio deve ser formatada com o mkfs.ext2 (veja Partio EXT2 (Linux Native) on page 53). Aps criada e formatada, a partio ser identicada como um dispositivo no diretrio /dev (veja Identicao de discos e parties em sistemas Linux on page 70) . e dever ser montada (Montando (acessando) uma partio de disco on page 71) 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 75. Para particionar (dividir) o disco rgido em uma ou mais partes necessrio o uso de um programa de particionamento. Os programas mais conhecidos para particionamento de discos no GNU/Linux so fdisk, cfdisk e o Disk Druid. Lembre-se:
52
Quando se apaga uma partio, voc estar apagando TODOS os arquivos existentes nela! A partio do tipo Linux Native (Tipo 83) a usada para armazenar arquivos no GNU/Linux. Para detalhes veja Partio EXT2 (Linux Native) on the facing page. A partio do tipo Linux Swap (Tipo 82) usada como memria virtual. Para detalhes veja Partio Linux Swap (Memria Virtual) on page 61. Em sistemas novos, comum encontrar o Windows instalado em uma partio que consome TODO o espao do disco rgido. Uma soluo para instalar o GNU/Linux apagar a partio Windows e criar trs com tamanhos menores (uma para o Windows, uma para o GNU/Linux e outra para a Memria Virtual do Linux (SWAP). Ou criar apenas 2 se voc no quiser mais saber mais do Windows ;-) A outra usar o programa FIPS para diminuir o tamanho da partio Windows (usando o espao livre existente) e criar as 2 parties requeridas pelo GNU/Linux no espao restante, sem apagar o Windows. Esta tcnica tambm chamada de Reparticionamento no destrutivo (e o outro obviamente Reparticionamento destrutivo). Caso decida usar o FIPS, pegue a verso 2.0 ou superior do programa, pois funciona nativamente com sistema de arquivos FAT32 (voc o encontra no site de sua distribuio GNU/Linux). Para mais detalhes sobre discos, parties ou como particionar seu disco, veja algum bom documento sobre particionamento (como a pgina de manual e documentao do fdisk, cfdisk ou Disk Druid).
5.2
Sistema de Arquivos
criado durante a formatao da partio de disco (quando se usa o comando mkfs.ext2). Aps a formatao toda a estrutura para leitura/gravao de arquivos e diretrios pelo sistema operacional estar pronta para ser usada. Normalmente este passo feito durante a instalao de sua distribuio GNU/Linux. Cada sistema de arquivos tem uma caracterstica em particular mas seu propsito o mesmo: Oferecer ao sistema operacional a estrutura necessria para ler/gravar os arquivos/diretrios. Entre os sistemas de arquivos existentes posso citar: Ext2 - Usado em parties Linux Nativas para o armazenamento de arquivos. identicado pelo cdigo 83. Seu tamanho deve ser o suciente para acomodar todo os arquivos e programas que deseja instalar no GNU/Linux (voc encontra isto no manual de sua distribuio). Para detalhes veja Partio EXT2 (Linux Native) on the facing page. Ext3 - Este sistema de arquivos possui melhorias em relao ao ext2, como destaque o recurso de jornaling. Ele tambm identicado pelo tipo 83 e totalmente compatvel com o ext2 em estrutura. O journal mantm um log de todas as operaes no sistema de arquivos, caso acontea uma queda de energia eltrica (ou qualquer outra anormalidade que interrompa o funcionamento do sistema), o fsck verica o sistema de arquivos no ponto em que estava quando houve a interrupo, evitando a demora para checar todo um sistema de arquivos (que pode levar minutos em sistemas de arquivos muito grandes). Para detalhes veja Partio EXT3 (Linux Native) on page 55.
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 61. proc - Sistema de arquivos do kernel (veja O sistema de Arquivos /proc on page 63). FAT12 - Usado em disquetes no DOS FAT16 - Usado no DOS e oferece suporte at discos de 2GB FAT32 - Tambm usado no DOS e oferece suporte a discos de at 2 Terabytes
5.3
A partio EXT2 o tipo usado para criar o sistema de arquivos Linux Native usado para armazenar o sistema de arquivos EXT2 (aps a formatao) e permitir o armazenamento de dados. Para detalhes de como criar uma partio EXT2 veja Criando um sistema de arquivos EXT2 em uma partio on this page. Este tipo de partio normalmente identicado pelo cdigo 83 nos programas de particionamento de disco. Note que tambm possvel criar um sistema de arquivos EXT2 em um arquivo (ao invs de uma partio) que poder ser montado e acessado normalmente pelo sistema de arquivos (veja Criando um sistema de arquivos EXT2 em um arquivo on the next page. Logo que foi inventado, o GNU/Linux utilizava o sistema de arquivos Minix (e conseqentemente uma partio Minix) para o armazenamento de arquivos. Com a evoluo do desenvolvimento, foi criado o padro EXT (Extended Filesystem) e logo evoluiu para o EXT2 (Second Extended Filesystem) que o usado hoje em dia. Voc deve escolher este tipo de partio para armazenar seus arquivos, o padro atualmente, o mais rpido, no se fragmenta to facilmente pois permite a localizao do melhor lugar onde o arquivo se encaixa no disco, etc. Isto til para grandes ambientes multiusurio onde vrias pessoas gravam/apagam arquivos o tempo todo.
5.3.1
O utilitrio usado para formatar uma partio EXT2 o mkfs.ext2. Aps terminar este passo, seu sistema de arquivos EXT2 estar pronto para ser usado. Aps particionar seu disco rgido e criar uma (ou vrias) parties EXT2, use o comando: mkfs.ext2 /dev/hda? Onde a ? em hda? signica o nmero da partio que ser formatada. A identicao da partio mostrada durante o particionamento do disco, anote se for o caso. hda o primeiro disco rgido IDE, hdb o segundo disco rgido IDE. Discos SCSI so identicados por sda?, sdb?, etc. Para detalhes sobre a identicao de discos, veja Identicao de discos e parties em sistemas Linux on page 70. Algumas opes so teis ao mkfs.ext2:
54
-c Procura blocos danicados na partio antes de criar o sistema de arquivos. -L NOME Coloca um nome (label) no sistema de arquivos. -b NUM Dene o tamanho do bloco, em bytes. -m NUM Dene a porcentagem de espao em disco reservada para manuteno (por padro reservado para o root, mas isto altervel). Agora para acessar a partio dever ser usado o comando: mount /dev/hda? ext2 Para mais detalhes veja Montando (acessando) uma partio de disco on page 71. Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/hda, /dev/hdb, etc. EVITE FAZER ISSO! Como no estar criando uma partio, o disco estar divido de maneira incorreta, voc no poder apagar o sistema de arquivos completamente do disco caso precise (lembre-se que voc no criou uma partio), e a partio possui uma assinatura apropriada que identica o sistema de arquivos. O espao padro reservado na partio para o usurio root de 5%. Em sistemas com parties maiores que 3Gb, isso pode representar uma grande quantidade de espao em disco no utilizada por outros usurios. Veja a opo -m sobre como fazer esta modicao. Caso j tenha criado a partio, isto pode ser feito no tune2fs com a opo -m. /mnt -t
5.3.2
possvel criar um sistema de arquivos EXT2 em um arquivo que poder ser montado e acessado normalmente como se fosse uma partio normal. Isto possvel por causa do recurso loop oferecido pelo kernel do GNU/Linux. Os dispositivos de loop esto disponveis no diretrio /dev com o nome loop? (normalmente esto disponveis 8 dispositivos de loop). Isto possvel usando o comando dd e o mkfs.ext2. Veja passo a passo como criar o sistema de arquivos EXT2 em um arquivo: 1 Use o comando dd if=/dev/zero of=/tmp/arquivo-ext2 bs=1024 count=10000 para criar um arquivo arquivo-ext2 vazio de 10Mb de tamanho em /tmp. Voc pode modicar os parmetros de of para escolher onde o arquivo ser criado, o tamanho do arquivo poder ser modicado atravs de count 2 Formate o arquivo com mkfs.ext2 /tmp/arquivo-ext2. Ele primeiro dir que o arquivo arquivo-ext2 no um dispositivo de bloco especial (uma partio de disco) e perguntar se deve continuar, responda com y. O sistema de arquivos EXT2 ser criado em /tmp/arquivo-ext2 e estar pronto para ser usado.
55
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 116. Pronto! o que voc gravar para /mnt ser gravado dentro do arquivo /tmp/arquivo-ext2. Como foi criado um sistema de arquivos EXT2 em arquivo-ext2, voc poder usar todos os recursos da partio EXT2 normal, como permisses de arquivos e diretrios, links simblicos, etc. O uso da opo loop=/dev/loop1 permite que o dispositivo /dev/loop1 seja associado ao arquivo /arquivo-ext2 e assim permitir sua montagem e uso no sistema. Voc poder usar apenas -o loop com o comando mount, assim o kernel gerenciar automaticamente os dispositivos de loop. Caso faa isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referncia a um nico arquivo.
5.4
Journaling
O sistema de journaling grava qualquer operao que ser feita no disco em uma rea especial chamada journal, assim se acontecer algum problema durante a operao de disco, ele pode voltar ao estado anterior do arquivo, ou nalizar a operao. Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior tolerncia a falhas. Aps uma falha de energia, por exemplo, o journal analisado durante a montagem do sistema de arquivos e todas as operaes que estavam sendo feitas no disco so vericadas. Dependendo do estado da operao, elas podem ser desfeitas ou nalizadas. O retorno do servidor praticamente imediato (sem precisar a enorme espera da execuo do fsck em parties maiores que 10Gb), garantindo o rpido retorno dos servios da mquina. Outra situao que pode ser evitada com inconsistncias no sistema de arquivos do servidor aps a situao acima, fazendo o servidor car em estado single user e esperando pela interveno do administrador. Este captulo do guia explica a utilizao de journaling usando o sistema de arquivos ext3 (veja Partio EXT3 (Linux Native) on the current page para detalhes).
5.5
O sistema de arquivos ext3 faz parte da nova gerao extended le system do Linux, sendo que seu maior benefcio o suporte a journaling.
56
O uso deste sistema de arquivos comparado ao ext2, na maioria dos casos, melhora o desempenho do sistema de arquivos atravs da gravao seqencial dos dados na rea de metadados e acesso mhash a sua rvore de diretrios. A estrutura da partio ext3 semelhante a ext2, o journaling feito em um arquivo chamado .journal que ca oculto pelo cdigo ext3 na partio (desta forma ele no poder ser apagado, comprometendo o funcionamento do sistema). A estrutura idntica da partio ext3 com a ext2 torna mais fcil a manuteno do sistema, j que todas as ferramentas para recuperao ext2 funcionaro sem problemas.
5.5.1
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 53). A nica vantagem desta ferramenta comparada ao mkfs.ext2 que a opo -j automaticamente adicionada a linha de comando para criar um sistema de arquivos com journal. Se voc daqueles que querem ter um controle maior sobre o tamanho do arquivo de journal, use a opo -J [tam] (onde tamanho o tamanho em Megabytes). Quando uma partio ext3 criada, o arquivo .journal criado no raz da partio, sendo usado para gravar os metadados das transaes de journaling. A estrutura da partio ext2 no difere em nada da ext3, a no ser este arquivo e a opo has_journal que passada a partio. Por exemplo, para criar uma partio ext3 em /dev/hda1: mkfs.ext3 /dev/hda1 ou mkfs.ext2 -j /dev/hda1 Basta agora montar a partio com o comando mount /dev/hda1 /teste -t ext3 (para montar a partio em /teste. Aps isto, modique o /etc/fstab para montar a partio como ext3 quando o Linux for iniciado. Para mais detalhes veja Montando (acessando) uma partio de disco on page 71. ). 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
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 54, apenas
57
utilize a opo -j ou -J [tamanho_em_mb] (como explicado em Criando um sistema de arquivos EXT3 em uma partio on the preceding page).
5.5.3
Se voc j possui um uma partio ext2 e deseja converte-la para ext3 isto poder ser feito facilmente, de forma segura (sem qualquer risco de perda de dados) e voc poder voltar para o sistema ext2 caso deseje (veja Convertendo de EXT3 para EXT2 on this page). Primeiro, execute o comando tune2fs na partio que deseja converter com a opo -j ou -J [tamanho_journal] para adicionar o suporte a Journaling na partio. Este comando poder ser executado com segurana em uma partio ext2 montada, aps converter remontar a partio usando os comandos umount /particao e mount /particao. Aps a converso para ext3 desnecessria a checagem peridica do sistema de arquivos (que por padro aps 20 montagens e a cada 30 dias). Voc pode desativar a checagem aps o nmero mximo de montagens com a opo -c [num_vezes], e o nmero de dias mximos antes de vericar novamente com a opo -i [num_dias] (o uso de 0 desativa). Por exemplo: tune2fs -c 0 -i 90 /dev/hda2 Desativa a checagem aps nmero mximo de montagens (-c 0) e diz para a partio ser vericada a cada 90 dias (-i 90). O ltimo passo modicar o /etc/fstab para que a partio seja montada como ext3 na inicializao e depois desmontar (umount /dev/hda2 e remonta-la (mount /dev/hda2) para usar o suporte ext3. Conra se ela est usando ext3 usando o comando df -T. OBS: Caso a partio convertida para ext3 seja a raz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrrio, a partio ser montada como ext2.
5.5.4
Remover o suporte a ext3 de uma partio simples, rpido e seguro. Execute os seguintes passos: 1 Execute o comando tune2fs -O^has_journal /dev/hdxx na partio que deseja remover o Journal. Este comando poder ser executado em uma partio montada. 2 Modique o /etc/fstab e altere a partio para ext2. 3 Desmonte e monte novamente a partio com os comandos: umount /dev/hdxx e mount /dev/hdxx. 4 Pronto! a partio agora novamente uma partio ext2 normal, conra digitando df -T. Pronto, o suporte a ext3 foi removido do seu sistema e agora poder usar a partio como ext2 normalmente (conra digitando df -T).
58
5.6
Este um sistema de arquivos alternativo ao ext2/3 que tambm possui suporte a journaling. Entre suas principais caractersticas, esto que ele possui tamanho de blocos variveis, suporte a arquivos maiores que 2 Gigabytes (esta uma das limitaes do ext3) e o acesso mhash a rvore de diretrios um pouco mais rpida que o ext3. Para utilizar reiserfs, tenha certeza que seu kernel possui o suporta habilitado (na seo File Systems) e instale o pacote reiserfsprogs que contm utilitrios para formatar, vericar este tipo de partio.
5.6.1
Para criar uma partio reiserfs, primeiro instale o pacote reiserfsprogs (apt-get install reiserfsprogs). Para criar uma partio reiserfs, primeiro crie uma partio ext2 normal, e ento use o comando: mkreiserfs /dev/hda? Onde a ? em hda? signica o nmero da partio que ser formatada com o sistema de arquivos reiserfs. A identicao da partio mostrada durante o particionamento do disco, anote se for o caso. hda o primeiro disco rgido IDE, hdb o segundo disco rgido IDE. Discos SCSI so identicados por sda?, sdb?, etc. Para detalhes sobre a identicao de discos, veja Identicao de discos e parties em sistemas Linux on page 70. Algumas opes so teis ao mkreiserfs: -s [num] - Especica o tamanho do arquivo de journal em blocos. O valor mnimo 513 e o mximo 32749. O valor padro 8193. -l [NOME] - Coloca um nome (label) no sistema de arquivos. -f - Fora a execuo do mkreiserfs. -d - Ativa a depurao durante a execuo do mkreiserfs. Agora para acessar a partio dever ser usado o comando: mount /dev/hda? reiserfs Para mais detalhes veja Montando (acessando) uma partio de disco on page 71. Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/hda, /dev/hdb, etc. usando a opo -f EVITE FAZER ISSO! Como no estar criando uma partio, o disco estar divido de maneira incorreta, voc no poder apagar o sistema de arquivos completamente do disco caso precise (lembre-se que voc no criou uma partio), e a partio possui uma assinatura apropriada que identica o sistema de arquivos. /mnt -t
59
5.6.2
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 54. Para fazer isso execute os seguintes passos em seqncia: 1 Use o comando dd if=/dev/zero of=/tmp/arquivo-reiserfs bs=1024 count=33000 para criar um arquivo arquivo-reiserfs vazio de 33Mb de tamanho em /tmp. Voc pode modicar os parmetros de of para escolher onde o arquivo ser criado, o tamanho do arquivo poder ser modicado atravs de count. Note que o tamanho mnimo do arquivo deve ser de 32Mb, devido aos requerimentos do reiserfs. 2 Formate o arquivo com mkreiserfs -f /tmp/arquivo-reiserfs. Ele primeiro dir que o arquivo arquivo-reiserfs no um dispositivo de bloco especial (uma partio de disco) e perguntar se deve continuar, responda com y. O sistema de arquivos ReiserFS ser criado em /tmp/arquivo-reiserfs e estar pronto para ser usado. 3 Monte o arquivo arquivo-reiserfs com o comando: mount /tmp/arquivo-reiserfs /mnt -t reiserfs -o loop=/dev/loop1. Note que foi usado o parmetro -o loop para dizer ao comando mount para usar os recursos de loop do kernel para montar o sistema de arquivos. O parmetro -t reiserfs poder ser omitido, se desejar. 4 Conra se o sistema de arquivos ReiserFS em arquivo-reiserfs foi realmente montado no sistema de arquivos digitando df -T. Para detalhes, veja df on page 116. Pronto! o que voc gravar para /mnt ser gravado dentro do arquivo /tmp /arquivo-reiserfs. Voc poder usar todos os recursos de um sistema de arquivos reiserfs como permisses de arquivos e diretrios, links simblicos, etc. O uso da opo loop=/dev/loop1 permite que o dispositivo /dev/loop1 seja associado ao arquivo /arquivo-reiserfs e assim permitir sua montagem e uso no sistema. Voc poder usar apenas -o loop com o comando mount, assim o kernel gerenciar automaticamente os dispositivos de loop. Caso faa isto manualmente, lembre-se de usar dispositivos /dev/loop? diferentes para cada arquivo que montar no sistema. Pois cada um faz referncia a um nico arquivo.
5.6.3
O comando e2label usado para esta funo. e2label [dispositivo] [nome] Onde:
60
dispositivo Partio que ter o nome modicado nome Nome que ser dado a partio (mximo de 16 caracteres). Caso seja usado um nome de volume com espaos, ele dever ser colocado entre aspas. Se no for especicado um nome, o nome atual da partio ser mostrado. O nome da partio tambm pode ser visualizado atravs do comando dumpe2fs (veja dumpe2fs on the current page). Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 Foca Linux
5.6.4
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 271). Isto garante que os blocos de disco no precisaro ser diretamente alocados durante a checagem. mklost+found OBS: Este comando s funciona em sistemas de arquivos ext2 Exemplo: cd /tmp;mklost+found;ls -a
5.6.5
dumpe2fs
Mostra detalhes sobre uma partio Linux. dumpe2fs [opes] [partio] Onde: partio Identicao da partio que ser usada. opes -b Mostra somente os blocos marcado como defeituosos no sistema de arquivos especicado. Este comando lista diversas opes teis do sistema de arquivos como o tipo do sistema de arquivos, caractersticas especiais, nmero de inodos, blocos livres, tamanho do bloco, intervalo entre checagens automticas, etc. Exemplo: dumpe2fs /dev/sda1, dumpe2fs -b /dev/sda1
5.6.6
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).
61
O arquivo EXT2 til para guardarmos dados condenciais em disquetes ou em qualquer outro lugar no sistema. Voc pode perfeitamente gravar seus arquivos condenciais em um arquivo chamado libBlaBlaBla-2.0 no diretrio /lib e ningum nunca suspeitar deste arquivo (acho que no. . . ). Tambm possvel criptografa-lo para que mesmo algum descobrindo que aquilo no uma lib, no poder abri-lo a no ser que tenha a senha (isto coberto no documento Loopback-encripted-filesystem.HOWTO). O uso do arquivo EXT2 til quando voc est perdendo espao na sua partio EXT2 e no quer re-particionar seu disco pois teria que ser feita uma re-instalao completa e tem muito espao em um partio de outro SO (como o Windows). Voc poderia facilmente copiar o contedo de /var, por exemplo, para o arquivo EXT2 ext2-l criado no diretrio Raz do Windows, apagar o contedo de /var (liberando muito espao em disco) e ento montar ext2-l como /var. A partir de agora, tudo o que for gravado em /var ser na realidade gravado no arquivo ext2-l. Para o sistema acessar o arquivo, deve passar pelo sistema de arquivos loop e FAT32, isto causa um desempenho menor.
5.7
Este tipo de partio usado para oferecer o suporte a memria virtual ao GNU/Linux em adio a memria RAM instalada no sistema. Este tipo de partio identicado pelo tipo 82 nos programas de particionamento de disco para Linux. Para detalhes de como criar uma partio Linux Swap veja Criando sistema de arquivos Swap em uma partio on the current page. Somente os dados na memria RAM so processados pelo processador, por ser mais rpida. Desta forma quando voc est executando um programa e a memria RAM comea a encher, o GNU/Linux move automaticamente os dados que no esto sendo usados para a partio Swap e libera a memria RAM para a continuar carregando os dados necessrios pelo. Quando os dados movidos para a partio Swap so solicitados, o GNU/Linux move os dados da partio Swap para a Memria. Por este motivo a partio Swap tambm chamada de Troca ou memria virtual. A velocidade em que os dados so movidos da memria RAM para a partio muito alta. Note tambm que possvel criar o sistema de arquivos Swap em um arquivo ao invs de uma partio (veja Criando um sistema de arquivos Swap em um arquivo on the following page).
5.7.1
O programa usado para formatar uma partio Swap o mkswap. Seu uso simples: mkswap /dev/hda? Novamente veja Identicao de discos e parties em sistemas Linux on page 70 caso no souber identicar seus discos e parties. O nome do dispositivo da partio Swap pode ser visualizado atravs de seu programa de particionamento, voc pode usar o comando fdisk -l /dev/hda para listar as parties no primeiro disco rgido e assim vericar qual dispositivo corresponde a partio Swap.
62
A opo -c tambm pode ser usada com o mkswap para checar se existem agrupamentos danicados na partio. Com a partio Swap formatada, use o comando: swapon /dev/hda? para ativar a partio Swap (lembre-se de substituir ? pelo nmero de sua partio Swap). Observaes: Os Kernels do GNU/Linux 2.0.xx e anteriores somente suportam parties Swap de at 128MB. Caso precise de mais que isso, crie mais parties Swap ou atualize seu sistema para trabalhar com o kernel 2.2.xx Se utilizar mais que 1 partio Swap, pode ser til o uso da opo -p NUM que especica a prioridade em que a partio Swap ser usada. Pode ser usado um valor de prioridade entre 0 e 32767, parties com nmero maior sero usadas primeiro, sendo que na montagem automtica atravs de mount -a podem ser designados nmeros negativos. Procure usar o nmero maior para parties mais rpidas (elas sero acessadas primeiro) e nmeros maiores para parties mais lentas. Caso precise desativar a partio Swap, use o comando: swapoff /dev/hda?.
5.7.2
Tambm possvel criar um arquivo que poder ser usado como memria virtual. Veja passo a passo como fazer isso: 1 Use o comando dd if=/dev/zero of=/tmp/troca bs=1024 count=16000 para criar um arquivo chamado troca vazio de 16Mb de tamanho em /tmp. Voc pode modicar os parmetros de of para escolher onde o arquivo ser criado, o tamanho do arquivo poder ser modicado atravs de count. 2 Execute mkswap /tmp/troca para formatar o arquivo. Aps concluir este passo, o sistema de arquivos Swap estar criado e pronto para ser usado. 3 Digite sync para sincronizar os buffers para o disco, assim voc no ter problemas em um servidor com muito I/O. 4 Ative o arquivo de troca com o comando swapon /tmp/troca. 5 Conra se o tamanho da memria virtual foi modicado digitando cat /proc/meminfo ou free. Observaes: Podem ser usadas parties de troca e arquivos de troca juntos, sem problemas. Caso seu sistema j tenha uma partio de Swap, recomendvel deixar o acesso ao arquivo Swap com uma prioridade menor (usando a opo -p NUM com o comando swapon).
63
5.7.3
Criar uma partio de Troca ou um arquivo de troca? Abaixo algumas vantagens e desvantagens: A partio Swap mais rpida que o arquivo Swap pois acessada diretamente pelo Kernel. Se o seu computador tem pouca memria (menos que 32Mb) ou voc tem certeza que o sistema recorre freqentemente a memria virtual para executar seus programas, recomendvel usar uma partio Swap. O arquivo de troca permite que voc crie somente uma partio Linux Native e crie o arquivo de troca na partio EXT2. Voc pode alterar o tamanho do arquivo de troca facilmente apagando e criando um novo arquivo como descrito em Criando um sistema de arquivos Swap em um arquivo on the facing page. possvel criar um arquivo de troca em outros tipos de parties como FAT16, FAT32, etc. O arquivo de troca estar disponvel somente aps o sistema de arquivos que o armazena (ext2, fat32, etc) estar montado. Isto um problema para sistemas com pouca memria que dependem do arquivo de troca desde sua inicializao.
5.8
o sistema de arquivos do Kernel do GNU/Linux. Ele oferece um mtodo de ler, gravar e modicar dinamicamente os parmetros do kernel, muito til para curiosos (como eu) e programas de congurao. A modicao dos arquivos do diretrio /proc o mtodo mais usado para modicar a congurao do sistema e muitos programas tambm dependem deste diretrio para funcionar. Nele voc tem todo o controle do que o seus sistema operacional est fazendo, a congurao dos hardwares, interrupes, sistema de arquivos montado, execuo de programas, memria do sistema, rede, etc. Agora entre no diretrio /proc digite ls e veja a quantidade de arquivos e diretrios que ele possui, d uma passeada por eles. Abaixo a descrio de alguns deles (todos podem ser visualizados pelo comando cat): Diretrios com nmeros - Estes identicam os parmetros de um processo em execuo. Por exemplo, se o PID (identicao do processo) do inetd for 115, voc pode entrar no diretrio 115 e vericar as opes usadas para execuo deste programa atravs de cada arquivos existente dentro do diretrio. Alguns so: cmdline - O que foi digitado para iniciar o processo (pode tambm ter sido iniciado atravs de um programa ou pelo kernel). environ - Variveis de Ambiente existentes no momento da execuo do processo.
64
status - Dados sobre a execuo do Processo (PID, status da execuo do programa, memria consumida, memria executvel, UID, GID, etc). apm - Dados sobre o gerenciamento de energia cmdline - Linha de comando usada para inicializar o Kernel GNU/Linux. Os parmetros so passados atravs do programa de inicializao, como o LILO, LOADLIN, SYSLINUX. cpuinfo - Detalhes sobre a CPU do sistema devices - Dispositivos usados no sistema dma - Canais de DMA usados por dispositivos filesystems - Sistemas de arquivos em uso atualmente interrupts - Interrupes usadas por dispositivos ioports - Portas de Entrada e Sada usadas pelos dispositivos do sistema kcore - Este arquivo corresponde a toda a memria RAM em seu sistema. Seu tamanho correspondente a memria RAM do micro kmsg - Permite visualizar mensagens do Kernel (use o comando cat < kmsg para visualiza-lo e pressione CTRL+C para cancelar loadavg - Mdia de Carga do sistema meminfo - Dados de utilizao da memria do sistema misc - Outras conguraes modules - Mdulos atualmente carregados no kernel mounts - Sistemas de Arquivos atualmente montados pci - Detalhes sobre dispositivos PCI do sistema rtc - Relgio em Tempo real do sistema uptime - Tempo de execuo do sistema version - Verso atual do Kernel, programa usado na compilao, etc Diretrio net - Dados sobre a rede do sistema Diretrio sys - Dados sobre outras reas do sistema Diretrio scsi - Detalhes sobre dispositivos SCSI do sistema Note que o diretrio proc e os arquivos existentes dentro dele esto localizados no diretrio raiz (/), mas no ocupa nenhum espao no disco rgido.
5.9
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.
65
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
Desenvolvi este desenho para representar a idia de organizao de um sistema LVM para o guia Foca GNU/Linux e apresentar a descrio prtica da coisa: +------[ Grupo de Volume (VG) - lvmdsk ]------+ | +--[ PV - hda1 ]---+ +--[ PV - hdb1 ]--+ | | | PE PE PE PE PE PE| | PE PE PE PE PE | | | +------------------+ +-----------------+ | | | | | | | | | | +-----------------+ | | | | +----------------+ | | | | | | | | | +-[ LV - var ]-+ +-[ LV - home ]-+ | | | LE LE LE LE | | LE LE LE LE | | | +--------------+ +---------------+ | +---------------------------------------------+ O grco acima representa a seguinte situao:
66
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
Nesta seo no tenho a inteno de cobrir todos os detalhes tcnicos da implantao do LVM, a idia aqui fornecer uma referncia bsica e prtica para uso em qualquer sistema normal (desconsiderando usos crticos). A idia aqui mostrar de forma prtica como implantar LVM em sua mquina e preparar seu uso nos discos. Antes de comear, retire QUALQUER CD que estiver inserido na unidade de CD-ROM, pois eles podem causar erro no pvscan, pvdisplay, etc. 1 No particionamento, dena as parties do tipo 8E (Linux LVM). A partio Linux LVM exatamente igual a Linux Native (82), a nica vantagem que o LVM utilizar auto deteco para saber quais parties ele deve utilizar no pvscan. 2 Instale o pacote lvm10 e uma imagem de kernel 2.4 que tenha suporte a LVM, ou compile seu prprio kernel (caso goste de mquinas turbinadas :-) 3 Execute o pvscan para detectar as parties marcadas como LVM e criar sua congurao em /etc/lvmtab.d. OBS: normal o sistema procurar dispositivos de CD-ROM durante a execuo do pvscan, apenas no deixe um CD na unidade para evitar grandes sustos se estiver desatento com os passos :-) 4 Rode o pvcreate no disco ou partio para dizer que ela ser um volume fsico do LVM: pvcreate /dev/hda1 ou pvcreate /dev/hda Em caso de dvida sobre qual a partio LVM, digite: fdisk -l /dev/hda (supondo que /dev/hda o disco rgido que est congurando o LVM).
67
5 Rode o pvdisplay /dev/hda1 para vericar se o volume fsico foi criado. Recomendo que deixe a partio raz (/) de fora do LVM para no ter futuros problemas com a manuteno do seu sistema, a menos que tenha muitas opes de inicializao com suporte a LVM em mos, ou algo mais complexo baseado em initrd :-) 6 Crie o grupo de volume na partio vgcreate lvmdisk /dev/hda1 /dev/hdb7. . . Note que parties de discos diferentes podem fazer parte de um mesmo grupo de volume (VG) do LVM. Caso use o devfs, ser preciso usar o caminho completo do dispositivo ao invs do link: vgcreate lvmdisk /dev/ide/host0/bus0/target0/lun0/part1 O valor padro do Phisical Extend de 4MB mas pode ser alterado pelo parmetro -s tamanho, assim o tamanho mximo do grupo de volume ser de 256GB (4MB * 64.000 extends que so suportados por volume lgico). Os valores do Phisical Extend (PE) pode ser de 8k a 16GB. No possvel modicar o tamanho do PE aps ele ser denido. 7 Verique o grupo de volume (VG) recm criado com o comando: vgdisplay ou vgdisplay /dev/hda6. Atente para a linha Free PE / tamanho, que indica o espao livre restante para criar os volumes lgicos (LV). 8 Crie o volume lgico (LV) com o comando: lvcreate -L1500 -ntmp lvmdisk Que vai criar uma partio LVM de 1500MB (1,5GB) com o nome tmp (acessvel por /var /lvmdisk/tmp) dentro do grupo lvmdisk. Voc dever fazer isso com as outra parties. 9 Agora resta criar um sistema de arquivos (ext3, reiserfs, xfs, jfs, etc) como faria com qualquer partio fsica normal: mkfs.ext3 /dev/lvmdisk/tmp mkfs.reiserfs /dev/lvmdisk/tmp OBS: Caso deseje montar automaticamente o volume LVM, coloque o caminho completo do LVM ao invs do volume fsico no /etc/fstab: /dev/lvmdisk/tmp.
5.9.4
O processo para aumentar o tamanho do volume lgico consiste em primeiro aumentar o tamanho do VG com o lvextend e depois ajustar o tamanho do sistema de arquivos: # Aumenta o espao do volume lgico tmp para 1G lvextend -L1G /dev/lvmdisk/tmp # Aumenta em 200MB o espao no volume lgico tmp lvextend -L+200M /dev/lvmdisk/tmp As unidades Kk,Mm,Gg,Tt podem ser usadas para especicar o espao. Aps modicar o volume lgico, ser preciso aumentar o tamanho do sistema de arquivos para ser exatamente igual ao tamanho do LV. Isto depende do seu sistema de arquivos: ext2/3 resize2fs /dev/lvmdisk/tmp O ext2/3 ainda vem com o utilitrio e2fsadm que executa os dois comandos (lvextend e resize2fs) de uma s vez: e2fsadm -L+1G /dev/lvmdisk/tmp OBS: Voc dever desmontar o sistema de arquivos antes de alterar o tamanho de um sistema de arquivos ext2 ou ext3. Para alterar o tamanho durante a execuo do sistema operacional, necessria a aplicao do patch ext2online no kernel.
68
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 desmontado antes de ser modicado.
5.9.5
Para diminuir o tamanho de um volume lgico, certique-se de ter calculado o espao corretamente para acomodar todos os dados que j existem na partio. A diferena para o processo de aumentar o LV que neste o sistema de arquivos reduzido primeiro e depois o LV: ext2/3 e2fsadm -L-1G /dev/lvmdisk/tmp Voc tambm poder usar o resize2fs e depois o lvreduce, mas dever dizer o tamanho em blocos para o resize2fs que varia de acordo com o tamanho do sistema de arquivos: resize2fs /dev/lvmdisk/tmp 524288 lvreduce -L-1G /dev/lvmdisk/tmp OBS: Voc dever desmontar o sistema de arquivos antes de alterar o tamanho do sistema de arquivos, a no ser que tenha o patch ext2online aplicado no kernel. reiserfs resize_reiserfs -s-1G /dev/lvmdisk/tmp lvreduce -L-1G /dev/lvmdisk/tmp O tamanho do sistema de arquivos reiserfs poder ser modicado on-line, assim no precisa parar seu servidor para a modicao. xfs No possvel diminuir o tamanho de um sistema de arquivos XFS em sua verso atual (12/2003).
5.10
Formatando disquetes
As subsees seguintes explicaro maneiras de formatar seus disquetes para serem usados no GNU/Linux e DOS/Windows.
5.10.1
Para formatar disquetes para serem usados no GNU/Linux use o comando: mkfs.ext2 [-c] [/dev/fd0] Em alguns sistemas voc deve usar mke2fs no lugar de mkfs.ext2. A opo -c faz com que o mkfs.ext2 procure por blocos danicados no disquete e /dev/fd0 especica a primeira unidade de disquetes para ser formatada (equivalente a A: no DOS). Mude para /dev/fd1 para formatar um disquete da segunda unidade. OBS: Este comando cria um sistema de arquivos ext2 no disquete que nativo do GNU/Linux e permite usar caractersticas como permisses de acesso e outras. Isto tambm faz com que o disquete NO possa ser lido pelo DOS/Windows. Para formatar um disquete no GNU/Linux usando o FAT12 (compatvel com o DOS/Windows) veja prxima seo. Exemplo: mkfs.ext2 -c /dev/fd0
69
5.10.2
A formatao de disquetes DOS no GNU/Linux feita usando o comando superformat que geralmente includo no pacote mtools. O superformat formata (cria um sistema de arquivos) um disquete para ser usado no DOS e tambm possui opes avanadas para a manipulao da unidade, formatao de intervalos de cilindros especcos, formatao de discos em alta capacidade e vericao do disquete. superformat [opes] [dispositivo] dispositivo Unidade de disquete que ser formatada. Normalmente /dev/fd0 ou /dev/fd1 especicando respectivamente a primeira e segunda unidade de disquetes. opes -v [num ] Especica o nvel de detalhes que sero exibidos durante a formatao do disquete. O nvel 1 especica um ponto mostrado na tela para cada trilha formatada. Veja a pgina de manual do superformat para detalhes. -superverify Verica primeiro se a trilha pode ser lida antes de formata-la. Este o padro. dosverify, -B Verica o disquete usando o utilitrio mbadblocks. Usando esta opo, as trilhas defeituosas encontradas sero automaticamente marcadas para no serem utilizadas. verify_later, -V Verica todo o disquete no nal da formatao. noverify, -f No faz vericao de leitura. -b [trilha ] Especica a trilha inicial que ser formatada. O padro 0. -e [trilha ] Especica a trilha nal que ser formatada. Na primeira vez que o superformat executado, ele verica a velocidade de rotao da unidade e a comunicao com a placa controladora, pois os discos de alta densidade so sensveis a rotao da unidade. Aps o teste inicial ele recomendar adicionar uma linha no arquivo /etc/driveprm como forma de evitar que este teste seja sempre executado. OBS: Esta linha calculada de acordo com a rotao de usa unidade de disquetes, transferncia de dados e comunicao com a placa controladora de disquete. Desta forma ela varia de computador para computador Note que no necessrio montar a unidade de disquetes para formata-la. Segue abaixo exemplos de como formatar seus disquetes com o superformat: superformat /dev/fd0 - Formata o disquete na primeira unidade de disquetes usando os valores padres. superformat /dev/fd0 dd - Faz a mesma coisa que o acima, mas assume que o disquete de Dupla Densidade (720Kb). superformat -v 1 /dev/fd0 - Faz a formatao da primeira unidade de disquetes (/dev/fd0) e especica o nvel de detalhes para 1, exibindo um ponto aps cada trilha formatada.
5.10.3
Alm de programas de formatao em modo texto, existem outros para ambiente grco (X11) que permitem fazer a mesma tarefa. Entre os diversos programas destaco o gfloppy que alm de permitir selecionar se o disquete ser formatado para o GNU/Linux (ext2) ou DOS (FAT12), permite selecionar a capacidade da unidade de disquetes e formatao rpida do disco.
70
5.11
Pontos de Montagem
O GNU/Linux acessa as parties existente em seus discos rgidos e disquetes atravs de diretrios. Os diretrios que so usados para acessar (montar) parties so chamados de Pontos de Montagem. Para detalhes sobre montagem de parties, veja Montando (acessando) uma partio de disco on the next page. No DOS cada letra de unidade (C:, D:, E:) identica uma partio de disco, no GNU/Linux os pontos de montagem fazem parte da grande estrutura do sistema de arquivos raiz. Existem muitas vantagens de se usar pontos de montagem ao invs de unidade de disco para identicar parties (mtodo usado no DOS): Voc pode montar a partio no diretrio que quiser. Em caso de um sistema de arquivos cheio, voc pode copiar o contedo de um grande diretrio para um disco separado, apagar o contedo do diretrio original e montar o disco onde foram copiados os arquivos naquele local (caso no use um sistema de LVM). O uso de pontos de montagem torna o gerenciamento mais exvel. A adio de novas parties ou substituio de discos rgidos no afeta a ordem de identicao dos discos e pontos de montagem (como no acontece no DOS).
5.12
No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identicados por um arquivo referente a este dispositivo no diretrio /dev. A identicao de discos rgidos no GNU/Linux feita da seguinte forma: /dev/hda1 | | || | | ||_Nmero que identifica o nmero da partio no disco rgido. | | | | | |_Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). | | | |_Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xt=XT). | |_Diretrio onde so armazenados os dispositivos existentes no sistema. Abaixo algumas identicaes de discos e parties em sistemas Linux: /dev/fd0 - Primeira unidade de disquetes. /dev/fd1 - Segunda unidade de disquetes. /dev/hda Primeiro disco rgido na primeira controladora IDE do micro (primary master).
71
/dev/hda1 - Primeira partio do primeiro disco rgido IDE. /dev/hdb Segundo disco rgido na primeira controladora IDE do micro (primary slave). /dev/hdb1 - Primeira partio do segundo disco rgido IDE. /dev/sda - Primeiro disco rgido na primeira controladora SCSI. /dev/sda1 - Primeira partio do primeiro disco rgido SCSI. /dev/sdb - Segundo disco rgido na primeira controladora SCSI. /dev/sdb1 - Primeira partio do segundo disco rgido SCSI. /dev/sr0 - Primeiro CD-ROM SCSI. /dev/sr1 - Segundo CD-ROM SCSI. /dev/xda - Primeiro disco rgido XT. /dev/xdb - Segundo disco rgido XT. As letras de identicao de discos rgidos podem ir alm de hdb, em meu micro, por exemplo, a unidade de CD-ROM est localizada em /dev/hdg (Primeiro disco - quarta controladora IDE). importante entender como os discos e parties so identicados no sistema, pois ser necessrio usar os parmetros corretos para monta-los.
5.13
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. reiserfs - Para parties reiserfs, com suporte a journaling.
72
vfat - Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios. msdos - Para parties DOS normais. iso9660 - Para montar unidades de CD-ROM. o padro. umsdos - Para montar uma partio DOS com recursos de parties EXT2, como permisses de acesso, links, etc. Para mais detalhes sobre opes usadas com cada sistema de arquivos, veja a pgina de manual mount. -r Caso for especicada, monta a partio somente para leitura. -w Caso for especicada, monta a partio como leitura/gravao. o padro. Existem muitas outras opes que podem ser usadas com o comando mount, mas aqui procurei somente mostrar o bsico para montar seus discos e parties no GNU/Linux (para mais opes, veja a pgina de manual do mount). Caso voc digitar mount sem parmetros, sero mostrados os sistemas de arquivos atualmente montados no sistema. Esta mesma listagem pode ser vista em /etc/mtab. A remontagem de partio tambm muito til, especialmente aps reparos nos sistema de arquivos do disco rgido. Veja alguns exemplos de remontagem abaixo. necessrio permisses de root para montar parties, a no ser que tenha especicado a opo user no arquivo /etc/fstab (veja fstab on this page). Exemplo de Montagem: Montar uma partio Windows (vfat) de /dev/hda1 em /mnt somente para leitura: mount /dev/hda1 /mnt -r -t vfat Montar a primeira unidade de disquetes /dev/fd0 em /floppy: mount /dev/fd0 /floppy -t vfat Montar uma partio DOS localizada em um segundo disco rgido /dev/hdb1 em /mnt: mount /dev/hdb1 /mnt -t msdos. Remontar a partio raz como somente leitura: mount -o remount,rw / Remontar a partio raz como leitura/gravao (a opo -n usada porque o mount no conseguir atualizar o arquivo /etc/mtab devido ao sistema de arquivos / estar montado como somente leitura atualmente: mount -n -o remount,rw /.
5.13.1
fstab
O arquivo /etc/fstab permite que as parties do sistema sejam montadas facilmente especicando somente o dispositivo ou o ponto de montagem. Este arquivo contm parmetros sobre as parties que so lidos pelo comando mount. Cada linha deste arquivo contm a partio que desejamos montar, o ponto de montagem, o sistema de arquivos usado pela partio e outras opes. fstab tem a seguinte forma: Sistema_de_arquivos /dev/hda1 /dev/hda2 /dev/hda3 /dev/hdg Ponto_de_Montagem / /boot /dos /cdrom Tipo ext2 ext2 msdos iso9660 Opes dump ordem defaults 0 1 defaults 0 2 defaults,noauto,rw 0 0 defaults,noauto 0 0
73
Onde: Sistema de Arquivos Partio que deseja montar. Ponto de montagem Diretrio do GNU/Linux onde a partio montada ser acessada. Tipo Tipo de sistema de arquivos usado na partio que ser montada. Para parties GNU/Linux use ext2, para parties DOS (sem nomes extensos de arquivos) use msdos, para parties Win 95 (com suporte a nomes extensos de arquivos) use vfat, para unidades de CD-ROM use iso9660. Opes Especica as opes usadas com o sistema de arquivos. Abaixo, algumas opes de montagem para ext2/3 (a lista completa pode ser encontrada na pgina de manual do mount): defaults - Utiliza valores padres de montagem. noauto - No monta os sistemas de arquivos durante a inicializao (til para CDROMS e disquetes). ro - Monta como somente leitura. user - Permite que usurios montem o sistema de arquivos (no recomendado por motivos de segurana). sync recomendado para uso com discos removveis (disquetes, zip drives, etc) para que os dados sejam gravados imediatamente na unidade (caso no seja usada, voc deve usar o comando sync on page 125 antes de retirar o disquete da unidade. dump Especica a frequncia de backup feita com o programa dump no sistema de arquivos. 0 desativa o backup. Ordem Dene a ordem que os sistemas de arquivos sero vericados na inicializao do sistema. Se usar 0, o sistema de arquivos no vericado. O sistema de arquivos raz que dever ser vericado primeiro o raz / (a no ser que voc tenha um sistema de arquivos de outro tipo que no montado dentro do diretrio raz e possui seu suporte embutido no kernel) . Aps congurar o /etc/fstab, basta digitar o comando mount /dev/hdg ou mount /cdrom para que a unidade de CD-ROM seja montada. Voc deve ter notado que no necessrio especicar o sistema de arquivos da partio pois o mount vericar se ele j existe no /etc/fstab e caso existir, usar as opes especicadas neste arquivo. Para maiores detalhes veja as pginas de manual fstab e mount.
5.14
Para desmontar um sistema de arquivos montado com o comando umount, use o comando umount. Voc deve ter permisses de root para desmontar uma partio. umount [dispositivo/ponto de montagem] Voc pode tanto usar umount /dev/hda1 como umount /mnt para desmontar um sistema de arquivos /dev/hda1 montado em /mnt. Observao: O comando umount executa o sync automaticamente no momento da desmontagem para garantir que todos os dados ainda no gravados sero salvos.
74
75
Chapter 6
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
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
76
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=/boot/boot.b 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 70) , 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 78. 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=/boot/boot.b map=/boot/map vga=normal delay=20 prompt image=/vmlinuz root=/dev/hda1
77
label=linux read-only other=/dev/hda2 table=/dev/hda label=dos O exemplo acima idntico ao anterior, o que foi acrescentado foi a opo prompt na seo geral (para que seja mostrado imediatamente o aviso de boot: no momento em que o LILO for carregado), e includa uma imagem de disco DOS localizado em /dev/hda2. No momento da inicializao mostrada a mensagem boot: e caso seja digitado DOS e pressionado ENTER, o sistema iniciar o DOS. Caso a tecla Enter seja pressionada sem especicar a imagem, a primeira ser carregada (neste caso o GNU/Linux). Voc pode substituir a palavra GNU/Linux da opo label por o nmero 1 e DOS por 2, desta forma o nmero pode ser digitado para iniciar o sistema operacional. Isto muito til para construir um menu usando a opo message. Para detalhes veja Opes usadas no LILO on the following page. A seo Geral vem do inicio do arquivo at a palavra delay=20. A partir do primeiro aparecimento da palavra image, other ou range, tudo o que vier abaixo ser interpretado como imagens de inicializao. Por padro, a imagem carregada a especicada por default= ou a primeira que aparece no arquivo (caso default= no seja especicado). Para carregar o outro sistema (o DOS), digite o nome da imagem de disco no aviso de boot: (especicada em label=) que ser carregada. Voc tambm pode passar parmetros manualmente ao kernel digitando o nome da imagem de disco e uma opo do kernel ou atravs do arquivo /etc/lilo.conf (veja Opes usadas no LILO on the next page). O LILO pode inicializar o seguintes tipos de imagens: Imagens do kernel de um arquivo. Normalmente usado para iniciar o GNU/Linux pelo disco rgido e especicado pelo parmetro image=. Imagens do kernel de um dispositivo de bloco (como um disquete). Neste caso o nmero de setores a serem lidos devem ser especicados na forma PRIMEIRO-LTIMO ou PRIMEIRO+NMERO de setores a serem lidos. necessrio especicar o parmetro image= e range=, por exemplo: image=/dev/fd0 range=1+512 Todas as opes do kernel podem ser usadas na inicializao por dispositivo. O setor de boot de outro sistema operacional (como o DOS, OS/2, etc). O setor de partida armazenado junto com a tabela de partio no arquivo /boot/map. necessrio especicar o parmetro OTHER=dispositivo ou OTHER=arquivo e a inicializao atravs de um setor de partida possui algumas opes especiais como o TABLE= (para especicar a tabela de partio) e o MAP-DRIVE= (identicao da unidade de discos pelo sistema operacional). Veja o exemplo desta congurao abaixo: other=/dev/hda2 table=/dev/hda
78
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
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.
79
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=setor-boot - Instala o arquivo setor-boot como novo setor de boot do disco. Se install for omitido, /boot/boot.b usado por padro. 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. 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=.
80
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 89 para maiores detalhes.
6.1.3
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=/boot/boot.b 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 image=/vmlinuz root=/dev/hda1 label=1 read-only password=12345 restricted other=/dev/hda2 #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
81
#a tabela de partio dele est em /dev/hda #identificao desta imagem de disco #pede a senha antes de iniciar este sistema
Voc pode usar o exemplo acima como base para construir sua prpria congurao personalizada do /etc/lilo.conf mas no se esquea de modicar as tabelas de parties para seu sistema. Se voc usa o Windows NT 4.0, Windows NT 5.0 (Windows 2000) ou o OS/2, recomendo ler o DOS+Windows+OS/2-HOWTO. Aps criar seu arquivo /etc/lilo.conf , execute o comando lilo e se tudo ocorrer bem, o LILO ser instalado.
6.2
GRUB
(Os detalhes contidos na seo sobre o GRUB, foram integralmente desenvolvidos por Alexandre Costa <alebyte@bol.com.br> como contribuio ao guia FOCA GNU/Linux.) O GRUB (Grand Unied Boot Loader) mais uma alternativa como gerenciador de boot e apresenta alguns recursos extras com relao as outras opes disponveis. Ele exvel, funcional e poderoso, podendo inicializar sistemas operacionais como o Windows (9x, ME, NT, 2000 e XP), Dos, Linux, GNU Hurd, *BSD, OS/2 e etc. Podemos destacar tambm o suporte aos sistemas de arquivos ext2 (Linux), ext3 e reiserfs (novos sistemas de arquivos journaling do Linux), FAT16 e FAT32 (Win 9x/ME), FFS (Fast File System usado no *BSD), minix (MINIX OS) e etc. Por utilizar o padro Multiboot ele capaz de carregar diversas imagens de boot e mdulos. Por esse motivo ele o nico gerenciador de inicializao capaz de carregar o conjunto de servidores do GNU Hurd. O GRUB tambm permite buscar imagens do kernel pela rede, por cabo seriais, suporta discos rgidos IDE e SCSI, detecta toda a memria RAM disponvel no sistema, tem interface voltada para linha de comandos ou menus de escolha, alm de suportar sistemas sem discos e terminais remotos. Como possui inmeros recursos, ser apresentada sua utilizao bsica, cando como sugesto ao leitor procurar se aprofundar mais em suas possibilidades de uso e congurao.
6.2.1
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 No GRUB (hd0) (hd0,0) (hd0,1)
82
/dev/hdb /dev/hdb1 /dev/hdb2 /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/fd0
(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 70.
6.2.2
Instalando o GRUB
A instalao do GRUB ao contrrio da instalao do LILO (LILO on page 75), s precisa ser executada uma nica vez. Caso seja necessria alguma mudana como por exemplo adicionar uma nova imagem, esta pode ser feita apenas editando o arquivo de congurao menu.lst. No MBR Um mtodo simples de adicionar o GRUB para gerenciar seu MBR (Master Boot Record) rodando o seguinte comando (como superusurio): # /sbin/grub-install /dev/hda Este comando grava o GRUB no MBR do primeiro disco e cria o diretrio /boot/grub onde estaro os arquivos necessrios para o seu funcionamento. Neste ponto o GRUB j est instalado e quando voc reiniciar seu computador ir se deparar com uma linha de comandos, onde ter 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:
83
# 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
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
Quando foi criado o disquete de partida anteriormente, este s nos permitia utilizar a linha de comando sendo necessrio carregar o menu.lst pelo disco rgido (o qual deve estar presente). Em alguns casos este disco satisfaz as necessidades bsicas mas pode haver um momento em que voc deseje ter um disquete que funcione com vrios sistema e no dependa de um disco xo. Digite os seguintes comandos: # # # # # # # mke2fs /dev/fd0 mount /dev/fd0 /floppy -t ext2 mkdir /floppy/grub cp /usr/lib/grub/i386-pc/stage[12] /floppy/grub cp /usr/share/doc/grub/examples/menu.lst /floppy/grub umount /floppy /sbin/grub
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.
84
6.2.5
Esta seo descreve o arquivo menu.lst com explicaes sobre as opes mais usadas. Este arquivo dividido em parmetros Globais, que afetam o arquivo todo e parmetros que s tem efeito para as imagens do sistema que ser carregado. Algumas opes podem ser passadas para o kernel do Linux no momento do boot, algumas delas tambm sero detalhadas. Parmetros Globais timeout = Dene um tempo (em segundos) de espera. Se nenhuma tecla for pressionada, carrega a imagem padro. default = Dene qual ser a opo padro que deve ser automaticamente selecionada quando nenhuma outra for especicada em um tempo denido por timeout. fallback = Caso ocorra algum erro inesperado e a opo padro no possa ser carregada, este parmetro dene qual a outra opo deve ser utilizada. color = Permite que voc escolha as cores usadas no menu de boot. password = Permite que voc especique uma senha. Est ser solicitada sempre que houver necessidade de realizar uma funo que no seja carregar as imagens disponveis, como por exemplo acessar a linha de comandos do GRUB. Voc pode utilizar tambm o parmetro password para esconder um arquivo que contenha outras conguraes, como um menu.lst secreto. O arquivo pode ter um nome qualquer. Ex.: password = senha (hd0,0)/boot/grub/secret.conf Voc pode ter vrias entradas do parmetro password em um mesmo arquivo sendo que uma delas usada para bloquear o acesso as imagens/linha de comandos e as outras usadas para carregar arquivos de opes do GRUB. Quando voc digitar p para entrar com a senha, voc pode digitar a senha que protege as imagens/linha de comandos ou a que utilizada para carregar os arquivos de opes. hiddenmenu = Est opo faz com que o menu de opes no seja mostrado e de boot na imagem especicada por default depois de expirado o tempo denido em timeout. O usurio pode requisitar o menu com as opes pressionando a tecla <ESC> antes que o tempo denido em timeout expire. Parmetros que afetam apenas as imagens title = Dene um texto que ser apresentado no menu de boot para identicar o sistema a ser inicializado. root = Determina qual a partio raiz do sistema a ser inicializada. rootnoverify = Idntica a opo root, mas no tenta montar a partio-alvo, o que necessrio para alguns sistemas como Dos e Windows. 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.
85
pause = Emite uma mensagem na tela e espera uma tecla ser pressionada. makeactive = Torna a partio ativa. Este comando est limitado a parties primrias dos discos. chainloader = Alguns sistemas como o Windows ou Dos armazenam seu prprio gerenciador de boot no incio da partio em que ele est instalado. Para efetuar o boot destes sistemas atravs do GRUB, voc precisa pedir para que o gerenciador de boot de tal sistema seja carregado e faa seu trabalho, dando o boot. hide e unhide = Esconde e mostra partio respectivamente. Estas duas opes so necessrias quando houver mais de uma verso do Dos ou Windows na mquina em parties diferentes, j que estes sistemas detectam automaticamente a partio e quase sempre o fazem de modo errado. Suponha o Windows na primeira partio primria (hd0,0) e o Dos na segunda partio primria (hd0,1). Quando quisermos carregar estes sistemas devemos proceder da seguinte maneira: title Windows hide (hd0,1) unhide (hd0,0) rootnoverify (hd0,0) chainloader +1 makeactive title Dos hide (hd0,0) unhide (hd0,1) rootnoverify (hd0,1) chainloader +1 makeactive map = Alguns sistemas no permitem ser inicializados quando no esto no primeiro disco (Dos, Win 9x, etc.). Para resolver esta e outras situaes o GRUB tem um comando que permite enganar tal sistema mapeando as unidades de disco do modo como lhe for mais conveniente. Imagine que voc tenha o primeiro disco (hd0) com o GNU/Linux instalado e em um outro disco (hd1) com o Windows/Dos instalado. O Windows/Dos no permitem serem inicializados desta forma e como soluo voc poderia usar a seguinte entrada no arquivo de conguraes do GRUB: title Windows unhide (hd1,0) rootnoverify (hd1,0) 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 89. Voc pode passar os parmetros da seguinte maneira:
86
# 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
# Exemplo de arquivo de configurao do GRUB. # Note que voc pode usar o caracter # para fazer comentrios. # Se aps 30 segundos nenhuma tecla for pressionada, carrega a imagem padro. timeout 30 # Define a primeira imagem como padro. default 0 # Caso a imagem padro no funcione carrega a imagem definida aqui. fallback 1 # Define as cores que sero usadas no menu. color light-cyan/black white/blue # Permite utilizar uma senha. password minha-senha-secreta password minha-senha (hd0,0)/boot/grub/secret.conf # Para boot com o GNU/Hurd title GNU/Hurd root (hd0,0) kernel /boot/gnumach.gz root=hd0s1 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)
87
title Utah Mach4 multiboot root (hd0,2) pause Insira o disquete agora!!! kernel (fd0)/boot/kernel root=hd0s3 module (fd0)/boot/bootstrap # Para boot com FreeBSD title FreeBSD 3.4 root (hd0,2,a) kernel /boot/loader # Para boot com OS/2 title OS/2 root (hd0,1) makeactive chainloader +1 chainloader /boot/chain.os2 # Para boot com Windows 9x, ME, NT, 2000, XP. title Windows 9x, ME, NT, 2000, XP unhide (hd0,0) rootnoverify (hd0,0) chainloader +1 makeactive # Para instalar o GRUB no disco rgido. title = Instala o GRUB no disco rgido root = (hd0,0) setup = (hd0) # Muda as cores. title Mudar as cores color light-green/brown blink-red/blue
6.2.7
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
88
ter acesso a linha de comandos (lembre-se que pressionar <ESC> faz com que voc volte aos menus de escolha). Caso a opo password tenha sido especicada no arquivo menu.lst, ser necessrio antes de acessar as outras opes (que estaro desabilitadas) pressionar p e entrar com a senha correta. Agora, com acesso a linha de comandos, voc pode vericar os comandos disponveis pressionando duas vezes a tecla <TAB>. Note que voc tambm pode utilizar esta tecla para completar nomes de comandos bem como parmetros de alguns comandos.
Alguns comandos disponveis: cat = Este comando permite vericar o contedo de um arquivo qualquer, o qual deve estar gravado em um dispositivo ligado a sua mquina. Embora seja um recurso til, nenhuma permisso de acesso vericada e qualquer pessoa que tenha acesso a linha de comandos do GRUB pode listar o contedo de arquivos importantes. Para contornar este problema o parmetro password utilizado no arquivo menu.lst e faz com que uma senha seja solicitada antes de liberar o acesso a linha de comandos. No esquea que ainda possvel utilizar um disquete com o GRUB para dar boot na mquina o que permite usar a linha de comandos pelo disquete. Ex.: grub> cat (hd0,0)/etc/passwd cmp = Este comando utilizado para comparar dois arquivos. Ex.: grub> cmp (hd0,0)/arquivo1 (hd0,0)/arquivo2 configfile = Carrega um arquivo de congurao do GRUB. Ex.: grub> configfile (hd0,0)/boot/grub/menu.lst displayapm = Mostra informaes sobre APM. displaymem = Mostra informaes sobre a memria RAM. find = Permite encontrar um arquivo. A sada deste comando disponibiliza o nome completo do caminho para o arquivo e a partio onde o mesmo est localizado. Ex.: grub> find stage1 geometry = Mostra informaes sobre a geometria reconhecida de seu drive e permite que voc escolha a geometria desejada caso esta esteja sendo reconhecida erroneamente. help = help comando para ver a ajuda. Ex.: help color install = Instala o GRUB, embora no seja recomendado o uso deste comando diretamente, pois possvel esquecer ou trocar facilmente um parmetro e sobrescrever a 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
89
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
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
Para obter informaes mais detalhadas sobre o GRUB recomendado o site ocial do mesmo, o qual est disponvel apenas na lngua inglesa. Os seguintes sites foram utilizados na pesquisa: Site ocial do GRUB: http://www.gnu.org/software/grub/ Site Debian-br (http://debian-br.cipsga.org.br), na parte de suporte, documentao, Como usar o GRUB: Um guia rpido para usar o GRUB, feito por Vitor Silva Souza e Gustavo Noronha Silva.
6.3
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.
90
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 328).
6.4
LOADLIN
um gerenciador de partida que permite iniciar o GNU/Linux a partir do DOS. A vantagem do uso do Loadlin no ser preciso reiniciar o computador para se entrar no GNU/Linux. Ele funciona carregando o kernel (copiado para a partio DOS) para a memria e inicializando o GNU/Linux. Outro motivo pelo qual muito usado quando o GNU/Linux no tem suporte a um certo tipo de dispositivo, mas este tem seu suporte no DOS ou Windows e funciona corretamente com eles. O truque o seguinte: Voc inicia normalmente pelo DOS e aps seu dispositivo ser congurado corretamente pelo driver do DOS e funcionando corretamente, voc executa o Loadlin e o GNU/Linux assim poder usa-lo. Muitos usam o comando Loadlin dentro do arquivo autoexec.bat para iniciar o GNU/Linux automaticamente aps o dispositivo ser congurado pelo DOS. ATENO!!! No execute o Loadlin dentro do Windows.
6.4.1
Opes do LOADLIN
Abaixo a lista de opes que podem ser usadas com o programa LOADLIN (note que todas so usadas no DOS): 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.
91
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
Abaixo voc encontra um exemplo do comando loadlin que poder ser usado em sua instalao GNU/Linux (precisando apenas ajustar a localizao da partio raiz do GNU/Linux de acordo com seu sistema). C:\> LOADLIN vmlinuz root=/dev/hda1 ro | | | | | +- Montar como somente leitura | | | +- Partio raiz | +- Nome do kernel copiado para o DOS
6.5
syslinux
Outro gerenciador de partida que funciona somente com sistemas de arquivos DOS. A principal diferena do syslinux em relao ao LOADLIN que foi feito especialmente para funcionar em disquetes formatados no DOS, facilitando a instalao do GNU/Linux e para a criao de disquetes de recuperao ou de inicializao. Um disquete gerado pelo syslinux lido sem problemas pelo DOS/Windows. syslinux [-s] [dispositivo] A opo -s instala no disquete uma verso segura, lenta e estpida do syslinux. Isto necessrio para algumas BIOS problemticas.
6.5.1
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.
92
2 Copie um ou mais arquivos de kernel para o disquete 3 Digite syslinux /dev/fd0 (lembre-se de usar a opo -s se tiver problemas de inicializao). Este comando modicar o setor de partida do disquete e gravar um arquivo chamado LDLINUX.SYS no diretrio raiz do disquete. Lembre-se: O disquete deve estar desmontado antes de usar o comando syslinux, caso o disquete estiver montado uma mensagem ser mostrada e o syslinux abortado. Por padro carregado o kernel de nome GNU/Linux. Este padro pode ser modicado atravs do arquivo de congurao SYSLINUX.CFG que tambm gravado no diretrio raiz do disquete. Veja O arquivo SYSLINUX.CFG on the current page para detalhes. Se as teclas Caps Lock ou Scrool Lock estiverem ligadas ou Shift, Alt forem pressionadas durante o carregamento do syslinux, o syslinux mostrar um aviso de boot: no estilo do LILO. O usurio pode ento digitar o nome do kernel seguido de qualquer parmetro para inicializar o GNU/Linux.
6.5.2
O arquivo SYSLINUX.CFG
Este arquivo criado no diretrio raiz da unidade de disquete e contm as opes que sero usadas para modicar o funcionamento do syslinux. Abaixo a listagem de opes que podem ser especicadas neste arquivo: default [kernel [opes]] Indica o nome do kernel e as opes dele que sero usadas na inicializao, caso syslinux seja iniciado automaticamente. Caso no for especicado, o assumido para o kernel ser GNU/Linux sem nenhuma opo de inicializao. append [opes ] Passa uma ou mais opes ao kernel na inicializao. Elas sero adicionadas automaticamente para inicializaes automticas e manuais do syslinux. label [nome ] kernel [kernel ] append [opes ] Nome que identicar o kernel no aviso de boot: (idntica a opo label= do LILO). Se a imagem especicada por nome for selecionada, o kernel usado ser o especicado pelo parmetro kernel e as opes usadas por append. Caso seja passado um hfen - ao parmetro append, os parmetros passados pelo append global sero anulados. implicit [valor ] Se o [valor] for igual a 0, no carrega a imagem at que seja explicitamente especicada na opo label. timeout [tempo ] Indica quanto tempo o syslinux aguardar antes de inicializar automaticamente (medido em 1/10 de segundos). Caso alguma tecla seja pressionada, a inicializao automtica interrompida. Para desativar esta caracterstica, use 0 como timeout. O valor mximo de 35996. 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.
93
kbdmap [mapa ] Instala um simples mapa de teclado. O mapa de teclados usado muito simples: somente remapeia cdigos conhecidos pela BIOS, o que signica que somente teclas usadas no teclado padro EUA sero usadas. O utilitrio keytab-lilo.pl da distribuio do lilo pode ser usado para criar tais mapas de teclado. prompt [valor ] Se [valor] for igual a 1, mostra automaticamente o aviso de boot: assim que o syslinux for iniciado. Caso seja igual a 0, mostra o aviso de boot: somente se as teclas Shift ou Alt forem pressionadas ou Caps Lock e Scrool Lock estiverem ativadas. display [arquivo ] Mostra o contedo do [arquivo] durante a inicializao do syslinux. F1 [arquivo ] F2 [arquivo ] ... F0 [arquivo ] Especica que arquivos sero mostrados quando as teclas de F1 at F10 forem pressionadas. Para detalhes, veja Formatao dos arquivos de tela do syslinux on this page.
6.5.3
Os arquivos de texto que so mostrados na tela pelo syslinux podem ter suas cores modicadas usando parmetros simples, isto causa um bom efeito de apresentao. Abaixo esto os cdigos que podem ser usados para criar um arquivo texto que ser exibido pelo syslinux: CTRL+L - Limpa a tela (semelhante ao que o clear faz). CTRL+O[frente][fundo] - Define a cor de frente e fundo, se somente uma cor for especificada, esta ser assumida como frente. Veja os valores para [frente] e [fundo] abaixo: 00 - preto 08 - cinza escuro 01 - azul escuro 09 - azul claro 02 - verde escuro 0a - verde claro 03 - ciano escuro 0b - ciano claro 04 - vermelho escuro 0c - vermelho claro 05 - purple escuro 0d - purple claro 06 - marrom 0e - amarelo 07 - cinza claro 0f - branco CTRL+Z - Equivalente ao fim de arquivo no DOS O cdigo padro usado o 07. Escolhendo uma cor clara para o fundo (08-0f) resultar em uma cor piscante correspondente para a texto (00-07).
94
95
Chapter 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
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.
96
7.2
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 164. 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.
97
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
Abaixo algumas comandos e mtodos teis para o controle da execuo de processos no GNU/Linux.
7.5.1
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 99 para interromper um processo sendo executado.
98
7.5.2
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 the current page ou bg on this 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 95) 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 this page e bg on the current 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.
99
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 96. Tambm pode ser o nmero aps o sinal de % obtido pelo comando jobs para matar uma tarefa interrompida. Veja jobs on the preceding page. sinal Sinal que ser enviado ao processo. Se omitido usa -15 como padro. opes -9 Envia um sinal de destruio ao processo ou programa. Ele terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporrios criados por ele. Voc precisa ser o dono do processo ou o usurio root para termina-lo ou destru-lo. Voc pode vericar se o processo foi nalizado atravs do comando ps. Os tipos de sinais aceitos pelo GNU/Linux so explicados em detalhes em Sinais do Sistema on the following 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 next page. Exemplo: killall -HUP inetd
100
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:
101
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 &.
102
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 -19 (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
103
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
104
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 100 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
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.
105
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 120. 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.
106
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 325
7.14
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.
107
Chapter 8
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.
108
-H Faz o mesmo que -h, mas usa unidades de 1000 ao invs de 1024 para especicar Kbytes, Mbytes, Gbytes. -l Usa o formato longo para listagem de arquivos. Lista as permisses, data de modicao, donos, grupos, etc. -n Usa a identicao de usurio e grupo numrica ao invs dos nomes. -L, dereference Lista o arquivo original e no o link referente ao arquivo. -o Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG). -p Mesma coisa que -F, mas no inclui o smbolo * em arquivos executveis. Esta opo tpica de sistemas Linux. -R Lista diretrios e sub-diretrios recursivamente. full-time Lista data e hora completa. Classicao da listagem A listagem pode ser classicada usando-se as seguintes opes: -f No classica, e usa -au para listar os arquivos. -r Inverte a ordem de classicao. -c Classica pela data de alterao. -X Classica pela extenso. -U No classica, lista os arquivos na ordem do diretrio. Uma listagem feita com o comando ls -la normalmente mostrada da seguinte maneira:
-rwxr-xr--
gleydson user
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 151. 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.
109
8.2
cd
Entra em um diretrio. Voc precisa ter a permisso de execuo para entrar no diretrio. cd [diretrio] onde: diretrio - diretrio que deseja entrar. Exemplos: Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio de usurio (diretrio home). cd /, retornar ao diretrio raz. cd -, retornar ao diretrio anteriormente acessado. cd .., sobe um diretrio. cd ../[diretrio], sobe um diretrio e entra imediatamente no prximo (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin).
8.3
pwd
Mostra o nome e caminho do diretrio atual. Voc pode usar o comando pwd para vericar em qual diretrio se encontra (caso seu aviso de comandos no mostre isso).
8.4
mkdir
Cria um diretrio no sistema. Um diretrio usado para armazenar arquivos de um determinado tipo. O diretrio pode ser entendido como uma pasta onde voc guarda seus papeis (arquivos). Como uma pessoa organizada, voc utilizar uma pasta para guardar cada tipo de documento, da mesma forma voc pode criar um diretrio vendas para guardar seus arquivos relacionados com vendas naquele local. mkdir [opes] [caminho/diretrio] [caminho1/diretrio1] onde: caminho Caminho onde o diretrio ser criado. diretrio Nome do diretrio que ser criado. opes: verbose Mostra uma mensagem para cada diretrio criado. As mensagens de erro sero mostradas mesmo que esta opo no seja usada. Para criar um novo diretrio, voc deve ter permisso de gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste que ser usado para gravar arquivos de teste, voc deve usar o comando "mkdir/tmp/teste".
110
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 112). Por exemplo, para remover o diretrio /tmp/teste voc deve estar no diretrio tmp e executar o comando rmdir teste.
111
Chapter 9
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.
112
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.
113
-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:
114
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.
115
Chapter 10
Comandos Diversos
Comandos de uso diversos no sistema.
10.1
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).
116
%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.
117
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.
118
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
119
ante