You are on page 1of 179

Slackware Linux Essentials O Guia Ocial do Slackware Linux

Projeto de traduo do Slackbook para Portugus do Brasil ca e Slackbookptbr - http://slackbookptbr.sf.net Verso: 1.0.2 a

ii Slackware Linux Essentials Segunda Edio ca Publicao: Maio 2005 ca isbn: 1-57176-338-4 Slackware Linux Essentials, Second Edition Copyright c 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Slackware Linux, Inc. All rights reserved. Printed in Canada. Published by Slackware Linux, Inc., 1164 Claremont Drive, Brentwood, CA 94513 Lead Author, Second Edition: Alan Hicks. Editors, Second Edition: Murray Stokely and FuKang Chen. Authors, First Edition: Chris Lumens, David Cantrell, and Logan Johnson. Print History: June, 2000 First Edition May, 2005 Second Edition Slackware Linux is a registered trademark of Patrick Volkerding and Slackware Linux, Inc. Linux is a registered trademark of Linus Torvalds. America Online and AOL are registered trademarks of America Online, Inc. in the United States and/or other countries. Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of Apple Computer, Inc., registered in the United States and other countries. IBM, AIX, EtherJet, Net?nity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both. IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States. Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Netscape and the Netscape Navigator are registered trademarks of Netscape Communications Corporation in the U.S. and other countries. Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries. XFree86 is a trademark of The XFree86 Project, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and Slackware Linux, Inc. was aware of the trademark claim, the designations have been followed by the tm or the R symbol.

Sumrio a
1 Uma Introduo ao Slackware Linux ca 1.1 O que o Linux ? . . . . . . . . . . e 1.2 Uma palavrinha sobre GNU . . . . . 1.3 O que o Slackware? . . . . . . . . . e 1.4 Cdigo Aberto e Software Livre . . . o 2 Ajuda 2.1 Ajuda 2.1.1 2.1.2 2.1.3 2.2 Ajuda 2.2.1 2.2.2 2.2.3 5 5 5 5 6 9 9 9 10 10 10 10 11 11 13 13 13 14 14 14 15 16 16 16 17 17 19 20 20 21 21 22 22 23 24 31 31 31 32 33 35 35 36 38

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

do Sistema . . . . . . . . . . . . . . . man . . . . . . . . . . . . . . . . . . O diretrio /usr/doc/ . . . . . . . . o HOWTOs e mini-HOWTOs . . . . . Online . . . . . . . . . . . . . . . . . O Site Ocial e os Frums de Ajuda o Suporte por E-mail . . . . . . . . . . Sites no-ociais e Fruns de ajuda . a o

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

3 Instalao ca 3.1 Obtendo o Slackware . . . . . . . . . 3.1.1 A caixa com os discos Ociais 3.1.2 Atravs da Internet . . . . . e 3.2 Requisitos para Instalao . . . . . . ca 3.2.1 As Sries do Software . . . . e 3.2.2 Mtodos de Instalao . . . . e ca 3.2.3 Disco de Boot . . . . . . . . . 3.2.4 Disco de Root . . . . . . . . . 3.2.5 Disco Complementar . . . . . 3.2.6 Criando os discos . . . . . . . 3.3 Particionamento . . . . . . . . . . . 3.4 O programa setup . . . . . . . . . . 3.4.1 HELP . . . . . . . . . . . . . 3.4.2 KEYMAP . . . . . . . . . . . 3.4.3 ADDSWAP . . . . . . . . . . 3.4.4 TARGET . . . . . . . . . . . 3.4.5 SOURCE . . . . . . . . . . . 3.4.6 SELECT . . . . . . . . . . . 3.4.7 INSTALL . . . . . . . . . . . 3.4.8 CONFIGURE . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

4 Congurao do Sistema ca 4.1 Viso Geral do Sistema . . . . . . . . . . . . . . . . . a 4.1.1 Layout do Sistema de Arquivos . . . . . . . . . 4.1.2 Encontrando Arquivos . . . . . . . . . . . . . . 4.1.3 O Diretrio /etc/rc.d/ . . . . . . . . . . . . . . o 4.2 Selecionando um Kernel . . . . . . . . . . . . . . . . . 4.2.1 O diretrio /kernels no CD-ROM do Slackware o 4.2.2 Compilando um Kernel a partir do cdigo-fonte o 4.2.3 Utilizando os Mdulos do Kernel . . . . . . . . o iii

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

iv 5 Congurao de Rede ca 5.1 Introduo: netcong seu amigo. . . . . . . . . . . . . . . . . ca e 5.2 Congurao do Hardware de Rede . . . . . . . . . . . . . . . . ca 5.2.1 Carregando os Mdulos de Rede . . . . . . . . . . . . . o 5.2.2 Placas de Rede Local (10/100/1000Base-T and Base-2) 5.2.3 Modems . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Congurao TCP/IP . . . . . . . . . . . . . . . . . . . . . . . ca 5.3.1 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 IP Esttico . . . . . . . . . . . . . . . . . . . . . . . . . a 5.4 PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 pppsetup . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Suporte ao Hardware . . . . . . . . . . . . . . . . . . . . 5.5.2 Congurao da rede sem o . . . . . . . . . . . . . . . ca 5.5.3 Congurando a rede . . . . . . . . . . . . . . . . . . . . 5.6 Sistemas de Arquivo de Rede . . . . . . . . . . . . . . . . . . . 5.6.1 SMB/Samba/CIFS . . . . . . . . . . . . . . . . . . . . . 5.6.2 Network File System (NFS) . . . . . . . . . . . . . . . . 6 Congurarao ca 6.1 xorgcong . 6.2 xorgsetup . 6.3 xinitrc . . . 6.4 xwmcong . 6.5 xdm . . . . do . . . . . . . . . . X . . . . . . . . . .

SUMARIO 39 39 39 40 40 40 41 41 42 43 44 45 45 45 46 47 47 48 49 51 51 54 54 56 57 61 61 63 64 64 68 69 69 69 69 70 70 71 72 72 72 74 74 75 77 77 78 80 81 83 85 85 85 86 87 87

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

7 Processo de Boot 7.1 LILO . . . . . . . 7.2 LOADLIN . . . . 7.3 Dual Boot . . . . 7.3.1 Windows 7.3.2 Linux . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

8 O Shell 8.1 Os Usurios . . . . . . . . . . . . . . . . . . . . . . . . . . . a 8.1.1 Entrando no Sistema . . . . . . . . . . . . . . . . . . 8.1.2 Root: O Super Usurio . . . . . . . . . . . . . . . . a 8.2 A Linha de Comando . . . . . . . . . . . . . . . . . . . . . 8.2.1 Executando Programas . . . . . . . . . . . . . . . . 8.2.2 Substituio de Meta-Caracteres . . . . . . . . . . . ca 8.2.3 Redirecionamento de Entrada e Sa e Uso do Pipe da 8.3 O Bourne Again Shell (bash) . . . . . . . . . . . . . . . . . 8.3.1 Variveis de Ambiente . . . . . . . . . . . . . . . . . a 8.3.2 Completando Linhas de Comando com o TAB . . . 8.4 Terminais Virtuais . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Screen . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Estrutura do Sistema de 9.1 Propriedade . . . . . . 9.2 Permisses . . . . . . . o 9.3 Links . . . . . . . . . . 9.4 Montando Dispositivos 9.5 Montagem NFS . . . . Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

10 Manipulando arquivos e diretrios o 10.1 Navegao: ls, cd, e pwd . . . . . . ca 10.1.1 ls . . . . . . . . . . . . . . . 10.1.2 cd . . . . . . . . . . . . . . 10.1.3 pwd . . . . . . . . . . . . . 10.2 Paginadores: more, less e most . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

SUMARIO 10.2.1 more . . . . . . . . . 10.2.2 less . . . . . . . . . . 10.2.3 most . . . . . . . . . Sa Simples: cat e echo . da 10.3.1 cat . . . . . . . . . . 10.3.2 echo . . . . . . . . . Criao: touch e mkdir . . . ca 10.4.1 touch . . . . . . . . 10.4.2 mkdir . . . . . . . . Copiar e mover . . . . . . . 10.5.1 cp . . . . . . . . . . 10.5.2 mv . . . . . . . . . . Excluso: rm e rmdir . . . . a 10.6.1 rm . . . . . . . . . . 10.6.2 rmdir . . . . . . . . Apelidando arquivos com ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

v 87 87 88 88 88 88 89 89 89 89 89 90 90 90 91 91 93 93 94 94 97 99 101 101 101 104 105 106 107 111 111 111 112 112 112 113 114 114 115 116 116 116 117 118 119 120 120 120 121 122 122 123 124 124 124 125

10.3

10.4

10.5

10.6

10.7

11 Controle de Processos 11.1 Segundo Plano (background) . 11.2 Primeiro plano (foregrounding) 11.3 ps . . . . . . . . . . . . . . . . 11.4 kill . . . . . . . . . . . . . . . . 11.5 top . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

12 O Essencial em Administrao de Sistema ca 12.1 Usurios e Grupos . . . . . . . . . . . . . . a 12.1.1 Scripts fornecidos . . . . . . . . . . . 12.1.2 Mudando senhas . . . . . . . . . . . 12.1.3 Mudando a Informao do Usurio . ca a 12.2 Usurios e Grupos, o modo dif . . . . . . a cil 12.3 Desligando o sistema apropriadamente . . . 13 Comandos de rede bsicos a 13.1 ping . . . . . . . . . . . . . . . . . 13.2 traceroute . . . . . . . . . . . . . . 13.3 Ferramentas DNS . . . . . . . . . . 13.3.1 host . . . . . . . . . . . . . 13.3.2 nslookup . . . . . . . . . . 13.3.3 dig . . . . . . . . . . . . . . 13.4 nger . . . . . . . . . . . . . . . . 13.5 telnet . . . . . . . . . . . . . . . . 13.5.1 Outras utilidades do telnet 13.6 O ssh (Secure Shell) . . . . . . . . 13.7 email . . . . . . . . . . . . . . . . . 13.7.1 pine . . . . . . . . . . . . . 13.7.2 elm . . . . . . . . . . . . . 13.7.3 mutt . . . . . . . . . . . . . 13.7.4 nail . . . . . . . . . . . . . 13.8 Navegadores . . . . . . . . . . . . . 13.8.1 lynx . . . . . . . . . . . . . 13.8.2 links . . . . . . . . . . . . . 13.8.3 wget . . . . . . . . . . . . . 13.9 Clientes FTP . . . . . . . . . . . . 13.9.1 ftp . . . . . . . . . . . . . . 13.9.2 ncftp . . . . . . . . . . . . . 13.10Conversando com outras pessoas . 13.10.1 wall . . . . . . . . . . . . . 13.10.2 talk . . . . . . . . . . . . . 13.10.3 ytalk . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

vi 14 Segurana c 14.1 Desabilitando Servios . . . . . . . . . . . . . . . . . . . . . . . . . c 14.1.1 Servios iniciados com o inetd . . . . . . . . . . . . . . . . . c 14.1.2 Servios iniciados pelos scripts de inicializao (init scripts) c ca 14.2 Controle de Acesso ao Host . . . . . . . . . . . . . . . . . . . . . . 14.2.1 iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.2 tcpwrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3 Mantendo-se Atualizado . . . . . . . . . . . . . . . . . . . . . . . . 14.3.1 Lista de emails slackware-security . . . . . . . . . . . . . . 14.3.2 O diretrio /patches . . . . . . . . . . . . . . . . . . . . . . o 15 Arquivos Agrupados e Compactados 15.1 gzip . . . . . . . . . . . . . . . . . . 15.2 bzip2 . . . . . . . . . . . . . . . . . . 15.3 tar . . . . . . . . . . . . . . . . . . . 15.4 zip . . . . . . . . . . . . . . . . . . . 16 Vi 16.1 Iniciando o vi . . . . . . . 16.2 Modos . . . . . . . . . . . 16.2.1 Modo de Comando 16.2.2 Modo de insero . ca 16.3 Abrindo Arquivos . . . . . 16.4 Salvando Arquivos . . . . 16.5 Encerrando o vi . . . . . . 16.6 Congurao do vi . . . . ca 16.7 Comandos do Vi . . . . .

SUMARIO 127 127 127 128 128 128 130 130 130 131 133 133 133 134 136 137 137 139 139 140 140 141 141 142 142 145 145 146 146 147 147 148 149 149 151 151 152 152 153 154 154 155 155 155 155 155 156 157 157 157 157 157 158 158 159

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

17 Emacs 17.1 Iniciado o Emacs . . . . . . 17.1.1 Teclas de Comando . 17.2 Buers . . . . . . . . . . . . 17.3 Modos . . . . . . . . . . . . 17.3.1 Abrindo Arquivos . 17.4 Edio Bsica . . . . . . . . ca a 17.5 Salvando Arquivos . . . . . 17.5.1 Saindo do Emacs . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

18 Gerenciamento de Pacotes do Slackware 18.1 Viso Geral do Formato de um Pacote . . . a 18.2 Utilitrios de Pacotes . . . . . . . . . . . . . a 18.2.1 pkgtool . . . . . . . . . . . . . . . . 18.2.2 installpkg . . . . . . . . . . . . . . . 18.2.3 removepkg . . . . . . . . . . . . . . 18.2.4 upgradepkg . . . . . . . . . . . . . . 18.2.5 rpm2tgz/rpm2targz . . . . . . . . . 18.3 Criando Pacotes . . . . . . . . . . . . . . . 18.3.1 explodepkg . . . . . . . . . . . . . . 18.3.2 makepkg . . . . . . . . . . . . . . . . 18.3.3 SlackBuild Scripts . . . . . . . . . . 18.4 Criando Tags e Tagles (para congurao) ca 19 ZipSlack 19.1 O que o ZipSlack? e 19.1.1 Vantagens . . 19.1.2 Desvantagens 19.2 Obtendo o ZipSlack 19.2.1 Instalao . . ca 19.3 Bootando o ZipSlack 20 Glossrio a

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

SUMARIO 21 The 21.1 21.2 21.3

vii

GNU General Public License 165 Preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 TERMS AND CONDITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 How to Apply These Terms to Your New Programs . . . . . . . . . . . . . . . . . . . . . . . . . . 169

22 Contributing Authors 171 22.1 Contribuidores para o Portugus do Brasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 e

viii

SUMARIO

SUMARIO

Prefcio a
P blico Alvo u
O sistema operacional Slackware Linux uma poderosa plataforma baseada em computadores i386. Ele foi e projetado para ser estvel, seguro e funcional como servidor, e tambm uma poderosa estao de trabalho. a e ca Este livro foi feito para que voc comece com o sistema operacional Slackware Linux. Isto no siginica que e a iremos abordar cada detalhezinho da distribuio, mas mostraremos rapidamente do que ela capaz dando o ca e conhecimento para trabalhar com o bsico do sistema. a Como voc ganhar experincia com o Slackware, esperamos que voc busque este livro para ser uma refee a e e rncia acess e vel. Ns tambm esperamos que o empreste para os seus amigos quando eles vierem perguntar o e sobre o sistema operacional Linux que voc est usando. e a Mesmo que esse livro no v fazer voc pular de emoo, ns certamente tentamos faz-lo o mais interesa a e ca o e sante poss vel. Com alguma sorte dar um lme. Claro, ns esperamos tambm que voc possa aprender com a o e e ele e o ache util. E agora, comecemos com o show.

Mudanas da Primeira Edio c ca


Esta a segunda edio, resultado de vrios anos de trabalho duro dos membros dedicados do Projeto de e ca a Documentao do Slackware. A seguir esto as mudanas de maior valor nesta nova edio: ca a c ca Cap tulo 3, O cap tulo Instalao foi modicado com novas fotos da tela do instalador, alteraes decorca co rentes no conjunto de discos, e a instalao a partir do CD. ca Cap tulo 4, O cap tulo Congurao do Sistema, foi atualizado com novas informaes sobre o Kernel ca co 2.6.x do Linux. Cap tulo 5, O cap tulo sobre Congurao de Rede foi expandido, com explicaes adicionais do Samba, ca co NFS, e DHCP. A seo redes sem otambm foi adicionada. Este cap ca e tulo agora est repleto de grandes a mudanas, sobre como instalar redes seguras no Slackware. c Cap tulo 6, O cap tulo sobre Sistema de janela X, foi substancialmente re-escrito para sistemas baseados no Xorg. Este cap tulo agora cobre tambm o gerenciador grco de login xdm. e a Cap tulo 13, O cap tulo comandos de rede bsicos, foi realado com informaes sobre utilitrios de redes a c co a adicionais. Cap tulo 14, Segurana, um novo cap c e tulo desta edio. Ele explica como manter um sistema Slackware ca Linux seguro. Cap tulo 17, Emacs, um novo cap e tulo desta edio. Ele descreve como usar o Emacs, um editor poderoso ca para Unix. Cap tulo 18, O cap tulo Gernciamento de Pacotes, foi atualizado com informaes sobre scripts do e co SlackBuild. Existem ainda muitas outras mudanas, de menor e maior importncia, que reetem as mudanas de como c a c o Slackware amadureceu.

Organizao deste Livro ca


Cap tulo 1, Introduo ca Fornece um material introdutrio sobre o Slackware Linux, e os Movimentos de Software Livre e Cdigo o o Aberto. Cap tulo 2, Ajuda Descreve os recursos de ajuda dispon veis no sistema Slackware Linux e na internet. Cap tulo 3, Instalao ca

SUMARIO Descreve o processo de instalao passo-a-passo com fotos de tela para lhe mostrar como faz-la por meio ca e de ilustraoes. c Cap tulo 4, Congurao do Sistema ca Descreve os importantes arquivos de congurao e fala sobre a recompilao do kernel. ca ca Cap tulo 5, Congurao da Rede ca Descreve como conectar uma mquina Slackware Linux ` rede. Fala sobre TCP/IP, PPP/dial-up, rede a a wireless, e muito mais. Cap tulo 6, O Sistema de Janelas X Descreve como instalar o Sistema grco de Janelas X no Slackware. a Cap tulo 7, Inicializao ca Descreve o processo pelo qual o computador inicia no Slackware Linux. Fala tambm sobre a dupla e inicializao com o sistema operacional Microsoft Windows. ca Cap tulo 8, O Shell Descreve a poderosa interface de linha de comando do linux. Cap tulo 9, Estrutura do Sistema de Arquivos Descreve a estrutura do sistema de arquivos, incluindo dono de arquivos, permisses, e ligaes simblio co o cas(links). Cap tulo 10, Manipulando Arquivos e Diretrios o Descreve os comandos usados para manipular arquivos e diretrios atravs da interface de linha de coo e mando. Cap tulo 11, Controle de Processos Descreve os poderosos comandos de gernciamento de processos do Slackware, usados para gerenciar e aplicativos sendo executados paralelamente. Cap tulo 12, Fundamentos para Administrao do Sistema ca Descreve a administrao bsica de tarefas do sistema como adicionar e remover usurios, desligar o ca a a sistema corretamente e muito mais. Cap tulo 13, Comandos Bsicos de Rede a Descreve a coleo de clientes de rede inclu ca dos no Slackware. Cap tulo 14, Segurana c Descreve vrias ferramentas diferentes dispon a veis para ajud-lo a manter seguro seu sistema Slackware, a incluindo iptables e tcpwrappers. Cap tulo 15, Arquivos Compactados Descreve compresses diferentes e utilidades de arquivos dispon o veis no Linux. Cap tulo 16, vi Descreve o poderoso editor de texto vi. Cap tulo 17, Emacs Descreve o poderoso editor de texto Emacs. Cap tulo 18, Gerenciamento de Pacotes do Slackware Descreve os utilitrios de empacotamento do Slackware e o processo usado para criar pacotes padronizados a e tagles. Cap tulo 19, ZipSlack Descreve a verso ZipSlack do Linux que pode ser usada a partir do Windows sem precisar instal-la. a a Appendix A, Licena Pblica Geral GNU c u Descreve os termos de licena sob os quais o Linux Slackware e este livro podem ser copiados e distribu c dos.

SUMARIO

Convenes usadas neste livro co


Para fornecer uma consistente e fcil leitura do texto, diversas convenes foram seguidas durante todo o a co livro. Convenes Tipogrcas co a Itlico a - Fontes em itlico so usada para comandos, texto enfatizado, e os termos tcnicos de primeiro a a e uso. Negrito Uma fonte em negrito usada para entrada de dados do usurio nos exemplos. e a

Entrada do Usurio a
Teclas so mostradas em negrito para se destacarem de outros textos. Combinaes de teclas que possuem a co certo objetivo por serem digitadas simultaneamente, so mostradas com + entre as teclas, como: a Ctrl + Alt + Del Desse modo o usurio deve digitar as teclas Ctrl, Alt, e Del ao mesmo tempo. a Teclas que possuem certo objetivo por serem digitadas em sequncia que iro ser separadas por v e a rgulas, por exemplo: Ctrl+X, Ctrl+S Signicaria que esperado que o usurio digite as teclas Ctrl e X simultaneamente e ento digite as teclas Ctrl e a a e S simultaneamente.

Exemplos
Exemplos comeando com E:/> indica um comando MS-DOS R . A menos que seja conhecido de outra c forma, estes comandos podem ser executados de uma janela de Prompt de Comandosdo ambiente moderno do Microsoft Windows. D:> rawrite a: bare.i Exemplos comeando com &prompt.root; indica que o comando que deve ser usado pelo super-usurio no c a Slackware. Voc pode iniciar uma sesso como root para digitar o comando, ou iniciar com uma conta normal e a e usar &man.su.1; para ganhar privilgio de super-usurio. e a # dd if=bare.i of=/dev/fd0 Exemplos comeando com &prompt.user; indicam que o comando pode ser usado em uma conta de usurio c a normal. A menos que seja conhecido de outra forma, a sintaxe C-shell usada para ajustar as variveis de e a ambiente e outros comandos de shell. $ top

Agradecimentos
Este projeto o acumulo de meses de trabalho de muitas pessoas dedicadas. No seria poss para mim e a vel produzir este trabalho do zero. Muitas pessoas merecem nossos agradecimentos por seus atos de ajuda: Keith Keller por seu trabalho em rede wireless, Joost Kremers por seu maravilhoso trabalho escrito sem colaboradores da seo Emacs, Simon Williams por seu cap ca tulo sobre segurana, Jurgen Phillippaerts pelos comandos bsicos c a de rede, Cibao Cu Ali G Colibri pela inspirao e o ponta-p inicial. Sem contar outros que nos enviaram ca e sugestes e reparos. Uma lista incompleta inclui: Jacob Anhoej, John Yast, Sally Welch, Morgan Landry, e o Charlie Law. Tenho tambm de agradecer Keith Keller por hospedar a lista de emails desse projeto, bem como e Carl Inglis pela hospedagem inicial do site. Por ultimo mas no menos importante, tenho que agradecer a a Patrick J. Volkerding pelo Slackware, e David Cantrell, Logan Johnson, e Chris Lumens pelo Fundamentos do Slackware Linux 1a Ediao. Sem sua estrutura inicial, nada disso teria acontecido. Muitos outros contribuiram c

SUMARIO

com pequenas e grandes partes desse projeto e no foram listadas. Espero que me perdoem por minha memria a o fraca. Alan Hicks, Maio 2005

Cap tulo 1

Uma Introduo ao Slackware Linux ca


1.1 O que o Linux ? e

Linus Torvalds criou o Linux, o ncleo do sistema operacional, como um projeto pessoal em 1991. Ele iniciou u o projeto porque procurava rodar um sistema operacional baseado em Unix mas no possuia muito dinheiro. a alm disso, Ele procurava aprender sobre a arquitetura do processador 386. O Linux liberado livre de cobrana e e c para o pblico assim qualquer pessoa pode ajudar estudando-o e fazendo melhorias sobre a licena pblica geral. u c u o e ca c (veja Cdigo Aberto e Software Livre e Apndice A para uma explicao da licena.) Hoje o linux cresceu como um dos principais jogadores no mercado de sistema operacional. Ele foi portado para rodar em uma variedade de arquiteturas, incluindo HP/Compaqs Alpha, Suns SPARC e UltraSPARC, e Motorolas PowerPC chips (atravs Apple Macintosh e computadores IBM RS/6000.) centenas, se no milhares, de programadores em e a todo o mundo desenvolve o Linux. Ele roda programas como Sendmail, Apache, e BIND, que so softwares a bastante populares usado em servidores de internet. E importante lembrar que o termo Linux realmente se refere ao kernel - o ncleo do sistema operacional. Este ncleo responsvel por controlar o processador do u u e a seu computador, memria, discos r o gidos e perifricos. Aquilo tudo realmente o Linux: Controla as operaes e e co do seu computador e certica-se de que todos os seus programas se comportam. Existem vrias companhias e a indiv duos que empacotam o kernel e vrios programas juntos para fazer um sistema operacional. Ns chamamos a o cada pacote de uma distribuio Linux. ca

1.2

Uma palavrinha sobre GNU

O projeto do Kernel Linux comeou com um esforo pessoal de Linus Torvalds em 1991, mas como Isaac c c Newton disse uma vez,Se consegui enxergar mais longe, porque estava apoiado sobre ombros de gigantes. e Quando Linus Torvalds criou o Kernel a Free Software Foundation tinha estabelecido j a idia do software coa e laborativo. Intitularam seu esforo GNU, um acrnimo recursivo que signica simplesmente GNUs Not Unix. c o O Software da GNU funciona sobre o kernel do Linux desde o 1o dia. O compilador gcc foi usado usado para compilar o kernel. Hoje muitas ferramentas da GNU, do gcc ao gnutar esto ainda na base de cada distribuio a ca principal do Linux. Por esta razo muitos dos membros da Free Software Foundation sugerem fervorosamente a que seu trabalho deve ser dado o mesmo crdito que o kernel Linux e ainda que todas as distribuies de Linux e co devem se referir a ele como distribuies de GNU/Linux. co O prexo GNUem GNU/Linux o tema de inmeras amewars; s a guerra santa entre Emacs e vi gera e u o mais brigas. O objetivo deste livro no alimentar as chamas da discusso, e sim esclarecer a terminologia a e a para os neto. Quando vemos GNU/Linuxisso quer dizer uma distribuio Linux; quando vemos Linuxo o ca termo pode estar se referindo tanto ao kernel quanto ` distribuio inteira, o que pode ser um pouco confuso; e a ca o termo GNU/Linuxmuitas vezes no usado por ser longo demais. a e

1.3

O que o Slackware? e

O Slackware, criado por Patrick Volkerding no m de 1992, e inicialmente lanado para o mundo em 17 de c Julho de 1993, foi a primeira distribuio Linux a alcanar um uso bastante difundido. ca c Volkerding iniciou o aprendizado no linux quando precisou de um interpretador de LISP para um projeto. Uma das poucas distribuies dispon co veis naquele tempo era a SLS Linux de Soft Landing Systems. Volkerding usou o SLS Linux, corringindo os bugs que encontrava. 5

CAP ITULO 1. UMA INTRODUCAO AO SLACKWARE LINUX

Eventualmente, decidiu juntar todos estes bugxes em sua prpria distribuio privada que ele e seus amigos o ca poderiam usar. Esta distribuio privada ganhou rapidamente a popularidade, assim que Volkerding decidiu ca nome-lo para Slackware e distribui-lo publicamente. Ao longo, Patrick adicionou coisas novas ao Slackware; a um programa de instalao amigvel para o usurio e baseado em um sistema de menu, tambm com o conceito ca a a e de gernciamento de pacote, na qual permite que os usurios facilmente adicionem, removam ou atualizem um e a programa ou o seu sistema inteiro. H muitas razes porque o Slackware a distribuio Linux mais antiga em atividade. No tenta imitar o a o e ca a Windows, tenta ser o mais similar ao Unix poss vel. Ele no esconde seus processos atrs de uma interface a a grca de apontar e clicar; ao invs disso ele pe os usurios no controle e mostra para eles exatamente o que a e o a est acontecendo. Seu desenvolvimento no acelerado articialmente para cumprir prazos - cada verso s a a e a oe lanada quando realmente est pronta. c a O Slackware para as pessoas que gostam de aprender e fazer com o sistema exatamente o que quer. O e que permite que o Slackware ser usado por vrios anos a sua simplicidade e estabilidade. O Slackware atuala a e mente possui uma reputao de um servidor estvel e uma rpida estao de trabalho, Voc poder encontrar ca a a ca e a desktops com Slackware funcionando quase todos com um gerenciador de janelas ou com ambiente de trabalho, ou sem nenhum. Os Servidores Slackware aumentam os negcios, aumentando a capacidade para os usurios o a do servidor, Os usurios de Slackware so entre todos usurios os mais satisfeitos com o Linux. Naturalmente, a a a ns dir o amos isso. :)

1.4

Cdigo Aberto e Software Livre o

Dentro da comunidade Linux, existem dois principais movimentos ideolgicos em atividade. O movimento o de Software livre (ns comearemos em instantes) que est trabalhando com o objetivo de fazer todo o software o c a livre das restries da propriedade intelectual. Os seguidores deste movimento acreditam que as restrioes imco c pedem as melhorias tecnicas e o trabalho contrrio ao bem da comunidade. O movimento de cdigo aberto est a o a trabalhando praticamente com os mesmos objetivos, mas tomadas uma aproximao mais pragmtica a elas. Os ca a seguidores deste movimento preferem basear seus argumentos nos mritos econmicos e tcnicos de fazer o cdigo e o e o fonte livremente dispon vel, melhor que os princ pios morais e ticos que dirigem o movimento de Software Lie vre, No extremo oposto da viso esto os grupos que desejam manter um controle em exesso sobre seus softwares. a a O movimento de software livre dirigido pela Free Software Foundation, uma organizao de levantamento e ca de fundos para o projeto GNU. O software livre mais que uma ideologia. A expresso usada com frequncia e a e livre como um discurso, mas no como cerveja grtis. Essencialmente, o software livre uma tentativa de e a a e garantir determinados direitos para os usurios e desenvolvedores. Esta liberdade incluem a liberdade para a executar o programa sem uma razo, para estudar e modicar o cdigo fonte, para redistribuir o cdigo fonte e a o o para compartilhar de quaisquer modicaes que voc zer. A m de garantir esta liberdade, a licena pblica co e c u geral da GNU (GPL) foi criado. A GPL, sendo breve, prover que qualquer um que distribui um programa compilado que seja licenciado sob a GPL deve tambm fornecer o cdigo fonte, e livre para fazer modicaces e o e o no programa e aquelas modicaes feitas tambm estaro dispon co e a veis na forma de cdigo fonte. Isto garante o que uma vez que um programa aberto ` comunidade, no pode ser fechado exceto pelo consentimento de cada e a a autor de cada parte do cdigo (mesmo as modicaes) dentro dele. A maioria dos programas para o Linux o co esto licenciados sob a GPL. a E importante notar que a GPL no diz qualquer coisa sobre o preo. To a c a mpar como pode soar, voc pode e cobrar pelo software livre. A parte livre est na liberdade que voc tem com o cdigo fonte, no no preo que a e o a c voc paga pelo software. (entretanto, uma vez que algum o vendeu, ou tenha dado um programa compilado e e licenciado sob a GPL so obrigados a fornecer tambm o cdigo fonte.) a e o Outra licena popular a licena BSD. Em contraste com a GPL, a licena BSD no impe nenhuma exic e c c a o gncia para a liberao do cdigo fonte de um programa. Os Softwares lanado sobre a licena BSD permitem e ca o c c redistribuir em cdigo fonte ou em binrio uma forma de providenciar apenas algumas condies. O crdito o a co e do autor no pode ser usados como um carter de propaganda para o programa. Imuniza tambm o autor da a a e responsabilidade para os danos que podem se levados pelo uso do software. Muito dos softwares inclu no do Slackware Linux so licenciados pela BSD. a Na linha de frente do jovem movimento de cdigo aberto, A OSI uma organizao que existe unicamente o e ca para avanar a sustentao para o software de cdigo aberto, isto , o software ter o cdigo aberto disponivel c ca o e o

1.4. CODIGO ABERTO E SOFTWARE LIVRE

perfeitamente para ler e executar o programa. No oferecem uma licena espec a c ca, mas em substituio suca portam os vrios tipos de licenas de cdigos abertos. a c o A ideia atrs da OSI trazer mais companhias para o cdigo aberto permitindo que escrevam suas prprias a e o o licenas de cdigo aberto e tenham aquelas licenas certicadas pela Open Source Initiative. Muitas companhias c o c querem liberar o cdigo fonte, mas no querem usar a GPL. Desde que no podem radicalmente mudar a GPL, o a a so oferecidas a oportunidade de fornecer sua prpria licena e de t-la certicada por esta organizao. a o c e ca Quando a Free Software Foundation e a Open Source Initiative trabalharem para se ajudarem, elas no so a a a mesma coisa. A Free Software Foundation usa uma licena espec c ca e fornece o software sob esta licena, A c Open Source Initiative busca dar suporte para todas a licenas abertas, incluindo uma para a Free Software c Foundation. Toda a sustentao aberta das buscas da Open Source Initiative para abrir o cdigo fonte, inluindo ca o a Free Software Foundation. As regies em que cada uma discute fazendo o cdigo fonte livremente dispon o o vel dividem `s vezes os dois movimentos, mas o fato de que dois grupos ideologicamente diferentes esto trabalhando a a para o mesmo objetivo, isso dar crdito aos esforos de cada um. e c

CAP ITULO 1. UMA INTRODUCAO AO SLACKWARE LINUX

Cap tulo 2

Ajuda
Muitas vezes voc precisa de ajuda para um comando espec e co, para iniciar um programa, ou simplesmente saber como um hardware trabalha. Talvez voc queira saber mais opes que possam ser utilizadas em um e co determinado comando, ou apenas vericar quais opes esto dispon co a veis para serem utilizadas em um determinado comando. Felizmente, existem vrias maneiras de voc obter ajuda para o que est procurando. Quando a e a voc instala o Slackware voc tem a opo de instalar os pacotes da srie F que inclui FAQs e HOWTOs. Alguns e e ca e programas tambm possuem ajuda sobre outras opes, arquivos de congurao e uso. e co ca

2.1
2.1.1

Ajuda do Sistema
man

O comando man (abreviao de manual ) a forma tradicional de documentao online dos sistemas operaca e ca cionais Unix e Linux. Composto de Linhas formatadas especialmente, as man page, so escritas para a grande a maioria dos programas e so distribu a das com o prprio software. Executando man comando ser mostrada a o a man page para o programa especicado, em nosso exemplo esse seria o comando imaginrio comando. a Voc deve imaginar a grande quantidade de pginas de manual que podem ser rapidamente criadas, tornariae a se confuso e complicado at mesmo para um usurio avanado. Devido a isso, `s pginas de manual so divididas e a c a a a em sees numeradas. Este sistema esteve dispon co vel por um longo tempo; voc ver bastante comandos, e a programas e referncias de funes de bibliotecas refernciadas pelo nmero da seo do man. e co e u ca Por exemplo: Voc pode fazer uma referncia ao man(1). O nmero especica que a man documentada na seo e e u e ca 1 (comandos de usurios); voc pode especicar que voc quer a documentao da seo 1 do man com o a e e ca ca comando man 1 man. Especicar a seo util quando existe manuais em vrias sees com o mesmo nome. ca e a co Seo ca Seo ca Seo ca Seo ca Seo ca Seo ca Seo ca Seo ca Seo ca Contedo u Comandos de usurios (somente introduo) a ca hamadas do Sistema Chamadas de bibliotecas C Dispositivos (ex., hd, sd) Formatos de Arquivos e protocolos (ex., wtmp, /etc/passwd, nfs) Jogos (somente introduo) ca Convenes, pacotes macro, etc. (ex., nro, ascii) co Administrao do sistema (somente introduo) ca ca

1 2 3 4 5 6 7 8

Em adicional ao comando man(1), existem os comandos whatis(1) e apropos(1) que esto dispon a veis para voc, com a nalidade de encontrar uma informao mais fcil no sistema. e ca a O comando whatis d uma descrio muito breve dos comandos do sistema, uma espcie de referncia. a ca e e Exemplo: $ whatis whatis whatis (1) - search the whatis database for complete words

O comando apropos usado para procurar a pgina de manual que contm uma determinada palavra.. e a e Exemplo: 9

10 $ apropos wav

CAP ITULO 2. AJUDA

cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound les netwave cs (4) - Xircom Creditcard Netwave device driver oggdec (1) - simple decoder, Ogg Vorbis le to PCM audio le (WAV or RAW) wavelan (4) - AT&T GIS WaveLAN ISA device driver wavelan cs (4) - AT&T GIS WaveLAN PCMCIA device driver wvlan cs (4) - Lucent WaveLAN/IEEE 802.11 device driver Caso queira alguma informao adicional para algum destes comandos, leia a pgina de manual para maiores ca a detalhes. ;)

2.1.2

O diretrio /usr/doc/ o

A grande maioria dos softwares que instalamos vem com algum tipo de documentao: arquivos README, ca instrues de uso, arquivos de licena, etc. Geralmente toda documentaao que vm com o software instaco c c e e lada no sistema no diretrio /usr/doc/. Cada programa geralmente instala sua documentao na seguinte ordem: o ca /usr/doc/$programa-$verso/ a Onde $programa o nome do programa que voc est querendo obter informaes, e $verso// (obviae e a co a e mente) a verso do software que est instalado em seu sistema. a a Por exemplo, para ler a documentao do comando man(1) voc digitaria cd no: ca e $ cd /usr/doc/man-$verso/ a Caso ao ler as informaes da pgina de manual voc no encontre informaes apropriadas o prximo passo co a e a co o buscar informaes no diretrio /usr/doc/. e co o

2.1.3

HOWTOs e mini-HOWTOs

O verdadeiro esp rito da comunidade de Cdigo Aberto cria uma grande coleo de HOWTO/mini-HOWTO. o ca Esses arquivos so exatamente - documentos e guias descrevendo como deve ser feito algo. Caso voc decida a e instalar os HOWTO, eles sero instalados no diretrio /usr/doc/Linux-HOWTOs/ e os mini-HOWTOs em a o /usr/doc/Linux-mini-HOWTOs/. A mesma srie de pacotes inclui uma coleo de pacotes de FAQs, que uma abreviao para Frequently e ca e ca Asked Questions (em portugus seria Perguntas mais Frequentes) e Estes documentos so escritos no estilo de Perguntas e Respostas. Os FAQs podem ser muito util quando a se procura algo onde se queira ter respostas rpidas para algo. Caso voc decida instalar os FAQs durante a a e instalao, voc os encontrar instalados do direttio /usr/doc/Linux-FAQs/. ca e a o Esses arquivos so muito uteis quando voc est com alguma dvida e no sabe como resolver o problema. a e a u a Cobrem uma grande variedade de assuntos, mas no cobrem os assuntos de maneira detalhada. Bom material! a

2.2

Ajuda Online

Alm da documentao que fornecida com a instalao do Sistema Operacional Slackware Linux, existe e ca e ca uma grande variedade de documentao dispon que voc pode obter para aprender. ca vel e

2.2.1

O Site Ocial e os Frums de Ajuda o

Site Ocial do Slackware O site Ocial do Slackware Linux algumas vezes ca desatualizado, mas contm uma grande variedade de e informaes importantes sobre as ultimas verses do Slackware. Existia um frum ativo de ajuda. Porm co o o e manter o frum comeou a dar muito trabalho, ento o Pat cancelou o frum. o c a o o Pode-se encontrar algumas informaes antigas desse frum em www.userlocal.com/phorum. Aps o co o cancelamento do frum do slackware no site www.slackware.com, diversos outros sites ofereceram-se para o o possuir o frum para Slackware, ento o Pat endossou o www.linuxquestions.org como sendo o frum o a ocial para o Slackware Linux.

2.2. AJUDA ONLINE

11

2.2.2

Suporte por E-mail

A todos que compram o conjunto ocial de CDs do projeto oferecido suporte livre via e-mail pelo desene volvedor. Por favor, isso que est sendo dito, deve ser mantido entre os colaboradores (e a grande maioria dos a usurios) do Slackware A velha escola. Isso signica que ns preferimos ajudar `queles que tm um interesse a o a e sincero e esto dispostos a ajudar no processo. Ns faremos sempre o melhor para ajudar quem nos envia um a o e-mail. Entretanto, Por favor verique a documentao e o site (especialmente os FAQs e talvez algum frum ca o listado abaixo) antes de enviar um e-mail. Voc pode iniciar sua busca nas respostas simples, seria menos e-mail e que ter amos que responder, obviamente ns ajudamos de uma forma melhor `queles que precisam de nossa o a ajuda. O endereo de e-mail para suporte tcnico : support@slackware.com. Outros endereos de e-mail e inforc e e c maes de contato so listados no site ocial. co a

Lista de E-mail do Projeto Slackware Linux Existem algumas listas de e-mail dispon veis em forma de sumrio ou formulrio normal. Verique as instrues para saber como se inscrever. a a co Para inscrever em uma lista de e-mail, envie uma mensagem para: majordomo@slackware.com com a frase subscribe [nome da lista] no corpo da mensagem. A descrio das listas est ca a abaixo (use o nome abaixo para o inscrever-se na lista). Os arquivos da lista de e-mail podem ser encontrador no site do Slackware em: http://slackware.com/lists/archive/ slackware-announce A lista de e-mail slackware-announce utilizada para anunciar novas verses, principais e o atualizaes e outras informaes em geral. co co slackware-security A lista de e-mail slackware-security informa assuntos relacionados ` segurana. Exploits e a c outras vulnerabilidades que pertenam diretamente ao Slackware so postadas na lista imediac a tamente. As listas esto disponiveis no formato de sumrio. Isto , ao invs de voc receber vrias a a e e e a mensagens durante o dia, voc receber apenas uma mensagem com todo o contedo criado e a u no dia. A lista de e-mail do Slackware no permite que usurios postem mensagem, e as listas a a possuem um trfego baixo, muitos usurios encontram pouca vantagem em receber o sumrio da a a a lista. Caso voc queira, ainda esto dispon e a veis para inscrio a lista slackware-announce-digest ca ou slackware-security-digest. 2.2.3 Sites no-ociais e Fruns de ajuda a o

Sites Google (www.google.com) O mestre do Kung-Fu para sites de busca. Absolutamente voc, encontra as e ultimas informaes sobre o kernel com o t co tulo: No aceite substitutos. a Google:Linux (www.google.com/linux) Procura especicamente por Linux Google:BSD (www.google.com/bsd) Procura especicamente por BSD. Slackware tambm um sistema operacional e e genrico, assim como o Unix funciona, por isso, voc tambm pode encontrar muie e e tas informaes sobre Slackware. Muitas vezes uma busca, em BSD, pode trazer co informaes tcnicas relacionadas com o Linux. co e Google:Groups (groups.google.com)

12

CAP ITULO 2. AJUDA

Busca por informaes nas mensagens de dcadas da Usenet. co e userlocal Um tesouro virtual de conhecimento, bom conselheiro, experincias em primeira e mo e artigos interessantes. O primeiro lugar que voc ouvir com freqncia sobre a e a ue o desenvolvimento de Slackware no mundo. Recursos Web linuxquestions.org O frum ocial de usurios de Slackware. o a Frum Slackware o Um local para efetuar download e obter ajuda sobre Linux. [alt.os.linux.slackware wombat.san-francisco.ca.us/perl/fom] FAQ Outras FAQ Grupos de usurios (NNTP) A USENET tem sido por muito tempo o lugar onde os geeks a buscam ajuda e ajudem uns aos outros. Existem poucos grupos dedicados ao Slackware Linux, mas tendem a serem preenchidos com as grandes base de conhecimento de outras pessoas. alt.os.linux.slackware alt.os.linux.slackware, mais conhecida como aols, (no confunda com a AOL! ) um dos a e lugares mais ativos para encontrar ajuda sobre problemas com o Slackware. Como cada grupo, alguns participam (ativamente) com experincia pelo fato de ajudar bastante. Aprenda a e ignorar trolls e identique ajuda de pessoas que realmente utilizam esse recurso.

Cap tulo 3

Instalao ca
Antes que voc possa usar o Slackware Linux, ser necessrio voc obt-lo e instal-lo. Obter e a a e e a o Slackware fcil, voc pode compra-lo ou efetuar o download gratu atravs da Internet. e a e to e A instalao tambm muito fcil, desde que voc tenha conhecimento bsico sobre seu comca e e a e a putador e esteja disposto a aprender algumas coisas. O programa de instalao o conduzir ca a passo-a-passo. Devido ao programa de instalao voc instalar rapidamente o sistema. O fato ca e a que o Slackware possui um programa de instalao mais rpido em relao ` qualquer outra e ca a ca a distribuio Linux. ca

3.1
3.1.1

Obtendo o Slackware
A caixa com os discos Ociais

O conjunto de CDs ocial do Slackware Linux CD est dispon na Slackware Linux, Inc. a vel O jogo consiste em 4 discos. O primeiro disco contm todo o software necessrios para um e a sistema bsico e o gerenciados de janelas X. O segundo CD um disco adicional; isto , um a e e CD bootvel que instala na RAM uma instalao provisria, caso seja necessrio efetuar uma a ca o a manuteno de reparo na mquina. Este CD possui alguns pacotes, tais como os ambientes ca a grcos KDE e GNOME. Alguns pacotes novos so inclusos no segundo CD incluindo a srie a a e de pacotes extra, que so pacotes no essenciais ao sistema. O terceiro e o quarto CD inclui a a todos os cdigos fontes de todos os programas do Slackware, junto com a edio original desse o ca livro. Tambm poss e e vel comprar um kit contendo os 4 discos e uma cpia deste Livro, dessa o forma voc poder se exibir como um verdadeiro geek. A compra dos CDs esto dispon e a a veis a um custo bem acess vel. A maneira preferida para a compra desses produtos na loja ocial do Slackware. e http://store.slackware.com Voc tambm pode solicitar informaes por e-mail. e e co

Informaoes de Contato na Slackware Linux, Inc. c Method Telephone Site Email Postal Contact Details 1-(925) 674-0783 http://store.slackware.com orders@slackware.com 1164 Claremont Drive, Brentwood, CA 94513
13

14

CAP ITULO 3. INSTALACAO

3.1.2

Atravs da Internet e

Slackware Linux est totalmente Livre na Internet. Voc pode enviar suas perguntas por a e email, mas a prioridade ser `s perguntas referentes ` compras do kit ocial. Como dito anaa a teriormente, ns recebemos muitos e-mails, e o tempo muito limitado para poder atender a o e todos. Antes de enviar um e-mail para suporte primeiramente leia a ajuda. O site ocial do Projeto Slackware Linux Project o endereo: e c http://www.slackware.com/ A localizao do FTP primrio para o Slackware Linux : ca a e ftp://ftp.slackware.com/pub/slackware/ O ftp dispon no site, est aberto para uso geral, no existe limite de banda. Mas por vel a a favor, considere a opo de utilizar um mirror mais prximo ` voc para efetuar o download do ca o a e Slackware. A lista completa dos mirros podem ser encontradas no site http://www.slackware.com/getslack.

3.2

Requisitos para Instalao ca

Uma instalao m ca nima do Slackware, necessita da seguinte congurao: ca Hardware Processador Memria o Espao em Disco c Drive de CD Necessrio a 586 32 MB RAM 1GB 4x CD-ROM

Caso voc tenha um CD bootvel, voc no ir precisar de um disquete. E claro que se e a e a a voc no possuir uma unidade de CD-ROM, voc precisar de um disquete e uma unidade de e a e a disquete para fazer a instalao via NFS atravs de uma rede. Alm disso tambm necessrio ca e e e e a uma placa de rede para esse tipo de instalao. Para maiores informaes consulte a seo NFS. ca co ca O espao em disco necessrio, um pouco complicado especicar. O espao recomendado c a e c para uma instalao m ca nima de 1GB, mas caso voc faa uma instalao completa voc ir e e c ca e a precisar cerca de 2Gb de espao em disco e mais um espao para armazenar seus arquivos pesc c soais. A maioria dos usurios no fazem a instalao completa. O fato que muitos usurios a a ca e a instalam o Slackware em um disco realmente pequeno com 100Mb de espao. c O Slackware pode ser instalado em sistemas com pouca memria RAM, discos r o gidos pequenos e CPUs com pouco poder de processamento, porm isso necesita de um pouco de trabalho. e Se este for o seu caso, leia o arquivo LOWMEM.TXT localizado na rvore da distibuio, para a ca obter algumas dicas uteis.

3.2.1

As Sries do Software e

Por razes de simplicidade, os softwares (pacotes) que acompanham o Slackware so dividio a dos em sries. Essas sries so chamadas de conjunto de discos devido terem sido planejadas e e a para a instalao do sistema atravs de disquetes, porm hoje essas sries so usadas basica e e e a camente para categorizar os pacotes incluso no Slackware. Hoje no mais poss fazer a a e vel instalao apenas com disquetes. ca

3.2. REQUISITOS PARA INSTALACAO

15

A seguir voc encontra uma breve descrio de cada srie de pacotes. e ca e Srie dos Pacotes e

Srie e Conte do u A Base do Sistema. Contm uma grande parte dos softwares utilizados para se ter um sistema e AP Diversos aplicativos que no necessitam de um Servidor X. a D Ferramentas de desenvolvimento de programas. Compiladores, debugadores, interpretadores E GNU Emacs. F FAQs, HOWTOs e outros tipos de documentao. ca GNOME O ambiente grco GNOME. a K O cdigo fonte do kernel do Linux. o KDE O ambiente grco K. Um ambiente grco que possui muitas caracter a a sticas visuais em com KDEI Pacotes de internacionalizao para o ambiente KDE. ca L Bibliotecas. Bibliotecas dinmicas lincadas necessrias para muitos outros programas. a a N Programas de Rede. Daemons, programas de e-mail, telnet, leitor de news e alguns outros. T Sistema de formatao de documentos teTeX. ca TCL Ferramenta de Linguagem de comando. Tk, TclX, e TkDesk. X Sistema base para o X Window. XAP Aplicaes grcas que no fazem parte de um ambiente de desktop principal (como por exem co a a Y Jogos de console BSD 3.2.2 Mtodos de Instalao e ca

Disquete Quando era poss vel, O Slackware Linux era instalado com apenas dois disquetes, porm o e tamanho dos pacotes de alguns softwares cresceram (especicamente alguns softwares) ento a houve o abandono forado da instalao via disquete. At a verso 7.1, era poss fazer uma c ca e a vel parte da instalao utilizando disquetes. As sries A e N podiam ser totalmente instaladas, o ca e que fornecia um sistema bsico para instalar o restante da distribuio. Caso voc for utilizar a ca e um disquete para instalar (em um equipamento mais velho), recomendvel que voc utilize e a e uma verso mais antiga. Para esse tipo de equipamento recomendado as verses 4.0 (a mais a e o popular para isso) e a 7.0 do Slackware. Observe que o disquete ainda utilizado para realizar o boot, quando isso no poss e a e vel atravs de uma unidade de CD-ROM, ou quando se utiliza a instalao via NFS. e ca CD-ROM Se voc tiver um CD bootvel, criado pela Slackware Linux, Inc. (veja a seo Obtendo o e a ca Slackware) a instalao car mais fcil para voc. Caso contrrio, voc poder utilizar um ca a a e a e a disquete de boot. Caso, voc tenha um hardware espec e co, um disco de boot espec co poder a ser utilizado. A partir da verso 8.1, um novo mtodo de criao de CDs de BOOT foi adotado, que no a e ca a trabalha com algumas BIOS (esse problema enfrentado por todas distribuies Linux atuale co mente). Se este for o seu caso, recomendamos que voc utilize um disquete. e ca ca co Veja a seo 3.2.3 e a seo 3.2.5 fornecem informaes de como criar um disquete de boot, caso seja necessrio. a NFS

16

CAP ITULO 3. INSTALACAO

NFS (Sistemas de Arquivos de Rede) uma maneira de utilizar sistemas de arquivos em e mquinas remotas. A instalao via NFS permite que voc instale o Slackware ` partir de uma a ca e a outra mquina de sua rede. A mquina que voc estiver utilizando para a instalao precisa ser a a e ca congurada de modo a exportar a rvore de distribuio do Slackwware para a mquina que a ca a voc est instalando. Isto, naturalmente, requer um certo conhecimento do NFS, que coberto e a e na seo Network File System (NFS). ca Tambm poss executar o NFS atravs de um mtodo como o PLIP (sobre uma porta e e vel e e paralela), SLIP, e PPP (exceto sobre uma conexo via modem). Entretanto, recomendvel a e a que voc utilize uma placa de rede. Apesar de tudo, instalar um sistema atravs de uma porta e e paralela algo muito lento. e

3.2.3

Disco de Boot

O disco de boot um disquete utilizado para iniciar a instalao. Ele contm uma imagem e ca e compactada do Kernel que utilizada para controlar o hardware durante a instalao. Ao mee ca nos que voc esteja utilizando um CD, este disco necessrio. Os discos de boot so localizados e e a a no diretrio bootdisks/ da rvore da distribuio. o a ca Existem diversos discos de boot que voc pode utilizar (so aproximadamente 16). A lista e a completa dos discos de boot e a descrio completa de cada um so encontradas no arquivo ca a bootdisks/README.TXT localizado na rvore da distribuio. Entretanto, a maioria das pesa ca soas utilizam a imagem bare.i (para dispositivos IDE ou scsi.s (para dispositivos SCSI) para o boot. Veja a seo 3.2.3 - Disco de Boot para instrues de como fazer um disco de boot. ca co Aps o boot, um prompt de comando solicitar que voc insira o disco de root. o a e 3.2.4 Disco de Root

Os discos de root contm o programa de instalao e um sistema de arquivos que utilizado e ca e durante a instalao. Tambm so necessrios. As imagens do disco de root so encontradas ca e a a a na rvore da distribuio. Voc ter que fazer dois discos de root, install.1 e install.2. Aqui, a ca e a voc tambm pode encontrar os discos network.dsk, pcmcia.dsk, rescue.dsk, e sbootmgr.dsk. e e

3.2.5

Disco Complementar

Um disco complementar necessrio caso voc utilize uma instalao via NFS ou se voc tiver e a e ca e um carto PCMCIA. Os discos complementares so encontrados no direttio ra da rvore de a a o z a distribuio, com os nomes network.dsk e pcmcia.dsk. Recentemente, outros discos complemenca tares como rescue.dsk e sbootmgr.dsk foram adicionados. O disco de restaurao uma imagem ca e pequena que funciona com 4MB de RAM. Inclui alguns utilitrios bsicos de rede e o editor vi a a para reparos rpidos. O disco sbootmgr.dsk utilizado para carregar outros dispositivos. Use a e este disco se o seu CD-ROM bootvel no quiser dar boot com os CDs do Slackware. Ele pea a dir outras opes de boot e pode ser uma forma conveniente de contornar uma BIOS com bugs. a co O disco de root ir instru a usar discos complementares quando ele for carregado. a -lo

3.3. PARTICIONAMENTO

17

3.2.6

Criando os discos

Caso tenha escolhido uma imagem de boot, voc necessita de um disquete. Dependendo do e sistema que est usando para criar os discos, o processo ser diferente. Se voc estiver utilizando a a e um Linux (ou um outro sistema Unix) voc utilizar o comando dd (1). Suponhamos que voc e a e esteja usando a imagem bare.i e a sua unidade de disquete o /dev/fd0, o comando que voc e e dever utilizar para criar um disquete com a imagem bare.i : a e $ dd if=bare.i of=/dev/fd0 Se estiver utilizando um sistema operacional Microsoft, voc precisar do programa RAe a WRITE.EXE, que est incluso no mesmo diretrio das imagens de disquete. Suponhamos que a o esteja usando a imagem bare.i e o seu dispositivo de disquete a unidade A:, abra o prompt e do DOS e digite: C: rawrite a: bare.i

3.3

Particionamento

Aps a inicializao com a sua m preferida, ser necessrio particionar o seu disco r o ca dia a a gido. A partio do disco onde o sistema de arquivos do Linux ser criado e onde o Slackware ser ca e a a instalado. Recomendamos a criao de, no m ca nimo, duas parties; uma para o seu sistema de co arquivos root (/ ) e uma para a rea de troca (swap). a Quando terminar o carregamento do disco de root, aparecer um prompt de login. Entre no a sistema como root (sem senha). No prompt do shell, execute cfdisk (8) ou fdisk (8). O programa cfdisk possui uma interface mais amigvel do que o programa fdisk, mas lhe faltam alguns a recursos. Segue abaixo uma rpida explicao do programa fdisk. a ca Comece executando o fdisk para o seu disco r gido. No Linux, em vez dos discos r gidos possu rem letras de drive, eles so representados por um arquivo. O primeiro disco r a gido IDE (primrio master) /dev/hda, o primrio slave /dev/hdb, e assim por diante. Discos SCSI a e a e seguem o mesmo sistema, mas no formato /dev/sdX. Inicie o fdisk informando o seu disco r gido: # fdisk /dev/hda Como em todos os bons programas para o Unix, o fdisk mostra um prompt (pensou que haveria um menu, no foi?). A primeira coisa que voc deve fazer examinar o seu esquema a e e de parties atual. Faa isso digitando p** no prompt do fdisk : co c Command (m for help): p Sero exibidos todos os tipos de informaes sobre o seu sistema de parties atual. A a co co maioria das pessoas seleciona uma unidade livre para a instalao e ento remove as parties ca a co existentes para dar espao para as parties do Linux. c co AVISO: E EXTREMAMENTE IMPORTANTE FAZER UMA COPIA DE SEGURANCA QUEIRA MANTER, ANTES DE (BACKUP) DE TODAS AS INFORMACOES QUE VOCE REMOVER A PARTICAO ONDE ELAS ESTAO ARMAZENADAS.

18

CAP ITULO 3. INSTALACAO

No existe uma forma fcil de recuperar dados de uma partio removida, portanto sempre a a ca faa uma cpia de segurana (backup) antes de alter-las. c o c a Na tabela de informaes da partio h um nmero da partio, o tamanho, e o tipo. H co ca a u ca a mais informaes, mas no se preocupe com isso por enquanto. Removeremos todas as parties co a co deste drive para criar as do Linux. Digitamos d para remov-las: e Command (m for help): d Partition number (1-4): 1 Repita este processo para cada uma das parties. Aps remov-las, estaremos prontos para co o e criar as do Linux. Decidimos criar uma partio para o nosso sistema de arquivos root e uma ca para o swap. Observe que os esquemas de particionamento do Unix so a causa de acaloradas a discusses, e que a maioria dos usurios lhe dir qual a melhor forma. No m o a a nimo, crie uma partio para o / e uma para swap. Com o tempo, voc desenvolver uma metodologia que ca e a funcione bem para voc. e Eu uso dois esquemas bsicos de particionamento. O primeiro para um desktop. Fao a e c 4 parties, /, /home, /usr/local, e swap. Assim posso re-instalar ou atualizar tudo que est co a instalado em / sem remover os meus arquivos de dados no /home ou os meus aplicativos personalizados compilados no /usr/local. Em servidores, geralmente substituo a partio /usr/local ca por uma partio /var. Muitos servidores diferentes armazenam informaes nesta partio e ca co ca mant-la separada do / traz benef e cios quanto ao desempenho. Por enquanto, vamos car com apenas estas duas parties: / e swap. co Agora podemos criar as parties com o comando n: co

Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4)}: 1 First cylinder (0-1060, default 0): 0 Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M Assegure-se de ter criado parties primrias. A primeira partio ser a nossa partio co a ca a ca swap. Diremos ao fdisk para tornar a partio nmero 1 uma partio primria. Ela comear ca u ca a c a no cilindro 0 e, para o cilindro nal, digitamos +64M. Isto criar uma partio de 64 megabytes a ca para swap. (Na verdade, o tamanho da partio de swap depende da quantidade de RAM do ca seu sistema. Por conveno se usa uma partio de swap com o dobro do tamanho da RAM do ca ca seu sistema.) Ento, denimos a partio primria nmero 2 comeando no primeiro cilindro a ca a u c dispon e indo at o nal do drive. vel e Command (m for help): n Command action e extended p primary partition (1-4)

3.4. O PROGRAMA SETUP

19

p Partition number (1-4): 2 First cylinder (124-1060, default 124):124 Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):}1060

Est quase pronto. Precisamos alterar o tipo da primeira partio para tipo 82 (Linux swap). a ca Digite t para alterar o tipo, selecione a primeira partio, e digite 82. Antes de gravar as suas ca alteraes em disco, d uma ultima olhada na nova tabela de parties. Use o p no fdisk para co e co exibir a tabela de parties. Se tudo parecer estar bem, digite w para salvar as suas alteraes co co e sair do fdisk.

3.4

O programa setup

Uma vez criada as parties, voc est pronto para instalar o Slackware. O prximo passo da co e a o instalao executar o programa setup. Para execut-lo simplesmente digite setup no prompt. ca e a O setup possui um sistema de menu na qual permite que voc instale os pacotes do Slackware e e congure seu sistema.

O processo de instalao algo do tipo: Selecione as opes de acordo como elas so listadas ca e co a claro que voc pode mudar a ordem de escolha das opes, no seguindo no programa setup. (E e co a passo-a-passo o programa.) Os itens do menu so selecionados usando as teclas seta para cima a e seta para baixo, e os botes Okay e Cancel so usados para proseguir ou para voltar. Como o a alternativa, voc pode escolher a opo desejada, teclando a letra correspondente destacada do e ca menu para cada opo. Para selecionar as opes (estas so indicadas com [X] ) utiliza-se a ca co a barra de espao. c E claro que voc pode ver mais descries na seo help do setup, porm acreditamos que o e co ca e seu tempo vale dinheiro.

20

CAP ITULO 3. INSTALACAO

3.4.1

HELP

Caso seja a primeira vez que voc esteja instalando o Slackware, voc pode dar uma olhada e e na tela de ajuda. Assim ter uma descrio de cada parte do programa setup (assim como a ca estamos descrevendo) e instrues para navegao e para o restante da instalao. co ca ca

3.4.2

KEYMAP

Caso necessite de um teclado diferente do padro americano qwerty, voc dever alter-lo a e a a nessa seo. Existe uma grande quantidade de modelos de teclado que poder escolher. ca a

3.4. O PROGRAMA SETUP

21

3.4.3

ADDSWAP

Caso voc tenha criado uma partio de swap (voltar ` seo 3.3), aqui que voc dever e ca a ca e e a habilit-la para utilizar. As parties de swap existentes em seu disco sero exibidas automaa co a ticamente, permitindo que voc selecione, pelo menos uma, para formatar e habilitar. e

3.4.4

TARGET

Na seo target voc formatar suas parties e mapear os pontos de montagens dos sisca e a co a temas de arquivos. Uma lista com as parties de seu disco r co gido so mostradas. Para cada a partio, poder escolher formatar ou no. Dependendo do kernel utilizado, voc poder esca a a e a colher os seguintes sistemas de arquivos reiserfs (padro), ext3, ext2, jfs e xfs. A maioria das a pessoas utilizam reiserfs ou ext3. Em um futuro prximo ns poderemos ter o suporte ` reiserfs4. o o a A partio a ser selecionada onde o sistera root (/ )dever ser instalado. Aps isso, voc ca e a o e

22

CAP ITULO 3. INSTALACAO

poder escolher e mapear cada partio para cada sistema de arquivos de acrodo com a sua a ca escolha. (Por exemplo, voc pode querer que a sua terceira partio /dev/hda3, seja o sistemas e ca de arquivos para o home. Isto apenas um exemplo; crie os pontos de montagens de acordo e com o seu gosto.)

3.4.5

SOURCE

A seo Source onde selecionamos a m ca e dia a partir da qual o Slackware ser instalado. a Atualmente, h quatro opes dispon a co veis. So elas: CD-ROM, uma partio no disco r a ca gido, NFS, ou um diretrio pr-montado. o e

A opo CD-ROM permite a instalao a partir de um CD-ROM. H a opo de procurar ca ca a ca automaticamente um drive de CD-ROM ou exibir uma lista da qual pode-se escolher o tipo do drive. Assegure-se de ter o CD do Slackware no seu drive antes de comear a busca. c A opo NFS pede informaes da sua rede e de seu servidor NFS. O servidor NFS j ca co a deve estar congurado. Note tambm que no poss usar nomes de mquina (hostnames), e a e vel a deve-se usar endereos IP tanto para a sua mquina, quanto para o servidor NFS (no h um c a a a servio de resoluo de nomes no disco de instalao). Naturalmente, deve ser usado o disquete c ca ca network.dsk para dar suporte para a sua placa de rede. O diretrio pr-montado oferece maior exibilidade. Use este mtodo para instalar a partir o e e de dispositivos como Jaz disks, pontos de montagem NFS sobre PLIP, e sistemas de arquivos FAT. Monte o sistema de arquivos em um local de sua escolha antes de executar a instalao, ca e ento especique esse local aqui. a

3.4.6

SELECT

A seo Select permite escolher as sries de software que desejamos instalar. Essas sries ca e e ca e o ca e so descritas na seo 3.2.1. Note que obrigatria a instalao da srie A para ter um sistema a base funcional. Todas as outras sries so opcionais. e a

3.4. O PROGRAMA SETUP

23

3.4.7

INSTALL

Considerando que tenhamos passado pelas sees target, source, and select, a seo co ca install permite selecionar pacotes dentre as sries de software escolhidas. Se no, pedir que e a a voc volte e complete as outras sees do programa de instalao. Esta seo permite escolher e co ca ca dentre seis diferentes mtodos de instalao: //full, newbie, menu, expert, custom, e tag path. e ca

A opo full (completo) instala todos os pacotes das sries escolhidas na seo select. No ca e ca a h mais perguntas. Este o mtodo de instalao mais fcil, j que no necessrio tomar a e e ca a a a e a quaisquer decises quanto aos pacotes a instalar de fato. E claro que esta opo tambm a o ca e e que ocupa maior espao no disco r c gido. A prxima opo newbie (novato). Esta opo instala todos os pacotes requeridos pelas o ca e ca sries selecionadas. Em todos os outros pacotes h um prompt onde podemos selecionar Yes e a

24

CAP ITULO 3. INSTALACAO

(sim), No (no), ou Skip (pular). Yes e No fazem o bvio, enquanto Skip pula para a prxima a o o srie de software. Alm disso, exibida uma descrio e o tamanho de cada pacote para ajudar e e e ca a decidir se o mesmo necessrio. Recomendamos esta opo para os novos usurios, j que e a ca a a ela assegura que os pacotes desejados sejam instalados. Contudo, ela um pouco mais lenta e devido `s perguntas. a Menu uma verso mais rpida e mais avanada da opo newbie. Em cada srie, aparece e a a c ca e um menu, a partir do qual pode-se selecionar todos os pacotes no requeridos que se deseja a instalar. Os pacotes requeridos no aparecem nesse menu. a Para os usurios mais avanados, a instalao oferece a opo expert. Isto permite total a c ca ca controle sobre quais pacotes so instalados. E poss a vel remover da seleo pacotes que so ca a absolutamente necessrios, o que resulta em um sistema entrar em colapso. Por outro lado, a e poss controlar exatamente o que entra em seu sistema. Simplesmente selecione os pacotes vel de cada srie que deseja que sejam instalados. Isto no recomendado para os novos usurios, e a e a j que muito fcil dar um tiro no prprio p. a e a o e As opes custom e tag path tambm so para usurios avanados. Estas opes permitem co e a a c co a instalao com base em tag les personalizados criados na rvore da distribuio. Isto util ca a ca e para se instalar um grande nmero de mquinas rapidamente. Para maiores informaes sobre u a co ca o uso de tag les, veja a seo 18.4. Aps escolher o seu mtodo de instalao, uma coisa ou outra abaixo vai acontecer. Se tiver o e ca selecionado full ou menu, uma tela com um menu aparecer, permitindo a seleo dos pacotes a ca a ser instalados. Se tiver selecionado full, os pacotes comearo a ser instalados no destino c a imediatamente. Se tiver selecionado newbie, os pacotes sero instalados at que se alcance um a e pacote opcional. Observe que poss e vel que o espao em disco acabe durante a instalao. c ca Se selecionar pacotes demais para a quantidade de espao livre no dispositivo alvo, voc ter c e a problemas. E mais seguro selecionar alguns programas e adicionar mais depois, se necessrio. a Isto pode ser feito facilmente usando as ferramentas de gerenciamento de pacotes do Slackware. Para maiores informaes, veja a seo 18. co ca

3.4.8

CONFIGURE

A seo congure permite fazer algumas conguraes bsicas do sistema, agora que os paca co a cotes j foram instalados. O que voc v depende em grande parte de que programas foram a e e instalados. Contudo, sempre ser exibido o contedo abaixo: a u

Kernel selection (Seleo do kernel) ca


Aqui voc dever escolher um kernel para ser instalado. Voc pode instalar o kernel do disco e a e de boot usado na instalao, do CD-ROM do Slackware, ou de outro disquete que voc (sempre ca e se antecipando) tiver preparado. Ou voc pode decidir pular, sendo que ento o kernel padro e a a ser instalado e o processo continuar. a a

3.4. O PROGRAMA SETUP

25

Make a boot disk (Fazer um disco de boot)


Provavelmente ser uma boa idia fazer um disco de boot para usar no futuro. Voc ter a a e e a opo de formatar um disquete e, ento, criar um dos dois tipos de disco de boot. O primeiro ca a tipo, simple (simples), simplesmente (como de se esperar) grava um kernel no disquete. Uma e opo mais ex (e altamente recomendada) lilo, que, claro, cria um disco de boot do ca vel e e claro, voc tambm pode decidir ca co e e lilo. Veja LILO na seo 7.1 para maiores informaes. E simplesmente continuar, de modo que no ser criado um disco de boot. a a

Modem
Sero solicitadas informaes sobre o seu modem. Mais especicamente, se voc possui um a co e modem, e, se possuir, em qual porta serial ele est. a

26

CAP ITULO 3. INSTALACAO

As prximas sub-sees de congurao podem aparecer ou no, dependendo se os seus o co ca a pacotes correspondentes tiverem sido instalados.

Timezone (Fuso horrio) a


Aqui bem direto: ser perguntado em qual fuso horrio voc est. Se estiver no horrio e a a e a a Zulu, sentimos muito; a lista (extremamente longa) est em ordem alfabtica, e voc est no a e e a nal dela.

Mouse
Esta sub-seo simplesmente pergunta que tipo de mouse voc tem, e se voc quer ter suca e e porte ao mouse no console com o gpm(8) habilitado na inicializao. ca

3.4. O PROGRAMA SETUP

27

Hardware clock (Relgio de hardware) o


Esta sub-seo pergunta se o relgio de hardware do seu computador est ajustado no Tempo ca o a Universal Coordenado (UTC ou GMT). A maioria dos PCs no esto, ento provavelmente voc a a a e deve dizer no(no). a

Font
A sub-seo font permite que se escolha dentre de uma lista de fontes personalizadas para o ca console.

28

CAP ITULO 3. INSTALACAO

LILO
ca Aqui perguntado sobre a instalao do LILO (o LInux LOader; veja a seo 7.1 para maie ca ores informaes). co

Se o Slackware for o unico sistema operacional em seu computador, a opo simple (sim ca ples) deve funcionar perfeitamente. Se houver dual-boot, a opo expert uma melhor escolha. ca e Veja a seo 7.5 para maiores informaes sobre dual-boot. A terceira opo, do not install ca co ca (no instalar), no recomendada, a no ser que voc saiba o que est fazendo e que tenha a a e a e a uma tima razo para no instalar o LILO. Se o modo de instalao for expert, voc poder o a a ca e a escolher onde o LILO ser instalado. O LILO pode car na MBR (Master Boot Record) do seu a disco r gido, no superbloco da sua partio ra do Linux, ou em um disquete. ca z

3.4. O PROGRAMA SETUP

29

Network
Na verdade, a sub-seo de congurao network o netcong. Veja a seo 5.1 para maiores ca ca e ca informaes. co

X Window Manager (Gerenciador de Janelas do X)


ca Esta sub-seo permite a escolha de um gerenciador de janelas padro para o X. Veja seo ca a 5.1 para maiores detalhes sobre o X e gerenciadores de janelas.

No importa quais pacotes tenham sido instalados, a ultima coisa que ser feita na seo a a ca congure ser perguntar se voc quer continuar e criar uma senha para o root. Por razes de a e o segurana, provavelmente est ser uma boa idia; todavia, como tudo mais no Slackware, voc c a a e e decide.

30

CAP ITULO 3. INSTALACAO

Cap tulo 4

Congurao do Sistema ca
Antes de voc poder congurar as partes mais avanadas do seu sistema, uma boa idia e c e e entender como o sistema organizado e que comandos podem ser utilizados para procurar por e arquivos e programas. E bom saber tambm, se voc precisar compilar um kernel otimizado e e e a quais os passos que devero ser seguidos. Este cap a tulo ir familiariz-lo com a organizao do a a ca sistema e a congurao de arquivos. Assim, voc poder avanar na congurao das partes ca e a c ca mais avanadas do sistema. c

4.1

Viso Geral do Sistema a

E importante entender como um sistema Linux montado antes de mergulhar nos vrios e a aspectos de sua congurao. Um sistema Linux signicativamente diferente de um sistema ca e DOS, Windows ou de um sistema Macintosh (com a exceo do Mac OS X que baseado no ca e Unix), mas estas sees o ajudaro a car familiarizado com o seu layout, de modo que voc co a e facilmente poder congurar seu sistema para as suas necessidades. a 4.1.1 Layout do Sistema de Arquivos

A primeira diferena marcante entre o Slackware Linux e um sistema DOS ou Windows o c e sistema de arquivos. Logo de in cio, no so utilizados letras para os drivers, para identicar a a as diferentes parties. Sob o Linux, existe apenas um unico diretrio principal. Voc pode co o e relacionar isto com o drive C: do ambiente DOS. Cada partio em seu sistema montado como ca e um diretrio dentro do diretrio principal. E como se voc tivesse um disco r o o e gido expans vel. Chamamos o diretrio principal de diretrio root (ou ra e o mesmo representado por o o z), e uma barra (/ ). Este conceito pode soar estranho, mas isso torna sua vida mais fcil quando a voc quer adicionar mais espao. Por exemplo, vamos dizer que voc cou sem espao em disco e c e c no diretrio /home. Muitas pessoas ao instalarem o Slackware criam uma unica partio raiz. o ca Bem, como uma partio pode ser montada para qualquer diretrio, voc s precisa ir at a ca o e o e loja mais prxima e comprar um disco r o gido novo e mont-lo como /home. Voc agora colocou a e mais espao em seu sistema. E tudo sem precisar mover nada de lugar. c Abaixo, voc ir encontrar as descries dos diretrios mais importantes sob o Slackware. e a co o bin - Programas essenciais para os usurios so armazenados aqui. Isso representa um a a conjunto m nimo de programas requeridos pelo usurio para a utilizao do sistema. Coisas a ca como o shell e os comandos do sistema de arquivos (ls, cp, e assim por diante) so armazenados a aqui. O diretrio /bin tambm no recebe modicao aps a instalao. Se isso acontecer, o e a ca o ca e na forma de atualizao de pacotes que fornecemos. ca boot - Arquivos que so utilizados pelo Linux Loader (LILO). Esse diretrio tambm recebe a o e pequenas modicaes aps a instalao. O kernel armazenado aqui desde a verso 8.1 do co o ca e a Slackware. Em verses anteriores do Slackware, o kernel era simplesmente armazenado sob o o
31

32

CAP ITULO 4. CONFIGURACAO DO SISTEMA

diretrio / , porm a prtica comum montar o kernel e os arquivos relacionados aqui, para o e a e facilitar o dual-booting (ou boot duplo). dev - Tudo no Linux tratado como arquivo, inclusive dispositivos de hardware como as e portas seriais, discos r gidos, e scanners. Em ordem de acessar esses dispositivos, um arquivo especial chamado de dispositivo de conexo tem de estar presente. Todos os dispositivos de a conexo so armazenados no diretrio /dev. Voc vai descobrir que isso verdade atravs dos a a o e e e muitos sistemas operacionais baseados em Unix. etc - Esse diretrio mantm os arquivos de congurao do sistema. Todos os arquivos o e ca de congurao do X Window, o banco de dados do usurio, at o sistema de inicializao de ca a e ca scripts. Com o tempo, o administrador do sistema car bastante familizado com este diretrio. a o home - O Linux um sistema operacional multi-usurio. A cada usurio no sistema e a a e dado uma conta e um diretrio unico para seus arquivos pessoais. Este diretrio chamado o o e de diretrio ra do usurio. O diretrio /home fornecido como localizao padro para os o z a o e ca a diretrios ra do usurio. o z a lib - As bibliotecas do sistema que so necessrias para operaes bsicas do sistema so a a co a a armazenadas aqui. A biblioteca C, o carregador dinmico, as bibliotecas ncurses e os mdulos a o do kernel esto entre as coisas aqui armazenadas. a mnt - Este diretrio contm pontos de montagem temporrios para discos r o e a gidos em operaca o ou drives remov veis. Aqui voc encontrar os pontos de montagem para o seus drives de e a CD-ROM e de disquete. opt - Pacotes de software opcionais. A idia por trs do diretrio /opt que cada pacote e a o e de software instalado no diretrio /opt/pacote de software, que seja fcil de remover depois. O o a Slackware distribui algumas coisas no diretrio /opt (como o KDE em /opt/kde), porm voc o e e livre para adicionar qualquer coisa que queira ao diretrio /opt. e o proc - Este um diretrio unico. Ele no realmente parte do sistema de arquivos, mas sim e o a e um sistema de arquivos virtual que prov acesso as informaes do kernel. Vrios pedaos de e co a c informao que o kernel quer que voc conhea so transportados a voc atravs de arquivos ca e c a e e no diretrio /proc. Voc pode enviar informao para o kernel atravs desses mesmos arquivos. o e ca e Tente o comando cat /proc/cpuinfo. root - O administrador do sistema conhecido como root no sistema. O diretrio ra do e o z usurio root mantido em /root em vez de /home/root. A razo simples. O que acontece se o a e a e diretrio /home estiver em uma partio diferente do diretrio / e no puder ser montado? O o ca o a usurio //root ir querer logar e repara o problema. Se o seu diretrio de usurio ra estiver a a o a z no sistema de arquivos danicado, ser meio dif para ele conseguir logar-se. a cil sbin - Programas essenciais que so rodados pelo usurio root e durante o processo de boot a a do sistema so mantidos aqui. Usurios normais no iro rodar programas neste diretrio. a a a a o tmp - Local de armazenagem temporria. Todos os usurios possuem acesso de leitura e a a escrita neste diretrio. o usr - Este o maior diretrio em um sistema Linux. Tudo o mais vem aqui, programas, e o documentao, o cdigo-fonte do kernel, e o sistema X Window. Este o diretrio que voc ca o e o e mais ir gostar de estar instalando programas. a var - Arquivos de log do sistema, informaes de cache, e arquivos protegidos de programas co so armazenados aqui. Este o diretrio para mudanas freqentes de informao. a e o c u ca Voc agora deve ter uma boa noo para quais diretrios contm o que no sistema de arquivos. e ca o e Informaes mais detalhadas sobre o layout do sistema de arquivos esto dispon co a veis nas pginas a de manual do hier(7). A prxima seo ir ajud-lo a encontrar arquivos espec o ca a a cos com facilidade, ento voc no precisar fazer isso de forma braal. a e a a c 4.1.2 Encontrando Arquivos

Agora voc sabe o que cada diretrio principal contm, mas isso realmente no ajuda em nada e o e a a encontrar coisas. Eu creio que voc poderia ir olhando atravs dos diretrios, porm existem e e o e

4.1. VISAO GERAL DO SISTEMA

33

maneiras rpidas de fazer isso. Existem quatro comandos principais de busca de arquivos a dispon veis no Slackware. which O primeiro o comando which(1). O comando which geralmente usado para achar de e e forma rpida a localizao de um programa. Ele apenas procura seu PATH e retorna a primeira a ca instncia encontrada e o caminho do diretrio do mesmo. Pegue este exemplo: <code> $ which a o bash /bin/bash </code> Pelo que voc j viu do bash ele est no diretrio /bin. Este um comando de busca muito e a a o e limitado, j que o mesmo s procura pelo PATH. a o whereis O comando whereis(1) trabalha de forma similar ao comando which, mas pode tambm e procurar por pginas de manual e arquivos fontes. Um comando whereis para procurar pelo a programa bash iria retornar: <code> $ whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz </code> Este comando no apenas nos diz onde atualmente o programa est localizado, mas tambm a a e onde a sua documentao online est armazenada. Ainda assim, este comando limitado. O ca a e que aconteceria se voc precisasse procurar por um arquivo de congurao espec e ca co? Voc e no poderia utilizar o comando which ou o whereis para isso. a nd O comando nd (1) permite ao usurio procurar o sistema de arquivos com um rico arsenal a de opes de busca. Usurios poderiam especicar uma busca com espresses regulares no nome co a o do arquivo, alcance de modicaes ou tempo de criao, ou outra propriedade avanada. Por co ca c exemplo, para procurar pelo arquivo xinitrc padro em um sistema, o comando a seguir poderia a ser utilizado. <code> $ nd / -name xinitrc /var/X11R6/lib/xinit/xinitrc </code> O comando nd ir demorar um pouco no processo, desde que ele vai varrer tudo na rvore a a de diretrios ra E se este comando estiver rodando por um usurio normal, iro aparecer o z. a a vrias mensagens erro de permisso negada para os diretrios em que apenas o usurio root a a o a pode ver. Porm se o comando nd encontra qualquer arquivo, isto bom. Se ele pudesse ser e e pelo menos um pouco mais rpido... a slocate O comando slocate(1) procura no sistema de arquivos inteiro, assim como o comando nd pode fazer, porm ele procura em um banco de dados em vez do atual sistema de arquivos. O e banco de dados est programado para ser atualizado toda manh, ento voc ter de algum a a a e a modo uma lista atualizada dos arquivos de seu sistema. Voc pode rodar manualmente o e comando updatedb(1) para atualizar o banco de dados slocate (antes de rodar na mo o comando a updatedb, voc precisa primeiro rodar o comando su para virar o usurio root). Aqui est um e a a exemplo do comando slocate em ao: ca <code> $ slocate xinitrc # we dont have to go to the root /var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc. </code> Ns conseguimos mais do que estvamos procurando, e de forma rpida tambm. Com esses o a a e comandos, voc ser capaz de encontrar qualquer coisa que estiver procurando em seu sistema e a Linux. 4.1.3 O Diretrio /etc/rc.d/ o

Os arquivos de inicializao do sistema so armazenados no diretrio /etc/rc.d. O Slackware ca a o utiliza o layout estilo BSD para estes arquivos de inicializao ao contrrio dos scripts de ca a inicializao do System V, a qual tende a tornar as mudanas na congurao mais dif ca c ca ceis sem estar utilizando um programa especicamente desenhado para esta funo. Nos scripts de ca inicializao do BSD, cada runlevel um arquivo rc simples. No System V, cada runlevel ca e e

34

CAP ITULO 4. CONFIGURACAO DO SISTEMA

dado a seu prprio diretrio, a qual contm inmeros scripts de inicializao. Isto prov uma o o e u ca e estrutura organizada que fcil de manter. e a Existem vrias categorias de arquivos de inicializao. Estes so o sistema de inicializao, a ca a ca runlevel, inicializao de rede, e a compatibilidade com o System V. Pela tradio, ns iremos ca ca o amontoar todas as outras coisas em uma nova categoria. Inicializao do Sistema ca O primeiro programa a rodar sobre o Slackware, alm do kernel Linux, o init(8). Este e e programa l o arquivo /etc/inittab(5) para ver como carrega o sistema. Ele roda o script e /etc/rc.d/rc.S para preparar o sistema antes de ir para o n de execuo desejado. O arquivo vel ca rc.S habilita sua memria virtual, monta seu sistema de arquivos, limpa certos diretrios de log, o o inicializa os dispositivos Plug and Play, carrega os mdulos do kernel, congura os dispositivos o PCMCIA, ativa as portas seriais, e os scripts de inicializao do System V (se encontrado). ca Obviamente o rc.S possui muitos recursos, mas existe alguns scripts no diretrio /etc/rc.d que o o rc.S ir chamar para completar seu trabalho: a rc.S - Este o atual script do sistema de inicializao. e ca rc.modules - Carrega os mdulos do kernel. Coisas como sua placa de rede, suporte a PPP, o e outras coisas so carregadas aqui. Se este script acha o rc.netdevice, correr tudo bem. a a rc.pcmcia - Investiga e congura qualquer dispositivo PCMCIA que voc possa ter em seu e sistema. Isto bem util para usurios de laptops, que provavelmente possuem um modem ou e a rede PCMCIA. rc.serial - Congura suas portas seriais rodando os comandos apropriados do setserial. rc.sysvinit - Procura pelos scripts de inicializao do System V para o runlevel desejado e ca os inicializa. Este assunto discutido em maiores detalhes abaixo. e Scripts de inicializao do Runlevel ca Aps o sistema de inicializao estar completo, o comando init vai para a inicializao do o ca ca runlevel. Um runlevel descreve o n em que a sua mquina ir rodar. Isso soa redundante? vel a a Bem, o runlevel comunica ao init se voc estar aceitando logins de multi-usurios ou apenas e a a de um unico usurio, independente se voc vai utilizar os servios de rede ou no, e se voc a e c a e estar utilizando o X Window System ou o comando agetty(8) para manipular os logins. Os a arquivos abaixo denem os diferentes runlevels no Slackware Linux. rc.0 - Desliga o sistema (runlevel 0). Por padro, este runlevel est linkado ao rc.6. a a rc.4 - Inicializao multi-usurio (runlevel 4), porm no X11 com o KDM, GDM, ou XDM ca a e como o gerenciador de login. rc.6 - Reinicializa o sistema (runlevel 6). rc.K - Inicializa o sistema em modo mono-usurio (runlevel 1). a rc.M - Modo multi-usurio (runlevels 2 e 3), porm com o login em modo texto padro. a e a Este o runlevel padro no Slackware. e a Inicializao de rede ca Os Runlevels 2, 3, e 4 iro inicializar os servios de rede. Os seguintes arquivos so respona c a sveis pela inicializao do sistema: a ca rc.inet1 - Criado pelo netcong, este arquivo responsvel pela congurao da atual intere a ca face de rede. rc.inet2 - Roda depois do rc.inet1 e inicializa os servios de rede bsicos. c a rc.atalk - Inicializa os servios AppleTalk. c rc.httpd - Inicializa o servidor Apache. Como alguns outros scripts, este pode ser utilizado para parar e reiniciar um servio. O rc.httpd toma argumentos de parada, inicio, ou reinicio. c rc.news - Inicializa o servidor de news. Compatibilidade com System V A compatibilidade com o System V init foi introduzida no Slackware 7.0. Muitas outras distribuies Linux fazem uso deste estilo, em vez do estilo BSD. Basicamente a cada runlevel co dado um sub-diretrio para os scripts do init, do contrrio do estilo BSD que d um script de e o a a inicializao para cada runlevel. ca

4.2. SELECIONANDO UM KERNEL

35

O script rc.sysvinit ir procurar por todos os scripts de inicializao do System V que voc a ca e tenha em /etc/rc.d e inicializ-los, se o runlevel for apropriado. Isto util para certos pacotes a e de software que instalam os scripts de inicializao no System V. ca Outros Arquivos Os scripts descritos abaixo so os outros scripts de inicializao do sistema. Eles so rodados a ca a tipicamente de um dos principais scripts descritos acima, ento tudo de que voc precisa fazer a e editar seus contedos. e u rc.gpm - Inicializa os servios de habilitao do mouse. Permite que voc possa copiar e c ca e colar no console do Linux. Ocasionalmente, o gpm ir causar problemas para o mouse quando a for usado sobre o X Windows. Se voc tiver problemas com o uso do mouse no X, tente tirar a e permisso de execuo deste arquivo parando o servidor gpm. a ca rc.font - Carrega as fontes customizveis para o console. a rc.local - Contm todos os comandos espec e cos de inicializao do seu sistema. Ele ca ca vazio depois de uma instalao limpa, esta reservado para administradores locais. Este script ca inicializado aps todas as outras inicializaes terem sido realizadas. e o co Para habilitar um script, tudo que voc precisa fazer adicionar permisses de execuo a e e o ca ele com o comando chmod. Para desabilitar um script, remova a permisso de execuo do a ca ca mesmo. Para maiores informaes sobre o comando chmod, veja a seo 9.2. co

4.2

Selecionando um Kernel

O kernel a parte do sistema operacional que prov acesso ao hardware, controle de processos, e e e todo o sistema de controle. O kernel contm suporte para seus dispositivos de hardware, ento e a escolher um kernel para o seu sistema um passo muito importante. e O Slackware prov mais de uma dzia de kernels pr-compilados que voc poder utilizar, e u e e a cada qual com um conjunto padro de drivers genricos e alguns drivers espec a e cos. Voc pode e rodar um dos kernels pr-compilados ou pode construir seu prprio kernel a partir do cdigoe o o fonte. Seja qualquer uma das opes que for escolhida, voc precisar ter certeza que o seu co e a kernel tenha o suporte ao hardware que voc possui. e 4.2.1 O diretrio /kernels no CD-ROM do Slackware o

Os kernels pr-compilados esto dispon e a veis no diretrio /kernels no CD-ROM do Slackware o ou no site de FTP no diretrio principal do Slackware. Os kernels dispon o veis mudam sempre que novas verses so lanadas, ento a documentao em cada diretrio o cdigo-fonte o a c a ca o e o do mesmo. O diretrio /kernels possui sub-diretrios para cada kernel disponibilizado. Os o o sub-diretrios possuem o mesmo nome que o seu disco de boot que o acompanha. Em cada o sub-diretrio voc ir encontrar os seguintes arquivos: o e a Arquivo System.map bzImage cong Propsito o O arquivo de mapas do sistema para este kernel A imagem do kernel atual O arquivo-fonte de congurao para este kernel ca

Para utilizar um kernel, copie os arquivos System.map e cong para o seu diretrio /boot e o copie a imagem do kernel para /boot/vmlinuz. Rode o /sbin/lilo(8) para instalar o LILO para este novo kernel, e ento reinicie seu sistema. Isso tudo que h para instalar um novo kernel. a e a Os kernels que terminam com um .i so kernels IDE. Sendo assim, eles no incluem suporte a a a SCSI na base do seu kernel. Os kernels que terminam com .s so kernels com suporte a SCSI. a Eles incluem todo o suporte a IDE, como nos kernels terminados em .i, alm de terem o suporte e a SCSI.

36

CAP ITULO 4. CONFIGURACAO DO SISTEMA

4.2.2

Compilando um Kernel a partir do cdigo-fonte o

A questo Devo compilar um kernel para meu sistema? sempre questionado por usurios a e a novatos. A resposta sempre talvez. Existem poucas ocasies onde voc ir precisar compilar e o e a um kernel espec co para o seu sistema. A maioria dos usurios pode utilizar um kernel pra e compilado e seus mdulos carregveis para terem um sistema totalmente funcional. Voc ir o a e a querer compilar um kernel para o seu sistema apenas se voc precisar fazer um upgrade de e seu atual kernel para um que no esteja atualmente disponibilizado para o slcakware, ou se a voc estiver adicionando novas funcionalidades ao seu kernel para dar suporte a um hardware e espec co, que no esteja presente no cdigo nativo no cdigo-fonte do seu kernel. Qualquer a o o um com um sistema SMP denitivamente ir querer compilar um kernal com suporte a SMP. a Tambm, muitos usurios acham que um kernel customizado rodar. Voc achar util compilar e a a e a o kernel com otimizaes para o processador espec co co de sua mquina. a

Construir seu prprio kernel no to dif assim. O primeiro passo ter certeza que o a e a cil e voc tem o cdigo-fonte do kernel instalado no seu sistema. Tenha certeza de ter instalado e o os pacotes da srie K durante o processo de instalao do seu Slackware. Voc ir querer ter e ca e a certeza que possui a srie D instalada, especicamente o compilador C, o GNU make, e o GNU e binutils. Em geral, uma boa idia ter a srie D inteira instalada se voc planeja fazer qualquer e e e e tipo de desenvolvimento. Voc tambm pode baixar a ultima verso do cdigo-fonte do kernel e e a o dispon em http://www.kernel.org/mirrors. vel

Compilao do Kernel Linux verso 2.4.x ca a

<code> $ su - Password: # cd /usr/src/linux </code>

A primeira etapa trazer o cdigo-fonte do kernel ao seu estado de base. Ns emitimos este e o o comando para fazer isso (nota, acredito que voc v querer fazer um backup do arquivo .cong e a j que esse comando ir apagar ele sem nenhum aviso): a a

<code> # make mrproper</code>

Agora voc pode congurar o kernel para o seu sistema. O kernel atual oferece 3 maneiras de e fazer isso. A primeira o original sistema de perguntas-e-respostas em modo texto. Este far e a diversas perguntas e, baseado nas suas respostas, ir construir um arquivo de congurao. O a ca problema deste mtodo se voc errar algo, ter de recomear tudo do in e e e a c cio. O mtodo que a e maior parte dos usurios preferem o de sistema de menu. Por ultimo, existe uma ferramenta de a e congurao grca do kernel. Escolha uma de sua preferncia e digite o comando apropriado: ca a e

<code> # make cong (baseado em texto, verso P&R (Perguntas e Respostas)) # make a menucong (menu dirigido, verso baseado em texto) # make xcong (verso baseado em X, a a certique-se que voc est primeiramente no X) </code> e a

4.2. SELECIONANDO UM KERNEL

37

menu de congurao do kernel ca Os usurios novatos provavelmente iro achar o comando menucong mais fcil de usar. As a a a telas de ajuda provm explicaes de vrias partes do kernel. Aps congurar seu kernel, saia e co a o do programa de congurao. Ele ir escrever os arquivos de congurao necessrios. Agora ca a ca a ns podemos preparar a rvore do cdigo-fonte do kernel para uma construo: o a o ca <code> # make dep # make clean </code> A prxima etapa compilar o kernel. Primeiro tente emitir o comando bzImage abaixo. o e <code> # make bzImage </code> Isso pode demorar um pouco, dependendo da velocidade de sua CPU. Durante o processo de construo, voc poder ver as mensagens geradas pela compilao. Aps construir a imagem ca e a ca o do kernel, voc ir querer construir todas as partes do kernel que voc marcou para serem e a e modulares. <code> # make modules</code> Voc agora pode instalar o kernel e seus mdulos que compilou. Para instalar o kernel em e o um sistema Slackware, os comandos abaixo devem ser digitados: <code> # mv /boot/vmlinuz /boot/vmlinuz.old # cat arch/i386/boot/bzImage > /vmlinuz # mv /boot/System.map /boot/System.map.old # cp System.map /boot/System.map # make modules install </code> Voc ir querer editar o arquivo /etc/lilo.conf e adicionar uma seo para a inicializao de e a ca ca seu kernel antigo em caso do novo kernel no funcionar. Aps ter feito isso, execute o comando a o /sbin/lilo para instalar o novo bloco de inicializao. Voc agora j pode reiniciar com o seu ca e a novo kernel. Kernel Linux Verso 2.6.x a A compilao do kernel 2.6 kernel levemente diferente do kernel 2.4 ou 2.2, mas imca e e portante que voc entenda as diferenas antes de pesquisar. No mais necessrio rodar os e c a e a comandos make dep e make clean. Tambm, o processo de compilao do kernel no mais e ca a e em modo descritivo na srie 2.6. Isso resulta em uma construo de processos de fcil entendie ca a mento, porm tem seus contras. Se voc tiver problemas na construo do kernel, altamente e e ca e recomendado que voc habilite o modo descritivo de novo. Voc pode fazer isso modicando a e e opo V=1 na construo. Isso permite a voc ter mais informaes da sa da compilao que ca ca e co da ca poder ajudar um desenvolvedor de kernel ou outro amigo entendido a te ajudar na resoluo a ca deste problema. <code> # make bzImage V=1</code>

38

CAP ITULO 4. CONFIGURACAO DO SISTEMA

4.2.3

Utilizando os Mdulos do Kernel o

Os mdulos do kernel outra denio para os drivers de dispositivo que podem ser inseridos o e ca em um kernel em uso. Eles permitem a voc extender o suporte ao hardware pelo seu kernel e sem precisar usar outro kernel ou mesmo compilar um novo. Os mdulos podem tambm ser carregados e descarregados a qualquer hora, mesmo se o o e sistema estiver rodando. Isso torna a atualizao de drivers mais fcil para os administradores ca a de sistema. Um novo mdulo pode ser compilado, um antigo removido, e o novo ser carregado o em seu lugar, tudo isso sem precisar reiniciar sua mquina. a Os mdulos so armazenados no diretrio /lib/modules/verso do kernel do seu sistema. o a o a Eles podem ser carregados na inicializao do sistema atravs do arquivo rc.modules. Este ca e arquivo muito bem documentado e oferece exemplos para a maior parte dos componentes de e hardware. Para ver a lista dos mdulos atualmente ativos, utilize o comando lsmod (1): o <code> # lsmod Module Size Used by parport pc 7220 0 parport 7844 0 [parport pc] </code> Voc pode ver aqui que eu s tenho o mdulo da porta paralela carregado. Para remover e o o um mdulo, voc usa o comando rmmod (1). Os mdulos podem ser carregados pelos comano e o dos modprobe(1) ou insmod (1). modprobe normalmente mais seguro porque ele ir carregar e a qualquer mdulo dos dispon o veis que possuam dependncias com o carregamento atual. e Vrios usurios nunca tiveram que carregar ou descarregar mdulos de kernel na mo. Eles a a o a utilizam o auto-carregamento do kernel para o gerenciamento de mdulos. Por padro, o o a Slackware inclui o kmod em seu kernel. O kmod uma opo do kernel que habilita o kernel e ca para carregar automaticamente os mdulos que so requisitados. Para maiores informaes o a co sobre o kmod e como ele congurado, veja o arquivo /usr/src/linux/Documentation/kmod.txt. e Voc ir precisar do pacote de cdigo-fonte do kernel, ou baixar o cdigo-fonte do kernel de e a o o http://kernel.org. Maiores informaes podem ser encontradas nas pginas de manual para cada um desses co a comandos, alm do arquivo rc.modules. e

Cap tulo 5

Congurao de Rede ca
5.1 Introduo: netcong seu amigo. ca e

Quando voc instala inicialmente o Slackware, o programa setup chama o programa netcong. e O netcong tem como objetivo realizar para voc as seguintes funes: e co Ele te pergunta o nome do seu computador e o nome do dom nio sob o qual o seu computador est na rede. a Ele faz uma breve explanao acerca dos vrios tipos de esquemas de endereamento, cita ca a c onde eles devem ser usados, e lhe pergunta qual esquema de endereamento IP voc deseja c e usar para congurar sua placa de rede: IP esttico a DHCP Loopback Ele ento se oferece para detectar alguma placa de rede para congur-la. a a Em geral o netcong ir realizar cerca de 80% do trabalho de congurar sua conexo de rede a a LAN, se voc permitir. Recomenda-se fortemente que voc revise seus arquivos de congurao e e ca por duas razes: o Voc nunca deve conar que um programa de congurao ir congurar corretamente seu e ca a computador. Se voc usa um programa de congurao, voc deve revisar a congurao e ca e ca pessoalmente. Se voc ainda est aprendendo o sistema operacional Linux ou o Slackware, olhar uma e a congurao funcional pode ser util. Voc vai saber no m ca e nimo qual a aparncia da cone gurao. Isso permitir que voc possa corrigir posteriormente problemas provenientes de ca a e conguraes erradas realizadas pelo sistema. co

5.2

Congurao do Hardware de Rede ca

Uma vez que seu desejo conectar sua mquina com o Slackware em algum tipo de rede, a e a primeira coisa que voc precisar de uma placa de rede compat com o Linux. Voc precisa e ae vel e ter um pouco de cuidado e se certicar de que sua placa verdadeiramente compat com e vel o Linux (por favor, consulte o Projeto de Documentao do Linux e/ou a documentao do ca ca kernel para informaes sobre o status atual da placa de rede que voc deseja utilizar). Via de co e regra voc car, provavelmente muito surpreso com o nmero de placas de rede suportadas e a u sob os kernels mais modernos. Tendo dito isso, sugerimos ainda que voc consulte algumas e das vrias listas de hardwares compat a veis com o Linux (como por exemplo The GNU/Linux
39

40

CAP ITULO 5. CONFIGURACAO DE REDE

Beginners Group Hardware Compatibility Links e The Linux Documentation Project Hardware a veis na Internet antes de comprar sua placa. Um pequeno tempo HOWTO) que esto dispon extra gasto em pesquisa podem economizar dias ou at semanas tentando resolver problemas e com placas no compat a veis totalmente com o Linux. Quando voc visitar as listas de Hardware Compat com o Linux dispon e vel veis na Internet, ou quando consultar a documentao do kernel instalado na sua mquina, preste ateno em ca a ca qual mdulo que voc ir precisar para suportar sua placa de rede. o e a

5.2.1

Carregando os Mdulos de Rede o

Os mdulos do kernel so carregados durante a inicializao do sistema so carregados pelo o a ca a arquivo rc.modules, /etc/rc.d, ou pelo carregador automtico de mdulos do kernel iniciado pelo a o /etc/rc.d/rc.hotplug. O arquivo rc.modules padro inclui uma seo de suporte a perifricos a ca e de rede. Se voc abrir o rc.modules e procurar por esta seo, poder notar que ele verica e ca a inicialmente a existncia do arquivo executvel rc.netdevice em /etc/rc.d/. Esse script criado e a e se a tentativa de auto-congurao do perifrico de rede executada pelo setup obteve sucesso ca e durante a instalao. ca Abaixo do bloco do if est uma lista de perifricos de rede e linhas com o comando moda e probe comentadas. Procure o seu perifrico e descomente a linha com o modprobe correspone dente, e ento salve o arquivo. Rodar o rc.modules como root ir, a partir de agora, carregar o a a driver do seu perifrico de rede (assim como qualquer outro mdulo listado e no comentado). e o a Note que alguns mdulos (como o do driver ne2000) precisam de parmetros; tenha certeza que o a voc selecionou a linha correta. e

5.2.2

Placas de Rede Local (10/100/1000Base-T and Base-2)

Esse subt tulo abrange todas as placas de rede internas ISA ou PCI. Drivers para essas placas so acessados via mdulos carregveis do kernel conforme dito no pargrafo anterior. E a o a a poss que o /sbin/netcong tenha encontrado e congurado com sucesso sua placa no seu vel arquivo rc.netdevice. Se isso no ocorreu o problema mais provvel deve ser o carregamento do a a mdulo incorreto para a placa em questo (no so conhecidos casos onde para diferentes gerao a a a co es de um mesmo tipo/fam de placas de um mesmo fabricante sejam necessrios mdulos lia a o diferentes). Se voc tm certeza que o mdulo que voc quer carregar o correto, sua prxima e e o e e o melhor ao seria consultar a documentao do mdulo para vericar se o mdulo exige ou no ca ca o o a algum(uns) parmetro(s) espec a co(s) no momento em que o mdulo iniciado. o e

5.2.3

Modems

Assim como as placas de redes locais, modems podem ter vrias opes de barramento sua co portadas. At pouco tempo atrs a maioria dos modems eram placas com barramento ISA, de e a 8 ou 16 bits. Graas aos esforos da Intel e de fabricantes de placas-me de todo o mundo, c c a nalmente modems ISA fazem parte do passado, sendo comum atualmente que a maioria dos modems sejam modems externos que se conectam por uma porta serial ou USB, ou ento moa dems internos PCI. Se voc deseja trabalhar com seu modem no Linux, de VITAL importncia e e a perquisar o modem que voc pretende comprar, particularmente se voc tem inteno de come e ca prar um modem PCI. Muitos, se no a maioria, dos modems PCI atualmente dispon a veis nas prateleiras das lojas so WinModems. WinModems no possuem algumas funes de hardware a a co caracter sticas dos prprios modems: as funes de responsabilidade desse hardware espec o co co

5.3. CONFIGURACAO TCP/IP

41

geralmente so descarregadas sobre a CPU pelo driver do modem e pelo sistema operacional a Windows. Isso signica que eles no tem a interface serial padro que o PPPD estar esperando a a a quando voc disca para o seu Provedor de Acesso ` Internet. e a Se voc deseja ter absoluta certeza de que o modem que voc est comprando ir trabalhar e e a a com o Linux, compre um modem de hardware externo que se conecta ` porta serial do seu a PC. Com toda certeza esses iro trabalhar melhor e apresentar menos problemas para instaa lar e dar manuteno, em detrimento de precisarem de energia externa e tenderem a custar mais. ca H vrios sites que oferecem drivers e assistncia para congurao de perifricos baseados a a e ca e em WinModems. Alguns usurios relatam sucessos na congurao e instalao de drivers para a ca ca vrios Winmodems, incluindo os de chipset Lucent, Conexant e Rockwell. Como os softwares a necessrios para esses perifricos no fazem parte do Slackware, e variam de driver para driver, a e a ns no iremos entrar em detalhes. o a

5.2.4

PCMCIA

Como parte da instalao do seu Slackware, voc ter a oportunidade de instalar o pacote ca e a pcmcia (na srie A de pacotes). Esse pacote contm as aplicaes e arquivos de congurao e e co ca importante notar que o panecessrios para trabalhar com placas PCMCIA no Slackware. E a cote pcmcia instala apenas o software genrico necessrio para trabalhar com placas PCMCIA e a no Slackware. Ele NAO instala qualquer driver ou mdulo. Os mdulos e drivers dispon o o veis podem ser encontrados no diretrio /lib/modules/uname -r/pcmcia. Voc possivelmente preo e cisar de algumas experincias para encontrar o mdulo que ir trabalhar com sua placa de a e o a rede. Voc precisar editar o arquivo /etc/pcmcia/network.opts (para uma placa Ethernet) ou e a o /etc/pcmcia/wireless.opts (se voc tem uma placa de rede sem o). Como a maioria dos e arquivos de congurao do Slackware, esses dois arquivos so muito bem comentados e isso ca a torna fcil a tarefa de determinar que modicaes voc precisa fazer. a co e

5.3

Congurao TCP/IP ca

Nesse momento, sua placa de rede deve estar f sicamente instalada no seu computador, e os mdulos relevantes do kernel devem estar carregados. Voc ainda no estar pronto para se o e a a comunicar utilizando sua placa de rede, mas informaes a respeito do seu perifrico de rede co e podem ser obtidas com um ifcong -a. # ifconfig -a eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:110081 errors:1 dropped:0 overruns:0 frame:0 TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb) Interrupt:5 Base address:0x8400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2234 errors:0 dropped:0 overruns:0 frame:0

42

CAP ITULO 5. CONFIGURACAO DE REDE

TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb) Se voc digitar /sbin/ifcong, sem a opo -a, pode ser que voc no veja a interface eth0, e ca e a o que indica que sua placa de rede ainda no tem um endereo IP vlido ou uma rota. a c a Uma vez que existem muitas formas diferentes de congurar uma rede, todas elas podem ser reduzidas a dois tipos: Esttica e Dinmica. Redes estticas so conguradas para que cada a a a a n (nomenclatura geek para objetos que com um endereo IP) sempre tenha o mesmo endereo o c c IP. Redes dinmicas so conguradas de forma que o endereo IP para cada n seja controlado a a c o por um unico servidor, chamado de servidor DHCP.

5.3.1

DHCP

DHCP (Dynamic Host Conguration Protocol ou Protocolo de Congurao Dinmica de ca a Host), um mtodo pelo qual um endereo IP pode ser atribu a um computador quando e e c do esse ligado. Quando o cliente iniciado, ele envia uma requisio na rede local para que e e ca um servidor DHCP lhe atribua um endereo IP. O servidor DHCP tem um conjunto (ou esc copo) de endereos IP dispon c veis. O servidor ir responder a essa requisio com um endereo a ca c IP do seu conjunto, durante um tempo de alocao. Uma vez que o tempo de alocao para o ca ca endereo IP dado expire, o cliente precisa contactar novamente o servidor e repetir a negociao. c ca Ento, o cliente aceitar o endereo IP enviado pelo servidor e ir congurar a interface que a a c a requireu com o endereo IP. Entretanto, h ainda um macete manual que o cliente DHCP usa c a para negociar o endereo IP que ser a ele atribu c a do. O cliente ir lembrar seu ultimo endereo a c IP a ele atribu do, e solicitar ao servidor uma re-atribuio do mesmo endereo IP novamente a ca c na prxima negociao. Se poss o ca vel, o servidor ir atender o pedido, mas se no for, um novo a a endereo ser atribu c a do. Assim, a negociao se parece com o que segue: ca Cliente: H algum servidor DHCP disponvel na rede local? a Servidor: Sim, h. Aqui estou eu. a Cliente: Eu preciso de um endereo IP. c Servidor: Voc^ pode pegar o 192.168.10.10 por 19200 segundos. e Cliente: Obrigado.

Cliente: H algun servidor DHCP disponvel na rede local? a Servidor: Sim, h. Aqui estou eu. a Cliente: Eu preciso de um endereo IP. Da ltima vez que conversamos, Eu peguei o 192.16 c u Posso peg-lo novamente? a Servidor: Sim, pode (ou N~o, n~o pode: pegue o 192.168.10.12 dessa vez). a a Cliente: Obrigado.

O cliente DHCP no Linux o /sbin/dhcpcd. Se voc carregar o /etc/rc.d/rc.inet1 em seu e e editor de texto favorito, voc ir notar que o /sbin/dhcpcd chamado mais ou menos no meio do e a e script. Isso ir forar a o dilogo mostrado acima. O dhcpcd ir tambm controlar a quantidade a c a a e de tempo de alocao restante para o endereo IP atual, e ir contactar automaticamente o ca c a servidor DHCP com uma requisio para renovao da alocao quando necessrio. O DHCP ca ca ca a pode ainda controlar informaes relacionadas, como qual o servidor ntp usar, qual rota pegar, co etc.

5.3. CONFIGURACAO TCP/IP

43

Congurar DHCP no Slackware simples. Apenas execute o netcong e selecione DHCP e quando oferecido. Se voc tem mais de uma placa de rede e no deseja que a eth0 seja congue a rada via DHCP, apenas edite o arquivo /etc/rc.d/rc.inet1.conf e mude a varivel relacionada a a ` sua placa de rede para YES.

5.3.2

IP Esttico a

Endereos IP estticos so endereos xos que s mudam se modicadas manualmente. Isso c a a c o usado em qualquer caso em que o administrador no deseje que as informaes relacionadas e a co ao IP mudem, por exemplo para servidores internos de uma rede local, qualquer servidor conectado ` Internet, e roteadores. Com o endereamento IP esttico, voc atribui um endereo IP a c a e c e esquece :). Outras mquinas sabero que voc sempre ter um certo endereo IP e podero a a e a c a contactar voc no endereo de sempre. e c /etc/rc.d/rc.inet1.conf Se voc planeja atribuir um endereo IP ao seu novo Slackware, voc pode faz-lo atravs do e c e e e script netcong, ou ento pode tambm editar o /etc/rc.d/rc.inet1.conf. No /etc/rc.d/rc.inet1.conf, a e voc ir notar: e a # Primary network interface card (eth0) IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" E, mais abaixo: GATEWAY= Nesse caso, nossa tarefa ser meramente colocar a informao correta entre as aspas duplas. a ca Essas variveis so chamadas pelo /etc/rc.d/rc.inet1 no momento do boot para congurar as a a placas de rede. Para cada placa de rede, apenas insira a informao correta do IP, ou coloque ca a ca YES no USE DHCP. O Slackware ir iniciar as interfaces com a informao colocada na ordem em que elas forem encontradas. A varivel DEFAULT GW congura a rota padro para o Slackware. Todas as comunicaes a a co entre seu computador e outros computadores na Internet devem passar atravs do gateway, no e caso de nenhuma outra rota ser especicada para elas (as comunicaes). Se voc est usando co e a DHCP, em geral voc no precisar digitar nada aqui, pois seu servidor DHCP ir especicar e a a a qual gateway usar. /etc/resolv.conf Muito bem. Ento voc tem um endereo IP, voc tem um gateway padro, voc pode ter a e c e a e dez milhes de reais (nos d um pouco), mas o que voc consegue fazer de bom se voc no o e e e a consegue traduzir nomes para endereos IP? Ningum merece digitar 72.9.234.112 no navegador c e para entrar no www.slackbook.org. Alm disso, quem, alm dos autores conseguiriam memorie e zar esse endereo IP? Ns precisamos congurar o DNS, mas como? E a que o /etc/resolv.conf c o entra no jogo. Provavelmente voc j tem as opes apropriadas no /etc/resolv.conf. Se voc congurar e a co e sua conexo de rede usando o DHCP, o servidor DHCP pode se encarregar de atualizar esse a arquivo para voc. (Tecnicamente o servidor DHCP apenas diz ao dhcpcd o qu colocar aqui, e e e ele obedece.) No entanto, se voc precisa atualizar manualmente sua lista de servidores DNS, e

44

CAP ITULO 5. CONFIGURACAO DE REDE

voc precisar editar manualmente o /etc/resolv.conf. Segue um examplo: e a

# cat /etc/resolv.conf nameserver 192.168.1.254 search lizella.net A primeira linha simples. A diretiva nameserver nos indica qual servidor DNS procurar. e Por necessidade eles sempre so endereos IP. Voc pode ter vrios listados aqui, conforme seu a c e a gosto. O Slackware ir alegremente checar um depois do outro at um deles retornar a busca. a e A segunda linha um pouco mais interessante. A diretiva search nos d uma lista de dom e a nio de nomes para assumir quando nenhum DNS requisitado for encontrado. Isso lhe permite contactar outra mquina tendo apenas a primeira parte da sua FQDN (Fully Qualied Domain a Name, ou Dom nio de Nome Totalmente Qualicado). Por exemplo, se slackware.com estava indicado na sua diretiva search, voc pode buscar http://store.slackware.com apenas apontando e seu navegador para http://store.

# ping -c 1 store PING store.slackware.com (69.50.233.153): 56 data bytes 64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.251/0.251/0.251 ms /etc/hosts Agora que ns temos um DNS trabalhando bem, o que podemos fazer se desejamos identio car nosso servidor DNS, ou adicionar uma entrade de DNS em uma mquina que no est no a a a DNS? O Slackware inclui o arquivo salvador /etc/hosts, que contm uma lista local de nomes e DNS e endereos IP para os quais eles apontam. c

# cat /etc/hosts 127.0.0.1 localhost locahost.localdomain 192.168.1.101 redtail 172.14.66.32 foobar.slackware.com Nele voc pde notar que o localhost tm como endereo IP relativo o 127.0.0.1 (sempre e o e c reservado para o localhost), redtail apontado para 192.168.1.101, e o foobar.slackware.com e para 172.14.66.32.

5.4

PPP

A maioria das pessoas continuam se conectando ` Internet atravs de algum tipo de conexo a e a discada. O mtodo mais comum o PPP, embora o SLIP seja ainda utilizado ocasionalmente. e e Congurar o seu sistema para utilizar chamar via PPP um servidor remoto muito fcil. Ns e a o vamos abordar algumas poucas ferramentas para ajud-lo(a) a congurar. a

5.5. WIRELESS

45

5.4.1

pppsetup

O Slackware inclui um programa chamado pppsetup para congurar seu sistema para usar sua conta discada. Ele compartilha a aparncia e parece muito semelhante ao nosso programa e netcong. Para executar o programa, tenha certeza que voc est logado como root. Ento e a a digite pppsetup para execut-lo. Voc ir ver uma tela como essa: a e a O programa apresentar uma srie de questes, as quais voc precisar responder apropriadaa e o e a mente. Coisas como o seu modem, a string de inicializao do modem, e o nmero de telefone do ca u seu provedor. Alguns itens tero um valor padro, que voc poder aceitar na maioria dos casos. a a e a Aps rodar o programa, ele criar um programa ppp-go e um programa ppp-o. Eles so o a a usados para iniciar e parar, respectivamente, a conexo PPP. Os dois programas esto em a a /usr/sbin e precisam de privilgios de root para serem executados. e /etc/ppp Para a maioria dos usurios, rodar o pppsetup ser o suciente. Entretanto, podem haver a a circunstncias onde voc precisar preparar um conjunto de valores a serem usados pelo daemon a e a do PPP. Todas as informaes de congurao cam em /etc/ppp. Aqui est uma lista do que co ca a voc pode encontrar para diferentes arquivos: e

ip-down ip-up options options.demand pppscript pppsetup.txt

Esse script executado pelo pppd aps o encerramento da conexo PPP. e o a Esse script executado pelo pppd quando ocorre sucesso em uma conexo ppp. Coloq e a Opes gerais para congurao do pppd. co ca Opes gerais de congurao do pppd quando executado no modo de discagem por de co ca Os comandos enviados para o modem. Um log dos seus dados de entrada, quando executou o pppsetup.

NOTA: A maioria desses arquivos no estaro l at depois da execuo do pppsetup. a a a e ca

5.5

Wireless

As redes sem o ainda so coisas relativamente novas no mundo dos computadores mesmo a com o grande crescimento no nmero de pessoas que compram laptops e esperam encontrar u redes por onde passem, sem se preocuparem com o seu velho cabo de par tranado. E essa c tendncia no parece estar diminuindo o ritmo. Infelizmente, as redes sem o no so ainda e a a a to bem suportadas no Linux, a exemplo das redes cabeadas tradicionais. a Existem trs passos bsicos no processo de congurao de uma placa de rede sem o: e a ca Suporte ao hardware das placas de rede sem o Congurao da placa para conectar um ponto de acesso sem o ca Congurao da rede ca 5.5.1 Suporte ao Hardware

O suporte ao hardware de placas sem o dado atravs do kernel, tanto com um mdulo e e o como com suporte direto (built in) no kernel. Geralmente, as placas mais recentes utilizam esse suporte com mdulos. Sendo assim,voc pode determinar o mdulo aproprioado e carreg-lo u e o a

46

CAP ITULO 5. CONFIGURACAO DE REDE

via /etc/rc.d/rc.modules. O netcong pode no detectar sua placa de rede sem o. Nesa ses casos voc provavelmente precisar determinar pessoalmente qual o mdulo da sua placa. e a o Procure mais informaes sobre drivers para o kernel de vrias placas de rede sem o, em co a http://www.hpl.hp.com/personal/Jean Tourrilhes/Linux/.

5.5.2

Congurao da rede sem o ca

A vasta maioria desse trabalho feito pelo iwcong, como sempre voc pode ler o manual e e (com poderes de root, digite man iwcong no terminal) do iwcong se voc precisa de mais e informaes. co Antes de tudo, voc precisar congurar o seu ponto de acesso sem o. Pontos de acesso e a sem o possuem uma pequena variao em suas terminologias, e formas de congurao, ento ca ca a voc talvez precise se mexer um pouco para se acostumar ao seu hardware. Em geral, voc e e precisar pelo menos das seguintes informaes: a co A ID do dom nios, ou o nome da rede (chamado de ESSID pelo iwcong) O canal que o ponto de acesso utiliza As informaes relativas ` criptograa, incluindo todas as chaves utilizadas (preferencialco a mente em hexadecimal) AVISO: UMA NOTA A RESPEITO DO WEP. O WEP bastante fraco, mas muito e e melhor do que no usar nada. Se voc deseja um grau avanado de segurana na sua rede sem a e c c o, voc pode estudar VPNs ou IPSec. Ambos esto fora do escopo deste documento. Voc e a e pode tambm congurar seu ponto de acesso para no publicar sua ID de dom e a nio/ESSID. Uma discusso mais completa a respeito de pol a ticas de redes sem o est alm do escopo desta a e seo, mas uma busca rpida no Google retornar mais do que voc esperava aprender. ca a a e Uma vez que voc tenha coletado as informaes acima, e assumindo que voc usou o mode co e probe para carregar o driver apropriado no kernel, voc pode editar o rc.wireless.conf e adicionar e suas informaes. O arquivo rc.wireless.conf um pouco desorganizado. Um esforo m co e c nimo seria modicar a seo genrica com a sua ESSID, KEY, e CHANNEL, se isso for necessrio ` sua ca e a a placa. (Tente no congurar o CHANNEL, e, se funcionar, timo! Se no funcionar, congure a o a o CHANNEL de forma apropriada.) Se voc for audacioso pode modicar o arquivo de forma e que apenas as variveis necessrias sejam utilizadas. Os nomes das variveis no rc.wireless.conf a a a correspondem aos parmetros do iwcong. So lidos pelo rc.wireless e utilizados nos comandos a a iwcong apropriados. Se voc tem sua chave em hexadecimal, o que o ideal, ser poss trabalhar de forma base e a vel tante condencial, uma vez que seu ponto de acesso e o iwcong estaro com a chave acordada. a Se voc tem apenas uma sequncia de caracteres, pode ter certeza que o seu ponto de acesso e e a traduzir para uma chave em hexadecimal. Nesse caso pode ser necessrio algum trabalho a a para descobr (ou coloque sua chave do ponto de acesso em hexadecimal). -la Uma vez que voc modicou o rc.wireless.conf, execute o rc.wireless como root, e ento rode e a o rc.inet1, novamente como root. Voc pode testar sua rede sem o com as ferramentas padres e o de testes, como o ping, junto com o iwcong. Se voc tem uma interfaces que usem cabo, pode usar, se desejar, o ifcong para desative a las enquanto estiver testando sua rede sem o, para ter certeza de no estar havendo nenhuma a

5.6. SISTEMAS DE ARQUIVO DE REDE

47

confuso de interface. Voc pode tambm desejar testar o efeito das suas mudanas quando da a e e c reinicializao do sistema. ca Agora que voc viu como editar o /etc/rc.d/rc.wireless para sua rede padro, vamos dar e a uma breve olhada no iwcong para ver como ele trabalha. Isso vai lhe ensinar uma maneira rpida e direta para congurar o wi para aquelas vezes em que voc mesmo procura por sinal a e de Internet em um caf, hotel, aeroporto ou qualquer outro hot spot wi, desejando car online. e O primeiro passo dizer ` sua interface wireless em qual rede entrar. Tenha certeza que e a voc substituiu a eth0 com qualquer outra interface que a sua placa de rede use e trocou a e mynetwork para o essid que voc deseja usar. Sim, ns temos certeza que voc esperto o e o ee bastante para isso. Depois disso voc ir especicar a chave criptogrca (se existir) usada na e a a sua rede sem o. Finalmente, especique que canal usar (se necessrio). a

# iwconfig eth0 essid "mynetwork" # iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX # iwconfig eth0 channel n Isso encerra nosso assunto sobre redes sem o. 5.5.3 Congurando a rede

Isso feito exatamente da mesma maneira como era feito nas redes cabeadas. Simplesmente e consulte a primeira parte desse cap tulo.

5.6

Sistemas de Arquivo de Rede

Nesse ponto, voc j deve ter uma conexo TCP/IP trabalhando na sua rede. Voc deve e a a e estar conseguindo enviar pings para outros computadores na sua rede interna e, se voc congue rou corretamente o gateway, deve tambm conseguir pingar computadores da prpria Internet. e o Como sabemos, o fator bsico que nos leva a ligar umcomputador em uma rede a possibilia e dade de acessar informaes. Enquanto algumas pessoas podem colocar seu computador numa co rede apenas para se divertir nela, a maioria deseja compartilhar arquivos e impressoras. Elas desejam poder acessar documentos na Internet ou jogar online. Ter o TCP/IP instalado e functional no seu novo sistema Slackware um bom inic para tal, mas apenas com o TCP/IP e o instalado, as funcionalidades dispon veis sero muito rudimentares. Para compartilhar arquia vos, ns precisaremos usar o FTP ou o SCP para tranfer o -los para l e para c. No podemos a a a navegar por arquivos em nosso computador Slackware a partir de um vizinho na rede, ou nos cones do Meus Locais Rede nos computadores com Windows. Da mesma forma, ns tambm o e gostar amos de acessar arquivos em outras mquinas Unix. a Idealmente, ns gostar o amos de poder usar um sistema de arquivos de rede que nos permitisse acessar transparentemente nossos arquivos em outros computadores. Os programas que ns usamos para interagir com informaes armazenadas em nosso computador no precisam, o co a na verdade, saber em qual computador um dado arquivo est armazenado; eles apenas precia sam saber que ele existe e como peg-lo. E responsabilidade do sistema operacional gerenciar o a acesso a arquivos atravs do sistema de arquivos dispon e dos sistemas de arquivo de rede. e vel Os dois sistemas de arquivo de rede utilizados mais comumente so o SMB (que implementado a e pelo Samba) e o NFS.

48

CAP ITULO 5. CONFIGURACAO DE REDE

5.6.1

SMB/Samba/CIFS

O SMB (de Server Message Block) um descendente do antigo protocolo NetBIOS, que foi e inicialmente utilizado pela IBM em seus produtos gerentes de redes locais. A Microsoft tambm sempre se interessou bastante pelo NetBIOS e seus sucessores (NetBEUI, SMB e CIFS).O e projeto Samba existe desde 1991, quando ele foi escrito originalmente para ligar um IBM PC rodando NetBIOS com um servidor Unix. Atualmente o SMB o mtodo preferido para come e partilhamento de arquivos e servios de impresso sobre uma rede para, virtualmente, toda a c a populao mundial, devido seu suporte ao Windows. ca O arquivo de congurao do Samba o /etc/samba/smb.conf ; um dos mais arquivos de ca e congurao mais bem comentado e documentado que voc ir encontrar em qualquer lugar. ca e a Exemplos de compartilhamento so congurados para sua visualizao, e modicao, se nea ca ca cessrio. Se voc precisa ter um controle preciso, o man (manual) do smb.conf indispensvel. a e e a Uma vez que o Samba to bem documentado, conforme mencionamos acima, no iremos e a a reescrever a documentao aqui. Iremos, no entanto, cobrir rapidamente os pontos bsicos. ca a O smb.conf repartido em mltiplas sees: uma seo para compartilhamento, e uma seo e u co ca ca global para opes de congurao que vlida para todo o escopo do Samba. Algumas opes co ca a co so aceitas apenas na seo global; outras so vlidas apenas fora da seo global. Lembrea ca a a ca se que a seo global pode ser sobreposta por qualquer outra seo. Consulte as pginas do ca ca a manual (man pages) para mais informaes. Voc vai se sentir mais confortvel se editar seu co e a smb.conf de forma a reetir as conguraes da sua rede local. Sugerimos a modicao dos co ca itens listados abaixo: [global] # workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2 workgroup = MYGROUP Substitua o nome do grupo de trabalho (workgroup) pelo grupo de trabalho da sua rede, ou pelo nome do dom nio que voc esteja usando localmente. e # server string is the equivalent of the NT Description field server string = Samba Server< Esse ser o nome do seu Slackware, quando mostrado na pasta de computadores vizinhos (ou a Meus Locais de Rede). # Security mode. Most people will want user level security. See # security_level.txt for details. NOTE: To get the behaviour of # Samba-1.9.18, youll need to use "security = share". security = user Muito provavelmente voc vai querer implementar o n de segurana por usurio no seu e vel c a Slackware. # You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba # documentation. # Do not enable this option unless you have read those documents encrypt passwords = yes

5.6. SISTEMAS DE ARQUIVO DE REDE

49

Se as senhas criptografadas no esto ativadas, voc no poder usar o Samba com os a a e a a Windows NT 4.0, 2000, XP, e 2003. A princ pio, o sistema operacional Windows no requer a encriptao para compartilhamento de arquivos. ca O SMB um protocolo de autenticao, o que signica que necessrio a entrada de um e ca e a usurio e senha corretos, a m de usar este servio. Ns avisamos ao servidor samba que os a c o usurios e senhas vlidos esto vlidos com o comando smbpasswd. O smbpasswd realiza um a a a a par de testes de vericao quando da adio tradicional de usurios, ou da adio de usurios ca ca a ca a da mquina (o SMB requer que voc adicione os nomes dos computadores com NETBIOS como a e mquinas usurias, restringindo que computares podem autenticar). a a Adicionando um usurio ao arquivo /etc/samba/private/smbpasswd. a # smbpasswd -a user Adicionando um nome de mquina ao arquivo /etc/samba/private/smbpasswd. a # smbpasswd -a -m machine E importante notar que um dado usurio ou nome de mquina precisam existir previamente a a no arquivo /etc/passwd. Voc pode realizar isso de maneira simples, com o comando adduser. e Note que quando usamos o comando adduser para adicionar um nome de mquina precisamos a ps-xar um sinal de dlar ($) ao nome da mquina. Entretanto, isso no feito com o o o a a e smbpasswd.O prprio smbpasswd se responsabiliza pelo sinal de dlar ps-xo. Se houver falhas o o o no processo de insero do nome da mquina com o adduser teremos como resultado um erro, ca a quando adicionarmos o nome da mquina no samba. a # adduser machine 5.6.2 Network File System (NFS)

O NFS (ou Sistema de Arquivos de Redes) foi originalmente escrito pela Sun para sua implementao do Unix, o Solaris. Ao mesmo tempo que ele signicativamente mais fcil de ca e a adquirir e rodar, quando comparado ao SMB, tambm signicativamente menos seguro. A e e principal vunerabilidade no NFS que ele facilmente atingido por tcnicas de spoof de usue e e a rios ou identicadores de grupo de uma mquina para outra. O NFS um protocolo que no a e a implementa autenticao. Verses futuras do protocolo NFS esto elaborando melhorias de ca o a segurana, mas elas no so comuns at a presente data. c a a e A congurao do NFS controlada pelo arquivo /etc/exports. Se voc carregar o /etc/exports ca e e padro em um editor, ver um arquivo em branco com duas linhas comentadas na parte mais a a superior. Precisaremos adicionar uma linha no arquivo de exportao para cada diretrio que ca o quisermos exportar, com uma lista das estaes de trabalho clientes para as quais desejemos co permitir o acesso aos arquivos. Por hora, se quisermos exportar o diretrio /home/diretorio o para a estao de trabalho pc1, podemos simplesmente adicionar a linha: ca /home/diretorio pc1(rw) no nosso /etc/exports. A seguir, voc ver um exemplo encontrado e a na man page (manual) do arquivo exports: # sample /etc/exports file / master(rw) trusty(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub (ro,insecure,all_squash)

50

CAP ITULO 5. CONFIGURACAO DE REDE

Como voc pode ver, h vrias opes dispon e a a co veis, e a maioria delas est representada claraa mente nesse exemplo. O NFS assume que um dado usurio em uma mquina tem o mesmo user ID (nmero interno a a u ao sistema operacional, que identica um usurio) em todas as mquinas na rede. Quando uma a a consulta de leitura ou escrita de um cliente NFS para um servidor NFS, um UID (user ID) e passada como parte da requisio de leitura/escrita. Esse UID tratatada da mesma forma de ca e uma requisio de leitura/escrita originada na mquina local. Como voc pode ver, se algum, ca a e e arbitrariamente, especicar um dado UID quando recursos acessam um sistema remoto, Coisas Ruins (tm) podem e devem ocorrer. Como uma cerca-viva protetora contra isso, cada diretrio o a montado com a opo root squash. Isso mapeia o UID para qualquer usurio que alegue ser e ca root para um UID diferente, prevenindo ento o acesso de root a arquivos ou pastas no diretrio a o exportado. A opo root squash para estar inicialmente habilitada como uma medida de seguca rana, mas os autores recomendam sua especicao individualmente para todos os diretrios c ca o no /etc/exports. Voc pode tambm exportar um diretrio diretamente utilizando a linha de comando no e e o servidor usando o comando exportfs, como segue: # exportfs -o rw,no\_root\_squash pc1:/home/diretorio Essa linha exporta o diretrio /home/diretorio para o computador pc1 e concede acesso de o leitura/escrita ` mquina de nome pc1. A t a a tulo de informao o servidor NFS no invocar o ca a a a root squash, o que signica que qualquer usurio do pc1, com o UID igual a 0 (UID do root) ter os mesmo privilgios de root no servidor. A s a e ntaxe parece mesmo um pouco estranha (geralmente quando um diretrio especicado na s o e ntaxe computador:/diretorio/arquivo, voc e est se referindo a um arquivo em um diretrio, em um dado computador). a o Voc pode obter mais informaes no manual (man page) do arquivo exports. e co

Cap tulo 6

Congurarao do X ca
Comeando com o Slackware-10.0, o Ambiente de Janelas X fornecido pelo Xorg. O X o c e e responsvel por fornecer uma interface para o usurio, a qual, diferentemente do Windows ou a a do MacOS, independente do sistema operacional. e O Sistema X Window implementado atravs de diversos programas executados no ambiente e e do usurio. Os dois principais componentes so o servidor e o gerenciador de janelas. O servidor a a fornece as funes de baixo n para interagir com seu dispositivo de v co vel deo, sendo dessa forma espec co para cada sistema. O gerenciador de janelas est acima do servidor e prov a interface a e do usurio. A vantagem disso que voc pode ter muitas interfaces de usurio diferentes, a e e a simplesmente trocando o gerenciador de janelas que voc usa. e Congurar o X pode ser uma tarefa complexa. O motivo dessa complexidade o grande e nmero de dispostivos de v u deo dispon veis para a arquitetura PC, os quais usam interfaces de programao diferentes. Felizmente, muitas das placas, hoje em dia, suportam os padres ca o bsicos de v a deo, conhecidos como VESA e se sua placa est entre essas, voc ser capaz de a e a iniciar o X utilizando o comando startx, logo aps a instalao. o ca Caso isso no funcione ou voc queira obter as vantagens das caracter a e sticas de alta-performance de sua placa, como acelerao ou renderizao 3-D via hardware, ento ser necessrio reconca ca a a a gurar o X. Para congurar o X, ser necessrio criar o arquivo /etc/X11/xorg.conf. Esse arquivo contm a a e um arquivo de congurao muitos detalhes sobre seu dispositivo de v deo, mouse e monitor. E ca muito complexo, mas, felizmente, existem programas para ajudar na criao de um para voc. ca e Iremos mencionar alguns deles aqui.

6.1

xorgcong

Esta uma interface simples orientada a menus que similar ao instalador do Slackware. e e Ela pede ao servidor X que analize sua placa e ento crie o melhor arquivo de congurao a ca inicial que pode ser feito, baseado na informao obtida. O arquivo /etc/X11/xorg.conf um ca e bom ponto de partida para a maioria dos sistemas (e deve funcionar sem modicaes). co Este um programa modo-texto de congurao do X, o qual foi desenvolvido para ade ca ministradores de sistemas experientes. Aqui est um passo-a-passoutilizando o xorgcong. a Primeiramente, inicie o programa: # xorgconfig Esta tela apresentar uma tela cheia de informaes sobre o xorgcong. Para continuar, a co pressione ENTER; xorgcong vai propor que verique se voc congurou a varivel de ambiente e a PATH corretamente. Ela deve estar correta, assim v em frente e aperte ENTER. a
51

52

CAP ITULO 6. CONFIGURARACAO DO X

xorgcong - Congurao do Mouse ca

Selecione o seu mouse a partir do menu apresentado. Caso seu mouse serial no esteja listado, a selecione o protocolo Microsoft o mais comum e provavelmente funcionar. Em seguida, e a xorgcong ir lhe perguntar se deseja ativar as opes ChordMiddle e Emulate3Buttons; essas a co opes estaro descritas em detalhes na tela. Use-as caso o boto do meios de seu mouse no co a a a funcionse sob o X, ou caso seu mouse somente tenha dois botes (Emulate3Buttons permite a o simulao do boto do meio atravs do pressionamento de ambos os botes simultaneamente). ca a a o Ento, entre com o nome do arquivos de dispositivo de seu mouse; a escolha padro, /dev/mouse, a a deve funcionar desde que a ligao tenha sido escolhida durante a congurao do Slackware. ca ca Se voc estiver executando o GPM (o servidor de mouse do Linux) no modo de repetio, voc e ca e poder congurar o tipo de seu mouse para /dev/gpmdata, de modo que o X obtm informaes a e co de seu mouse atravs do gpm(8). Em alguns casos (especialmente com o busmice) isso pode e funcionar melhor, mas muitos dos usurios no devem fazer isso. a a

O xorgcong vai lhe perguntar se eseja habilitar o conjunto de teclas especiais. Caso precise disso, diga y. A maioria dos usurios podem dizer n-- digite isso se no estiver certo. a a

6.1. XORGCONFIG

53

xorgcong - Sincronia Horizontal

Na prxima seo voc informar o intervalo de sincronia horizontal de seu monitor. Para o ca e a iniciar a congurao de seu monitor, pressione ENTER. Voc ver uma lista de tipos de ca e a monitores escolha um deles. Tenha cautela para no exceder a especicao de seu monitor, a ca isso poder danic-lo. a a

xorgcong - Sincronia Vertical

Especique o intervalo de sincronia vertical de seu monitor (voc poder encontrar isso no e a manual do monitor). xorgcong ir lhe pedir para entrar com os textos para a identicao do a ca tipo do monitor no arquivo xorg.conf. Digite o que quiser nestas trs linhas (incluindo nada). e

54

CAP ITULO 6. CONFIGURARACAO DO X

xorgcong - Video Card Agora voc ter a oportunidade de olhar no banco de dados os tipos de placas de v e a deo. Provavelmente voc vai querer v-lo, ento responda ye selecione sua placa na lista exibida; e e a caso voc no encontre a placa exata que possui, experimente selecionar uma que use o mesmo e a chipset (ncleo) e, provvelmente, ir funcionar bem. u a a Em seguinda, informe ao xorgcong quanto de RAM possui sua placa de v deo. O xorgcong vai pedir um texto descrio sobre sua placa de v ca deo, ento, digite sobre a mesma caso deseje. a Voc tambm ser perguntado sobre a resoluo que deseja usar. Novamente, utilizar os e e a ca valores padres pode ser legal para comear, de forma que depois voc poder editar o arquivo o c e a /etc/X11/xorg.conf e reajustar os modos, por exemplo, fazendo que 1024x768 (ou qualquer outro modo que prera) seja o padro. a Nesse momento, xorgcong vai perguntar se voc quer que o arquivo de congurao seja e ca salvo. Diga que sim e o arquivo de congurao ser salvo, completando o processo de conguca a rao. Voc poder iniciar o X com o comando startx ca e a

6.2

xorgsetup

O segundo caminho para congurar o X usar o xorgsetup, um programa de congurao e ca um tanto quanto mgico que vem com o Slackware. a Para executar o xorgsetup, entre no sistema como root e digite: # xorgsetup Caso voc j tenha um arquivo /etc/X11/xorg.conf (por j ter congurado o X), voc ser e a a e a perguntado se deseja salvar uma cpia de segurana da congurao atual antes de continuar. o c ca O arquivo original ser renomeado para /etc/X11/xorg.conf.backup. a

6.3

xinitrc

O xinit(1) o programa que inicia o X; ele chamado pelo startx (1), ento voc no deve ter e e a e a notado-o (e provavelmente nem precisava). Seu arquivo de congurao, no entanto, determina ca quais programas (incluindo especialmente os gerenciadores de janela) so executados quando o a X inicia. xinit primeiramente verica seu diretrio pessoal em busca do arquivo .xinitrc. Caso o

6.3. XINITRC

55

o arquivo seja encontrado, executado; caso contrrio, /var/X11R6/lib/xinit/xinitrc (o padro e a a global do sistema) utilizado. Segue um exemplo simples do arquivo xinitrc: e #!/bin/sh # \$XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=\$HOME/.Xresources usermodmap=\$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # junta os mapas de teclas padr~o a if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi \# inicia alguns programas legais

twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login Todos aqueles blocos ifso para mesclar vrias conguraes de outros arquivos. A parte a a co interessante do arquivo o nal, onde vrios programas so executados. Esta sesso do X vai e a a a comear com o gerenciador de janelas twm(1), um relgio e trs terminais. Note que o exec c o e antes do ultimo xterm sobrepe a shell em execuo, na qual est executando este script xinitrc, o ca a com o comando xterm(1). Assim, quando o usurio fechar o xterm, a sesso do X ir terminar. a a a Para personalizar a incializao do X, copie o arquivo padro /var/X11R6/lib/xinit/xinitrc ca a para /.xinitrc e o edite, substituindo as suas linhas pelo que voc desejar. O nal do meu e e simples: # Inicia o gerenciador de janelas: exec startkde Note que existem diversos arquivos xinitrc.* em /var/X11R6/lib/xinit, os quais correspondem aos vrios gerenciadores de janela e interfaces do usurio. Voc pode usar qualquer um a a e deles, caso deseje.

56

CAP ITULO 6. CONFIGURARACAO DO X

6.4

xwmcong

Durante anos, o Unix foi usado, quase que exclusivamente, como sistema operacional para servidores, com a exceo das poderosas estaes de trabalho. Somente os tcnicos estavam ca co e familiarizados com o uso de um sistema operacional Unix (e suas variaes) e as interfaces para co o usurio reetiam esse fato. As interfaces grcas tendiam para ser, de longe, esqueletos, dea a senhados para executar poucas aplicaes grcas, tais como programas CAD e renderizadores co a de imagem. Assim, muito do gerenciamento de arquivos e do sistema foi conduzido via linha de comando. Diversos vendedores (Sun Microsystems, Silicaon Graphics, etc) foram vendendo estaes que tentavam ter uma aparencia (look and feel) coesiva, mas a grande variedade co de Toolkits (conjunto de componentes para uma interface grca) usadas por desenvolvedores a levou para a dissoluo da uniformidade dos ambientes grcos. Dessa forma, uma barra de ca a rolagem pode no parecer igual em duas aplicaes diferentes; menus podem aparecer em difea co rentes lugares; programas podem ter diferentes botes e caixas de checagem; havia um grande o intervalo de cores e estas eram especicadas no cdigo de cada toolkit. Como os usurios eram o a primariamente tcnicos prossionais, isso no importava muito. e a Com o advento de sistemas operacionais gratuitos baseados no Unix e o crescente nmero u e variedade de aplicaes grcas, o X recentemente ganhou uma grande base de usurios no co a a desktop. Muitos usurios, obviamente, esto acostumados com a aparncia consistente fornea a e cida pelo Microsoft Windows ou pelo Apple MacOS; a falta de tal consistncia em aplicaes e co baseadas no X se tornou uma barreira para sua aceitao. Em resposta, dois projetos de cdigo ca o aberto foram formados: o K Desktop Environment (conhecido como KDE) e o GNU Network Object Model Environment (mais difundido como GNOME). Cada um tem uma variedade de aplicaes, que vo desde a barra de tarefas e gerenciadores de arquivo at jogos e suites de co a e escritrio, escritas com os mesmos Toolkits da interface e integradas para prover uma rea de o a trabalho uniforme e consistente. A diferena entre o KDE e GNOME so de longe, grandes. Eles se parecem diferente um c a do outro por causa da utilizao de diferentes Toolkits. O KDE se baseia na biblioteca grca ca a QT (da Trolltech AS) enquanto o GNOME usa a GTK, uma biblioteca grca originalmente a desenvolvida para o GIMP (em portugus, programa de manipulao de imagens GNU). Como e ca projetos separados, o KDE e o GNOME tm seus prprios desenvolvedores e analistas. O e o resultado em cada caso, no entanto, tem sido fundamentalmente o mesmo: um ambiente consistente, uma rea de trabalho integrada e uma grande coleo de aplicativos. A funcionalidade, a ca usabilidade e detalhes de ambos no rival de nenhum outro sistema operacional dispon a e vel. A melhor parte, no entando, que esses ambientes avanados so gratuitos. Isso signica e c a que voc pode ter um ou ambos (sim! ao mesmo tempo). A escolha sua. e e Em adio aos ambientes GNOME e KDE, o Slackware inclui uma grande coleo de gerenca ca ciadores de janela. Alguns so feitos para emular outros sistemas, outros para personalizao e a ca outros para se obter o mximo de desempenho. Existe uma variedade um tanto quanto grande. a Obviamente, voc pode instalar quantos quiser e, mecher com todos e decidir qual voc gostou e e mais. Para facilitar a seleo de ambientes de rea de trabalho, O Slackware tambm incluiu um ca a e programa chamado xwmcong que pode ser utilizado para selecionar o ambiente de rea de a trabalho ou gerenciador de janelas. Veja a seguir sua execuo: ca

$ xwmconfig

6.5. XDM

57

Voc receber uma lista de todos os ambientes de rea de trabalho e gerenciadores de janelas e a a dispon veis no sistema. Somente selecione da lista o qual deseja. Cada usurio precisar a a executar este programa, uma vez que diferentes usurios podem usar diferentes ambientes de a a rea de trabalho, e nem todos vo querer o ambiente selecionado por voc na instalao. a e ca Ento apenas inicie o X e estar pronto. a a

6.5

xdm

Como Linux se tornou mais e mais usual como um sistema operacional de rea de trabalho, a muitos usurios acharam interessante o computador ligar diretamente no ambiente grco. a a Para isso, voc precisar dizer ao Slackware para inicializar diretamente no X, e atribuir um e a gerenciador de login grco. O Slackware vem com trs ferramentas de login grco,xdm(1), a e a kdm e gdm(1). O xdm o gerenciador de login grco que vem com o sistema X.org. Ele constantemente a a e encontrado, mas no possui tantos recursos como os alternativos. kdm o gerenciador de login a e grco do KDE, o Ambiente de rea de Trabalho K. Finalmente, gdm o gerenciador de login a a e do GNOME. Quaisquer que sejam a sua escolha vai permitir que voc entre no sistema como e qualquer usurio e escolha qual ambiente de trabalho deseja usar. a Infelizmente, O Slackware no inclui um bom programa, como o xwmcong, para selecionar a qual gerenciador de login ser utilizado, ento se todos os trs esto instalados voc pode fazer a a e a e algumas edies para selecionar o gerenciador de sua preferncia. Mas primeiro, vamos discutir co e como iniciar o sistema no modo grco. a A m de iniciar o X na inicializao, voc precisar inicializar no n de execuo (runca e a vel ca level) 4. N veis de execuo so um modo de dizer ao init(8) para fazer algo diferente, quando ca a o sistema operacional iniciado. Ns fazemos isso alterando o arquivo de congurao do init, e o ca /etc/inittab. # Estes s~o os nveis de execu~o padr~o do Slackware: a ca a # 0 = desligamento # 1 = modo de usurio singular a # 2 = n~o utilizado (mas configurado da mesma forma que o nvel de execuo 3) a c # 3 = modo multi-usurio (nvel de execu~o padr~o no Slackware) a ca a # 4 = X11 com KDM/GDM/XDM (gerenciadores de login) # 5 = inutilizado (mas configura para fazer o mesmo que o nvel 3

58

CAP ITULO 6. CONFIGURARACAO DO X

6 = reinicializa~o ca

# nvel de execu~o padr~o (N~o configurar para 0 ou 6) ca a a id:3:initdefault: A m de fazer o Slackware inicializar no modo grco, somente mudaremos o 3 para o 4. a # nvel de execu~o padr~o (N~o configurar para 0 ou 6) ca a a id:4:initdefault: Agora o Slackware vai inicializar no n de execuo 4 e executar o /etc/rc.d/rc.4. Este vel ca arquivos inicia o X e chama o gerenciador de login que voc escolheu. Agora, como vamos e escolher os gerenciadores de login? Existem alguns modos de fazer isso, e vamos explicar eles aps em rc.4. o # Tenta utilizar o gerenciador de login do GNOME: if [ -x /usr/bin/gdm ]; then exec /usr/bin/gdm -nodaemon fi # N~o existe? OK, ent~o tenta utilizar o gerenciador de login do KDE: a a if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi # Se tudo que tivermos for o XDM, acho que ele que vai entrar em a~o: ca if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi Como voc pode ver aqui, rc.4 primeiro checa se o gdm executvel, e, caso seja, executa-o. e e a Em segundo lugar na lista vem o kdm, e nalmente o xdm. Uma forma de escolher o gerenciador de login simplesmente removendo os quais voc no quer usar utilizando o removepkg. Voc e e a e pode encontrar mais sobre removepkg em Gerenciamento de Pacotes do Slackware. Opcionalmente, voc pode remover a permisso de execuo dos arquivos que no deseja e a ca a usar. Ns vamos discutir chmod em Estrutura do Sistema de Arquivos. o <code># chmod -x /usr/bin/gdm</code> Finalmente, voc pode somente comentar as linhas dos gerenciadores de login que no quer e a usar. # Tenta utilizar o gerenciador de login do GNOME: # if [ -x /usr/bin/gdm ]; then # exec /usr/bin/gdm -nodaemon # fi # N~o existe? OK, ent~ tenta utilizar o gerenciador de login do KDE: a a if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi # Se tudo que tivermos for o XDM, acho que ele que vai entrar em a~o: ca # if [ -x /usr/X11R6/bin/xdm ]; then # exec /usr/X11R6/bin/xdm -nodaemon # fi

6.5. XDM

59

Qualquer linha precedida por um sustenido (#) so consideradas comentrios e o interpretador a a de comandos passa silenciosamente por elas. No entando, mesmo se o gdm est instalado e a e executvel, o interpretador de comandos (nesse caso o bash) no vai se importar em checar isso. a a

60

CAP ITULO 6. CONFIGURARACAO DO X

Cap tulo 7

Processo de Boot
O processo de boot de seu sistema Linux pode tanto ser fcil quanto dif a cil. Muitos usurios a instalam o Slackware em seus computadores e pronto. Eles simplesmente o ligam e j est a a pronto para ser usado. Para outros, o simples ato de dar boot na mquina pode ser uma dor a de cabea. Para a maioria dos usurios, o LILO funciona melhor. O Slackware inclui o LILO e c a o LOADLIN para inicializar o Slackware Linux. O LILO funciona a partir de uma partio de ca um disco r gido, da MBR de um disco r gido, ou de um disquete, o que o torna uma ferramenta verstil. O LOADLIN funciona a partir de uma linha de comando DOS, substituindo o DOS e a chamando o Linux. Outro utilitrio popular para inicializar o Linux o GRUB. a e O GRUB no est inclu nem suportado ocialmente pelo Slackware. O Slackware mana a do e tm o padro testado e aprovado em tudo o que inclu na distribuio. Apesar do GRUB e a e do ca funcionar bem e incluir algumas funcionalidades que o LILO no possui, o LILO realiza todas a as tarefas essenciais de um sistema de boot de forma convel e comprovada. Por ser mais a recente, o GRUB ainda no conseguiu este legado. J que no inclu no Slackware, no a a a e do a vamos discutir sobre ele aqui. Se voc quiser usar o GRUB (talvez tenha vindo com outro e sistema Linux e voc queira us-lo para dual boot), consulte a documentao do GRUB. e a ca Esta sesso cobre o uso do LILO e do LOADLIN, os dois gerenciadores de boot inclu a dos no Slackware. Aqui tambm vemos alguns cenrios t e a picos de dual boot e como congur-los. a

7.1

LILO

O Linux Loader, ou LILO, o gerenciador de boot mais usado em sistemas Linux. Ele e permite uma extensa gama de conguraes pode ser usado facilmente para dar boot em outros co sistemas operacionais. O Slackware Linux possui um utilitrio de congurao na forma de menu chamado lilocona ca g. Este utilitrio executado pela primeira vez durante o processo de congurao, mas voc a e ca e pode cham-lo mais tarde digitando lilocong na linha de comando. a O LILO l suas conguraes a partir do arquivo /etc/lilo.conf (5) Ele no lido toda vez e co a e que o computador inicializado, e sim todas as vezes que o LILO instalado. O LILO deve ser e e reinstalado no setor de boot sempre que houver uma alterao na congurao. Muitos erros ca ca do LILO acontecem quando se faz alteraes no arquivo lilo.conf, mas se esquece de reexecutar co o lilo para instalar essas alteraes. O lilocong ajuda a montar o arquivo de congurao para co ca que voc possa instalar o LILO em seu sistema. Se preferir editar o /etc/lilo.conf manualmente, e
61

62

CAP ITULO 7. PROCESSO DE BOOT

a reinstalao do LILO envolve simplesmente a digitao de /sbin/lilo (como root) na linha de ca ca comando. Ao chamar pela primeira vez o lilocong, ele ser como: a

lilocong Se esta for a primeira vez que voc congura o LILO, escolha a opo simple (simples). Por e ca outro lado, a opo expert (avanado) mais rpida se voc estiver familiarizado com o LILO ca c e a e e o Linux. Selecionando simple, a congurao do LILO iniciada. ca e Se o seu kernel estiver compilado com suporte a frame buer, o lilocong pergunta qual resoluo de v ca deo voc gostaria de usar. Esta resoluo tambm usada pelo frame buer do e ca e e servidor XFree86. Se voc no quiser usar o console em um modo de v e a deo especial, selecione normal para manter o modo texto padro de 80x25 em uso. a Na prxima parte da congurao do LILO, selecione onde quer que ele seja instalado. o ca Provavelmente este o passo mais importante. A lista abaixo explica os locais de instalao: e ca Root Esta opo instala o LILO no in de sua partio ra Esta a maneira mais segura se no ca cio ca z. e a houver outros sistemas operacionais em seu computador. Ela assegura que outros gerenciadores de boot no sejam sobreescritos. A desvantagem que o LILO apenas carrega se o seu drive a e com o Linux for o primeiro drive em seu sistema. por este motivo que muitos preferem criar e uma pequena partio /boot como o primeiro driver em seus sistemas. Isto permite que o kernel ca e o LILO sejam instalados no in do drive, onde o LILO consegue encontr-los. Algumas cio a verses anteriores do LILO continham uma falha infame conhecida como limite do cilindro o 1024. O LILO no conseguia inicializar kernels em parties alm do limite do cilindro 1024. a co e As edies recentes do LILO eliminaram esse problema. co Disquete Este mtodo ainda mais seguro do que o anterior. Ele cria um disquete que voc pode usar e e e para dar boot no seu sistema Linux. Isto mantm o gerenciador de boot completamente fora do e seu disco r gido. Desse modo, se quiser usar o Slackware, voc somente conseguir iniciar o seu e a

7.2. LOADLIN

63

sitema usando este disquete. As falhas deste sistema so bvias. Os disquetes so conhecidos a o a por serem frgeis, propensos a dar defeitos. Alm disso, o gerenciador de boot no est mais a e a a contido no computador. Se voc perder o seu disquete, ter que fazer outro para inicializar o o e a seu sistema. MBR Este mtodo escolhido quando o Slackware o unico sistema operacional em seu come e e putador, ou se o LILO for usado para escolher entre mltiplos sistemas operacionais em seu u computador. Este o mtodo recomendado para a instalao do LILO e funciona em quase e e ca qualquer sistema. AVISO: Esta opo sobreescreve qualquer outro gerenciador de boot que porventura exista ca na MBR. Aps a seleo do local de instalao, o lilocong cria o arquivo de congurao e instala o ca ca ca o LILO. E pronto. Se escolher o modo expert, apresentado um menu especial. Este menu e permite fazer ajustes avanados no arquivo /etc/lilo.conf, adiconar outros sistemas operacionais c no seu menu de boot, e ajustar o LILO para passar parmetros especiais ao kernel durante o a boot. O menu expert se parece com a gura abaixo:

lilocong - Menu Expert Qualquer que seja a congurao do seu sistema, fcil congurar um gerenciador de boot ca e a que funcione. O lilocong torna essa tarefa uma moleza.

7.2

LOADLIN

A outra opo para a inicializao que vem com o Slackware Linux o LOADLIN. O LOca ca e ADLIN um executvel DOS que pode ser usado para iniciar o Linux a partir de um sistema e a DOS em execuo. Ele requer que o kernel do Linux esteja na partio DOS para que o LOAca ca DLIN possa carreg-lo e inicializar o sistema adequadamente. a

64

CAP ITULO 7. PROCESSO DE BOOT

Durante o processo de boot, o LOADLIN copiado para o diretrio home do usurio root e o a como um arquivo .ZIP. No h um processo de instalao automtica para o LOADLIN. a a ca a e necessrio copiar o kernel do Linux (geralmente /boot/vmlinuz ) e o arquivo LOADLIN do dia retrio home do usurio root para a partio do DOS. o a ca O LOADLIN util quando se deseja fazer um menu de boot em sua partio DOS. Pode-se e ca adicionar um menu ao seu arquivo AUTOEXEC.BAT para permitir a escolha entre o Linux e o DOS. Escolhendo o Linux o LOADLIN executado, assim inicializando o seu sistema Slackware. e O exemplo abaixo do arquivo AUTOEXEC.BAT para o Windows 95 cria um menu de boot satisfatrio: o @ECHO OFF SET PROMPT=$P$G SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\ CLS ECHO Selecione o sistema operacional: ECHO. ECHO [1] Slackware Linux ECHO [2] Windows 95 ECHO. CHOICE /C:12 "Selection? -&gt; " IF ERRORLEVEL 2 GOTO WIN IF ERRORLEVEL 1 GOTO LINUX :WIN CLS ECHO Iniciando o Windows 95... WIN GOTO END :LINUX ECHO Iniciando o Slackware Linux... CD \LINUX LOADLIN C:\LINUX\VMLINUZ ROOT=<dispositivo da parti~o root> RO ca GOTO END :END Especique a sua partio root com o nome do dispositivo no Linux, tal como /dev/hda2 ou ca algo semelhante. Voc tambm pode usar o LOADLIN a partir da linha de comando. Simplese e mente use-o como no exemplo acima. A documentao do LOADLIN possui muitos exemplos ca sobre o seu uso.

7.3

Dual Boot

Muitos usurios conguram os seus computadores para inicializar o Slackware Linux e outro a sistema operacional (o que se chama dual boot). Descrevemos vrios cenrios t a a picos de dual boot abaixo, em caso de haver diculdades para congurar o seu sistema.

7.3.1

Windows

Provavelmente o cenrio mais comum de dual boot com o MS Windows e o Linux. H a e a vrias maneiras de se congurar a inicializao, mas esta sesso abranger duas delas. a ca a a

7.3. DUAL BOOT

65

` As vezes, ao congurar um sistema com dual boot se cria um plano perfeito em relao a ca onde tudo vai car, mas se confunde a ordem de instalao. muito importante compreender ca e que os sistemas operacionais devem ser instalados em uma determinada ordem para que o dual boot funcione. O Linux sempre oferece controle sobre o que, se for o caso, gravado na MBR e (Master Boot Record - Registro Principal de Inicializao). Portanto, aconselhvel instaca e a lar o Linux por ultimo. O Windows deve ser instalado primeiro, j que ele sempre grava seu a gerenciador de boot na MBR, sobreescrevendo as conguraes porventura gravadas pelo Linux. co Usando o LILO A maioria dos usurios preferem usar o LILO para escolher entre o Linux e o Windows. a Como foi citado acima, instale primeiramente o Windows, e, ento, o Linux. a Digamos que o unico drive no seu sistema seja um disco r gido IDE de 40GB. Suponhamos tambm que voc queira deixar a metade do espao para o Windows e a outra metade para o e e c Linux. Haver um problema ao tentar iniciar o Linux. a

20GB 1GB 19GB

Windows boot (C:) Linux root (/) Linux /usr (/usr)

Voc deve separar tambm um espao adequado para uma partio de troca (swap) para o e e c ca Linux. A regra geral usar o dobro da quantidade de memria RAM. Um sistema com 64MB e o deve ter 128MB de swap, e assim por diante. O espao de swap adequado alvo de muitas c e discusses inamadas no IRC e na Usenet. Na verdade no h uma forma correta de fazer, o a a mas a regra acima deve ser satisfatria. o Com as suas parties prontas, comece a instalao do Windows. Depois que estiver conco ca gurado e funcionando, instale o Linux. A instalao do LILO requer ateno especial. Talvez ca ca voc prera escolher o modo expert para instalar o LILO. e Inicie uma nova congurao do LILO. Prera instalar na MBR para que possa ser usado ca para escolher entre ambos os sistemas operacionais. No menu, adicione a sua partio Linux e ca a sua partio Windows (ou DOS). Assim que este passo estiver completo, pode instalar o LILO. ca Reinicie o seu computador. O LILO deve ser carregado e exibir um menu que permite a escolha entre os sistemas operacionais instalados. Selecione o nome do Sistema Operacional que deseja carregar (esses nomes foram escolhidos na congurao do LILO). ca O LILO um gerenciador de boot altamente congurvel. Ele no se limita a iniciar o Linux e a a ou o DOS. Ele pode iniciar praticamente qualquer coisa. As pginas de manual do lilo(8) e do a lilo.conf (5) fornecem informaes mais detalhadas. co E se o LILO no funcionar? H casos onde o LILO no funciona em uma mquina espec a a a a ca. Felizmente, h outra maneira de fazer dual boot entre o Linux e o Windows. a Usando o LOADLIN Este mtodo pode ser usado se o LILO no funcionar em seu sistema, ou se voc no quie a e a ser congurar o LILO. Este mtodo tambm ideal para o usurio que reinstala o Windows e e e a freqentemente. A cada reinstalao do Windows, ele sobreescreve A MBR, assim destruindo u ca

66

CAP ITULO 7. PROCESSO DE BOOT

a instalao do LILO. Com o LOADLIN, voc no est sujeito a esse problema. A maior desca e a a vantagem que o LOADLIN somente pode ser usado para iniciar o Linux. e Com o LOADLIN, os sistemas operacionais podem ser instalados em qualquer ordem. Cuidado para no fazer instalaes na MBR, voc no quer fazer isso. O LOADLIN depende de que a co e a a partio do Windows seja inicializvel. Ento, durante a instalao do Slackware, assegure-se ca a a ca de pular a congurao do LILO. ca Aps a instalao dos sistemas operacionais, copie o arquivo loadlinX.zip (onde X o no ca e u mero da verso, tal como 16a) do diretrio home do usurio root para a sua partio Windows. a o a ca Copie tambm a imagem do seu kernel para a partio do Windows. Para isso funcionar, e ca e necessrio estar no Linux. O exemplo abaixo mostra como fazer isso: a # # # # # # # # mkdir /win mount -t vfat /dev/hda1 /win mkdir /win/linux cd /root cp loadlin* /win/linux cp /boot/vmlinuz /win/linux cd /win/linuz unzip loadlin16a.zip

E criado um diretrio C:\LINUX em sua partio Windows (supondo que seja /dev/hda1 ) o ca e tudo que necessrio ao LOADLIN copiado. Aps isso, necessrio reiniciar o Windows e a e o e a para congurar um menu de boot. De volta ao Windows, abra uma janela do DOS. Primeiro, temos que assegurar que o sistema esteja congurado para no iniciar na interface grca. a a C:\> cd \ C:\> attrib -r -a -s -h MSDOS.SYS C:\> edit MSDOS.SYS Adicione esta linha ao arquivo: BootGUI=0 Agora salve o arquivo e saia do editor. Agora edite o C:\AUTOEXEC.BAT para que possamos adicionar um menu de boot. O exemplo abaixo mostra como deve ser um bloco de menu de boot no AUTOEXEC.BAT : cls echo System Boot Menu echo. echo 1 - Linux echo 2 - Windows echo. choice /c:12 "Selection? -> " if errorlevel 2 goto WIN if errorlevel 1 goto LINUX :LINUX cls echo "Iniciando o Linux..."

7.3. DUAL BOOT

67

cd \linux loadlin c:\linux\vmlinuz root=/dev/hda2 ro goto END :WIN cls echo "Iniciando o Windows..." win goto END :END A linha principal a que chama o LOADLIN. Dizemos qual kernel carregar, a partio root e ca do Linux, e que inicialmente queremos que seja montada somente para leitura. As ferramentas necessrias para esse mtodo so fornecidas com o Slackware Linux. H a e a a vrios outros gerenciadores de boot no mercado, mas esses devem funcionar ma maioria das a conguraes de dual boot. co Esta a situao de dual boot menos comum. Nos velhos tempos do o LILO no conseguia e ca a iniciar o Windows NT, o que requeria que os usurios do Linux alterassem a NTLDR, que a apresentava muito mais problemas do que o dual boot entre o Windows 9x e o Linux. Esteja ciente de que as instrues abaixo esto ultrapassadas. O LILO j consegue iniciar o Windows co a a NT/2000/XP/2003 h vrios anos. Contudo, se voc estiver usando uma mquina antiga, este a a e a procedimento pode ser necessrio. a Instale o Windows NT Instale o Linux, assegurando-se de que o LILO seja instalado no superbloco da partio ca do Linux Coloque os primeiros 512 bytes da partio root do Linux na partio do Windows NT ca ca Edite o C:\BOOT.INI sob o Windows NT para adicionar uma opo para o Linux ca A instalao do Windows NT deve ser bem direta, assim como deve ser a instalao do ca ca Linux. A partir desse ponto, ca mais complicado. Pegar os primeiros 512 bytes da partio ca do Linux mais fcil do que parece. Para isso, voc precisa estar no Linux. Supondo que a sua e a e partio Linux seja /dev/hda2, digite o comando: ca # dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512 S isso. Agora voc precisa copiar o bootsect.lnx para a partio do Windows NT. Aqui ocorre o e ca outro problema. O Linux no possui suporte estvel para gravao em sistemas NTFS. Se voc a a ca e tiver instalado o Windows NT e formatado o seu drive como NTFS, ser necessrio copiar esse a a arquivo para um disquete com FAT e ento ler a partir dele no Windows NT. Se voc tiver a e formatado o drive do Windows NT como FAT, pode simplesmente mont-lo no Linux e copiar a o arquivo. De qualquer modo, copie o /tmp/bootsect.lnx do Linux para C:\BOOTSECT.LNX no Windows NT. O ultimo passo adicionar uma opo no menu de boot do Windows NT. No Windows NT, e ca abra um terminal. C:\WINNT> cd \ C:\> attrib -r -a -s -h boot.ini C:\> edit boot.ini

68

CAP ITULO 7. PROCESSO DE BOOT

Adicione esta linha ao nal do arquivo: C:\bootsect.lnx="Slackware Linux" Salve as alteraes e saia do editor. Ao reiniciar o Windows NT, aparecer uma opo para co a ca o Linux no menu. Selecione-a para iniciar o Linux.

7.3.2

Linux

Sim, isso realmente feito. Denitivamente, este o cenrio de dual boot mais simples. e e a Pode-se simplesmente usar o LILO e adicionar mais entradas no arquivo /etc/lilo.conf. Isso e tudo.

Cap tulo 8

O Shell
Em um ambiente grco, a interface apresentada por um programa que cria janelas, barras a e de rolagem, menus, etc. Em um ambiente de linha de comando, a interface com o usurio a apresentada por um shell, que interpreta os comandos e geralmente torna as coisas uteis. e Imediatamente aps entrar no sistema (o que visto neste cap o e tulo), os usurios so colocados a a em um shell e podem fazer o seu trabalho. Este cap tulo serve como uma introduo ao shell, ca e ao shell mais comum entre os usurios do Linux - o Bourne Again Shell (bash). Para maiores a informaes sobre qualquer tpico deste cap co o tulo, veja a pgina de manual do bash(1). a

8.1
8.1.1

Os Usurios a
Entrando no Sistema

Ento voc iniciou o Linux, e est olhando para algo que se parece com isso: a e a Welcome to Linux 2.4.18 Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6. darkstar login: H... ningum disse nada sobre um login. E o que darkstar? No se preocupe; provaa e e a velmente voc no abriu acidentalmente um link de comunicao espacial com a lua articial e a ca do Imprio. (Infelizmente, o protocolo de link de comunicao espacial ainda no tem suporte e ca a no kernel do Linux. Talvez a srie 2.8 do kernel nalmente tenha suporte a esse protocolo to e a esperado.) No, darkstar apenas o nome de um dos nossos computadores, e seu nome aparece a e por padro. Se voc tiver especicado um nome para o seu computador durante a congurao, a e ca ele deve ser exibido em vez de darkstar. Quanto ao login... Se for a sua primeira vez, voc deve entrar como root. Ser pedida uma e a senha; se voc tiver criado uma durante o processo de congurao, essa senha que ser pee ca e a dida. Se no, simplesmente pressione enter. Isso a - voc entrou! a e

8.1.2

Root: O Super Usurio a

Ok, quem ou o que o root? E o que est fazendo com uma conta em meu sistema? e a Bem, no mundo Unix e dos sistemas operacionais semelhantes (como o Linux), h usurios a a e usurios. Veremos maiores detalhes depois, mas o que importa por enquanto saber que o a e root o maior usurio de todos; o root onipotente e onisciente, e ningum desobedece o root. e a e e Isso simplesmente no permitido. O root o que chamamos de super usurio, e realmente a e e a ele . E o que melhor, o root voc. e e e e
69

70

CAP ITULO 8. O SHELL

Legal, hein? Se voc estiver em dvida: sim, isso muito legal. O problema , contudo, que o root pode e u e e ca por sua natureza, pode quebrar tudo o que desejar. Voc pode querer ir direto para a seo e 12.1.1 e ver como adicionar um usurio; e, ento, entre no sistema e continue daqui. A sabedoa a ria popular diz que melhor s se tornar o super usurio quando for absolutamente necessrio, e o a a de forma a minimizar a possibilidade de estragar algo acidentalmente. A propsito, no h problemas se voc decidir que quer se tornar o root enquanto est no o a a e a o sistema como outro usurio. E s usar o comando su(1). Voc ter que informar a senha de root a e a e se tornar o root at que d o comando exit ou logout. Voc tambm pode se tornar qualquer a e e e e outro usurio usando o su, desde que saiba a sua senha: su logan, por exemplo, permitiria que a voc fosse eu. e NOTA: O root pode dar o su para qualquer usurio, sem precisar de senha. a

8.2
8.2.1

A Linha de Comando
Executando Programas

No h muito o que fazer sem executar um programa; deve dar para apoiar algo com o seu a a computador ou manter uma porta aberta, e alguns fazem um zumbido maravilhoso quando esto ligados, mas no para isso que servem. E acho que podemos concordar que ser usado a a e como batente para portas no o que trouxe popularidade aos computadores pessoais. a e Ento, lembra-se de que quase tudo no Linux um arquivo? Bem, isso tambm vale para a e e programas. Cada comando que voc executa (que no funo nativa do shell) reside em um e a e ca arquivo em algum lugar. Voc executa um programa simplesmente especicando o caminho e completo at ele. e Por exemplo, lembra-se do comando su da seo acima? Bem, na verdade ele est no direca a trio /bin: /bin/su o executaria perfeitamente. o Por que, ento, digitar apenas su funciona? Anal, voc no disse que ele estava em /bin. a e a Poderia tambm estar em /usr/local/share, certo? Como o sistema sabia? A resposta est na e a varivel de ambiente PATH ; a maioria dos shells possui o PATH ou algo muito parecido com o a PATH. Essa varivel basicamente contm uma lista de diretrios, para procurar os programas a e o que voc tenta executar. Ento, quando voc executou su, o seu shell percorreu sua lista de die a e retrios, procurando em cada um o arquivo executvel chamado su que pudesse executar; assim o a que encontrou algum, ele o executou. Isto acontece sempre que voc executa um programa sem e especicar o caminho completo para ele; se der um erro de Command not found (comando no encontrado), isso signica que o programa que tentou executar no est em seu PATH. a a a (E claro que isso seria verdadeiro se o programa no existisse...) Discutiremos as variveis de a a ambiente com maiores detalhes em variveis de ambiente. a Lembre-se, tambm, que o . um atalho para o diretrio atual, ento se voc estivesse em e e o a e /bin, ./su funcionaria como um caminho completo expl cito.

8.2. A LINHA DE COMANDO

71

8.2.2

Substituio de Meta-Caracteres ca

Quase todo shell reconhece alguns caracteres como substitutos ou abreviaes que signicam co que qualquer caracter encaixa aqui. Estes caracteres so chamados de meta-caracteres; os mais a comuns so * e ?. Por conveno, o ? geralmente substitui qualquer caractere unico. Por a ca exemplo, suponha que esteja em um diretrio com trs arquivos: ex1.txt, ex2.txt, e ex3.txt. o e ca Voc quer copiar todos estes arquivos (usando o comando cp visto na seo 10.5.1) para outro e diretrio, digamos /tmp. Bem, digitar cp ex1.txt ex2.txt ex3.txt /tmp trabalhoso demais. E o e muito mais fcil digitar cp ex?.txt /tmp; o ? combina com qualquer um dos caracteres 1, 2, a e 3, e cada um, por sua vez, ser substitu a do. O que disse? Isto ainda d muito trabalho? Voc est certo. Isto assustador; temos leis a e a e trabalhistas para nos proteger deste tipo de coisa. Felizmente, tambm temos o *. Como j e a foi mencionado, o * substitui qualquer nmero de caracteres, inclusive 0. Ento se aqueles u a trs arquivos fossem os unicos no diretrio, poder e o amos simplesmente dizer cp * /tmp e pegar todos com um s golpe. Suponha, contudo, que tambm exista um arquivo chamado ex.txt e o e um chamado hejaz.txt. Queremos copiar o ex.txt, mas no o hejaz.txt; O cp ex* /tmp faz isso a para ns. o O cp ex?.txt /tmp, somente iria, claro, pegar os nossos trs arquivos originais; no h um e e a a caractere em ex.txt para combinar com o ?, ento ele caria de fora. a Outro meta-caractere comum o par de colchetes [ ]. Quaisquer caracteres dentro dos e colchetes substituem de acordo com o padro informado em [ ] para encontrar combinaes. a co Parece confuso? No to ru Suponha, por exemplo, que um diretrio contm os 8 seguina e a m. o e tes arquivos: a1, a2, a3, a4, aA, aB, aC, e aD . Queremos encontrar apenas os arquivos que terminam com nmeros; o [ ] far isso para ns. u a o $ ls a[1-4] a1 a2 a3 a4 Mas o que realmente queremos apenas os arquivos a1, a2 e a4 ? no exemplo anterior usae mos - signicando todos os valores entre 1 e 4. Tambm podemos separar entradas individuais e usando v rgulas. $ ls a[1,2,4] a1 a2 a4 Sei que agora voc est pensando: - Bem, e quanto as letras? O Linux distingue entre maise a u culas e minsculas, o que signica que a diferente de A e que s so relacionados em sua u e o a mente. As letras maisculas sempre vm antes das letras minsculas, ento A e B vm antes u e u a e de a e b. Dando continuidade ao nosso exemplo anterior, se quisssemos os arquivos a1 e A1, e podemos encontr-los rapidamente com o [ ]. a $ ls [A,a]1 A1 a1 Observe que se inclu ssemos um h em vez de uma v fen rgula, obter amos resultados incorretos. $ ls [A-a]1 A1 B1 C1 D1 a1 Tambm pode combinar h e v e fen rgula. $ ls [A,a-d]1 A1 a1 b1 c1 d1

72

CAP ITULO 8. O SHELL

8.2.3

Redirecionamento de Entrada e Sa e Uso do Pipe da

(L vem algo legal.) a $ ps > blargh Sabe o que isso? Estou executando o ps para ver quais processos esto em execuo; o ps e a ca ca a e e est na seo 11.3. Essa no a parte legal. A parte legal > blargh, que signica, a grosso a modo, pegue a sa do ps e mande para um arquivo chamado blargh. Mas espere, vai car da mais legal.

$ ps | less Este pega a sa do ps e a manda atravs do less, ento posso subir ou descer a pgina da e a a conforme a minha vontade.

$ ps >> blargh Este o terceiro redirecionador mais usado; ele faz o mesmo que o >, exceto pelo fato de e que o >> adiciona a sa do ps ao nal do arquivo blargh, se este arquivo existir. Se no, da a assim como o >, ele ser criado. (O > substitui o contedo atual do arquivo blargh.) a u Tambm h o operador <, que signica pegue a entrada a partir do sa mas no usado e a da, a e to freqentemente. a u

$ fromdos < dosfile.txt > unixfile.txt O redirecionamento ca mesmo divertido quando comea a ser combinado: c

$ ps | tac >> blargh Isso executa o ps, reverte as linhas de sua sa da, e as adiciona ao arquivo blargh. Voc pode e empilhar quantos redirecionadores desejar; apenas tenha o cuidado de se lembrar de que eles so interpretados da esquerda para a direita. a Veja a pgina de manual do bash(1) para encontrar informaes mais detalhadas sobre a co redirecionamento.

8.3
8.3.1

O Bourne Again Shell (bash)


Variveis de Ambiente a

Um sistema Linux uma fera complexa, e h muito para se lembrar, muitos pequenos detae a lhes que fazem diferena nas suas interaes normais com vrios programas (alguns dos quais c co a voc no deve nem ter ouvido falar). Ningum precisa passar um monte de opes para cada e a e co programa que executado, dizendo a ele que tipo de terminal est sendo usado, o nome da e a mquina, como o seu prompt deve ser... a Exemplo: Listando as Variveis de Ambiente com o set a

8.3. O BOURNE AGAIN SHELL (BASH)

73

$ set PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/openwin/bin: :/usr/local/ssh2/bin:/usr/local/ssh1/bin:/usr/share/texmf/bin:/usr/local/sbin:/usr/sbin: PIPESTATUS=([0]="0") PPID=4978 PS1=\h:\w\$ PS2=> PS4=+ PWD=/home/logan QTDIR=/usr/local/lib/qt REMOTEHOST=ninja.tdn SHELL=/bin/bash Ento, como um mecanismo de ajuda, os usurios contam com o que se chama de ambiente. a a O ambiente dene as condies nas quais os programas so executados, e algumas destas deco a nies so variveis; o usurio pode alterar e brincar com elas, de forma que s acontece em co a a a o um sistema Linux. Praticamente qualquer shell possui variveis de ambiente (se no, provaa a velmente no um shell muito util). Daremos uma viso geral dos comandos do bash para a a e a manipulao das suas variveis de ambiente. ca a O set sozinho exibe todas as variveis de ambiente denidas atualmente, assim como seus a valores. Como a maioria das funes nativas do bash, tambm pode fazer vrias outras coisas co e a (com parmentros); deixaremos a pgina de manual do bash(1) cobrir esses detalhes, entrea a tanto. O Exemplo acima mostra um trecho da sa de um comando set executado em um da dos computadores do autor. Observe nesse exemplo a varivel PATH que foi discutida acima. a Os programas de cada um destes diretrios podem ser executados simplesmente digitando-se o o nome do arquivo. $ unset VARIAVEL O comando unset remove as variveis que voc indicar, apagando tanto a varivel quanto o a e a seu contedo; O bash esquece que a varivel j existiu. (No se preocupe. A no ser que seja u a a a a algo que voc deniu explicitamente naquela sesso do shell, provavelmente ser redenida em e a a uma outra sesso.) a $ export \textbf{VARIAVEL=algum\_valor} O comando export realmente prtico. Usando-o, voc d ` varivel de ambiente VARIe a e aa a AVEL o valor algum valor; se VARIAVEL no existia, passa a existir. Se VARIAVEL j a a possuir um valor, bem, j era. Isso no to bom se voc estiver apenas tentando adicionar a a e a e um diretrio ` sua varivel PATH. Neste caso, voc provavelmente quer fazer alguma coisa como: o a a e $ export PATH=\$PATH:\textbf{/um/novo/diretorio} Observe o uso de $PATH aqui: quando se quer que o bash interprete uma varivel (substitu a la por seu valor), adicione um $ ao in do nome da varivel. Por exemplo, echo $PATH exibe cio a o valor de PATH, no meu caso: $ echo \$PATH /usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin

74

CAP ITULO 8. O SHELL

8.3.2

Completando Linhas de Comando com o TAB

(Aqui vai outra coisa legal.) Usar uma interface de linha de comando signica digitar muito. Digitar d trabalho. a Ningum gosta de trabalho. e A partir dos itens 2 e 3, podemos determinar que (4) ningum gosta de digitar. Felizmente, e o bash nos salva do item (5) (Ningum gosta de uma interface de linha de comando). e Voc est perguntando como o bash consegue esta proeza maravilhosa? Alm da expanso e a e a de meta-caracteres discutido acima, o bash apresenta a capacidade de completar linhas de comando com o TAB. A capacidade de completar linhas de comando com o TAB funciona assim: Voc est e a digitando o nome de um arquivo. Talvez esteja em seu PATH, talvez voc esteja digie tando explicitamente. Tudo que se precisa digitar o suciente do nome do arquivo para e identic-lo de forma unica. Ento pressione a tecla TAB. O bash descobre o que voc a a e quer e termina a digitao para voc! ca e Veja o exemplo. O /usr/src contm dois subdiretrios: /usr/src/linux e /usr/src/sendmail. e o Quero ver o que est em /usr/src/linux. Ento simplesmente digito ls /usr/src/l, pressiono a a a tecla TAB, e o bash me d o comando ls /usr/src/linux. a Agora, suponha que existam dois diretrios /usr/src/linux e /usr/src/linux-old ; Se eu o digitar /usr/src/l e pressionar TAB, o bash preenche tanto quanto consegue, e vou ter /usr/src/linux. Posso parar aqui, ou posso pressionar TAB novamente, e o bash exibe uma relao de diretrios que combinam com o que j digitei at ento. ca o a e a Quer dizer, menos digitao (e ento, as pessoas podem gostar de interfaces de linha de ca a comando). Eu disse que era legal.

8.4

Terminais Virtuais

Voc est no meio de um trabalho e decide que precisa fazer outra coisa. Voc poderia e a e simplesmente parar o que est fazendo e alternar as tarefas, mas este sistema multi-usurio, a e a no ? E voc pode entrar no sistema quantas vezes quiser simultaneamente, no pode? Ento a e e a a por que teria que fazer uma coisa de cada vez? No precisa. Nem todos ns podemos ter mltiplos teclados, mouse e monitores para cada a o u mquina; provavelmente nem queremos ter. Obviamente, hardware no a soluo. Sobra para a a e ca o software, e o Linux se d bem nesse caso, oferecendo terminais virtuais, ou VTs. a Pressionando Alt e uma tecla de funo, voc pode alternar entre os terminais virtuais; cada ca e tecla de funo corresponde a um deles. Por padro, o Slackware tem logins em 6 terminais ca a virtuais. Alt+F2 te leva ao segundo, Alt+F3 ao terceiro, etc. O restante das teclas de funo so reservadas para sesses do X. Cada sesso do X usa ca a o a seu prprio VT, comeando pelo stimo (Alt+F7) e assim por diante. No X, a combinao o c e ca

8.4. TERMINAIS VIRTUAIS

75

Alt+Tecla de Funo substitu por Ctrl+Alt+Tecla de Funo; assim, se estiver no ca e da ca X e quiser voltar a um console de texto (sem sair de sua sesso no X), Ctrl+Alt+F3 te levar a a ao terceiro terminal virtual. (Alt+F7 te leva de volta ` primeira sesso do X.) a a

8.4.1

Screen

E quanto `s situaes onde no h terminais virtuais? E ento? Felizmente, o Slackware a co a a a inclui um belo gerenciador de tela oportunamente chamado de screen. O screen um emulae dor de terminal que possui capacidades semelhantes `s de um terminal virtual. Ao executar o a screen, uma breve apresentao aparece, ento um terminal abre. Diferentemente dos termica a nais virtuais padro, o screen possui seus prprios comandos. Todos os comandos do screen a o so precedidos por Crtl+A. Por exemplo, Ctrl+A+C cria uma nova sesso do terminal. a a Ctrl+A+N alterna para o prximo terminal. Ctrl+A+P alterna para o terminal anterior. o O screen tambm permite sair e retornar a sesses do screen, o que especialmente util em e o e sesses remotas por ssh e telnet, (maiores detalhes abaixo). Ctrl+A+D sai da tela atualmente o em execuo. O comando screen -r relaciona todas as sesses atuais do screen `s quais voc ca o a e pode retornar. $ screen -r There are several suitable screens on: 1212.pts-1.redtail(Detached) 1195.pts-1.redtail(Detached) 1225.pts-1.redtail(Detached) 17146.pts-1.sanctuary (Dead ???) Remove dead screens with screen -wipe. Type "screen [-d] -r [pid.]tty.host" to resume one of them. O comando screen -r 1212 retorna ` primeira sesso listada. Mencionei anteriormente que a a isso era util para sesses remotas. Se eu tivesse logado em um servidor Slackware remoto por o ssh, e a minha conexo ca pro algum motivo como falta de energia local, o que quer que a sse eu estivesse fazendo naquele momento seria perdido instantaneamente, o que pode ser terr vel para o seu servidor. Usar o screen evita isso, desconectando a minha sesso se a minha conexo a a cair. Assim que a minha conexo for restaurada, posso retornar ` minha sesso do screen e a a a reiniciar exatamente de onde parei.

76

CAP ITULO 8. O SHELL

Cap tulo 9

Estrutura do Sistema de Arquivos


Ns j discutimos previamente sobre a estrutura de diretrios no Slackware Linux. A partir o a o deste ponto, voc est apto a encontrar arquivos e diretrios que precisar. Porm, h mais e a o e a sobre sistemas de arquivos que apenas a estrutura de diretrios. o O Linux um sistema operacional multi-usurio. Todo o aspecto do sistema multiusurio, e a e a inclusive o sistema de arquivos. O sistema armazena informaes sobre quem possui um arquivo co e quem pode ler este arquivo. Existem outras partes unicas sobre o sistema de arquivos, como os links e a montagem de parties NFS. Essa seo explica tudo isso, to bem quanto os aspectos co ca a multi-usurio do sistema de arquivos. a

9.1

Propriedade

O sistema de arquivos armazena informaes sobre o dono de cada arquivo e diretrio no co o sistema. Isso inclui qual usurio e grupo possui um determinado arquivo. A maneira mais fcil a a de ver essa informao com o comando ls: ca e $ ls -l /usr/bin/wc -rwxr-xr-x 1 root

bin

7368 Jul 30

1999 /usr/bin/wc

Ns estamos interessados na terceira e quarta colunas (da esquerda para a direita). Essas o colunas contm o nome do usurio e grupo que possui o arquivo. Ns podemos ver que o usurio e a o a roote o grupo binso os proprietrios desse arquivo. a a Ns podemos mudar facilmente os donos de um arquivo com os comandos chown(1) (que o signica mudar o proprietrio) e chgrp(1) (que signica mudar o grupo). Para mudar o dono a de um arquivo para daemon, ns podemos usar o comando chown: o

# chown daemon /usr/bin/wc Para mudar o grupo que possui um arquivo para root, ns podemos usar o comando chgrp: o

# chgrp root /usr/bin/wc Ns podemos utilizar o comando chown para especicar as propriedades de usurio e grupo o a para um arquivo:

# chown daemon:root /usr/bin/wc

77

78

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

No exemplo acima, o usurio poderia ter usado um ponto, no lugar do dois-pontos. O rea sultado teria sido o mesmo; entretanto, o dois-pontos considerado a melhor forma. O uso do e ponto obsoleto e poder ser removido em futuras verses do comando chown para permitir e a o nomes de usurios que contenham ponto. Esses nomes de usurio tendem a ser muito populares a a com Servidores Windows Exchange e so encontrados com maior freqncia em endereos de a ue c a e-mail como: mr.jones@example.com. No Slackware, os administradores so alertados para evitarem esses nomes de usurios, porque alguns scripts utilizam o ponto para indicar o nome e o a grupo de um arquivo ou diretrio. Em nosso exemplo, o comando chmod interpretaria mr.jones o como usurio mre grupo jones. a A denio de quem o dono de um determinado arquivo uma parte muito importante ca e e na utilizao de um sistema Linux, mesmo que voc seja o unico usurio do sistema. Algumas ca e a vezes voc precisa corrigir as propriedades em arquivos e em ns de dispositivos (device nodes). e o

9.2

Permisses o

As permisses so outra parte importante do aspecto multi-usurio do sistema de arquivos. o a a Com elas, voc pode alterar quem l, escreve, e executa arquivos. e e A informao de permisso armazenada na forma de quatro d ca a e gitos octais, cada um especicando diferentes conjuntos de permisses. So eles, permisso do proprietrio, permisso de o a a a a grupo e, permisso do mundo. Os quatro d a gitos octais so utilizados para armazenar infora maes especiais como identicao de usurio (user ID), identicao de grupo (group ID), e co ca a ca o bit controle. Os valores octais associados aos modos de permisso so (eles possuem letras a a associadas que so mostradas por programas como o comando ls e podem ser utilizadas pelo a comando chmod ): Valores de Permisso Octais a Tipo de Permisso a bitcontrole identicao de usurio ca a identicao de grupo ca leitura escrita execuo ca Valor Octal Valor Letra 1 t 4 s 2 s 4 r 2 w 1 x

Voc adiciona os valores octais para cada grupo de permisses. Por exemplo, se voc quer e o e que o grupo tenha permisso de leiturae escrita, voc utilizar 6na poro referente ` pera e a ca a misso do grupo. a As permisses padres do bash so: o o a $ ls -l /bin/bash -rwxr-xr-x 1 root

bin

477692 Mar 21 19:57 /bin/bash

O primeiro trao pode ser substitu por um dse for um diretrio. As trs permisses c do o e o de grupo (proprietrio, grupo, e outros) so mostradas a seguir. Ns vemos que o proprietrio a a o a possui permisses de leitura, escrita e execuo (rwx). O grupo possui apenas permisso de o ca a leitura e execuo (r-x). E todo o mundo possui permisses de leitura e escrita (r-x). ca o

9.2. PERMISSOES

79

Como ns conguramos as permisses de um outro arquivo para que elas quem semelhantes o o as permisses do bash? Primeiro, vamos criar um arquivo chamado exemplo: o $ touch /tmp/exemplo $ ls -l /tmp/exemplo -rw-rw-r--- 1 david

users

0 Apr 19 11:21 /tmp/exemplo

Ns usaremos o comando chmod (1) (que signica mudar o modo) para alterar as permiso ses do arquivo exemplo. Acrescente os nmeros octais para a permisso que voc quer. Para o u a e o proprietrio que possui permisso de leitura, escrita e execuo, ns ter a a ca o amos o valor 7. Para permisso de leitura e execuo ter a ca amos o valor 5. Aplique esses valores juntos ao chmod dessa maneira: $ chmod 755 /tmp/exemplo $ ls -l /tmp/exemplo -rwxr-xr-x 1 david users

0 Apr 19 11:21 /tmp/exemplo

Agora voc deve estar pensando, Por que ns no criamos o arquivo com essas permisses e o a o desde o in cio?Bem, a resposta simples. O bash possui uma implementao chamada umask. e ca Este comando vem inclu com a maioria dos shells do Unix, e controla quais permisses so do o a designadas ` arquivos criados recentemente. Ns discutimos sobre as implementaes do bash a o co ca e a com maior profundidade na seo 8.3.1. O comando umask utilizado de forma razovel. Ele funciona de maneira bastante similar ao chmod, s que em modo reverso. Voc especica os o e valores octais que voc no deseja que estejam presentes nos arquivos recm-criados. O seu e a e valor padro 0022. a e $ umask 0022 $ umask 0077 $ touch tempfile $ ls -l tempfile -rw-------- 1 david

users

0 Apr 19 11:21 tempfile

Olhe a pgina do manual do bash para maiores informaes. a co Para aplicar permisses especiais com o chmod, adicione os nmeros juntos e identique-os o u na primeira coluna. Por exemplo, para forar a identicao do usurio (user ID) e a identic ca a cao de grupo (group ID), ns usamos o 6 na primeira coluna: ca o $ chmod 6755 /tmp/exemplo $ ls -l /tmp/exemplo -rwsr-sr-x 1 david users

0 Apr 19 11:21 /tmp/exemplo

Se os valores octais confundem voc, voc pode usar letras com o chmod. Os grupos de e e permisso so representados como: a a Proprietrio a Grupo Mundo Todas acima u g o a

80

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

Para fazer o descrito acima, ns precisamos utilizar vrias linhas de comando: o a $ chmod a+rx /tmp/exemplo $ chmod u+w /tmp/exemplo $ chmod ug+s /tmp/exemplo Algumas pessoas preferem utilizar as letras em vez dos nmeros. Ambas as maneiras iro u a gerar o mesmo resultado na aplicao das permisses. ca o u a e e O formato octal freqentemente mais rpido, e o que voc v frequentemente sendo utilie zado em shell script. Em alguns casos as letras so mais poderosas. Por exemplo, no existe a a uma maneira fcil de alterar um grupo de permisses e preservar outros em arquivos e direta o o rios, quando voc usa o formato octal. Isso trivial utilizando as letras. e e $ ls -l /tmp/ -rwxr-xr-x 1 alan -rwxr-x--1 alan ----r-xr-x 1 alan

users users users

0 Apr 19 11:21 /tmp/exemplo0 0 Apr 19 11:21 /tmp/exemplo1 0 Apr 19 11:21 /tmp/exemplo2 0 Apr 19 11:21 /tmp/exemplo0 0 Apr 19 11:21 /tmp/exemplo1 0 Apr 19 11:21 /tmp/exemplo2

$ chmod g-rwx /tmp/exemplo -rwx---r-x 1 alan users -rwx-----1 alan users -------r-x 1 alan users

Ns mencionamos as permisses de identicao de usurio (user ID) e a identicao de o o ca a ca grupo (group ID) em vrias partes acima. Voc pode estar se perguntando o que so essas a e a permisses. Normalmente, quando voc roda um programa, este est operando sob a sua conta o e a de usurio. Isto , ele tem todas as permisses que o seu usurio possui. O mesmo verdade a e o a e para o grupo. Quando voc roda um programa, ele executado sob o seu grupo atual. Com a e e permisso de identicao de usurio, voc pode forar o programa para sempre rodar como o a ca a e c proprietrio do programa (como o root). A permisso de identicao de grupo faz a mesma a a ca coisa, s que para o grupo. o Seja cuidadoso com isso, pois as permisses de identicaes de usurio e de grupo dos proo co a gramas podem abrir brechas de segurana no seu sistema. Se voc freqentemente fora as c e u c permisses de usurio para os programas que pertencem ao usurio root, voc est permitindo o a a e a que qualquer um utilize o programa e o utilize como root. Como o usurio root no possui resa a tries no sistema, voc pode ver como isso cria um grande problema de segurana. Resumindo, co e c no ruim utilizar as permisses de identicao de usurio e de grupo, apenas use o bom senso. a e o ca a

9.3

Links

Links so ponteiros entre arquivos. Com os links, voc pode ter arquivos existindo em va e a rios locais e podendo ser acessados por vrios nomes. Existem dois tipos de links: estticos e a a dinmicos. a Links estticos so nomes para um arquivo em particular. Eles s podem existir dentro de a a o um unico sistema de arquivos e s so removidos quando o nome real removido do sistema. o a e Eles so uteis em alguns casos, porm muitos usurios acham o link dinmico muito mais vera e a a stil. a

9.4. MONTANDO DISPOSITIVOS

81

O link dinmico, tambm chamado de link simblico, pode apontar para um arquivo fora do a e o seu sistema de arquivos. Ele na verdade um pequeno arquivo contendo apenas as informae co es que ele necessita. Voc pode adicionar ou remover links simblicos sem afetar o arquivo e o atual. E desde que um link simblico na verdade um arquivo pequeno contendo sua prpria o e o informao, ele tambm pode apontar para um diretrio. E bastante comum ver o /var/tmp ca e o atualmente como um link simblico para /tmp por exemplo. o Os links no possuem seu prprio conjunto de permisses ou propriedades, porm reetem a o o e os arquivos aos quais eles apontam. Os usurios do Slackware usam mais os links dinmicos. a a Aqui est um exemplo comum: a $ ls -l /bin/sh lrwxrwxrwx 1 root

root

4 Apr

6 12:34 /bin/sh -> bash

O shell sh sob o Slackware atualmente o bash. A remoo de links feita utilizando o e ca e comando rm. O comando ln utilizado para criar links. Esses comandos sero discutidos com e a tulo 10. maior profundidade no Cap E muito importante ter cuidado, em particular, com os links simblicos. Uma vez, eu estava o trabalhando em uma mquina que teimava em falhar nos backups em ta toda noite. Dois a links simblicos tinham sido feitos para dois diretrios, um embaixo do outro. O software para o o backup manteve anexado ` ta esses mesmos diretrios, at car sem espao. Normalmente, a o e c uma srie de vericaes prvias ir prever a criao de links simblicos nessa situao, mas o e co e a ca o ca nosso era um caso especial.

9.4

Montando Dispositivos

Como foi prviamente discutido na seo 4.1.1, todos os drives e dispositivos em seu come ca putador so um sistema de arquivos enorme. Vrias parties em seu disco r a a co gido, CD-ROMs, e disquetes so todos alocados em uma mesma rvore. Ao anexar todos esses drives ao sisa a tema de arquivos para que possam ser acessados, voc precisa utilizar os comandos mount(1) e e umount(1). Alguns dispositivos so montados automaticamente quando voc inicializa o seu computaa e dor. Esses dispositivos esto listados no arquivo /etc/fstab. Tudo o que voc quiser que seja a e montado automaticamente precisa ter uma entrada neste arquivo. Para os outros dispositivos, voc ter que executar um comando toda vez que voc quiser montar um dispositivo. e a e

fstab

Vamos dar uma olhada em um exemplo do arquivo /etc/fstab: $ cat /etc/fstab /dev/sda1 /dev/sda2 /dev/sda4 /dev/sdb1 /dev/sdb3 none / /usr/local /home swap /export /dev/pts ext2 ext2 ext2 swap ext2 devpts defaults defaults defaults defaults defaults gid=5,mode=620 1 1 1 0 1 0 1 1 1 0 1 0

82

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

none /proc /dev/fd0 /mnt /dev/cdrom/mnt/cdrom

proc ext2 iso9660

defaults defaults ro

0 0 0

0 0 0

A primeira coluna o nome do dispositivo. Nesse caso, os dispositivos so cinco parties e a co espalhadas por dois discos r gidos SCSI, dois sistemas de arquivos que no precisam de disa positivos, um drive de disquete, e um drive de CD-ROM. A segunda coluna informa aonde o dispositivo ser montado. Esse deve ser o nome de um diretrio, com exceo no caso de uma a o ca partio swap. A terceira coluna o tipo de sistema de arquivo do dispositivo. Para os sistemas ca e de arquivos normais do Linux, estes sero ext2 (segundo sistema de arquivos extendido). Drives a de CD-ROM so iso9660, e dispositivos baseados no Windows sero do tipo msdos ou vfat. a a A quarta coluna uma listagem de opes que se aplicam ao sistema de arquivos montado. e co O padro (defaults) pode ser usado sem problemas com quase todos os dispositivos. Entretanto, a para dispositivos de somente leitura voc deve colocar a opo ro. Existem muitas opes que e ca co podem ser utilizadas. Verique o manual do fstab(5) para maiores informaes. As duas ultimas co colunas so utilizadas para o fsck e outros comandos que precisam manipular os dispositivos. a Verique o manual para essas informaes. co Quando voc instala o Slackware Linux, o programa de instalao ir criar a maior parte do e ca a arquivo fstab.

mount e umount

Anexar outro dispositivo ao seu sistema de arquivos fcil. Tudo o que voc tem que fazer e a e utilizar o comando mount, com algumas opes. Utilizar o comando mount pode ser mais e co simples se o dispositivo possui uma entrada no arquivo /etc/fstab. Por exemplo, vamos dizer que eu queira montar o meu driver de CD-ROM e o arquivo fstab se parece com o exemplo citado na seo anterior. Eu poderia utilizar o comando mount desta forma: ca

$ mount /cdrom Desde que haja uma entrada no arquivo fstab para esse ponto de montagem, o comando mount sabe quais opes utilizar. Caso no haja uma entrada para este dispositivo, eu terei de co a utilizar muitas opes junto ao comando mount: co

$ mount -t iso9660 -o ro /dev/cdrom /cdrom Esta linha de comando inclui a mesma informao que o exemplo do fstab tinha, mesmo ca assim ns iremos explicar todas as partes do comando. A opo <option>-t iso9660</option> o ca o tipo de sistema de arquivos do dispositivo a ser montado. Neste caso, ele seria o sistema e de arquivos iso9660, que usado normalmente pelos drivers de CD-ROM. A opo <option>-o e ca ro</option> diz ao comando para montar o dispositivo com capacidade para apenas efetuar leituras. O caminho /dev/cdrom o nome do dispositivo a ser montado, e o diretrio /cdrom e o o local no sistema de arquivos onde o drive ser montado. e a Antes que voc possa remover um disquete, CD-ROM, ou outro dispositivo remov e vel, que esteja atualmente montado, voc ter que desmont-lo. Isto feito utilizando o comando umount. e a a e No pergunte para onde o nfoi porque ns no poder a o a amos te contar. Voc pode utilizar, tanto e o caminho para o dispositivo montado quanto o ponto de montagem, como argumento para o

9.5. MONTAGEM NFS

83

comando umount. Por exemplo, se voc quer desmontar o CD-ROM do exemplo anterior, ame bos os comandos podem ser utilizados: # umount /dev/cdrom # umount /cdrom

9.5

Montagem NFS

NFS signica Network Filesystem (Sistema de arquivos de rede). Ele no realmente parte a e do sistema de arquivos real, mas pode ser utilizado para adicionar partes ao sistema de arquivos montado. Ambientes Unix enormes, algumas vezes, precisam compartilhar os mesmos programas, conjuntos de diretrios de usurios, e o repositrio de e-mail. O problema de pegar a mesma cpia o a o o para cada mquina resolvido pelo NFS. Ns podemos utilizar o NFS para compartilhar um a e o conjunto de diretrios de usurios entre todas as estaes de trabalho. Ento as estaes de trao a co a co balho montam o diretrio que o NFS compartilhou como se estivesse nas suas prprias mquinas. o o a ca a Veja a seo 5.6.2 e as pginas do manual para exports(5), nfsd (8), e mountd (8) para maiores informaes. co

84

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

Cap tulo 10

Manipulando arquivos e diretrios o


O Linux tenta ser o mais parecido com o Unix poss vel.Tradicionalmente, os sistemas ope racionais Unix tem sido orientados pela linha de comando. E claro que temos uma interface grca no Slackware, mas a linha de comando ainda o principal n de controle do sistema. a e vel Portanto, importante entender alguns dos comandos bsicos dos comandos de gerenciamento e a de arquivos. A seo a seguir explica os comandos corriqueiros do gerenciamento de arquivos e prov ca e exemplos de como eles so usados. Existem muitos outros comandos, mas estes iro ajudar a a voc a comear. Alm disso, os comandos esto explicados resumidamente. Voc encontrar e c e a e a mais detalhes nas man pages de cada comando.

10.1
10.1.1

Navegao: ls, cd, e pwd ca


ls

Esse comando lista arquivos em um diretrio. Usurios DOS e Windows iro notar a simio a a laridade com o comando dir. Ele mesmo, ls(1) ir listar os arquivos no diretrio atual. Para a o ver o que existe em seu diretrio raiz, voc poderia usar esses comandos: o e $ cd / $ ls bin cdr boot cdrom

dev etc

home lib

lost+found mnt root

proc sbin suncd usr

tmp var vmlinuz

O problema que muita gente tem com a sa do comando anterior, que no se pode dizer da, e a facilmente o que um diretrio e o que um arquivo. Alguns usurios preferem o ls adicionado e o e a a um identicador para cada listagem, como essa: $ ls -FC bin/ cdr/ boot/ cdrom/

dev/ etc/

home/ lib/

lost+found/ proc/ sbin/ mnt/ root/ suncd/ usr/

tmp/ var/ vmlinuz

Diretrios tm uma barra (/) no nal do nome, arquivos executveis tm um asterisco no o e a e nal do nome, e assim por diante. O ls pode tambm ser usado para conseguir outras informaes nos arquivos. Por exemplo, e co para ver a data de criao, proprietrio, e permisses, voc especicaria uma lista longa: ca a o e $ ls -l
85

86

CAP ITULO 10. MANIPULANDO ARQUIVOS E DIRETORIOS

drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x drwxr-x--x drwxr-xr-x drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x

2 2 2 14 4 10 8 3 2 2 62 12 2 5 4 21 18

root root root root root root root root root root root root root root root root root

bin 4096 May root 4096 Feb root 4096 Feb root 6144 Oct root 28672 Mar root 4096 Mar root 4096 Mar root 4096 Jan root 16384 Nov root 4096 Oct root 0 Mar root 4096 Feb bin 4096 Feb root 2048 Oct root 487424 Mar root 4096 Aug root 4096 Mar

7 24 18 23 5 8 8 23 1 6 4 26 17 25 7 24 8

09:11 03:55 01:10 18:37 18:01 03:32 03:31 21:29 08:53 12:47 15:32 02:06 02:02 10:51 20:42 03:04 03:32

bin/ boot/ cdr/ cdrom/ dev/ etc/ home/ lib/ lost+found/ mnt/ proc/ root/ sbin/ suncd/ tmp/ usr/ var/

Suponhamos que voc queira uma lista dos arquivos ocultos no diretrio atual.O comando e o seguinte listaria isso. $ ls -a . bin .. boot .pwrchute_tmp cdrom home dev lib cdr etc mnt proc lost+found sbin usr suncd var root tmp

vmlinuz

Arquivos comenando com um ponto (chamados de arquivos ponto) so ocultados quando c a voc executa o ls. Voc somente ver esses arquivos se passar a opo -a. e e a ca Existem muitas outras opes que podem ser encontradas nos manuais online. No esquea co a c que pode combinar as opes que voc passa para o ls. co e

10.1.2

cd

O comando cd usado para mudar o diretrio de trabalho. Voc simplesmente digita cd e o e seguido do nome do caminho para mudar. Aqui esto alguns exemplos: a darkstar:~$ cd /bin darkstar:/bin$ cd usr bash: cd: usr: No such file or directory darkstar:/bin$ cd /usr darkstar:/usr$ ls bin darkstar:/usr$ cd bin darkstar:/usr/bin$ Note que sem comear com a barra (/) ele tenta mudar para um diretrio no diretrio atual. c o o Tambm executando o cd sem nenhuma opo mover voc para o seu diretrio pessoal. e ca a e o O comando cd no igual a outros comandos. Ele um comando integrado do shell. Coa e e ca a mandos integrados do shell sero discutidos na seo 8.3.1. Isso pode no fazer nenhum sentido a pra voc agora. Basicamente isso signica que no existe man page para esse comando. Ao e a

10.2. PAGINADORES: MORE, LESS E MOST

87

invs disso, voc tem que usar o help do shell. Como segue: e e $ help cd Sero mostradas as opes para o cd e como us-las. a co a 10.1.3 pwd

O comando pwd usado para mostrar a sua localizao atual. Para usar o comando pwd e ca basta digitar pwd. Por exemplo: $ cd /bin $ pwd /bin $ cd /usr $ cd bin $ pwd /usr/bin

10.2
10.2.1

Paginadores: more, less e most


more

more (1) como chamamos um utilitrio de paginao. Muitas vezes a sa de um comando e a ca da em particular muito grande para caber em apenas uma tela. Os comandos individualmente e no sabem como fazer caber as sa a das em telas separadas. Eles deixam esse trabalho para os paginadores. O comando more quebra a sa numa tela unica e espera que voc pressione a da e barra de espaos antes de continuar na prxima pgina. Pressionando a tecla enter ir avanar c o a a c a sa em uma linha. Aqui segue um bom exemplo: da $ cd /usr/bin $ ls -l Isso deveria rolar a tela um pouco. Para parar a sa tela por tela, pipe ( | ) seguido do more: da $ ls -l $|$ more Esse o caractere pipe (shift + \). O pipe : pegue a sa do ls e alimente o more. Voc e e da e pode piparqualquer coisa atravs do comando more, no apenas o ls. Pipe tambm visto na e a e e seo 8.2.3. ca

10.2.2

less

O comando more mais simples, mas no permite que voc volte para uma pgina j exie a e a a bida. O more no prov um jeito de voc voltar. O comando less (1) prove essa funcionalidade. a e e Ele usado do mesmo jeito que o comando more, ento o exemplo anterior serve aqui tambm. e a e Ento, o less mais que o more. Just Krammer dene esses comandos com o seguinte trocadilho: a e less is more, but more more than more is, so more is less less, so use more less if you want less more.

88

CAP ITULO 10. MANIPULANDO ARQUIVOS E DIRETORIOS

10.2.3

most

Onde more e o less no conseguem ir, o most (1) vai alm. Se less mais do que more, most a e e mais do que less. Enquanto os outros paginadores podem apenas mostrar um arquivo por vez, e most capaz de vizualizar qualquer nmero de arquivos, at que cada janela de arquivo tenha e u e pelo menos duas linhas aparecendo. O comando most tem muitas opes, conra as pginas co a de manual para mais detalhes.

10.3
10.3.1

Sa Simples: cat e echo da


cat

cat (1) a abreviao de concatenar. Ele foi originalmente desenhado para mesclar arquivos e ca de textos em outro, mas pode ser usado em muitos outros propsitos. Para mesclar dois ou mais o arquivos em um, voc simplesmente lista os arquivos depois do comando cat e ento redireciona e a a sa para um novo arquivo. O comando cat funciona com entrada padro e sa padro, da a da a ento voc deve usar os caracteres de redirecionamento do shell. Por exemplo: a e

$ cat file1 file2 file3 > bigfile Esse comando pega o contedo dos arquivos le1, le2, e le3 e mescla. A nova sa u da e enviada para a sa padro. da a O comando cat tambm pode ser usado para exibir arquivos. Muitas pessoas usam o cat em e arquivos de textos junto com os comandos more ou less, como segue:

$ cat file1 $|$ more Esse comando ir mostrar o arquivo le1 e pip-loatravs do comando more para que voc a a e e apenas veja uma tela por vez. Outro uso comum para o cat copiar arquivos. Voc pode copiar e e qualquer arquivo usando o cat, como segue:

$ cat /bin/bash $>$ \~{}/mybash O programa /bin/bash copiado para o seu diretrio /home e nomeado como mybash. e o O comando cat tem muitos usos e os mostrados aqui so apenas alguns. Desde que o cat a faz uso extensivo de entradas e sa das padro, ele ideal para usar em scripts shell ou parte de a e outros comandos complexos.

10.3.2

echo

O comando echo (1) mostra o texto especicado na tela. Voc precisa especicar a string e que vai ser mostrada depois do comando. Por padro o comando echo ir mostrar a string e a a imprimir a nova linha de caracteres depois dele. Voc pode passar a opo -n para suprimir a e ca impresso de uma nova linha. A opo -e vai causar a procura por caracteres escape na string a ca e execut-las. a

10.4. CRIACAO: TOUCH E MKDIR

89

10.4
10.4.1

Criao: touch e mkdir ca


touch

O comando touch usado para mudar a data de um arquivo. Voc pode mudar a data e e de acesso e a data de modicao com esse comando. Se o arquivo especicado no existir, ca a o comando touch criar um arquivo vazio. Para marcar um arquivo com a data atual, voc a e poderia usar esse comando: $ ls -al file1 -rw-r--r-1 root $ touch file1 $ ls -al file1 -rw-r--r-1 root

root

9779 Feb

7 21:41 file1

root

9779 Feb

8 09:17 file1

Existem muitas outras opes para o comando touch para especicar qual data que voc co e quer modicar, qual hora usar, e muitas outras opes.A man-page mostra isso em detalhes. co

10.4.2

mkdir

O comando mkdir ir criar um novo diretrio. Voc simplesmente especica o diretrio a a o e o ser criado quando voc executa o mkdir. Esse exemplo criar o diretrio hejaz no diretrio atual. e a o o $ mkdir hejaz Voc tambm pode especicar o caminho, como segue: e e $ mkdir /usr/local/hejaz A opo -p ir dizer ao mkdir para criar qualquer diretrio pai. O exemplo acima falhar se ca a o a /usr/local no existir. A opo -p ir criar /usr/local e /usr/local/hejaz : a ca a $ mkdir -p /usr/local/hejaz

10.5
10.5.1

Copiar e mover
cp

O comando cp (1) copia arquivos. Usurios do DOS iro notar a similaridade com o comando a a copy. Existem muitas opes para o comando cp, ento voc deve dar uma olhada na pginal co a e a de manual antes de us-lo. a Um uso comum usar o cp para copiar um arquivo de uma localizao para outra. Por e ca exemplo: $ cp hejaz /tmp Isso copia o arquivo hejaz do diretrio atual para o diretrio /tmp. o o Muitos usurios preferem manter a data do arquivo, para isso: a

90

CAP ITULO 10. MANIPULANDO ARQUIVOS E DIRETORIOS

$ cp -a hejaz /tmp Isso assegura que a data no ser modicada na cpia. a a o Para cpia recursiva do contedo de um diretrio para outro, voc usaria esse comando: o u o e $ cp -R \textit{mydir} /tmp Isso copiar o diretrio mydir para o diretrio /tmp. a o o Tambm se voc quiser copiar um diretrio ou um arquivo e mante-lo com as permisses e e o o antigas, datas e deixa-lo exatamente o mesmo, use o comando cp -p. $ ls -l file -rw-r--r-1 root $ cp -p file /tmp $ ls -l /tmp/file -rw-r--r-1 root

vlad

4 Jan

1 15:27 file

vlad

4 Jan

1 15:27 file

O comando cp tem muitas outras opes que so mostradas em detalhes nas pginas de co a a manual.

10.5.2

mv

O comando mv (1) move os arquivos de um lugar para outro. Simples o bastante, no? a $ mv oldfile /tmp/newfile O comando mv tem poucas opes na linha de comando que so detalhadas nas pginas de co a a manual Na prtica, o comando mv raramente usado com opes de linha de comando. a e co

10.6
10.6.1

Excluso: rm e rmdir a
rm

O comando rm (1) remove arquivos e rvores de diretrio. a o Os usurios do DOS notaro em ambos a similaridade com os comandos del e o deltree. a a O comando rm pode ser muito perigoso se voc no se cuidar. Enquanto as vezes poss e a e vel recuperar um arquivo removido, isso pode ser uma tarefa complicada (e certamente cara) alm e de estar fora do escopo desse livro. Para remover um unico arquivo, especique o nome dele quando voc executar o rm: e $ rm file1 Se o arquivo tiver as permisses de gravao, voc poder ter uma mensagem de erro de o ca e a permisso negada. Para forar a remoo do arquivo no importando com nada, passe a opo a c ca a ca -f, como segue:

10.7. APELIDANDO ARQUIVOS COM LN

91

$ rm -f file1 Para remover um diretrio inteiro, voc pode usar o -r e o -f juntos. Esse um bom exemplo o e e de como remover contedos inteiros do seu hd. Voc realmente no quer fazer isso. Mas existe u e a um comando mesmo assim:

# rm -rf / Seja cauteloso com o comando rm; voc pode atirar no seu prprio p. Existem vrias opes e o e a co na linha de comando, que so discutidas nas pginas de manual. a a

10.6.2

rmdir

O comando rmdir (1) remove diretrios do sistema de arquivos. O diretrio deve estar vazio o o antes de poder ser removido. A s ntaxe simples: e

$ rmdir $<$directory$>$ Esse exemplo ir remover o subdiretrio hejaz no diretrio atual: a o o

$ rmdir hejaz Se esse diretrio no existir, o rmdir dir a voc. Voc tambm pode especicar um caminho o a a e e e completo de um diretrio a ser removido, como esse exemplo mostra: o

$ rmdir /tmp/hejaz Esse exemplo ir tentar remover o diretrio hejaz dentro do diretrio /tmp. a o o Voc tambm pode remover um diretrio e todos os diretrios pai passando a opo -p. e e o o ca

$ rmdir -p /tmp/hejaz Isso primeiro ir tentar remover o diretrio hejaz dentro do /tmp. Caso tenha sucesso, ele a o ir tentar remover o /tmp. O comando rmdir ir continuar isso at ocorrer um erro ou at que a a e e a rvore especicada seja removida. a

10.7

Apelidando arquivos com ln

O comando ln (1) usado para criar links entre arquivos. Esses links podem ser hard links e ou links simblicos. A diferena entre os dois tipos de links sero discutidos na seo 9.3. o c a ca Se voc quiser fazer um link simblico do diretrio /var/media/mp3 e colocar esse link no seu e o o diretrio home, voc faria isso: o e

$ ln -s /var/media/mp3 \~{}/mp3

92

CAP ITULO 10. MANIPULANDO ARQUIVOS E DIRETORIOS

A opo -s diz para o ln fazer um link simblico. A prxima opo o caminho do link, e a ca o o ca e opo nal como chamar o link. Nesse caso, o comando apenas ir criar um arquivo chamado ca e a mp3 no seu diretrio home que aponta para o /var/media/mp3. Voc pode chamar o link do o e que voc quiser apenas mudando a ultima opo. e ca Fazer um hard link to fcil quanto. Tudo que voc tem que fazer tirar a opo -s. Hard e a a e e ca links normalmente no podem se referir a diretrios ou sistema de arquivos. Para criar um hard a o link de /usr/bin/email para /usr/bin/mutt, apenas digite o trecho a seguir: # ln /usr/bin/mutt /usr/bin/email

Cap tulo 11

Controle de Processos
Cada programa que est sendo executado chamado de processo. Estes processos vo desde a e a o ambiente grco X at programas de sistema (chamados daemons) que so iniciados durante a e a o boot do computador. Cada processo pertence a um usurio em particular. Processos que a so iniciados no boot geralmente so executados como usurio root ou nobody. Processos que a a a voc inicia pertencero ao seu usurio. Processo iniciados por outros usurios pertencero a eles. e a a a a Voc tem controle sobre todos os processos iniciados por voc. Adicionalmente, o usurio e e a root tem controle sobre todos os processo do sistema, incluindo aqueles iniciados por outros usurios. Processos podem ser controlados e monitorados atravs de vrios programas, bem a e a como de comandos do shell.

11.1

Segundo Plano (background)

Os programas iniciados ` partir da linha de comando so executados em primeiro plano a a (foreground). Isto permite ver toda a sa do programa e interagir com ele. Entretanto h da a diversas situaes em que ser necessrio executar o programa sem que o terminal que preso ` co a a a sua execuo. Chamamos isso de executar o programa em segundo plano, e h vrias maneiras ca a a de faz-lo. e A primeira maneira de se colocar um processo em segundo plano adicionando o comercial e e (&) ` linha de comando quando voc iniciar o programa. Por exemplo, digamos que voc queira a e e usar o amp, um mp3 player da linha de comando, para tocar um diretrio cheio de arquivos o mp3, mas voc precisar utilizar o mesmo terminal para executar outros comandos. A seguinte e a linha de comando ir iniciar o programa amp em segundo plano: a $ amp *.mp3 & O programa ser executado normalmente e voc retornar ao prompt de comando. a e a Outra maneira de colocar um processo em segundo plano faz-lo durante a sua execuo. e e ca Primeiro, inicie um programa. Durante sua execuo, pressione Control+z. Isso suspender ca a o processo. Suspender um processo signica pausar a sua execuo. Ele momentaneamente ca pra de rodar, mas pode ser iniciado novamente a qualquer momento. Uma vez suspenso o a processo, voc retorna ao prompt de comando. Voc inicia o processo suspenso em segundo e e plano digitando: $ bg

93

94

CAP ITULO 11. CONTROLE DE PROCESSOS

Agora o processo suspenso est rodando em segundo plano. a

11.2

Primeiro plano (foregrounding)

Se voc necessitar interagir com um processo em segundo plano, poss e e vel traz-lo para e primeiro plano. Se existe apenas um processo em segundo plano, voc pode traz-lo de volta e e digitando: $ fg Se o programa ainda no terminou sua execuo, ento ele tomar o terminal e voc no a ca a a e a ter mais acesso ao prompt de comando. Algumas vezes o programa terminar sua execuo a a ca enquanto estiver em segundo plano. Neste caso, voc receber uma mensagem como esta: e a [1]+ Done /bin/ls $LS_OPTIONS

Informando que o processo em segundo plano (neste caso o ls - que no um exemplo muito a e interessante) foi terminado. E poss ter vrios processos em segundo plano de uma s vez. Quando isto acontece, ser vel a o a necessrio saber qual processo voc deseja trazer para o primeiro plano. Apenas digitando fg a e trar para o primeiro plano o ultimo processo que foi colocado em segundo plano. E se voc a e tiver uma lista enorme de processos em segundo plano? Por sorte, o bash possui um comando para listar esses processos. Ele o jobs e o seu resultado : e e $ jobs [1] Stopped [2]- Stopped [3]+ Stopped

vim amp man ps

Isto mostra uma lista de todos os processos que esto em segundo plano. Como voc pode a e ver, todos esto parados. Isto signica que os processos esto suspensos. O nmero um tipo a a u e de ID para todos os processos em segundo plano. O ID seguido de um sinal de adio (man ca ps) o processo que ser trazido para primeiro plano se voc apenas digitar fg. e a e Se quiser trazer para primeiro plano o vim, voc deve digitar: e $ fg 1 e o vim rapidamente retornar ` console. Enviar processos para o segundo plano pode a a ser muito util se voc tiver apenas um terminal aberto em uma conexo discada. Ser pos e a a s executar diversos programas naquele unico terminal, periodicamente alternando entre eles. vel

11.3

ps

Agora voc sabe alternar entre vrios processos iniciados ` partir da linha de comando. Sabe e a a tambm que existem muitos processos em execuo todo o tempo. Mas ento como listar todos e ca a esses programas? Bem, voc pode utilizar o comando ps(1). Este comando tem uma poro e ca de opes, mas iremos apresentar apenas algumas das mais importantes. Para uma listagem co

11.3. PS

95

completa, veja as pginas de manual do ps. Sobre as pginas de manual veja detalhes em Sees a a co das pginas de Manual. a Apenas digitando ps voc ter uma lista dos programas em execuo no seu terminal. Isto e a ca inclui os processos em primeiro plano (incluindo a qualquer shell que voc esteja usando e, e e claro, o prprio ps). Tambm so listados os processos que voc est executando em segundo o e a e a plano. Muitas vezes essa lista ser bem curta: a Resultado padro do ps a $ ps PID TTY TIME CMD 7923 ttyp0 00:00:00 bash 8059 ttyp0 00:00:00 ps Embora no sejam muitos processos, a informao interessante. Voc ter as mesmas colua ca e e a nas usando o ps sem parmetros, no importa quantos processos estejam em execuo. Ento, a a ca a o que signica tudo aquilo? Bem, o PID o ID do processo. Todos os processos em execuo tm um identicador unico e ca e que vai de 1 at 32767. Para cada processo atribu o prximo PID livre. Quando um e e do o processo nalizado (ou interrompido, como voc ver na prxima seo), ele libera o PID. e e a o ca Quando o PID mximo alcanado, o prximo ser o menor valor que estiver livre. a e c o a A coluna TTY indica em qual terminal o processo est sendo executado. Executando o ps a sem parmetros sero listados apenas os programas em execuo no terminal corrente, ento a a ca a todos os processos tero a mesma informao na coluna TTY. Como voc pode ver, ambos proa ca e cessos listados so executados em ttyp0. Isso indica que esto sendo executados remotamente a a ou a partir de alguma variedade de terminal X. A coluna TIME indica quanto tempo de CPU o processo tem consumido. Isso diferente e do tempo gasto para execuo do processo. Lembre-se que o Linux um sistema operacional ca e multi-tarefa. Existem muitos processos em execuo todo o tempo, e cada um desses utiliza ca uma pequena poro do tempo do processador. Ento, a coluna TIME deve mostrar muito ca a menos tempo para cada processo do que ele atualmente necessita para ser executado. Se voc e notar mais do que vrios minutos na coluna TIME, isto pode signicar que algo est errado. a a Finalmente, a coluna CMD mostra o que o programa. Ele apenas lista o nome bsico do e a programa, sem nenhuma opo de linha de comando ou informao similar. Para obter essa ca ca informao ser necessrio usar uma das muitas opes do ps. Iremos discuti-las brevemente. ca a a co Voc pode conseguir uma listagem completa do que est em execuo no seu sistema usando e a ca a combinao adequada de opes. Isto provavelmente resultar em uma longa lista de procesca co a sos (cinqenta e cinco no meu laptop enquanto escrevo esta sentena), ento abreviarei a sa u c a da: $ ps PID 1 2 3 4 5 -ax TTYSTAT ? S ? SW ? SW ? SW ? SW

TIME 0:03 0:13 0:14 0:00 0:17

COMMAND init [3] [kflushd] [kupdate] [kpiod] [kswapd]

96

CAP ITULO 11. CONTROLE DE PROCESSOS

11 ? S 30 ? SW 50 ? S 54 ? S 57 ? S 59 ? S 61 ? S 63 ? S 65 ? S 67 ? S 69 ? S 77 ? S 79 ? S 94 ? S 106 tty1 108 tty3 109 tty4 110 tty5 111 tty6 [output cut]

0:00 0:01 0:00 0:00 0:00 0:00 0:04 0:00 0:00 0:00 0:00 0:00 0:01 0:00 S0:08 SW SW SW SW

/sbin/kerneld [cardmgr] /sbin/rpc.portmap /usr/sbin/syslogd /usr/sbin/klogd -c 3 /usr/sbin/inetd /usr/local/sbin/sshd /usr/sbin/rpc.mountd /usr/sbin/rpc.nfsd /usr/sbin/crond -l10 /usr/sbin/atd -b 15 -l 1 /usr/sbin/apmd gpm -m /dev/mouse -t ps2 /usr/sbin/automount /auto file /etc/auto.misc -bash 0:00 [agetty] 0:00 [agetty] 0:00 [agetty] 0:00 [agetty]

Muitos desses processos so iniciados durante o boot na maioria dos sistemas. Eu z algumas a poucas modicaes no meu sistema, ento isso poder variar dependendo da sua quilometraco a a gem. Entretanto, voc ver muitos desses processos no seu sistema tambm. Como voc pode e a e e ver, essas opes exibem as opes da linha de comando que originou o processo em execuo. co co ca Recentemente, uma vulnerabilidade do kernel no ptrace fez com que no seja permitida a exibia ca o das opes de linha de comando de muitos processos em execuo. Estes so listados agora co ca a entre colchetes como dos PIDs 108 ao 110. Tambm temos algumas colunas a mais e outros e dados interessantes. Primeiro, voc perceber que muitos desses processos so listados como em execuo no tty e a a ca ?. Esses no esto anexados a nenhum terminal em particular. Isto muito comum com proa a e cessos executados pelo sistema (daemons), os quais no so vinculados a nenhum terminal. a a Daemonscomuns so sendmail, BIND, apache e NFS. Eles, de um modo em geral, aguardam a pela requisio de um cliente, retornando uma resposta assim que so demandados. ca a Segundo, h uma nova coluna: STAT. Ela mostra o status do processo. S corresponde a a parado (sleeping): o processo est esperando algo acontecer. Z corresponde a um processo a zumbi. Um processo zumbi aquele cujo pai (isto , o processo que o originou) morreu, deixando e e o processo lho para trs. Isso no uma coisa boa. D corresponde a um processo que est a a e a irreversivelmente parado. Freqentemente esses processos recusam-se a morrer, mesmo quando u recebem um SIGKILL. Voc pode ler mais a respeito do SIGKILL na prxima seo sobre o e o ca kill. O W corresponde a esperando uma chamada. Um processo morto indicado com um X. e Um processo indicado por um T rastreado ou parado. R signica que o processo executvel. e e a Se voc deseja ver ainda mais informaes sobre os processos em execuo, tente isto: e co ca $ ps -aux USER PID %CPU %MEM root 1 0.0 0.0 root 2 0.0 0.0 root 3 0.0 0.0

VSZ 344 0 0

RSS 80 0 0

TTY ? ? ?

STAT S SW SW

START Mar02 Mar02 Mar02

TIME 0:03 0:13 0:14

COMMAND init [3] [kflushd] [kupdate]

11.4. KILL

97

root 4 0.0 root 5 0.0 root 11 0.0 root 30 0.0 bin 50 0.0 root 54 0.0 root 57 0.0 root 59 0.0 root 61 0.0 root 63 0.0 root 65 0.0 root 67 0.0 root 77 0.0 root 79 0.0 root 94 0.0 chris106 0.0 root 108 0.0 root 109 0.0 root 110 0.0 root 111 0.0 [output cut]

0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.0 0.2 0.0 0.0 0.2 0.2 0.1 0.2 0.5 0.0 0.0 0.0 0.0

0 0 1044 1160 1076 1360 1276 1332 1540 1796 1812 1172 1048 1100 1396 1820 1048 1048 1048 1048

0 0 44 0 120 192 152 60 312 72 68 260 316 152 280 680 0 0 0 0

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tty1 tty3 tty4 tty5 tty6

SW SW S SW S S S S S S S S S S S S SW SW SW SW

Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02 Mar02

0:00 0:17 0:00 0:01 0:00 0:00 0:00 0:00 0:04 0:00 0:00 0:00 0:00 0:01 0:00 0:08 0:00 0:00 0:00 0:00

[kpiod] [kswapd] /sbin/kerneld [cardmgr] /sbin/rpc.port /usr/sbin/sysl /usr/sbin/klog /usr/sbin/inet /usr/local/sbi /usr/sbin/rpc. /usr/sbin/rpc. /usr/sbin/cron /usr/sbin/apmd gpm /usr/sbin/auto -bash [agetty] [agetty] [agetty] [agetty]

Isso que quantidade de informao! Basicamente foram inclu e e ca das informaes como qual co o usurio iniciou o processo, quanto o processo est usando dos recursos do sistema (as colunas a a %CPU, %MEM, VSZ e RSS), e em qual data o processo foi iniciado. Obviamente, isso uma e grande quantidade de informao que pode estar ` mo para um administrador de sistemas. ca a a Isso tambm traz ` tona outro ponto: a informao exibida limitada ` largura da tela o que e a ca e a no permite que voc a veja completamente. A opo -w ir forar o ps a quebrar linhas longas. a e ca a c No a coisa mais linda, mas funciona. Agora voc tem uma lista de informaes completa a e e co para cada processo. Ainda h mais informaes que podem ser mostradas para cada processo. a co Verique a profunda pgina de manual do ps. Entretanto as opes mostradas acima so as a co a mais populares e sero usadas com mais freqncia. a ue

11.4

kill

Em algumas ocasies, programas comportam-se mal e voc precisar coloca-los na linha. O o e a programa para esse tipo de administrao chamado kill (1), e pode ser usado para manipular ca e processos de vrias maneiras. O mais bvio dos usos do kill interromper um processo. Voc a o e e precisar fazer isso se um programa se perder e utilizar uma grande quantidade de recursos do a sistema, ou se voc s estiver cansado de v-lo em execuo. e o e ca Para interromper um processo voc precisar saber seu PID ou seu nome. Para conseguir o e a PID utilize o comando ps que foi discutido na ultima seo. Por exemplo, para interromper o ca processo 4747, voc dever fazer o seguinte: e a

$ kill 4747 Perceba que voc ter de ser o dono do processo para poder interromp-lo. Isso uma quese a e e to de segurana. Se voc tivesse permisso para interromper processos iniciados por outros a c e a

98

CAP ITULO 11. CONTROLE DE PROCESSOS

usurios, seria poss realizar uma poro de coisas maliciosas. E claro, o root pode interroma vel ca per qualquer processo do sistema. H ainda outra variao do comando kill chamada killall (1). Este programa faz exatamente a ca o que diz: interrompe todos os processos que possuem determinado nome. Se voc quisesse e interromper todos os processos vim em execuo, voc poderia digitar o seguinte comando: ca e

$ killall vim Todo e qualquer processo vim que voc estiver executando ser interrompido. Fazendo isto e a como usurio root ir interromper todos os processos vim em execuo, independente do usua a ca a rio. Isso traz uma interessante maneira de derrubar todos usurios (incluindo voc) do sistema: a e

# killall bash Algumas vezes um simples kill no suciente. Certos processos no so interrompidos com a e a a um kill. Voc ter de usar uma forma mais potente. Se aquele PID 4747 pentelho no responder e a a ao seu kill, voc poder fazer o seguinte: e a

$ kill -9 4747 E quase certo que o processo 4747 ser interrompido. Voc pode fazer a mesma coisa com a e o killall. O que isso faz enviar um sinal diferente para o processo. Um kill regular envia e um sinal SIGTERM (terminar) para o processo, o qual diz que para terminar o que estiver e fazendo, fechar o que estiver utilizando e sair. kill -9 envia um sinal SIGKILL (interromper) para o processo, o que essencialmente o para. No permitido ao processo fechar o que estia e ver utilizando e algumas vezes coisas ruins, como corrupo de dados, podem ocorrer com um ca SIGKILL. H uma lista completa de sinais ` sua disposio. Voc pode obt-la digitando: a a ca e e

$ kill -l 1) SIGHUP 5) SIGTRAP 9) SIGKILL 13) SIGPIPE 18) SIGCONT 22) SIGTTOU 26) SIGVTALRM 30) SIGPWR

2) 6) 10) 14) 19) 23) 27)

SIGINT SIGABRT SIGUSR1 SIGALRM SIGSTOP SIGURG SIGPROF

3) 7) 11) 15) 20) 24) 28)

SIGQUIT SIGBUS SIGSEGV SIGTERM SIGTSTP SIGXCPU SIGWINCH

4) 8) 12) 17) 21) 25) 29)

SIGILL SIGFPE SIGUSR2 SIGCHLD SIGTTIN SIGXFSZ SIGIO

O nmero deve ser usado para o kill, enquanto o nome menos o prexo SIGpode ser usado u com o killall. Aqui vai outro exemplo:

$ killall -KILL vim Um ultimo uso para o kill reiniciar um processo. Enviando um SIGHUP ir fazer com que e a muitos processos releiam seus arquivos de congurao. Isso especialmente util para fazer ca e com que os processos releiam seus arquivos de congurao recm editados. ca e

11.5. TOP

99

11.5

top

Finalmente, h um comando que voc pode usar para exibir informaes atualizadas sobre a e co os processos em execuo no sistema. Esse comando chamado top(1), e iniciado assim: ca e e $ top Isto ir exibir uma tela cheia com informaes sobre os processos em execuo no sistema, a co ca bem como algumas informaes gerais sobre o prprio sistema. Isso inclui a carga mdia, nco o e u mero de processos, o status da CPU, informaes sobre memria livre e detalhes dos processos co o incluindo PID, usurio, prioridade, uso de CPU e memria, tempo de execuo e nome do a o ca programa. 6:47pm up 1 day, 18:01, 1 user, load average: 0.02, 0.07, 0.02 61 processes: 59 sleeping, 2 running, 0 zombie, 0 stopped CPU states: 2.8% user, 3.1% system, 0.0% nice, 93.9% idle Mem: 257992K av, 249672K used, 8320K free, 51628K shrd, 78248K buff Swap: 32764K av, 136K used, 32628K free, 82600K cached

PID USER 112 4947 3398 4946 121 115 4948 1 189 4734 2 3 4 5 31 51 53 57 root david david root david david david root1 david david root0 root0 root0 root0 root0 root0 bin 0 root0

PRI 12 15 7 12 4 3 16 0 1 0 0 0 0 0 0 0 0 0

NI

SIZE

RSS

SHARE 2468 1748 3000 836 644 1452 648 S 4352 916 SW SW SW SW S S S S

STAT R S S R S S S 0 0 0 0 0 0 0 0 S 0 S 0 0 0 0 0 0 0 0 0

LIB %CPU %MEM 3.7 2.3 1.5 1.5 1.1 0.3 0.3 0.1 0.1 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

TIME COMMAND

0 19376 18M 0 2136 2136 0 20544 20M 0 1040 1040 0 796 796 0 2180 2180 0 776 776 176 176 148 0 6256 6156 0 1164 1164 0 0 0 0 0 0 0 0 0 0 0 0 340 340 248 48 48 32 316 316 236 588 588 488

7.5 55:53 X 0.8 0:00 screenshot 7.9 0:14 gimp 0.4 0:00 top 0.3 25:37 wmSMPmon 0.8 1:35 wmaker 0.3 0:00 xwd 0.0 0:13 init 2.4 3:16 licq 0.4 0:00 rxvt 0.0 0:08 kflushd 0.0 0:06 kupdate 0.0 0:00 kpiod 0.0 0:04 kswapd 0.1 0:00 kerneld 0.0 0:00 dhcpcd 0.1 0:00 rpc.portmap 0.2 0:01 syslogd

Ele chamado de top porque os programas que fazem uso intensivo da CPU sero listados e a no topo. Uma observao interessante que o prprio top ser listado primeiro em muitos ca e o a sistemas inativos (e alguns ativos) por causa da utilizao de CPU. Entretanto, o top muito ca e util para determinar qual programa est se comportando mal e precisa ser interrompido. a Mas suponha que voc s queira uma lista dos seus prprios processos, ou dos processos de e o o algum outro usurio. Os processos que voc quer ver podem no estar entre os programas em a e a execuo com maior consumo de CPU. A opo -u permite que voc especique um nome de ca ca e usurio ou UID e monitore somente os processos pertencentes `quele UID. a a

100

CAP ITULO 11. CONTROLE DE PROCESSOS

$ top -u alan PID USERPR NI 3622 alan13 0 3739 alan13 0 3518 alan 9 0 3529 alan 9 0 3544 alan 9 0 3548 alan 9 0 3551 alan 9 0 3553 alan 9 0 3555 alan 9 0 3557 alan 9 0 3559 alan 9 0 3565 alan 9 0 3568 alan 9 0 3572 alan 9 0 3574 alan 9 0 3575 alan 9 0 3576 alan 9 0

VIRT RES 11012 10m 1012 1012 1312 1312 984 984 640 640 8324 8320 7084 7084 2232 2232 2552 2552 2740 2740 6496 6492 1740 1740 7052 7052 11412 11m 12148 11m 12148 11m 12148 11m

SHR S %CPU %MEM 6956 S 1.0 2.1 804 R 0.3 0.2 1032 S 0.0 0.3 848 S 0.0 0.2 568 S 0.0 0.1 6044 S 0.0 1.6 1968 S 0.0 1.4 380 S 0.0 0.4 1948 S 0.0 0.5 2224 S 0.0 0.5 5004 S 0.0 1.3 1440 S 0.0 0.3 4960 S 0.0 1.4 7992 S 0.0 2.2 8780 S 0.0 2.4 8780 S 0.0 2.4 8780 S 0.0 2.4

TIME+ COMMAND 0:03.66 gnome-terminal 0:00.06 top 0:00.09 bash 0:00.00 startx 0:00.00 xinit 0:00.30 gnome-session 0:00.50 gconfd-2 0:00.05 esd 0:00.10 bonobo-activati 0:00.05 gnome-smproxy 0:00.31 gnome-settings0:00.28 xscreensaver 0:02.28 metacity 0:01.58 gnome-panel 0:00.64 nautilus 0:00.00 nautilus 0:00.00 nautilus

Como voc pode ver, atualmente estou executando X, top, um gnome-terminal (no qual e estou escrevendo isto) e muitos outros processos relacionados ao ambiente grco X, os quais a esto tomando a maior parte do tempo da minha CPU. Isto uma boa maneira de monitorar a e o quo duro seus usurios esto trabalhando no sistema. a a a O top tambm permite monitorar processos por seus PID, ignorando processos sem atividade e e zumbis, e muitas outras opes. O melhor lugar para aprender a lidar com essas opes so co co a as pginas de manual para o top. a

Cap tulo 12

O Essencial em Administrao de ca Sistema


Ha Ha Ha Ha.... Eu sei o que voc deve estar pensando.Eu no sou um administrador de e a sistema! Eu no quero mesmo ser um! a O fato que voc o administrador de qualquer computador no qual voc possui a senha do e ee e usurio root. Pode ser seu desktop com um ou dois usurios, ou pode ser um grande servidor a a com vrias centenas de usurios. Independente disto, voc dever saber como gerenciar usurios a a e a a e como desligar o sistema de modo seguro. Estas tarefas parecem simples, mas elas tm alguns e caprichos que voc deve ter em mente. e

12.1

Usurios e Grupos a

tulo 8, voc no deve usar normalmente seu sistema logado como e a Como mencionado no cap root. Em vez disto, voc deve criar uma conta de usurio normal para o uso dirio e usar a e a a conta do root apenas para tarefas de administrao do sistema. Para criar um usurio, voc ca a e pode usar as ferramentas fornecidas pelo Slackware ou editar manualmente o arquivo de senhas. 12.1.1 Scripts fornecidos

O modo mais fcil de gerenciar usurios e grupos com os scripts e programas fornecidos. a a e O Slackware inclui os programas adduser, userdel (8), chfn(1), chsh(1), e passwd (1) para gerenciar usurios. Os comandos groupadd (8), groupdel (8), e groupmod (8) so para gerenciar grupos. a a Com exceo de chfn, chsh, e passwd, esses programas so executados apenas pelo root, e esto, ca a a portanto, localizados em /usr/sbin. chfn, chsh, e passwd podem ser executados por qualquer um e esto localizados em /usr/bin. a Usurios podem ser adicionados com o comando adduser. Iniciaremos pelo procedimento a completo, mostrando todas as perguntas que so solicitadas e uma breve descrio do que cada a ca uma signica. A resposta padro est entre colchetes e pode ser adotada para quase todas as a a perguntas, a menos que voc realmente queira mudar alguma coisa. e # adduser Login name for new user []: jellyd Este o nome que o usurio usar para se logar. Tradicionalmente, login names possuem e a a oito ou menos caracteres e todos minsculos (voc pode usar mais que oito caracteres, inclusive u e numrico, mas evite fazer isso a menos que voc tenha uma boa razo.) e e a
101

102

CAP ITULO 12. O ESSENCIAL EM ADMINISTRACAO DE SISTEMA

Voc pode fornecer o nome de login como um argumento do comando: e # adduser jellyd No outro caso, depois de fornecer o nome de login, o comando adduser perguntar pelo ID a do usurio: a User ID (UID) [ defaults to next available ]: O ID do usurio (UID) quem realmente identica os membros no Linux. Cada usurio a e a tem um nmero unico, comeando em 1000 no Slackware. Voc pode denir um UID para um u c e novo usurio ou ento deixar que o adduser designe para o usurio o prximo UID livre. a a a o Initial group [users]: Todos os usurios pertencem ao grupo users por padro. Voc pode querer colocar o usurio a a e a novo em um grupo diferente, mas isto no recomendado a menos que voc saiba o que est a e e a fazendo. Additional groups (comma separated) []: Esta pergunta permite voc colocar o novo usurio em grupos adicionais. E poss para e a vel um usurio estar em vrios grupos ao mesmo tempo. Isso util se voc tem grupos espec a a e e cos, por exemplo, modicar arquivos de web site, jogar, etc. Por exemplo, alguns site denem o grupo wheel como o unico grupo que pode usar o comando su. Ou, como padro, a instala a ca o do Slackware usa o grupo sys para usurios autorizados a utilizarem a placa de som interna. a Home directory [/home/jellyd] Os diretrios home padro so colocados em /home. Se voc usa um sistema muito grande, o a a e poss que voc tenha que mover os diretrios home para uma localizao diferente (ou para e vel e o ca vrias localizaes). Esta etapa permite que voc especique onde ser o diretrio home do a co e a o usurio. a Shell [ /bin/bash ] bash o shell padro no Slackware Linux e ser adequado para a maioria das pessoas. Se seu e a a novo usurio vem de um ambiente Unix, ele pode estar familiarizado com um shell diferente. a Voc pode mudar o shell dele nesse momento ou ele pode mudar mais tarde usando o comando e chsh. Expiry date (YYYY-MM-DD) []: As contas podem ser conguradas para expirarem numa data espec ca. Por padro, no h a a a uma data limite. Voc pode mudar isso se voc desejar. Essa opo pode ser util para pessoas e e ca executando um ISP (Provedor de Servios de Internet) que querem fazer uma conta expirar c aps uma certa data, a menos que elas recebam o pagamento do prximo ano. o o

12.1. USUARIOS E GRUPOS

103

New account will be created as follows: --------------------------------------Login name: jellyd UID: [ Next available ] Initial group:users Additional groups: [ None ] Home directory: /home/jellyd Shell: /bin/bash Expiry date: [ Never ] Isto ... se voc quiser desistir, tecle Control+C. Caso contrrio, tecle ENTER para seguir e e a em frente e criar a conta. Nesse momento, voc v todas as informaes digitadas para a nova conta e tem a oportunie e co dade de abortar a criao da conta. Se voc entrou com algo incorreto, pode teclar Control+C ca e e iniciar novamente. Caso contrrio, voc pode teclar enter e a conta ser criada. a e a

Creating new account... Changing the user information for jellyd Enter the new value, or press return for the default Full Name []: Jeremy Room Number []: Smith 130 Work Phone []: Home Phone []: Other []: Todas essas informaes so opcionais. Voc no tem que entrar com nenhuma dessas inforco a e a maes se no quiser, e o usurio pode mudar esses dados a qualquer hora usando o comando co a a chfn. Entretanto, pode ser util colocar pelo menos o nome completo e um nmero de telefone, u no caso de voc precisar entrar em contato com a pessoa em questo. e a

Changing password for jellyd Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: Password changed. Account setup complete. Voc ter que entrar com uma senha para o novo usurio. Geralmente, se o usurio no e a a a a estiver sicamente presente nesse momento, voc apenas colocar uma senha padro e avisar e a a a o usurio para mud-la para uma senha mais segura. a a NOTA: Escolhendo uma senha: Ter uma senha segura a primeira linha de defesa contra e invaso. Voc no quer ter uma senha de fcil deduo porque isto torna mais fcil algum a e a a ca a e entrar em seu sistema. Uma senha ideal seria uma sequncia aleatria de caracteres, incluindo e o letras maisculas e minsculas, nmeros e caracteres aleatrios. (Um caractere tab pode no u u u o a ser uma boa escolha dependendo em qual tipo de computador voc estar logando.) H muie a a tos pacotes de softwares que geram senha aleatrias para voc; procure na Internet por esses o e

104

CAP ITULO 12. O ESSENCIAL EM ADMINISTRACAO DE SISTEMA

utilitrios. a Em geral, use o bom senso: no coloque uma senha que seja a data de aniversrio de algum, a a e algo encontrado em sua mesa, ou qualquer coisa facilmente associada com voc. Uma senha e como seguro1ou qualquer outra senha que voc ver impresso ou online tambm ruim. e e e Remover usurios no uma tarefa complicada. Apenas execute userdel com o nome da a a e conta para remov-la. Voc deve vericar se o usurio no est logado e se no h processos e e a a a a a do usurio em execuo. E mais, lembre que uma vez excluido o usurio, toda a informao da a ca a ca senha do usurio ter sido apagada permanentemente. a a # userdel jellyd Este comando remove o usurio jellyd do seu sistema. O usurio removido dos arquivos a a e /etc/passwd, /etc/shadow, e /etc/group, mas no remove o diretrio home do usurio. a o a Se voc deseja tambm remover o diretrio home, voc deve usar este comando: e e o e # userdel -r jellyd Desabilitar temporariamente uma conta ser tratada na prxima seo sobre senhas, uma a o ca vez que uma mudana temporria envolve mudar a senha do usurio. Mudar outra informao c a a ca da conta tratada na seo 12.1.3. e ca Os programas para adicionar e remover grupos so bem simples. groupadd adicionar oua a tra entrada no arquivos /etc/group com um ID de grupo unico, enquanto groupdel remover a o grupo especicado. E poss editar o arquivo /etc/group para adicionar usurios em um vel a grupo espec co. Por exemplo, para adicionar um grupo chamado cvs: # groupadd cvs E remov-lo: e # groupdel cvs 12.1.2 Mudando senhas

O comando passwd muda as senhas modicando o arquivo /etc/shadow. Este arquivo contm todas as senhas do sistema em formato criptografado. Para mudar sua senha, voc digitaria: e e $ passwd Changing password for chris Old password: Enter the new password (minumum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: Como se pode ver, voc solicitado para entrar com sua senha antiga. Ela no aparecer ee a a na tela quando voc digit-la, o mesmo ocorre quando voc se loga. Ento, voc solicitado e a e a ee para entrar com a nova senha. passwd realiza vrias vericaes em sua nova senha e avisar se a co a ela no passar nas vercaes. Voc pode ignorar esses avisos caso queira. Voc ser solicitado a co e e a

12.1. USUARIOS E GRUPOS

105

para entrar com sua nova senha por uma segunda vez para conrm-la. a Se voc root, voc tambm pode mudar a senha de outros usurios: ee e e a # passwd ted Voc ento passar pelo mesmo procedimento acima, com exceo que voc no ter que e a a ca e a a digitar a senha antiga do usurio (um dos muitos benef a cios de ser root...) Se precisar, voc tambm pode desabilitar temporiamente uma conta, e reabilit-la mais e e a tarde se for preciso. Desabilitar e reabilitar uma conta podem ser feitos com passwd. Para desabilitar uma conta, faa o seguinte como root: c # passwd -l david Isto mudar a senha de david para algo que nunca coincida com qualquer valor criptograa fado. Voc reabilita a conta usando: e # passwd -u david Agora, a conta de david est de volta ao normal. Desabilitar uma conta pode ser util se o a usurio no segue as regras que voc deniu para seu sistema, ou se ele exportou uma cpia a a e o muito grande de xeyes(1) para seu desktop X.

12.1.3

Mudando a Informao do Usurio ca a

H dois tipos de informao que os usurios podem mudar a qualquer hora: o shell e o nger. a ca a O Slackware Linux usa chsh (change shell) e chfn (change nger) para modicar esses valores. Um usurio pode denir qualquer shell que est listado no arquivo /etc/shells. Para a maia a oria das pessoas, /bin/bash ser adequado. Outros podem estar familiarizados com um shell a encontrado nos seus sistemas, no trabalho ou na escola e desejam usar aquele que eles j coa nhecem. Para mudar seu shell, use chsh: $ chsh Password: Changing the login shell for chris Enter the new value, or press return for the default Login Shell [/bin/bash]: Depois de digitar sua senha, digite o caminho completo do novo shell. Primeiro, tenha certeza que ele est listado no arquivo /etc/shells(5). O usurio root pode mudar o shell de qualquer a a usurio executando chsh utilizando o nome do usurio como argumento. a a A informao de nger a informao opcional como nome completo, nmeros de telefone ca e ca u e de sala. Estas informaes podem ser mudadas usando chfn, e segue o mesmo procedimento co feito na criao da conta. Como sempre, o usurio root pode mudar a informao de nger de ca a ca qualquer um.

106

CAP ITULO 12. O ESSENCIAL EM ADMINISTRACAO DE SISTEMA

12.2

Usurios e Grupos, o modo dif a cil

Naturalmente, poss adicionar, modicar e remover usurios e grupos sem usar os scripts e vel a e programas que vm com o Slackware. No muito dif embora depois de ler este processo, e a e cil, voc provavelmente achar muito mais fcil usar os scripts. Entretanto, importante conhecer e a a e como realmente a informao de sua senha armazenada, no caso de voc precisar recuperar ca e e esta informao e no ter as ferramentas do Slackware dispon ca a vel. Primeiro, ns adicionaremos um novo usurio nos arquivos /etc/passwd (5), /etc/shadow (5) o a e /etc/group(5). O arquivo passwd contm algumas informaes sobre os usurios do seu sise co a tema, mas (bastante estranho) no tm as senhas deles. Isto no era assim, mas foi alterado a e a tempos atrs por questes de segurana. O arquivo passwd deve ser leg para todos os usua o c vel a rios, mas voc no deseja senhas criptografadas leg e a veis, pois intrusos poderiam usar as senhas criptografadas como ponto inicial para descriptografar as senhas dos usurios. Ao invs disto, a e as senhas criptografadas so mantidas no arquivo shadow, que leg apenas para o root, e a a e vel senha de todos aparecem no arquivo passwd simplesmente com um x. O arquivo group lista todos os grupos e quem est em cada um deles. a Voc pode usar o comando vipw para editar o arquivo /etc/passwd de modo seguro, e o coe mando vigr para editar o arquivo /etc/group tambm de modo seguro. Use vipw -s para editar e o arquivo /etc/shadow. (Modo seguro neste contexto signica que ningum mais ser capaz de e a modicar o arquivo que voc est editando no momento. Se voc o unico administrador do e a ee seu sistema, voc provavelmente est em segurana, mas melhor pegar bons hbitos no in e a c e a cio.) Vamos examinar o arquivo /etc/passwd e ver como adicionar um novo usurio. Uma t a pica entrada em passwd se parece como isto: chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash Cada linha corresponde a um usurio e os campos de cada linha so separados pelo caraca a ter dois pontos. Os campos so o nome de login, senha criptografada (um xpara todos em a um sistema Slackware, sendo que o Slackware usa senhas mascaradas), ID do usurio, ID do a grupo, informaes adicionais (separadas por v co rgula), diretrio home e o shell. Para adicionar o um novo usurio manualmente, adicione uma nova linha no nal do arquivo preenchendo as a informaes apropriadas. co As informaes que voc adicionar precisam atender alguns requisitos, ou seu novo usurio co e a poder ter problemas ao se logar. Primeiro, tenha certeza que o campo da senha um x, e que a e o nome do usurio e seu ID sejam unicos. Atribua um grupo para o usurio, ou 100 (o grupo a a usersno Slackware) ou seu grupo padro (use o nmero do grupo, no o nome). D ao usurio a u a e a um diretrio home vlido (que voc criar mais tarde) e o shell (lembre-se, os shells vlidos o a e a a esto listados em /etc/shells). a Em seguida, precisaremos adicionar uma entrada no arquivo /etc/shadow, que contm as e senhas criptografadas. Uma entrada t pica se parece com: chris:\$1\$w9bsw/N9\$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7::: Novamente, cada linha corresponde a uma pessoa, com os campos delimitados pelo caracter dois pontos. Os campos so (em ordem) nome de login, senha criptografada, dias deste a poca a e (01 de janeiro de 1970) que a senha foi mudada pela ultima vez, dias antes da senha poder ser alterada, dias depois que a senha deve ser alterada, dias que o usurio noticado antes da a e

12.3. DESLIGANDO O SISTEMA APROPRIADAMENTE

107

senha expirar, dias depois da senha expirar que a conta desabilidada, dias deste a poca que e e a conta est desabilidada e um campo reservado. a Como voc pode ver, a maioria dos campos so para informaes de validade de contas. Se e a co voc no est usando uma informao deste, voc precisa apenas preencher uns poucos campos e a a ca e com alguns valores em especial. Caso contrrio, voc precisar calcular e tomar decises antes a e a o de poder preencher esses campos. Para um novo usurio, apenas coloque algum lixo aleatrio a o no campo de senha. No se preocupe se a senha est correta agora, porque voc ir mud-la em a a e a a um minuto. O unico caractere que voc no pode incluir no campo da senha o dois pontos. e a e Deixe o campo dias desde que a senha foi alteradaem branco. Preencha com 0,99999, e 7 como voc viu no exemplo acima e deixe os outros campos em branco.. e (Para aqueles que pensam que vendo minha senha criptograda acima acreditam que tm e uma brecha para entrar em meu sistema, ento sigam em frente. Se voc decifrar aquela senha, a e voc saber a senha para um teste de rewall do sistema. Isto muito util. :) ) e a e Todos os usurio comuns so membros do grupo usersnum sistema t a a picamente Slackware. Entretanto, se voc deseja criar um novo grupo, ou adicionar o usurio em grupos adicionais, e a voc precisar modicar o arquivo /etc/group. Aqui est uma t e a a pica entrada:

cvs::102:chris,logan,david,root Os campos so nome do grupo, senha do grupo, ID do grupo e membros do grupos, sepaa rados por v rgulas. Criar um novo grupo simples como adicionar uma nova linha com um e nmero de ID unico e listar todos os usurios que voc quer no grupo. Qualquer usurio que u a e a est no novo grupo e est logado ter que logar novamente para que as mudanas tenham efeito. a a a c Neste ponto, pode ser uma boa idia usar os comandos pwck e grpck para vericar se as e mudanas que voc fez so consistentes. Primeiro, use pwck -r e grpck -r : a opo -r no faz c e a ca a as alteraes, mas lista as alteraes que voc teria feito se voc executasse o comando sem co co e e aquela opo. Voc pode usar a sa do comando para decidir se precisa modicar mais algum ca e da arquivo, executando pwck ou grpck sem a opo-r, ou simplesmente deixar as mudanas como ca c esto. a Neste ponto, voc deve usar o comando passwd para criar uma senha apropriada para o usue a rio. Ento, use o comando mkdir para criar o diretrio home do novo usurio no local que voc a o a e entrou no arquivo /etc/passwd e o comando chown para mudar o proprietrio do novo diretrio. a o Remover um usurio uma simples questo de excluir todas as entradas que existem do a e a usurio. Remova a entrada do usurio dos arquivos /etc/passwd e /etc/shadow, e remova o a a nome de login dos grupos no arquivo /etc/group. Se voc desejar, apagar o diretrio home, o e o arquivo de spool de mail (se eles existirem). Remover grupos similar: remova as entradas do arquivo /etc/group. e

12.3

Desligando o sistema apropriadamente

E muito importante que voc desligue seu sistema apropriadamente. Simplesmente desligar e pelo boto de energia pode causar srios estragos no sistema de arquivos. Enquanto o sistema a e est ligado, arquivos esto em uso mesmo que voc no esteja fazendo nada. Lembre-se que a a e a

108

CAP ITULO 12. O ESSENCIAL EM ADMINISTRACAO DE SISTEMA

h muitos processos rodando em segundo plano o tempo todo. Esses processos so gerenciados a a pelo sistema e mantm vrios arquivos abertos. Quando o sistema desligado pelo boto de e a e a energia, esses arquivos no so fechados apropriadamente e podem car corrompidos. Depena a dendo de quais arquivos so corrompidos, o sistema pode car completamente inutilizado! Em a qualquer caso, voc ter que passar por um processo longo de checagem do sistema de arquivos e a na prxima inicializao. o ca NOTA: Se voc congurou seu sistema com um sistema de arquivos com journalling, como e ext3 ou reiserfs, voc est parcialmente protegido contra estragos no sistema de arquivos, e a e a checagem do sistema de arquivos mais curta se voc usa um sistema de arquivo sem joure e nalling, como ext2. Entretanto, esta segurana no desculpa para desligar seu sistema de c a e modo inapropriado! Um sistema de arquivos com journalling uma tentativa de proteger seus e arquivos de eventos alm de seu controle, no contra sua prpria indolncia. e a o e Em todo caso, quando voc quiser reinicializar ou desligar seu computador, importante e e faz-lo corretamente. H vrios meios de se fazer isso; voc pode usar o que achar mais divere a a e tido (ou menos trabalhoso). Sendo que desligar e reinicializar so procedimentos similares, a a maioria dos meios de desligar o sistema tambm podem ser aplicados para reinicializ-lo. e a O primeiro mtodo atravs do comando shutdown(8), e provavelmente o mais popular. e e e e shutdown pode ser usado para reinicializar ou desligar o sistema em um dado tempo e pode mostrar uma mensagem a todos os usurios logados no sistema dizendo que est sendo desligado. a a O modo mais bsico de desligar o computador : a e # shutdown -h now Neste caso, no ser enviada uma mensagem personalizada para os usurios; eles vero a a a a a mensagem padro de shutdown. now o tempo que voc quer desligar e o -hsignica tera e e minar o sistema. No um modo muito amigvel de se fazer em um sistema multiusurios, a e a a mas funciona adequadamente em seu computador de casa. Um mtodo melhor em um sistema e multiusurio dar a todos um aviso antecipado: a e # shutdown -h +60 Isto desligar o sistema em uma hora(60 minutos), que adequado em um sistema multiua e surio normal. Sistemas essenciais devem ter a sua hora de desligar agendada antecipadamente, a e voc deve colocar avisos sobre a hora de desligar em quaisquer lugares usados apropriadae mente para noticaes do sistema (email, quadro de aviso, /etc/motd, ou qualquer outro). co Para reinicializar o sistema, usa-se o mesmo comando, mas substitui-se -hpor -r : # shutdown -r now Voc pode usar a mesma notao de tempo com shutdown -r que voc usuaria com shute ca e down -h. H muitas outras coisas que voc pode fazer com o comando shutdown para controlar a e quando desligar ou reinicializar a mquina; veja a pgina de manual para mais detalhes. a a O segundo modo de desligar ou reinicializar o computador usar os comandos halt(8) e e reboot(8). Como os nomes indicam, halt terminar imediatamente a operao do sistema e a ca reboot reinicializar o sistema. (reboot na verdade apenas um link simblico para o comando a e o

12.3. DESLIGANDO O SISTEMA APROPRIADAMENTE

109

halt.) Eles so executados como: a # halt # reboot Um meio de baixo n de reinicializar ou desligar o sistema usar diretamente o comando vel e init. Todos os outros mtodos so simplesmente meios convenientes de usar init, mas voc pode e a e dizer diretamente ao init o que fazer usando telinit(8) . Usar telinit dir ao init que n de a vel execuo (runlevel) acionar, o que far um script especial ser executado. Este script matar ou ca a a ressusitar processos necessrios para aquele n de execuo. Isto funciona para reinicializar a a vel ca e desligar porque ambos so n a veis especiais de execuo. ca # telinit 0 O n de execuo 0 o modo de desligar. Dizer ao init para entrar neste n far tovel ca e vel a dos os processos serem terminados, o sistema de arquivos ser desmontado e a mquina ser a a a desligada. Isto um modo perfeitamente aceitvel de desligar o sistema. Em muitos laptops e e a computadores desktops modernos, isso far com que a mquina seja desligada. a a # telinit 6 O n de execuo 6 o modo de reinicializao. Todos os processos sero terminados, o vel ca e ca a sistema de arquivo ser desmontado e a mquina ser reinicializada. Isto um modo perfeitaa a a e mente aceitvel de reinicializar o sistema. a Para os curiosos, quando muda-se para os n veis de execuo 0 ou 6, seja usando shutdown, ca halt, ou reboot, o script /etc/rc.d/rc.6 executado. (O script /etc/rc.d/rc.0 um link simblico e o para /etc/rc.d/rc.6.) Voc pode personalizar este arquivo a seu gosto mas esteja certo de e testar suas mudanas cuidadosamente! c H um ultimo mtodo de reinicializar o sistema. Todos os outros mtodos requerem que voc a e e e esteja logado como root. Entretanto, poss reinicializar a mquina mesmo se voc no o e vel a e a e adminstrador, contanto que voc tenha acesso f e sico ao teclado. Teclar Control+Alt+Delete (a saudao de trs dedos) far a mquina reinicializar imediatamente. (Por trs deste ceca e a a a nrio, o comando shutdown chamado para voc quando usa Control+Alt+Delete.) Isto a e e nem sempre funciona quando se est usando o X Windows voc pode precisar usar Cona e trol+Alt+F1 (ou outra tecla de funo) para alternar para um terminal em modo texto antes. ca Finalmente, o arquivo que efetivamente controla cada aspecto da inicializao e do desligaca mento o arquivo /etc/inittab(5). Em geral, voc no deve modicar este arquivo, mas ele e e a pode dar a voc noes de como algumas coisas funcionam. Como sempre, veja as pginas de e co a manual para mais detalhes.

110

CAP ITULO 12. O ESSENCIAL EM ADMINISTRACAO DE SISTEMA

Cap tulo 13

Comandos de rede bsicos a


Uma rede consiste em vrios computadores conectados entre si. A rede pode ser to simples a a quanto alguns computadores ligados em casa ou no escritrio, ou to complicada quanto uma o a rede de uma grande universidade ou a Internet. Quando seu computador parte de uma rede, e voc tem acesso a esses sistemas diretamente ou atravs de servios como o correio eletrnico e e c o ou a web. Existe uma variadade de programas para redes que voc pode usar. Alguns so uteis para e a realizar diagnsticos como vericar se a rede est funcionando corretamente. Outros (como leio a tores de e-mail e navegadores) so uteis para trabalhar ou manter contato com outras pessoas. a

13.1

ping

O ping(8) envia um pacote ICMP ECHO REQUEST para o host especicado. Se o host responde, voc recebe o pacote ICMP de volta. Parece estranho? Bom, voc pode dar um e e pingem um endereo IP para saber se a mquina est conectada. Se no obtiver resposta, voc c a a a e sabe que alguma coisa est errada. a Aqui est um exemplo de conversa entre dois usurios Linux: a a Usurio A: A mquina Loki est desligada de novo. a a a Usurio B: Voc^ tem certeza? a e Usurio A: Sim, eu tentei ping-la, mas n~o obtive resposta. a a a So circunstncias como essas que fazem o ping ser um comando muito util no dia a dia. a a Ele prov uma forma muito rpida de ver se uma mquina est ligada e conectada ` rede. A e a a a a sintaxe bsica : a e $ ping www.slackware.com Existem, obviamente, vrias opes que podem ser especicadas. Olhe a pgina de manual a co a de ping(1) para maiores informaes. co

13.2

traceroute

O traceroute(8) do Slackware uma ferramenta de diagnstico de rede muito util. traceroute e o mostra por quais hosts um pacote passa at chegar ao seu destino. Voc pode ver quantos hosts e e
111

112

CAP ITULO 13. COMANDOS DE REDE BASICOS

tem do seu computador at o site do Slackware com esse comando: e $ traceroute www.slackware.com Cada host vai ser mostrado, assim como o tempo de resposta de cada host. Aqui est um a exemplo de saida do comando: $ traceroute www.slackware.com traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets 1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms 2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms 3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms 4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms 5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms 6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms 7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms O traceroute similar ao ping, j que o mesmo usa pacotes ICMP tambm. Existem vrias e a e a opes que voc pode especicar para o traceroute. Essas opes so explicadas em detalhes na co e co a respectiva pgina de manual. a

13.3

Ferramentas DNS

O Domain Name Service (abreviado por DNS) o protocolo mgico que permite a seu come a c putador converter nomes de dom nio como www.slackware.com em endereos IP 64.57.102.34. Computadores no podem rotear pacotes para www.slackware.com, mas eles podem rotear paa cotes para o endereo IP desse dom c nio. Isso nos d uma forma conveniente de lembrarmos de a mquinas. Sem o DNS ter a amos que manter um banco de dados mental de qual endereo IP c pertence a qual computador, e assumindo que o endereo IP sempre o mesmo. Claramente c e usar nomes para computadores melhor, mas como ns mapeamos nomes em endereos IP? e o c

13.3.1

host

O host(1) pode fazer isso por ns. host usado para mapear nomes em endereos IP. E um o e c utilitrio muito rpido e simples, sem muitas funes. a a co $ host www.slackware.com www.slackware.com is an alias for slackware.com. slackware.com has address 64.57.102.34 Mas vamos supor que por alguma razo ns queremos mapear um endereo IP para um a o c nome de dom nio; e ento? a 13.3.2 nslookup

nslookup um programa que tem resistido ao tempo. nslookup est depreciado e pode ser e a removido de lanamentos futuros. No existe nem mesmo uma pgina de manual para este c a a programa.

13.3. FERRAMENTAS DNS

113

$ nslookup 64.57.102.34 Note: nslookup is deprecated and may be removed from future releases. Consider using the dig or host programs instead. Run nslookup with the -sil[ent] option to prevent this message from appearing. Server: 192.168.1.254 Address: 192.168.1.254#53 Non-authoritative answer: www.slackware.com canonical name = slackware.com. Name: slackware.com Address: 64.57.102.34 13.3.3 dig

O Domain Information Groper, dig(1) abreviando, o programa que pega informaes DNS. e co dig pode pegar qualquer informao de um servidor DNS incluindo reverse lookups, A, CNAME, ca MS, SP, e registros TXT. dig possui muitas opes de linha de comando e se voc no familiar co e a e com eles, leia a extensiva pgina de manual da ferramenta. a $ dig @192.168.1.254 www.slackware.com mx ; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26362 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.slackware.com. ;; ANSWER SECTION: www.slackware.com.76634 slackware.com. 86400 ;; AUTHORITY SECTION: slackware.com. 86400 slackware.com. 86400 ;; ADDITIONAL SECTION: ns1.cwo.com. 163033 ns2.cwo.com. 163033 ;; ;; ;; ;;

IN

MX

IN IN

CNAME MX

slackware.com. 1 mail.slackware.com.

IN IN

NS NS

ns1.cwo.com. ns2.cwo.com.

IN IN

A A

64.57.100.2 64.57.100.3

Query time: 149 msec SERVER: 192.168.1.254#53(192.168.1.254) WHEN: Sat Nov 6 16:59:31 2004 MSG SIZE rcvd: 159

O exemplo acima deve dar uma idia de como o dig funciona. @192.168.1.254especica o e e nio que eu estou vericando, servidor dns a ser usado. www.slackware.com o nome de dom e mx o tipo de vericao que eu estou fazendo. A query acima me diz que quando enviar e ca um e-mail para www.slackware.com ele ser enviado na verdade, para mail.slackware.com. a

114

CAP ITULO 13. COMANDOS DE REDE BASICOS

13.4

nger

O nger (1) ir retornar informaes sobre o usurio especicado. Voc utiliza o nger em a co a e um username ou em um endereo de e-mail e ele ir tentar contactar o servidor necessrio e rec a a tornar o username, escritrio, nmero de telefone, e outras informaes. Aqui est um exemplo: o u co a $ finger johnc@idsoftware.com O nger pode retornar o username, status de e-mail, nmero de telefones, e o contedo dos u u arquivos .plane .project. Claro que a informao retornada varia conforme cada servidor ca nger. Aquele que est incluso no Slackware retorna as seguintes informaes por padro: a co a Username Room number Home phone number Work phone number Login status Email status Contedo do arquivo .plan dentro do diretrio home do usurio u o a Contedo do arquivo .project dentro do diretrio home do usurio u o a Os primeiros quatro itens podem ser congurados com o comando chfn. Ele guarda essas informaes no arquivo /etc/passwd. Para mudar a informao no seu arquivo .plan ou .project, co ca basta editar esses arquivos com seu editor de texto favorito. Esses arquivos precisam estar no seu diretrio home e precisam ser chamados .plan e .project obrigatoriamente. o Muitos usurios utilizam nger na sua prpria conta de uma mquina remota para ver raa o a pidamente se possuem novos e-mails. Voc tambm pode utiliz-lo para ver os planos de um e e a usurio ou o seu projeto atual. a Como muitos comandos, nger possui opes. Olhe a pgina de manual dele para maiores co a informaes sobre opes que voc pode usar. co co e

13.5

telnet

Algum uma vez disse que o telnet(1) tinha sido a coisa mais legal que j havia visto em e a computadores. A habilidade de logar remotamente e realizar tarefas em outro computador o e que separa o Unix e sistemas operacionais Unix-likede outros sistemas operacionais. O telnet permite que voc logue em um computador, assim como se voc estivesse sentado e e em frente ao mesmo. Depois de ter seu usurio e senha vericados, voc ter um prompt do a e a shell. Depois disso, voc pode fazer qualquer coisa que um console em modo texto permitir. e Compor e-mail, ler grupo de not cias, mover arquivos, e assim por diante. Se voc estiver roe dando o X e zer telnet para outra mquina, voc pode rodar aplicativos do X no computador a e remoto e mostrar o resultado no seu computador. Para logar em uma mquina remota, use a seguinte sintaxe: a

13.5. TELNET

115

$ telnet <hostname> Se o host responder, voc receber o prompt de login. Digite seu usurio e sua senha. Pronto. e a a Voc agora possui uma shell. Para sair da sua sesso telnet, use o comando exit ou o comando e a logout. AVISO: telnetno encripta a informao que transmite. Tudo transmitido em texto puro, a ca e at mesmo senhas. No recomendado usar telnet atravs da Internet. Para tal, considere usar e a e e o ssh (Secure Shell). Ele encripta todo o trfego e est dispon gratuitamente. a a vel

13.5.1

Outras utilidades do telnet

Agora que ns convencemos voc a no utilizar o protocolo telnet para logar em uma mo e a a quina remota, ns iremos mostrar algumas outras utilidades do telnet. o Voc tambm pode usar o telnet para conectar em um host em uma certa porta. e e $ telnet <hostname> [port] Isso pode ser bem util quando voc precisa rapidamente testar um certo servio, e voc e c e precisa de total controle sobre os comandos, alm de ver precisamente o que est acontecendo. e a Voc pode testar interativamente ou usar um servidor SMTP, um servidor POP3, um servidor e HTTP, etc. dessa forma. Na prxima gura voc ver como voc pode usar telnet em um servidor HTTP na porta o e a e 80, e conseguir algumas informaes bsicas dele: co a Usando telnet em um servidor web $ telnet store.slackware.com 80 Trying 69.50.233.153... Connected to store.slackware.com. Escape character is ^]. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Mon, 25 Apr 2005 20:47:01 GMT Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7d Last-Modified: Fri, 18 Apr 2003 10:58:54 GMT ETag: "193424-c0-3e9fda6e" Accept-Ranges: bytes Content-Length: 192 Connection: close Content-Type: text/html Connection closed by foreign host. $ Voc pode fazer a mesma coisa para qualquer outro protocolo que seja de texto puro, desde e que saiba em que porta conectar e quais so seus comandos. a

116

CAP ITULO 13. COMANDOS DE REDE BASICOS

13.6

O ssh (Secure Shell)

Hoje, o ssh desfruta da adorao que o telnet desfrutou uma vez. ssh(1) nos permite realica zar conexes em uma mquina remota e executar programas como se voc estivesse sicamente o a e presente; contudo, o ssh encripta todos os dados transferidos entre os dois computadores. Dessa forma, mesmo que outras pessoas interceptem a comunicao, eles no sero capazes de entendca a a e la. Uma conexo ssh t a pica est abaixo: a

$ ssh carrier.lizella.net -l alan The authenticity of host carrier.lizella.net (192.168.1.253) cant be established. RSA key fingerprint is 0b:e2:5d:43:4c:39:4f:8c:b9:85:db:b2:fa:25:e9:9d. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added carrier.lizella.net (RSA) to the list of known hosts. Password: password Last login: Sat Nov 6 16:32:19 2004 from 192.168.1.102 Linux 2.4.26-smp. alan@carrier:~$ ls -l MANIFEST -rw-r--r-- 1 alan users 23545276 2004-10-28 20:04 MANIFEST alan@carrier:~$ exit logout Connection to carrier.lizella.net closed. Acima voc pode perceber que eu estou fazendo uma conexo ssh em carrier.lizella.net, e chee a cando as permisses do arquivo MANIFEST. o

13.7

email

O correio eletrnico uma das coisas mais populares que voc pode fazer na Internet. Em o e e 1998 descobriu-se que mensagens eletrnicas eram mais utilizadas que o correio normal. Ele o e certamente muito comum e util. No Slackware, ns fornecemos um servidor de email padro, e muitos clientes de email. Too a dos os clientes discutidos abaixo so utilizados em modo texto. Muitos dos usurios Windows a a podem ser contra isso, mas voc descobrir que um cliente utilizado em modo texto muito e a e conveniente, especialmente quando voc est checando email remotamente. No tema pois exise a a tem diversos clientes grcos como o Kmail do KDE. Se voc deseja usar um desses, verique a e o menu de ajuda dos mesmos.

13.7.1

pine

O pine(1) no o elm. A Universidade de Washington criou o seu programa para ler emails a e e not cias da Internet e ao mesmo tempo ser um leitor fcil para seus estudantes. O pine um a e dos clientes de email mais populares hoje em uso e est dispon para todos os sabores de a vel Unix e at mesmo Windows. e

13.7. EMAIL

117

Voc ver um menu de comandos e uma linha de teclas de comando na parte de baixo da e a tela. Contudo o pine um programa complexo, e ns no iremos discutir todos os seus recursos e o a neste texto. Para ver o que est na sua caixa de entrada, digite i. Suas mensagens so listadas com suas a a datas, autores e assuntos. Selecione a mensagem que voc deseja e aperte enter para visualize a la. Digitando r voc poder responder a mensagem. Aps digitar a mensagem de resposta, e a o digite Ctrl+X para envi-la. Voc pode digitar i para voltar ` lista de mensagens. a e a Se voc deseja excluir a mensagem, digite d. Isso ir marcar a mensagem selecionada para e a excluso. O pine apaga as mensagens quando voc sai do programa. O pine tambm permite a e e que voc guarde seus emails em pastas. Voc pode obter a listagem das pastas pressionando a e e tecla l. Na listagem de mensagens, pressione s para salv-la em outra pasta. Ele ir perguntar a a em qual pasta deve salvar a mensagem. O pine oferece muitas, muitas funcionalidades; voc denitivamente deve dar uma olhada e na pgina de manual para maiores informaes. Ele ir conter as ultimas informaes sobre o a co a co programa.

13.7.2

elm

elm(1) outro cliente de email em modo texto bastante popular. Apesar de no possuir e a uma interface to amigvel quanto o pine, est por a h muito mais tempo. a a a a

118

CAP ITULO 13. COMANDOS DE REDE BASICOS

Por padro voc est na sua caixa de entrada. As mensagens so listadas com o nmero a e a a u da mensagem, data, autor e assunto. Use as setas para selecionar a mensagem que deseja. Pressione Enter para ler a mensagem. Para compor uma nova mensagem, pressione m na tela principal. A tecla d ir marcar a a mensagem para excluso. E a tecla r ir responder a mensagem que voc est atualmente lendo. a a e a Todas essas teclas so mostradas na parte de baixo da tela com um prompt. a A pgina de manual apresenta o elm mais detalhadamente, ento voc provavelmente ir a a e a consult-lo antes de utilizar o elm. a

13.7.3

mutt

Todos os clientes de email so ruins. Este apenas menos ruim. A interface original do a e mutt era baseada na interface do elm com recursos adicionais encontrados em outros clientes de email populares, resultando em um mutt h brido. Alguns dos recursos do mutt incluem: Suporte a cores Agrupamento de mensagens Suporte a MIME e PGP/MIME Suporte a pop3 e imap Suporte a vrios formatos de caixa de correio (mbox, MMDF, MH, maildir) a Altamente personalizvel a Tela principal do Mutt

13.7. EMAIL

119

Se voc est procurando por um cliente de email que ir permitir que voc tenha total cone a a e trole sobre tudo, ento voc ir gostar do mutt. Todas as conguraes padro podem ser a e a co a customizadas, associaes de teclas mudadas. Se voc quiser adicionar uma macro, voc tamco e e bm pode. e Voc provavelmente ir querer dar uma olhada na pgina de manual do muttrc, que ir explie a a a car como congurar tudo isso. Ou d uma olhada no exemplo de arquivo de congurao muttrc. e ca

13.7.4

nail

nail (1) um cliente de email de linha de comando. E muito primitivo e oferece quase nenhum e recurso no que diz respeito ` interface com usurio. Contudo, mailx util para aquelas vezes em a a e que voc precisa rapidamente enviar alguma coisa, testando sua instalao de MTA ou qualquer e ca coisa parecida. Note que o Slackware cria um link simblico para o nail em /usr/bin/mail e o /usr/bin/mailx. Qualquer um desses trs comandos executa o mesmo programa. De fato, voc e e ver normalmente o nail sendo referenciado como mail. a A linha de comando bsica : a e $ mailx <subject> <to-addr> mailx l o corpo da mensagem da entrada padro. Ento voc pode usar o cat em um e a a e arquivo como entrada padro para este comando para envi-lo, ou voc pode apenas digitar o a a e texto e apertar Ctrl+D quando tiver acabado a mensagem. Aqui est um exemplo de enviar por email o cdigo fonte de um programa para outra pessoa: a o

$ cat randomfunc.c | mail -s "Heres that function" asdf@example.net A pgina de manual explica mais do que o nail pode fazer, ento voc provavelmente ir a a e a querer dar uma olhada nele antes de us-lo. a

120

CAP ITULO 13. COMANDOS DE REDE BASICOS

13.8

Navegadores

A primeira coisa que as pessoas pensam quando ouvem a palavra Internet navegar na ine ternet. Em outras palavras, navegar em sites usando um navegador web. Esse provavelmente e de longe o uso mais popular da Internet para o usurio mdio. a e O Slackware fornece navegadores web que so grcos na srie XAP, bem como navegadores a a e web em modo texto na srie N. Ns iremos dar uma rpida olhada nas opes mais comuns. e o a co 13.8.1 lynx

lynx (1) um navegador web em modo texto. E uma forma bem rpida de olhar alguma e a coisa na Internet. Para iniciar o lynx, apenas digite lynx no prompt: $ lynx Pgina inicial padro do Lynx a a

Voc pode querer especicar um site para o lynx abrir: e $ lynx www.slackware.com lynx exibe as teclas de comando e o que cada tecla faz na parte de baixo da tela. As setas para cima e para baixo movem atravs do documento, Enter seleciona o link destacado, e a e seta da esquerda volta ` pgina anterior. Digitando d ir fazer o download do arquivo selea a a cionado. O comando g traz o prompt de endereo, para voc digitar uma URL para o lynx abrir. c e Existem muitos outros comandos no lynx. Voc pode consultar a pgina de manual ou digitar e a h para que a tela de ajuda aparea para maiores informaes. c co 13.8.2 links

Assim como no lynx, o links um navegador em modo texto, onde voc navega utilizando e e o teclado. Contudo, quando pressiona a tecla Esc, ir ativar um menu muito conveniente no a

13.8. NAVEGADORES

121

topo da tela. Isso permite que o links seja muito fcil de usar, sem ter que aprender um monte a de teclas de atalho. Pessoas que no utilizam navegadores em modo texto todo dia iro gostar a a deste recurso. O links parece ter um suporte melhor para frames e tabelas, quando comparado ao lynx.

13.8.3

wget

wget(1) uma ferramenta de linha de comando que ir fazer o download de arquivos de uma e a URL espec ca. Como no na verdade um navegador web, o wget usado principalmente a e e para fazer o download de sites inteiros ou parte deles para visualizao oine dos mesmos, ou ca para o download de arquivos de servidores HTTP ou FTP. A sintaxe bsica : a e $ wget <url> Voc tambm pode passar opes. Por exemplo, a opo abaixo ir fazer o download do site e e co ca a do Slackware: $ wget --recursive www.slackware.com O wget ir criar um diretrio chamado www.slackware.com e ir guardar os arquivos dentro a o a dele, assim como o site o faz. O wget tambm pode fazer o download de sites FTP; apenas especique uma URL FTP ao e invs de uma HTTP. e $ wget ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz --12:18:16-- ftp://ftp.gnu.org/gnu/wget/wget-1.8.2.tar.gz => wget-1.8.2.tar.gz Resolving ftp.gnu.org... done. Connecting to ftp.gnu.org[199.232.41.7]:21... connected.

122

CAP ITULO 13. COMANDOS DE REDE BASICOS

Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD /gnu/wget ... done. ==> PORT ... done. ==> RETR wget-1.8.2.tar.gz ... done. Length: 1,154,648 (unauthoritative) 100%[==================================>] 1,154,648 209.55K/s ETA 00:00

12:18:23 (209.55KB/s) - wget-1.8.2.tar.gz saved [1154648] O wget tem muitas outras opes, o que o torna muito bom para scripts espec co cos para sites (como espelhamento e assim por diante). A pgina de manual deve ser consultado para a mais informaes. co

13.9

Clientes FTP

O FTP o protocolo de transferncia de arquivos. Ele permite que voc envie e receba e e e arquivos entre dois computadores. Existe o servidor FTP e o cliente FTP. Ns iremos falar o sobre os clientes nesta seo. Para os curiosos, o cliente voc. O servidor o computador ca e e e que responde suas requisies FTP e aceita o seu login. Voc ir fazer o download de arquivos co e a do servidor e ir fazer upload de arquivos para o servidor. O cliente no pode aceitar conexes a a o FTP, ele pode apenas conectar ` servidores FTP. a

13.9.1

ftp

Para conectar em um servidor FTP, simplesmente execute o comando ftp(1) e especique o host:

$ ftp $<$hostname$>$ [port] Se o host estiver rodando um servidor FTP, ele ir pedir um username e um password. a Voc poder logar como voc mesmo ou como annimo(anonymous). Sites FTP annimos e a e o o so bastante populares para repositrio de arquivos. Por exemplo, para fazer o download do a o Slackware Linux por FTP, voc deve usar FTP annimo. e o Uma vez conectado, voc estar no prompt ftp>. Existem comandos especiais para FTP, e a mas eles so similares aos comandos padro. A lista seguinte mostra alguns dos comandos a a bsicos e o que eles fazem: a

Comandos ftp

13.9. CLIENTES FTP

123

Comando ls cd <diretrio> o bin ascii get <arquivo> put <arquivo> hash tick prom mget <arquivos> mput <arquivos> quit

Funo ca Lista arquivos Muda de diretrio o Dene modo de transferncia binrio e a Dene modo de transferncia ASCII e Faz o download de um arquivo Faz o upload de um arquivo Liga/Desliga a impresso de #para cada buer transferido a Mostra/Esconde contador de bytes Entra/Sai modo interativo para downloads Faz o download de um arquivo ou um grupo de arquivos; coringas so permitidos a Faz o upload de um arquivo ou um grupo de arquivos; coringas so permitidos a Sai do servidor FTP

Voc tambm pode usar os seguintes comandos, que so auto-explicativos: chmod, delete, e e a rename, rmdir. Para uma lista completa de todos os comandos e seus signicados, apenas digite help ou ? e voc ver a lista completa na sua tela. e a FTP um programa razoavelmente simples de ser usado, mas falta a interface que muitos e de ns esto acostumados hoje em dia. A pgina de manual discute algumas das opes de o a a co linha de comando do ftp(1). ftp> ls *.TXT 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. -rw-r--r-1 root 100 18606 Apr 6 2002 BOOTING.TXT -rw-r--r-1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT -rw-r--r-1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT -rw-r--r-1 root 100 32431 Sep 29 02:56 FAQ.TXT -rw-r--r-1 root 100 499784 Mar 3 19:29 FILELIST.TXT -rw-r--r-1 root 100 241099 Mar 3 19:12 PACKAGES.TXT -rw-r--r-1 root 100 12339 Jun 19 2002 README81.TXT -rw-r--r-1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT -rw-r--r-1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT -rw-r--r-1 root 100 2876 Jun 17 2002 UPGRADE.TXT 226 Transfer complete. ftp> tick Tick counter printing on (10240 bytes/tick increment). ftp> get README81.TXT local: README81.TXT remote: README81.TXT 200 PORT command successful. 150 Opening BINARY mode data connection for README81.TXT (12339 bytes). Bytes transferred: 12339 226 Transfer complete. 12339 bytes received in 0.208 secs (58 Kbytes/sec) 13.9.2 ncftp

O ncftp(1) (pronunciado Nik-F-T-P) uma alternativa ao tradicional cliente ftp que vem e com o Slackware. Ele ainda um programa em modo texto, mas oferece algumas vantagens em e relao ao ftp, incluindo: ca

124

CAP ITULO 13. COMANDOS DE REDE BASICOS

Tab completion Arquivo de favoritos(Bookmark) Uso mais liberal de coringas Histrico de comandos o Por padro, ncftp ir tentar logar anonimamente ao servidor que voc especicar. Voc pode a a e e forar o ncftp a apresentar o prompt de login com a opo -u. Uma vez no sistema, voc pode c ca e usar os mesmos comandos usados no ftp, voc ir apenas notar uma interface melhor, que se e a parece mais com o bash. ncftp /pub/linux/slackware > cd slackware-current/ Please read the file README81.TXT it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago CWD command successful. ncftp ...ware/slackware-current > ls BOOTING.TXT FAQ.TXT bootdisks/ CHECKSUMS FILELIST.TXT extra/ CHECKSUMS.asc GPG-KEY isolinux/ CHECKSUMS.md5 PACKAGES.TXT kernels/ CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/ COPYING README81.TXT rootdisks/ COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/ CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/ CURRENT.WARNING Slackware-HOWTO ChangeLog.txt UPGRADE.TXT ncftp ...ware/slackware-current > get README81.TXT README81.TXT: 12.29 kB 307.07 kB/s

13.10
13.10.1

Conversando com outras pessoas


wall

wall (1) uma forma rpida de escrever uma mensagem para os usurios em um sistema. A e a a sintaxe bsica : a e $ wall [file] Isso ir fazer com que o contedo do arquivo seja mostrado no terminal de todos os usurios a u a atualmente logados no sistema. Se voc no especicar uma mensagem, wall ir ler da entrada e a a padro, ento voc pode simplesmente digitar sua mensagem e no nal digitar Ctrl+d. a a e wall no possui muitos recursos, tirando o fato de servir para avisar a seus usurios que voc a a e est prestes a fazer alguma manuteno sria no sistema, ou at mesmo reinici-lo, para que a ca e e a eles salvem seus trabalhos e faam logo =) c

13.10.2

talk

O talk (1) permite que dois usurios conversem entre si. Ele divide a tela no meio, horizona talmente. Para requisitar um chat com outro usurio, use o comando: a

13.10. CONVERSANDO COM OUTRAS PESSOAS

125

$ talk <pessoa> [ttyname]

Se voc especicar apenas o usurio, o talk assume que a requisio local, ento apenas e a ca e a usurios locais so requisitados. O nome do terminal requerido se voc deseja chamar um a a e e usurio em um terminal espec a co (se o usurio est logado em mais de um). A informao a a ca requerida para a conversa pode ser obtida com o comando w (1). O talk tambm pode chamar usurios em hosts remotos. Para o username voc simplesmente e a e especica um endereo de email. talk ir tentar contactar aquele usurio remoto naquele host. c a a talk um pouco limitado. Ele somente suporta dois usurios e half-duplex. e a e

13.10.3

ytalk

ytalk (1) uma reposio do talk. Ele vem com o Slackware como sendo o comando ytalk. A e ca sintaxe similar, mas existem algumas diferenas: e c

$ ytalk <username>[#ttyname]

126

CAP ITULO 13. COMANDOS DE REDE BASICOS

O usurio e o terminal so especicados da mesma forma que no talk, com a diferena que a a c voc deve coloc-los juntos com o caractere (#). e a ytalk oferece vrias vantagens: a Ele suporta mais de dois usurios. a Um menu de opes pode ser ativado a qualquer momento com a tecla Esc. co Voc pode utilizar o shell enquanto estiver em uma conversa. e E muito mais... Se voc um administrador de servidores, voc deve se certicar que a porta do ntalk est ee e a habilitada em /etc/inetd.conf. ytalk precisa disso para funcionar corretamente.

Cap tulo 14

Segurana c
Segurana em um sistema uma caracter c e stica muito importante: ela pode prevenir que pessoas ataquem sua mquina, e tambm proteger dados sigilosos. Esse cap a e tulo inteiro e dedicado a como proteger sua mquina Slackware contra script kiddies, crackers e outros ladres a o de informaes. Tenha em mente de que esse s o comeo de como proteger um sistema; co e o c segurana um processo, no um estado. c e a

14.1

Desabilitando Servios c

O primeiro passo aps instalar o Slackware deve ser desabilitar todos os servios que voc o c e no vai precisar. Qualquer servio pode ser um risco de segurana, ento importante deixar a c c a e habilitado o m nimo de servios poss c veis (ou seja, s os que so necessrios). Os servios o a a c so iniciados a partir de duas ferramentas principais o inetd e os scripts de inicializao (init a ca scripts). 14.1.1 Servios iniciados com o inetd c

Muitos daemons que vem com o Slackware so iniciados a partir do inetd (8). O inetd a e um daemon que escuta em todas as portas usadas pelos servios congurados para serem inic ciados por ele e inicia uma estncia do daemon relevante quando uma tentativa de conexo a a e feita. Daemons iniciados pelo inetd podem ser desabilitados comentando-se a linha referente ao mesmo no arquivo /etc/inetd.conf. Para fazer isso, abra esse arquivo no seu editor de textos favorito (ex. vi) e voc ver linhas similares a essa: e a

$telnet stream

tcp

nowait

root

/usr/sbin/tcpd

in.telnetd

Voc pode desabilitar esse servio, e qualquer outro que no seja necessrio para voc, e c a a e comentado-os (ou seja, incluindo um # (sustenido) ao in da linha). A linha acima caria cio assim:

#telnet stream

tcp

nowait

root

/usr/sbin/tcpd

in.telnetd

Depois que o inetd for reiniciado, esse servio estar desabilitado. Voc pode reiniciar o c a e inetd com o comando:

# kill -HUP $(cat /var/run/inetd.pid)

127

128

CAP ITULO 14. SEGURANCA

14.1.2

Servios iniciados pelos scripts de inicializao (init scripts) c ca

Os outros servios iniciados durante o boot da mquina so iniciados a partir dos scripts c a a contidos em /etc/rc.d/. Esses podem ser desabilitados de duas maneiras: a primeira seria remover a permisso de execuo do script de inicializao desejado e a segunda seria comentar a ca ca as linhas relevantes no script de inicializao. ca Por exemplo, o SSH iniciado pelo seu prprio script /etc/rc.d/rc.sshd. Voc pode desabilite o e a lo usando: # chmod -x /etc/rc.d/rc.sshd Para os servios que no possuem seu prprio script de inicializao, voc precisar comentar c a o ca e a as linhas relativas a eles em algum outro script de inicializao para desabilit-los. Por exemplo, ca a o daemon portmap iniciado pelas seguintes linhas do arquivo /etc/rc.d/rc.inet2 : e # This must be running in order to mount NFS volumes. # Start the RPC portmapper: if [ -x /sbin/rpc.portmap ]; then echo "Starting RPC portmapper: /sbin/rpc.portmap" /sbin/rpc.portmap fi # Done starting the RPC portmapper. Esse servio pode ser desabilitado adicionando um # ao inicio das linhas que ainda no c a comeam com #, assim: c # This must be running in order to mount NFS volumes. # Start the RPC portmapper: #if [ -x /sbin/rpc.portmap ]; then # echo "Starting RPC portmapper: /sbin/rpc.portmap" # /sbin/rpc.portmap #fi # Done starting the RPC portmapper. Essas mudanas apenas tero efeito aps um reboot ou mudando para o runlevel 3 ou 4. c a o Voc pode fazer isso digitando o seguinte em um console (voc precisar se logar novamente e e a aps mudar para o runlevel 1): o # telinit 1 # telinit 3

14.2
14.2.1

Controle de Acesso ao Host


iptables

O iptables o programa de congurao de ltros de pacotes para o Linux 2.4 e superior. e ca O kernel 2.4 (2.4.5, para ser exato) foi introduzido no Slackware (como uma opo) na verso ca a 8.0 e tornou-se o padro no Slackware 8.1. Essa seo cobre apenas o bsico de sua utilizao e a ca a ca voc pode acessar o site http://www.netlter.org/ para mais detalhes. Esses comandos podem e ser colocados no arquivo /etc/rc.d/rc.rewall, o qual deve ter permisso de execuo para que a ca essas regras tenham efeito na inicializao. Note que comandos incorretos do iptables podem ca at mesmo te impedir de acessar sua prpria mquina. A menos que voc esteja 100% conante e o a e de suas habilidades, sempre tenha certeza de que voc tem acesso local a mquina. e a

14.2. CONTROLE DE ACESSO AO HOST

129

A primeira coisa que a maior parte das pessoas devem fazer congurar a politica padro e a para cada mtodo de entrada para DROP: e # iptables -P INPUT DROP # iptables -P FORWARD DROP Quando tudo barrado, voc pode comear a liberar coisas. A primeira coisa a liberar o e e c e trafego para sees que j estavam estabelecidas: co a # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT$ E para no impedir qualquer aplicao que use o endereo de loopback, inteligente adicionar a ca c e a seguinte regra: # iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT$ Essa regra permite qualquer trfego para e a partir do endereo 127.0.0.0/8 (127.0.0.0 a c 127.255.255.255) na interface de loopback (lo). Quando for criar regras, uma boa idia ser o e e mais espec co poss vel, para ter cereza de que suas regras no vo permitir inadvertidamente a a algo malicioso. Dito isso, regras que permitem pouco resultam em mais regras e mais digitao. ca O prximo passo seria permitir o acesso a servios espec o c cos que rodem em sua mquina. a Se, por exemplo, voc quisesse rodar um servidor web na sua mquina, voc usaria uma regra e a e similar a essa: # iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT$ Isso permitir o acesso de qualquer mquina ` porta 80 da sua mquina atravs da interface a a a a e ppp0. Voc pode querer restringir o acesso a esse servio para que apenas certas mquinas pose c a sam acess-lo. Essa regra permite o acesso ao seu servidor web a partir do endereo 64.57.102.34: a c # iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT$ Permitir o trfego ICMP pode ser util para efeitos de diagnstico. Para fazer isso, voc a o e usuaria uma regra como essa: # iptables -A INPUT -p icmp -j ACCEPT$ Muitas pessoas tambm vo querer congurar o servio de Traduo de Endereos de Rede e a c ca c (Network Address Translation - NAT) em suas mquinas que atuem como gateway, para que a outras mquinas na sua rede possam acessar a Internet atravs dela. Voc pode usar a seguinte a e e regra para fazer isso: # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE$ Voc tambm precisar habilitar o IP forwarding. Voc pode fazer isso temporariamente, e e a e usando o seguinte comando: # echo 1> /proc/sys/net/ipv4/ip\_forward Para habilitar o IP forwarding de uma forma permanente (ou seja, para que a mudana c seja mantida aps o reboot), voc precisar abrir o arquivo /etc/rc.d/rc.inet2 em seu editor de o e a textos favorito e mudar a seguinte linha:

130

CAP ITULO 14. SEGURANCA

IPV4\_FORWARD=0 ...para isso: IPV4\_FORWARD=1 Para mais informaes sobre NAT, veja o NAT HOWTO. co 14.2.2 tcpwrappers

Os tcpwrappers controlam o acesso aos daemons de acordo com a aplicao, e no de acordo ca a com o IP. Isso pode trazer uma camada extra de segurana quando controles de acesso por c IP (ex. Netlter) no esto funcionando corretamente. Por exemplo, se voc recompilar o a a e kernel mas esquecer de incluir o suporte ao iptables, sua proteo no n de IP falhar mas ca vel a os tcpwrappers ainda o ajudaro a proteger o seu sistema. a Os acessos aos servios protegidos pelos tcpwrappers podem ser controlados usando os arc quivos /etc/hosts.allow e /etc/hosts.deny. A maioria das pessoas podero ter uma unica linha em seus arquivos /etc/hosts.deny para a barrar o acesso a todos os daemons como padro. Essa linha caria assim: a ALL : ALL Quando isso feito, voc pode se concentrar em permitir o acesso a servios para mquinas, e e c a dom nios, ou faixas de IP espec cos. Isso pode ser feito no arquivo /etc/hosts.allow, que segue o mesmo formato. Muitas pessoas comeariam aceitando todas as conexes do localhost. Isso pode ser feito da c o seguinte forma: ALL : 127.0.0.1 Para permitir o acesso ao SSHd a partir dos endereos 192.168.0.0/24, voc poder usar c e a qualquer uma das duas regras a seguir: sshd : 192.168.0.0/24 sshd : 192.168.0. Tambm poss restringir o acesso a mquinas em certos dom e e vel a nios. Isso pode ser feito usando a seguinte regra (note que isso se apoia na veracidade da entrada de DNS reverso para a mquina que est conectando, logo eu no recomendaria seu uso em mquinas conectadas a a a a a Internet): sshd : .slackware.com

14.3
14.3.1

Mantendo-se Atualizado
Lista de emails slackware-security

Sempre que um problema de segurana afeta o Slackware, um email mandado a todos c e os assinantes da lista atravs do endereo slackware-security@slackware.com. Relatrios so e c o a enviados sobre vulnerabilidades em qualquer parte do Slackware, menos as relativas aos pacotes contidos no /extra ou no /pasture. Esses emails de noticao de segurana incluem detalhes ca c sobre como obter as verses atualizadas dos pacotes do Slackware ou work-arounds, se existirem. o Informaes sobre como se inscrever nas listas de email do Slackware podem ser encontradas co na Seo 2.7. ca

14.3. MANTENDO-SE ATUALIZADO

131

14.3.2

O diretrio /patches o

Sempre que so liberados pacotes atualizados para uma verso do Slackware (normalmente a a para corrigir um problema de segurana, no caso de verses do Slackware j liberadas), eles so c o a a colocados no diretrio /patches. O caminho completo para esses patches vai depender do mirror o que voc estiver utilizando, mas tero a seguinte forma /caminho/para/slackware-x.x/patches/. e a Antes de instalar esses pacotes, uma boa idia vericar o md5sum do pacote. O md5sum(1) e e um utilitrio de linha de comando que cria uma chavematemtica nicapara o arquivo. Se e a a u um unico bit do arquivo tiver sido modicado, ele gerar um valor diferente de md5sum para a o arquivo. $ md5sum package-<ver>-<arch>-<rev>.tgz 6341417aa1c025448b53073a1f1d287d package-<ver>-<arch>-<rev>.tgz Voc dever comparar esse valor com o valor contido no arquivo CHECKSUMS.md5 na raiz e a do diretrio slackware-$VERSION (tambm contido no diretrio /patches para os patches) ou o e o no email da lista slackware-security para o pacote em questo. a Se voc tiver um arquivo com os valores md5sum nele, voc pode usa-lo como fonte dos e e md5sum com a opo -c do comando md5sum. ca # md5sum -c CHECKSUMS.md5 ./ANNOUNCE.10_0: OK ./BOOTING.TXT: OK ./COPYING: OK ./COPYRIGHT.TXT: OK ./CRYPTO_NOTICE.TXT: OK ./ChangeLog.txt: OK ./FAQ.TXT: FAILED Como voc pode ver, qualquer arquivo com o md5sum correto listado como OK enquanto e e os arquivos que esto com o md5sum incorreto so listados como FAILED. (Sim, isso foi um a a insulto a sua inteligncia. Porque voc mexeu comigo?) e e

132

CAP ITULO 14. SEGURANCA

Cap tulo 15

Arquivos Agrupados e Compactados


15.1 gzip

O gzip(1) o programa de compresso da GNU. Ele recebe um arquivo e ento o comprime. e a a Seu uso bsico como a seguir: a e $ gzip nome_do_arquivo

a O nome do arquivo resultante ser nome do arquivo.gz// e ele geralmente ser menor que a o arquivo de entrada. Observe que nome do arquivo ser substitu por nome do arquivo.gz. a do a a a o Isto signica que nome do arquivo no existir mais, somente existir sua cpia comprimida. Arquivos texto regulares sero bem compactados, enquanto que imagens jpeg, arquivos mp3 a e outros arquivos como estes no sero to compactados, pois eles j esto em um formato a a a a a compactado. Esta forma bsica de usar o programa de compresso mantm um balanceamento a a e entre o tamanho nal do arquivo e o tempo de compresso. A compresso mxima pode ser a a a obtida da seguinte maneira: $ gzip -9 nome_do_arquivo}

Desta maneira a compresso do arquivo ser mais lenta, mas o arquivo resultante ser a a a to pequeno quanto ogzip capaz de comprim a e -lo. Usando valores mais baixos na opo do ca comando, a compresso ser mais rpida, mas o arquivo no ser to compactado. a a a a a a Para descomprimir arquivos compactados com o gzip podem ser usados dois comandos, que so na verdade um mesmo programa. gzip ir descomprimir qualquer arquivo com um extenso a a a reconhecida. As extenses reconhecidas so: .gz, -gz, .z, -z, .Z, ou -Z. A primeira maneira o a e executar gunzip(1) sobre um arquivo, da seguinte forma: $ gunzip nome_do_arquivo.gz

Isto ir deixar, no diretrio corrente, uma verso descomprimida do arquivo de entrada, e a o a a extenso .gz ser retirada do nome do arquivo. gunzip de fato parte do gzip e idntico a a e e e a gzip -d. Dessa forma, gzip geralmente pronunciado gunzip, uma vez que o nome soa mais e legal assim. :)

15.2

bzip2

O bzip2 (1) um programa de compresso alternativo instalado no Slackware Linux. Ele e a utiliza um algoritmo de compresso diferente do utilizado em gzip, o que resulta em algumas a vantagens e algumas desvantagens. A principal vantagem em favor de bzip2 o tamanho do e arquivo compactado. bzip2 quase sempre ir comprimir melhor que gzip. Em alguns casos, isto a pode resultar em arquivos dramaticamente menores. Isto pode ser uma grande vantagem para pessoas com conexes lentas. Tambm lembre-se que, ao copiar um programa de um servidor o e
133

134

CAP ITULO 15. ARQUIVOS AGRUPADOS E COMPACTADOS

FTP pblico, , em geral, uma boa regra de etiqueta na Internet pegar arquivos .bz2 em vez u e de arquivos .gz, j que isto resulta em uma menor sobrecarga, ajudando assim as generosas a pessoas que hospedam o servidor. A desvantagem de bzip2 que ele utiliza mais recursos de processamento do que o gzip. Isto e signica que descomprimir um arquivo com bzip2 geralmente ser mais demorado e utilizar a a mais o processador do que o gzip o faria. Na escolha de um programa de compresso a ser a usado, voc precisa considerar o tempo de compresso e o tamanho do arquivo compactado e e a determinar o que mais importante. e O uso de bzip2 quase idntico ao uso de gzip, de maneira que no ser gasto muito tempo e e a a discutindo isso. Como gunzip, bunzip2 idntico a bzip2 -d. A principal diferena na prtica e e c a e que bzip2 usa a extenso .bz2. a $ $ $ bzip2 nome_do_arquivo bunzip2 nome_do_arquivo.bz2 bzip2 -9 nome_do_arquivo

15.3

tar

tar (1) o arquivador em ta da GNU (as tas j foram a principal m e a dia para armazenar grandes volumes de dados!). Neste contexto, arquivar signicar agrupar e comprimir um conjunto de arquivos para transferncia ou armazenamento. O tar recebe como entrada vrios e a arquivos ou diretrios e cria um unico grande arquivo, tambm chamado de pacote. Isto lhe o e permite comprimir uma rvore de diretrio inteira, o que imposs apenas utilizando gzip ou a o e vel bzip2. O tar tem muitas opes de linha de comando, que so explicadas na pgina de manual co a a correspondente. Esta seo ir abordar apenas os casos mais comuns de uso do tar. ca a O uso mais comum para o tar extrair (descomprimir e desagrupar) um pacote que voc e e copiou de um servidor WEB ou FTP. A maioria desses pacotes tero a extenso .tar.gz. Um a a pacote comumente conhecido como um tarball. Isto signica que vrios arquivos foram agrue a pados utilizando-se o tar e ento compactados com o gzip. Voc tambm poder encontrar a e e a tais pacotes com a extenso .tar.Z. Esta extenso signica a mesma coisa, mas geralmente a a e encontrada em sistemas Unix mais antigos. Por outro lado, voc pode encontrar um pacote com e a extenso .tar.bz2 em algum lugar. O cdigo fonte do kernel (ncleo do sistema operacional) a o u distribu desta forma, pois o pacote resultante menor. Como voc pode ter imaginado, e do e e esse pacote resulta de vrios arquivos compactados com o bzip2 e agrupados com o tar. Voc a e pode obter todos os arquivos neste pacote utilizando o tar com alguns parmetros. Para se a desempacotar um tarball utiliza-se a opo -z como parmetro, o que signica que o gunzip ser ca a a utilizado para descomprimir os arquivos. A maneira mais comum para descomprimir e separar os arquivos de tais pacotes a seguinte: e $ tar -xvzf nome_do_arquivo.tar.gz

So absolutamente poucas opes. Ento o que elas signicam? A opo -x signica extrair. a co a ca Ela importante, uma vez que diz exatamente para o tar o que fazer com o arquivo de entrada. e Neste caso, ns dividiremos o pacote separando de volta os arquivos que foram agrupados. O -v o signica ser detalhado, ao invs de ser resumido. Dessa forma, sero listados todos os arquivos e a que esto sendo desagrupados. E perfeitamente aceitvel no usar esta opo se ela for algo que a a a ca lhe incomoda. De outra forma, voc poderia usar -vv para a execuo ser muito mais detalhada e ca e listar ainda mais informaes sobre cada arquivo sendo extra co do. A opo -z diz ao tar para ca primeiro descomprimir o pacote nome do arquivo.tar.gz com o gunzip. E nalmente, a opo ca -f indica ao tar que a prxima seqencia de caracteres na linha de comando representa o nome o u do arquivo sobre o qual ele executar as operaes. a co Existem algumas outras maneiras de se escrever este comando. Em sistemas mais antigos carentes de uma cpia decente do GNU tar, voc pode encontr-lo expresso assim: o e a

15.3. TAR

135

gunzip nome_do_arquivo.tar.gz | tar -xvf -

Este comando ir descomprimir o arquivo e enviar a sa para o tar. Uma vez que o gzip a da escrever sua sa na sa padro se assim lhe for inidicado, este comando escrever o arquivo a da da a a descompactado na sa padro. O redirecionamento (|) ento envia esta sa para o tar para da a a da desagrupamento. O - indica para o comando operar sobre a entrada padro. Ele ir desagrupar a a o uxo de dados que receber do gzip, escrevendo a sa no disco. da Outra maneira de escrever o primeiro comando retirando-se o trao que vem antes das e c opes, como a seguir: co $ tar xvzf nome_do_arquivo.tar.gz Voc tambm pode encontrar um pacote compactado com bzip2. A verso do tar que vem e e a com o Slackware Linux pode manipular esses pacotes assim como os compridos com gzip. Ao contrrio da opo -z, voc deve usar -j : a ca e $ tar -xvjf nome_do_arquivo.tar.bz2

E importante notar que o tar colocar os arquivos extra a dos no diretrio corrente. Ento, o a se voc tem um pacote em /tmp que voc quer extrair no seu diretrio pessoal, existem poucas e e o opes. Primeiro, poderia-se mover o pacote para o seu diretrio pessoal e ento executar o co o a tar sobre ele. Segundo, voc poderia especicar o caminho para o pacote na linha de comando. e Terceiro, voc pode usar a opo -C para explodir o pacote em um determinado diretrio. e ca o $ $ $ $ $ $ $ cd $HOME cp /tmp/nome_do_arquivo.tar.gz . tar -xvzf nome_do_arquivo.tar.gz cd $HOME tar -xvzf /tmp/nome_do_arquivo.tar.gz cd / tar -xvzf /tmp/nome_do_arquivo.tar.gz -C $HOME

Todos os comandos acima so equivalentes. Em cada caso, os arquivos do pacote so exa a tra dos em seu diretrio pessoal e o pacote original compactado permanecer em seu lugar o a inicial. Sendo assim, o que adiante ser capaz de extrair estes pacotes se voc no capaz de criar um e a e deles? Bem, o comando tar tambm cuida disso. Na maioria dos casos isto to fcil quanto e e a a remover a opo -x e substitu pela opo -c. ca -la ca $ tar -cvzf nome_do_arquivo.tar.gz .

Neste comando, a opo -c diz ao tar para agrupar os arquivos criando um pacote, enquanto ca que a opo -z executa o gzip sobre o pacote para comprim ca -lo. nome do arquivo.tar.gz ser o a nome do pacote que voc quer criar. e No sempre necessrio especicar a opo -f, mas de qualquer maneira uma boa prtica a e a ca e a faz-lo. Sem isso, o comando tar envia sua sa para a sa padro, o que geralmente e da da a e desejvel para redirecionamento da sa do tar para outro programa, como a seguir. a da $ tar -cv . | gpg --encrypt

Este comando cria um pacote no compactado que agrupa o contedo do diretrio corrente e a u o ento redireciona esse pacote para o gpg que criptografa e comprime o pacote, fazendo com que a seja praticamente imposs sua leitura por outra pessoa alm daquela que conhece a chave vel e secreta.

136

CAP ITULO 15. ARQUIVOS AGRUPADOS E COMPACTADOS

15.4

zip

Por m, existem dois utilitrios que podem ser usados em arquivos zip. Estes arquivos so a a muito comuns no mundo Windows, de maneira que o Linux tem programas para lidar com eles. O arquivo de compresso denominado zip(1), e o de descompresso denominado unzip(1). a e a e $ zip teste *

Isto criar o arquivo teste.zip, que ir conter todos os arquivos do diretrio corrente. O zip a a o adicionar a extenso .zip automaticamente, de forma que no h necessidade de inclu no a a a a -la nome do arquivo. Voc tambm pode recursivamente comprimir os subdiretrios existentes: e e o $ zip -r teste *

Bem como, descomprimir arquivos tambm fcil. e e a $ unzip teste.zip

Isto ir extrair todos os arquivos e diretrios no arquivo teste.zip. a o Os utilitrios zip tm vrias opes avanadas para criar pacotes que podem se extrair a e a co c automaticamente, excluir arquivos, controlar o tamanho do arquivo compactado, mostrar o que acontecer e muito mais. Veja as pginas de manual dos comandos zip e unzip para descobrir a a como usar essas opes. co

Cap tulo 16

Vi
O vi(1) o programa editor de texto padro do Unix, e apesar de que domin-lo no seja e a a a to essencial quanto j foi, ainda algo que vale a pena. H algumas verses (ou clones) do vi a a e a o dispon veis, incluindo vi, elvis,vile, e o vim. Ao menos um destes est dispon a vel em qualquer verso do Unix, assim como no Linux. a Todas estas verses incluem os mesmos recursos e comandos bsicos, logo, aprender a usar um o a clone deve facilitar o aprendizado de outro. Com a variedade de editores de texto inclusos nas distribuies do Linux e variantes do Unix atualmente, muitas pessoas no utilizam mais o vi. co a De qualquer maneira, ele permanece sendo o editor de texto mais universal do Unix e sistemas derivados. Dominar o vi signica que voc nunca mais se sentar diante de uma mquina Unix e a a e no se sentir confortvel com pelo menos um poderoso editor de texto. a a a O vi inclui diversos recursos como o destaque de sintaxe, formatao de cdigo, um poderoso ca o mecanismo de busca e substiuio, macros e outros. Estes recursos o fazem especialmente atraca tivo para programadores, desenvolvedores web e ans. Administradores de sistema vo apreciar a a poss automao e integrao com o shell. vel ca ca No Slackware Linux, a verso padro do vi dispon o elvis. Outras verses - incluindo o a a vel e o vim e o gvim - esto dispon a veis se voc tiver os pacotes apropriados instalados. O gvim uma e e verso grca do vim que inclui barras de tarefas, menus destacveis e caixas de dilogo. a a a a

16.1

Iniciando o vi

O vi pode ser iniciado a partir da linha de comando de vrias maneiras. A mais simples dela a apenas: e

$ vi

Uma sesso do vi. a

137

138

CAP ITULO 16. VI

Isto ir iniciar o vi com um buer vazio. Neste ponto, voc ver uma tela com quase nada a e a escrito. O vi est agora no modo de comando, esperando alguma ao sua. Para uma discusso a ca a dos diversos modos do vi, veja a seo 16.2. Para nalizar a sesso e sair do vi, digite o seguinte: ca a :q Assumindo que no tenha havido modicaes no arquivo, este comando ir fechar o vi. Se a co a houve modicaes, este comando ir adverti-lo e lhe dizer como ignor-las. Ignorar modicaco a a co es usualmente signica anexar um ponto de exclamao aps o q resultando em: ca o :q! O ponto de exclamao usualmente signica forar alguma ao. Ns discutiremos esta e ca c ca o outras combinaes mais adiante. co Voc tambm pode inciar o vi com um arquivo pr-existente. Por exemplo, o arquivo e e e /etc/resolv.conf poderia ser aberto da seguinte maneira: $ vi /etc/resolv.conf E nalmente, o vi pode ser iniciado em uma linha particular de um arquivo. Isto especiale mente util para programadores quando uma mensagem de erro inclui a linha na qual houve o erro. Por exemplo, voc poderia iniciar o vi na linha 47 do arquivo /usr/src/linux/init/main.c e da seguinte maneira:

16.2. MODOS

139

$ vi +47 /usr/src/linux/init/main.c O vi mostrar o arquivo especicado e ir colocar o cursor na linha especicada. No caso a a em que voc especicar uma linha que esteja aps o nal do arquivo, o vi colocar o cursor na e o a ultima linha. Isto especialmente util para programadores, pois eles podem pular exatamente e para o local no arquivo no qual ocorreu um erro, sem ter que procurar por ele.

16.2

Modos

O vi opera em vrios modos, que so usados para cumprir vrias tarefas. Quando voc a a a e inicia o vi, voc colocado dentro do modo de comando. Deste ponto, voc pode lanar e e e c diversos comandos para manipular texto, mover-se pelo arquivo, salvar, sair, e alternar entre os outros modos. A edio de texto feita em modo de insero. Voc pode rapidamente alternar ca e ca e entre os modos com uma variedade de combinaes de teclas, que so explicadas abaixo. co a 16.2.1 Modo de Comando

Ao entrar no vi voc primeiramente colocado no modo de comando. A partir deste modo, ee voc no pode digitar texto ou editar algo que j esteja na tela diretamente. Entretanto, voc e a a e pode manipular o texto, pesquisar, fechar, salvar, carregar novos arquivos e muito mais. O texto que segue ser apenas uma introduo ao modo de comando. Para uma descrio dos a ca ca ca vrios comandos, veja seo 16.7. a Provavelmente o comando mais usado no modo de comando a alternao para o modo de e ca insero. Isto feito pressionando-se a tecla i. O cursor muda de formato, e -- INSERT ca e e mostrado no inferior da tela (note que isto no acontece em todos os clones do vi). De l, todas a a os caracteres digitados so enviados ao buer corrente e so mostrados na tela. Para voltar ao a a modo de comando, pressione a tecla ESCAPE. O modo de comando tambm usado ao mover-se pelo arquivo. Em alguns sistemas, voc e e e pode usar as setas do teclado para mover-se. Em outros sistemas, voc pode precisar usar as e teclas hjkl. Aqui est uma simples listagem de como as teclas so usadas para mover-se pelo a a arquivo: h j k l move-se move-se move-se move-se um caractere ` esquerda a para um caractere abaixo para um caractere acima um caractere ` direita a

Simplesmente pressione uma tecla para mover-se. Como voc ver posteriormente, estas e a teclas podem ser combinadas com um nmero para mover-se de forma mais eciente. u Muitos dos comandos que voc usar no modo de comando iniciam-se com dois-pontos. Por e a exemplo, para sair, teclamos :q, como explicado anteriormente. Os dois-pontos simplesmente indicam que trata-se de um comando, enquanto que a letra q diz ao vi para encerrar a sesso a e sair. Outros comandos so formados por um nmero opcional, seguido por uma letra. Estes a u comandos no tem dois-pontos antes deles, e geralmente so usados para manipular o texto. a a Por exemplo, para apagarmos uma linha de um arquivos digitamos dd. Isto ir remover a a linha na qual est o cursor. Lanando o comando 4dd diria ao vi para remover a linha na qual a c est o cursor e as 3 seguintes. Em geral, o nmero diz ao vi quantas vezes executar o comando a u dado. Voc pode combinar um nmero com as teclas de movimento para mover-se por vrios e u a caracteres de uma s vez. Por exemplo, 10k moveria o cursor 10 linhas acima na tela. o O modo de comando tambm pode ser usado para copiar e colar, inserir texto e ler outros e arquivos no buer corrente. Para copiar um trecho do texto usamos a tecla y (y vem da palavra inglesa yank, que em portugues signica arrancar, extrair). Para copiarmos a linha corrente

140

CAP ITULO 16. VI

teclamos yy, e este comando pode ser prexado com um nmero para extrair mais linhas. u Ento, mova-se para o local para o qual o texto extraido deve ser copiado e pressione a tecla a p. O texto colado na linha posterior ` linha corrente. e a Para cortar uma parte do texto digitamos dd, e a tecla p pode ser usada para colar o texto recortado novamente no arquivo. Ler texto de outro arquivo um procedimento simples. e Apenas digite :r, seguido por um espao e o nome do arquivo que contm o texto a ser inserido. c e O contedo do arquivo ser colado no buer corrente na linha aps a que se encontra o cursor. u a o Os clones mais sosticados do vi tambm contm complementao de nome de arquivo similiar e e ca a ` do shell. O uso nal que ser mostrado a pesquisa. O modo de comando permite pesquisas simples, a e assim como comandos complicados de busca e substituio que usufruem de uma poderosa ca verso de expresses regulares. Uma completa discusso sobre expresses regulares est alm a o a o a e do escopo deste cap tulo, logo, esta seo cobrir somente simples meios de pesquisa. ca a Uma simples busca feita pressionando-se a tecla /, seguida do texto pelo qual voc est e e a procurando. O vi ir fazer a pesquisa do ponto em que est o cursor at o m do arquivo, a a e parando no momento em que a pesquisa for satisfeita. Note que buscas inexatas iro fazer a com que o vi pare. Por exemplo, uma busca por the ir fazer com que o vi pare em then, a therefore, e em outras palavras. Isto acontece porque todas estas palavras contm o trecho e de pesquisa the. Aps o vi encontrar o primeiro termo que casa com o termo de pesquisa, voc pode continuar o e pesquisando pelo termo simplesmente pressionando a tecla / seguida de um enter. Voc tambm e e pode pesquisar se o termo de pesquisa existe em algum trecho anterior ` localizao do cursor a ca substituindo a barra pelo caractere ?. Por exemplo, para procurar por the em algum ponto anterior ao cursor, digitamos ?the. 16.2.2 Modo de insero ca

A insero e substituio de texto feita no modo de insero. Como discutido anteriormente, ca ca e ca voc pode ir para o modo de insero pressionando a tecla i no modo de comando. Ento, todo e ca a o texto que voc digita enviado ao buer corrente. Pressionar a tecla ESCAPE lhe levar e e a ao modo de comando. A substituio de texto pode ser feita de algumas maneiras. Da linha de comando, pressionandoca se a tecla r permitir que voc substitua um caractere que est sob o cursor. Apenas digite o a e a novo caractere e ele substituir o caractere que est sob o cursor pelo caractere digitado. Voc a a e ser ento imediatamente mandado devolta ao modo de comando. Pressionando-se a tecla R a a voc poder substituir quantos caracteres voc quiser. Para sair deste modo de substituio, e a e ca apenas tecle ESCAPE para retornar ao modo de comando. Ainda h outra maneira de se alternar entre o modo de insero e o de substituio. a ca ca Pressionando-se a tecla INSERT a partir do modo de comando, voc ser levado ao modo e a de insero. Uma vez que voc se encontra no modo de insero, a tecla INSERT servir como ca e ca a uma tecla de alternncia entre o modo de insero e substituio. Ao pression-la pela primeira a ca ca a vez voc estar no modo de substituio. Pressionando-a novamente voc ser enviado ao modo e a ca e a de insero. ca

16.3

Abrindo Arquivos

O vi permite que voc abra arquivos a partir do modo de comando assim como se especica e a abertura de um arquivo pela linha de comando. Para abrir o arquivo /etc/lilo.conf : :e /etc/lilo.conf Se voc tiver feito alteraes no buer corrente que no tenham sido salvas, o vi ir reclamar. e co a a Voc ainda pode abrir o arquivo sem salvar o buer corrente digitando :e!, seguido de um espao e c

16.4. SALVANDO ARQUIVOS

141

e do nome do arquivo. Em geral, as advertncias do vi podem ser suprimidas adicionando-se e um ponto de exclamao no nal do comando. ca Se voc quiser reabrir o arquivo corrente, voc pode faz-lo simplesmente digitando e!. Isto e e e e particularmente util caso voc tenha bagunado o arquivo de alguma maneira e queira reabri-lo. e c Alguns clones do vi (por exemplo, o vim) permitem que mltiplos buers sejam abertos ao u mesmo tempo. Por exemplo, para abrir o arquivo 09-vi.sgml que est no meu diretrio home a o enquanto outro arquivo est aberto, eu poderia digitar: a :split \~{}/09-vi.sgml O novo arquivo exibido na metade superior da tela, e o arquivo que j estava aberto e a e exibido na metade inferior da tela. H vrios comandos para manipulao da tela dividida, e a a ca muitos destes comandos lembram o Emacs O melhor lugar para procurar por estes comandos seria a pgina de manual do seu clone do vi. Note que muitos clones no suportam a idia de a a e diviso de tela, ento voc pode no estar apto a utiliz-la. a a e a a

16.4

Salvando Arquivos

H algumas maneiras de se salvar arquivos no vi. Se voc quiser salvar o buer corrente a e para o arquivo bah, voc poderia digitar: e :w bah Uma vez que voc tenha salvado o arquivo pela primeira vez, para salv-lo novamente basta e a digitar :w. Qualquer alterao ser gravada no arquivo. Aps voc ter salvado o arquivo, voc ca a o e e jogado de volta para dentro do modo de comando. Se voc quiser salvar o arquivo e encerrar e e o vi (uma operao muito comum), voc podeira digitar :wq. Que diz ao vi para salvar o buer ca e corrente para o arquivo e encerrar a sesso, voltando ao shell. a Se por acaso, voc quiser salvar um arquivo cujas permisses sejam apenas de leitura, voc e o e poderia faz-lo adicionando um ponto de exclamao aps o comando de gravao, da seguinte e ca o ca forma: :w! Entretanto, haver casos em que voc no poder gravar no arquivo (por exemplo, caso voc a e a a e esteja tentando editar um arquivo que seja de outro usurio). Quando isto acontecer, o vi ir a a lhe dizer que no foi poss salvar o arquivo. Se voc realmente quiser editar o arquivo, voc a vel e e ter que edit-lo como usurio root ou (de preferncia) como o usurio dono do arquivo. a a a e a

16.5

Encerrando o vi

Uma maneira de encerrar o vi atravs do comando :wq, que ir salvar o buer corrente e e a para o arquivo antes de encerrar a sesso. Voc tambm pode encerrar a sesso sem salvar a e e a as alteraes feitas no arquivo com o comando :q ou (mais comum) com o comando :q!. A co segunda maneira utilizada quando voc tiver modicado o arquivo, mas no desejar salvar as e e a alteraes feitas. co Pode acontecer da sua mquina ou o vi travarem. Entretanto, ambos elvis e o vim tentam a minimizar os danos. Ambos os editores salvam ocasionalmente o buer aberto para um aquivo temporrio. Este arquivo usualmente nomeado de forma similar ao arquivo aberto, mas com a e um ponto no in do nome. Isto faz com que o arquivo seja oculto. cio Este arquivo temporrio removido uma vez que o editor encerrado sob condies normais. a e e co Isto signica que a cpia temporria existir para o caso de haver algum problema. Quando o a a voc voltar a editar o arquivo novamente, voc ser questionado sobre qual ao tomar. Na e e a ca maioria dos casos, uma larga quantia do seu trabalho no salvo pode ser recuperada. O elvis a tambm lhe enviar um e-mail informando da existncia de uma cpia de backup. e a e o

142

CAP ITULO 16. VI

16.6

Congurao do vi ca

O seu clone do vi pode ser congurado de vrias maneiras. a Uma variedade de comandos podem ser dados no modo de comando para congurar o vi do jeito que voc gosta. Dependendo do seu editor, voc pode habilitar recursos para facilitar a e e programao (como o destaque de sintaxe, auto-identao, e outros mais), congurar macros ca ca para automatizar tarefas, habilitar substituies textuais, e muito mais. co Quase todos estes comandos podem ser colocados dentro de um arquivo de congurao no ca seu diretrio home. No elvis seria o arquivo .exrc, enquanto que no vim seria o arquivo .vimrc. o A maioria dos comandos de congurao que podem ser digitados no modo de comando, podem ca ser colocados no arquivo de congurao. Isto inclui informaes de congurao, substituies ca co ca co textuais, macros, e mais. A discusso de todas essas opes e as diferenas entre os editores um assunto muito a co c e complicado. Para maiores informaes, verique a pgina de manual ou o site do seu editor vi co a predileto. Alguns editores (como o vim) possuem uma extensa documentao dentro do editor ca que pode ser acessada com o comando :help, ou algo similar. Voc tambm pode checar o livro e e da OReilly chamado Learning the //vi Editor// escrito por Lamb e Robbins. Muitos programas comuns do Linux carregaro um arquivo texto no vi por padro. Por a a exemplo, ao se editar as tarefas agendadas do sistema (crontabs) ser iniciado o vi por padro. a a Se voc no gosta do vi e gostaria que outro editor fosse iniciado ao invs dele, tudo o que voc e a e e precisa fazer setar a varivel de ambiente VISUAL para o editor de sua preferncia. Para e a e maiores informaes sobre como setar variveis de ambiente, veja a seo chamada Variveis co a ca a de Ambiente no cap tulo 8. Se voc deseja ter certeza de que o seu editor ser o padro toda e a a vez que voc logar-se, adicione sete a varivel VISUAL dentro dos seus arquivos .bash prole e a ou .bashrc.

16.7

Comandos do Vi

Esta seo uma referncia rpida aos comandos mais comuns do vi. Alguns destes j foram ca e e a a discutidos anteriormente no cap tulo, enquanto outros no. a Movimento Operao ca Tecla esquerda, abaixo, acima, direita h, j, k, l Para o m da linha $ Para o in da linha cio Para o m do arquivo G Para o in do arquivo cio :1 Para a linha 47 :47 Editando Operao ca Removendo uma linha Removendo cinco linhas Substituindo um caractere Removendo um caractere Removendo dez caracteres Defazer a ultima ao ca Unir linhas atual e seguintes Substituir velho por novo, globalmente Localizando Tecla dd 5dd r x 10x u J %svelhonovog

16.7. COMANDOS DO VI

143

Operao ca Procurar por asdf Procurar atrs por asdf a Repetir a ultima busca para frente Repetir a ultima busca para trs a Repetir a ultima busca, na mesma direo ca Repetir a ultima busca, na direo oposta ca Salvando e Saindo Operao ca Sair Sair sem salvar Salvar e sai Salvar, sem sair Recarregar o arquivo atualmente aberto Salvar o buer para um arquivo asdf Abrir o arquivo hejaz Ler o arquivo asdf dentro do buer Ler a sa do comando ls dentro do buer da

Tecla /asdf ?asdf / ? n N

Tecla :q :q! :wq :w :e! :w asdf :e hejaz :r asdf :r !ls

144

CAP ITULO 16. VI

Cap tulo 17

Emacs
Enquanto o vi (juntamente com seus clones) sem dvida o editor mais presente em sistemas e u derivados do Unix, O Emacs vem em segundo lugar. Ao invs de usar diferentes modos, como e o vi, ele utiliza combinaes das teclas Control e Alt para dar comandos, da mesma forma co que voc pode usar combinaes das teclas Control e Alt em um outro processador de textos e co e em muitas outras aplicaes am de executar certas funes. (Apesar de ser notvel que os co co a comandos raramente se correspondem; ento enquanto muitas aplicaes modernas utilizam a co Ctrl C / X/ V para copiar, recortar e colar, o Emacs utiliza teclas diferentes e atualmente um mecanismo um tanto quanto diferente para isto.) Tambm diferentemente do vi, que um (excelente) editor e nada mais, o Emacs um proe e e grama com quase innitas capacidades. O Emacs (em sua maior parte) escrito em linguagem e Lisp, que uma linguagem de programao muito poderosa que tem a caracter e ca stica peculiar de que todo programa escrito nela automaticamente um compilador Lisp em si. Isto signica que e o usurio pode estender o Emacs, e de fato escrever programas inteiramente novos no Emacs. a Como resultado disto, o Emacs no mais somente um editor. H muitos pacotes adicionais a e a para o Emacs dispon veis (o cdigo fonte do programa vem com o programa) que provem o e todas as espcies de funcionalidades. Muitos destas so relacionados ` edio de texto, que e a a ca e dentre todas as demais, a tarefa bsica do Emacs mas que no se limitam a isto. Existem por a a exemplo alguns programas de planilhas eletrnicas para o Emacs, base de dados, jogos, clientes o de e-mail e not cias (sendo o Gnus o mais famoso deles), etc. Existem duas verses principais do Emacs: O GNU Emacs (que a verso que vem com o o e a Slackware) e o XEmacs. O ultimo no uma verso do Emacs para rodar sob o X. De fato, a e a ambos Emacs e XEmacs rodam no console assim como sob o X. O XEmacs foi iniciado como um projeto para limpar e arrumar o cdigo fonte do Emacs. Atualmente, ambas as verses o o esto sendo ativamente desenvolvidas, e h de fato muita interao entre os dois times de a a ca desenvolvimento. Para o cap tulo presente, indiferente se voc usa o Emacs ou o XEmacs, as e e diferenas entre eles no so relevantes para o usurio nal. c a a a

17.1

Iniciado o Emacs

O Emacs pode ser inciado no shell simplesmente digitando-se emacs. Se voc estiver rodando e o X, o Emacs ir (normalmente) surgir com sua prpria janela, usualmente com uma barra de a o menu no topo, onde voc pode encontrar as funes mais importantes. Na inicializao, o Emacs e co ca ir primeiramente mostrar uma mensagem de boas vindas, e ento aps alguns segundos ele ir a a o a jog-lo no *scratch* buer. (veja seo 17.2). a ca
145

146

CAP ITULO 17. EMACS

Voc tambm pode iniciar o Emacs com um arquivo existente digitando e e $ emacs /etc/resolv.conf Isto far com que o Emacs carregue o arquivo especicado quanto inciar, pulando a mensagem a de boas vindas. 17.1.1 Teclas de Comando

Como mencionado acima, o Emacs utiliza combinaes das teclas Control e Alt para coco mandos. A conveno usual escrever estes com C letra e M- letra, respectivamente. Ento ca e a C x signica Control x, e M- x signica Alt x. (A letra M- usada ao invs de A porque e e originalmente no existia a tecla Alt e sim a tecla Meta. A tecla Meta desapareceu dos a teclados dos computadores, e no Emacs a tecla Alt tomou ento a sua funo.) a ca Muitos comandos do Emacs consistem de sequncias e combinaes de teclas. Por exemplo, e co C x C c (que Control x seguida de Control c) encerra o Emacs, C x C ssalva o arquivo e atual. Mantenha em mente que C x C b no o mesmo que C x b. A primeira signica a e Control x seguida de Control b, enquanto a segunda signica Control x seguida apenas de b.

17.2

Buers

No Emacs, o conceito de buers essencial. Todo arquivo que voc abre carregado em e e e seu prprio buer. Alm disto, o Emacs possui alguns buers especiais, que no contm um o e a e arquivo, mas so usados para outras coisas. Tais buers especiais usualmente tm um nome a e que comea e termina com um asterisco. Por exemplo, o buer que o Emacs mostra quando c e primeiramente inciado, o to famoso *scratch* buer. e a No *scratch* buer, voc pode digitar texto normalmente, mas o texto que digitado no e e a e salvo quando o Emacs fechado. e H um outro buer especial sobre o qual voc precisa saber, e este o minibuer. Este a e e buer consiste de apenas uma linha, e est sempre na tela: ele a ultima linha da janela do a e Emacs, abaixo da barra de status para o buer em uso. O minibuer onde o Emacs mostra e mensagens para o usurio, e tambm o lugar onde os comandos, que requerem alguma entrada a e e do usurio, so executados. Por exemplo, quando voc abre um arquivo, o Emacs ir perguntar a a e a pelo nome do arquivo no minibuer. A Mudana de um buer para outro pode ser feita com c

17.3. MODOS

147

o comando C x b. Isto ir question-lo sobre o nome de um buer (o nome de um buer a a e geralmente o nome do arquivo que voc est editando nele), dado uma escolha padro, que e a e a normalmente o nome do buer no qual voc esteve antes de ter mudado para, ou criado, o e e buer atual. Voc ser mandado para este buer padro caso pressione a tecla Enter. e a a Se voc deseja ir para outro buer que no seja o padro sugerido pelo Emacs, basta que e a a voc digite o nome do buer desejado. Note que voc pode usar a to famosa tecla Tab para e e a fazer a completao de nome aqui: digite as primeiras letras do nome do buer e pressione a ca tecla Tab; O Emacs ir ento completar o nome do buer. A completao com a tecla Tab a a ca funciona em todas as partes do Emacs em que ela faa sentido. c Voc pode obter uma lista dos buers abertos pressionando-se C x C b. Este comando e ir usualmente dividir a tela em duas, mostrando o buer no qual voc estava trabalhando na a e metade superior da tela, e o novo buer chamado *Buer List* na metade inferior da tela. Este buer contm uma lista de todos os buers, seus tamanhos e modos, e os arquivos, se e houver algum que aqueles buers listados estejam visitando. Voc pode sair desta tela dividida e digitando C x 1. Nota: Sob o X, a lista de buers tambm est dispon no menu Buer na barra de menu. e a vel

17.3

Modos

Todo buer no emacs tem a si associado, um modo. Este modo muito diferente da idia e e de modos do vi: um modo lhe diz em que tipo de buer voc se encontra. Por exemplo, existe e o modo texto (text-mode) para arquivos normais de texto, porm existem tambm modos tais e e como o modo c (c-mode) para edio de programas escritos em C, modo sh (sh-mode) para ca edio de shell scripts, modo latex (latex-mode) para edio de arquivos latex, modo mail ca ca (mail-mode) para edio de e-mail, not ca cias, mensagens e etc. Um modo prov customizaes e e co funcionalidades especiais que so uteis para o tipo de arquivo que voc est editando. Tambm a e a e poss para um modo, a redenio de teclas e comandos. Por exemplo, no modo texto, e vel ca a tecla Tab simplesmente pula para a prxima tabulao e pra, mas em muitos modos de o ca a linguagens de programao, a tecla Tab identa a linha atual de acordo com a pronfundidade ca do bloco no qual a linha se encontra. Os modos mencionados acima so chamados de modos principais. Cada buer tem exataa mente um modo principal. Adicionalmente, um buer pode ter um ou mais modos secundrios. a Um modo secundrio prov recursos adicionais que podem ser uteis para certas tarefas de a e edio. Por exemplo, se voc pressiona a tecla INSERT, voc invoca o modo de subscrio ca e e ca (overwrite-mode), que faz o que voc supe que faa. H tambm um modo de auto preene o c a e chimento (auto-ll-mode), que util em combinao com o modo texto (text-mode) ou com o e ca modo latex (latex-mode): ele far com que cada linha que voc digita seja automaticamente a e embalada, uma vez que a linha alcance um certo nmero de caracteres. Sem o modo de auto u preenchimento (auto-ll-mode), voc teria que digitar M- q para preencher um pargrafo. (Que e a voc pode tambm utilizar para reformatar um pargrafo aps ter editado algum texto e ele e e a o tenha deixado de ser preenchido.) 17.3.1 Abrindo Arquivos

Para abrir um arquivo no Emacs, digite: C-x C-f O Emacs ir lhe perguntar o nome do arquivo que voc deseja abrir, preechendo algum a e caminho padro para voc (que usualmente / ). Aps voc digitar o nome do arquivo que a e e o e deseja abrir (voc tambm pode usar aqui a tecla Tab para completar) e pressionar a tecla e e ENTER , o Emacs ir abrir o arquivo em um novo buer e mostrar este buer na tela. a

148

CAP ITULO 17. EMACS

Nota: O Emacs ir automaticamente criar um novo buer, ele no ir carregar o arquivo a a a no buer atual. Para criar um novo arquivo no Emacs, voc no pode apenas ir digitando algo. Voc primeie a e ramente deve criar um buer para ele, e dar um nome para o arquivo. Voc faz isso digitando e C x C f e digitando um nome para o arquivo, exatamente como se voc estivesse abrindo um e arquivo existente. O Emacs ir notar que o arquivo cujo nome voc digitou no existe, e criar a e a a um novo buer e informar a criao de um novo arquivo (New le) no minibuer. ca Quando voc digita C x C f e ento entra com um nome de um diretrio ao invs de um e a o e nome de arquivo, o Emacs ir criar um novo buer no qual voc ir encontrar uma lista de a e a todos os arquivos existentes naquele diretrio. Voc pode mover o cursor para o arquivo que o e voc est procurando e digitar, e o Emacs ir abr e a a -lo. (H de fato muitas outras aes que a co pode tomar aqui, tais como apagar, renomear e mover arquivos, etc. O Emacs est agora no a dired-mode, que basicamente um simples gerenciador de arquivos.) e Quando voc estiver digitado C-x C-f e derepente mudar de idia, voc pode digitar C-g e e e para cancelar a ao. C-g funciona em quase todo lugar que voc desejar cancelar uma ao ca e ca ou comando que voc estiver iniciado mas que no queira terminar. e a

17.4

Edio Bsica ca a

Quando voc tiver aberto um arquivo, voc obviamente poder mover-se ele com o cursor. e e a As teclas do cursor e PgUp, PgDn fazem o que voc possa supor. Home e End pulam e para o in e nal da linha. (Em verses mais antigas, elas podem pular para o in e m do cio o cio buer.) Entretanto, h tambm a combinao das teclas Control e Meta (Alt) para mover o a e ca cursor. Porque voc no precisa mover suas mos para outra parte do teclado para utiliz-las, e a a a elas so muito mais facilmente acess a veis uma vez que voc se acostume com elas. Os mais e importantes comandos semelhantes esto listados na tabela abaixo. a Comandos Bsicos de Edio a ca Comando* C-b C-f C-n C-p C-a C-e M-b M-f M-} M-{ M-a M-e C-d M-d C-v M-v M-< M-> CC-k C-s C-r

Resultado** volta um caractere avana um caractere c vai para a linha abaixo vai para a linha acima vai para o in da linha cio vai para o m da linha vai para a palavra anterior vai para a palavra seguinte vai para o pargrafo seguinte a vai para o pargrafo anterior a vai para a sentena anterior c vai para a sentena seguinte c apaga o caractere sob o cursor apagar at o m da palavra atual e abaixa uma tela (assim como a tecla., PgDn) sobe uma tela (assim como a tecla., PgUp) vai para o in do buer cio vai para o m do buer desfaz a ultima alterao (pode ser repetido); note que voc realmente tem que digitar Shif ca e apaga at o m da linha atual e efetua uma busca ` frente do cursor at o m do arquivo a e efetua uma busca anteriormente ao cursor at o in do arquivo e cio

17.5. SALVANDO ARQUIVOS

149

Note que muitos comandos com a tecla Meta so paralelos aos comandos com a tecla a Control exceto pelo fato de que eles operam em amplas unidades: enquanto C-f avana um c caractere, M-f avana em uma palavra inteira, etc. c Tambm note que M-<** e M-> requerem que voc digite Shift Alt comma e Shift Alt e e dot respectivamente, desde que &lt; e &gt; estejam ligadas Shift comma e Shift dot.(A menos claro que voc tenha um teclado em condies diferentes (layout), do teclado padro e e co a US.) Note que C k apagar (apaga, como freqentemente chamada) todo o texto aps o cursor e u o at o m da linha, porm no apaga a linha em si (por exemplo, no apaga a indicao de nova e e a a ca linha). Ele apenas apaga a linha se no houver texto aps o cursor. Em outras palavras, para a o apaga uma linha completamente, voc tem que posicionar o cursor no in e pressionar C k e cio duas vezes: uma para apaga o texto na linha e uma para apagar a linha em si.

17.5

Salvando Arquivos

Para salvar um arquivo, voc deve digitar e C-x C-s O Emacs no ir lhe solicitar um nome para o arquivo, o buer atual apenas ser salvo a a a para o arquivo que foi carregado inicialmente nele. Se voc deseja salvar o seu texto em outro e arquivo, digite C-x C-w Quando voc salva o arquivo pela primeira vez nesta sesso, o Emacs ir normalmente salvar e a a a antiga verso do seu arquivo em uma cpia de segurana (arquivo de backup), que possui a o c o mesmo nome acompanhado de um sinal de til (): ento se voc est editando um arquivo a e a //cars.txt//, o Emacs criar uma cpia de segurana chamada //cars.txt//. Esta cpia de a o c o segurana uma cpia do arquivo que voc abriu. Enquanto voc estiver trabalhando, o Emacs c e o e e ir regularmente criar automaticamente uma cpia do trabalho que voc est fazendo, para um a o e a arquivo nomeado com sinais de hash: #cars.txt#. Esta cpia de segurana apagada quando o c e voc salva o arquivo com C-x C-s. Quando voc tesiver nalizado a edio de um arquivo, voc e e ca e poder matar o buer que contm o arquivo digitado a e C-x k O Emacs ir perguntar a voc qual buer voc deseja matar, com o buer atual como padro, a e e a o qual voc pode selecionar simplesmente pressionando a tecla ENTER. Se voc no estiver e e a salvado seu arquivo ainda, o Emacs ir lhe perguntar se realmente deseja matar o buer. a 17.5.1 Saindo do Emacs

Quando voc estiver terminado todo o trabalho com o Emacs, voc poder digitar e e a C-x C-c Este comando encerra o Emacs. Se voc estiver arquivos no salvos, o Emacs ir lhe dizer e a a isto, e pedir para que voc os salve, um por vez. Se voc responder no para algum destes, o e e a Emacs ir lhe solicitar uma conrmao nal e ento sair. a ca a

150

CAP ITULO 17. EMACS

Cap tulo 18

Gerenciamento de Pacotes do Slackware


Um pacote de software um conjunto de arquivos que esto prontos para que voc possa e a e instalar. Quando voc faz o download de um cdigo fonte, voc precisa congurar, compilar, e e o e instalar tudo manualmente. Um pacote de software j est pronto para voc utilizar. Tudo o a a e que voc precisa fazer instalar o pacote. Outras caracter e e sticas do uso de pacotes de softwares so a facilidade na remoo e atualizao do pacote, se voc assim o desejar. Slackware possui a ca ca e programas para voc gerenciar seus pacotes. Voc pode instalar, remover, atualizar, criar, e e e examinar o contedo de um pacote muito facilmente. u Existe um mito sobre o gerenciador de Pacotes da Red Hat, e que o slackware no possui a nenhuma ferramenta de gerenciamento de Pacotes. Isto simplesmente no verdade, pois o a e Slackware possui uma ferramenta de gerenciamento de pacotes antes mesmo do RedHat existir. No possui tantas caracter a stics como um rpm (ou como um pacote deb), o pkgtool e seus programas derivados so to bons quanto os instaladores de pacotes rpm. A verdade que o a a e pkgtool no faz nenhuma vericao de dependncia. a ca e Aparentemente muitas pessoas da comunidade Linux acham que a denio do gerencica amento de pacotes a de vericar dependncias. Isto muito simples e no o caso, no e e e a e Slackware certamente voc no ter isso. Isso no signica que os pacotes do Slackware no e a a a a possuem dependncias, mas o gerenciador de pacotes no verica se existe uma dependncia. e a e Gerenciamento de dependncia responsabilidade do Administrador de Sistemas, e isso no e e a cabe a ns resolver. o

18.1

Viso Geral do Formato de um Pacote a

Antes de aprender os utilitrios de pacotes do Slackware, voc precisa se familiarizar com a e o formato do pacote do Slackware. No Slackware, um pacote simples como um arquivo tar e compactado com gzip. Os pacotes so feitos para serem extra a dos no diretrio raiz. o Veja um programa ct como um exemplo de um pacote do Slackware: cio ./ usr/ usr/bin/ usr/bin/makehejaz usr/doc/ usr/doc/makehejaz-1.0/ usr/doc/makehejaz-1.0/COPYING usr/doc/makehejaz-1.0/README usr/man/ usr/man/man1

151

152

CAP ITULO 18. GERENCIAMENTO DE PACOTES DO SLACKWARE

usr/man/man1/makehejaz.1.gz install/ install/doinst.sh O pacote ser extra no diretrio ra na instalao. Um registro do pacote adicionado a do o z ca e no banco de dados de pacotes onde conter informaes sobre o pacote e ser utilizado para a co a atualizar ou remover o pacote posteriormente. Informaes sobre o subdiretrio install/. Este um diretrio especial que contm um script co o e o e de ps-instalao chamado doinst.sh. Se o sistema encontrar esse arquivo no pacote, ele ser o ca a executado aps a instalao do pacote. o ca Outros scripts podem ser adicionados no pacote mas sero discutidos com maiores detalhes a logo em seguida.

18.2

Utilitrios de Pacotes a

Existem quatro utilitrios principais para o gerenciamento de pacotes. Eles so responsveis a a a pela instalao, remoo e atualizao dos pacotes. ca ca ca

18.2.1

pkgtool

pkgtool (8) um programa em formato de menu que permite instalar e remover pacotes. O e menu principal exibido na gura abaixo. e Menu Principal do Pkgtool

A instalao realizada a partir do diretrio atual, outro diretrio, ou a partir de disquetes. ca e o o Basta simplesmente selecionar o tipo de instalao que o pkgtool ir procurar pacotes vlidos ca a a para serem instalados no local selecionado. Voc tambm pode visualizar uma lista de todos os pacotes instalados como mostrado na e e e gura abaixo. Modo de visualizao Pkgtool ca

18.2. UTILITARIOS DE PACOTES

153

Caso voc desejar remover algum pacote, escolha a opo remover e ento sero apresentados e ca a a todos os pacotes instalados cada um com um checklist. Selecione os pacotes que deseja remover e ento selecione OK. O pkgtool remover os pacotes. a a Alguns usurios preferem o utilitrio em linha de comando. Entretanto, deve-se notar que a a cada linha de comando oferece muito mais opes. Alm disso, a capacidade para atualizar co e pacotes somente poss atravs de utilitrios de linha de comando. e vel e a 18.2.2 installpkg

O installpkg(8) permite instalar um novo pacote no sistema. A sintaxe mostrada abaixo: e # installpkg op~es nome_pacote co Trs opes podem ser utilizadas com o installpkg. Porm somente uma opo pode ser utilizada e co e ca por vez. Opes do installpkg co

Opo Descrio ca ca -m Executa o makepkg no diretrio atual. o -warn Mostra o que aconteceria se voc instalar o pacote especicado. Isto util para sistemas em pr e e -r Instala todos os pacotes recursivamente a partir do diretrio atual. Pode-se utilizar coringas no o Caso voc especique antes a varivel de ambiente ROOT installpkg, utilizar o caminho e a a especicado. Isso util na congurao de novos drives para o seu diretrio raiz. Eles sero e ca o a montados tipicamente em /mnt ou em algum outro lugar diferente de /. O banco de dados com os pacotes instalados armazenado em /var/log/packages. O registro e um arquivo texto, sendo um para cada pacote. Se o pacote possui um script de ps-instalao, e o ca este escrito em /var/log/scripts/. e Voc tambm pode especicar multiplos pacotes ou utilizar coringas no nome do pacote. O e e installpkg no o avisar em caso de reinstalao do pacote existente. Simplesmente instalar o a a ca a novo pacote sobre o pacote antigo. Caso voc queira remover com toda a segurana os arquivos e c antigos do pacote enterior voc dever utilizar o comando upgradepkg. e a

154

CAP ITULO 18. GERENCIAMENTO DE PACOTES DO SLACKWARE

18.2.3

removepkg

O removepkg(8) permite remover os pacotes instalados no sistema. A sintaxe mostrada e abaixo: # removepkg option package_name Quatro opes podem ser utilizadas com o removepkg. Porm somente uma opo pode ser co e ca utilizada por vez. Opes do removepkg co

Opo ca Ao ca -copy E criado uma rvore de diretrios do pacote preservando o pacote original enquanto removi a o e -keep So criados arquivos temporrios durante a remoo. Possuem a nalidade de debug. a a ca -preserve O pacote removido, mas uma cpia realizada para preservar o pacote durante a remoo. e o e ca -warn Exibe informaes sobre a remoo do pacote. co ca Se voc passar a varivel de ambiente ROOT antes do removepkg, tal caminho ser utilizado e a a como diretrio raiz. Isso util na conguraro de novos drives para o seu diretrio raiz. Eles o e ca o sero montados tipicamente em /mnt ou em algum outro lugar diferente de /. a O removepkg procura os pacotes instalados e somente remove os arquivos referentes ao pacote que voc especicou. Tambm ir procurar por um script de ps-instalao para o e e a o ca pacote especicado e remover os links simblicos que foram criados pelo pacote. a o Durante o processo de remoo, um status mostrado. Aps a remoo, o registro no ca e o ca banco de dados de pacote movido para o arquivo /var/log/removed pacotes e o script de e ps-instalao movido para /var/log/removed scripts. o ca e Assim como o installpkg, voc pode especicar os pacotes pelo nome ou utilizando os coringas e para o nome do pacote. 18.2.4 upgradepkg

O upgradepkg(8) atualiza um pacote instalado do Slackware package. A sintaxe mostrada e abaixo: # upgradepkg nome_do_pacote ou # upgradepkg nome_pacote_antigo %nome_novo_pacote O upgradepkg primeiro instala o novo pacote e em seguida remove o pacote antigo. Assim os arquivos antigos no caro no sistema. Caso o nome do pacote tenha sido alterado, utilize a a a sintaxe do sinal de porcentagem para informar o pacote antigo (aquele que est instalado) e o a novo pacote (aquele que voc est atualizando). Se voc passar a varivel de ambiente ROOT e a e a antes do upgradepkg, tal caminho ser utilizado como diretrio raiz. Isso util na congurao a o e ca de novos drives para o seu diretrio raiz. Eles sero montados tipicamente em /mnt ou em o a algum outro lugar diferente de /. O upgradepkg no livre de falhas. Voc sempre dever realizar um backup dos seus arquivos a e e a de congurao. Caso eles sejam removidos ou substitu ca dos, voc ter uma cpia dos arquivos e a o originais caso necessite de algum reparo no sistema. Assim como o installpkg e removepkg, voc pode especicar os pacotes pelo nome ou utilie zando os coringas para o nome do pacote.

18.3. CRIANDO PACOTES

155

18.2.5

rpm2tgz/rpm2targz

Atualmente o Gerenciador de Pacotes da Red Hat o sistema mais popular. Muitos softwares e so distribu a dos no formato RPM. Mas este formato no o nosso padro, ns no recomendaa e a o a mos que as pessoas conem neles. Entretanto, algumas coisas s esto dispon o a veis em pacotes RPM (at mesmo o cdigo fonte). e o Ns temos um programa que converte pacotes RPM em nosso formato padro .tgz. Isto o a e realizado, extra ndo o pacote (talvez com o explodepkg) para um diretrio temporrio e examio a nando o seu contedo. u rpm2tgz o programa utilizado para criar um pacote Slackware com a extenso .tgz enquanto e a que rpm2targz cria um arquivo com a extenso .tar.gz. a

18.3

Criando Pacotes

Criar um pacote para o Slackware pode ser uma tarefa fcil ou dif a cil. No ser especicado a a um mtodo para a construo de um pacote. O unico requisito para um pacote ser um arquivo e ca e gzipado e, se houver algum script de ps-instalao, este deve estar no arquivo /install/doinst.sh. o ca Se voc interessado em criar pacotes para o seu sistema ou para a rede que voc gerencia, ee e voc dever dar uma olhada nos diversos build scripts na rvore fonte do Slackware. Existem e a a diversos mtodos que podem ser utilizados para criar pacotes. e 18.3.1 explodepkg

O explodepkg(8) faz a mesma coisa que o installpkg para extrair os arquivos do pacote, porm e no instala e no registra o pacote no banco de dados. Apenas extrai os arquivos no diretrio a a o atual. Se voc vericar a rvore de fontes do Slackware, voc ver que pode-se utilizar o comando e a e a para alicerar os pacotes. Estes pacotes possuem um esqueleto que criar o pacote nal. Ele c a contm todos os nomes de arquivos (tamanho-zero), permisses, e donos. O build script criar e o a um pacote a partir do diretrio fonte do pacote . o 18.3.2 makepkg

O makepkg(8) cria um pacote vlido para o Slackware a partir do diretrio atual. Ele buscar a o a na rvore de diretrio por links simblicos, adicionar e criar um script de ps-instalao a o o a a o ca durante a criao do pacote. Avisar por arquivos de tamanho zero na sua rvore de pacotes. ca a a Este comando usado aps voc criar sua rvore de pacotes. e o e a 18.3.3 SlackBuild Scripts

Pacotes Slackware so criados de muitas maneiras diferentes de acordo com a necessidade. a Nem todos os pacotes so criados pelos prprios programadores que os criaram. Muitos coma o pilam com opes que no so inclusas nos pacotes do Slackware. Caso necessite de alguma co a a funcionalidade da qual o pacote no foi compilado, voc dever criar seu prprio pacote. Fea e a o lizmente para muitos pacotes do Slackware, voc pode encontrar scripts SlackBuild no cdigo e o fonte do pacote. Mas o que um script SlackBuild? Scripts SlackBuild so shell scripts executveis que voc e a a e executa como root para congurar, compilar, e criar pacotes Slackware. Voc pode modicar e os scripts e criar seus pacotes Slackwares com sua necessidades espec cas.

156

CAP ITULO 18. GERENCIAMENTO DE PACOTES DO SLACKWARE

18.4

Criando Tags e Tagles (para congurao) ca

O programa de congurao do Slackware gerencia a instalao dos pacotes no seu sistema. ca ca Existem arquivos que dizem ao programa de congurao quais pacotes devem ser instalados, ca quais so opcionais, e quais so selecionados por padro pelo programa de congurao. a a a ca Um tagle est no diretrio do primeiro conjunto de software e chamado de tagle. Ele a o e lista os pacotes daquele disco em particular e o status, que pode ser: Status das Opes do Tagle co Opo ca ADD SKP REC OPT O O O O Caracter stica

pacote necessrio para a execuo necessria do sistema e a ca a pacote ser automaticamente pulado a pacote no necessrio, mas recomendado a e a pacote opcional e

O formato simples: e nome_pacote: status Um pacote por linha. As tagles originais de cada pacote so armazenadas como um taga le.org. Dessa forma, caso bagunce o seu, voc pode restaurar o original. e Muitos administradores preferem escrever seus prprios tagles e recomear o instalador o c selecionando full. O programa da instalao ir ler os tagles e executar a instalao de acordo ca a a ca com seus ndices. Caso voc utilize REC ou OPT, uma caixa de dilogo ser apresentada ao e a a usurio perguntando se quer ou no um pacote espec a a co. Recomenda-se que voc utilize ADD e e SKP ao escrever tagles para automatizar instalao. ca Certique-se apenas que seus tagles foram gravados no mesmo lugar que os originais. Ou voc pode especicar um tagle customizado, criado de acordo com as suas necessidades. e

Cap tulo 19

ZipSlack
19.1 O que o ZipSlack? e

O ZipSlack uma verso especial do Slackware Linux. Ele uma verso j instalada do e a e a a Slackware que est pronta para rodar a partir da sua partio DOS ou Windows. E uma a ca instalao bsica, e no tem todos os recursos do Slackware. ca a a O ZipSlack tem esse nome porque distribu em um grande arquivo .ZIP. Usurios de e do a DOS e Windows provavelmente tero mais familiaridade com esse tipo de arquivo. Eles so a a arquivos compactados. O arquivo do ZipSlack contm tudo que voc precisa para utilizar o e e Slackware. E importante notar que o ZipSlack signicativamente diferente de uma instalao normal. e ca Apesar de funcionarem da mesma maneira e terem os mesmos programas, o pblico alvo e a u suas funes so diferentes. As principais vantagens e desvantagens do ZipSlack so discutidas co a a abaixo. Uma ultima dica, voc deve sempre consultar a documentao inclu no diretrio do e ca da o ZipSlack. Ela contm as ultimas informaes relativas a instalao, boot e uso do produto. e co ca 19.1.1 Vantagens

No requer o reparticionamento do seu disco rigido. a Uma tima maneira de se aprender a utilizar o Slackware sem ter que passar pelo processo o de instalao. ca 19.1.2 Desvantagens

Usa o sistema de arquivos do DOS, que mais lento que um sistema de arquivos nativo e do Linux. No funciona com o Windows NT. a

19.2

Obtendo o ZipSlack

Obter o ZipSlack fcil. Se voc comprou a caixa de CDs ocial do Slackware, ento voc e a e a e j tem o ZipSlack. Apenas encontre o CD que contm o diretrio zipslack e coloque-o no seu a e o drive de CD-ROM. Esse CD costuma ser o terceiro ou o quarto disco, mas sempre cone mais nas etiquetas do que nessa documentao j que o disco em que ele est pode mudar. ca a a Se voc quiser fazer o download do ZipSlack, voc deve primeiro vistar nossa pgina Get e e a Slack para obter as ultimas informaes referentes a downloads: co http://www.slackware.com/getslack
157

158

CAP ITULO 19. ZIPSLACK

O ZipSlack faz parte de todas as verses do Slackware. Localize a verso que voc quer e v o a e a para o diretrio da mesma no FTP. A ultima verso pode ser encontrada no seguinte endereo: o a c ftp://ftp.slackware.com/pub/slackware/slackware/ Voc encontrar o ZipSlack no subdiretrio /zipslack. Ele distribu como um grande e a o e do arquivo .ZIP ou em partes do tamanho de um disquete. As partes esto no diretrio /zipsa o lack/split. No que apenas com os arquivos .ZIP. Voc tambm pode fazer o download da documena e e tao e qualquer imagem de boot que estiver no diretrio do ZipSlack. ca o 19.2.1 Instalao ca

Aps ter feito o download dos componentes necessrios, voc precisar extrair o arquivo .ZIP. o a e a Assegure-se que est usando um descompactador 32-bit. O tamanho e os nomes dos arquivos a so muito grandes para um descompactador de 16-bit. Exemplos de descompactadores 32-bit a so o WinZip e o PKZIP para Windows. a O ZipSlack desenvolvido para ser descompactado no diretrio raiz de uma unidade (tal e o como C: ou D:). Um diretrio \LINUX onde estar a instalao do Slackware ser criado. o a ca a Voc tambm encontrar os arquivos necessrios para iniciar (bootar) o sistema nesse diretrio. e e a a o Aps descompactar os arquivos, voc ter um diretrio \LINUX na unidade que voc escoo e a o e lheu (ns usaremos C: a partir de agora). o

19.3

Bootando o ZipSlack

H varias maneiras de se bootar o ZipSlack. A mais comum usar o arquivo LINUX.BAT a e para bootar o sistema a partir do DOS (ou a partir do modo DOS do Windows 9x). Esse arquivo deve ser editado para reetir seu sistema antes de utiliz-lo. a Comece abrindo o arquivo //C:\LINUX\LINUX.BAT // em seu editor de textos favorito. No topo do arquivo voc ver um grande comentrio. Ele explica o que voc precisa editar nesse e a a e arquivo (e tambm o que fazer se voc estiver bootando atrav de um Zip drive externo). No e e e a se preocupe se voc no entender o paramtro <literal>root=</literal>. H vrios exemplos, e a e a a sinta-se a vontade para escolher um e test-lo. Se no funcionar, voc pode editar o arquivo a a e novamente, comentar a linha que voc usou, e escolher outra. e Aps habilitar a linha que voc quiser, removendo a palavra rem do comeo da linha, salve o e c o arquivo e saia do editor de textos. Reboot sua mquina em modo DOS. a e Um prompt do DOS no Windows 9x NAO suciente. Digite C:\LINUX\LINUX.BAT para bootar o sistema. Se tudo correr bem, voc dever ver um prompt de login. e a Logue como root, sem senha. Voc provavelmente vai querer denir uma senha para root, e assim como adicionar uma conta para voc. A partir desse ponto voc pode consultar outras e e sees desse livro sobre a utilizao do sistema. co ca Se voc no conseguir bootar o sistema usando o arquivo LINUX.BAT, voc dever consultar e a e a o arquivo C:\LINUX\README.1ST incluso sobre outras formas de boot.

Cap tulo 20

Glossrio a
Ambiente grco a Uma interface grca para o usurio (GUI - Graphical User Interface) que executado sobre a a e o sistema de janelas X e prov as funcionalidades dos aplicativos instalados, interface coerente e entre programas e componentes, gerenciadores de janelas e arquivos, etc. Um passo a frente de um simples gerenciador de janelas. Area de troca (Swap) Espao do disco r c gido que utilizado pelo kernel como uma memria RAM virtual. E e o mais lento que a memria RAM, mas como espao em disco mais barato, a rea de troca o c e a (swap) pode ser mais abundante. A rea de troca util para o kernel manter dados no muito a e a utilizados e como opo quando a memria RAM est sendo toda utilizada. ca o a Arquivo oculto (Dot le) No Linux, os nomes de arquivos ocultos comeam com um ponto (.). c Biblioteca Uma coleo de funes que podem ser compartilhadas entre programas. ca co Carregador dinmico a Quando programas so compilados no Linux, eles geralmente usam pedaos de cdigo (funa c o co es) de bibliotecas externas. Quando estes programas executam, estas bibliotecas devem ser encontradas e as funes requeridas devem ser carregadas na memria. Esta a funo do co o e ca carregador dinmico. a Cdigo fonte o O cdigo (mais ou menos) leg o vel aos humanos com o qual a maioria dos programas so a escritos. Cdigos fontes so compilados em cdigo binrio. o a o a Comandos internos do interpretador de comandos Um comando do interpretador de comandos, ao invs de ser fornecido por um programa e externo. Por exemplo, o bash tem o comando interno cd. Compilar Converter um cdigo fonte em cdigo binrio. o o a Conjunto de ferramentas GUI Um conjunto de ferramentas GUI, uma coleo de bibliotecas que permite ao programador, e ca a partir de cdigos, desenhar componentes grcos como barras de rolagem, checkboxes, etc. o a e construir uma interface grca. O conjunto de ferramentas GUI usado por um programa, a geralmente dene seu aspecto. Conta Todas informaes de um usurio, incluindo login, senha, informaes para o nger, UID, co a co GID e diretrio base. Criar uma conta adicionar um usurio e criar suas denies. o e a co Daemon Um programa designado para exectar em segundo plano e, sem a interveno de usurios, ca a desempenha uma tarefa espec ca (geralmente provendo um servio). c Darkstar
159

160

CAP ITULO 20. GLOSSARIO

O hostname padro do Slackware; seu computador ter o nome de darkstar se voc no a a e a especicar outro. Um dos computadores de desenvolvimento de Patrick Volkerding, nomeado depois de Dark Star, uma msica de Grateful Dead u Diretrio base o O diretrio base home de um usurio o diretrio em que o usurio colocado imediatamente o a e o a e aps registrar-se no sistema. Os usurios tem permisses totais , mais ou menos, um reino o a o e livre em seu diretrio base. o Diretrio ra o z Representado por /, o diretrio ra existe no topo do sistema de arquivos, com todos os o z outros diretrios se ramicando abaixo dele em uma rvore de arquivos. o a Diretrio de trabalho o O diretrio em que um programa se considera estar enquanto est executando. o a Disco de inicializao ca Um disquete contendo um sistema operacional (no nosso caso, o kernel do Linux) com o qual poss iniciar um computador. e vel Disco ra (rootdisk) z O disco (geralmente xo) no qual o diretrio ra est armazenado. o z a Disco suplementar No Slackware, um disquete usado durante a instalao que no contm nem o kernel (que e ca a e est no disco de inicializao), nem o sistema de arquivos raiz (que est no disco raiz), mas a ca a contem arquivos adicionais necessrios como mdulos para rede ou suporte para PCMCIA. a o DNS Domain Name Service (Sistema de Nomes de Dom nios). Um sistema que traduz nomes para endereos numricos em uma rede de computadores. c e Dotted quad Formato do endereo IP, assim chamado pois consiste em quatro nmeros (na faixa decimal c e u 0-255) separados por pontos. Drivers de dispositivos Um pedao de cdigo no kernel que controla diretamente uma parte do hardware. c o Entrada padro (stdin) a A entrada de dados padro do Unix. Dados podem ser redirecionados ou concatenados para a a stdin dos programas, vindos de qualquer fonte. Epoca Um per odo da histria; em Unix, a Epoca comea `s 00:00:00 UTC Janeiro 1, 1970. Esta o c a considerada a alvorada do tempo pelo Unix e sistemas operacionais Unix-like, e todas outras e datas so calculadas em relao a esta. a ca Framebuer Um tipo de dispositivo grco; no Linux, geralmente se refere ao programa framebuer, a o qual prov uma interface framebuer padro para as aplicaes enquanto mantm drivers e a co e espec cos ocultos. Esta camada de abstrao libera os programas de falarem com vrios ca a drivers de dispositivos. FTP O protocolo de transferncia de arquivos (File Transfer Protocol). FTP um mtodo base e e tante utilizado para transferir dados entre computadores. Gateway Um computador que repassa dados de uma rede para outra. Gerenciador de janelas Um programa grco (ambiente X) que prov uma interface grca alm do simples desenho a e a e retangular do Sistema de janelas X. Gerenciadores de janelas geralmente provem barras de e t tulo, menus para os programas em execuo, etc. ca GID

161

Identicador de grupo (Group IDentier). O GID um nmero unico atribu a um grupo e u do de usurios. a Grupo Usurios em Unix pertencem a grupos, que podem conter vrios usurios e so utilizados a a a a para controles de acessos mais generalizados, que bem mais prtico que dar permisses para e a o cada usurio individualmente. a GUI Interface grca do usurio (Graphical User Interface). Uma interface de programas que a a utiliza elementos grcos como botes, barras de rolagem, janelas, etc. ao invs de somente a o e entrada e sa de textos. da HOWTO Um documento descrevendo como fazer (how to) algo, como congurar um rewall ou gerenciar usurios e grupos. Existe uma vasta coleo deste tipo de documento dispon a ca vel no projeto de documentao Linux (LDP - Linux Documentation Project). ca HTTP O protocolo de transferncia de hiper-texto (HyperText Transfer Protocol). HTTP o e e protocolo primrio, no qual, a World Wide Web (WWW) opera. a ICMP Protocolo de controle de mensagens na Internet (Internet Control Message Protocol). Um protocolo muito bsico, utilizado geralmente para pings. a Interface de Rede Uma representao virtual de um dispositivo de rede, provido pelo kernel. Interfaces de rede ca permitem usurios e programas comunicarem com dispositivos de rede. a Interpretador de comandos (shell) Os interpretadores de comandos provem uma interface de linha de comando para o usurio. e a Quando voc estiver olhando para uma tela em modo texto, voc est em um interpretador de e e a comandos. LILO O carregador do Linux (LInux LOader). O LILO o gerenciador de inicializao (boot) e ca mais utilizado com o Linux. Link simblico o Um arquivo especial que simplesmente aponta para a localidade de um outro arquivo. Links simblicos so usados para evitar duplicao de dados quando necessrio ter um determinado o a ca e a arquivo em vrios locais. a LOADLIN LOADLIN um programa que executado no MS-DOS ou Windows e inicializa um sistema e e Linux. E geralmente usado em computadores com mltiplos sistemas operacionais (incluindo u Linux e DOS/Windows, claro). e MBR O registro mestre de inicializao (Master Boot Record). Um espao reservado no disco ca c r gido onde esto armazenadas as informaes sobre o que fazer durante a inicializao. LILO a co ca e outros gerenciadores de inicializao podem ser gravados aqui. ca Mdulo do kernel o Um pedao do cdigo do kernel, geralmente um tipo de driver, que pode ser carregado c o ou descarregado da memria separadamente do corpo principal do kernel. Mdulos so uteis o o a para atualizar drivers ou testar conguraes do kernel, porque eles podem ser carregados e co descarregados sem reiniciar. MOTD Mensagem do dia (Message Of The Day). O motd (armazenado no Linux em /etc/motd ) um arquivo de texto que exibido a todos usurios durante seu registro no sistema (login). e e a Tradicionalmente, utilizado pelo administrador de sistemas como um quadro de avisos para e se comunicar com os usurios. a

162

CAP ITULO 20. GLOSSARIO

Motif Um conjunto de ferramentas de programao popularmente utilizado em muitos programas ca X antigos. NFS O sistema de arquivo de rede (Network FileSystem). NFS permite montar sistemas de arquivos remotos como se fossem locais, provendo assim, um mtodo transparente de compare tilhamento de arquivos. N de Dispositivo (Device Node) o Um tipo de arquivo especial no sistema de arquivos /dev que representa um componente de hardware para o sistema operacional. Nome de dom nio O nome DNS de um computador, excluindo seu hostname. N cleo (Kernel) u O corao do sistema operacional. O ncleo a parte que prov controle bsico de processos ca u e e a e interfaces com o hardware do computador. Octal Sistema de nmeros de Base-8, com d u gitos de 0-7. Pacote de programas Um programa e os arquivos a ele associados, empacotados e comprimidos em um unico arquivo, junto com os scripts ou informaes necessrias para ajudar no gerenciamento da co a instalao, atualizao e remoo destes arquivos. ca ca ca Pacote de senhas Shadow O pacote de senhas shadow permite que senhas criptografadas sejam escondidas dos usurios, a enquanto o resto das informaes do arquivo /etc/passwd permanecem vis co veis para todos. Isto ajuda a prevenir ataques de brute-force para quebrar senhas. Pager Um programa grco (X) que permite aos usurios visualisar e alternar entre vrias reas a a a a de trabalho. Partio ca Uma diviso do disco r a gido. Sistemas de arquivos residem sobre as parties. co Ponto de montagem Um diretrio vazio em um sistema de arquivos onde um outro sistema de arquivos pode ser o montado ou anexado. PPP Protocolo Ponto-a-Ponto (Point-to-Point Protocol). PPP utilizado principalmente para e conectar, via modem, a um provedor de servios de Internet (ISP - Internet Service Provider). c Primeiro plano Um programa que aceita entrada de um terminal dito que est sendo executado em primeiro e a plano. Processo Um programa em execuo. ca Processo suspenso Um processo que foi congelado at que seja morto ou reiniciado. e Programa wrapper Um programa cuja a unica nalidade executar outros programas, mas que as vezes muda e seu comportamento alterando seus ambientes ou ltrando sua entrada. Runlevel O estado geral do sistema, denido pelo init. Runlevel 6 signica re niciar o computador (reboot), runlevel 1 o modo monousurio, runlevel 4 o login em modo grco, etc. Existem e a e a 6 runlevels dispon veis em um sistema Slackware. Sa padro (stdout) da a

163

A sa padro de informaes no Unix. Textos normais de sa so reportados na stdout, da a co da a que separada das mensagens de erro, reportadas na stderr, e podem ser concatenadas ou e redirecionadas para a stdin de outros programas ou para um arquivo. Sa padro de erro (stderr) da a O padro Unix para reportar erros. Os programas reportam qualquer mensagem de erro na a stderr, desta forma esta pode ser separa de uma sa normal. da Seo Man ca Pginas no padro de manuais online do Unix (man) so agrupadas em sees para facia a a co litar referncias. Todas as pginas sobre programao em C esto na seo 3, pginas sobre e a ca a ca a administrao de sistemas esto na seo 5, etc. ca a ca Segundo plano (Background) Qualquer processo que esteja executando e no aceite entradas ou controles do terminal a e dito que est sendo executado em segundo plano. a Sries de programas e Uma coleo de pacotes de softwares relacionados no Slackware. Todos os pacotes do KDE ca esto na srie kde, pacotes de rede esto na srie n, etc. a e a e Servio c O compartilhamento de informaes e/ou dados entre programas ou computadores de um co unico servidor para mltiplos clientes. HTTP, FTP, NFS, etc. so servios. u a c Servidor de nomes Um servidor de informaes DNS. Servidores de nomes traduzem nomes DNS em endereos co c IP numricos. e Servidor X Um programa no Sistema de Janelas X que faz a interface com o hardware grco e abriga a os programas grcos que esto em execuo. a a ca Shell seguro (SSH - Secure SHell) Um mtodo encriptado (assim seguro) de se conectar remotamente a um computador. Muitos e programas de shell seguro esto dispon a veis; ambos cliente e servidor so necessrios. a a Sinal Programas Unix podem comunicar uns com os outros atravs de simples sinais, os quais so e a enumerados e geralmente possuem signicados espec cos. kill -l listar os sinais dispon a veis. Sistema de arquivos Uma representao dos dados armazenados onde arquivos de dados so mantidos organizados ca a em diretrios. O sistema de arquivos a forma de representao, mais prxima da universal, o e ca o de dados armazenados em discos (tanto xos como remov veis). Sistema de janelas X Interface grca com suporte a rede usada na maioria dos sistemas operacionais Unix-like, a incluindo o Linux. SLIP Protocolo de interface de linha serial (Serial Line Interface Protocol). SLIP um protocolo e similar ao PPP e utilizado para conectar duas mquinas via interface serial. e a Sub-rede Uma faixa de endereos IP que parte de uma faixa maior. Por exemplo, 192.168.1.0 uma c e e sub-rede de 192.168.0.0 (onde 0 uma mascara indenida); , na verdade, a sub-rede .1. e e Superbloco No Linux as parties so denidas em blocos. Um bloco possui 512 bytes. O superbloco co a so os primeiros 512 bytes de uma partio. a ca Tabela de roteamento Um conjunto de informaes que o kernel utiliza para rotear dados ao redor da rede. Possui co informaes como: onde est o seu gateway default, qual interface de rede est conectada a co a a determinada rede, etc. Tagle

164

CAP ITULO 20. GLOSSARIO

Um arquivo usado pelo programa de congurao (setup) do Slackware durante a instalao, ca ca o qual descreve um conjunto de pacotes a serem instalados. Terminal Uma interface homem-mquina que consiste de pelo menos uma tela (ou tela virtual) e de a algum mtodo de entrada de dados (geralmente um teclado). e Terminal virtual O uso de programas para simular mltiplos terminais enquanto utiliza um simples conjunto u de dispositivos de entrada/sa (teclado, monitor, mouse). Um conjunto especial de teclas, ao da serem pressionadas, alterna entre os terminais virtuais a partir de um unico terminal f sico. UID Identicador de usurio (User IDentier). Um nmero unico que identica um usurio no a u a sistema. UIDs so usados pela maioria dos programas ao invs dos nomes de usurio, uma a e a vez que nmeros so mais fceis de manejar; nomes de usurio geralmente so usados somente u a a a a quando o usurio precisa ver as coisas acontecendo. a Varivel de ambiente a Uma varivel congurada no shell do usurio que pode ser referenciada pelo usurio ou a a a por programas executados por este usurio nesta shell. Variveis de ambiente so geralmente a a a utilizadas para armazenar preferncias e parmetros padro. e a a VESA Associao de padres eletrnicos de video (Video Electronics Standards Association). O ca o o termo VESA geralmente usado para denotar um padro especicado por esta associao. e a ca Atualmente todos os adaptadores de v deo modernos so compat a veis com VESA.

Cap tulo 21

The GNU General Public License


GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

21.1

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free softwareto make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundations software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) oer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each authors protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modied by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reect on the original authors reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in eect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyones free use or not licensed at all. The precise terms and conditions for copying, distribution and modication follow.

21.2

TERMS AND CONDITIONS


165

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

166

CAP ITULO 21. THE GNU GENERAL PUBLIC LICENSE

This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The Program, below, refers to any such program or work, and a work based on the Programmeans either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modications and/or translated into another language. (Hereinafter, translation is included without limitation in the term modication.) Each licensee is addressed as you. Activities other than copying, distribution and modication are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. You may copy and distribute verbatim copies of the Programs source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option oer warranty protection in exchange for a fee. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modications or work under the terms of Section 1 above, provided that you also meet all of these conditions: You must cause the modied les to carry prominent notices stating that you changed the les and the date of any change. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. If the modied program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modied work as a whole. If identiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

21.2. TERMS AND CONDITIONS

167

You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, Accompany it with a written oer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, Accompany it with the information you received as to the oer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an oer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface denition les, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by oering access to copy from a designated place, then oering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. - You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. - Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. - If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License

168

CAP ITULO 21. THE GNU GENERAL PUBLIC LICENSE

and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. - The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may dier in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program species a version number of this License which applies to it and any later version, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are dierent, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AS ISWITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

21.3. HOW TO APPLY THESE TERMS TO YOUR NEW PROGRAMS

169

OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS

21.3

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source le to most eectively convey the exclusion of warranty; and each le should have at least the copyrightline and a pointer to where the full notice is found. //<one line to give the programs name and a brief idea of what it does.> Copyright (C) <year> <name of author> // This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA// Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type show w. This is free software, and you are welcome to redistribute it under certain conditions; type show c for details. The hypothetical commands show w and show c should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than show w and show c; they could even be mouse-clicks or menu itemswhatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a copyright disclaimerfor the program, if necessary. Here is a sample; alter the names:

170

CAP ITULO 21. THE GNU GENERAL PUBLIC LICENSE

Yoyodyne, Inc., hereby disclaims all copyright interest in the program Gnomovision (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

Cap tulo 22

Contributing Authors
Author David Cantrell Alan Hicks Logan Johnson Keith Keller Joost Kremers Chris Lumens Jurgen Philippaerts David G. Sizemore Murray Stokely Simon Williams Contribution Co-author of rst edition. Project Organizer, lead author of second edition. Co-author of rst edition. Wrote the wireless networking section. Contributed the Emacs chapter. Co-author of rst edition. Updated the Basic Networking Commands chapter. Updated the Introduction Wrote the Preface, index, and prepared the book for print publication Contributed the Emacs chapter.

22.1

Contribuidores para o Portugus do Brasil e


Traduo ca Traduo ca Reviso a Traduo ca Traduo ca Traduo ca Traduo ca Traduo ca Compilao ca Traduo ca Traduo ca Traduo ca Traduo ca Reviso a Reviso a Repositrio SVN o Reviso a Reviso a Reviso a Reviso a Reviso a Reviso a Reviso a Reviso a Reviso a Site Site

Diogo Leal (estranho) Bruno T. Russo (BrunoRusso) Ellington Santos Artur Souza (MoRpHeUz) Thiago Diniz Jos Luiz Moquenco de Figueiredo (zecag) e Waldemar Silva Jnior (wsjunior) u Joo Carlos de Oliveira Coutinho (BitDesigner) a Raphael Bastos (ChemonZ) Gabriel Favaro Rodrigo Amorim Ferreira Tiago T3 Neumar Malheiros Gabriel Marrocos Magalhes (Manda Chuva) a Ariel Jairo Lucas Frederico

Agradecemos muito a todos que contribuiram, fazendo com que este projeto fosse poss vel

171

You might also like