Instituto Superior Polit�ecnico de ViseuEscola Superior de Tecnologia de Viseu
Manual de Linuxpara iniciados
Ricardo Jorge de Loureiro SilvaRui Jorge Martins Cabral
2
Copyright c 2001 Ricardo Silva e Rui Cabral.
All rights reserved.
Todo este documento foi escrito em LATEX
e pode ser distribu��do gratuitamente e/ou alterado.
Caso seja utilizada alguma das partes deste documento, os autores
agradecem que seja colocada uma referencia aos mesmos e tamb�em
que seja enviada uma informa�c~ao sobre a publica�c~ao e o autor da
mesma para [email protected] ou [email protected].
Acr�onimos
ARM Asynchronous Response Mode
AT&T American Telephone and Telegraph
AX.25 Amateur (Radio version of) X.25
BIOS Basic Input/Output SystemCPU Central Processing Unit
CSR Certi�cate Signing RequestDBM DataBase Management
DDP Datagram Delivery ProtocolDLL Dynamically Linked LibraryEISA Extended Industry Standard Architecture
FTP File Transfer ProtocolFSSTND Linux Filesystem StructureGE General Electrics
GIF Graphics Interchange Format
GNU GNU's Not Unix
GPL GNU General Public LicenseGUI Graphical User InterfaceIDE Integrated Drive Electronics
IEEE Institute of Electrical and Electronics EngineersIMP Interface Message Processor
IP Internet Protocol
IPV4 Internet Protocol Version 4
IPX Internetwork Packet Exchange [Novell]
ISA Industry Standard ArchitectureJPEG Joint Photographic Experts Grouplibnsl Name Services Library
libsocket Socket Services Library
LILO LInux LOader
MIPS Million of Instructions Per SecondMIT Massachusetts Institute of Technology
MTA Mail Transfer Agent
NetBEUI NetBIOS Extended User Interface [IBM]
NetBIOS Network Basic Iput/Output System
ii Acr�onimos
NFS Network File SystemNIS Network Information Service
NIS+ Network Information Service Plus
NYS Network Information Service Plus + Yellow Pages
PCI Peripheral Connection Interface
PID Process Identi�cation Number
PNG Portable Network GraphicsPPM Product Portfolio Management
POSIX Portable Operating System Interface eXchange
RAM Random Access Memory
RPC Remote Procedure Call
RPM RedHat Package ManagerRSA Rivest, Shamir, Adelman [public key encryption algorithm]
YP Yellow PagesTGZ Tarred and GZippedTCP/IP Transmission Control Protocol/Internet Protocol
TIFF Tagged Image File FormatUDP User Datagram Protocol
UUCP Unix-to-Unix Copy ProgramVLB VESA Local BusX.25 Packet Switch Control
XPM XPixMap
Conte�udo
Acr�onimos i
1 Hist�oria do Linux 1
1.1 O Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 O Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Evolu�c~ao do Linux em n�umeros . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Linux vs Sistemas Operativos Comerciais . . . . . . . . . . . . . . . 9
1.3 Distribui�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1 Debian GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.2 Mandrake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.3 Corel Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.4 Slackware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.5 Red Hat Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.6 SuSE Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.7 Caldera OpenLinux . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.8 GNUware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.9 WholeLinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.10 Mini distribui�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Ambientes Gr�a�cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.1 KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.2 Gnome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.3 Window Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.4 AfterStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Instala�c~ao do Red Hat Linux 7.1 25
2.1 Escolha da l��ngua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Con�gura�c~ao do teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Con�gura�c~ao do rato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4 Bem vindo ao Red Hat Linux . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 Op�c~oes de instala�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.6 Particionamento autom�atico . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.7 Particionando o disco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.7.1 Vari�aveis das parti�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . 29
iv Conte�udo
2.7.2 Esquema recomendado de particionamento . . . . . . . . . . . . . . 30
2.7.3 Problemas a adicionar uma parti�c~ao . . . . . . . . . . . . . . . . . . 31
2.7.4 Caracter��sticas do disco . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7.5 Op�c~oes do Disk Druid . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7.6 Adicionar parti�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7.7 Editar parti�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7.8 Apagar uma parti�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Particionando com o Fdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.9 Formatar parti�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.10 Instalar o LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.11 Con�gura�c~ao da rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.12 Con�gura�c~ao do �rewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.13 Con�gura�c~ao do fuso hor�ario . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.14 Selec�c~ao da(s) lingua(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.15 Con�gura�c~ao de contas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.15.1 De�nindo a password do root . . . . . . . . . . . . . . . . . . . . . 38
2.15.2 De�nir contas para utilizadores . . . . . . . . . . . . . . . . . . . . 39
2.16 Con�gura�c~ao de autentica�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.17 Escolha dos grupos de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.17.1 Seleccionar pacotes individuais . . . . . . . . . . . . . . . . . . . . . 41
2.17.2 Dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.18 Con�gura�c~ao da componente gr�a�ca . . . . . . . . . . . . . . . . . . . . . . 42
2.18.1 Con�gurar a placa de video . . . . . . . . . . . . . . . . . . . . . . 42
2.18.2 Con�gurar o monitor . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.18.3 Con�gura�c~ao pessoal . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.19 Prepara�c~ao para instalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.20 Instalando os pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.21 Cria�c~ao de uma disquete de arranque . . . . . . . . . . . . . . . . . . . . . 44
2.22 Instala�c~ao terminada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3 Estrutura dos direct�orios do Linux 47
3.1 O sistema de �cheiros raiz . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2 O direct�orio /etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3 O direct�orio /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4 O sistema de �cheiros /usr . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5 O sistema de �cheiros /var . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6 O sistema de �cheiros /proc . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4 Conceitos b�asicos 63
4.1 A Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Comandos b�asicos do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.1 Comandos e atalhos essenciais . . . . . . . . . . . . . . . . . . . . . 65
4.2.2 Comandos comuns de Informa�c~ao do Sistema . . . . . . . . . . . . 69
Conte�udo v
4.2.3 Opera�c~oes b�asicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2.4 Controlo de processos . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.2.5 Comandos b�asicos de administra�c~ao . . . . . . . . . . . . . . . . . . 82
4.2.6 Detalhes sobre montagem (mounting) . . . . . . . . . . . . . . . . . 87
4.2.7 Ferramentas de gest~ao de rede . . . . . . . . . . . . . . . . . . . . . 87
4.3 Instalar o X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.4 Criar utilizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.5 Con�gurar uma impressora . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5 Kernel 95
5.1 Construir um Kernel modularizado . . . . . . . . . . . . . . . . . . . . . . 95
5.2 Criar uma imagem do initrd . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3 Construir um Kernel monol��tico . . . . . . . . . . . . . . . . . . . . . . . . 100
6 Servi�cos 101
6.1 Automount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.1 Tipos de automontagem . . . . . . . . . . . . . . . . . . . . . . . . 101
6.1.2 Instala�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.1.3 Con�gura�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2 NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2.1 Montar um Servidor de NFS . . . . . . . . . . . . . . . . . . . . . . 104
6.2.1.1 O portmapper . . . . . . . . . . . . . . . . . . . . . . . . 104
6.2.1.2 Mountd e o nfsd . . . . . . . . . . . . . . . . . . . . . . . 104
6.2.2 Montar o Cliente de NFS . . . . . . . . . . . . . . . . . . . . . . . . 105
6.2.2.1 Optimizar o NFS . . . . . . . . . . . . . . . . . . . . . . . 106
6.3 NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.3.1 NIS ou NIS+? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3.2 Como trabalhar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3.3 O que �e necess�ario para con�gurar o NIS? . . . . . . . . . . . . . . 109
6.3.3.1 O RPC Portmapper . . . . . . . . . . . . . . . . . . . . . 109
6.3.3.2 Determinar se se �e um Servidor, Escravo ou Cliente . . . . 109
6.3.3.3 O Software . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3.3.4 Montar um Cliente de NIS que utiliza o NIS Tradicional . 110
6.3.4 O que �e preciso para montar o NYS? . . . . . . . . . . . . . . . . . 112
6.3.4.1 Determinar se se �e um Servidor, Escravo ou Cliente. . . . 112
6.3.5 O Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3.6 Con�gurar um Cliente de NYS que usa o NYS . . . . . . . . . . . . 113
6.3.7 O Ficheiro nsswitch.conf . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3.8 Con�gurar um Servidor de NIS . . . . . . . . . . . . . . . . . . . . 114
6.3.8.1 O Programa ypserv do Servidor . . . . . . . . . . . . . . . 114
6.3.8.2 O programa do Servidor yps . . . . . . . . . . . . . . . . . 115
6.3.8.3 O programa yppasswdd . . . . . . . . . . . . . . . . . . . 115
6.3.9 Veri�car a instala�c~ao do NIS/NYS . . . . . . . . . . . . . . . . . . 115
vi Conte�udo
6.4 Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.4.1 Instala�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.4.2 Con�gura�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.5 Sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.5.1 Principais vantagens . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.5.2 Exemplos de con�gura�c~ao do Servidor . . . . . . . . . . . . . . . . 127
6.5.3 Con�gura�c~ao do servi�co . . . . . . . . . . . . . . . . . . . . . . . . 128
6.5.4 Outros Servidores de Mail . . . . . . . . . . . . . . . . . . . . . . . 130
6.6 Apache+SSL+PHP4 com a Interface de Webmail IMP . . . . . . . . . . . 131
6.6.1 Instala�c~ao do Apache com PHP e Mod-SSL . . . . . . . . . . . . . 131
6.6.2 Criar certi�cado para o Servidor . . . . . . . . . . . . . . . . . . . . 136
6.6.3 Criar certi�cados manualmente . . . . . . . . . . . . . . . . . . . . 136
6.7 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.7.1 Controlar o acesso aos servi�cos . . . . . . . . . . . . . . . . . . . . . 138
6.7.2 FTP An�onimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.8 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.8.1 Con�gura�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.8.2 Arrancar o named . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.8.3 Resolvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Lista de Tabelas
1.1 Comparativo das principais caracter��sticas . . . . . . . . . . . . . . . . . . 10
1.2 Filesystems suportados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Aplica�c~oes suportadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1 Vari�aveis dos parametros gerais do smb.conf . . . . . . . . . . . . . . . . . 125
Lista de Figuras
1.1 Linus Torvalds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Linux Pinguim - TUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Logotipo do Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Logotipo do Mandrake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Logotipo do Corel Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Logotipo do Slackware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Logotipo do Red Hat Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.8 Logotipo do Suse Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.9 Logotipo do Caldera OpenLinux . . . . . . . . . . . . . . . . . . . . . . . . 16
1.10 Logotipo do GNUware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.11 Logotipo do WholeLinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.12 Screenshot do KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.13 Screenshot do GNOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.14 Screenshot do Window Maker . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.15 Screenshot do AfterStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1 Escolha da l��ngua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Con�gura�c~ao do teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Con�gura�c~ao do rato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Op�c~oes de con�gura�c~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5 Particionamento autom�atico . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6 Particionando o disco com o Disk Druid . . . . . . . . . . . . . . . . . . . 30
2.7 Escolher as parti�c~oes a formatar . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8 Instalar o LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.9 Con�gura�c~ao da rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.10 Con�gura�c~ao do �rewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.11 Con�gura�c~ao do fuso hor�ario . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.12 Con�gura�c~ao da(s) lingua(s) . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.13 Con�gura�c~ao de contas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.14 Con�gura�c~ao de autentica�c~oes . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.15 Escolha de grupos de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.16 Escolha de pacotes individuais . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.17 Dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.18 Con�gura�c~ao da placa gr�a�ca . . . . . . . . . . . . . . . . . . . . . . . . . 42
x Lista de Figuras
2.19 Con�gura�c~ao do monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.20 Con�gura�c~ao do X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.21 Instala�c~ao dos pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.22 Disquete de arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1 Partes da �arvore de direct�orios . . . . . . . . . . . . . . . . . . . . . . . . . 48
Cap��tulo 1
Hist�oria do Linux
O nome Linux surgiu da jun�c~ao de Linus com Unix. Linus vem de Linus Torvalds, criador do
embri~ao do Unix e uma das �guras mais importantes em termos de cria�c~ao e convergencia
dos esfor�cos do sistema, mas falaremos dele mais adiante. Para j�a fazemos uma descri�c~ao
do que �e o Unix e qual foi o seu desenvolvimento ao longo do tempo.
1.1 O Unix
A origem do Unix tem liga�c~ao com o Sistema Operativo Multics, projectado em meados
dos anos 60. Este projecto foi realizado pelo Massachusetts Institute of Technology (MIT),
pela General Eletric (GE), pelos Laborat�orios Bell (Bell Labs) e pela American Telephone
and Telegraph (AT&T). A ideia era que o Multics tivesse caracter��sticas de tempo parti-
lhado, sendo o sistema mais arrojado da �epoca. Em 1969, j�a existia uma vers~ao primitiva
de tal sistema a correr num computador GE645.
Ora tempo partilhado �e o mesmo que dizer que v�arios utilizadores podem partilhar os
mesmos recursos de uma mesma m�aquina. Antigamente, o que existia eram v�arios ter-
minais que davam acesso a m�aquinas poderosas que prestavam servi�cos a este, havia pois
uma grande centraliza�c~ao de opera�c~oes.
Ken Thompson era um pesquisador do Multics e trabalhava na Bell Labs. Mesmo quando
essa empresa se resolveu retirar do projecto, ele continuou os seus estudos no novo sis-
tema operativo, n~ao no sistema original em toda a sua plenitude, mas sim em criar algo
mais pequeno que conservasse as ideias b�asicas com dimens~ao proporcinal �a sua empresa.
Come�ca-se assim a saga do mundo Unix. Quem o baptizou foi Brian Kernighan, tamb�em
pesquisador da Bell Labs. O sistema foi lan�cado com a ideia inicial de proporcionar um
ambiente uni�cado de programa�c~ao e desenvolvimento.
2 Cap��tulo 1. Hist�oria do Linux
Em 1973, Dennis Ritchie, outro pesquisador da Bell Labs, reescreveu todo sistema para
uma linguagem de alto n��vel, chamada C (desenvolvida por ele), para um PDP-11 (com-
putador muito popular na �epoca). A situa�c~ao de ter um sistema escrito em linguagem de
alto n��vel foi ��mpar e pode ter sido um dos motivos da aceita�c~ao do sistema por parte dos
utilizadores externos �a Bell.
No per��odo de 1977 a 1981, a AT&T mexeu no sistema, fazendo algumas modi�ca�c~oes
particulares e lan�cou o System III. Em 1983, ap�os diversas modi�ca�c~oes, novidades e opti-
miza�c~oes do sistema, foi lan�cado o famoso Unix System V, comercial. Hoje, esse sistema �e
parte do padr~ao internacional no mercado Unix, sendo comercializado por diversas empre-
sas de grande porte que necessitam de tudo que um sistema operativo robusto como esse
pode oferecer.
O Unix �e comercializado por diversas empresas de renome internacional, tais como IBM,
AT&T, Hewlett-Packard, DEC, Data General, Cray Research, Philips, Sun, Olivetti etc.�E o sistema operativo com mais longevidade de todo o mundo da inform�atica e at�e hoje �e
o sistema operativo para quem precisa de fazer trabalho mais exigente e complexo.
N~ao �e utilizado por muitas empresas porque �e comercial e custa algumas dezenas de mi-
lhares de contos, al�em disso �e fechado, n~ao permitindo personaliza�c~oes ou altera�c~oes de
con�gura�c~ao. Logo, quem pode pagar por um sistema deste �e quem realmente precisa dele
tal como �e.
1.2 O Linux
Em Agosto de 1991, Linus Torvalds escrevia assim no newsgroup comp.os.minix:
Hello everybody out there using minix - i'm doing a (free) operating system (just
a hobby, won't be big and professional like gnu) for 386(486) AT clones.
Figura 1.1: Linus Torvalds
1.2. O Linux 3
O Minix �e um clone do Unix, gr�atis, cujo c�odigo fonte est�a dispon��vel. Foi feito com
o intuito estritamente educacional, para pessoas em geral que querem correr no seu com-
putador um sistema compat��vel com o Unix e aprender como �e que o sistema operativo
funciona por dentro. Vale a pena frisar que ele foi escrito do zero e apesar de ser um clone
do Unix n~ao cont�em nenhum c�odigo da AT&T e por isso pode ser distribuido gratuitamente.
Linus Torvalds interessou-se bastante pelo Minix e decidiu desenvolver um sistema mais
poderoso que as limita�c~oes e pretens~oes do Minix cujas caracter��sticas b�asicas s~ao:
� Ambiente de multiprograma�c~ao completo;
� Funciona em plataformas 386, 486 e Pentium;
� Suporte para mem�oria extendida acima dos 16Mb no 386 e 4GB nos sucessores;
� Suporte a portas s�erie RS232 com emula�c~ao de terminal, kermit, zmodem, etc.;
� Possibilidade de 3 utilizadores trabalharem simultaneamente na mesma m�aquina;
� C�odigo fonte completo escrito em C totalmente dispon��vel (sistema operativo, uti-
lit�arios, bibliotecas etc.);
� Compilador compat��vel ANSI C;
� Shell similar funcionalmente ao Bourne-Again Shell1;
� Suporte a redes TCP/IP;
� V�arios editores de texto (emacs, vi, ex, ed), utilit�arios (cat, cp, ed, grep, kermit,
ls, make, sort), bibliotecas (atoi, fork, malloc, read, stdio), dicion�arios e p�aginas de
manual online.
Aqui j�a se come�cam a de�nir as semelhan�cas com as potencialidades do Linux.
Contudo, o Linux al�em de ser completamente livre �e uma re-implementa�c~ao das especi-
�ca�c~oes POSIX (padroniza�c~ao do IEEE - Institute of Electrical and Electronics Engineers)
para sistemas operativos, com extens~oes System V e BSD.
Isto de modo pr�atico quer dizer que o Linux parece Unix, mas n~ao vem do sitio, uma
vez que foi escrito de uma outra fonte que n~ao a do Unix). Est�a dispon��vel tanto em
bin�arios (execut�aveis, j�a prontos para serem usados) como em c�odigo fonte (para quem
desejar compil�a-los).
1falado a seguir no ponto 4.1 na p�agina 63
4 Cap��tulo 1. Hist�oria do Linux
As caracter��sticas mais fortes s~ao:
� Multi-tarefa Real
V�arios programas podem ser executados ao mesmo tempo independente-
mente (ou n~ao), com �areas de mem�oria protegidas umas das outras. O que
isso implica �e que h�a uma redu�c~ao muito grande de bloqueios do sistema
pois caso um programa bloqueie n~ao afecta a execu�c~ao dos outros e al�em
disso n~ao compromete a estabilidade de todo o sistema.
� Multi-utilizador
A mesma m�aquina pode estar a ser utilizada por v�arios utilizadores ao
mesmo tempo, o que pode ser �util para m�aquinas em redes ou m�aquinas
que s~ao usadas por mais que uma pessoa.
� Multi-processamento
Pode-se usar mais de um processador na mesma m�aquina e consequente-
mente aumentar bastante a performance de maneira e�ciente e est�avel.
� Leitura de �cheiros s�o quando necess�ario
O sistema le do disco apenas o que est�a a ser utilizado pelo programa,
n~ao sobregarregando o processamento com outros programas e aplica�c~oes
f�uteis.
� Mem�oria Virtual (virtual memory)
Se um programa precisar de mais espa�co em mem�oria e o computador
estiver com os seus recursos saturados (utiliza�c~ao m�axima dos recursos da
m�aquina), o sistema operativo utilizar�a para o programa o espa�co livre
no disco r��gido como uma extens~ao da mem�oria RAM, emulando ser uma
continua�c~ao dela.
� Suporte a v�arios sistemas de �cheiros
Gra�cas a esta caracter��stica podemos ver e/ou gravar numa s�erie de siste-
mas de �cheiros de m�ultiplos sistemas operativos.
� Suporte avan�cado do protocolo TCP/IP e diversos protocolos (IPv4, IPv6,
AX.25, X.25, IPX, DDP (Appletalk), NetBEUI)
O TCP/IP e o IP (IPv4) s~ao alguns dos protocolos de rede utilizados na
Internet. O Linux suporta-os da forma mais e�ciente que os outros sistemas
operativos. O Linux pode ser um servidor de www, ftp, dns, base de dados
ou qualquer outro servi�co sem nenhuma di�culdade.
1.2. O Linux 5
� C�odigo fonte dispon��vel gratuitamente
No caso dos programadores ou somente nos interessados em estudar siste-
mas operativos �e s�o abrir o editor de textos preferido e come�car a estudar
o c�odigo fonte.
� Distribu��do sob a licen�ca GNU
Permite a instala�c~ao gratuita em quantas m�aquinas quisermos e tamb�em
garante a manuten�c~ao do c�odigo fonte.
� Multi-Plataforma
O Linux corre numa grande quantidade de plataformas, podemos citar
algumas nas quais j�a funciona ou est�a a ser implementado:
{ PCs 386/486/Pentium e superiores com suporte a ISA, EISA, PCI,
VLB (funciona em todas);
{ Motorola 680x0 (alguns Amigas, Ataris e VME);
{ DEC Alpha;
{ Sun Sparcs (funciona, Sun4c e Sun4m);
{ PowerPC;
{ MIPS and ARM.
Pensando em tudo o que foi dito anteriormente �camos com ideia de que o Linux �e um
sistema operativo di�cil de utilizar mas isso n~ao �e verdade pois muitas das coisas referidas
anteriormente podem ser ignoradas pois o seu objectivo era apenas de descrever o apareci-
mento do Linux e as suas caracteristicas t�ecnicas. Saber isso tudo �e �util a t��tulo de cultura
geral para aqueles que n~ao trabalham com a inform�atica. Agora, para o utilizador comum
que utiliza o computador para:
� Usar uma folha de c�alculo;
� Escrever alguns textos;
� Fazer alguns desenhos;
� Ver algumas imagens e modi�c�a-las;
� Navegar na Web;
� Gravar programas por ftp;
� Ouvir m�usica (mp3, cd);
� Ver v��deos em tempo real;
6 Cap��tulo 1. Hist�oria do Linux
� Usar um programa de chat (irc, icq).
Entre muitas outras tarefas comuns, pode e deve-se utilizar o Linux. Mas se essas opera�c~oes
podem ser feitas com o Windows e com as suas aplica�c~oes porque mudar para o Linux?
Por uma raz~ao muito simples, �e um sistema operativo:
� mais r�apido que qualquer outro dispon��vel no mercado;
� gratuito;
� tem diversos aplicativos gratuitos;
� suporte t�ecnico muito e�ciente;
� seguro;
� suporte a rede nativo;
� ambiente gr�a�co avan�cado.
Para comprovar a sua rapidez temos duas formas: ou utilizando-o, ou medindo. O Linux
foi um sistema projectado de tal forma que optou por requesitos como qualidade t�ecnica e
performance em rela�c~ao a outras caracter��sticas.
Ser totalmente gratuito parece algo estranho, mas n~ao �e. O objectivo do Linus quando
criou o sistema n~ao era ganhar dinheiro mas sim fazer para seu pr�oprio uso e satisfa�c~ao
pessoal um sistema que fosse bom e pudesse atender a todas suas necessidades. O estilo
de desenvolvimento que foi adoptado foi o de colabora�c~ao colectiva.
�E mais ou menos como um trabalho no caos, s�o que existe uma organiza�c~ao no meio
desse ambiente que parece confuso para quem est�a de fora. Milhares de pessoas contri-
buem gratuitamente com o desenvolvimento do Linux pelo prazer de ajudar a ter um
sistema melhor. Este modelo n~ao se tornou ine�ciente por uma nova forma de se lidar com
o desenvolvimento de software, juntando esfor�cos, fazendo da comunidade parte integrante
e imprescind��vel para sua realiza�c~ao.
Apesar da democracia no processo de desenvolvimento, em cada �area existe um elemento
aglutinador, respons�avel por coordenar e garantir que os esfor�cos est~ao a ir pelo caminho
desejado pela maioria. As decis~oes s~ao t�ecnicas. Por exemplo, na �area do Kernel, ou n�ucleo
do sistema, quem coordena �e o pr�oprio Linus, que analisa e o�cializa cada altera�c~ao pro-
posta.
Juridicamente falando, o Linux est�a sob uma licen�ca de uso chamada GPL. Este tipo de
licen�ca permite que qualquer um possa usar indeterminadamente os programas que est~ao
1.2. O Linux 7
sobre ela com o compromisso apenas de n~ao tornar os programas fechados e comercializados.
De forma pr�atica, para o utilizador dom�estico, o facto de ser livre signi�ca que n~ao precisa
se preocupar com a pirataria. Tudo que ele faz �e legal: pode usar, distribuir, copiar, mo-
di�car, fazer o que quiser que estar�a sempre dentro dos limites da lei. E se isto acontece
com o utilizador dom�estico, a n��vel empresarial as vantagens s~ao ainda maiores.
Existem hoje em dia diversos aplicativos gratuitos criados e j�a operacionais para Linux.
Praticamente todas as tarefas imagin�aveis j�a tem software para Linux, totalmente gratuito.
Existem pacotes de aplicativos similares ou superiores aos de outras plataformas, com
folhas de c�alculo, editor de textos, gerador de html, agenda electr�onica entre outras coisas
(podemos citar o StarOÆce, Word Perfect, KoÆce). Para fazer desenhos e modi�car ima-
gens tamb�em existem diversos aplicativos utilizados pelos maiores webmasters/designers
do mundo (alguns exemplos s~ao o GIMP, Blender, etc.). Para navegar na Web existem
v�arios browsers dispon��veis com muitos dos plugins mais divulgados (como o Netscape,
Opera, Lynx). Para gravar �cheiros por ftp, ouvir m�usica, etc, e tudo com o c�odigo fonte
testado e aprovado por milhares de pessoas.
O ambiente gr�a�co �e algo que tamb�em merece destaque. Um mito refere que o Linux
�e um ecr~a preto com um cursor a piscar. Realmente �e verdade mas s�o para quem desejar
utilizar a consola, pois al�em disso tamb�em tem ambientes gr�a�cos com janelas, bot~oes,
menus, cores, etc, mas os seus ambientes gr�a�cos ser~ao abordados mais adiante no ponto
1.4 na p�agina 19.
Figura 1.2: Linux Pinguim - TUX
O s��mbolo o�cial do Linux �e o pinguim, que foi escolhido por Linus Torvalds para
representar a imagem que se associa com o sistema operativo por si criado e por ser um
animal que ele gostava. Talvez as baixas temperaturas da Finlandia tenham ajudado na
escolha...
8 Cap��tulo 1. Hist�oria do Linux
1.2.1 Evolu�c~ao do Linux em n�umeros
Para terminar este capitulo da hist�oria do Linux deixamos aqui alguns dos n�umeros da
evolu�c~ao deste sistema operativo:
� 1991
Utilizadores: 1
Tamanho: 10 000 linhas de c�odigo
Vers~ao: 0.01
Linus Torvalds, 21 anos, consegue sozinho fazer um sistema operativo a que
chama Linux (Lyn - ucks). Depois de anunciar num f�orum de discuss~ao
da Internet ele p~oe o programa �a disposi�c~ao de quem o quiser copiar. Dez
pessoas fazem download do programa e cinco respondem com a repara�c~ao
de bugs, melhorias de c�odigo e novas aplica�c~oes. Em dezembro mais de 100
pessoas de todo o mundo juntam-se em mailing lists e newsgroups sobre
Linux.
� 1992
Utilizadores: 1 000
Vers~ao: 0.96
Tamanho: 40 000 linhas de c�odigo
O Linux funciona perfeitamente nos PC's de secret�aria (Desktop) e corre
em processadores Intel x86. O Interface gr�a�co GUI �e acrescentado.
� 1993
Utilizadores: 20 000
Vers~ao: 0.99
Tamanho: 100 000 linhas de c�odigo
Mais de cem programadores contribuem com partes de c�odigo. Linus Tor-
valds delega a revis~ao do c�odigo para um n�ucleo duro de cinco pessoas.
� 1994
Utilizadores: 100 000
Vers~ao: Linux 1.0
Tamanho: 170 000 linhas de c�odigo
� 1995
Utilizadores: 500 000
Vers~ao: Linux 1.2
Tamanho: 250 000 linhas de c�odigo
1.2. O Linux 9
�E modi�cado de modo a correr em processadores da Intel, da Digital e nos
SPARC da Sun.
A circula�c~ao do Linux Journal2 �e de 10 000 exemplares.
� 1996
Utilizadores: 1 500 000
Vers~ao: Linux 2.0
Tamanho: 400 000 de linhas de C�odigo
O Linux tem a capacidade de controlar v�arios processadores simultanea-
mente.
� 1997
Utilizadores: 3 500 000
Vers~ao: Linux 2.1
Tamanho: 800 000 linhas de C�odigo
Surgem revistas mensais sobre Linux no Jap~ao, Pol�onia, Alemanha, Iu-
gosl�avia, e no Reino Unido.
H�a uma nova vers~ao do Kernel todas as semanas.
� 1998
Utilizadores: 7 500 000
Vers~ao: Linux 2.1.131 (131 actualiza�c~ao de 2.1)
Tamanho: 1.5 milh~oes linhas de C�odigo
Cerca de 10 mil programadores envolvidos em newsgroups, testes e melho-
rias de c�odigo.
Actualmente estimam-se em aproximadamente 11 milh~oes de utilizadores do Linux segundo
o site The Linux Counter 3.
1.2.2 Linux vs Sistemas Operativos Comerciais
As caracter��sticas anteriormente mencionadas j�a apresentam algumas vis��veis vantagens
do Linux sobre outros sistemas comerciais, mas relembramos em especial: custo, dispo-
nibilidade de novas aplica�c~oes, independencia, sistema aberto, adequa�c~ao a actividades
corporativas, etc...
2http://www.linuxjournal.com3http://counter.li.org/linuxcounter eng.html
10 Cap��tulo 1. Hist�oria do Linux
Neste primeiro quadro podemos ver uma compara�c~ao entre as caracter��sticas e funcio-
nalidades entre o Linux, OS/2 e Windows NT:
[Fonte: Thompson, B., Linux Journal, No 1 Maio 1994]
Linux OS2/Warp Windows NT
4.0
Padr~oes POSIX OS/2 32 e 16 bits Win32
Disco (M��nimo) 15 MB 20 MB 50 MB
Disco (t��pica) 60 MB 32 MB 70 MB
Disco(completo) 90 MB 40 MB 100 MB
Mem�oria 1 MB - -
T��pico 16 MB 16 MB 24 MB
Carga 24 MB 32 MB 48 MB
Multitarefa Sim Sim Sim
Multithreading Sim Sim Sim
Multiprocessamento Sim Sim Sim
Multiutilizador Sim N~ao N~ao
Portabilidade simples Sim N~ao Sim
Cache dinamico Sim N~ao Sim
Mem�oria por process. 3 Gb 512 Mb 2 Gb
Protocolo de Rede TCP/IP, IPX TCP/IP, IPX e
NETBIOS
TCP/IP, IPX e
NETBEUI
Tabela 1.1: Comparativo das principais caracter��sticas
No quadro seguinte podem-se observar as compatibilidades de �lesystems suportados por
cada um deles.
[Fonte: Thompson, B., Linux Journal, No 1 Maio 1994]
Linux OS2/Warp Windows NT
4.0
FAT (DOS) Sim Sim Sim
HPFS (OS/2) Sim Sim Sim
NTFS (NT) Sim N~ao Sim
EXT2 (Linux) Sim N~ao N~ao
ISO9660 (CDROM) Sim Sim Sim
NFS Sim - -
SysV,Xenix Sim N~ao N~ao
Stacker Sim Sim N~ao
Tabela 1.2: Filesystems suportados
1.3. Distribui�c~oes 11
Neste �ultimo quadro comparativo podemos ver que tipo de aplica�c~oes poder~ao correr em
cada um deles:
[Fonte: Thompson, B., Linux Journal, No 1 Maio 1994]
Linux OS2/Warp Windows NT
4.0
DOS Sim Sim Sim
Win16 Sim Sim Sim
OS/2-16 N~ao Sim Sim
OS/2-32 N~ao Sim N~ao
Win32 N~ao N~ao Sim
POSIX Sim N~ao Sim
X-Windows Sim N~ao N~ao
Tabela 1.3: Aplica�c~oes suportadas
1.3 Distribui�c~oes
Como o Linux �e essencialmente um software livre, pode-se fazer o seu download da Internet
sem infringir os direitos de copyright de ningu�em. Em geral, os produtores de distribui�c~oes
em CD-ROM colocam o conte�udo das mesmas dispon��veis para download sem cobrar nada
por isto - mas claro que neste caso n~ao vamos ter direito a suporte, manual impresso e
outras comodidades oferecidas a quem paga um pouco mais pelo sistema.
Justamente por ser um software de livre altera�c~ao e distribui�c~ao, muitas pessoas e orga-
niza�c~oes dedicam-se a criar pacotes contendo o kernel do Linux e uma s�erie de aplicativos,
utilit�arios, manuais e programas de instala�c~ao. Estes pacotes s~ao as chamadas distribui�c~oes.
Existem distribui�c~oes min�usculas, que podem ser executadas a partir de disquetes, e exis-
tem distribui�c~oes que ocupam 6 CDs ou mais. Cada uma tem os seus pontos fortes e fracos.
Uma pergunta muito comum entre os utilizadores �e: "Qual a melhor distribui�c~ao de Li-
nux?". Esta pergunta n~ao tem uma resposta �unica - a melhor �e a que atende �as necessidades
de cada utilizador.
De seguida, vamos apresentar uma breve descri�c~ao de algumas distribui�c~oes, para que
se possa tirar algumas d�uvidas.
12 Cap��tulo 1. Hist�oria do Linux
1.3.1 Debian GNU/Linux
A mais livre das distribui�c~oes de Linux, o Debian leva o termo \free software" �a letra. �E
feito por uma equipa de programadores independentes, e distribu��do por v�arios distribui-
dores tamb�em independentes.
Figura 1.3: Logotipo do Debian
O Debian n~ao se destaca pela sua facilidade de uso, mas em compensa�c~ao tem um
grande volume de recursos, tanto de software como de documenta�c~ao, para oferecer como
recompensa aos que se dedicarem a dominar esta distribui�c~ao completamente sui-generis.
O Debian tem obtido maior projec�c~ao na imprensa ultimamente desde que a Corel divulgou
que estava a criar uma nova distribui�c~ao baseada no Debian e no KDE. Esta distribui�c~ao
j�a foi lan�cada, mas n~ao se espera que venha a tirar utilizadores do Debian original: o seu
p�ublico alvo �e outro.
1.3.2 Mandrake
H�a menos de dois anos uma distribui�c~ao pouco conhecida chegou ao mercado com grandes
esperan�cas. Dois anos depois, a MandrakeSoft faz uma das mais agrad�aveis distribui�c~oes
do Linux.
Figura 1.4: Logotipo do Mandrake
Aquela pouco conhecida distribui�c~ao do Linux �e o Mandrake. Na �ultima vers~ao lan�cada,
a 8.0, tentou-se melhorar algumas coisas que eram um pouco rudimentares na vers~ao 7.1 e
at�e mesmo adicionar muitas e novas caracter��sticas, tais como: Kernel 2.4.3-20mdk, Glibc
2.2.2, Gcc 2.96, Xfree86-4.0.3 optimizado para placa 3D, Cups - servidor de impress~ao
muito �util e com v�arios drivers para impressoras, Gnome 2.4, KDE 2.1.1.
O Mandrake combina o suave desktop do KDE e Gnome com muitas caracter��sticas
amig�aveis frequentemente chamadas de "O toque Mandrake". Este toque inclui uma su��te
inteira de administra�c~ao chamada DrakConf que inclui aplicativos como KPackage, RPM
1.3. Distribui�c~oes 13
Drake, Hard Drake, System Services, Linuxconf, Network Con�guration (via Linuxconf),
Drak Font e muitos outros. "O Toque"tamb�em inclui a habilidade de nos tornarmos super-
utilizadores com um mero clique do rato e uns toques no teclado.
O sistema de menus foi simpli�cado, para que possa ser muito f�acil e detalhado achar
aplicativos. Ao inv�es de se �car a procurar no meio de 100 aplicativos dentro do menu
utilit�arios, os gestores de �cheiros est~ao no seu pr�oprio grupo, dentro de aplicativos, ferra-
mentas de con�gura�c~ao est~ao em con�gura�c~ao e as consolas foram postos em shells.
Ga�el4 e companhia misturaram a olhos vistos o melhor de muitos sistemas operativos,
e at�e mesmo colocaram o tema "Aqua"(para o Gnome e o KDE) para os f~as do OS X.
Todos estes esfor�cos fazem do Linux Mandrake muito f�acil de usar, bem como poderoso ao
mesmo tempo.
1.3.3 Corel Linux
O Corel Linux foi lan�cado recentemente, e tem vindo a despertar muito interesse por ser
uma distribui�c~ao voltada para o utilizador iniciante em Linux.
Figura 1.5: Logotipo do Corel Linux
Alguns destaques:
� Muitos dos problemas identi�cados na vers~ao beta foram corrigidos a tempo da vers~ao
1.0 �nal, o que indica que a Corel realmente leva a s�erio seu processo de desenvolvi-
mento.
� O facto de ser baseada no Debian GNU/Linux e ao mesmo tempo voltada para o
"t��pico utilizador de Windows"�e uma aparente contradi�c~ao, mas a Corel realmente
conseguiu fazer a ponte entre os tecnicismos do Debian e a simplicidade excessiva do
Windows.
� O processo de instala�c~ao �e f�acil, descomplicado e autom�atico. Mas �e recomend�avel
que se leia atentamente a lista de hardware suportado antes de investir seu tempo...
� Toda a con�gura�c~ao de rede foi inclu��da no KDE Control Center. Os utilizadores do
Windows v~ao espantar-se ao ver que podem trocar o seu IP atrav�es de uma familiar
interface gr�a�ca, sem ter que reiniciar a m�aquina depois!
4Ga�el Duval - Vice-presidente e co-fundador da MandrakeSoft
14 Cap��tulo 1. Hist�oria do Linux
� Os utlizadores do Windows Explorer v~ao sentir-se plenamente em casa com o Corel
File Manager.
A desacelera�c~ao do mercado de inform�atica mundial tem gerado efeitos nas principais
distribui�c~oes comerciais internacionais. Segundo um artigo do ConsultingTimes5, a Corel
vai transferir a sua distribui�c~ao de Linux para uma empresa rec�em-fundada, chamada
Xandros. A inten�c~ao da Xandros �e atingir o p�ublico utilizador de desktop, nas empresas e
nos lares.
1.3.4 Slackware
Talvez a mais injusti�cada das distribui�c~oes, o Slackware criou uma fama de ser dif��cil de
instalar e manter, o que por um lado faria com que ele n~ao fosse uma boa escolha para
utilizadores iniciantes, e por outro daria aos seus utilizadores uma esp�ecie de 'atestado de
hacker'. Nada mais falso, entretanto.
Figura 1.6: Logotipo do Slackware
O Slackware �e uma das mais antigas distribui�c~oes que ainda se mant�em actualizada e
activa. Criado por Patrick Volkerding (que ainda cuida da distribui�c~ao) a partir do an-
tigo (e extinto) SLS Linux, o Slackware na sua vers~ao 8.0 inclui praticamente tudo que os
utilizadores se acostumaram a esperar das distribui�c~oes modernas: XFree86 4.1.0, Linux
kernels 2.2.19 e 2.4.5, KDE 2.1.2, Gnome 1.4, glibc 2.2.3, e demais utili�arios.
Parte da fama de 'dif��cil' do Slackware deve-se ao facto de ele n~ao aderir ao padr~ao de
pacotes RPM, ao inv�es disso baseando-se nos tradicional��ssimos pacotes tgz (ou .tar.gz).
Isto signi�ca que quando se instala ou retira pacotes de software do seu Slack, n~ao se vai
poder contar com o apoio das veri�ca�c~oes de dependencias do RPM, e muito provavelmente
vai-se ter que editar alguns arquivos manualmente para adaptar tudo em seus devidos lu-
gares. Esta pode n~ao ser a melhor maneira de aprender Linux, mas com certeza, se se for
bem sucedido, vai-se aprender muito sobre como funciona o sistema.
A �loso�a do Slackware �e ser o mais "UNIX-like"poss��vel. Isto �as vezes signi�ca ten-
der a ser mais complexo, e �as vezes signi�ca atender a padr~oes que as outras distribui�c~oes
de cunho mais comercial n~ao atendem.
5http://consultingtimes.com/Xandros.html
1.3. Distribui�c~oes 15
1.3.5 Red Hat Linux
O Red Hat Linux �e com certeza a distribui�c~ao mais popular (embora isso n~ao signi�que
necessariamente que ela seja a melhor). Conforme as suas vers~oes se sucedem, ele apresenta
maior n�umero de softwares �uteis e maior facilidade de instala�c~ao e con�gura�c~ao.
Figura 1.7: Logotipo do Red Hat Linux
O Red Hat �e sem d�uvida a distribui�c~ao comercial com maior penetra�c~ao no mercado,
a ponto de gerar preocupa�c~oes de utilizadores "tradicionais"preocupados com um poss��vel
monop�olio. Independente das preocupa�c~oes pol��ticas, o facto �e que a distribui�c~ao Red Hat
Linux tem excelente qualidade, e aplica-se muito bem tanto ao mercado de utilizadores
dom�esticos (como workstation) quanto ao corporativo (como servidor).
O RedHat 7.1 inclui o kernel 2.4, XFree 4.0.3 e os outros pacotes comuns a quase to-
das as distribui�c~oes de linux: Gimp, perl, apache, netscape, etc. Pela primeira vez o KDE
foi inclu��do na distribui�c~ao, mas o ambiente gr�a�co default continua a ser o Gnome +
Enlightenment. A distribui�c~ao o�cial vem acompanhada de um manual de 410 p�aginas. A
instala�c~ao �e relativamente simples, mas exige alguns cuidados, que o manual explica muito
bem.
O RedHat usa pacotes padr~ao RPM - de facto, a Red Hat foi a criadora do padr~ao RPM. A
administra�c~ao do sistema �ca por conta do Linuxconf, uma poderosa ferramenta que ajuda
principalmente os administradores Linux de primeira viagem, mas pode ser �util tamb�em
para os utilizadores experientes.
Ao lado do Caldera OpenLinux, o Red Hat 6.0 �e a prova de que o Linux j�a pode ser
usado por um utilizador comum. Embora a sequencia de instala�c~ao e con�gura�c~ao ainda
seja bastante complexa, ap�os superados estes est�agios o uso do sistema revela-se bastante
simples e atraente.
1.3.6 SuSE Linux
A mais recente distribui�c~ao alem~a SuSE Linux 7.2 re�une uma s�erie de qualidades que a
fazem �gurar entre as grandes distribui�c~oes comerciais. Talvez o maior destaque entre as
suas caracter��sticas seja o n�umero de pacotes de software que comp~oem a distribui�c~ao: o
16 Cap��tulo 1. Hist�oria do Linux
pacote �e composto por 7 CDs ou um DVD-ROM, a abrangencia do conte�udo �e impressio-
nante, come�cando pelo software: os 2000 pacotes em formato RPM que incluem o kernel
2.4.4 (com suporte a USB para impressoras, teclados e mouses, at�e 64 GB de mem�oria
RAM, suporte a ReiserFS, raw devices, Pentium 4, LFS e v�arias controladores RAID),
glibc 2.2.2, XFree 4.0.3 (com anti-aliasing de fontes TrueType, muito bom), KDE 2.1.2,
GNOME 1.4, StarOÆce 5.2, Samba 2.2, Kerberos 5, OpenLDAP 2, KDevelop 1.4, editores
HTML como o Blue�sh e o Quanta+ e muito mais.
Figura 1.8: Logotipo do Suse Linux
Ao contr�ario da tendencia de simpli�car ao m�aximo a instala�c~ao - que tem muito
m�erito, principalmente sob a �optica do novo utilizador - a instala�c~ao do SuSE conta com
um grande n�umero de op�c~oes e possibilidades. Capaz de confundir utilizadores iniciantes
(principalmente os que tentam fazer tudo sem ler o manual), esta instala�c~ao �e o sonho do
utilizador experiente: a simplicidade dos pacotes baseados em RPM (padr~ao criado pela
Red Hat e seguido pela maior parte das distribui�c~oes comerciais) aliada a uma quantidade
de op�c~oes e exibilidade dignas do Slackware!
1.3.7 Caldera OpenLinux
O OpenLinux 2.4 eDesktop �e a distribui�c~ao comercial mais recente e provavelmente a mais
f�acil de instalar. Com avan�cadas rotinas de detec�c~ao autom�atica de con�gura�c~ao de hard-
ware, a instala�c~ao �e t~ao tranquila que inclui at�e a op�c~ao de jogar Tetris enquanto se aguarda
a c�opia dos arquivos.
Figura 1.9: Logotipo do Caldera OpenLinux
Al�em de incluir os mesmos pacotes de sempre (KDE, Real Audio 5.0, StarOÆce 5.1a,
kernel 2.2.14, Glibc 2.1.2-3, libc 5-1.0-2, XFree 3.3.8, etc.), o OpenLinux inclui o Partition
Magic, que simpli�ca em muito a tarefa de instalar o Linux em m�aquinas que j�a tenham
outros sistemas operativos instalados. O manual n~ao se limita �a instala�c~ao, dando tamb�em
1.3. Distribui�c~oes 17
assistencia no uso do KDE, incluindo a con�gura�c~ao de acessos dial-up com o KPPP.
A enfase do OpenLinux �e a opera�c~ao 100% gr�a�ca, ent~ao desde a instala�c~ao tudo ocorre
em ambientes gr�a�cos, incluindo a�� a identi�ca�c~ao do hardware, con�gura�c~ao do rato, te-
clado, rede, impressoras, etc. Utilizadores acostumados com o Windows n~ao dever~ao ter
di�culdades para se ambientar no novo sistema.
A ferramenta de administra�c~ao embutida �e o COAS - Caldera's OpenLinux Administration
Software, 100% gr�a�co. O sistema de administra�c~ao de pacotes �e o RPM, e n~ao h�a grandes
di�culdades para quem j�a est�a acostumado a administrar m�aquinas utilizando o linuxconf
(que �e a ferramenta default do Red Hat) ou o Yast (ferramenta padr~ao do SuSE).
1.3.8 GNUware
O GNUware n~ao �e uma distribui�c~ao no sentido tradicional da palavra. Trata-se de um
CD-ROM com centenas de pacotes de software, incluindo n~ao apenas aqueles que se est�a
acostumado a encontrar nas distribui�c~oes correntes de Linux, como ainda muitos outros.�E uma boa maneira de economizar tempo de download, e de ter sempre �a m~ao todos os
programas de que se precisa com urgencia nos momentos em que n~ao temos possibilidade
para fazer um download.
Figura 1.10: Logotipo do GNUware
Os pacotes est~ao no formato preferido pelos utilizadores avan�cados e tradicionais de
sistemas Linux e Unix em geral: c�odigo fonte compactado em formato tar.gz. Isto signi�ca
que se precisar�a de um pouco mais de conhecimento para poder utilizar este CD, mas tem
v�arias vantagens, tais como:
� Podem-se utilizar os softwares em qualquer distribui�c~ao de Linux, e at�e mesmo nou-
tras vers~oes de Unix - se se administra uma rede com v�arias arquitecturas diferentes,
�e o CD ideal para deixar sempre montado em algum dos servidores...
� Podem-se compilar os softwares com as op�c~oes que preferir, e n~ao ter�a que se contentar
com compila�c~oes gen�ericas feitas por terceiros.
� Podem-se gerar pacotes optimizados para a arquitectura de hardware que utiliza, e
n~ao se contentar com os pacotes padronizados para 386 que s~ao a maioria.
18 Cap��tulo 1. Hist�oria do Linux
Em compensa�c~ao, ter�a que se passar pelo trabalho de con�gurar e compilar cada um dos
pacotes que se deseja usar. Administradores de sistemas experientes tendem a preferir pas-
sar por este trabalho, mas se ainda est�a a come�car a trilhar os caminhos do Unix, talvez
deva considerar a ideia de tentar primeiro os pacotes pr�e-compilados (formato RPM ou
DEB, por exemplo).
Os pacotes est~ao organizados e classi�cados entre os direct�orios do CD. O primeiro n��vel
divide-se em Console, Desktops (KDE e Gnome), Internet, Kernel e X11. Cada um dos n��veis
subdivide-se em v�arios subn��veis. Por exemplo, o n��vel console expande-se em: Adminis-
tration, Entertainment, Multimedia, Scienti�c, Communication, File Management, Network,
Servers, Development, Graphics, OÆce e System. Estes subn��veis ainda tem mais um n��vel
de subdivis~ao dentro de si, e dentro de cada uma delas, encontramos as aplica�c~oes, cujos
nomes dos arquivos exprimem claramente o nome original do pacote e a vers~ao.
1.3.9 WholeLinux
O WholeLinux n~ao �e propriamente uma distribui�c~ao de Linux, mas sim um conjunto de
aplica�c~oes de software capazes de instalar o Linux numa con�gura�c~ao pr�e-de�nida sem
necessidade de interac�c~ao com o utilizador. �E excelente para pessoas ou empresas que
estejam a pensar em criar aplica�c~oes dedicadas baseadas na plataforma Linux, pois o uti-
lizador �nal pode simplesmente abstrair o processo de instala�c~ao.
Figura 1.11: Logotipo do WholeLinux
O WholeLinux faz o seguinte: uma vez inserido o CD do WholeLinux numa m�aquina,
em pouco mais de 7 minutos temos uma instala�c~ao completa do RedHat 6.0, com o KDE em
todo o seu poder, al�em da placa de rede automaticamente reconhecida. A �unica intera�c~ao
com o programa de instala�c~ao �e a necessidade de con�rmar que realmente se deseja reali-
zar a instala�c~ao, sabendo que isto removeria todos os nossos dados em todas as parti�c~oes
existentes.
1.4. Ambientes Gr�a�cos 19
O WholeLinux actualmente n~ao �e um produto para utilizadores �nais - ele n~ao oferece
nem permite nenhuma con�gura�c~ao durante a instala�c~ao.
1.3.10 Mini distribui�c~oes
As mini distribui�c~oes s~ao pequenos pacotes baseados no kernel do Linux e voltados para
tarefas espec���cas. N~ao devem ser instaladas para "ter uma id�eia sobre o Linux", pois em
geral elas n~ao se parecem muito com as distribui�c~oes voltadas para o uso desktop.
Linux Router Project - O Linux Router �e uma distribui�c~ao que cabe numa �unica dis-
quete de 1,44MB e permite transformar um micro com duas interfaces de rede num router
de baixo custo e performance similar a de routers comerciais. Suporta uma s�erie de inter-
faces e protocolos.
LOAF (Linux on a oppy) - Distribui�c~ao numa �unica disquete, voltada para o uso
em rede. Inclui uma s�erie de clientes de rede (lynx, ssh, telnet...) e tem vers~oes espec���cas
para as placas de rede mais comuns.
Mulinux - Distribui�c~ao italiana que cabe numa disquete, e que vem com suporte a rede,
ppp, alguns servidores (http, at, fax...) e v�arios clientes, incluindo cliente de irc.
Pocket Linux - O Pocket Linux �e uma distribui�c~ao numa �unica disquete voltada para ser
um cliente de rede (ssh, telnet, ftp...). Aceita placas de rede e modems.
Tomsrbt - O Tomsrbt �e uma distribui�c~ao numa �unica disquete, que cont�em ferramen-
tas �uteis para recuperar um computador que n~ao esteja a conseguir fazer o boot pelas vias
normais.
Trinux - Distribui�c~ao voltada especi�camente para tarefas de seguran�ca, vem com fer-
ramentas para veri�car (e tentar quebrar) a seguran�ca de redes locais. Ela �e capaz de
transformar seu PC numa poderosa esta�c~ao de monitoriza�c~ao de rede, bastando para isso
reiniciar o computador com as suas duas (ou tres) disquetes.
1.4 Ambientes Gr�a�cos
No in��cio os utilizadores do Linux tinham que se contentar com as linhas de comando em
modo texto. Mas desde logo se pensou uma solu�c~ao gr�a�ca e surgiu o XFree tornou-se
dispon��vel, e come�caram a surgir os primeiros Window Managers para o Linux.
20 Cap��tulo 1. Hist�oria do Linux
Hoje os ambientes gr�a�cos como o KDE e o Gnome j�a s~ao capazes de colocar o Linux
at�e na mesa dos utilizadores com pouca pr�atica no manuseamento de computadores. Re-
cursos como clipboard integrada e drag drop deixaram de ser um sonho, e passaram a ser
realidade do dia a dia de todos.
De seguida apresentamos uma an�alise dos mais populares ambientes gr�a�cos para Linux.
1.4.1 KDE
O KDE �e um representante da nova gera�c~ao de ambientes gr�a�cos para Unix, que combina
facilidade de uso, funcionalidade capaz de rivalizar com qualquer ambiente contemporaneo
e fenomenal design gr�a�co. N~ao se limita a ser "apenas"um Window Manager, o KDE �e
um ambiente gr�a�co completo, capaz de acrescentar funcionalidades antes inimagin�aveis
no mundo dos Free Unix, tais como drag drop integrado, gestor de �cheiros integrado, e
uma s�erie de acess�orios (como por exemplo a calculadora, o bloco de notas e o marcador
de acesso telef�onico PPP) que rivalizam com os dispon��veis em ambientes comerciais como
por exemplo os da Microsoft.
O KDE foi constru��do sem se basear no c�odigo fonte de outros sistemas, embora a sua
aparencia e funcionalidade sejam muito semelhantes �as do CDE. E embora o KDE inclua
um gestor de janelas, gestor de �cheiros, barra de tarefas, painel de controle, help online e
tudo o mais que se espera de um Window Manager moderno, a sua verdadeira for�ca est�a
na interoperabilidade de todos os seus componentes.
Por oferecer uma interface t~ao elegante, intuitiva e familiar, marcada por facilidade de
uso semelhante �a do Windows, o KDE 1.1.1 coloca o poder do Linux ao alcance dos seus
utilizadores menos t�ecnicos. Em reconhecimento ao seu potencial, o KDE recebeu da PC
Magazine o t��tulo de "Inova�c~ao do ano 1998/1999"na categoria Software.
A vers~ao 1.1.1 do KDE apresenta algumas vantagens adicionais, como a integra�c~ao com o
Palm Pilot, maiores facilidades na liga�c~ao com �a Internet e maior estabilidade.
At�e recentemente, o Red Hat Linux n~ao distribu��a o KDE. Na vers~ao 6.0, entretanto,
esta pol��tica mudou, e agora virtualmente todas as distribui�c~oes comerciais de Linux in-
cluem este ambiente gr�a�co. Algumas, como o SuSE e o Open Linux, chegam a coloc�a-lo
como ambiente padr~ao.
O KDE j�a est�a numa fase bastante avan�cada de internacionaliza�c~ao, e pode-se optar por
colocar todos os seus menus e ��cones em portugues.
1.4. Ambientes Gr�a�cos 21
Figura 1.12: Screenshot do KDE
1.4.2 Gnome
O GNOME �e o ambiente gr�a�co que est�a a ser desenvolvido pelo projecto GNU. O objec-
tivo do Gnome �e construir um desktop completo e amig�avel baseado inteiramente em free
software. Este desktop consiste em utilit�arios e aplica�c~oes que compartilham aparencia e
caracter��sticas consistentes.
Segundo a documenta�c~ao o�cial, o Gnome �e tudo o que se espera de um ambiente gr�a�co
moderno, e neste sentido ele compara-se ao CDE, KDE, Mac OS e Windows. Mas o que o
diferencia de todos estes outros ambientes �e o facto de ser 100% free software, sem nenhum
componente propriet�ario.
Assim como no KDE, n~ao se �ca preso a nenhum window manager. Por exemplo, no Red
Hat 6.0 - que tem o Gnome como ambiente gr�a�co default - o window manager associado
ao gnome �e o Enlightenment.
O Gnome tamb�em tem suporte a drag and drop, ��cones na �area de trabalho, barra
de tarefas totalmente con�gur�avel, painel de aplica�c~oes, e muito mais. A sua aparencia
�e bastante agrad�avel e 100% con�gur�avel, inclusive atrav�es de temas. H�a uma s�erie de
aplicativos dispon��veis para o Gnome, e em geral n~ao se tem di�culdades na instala�c~ao
deles, j�a que todos atendem a um mesmo padr~ao.
A equipa que mant�em o Gnome �e numerosa. Segundo Miguel de Icaza, coordenador do
22 Cap��tulo 1. Hist�oria do Linux
Figura 1.13: Screenshot do GNOME
projecto, "no momento da libera�c~ao da vers~ao 1.0 t��nhamos 250 pessoas autorizadas a pro-mover mudan�cas no c�odigo-fonte. Esta equipa foi montada ao longo dos �ultimos 20 meses
e j�a h�a mais 38 desde o lan�camento do 1.0".
1.4.3 Window Maker
O Window Maker �e um gestor de janelas para o X11 projectado tendo em mente o suporte
a aplica�c~oes GNUstep. Ele apresenta a aparencia e as caracter��sticas elegantes do ambiente
do NeXTSTEP, �e bastante r�apido, tem recursos avan�cados e �e f�acil de con�gurar e usar.
Algumas das caracter��sticas t�ecnicas do Window Maker diferenciam-no de outros gesto-
res de janelas populares. Eis os destaques:
� Tratamento adequado a grupos de janelas pertencentes a uma mesma aplica�c~ao;
� Menus acess��veis tamb�em via teclado;
� Possibilidade de "�xar"no ecr~a os menus popup;
� Menus recon�guram-se automaticamente sempre que o arquivo de con�gura�c~oes �e
alterado (sem necessidade de reiniciar o ambiente);
� M�ultiplos ambientes de trabalho;
1.4. Ambientes Gr�a�cos 23
� Suporte nativo a temas;
� Suporte nativo a imagens XPM, PNG, JPEG, TIFF, GIF e PPM;
� Utilit�ario de con�gura�c~ao embutido e completo - n~ao se precisa de editar arquivos de
con�gura�c~ao;
� Integra�c~ao ao KDE e ao GNOME - pode-se usar o Window Maker em conjunto com
um destes ambientes.
Figura 1.14: Screenshot do Window Maker
1.4.4 AfterStep
O AfterStep �e um Window Manager constru��do originalmente para emular no X Win-
dow a aparencia e funcionalidade do NeXtStep, mas que posteriormente ganhou "vida
pr�opria"gra�cas �a popularidade que alcan�cou, pela sua qualidade visual e facilidade de uso.
Al�em das caracter��sticas visuais diferenciadas, incluindo a possibilidade de preencher as
barras de t��tulos das janelas com v�arias texturas, o AfterStep apresenta o Wharf, uma
barra de ��cones , e que d�a suporte a muitas aplica�c~oes, incluindo a possibilidade criar me-
nus de ��cones em cascata, e de executar aplica�c~oes directamente num��cone (possibilitando,
portanto, exibir a sa��da de aplica�c~oes simples - como rel�ogios, e-mail noti�ers, status de
modem - sem ter que criar uma janela espec���ca).
24 Cap��tulo 1. Hist�oria do Linux
Figura 1.15: Screenshot do AfterStep
Os �cheiros de con�gura�c~ao do AfterStep tem comandos semelhantes ao do tradicional
fvwm, al�em de uma s�erie de comandos e op�c~oes espec���cos.
Naturalmente, al�em do Wharf, o Afterstep d�a suporte aos tradicionais menus de cascata
caracter��sticos de quase todos os Window Managers - apenas com um toque especial na
aparencia.
Cap��tulo 2
Instala�c~ao do Red Hat Linux 7.1
Visto que a maioria dos comandos foram feitos no Red Hat Linux resolvemos optar por
explicar de um modo simples a instala�c~ao desta distribui�c~ao. Para isso recorremos ao
documento original "Red Hat Linux 7.1 Installation Guide".
2.1 Escolha da l��ngua
Utilizando o rato, escolha a l��ngua que prefere utilizar para a instala�c~ao e que ser�a tamb�em
a de�nida por defeito no sistema. A escolha da l��ngua vai ajudar o programa de instala�c~ao
Figura 2.1: Escolha da l��ngua
a determinar o seu fuso hor�ario num passo mais adiante da instala�c~ao.
26 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
2.2 Con�gura�c~ao do teclado
Escolha o modelo do teclado que melhor se adequa ao seu sistema. Se acontecer o caso de
nenhum dos listados corresponder ao seu escolha o Generic mais parecido.
De seguida, escolha o melhor layout para o teclado (por exemplo US English). A es-
crita de caracteres especiais, tais como C� , ~N, O e outros, �e feita com as "Dead Keys" que
por defeito est~ao activadas. Se n~ao se pretender escrever nenhum dos caracteres especiais
desactiva-se esta op�c~ao.
A �area no �nal do ecr~a serve para testar as con�gura�c~oes feitas anteriormente.
Nota: Para alterar a con�gura�c~ao do teclado depois de instalar o Red Hat Linux, comoroot utiliza-se o comando /usr/sbin/kdbconfig ou em alternativa executa-se o comando
setup na prompt do root.
Figura 2.2: Con�gura�c~ao do teclado
2.3 Con�gura�c~ao do rato
Escolha o tipo de rato que corresponde ao que tem no seu sistema. Se por acaso na lista
n~ao estiver o seu rato escolha um que seja compativel.
Para determinar qual o tipo de interface do seu rato basta seguir o �o at�e ao compu-
tador e veri�car onde �e que este liga. Se a �cha for rectangular tem um rato s�erie, caso
contr�ario �e PS/2.
2.4. Bem vindo ao Red Hat Linux 27
Se a instala�c~ao est�a a ser feita num computador port�atil, o tipo de rato �e normalmente
PS/2.
Caso n~ao encontre um tipo de rato que seja de certeza compat��vel com o seu sistema,
seleccione um dos Generic baseado no n�umero de bot~oes e interface. Se tiver um rato
Figura 2.3: Con�gura�c~ao do rato
PS/2 ou, no caso dos port�ateis incorporado, n~ao �e necess�ario escolher uma porta. Se o rato
for s�erie, �e necess�ario escolher a porta correcta onde ele est�a ligado.
A op�c~ao Emulate 3 Buttons permite-nos que tendo o nosso rato apenas 2 but~oes emu-
lar o terceiro premindo os dois ao mesmo tempo. O X-Window �e mais f�acil de utilizar com
um rato com 3 but~oes, por isso conv�em activar esta op�c~ao se for precisa.
Nota: Para alterar a con�gura�c~ao do rato depois de instalar o Red Hat Linux, comoroot utiliza-se o comando /usr/sbin/mouseconfig na prompt do root.
2.4 Bem vindo ao Red Hat Linux
O �ecra de boas vindas do Red Hat Linux n~ao tem nenhuma op�c~ao em especial. A �unica
de importancia tem a ver com o facto de se querer ou n~ao ver a ajuda �a instala�c~ao.
Para continuar a instala�c~ao clica no Next.
28 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
2.5 Op�c~oes de instala�c~ao
Neste �ecra vamos escolher o tipo de instala�c~ao que pretendemos fazer. O Red Hat Li-
nux permite-nos escolher o melhor tipo de instala�c~ao para o nosso caso. As op�c~oes s~ao
Workstation, Server, Laptop, Custom e Upgrade.
Figura 2.4: Op�c~oes de con�gura�c~ao
2.6 Particionamento autom�atico
O particionamento autom�atico do disco permite-nos fazer uma instala�c~ao na qual n~ao
temos de nos preocupar com a opera�c~ao de fazer parti�c~oes no nosso disco. Se n~ao nos
sentirmos �a vontade com o facto de termos de fazer manualmente o particionamento do
nosso disco, o melhor ser�a mesmo optar pelo partionamento autom�atico.
Nota: Se a op�c~ao de Automatic Partitioning n~ao aparece �e porque n~ao temos espa�cosu�ciente para podermos optar por esta op�c~ao. Temos ent~ao duas solu�c~oes: ou sairmos
da instala�c~ao e libertar mais espa�co no disco; ou ent~ao optar pelo particionamento manual.
Nesta �ecra podemos escolher ou o particionamento autom�atico, ou os particionamentos
manuais usando o Disk Druid ou o Fdisk. Temos ainda a op�c~ao de voltar atr�as e escolher
outro tipo de instala�c~ao.
Se n~ao quisermos perder dados a melhor op�c~ao ser�a fazer o particionamento manual.
Nota: Uma instala�c~ao Workstation, Custom ou Laptop usando particionamento autom�atico
2.7. Particionando o disco 29
Figura 2.5: Particionamento autom�atico
ir�a remover todos os dados das parti�c~oes Linux existentes. Por outro lado, uma instala�c~aoServer ir�a remover todos os dados de todas as parti�c~oes de todas as drives.
2.7 Particionando o disco
Se escolheu a op�c~ao de Automatic Partitioning anteriormente passe para o ponto se-
guinte, caso contr�ario continue a ler. Se por outro lado a op�c~ao escolhida foi Manually
partition with fdisk passe para o ponto 2.8.
Neste ponto �e necess�ario dizer ao programa de instala�c~ao onde �e que ele deve instalar
o Red Hat Linux. Isto �e feito de�nindo pontos de montagem (mount points) para uma ou
mais parti�c~oes do disco no qual o Red Hat Linux vai ser instalado. Pode ser preciso criar
ou apagar parti�c~oes. A ferramenta do Red Hat Linux para fazer o particionamento dos
discos �e o Disk Druid. Com algumas raras excep�c~oes, este programa pode tratar de todas
as opera�c~oes com parti�c~oes para a instala�c~ao padr~ao do Red Hat Linux.
2.7.1 Vari�aveis das parti�c~oes
Cada linha da sec�c~ao partitions representa uma parti�c~ao do disco. Cada linha nesta
sec�c~ao tem 5 vari�aveis diferentes:
� Mount Point - um mount point d�a-nos a localiza�c~ao contendo a hierarquia onde
um volume existe; o "volume" �e montado aqui. A vari�avel indica-nos onde �e que a
parti�c~ao vai ser montada. Se a parti�c~ao j�a existe mas ainda n~ao est�a con�gurada �e
30 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
Figura 2.6: Particionando o disco com o Disk Druid
preciso de�nir o ponto de montagem. Basta fazer duplo clique na parti�c~ao ou carregar
em Edit;
� Device - este campo indica-nos o nome do dispositivo da parti�c~ao;
� Request - este campo d�a-nos o tamanho original da parti�c~ao. Para rede�nir o tama-
nho de uma parti�c~ao �e preciso apagar a actual e cri�a-la de novo utilizando o Add;
� Actual - este campo indica-nos o espa�co alocado actualmente para a parti�c~ao;
� Type - indica-nos o tipo de parti�c~ao (Linux, DOS, etc).
2.7.2 Esquema recomendado de particionamento
A menos que se tenha outra ideia, recomendamos que se se criem as seguintes parti�c~oes:
� uma parti�c~ao swap (com pelo menos 32Mb, recomendamos 256Mb) - este tipo de
parti�c~oes servem para ajudar a mem�oria. Ou seja, quando n~ao existe mem�oria su-
�ciente para executar determinada opera�c~ao, os dados podem ser escritos para a
parti�c~ao swap e esta ser utilizada como mem�oria virtual.
� uma parti�c~ao /boot (com no m�aximo 32Mb) - esta parti�c~ao cont�em o kernel do
sistema operativo (que permite que o Red Hat Linux arranque) e ainda os �cheiros
utilizados durante o arranque.
� uma parti�c~ao root (1,2 a 2,4 Gb) - esta parti�c~ao �e onde se encontra o "/" (direct�orio
do root). Nesta con�gura�c~ao, todos os �cheiros se encontram nesta parti�c~ao excepto
2.7. Particionando o disco 31
aqueles que est~ao na /boot. Com 1,2Gb podemos fazer uma instala�c~ao workstation
apenas com alguns pacotes e com 2,4Gb temos hip�otese de instalar todos os pacotes.
2.7.3 Problemas a adicionar uma parti�c~ao
Se tentarmos adicionar uma parti�c~ao e o Disk Druid n~ao puder fazer essa opera�c~ao, o pro-
grama mostra-nos uma lista de todas as parti�c~oes que n~ao est~ao alocadas acompanhadas
da respectiva raz~ao porque n~ao puderam ser alocadas.
Para reparar esta situa�c~ao, a solu�c~ao �e mover a parti�c~ao para outro disco que tenha espa�co
disponivel e fazer um redimensionamento da parti�c~ao para o espa�co disponivel nesse disco,
ou apagar essa parti�c~ao.
2.7.4 Caracter��sticas do disco
Cada linha da sec�c~ao Drive Summaries representa um disco da nossa m�aquinas. Cada
linha tem as seguintes vari�aveis:
� Drive - d�a-nos o nome do dispostivo do disco;
� Geom [C/H/S] - d�a-nos o n�umero de cilindros, cabe�cas e sectores do disco;
� Total - indica-nos o espa�co total em disco em Mb;
� Free - indica-nos o espa�co em disco que ainda n~ao est�a alocado em Mb;
� Used - indica-nos o espa�co em disco que est�a alocado em parti�c~oes em Mb e em
percentagem.
A sec�c~ao Drive Summaries s�o �e mostrada como informa�c~ao ao utilizador sobre o seu disco
e sobre a forma como est�a particionado.
2.7.5 Op�c~oes do Disk Druid
O Disk Druid oferece-nos as seguintes op�c~oes:
� Add - utilizado para adicionar uma nova parti�c~ao. Quando esta op�c~ao �e seleccionada
aparece uma caixa de di�alogo com alguns campos que devem ser preenchidos (tais
como o ponto de montagem e o tamanho);
32 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
� Edit - utilizado para modi�car os atributos de determinada parti�c~ao seleccionada na
sec�c~ao Partitions. Ao escolher a op�c~ao Edit, vai aparecer uma caixa de di�alogo que
nos permite alterar alguns dos dados sobre a parti�c~ao dependendo se estes j�a foram
escritos ou n~ao no disco;
� Delete - utilizado para remover parti�c~oes. Por uma quest~ao de seguran�ca aparece
sempre uma caixa de di�alogo para con�rma�c~ao ou n~ao desta opera�c~ao;
� Reset - serve para recolocar o Disk Druid no seu estado inicial. Todas as altera�c~oes
feitas s~ao perdidas;
� Make RAID Device - serve para fornecer redundancia para uma ou para todas as
parti�c~oes do disco. S�o deve ser utilizado ser tivermos experiencia com o RAID (Re-
dundant Array of Independent Disks).
2.7.6 Adicionar parti�c~oes
Para adicionar uma parti�c~ao basta carregar em Add e logo uma caixa de di�alogo ir�a aparecer.
Nota: Deve haver pelo menos uma parti�c~ao dedicada para o Red Hat Linux, ou em op�c~ao
v�arias.
As op�c~oes da caixa de di�alogo s~ao:
� Mount Point - escolha e introduza o ponto de montagem da parti�c~ao. Por exemplo
para a parti�c~ao do root, introduz-se /;
� Size (Megs) - introduza o tamanho da parti�c~ao em Mb;
� Use remaining space - quando est�a op�c~ao �e seleccionada, a parti�c~ao �ca com todo
o tamanho dispon��vel e que ainda n~ao foi alocada para mais nada;
� Partition Type - este campo cont�em diversas op�c~oes tais como Linux Native ou
DOS. Escolha a que mais lhe convier;
� Allowable Drives - este campo cont�em todos os tipos de drives que temos na
m�aquina.
� Ok - clicamos aqui se j�a �zemos todas as modi�ca�c~oes que pretend��amos e queremos
agora criar a parti�c~ao;
� Cancel - clicamos aqui se queremos cancelar todas as modi�ca�c~oes.
2.8. Particionando com o Fdisk 33
2.7.7 Editar parti�c~oes
Para editar um parti�c~ao basta clicar em Edit ou dar duplo clique numa parti�c~ao existente.
Nota: Se a parti�c~ao j�a existir no disco, s�o poderemos mudar o seu ponto de montagem.
Se quiseremos alterar qualquer outro parametro da parti�c~ao s�o podemos faze-lo apagando-a
e criando-a novamente.
2.7.8 Apagar uma parti�c~ao
Para apagar uma parti�c~ao basta escolhe-la na sec�c~ao Partitions seguido do Delete. Por
uma quest~ao de seguran�ca �e sempre pedida a con�rma�c~ao da opera�c~ao.
2.8 Particionando com o Fdisk
Caso a escolha para fazer as parti�c~oes do disco recaia sobre o Fdisk o �ecra seguinte ir�a
pedir para indicarmos qual o disco a particionar. Depois de escolhermos o disco, aparecer�a
o �ecra de comandos do Fdisk.
Se n~ao soubermos quais os comandos a utilizar, podemos ver as alternativas com o co-
mando m no prompt. Depois de terminarmos de fazer as parti�c~oes, usamos o comando w
para gravar as altera�c~oes e sair. Feita esta opera�c~ao voltamos ao �ecra principal do Fdisk
onde podemos escolher outro disco ou continuar com a instala�c~ao.
Se continuarmos com a instala�c~ao temos de utilizar o Disk Druid para de�nir os pon-
tos de montagem para cada parti�c~ao.
2.9 Formatar parti�c~oes
Agora que temos as parti�c~oes criadas temos de as formatar. Para isso basta escolher quais
as que queremos formatar, tendo obrigatoriamente de formatar aquelas que foram criadas
agora no processo de instala�c~ao. Ter em aten�c~ao que as parti�c~oes que cont�em as pastas
/home e /usr/local n~ao devem ser formatadas se quisermos guardar os dados que l�a
temos. Se quisermos fazer a veri�ca�c~ao de erros aquando do processo de formata�c~ao de
cada parti�c~ao s�o temos de activar a caixa de Check for bad blocks while formatting.
34 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
Figura 2.7: Escolher as parti�c~oes a formatar
2.10 Instalar o LILO
Se estamos a fazer umaa instala�c~ao do tipo Workstation, Server ou Laptop podemos
passar j�a para o ponto 2.11.
Para que o Red Hat Linux possa arrancar �e necess�ario instalarmos o LILO (ou LInux
LOader). O LILO pode ser instalado em dois sitios:
� no Master Boot Record (MBR) - �e o sitio que recomendamos.
� no primeiro sector da parti�c~ao do root - s�o no caso de j�a usarmos outro programa de
boot tal como o OS/2 Boot Manager.
Se escolhermos instalar o LILO, temos de escolher o sitio onde �e que ele vai ser instalado
no nosso sistema. Se j�a tivermos outro sistema operativo, �e aconselh�avel escolher colocar
o LILO no MBR pois durante o processo de arranque temos hip�otese de escolher qual dos
sistemas operativos �e que queremos utilizar.
Se decidirmos n~ao instalar o LILO, temos de mais adiante fazer uma disquete de arranque
porque sen~ao �caremos sem acesso ao Red Hat Linux.
Podemos ainda neste �ecra de con�gura�c~ao do LILO indicar algumas op�c~oes, nomeada-
mente qual o sistema operativo que arrancar�a por defeito entre outras.
2.11. Con�gura�c~ao da rede 35
Figura 2.8: Instalar o LILO
2.11 Con�gura�c~ao da rede
Este �ecra s�o �e mostrado se tivermos uma placa de rede. A con�gura�c~ao serve para con-
�gurarmos o nosso endere�co IP para utilizar ou o DHCP (Dynamic Host Con�guration
Protocol) ou com os valores introduzidos manualmente nos campos IP Address, Netmask,
Network e Broadcast. Temos ainda a op�c~ao de activar a placa de rede no arranque do
Figura 2.9: Con�gura�c~ao da rede
Red Hat Linux na caixa Activate on boot.
36 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
2.12 Con�gura�c~ao do �rewall
O Red Hat Linux oferece a possibilidade de uma protec�c~ao com �rewall para uma melhor
seguran�ca do sistema. Um �rewall separa a nossa m�aquina da rede e determina a que re-
cursos do nosso computador �e que um utilizador pode aceder. Um �rewall bem con�gurado
Figura 2.10: Con�gura�c~ao do �rewall
pode aumentar e�cazmente a seguran�ca do nosso sistema. Existe 3 niveis de seguran�ca e
para que se possa optar pelo melhor para o nosso caso, a descri�c~ao de cada pode ser vista
a seguir.
� High - se escolhermos este n��vel de seguran�ca, o nosso sistema n~ao ir�a aceitar qualquer
liga�c~ao que n~ao seja explicitamente de�nida por n�os.
� Medium - neste caso, o �rewall vai impedir que m�aquinas remotas acedam a alguns
dos recursos do nosso sistema.
� No Firewall - esta op�c~ao fornece total acesso ao nosso sistema e n~ao faz qualquer
tipo de veri�ca�c~ao de seguran�ca.
2.13 Con�gura�c~ao do fuso hor�ario
A con�gura�c~ao do fuso hor�ario pode ser feita quer indicando ao programa a nossa lo-
caliza�c~ao f��sica quer especi�cando o nosso fuso hor�ario no Coordinated Universal Time
(UTC). Na imagem podemos ver que temos dois separadores. No primeiro, que �e o que
est�a v��sivel, especi�camos clicando no mapa o local onde estamos, ap�os o que aparece um
X vermelho.
2.14. Selec�c~ao da(s) lingua(s) 37
Figura 2.11: Con�gura�c~ao do fuso hor�ario
Nota: Para alterar a con�gura�c~ao do fuso hor�ario depois de instalar o Red Hat Linux,
como root utiliza-se o comando /usr/sbin/timeconfig na prompt do root.
2.14 Selec�c~ao da(s) lingua(s)
O Red Hat Linux permite-nos ter instalados suportes para v�arias l��nguas para o nosso
sistema. Devemos escolher uma para servir como l��ngua padr~ao. Contudo, mais tarde po-
demos alter�a-la para outra. Se s�o vamos utilizar uma l��ngua, basta escolhermos a desejada
Figura 2.12: Con�gura�c~ao da(s) lingua(s)
38 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
e avan�carmos com a instala�c~ao. No caso de queremos mais do que uma, isso ir�a re ectir-se
no espa�co ocupado pelo Red Hat Linux.
2.15 Con�gura�c~ao de contas
Este �ecra permite-nos con�gurar a password de root. Adicionalmente podemos acrescentar
mais contas de utilizadores que podem fazer o log in na m�aquina depois da instala�c~ao estar
conclu��da.
Figura 2.13: Con�gura�c~ao de contas
2.15.1 De�nindo a password do root
De�nir a password do root �e um dos mais importantes passos da instala�c~ao. A conta de
root �e similar �a conta de administrador do Windows NT. Esta conta �e utilizada para insta-
lar pacotes, fazer upgrade de RPMs e executar as tarefas de manuten�c~ao do sistema. Fazer
o login como root d�a-nos o controlo total da m�aquina.
Deve-se usar a conta de root apenas para administra�c~ao e n~ao para trabalho, para este �m
deve-se criar outra conta. A cria�c~ao de uma conta de trabalho evita que se �zermos algum
comando errado vamos provocar algum problema no sistema.
Neste passo deve-se de�nir uma password de root, caso contr�ario o programa de instala�c~ao
n~ao nos deixa avan�car.
2.16. Con�gura�c~ao de autentica�c~oes 39
2.15.2 De�nir contas para utilizadores
Se decidirmos criar uma conta de utilizador, ela ir�a �car disponivel logo que a instala�c~ao
seja conclu��da. Isto permite-nos fazer o log in no nosso sistema qem que tenhamos de ser
o root.
De�nir uma conta de utilizador �e bastante f�acil. Basta introduzir um username, depois
introduzir e con�rmar uma password para esse username. Depois introduz-se o nome com-
pleto do utilizador e clica-se em Add. Estas informa�c~ao v~ao ser acrescentadas na lista de
utilizadores e os campos v~ao �car limpos para o caso de querermos acrescentar mais utili-
zadores.
Pode-se ainda editar ou apagar utilizadores usando os bot~oes Edit e Delete respecti-
vamente.
2.16 Con�gura�c~ao de autentica�c~oes
Se estivermos a fazer uma instala�c~ao Workstation, server ou Laptop, passe para a sec�c~ao
2.17. Podemos passar esta con�gura�c~ao se n~ao quisermos de�nir passwords de rede. A me-
Figura 2.14: Con�gura�c~ao de autentica�c~oes
nos que estejamos a de�nir autentica�c~ao NIS, as caixas de di�alogo activadas s~ao as que se
referem a passwords MD5 e shadow. Recomendamos que sejam usadas ambas se quisermos
tornar a nossa m�aquina mais segura.
As passwords MD5 permitem-nos utilizar passwords longas com at�e 256 caracteres em vez
das normais oito letras ou menos. As passwords shadow fornecem-nos um m�etodo seguro
40 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
de guaradar as passwords. Estas s~ao guardadas em /etc/shadow direct�orio ao qual s�o o
root tem acesso.
Para activar a op�c~ao Enable NIS temos de estar ligados a uma rede NIS. Caso contr�ario
passa-se adiante. Relativamente �as outras op�c~oes pode-se consultar
http://www.europe.redhat.com/documentation/rhl7.1 ou ver no Manual.
2.17 Escolha dos grupos de pacotes
Depois de as parti�c~oes serem seleccionadas e con�guradas para serem formatadas, estamos
prontos para seleccionar quais os grupos de pacotes que ser~ao instalados.
O KDE e o GNOME s~ao ambientes gr�a�cos, dos quais j�a fal�amos anteriormente. Para
j�a basta escolher um deles ou os dois para serem instalados. S�o depois de utilizar cada um
deles �e que podemos dizer qual deles �e que preferimos. De seguida podemos escolher quais
Figura 2.15: Escolha de grupos de pacotes
os componentes a instalar, que podem ser desde grupos de pacotes, at�e pacotes individuais,
por exemplo C Development, Networked Workstation entre outros. Para escolher basta
clicar no caixa de selec�c~ao respectiva.
Para escolher pacotes individualmente clica-se em Select Individual Packages que apa-
rece no fundo do �ecra.
2.17. Escolha dos grupos de pacotes 41
2.17.1 Seleccionar pacotes individuais
Depois de escolher quais os componentes a instalar podemos seleccionar ou n~ao pacotes
individuais. No lado esquerdo do �ecra temos um direct�orio que mostra os v�arios grupos de
Figura 2.16: Escolha de pacotes individuais
pacotes organizados por temas. Quando se expande umramo do direct�orio vemos do lado
direito quais os pacotes que fazem parte desse ramo.
Ter em aten�c~ao que alguns dos pacotes s~ao indispens�aveis para o funcionamento do Red
Hat Linux.
2.17.2 Dependencias
Alguns dos pacotes de software, de modo a serem executados correctamente, depdendem
de outros pacotes que devem ser instalados. De modo a assegurar que o sistema tem
todos os pacotes que precisa, o Red Hat Linux veri�ca todas as dependencias dos pacotes
seleccionados que pretendemos instalar ou desinstalar. O �ecra Unresolved Dependencies
s�o ir�a aparecer no caso de faltarem alguns pacotes necess�arios para a execu�c~ao de outros
que foram seleccionados para instalar. No fundo do �ecra encontramos 3 op�c~oes. Em caso
de d�uvida escolhe-se Install packages to satisfy dependencies e o pr�oprio programa
resolve todas as dependencias.
42 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
Figura 2.17: Dependencias
2.18 Con�gura�c~ao da componente gr�a�ca
Se decidirmos instalar os pacotes do X-Window temos de con�gurar um servidor X no
nosso sistema.
2.18.1 Con�gurar a placa de video
O XConfigurator d�a-nos uma lista de todos as placas gr�a�cas suportadas pelo sistema.
No fundo do �ecra e depois de escolhida a placa gr�a�ca temos de escolher a quantida de
Figura 2.18: Con�gura�c~ao da placa gr�a�ca
2.18. Con�gura�c~ao da componente gr�a�ca 43
mem�oria respectiva.
2.18.2 Con�gurar o monitor
O programa de con�gura�c~ao d�a-nos uma lista de monitores suportados pelo Red Hat Linux.
O nosso monitor vai ser detectado pelo programa, e s�o no caso de n~ao corresponder �e que
fazemos a escolha manual.
Figura 2.19: Con�gura�c~ao do monitor
2.18.3 Con�gura�c~ao pessoal
Depois de feitas as escolhas da placa gr�a�ca e do monitor, temos agora de con�gurar por-
menores de visualiza�c~ao tais como a quantidade de cores, a resolu�c~ao e qual vai ser o nosso
ambiente de trabalho por defeito. Como podemos ver na �gura este processo �e bastante
simples, conv�em no entanto fazer Test Setting antes de prosseguir com a instala�c~ao para
veri�car se realmente as op�c~oes escolhidas conseguem ser suportadas pelo nosso sistema.
O Test Setting vai abrir um �ecra de teste das con�gura�c~oes, se por acaso n~ao conse-
guirmos ver as imagens que aparecem �e porque escolhemos uma resolu�c~ao ou quantidade
de cores muito grande. Assim sendo clicamos em No e escolhemos outros valores.
Temos ainda a hip�otese de indicar se queremos arrancar o Red Hat Linux em modo texto
ou gr�a�co depois de terminada a instala�c~ao. O arranque em modo gr�a�co �ca sempre
melhor que em modo texto mas cada utilizador �e que sabe.
44 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
Figura 2.20: Con�gura�c~ao do X
2.19 Prepara�c~ao para instalar
E estamos quase a come�car a instala�c~ao do Red Hat Linux. Depois de serem feitas todas
as con�gura�c~oes do nosso sistema temos agora a �ultima hip�otese de cancelar o processo de
instala�c~ao no caso de querermos ainda fazer algumas altera�c~oes nas con�gura�c~oes.
Clicando em Next o programa de instala�c~ao vai escrever as parti�c~oes e os pacotes come�cam
a ser instalados.
2.20 Instalando os pacotes
Neste ponto da instala�c~ao todos os procedimentos s~ao feitos pelo programa de instala�c~ao
e por isso o utilizador n~ao precisa de fazer nada. O tempo de instala�c~ao depende da quan-
tidade dos pacotes que foram seleccionados anteriormente e da velocidade do computador.
2.21 Cria�c~ao de uma disquete de arranque
Se na sec�c~ao ?? opt�amos por fazer um arranque do Red Hat Linux por disquete temos
obviamente de a criar agora. Para isso basta introduzir uma dsquete formatada na drive e
clicar em Next.
Qualquer que tenha sido o modo de arranque que escolhemos, uma disquete de arran-
2.22. Instala�c~ao terminada 45
Figura 2.21: Instala�c~ao dos pacotes
que �e sempre importante pois caso haja algum problema com a con�gura�c~ao do LILO
temos sempre a certeza que o sistema ir�a arrancar, quanto mais n~ao seja com a disquete.
Figura 2.22: Disquete de arranque
2.22 Instala�c~ao terminada
E cheg�amos ao �m do processo de instala�c~ao! O programa de instala�c~ao vai agora reiniciar
o sistema e por isso conv�em remover qualquer disquete ou CD dos respectivos dispositivos.
46 Cap��tulo 2. Instala�c~ao do Red Hat Linux 7.1
Se n~ao instal�amos o LILO temos de introduzir a disquete de arranque. Depois do compu-
tador arrancar vai aparecer qualquer coisa como
LILO boot:
linux windows98
na qual temos 3 op�c~oes:
� Carregar em Enter - arranca o sistema operativo que tiver sido de�nido como de-
fault;
� Escolher uma das op�c~oes seguido de Enter - faz o LILO arrancar com o sistema
operativo escolhido que est�a representado pelo label;
� N~ao fazer nada - o LILO depois de um certo tempo arranca para o sistema operativo
de�nido como default.
Aparece-nos ent~ao se tivermos de�nido um modo gr�a�co, um �ecra de login em modo gr�a�co.
Cap��tulo 3
Estrutura dos direct�orios do Linux
Este cap��tulo descreve a importancia dos componentes padr~ao da �arvore de direct�orios do
Linux, a qual tem por base o Sistema de Ficheiros Padr~ao do Linux 1. Ao mesmo tempo
�e descrita a forma habitual de dividir a �arvore de direct�orios em diferentes sistemas de
�cheiros com diferentes �nalidades, e atribuindo uma justi�ca�c~ao para a adop�c~ao de cada
divis~ao. S~ao descritas ainda algumas op�c~oes alternativas.
O padr~ao preconizado pelo FSSTND, tem por fun�c~ao facilitar o desenvolvimento para
o Linux, bem como a administra�c~ao de m�aquinas Linux, na medida em que tudo est�a lo-
calizado em lugares espec���cos.
N~ao existe a obrigatoriedade da adop�c~ao deste padr~ao, nem nada que obrigue quem quer
que seja a utiliz�a-lo, al�em do bom senso, uma vez que ele tem o apoio da maioria, sen~ao
da totalidade, das distribui�c~oes do Linux.
No entanto, n~ao �e aconselh�avel alterar o padr~ao da �arvore de direct�orios, a menos que
existam raz~oes que sejam muito fortes para serem realizadas essas altera�c~oes.
O FSSTND, tenta manter os padr~oes antigos do Unix, conciliando-os com as novas so-
licita�c~oes, fazendo com o que o Linux �que mais familiar para aqueles com alguma ex-
periencia noutros Unix e vice-versa.
Este cap��tulo, n~ao �e t~ao detalhado como o FSSTND. Qualquer administrador de siste-
mas, deveria ler cada especi�ca�c~ao para que o entendimento seja completo. Tamb�em foi
nossa op�c~ao, n~ao descrever a totalidade dos �cheiros com o m�aximo detalhe. A inten�c~ao,
�e apresentar uma vis~ao geral, sob um determinado ponto de vista do sistema de �cheiros.
Mais informa�c~oes sobre cada �cheiro, podem ser encontradas nas p�aginas de manual on-line
do Linux presentes na m�aquina.
1Linux Filesystem Structure ou FSSTND
48 Cap��tulo 3. Estrutura dos direct�orios do Linux
A �arvore de direct�orios deve ser dividida em partes mais pequenas, cada uma com o seu
pr�oprio disco ou parti�c~ao, facilitando dessa forma quest~oes como os limites do tamanho
de disco ou a cria�c~ao de c�opias de seguran�ca. Os sistemas de �cheiros maiores s~ao a raiz
(root), /usr, /var e /home (ver a �gura 3.1). Cada parte tem uma �nalidade diferente.
Figura 3.1: Partes da �arvore de direct�orios
O desenho da �arvore foi idealizado para funcionar tamb�em em rede, tanto em m�aquinas
que necessitem de compartilhar partes do sistema de �cheiros com autoriza�c~ao exclusiva-
mente de leitura (por exemplo um CD-ROM), bem como em m�aquinas com sistemas de
�cheiros de rede (NFS).
As regras para se obterem tais divis~oes, s~ao as seguintes:
� O sistema de �cheiros raiz �e espec���co de cada m�aquina (geralmente est�a armazenado
num disco local, apesar de poder estar presente num disco em mem�oria ou numa uni-
dade de rede). Cont�em os �cheiros necess�arios para o boot do sistema e para permitir
o acesso aos restantes sistemas de �cheiros. O conte�udo da raiz deve ser o su�ciente
ainda para que o sistema possa ser executado em modo mono-utilizador. Cont�em as
ferramentas para a resolu�c~ao de poss��veis problemas e para a recupera�c~ao de �cheiros
a partir das c�opias de seguran�ca.
� O sistema de �cheiros /usr cont�em: comandos, bibliotecas, p�aginas de manuais e
�cheiros imut�aveis, necess�arios para a normal opera�c~ao do sistema. Os �cheiros lo-
calizados em /usr n~ao devem ser espec���cos para uma determinada m�aquina e n~ao
devem ser alterados durante a utiliza�c~ao normal. Isso permite que estes �cheiros pos-
sam ser compartilhados atrav�es da rede, o que pode ser bastante interessante pela
economia prov�avel de espa�co em disco (o /usr pode conter algumas centenas de me-
gabytes muito facilmente) e ao mesmo tempo faz com que a administra�c~ao seja mais
simples (uma vez que s�o o /usr na m�aquina principal necessita de ser actualizado).
Mesmo que este sistema de �cheiros se encontre localizado no disco local, deve at�e
49
ser montado com permiss~ao exclusivamente de leitura, para diminuir a hip�otese da
corrup�c~ao de �cheiros durante um eventual acidente.
� O sistema de �cheiros /var cont�em os �cheiros mut�aveis, como os direct�orios dos
�cheiros tempor�arios (spool) para correio electr�onico, impress~oes, logs, p�aginas de
manual formatadas, etc... Tradicionalmente o conte�udo do /var deveria estar em
algum lugar sob o /usr, por�em isso torna imposs��vel montar o /usr com permiss~oes
s�o de leitura.
� O sistema de �cheiros /home cont�em os direct�orios pessoais dos utilizadores, ou
seja, todas as informa�c~oes armazenadas por estes no sistema. Separar os direct�orios
pessoais na sua pr�opria �arvore de direct�orios ou sistema de �cheiros, simpli�ca a
cria�c~ao de c�opias de seguran�ca, uma vez que outras partes do sistema normalmente
n~ao necessitam ser copiadas com a mesma frequencia. Uma /home muito grande,
pode ser dividida em v�arios sistemas de �cheiros que requerem um n��vel adicional na
sua denomina�c~ao, como por exemplo /home/GEL ou /home/admin.
Apesar das diferentes partes j�a descritas serem chamadas de sistemas de �cheiros, n~ao h�a
a obrigatoriedade de estas estarem assim separadas. Podem estar facilmente no mesmo
sistema, numa pequena m�aquina utilizada por um �unico utilizador que deseje mante-las de
uma forma mais simpli�cada.
A �arvore de direct�orios pode estar dividida ainda em diferentes sistemas de �cheiros, de-
pendendo do tamanho de cada disco e da quantidade de espa�co que for reservado para cada
�nalidade. O importante a reter �e que os nomes padr~oes devem ser mantidos e devem ser
utilizados de forma correcta.
A estrutura dos sistemas de �cheiros Unix, preve um agrupamento de acordo com a �-
nalidade. Ou seja, os comandos est~ao todos numa determinada �area, todos os �cheiros de
dados noutra, a documenta�c~ao numa terceira, e assim por diante. Uma alternativa seria
agrupar os �cheiros de acordo com os programas a que eles perten�cam, isto �e, os �cheiros
do Emacs estariam todos num �unico direct�orio, todos os �cheiros de TeX noutro, e assim
por diante.
O problema desta abordagem, reside no compartilhar de �cheiros (um �cheiro de pro-
gramas cont�em todos os tipos de �cheiros: est�aticos, dinamicos, compartilhados e n~ao
compartilhados,...) e algumas vezes em encontrar alguns desse �cheiros (por exemplo uma
man page a ser pesquisada num grande n�umero de direct�orios).
50 Cap��tulo 3. Estrutura dos direct�orios do Linux
3.1 O sistema de �cheiros raiz
O sistema de �cheiros raiz, deve ser pequeno, desde que contenha s�o os �cheiros fundamen-
tais para o boot (inicio) e funcionamento do sistema. Um sistema pequeno e com poucas
modi�ca�c~oes tem mais hip�oteses de nunca ter problemas.
Um sistema de �cheiros raiz corrompido, pode geralmente signi�car que o sistema n~ao
possa ser inicializado, excepto atrav�es de medidas especiais (como por exemplo, por uma
disquete).
O direct�orio raiz, geralmente n~ao cont�em qualquer tipo de �cheiro, excepto, talvez, a
imagem de inicializa�c~ao (boot) do sistema, normalmente chamada /vmlinuz. Todos os res-
tantes �cheiros est~ao em sub direct�orios da raiz.
/bin
Comandos necess�arios durante o boot do sistema (inicializa�c~ao) que podem ser utiliza-
dos pelos utilizadores (provavelmente ap�os a activa�c~ao do sistema).
/sbin
Identicos ao /bin, no entanto os comandos n~ao s~ao destinados aos utilizadores comuns,
apesar de poderem ser utilizados por estes se tal for necess�ario.
/etc
Ficheiros de con�gura�c~ao espec���cos da m�aquina.
/root
O direct�orio pessoal do administrador da m�aquina (root).
/lib
Bibliotecas partilhadas necess�arias aos programas residentes no sistema de �cheiros
3.1. O sistema de �cheiros raiz 51
raiz.
/lib/modules
M�odulos dinamicos e que s~ao carregados pelo kernel, especialmente aqueles necess�arios
ao arranque do sistema em caso de acidente (por exemplo, programas de controlo de siste-
mas de �cheiros de rede).
/dev
Ficheiros de controlo de dispositivos (devices).
/tmp
Ficheiros tempor�arios. Programas que s~ao executados ap�os a activa�c~ao do sistema, de-
vem usar o /var/tmp e n~ao o /tmp, na medida em que muito provavelmente v~ao encontrar
mais espa�co dispon��vel naquele sistema de �cheiros.
/boot
Ficheiros utilizados pelo carregador de boot (inicializa�c~ao) do sistema, por exemplo o
LILO2. As imagens do kernel, s~ao regra geral, aqui mantidas ao contr�ario de serem no
direct�orio raiz. No caso de existirem v�arias imagens, o direct�orio pode crescer muito facil-
mente, sendo aconselh�avel mante-lo num sistema de �cheiros �a parte. Outra raz~ao, �e ter
a plena certeza de que as imagens do kernel se encontrem localizadas nos primeiros 1024
cilindros de um disco IDE.
/mnt
Local para as montagens tempor�arias realizadas pelo administrador do sistema. Os
programas, regra geral, n~ao preveem a montagem autom�atica em /mnt. Este deve estar
dividido em sub direct�orios, como por exemplo /mnt/dosa (sendo uma unidade de disque-
tes utilizando um sistema de �cheiros MS-DOS) e /mnt/exta (pode ser a mesma unidade,
mas com uma extens~ao ext2).
2LILO - LInux LOader, analizado no ponto 5.1 na p�agina 97
52 Cap��tulo 3. Estrutura dos direct�orios do Linux
/proc, /usr, /var e /home
Locais de montagem para outros sistemas de �cheiros.
3.2 O direct�orio /etc
O direct�orio /etc cont�em v�arios �cheiros. Alguns deles s~ao descritos a seguir. Muitos �-
cheiros de con�gura�c~ao de programas de rede est~ao localizados em /etc, como se encontra
descrito no Linux Networking Administrators' Guide3
/etc/rc ou /etc/rc.d ou /etc/rc?.d
S~ao �cheiros de batch (scripts) ou os direct�orios de �cheiros de batch, os quais s~ao
executados no (boot) in��cio do sistema.
/etc/passwd
A base de dados dos utilizadores, cujos campos de�nem nome do utilizador, nome real,
direct�orio pessoal, password cifrada e outras informa�c~oes espec���cas de cada utilizador. O
formato est�a documentado na p�agina man passwd.
/etc/fdprm
A tabela de parametros de disquetes. Descreve os formatos diferentes dispon��veis. �E
utilizada pelo programa setfdprm. Para maiores informa�c~oes veja a p�agina man setfdprm.
/etc/fstab
Lista os sistemas de �cheiros montados automaticamente, durante a inicializa�c~ao do
sistema, pelo comando mount -a (no etc/rc ou �cheiro de inicializa�c~ao similar). Cont�em
ainda informa�c~oes sobre as �areas de swap usadas automaticamente pelo comando swapon
3Linux Networking Administrators Guide, Olaf Kirch, O' Reilly & Associates, January 1995
3.2. O direct�orio /etc 53
-a. Veja a p�agina man mount para maiores informa�c~oes.
/etc/group
Similar ao /etc/passwd, descreve grupos ao contr�ario de utilizadores. Veja a p�agina
man group, para mais informa�c~oes.
/etc/inittab
Ficheiro de con�gura�c~ao do init.
/etc/issue
Sa��da do programa getty antes do prompt de acesso ao sistema. Normalmente cont�em
uma descri�c~ao breve ou mensagens de boas vindas. O conte�udo �ca ao crit�erio do admi-
nistrador do sistema.
/etc/magic
O �cheiro de con�gura�c~ao para o comando �le. Cont�em as descri�c~oes de v�arios formatos
de �cheiros. Veja as p�aginas man magic e �le para maiores informa�c~oes.
/etc/motd
A mensagem do dia (message of the day), a qual �e automaticamente apresentada ap�os
um acesso bem sucedido. Os conte�udos s~ao ao crit�erio do administrador do sistema. Nor-
malmente s~ao usadas para enviar informa�c~oes para os utilizadores, como por exemplo avisos
de manuten�c~ao do sistema.
/etc/mtab
Listagem dos sistemas de �cheiros montados. Inicialmente con�gurado por programas
de batch e posteriormente actualizado pelo comando mount. Usado quando uma lista de
54 Cap��tulo 3. Estrutura dos direct�orios do Linux
sistemas de �cheiros �e necess�aria, como por exemplo, pelo comando df.
/etc/shadow
Ficheiros de seguran�ca de passwords em sistemas onde o software shadow password
esteja instalado. Esta op�c~ao move as passwords cifradas de /etc/passwd para o �cheiro
/etc/shadow, o qual s�o pode ser lido pelo administrador da m�aquina (root). Isso d�a uma
seguran�ca maior �as passwords dos utilizadores.
/etc/login.defs
Ficheiro de con�gura�c~ao do programa de acesso ao sistema (login).
/etc/printcap
Similar ao /etc/termcap, mas direccionado para as impressoras e com uma sintaxe di-
ferente.
etc/pro�le, /etc/csh.login, /etc/csh.cshrc
Ficheiros executados no acesso ou em tempo de boot do sistema pelos ambientes de
trabalho Bourne-Again Shell ou C Shell4. Permitem ao administrador utilizar padr~oes de
vari�aveis para todos os utilizadores. Veja as p�aginas de manual espec���cas.
/etc/securetty
Identi�ca quais os terminais seguros, ou seja, aqueles nos quais �e permitido que o ad-
ministrador da m�aquina tenha acesso ao sistema. Normalmente s�o as consolas virtuais s~ao
apresentadas, sendo muito dif��cil obter os privil�egios de administrador do sistema atrav�es
da rede ou de uma liga�c~ao via modem.
/etc/shells
Apresenta os ambientes de trabalho (shells) autorizados. O comando chsh permite que
os utilizadores mudem o ambiente padr~ao durante o acesso ao sistema, por�em s�o para aque-
les listados neste �cheiro. O ftpd, que �e o servidor de processos que administra os servi�cos
4Analizados no ponto 4.1 na p�agina 63
3.3. O direct�orio /dev 55
de transferencia de �cheiros numa m�aquina, ir�a veri�car se o ambiente do utilizador est�a
listado em /etc/shells e n~ao aceitar�a acessos que n~ao se encontrem l�a presentes.
/etc/termcap
Ficheiro de con�gura�c~ao do terminal. Descreve as diversas sequencias de "escape"para
os diversos terminais. Os programas ao contr�ario de escreverem directamente uma sequencia
que s�o iria funcionar em determinado tipo de terminal, devem buscar a sequencia correcta
para fazer o que quer que seja em /etc/termcap, resultando que devem funcionar na maio-
ria dos terminais suportados. Veja as p�aginas de manual termcap, curs termcap e terminfo
para informa�c~oes mais detalhadas.
3.3 O direct�orio /dev
O direct�orio /dev cont�em os �cheiros especiais (drivers) de controle de todos os dispositivos.
Estes �cheiros utilizam uma denomina�c~ao especial descrita na lista Device. Os �chei-
ros de controlo s~ao criados durante a instala�c~ao, e posteriormente atrav�es do programa
/dev/MAKEDEV. O /dev/MAKEDEV.local �e um programa de batch escrito pelo admi-
nistrador do sistema e que cria s�o os �cheiros de controle de dispositivos locais que n~ao
fa�cam parte do padr~ao do MAKEDEV (como �cheiros de controle para dispositivos espe-
ciais).
3.4 O sistema de �cheiros /usr
O sistema de �cheiros /usr normalmente tem um tamanho razo�avel, uma vez que todos os
programas s~ao aqui instalados.
Todos os �cheiros em /usr normalmente vem com a distribui�c~ao do Linux, sendo que
programas instalados localmente est~ao normalmente em /usr/local. Isso torna o processo
de actualiza�c~ao do sistema poss��vel para uma nova vers~ao da distribui�c~ao ou mesmo para
uma distribui�c~ao completamente nova, sem que seja necess�ario instalar todos os programas
novamente.
Alguns dos sub direct�orios de /usr s~ao apresentados a seguir (outros menos importan-
tes, podem ser encontrados no FSSTND para maiores informa�c~oes).
56 Cap��tulo 3. Estrutura dos direct�orios do Linux
/usr/X11R6
Os �cheiros do sistema X-Window. Para simpli�car o desenvolvimento e a instala�c~ao do
X, os seus �cheiros n~ao foram integrados no resto do sistema. H�a uma �arvore de direct�orios
sob /usr/X11R6 similar ao /usr.
/usr/X386
Similar ao /usr/X11R6 , mas destinado �a vers~ao 5 do X11.
/usr/bin
Praticamente todos os comandos dos utilizadores. Outros podem ser encontrados em
/bin ou /usr/local/bin.
/usr/sbin
Comandos de administra�c~ao do sistema que n~ao necessitem estar no sistema de �cheiros
raiz, como por exemplo programas de servidores.
/usr/man, /usr/info, /usr/doc
Man pages, documentos GNU Info e diversos outros documentos, respectivamente.
/usr/include
Ficheiros header para a linguagem de programa�c~ao C. Este direct�orio deveria estar sob
/usr/lib, no entanto por tradi�c~ao tem sido suportado neste formato.
/usr/lib
Ficheiros est�aticos de dados para programas e subsistemas, incluindo alguns �cheiros
de con�gura�c~ao da totalidade do site. O nome lib vem de library (biblioteca), j�a que ori-
3.5. O sistema de �cheiros /var 57
ginalmente as bibliotecas de programa�c~ao eram armazenadas neste sub direct�orio.
/usr/local
O local para o software instalado localmente e outros �cheiros.
3.5 O sistema de �cheiros /var
O sistema de �cheiros /var cont�em os dados que s~ao alterados quando o sistema est�a em
execu�c~ao. �E espec���co de cada sistema, ou seja, n~ao �e partilhado atrav�es da rede com
outros equipamentos.
/var/catman
Uma cache para p�aginas de manual que s~ao formatadas sempre que solicitadas. Os
fontes para as p�aginas s~ao armazenados em /usr/man/man, sendo que algumas p�aginas
podem vir pr�e-formatadas, estando armazenadas em /usr/man/cat*. Outras p�aginas ne-
cessitam ser formatadas quando acedidas, sendo que a vers~ao �nal �ca armazenada em
/var/man fazendo com que outro utilizador caso necessite de uma vers~ao formatada, te-
nha esta pronta e dispon��vel. O direct�orio /var/catman �e frequentemente esvaziado, da
mesma forma que os �cheiros tempor�arios.
/var/lib
Ficheiros que mudam enquanto o sistema �e executado normalmente.
/var/local
Dados vari�aveis para os programas que estejam instalados em /usr/local, por exemplo
programas que foram instalados pelo administrador do sistema. Note que, mesmo quando
instalados localmente, estes programas podem usar ainda outros direct�orios /var, como
por exemplo /var/lock.
58 Cap��tulo 3. Estrutura dos direct�orios do Linux
/var/lock
Ficheiros de controlo. Muitos programas seguem uma conven�c~ao de criarem �cheiros
em /var/lock para indicar que eles est~ao a utilizar um dispositivo em particular ou um
determinado �cheiro. Outros programas percebem a existencia do �cheiro de controlo e
n~ao tentar~ao utilizar o mesmo dispositivo ou �cheiro enquanto o �cheiro existir.
/var/log
Ficheiros de hist�oricos dos v�arios programas, especialmente o de acesso (login) (var/log/wtmp,o qual regista todas as entradas e sa��das do sistema) e syslog (var/log/messages, o qual
cont�em as mensagens do kernel e os programas do sistema). Os �cheiros em /var/log po-
dem crescer inde�nidamente com frequencia e podem requerer limpezas peri�odicas. Pode
ser utilizado o logrotate (rota�c~ao de logs).
/var/run
Ficheiros que contem informa�c~oes sobre o sistema e que s~ao v�alidas at�e �a pr�oxima
inicializa�c~ao. Por exemplo, /var/run/utmp cont�em as informa�c~oes sobre os utilizadores
actualmente ligados.
/var/spool
Direct�orios de mensagens, not��cias, �las de impress~ao e outros trabalhos em �la. Cada
funcionalidade tem o seu pr�oprio sub direct�orio sob /var/spool. Por exemplo, as mensagens
de correio electr�onico est~ao armazenadas em /var/spool/mail.
/var/tmp
Ficheiros tempor�arios que sejam muito grandes ou que necessitem existir por um per��odo
maior que o de�nido para /tmp. Note-se que o administrador do sistema pode n~ao permitir
�cheiros muitos antigos tamb�em em /var/tmp.
3.6. O sistema de �cheiros /proc 59
3.6 O sistema de �cheiros /proc
O sistema de �cheiros /proc cont�em um conjunto de �cheiros virtual. Na verdade, ele n~ao
existe num disco r��gido, mas ao contr�ario �e criado em mem�oria pelo kernel sendo utilizado
para fornecer informa�c~oes sobre o sistema (originalmente sobre os processos, da�� a origem
do seu nome). Alguns dos �cheiros mais importantes e direct�orios s~ao detalhados abaixo.
Este sistema de �cheiros �e descrito com mais detalhe na p�agina man proc.
/proc/1
Um direct�orio com as informa�c~oes do processo n�umero 1 (init). Cada processo tem um
direct�orio em baixo de /proc, cujo nome equivale ao seu n�umero de identi�ca�c~ao.
/proc/cpuinfo
Informa�c~oes sobre o processador, tais como tipo, fabricante, modelo, e performance.
/proc/devices
Lista de programas de controle de dispositivos con�gurados no kernel que se encontram,
de momento, em execu�c~ao.
/proc/dma
Mostra quais canais DMA est~ao a ser utilizados no momento.
/proc/�lesystems
Sistemas de �cheiros con�gurados no kernel.
/proc/interrupts
Mostra quais as interrup�c~oes que est~ao em uso e quantas existem.
60 Cap��tulo 3. Estrutura dos direct�orios do Linux
/proc/ioports
Apresenta quais as portas de entrada e sa��da que est~ao em uso num determinado mo-
mento.
/proc/kcore
Imagem da mem�oria f��sica do sistema. Tem exactamente o mesmo tamanho da mem�oria
f��sica, mas n~ao ocupa a totalidade dessa �area. �E criada de forma natural durante o acesso
por um determinado programa.
/proc/kmsg
Mensagens de sa��da do kernel. S~ao direccionadas tamb�em para o syslog.
/proc/ksyms
Tabela de s��mbolos para o kernel.
/proc/loadavg
A carga m�edia do sistema. Cont�em tres indicadores da quantidade de trabalho que o
sistema est�a a executar no momento.
/proc/meminfo
Informa�c~oes sobre o uso de mem�oria. Tanto f��sica como da mem�oria virtual de troca
(swap).
/proc/modules
Descreve quais os m�odulos que est~ao carregados nesse momento.
3.6. O sistema de �cheiros /proc 61
/proc/net
Informa�c~oes sobre a situa�c~ao dos protocolos de rede.
/proc/self
Uma liga�c~ao simb�olica para o direct�orio de processos (/proc). Quando dois processos
acedem /proc podem utilizar diferentes liga�c~oes, o que �e conveniente para programas que
utilizem este direct�orio como o seu direct�orio de processos.
/proc/stat
Diversas estat��sticas sobre o sistema, como o n�umero de pagina�c~oes desde o seu in��cio,
I/O, processos executados, etc...
/proc/uptime
Tempo que o sistema est�a activo.
/proc/version
Vers~ao do kernel do sistema.
Cap��tulo 4
Conceitos b�asicos
Neste cap��tulo iremos abordar o modo texto do Linux, que �e composto basicamente da
shell e dos aplicativos que executam sobre ela, os principais comandos, como con�gurar o
X e a impressora e �nalmente como criar utilizadores.
4.1 A Shell
Mas a�nal o que �e uma shell? �E um interpretador de comandos que analisa o texto intro-
duzido na linha de comandos e executa esses comandos produzindo algum resultado.
Existem v�arios shells mas de entre todos podemos destacar 4 que s~ao sem d�uvida os mais
utilizados:
� Bourne Shell (sh)
Desenvolvido por Stephen Bourne, da Bell Labs (da AT&T, onde tamb�em
foi desenvolvido o Unix), o sh foi durante muitos anos a Shell por defeito
do sistema operativo Unix. �E tamb�em chamada de Standard Shell por ter
sido durante muito tempo a �unica.
� Korn Shell (ksh)
Desenvolvido por David Korn, tamb�em da Bell Labs, �e um superset do sh,
isto �e, possui todas as facilidades do sh e a elas agregou muitas outras. A
compatibilidade total com o sh alicia muitos utilizadores e programadores
de Shell a mudar para este ambiente.
64 Cap��tulo 4. Conceitos b�asicos
� Bourne Again Shell (bash)
Este �e a Shell mais moderna e cujo n�umero de adeptos mais cresce em todo
o mundo, seja por ser a Shell default do Linux, o seu sistema operativo
hospedeiro, seja pela sua grande diversidade de comandos, que incorporam
inclusiv�e v�arios comandos caracter��sticos da C Shell.
� C Shell (csh)
Desenvolvido por Bill Joy, da Berkley University, �e a Shell mais utilizada em
ambientes BSD e Xenix. A estrutura�c~ao de seus comandos �e muito similar
�a da linguagem C. O seu grande problema foi ignorar a compatibilidade
com o sh, seguindo por um caminho pr�oprio.
A shell pode ser encarada como um ponto a partir do qual podemos iniciar todos os
comandos do Linux, inclusiv�e o modo gr�a�co. Podemos efectuar as mesmas classes de
aplica�c~oes do modo gr�a�co como, por exemplo, os editores de texto1, e tamb�em modi�-
car as con�gura�c~oes do sistema2. A maior parte das diferen�cas existentes entre as shells
mais conhecidas, e referidas anteriormente, envolve facilidade de opera�c~ao e tipos de con-
�gura�c~ao.
Mas para usar uma shell precisamos primeiro que tudo entrar no modo texto do Linux.
Caso se esteja a utilizar o Linux em modo gr�a�co dever�a pressionar-se 'Ctrl'+'Alt'+'F1'.
Onde est�a escrito nome da m�aquina login: introduza o nome de utilizador e a seguir
o sistema ir�a solicitar a password respectiva com Password:. Introduza a password e
pressione Enter.
Deve aparecer no ecr~a qualquer coisa semelhante a:
[utilizador@nome_da_m�aquina direct�orio_actual]#
Este �e o seu prompt de comandos.
O modo texto no qual entramos �e composto por terminais. O que s~ao terminais? Um
terminal, ou consola, �e o conjunto formado pelo teclado e o monitor, que constitui o dis-
positivo padr~ao de entrada e sa��da de dados. No Linux temos sete terminais virtuais nos
quais podemos estar a trabalhar ao mesmo tempo. Esses terminais s~ao muito �uteis, pois
podemos estar a escrever um texto num terminal e a ler uma p�agina do manual no outro.
1como o emacs, vi, joe2com o linuxconf em modo texto
4.2. Comandos b�asicos do Linux 65
4.2 Comandos b�asicos do Linux
O Linux �e um sistema operativo case-sensitive, ou seja, netscape, NETSCAPE e nEtS-
cApE s~ao tres comandos distintos. Pela mesma raz~ao, o meu �cheiro, O Meu Ficheiro e
o MEU FiChEiRo s~ao tres �cheiros distintos. Os usernames e respectivas passwords s~ao
tamb�em case-sensitive. Isto adv�em do facto do sistema operativo Unix e a linguagem de
programa�c~ao C serem case-sensitive.
Os nomes dos �cheiros podem ter um comprimento m�aximo de 256 caracteres e podem
conter letras, n�umeros, pontos ('.'), underscores (' '), h��fens ('-'), al�em de outros caracteres
n~ao recomend�aveis.
Nomes de �cheiros come�cados pelo caracter '.' n~ao s~ao normalmente listados atrav�es dos
comandos ls ou dir. Pensem nestes �cheiros como se fossem �cheiros escondidos. Para os
visualizar, deve usar-se o comando ls -a (com op�c~ao 'all').
A barra '/' �e usada para a separa�c~ao entre direct�orios num caminho. �E equivalente, em
DOS, �a barra 'n'.
Normalmente, num �cheiro em Linux (por exemplo, �cheiros de con�gura�c~ao), uma li-
nha com o caracter '#' no ��nicio �e um coment�ario.
4.2.1 Comandos e atalhos essenciais
'Ctrl' + 'Alt' + 'F1'
Muda para o primeiro terminal de texto. Em Linux podemos ter v�arios terminais aber-
tos ao mesmo tempo, como foi referido anteriormente.
'Ctrl' + 'Alt' + 'Fn'
(n=1..6). Muda para o n-�esimo terminal.
'Ctrl' + 'Alt' + 'F7'
Muda para o primeiro terminal GUI (se houver algum a correr nesse momento).
66 Cap��tulo 4. Conceitos b�asicos
'Ctrl' + 'Alt' + 'Fm'
(m=7..12). Muda para o m-�esimo terminal GUI (se houver um terminal GUI a correr
na sess~ao m-1).
'Tab'
Autocompleta o comando (num terminal). Este �e um dos melhores atalhos em Linux.
Trabalha inclusivamente na prompt LILO.
'Seta para Cima' ou 'Seta para Baixo'
Lista um por um e permite edi�c~ao do historial de comandos executados. Carregue em
'ENTER' para executar o comando escolhido.
'Shift' + 'PgUp'
Visualiza as janelas anteriores do terminal. Trabalha inclusivamente na prompt de lo-
gin, para podermos visualizar as mensagens de bootup.
'Shift' + 'PgDown'
Visualiza as janelas seguintes do terminal.
'Ctrl' + 'Alt' + '+'
(em X-window). Muda para a pr�oxima resolu�c~ao de X-server (se tivermos con�gurado
o X-server para mais do que uma resolu�c~ao).
'Ctrl' + 'Alt' + '-'
(em X-window). Muda para a resolu�c~ao anterior do X-server.
4.2. Comandos b�asicos do Linux 67
'Ctrl' + 'Alt' + 'BkSpc'
(em X-window). Mata (kill) o servidor X-window actual. Usa-se quando o X-window
bloqueia e n~ao podemos sair normalmente.
'Ctrl' + 'Alt' + 'Del'
Desliga o sistema e faz reboot. Executa o comando shutdown normal.
'Ctrl' + 'c'
Mata (kill) o processo corrente.
'Ctrl' + 'd'
Sai da sess~ao actual.
'Ctrl' + 'd'
Envia End-of-File para o processo corrente.
'Ctrl' + 'l'
Limpa o ecr~a. Igual ao comando clear da shell.
'Ctrl' + 's'
P�ara a transferencia para o terminal.
'Ctrl' + 'q'
Retoma a transferencia para o terminal. Tentar este atalho quando o terminal deixar
de responder misteriosamente...
68 Cap��tulo 4. Conceitos b�asicos
'Ctrl' + 'z'
Suspende a execu�c~ao interactiva do processo corrente. O comando da shell fg retoma
a execu�c~ao do processo em modo interactivo (em foreground). O comando bg retoma a
execu�c~ao do processo em modo n~ao-interactivo (em background).
reset
Restaura um terminal estragado (com caracteres esquisitos) para as de�ni�c~oes de de-
feito. Usa-se, por exemplo, quando se executa o comando cat num �cheiro bin�ario. Pode-
mos n~ao ver o comando enquanto o escrevemos.
Bot~ao do Meio do Rato
Cola (paste) o texto seleccionado noutro s��tio qualquer. Esta �e a opera�c~ao copy-paste
normal em Linux (n~ao funciona no Netscape ou no WordPerfect, porque estes programas
usam o copy-paste t��pico do Ms-Windows. Perfeito quando usado com um rato Linux-
compat��vel de 3 bot~oes (Logitech ou algo no g�enero).
�
(til). Muda para a home directory. Por exemplo, cd /minha dir muda para o direct�orio
minha dir situada abaixo da nossa home directory. Escrever apenas cd �e o equivalente ao
comando cd .
.
(ponto). Directoria actual. Por exemplo, ./meu programa executa o comandomeu programa
situado no direct�orio corrente.
..
(dois pontos). Directoria-pai do direct�orio corrente.
4.2. Comandos b�asicos do Linux 69
4.2.2 Comandos comuns de Informa�c~ao do Sistema
pwd
Exibe o nome do direct�orio corrente.
hostname
Exibe o nome da m�aquina onde estamos a trabalhar (hostname). Usa-se o comando
netconf para mudar o nome da m�aquina.
whoami
Exibe o nosso username (nome de login).
id username
Exibe o user id (uid), o group id (gid), id efectivo (se for diferente do uid) e todos os
grupos suplementares relacionados com o utilizador especi�cado na vari�avel username.
date
Exibe ou modi�ca a data e hora do sistema. Por exemplo, para mudar a data e hora
para 2000-12-31 23:57, usa-se o comando date com esta forma: date 123123572000 Para
modi�car o rel�ogio de hardware (hardware clock) a partir do rel�ogio do sistema, usa-se o
comando setclock.
time
Determina o tempo que demora a completar um determinado processo, al�em de outra
informa�c~ao. N~ao confundir com o comando date. Por exemplo, podemos saber quanto
tempo demora a exibir o conte�udo de um direct�orio, usando o comando time da seguinte
forma: time ls
who
Exibe uma lista com os utilizadores que est~ao \logados" (logged in) �a m�aquina.
70 Cap��tulo 4. Conceitos b�asicos
rwho -a
Exibe uma lista com todos os utilizadores que est~ao ligados �a nossa rede. O servi�co
rwho deve estar a correr de modo a este comando poder funcionar. Se n~ao estiver, corre-se
o comando setup como root para ligar o servi�co rwho.
�nger username
Exibe informa�c~ao detalhada sobre um determinado utilizador, especi�cado na vari�avel
username. Por exemplo, �nger root d�a-nos toda a informa�c~ao sobre o utilizador root.
last
Exibe uma lista com os �ultimos utilizadores que se ligaram (logged in) ao sistema. Se
usarmos o comando last em conjunto com less, podemos navegar nessa lista: last | less.
Se, por outro lado, usarmos o comando desta forma: last -n, obtemos uma lista com os
�ultimos n logins ao sistema.
uptime
Tempo que passou desde o �ultimo reboot.
ps
(= print status). Lista os processos que est~ao a correr neste momento pelo utilizador
corrente.
ps aux j more ou ps aux j less
Lista todos os processos que est~ao a correr na m�aquina neste momento, inclusivamente
aqueles que n~ao tem controlo no terminal, juntamente com a informa�c~ao sobre o utilizador
que iniciou cada um deles.
4.2. Comandos b�asicos do Linux 71
ps aux j grep exemplo
Lista todos os processos chamados exemplo. O comando grep �ltra o resultado do co-
mando ps aux (atrav�es da pipe '|'), aparecendo s�o as linhas que contem o texto exemplo.
top
Exibe uma lista com os processos que est~ao a correr na m�aquina neste momento, orde-
nados decrescentemente por tempo de CPU gasto.
uname -a
Informa�c~ao sobre o servidor.
free
Informa�c~ao de mem�oria (em kilobytes).
df -h
(= disk free). Exibe informa�c~ao sobre os discos de todos os sistemas de �cheiros (�-
lesystems), numa linguagem entendida pelos humanos...
du / -bh j more
(= disk usage). Exibe uma lista detalhada do uso do disco para cada subdirectoria,
come�cando pelo direct�orio /, em linguagem leg��vel.
cat /proc/cpuinfo
Informa�c~ao sobre o CPU. Note-se que os �cheiros no direct�orio /proc n~ao o s~ao na
realidade. Tratam-se somente de ganchos (hooks) para visualizar informa�c~ao dispon��vel no
72 Cap��tulo 4. Conceitos b�asicos
kernel.
cat /proc/interrupts
Exibe uma lista com os interrupts em uso.
cat /proc/version
Vers~ao do Linux e outra informa�c~ao.
cat /proc/�lesystems
Exibe uma lista com os sistemas de �cheiros (�lesystems) em uso neste momento.
cat /etc/printcap
Exibe o setup das impressoras ligadas ao sistema.
lsmod
(como root). Exibe uma lista com os m�odulos de kernel carregados neste momento.
set j more
Exibe o ambiente corrente do utilizador.
echo $PATH
Exibe o conte�udo da vari�avel de ambiente PATH. Este comando tamb�em pode ser usado
para visualizar outras vari�aveis de ambiente. Use o set para ver todo o ambiente.
dmesg
Exibe as mensagens de boot (boot messages). Na realidade, exibe o conte�udo do �cheiro
/var/log/dmesg.
4.2. Comandos b�asicos do Linux 73
4.2.3 Opera�c~oes b�asicas
comando {help j more ou comando {help j less
Exibe uma ajuda simples ao comando (aplica-se �a maior parte dos comandos Linux). {
help �e semelhante ao switch /h do DOS. As pipes more e less usam-se quando a informa�c~ao
ocupa mais do que um ecr~a, sendo que a op�c~ao more permite ver p�agina a p�agina, sem no
entanto podermos voltar atr�as, e a op�c~ao less, permite-nos navegar linha a linha, para a
frente e para tr�as.
ls
Exibe o conte�udo do direct�orio corrente. Em Linux, o comando dir �e um alias do co-
mando ls. Muitos utilizadores utilizam o comando ls como um alias do comando ls {color.
ls -al j more
Exibe o conte�udo do direct�orio corrente, todos os �cheiros (inclu��ndo aqueles que
come�cam por .), e num formato longo.
cd directoria
(= change directory). Muda para uma determinado direct�orio. Usar s�o o comando cd
signi�ca mudarmos directamente para a nossa home directory. O comando cd - leva-nos
para o direct�orio anterior �a corrente e �e um modo conveniente de navega�c~ao entre duas
directorias.
cp fonte destino
Copia �cheiros entre a fonte e o destino.
mcopy fonte destino
Copia um �cheiro de / para um sistema de �cheiros DOS (n~ao �e necess�ario usar
pr�eviamente o comando mount). Por exemplo, mcopy a:.bat /lixo. Usar o comando
man mtools para comandos relacionados, como por exemplo: mdir, mcd, mren, mmove,
74 Cap��tulo 4. Conceitos b�asicos
mdel, mmd, mrd, mformat,....
mv fonte destino
Move ou altera o nome de �cheiros. O mesmo comando �e usado para mover ou alterar
nomes de directorias ou �cheiros.
ln fonte destino
Cria um hard link chamado destino que aponta para o �cheiro chamado fonte. O link
aparenta ser uma c�opia do �cheiro original, mas na realidade, apenas uma c�opia do �cheiro
�e mantida, sendo que existem duas (ou mais) entradas para o �cheiro no direct�orio. Qual-
quer altera�c~ao ao �cheiro fonte �e imediatamente vis��vel no destino. Quando uma entrada
no direct�orio �e removida, as outras mantem-se. Limita�c~oes dos hard links: os �cheiros
tem de estar obrigatoriamente no mesmo �lesystem. �E imposs��vel criar hard links para
direct�orios ou �cheiros especiais.
ln -s fonte destino
Cria um link simb�olico (symbolic link) chamado destino a apontar para o �cheiro fonte.O link simb�olico apenas especi�ca o caminho (path) para o �cheiro fonte. Ao contr�ario dos
hard links, a fonte e o destino n~ao precisam de pertencer ao mesmo �lesystem. Limita�c~oes
dos symbolic links: Se o �cheiro original for removido, o link parte-se (broken link). Os
symbolic links podem tamb�em criar referencias circulares (como as de bases de dados e
folhas de c�alculo).
rm �cheiro
Remove (apaga) o �cheiro especi�cado na vari�avel �cheiro.
mkdir homedogel
Cria um direct�orio chamado homedogel.
rmdir directoria
Remove o direct�orio especi�cada na vari�avel directoria.
4.2. Comandos b�asicos do Linux 75
rm -r �cheiros
(recursive remove). Remove �cheiros, directorias e sub-directorias. Semelhante ao co-
mando DOS deltree. Cuidado ao usar este comando como root: podemos apagar todo o
nosso sistema, se usarmos este comando no direct�orio /, e n~ao existe (ainda) um comando
undelete em Linux.
cat �cheiro j more ou cat �cheiro j less
Exibe o conte�udo de um �cheiro de texto chamado �cheiro. Para �cheiros demasiada-
mente longos, �e conveniente usar os comandos head e tail , que exibem o princ��pio e o �m
do �cheiro em quest~ao. Se, por engano, tentarmos visualizar o conte�udo de um �cheiro
bin�ario, e s�o aparecerem caracteres esquisitos, usa-se o comando reset para voltar ao nor-
mal.
less �cheiro
Para navegar no conte�udo de um �cheiro de texto. Para terminar a nossa navega�c~ao,
carrega-se na tecla q.
pico �cheiro
Edita o �cheiro denominado �cheiro.
pico -w �cheiro
Edita um �cheiro chamado �cheiro, desactivando a op�c~ao long line wrap. �Util para
editar �cheiros de con�gura�c~ao, por exemplo, o �cheiro /etc/fstab.
lynx �cheiro.html
Exibe um �cheiro html ou navega na internet a partir do modo texto.
76 Cap��tulo 4. Conceitos b�asicos
tar -zxvf �cheiro.tar.gz
Descompacta (untar) um �cheiro (*.tar.gz ou *.tgz)3, habitualmente retirado da inter-
net.
tar -xvf �cheiro.tar
Descompacta um �cheiro (*.tar)4
gunzip �cheiro.gz
Descompacta um �cheiro zipado (*.gz ou *.z). Usa-se o gzip (ou o zip ou compress)
para compactar os �cheiros.
bunzip2 �cheiro.bz2
Descompacta um �cheiro (*.bz2) compactado com o utilit�ario bzip2. Normalmente �e
um m�etodo de compress~ao mais e�ciente do que o obtido com o gzip.
unzip �cheiro.zip
Descompacta um �cheiro (*.zip) compactado com um utilit�ario compat��vel com o pkzip
do DOS.
�nd / -name "maquinas"
Procura o �cheiro chamado maquinas a partir do direct�orio /. A vari�avel �lename pode
conter wildcards (*, ?).
locate �cheiro
Procura o �cheiro que cont�em o texto �cheiro. Mais f�acil de usar e mais r�apido que o
3*.tar.gz ou *.tgz - tarred and compressed tarball4*.tar - tarred but uncompressed tarball
4.2. Comandos b�asicos do Linux 77
comando �nd.
pine
Um bom cliente de mail em modo texto. Outro cliente de mail excelente �e o elm. Per-
mite ler as mensagens enviadas, por exemplo, por um processo cron.
talk username1
Fala com outro utilizador ligado neste momento �a nossa m�aquina (ou noutra m�aquina
atrav�es do comando talk username1@outramaquina). Para o outro utilizador aceitar o con-
vite, necessita digitar o comando talk username2. Para evitar que tentem falar connosco,
usa-se o comando mesg n para recusar os pedidos. Pode ser �util o uso dos comandos whoe rwho para ver quem est�a ligado ao sistema.
mc
Inicia o gestor de �cheiros Midnight Commander.
telnet servidor
Conecta-se a outra m�aquina usando o protocolo TELNET. Use o nome da m�aquina
remota ou o seu endere�co IP. O Telnet vai conectar-se �a outra m�aquina, pedindo-nos um
login e uma password, de modo que temos de ter uma conta nessa m�aquina. Este comando
n~ao �e muito seguro, uma vez que todas as transferencias de dados s~ao feitas em modo
texto, inclu��ndo a nossa password!
rlogin servidor
(= remote login). Conecta-se a outra m�aquina. O login name da sess~ao corrente �e usado
para entrar na m�aquina remota. Se se pretender entrar num outro username, adicona-se a
op�c~ao -l username.
rsh servidor
(= remote shell). Uma outra maneira de nos ligarmos a uma m�aquina remota. Tal
como o comando rlogin, �e usado o login name da sess~ao corrente, a menos que se use a
78 Cap��tulo 4. Conceitos b�asicos
op�c~ao -l.
ftp servidor
Acede a outra m�aquina via protocolo FTP. O FTP �e bom para copiar �cheiros para/de
um servidor. Deve-se tentar o utilizador anonymous (quando n~ao temos conta aberta no
sistema remoto). Os comandos principais s~ao: ls (exibir o conte�udo do direct�orio corrente
do sistema remoto), ascii, binary (para mudar o modo de transferencia de �cheiros para
texto ou bin�ario), get (copia um �cheiro do sistema remoto para o sistema local), mget
(copia v�arios �cheiros ao mesmo tempo, do sistema remoto para o sistema local), put (co-
pia um �cheiro do sistema local para o sistema remoto), mput (copia v�arios �cheiros, do
sistema local para o sistema remoto), bye (desconecta-se do sistema remoto).
minicom
Programa minicom (parecido com o Procomm for Linux).
./programa
Corre um execut�avel no direct�orio corrente, se esta n~ao estiver na vari�avel de ambiente
PATH.
xinit
Inicia um servidor barebone X-windows (sem o gestor de janelas).
startx
Inicia um servidor X-window, juntamente com o gestor de janelas por defeito.
startx �� :1
Inicia outra sess~ao de X-windows no ecr~a 1 (por defeito, inicia no ecr~a 0). Podemos
ter v�arios terminais GUI a correr concorrentemente. Salta-se entre eles com as teclas
4.2. Comandos b�asicos do Linux 79
'Ctrl'+Alt'+'F7', 'Ctrl'+'Alt'+'F8', etc.
xterm
(no terminal X). Corre um terminal X-window simples. Use o comando exit para sair.
xboing
(no terminal X). Jogo para correr no ambiente X. Provavelmente, muitos jogos e pro-
gramas parecidos est~ao instalados na nossa m�aquina.
gimp
(no terminal X). Editor de imagens poderoso. Demora algum tempo a aprender, mas
�e excelente para artistas. Use o bot~ao do rato do lado direito para obter menus.
netscape
(no terminal X). Corre o browser Netscape (necessita de ser instalado antes).
netscape -display host:0.0
(no terminal X). Corre uma sess~ao de Netscape na m�aquina remota host na sess~ao 0
ecr~a 0. A nossa m�aquina deve ter permiss~ao para executar o netscape na m�aquina re-
mota (podemos obter permiss~ao correndo o comando xhost maquina local no terminal X
da m�aquina remota).
shutdown -h now
(como root). Desliga o sistema e n~ao reinicializa.
shutdown -r now
(como root). Desliga e reinicializa o sistema. Pode, em alternativa, usar a combina�c~ao
de teclas 'Ctrl'+'Alt'+'Del' para executar o comando na m�aquina.
80 Cap��tulo 4. Conceitos b�asicos
halt ou reboot
(como root). Usado para desligar o sistema e n~ao reinicializar (halt) ou para fazer
um reboot ao sistema (reboot). Mais f�acil de usar (e decorar) do que os dois comandos
anteriores.
man topico
Exibe o conte�udo das p�aginas do manual do sistema sobre o assunto topico. Tente
usar o comando man man primeiro. Carregue na tecla q para cancelar a visualiza�c~ao.
O comando info topic funciona aproximadamente como o comando man e pode conter
informa�c~ao mais actualizada. As p�aginas do manual podem ser de di�cil leitura. Use o
comando topic {help para p�aginas de ajuda mais curtas e f�aceis de ler. Se necessitar de
mais ajuda, consulte o direct�orio /usr/doc.
apropos topico
Exibe uma lista de comandos que tenham alguma rela�c~ao com o topico.
4.2.4 Controlo de processos
ps
(= print status). Exibe uma lista com os processos activos no sistema com os respecti-
vos identi�cadores - PID (Process ID). Use ps -aux para exibir uma lista semelhante mas
com mais informa�c~ao - todos os processos e respectivos utilizadores. Use top para manter
a listagem vis��vel e online.
fg PID
Passa um processo que est�a a correr em background para foreground.
bg PID
Processo inverso ao anterior: passa um processo para background.
4.2. Comandos b�asicos do Linux 81
kill PID
For�ca o �nal do processo. Para saber qual o PID do processo que queremos matar,
usa-se o comando ps.
killall nome programa
Mata programas pelo nome.
xkill
Usado num terminal x. Mata um processo GUI com o rato - aponte o cursor do rato �a
janela com o processo que queremos matar e clique.
lpc
(como root). Veri�ca e controla a(s) impressora(s).
lpq
Exibe o conte�udo da �la de impress~ao (queue). Em KDE (X-Window), podemos usar
o Print Queue GUI dispon��vel nos utilit�arios.
lprm job
Remove um trabalho de impress~ao da queue.
nice nome programa
Corre o nome programa ajustando a sua prioridade. Como a prioridade n~ao �e especi�-
cada neste exemplo, ela �e ajustada com o valor 10 (o processo vai correr mais lentamente)
a partir do valor de defeito (usualmente o 0 - zero). Quanto mais baixo for o n�umero,
mais alta �e a prioridade. Este n�umero pode variar entre -20 e 19, sendo que s�o o utilizador
root pode de�nir prioridades com valores negativos. Use o comando top para exibir as
82 Cap��tulo 4. Conceitos b�asicos
prioridades dos processos activos.
renice -1 PID
(como root). Muda a prioridade de um processo activo para -1. Utilizadores normais
s�o podem mudar valores de prioridade para os seus processos, e s�o para valores superiores
ao actual (tornando-os mais lentos).
4.2.5 Comandos b�asicos de administra�c~ao
printtool
(como root num terminal X). Ferramenta de con�gura�c~ao de impressoras. As con�-
gura�c~oes �cam no �cheiro /etc/printcap.
setup
(como root). Con�gura o rato, placa de som, teclado, X-windows e servi�cos de sistema.
alias ls="ls {color"
Cria um alias para o comando ls. Ponha o alias no �cheiro /etc/bashrc se quiser que
esteja sempre dispon��vel para todos os utilizadores. O comando alias d�a-nos uma lista com
todos os aliases do nosso sistema.
adduser utilizador
(como root). Cria uma nova conta. Por exemplo, adduser barbara. N~ao esquecer de
de�nir uma password para o utilizador como passo seguinte. O home-directory do utiliza-
dor passa a ser /home/utilizador. Ir�a estar associado a cada utilizador um identi�cador -
UID (User ID).
useradd utilizador
(como root). Igual ao comando adduser.
4.2. Comandos b�asicos do Linux 83
userdel utilizador
(como root). Remove uma conta do sistema, n~ao apagando no entanto, o home-directory
e o mail n~ao entregue.
groupadd grupo
Cria um novo grupo de utilizadores do sistema. A este grupo, tal como a qualquer
utilizador, ir�a estar associado um identi�cador - GID (Group ID).
passwd
Muda a password na conta actual. O utilizador root pode alterar a password de qual-
quer utilizador, usando o comando passwd utilizador.
chmod perm �cheiro
(= change mode). Muda as permiss~oes de acesso a um �cheiro e/ou directoria do uti-
lizador actual (o root pode mudar permiss~oes de qualquer �cheiro no sistema). H�a tres
tipos de acesso: leitura (read - r), escrita (write - w) ou execu�c~ao (execute - x ) para tres
classes de utilizadores: dono (u), membros do grupo do dono (g), outros utilizadores no
sistema (o). Podemos ver quais as permiss~oes de determinado �cheiro usando o comando
ls -l �cheiro.
chown novo dono �cheiro ou chgrp novo grupo �cheiro
Muda o dono (chown = change owner) ou grupo (chgrp = change group) a que pertence
determinado �cheiro. Deve-se usar estes dois comandos sempre que copiamos um �cheiro
para ser usado por outra pessoa.
su
(= substitute user id). Assume a identidade do superuser root (pedindo-nos a respectivapassword). Escreva exit para voltar ao utilizador anterior. N~ao trabalhe habitualmente
como root numa m�aquina. Este utilizador serve para executar tarefas de administra�c~ao e
84 Cap��tulo 4. Conceitos b�asicos
o comando su serve para facilitar o acesso a este utilizador.
rpm -ivh �cheiro.rpm
(= Red Hat Package Manager, como root). Instala o conte�udo de um pacote rpm da
Red Hat e mostra informa�c~ao sobre o que foi feito.
rpm -qpi �cheiro.rpm
Le a informa�c~ao sobre o conte�udo de um pacote rpm que ainda n~ao tenha sido instalado
no sistema.
rpm -Uvh �cheiro.rpm
Faz o upgrade de um determinado pacote.
glint gnorpm kpackage
(num terminal X, como root). Frontend GUI para instalar pacotes rpm em ambiente
X-window.
kernelcfg
(como root num terminal X). Programa GUI para acrescentar/remover m�odulos de ker-
nel. Pode-se fazer o mesmo da linha de comandos usando o comando insmod.
lsmod
Exibe uma lista dos m�odulos de kernel correntemente instalados no sistema.
modprobe -l �more
Exibe uma lista com todos os m�odulos dispon��veis para o kernel.
4.2. Comandos b�asicos do Linux 85
insmod parport ou insmod ppa
(como root). Insere m�odulos no kernel (um m�odulo �e (mais ou menos) o equivalente aos
device drivers de DOS). Este exemplo demonstra como inserir os m�odulos para suportar
uma zip drive externa via porta paralela.
rmmod nome m�odulo
(como root). Remove o m�odulo nome m�odulo do kernel.
setserial /dev/cua0 port 0x03f8 irq 4
(como root). De�ne uma porta s�erie com valores n~ao standard. O exemplo mostra
o valor standard para a primeiro porta s�erie (cua0 ou ttyS0). Os valores standard para
a segunda porta s�erie (cua1 ou ttyS1) s~ao: port 0x02f8 irq 3. A terceira porta s�erie:
port 0x03e8 irq 4. A quarta porta s�erie: 0x02e8 irq 3. Acrescente os valores no �cheiro
/etc/rc.d/rc.local se quiser de�ni-los no boot. Veja man setserial para mais informa�c~oes.
fdisk
(como root). Utilit�ario para criar parti�c~oes de disco duro do Linux (o DOS tem um
utilit�ario com o mesmo nome para a mesma fun�c~ao, embora este s�o deixe criar parti�c~oes
para DOS).
depmod -a
(como root). Constr�oi a tabela de dependencias dos m�odulos de kernel. Pode ser �util,
por exemplo, depois de instalar um novo kernel. Use modprobe ou insmod para carregar
os m�odulos.
ldcon�g
(como root). Re-cria os bindings e a cache para o carregador (loader) de bibliotecas
dinamicas (dynamic libraries - ld). �Util, por exemplo, depois de instalar novas DLL5. Este
5DLL - dynamic linked libraries
86 Cap��tulo 4. Conceitos b�asicos
comando �e executado no boot do sistema.
touch �cheiro
Cria um �cheiro vazio se n~ao existir.
Fdformat /dev/fd0H1440 ou mkfs -c -t ext2 /dev/fd0H1440
(= oppy disk format, como root - dois comandos). Executa uma formata�c~ao em baixo
n��vel de uma disquete no primeiro drive de disquetes do sistema (/dev/fd0 ) de alta densi-dade (1440 KB). Depois cria um sistema de �cheiros Linux (-t ext2 ), veri�cando/marcando
os blocos defeituosos (-c). Criar o sistema de �cheiros �e o equivalente a uma formata�c~ao
de alto n��vel.
badblocks /dev/fd01440 1440
(como root). Veri�ca se uma disquete de alta densidade tem blocos defeituosos e exibe
os resultados no ecr~a. O parametro 1440 diz ao sistema para veri�car 1440 blocos na dis-
quete. Este comando n~ao modi�ca a disquete.
fsck -t ext2 /dev/hda2
(= �le system check, como root). Veri�ca e repara um sistema de �cheiros. O exem-
plo usa a parti�c~ao hda2 e o tipo ext2 de sistema de �cheiros. Importante: n~ao se deveveri�car/reparar um sistema de �cheiros que esteja montado. Deve-se sempre desmontar
previamente o sistema de �cheiros a ser veri�cado antes de se iniciar esta opera�c~ao.
dd if = /dev/fd0H1440 of = oppy image ou dd if = oppy image of = /dev/fd0H1440
(dois comandos). Cria uma imagem da disquete para um �cheiro chamado oppy image
no direct�orio corrente. Depois copia essa imagem para outra disquete. Tem a mesma fun�c~ao
do comandos diskcopy do DOS.
4.2. Comandos b�asicos do Linux 87
4.2.6 Detalhes sobre montagem (mounting)
mount -t auto /dev/fd0 /mnt/ oppy
(como root). Monta o drive de disquetes. o direct�orio /mnt/ oppy tem de existir, estar
vazia e n~ao ser o direct�orio corrente.
mount -t auto /dev/cdrom /mnt/cdrom
(como root). Monta o leitor de CDs. Pode ser necess�ario criar/alterar o �cheiro
/dev/cdrom dependendo da localiza�c~ao do leitor. o direct�orio /mnt/cdrom tem de existir,
estar vazia e n~ao ser o direct�orio corrente.
mount /mnt/ oppy
Monta um drive de disquetes como um utilizador normal. O �cheiro /etc/fstab tem
de estar preparado para aceitar este comando. o direct�orio /mnt/ oppy n~ao pode ser o
direct�orio corrente.
mount /mnt/cdrom
Monta um leitor de CDs como um utilizador normal. O �cheiro /etc/fstab tem de estar
preparado para aceitar este comando. o direct�orio /mnt/cdrom n~ao pode ser o direct�orio
corrente.
umount /mnt/ oppy
Desmonta (unmount) o drive de disquetes. o direct�orio /mnt/ oppy n~ao pode ser o
direct�orio corrente.
4.2.7 Ferramentas de gest~ao de rede
netconf
(como root). Um utilit�ario baseado em menus para a gest~ao (setup) da nossa rede.
Usado na distribui�c~ao Red Hat.
88 Cap��tulo 4. Conceitos b�asicos
linuxconf
(como root). Utilit�ario de con�gura�c~ao do nosso sistema linux. Usado na distribui�c~ao
Red Hat.
setup ou netcon�g
(como root). Ferramentas com a mesma fun�c~ao das duas mencionadas acima, mas estas
s~ao usadas na distribui�c~ao Slackware de linux.
ping m�aquina
Veri�ca a liga�c~ao a outra m�aquina, podendo a vari�avel m�aquina ser o nome da m�aquina
ou o endere�co IP. Para terminar, use o 'Ctrl'+'c'.
route -n
Exibe a tabela de routeamento (routing table).
ipfwadm -F -p m
Con�gura a pol��tica de reencaminhamentos de IPs da �rewall para passar a fazer mas-
querading. N~ao �e muito seguro mas �e simples. A partir da vers~ao 2.2 do linux, deve-se
usar o ipchains, sendo necess�ario ter o kernel con�gurado para suportar IP �rewalls e que
o routing de IP esteja activado.
ifcon�g
(como root). Exibe informa�c~ao sobre os interfaces de rede correntemente activos (ether-
net, ppp, etc). A primeira interface ethernet deve ser a eth0, a segunda a eth1, etc. A
primeira interface ppp (modems) �e a ppp0, a segunda a ppp1, etc. A interface lo �e a
loopback only com o endere�co 127.0.0.1 que deve estar sempre activa. Usa a op�c~ao ifcon�g
4.3. Instalar o X 89
{help para mais informa�c~oes sobre como con�gurar as interfaces.
ifup interface
Acciona uma interface de rede. Exemplo: ifup eth0 ou ifup ppp0. Utilizadores normais
s�o podem accionar ou desactivar uma interface de rede se tiverem permiss~oes para isso e
s�o as interfaces ppp (use o comando netconf ).
ifdown interface
Desactiva uma interface de rede.
netstat � more ou netstat � less
Exibe informa�c~ao sobre o estado da nossa rede.
4.3 Instalar o X
Antes de come�car a con�gurar o X �e necess�ario recolher todas as informa�c~oes sobre a placa
gr�a�ca, do monitor e do rato. Depois de termos estas informa�c~oes vamos ao direct�orio onde
est�a instalado o ambiente X Window. Normalmente, �ca em /usr/x11r6/bin. Executa-se
o comando
xf86config
que nos conduz a uma sequencia de perguntas:
1. Mouse. Enter a protocol number.
Normalmente os ratos podem ser de dois tipos ou s�erie (op�c~oes 1 ou 2) ou PS/2
(op�c~ao 4).
2. Do you want to enable ChordMiddle?
Caso o rato tenha 3 bot~oes podemos de�nir o comportamento do bot~ao do meio.
90 Cap��tulo 4. Conceitos b�asicos
3. Do you want to enable Emulate3Buttons?
Caso o rato s�o tenha 2 bot~oes e pretendemos emular o terceiro pressionando os dois
ao mesmo tempo respondemos yes.
4. Mouse device:
O rato j�a tem normalmente um link default para /dev/mouse. Por defeito basta
premir enter, a n~ao ser que seja um rato PS/2, pois neste caso �e preciso mudar para
/dev/psaux
5. Do you want to enable these bindings for the Alt keys?
Normalmente responde-se no.
6. hsync in kHz; monitor type with characteristic modes
1 - 31.5; Standard VGA, 640x480 @ 60 Hz
2 - 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 - 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz int. (no 800x600)
4 - 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz int., 800x600
5 - 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 - 31.5 - 48.5; Non-Int. SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 - 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 - 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 - 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 - 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 - Enter your own horizontal sync range
Procure no seu manual do monitor a frequencia que se melhor adapta ao seu monitor
ou introduza 11 para de�nir a frequencia vertical e horizontal.
1 - 50-70
2 - 50-90
3 - 50-100
4 - 40-150
5 - Enter your own vertical sync range
Identico para a vertical.
4.3. Instalar o X 91
7. Enter an identifier for your monitor definition:
Enter the vendor name of your monitor:
Enter the model name of your monitor:
Coloque a identi�ca�c~ao que mais lhe convier.
8. Do you want to look at the card database?
Introduza Yes, e procure a sua placa gr�a�ca no menu.
9. 1 - The XF86 Mono server. This a monochrome server that should work
VGA-compatible card, in 640x480 (more on some SVGA chipsets).
2 - The XF86 VGA16 server. This is a 16-color VGA server that should work
any VGA-compatible card.
3 - The XF86 SVGA server. This is a 256 color SVGA server that supports
a number of SVGA chipsets. It is accelerated on some Cirrus and WD chipsets;
it supports 16/32-bit color on certain Cirrus configuratio.
4 - The accelerated servers. These include XF86 S3, XF86 Mach32, XF86 Ma,
XF86 8514, XF86 P9000, XF86 AGX, XF86 W32 and XF86 Mach64.Which one of these
screen types do you intend to run by default (1-4)?
Pode optar por uma destas op�c~oes pr�e-de�nidas, ou se quiser �car com toda a sua
con�gura�c~ao feita anteriormente introduza 5
10. Do you want me to set the symbolic link?
Introduza yes para de�nir os links simb�olicos ao �cheiro de con�gura�c~ao XF tipo de acelerador
para o seu startx.
11. How much video memory do you have on your video card:
1 - 256K
2 - 512K
3 - 1024K
4 - 2048K
5 - 4096K
6 - Other
Basta dizer quanta mem�oria tem a sua placa gr�a�ca.
92 Cap��tulo 4. Conceitos b�asicos
12. Enter an identifier for your video card definition:
You can simply press enter here if you have a generic card, or want to
describe your card with one string.
Enter the vendor name of your video card:
Enter the model (board) name of your video card:
Coloque a identi�ca�c~ao que mais lhe convier.
13. 1 - Chrontel 8391 (uncertain at the time of writing)
2 - ICD2061A and compatibles (ICS9161A, DCS2824)
3 - ICS2595
4 - ICS5342 (similar to SDAC, but not completely compatible)
5 - S3 GenDAC (86C708) and ICS5300 (autodetected)
6 - S3 SDAC (86C716)
7 - STG 1703 (autodetected)
8 - Sierra SC11412
9 - TI 3025 (autodetected)
10 - TI 3026 (autodetected)
11 - IBM RGB 514 (autodetected)
12 - IBM RGB 524 (autodetected)
13 - IBM RGB 525 (autodetected)
14 - IBM RGB 528 (autodetected)
Just press enter if you don't want a Clockchip
Carregue em enter
E pronto, a con�gura�c~ao do X Window est�a conclu��da. Agora para come�car a utilizar o
ambiente x basta executar o comando
startx
4.4 Criar utilizadores
Para come�car a utilizar o sistema �e necess�ario antes de mais criar uma conta de utilizador
que n~ao a do root. Cada utilizador dever�a ter a sua conta por uma quest~ao de persona-
liza�c~oes e privacidade de cada um.
E porque n~ao utilizar a conta do root? Porque esta conta �e somente para admnistra�c~ao
do sistema e por isso mesmo tem todos os tipos de privil�egios e pode aceder a todos os
4.4. Criar utilizadores 93
�cheiros do sistema. Se formos iniciantes no Linux n~ao �e aconselh�avel utilizar a conta do
root pois poder-se-�a muito facilmente escrever incorrectamente um comando e apagar sem
querer �cheiros, dani�car o sistema de �cheiros, etc. Apenas se deve utilizar a conta do
root para con�gura�c~oes, adicionar hardware, instalar software, etc.
Para um uso normal, deve-se criar uma conta do utilizador padr~ao. Os sistemas Unix
tem uma seguranca pr�e-de�nida que impedem que os utilizadores apaguem os �cheiros
dos outros utilizadores, dani�cando recursos importantes como os �cheiros de con�gura�c~ao
do sistema e assim por diante. Isto acontece principalmente com os utilizadores sem ex-
periencia em administra�c~ao do sistema Unix.
Muitas distribui�c~oes Linux fornecem ferramentas para criar novas contas. Estes programas
s~ao chamados geralmente de useradd ou adduser. Como root, quando se executa um
destes comandos dever�a ver-se o resumo do uso do comando e criar uma nova conta dever�a
ser bastante simples.
Se tudo mais falhar, pode-se criar uma conta manualmente. Geralmente, tudo o que �e
necess�ario para criar uma conta �e:
1. Editar o �cheiro /etc/passwd para acrescentar o novo utilizador.
2. Editar, opcionalmente, o �cheiro /etc/shadow para especi�car os atributos da pas-
sword correspondente para o novo utilizador.
3. Criar o direct�orio pessoal do utilizador.
4. Copiar os �cheiros de con�gura�c~ao da estrutura (como o .baschrc) para o direct�orio
pessoal do novo utilizador. Eles podem ser encontrados, algumas vezes, no diretorio
/etc/skel.
Lembre-se de que para de�nir ou alterar a senha na conta do utilizador, usa-se o comando
passwd. Por exemplo: para alterar a password de um utilizador com o nome duck,
executa-se o seguinte comando:
# passwd duck
Isso ir�a de�nir ou alterar a senha duck. Se executar o comando passwd como root,
n~ao ser�a pedida a password original. Assim, se perdemos ou nos esquecemos da antiga
password, poderemos ligarmos como root, para rede�ni-la.
94 Cap��tulo 4. Conceitos b�asicos
4.5 Con�gurar uma impressora
Descrevemos de uma forma simples de con�gurar uma impressora em geral sem ser ne-
cess�ario usar utilit�arios de con�gura�c~ao como o LinuxConf, printtool ou o Yast. As im-
pressoras que precisam de drivers espec���cos precisam de detalhes adicionais n~ao descritos
aqui. Nota: se a distribui�c~ao que instalou disp~oe de utilit�arios de con�gura�c~ao, n~ao �e pre-
ciso passar por toda esta complexidade.
Para con�gurar a impressora basta seguir os passos seguintes:
1. ls /dev/lp* - Nessa listagem devem aparecer no minimo, normalmente, tres devices
de impressora ( /dev/lp0; /dev/lp1; /dev/lp2 ).
2. Fa�ca o reboot da m�aquina para veri�car se a distribui�c~ao instalada reconhece a porta
de impress~ao. Procure na inicializa�c~ao, algo do tipo lp* at 0x378 (N~ao �e realmente
necess�ario reinicializar a m�aquina, pode-se obter o mesmo resultado utilizando apenas
o comando
dmesg
3. Para criar uma impressora com o nome de impressora. Abra com qualquer editor de
texto o �cheiro /etc/printcap
4. Escreva o seguinte:
impressora:\
:sd=/var/spool/lpd/impressora:\
:mx#0:\
:lp=/dev/lp*:
5. Depois desta opera�c~ao basta gravar, sair do editor de texto e criar o direct�orio
/var/spool/lpd/impressora com o comando mkdir /var/spool/lpd/impressora
6. Muda-se o grupo e a permiss~ao do direct�orio criado, atrav�es dos comandos
chgrp lp /var/spool/lpd/impressora
chmod 755 /var/spool/lpd/impressora
7. Teste a impressora, usando o comando lpr.
lpr -Pimpressora qualquerdocumento.txt
Cap��tulo 5
Kernel
Com a introdu�c~ao do kernel(n�ucleo do sistema) modularizado no Linux 2.0.x surgiram
importantes mudan�cas na constru�c~ao de kernels personalizados. Antes era necess�ario com-
pilar o kernel caso se desejasse aceder a determinado hardware ou sistema de �cheiros em
particular.
Para alguns hardwares o tamanho do kernel poderia atingir um certo n��vel de criticidade.
O suporte j�a embutido no kernel poderia ser uma solu�c~ao ine�ciente sob o ponto de vista
de utiliza�c~ao de recursos do sistema.
Com as facilidades disponibilizadas no kernel 2.0.x, caso haja algum componente de hard-
ware ou do sistema de �cheiros pouco usado, os drivers e m�odulos s~ao carregados somente
quando necess�arios, melhorando a performance e optimizando a utiliza�c~ao de recursos do
sistema.
5.1 Construir um Kernel modularizado
Esta opera�c~ao assume que todos os headers do kernel e pacotes com os fontes est~ao loca-
lizados no direct�orio /usr/src/linux. �E importante come�car a constru�c~ao do kernel com a
�arvore de fontes em condi�c~oes bem conhecidas. Para isso pode-se utilizar o comando make
mrproper o qual remove todos os �cheiros de con�gura�c~ao de reconstru�c~oes anteriores que
estejam residentes nas �arvores de direct�orios.
Ap�os isto �e necess�ario criar o �cheiro de con�gura�c~ao que ir�a determinar quais os compo-
nentes que ser~ao inclu��dos no kernel. Dependendo do hardware e das preferencias pessoais
pode-se optar por um dos tres m�etodos dispon��veis:
1. make config Um programa texto interactivo, onde os componentes s~ao apresentados
96 Cap��tulo 5. Kernel
um a um. Basta pressionar Y (sim), N (n~ao) ou M (m�odulo).
2. make menuconfig Um programa gr�a�co, composto por menus, onde os componentes
s~ao apresentados em listas de categorias, sendo poss��vel seleccionar os componentes
desejados da mesma maneira que s~ao apresentados no programa de instala�c~ao do Red
Hat Linux. Basta seleccionar o elemento correspondente ao item desejado: Y (sim),
N (n~ao) ou M (m�odulo).
3. make xconfig Um programa X Windows, onde os componentes s~ao listados em dife-
rentes n��veis de menus e os componentes s~ao seleccionados utilizando-se o rato. Mais
uma vez as op�c~oes poss��veis s~ao Y (sim), N (n~ao) e M (m�odulo).
NOTA: Para poder utilizar Kerneld e m�odulos de kernel �e obrigat�orio responder Y
(sim) ao suporte do Kerneld e vers~ao modular (CONFIG MODVERSIONS) durante
a con�gura�c~ao do sistema.
Se se estiver a construir um kernel para m�aquinas com processadores clones do Intel (Cyrix,
AMD,...), �e recomendado escolher 386 como tipo de processador.
Se se desejar construir um kernel com um �cheiro de con�gura�c~ao /usr/src/linux/.con�gpreviamente criado com um dos m�etodos anteriores, pode-se omitir o comando mrproper
e make config utilizando somente o comando make dep seguido de make clean para pre-
parar os fontes para a reconstru�c~ao do kernel.
O pr�oximo passo consiste na compila�c~ao dos fontes seleccionados numa m�aquina que possa
ser utilizada para reinicializar-se com o novo kernel. O m�etodo aqui descrito �e o mais sim-
ples para recupera�c~ao em caso de algum problema ocorrer. Outras formas de recupera�c~ao
podem ser encontradas no Make�le em /usr/src/linux.
1. Reconstr�oi-se o kernel com make boot.
2. Constr�oi-se quaisquer m�odulos con�gurados com o comando make modules.
3. Move-se o antigo conjunto de m�odulos atrav�es dos seguintes comandos
rm -rf /lib/modules/2.0.29-old seguido de
mv /lib/modules/2.0.29 /lib/modules/2.0.29-old
Instalam-se os novos m�odulos (mesmo que n~ao tenha sido constru��do nenhum) atrav�es do
comando make modulos install.
Se o sistema possuir um driver modular para adaptador SCSI, constr�oi-se uma nova image
do initrd. Por�em h�a poucas raz~oes para se construir um driver de kernel modular para
adaptadores SCSI.
5.1. Construir um Kernel modularizado 97
Para ter dispon��vel o kernel anterior a �m de evitar problemas, caso o novo kernel tenha
algum tipo de erro, �e recomend�avel manter a con�gura�c~ao original. Adicionar um novo
kernel ao LILO �e muito simples. Basta seguir as seguintes opera�c~oes:
1. mv /boot/vmlinuz /boot/vmlinuz.old
2. cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz
3. editar /etc/lilo.conf
4. executar /sbin/lilo
Como con�gurar o LILO
O programa LILO (abreviatura de LInux LOader) �e o carregador padr~ao do Linux.
Este programa �e a mais ex��vel das rotinas de inicializa�c~ao do Linux.
O LILO pode ser con�gurado para residir no sector de inicializa�c~ao principal do disco
r��gido ou no sector de inicializa�c~ao de uma parti�c~ao do disco r��gido. O utilizador vai ter
de tomar essa decis~ao no momento de instalar o Linux; dependendo do seu sistema, uma
ou outra op�c~ao vai funcionar melhor.
As m�aquinas da actualidade inicializam quase da mesma forma que as m�aquinas de 1980.
Entretanto, o hardware mudou tanto que o processo de inicializa�c~ao requer que o sistema
operativo e a rotina de inicializa�c~ao para o sistema operativo estejam verdadeiramente
conscientes dos v�arios rodeios que foram implementados nos PCs para suportarem itens
tais como os grandes discos r��gidos da actualidade.
O procedimento de partida para cada PC �e relativamente directo quando visto �a distancia.
Ele funciona da seguinte forma:
� Quando a m�aquina �e ligada, o processador inicia a execu�c~ao do c�odigo na BIOS.
Esse c�odigo dimensiona a mem�oria, testa o processador e o hardware e inicializa o
hardware para um estado conhecido;
� A BIOS vai ent~ao �a procura da unidade de disco de inicializa�c~ao, regra geral uma
disquete ou disco r��gido. A BIOS le o sector de inicializa�c~ao principal e executa-o.
Esse sector de inicializa�c~ao principal, regra geral instalado pelo MS-DOS ou pelo
Windows9x, realiza a procura da primeira parti�c~ao activa e, depois, tenta carregar
esse sector de inicializa�c~ao;
� O sector de inicializa�c~ao da parti�c~ao cont�em as instru�c~oes sobre como carregar a
rotina de inicializa�c~ao. As limita�c~oes de tamanho imp~oem aqui as suas restri�c~oes,
obrigando a rotina de inicializa�c~ao a ser pequena. O MS-DOS em si mesmo �e pequeno
98 Cap��tulo 5. Kernel
o su�ciente para se poder encaixar a��. Assim, para um sistema MS-DOS, o processo
de inicializa�c~ao �e �nalizado. Outros sistemas v~ao ter a�� um programa que carrega o
kernel do sistema operativo e o inicializa, tal como o LILO que carrega o kernel do
Linux, descompacta-o e, depois, o inicializa. A mem�oria que a rotina de inicializa�c~ao
usa �e ent~ao, regra geral, reclamada pelo sistema operativo que foi inicializado.
� As op�c~oes do LILO s~ao de�nidas e con�guradas enquanto o Linux est�a em execu�c~ao,
o que signi�ca que se o LILO n~ao inicializa o Linux, o utilizador deve usar os seus
discos de inicializa�c~ao de emergencia para aceder ao disco r��gido do sistema e, depois,
con�gurar e instalar (executando o /sbin/lilo) o LILO. Talvez o utilizador tenha de
experimentar para determinar se o LILO funciona melhor no sector de inicializa�c~ao
principal do disco r��gido ou no sector de inicializa�c~ao da sua parti�c~ao de inicializa�c~ao
NOTA: Se o utilizador se encontra a utilizar o System Commander ou o Manager
Boot da IBM, ou at�e mesmo as �ultimas vers~oes do Partition Magic para inicializar
m�ultiplos sistemas operativos, estes tamb�em podem ser utilizados para inicializar oLinux e, depois, con�gure o boot de inicializa�c~ao para inicializar essa parti�c~ao como
sendo uma parti�c~ao DOS.
O LILO le a con�gura�c~ao a partir de um �cheiro que se encontra no direct�orio /etc do
sistema chamado lilo.conf. Esse �cheiro indica ao LILO o sistema operativo para o qual
ele se deve con�gurar e onde se deve instalar a si pr�oprio. A situa�c~ao mais simples �e um
�cheiro lilo.conf que indica ao LILO para inicializar somente um sistema operativo, como
�e mostrado a seguir
boot=/dev/hda4
map=/boot/map
install=/boot/boot.d
prompt
timeout=50
image=/boot/vmlinuz-2.0.36
label=linux
root=/dev/hda4
read-only
Este �cheiro informa ao LILO para se instalar no sector de inicializa�c~ao da parti�c~ao
/dev/hda4 (boot=/dev/hda4 ), para esperar cinco segundos pela entrada do utilizador no
prompt LILO: (timeout=50 ) e para inicializar o kernel vmlinuz-2.0.36 no direct�orio /boot
(image=/boot/vmlinuz-2.0.36 ) da parti�c~ao /dev/hda4 (root=/dev/hda4 ). O LILO exibe
um prompt e espera cerca de cinco segundos por uma entrada antes de iniciar a primeira
imagem no �cheiro lilo.conf. Repare que o valor do tempo de espera para cinco segundos
5.1. Construir um Kernel modularizado 99
�e 50 (d�ecimos de segundo) - o LILO mede o tempo em incrementos de 0,1 segundo.
Mas porque �e que o Kernel tem o nome de vmlinuz?
A letra "z"no �m, est�a ali para indicar que a imagem do kernel est�a comprimida para
reduzir a quantidade de espa�co de disco ocupado usando um m�etodo em tudo similar ao
gzip; a imagem �e descompactada durante a inicializa�c~ao. O nome tem sido a conven�c~ao por
algum tempo e o script de instala�c~ao para o kernel adopta este nome. Se o utilizador real-
mente quiser, pode alter�a-lo - basta ter a certeza de que o LILO aponta para o �cheiro certo!
Tamb�em �e poss��vel optar entre v�arios kernels do Linux com base nos quais pode inici-
alizar o sistema; isso �e bastante pr�atico se est�a a tentar o mais recente mas quer ter sempre
a op�c~ao de inicializar o mais antigo, s�o por precau�c~ao. Vale a pena o esfor�co em fazer essa
de�ni�c~ao, porque o utilizador pode evitar muita frustra�c~ao se um kernel novo apresentar
problemas.
Alterar o boot padr~ao?
A primeira entrada no �cheiro lilo.conf �e a con�gura�c~ao de boot padr~ao, a qual �e ini-
cializada pelo LILO quando o valor de tempo de espera for atingido. Alterar a ordem de
boot �e uma tarefa bastante simples, sendo uma quest~ao de copiar e colar, usando o seu
editor de textos preferido e, depois, executando novamente o /sbin/lilo para instalar o novo
sector de inicializa�c~ao. Se n~ao �e conveniente realizar estas altera�c~oes no �cheiro lilo.conf,
acrescente a directiva default = <label> (onde <label> �e o texto no "r�otulo"da imagem que
o LILO deve inicializar por defeito).
O LILO usa os labels para permitir a inicializa�c~ao de m�ultiplos sistemas operativos ou
diferentes kernels do Linux. De seguida altera-se o lilo.conf para v�arios sistemas operati-
vos:
boot=/dev/hda4
map=/boot/map
install=/boot/boot.d
prompt
timeout=50
image=/boot/vmlinuz-2.0.36
label=linux
append="ether=0,0,eth0 ether=0,0,eth1"
root=/dev/hda2
read-only
image=/vmlinuz.old
label=old
root=/dev/hda2
100 Cap��tulo 5. Kernel
read-only
other=/dev/hda1
label=dos
table=/dev/hda
Agora quando o sistema for inicializado, basta pressionar Tab e o prompt do LILO mostrar�a
duas op�c~oes:
LILO boot:
linux old dos
Para testar o novo kernel basta reinicializar o equipamento e veri�car as mensagens geradas
pelo sistema, assegurando-se de que o hardware foi detectado adequadamente.
5.2 Criar uma imagem do initrd
Uma imagem do initrd �e necess�aria para carregar m�odulos SCSI durante a inicializa�c~ao do
sistema. O shell script /sbin/mkinitrd pode gerar uma imagem do initrd adequada para
o sistema desde que as seguintes condi�c~oes sejam satisfeitas:
- dispositivo de loopback da unidade esteja dispon��vel;
- o �cheiro /etc/conf.modules tenha uma linha para o adaptador SCSI, como por exem-
plo alias scsi hostadapter BusLogic.
Para construir uma nova imagem do initrd, execute /sbin/mkinitrd /boot/novoinitrd-image
2.0.12 onde /boot/novoinitrd-image �e �cheiro utilizado para a nova imagem e 2.0.12 �e o
kernel cujos m�odulos (a partir de /lib/modules) devem ser usados na cria�c~ao da imagem
do initrd (n~ao �e necessariamente o mesmo da vers~ao actualmente em uso pelo kernel).
5.3 Construir um Kernel monol��tico
Para construir um kernel monol��tico observe os seguintes passos:
1. Durante a con�gura�c~ao do kernel responda Y (sim) ou N (n~ao) a todas as quest~oes
(sem utilizar a op�c~ao M - m�odulo).
2. N~ao executar os passos: make modules, make modules install. Finalmente editar
o �cheiro /etc/rc.d/rc.sysinit e comentar a linha depmod -a, inserindo um # no
in��cio da linha. endenumerate
Cap��tulo 6
Servi�cos
6.1 Automount
O automount (mount autom�atico) �e o processo onde a montagem (e desmontagem) de
certos sistemas de arquivos �e feita automaticamente por um programa residente. Se o sis-
tema de arquivos est�a desmontado, e um utilizador tentar aceder, ele ser�a automaticamente
(re)montado. Isto �e especialmente �util em grandes ambientes de rede e para montagens de
sistemas de arquivos entre v�arias m�aquinas (especialmente aquelas que nem sempre est~ao
ligadas). Isto tamb�em pode ser muito �util para dispositivos amov��veis por motivos �obvios.
6.1.1 Tipos de automontagem
H�a dois tipos de automontagem no Linux: AMD e autofs.
O AMD �e o programa residente que faz a automontagem, e supostamente funciona como o
AMD do SunOS. �E implementado no espa�co do utilizador, o que signi�ca que n~ao faz parte
do kernel. N~ao �e necess�ario para o kernel entender a automontagem se a sua montagem do
NFS para a m�aquina local passa pelo programa residente do AMD, que faz as rotas de to-
dos os tr�a�cos de sistemas de arquivos automaticamente montados atrav�es do sistema NFS.
O autofs �e um sistema auxiliado pelo kernel, o que signi�ca que o c�odigo do sistema
de arquivos do kernel sabe onde est~ao os pontos de montagem do automount, diferente de
um sistema de arquivos subjacente, e o programa de montagem autom�atica transfere isto
do kernel.
102 Cap��tulo 6. Servi�cos
6.1.2 Instala�c~ao
Devido ao facto de o autofs ser implementado no espa�co do kernel, o seu kernel deve ter
o suporte incorporado. Nos kernels 2.0.xx isto �e uma op�c~ao experimental, mas parece ser
est�avel. Nos 2.1.xx (e presupostamente nos 2.2.xx) n~ao �e experimental.
O programa de montagem autom�atica e os seus arquivos de con�gura�c~ao tamb�em s~ao
necess�arios; usar os RPMs (da RedHat, como parte da instala�c~ao) �e um bom m�etodo.
O programa de montagem autom�atica deve ser inicializado por um guia rc no diret�orio
/etc/rc.d/init.d. O RPM faz isto, mas deve-se ter a certeza que ele �e inicializado, fazendo
uma liga�c~ao do diret�orio rc?.d, usando o painel de controle da Red Hat, ou conseguindo
fazer a inicializa�c~ao de algum modo noutra distribui�c~ao.
6.1.3 Con�gura�c~ao
Depois de fazer a instala�c~ao dos RPMs com o comando rpm -i autofs-3.1.7-14.i386.rpm
sendo autofs-3.1.7-14.ie86.rpm o �cheiro que cont�em o autofs, como root �e necess�ario con-
�igurar os �cheiros no direct�orio /etc, um �e chamado de auto.master e outro de auto.misc.
De seguida apresentamos um exemplo do que poderia ser o �cheiro auto.master :
/auto /etc/auto.misc --timeout 60
A primeira entrada n~ao �e o ponto de montagem, e sim onde os pontos de montagem (in-
dicados na segunda entrada) �car~ao. A terceira op�c~ao diz que os sistemas de arquivos
montados podem-se tentar desmontar 60 segundos depois de usados. �E claro que eles n~ao
se podem desmontar se estiverem a ser usados.
O auto.misc �e um "arquivo mapa". Arquivos de mapas m�ultiplos podem ser de�nidos
no auto.master. De seguida temos um exemplo do auto.misc:
kernel -ro,soft,intr ftp.kernel.org:/pub/linux
cd -fstype=iso9660,ro :/dev/cdrom
zip -fstype=auto :/dev/hdd4
floppy -fstype=vfat :/dev/fd0
A primeira coluna (a "chave") �e o ponto de montagem. Neste caso ser�a /mnt/ oppy ou
outra coisa. No meio s~ao as op�c~oes; deve ler-se a p�agina do manual do mount para saber
mais detalhes a respeito destes parametros. E a �ultima coluna especi�ca de onde vem o
sistema de arquivos. A entrada do kernel supostamente deve ser uma montagem do NFS.
O ":"em todas as outras linhas signi�ca que s~ao dispositivos locais.
6.2. NFS 103
Uma quest~ao que se pode colocar �e: 60 segundos, �e bastante tempo de espera pelo ejectar
de uma disquete... Antes de mais, pode-se mudar o tempo de espera. Por�em isto pode
ser um pouco ine�ciente; dizer ao sistema para desmontar as coisas depois de 15 segundos
ou diferente. Actualmente h�a uma maneira de perguntar pela desmontagem ao programa
de montagem autom�atica. Se se mandar (com o programa kill) o sinal SIGUSR1 para o
processo de montagem autom�atica, ele ir�a desmontar tudo o que puder.
O processo de montagem autom�atica �e executado pelo admnistrador da m�aquina, e s�o
ir�a aceitar comandos seus. 50% do motivo pelo qual provavelmente se usa a montagem
autom�atica �e o facto de poder fazer montagens e desmontagens sem se ser o administrador
da m�aquina. Seria f�acil fazer um programa em C com transi�c~ao para administrador da
m�aquina, que �zesse isto. Todavia, usando o comando sudo �e poss��vel permitir que utili-
zadores possam mandar o pr�oprio sinal de kill. O �unico problema �e que o sudo n~ao nos
deixa usar "' "para processar subcomandos, o que se teria de fazer tendo em conta o PID
corrente. Deve-se ter um programa chamado killall, que ir�a permitir fazer isto:
ALL ALL=NOPASSWD:/usr/bin/killall -USR1 automount
Por outro lado, teria que se permitir aos utilizadores o envio do -SIGUSR1 para todos os
processos. O que poderia provocar v�arios efeitos em programas tais como: apenas fazer
um refresh nos gestores de janelas ou um kill ao xemacs.
Tent�amos fazer uma tradu�c~ao do manual da AMD, mas devido ao facto de este ter uma
linguagem bastante t�ecnica foi de todo impossivel fazer uma coisa facilmente compreensivel
e expl��cita sem ter de recorrer a esse tipo de linguagem. Mas para os interessados em saber
mais sobre isso deixamos os links para o Tutorial do Autofs1 e para o do AMD 2.
6.2 NFS
O NFS (Network File System) - Sistema de Ficheiros de Rede �e um meio de partilhar
�cheiros entre m�aquinas, como se estivessem num disco local. O Linux pode ser tanto um
servidor como um cliente NFS, o que signi�ca que se pode exportar sistemas de �chei-
ros para outros sistemas, assim como montar sistemas de �cheiros exportados de outras
m�aquinas.
1http://www.linuxhq.com/lg/issue24/nielsen.html2http://www.cs.columbia.edu/ ezk/am-utils
104 Cap��tulo 6. Servi�cos
6.2.1 Montar um Servidor de NFS
Para montar um servidor de NFS �e necess�ario antes de mais ter uma rede montada na qual
�e possivel efectuar uma liga�c~ao vis Telnet entre o servidor e a m�aquina cliente.
6.2.1.1 O portmapper
O portmapper em Linux �e chamado de portmap ou rpc.portmap. Este servi�co encontra-se
no diret�orio de /usr/sbin (em algumas m�aquinas �e chamado de rpcbind). Agora que j�a sa-
bemos onde se encontra temos de ter em aten�c~ao pois este servi�co precisa de ser recome�cado
de cada vez que se faz o boot m�aquina. Para que arranque de cada vez que se faz o boot
da m�aquina �e necess�ario editar o script de rc que pode normalmente ser encontrado em
/etc/rc.d, /etc/init.d ou /etc/rd.c/init.d.
Para veri�car se o portmap est�a a ser executado usa-se o seguinte comando:
ps -aux
6.2.1.2 Mountd e o nfsd
De seguida �e necess�ario executar mais dois programas: mountd e nfsd. Mas primeiro
precisamos de editar outro �cheiro. O /etc/exports. Por exemplo, se quisermos partilhar a
pasta /homesta� existente na m�aquina gel para estar dispon��vel na m�aquina viseu teriamos
que indicar ostp no /etc/exports do gel :
/homestaff viseu(rw)
A linha de comando acima d�a �a m�aquina viseu possibilidade de ler/escrever (read/write)
na m�aquina gel em /homesta�. Em vez de rw poderia dizer-se ro, ou seja s�o as permiss~oes
de leitura. H�a outras op�c~oes que se podem usar e que ser~ao indicadas mais �a frente no
ponto da seguran�ca.
Podem ser usados em vez de m�aquinas, grupos de utilizadores possibilidade dada se esti-
vermos a executar NIS (ou NYS). Agora pode-se come�car a con�gurar o mountd (ou talvez
chamar rpc.mountd e ent~ao o nfsd (que pode ser chamado em rpc.nfsd). Ambos ir~ao ler
o �cheiro de exporta�c~ao (exports). Se for editado o �cheiro /etc/exports temos que fazer
com que o nfsd e mountd saiba que os �cheiros foram mudados. Na maioria dos sistemas
baseados em Unix o comando �e exportfs. Se usarmos o exportfs-less podemos instalar este
script:
#!/bin/sh
6.2. NFS 105
killall -HUP /usr/sbin/rpc.mountd
killall -HUP /usr/sbin/rpc.nfsd
echo re-exported file systems
Gravamos em /usr/sbin/exportfs, e n~ao podemos esquecer de usar o chmod a+rx. Agora,sempre que se mudar o �cheiro de exporta�c~oes, temos de executar o exportfs como root.
Para con�rmar se aquele mountd e o nfsd est~ao a ser executados correctamente execu-
tamos primeiro o rpcinfo -p cujo resultado deve ser semelhante a:
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 745 mountd
100005 1 tcp 747 mountd
100003 2 udp 2049 nfs
100003 2 tcp 2049 nfs
Como se pode ver o portmapper indica que o mountd e o nfsd est~ao a ser executados, ou
seja, o servidor de NFS est�a activo.
6.2.2 Montar o Cliente de NFS
As vers~oes mais recentes do Linux j�a instalam os m�odulos necess�arios �a con�gura�c~ao do
cliente de NFS. Continuando o exemplo anterior onde pretendemos montar o /homesta�do gel executamos no prompt do root, o comando:
mount -o rsize=1024,wsize=1024 gel:/homestaff /mnt
Os dois parametros que aparecem rsize e wsize ser~ao descritos adiante.
Interessa agora veri�car que o sistema de �cheiro est�a dispon��vel debaixo do /mnt e pode-mos executar um cd, ou ls, e listar os �cheiros individualmente.
Este sistema n~ao �e t~ao r�apido como um sistema de �cheiro local, mas �e muito mais con-
veniente que o ftp. Se, em vez de montar o sistema de �cheiro, o mount produzir uma
mensagem de erro como:
gel:/homestaff failed
e a raz~ao dada pelo servidor for:
106 Cap��tulo 6. Servi�cos
Permission denied
ent~ao o �cheiro de exporta�c~oes est�a errado, ou ent~ao o exportfs n~ao est�a a ser executado
depois de ter sido editado o �cheiro de exporta�c~oes.
Para desligar o sistema de �cheiro podemos usar
umount /mnt
Para fazer o sistema montar um sistema de �cheiro de nfs no boot precisamos de editar o
�cheiro /etc/fstab da maneira normal. Para o nosso exemplo �e feito da seguinte forma:
# device mountpoint fs-type options dump fsckorder
gel:/homestaff /mnt nfs rsize=1024,wsize=1024 0 0
De seguida vamos ver como optimizar o NFS para obter um melhor desempenho do sistema.
6.2.2.1 Optimizar o NFS
Geralmente, se n~ao for especi�cado nenhum rsize ou wsize, o NFS le e escreve em blocos
muito grandes de 4096 ou 8192 bytes. Mas pode acontecer que quer o Kernel quer a pr�opria
placa de rede n~ao aguente determinado uxo de informa�c~ao e por isso torna-se necess�ario
que n�os experimentemos um valor para o rsize e para o wsize que funcione e seja t~ao r�apido
quanto o poss��vel.
Podemos testar a velocidade das op�c~oes com alguns comandos simples. Por exemplo:
time dd if=/dev/zero of=/mnt/testfile bs=16k count=4096
Isto cria um �cheiro de 64Mb de bytes contendo zeros. De seguida fazemos uma tabela
para registo dos tempos e calcular a m�edia. �E o chamado Elapsed ou Wall clock. Depois
podemos testar o desempenho de leitura lendo o �cheiro anterior com o comando:
time dd if=/mnt/testfile of=/dev/null bs=16k
fazemos este procedimento v�arias vezes e calculamos a m�edia.
Seguidamente fazemos o umount, e montamos novamente com um rsize maior e o wsize,
cujo valor deve ser m�ultiplo de 1024, e provavelmente n~ao superior a 16384 bytes, dado
que os blocos grandes reduzem a velocidade de acesso.
6.3. NIS 107
Se o valor de rsize/wsize �e muito grande os sintomas s~ao muito estranhos e n~ao s~ao 100%
�obvios. Um t��pico sintoma �e o facto de aparecerem listas de �cheiro incompletas quando
fazemmos ls sem mensagens de erro. Ou fazer a leitura de �cheiros que falham misterio-
samente sem surgirem mensagens de erro.
Depois de estabelecer os valores correctos para trabalhar com o rsize/wsize podemos fazer
o teste de velocidade novamente.
Sistemas diferentes tais como SunOS e Solaris �e supostamente muito mais r�apidos com
blocos de 4096 bytes que com qualquer outro.
NOTA: Devemos sempre editar o /etc/fstab para re etir o rsize/wsize que preten-
demos
Um truque para aumentar o desempenho de escrita do NFS �e incapacitar o s��ncronismo de
escrita do servidor. O que acontece normalmente com os estados de especi�ca�c~ao do NFS
�e que os pedidos n~ao s~ao considerados antes de serem totalmente escritos no disco. Isto
restringe bastante o desempenho de escrita, e a escrita ass��ncrona far�a o NFS funcionar
mais depressa.
6.3 NIS
As pr�oximas tres linhas s~ao cita�c~oes do Manual de administra�c~ao de System Network
Sun(tm)
"NIS era conhecido antigamente como P�aginas Amarelas da Sun (YP) mas
o nome P�aginas amarelas(tm) �e uma marca registrada no Reino Unido pela
Telecom plc britanica e n~ao podia ser usada sem permiss~ao".
NIS representa o Servi�co de Informa�c~ao de Network. Tem como objectivo fornecer in-
forma�c~ao que tem que ser conhecida ao longo da rede por todas as m�aquinas na rede. A
informa�c~ao prov�avel a ser distribu��da pelo NIS �e:
� login names/passwords/home direct�orios (/etc/passwd)
� informa�c~ao de grupos (/etc/group)
Por exemplo, se sua password �e registada na password do banco de dados do NIS, ser�a
capaz de fazer o login em todas as m�aquinas na rede em que tenha o programa cliente de
108 Cap��tulo 6. Servi�cos
NIS a funcionar.
Cada vez mais, s~ao instaladas m�aquinas Linux como parte de uma rede de computadores.
Simpli�car a administra�c~ao de rede, na maioria das redes (principalmente redes baseadas
em Sun) e correr o Servi�co de Informa�c~ao de Rede. As m�aquinas Linux podem tirar pro-
veito do NIS existente ou fornecer NIS completamente. As m�aquinas Linux tamb�em podem
(com a biblioteca do NYS) agir como clientes de NIS+ limitados.
6.3.1 NIS ou NIS+?
A escolha entre NIS e NIS+ �e f�acil - Usa-se NIS, se n~ao se tem usa-se o NIS+ ou se tem
necessidade de seguran�ca elevada. NIS+ �e muito mais problem�atico de administrar (�e f�acil
de usar no cliente, mas do lado do servidor �e horr��vel).
Outro problema �e que o apoio para o NIS+ dentro do Linux ainda est�a a ser criado
- um ponto principal �e a falta do apoio a encripta�c~ao/autenti�ca�c~ao de dados que �e um
ponto principal para qualquer utilizador que quiser usar o NIS+...
6.3.2 Como trabalhar
Dentro de uma rede deve-se ter uma m�aquina que funcione como um NIS pelo menos um
servidor. Pode-se ter v�arios servidores de NIS, cada servi�co NIS diferente de "dom��nios- ou
pode-se ter coopera�c~ao entre os servidores de NIS, onde a pessoa �e dita mestre do servi-
dor de NIS, e todos os outros s~ao escravos denominados servidores NIS (para um certo
"dom��nio"de NIS, que s~ao!) - ou pode-se ter uma mistura deles...
S�o os servidores escravos (slave) tem c�opias dos bancos de dados do NIS e recebem estas
c�opias do servidor mestre (master) do NIS sempre que as mudan�cas s~ao feitas no banco de
dados do mestre. Dependendo do n�umero de m�aquinas na sua rede e da con�abilidade da
sua rede, pode-se decidir instalar um ou mais servidores escravo. Sempre que um servidor
de NIS demora ou est�a muito lento para responder a pedidos, um cliente de NIS conecta
ao servidor e tenta achar um ou o mais rapidamente.
Bancos de dados de NIS est~ao em formato denominado DBM, derivado de bancos de
dados ASCII. Por exemplo, os �cheiros de /etc/passwd e /etc/group podem ser directa-
mente convertidos em formato DBM usando um software de tradu�c~ao ASCII-para-DBM
(makedbm, �e inclu��do com o software do servidor). O servidor mestre NIS deve ter ambos,
os bancos de dados em ASCII e os bancos de dados em DBM.
Ser~ao noti�cados os servidores escravo de qualquer mudan�ca para o mapa NIS, (atrav�es do
6.3. NIS 109
programa yppush), e automaticamente actualiza o necess�ario das mudan�cas para sincroni-
zar os bancos de dados. Os clientes de NIS n~ao fazem parte disto, eles encontram-se sempre
em conversa�c~ao com o servidor de NIS para ler a informa�c~ao armazenada nos bancos de
dados DBM.
O autor dos clientes de YP para linux informou-nos que o mais recente ypbind (em yp-
clients.tar.gz ) pode ser adquirido no �cheiro de con�gura�c~ao do servidor - assim n~ao �e
necess�ario usar o broadcast (que �e inseguro - devido ao facto que qualquer um pode insta-
lar um servidor de NIS e pode responder �as quest~oes de broadcast...)
6.3.3 O que �e necess�ario para con�gurar o NIS?
6.3.3.1 O RPC Portmapper
Para correr qualquer dos softwares abaixo mencionados precisa-se de executar o pro-
grama /usr/sbin/rpc.portmap. Algumas distribui�c~oes do Linux j�a o tem no c�odigo do
/etc/rc.d/rc.inet2 para come�car este daemon. Tudo o que se precisa fazer �e descomentar
e reiniciar a sua m�aquina de Linux para activa-lo.
O RPC portmapper (portmap(8c)) �e um servidor que converte programas de RPC em
n�umeros de TCP/IP (ou UDP/IP) n�umeros de protocolos para porta. Deve ser executado
para chamar o RPC (que �e o que o software cliente de NIS faz) para servidores de RPC
(como um servidor de NIS) naquela m�aquina.
Quando um servidor de RPC �e inicializado, diz ao portmap qual o n�umero da porta est�a a
escutar. Quando um cliente deseja fazer com que um RPC chame um determinado numero
de programa, contactar�a o portmap primeiro na m�aquina do servidor para determinar o
n�umero da porta onde deve ser enviados os pacotes de RPC. Normalmente, servidores de
RPC padr~ao s~ao come�cados por inetd(8C), assim o portmap deve ser iniciado antes do
inetd ser invocado.
6.3.3.2 Determinar se se �e um Servidor, Escravo ou Cliente
Para responder a esta pergunta �a que considerar dois casos:
1. A sua m�aquina vai ser parte de uma rede com servidores NIS existente
No primeiro caso, s�o se precisa do programa cliente (ypbind, ypwhich,ypcat, yppoll, ypmatch). O programa mais importante �e o ypbind. Este
programa tem que estar a correr a todo momento, isto �e, deve sempre apa-
recer na lista de processos. �E denominado processo daemon e precisa de
110 Cap��tulo 6. Servi�cos
ser come�cado atrav�es do startup do �cheiro do sistema (eg. /etc/rc.local).Logo como ypbind estiver a correr, o seu sistema torna-se um cliente de
NIS.
2. N~ao existe nenhum servidor de NIS na network
No segundo caso, se n~ao existe nenhum servidor de NIS, ent~ao tamb�em se
precisa de um programa servidor de NIS (normalmente chamado ypserv).
Tamb�em h�a outro servidor de NIS gr�atis dispon��vel, chamado yps, escrito, por Tobias Reber
na Alemanha que suporta o conceito mestre-escravo, mas tem outras limita�c~oes.
6.3.3.3 O Software
A biblioteca do sistema /usr/lib/libc.a (vers~ao 4.4.2 e ou melhor) ou a biblioteca de com-
partilhamento /usr/lib/libc.sa e sua DLL relacionada que contem todas as chamadas ne-
cess�arias ao sistema para o sucesso para compilar o cliente NIS e o software do servidor.
Algumas pessoas informaram que somente o NIS trabalha com o /usr/lib/libc.a vers~ao
4.5.21 e ou melhor, assim se se quiser utilizar n~ao se deve usar um libc mais antigo. O
software cliente NIS pode ser obtido em:
Local Diret�orio Nome do Ficheiro
ftp.uni-paderborn.de /linux/local/yp yp-clients-2.2.tar.gz
ftp.funet.fi /pub/Linux/BETA/NYS/clients yp-clients-?.?.tar.gz
ftp.lysator.liu.se /pub/NYS/clients yp-clients-?.?.tar.gz
Uma vez obtido o software, segue-se as instru�c~oes que vem com o software.
6.3.3.4 Montar um Cliente de NIS que utiliza o NIS Tradicional
Assumindo que se teve sucesso na compila�c~ao do software e que est�a-se pronto para ins-
talar o software. Um lugar satisfat�orio para o daemon de ypbind �e o diret�orio /usr/sbin.Precisa-se fazer isto obviamente como root. Os outros bin�arios (ypwhich, ypcat, yppoll,
ypmatch) devem estar num diret�orio acess��vel por todos os utilizadores, por exemplo
/usr/etc ou /usr/local/bin. Poderia ser uma boa ideia testar o ypbind antes de coloca-
lo no /etc/rc.d/rc.inet2. Para se testar o ypbind faz-se o seguinte:
1. Corre-se seguramente se se tem o seu conjunto de nome de dom��nio. Se n~ao �e,
con�gure para emitir o comando:
6.3. NIS 111
/bin/domainname-yp nis.domain
onde nis.domain deve ser alguma string, N~AO de�na com a associ�c~ao do nome de
dom��nio da sua m�aquina! A raz~ao para isto �e di�cultar um pouco mais a invas~ao da
m�aquina para obter o banco de dados de password do seu servidor de NIS. Se n~ao se
sabe por o nome de dom��nio de NIS em sua rede, pergunte ao seu administrador de
sistema/rede.
2. Inicialize o /usr/sbin/rpc.portmap se j�a n~ao estiver a correr.
3. Crie um diret�orio /var/yp se n~ao existir.
4. Inicialize o /usr/sbin/ypbind
5. Use o comando rpcinfo -p localhost para conferir se o ypbind foi capaz de de�nir o
seu servi�co no portmapper. O rpcinfo deve produzir algo como:
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100007 2 udp 637 ypbind
100007 2 tcp 639 ypbind
300019 1 udp 660
6. Pode-se tamb�em executar rpcinfo -u localhost ypbind. Este comando deve produzir
algo como:
program 100007 version 2 ready and waiting
Finalmente, n~ao esquecer de colocar os lookups do host, que tem que ser con�gurados por
si nis para o lookup na linha order do seu �cheiro de /etc/host.conf. Para maiores detalhes
de ler-se o manpage resolv+.8 para maiores detalhes. Neste momento deve-se poder usar
os programas cliente NIS como ypcat, etc... Por exemplo, ypcat passwd que dar�a por inteiro
o banco de dados do NIS para passwd.
Importante: Se se saltou o procedimento de teste ent~ao tem de se ter a certeza que se
con�gurou o nome de dom��nio, e criou o diret�orio:
/var/yp
Este diret�orio tem que existir para que o ypbind possa come�car com sucesso.
Se o seu trabalho de teste acabou agora pode-se querer mudar os �cheiros /etc/rc.d/rc.Me /etc/rc.d/rc.inet2 que ser~ao executados no seu sistema de forma que o ypbind du-
rante o tempo de boot do seu sistema aja como um cliente de NIS. Edita-se o �cheiro
112 Cap��tulo 6. Servi�cos
/etc/rc.d/rc.M e procura-se os comandos que con�guram o nome de dom��nio. Muda-se o
nome de dom��nio no nome do seu dom��nio. Tamb�em, se edita o �cheiro /etc/rc.d/rc.inet2, e
comenta-se as linhas que come�cam o daemon de rpc.portmap, e soma-se as linhas seguintes
logo ap�os o lugar onde rpc.portmap �e inicializado:
#
# Start the ypbind daemon
#
if [ -f \${NET}/ypbind -a -d /var/yp ]; then
echo -n " ypbind"
\${NET}/ypbind
fi
6.3.4 O que �e preciso para montar o NYS?
6.3.4.1 Determinar se se �e um Servidor, Escravo ou Cliente.
Para respondendo a esta pergunta tem-se que considerar dois casos:
� Que a sua m�aquina vai ser parte de uma rede com servidores NIS
� Que n~ao se tem nenhum servidor de NIS na rede
No primeiro caso tem-se duas escolhas:
1. Pode-se voltar a ligar todo o cliente e programa daemon com a biblioteca NYS
libnsl.so. Isto seria acrescentrar a seguinte linha:
LIBS=-lnsl
no seu make�le signi�ca que se quer unir os Servi�cos de Biblioteca para Netowrk.
Basicamente todos os daemons da rede e o programa de login seria necess�ario ser
recompilado.
2. Ou pode-se recompilar a biblioteca C padr~ao libc para incluir a biblioteca NYS de
cliente para que a biblioteca libc normal funcione, e ent~ao voltar a ligar todos os links
estastisticos de programas (o link dinamico une programas automaticamente e pode
ser adquirido nas novas vers~ao de libc).
Semelhante ao caso do NIS tradicional, se n~ao se tem servidores NIS, ent~ao tamb�em se
precisa de um programa servidor de NIS (normalmente chamado de ypserv) e tem que se
designar um das m�aquinas em sua rede como servidor mestre de NIS. Novamente, pode-se
querer de�nir mais de um servidor escravo tamb�em.
6.3. NIS 113
6.3.5 O Software
Precisa-se de arranjar e compilar a biblioteca libnsl.so do NYS. Se n~ao se tem as ferramentas
de DLL instaladas pode-se obter uma pr�e-compilada, est�atica e sub biblioteca no mesmo
site mencionado abaixo. Por�em, note que a vers~ao pr�e-compilada pode ser (e provavelmente
�e) mais antiga que o c�odigo fonte mais recente lan�cado.
A biblioteca do NYS (fonte e vers~ao pr�e-compiladas) pode ser obtido em:
Site Diret�orio Nome do Ficheiro
ftp.lysator.liu.se /pub/NYS/libs nys-0.27.4.tar.gz
ftp.lysator.liu.se /pub/NYS/binaries/lib libnsl.so.1.0.a26
A pr�e-compila�c~ao do "login"e "su"tamb�em podem ser obtida em:
Site Diret�orio Nome do ficheiro
ftp.lysator.liu.se /pub/NYS/binaries/bin login
ftp.lysator.liu.se /pub/NYS/binaries/bin su
Semelhante aos �cheiros de con�gura�c~ao do exemplo podem ser obtidos em:
Site Diret�orio Nome do ficheiro
ftp.lysator.liu.se /pub/NYS/binaries/etc *conf
ftp.funet.fi /pub/Linux/BETA/NYS/etc *conf
Para a compila�c~ao da biblioteca nsl, segue-se as instru�c~oes que vem com o software. Se
se desejar compilar a biblioteca de partilha DLL tem que se ter as ferramentas de DLL
instaladas no lugar da padr~ao (standard) (/usr/dll). As ferramentas de DLL (o pacote
tools-2.11.tar.gz ou superior) podem-se encontrar em muitos sites.
6.3.6 Con�gurar um Cliente de NYS que usa o NYS
�E diferente do NIS tradicional, n~ao nenhuma requer nenhuma con�gura�c~ao para o cliente
NIS. Tudo o que �e necess�ario �e a con�gura�c~ao do �cheiro do NIS (/etc/yp.conf ) para o
serveridor(es) correcto para sua informa�c~ao. Tamb�em, a con�gura�c~ao do �cheiro Name
Server Switch (/etc/nsswitch.conf ) deve ser con�gurado corretamente.
6.3.7 O Ficheiro nsswitch.conf
O �cheiro do Servidor de Rede de Nomes /etc/nsswitch.conf determina em ordem de
lookups quanto �a execu�c~ao uma certa parte de informa�c~ao �e pedida, s�o com o �cheiro
114 Cap��tulo 6. Servi�cos
/etc/host.conf que determina o modo como ser~ao executados os lookups do host. Nova-
mente, observe-se o �cheiro de exemplo contido na distribui�c~ao de fonte. Por exemplo, a
linha
hosts: nis files dns
especi�ca as fun�c~oes de lookup do host que devem em primeiro lugar fazer um lookup ao
NIS, de seguida ao �cheiro local /etc/hosts e �nalmente o servi�co verdadeiro de dom��nio
(/etc/resolv.conf e o named) ao qual se n~ao for encontrado nada ser�a devolvido um erro.
6.3.8 Con�gurar um Servidor de NIS
6.3.8.1 O Programa ypserv do Servidor
Esta parte s�o descreve como con�gurar o ypserv do servidor de NIS. O yps do servidor
�e semelhante, mas n~ao exactamente o mesmo, logo tem que se ter cuidado se se tentar
aplicar estas instru�c~oes para o yps!
O software de servidor de NIS pode ser obtido em:
Site Diret�orio Nome do Ficheiro
ftp.lysator.liu.se /pub/NYS/servers ypserv-1.1.2.tar.gz
ftp.uni-paderborn.de /pub/linux/local/yp ypserv-1.1.2.tar.gz
A con�gura�c~ao do servidor �e a mesma para NIS tradicional e para o NYS. Compile o
software para gerar o ypserv e programas makedbm. Primeiramente, determina quais os
�cheiros que exigem para estar dispon��vel para o NIS e ent~ao adiciona-se ou remove as
entradas apropriadas para o ypMake�le. Instala-se o �cheiro ypMake�le em /var/yp como
o �cheiro Make�le. Constroi-se o �cheiro DBM com o comando:
\% cd /var/yp; make
Tem de se ter a certeza que o portmapper (rpc.portmap) est�a a correr, e inicializa-se o
servidor ypserv. O comando
\% rpcinfo -u localhost ypserv
deve produzir algo como
program 100004 version 2 ready and waiting
E �e isto, o seu servidor est�a a correr.
6.3. NIS 115
6.3.8.2 O programa do Servidor yps
Monta-se o servidor de NIS yps referente ao cap��tulo anterior. A con�gura�c~ao do servidor
yps �e semelhante, mas n~ao exactamente o mesmo, logo tem que se ter cuidado se se tentar
aplicar as instru�c~oes do ypserv para o yps!
O software de servidor de NIS yps pode ser obtido em:
Site Diret�orio Nome do Ficheiro
ftp.lysator.liu.se /pub/NYS/servers yps-0.21.tar.gz
ftp.funet.fi /pub/Linux/BETA/NYS/servers yps-0.21.tar.gz
6.3.8.3 O programa yppasswdd
Sempre que os utilizadores mudam as passwords deles, o banco de dados de passwords do
NIS e provavelmente outros bancos de dados do NIS que dependem de banco de dados de
password do NIS, devem ser actualizados. O programa yppasswdd �e um servidor que con-
trola as mudan�cas de password e tem a certeza que a informa�c~ao do NIS vai ser actualizado
adequadamente. O software para yppasswdd pode ser encontrado em:
Site Diret�orio Nome do Ficheiro
ftp.lysator.liu.se /pub/NYS yppasswdd-0.7.tar.gz
ftp.funet.fi /pub/Linux/BETA/NYS/servers yppasswdd-0.7.tar.gz
Uma vez obtido o software, segue-se as instru�c~oes que vem com o software.
6.3.9 Veri�car a instala�c~ao do NIS/NYS
Se tudo est�a bem (como deveria ser), pode-se veri�car a sua instala�c~ao com alguns coman-
dos simples. Por exemplo, assumindo que o seu �cheiro de password est�a a ser provido
pelo NIS, o comando,
\% ypcat passwd
deve dar-lhe os conte�udos do �cheiro de password do NIS. O comando
\% ypmatch userid passwd
116 Cap��tulo 6. Servi�cos
(onde userid �e o login de um utilizador arbitr�ario) deve dar a entrada do utilizador no
�cheiro de password do NIS. O ypcat e ypmatch devem ser inclu��dos nos programas da sua
distribui�c~ao de NIS tradicional ou NYS.
6.4 Samba
O SAMBA �e uma aplica�c~ao que utiliza o protocolo SMB (no Linux, os "server daemons"
SMBD e NMBD) permitindo compatibilidade com redes que utilizam este protocolo, prin-
cipalmente redes NetBios da Microsoft.
As mais recentes distribui�c~oes j�a trazem o SAMBA como padr~ao, mas o seu download
e actualiza�c~oes est~ao dispon��veis em http://us4.samba.org/samba/download.html.
Com o SAMBA �e poss��vel partilhar direct�orios, impressoras, ter acesso a �cheiros na rede,
exactamente como em redes Microsoft. Mas neste caso, o servidor �e com o sistema ope-
rativo Linux a correr uma aplica�c~ao espec���ca. O Windows NT e o 2000 (assim como o
NetWare 5 e outros presentes no mercado) s~ao reconhecidos mundialmente pela sua segu-
ran�ca e escalabilidade, mas o SAMBA possui muitas vantagens que se podem transformar
em solu�c~oes e economia para uma empresa. Por exemplo:
� Permite compatibilidade com esta�c~oes Windows (de Workstation a 2000) e servidores
WinNT 4.0 e 2000. Entre servidores e esta�c~oes Linux (com Interface Gr�a�ca, por
exemplo) a compatibilidade �e total.
� O SAMBA �e 100% con�gur�avel, com a grande vantagem de centralizar esta con-
�gura�c~ao num �unico �cheiro, o smb.conf. Sem d�uvida �e muito interessante ter a
possibilidade de restaurar toda a con�gura�c~ao que disponibiliza o seu Servidor de Fi-
cheiros (inclusiv�e as permiss~oes de acesso) atrav�es do backup de apenas um �cheiro,
em casos de desastre. Por�em isto n~ao quer dizer que n~ao seja necess�ario o backup de
outros �cheiros de con�gura�c~ao...
� Todo o servidor SAMBA pode ser con�gurado remotamente, al�em de receber por
email informa�c~oes do estado do servidor (bastando utilizar um script espec���co que
fa�ca a pesquisa de informa�c~oes nos �cheiros de log e crie um �cheiro que pode ser
enviado por email).
� Quanto �a economia n~ao h�a o que discutir: o Linux e o SAMBA est~ao dispon��veis
para download na Internet sem custos com licen�cas ou actualiza�c~oes para qualquer
utilizador comum ou empresa que se interesse em utiliz�a-lo.
� O suporte est�a dispon��vel 24h por dia, o ano todo: al�em de no pr�oprio site do SAMBA
existirem milhares de sites e listas de discuss~ao dedicadas ao assunto, entre outras
6.4. Samba 117
documenta�c~oes e artigos em sites de renome por Administradores e Engenheiros de
Redes Linux.
6.4.1 Instala�c~ao
Se a distribui�c~ao que deseja utilizar j�a traz o SAMBA, a instala�c~ao n~ao �e necess�aria. Se
deseja actualiz�a-lo ou iniciar a instala�c~ao, devem seguir-se os seguites passos:
1. Para instalar o SAMBA �e necess�ario antes de mais saber se o pacote est�a no formato
RPM ou .tar (.tgz ou .tar.gz).
� Se o pacote for um RPM, executa-se o seguinte comando
rpm -ivh samba-2.0.x-i386.rpm
Substituindo o x pelo n�umero relativo �a vers~ao do pacote ou o nome correcto
do pacote dependendo da sua distribui�c~ao. Para actualizar o SAMBA actual,
substitui-se a sintaxe -ivh por -Uvh.
� Se o pacote for no formato tar.gz, executa-se o comando
tar -zxvf samba-2.0.x-i386.tar.gz
Vai ser criado um direct�orio com o nome samba-2.0.x.
2. Entra-se neste direct�orio e em seguida no subdirect�orio source. Para iniciar a ins-
tala�c~ao executa-se ./configure seguido do comando make
Os bin�arios do SAMBA ser~ao criados. Quando terminar executa-se make install
Agora os bin�arios e p�aginas do manual ser~ao instalados. Aguarda-se o processo
e quando terminar pode consultar-se o direct�orio /usr/doc/samba-2.0.x/docs para
informa�c~oes sobre o SAMBA.
6.4.2 Con�gura�c~ao
Toda a con�gura�c~ao do SAMBA �e centralizada no �cheiro smb.conf, que deve ser guardadono direct�orio /etc. Nele s~ao descritos as partilhas, permiss~oes de acesso, impressoras, dentre
outras con�gura�c~oes dispon��veis. Quando instalado, o SAMBA disponibiliza os seguintes
componentes:
� smbd - O servidor SAMBA
� nmbd - O Servidor de nomes NetBios
118 Cap��tulo 6. Servi�cos
� smbclient - Cliente SMB para sistemas Unix
� smbpasswd - Alterar passwords de utlizadores smb
� smbprint - Cliente para envio de impress~ao a sistemas Linux
� smbstatus - Apresenta a situa�c~ao actual das liga�c~oes SMB no Host
� testparm - Veri�ca o �cheiro smb.conf (con�gura�c~ao do SAMBA)
� testprns - Veri�ca a comunica�c~ao via rede com as impressoras
O smb.conf �e dividido basicamente em tres partes:
� a con�gura�c~ao do servidor SAMBA (parametros na sec�c~ao [global]);
� a con�gura�c~ao dos direct�orios/pastas pessoais dos utilizadores (parametros na sec�c~ao
[homes];
� e as demais sec�c~oes que correspondem aos direct�orios partilhados.
Cada sec�c~ao �e representada entre parentesis rectos [teste], e os parametros s~ao seguidos
do sinal de igual = �e o valor ou termo correspondente. De seguida pode-se observar um
exemplo do smb.conf seguido da explica�c~ao de cada parametro presente nas sec�c~oes:
[global]
comment = Servidor SAMBA
workgroup = MCT
security = user
os level = 100
announce as = NT Server
domain logons = yes
logon script = \%U.bat
logon path =\%L\\Profiles\%U
domain master = yes
local master = yes
preferred master = yes
guest account = nobody
wins support = yes
keep alive = 20
debug level = 3
winpopup command = csh -c 'xedit \%s;rm \%s' &
log file = /var/log/samba_log.\%u
6.4. Samba 119
null passwords = no
unix password sync = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY
printing = bsd
printcap name = /etc/printcap
load printers = yes
hosts allow = 192.168.2.
hosts deny = 192.168.0.3 192.168.0.4
[homes]
comment = Pastas dos Utilizadores
public = no
browseable = yes
writeable = yes
hosts deny = 192.168.0.250
[printers]
comment = Impressoras Linux
public = no
browseable = yes
printable = yes
read only = yes
create mode = 0700
path = /var/spool/samba
admin users = admin, utilizador1
[netlogon]
comment = Partilha de Scripts
path = /etc/scripts
public = no
browseable = yes
writeable = no
[users]
comment = Utilizadores comuns
path = /home/comuns
public = yes
browseable = yes
writeable = yes
write list = @comuns
read list = @comuns
force create mode = 0777
120 Cap��tulo 6. Servi�cos
force directory mode = 0775
max disk size = 200
[oculto\$]
comment = S�o para Admnistradores
path = /home/admin/oculto
copy = homes
max connections = 1
A sec�c~ao [global] de�ne as con�gura�c~oes globais do SAMBA. A tabela seguinte apresenta
a explica�c~ao dos parametros do exemplo:
comment
Coment�ario para este host na rede
workgroup
Especi�ca o dom��nio ou workgroup a que este host pertence na rede
security
Por padr~ao o SAMBA utiliza a seguran�ca a n��vel do utilizador (security = user), mas
existem outras op�c~oes:
� security = share - Ser~ao solicitadas passwords por cada recurso partilhado e n~ao por
utilizador, ou seja, cada direct�orio ou impressora poder�a ter uma password �unica
conhecida apenas pelos utlizadores autorizados.
� security = user - As permiss~oes s~ao dadas de acordo com o login do utilizador, ou
atrav�es dos grupos (@grupo).
� security = server - O SAMBA tentar�a validar a password do utilizador enviando
os dados para outro servidor SMB, como outro servidor SAMBA ou um servidor
Windows. Deve-se incluir o parametro .password server = x.x.x.x. na sec�c~ao [global]
do smb.conf.
� security = domain - Usado se o Host for adicionado a um dom��nio Windows atrav�es
do comando smbpasswd. Neste caso as informa�c~oes do utilizador e password ser~ao
enviadas para o PDC da rede, exactamente como o servidor NT faria. De notar
que �e necess�ario que a conta do utilizador exista tanto no Linux quanto no servidor
prim�ario
os level
Este parametro n~ao �e obrigat�orio se n~ao se possui um servidor Windows na rede, mas deve
ser usado caso se tenha um ou mais. A vari�avel �e um n�umero de 1 a 255, onde 65 �e a
6.4. Samba 121
mesma vari�avel utilizada pelo servidor Windows. Deve-se utilizar um n�umero maior que
este (como 100 por exemplo) para garantir que o servidor SAMBA seja eleito na escolha
de valida�c~ao do login das esta�c~oes
announce as
Permite especi�car o tipo de servidor NetBios (nmbd) que ser�a divulgado na rede. As
op�c~oes aceites pelo SAMBA: "NT Server", "NT Workstation", "Win95"ou "WfW"
domain logons
Usado para validar o login na rede, apenas para esta�c~oes Windows
logon script
Indica qual �cheiro de logon cujo script ser�a executado para os utilizadores. A vari�avel
%u corresponde ao utilizador na rede. Deve tamb�em ser criado uma partilha de nome
[netlogon] apontando para o direct�orio dos scripts
logon path
Indica o caminho do per�l remoto do utilizador. A vari�avel %L corresponde ao nome do
servidor NetBios (que pode ser o pr�oprio SAMBA). O logon path �e �util quando utilizadores
costumam efectuar logon em mais de um Host na rede, pois o seu per�l �e trazido com o
logon. No caso do exemplo, o direct�orio "Pro�les"deve conter os scripts (em formato Mi-
crosoft usando NET USE e etc) e os scripts devem ser criados com o notepad do Windows
por exemplo, a �m de conservar o formato do �cheiro
domain master
Indica se o Host ser�a o Domain Master Browser de toda a rede (WAN)
local master
Indica se o Host ser�a o Master Browser da rede local
preferred master
Este parametro for�ca a elei�c~ao do SAMBA como Master Browser para o workgroup. �E
recomend�avel utilizar este parametro em conjunto com o .domain master = yes. para ga-
rantir a elei�cao.
Nota: se se possuir uma rede com servidores Windows e SAMBA e tamb�em possuir um
servidor como Domain Master, n~ao se usa esta op�c~ao e deixa-se o parametro .os level =
65. para haver equil��brio
guest acount
O SAMBA trabalha melhor em redes Microsoft com a existencia de uma conta guest (vi-
sitante em ingles). Por padr~ao a conta usada �e nobody...
122 Cap��tulo 6. Servi�cos
wins server
Indica qual o servidor de Wins da rede. Se o pr�oprio Host for o servidor de Wins ent~ao
n~ao se utiliza este parametro, pois haver�a um loop e o sistema p�ara!
wins support
Permite ao SAMBA ser o servidor de Wins na rede. Isto signi�ca que o SAMBA ter�a uma
tabela com o ambiente completo da rede, garantindo que as esta�c~oes tenham acesso a estas
informa�c~oes e ganhem em velocidade para encontrar e aceder �as partilhas e impressoras.
O Wins Server deve ser especi�cado na con�gura�c~ao de rede (TCP/IP) das esta�c~oes, que
�e o endere�co IP do servidor
keep alive
Como as m�aquinas que correm Windows tendem a bloquear de tempos a tempos, este
parametro �e usado para veri�car o estado da liga�c~ao, evitando tr�afego desnecess�ario na
rede. Tamb�em pode ser usado para esta�c~oes Linux
debug level
Parametro usado para dar exibilidade �a con�gura�c~ao do sistema. Permite ao SAMBA
trabalhar correctamente com algumas situa�c~oes de erro, por exemplo
winpopup command
Especi�ca qual �e o comando que ser�a executado quando o servidor receber mensagens
Winpopup. Aqui, muitas op�c~oes podem ser usadas de acordo com a preferencia do Admi-
nistrador. Se a sua rede utiliza mensagens deste tipo, �e interessante de�nir um comando
para o parametro, evitando assim poss��veis mensagens de erro para quem enviou a mensa-
gem ao servidor
log �le
Indica o �cheiro de log do SAMBA. A vari�avel %u corresponde ao nome de logon do utili-
zador
null passwords
Indica se ser�a ou n~ao poss��vel que alguns utilizadores tenham password nula de logon (lo-
gon sem password)
unix password sync
Se este parametro for activado (= yes) ent~ao clientes SMB (como esta�c~oes Windows) po-
der~ao alterar a sua password de login
socket options
Este parametro permite con�gura�c~oes extras para o protocolo, possibilitando uma melhor
performance do servidor em lidar com os pacotes na rede
6.4. Samba 123
printing
Indica qual o sistema de impress~ao padr~ao utilizado pelo Linux
printcap name
Indica o �cheiro para procura das de�ni�c~oes das impressoras
load printers
Disponibiliza as impressoras para a rede
hosts allow
Indica quais as m�aquinas que tem acesso ao servidor SAMBA. Pode-se utilizar o endere�co
IP ou o nome da m�aquina. Para garantir acesso a toda uma rede por exemplo, escreva:
"hosts allow = 172.16.90."
hosts deny
Como em "hosts allow", mas para restringir o acesso ao servidor SAMBA
A sec�c~ao [homes] de�ne os parametros para as pastas pessoais dos utilizadores na rede
(home dir):
comment
Coment�ario para esta partilha
public
Tamb�em conhecido como .guest ok., permite ou n~ao acesso de outros utilizadores
browseable
De�ne se a partilha ser�a ou n~ao vis��vel para o Ambiente de Rede. Esta�c~oes Windows95
vers~ao 4.00.950-C n~ao aceitam esta op�c~ao, onde uma poss��vel solu�c~ao �e utilizar o nome da
partilha seguido de $ (teste$ por exemplo), como se faz no Windows
writeable
Indica se o utilizador poder�a ou n~ao escrever na sua pasta pessoal (home dir)
As demais sec�c~oes correspondem a partilhas presentes na rede. Os parametros seguin-
tes s~ao apenas alguns dos poss��veis:
comment
Coment�ario para esta partilha
124 Cap��tulo 6. Servi�cos
path
Caminho do direct�orio mpartilhado
writeable
Indica se ser�a ou n~ao poss��vel criar ou excluir �cheiros ou direct�orios da partilha
public / guest ok
Indica se ser�a ou n~ao permitido o acesso de outros utilizadores
browseable
De�ne se a partilha ser�a ou n~ao vis��vel para o Ambiente de Rede
write list
De�ne os utilizadores e/ou grupos com acesso de escrita na partilha. Para mais de um
utilizador, separa-se os nomes por v��rgula (user1, user2, etc) e para grupos utiliza-se @
antes do nome do grupo
read list
Como em \write list", mas de�ne quem ter�a permiss~ao de apenas leitura
force create mode
Diz ao SAMBA para for�car o tipo de permiss~ao dos �cheiros criados (o mesmo que usar o
chmod). Esta permiss~ao tem menor prioridade que os parametros write list e read list
force directory mode
O mesmo que .force create mode., mas para os direct�orios criados na partilha
admin users
Indica quais s~ao os utilizadores com permiss~ao completa para a partilha (permiss~ao de root)
copy
Permite copiar os parametros de outra sec�c~ao, como um template por exemplo, �util se se
utiliza partilhas semelhantes. Para alterar parametros basta inform�a-los na sec�c~ao actual
hosts allow
Indica quais as m�aquinas que podem aceder �a partilha. Pode-se utilizar o endere�co IP ou
o nome da m�aquina. Para garantir acesso a toda uma rede classe C por exemplo, escreva:
"hosts allow = 172.16.90."
hosts deny
Como em "hosts allow", mas para restringir o acesso �a partilha
6.4. Samba 125
max connections
Permite especi�car o n�umero m�aximo de liga�c~oes simultaneas �a partilha
max disk size
Permite especi�car qual o limite de espa�co em disco que a partilha pode utilizar. Este
valor �e de�nido em Mb (megabytes)
De seguida apresentam-se as vari�aveis que podem ser usadas em parametros e a respectiva
fun�c~ao:
Vari�aveis Fun�c~oes
%S Nome do Servi�co (partilha) actual
%u Nome do utilizador
%g Nome do grupo
%H Nome do direct�orio pessoal do utilizador
%m Nome da m�aquina cliente fornecido pelo NETBIOS
%L Nome do servidor NETBIOS, permite que a con�gura�c~ao desejada
seja alterada de acordo com o cliente que vai aceder ao sistema
%M Nome Internet da m�aquina cliente
%a Sistema operativo da m�aquina remota, onde os reconhecidos s~ao
WfW, WinNT e Win95
%I O endere�co IP da m�aquina cliente
%T Data e hor�ario
Tabela 6.1: Vari�aveis dos parametros gerais do smb.conf
Agora que o smb.conf est�a con�gurado o melhor �e fazer um teste para saber se est�a tudo
correcto, com o comando testparm > teste config samba
Ser�a criado o �cheiro teste con�g samba. Confere-se este �cheiro e caso exista alguma
mensagem de erro (ERROR...) volta-se e corrige-se o problema. Feitas as con�gura�c~oes,
deve-se activar o SAMBA com o comando /etc/rc.d/init.d/smb start
Se se quiser veri�car se o SAMBA est�a a funcionar, executa-se o comando anterior mas
substitui-se o "start"por "status". Para que o SAMBA seja iniciado sempre ap�os a inici-
aliza�c~ao do servidor, executa-se o ntsysv e marca-se o SMB. Tamb�em se pode escrever a
linha de "start"do smb no �cheiro /etc/rc.d/rc.local, da seguinte forma:
1. Executa-se vi /etc/rc.d/rc.local
2. Tecla-se i para editar e corre-se at�e ao �nal do �cheiro
126 Cap��tulo 6. Servi�cos
3. Escreve-se a seguinte linha: /etc/rc.d/init.d/./smb start
4. Tecla-se Esc e em seguida : e depois wq
A partir de agora, sempre que o computador for reinicializado o SAMBA ser�a activado
automaticamente.
6.5 Sendmail
A primeira vers~ao foi escrita em 1979, por Eric Allman e desde ent~ao tem sido inclu��do
em todas as distribui�c~oes Unix. Ficou um pouco "esquecido"pelo autor entre 1982 e 1990
e por este e outros motivos, os diversos fabricantes de Unix (IBM, HP, Sun) trataram de
expandir e melhorar o sendmail original. O resultado desse processo foi o aparecimento de
in�umeras vers~oes incompat��veis entre si.
Em 1994, Eric come�cou a trabalhar na vers~ao 8.7 do sendmail, que incorporou a maio-
ria das extens~oes apresentadas pelos UNIX's comerciais. Assim, o sendmail passou a ser
novamente um programa �unico. A vers~ao actual do sendmail �e a 8.9.2, que foi lan�cada no
�nal de 1998.
6.5.1 Principais vantagens
� Padr~ao da Internet
Mais de 70% dos servidores de e-mail utilizam o sendmail como MTA (Mail Transfer
Agent). O QMail ainda det�em um s�etimo lugar em utiliza�c~ao na Internet, atr�as do
Exchange Server da Microsoft e de outros.
� Documenta�c~ao
Existe uma quantidade razo�avel de documenta�c~ao sobre o sendmail na Internet; exis-
tem HOWTOs dedicados a certos aspectos da con�gura�c~ao do sendmail; e caso tudo
isto falhe, sempre h�a o livro Sendmail3, mais conhecido pelos ��ntimos como BatBook.
Ainda n~ao existe um livro para o QMail, e a documenta�c~ao sobre o mesmo na Inter-
net ainda �e pouca. A documenta�c~ao on-line �e su�ciente por�em esparsa, ainda pode
melhorar bastante.
� Con�gura�c~ao poderosa/ ex��vel
A exibilidade de con�gura�c~ao do sendmail �e impressionante, bem superior �a do
QMail. Essa exibilidade �e heran�ca de uma �epoca onde redes TCP/IP, UUCP e
outras tinham de conviver em harmonia. Hoje, com o monop�olio do TCP/IP e
3Sendmail, 2nd Edition, Brian Costales with Eric Allman, O' Reilly & Associates, January 1997
6.5. Sendmail 127
da uniformiza�c~ao da Rede, essa vantagem do sendmail j�a n~ao �e um diferencial tao
importante.
� Suporte comercial
A Sendmail Inc., empresa fundada pelo pr�oprio Eric Allman, vende vers~oes comer-
ciais do sendmail com front-end gr�a�co de con�gura�c~ao. Isto pode ser interessante
para aqueles que precisam de suporte comercial ou fazem quest~ao da con�gura�c~ao
facilitada em modo gr�a�co. No caso do QMail, o que existe s~ao empresas que d~ao
suporte comercial ao QMail, sem vincula�c~ao directa com o autor.
� Vers~ao para NT
Uma das vers~oes comerciais �e para a plataforma Windows NT. N~ao existe vers~ao do
QMail para Windows.
6.5.2 Exemplos de con�gura�c~ao do Servidor
A maioria de n�os tem m�aquinas ligadas a Internet por conex~ao dial-up. A princ��pio, isso
tira o m�erito de correr um servidor de e-mail. Mas n�os queremos um servidor de e-mail
s�o nosso. Os exemplos de con�gura�c~ao a seguir abordam esse caso, e est~ao a funcionar no
nosso servidor.
O nosso servidor de Internet: estv.ipv.pt
Demos �a nossa m�aquina o nome gel.estv.ipv.pt (o n�o �e gel, o dominio �e estv.ipv.pt).
Executamos o comando cat /etc/hosts e devemos ter um resultado parecido com
\# For loopbacking.
127.0.0.1 localhost
127.0.0.1 gel.estv.ipv.pt gel
de seguida fazemos cat /etc/HOSTNAME e obtemos algo como
gel.estv.ipv.pt
Este nome da m�aquina - gel - n~ao est�a registado no DNS do nosso servidor, portanto
ningu�em do mundo exterior chegar�a �a nossa m�aquina usando esse nome. Ele s�o �e reconhe-
cido localmente.
Utilizadores no sistema local: Ricardo Silva e Rui Cabral. Poderiam haver mais.
Caixa postal no servidor de e-mail do servidor de Internet: [email protected] (Os
128 Cap��tulo 6. Servi�cos
programas de envio de e-mail devem estar con�gurados com este nome de caixa postal,
para que os diversos campos do e-mail, como "Return-Path:"e outros estejam preenchidos
com um e-mail v�alido. A n~ao observancia deste facto fez com que o nosso servidor aceitasse
todos os nossos e-mails mas n~ao entregasse nenhum...)
Dever�a ser possivel mandar e-mails entre utilizadores locais sem que esses e-mails sejam
repassados ao servidor da ESTV. Obviamente, dever�a ser poss��vel mandar e-mails para
outras caixas postais da ESTV.
E-mails para sites remotos devem ser simplesmente passados adiante ao servidor de e-
mail da ESTV. Por que n~ao entregar directamente no site de destino ? Pois isto pode
tomar muito tempo se o site for distante e lento (imagine, mandar um arquivo enorme
para [email protected]). Queremos entregar rapidamente o e-mail para a ESTV e ela
que se encarregue de mand�a-lo adiante.
Como o nome gel.estv.ipv.pt n~ao �e conhecido na Internet queremos que os nossos cor-
respondentes remotos mandem replys para [email protected], e n~ao para ricardo-
[email protected]. Isto implica em que nosso servidor de e-mail modi�que o endereco
do remetente, tirando fora o "gel".
6.5.3 Con�gura�c~ao do servi�co
O primeiro passo �e instalar o sendmail. A maioria, se n~ao a totalidade das distribui�c~oes
Linux vem com o sendmail; basta instalar o respectivo TGZ ou RPM. A pr�opria instala�c~ao
j�a activa o servi�co na porta 25, basta reiniciar a m�aquina.
Con�gurar directamente o arquivo /etc/sendmail.cf seria uma aventura �a parte. Aqui,
utilizaremos um processador de macros (m4) para gerar o arquivo de con�gura�c~ao. Quem
quiser pode usar o di� para ver em que pontos o /etc/sendmail.cf padr~ao ser�a modi�cado.
cd /usr/src/sendmail/cf/cf
Crie um arquivo de con�gura�c~ao com este conte�udo:
include(` ../m4/cf.m4� )
VERSIONID(`versao EPX para workstations dial-up�)dnl
OSTYPE(linux)
FEATURE(nouucp)dnl
FEATURE(masquerade\_envelope)
FEATURE(genericstable, `hash -o genericstable�)
GENERICS\_DOMAIN\_FILE(`/etc/genericsdomain�)
6.5. Sendmail 129
define(`SMART\_HOST�,`estv.ipv.pt�)
define(`ALIAS\_FILE�,`/etc/aliases�)
MAILER(local)dnl
MAILER(smtp)dnl
A feature masquerade envelope indica que queremos mascarar o remetente. De facto, que-
remos que [email protected] saia como [email protected] para o mundo
externo.
A de�ni�c~ao SMART HOST permite-nos dizer para que servidor de e-mail devemos passar
adiante as mensagens n~ao locais. N~ao queremos entreg�a-las n�os mesmos, pois isto demora-
ria muito e ocuparia muito tempo de uma cara linha telef�onica. Se fossemos um servidor
Internet, n~ao usar��amos este recurso.
Depois executa-se o comando
m4 epx.mc > /etc/sendmail.cf
Agora, vamos ao direct�orio /etc, criar algumas tabelas.
cd /etc
echo "" > genericstable
echo "ricardosilva [email protected]" >> genericstable
echo "root [email protected]" >> genericstable
makemap -r hash genericstable.db < genericstable
A fun�c~ao desta tabela �e determinar que os endere�cos da primeira coluna - no caso, endere�cos
locais - ser~ao convertidos para os endere�cos �a direita. Quem eventualmente responder a
um de nossos e-mails, mandar�a a resposta para a caixa postal do servidor de Internet, que
atende 24h por dia e est�a registada no DNS.
echo "gel.estv.ipv.pt> genericsdomain
Os dom��nios constantes neste arquivo ser~ao considerados locais. Pelo menos no nosso
caso, basta inserir o nome da nossa pr�opria m�aquina.
echo "postmaster: ricardosilva> aliases
newaliases
A fun�c~ao desta tabela �e passar adiante os e-mails de certos utilizadores para outros. Todo
o servidor de e-mail deve aceitar mensagens para o utilizador postmaster, ent~ao no nosso
caso passaremos estas mensagens adiante para um utilizador real.
130 Cap��tulo 6. Servi�cos
killall -1 sendmail
Ordenamos ao sendmail que releia os nossos arquivos de con�gura�c~ao, e a�� temos o nosso
pr�oprio servidor de e-mail.
6.5.4 Outros Servidores de Mail
O QMail foi escrito por D. J. Bernstein. A primeira vers~ao p�ublica (beta, 0.7) foi lan�cada
em Janeiro de 1996.
Por ser um programa recente, levou em conta desde o in��cio quest~oes como seguran�ca,
que se tornaram cr��ticas ap�os a difus~ao explosiva da Internet. Tamb�em levou em conta os
problemas e complexidades do pr�oprio sendmail; e procurou mimi�car todos os seus recur-
sos. Disto resultou um programa que �e o principal concorrente free-software do sendmail.
A vers~ao atual do QMail �e a 1.03, lan�cada em Junho de 1998. O site do QMail �e
http://www.qmail.org.
As suas principais vantagens s~ao:
� Velocidade
Segundo o autor, o QMail �e at�e 100 vezes mais r�apido que o sendmail em determinadas
tarefas.
� Seguran�ca
O QMail foi projectado desde o in��cio para ser seguro. O autor chegou a oferecer
um pr�emio de US$ 1.000 para quem conseguisse invadir uma m�aquina por meio de
uma fraqueza do QMail. Ningu�em conseguiu, e o dinheiro acabou ser doado �a Free
Software Foundation.
Enquanto o sendmail �e um programa monol��tico (um �unico execut�avel que faz tudo)
corendo com permiss~oes de administrador da m�aquina, o QMail �e dividido em di-
versos execut�aveis, dos quais apenas um (o que faz a gest~ao da �la) tem permiss~ao
de administrador da m�aquina. Mesmo que um invasor remoto consiga tomar conta
de um dos programas de comunica�c~ao, n~ao ter�a permiss~ao para fazer muita coisa.
Por outro lado, se ele tomar conta do sendmail, ter�a permiss~oes de administrador da
m�aquina.
Outro aspecto interessante do QMail �e que ele usa uma biblioteca pr�opria, diferen-
ciada, para lidar com strings. Isto praticamente elimina as hip�oteses de ocorrer um
crash do bu�er, que �e o defeito mais comum explorado na invas~ao de um programa.
� Facilidade de con�gura�c~ao
A forma de armazenamento dos parametros de con�gura�c~ao �e directa, honesta, em
6.6. Apache+SSL+PHP4 com a Interface de Webmail IMP 131
arquivos claramente nominados, �e incrivelmente f�acil de entender e manter. A con-
�gura�c~ao via macros �e relativamente f�acil, mas depois que se tenha uma boa no�c~ao
do funcionamento geral do sendmail, e isso �e di�cil obter.
� Adop�c~ao bem-sucedida por grandes utilizadores de e-mail
Empresas como Red Hat e outras substitu��ram o sendmail pelo QMail com sucesso.
6.6 Apache+SSL+PHP4 com a Interface de Webmail
IMP
Muitos ISP (Internet Services Provider), faculdades e entidades ligadas a Internet necessi-
tam de um servi�co de Webmail para os seus utilizadores. Atrav�es de uma interface intuitiva
as pessoas tem acesso �a sua conta de e-mail, lendo e escrevendo novas mensagens, arma-
zenando contactos, entre outras utilidades. Devido �a grande facilidade e utiliza�c~ao, os
servi�cos de Webmail s~ao de grande popularidade na Internet. Grandes empresas oferecem
este servi�co de forma gratuita para os utilizadores da Internet, podemos citar o Hotmail,
Yahoo e Portugalmail como exemplos da grande procura e utiliza�c~ao deste servi�co.
No mundo Unix temos diversos aplicativos que oferecem um interface de Webmail para
os utilizadores. Desde solu�c~oes gratuitas e comercias. Uma das distribui�c~oes de Webmail
mais utilizadas �e o IMP da Horde (http://www.horde.org). Este pacote tem uma grande
aceita�c~ao devido ao seu interface amig�avel, facilidade de con�gura�c~ao e instala�c~ao.
De seguida vamos explicar como instalar um servidor Web com suporte a SSL, PHP e
a interface de Webmail IMP. Vamos utilizar a instala�c~ao padr~ao da maioria dos pacotes,
que pode ser ajustada de acordo com as necessidades desde que se tenha os requisitos
necess�arios para o servi�co de Webmail funcionar. Caso j�a se possua algum dos pacotes
envolvidos instalados, pode-se remove-los ou saltar a parte da instala�c~ao dos mesmos e
mudar as op�c~oes de instala�c~ao de acordo com as necessidades.
6.6.1 Instala�c~ao do Apache com PHP e Mod-SSL
No exemplo seguinte a instala�c~ao do PHP, como do MOD-ssl v~ao ser instaladas estatica-
mente junto com apache. Se tem um servidor de Apache instalado, com suporte a PHP4
(Suportando Mysql e IMAP) pode saltar esta parte e ir directo para a instala�c~ao do IMP.
Download dos seguintes pacotes:
� Apache - http://httpd.apache.org/dist/apache 1.3.14.tar.gz
132 Cap��tulo 6. Servi�cos
� PHP - http://www.php.net/do download.php?download �le=php-4.0.3.tar.gzsource
site=www.php.net
� IMAP - ftp://ftp.cac.washington.edu/imap/
� Mysql - http://www.mysql.com/Downloads/MySQL-3.22/mysql-3.22.32.tar.gz
� ModSSL - http://www.modssl.org/source/mod ssl-2.7.0-1.3.14.tar.gz
� OpenSLL - http://www.openssl.org/source/openssl-0.9.6.tar.gz
�E prov�avel que neste momento alguns dos pacotes anteriores j�a ter~ao vers~oes mais recentes.
Neste caso, pre�ra sempre a vers~ao mais recente, e leia a documenta�c~ao para ver se algo
mudou nos procedimentos de con�gura�c~ao.
Neste exemplo vamos utilizar o diret�orio /usr/src/web para descompactar os arquivos e
utilizar a con�gura�c~ao padr~ao de instala�c~ao dos aplicativos.
Descompactar o pacote openssl-0.9.6.tar.gz
tar xvfz openssl-0.9.6.tar.gz
Entrar no direct�orio do openssl
cd openssl-0.9.6
Con�gurar o openssl
./configure
Compilar o openssl
make
Instalar o openssl
make install
Adicionar o direct�orio /usr/local/ssl/lib no arquivo /etc/ld.so.conf
echo "/usr/local/ssl/lib>> /etc/ld.so.conf
Actualizar as libraries
ldconfig
6.6. Apache+SSL+PHP4 com a Interface de Webmail IMP 133
Voltar para o direct�orio /usr/src/web
cd /usr/src/web
Descompactar o pacote apache 1.3.14.tar.gz
tar xvfz apache 1.3.14.tar.gz
Entrar no direct�orio do apache
cd apache 1.3.14/
Executar o comando con�gure
./configure
Voltar para o diretorio /usr/src/web
cd ..
Descompactar o source do pacote mod ssl
tar xvfz mod ssl-2.7.0-1.3.14.tar.gz
Entrar no direct�orio do mod ssl
cd mod ssl-2.7.0-1.3.14
Con�gurar o mod ssl
./configure --with-apache=../apache 1.3.14 --with-ssl=../openssl-0.9.6
Voltar para o direct�orio /usr/src/web
cd ..
Descompactar as fontes do IMAP
tar xvfz imap-2000.RELEASE-CANDIDATE.7.tar.Z
134 Cap��tulo 6. Servi�cos
Entrar no direct�orio do IMP
cd imap-2000.RELEASE-CANDIDATE.7
A instala�c~ao e con�gura�c~ao do IMAP vai depender do sistema que se estiver a utilizar,
pode-se veri�car o arquivo Make�le e ver qual a op�c~ao que se enquadra melhor com o seu
sistema. Para os sistemas Linux, a op�c~ao slx funciona na maioria dos casos.
make slx
Copiar o imapd para o direct�orio /usr/sbin
cp imapd/imapd /usr/sbin
Adicionar a linha que chama o imapd no seu inetd
echo "imap stream tcp nowait root /usr/sbin/tcpd imapd>> /etc/inetd.conf
Nota: Pode ser que j�a tenha esta linha no seu inetd.conf, ent~ao basta descomenta-la.
Reiniciar o inetd
killall -1 inetd
Voltar para o direct�orio /usr/src/web
cd ..
Instalar e con�gurar o Mysql
Descompactar o pacote do Mysql
tar xvfz mysql-3.22.32.tar.gz
Entrar no Direct�orio do Mysql
cd mysql-3.22.32
Con�gurar o Mysql de acordo com o seu sistema
./configure
Compilar
make
6.6. Apache+SSL+PHP4 com a Interface de Webmail IMP 135
Instalar
make install
Instalar os databases do Mysql
./scripts/mysql install db
Inicializar o Mysql
/usr/local/mysql/bin/safe mysqld
Nota: �E interessante de�nir uma password para o utilizador root do Mysql atrav�es do co-mando: mysqladmin password PASSWORD
Descompactar os fontes do PHP4
tar xvfz php-4.0.3.tar.gz
Entrar no direct�orio do PHP4
cd php-4.0.3
Con�gurar o PHP4
./configure --with-mysql=/usr/local --with-apache=../apache 1.3.14
--with-imap=../imap-2000.RELEASE-CANDIDATE.7 --enable-track-vars
Neste caso estamos a utilizar o suporte da base de dados Mysql do PHP instalado no
direct�orio /usr/local, se o direct�orio de instala�c~ao for diferente tem de alterar o local onde
est�a instalada a base de dados Mysql. Muitas distribui�c~oes do Linux que j�a vem com o
Mysql pr�e-instalado esta instala�c~ao encontra-se no direct�orio /usr.
O suporte ao IMAP tamb�em est�a habilitado e as fontes neste exemplo est~ao no direct�orio
../imap-2000.RELEASE-CANDIDATE.7.
Compilar o PHP
make
Instalar o PHP
make install
136 Cap��tulo 6. Servi�cos
Voltar para o direct�orio do Apache
cd ../apache 1.3.14
Con�gurar o apache com os m�odulos PHP e Mod-ssl
./configure --enable-module=ssl --activate-module=src/modules/php4/libphp4.a
--enable-module=so
A op�c~ao -enable-module=so serve para utilizar do recurso Dynamic Shared Object, que
possibilita a op�c~ao do apache carregar m�odulos adicionais sem a necessidade de recompilar
o Apache. Esta op�c~ao funciona em determinados sistemas Unix, como o Linux.
Compilar o Apache
make
6.6.2 Criar certi�cado para o Servidor
Os certi�cados podem ser criados manualmente ou utilizar a op�c~ao make certi�cate. A
op�c~ao make certi�cate oferece a possibilidade de se criar tres tipos de certi�cados: dummy,
test, custom. Recomendamos a op�c~ao custom, onde se cria o certi�cado com os seus dados.
make certificate TYPE=custom
6.6.3 Criar certi�cados manualmente
1. Criar a Key RSA para seu Apache Server
� openssl genrsa -des3 -out server.key 1024
2. Criar Certi�cate Signing Request (CSR) com a Key RSA
� openssl req -new -key server.key -out server.csr
� Responder �as especi�ca�c~oes de acordo com os dados do administrador. O
parametro Common Name (eg, YOUR name) deve ser o nome do host que
se deseja criar o certi�cado.
3. Certi�car o seu certi�cado atrav�es de uma Autoridade Certi�cadora (Certi�cate
Authority (CA)) - Existem diversas entidades certi�cadoras na Web, como a verisign
e certsign. De seguida vamos explicar como criar uma Autoridade Certi�cadora.
6.6. Apache+SSL+PHP4 com a Interface de Webmail IMP 137
4. Criar a Key RSA para o seu CA
� openssl genrsa -des3 -out ca.key 1024
5. Criar uma assinatura para a Key RSA do seu CA
� openssl req -new -x509 -days 365 -key ca.key -out ca.crt
6. Assinar o seu certi�cado com a Autoridade Certi�cadora que criou. - O mod ssl
vem com um script (sign.sh) que automatiza este processo, ele est�a no direct�orio
pkg.contrib do pacote do mod ssl.
� ./sign.sh server.csr
Ap�os isto ele cria o arquivo server.crt que corresponde ao certi�cado assinado pela entidade
certi�cadora.
Como foi criado uma key do servidor com password, para utilizar este certi�cado quando
for iniciar o apache, vai ser necess�ario informar a password. Este processo acaba por im-
pedir a automatiza�c~ao da inicializa�c~ao do Apache. Para resolver este problema, pode ser
criado um certi�cado sem esta password.
openssl rsa -in server.key -out server.key.nopass
Utilizando esta key server.key.nopass n~ao vai ser necess�ario informar uma password para
inicializar o apache.
NOTA:Deve-se ter cuidado com a permiss~ao dos seus certi�cados, principalmentecom este certi�cado sem password. Recomenda-se a permiss~ao de leitura somente
para o owner.
chmod 400 server.key.nopass
Instalar o Apache
make install
O pr�oximo passo �e con�gurar o servidor Apache de acordo com as necessidades. O ar-
quivo de con�gura�c~ao vai estar no direct�orio /usr/local/apache/conf, o nome do arquivo
de con�gura�c~ao �e apache.conf.
138 Cap��tulo 6. Servi�cos
6.7 FTP
6.7.1 Controlar o acesso aos servi�cos
Como medida de seguran�ca, a maioria dos servi�cos de rede s~ao administrados por um pro-
grama protector chamadoTCP wrapper. Os servi�cos protegidos s~ao listados em /etc/inetd.conf
que especi�ca se /usr/sbin/tcpd.tcpd pode permitir ou negar acesso a um servi�co, e �a con-
�gura�c~ao em /etc/hosts.allow e /etc/hosts.deny. Por default do Red Hat Linux s~ao permiti-
dos todos os servi�cos solicitados. Para desactivar ou limitar servi�cos edita-se /etc/hosts.allow.
Considerando o �cheiro abaixo /etc/hosts.allow como exemplo:
ALL: ipv.pt .estv.ipv.pt
in.talkd: ALL
in.ntalkd: ALL
in.fingerd: ALL
in.ftpd: ALL
Esta con�gura�c~ao permite todas as liga�c~oes de m�aquinas ipv.pt e *.estv.ipv.pt. Tamb�em
permite talk, �nger e ftp entre todas m�aquinas. O tcpd permite um controle de acesso muito
mais so�sticado, usando uma combina�c~ao de /etc/hosts.allow e /etc/hosts.deny.
6.7.2 FTP An�onimo
A con�gura�c~ao do FTP an�onimo �e simples. Basta instalar o pacote rpm chamado anon-ftp
(que deve ser feito durante a instala�c~ao). Uma vez instalado, o FTP an�onimo �ca activo e
a funcionar.
H�a alguns �cheiros que podem ser con�gurados no servidor de FTP:
/etc/ftpaccess
De�ne a maior parte do controlo de acessos ao servidor ftp. Algumas coisas que podem
ser feitas: con�gurar grupos l�ogicos para controlar acessos de diversos sites, limitar o
n�umero de liga�c~oes simultaneas de FTP, con�gurar a transferencia de logging, e muito
mais.
/etc/ftphosts
O �cheiro de ftphosts �e usado para permitir ou restringir acesso a certas contas de
outros hosts.
6.8. DNS 139
/etc/ftpusers
Este �cheiro lista todos os utilizadores que n~ao tem permiss~ao de executar transmiss~oes
ftp. Por exemplo, root �e listado em /etc/ftpusers como padr~ao. Isso signi�ca que n~ao
pode ser executado ftp nesta m�aquina como super-utilizador. Isto �e uma boa medida de
seguran�ca.
6.8 DNS
O DNS (ou Domain Name Server), converte os nomes das m�aquinas nos seus endere�cos
IP que todas as m�aquinas ligadas �a rede devem ter. Este servi�co \traduz" (map) do nome
para o endere�co IP e vice-versa entre muitas outras coisas.
Um mapping �e simplesmente uma associa�c~ao entre duas coisas, neste caso o nome da
m�aquina, por exemplo gel.estv.ipv.pt, e o seu endere�co IP 172.16.90.1. O DNS tamb�em
cont�em mappings no sentido inverso, do IP para o nome da m�aquina; isto �e o chamado
\reverse mapping".
O DNS �e para aqueles que s�o agora come�cam a utilizar o Linux, uma das �areas mais
densas da administra�c~ao de redes. Felizmente n~ao �e muito dif��cil de entender. Nesta
sec�c~ao vamos tentar descrever como se con�gura um DNS Name Server.
Antes de come�car �e necess�ario veri�car algumas condi�c~oes essenciais:
� fazer telnet de e para a m�aquina;
� estabelecer todo o tipo de liga�c~oes �a Internet;
� e muito importante, fazer telnet a 127.0.0.1.
Al�em destas condi�c~oes �e preciso ainda ter os �cheiros /etc/nsswitch.conf, /etc/resolv.conf
e /etc/hosts bem con�gurados e cujas fun�c~oes j�a dever~ao ser conhecidas pois j�a foram fa-
ladas anteriormente.
O Name Serving no Linux �e feito por um programa chamado named. O Named �e um
programa que faz parte do pacote BIND, est�a inclu��do em quase todas as distribui�c~oes do
Linux e normalmente �e instalado em /usr/sbin/named.
140 Cap��tulo 6. Servi�cos
6.8.1 Con�gura�c~ao
Tal como tinhamos referido anteriormente, �e preciso o �cheiro /etc/named.conf. Esta in-
forma�c~ao �e lida quando o named arranca.
Vamos apresentar se seguida um exemplo do que este �cheiro cont�em depois da instala�c~ao
o �cheiro apenas cont�em:
// Config file for caching only name server
options {
directory "/var/named";
// Uncommenting this might help if you have to go through a
// firewall and things are not working out. But you probably
// need to talk to your firewall admin.
// query-source port 53;
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
A linha com o parametro directory indica ao named aonde �e que ele deve procurar os
�cheiros. Assim, em todos os parametros �le as indica�c~oes s~ao sempre tendo como base
o direct�orio indicado acima. Um exemplo disto �e pz que deve ser entendido como um
direct�orio localizado em /var/named, isto �e, /var/named/pz.
O �cheiro /var/named/root.hints deve ter alguma coisa como:
; There might be opening comments here if you already have this file.
; If not don't worry.
;
. 6D IN NS M.ROOT-SERVERS.NET.
. 6D IN NS I.ROOT-SERVERS.NET.
6.8. DNS 141
. 6D IN NS E.ROOT-SERVERS.NET.
. 6D IN NS D.ROOT-SERVERS.NET.
. 6D IN NS A.ROOT-SERVERS.NET.
. 6D IN NS H.ROOT-SERVERS.NET.
. 6D IN NS C.ROOT-SERVERS.NET.
. 6D IN NS G.ROOT-SERVERS.NET.
. 6D IN NS F.ROOT-SERVERS.NET.
. 6D IN NS B.ROOT-SERVERS.NET.
. 6D IN NS J.ROOT-SERVERS.NET.
. 6D IN NS K.ROOT-SERVERS.NET.
. 6D IN NS L.ROOT-SERVERS.NET.
;
M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33
I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17
E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10
D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90
A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4
H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53
C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12
G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4
F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241
B.ROOT-SERVERS.NET. 6D IN A 128.9.0.107
J.ROOT-SERVERS.NET. 6D IN A 198.41.0.10
K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129
L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12
A pr�oxima sec�c~ao no �cheiro named.conf �e �ultima zona. Esta parte vai ser explicada
mais adiante; por agora criamos um �cheiro chamado 127.0.0 no subdirect�orio pz com o
seguinte conte�udo:
$TTL 3D
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
1 ; Serial
8H ; Refresh
2H ; Retry
4W ; Expire
1D) ; Minimum TTL
NS ns.linux.bogus.
1 PTR localhost.
142 Cap��tulo 6. Servi�cos
De seguida �e preciso o �cheiro /etc/resolv.conf que deve ser qualquer coisa como:
search subdomain.your-domain.edu your-domain.edu
nameserver 127.0.0.1
A linha com o \search" especi�ca que dominios devem ser procurados para cada host
name ao qual nos queremos ligar. A linha \nameserver" especi�ca o endere�co do nosso
nameserver, neste caso a nossa pr�opria m�aquina uma vez que �e onde o named est�a a correr
(127.0.0.1 est�a correcto independentemente de a nossa m�aquina ter ou n~ao outro endere�co
IP).
Se quisermos listar v�arios name servers basta colocar uma linha \nameserver" para cada
um deles. Nota: O named nunca le este �cheiro, apenas o faz o resolver que usa o named.Em alguns �cheiros resolv.conf �e encontrada uma linha com a indica�c~ao \domain", isto
est�a correcto mas nunca se deve usar o \search" e \domain" pois s�o um deles ir�a funcio-nar'.
Para demonstrar o que este �cheiro faz, vamos apresentar um exemplo considerando o
resolv.conf apresentado em cima
Se um cliente tentar encontrar foo, ent~ao foo.sub-domain.your-domain.edu
�e o primeiro caminho a ser tentado, de seguida foo.your-domain.edu e �-
nalmente foo. Se colocarmos v�arios dom��nios na linha de procura \search",
logicamente ir�a demorar muito mais tempo a procurar em todos eles.
O exemplo assume que n�os pertencemos ao dom��nio subdomain.your-domain.edu; a nossa
m�aquina provavelmente �e etn~ao chamada your-machine.subdomain.your-domain.edu. A
linha de procura \search" n~ao deve conter o nosso TLD (Top Level Domain, neste caso
\edu") pelas raz~oes explicadas no par�agrafo anterior.
Se precisarmos de frequentemente ligar a m�aquinas de outro dom��nio �e possivel de acres-
centar esse dom��nio �a linha de pesquisa \search" da seguinte forma
search subdomain.your-domain.edu your-domain.edu other-domain.com
Obviamente �e preciso substituir os dom��nios de exemplo apresentados por nomes de dom��nios
reais.
6.8. DNS 143
6.8.2 Arrancar o named
Depois de tudo con�gurado �e tempo de arrancar com o servi�co named. �E muito simples,
basta executar o comando ndc start. Se por acaso n~ao funcionar pode-se tentar de outra
forma /usr/sbin/ndc start. Se n~ao obtivermos nenhuma mensagem de erro, ent~ao �e
porque o servi�co j�a est�a a funcionar.
De seguida �e aconselh�avel testar o nosso setup. Existe um programa chamado nslookup
que �e usado para isto. Actualmente h�a um programa mais apropriado chamado dig cuja
forma de uso �e algo como isto:
\# dig -x 127.0.0.1
e o seu resultado ser�a algo parecido a
; <<>> DiG 8.2 <<>> -x
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUERY SECTION:
;; 1.0.0.127.in-addr.arpa, type = ANY, class = IN
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 1D IN PTR localhost.
;; AUTHORITY SECTION:
0.0.127.in-addr.arpa. 1D IN NS ns.penguin.bv.
;; Total query time: 30 msec
;; FROM: lookfar to SERVER: default -- 127.0.0.1
;; WHEN: Sat Dec 16 00:16:12 2000
;; MSG SIZE sent: 40 rcvd: 110
Se foi isto que apareceu ent~ao est�a a funcionar correctamente. Caso contr�ario o melhor
ser�a voltar atr�as e rever as con�gura�c~oes. De cada vez que se alterar o named.conf �e
necess�ario fazer o restart do servi�co com o comando ndc restart.
6.8.3 Resolvers
Todos os sistemas operativos implementaram o padr~ao C API para as chamadas gethostby-
name e gethostbyaddr. Estas chamadas podem obter informa�c~oes de diversas fontes que
144 Cap��tulo 6. Servi�cos
podem ser con�guradas no /etc/nsswitch.conf.
Este �cheiro indica-nos de que �cheiro ou base de dados �e que se devem procurar de-
terminados tipos de dados. Usualmente cont�em alguns coment�arios muito �uteis no in��cio
do �cheiro que nos d~ao uma grande ajuda na sua con�gura�c~ao.
Na linha que come�ca por hosts devemos ter algo como
hosts: files dns
Esta linha indica-nos onde �e que esses programas devem procurar primeiro no �cheiro
/etc/hosts e de seguida veri�car o DNS de acordo com o estabelecido no resolv.conf.
6.8. DNS 145
[?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?]
Bibliogra�a
[1] Alvestad, M. Y., and Crosser, E. Linux Around the World - Linux Journal, No
2 (Junho 1994).
[2] Alvestrand, H. Linux Counter - Linux Journal, No 2 (Junho 1994).
[3] Brown, P. Introducing the Network Information Service for Linux - Linux Journal,
No 50 (Junho 1998).
[4] Corp., R. H. Red Hat Linux 7.1 Install Guide.
[5] Hughes, P. Book Review: "Linux Installation and Getting Started by Matt Welsh-Linux Journal, No 1 (Maio 1994).
[6] Komarinski, M. Linux System Administration - Linux Journal, No 14 (Junho 1995).
[7] Lars Wirzenius, J. O. Linux System Administrator's Guide. 1983.
[8] Olaf Kirch, T. D. Linux Network Administrator's Guide. 2000.
[9] Quinlan, D. The Linux FSSTD (File System Standard) - Linux Journal, No 2(Junho 1994).
[10] Ramey, C. What's GNU: BASH - The GNU Shell - Linux Journal, No 4 (Agosto
1994).
[11] Staff, T. L. J. Linux Distributions: A comparison of the popular ones - Linux
Journal, no 23 (Mar�co 1996).
[12] Thompson, B. Linux vs Windows NT and OS/2 - Linux Journal, No 1 (Maio 1994).
[13] Tridgell, A. Samba: Unix Talking with PCs - Linux Journal, No 7 (Novembro
1994).