You are on page 1of 179

Slackware Linux Essentials O Guia Ocial do Slackware Linux

Projeto de tradu c ao do Slackbook para Portugu es do Brasil Slackbookptbr - http://slackbookptbr.sf.net Vers ao: 1.0.2

ii Slackware Linux Essentials Segunda Edi c ao Publica c ao: Maio 2005 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.

Sum ario
1 Uma Introdu c ao ao Slackware Linux 1.1 O que e o Linux ? . . . . . . . . . . 1.2 Uma palavrinha sobre GNU . . . . . 1.3 O que e o Slackware? . . . . . . . . . 1.4 C odigo Aberto e Software Livre . . . 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 diret orio /usr/doc/ . . . . . . . . HOWTOs e mini-HOWTOs . . . . . Online . . . . . . . . . . . . . . . . . O Site Ocial e os F orums de Ajuda Suporte por E-mail . . . . . . . . . . Sites n ao-ociais e F oruns de ajuda .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

3 Instala c ao 3.1 Obtendo o Slackware . . . . . . . . . 3.1.1 A caixa com os discos Ociais 3.1.2 Atrav es da Internet . . . . . 3.2 Requisitos para Instala c ao . . . . . . 3.2.1 As S eries do Software . . . . 3.2.2 M etodos de Instala c ao . . . . 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 Congura c ao do Sistema 4.1 Vis ao Geral do Sistema . . . . . . . . . . . . . . . . . 4.1.1 Layout do Sistema de Arquivos . . . . . . . . . 4.1.2 Encontrando Arquivos . . . . . . . . . . . . . . 4.1.3 O Diret orio /etc/rc.d/ . . . . . . . . . . . . . . 4.2 Selecionando um Kernel . . . . . . . . . . . . . . . . . 4.2.1 O diret orio /kernels no CD-ROM do Slackware 4.2.2 Compilando um Kernel a partir do c odigo-fonte 4.2.3 Utilizando os M odulos do Kernel . . . . . . . . iii

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

iv 5 Congura c ao de Rede 5.1 Introdu c ao: netcong e seu amigo. . . . . . . . . . . . . . . . . 5.2 Congura c ao do Hardware de Rede . . . . . . . . . . . . . . . . 5.2.1 Carregando os M odulos de Rede . . . . . . . . . . . . . 5.2.2 Placas de Rede Local (10/100/1000Base-T and Base-2) 5.2.3 Modems . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Congura c ao TCP/IP . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 IP Est atico . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 pppsetup . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Suporte ao Hardware . . . . . . . . . . . . . . . . . . . . 5.5.2 Congura c ao da rede sem o . . . . . . . . . . . . . . . 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 Congurara c ao 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 Usu arios . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Entrando no Sistema . . . . . . . . . . . . . . . . . . 8.1.2 Root: O Super Usu ario . . . . . . . . . . . . . . . . 8.2 A Linha de Comando . . . . . . . . . . . . . . . . . . . . . 8.2.1 Executando Programas . . . . . . . . . . . . . . . . 8.2.2 Substitui c ao de Meta-Caracteres . . . . . . . . . . . 8.2.3 Redirecionamento de Entrada e Sa da e Uso do Pipe 8.3 O Bourne Again Shell (bash) . . . . . . . . . . . . . . . . . 8.3.1 Vari aveis de Ambiente . . . . . . . . . . . . . . . . . 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 Permiss oes . . . . . . . 9.3 Links . . . . . . . . . . 9.4 Montando Dispositivos 9.5 Montagem NFS . . . . Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

10 Manipulando arquivos e diret orios 10.1 Navega c ao: ls, cd, e pwd . . . . . . 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 da Simples: cat e echo . 10.3.1 cat . . . . . . . . . . 10.3.2 echo . . . . . . . . . Cria c ao: touch e mkdir . . . 10.4.1 touch . . . . . . . . 10.4.2 mkdir . . . . . . . . Copiar e mover . . . . . . . 10.5.1 cp . . . . . . . . . . 10.5.2 mv . . . . . . . . . . Exclus ao: rm e rmdir . . . . 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 Administra c ao de Sistema 12.1 Usu arios e Grupos . . . . . . . . . . . . . . 12.1.1 Scripts fornecidos . . . . . . . . . . . 12.1.2 Mudando senhas . . . . . . . . . . . 12.1.3 Mudando a Informa c ao do Usu ario . 12.2 Usu arios e Grupos, o modo dif cil . . . . . . 12.3 Desligando o sistema apropriadamente . . . 13 Comandos de rede b asicos 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 Seguran ca 14.1 Desabilitando Servi cos . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.1 Servi cos iniciados com o inetd . . . . . . . . . . . . . . . . . 14.1.2 Servi cos iniciados pelos scripts de inicializa c ao (init scripts) 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 diret orio /patches . . . . . . . . . . . . . . . . . . . . . . 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 inser c ao . 16.3 Abrindo Arquivos . . . . . 16.4 Salvando Arquivos . . . . 16.5 Encerrando o vi . . . . . . 16.6 Congura c ao do vi . . . . 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 Edi c ao B asica . . . . . . . . 17.5 Salvando Arquivos . . . . . 17.5.1 Saindo do Emacs . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

18 Gerenciamento de Pacotes do Slackware 18.1 Vis ao Geral do Formato de um Pacote . . . 18.2 Utilit arios de Pacotes . . . . . . . . . . . . . 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 congura c ao) 19 ZipSlack 19.1 O que e o ZipSlack? 19.1.1 Vantagens . . 19.1.2 Desvantagens 19.2 Obtendo o ZipSlack 19.2.1 Instala c ao . . 19.3 Bootando o ZipSlack 20 Gloss ario

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

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 Portugu es do Brasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

viii

SUMARIO

SUMARIO

Pref acio
P ublico Alvo
O sistema operacional Slackware Linux e uma poderosa plataforma baseada em computadores i386. Ele foi projetado para ser est avel, seguro e funcional como servidor, e tamb em uma poderosa esta c ao de trabalho. Este livro foi feito para que voc e comece com o sistema operacional Slackware Linux. Isto n ao siginica que iremos abordar cada detalhezinho da distribui c ao, mas mostraremos rapidamente do que ela e capaz dando o conhecimento para trabalhar com o b asico do sistema. Como voc e ganhar a experi encia com o Slackware, esperamos que voc e busque este livro para ser uma refer encia acess vel. N os tamb em esperamos que o empreste para os seus amigos quando eles vierem perguntar sobre o sistema operacional Linux que voc e est a usando. Mesmo que esse livro n ao v a fazer voc e pular de emo c ao, n os certamente tentamos faz e-lo o mais interessante poss vel. Com alguma sorte dar a um lme. Claro, n os esperamos tamb em que voc e possa aprender com ele e o ache u til. E agora, comecemos com o show.

Mudan cas da Primeira Edi c ao


Esta e a segunda edi c ao, resultado de v arios anos de trabalho duro dos membros dedicados do Projeto de Documenta c ao do Slackware. A seguir est ao as mudan cas de maior valor nesta nova edi c ao: Cap tulo 3, O cap tulo Instala c ao foi modicado com novas fotos da tela do instalador, altera c oes decorrentes no conjunto de discos, e a instala c ao a partir do CD. Cap tulo 4, O cap tulo Congura c ao do Sistema, foi atualizado com novas informa c oes sobre o Kernel 2.6.x do Linux. Cap tulo 5, O cap tulo sobre Congura c ao de Rede foi expandido, com explica c oes adicionais do Samba, NFS, e DHCP. A se c ao redes sem otamb em foi adicionada. Este cap tulo agora est a repleto de grandes mudan cas, sobre como instalar redes seguras no Slackware. 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 tamb em o gerenciador gr aco de login xdm. Cap tulo 13, O cap tulo comandos de rede b asicos, foi real cado com informa c oes sobre utilit arios de redes adicionais. Cap tulo 14, Seguran ca, e um novo cap tulo desta edi c ao. Ele explica como manter um sistema Slackware Linux seguro. Cap tulo 17, Emacs, e um novo cap tulo desta edi c ao. Ele descreve como usar o Emacs, um editor poderoso para Unix. Cap tulo 18, O cap tulo Ger enciamento de Pacotes, foi atualizado com informa c oes sobre scripts do SlackBuild. Existem ainda muitas outras mudan cas, de menor e maior import ancia, que reetem as mudan cas de como o Slackware amadureceu.

Organiza c ao deste Livro


Cap tulo 1, Introdu c ao Fornece um material introdut orio sobre o Slackware Linux, e os Movimentos de Software Livre e C odigo Aberto. Cap tulo 2, Ajuda Descreve os recursos de ajuda dispon veis no sistema Slackware Linux e na internet. Cap tulo 3, Instala c ao

SUMARIO Descreve o processo de instala c ao passo-a-passo com fotos de tela para lhe mostrar como faz e-la por meio de ilustra co es. Cap tulo 4, Congura c ao do Sistema Descreve os importantes arquivos de congura c ao e fala sobre a recompila c ao do kernel. Cap tulo 5, Congura c ao da Rede Descreve como conectar uma m aquina Slackware Linux ` a rede. Fala sobre TCP/IP, PPP/dial-up, rede wireless, e muito mais. Cap tulo 6, O Sistema de Janelas X Descreve como instalar o Sistema gr aco de Janelas X no Slackware. Cap tulo 7, Inicializa c ao Descreve o processo pelo qual o computador inicia no Slackware Linux. Fala tamb em sobre a dupla inicializa c ao com o sistema operacional Microsoft Windows. 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, permiss oes, e liga c oes simb olicas(links). Cap tulo 10, Manipulando Arquivos e Diret orios Descreve os comandos usados para manipular arquivos e diret orios atrav es da interface de linha de comando. Cap tulo 11, Controle de Processos Descreve os poderosos comandos de ger enciamento de processos do Slackware, usados para gerenciar aplicativos sendo executados paralelamente. Cap tulo 12, Fundamentos para Administra c ao do Sistema Descreve a administra c ao b asica de tarefas do sistema como adicionar e remover usu arios, desligar o sistema corretamente e muito mais. Cap tulo 13, Comandos B asicos de Rede Descreve a cole c ao de clientes de rede inclu dos no Slackware. Cap tulo 14, Seguran ca Descreve v arias ferramentas diferentes dispon veis para ajud a-lo a manter seguro seu sistema Slackware, incluindo iptables e tcpwrappers. Cap tulo 15, Arquivos Compactados Descreve compress oes diferentes e utilidades de arquivos dispon 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 utilit arios de empacotamento do Slackware e o processo usado para criar pacotes padronizados e tagles. Cap tulo 19, ZipSlack Descreve a vers ao ZipSlack do Linux que pode ser usada a partir do Windows sem precisar instal a-la. Appendix A, Licen ca P ublica Geral GNU Descreve os termos de licen ca sob os quais o Linux Slackware e este livro podem ser copiados e distribu dos.

SUMARIO

Conven c oes usadas neste livro


Para fornecer uma consistente e f acil leitura do texto, diversas conven c oes foram seguidas durante todo o livro. Conven c oes Tipogr acas It alico - Fontes em it alico s ao usada para comandos, texto enfatizado, e os termos t ecnicos de primeiro uso. Negrito Uma fonte em negrito e usada para entrada de dados do usu ario nos exemplos.

Entrada do Usu ario


Teclas s ao mostradas em negrito para se destacarem de outros textos. Combina c oes de teclas que possuem certo objetivo por serem digitadas simultaneamente, s ao mostradas com + entre as teclas, como: Ctrl + Alt + Del Desse modo o usu ario deve digitar as teclas Ctrl, Alt, e Del ao mesmo tempo. Teclas que possuem certo objetivo por serem digitadas em sequ encia que ir ao ser separadas por v rgulas, por exemplo: Ctrl+X, Ctrl+S Signicaria que e esperado que o usu ario digite as teclas Ctrl e X simultaneamente e ent ao digite as teclas Ctrl e S simultaneamente.

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

Agradecimentos
Este projeto e o acumulo de meses de trabalho de muitas pessoas dedicadas. N ao seria poss vel para mim 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 se c ao Emacs, Simon Williams por seu cap tulo sobre seguran ca, Jurgen Phillippaerts pelos comandos b asicos de rede, Cibao Cu Ali G Colibri pela inspira c ao e o ponta-p e inicial. Sem contar outros que nos enviaram sugest oes e reparos. Uma lista incompleta inclui: Jacob Anhoej, John Yast, Sally Welch, Morgan Landry, e Charlie Law. Tenho tamb em de agradecer Keith Keller por hospedar a lista de emails desse projeto, bem como Carl Inglis pela hospedagem inicial do site. Por u ltimo mas n ao menos importante, tenho que agradecer a Patrick J. Volkerding pelo Slackware, e David Cantrell, Logan Johnson, e Chris Lumens pelo Fundamentos do Slackware Linux 1a Edi cao. Sem sua estrutura inicial, nada disso teria acontecido. Muitos outros contribuiram

SUMARIO

com pequenas e grandes partes desse projeto e n ao foram listadas. Espero que me perdoem por minha mem oria fraca. Alan Hicks, Maio 2005

Cap tulo 1

Uma Introdu c ao ao Slackware Linux


1.1 O que e o Linux ?

Linus Torvalds criou o Linux, o n ucleo do sistema operacional, como um projeto pessoal em 1991. Ele iniciou o projeto porque procurava rodar um sistema operacional baseado em Unix mas n ao possuia muito dinheiro. al em disso, Ele procurava aprender sobre a arquitetura do processador 386. O Linux e liberado livre de cobran ca para o p ublico assim qualquer pessoa pode ajudar estudando-o e fazendo melhorias sobre a licen ca p ublica geral. odigo Aberto e Software Livre e Ap endice A para uma explica c ao da licen ca.) Hoje o linux cresceu como (veja C 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 (atrav es Apple Macintosh e computadores IBM RS/6000.) centenas, se n ao milhares, de programadores em todo o mundo desenvolve o Linux. Ele roda programas como Sendmail, Apache, e BIND, que s ao softwares importante lembrar que o termo Linux realmente se bastante populares usado em servidores de internet. E refere ao kernel - o n ucleo do sistema operacional. Este n ucleo e respons avel por controlar o processador do seu computador, mem oria, discos r gidos e perif ericos. Aquilo tudo e realmente o Linux: Controla as opera c oes do seu computador e certica-se de que todos os seus programas se comportam. Existem v arias companhias e indiv duos que empacotam o kernel e v arios programas juntos para fazer um sistema operacional. N os chamamos cada pacote de uma distribui c ao Linux.

1.2

Uma palavrinha sobre GNU

O projeto do Kernel Linux come cou com um esfor co pessoal de Linus Torvalds em 1991, mas como Isaac Newton disse uma vez,Se consegui enxergar mais longe, e porque estava apoiado sobre ombros de gigantes. Quando Linus Torvalds criou o Kernel a Free Software Foundation tinha estabelecido j a a id eia do software colaborativo. Intitularam seu esfor co GNU, um acr onimo recursivo que signica simplesmente GNUs Not Unix. 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 est ao ainda na base de cada distribui c ao principal do Linux. Por esta raz ao muitos dos membros da Free Software Foundation sugerem fervorosamente que seu trabalho deve ser dado o mesmo cr edito que o kernel Linux e ainda que todas as distribui c oes de Linux devem se referir a ele como distribui c oes de GNU/Linux. O prexo GNUem GNU/Linux e o tema de in umeras amewars; s o a guerra santa entre Emacs e vi gera mais brigas. O objetivo deste livro n ao e alimentar as chamas da discuss ao, e sim esclarecer a terminologia para os ne oto. Quando vemos GNU/Linuxisso quer dizer uma distribui c ao Linux; quando vemos Linuxo termo pode estar se referindo tanto ao kernel quanto ` a distribui c ao inteira, o que pode ser um pouco confuso; e o termo GNU/Linuxmuitas vezes n ao e usado por ser longo demais.

1.3

O que e o Slackware?

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

AO SLACKWARE LINUX CAP ITULO 1. UMA INTRODUC AO

Eventualmente, decidiu juntar todos estes bugxes em sua pr opria distribui c ao privada que ele e seus amigos poderiam usar. Esta distribui c ao privada ganhou rapidamente a popularidade, assim que Volkerding decidiu nome a-lo para Slackware e distribui-lo publicamente. Ao longo, Patrick adicionou coisas novas ao Slackware; um programa de instala c ao amig avel para o usu ario e baseado em um sistema de menu, tamb em com o conceito de ger enciamento de pacote, na qual permite que os usu arios facilmente adicionem, removam ou atualizem um programa ou o seu sistema inteiro. H a muitas raz oes porque o Slackware e a distribui c ao Linux mais antiga em atividade. N ao tenta imitar o Windows, tenta ser o mais similar ao Unix poss vel. Ele n ao esconde seus processos atr as de uma interface gr aca de apontar e clicar; ao inv es disso ele p oe os usu arios no controle e mostra para eles exatamente o que est a acontecendo. Seu desenvolvimento n ao e acelerado articialmente para cumprir prazos - cada vers ao s o e lan cada quando realmente est a pronta. O Slackware e para as pessoas que gostam de aprender e fazer com o sistema exatamente o que quer. O que permite que o Slackware ser a usado por v arios anos e a sua simplicidade e estabilidade. O Slackware atualmente possui uma reputa c ao de um servidor est avel e uma r apida esta c ao de trabalho, Voc e poder a encontrar desktops com Slackware funcionando quase todos com um gerenciador de janelas ou com ambiente de trabalho, ou sem nenhum. Os Servidores Slackware aumentam os neg ocios, aumentando a capacidade para os usu arios do servidor, Os usu arios de Slackware s ao entre todos usu arios os mais satisfeitos com o Linux. Naturalmente, n os dir amos isso. :)

1.4

C odigo Aberto e Software Livre

Dentro da comunidade Linux, existem dois principais movimentos ideol ogicos em atividade. O movimento de Software livre (n os come caremos em instantes) que est a trabalhando com o objetivo de fazer todo o software livre das restri c oes da propriedade intelectual. Os seguidores deste movimento acreditam que as restri coes impedem as melhorias tecnicas e o trabalho contr ario ao bem da comunidade. O movimento de c odigo aberto est a trabalhando praticamente com os mesmos objetivos, mas tomadas uma aproxima c ao mais pragm atica a elas. Os seguidores deste movimento preferem basear seus argumentos nos m eritos econ omicos e t ecnicos de fazer o c odigo fonte livremente dispon vel, melhor que os princ pios morais e eticos que dirigem o movimento de Software Livre, No extremo oposto da vis ao est ao os grupos que desejam manter um controle em exesso sobre seus softwares. O movimento de software livre e dirigido pela Free Software Foundation, uma organiza c ao de levantamento de fundos para o projeto GNU. O software livre e mais que uma ideologia. A express ao usada com frequ encia e livre como um discurso, mas n ao como cerveja gr atis. Essencialmente, o software livre e uma tentativa de garantir determinados direitos para os usu arios e desenvolvedores. Esta liberdade incluem a liberdade para executar o programa sem uma raz ao, para estudar e modicar o c odigo fonte, para redistribuir o c odigo fonte e para compartilhar de quaisquer modica c oes que voc e zer. A m de garantir esta liberdade, a licen ca p ublica 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 tamb em fornecer o c odigo fonte, e e livre para fazer modicac oes no programa e aquelas modica c oes feitas tamb em estar ao dispon veis na forma de c odigo fonte. Isto garante que uma vez que um programa e aberto ` a comunidade, n ao pode ser fechado exceto pelo consentimento de cada autor de cada parte do c odigo (mesmo as modica c oes) dentro dele. A maioria dos programas para o Linux est ao licenciados sob a GPL. importante notar que a GPL n E ao diz qualquer coisa sobre o pre co. T ao mpar como pode soar, voc e pode cobrar pelo software livre. A parte livre est a na liberdade que voc e tem com o c odigo fonte, n ao no pre co que voc e paga pelo software. (entretanto, uma vez que algu em o vendeu, ou tenha dado um programa compilado licenciado sob a GPL s ao obrigados a fornecer tamb em o c odigo fonte.) Outra licen ca popular e a licen ca BSD. Em contraste com a GPL, a licen ca BSD n ao imp oe nenhuma exig encia para a libera c ao do c odigo fonte de um programa. Os Softwares lan cado sobre a licen ca BSD permitem redistribuir em c odigo fonte ou em bin ario uma forma de providenciar apenas algumas condi c oes. O cr edito do autor n ao pode ser usados como um car ater de propaganda para o programa. Imuniza tamb em o autor da responsabilidade para os danos que podem se levados pelo uso do software. Muito dos softwares inclu do no Slackware Linux s ao licenciados pela BSD. Na linha de frente do jovem movimento de c odigo aberto, A OSI e uma organiza c ao que existe unicamente para avan car a sustenta c ao para o software de c odigo aberto, isto e, o software ter o c odigo aberto disponivel

1.4. CODIGO ABERTO E SOFTWARE LIVRE

perfeitamente para ler e executar o programa. N ao oferecem uma licen ca espec ca, mas em substitui c ao suportam os v arios tipos de licen cas de c odigos abertos. A ideia atr as da OSI e trazer mais companhias para o c odigo aberto permitindo que escrevam suas pr oprias licen cas de c odigo aberto e tenham aquelas licen cas certicadas pela Open Source Initiative. Muitas companhias querem liberar o c odigo fonte, mas n ao querem usar a GPL. Desde que n ao podem radicalmente mudar a GPL, s ao oferecidas a oportunidade de fornecer sua pr opria licen ca e de t e-la certicada por esta organiza c ao. Quando a Free Software Foundation e a Open Source Initiative trabalharem para se ajudarem, elas n ao s ao a mesma coisa. A Free Software Foundation usa uma licen ca espec ca e fornece o software sob esta licen ca, A Open Source Initiative busca dar suporte para todas a licen cas abertas, incluindo uma para a Free Software Foundation. Toda a sustenta c ao aberta das buscas da Open Source Initiative para abrir o c odigo fonte, inluindo a Free Software Foundation. As regi oes em que cada uma discute fazendo o c odigo fonte livremente dispon vel dividem ` as vezes os dois movimentos, mas o fato de que dois grupos ideologicamente diferentes est ao trabalhando para o mesmo objetivo, isso dar cr edito aos esfor cos de cada um.

AO SLACKWARE LINUX CAP ITULO 1. UMA INTRODUC AO

Cap tulo 2

Ajuda
Muitas vezes voc e precisa de ajuda para um comando espec co, para iniciar um programa, ou simplesmente saber como um hardware trabalha. Talvez voc e queira saber mais op c oes que possam ser utilizadas em um determinado comando, ou apenas vericar quais op c oes est ao dispon veis para serem utilizadas em um determinado comando. Felizmente, existem v arias maneiras de voc e obter ajuda para o que est a procurando. Quando voc e instala o Slackware voc e tem a op c ao de instalar os pacotes da s erie F que inclui FAQs e HOWTOs. Alguns programas tamb em possuem ajuda sobre outras op c oes, arquivos de congura c ao e uso.

2.1
2.1.1

Ajuda do Sistema
man

O comando man (abrevia c ao de manual ) e a forma tradicional de documenta c ao online dos sistemas operacionais Unix e Linux. Composto de Linhas formatadas especialmente, as man page, s ao escritas para a grande maioria dos programas e s ao distribu das com o pr oprio software. Executando man comando ser a mostrada a man page para o programa especicado, em nosso exemplo esse seria o comando imagin ario comando. Voc e deve imaginar a grande quantidade de p aginas de manual que podem ser rapidamente criadas, tornariase confuso e complicado at e mesmo para um usu ario avan cado. Devido a isso, ` as p aginas de manual s ao divididas em se c oes numeradas. Este sistema esteve dispon vel por um longo tempo; voc e ver a bastante comandos, programas e refer encias de fun c oes de bibliotecas refer enciadas pelo n umero da se c ao do man. Por exemplo: Voc e pode fazer uma refer encia ao man (1). O n umero especica que a man e documentada na se c ao 1 (comandos de usu arios); voc e pode especicar que voc e quer a documenta c ao da se c ao 1 do man com o comando man 1 man. Especicar a se c ao eu til quando existe manuais em v arias se c oes com o mesmo nome. Se c ao Se c ao Se c ao Se c ao Se c ao Se c ao Se c ao Se c ao Se c ao Conte udo Comandos de usu arios (somente introdu c ao) hamadas do Sistema Chamadas de bibliotecas C Dispositivos (ex., hd, sd) Formatos de Arquivos e protocolos (ex., wtmp, /etc/passwd, nfs) Jogos (somente introdu c ao) Conven c oes, pacotes macro, etc. (ex., nro, ascii) Administra c ao do sistema (somente introdu c ao)

1 2 3 4 5 6 7 8

Em adicional ao comando man (1), existem os comandos whatis (1) e apropos (1) que est ao dispon veis para voc e, com a nalidade de encontrar uma informa c ao mais f acil no sistema. O comando whatis d a uma descri c ao muito breve dos comandos do sistema, uma esp ecie de refer encia. Exemplo: $ whatis whatis whatis (1) - search the whatis database for complete words

O comando apropos e usado para procurar a p agina de manual que cont em uma determinada palavra.. 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 informa c ao adicional para algum destes comandos, leia a p agina de manual para maiores detalhes. ;)

2.1.2

O diret orio /usr/doc/

A grande maioria dos softwares que instalamos vem com algum tipo de documenta c ao: arquivos README, instru c oes de uso, arquivos de licen ca, etc. Geralmente toda documenta cao que v em com o software e instalada no sistema no diret orio /usr/doc/. Cada programa geralmente instala sua documenta c ao na seguinte ordem: /usr/doc/$programa-$vers ao/ Onde $programa e o nome do programa que voc e est a querendo obter informa c oes, e $vers ao// e (obviamente) a vers ao do software que est a instalado em seu sistema. Por exemplo, para ler a documenta c ao do comando man (1) voc e digitaria cd no: $ cd /usr/doc/man-$vers ao/ Caso ao ler as informa c oes da p agina de manual voc e n ao encontre informa c oes apropriadas o pr oximo passo e buscar informa c oes no diret orio /usr/doc/.

2.1.3

HOWTOs e mini-HOWTOs

O verdadeiro esp rito da comunidade de C odigo Aberto cria uma grande cole c ao de HOWTO/mini-HOWTO. Esses arquivos s ao exatamente - documentos e guias descrevendo como deve ser feito algo. Caso voc e decida instalar os HOWTO, eles ser ao instalados no diret orio /usr/doc/Linux-HOWTOs/ e os mini-HOWTOs em /usr/doc/Linux-mini-HOWTOs/. A mesma s erie de pacotes inclui uma cole c ao de pacotes de FAQs, que e uma abrevia c ao para Frequently Asked Questions (em portugu es seria Perguntas mais Frequentes) Estes documentos s ao escritos no estilo de Perguntas e Respostas. Os FAQs podem ser muito u til quando se procura algo onde se queira ter respostas r apidas para algo. Caso voc e decida instalar os FAQs durante a instala c ao, voc e os encontrar a instalados do diret otio /usr/doc/Linux-FAQs/. Esses arquivos s ao muito u teis quando voc e est a com alguma d uvida e n ao sabe como resolver o problema. Cobrem uma grande variedade de assuntos, mas n ao cobrem os assuntos de maneira detalhada. Bom material!

2.2

Ajuda Online

Al em da documenta c ao que e fornecida com a instala c ao do Sistema Operacional Slackware Linux, existe uma grande variedade de documenta c ao dispon vel que voc e pode obter para aprender.

2.2.1

O Site Ocial e os F orums de Ajuda

Site Ocial do Slackware O site Ocial do Slackware Linux algumas vezes ca desatualizado, mas cont em uma grande variedade de informa c oes importantes sobre as u ltimas vers oes do Slackware. Existia um f orum ativo de ajuda. Por em manter o f orum come cou a dar muito trabalho, ent ao o Pat cancelou o f orum. os o Pode-se encontrar algumas informa c oes antigas desse f orum em www.userlocal.com/phorum. Ap cancelamento do f orum do slackware no site www.slackware.com, diversos outros sites ofereceram-se para orum possuir o f orum para Slackware, ent ao o Pat endossou o www.linuxquestions.org como sendo o f 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 e oferecido suporte livre via e-mail pelo desenvolvedor. Por favor, isso que est a sendo dito, deve ser mantido entre os colaboradores (e a grande maioria dos usu arios) do Slackware A velha escola. Isso signica que n os preferimos ajudar ` aqueles que t em um interesse sincero e est ao dispostos a ajudar no processo. N os faremos sempre o melhor para ajudar quem nos envia um e-mail. Entretanto, Por favor verique a documenta c ao e o site (especialmente os FAQs e talvez algum f orum listado abaixo) antes de enviar um e-mail. Voc e pode iniciar sua busca nas respostas simples, seria menos e-mail que ter amos que responder, obviamente n os ajudamos de uma forma melhor ` aqueles que precisam de nossa ajuda. O endere co de e-mail para suporte t ecnico e: support@slackware.com. Outros endere cos de e-mail e informa c oes de contato s ao listados no site ocial.

Lista de E-mail do Projeto Slackware Linux Existem algumas listas de e-mail dispon veis em forma de sum ario ou formul ario normal. Verique as instru c oes para saber como se inscrever. 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 descri c ao das listas est 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 e utilizada para anunciar novas vers oes, principais atualiza c oes e outras informa c oes em geral. slackware-security A lista de e-mail slackware-security informa assuntos relacionados ` a seguran ca. Exploits e outras vulnerabilidades que perten cam diretamente ao Slackware s ao postadas na lista imediatamente. As listas est ao disponiveis no formato de sum ario. Isto e, ao inv es de voc e receber v arias mensagens durante o dia, voc e receber a apenas uma mensagem com todo o conte udo criado no dia. A lista de e-mail do Slackware n ao permite que usu arios postem mensagem, e as listas possuem um tr afego baixo, muitos usu arios encontram pouca vantagem em receber o sum ario da lista. Caso voc e queira, ainda est ao dispon veis para inscri c ao a lista slackware-announce-digest ou slackware-security-digest. 2.2.3 Sites n ao-ociais e F oruns de ajuda

Sites Google (www.google.com) O mestre do Kung-Fu para sites de busca. Absolutamente voc e, encontra as u ltimas informa c oes sobre o kernel com o t tulo: N ao aceite substitutos. Google:Linux (www.google.com/linux) Procura especicamente por Linux Google:BSD (www.google.com/bsd) Procura especicamente por BSD. Slackware tamb em e um sistema operacional gen erico, assim como o Unix funciona, por isso, voc e tamb em pode encontrar muitas informa c oes sobre Slackware. Muitas vezes uma busca, em BSD, pode trazer informa c oes t ecnicas relacionadas com o Linux. Google:Groups (groups.google.com)

12

CAP ITULO 2. AJUDA

Busca por informa c oes nas mensagens de d ecadas da Usenet. userlocal Um tesouro virtual de conhecimento, bom conselheiro, experi encias em primeira m ao e artigos interessantes. O primeiro lugar que voc e ouvir a com freq u encia sobre o desenvolvimento de Slackware no mundo. Recursos Web linuxquestions.org O f orum ocial de usu arios de Slackware. F orum Slackware 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 usu arios (NNTP) A USENET tem sido por muito tempo o lugar onde os geeks 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, (n ao confunda com a AOL! ) e um dos lugares mais ativos para encontrar ajuda sobre problemas com o Slackware. Como cada grupo, alguns participam (ativamente) com experi encia pelo fato de ajudar bastante. Aprenda a ignorar trolls e identique ajuda de pessoas que realmente utilizam esse recurso.

Cap tulo 3

Instala c ao
Antes que voc e possa usar o Slackware Linux, ser a necess ario voc e obt e-lo e instal a-lo. Obter o Slackware e f acil, voc e pode compra-lo ou efetuar o download gratu to atrav es da Internet. A instala c ao tamb em e muito f acil, desde que voc e tenha conhecimento b asico sobre seu computador e esteja disposto a aprender algumas coisas. O programa de instala c ao o conduzir a passo-a-passo. Devido ao programa de instala c ao voc e instalar a rapidamente o sistema. O fato e que o Slackware possui um programa de instala c ao mais r apido em rela c ao ` a qualquer outra distribui c ao Linux.

3.1
3.1.1

Obtendo o Slackware
A caixa com os discos Ociais

O conjunto de CDs ocial do Slackware Linux CD est a dispon vel na Slackware Linux, Inc. O jogo consiste em 4 discos. O primeiro disco cont em todo o software necess arios para um sistema b asico e o gerenciados de janelas X. O segundo CD e um disco adicional; isto e, um CD boot avel que instala na RAM uma instala c ao provis oria, caso seja necess ario efetuar uma manuten c ao de reparo na m aquina. Este CD possui alguns pacotes, tais como os ambientes gr acos KDE e GNOME. Alguns pacotes novos s ao inclusos no segundo CD incluindo a s erie de pacotes extra, que s ao pacotes n ao essenciais ao sistema. O terceiro e o quarto CD inclui todos os c odigos fontes de todos os programas do Slackware, junto com a edi c ao original desse livro. Tamb em e poss vel comprar um kit contendo os 4 discos e uma c opia deste Livro, dessa forma voc e poder a se exibir como um verdadeiro geek. A compra dos CDs est ao dispon veis a um custo bem acess vel. A maneira preferida para a compra desses produtos e na loja ocial do Slackware. http://store.slackware.com Voc e tamb em pode solicitar informa c oes por e-mail.

Informa co es de Contato na Slackware Linux, Inc. 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. INSTALAC AO

3.1.2

Atrav es da Internet

Slackware Linux est a totalmente Livre na Internet. Voc e pode enviar suas perguntas por email, mas a prioridade ser a` as perguntas referentes ` a compras do kit ocial. Como dito anteriormente, n os recebemos muitos e-mails, e o tempo e muito limitado para poder atender a todos. Antes de enviar um e-mail para suporte primeiramente leia a ajuda. O site ocial do Projeto Slackware Linux Project e o endere co: http://www.slackware.com/ A localiza c ao do FTP prim ario para o Slackware Linux e: ftp://ftp.slackware.com/pub/slackware/ O ftp dispon vel no site, est a aberto para uso geral, n ao existe limite de banda. Mas por favor, considere a op c ao de utilizar um mirror mais pr oximo ` a voc e para efetuar o download do Slackware. A lista completa dos mirros podem ser encontradas no site http://www.slackware.com/getslack.

3.2

Requisitos para Instala c ao

Uma instala c ao m nima do Slackware, necessita da seguinte congura c ao: Hardware Processador Mem oria Espa co em Disco Drive de CD Necess ario 586 32 MB RAM 1GB 4x CD-ROM

claro que se Caso voc e tenha um CD boot avel, voc e n ao ir a precisar de um disquete. E voc e n ao possuir uma unidade de CD-ROM, voc e precisar a de um disquete e uma unidade de disquete para fazer a instala c ao via NFS atrav es de uma rede. Al em disso tamb em e necess ario uma placa de rede para esse tipo de instala c ao. Para maiores informa c oes consulte a se c ao NFS. O espa co em disco necess ario, e um pouco complicado especicar. O espa co recomendado para uma instala c ao m nima e de 1GB, mas caso voc e fa ca uma instala c ao completa voc e ir a precisar cerca de 2Gb de espa co em disco e mais um espa co para armazenar seus arquivos pessoais. A maioria dos usu arios n ao fazem a instala c ao completa. O fato e que muitos usu arios instalam o Slackware em um disco realmente pequeno com 100Mb de espa co. O Slackware pode ser instalado em sistemas com pouca mem oria RAM, discos r gidos pequenos e CPUs com pouco poder de processamento, por em isso necesita de um pouco de trabalho. Se este for o seu caso, leia o arquivo LOWMEM.TXT localizado na arvore da distibui c ao, para obter algumas dicas u teis.

3.2.1

As S eries do Software

Por raz oes de simplicidade, os softwares (pacotes) que acompanham o Slackware s ao divididos em s eries. Essas s eries s ao chamadas de conjunto de discos devido terem sido planejadas para a instala c ao do sistema atrav es de disquetes, por em hoje essas s eries s ao usadas basicamente para categorizar os pacotes incluso no Slackware. Hoje n ao e mais poss vel fazer a instala c ao apenas com disquetes.

3.2. REQUISITOS PARA INSTALAC AO

15

A seguir voc e encontra uma breve descri c ao de cada s erie de pacotes. S erie dos Pacotes

S erie Conte udo A Base do Sistema. Cont em uma grande parte dos softwares utilizados para se ter um sistema AP Diversos aplicativos que n ao necessitam de um Servidor X. D Ferramentas de desenvolvimento de programas. Compiladores, debugadores, interpretadores E GNU Emacs. F FAQs, HOWTOs e outros tipos de documenta c ao. GNOME O ambiente gr aco GNOME. K O c odigo fonte do kernel do Linux. KDE O ambiente gr aco K. Um ambiente gr aco que possui muitas caracter sticas visuais em com KDEI Pacotes de internacionaliza c ao para o ambiente KDE. L Bibliotecas. Bibliotecas din amicas lincadas necess arias para muitos outros programas. N Programas de Rede. Daemons, programas de e-mail, telnet, leitor de news e alguns outros. T Sistema de formata c ao de documentos teTeX. TCL Ferramenta de Linguagem de comando. Tk, TclX, e TkDesk. X Sistema base para o X Window. XAP Aplica c oes gr acas que n ao fazem parte de um ambiente de desktop principal (como por exem Y Jogos de console BSD 3.2.2 M etodos de Instala c ao

Disquete Quando era poss vel, O Slackware Linux era instalado com apenas dois disquetes, por em o tamanho dos pacotes de alguns softwares cresceram (especicamente alguns softwares) ent ao houve o abandono for cado da instala c ao via disquete. At e a vers ao 7.1, era poss vel fazer uma parte da instala c ao utilizando disquetes. As s eries A e N podiam ser totalmente instaladas, o que fornecia um sistema b asico para instalar o restante da distribui c ao. Caso voc e for utilizar um disquete para instalar (em um equipamento mais velho), e recomend avel que voc e utilize uma vers ao mais antiga. Para esse tipo de equipamento e recomendado as vers oes 4.0 (a mais popular para isso) e a 7.0 do Slackware. Observe que o disquete ainda e utilizado para realizar o boot, quando isso n ao e poss vel atrav es de uma unidade de CD-ROM, ou quando se utiliza a instala c ao via NFS. CD-ROM Se voc e tiver um CD boot avel, criado pela Slackware Linux, Inc. (veja a se c ao Obtendo o Slackware) a instala c ao car a mais f acil para voc e. Caso contr ario, voc e poder a utilizar um disquete de boot. Caso, voc e tenha um hardware espec co, um disco de boot espec co poder a ser utilizado. A partir da vers ao 8.1, um novo m etodo de cria c ao de CDs de BOOT foi adotado, que n ao trabalha com algumas BIOS (esse problema e enfrentado por todas distribui c oes Linux atualmente). Se este for o seu caso, recomendamos que voc e utilize um disquete. c ao 3.2.3 e a se c ao 3.2.5 fornecem informa c oes de como criar um disquete de boot, Veja a se caso seja necess ario. NFS

16

CAP ITULO 3. INSTALAC AO

NFS (Sistemas de Arquivos de Rede) e uma maneira de utilizar sistemas de arquivos em m aquinas remotas. A instala c ao via NFS permite que voc e instale o Slackware ` a partir de uma outra m aquina de sua rede. A m aquina que voc e estiver utilizando para a instala c ao precisa ser congurada de modo a exportar a arvore de distribui c ao do Slackwware para a m aquina que voc e est a instalando. Isto, naturalmente, requer um certo conhecimento do NFS, que e coberto na se c ao Network File System (NFS). Tamb em e poss vel executar o NFS atrav es de um m etodo como o PLIP (sobre uma porta paralela), SLIP, e PPP (exceto sobre uma conex ao via modem). Entretanto, e recomend avel que voc e utilize uma placa de rede. Apesar de tudo, instalar um sistema atrav es de uma porta paralela e algo muito lento.

3.2.3

Disco de Boot

O disco de boot e um disquete utilizado para iniciar a instala c ao. Ele cont em uma imagem compactada do Kernel que e utilizada para controlar o hardware durante a instala c ao. Ao menos que voc e esteja utilizando um CD, este disco e necess ario. Os discos de boot s ao localizados no diret orio bootdisks/ da arvore da distribui c ao. Existem diversos discos de boot que voc e pode utilizar (s ao aproximadamente 16). A lista completa dos discos de boot e a descri c ao completa de cada um s ao encontradas no arquivo bootdisks/README.TXT localizado na arvore da distribui c ao. Entretanto, a maioria das pessoas utilizam a imagem bare.i (para dispositivos IDE ou scsi.s (para dispositivos SCSI) para o boot. Veja a se c ao 3.2.3 - Disco de Boot para instru c oes de como fazer um disco de boot. Ap os o boot, um prompt de comando solicitar a que voc e insira o disco de root. 3.2.4 Disco de Root

Os discos de root cont em o programa de instala c ao e um sistema de arquivos que e utilizado durante a instala c ao. Tamb em s ao necess arios. As imagens do disco de root s ao encontradas na arvore da distribui c ao. Voc e ter a que fazer dois discos de root, install.1 e install.2. Aqui, voc e tamb em pode encontrar os discos network.dsk, pcmcia.dsk, rescue.dsk, e sbootmgr.dsk.

3.2.5

Disco Complementar

Um disco complementar e necess ario caso voc e utilize uma instala c ao via NFS ou se voc e tiver um cart ao PCMCIA. Os discos complementares s ao encontrados no diret otio ra z da arvore de distribui c ao, com os nomes network.dsk e pcmcia.dsk. Recentemente, outros discos complementares como rescue.dsk e sbootmgr.dsk foram adicionados. O disco de restaura c ao e uma imagem pequena que funciona com 4MB de RAM. Inclui alguns utilit arios b asicos de rede e o editor vi para reparos r apidos. O disco sbootmgr.dsk e utilizado para carregar outros dispositivos. Use este disco se o seu CD-ROM boot avel n ao quiser dar boot com os CDs do Slackware. Ele pedir a outras op c oes de boot e pode ser uma forma conveniente de contornar uma BIOS com bugs. O disco de root ir a instru -lo a usar discos complementares quando ele for carregado.

3.3. PARTICIONAMENTO

17

3.2.6

Criando os discos

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

3.3

Particionamento

Ap os a inicializa c ao com a sua m dia preferida, ser a necess ario particionar o seu disco r gido. A parti c ao do disco e onde o sistema de arquivos do Linux ser a criado e onde o Slackware ser a instalado. Recomendamos a cria c ao de, no m nimo, duas parti c oes; uma para o seu sistema de arquivos root (/ ) e uma para a area de troca (swap). Quando terminar o carregamento do disco de root, aparecer a um prompt de login. Entre no sistema como root (sem senha). No prompt do shell, execute cfdisk (8) ou fdisk (8). O programa cfdisk possui uma interface mais amig avel do que o programa fdisk, mas lhe faltam alguns recursos. Segue abaixo uma r apida explica c ao do programa fdisk. Comece executando o fdisk para o seu disco r gido. No Linux, em vez dos discos r gidos possu rem letras de drive, eles s ao representados por um arquivo. O primeiro disco r gido IDE (prim ario master) e /dev/hda, o prim ario slave e /dev/hdb, e assim por diante. Discos SCSI 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, n ao foi?). A primeira coisa que voc e deve fazer e examinar o seu esquema de parti c oes atual. Fa ca isso digitando p** no prompt do fdisk : Command (m for help): p Ser ao exibidos todos os tipos de informa c oes sobre o seu sistema de parti c oes atual. A maioria das pessoas seleciona uma unidade livre para a instala c ao e ent ao remove as parti c oes existentes para dar espa co para as parti c oes do Linux. EXTREMAMENTE IMPORTANTE FAZER UMA COPIA AVISO: E DE SEGURANCA (BACKUP) DE TODAS AS INFORMAC OES QUE VOCE QUEIRA MANTER, ANTES DE ONDE ELAS ESTAO ARMAZENADAS. REMOVER A PARTIC AO

18

CAP ITULO 3. INSTALAC AO

N ao existe uma forma f acil de recuperar dados de uma parti c ao removida, portanto sempre fa ca uma c opia de seguran ca (backup) antes de alter a-las. Na tabela de informa c oes da parti c ao h a um n umero da parti c ao, o tamanho, e o tipo. H a mais informa c oes, mas n ao se preocupe com isso por enquanto. Removeremos todas as parti c oes deste drive para criar as do Linux. Digitamos d para remov e-las: Command (m for help): d Partition number (1-4): 1 Repita este processo para cada uma das parti c oes. Ap os remov e-las, estaremos prontos para criar as do Linux. Decidimos criar uma parti c ao para o nosso sistema de arquivos root e uma para o swap. Observe que os esquemas de particionamento do Unix s ao a causa de acaloradas discuss oes, e que a maioria dos usu arios lhe dir a qual a melhor forma. No m nimo, crie uma parti c ao para o / e uma para swap. Com o tempo, voc e desenvolver a uma metodologia que funcione bem para voc e. Eu uso dois esquemas b asicos de particionamento. O primeiro e para um desktop. Fa co 4 parti c oes, /, /home, /usr/local, e swap. Assim posso re-instalar ou atualizar tudo que est 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 parti c ao /usr/local por uma parti c ao /var. Muitos servidores diferentes armazenam informa c oes nesta parti c ao e mant e-la separada do / traz benef cios quanto ao desempenho. Por enquanto, vamos car com apenas estas duas parti c oes: / e swap. Agora podemos criar as parti c oes com o comando n:

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 parti c oes prim arias. A primeira parti c ao ser a a nossa parti c ao swap. Diremos ao fdisk para tornar a parti c ao n umero 1 uma parti c ao prim aria. Ela come car a no cilindro 0 e, para o cilindro nal, digitamos +64M. Isto criar a uma parti c ao de 64 megabytes para swap. (Na verdade, o tamanho da parti c ao de swap depende da quantidade de RAM do seu sistema. Por conven c ao se usa uma parti c ao de swap com o dobro do tamanho da RAM do seu sistema.) Ent ao, denimos a parti c ao prim aria n umero 2 come cando no primeiro cilindro dispon vel e indo at e o nal do drive. 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 a quase pronto. Precisamos alterar o tipo da primeira parti c ao para tipo 82 (Linux swap). Digite t para alterar o tipo, selecione a primeira parti c ao, e digite 82. Antes de gravar as suas altera c oes em disco, d e uma u ltima olhada na nova tabela de parti c oes. Use o p no fdisk para exibir a tabela de parti c oes. Se tudo parecer estar bem, digite w para salvar as suas altera c oes e sair do fdisk.

3.4

O programa setup

Uma vez criada as parti c oes, voc e est a pronto para instalar o Slackware. O pr oximo passo da instala c ao e executar o programa setup. Para execut a-lo simplesmente digite setup no prompt. O setup possui um sistema de menu na qual permite que voc e instale os pacotes do Slackware e congure seu sistema.

O processo de instala c ao e algo do tipo: Selecione as op c oes de acordo como elas s ao listadas no programa setup. (E claro que voc e pode mudar a ordem de escolha das op c oes, n ao seguindo passo-a-passo o programa.) Os itens do menu s ao selecionados usando as teclas seta para cima e seta para baixo, e os bot oes Okay e Cancel s ao usados para proseguir ou para voltar. Como alternativa, voc e pode escolher a op c ao desejada, teclando a letra correspondente destacada do menu para cada op c ao. Para selecionar as op c oes (estas s ao indicadas com [X] ) utiliza-se a barra de espa co. claro que voc E e pode ver mais descri c oes na se c ao help do setup, por em acreditamos que o seu tempo vale dinheiro.

20

CAP ITULO 3. INSTALAC AO

3.4.1

HELP

Caso seja a primeira vez que voc e esteja instalando o Slackware, voc e pode dar uma olhada na tela de ajuda. Assim ter a uma descri c ao de cada parte do programa setup (assim como estamos descrevendo) e instru c oes para navega c ao e para o restante da instala c ao.

3.4.2

KEYMAP

Caso necessite de um teclado diferente do padr ao americano qwerty, voc e dever a alter a-lo nessa se c ao. Existe uma grande quantidade de modelos de teclado que poder a escolher.

3.4. O PROGRAMA SETUP

21

3.4.3

ADDSWAP

Caso voc e tenha criado uma parti c ao de swap (voltar ` a se c ao 3.3), e aqui que voc e dever a habilit a-la para utilizar. As parti c oes de swap existentes em seu disco ser ao exibidas automaticamente, permitindo que voc e selecione, pelo menos uma, para formatar e habilitar.

3.4.4

TARGET

Na se c ao target voc e formatar a suas parti c oes e mapear a os pontos de montagens dos sistemas de arquivos. Uma lista com as parti c oes de seu disco r gido s ao mostradas. Para cada parti c ao, poder a escolher formatar ou n ao. Dependendo do kernel utilizado, voc e poder a escolher os seguintes sistemas de arquivos reiserfs (padr ao), ext3, ext2, jfs e xfs. A maioria das pessoas utilizam reiserfs ou ext3. Em um futuro pr oximo n os poderemos ter o suporte ` a reiserfs4. A parti c ao a ser selecionada e onde o sistera root (/ )dever a ser instalado. Ap os isso, voc e

22

CAP ITULO 3. INSTALAC AO

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

3.4.5

SOURCE

A se c ao Source e onde selecionamos a m dia a partir da qual o Slackware ser a instalado. Atualmente, h a quatro op c oes dispon veis. S ao elas: CD-ROM, uma parti c ao no disco r gido, NFS, ou um diret orio pr e-montado.

A op c ao CD-ROM permite a instala c ao a partir de um CD-ROM. H a a op c ao de procurar 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 come car a busca. A op c ao NFS pede informa c oes da sua rede e de seu servidor NFS. O servidor NFS j a deve estar congurado. Note tamb em que n ao e poss vel usar nomes de m aquina (hostnames), deve-se usar endere cos IP tanto para a sua m aquina, quanto para o servidor NFS (n ao h a um servi co de resolu c ao de nomes no disco de instala c ao). Naturalmente, deve ser usado o disquete network.dsk para dar suporte para a sua placa de rede. O diret orio pr e-montado oferece maior exibilidade. Use este m etodo para instalar a partir 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 instala c ao, e ent ao especique esse local aqui.

3.4.6

SELECT

A se c ao Select permite escolher as s eries de software que desejamos instalar. Essas s eries c ao 3.2.1. Note que e obrigat oria a instala c ao da s erie A para ter um sistema s ao descritas na se base funcional. Todas as outras s eries s ao opcionais.

3.4. O PROGRAMA SETUP

23

3.4.7

INSTALL

Considerando que tenhamos passado pelas se c oes target, source, and select, a se c ao install permite selecionar pacotes dentre as s eries de software escolhidas. Se n ao, pedir a que voc e volte e complete as outras se c oes do programa de instala c ao. Esta se c ao permite escolher dentre seis diferentes m etodos de instala c ao: //full, newbie, menu, expert, custom, e tag path.

A op c ao full (completo) instala todos os pacotes das s eries escolhidas na se c ao select. N ao h a mais perguntas. Este e o m etodo de instala c ao mais f acil, j a que n ao e necess ario tomar claro que esta op quaisquer decis oes quanto aos pacotes a instalar de fato. E c ao tamb em ea que ocupa maior espa co no disco r gido. A pr oxima op c ao e newbie (novato). Esta op c ao instala todos os pacotes requeridos pelas s eries selecionadas. Em todos os outros pacotes h a um prompt onde podemos selecionar Yes

24

CAP ITULO 3. INSTALAC AO

(sim), No (n ao), ou Skip (pular). Yes e No fazem o obvio, enquanto Skip pula para a pr oxima s erie de software. Al em disso, e exibida uma descri c ao e o tamanho de cada pacote para ajudar a decidir se o mesmo e necess ario. Recomendamos esta op c ao para os novos usu arios, j a que ela assegura que os pacotes desejados sejam instalados. Contudo, ela e um pouco mais lenta devido ` as perguntas. Menu e uma vers ao mais r apida e mais avan cada da op c ao newbie. Em cada s erie, aparece um menu, a partir do qual pode-se selecionar todos os pacotes n ao requeridos que se deseja instalar. Os pacotes requeridos n ao aparecem nesse menu. Para os usu arios mais avan cados, a instala c ao oferece a op c ao expert. Isto permite total poss controle sobre quais pacotes s ao instalados. E vel remover da sele c ao pacotes que s ao absolutamente necess arios, o que resulta em um sistema entrar em colapso. Por outro lado, e poss vel controlar exatamente o que entra em seu sistema. Simplesmente selecione os pacotes de cada s erie que deseja que sejam instalados. Isto n ao e recomendado para os novos usu arios, j a que e muito f acil dar um tiro no pr oprio p e. As op c oes custom e tag path tamb em s ao para usu arios avan cados. Estas op c oes permitem a instala c ao com base em tag les personalizados criados na arvore da distribui c ao. Isto eu til para se instalar um grande n umero de m aquinas rapidamente. Para maiores informa c oes sobre c ao 18.4. o uso de tag les, veja a se Ap os escolher o seu m etodo de instala c ao, uma coisa ou outra abaixo vai acontecer. Se tiver selecionado full ou menu, uma tela com um menu aparecer a, permitindo a sele c ao dos pacotes a ser instalados. Se tiver selecionado full, os pacotes come car ao a ser instalados no destino imediatamente. Se tiver selecionado newbie, os pacotes ser ao instalados at e que se alcance um pacote opcional. Observe que e poss vel que o espa co em disco acabe durante a instala c ao. Se selecionar pacotes demais para a quantidade de espa co livre no dispositivo alvo, voc e ter a mais seguro selecionar alguns programas e adicionar mais depois, se necess problemas. E ario. Isto pode ser feito facilmente usando as ferramentas de gerenciamento de pacotes do Slackware. Para maiores informa c oes, veja a se c ao 18.

3.4.8

CONFIGURE

A se c ao congure permite fazer algumas congura c oes b asicas do sistema, agora que os pacotes j a foram instalados. O que voc e v e depende em grande parte de que programas foram instalados. Contudo, sempre ser a exibido o conte udo abaixo:

Kernel selection (Sele c ao do kernel)


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

3.4. O PROGRAMA SETUP

25

Make a boot disk (Fazer um disco de boot)


Provavelmente ser a uma boa id eia fazer um disco de boot para usar no futuro. Voc e ter aa op c ao de formatar um disquete e, ent ao, criar um dos dois tipos de disco de boot. O primeiro tipo, simple (simples), simplesmente (como e de se esperar) grava um kernel no disquete. Uma op c ao mais ex vel (e altamente recomendada) e lilo, que, e claro, cria um disco de boot do c ao 7.1 para maiores informa c oes. E claro, voc e tamb em pode decidir lilo. Veja LILO na se simplesmente continuar, de modo que n ao ser a criado um disco de boot.

Modem
Ser ao solicitadas informa c oes sobre o seu modem. Mais especicamente, se voc e possui um modem, e, se possuir, em qual porta serial ele est a.

26

CAP ITULO 3. INSTALAC AO

As pr oximas sub-se c oes de congura c ao podem aparecer ou n ao, dependendo se os seus pacotes correspondentes tiverem sido instalados.

Timezone (Fuso hor ario)


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

Mouse
Esta sub-se c ao simplesmente pergunta que tipo de mouse voc e tem, e se voc e quer ter suporte ao mouse no console com o gpm (8) habilitado na inicializa c ao.

3.4. O PROGRAMA SETUP

27

Hardware clock (Rel ogio de hardware)


Esta sub-se c ao pergunta se o rel ogio de hardware do seu computador est a ajustado no Tempo Universal Coordenado (UTC ou GMT). A maioria dos PCs n ao est ao, ent ao provavelmente voc e deve dizer no(n ao).

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

28

CAP ITULO 3. INSTALAC AO

LILO
c ao 7.1 para maiAqui e perguntado sobre a instala c ao do LILO (o LInux LOader; veja a se ores informa c oes).

Se o Slackware for o u nico sistema operacional em seu computador, a op c ao simple (simples) deve funcionar perfeitamente. Se houver dual-boot, a op c ao expert e uma melhor escolha. Veja a se c ao 7.5 para maiores informa c oes sobre dual-boot. A terceira op c ao, do not install (n ao instalar), n ao e recomendada, a n ao ser que voc e saiba o que est a fazendo e que tenha uma otima raz ao para n ao instalar o LILO. Se o modo de instala c ao for expert, voc e poder a escolher onde o LILO ser a instalado. O LILO pode car na MBR (Master Boot Record) do seu disco r gido, no superbloco da sua parti c ao ra z do Linux, ou em um disquete.

3.4. O PROGRAMA SETUP

29

Network
Na verdade, a sub-se c ao de congura c ao network e o netcong. Veja a se c ao 5.1 para maiores informa c oes.

X Window Manager (Gerenciador de Janelas do X)


c ao Esta sub-se c ao permite a escolha de um gerenciador de janelas padr ao para o X. Veja se 5.1 para maiores detalhes sobre o X e gerenciadores de janelas.

N ao importa quais pacotes tenham sido instalados, a u ltima coisa que ser a feita na se c ao congure ser a perguntar se voc e quer continuar e criar uma senha para o root. Por raz oes de seguran ca, provavelmente est a ser a uma boa id eia; todavia, como tudo mais no Slackware, voc e decide.

30

CAP ITULO 3. INSTALAC AO

Cap tulo 4

Congura c ao do Sistema
Antes de voc e poder congurar as partes mais avan cadas do seu sistema, e uma boa id eia entender como o sistema e organizado e que comandos podem ser utilizados para procurar por bom saber tamb arquivos e programas. E em, se voc e precisar a compilar um kernel otimizado e quais os passos que dever ao ser seguidos. Este cap tulo ir a familiariz a-lo com a organiza c ao do sistema e a congura c ao de arquivos. Assim, voc e poder a avan car na congura c ao das partes mais avan cadas do sistema.

4.1

Vis ao Geral do Sistema

importante entender como um sistema Linux E e montado antes de mergulhar nos v arios aspectos de sua congura c ao. Um sistema Linux e signicativamente diferente de um sistema DOS, Windows ou de um sistema Macintosh (com a exce c ao do Mac OS X que e baseado no Unix), mas estas se c oes o ajudar ao a car familiarizado com o seu layout, de modo que voc e facilmente poder a congurar seu sistema para as suas necessidades. 4.1.1 Layout do Sistema de Arquivos

A primeira diferen ca marcante entre o Slackware Linux e um sistema DOS ou Windows eo sistema de arquivos. Logo de in cio, n ao s ao utilizados letras para os drivers, para identicar as diferentes parti c oes. Sob o Linux, existe apenas um u nico diret orio principal. Voc e pode relacionar isto com o drive C: do ambiente DOS. Cada parti c ao em seu sistema e montado como como se voc um diret orio dentro do diret orio principal. E e tivesse um disco r gido expans vel. Chamamos o diret orio principal de diret orio root (ou ra z), e o mesmo e representado por uma barra (/ ). Este conceito pode soar estranho, mas isso torna sua vida mais f acil quando voc e quer adicionar mais espa co. Por exemplo, vamos dizer que voc e cou sem espa co em disco no diret orio /home. Muitas pessoas ao instalarem o Slackware criam uma u nica parti c ao raiz. Bem, como uma parti c ao pode ser montada para qualquer diret orio, voc e s o precisa ir at ea loja mais pr oxima e comprar um disco r gido novo e mont a-lo como /home. Voc e agora colocou mais espa co em seu sistema. E tudo sem precisar mover nada de lugar. Abaixo, voc e ir a encontrar as descri c oes dos diret orios mais importantes sob o Slackware. bin - Programas essenciais para os usu arios s ao armazenados aqui. Isso representa um conjunto m nimo de programas requeridos pelo usu ario para a utiliza c ao do sistema. Coisas como o shell e os comandos do sistema de arquivos (ls, cp, e assim por diante) s ao armazenados aqui. O diret orio /bin tamb em n ao recebe modica c ao ap os a instala c ao. Se isso acontecer, e na forma de atualiza c ao de pacotes que fornecemos. boot - Arquivos que s ao utilizados pelo Linux Loader (LILO). Esse diret orio tamb em recebe pequenas modica c oes ap os a instala c ao. O kernel e armazenado aqui desde a vers ao 8.1 do Slackware. Em vers oes anteriores do Slackware, o kernel era simplesmente armazenado sob o
31

32

DO SISTEMA CAP ITULO 4. CONFIGURAC AO

diret orio / , por em a pr atica comum e montar o kernel e os arquivos relacionados aqui, para facilitar o dual-booting (ou boot duplo). dev - Tudo no Linux e tratado como arquivo, inclusive dispositivos de hardware como as portas seriais, discos r gidos, e scanners. Em ordem de acessar esses dispositivos, um arquivo especial chamado de dispositivo de conex ao tem de estar presente. Todos os dispositivos de conex ao s ao armazenados no diret orio /dev. Voc e vai descobrir que isso e verdade atrav es dos muitos sistemas operacionais baseados em Unix. etc - Esse diret orio mant em os arquivos de congura c ao do sistema. Todos os arquivos de congura c ao do X Window, o banco de dados do usu ario, at e o sistema de inicializa c ao de scripts. Com o tempo, o administrador do sistema car a bastante familizado com este diret orio. home - O Linux e um sistema operacional multi-usu ario. A cada usu ario no sistema e dado uma conta e um diret orio u nico para seus arquivos pessoais. Este diret orio e chamado de diret orio ra z do usu ario. O diret orio /home e fornecido como localiza c ao padr ao para os diret orios ra z do usu ario. lib - As bibliotecas do sistema que s ao necess arias para opera c oes b asicas do sistema s ao armazenadas aqui. A biblioteca C, o carregador din amico, as bibliotecas ncurses e os m odulos do kernel est ao entre as coisas aqui armazenadas. mnt - Este diret orio cont em pontos de montagem tempor arios para discos r gidos em operac ao ou drives remov veis. Aqui voc e encontrar a os pontos de montagem para o seus drives de CD-ROM e de disquete. opt - Pacotes de software opcionais. A id eia por tr as do diret orio /opt e que cada pacote de software instalado no diret orio /opt/pacote de software, que seja f acil de remover depois. O Slackware distribui algumas coisas no diret orio /opt (como o KDE em /opt/kde ), por em voc e e livre para adicionar qualquer coisa que queira ao diret orio /opt. proc - Este e um diret orio u nico. Ele n ao e realmente parte do sistema de arquivos, mas sim um sistema de arquivos virtual que prov e acesso as informa c oes do kernel. V arios peda cos de informa c ao que o kernel quer que voc e conhe ca s ao transportados a voc e atrav es de arquivos no diret orio /proc. Voc e pode enviar informa c ao para o kernel atrav es desses mesmos arquivos. Tente o comando cat /proc/cpuinfo. root - O administrador do sistema e conhecido como root no sistema. O diret orio ra z do usu ario root e mantido em /root em vez de /home/root. A raz ao e simples. O que acontece se o diret orio /home estiver em uma parti c ao diferente do diret orio / e n ao puder ser montado? O usu ario //root ir a querer logar e repara o problema. Se o seu diret orio de usu ario ra z estiver no sistema de arquivos danicado, ser a meio dif cil para ele conseguir logar-se. sbin - Programas essenciais que s ao rodados pelo usu ario root e durante o processo de boot do sistema s ao mantidos aqui. Usu arios normais n ao ir ao rodar programas neste diret orio. tmp - Local de armazenagem tempor aria. Todos os usu arios possuem acesso de leitura e escrita neste diret orio. usr - Este e o maior diret orio em um sistema Linux. Tudo o mais vem aqui, programas, documenta c ao, o c odigo-fonte do kernel, e o sistema X Window. Este e o diret orio que voc e mais ir a gostar de estar instalando programas. var - Arquivos de log do sistema, informa c oes de cache, e arquivos protegidos de programas s ao armazenados aqui. Este e o diret orio para mudan cas freq uentes de informa c ao. Voc e agora deve ter uma boa no c ao para quais diret orios cont em o que no sistema de arquivos. Informa c oes mais detalhadas sobre o layout do sistema de arquivos est ao dispon veis nas p aginas de manual do hier(7). A pr oxima se c ao ir a ajud a-lo a encontrar arquivos espec cos com facilidade, ent ao voc e n ao precisar a fazer isso de forma bra cal. 4.1.2 Encontrando Arquivos

Agora voc e sabe o que cada diret orio principal cont em, mas isso realmente n ao ajuda em nada a encontrar coisas. Eu creio que voc e poderia ir olhando atrav es dos diret orios, por em existem

GERAL DO SISTEMA 4.1. VISAO

33

maneiras r apidas de fazer isso. Existem quatro comandos principais de busca de arquivos dispon veis no Slackware. which O primeiro e o comando which (1). O comando which e geralmente usado para achar de forma r apida a localiza c ao de um programa. Ele apenas procura seu PATH e retorna a primeira inst ancia encontrada e o caminho do diret orio do mesmo. Pegue este exemplo: <code> $ which bash /bin/bash </code> Pelo que voc e j a viu do bash ele est a no diret orio /bin. Este e um comando de busca muito limitado, j a que o mesmo s o procura pelo PATH. whereis O comando whereis (1) trabalha de forma similar ao comando which, mas pode tamb em procurar por p aginas de manual e arquivos fontes. Um comando whereis para procurar pelo programa bash iria retornar: <code> $ whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz </code> Este comando n ao apenas nos diz onde atualmente o programa est a localizado, mas tamb em onde a sua documenta c ao online est a armazenada. Ainda assim, este comando e limitado. O que aconteceria se voc e precisasse procurar por um arquivo de congura c ao espec co? Voc e n ao poderia utilizar o comando which ou o whereis para isso. nd O comando nd (1) permite ao usu ario procurar o sistema de arquivos com um rico arsenal de op c oes de busca. Usu arios poderiam especicar uma busca com espress oes regulares no nome do arquivo, alcance de modica c oes ou tempo de cria c ao, ou outra propriedade avan cada. Por exemplo, para procurar pelo arquivo xinitrc padr ao em um sistema, o comando a seguir poderia ser utilizado. <code> $ nd / -name xinitrc /var/X11R6/lib/xinit/xinitrc </code> O comando nd ir a demorar um pouco no processo, desde que ele vai varrer tudo na arvore de diret orios ra z. E se este comando estiver rodando por um usu ario normal, ir ao aparecer v arias mensagens erro de permiss ao negada para os diret orios em que apenas o usu ario root pode ver. Por em se o comando nd encontra qualquer arquivo, isto e bom. Se ele pudesse ser pelo menos um pouco mais r apido... slocate O comando slocate (1) procura no sistema de arquivos inteiro, assim como o comando nd pode fazer, por em ele procura em um banco de dados em vez do atual sistema de arquivos. O banco de dados est a programado para ser atualizado toda manh a, ent ao voc e ter a de algum modo uma lista atualizada dos arquivos de seu sistema. Voc e pode rodar manualmente o comando updatedb (1) para atualizar o banco de dados slocate (antes de rodar na m ao o comando updatedb, voc e precisa primeiro rodar o comando su para virar o usu ario root ). Aqui est a um exemplo do comando slocate em a c ao: <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> N os conseguimos mais do que est avamos procurando, e de forma r apida tamb em. Com esses comandos, voc e ser a capaz de encontrar qualquer coisa que estiver procurando em seu sistema Linux. 4.1.3 O Diret orio /etc/rc.d/

Os arquivos de inicializa c ao do sistema s ao armazenados no diret orio /etc/rc.d. O Slackware utiliza o layout estilo BSD para estes arquivos de inicializa c ao ao contr ario dos scripts de inicializa c ao do System V, a qual tende a tornar as mudan cas na congura c ao mais dif ceis sem estar utilizando um programa especicamente desenhado para esta fun c ao. Nos scripts de inicializa c ao do BSD, cada runlevel e um arquivo rc simples. No System V, cada runlevel e

34

DO SISTEMA CAP ITULO 4. CONFIGURAC AO

dado a seu pr oprio diret orio, a qual cont em in umeros scripts de inicializa c ao. Isto prov e uma estrutura organizada que e f acil de manter. Existem v arias categorias de arquivos de inicializa c ao. Estes s ao o sistema de inicializa c ao, runlevel, inicializa c ao de rede, e a compatibilidade com o System V. Pela tradi c ao, n os iremos amontoar todas as outras coisas em uma nova categoria. Inicializa c ao do Sistema O primeiro programa a rodar sobre o Slackware, al em do kernel Linux, e o init (8). Este programa l e o arquivo /etc/inittab (5) para ver como carrega o sistema. Ele roda o script /etc/rc.d/rc.S para preparar o sistema antes de ir para o n vel de execu c ao desejado. O arquivo rc.S habilita sua mem oria virtual, monta seu sistema de arquivos, limpa certos diret orios de log, inicializa os dispositivos Plug and Play, carrega os m odulos do kernel, congura os dispositivos PCMCIA, ativa as portas seriais, e os scripts de inicializa c ao do System V (se encontrado). Obviamente o rc.S possui muitos recursos, mas existe alguns scripts no diret orio /etc/rc.d que o rc.S ir a chamar para completar seu trabalho: rc.S - Este e o atual script do sistema de inicializa c ao. rc.modules - Carrega os m odulos do kernel. Coisas como sua placa de rede, suporte a PPP, e outras coisas s ao carregadas aqui. Se este script acha o rc.netdevice, correr a tudo bem. rc.pcmcia - Investiga e congura qualquer dispositivo PCMCIA que voc e possa ter em seu sistema. Isto e bem u til para usu arios de laptops, que provavelmente possuem um modem ou rede PCMCIA. rc.serial - Congura suas portas seriais rodando os comandos apropriados do setserial. rc.sysvinit - Procura pelos scripts de inicializa c ao do System V para o runlevel desejado e os inicializa. Este assunto e discutido em maiores detalhes abaixo. Scripts de inicializa c ao do Runlevel Ap os o sistema de inicializa c ao estar completo, o comando init vai para a inicializa c ao do runlevel. Um runlevel descreve o n vel em que a sua m aquina ir a rodar. Isso soa redundante? Bem, o runlevel comunica ao init se voc e estar a aceitando logins de multi-usu arios ou apenas de um u nico usu ario, independente se voc e vai utilizar os servi cos de rede ou n ao, e se voc e estar a utilizando o X Window System ou o comando agetty (8) para manipular os logins. Os arquivos abaixo denem os diferentes runlevels no Slackware Linux. rc.0 - Desliga o sistema (runlevel 0). Por padr ao, este runlevel est a linkado ao rc.6. rc.4 - Inicializa c ao multi-usu ario (runlevel 4), por em no X11 com o KDM, GDM, ou XDM como o gerenciador de login. rc.6 - Reinicializa o sistema (runlevel 6). rc.K - Inicializa o sistema em modo mono-usu ario (runlevel 1). rc.M - Modo multi-usu ario (runlevels 2 e 3), por em com o login em modo texto padr ao. Este e o runlevel padr ao no Slackware. Inicializa c ao de rede Os Runlevels 2, 3, e 4 ir ao inicializar os servi cos de rede. Os seguintes arquivos s ao respons aveis pela inicializa c ao do sistema: rc.inet1 - Criado pelo netcong, este arquivo e respons avel pela congura c ao da atual interface de rede. rc.inet2 - Roda depois do rc.inet1 e inicializa os servi cos de rede b asicos. rc.atalk - Inicializa os servi cos AppleTalk. rc.httpd - Inicializa o servidor Apache. Como alguns outros scripts, este pode ser utilizado para parar e reiniciar um servi co. O rc.httpd toma argumentos de parada, inicio, ou reinicio. 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 distribui c oes Linux fazem uso deste estilo, em vez do estilo BSD. Basicamente a cada runlevel e dado um sub-diret orio para os scripts do init, do contr ario do estilo BSD que d a um script de inicializa c ao para cada runlevel.

4.2. SELECIONANDO UM KERNEL

35

O script rc.sysvinit ir a procurar por todos os scripts de inicializa c ao do System V que voc e tenha em /etc/rc.d e inicializ a-los, se o runlevel for apropriado. Isto eu til para certos pacotes de software que instalam os scripts de inicializa c ao no System V. Outros Arquivos Os scripts descritos abaixo s ao os outros scripts de inicializa c ao do sistema. Eles s ao rodados tipicamente de um dos principais scripts descritos acima, ent ao tudo de que voc e precisa fazer e editar seus conte udos. rc.gpm - Inicializa os servi cos de habilita c ao do mouse. Permite que voc e possa copiar e colar no console do Linux. Ocasionalmente, o gpm ir a causar problemas para o mouse quando for usado sobre o X Windows. Se voc e tiver problemas com o uso do mouse no X, tente tirar a permiss ao de execu c ao deste arquivo parando o servidor gpm. rc.font - Carrega as fontes customiz aveis para o console. rc.local - Cont em todos os comandos espec cos de inicializa c ao do seu sistema. Ele ca vazio depois de uma instala c ao limpa, esta reservado para administradores locais. Este script e inicializado ap os todas as outras inicializa c oes terem sido realizadas. Para habilitar um script, tudo que voc e precisa fazer e adicionar permiss oes de execu c ao a ele com o comando chmod. Para desabilitar um script, remova a permiss ao de execu c ao do c ao 9.2. mesmo. Para maiores informa c oes sobre o comando chmod, veja a se

4.2

Selecionando um Kernel

O kernel e a parte do sistema operacional que prov e acesso ao hardware, controle de processos, e todo o sistema de controle. O kernel cont em suporte para seus dispositivos de hardware, ent ao escolher um kernel para o seu sistema e um passo muito importante. O Slackware prov e mais de uma d uzia de kernels pr e-compilados que voc e poder a utilizar, cada qual com um conjunto padr ao de drivers gen ericos e alguns drivers espec cos. Voc e pode rodar um dos kernels pr e-compilados ou pode construir seu pr oprio kernel a partir do c odigofonte. Seja qualquer uma das op c oes que for escolhida, voc e precisar a ter certeza que o seu kernel tenha o suporte ao hardware que voc e possui. 4.2.1 O diret orio /kernels no CD-ROM do Slackware

Os kernels pr e-compilados est ao dispon veis no diret orio /kernels no CD-ROM do Slackware ou no site de FTP no diret orio principal do Slackware. Os kernels dispon veis mudam sempre que novas vers oes s ao lan cadas, ent ao a documenta c ao em cada diret orio e o c odigo-fonte do mesmo. O diret orio /kernels possui sub-diret orios para cada kernel disponibilizado. Os sub-diret orios possuem o mesmo nome que o seu disco de boot que o acompanha. Em cada sub-diret orio voc e ir a encontrar os seguintes arquivos: Arquivo System.map bzImage cong Prop osito O arquivo de mapas do sistema para este kernel A imagem do kernel atual O arquivo-fonte de congura c ao para este kernel

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

36

DO SISTEMA CAP ITULO 4. CONFIGURAC AO

4.2.2

Compilando um Kernel a partir do c odigo-fonte

A quest ao Devo compilar um kernel para meu sistema? e sempre questionado por usu arios novatos. A resposta e sempre talvez. Existem poucas ocasi oes onde voc e ir a precisar compilar um kernel espec co para o seu sistema. A maioria dos usu arios pode utilizar um kernel pr ecompilado e seus m odulos carreg aveis para terem um sistema totalmente funcional. Voc e ir a querer compilar um kernel para o seu sistema apenas se voc e precisar fazer um upgrade de seu atual kernel para um que n ao esteja atualmente disponibilizado para o slcakware, ou se voc e estiver adicionando novas funcionalidades ao seu kernel para dar suporte a um hardware espec co, que n ao esteja presente no c odigo nativo no c odigo-fonte do seu kernel. Qualquer um com um sistema SMP denitivamente ir a querer compilar um kernal com suporte a SMP. Tamb em, muitos usu arios acham que um kernel customizado rodar a. Voc e achar au til compilar o kernel com otimiza c oes para o processador espec co de sua m aquina.

Construir seu pr oprio kernel n ao e t ao dif cil assim. O primeiro passo e ter certeza que voc e tem o c odigo-fonte do kernel instalado no seu sistema. Tenha certeza de ter instalado os pacotes da s erie K durante o processo de instala c ao do seu Slackware. Voc e ir a querer ter certeza que possui a s erie D instalada, especicamente o compilador C, o GNU make, e o GNU binutils. Em geral, e uma boa id eia ter a s erie D inteira instalada se voc e planeja fazer qualquer tipo de desenvolvimento. Voc e tamb em pode baixar a u ltima vers ao do c odigo-fonte do kernel dispon vel em http://www.kernel.org/mirrors.

Compila c ao do Kernel Linux vers ao 2.4.x

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

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

<code> # make mrproper</code>

Agora voc e pode congurar o kernel para o seu sistema. O kernel atual oferece 3 maneiras de fazer isso. A primeira e o original sistema de perguntas-e-respostas em modo texto. Este far a diversas perguntas e, baseado nas suas respostas, ir a construir um arquivo de congura c ao. O problema deste m etodo e se voc e errar algo, ter a de recome car tudo do in cio. O m etodo que a maior parte dos usu arios preferem e o de sistema de menu. Por u ltimo, existe uma ferramenta de congura c ao gr aca do kernel. Escolha uma de sua prefer encia e digite o comando apropriado:

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

4.2. SELECIONANDO UM KERNEL

37

menu de congura c ao do kernel Os usu arios novatos provavelmente ir ao achar o comando menucong mais f acil de usar. As telas de ajuda prov em explica c oes de v arias partes do kernel. Ap os congurar seu kernel, saia do programa de congura c ao. Ele ir a escrever os arquivos de congura c ao necess arios. Agora n os podemos preparar a arvore do c odigo-fonte do kernel para uma constru c ao: <code> # make dep # make clean </code> A pr oxima etapa e compilar o kernel. Primeiro tente emitir o comando bzImage abaixo. <code> # make bzImage </code> Isso pode demorar um pouco, dependendo da velocidade de sua CPU. Durante o processo de constru c ao, voc e poder a ver as mensagens geradas pela compila c ao. Ap os construir a imagem do kernel, voc e ir a querer construir todas as partes do kernel que voc e marcou para serem modulares. <code> # make modules</code> Voc e agora pode instalar o kernel e seus m odulos que compilou. Para instalar o kernel em 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 e ir a querer editar o arquivo /etc/lilo.conf e adicionar uma se c ao para a inicializa c ao de seu kernel antigo em caso do novo kernel n ao funcionar. Ap os ter feito isso, execute o comando /sbin/lilo para instalar o novo bloco de inicializa c ao. Voc e agora j a pode reiniciar com o seu novo kernel. Kernel Linux Vers ao 2.6.x A compila c ao do kernel 2.6 kernel e levemente diferente do kernel 2.4 ou 2.2, mas e importante que voc e entenda as diferen cas antes de pesquisar. N ao e mais necess ario rodar os comandos make dep e make clean. Tamb em, o processo de compila c ao do kernel n ao e mais em modo descritivo na s erie 2.6. Isso resulta em uma constru c ao de processos de f acil entendimento, por em tem seus contras. Se voc e tiver problemas na constru c ao do kernel, e altamente recomendado que voc e habilite o modo descritivo de novo. Voc e pode fazer isso modicando a op c ao V=1 na constru c ao. Isso permite a voc e ter mais informa c oes da sa da da compila c ao que poder a ajudar um desenvolvedor de kernel ou outro amigo entendido a te ajudar na resolu c ao deste problema. <code> # make bzImage V=1</code>

38

DO SISTEMA CAP ITULO 4. CONFIGURAC AO

4.2.3

Utilizando os M odulos do Kernel

Os m odulos do kernel e outra deni c ao para os drivers de dispositivo que podem ser inseridos em um kernel em uso. Eles permitem a voc e extender o suporte ao hardware pelo seu kernel sem precisar usar outro kernel ou mesmo compilar um novo. Os m odulos podem tamb em ser carregados e descarregados a qualquer hora, mesmo se o sistema estiver rodando. Isso torna a atualiza c ao de drivers mais f acil para os administradores de sistema. Um novo m odulo pode ser compilado, um antigo removido, e o novo ser carregado em seu lugar, tudo isso sem precisar reiniciar sua m aquina. Os m odulos s ao armazenados no diret orio /lib/modules/vers ao do kernel do seu sistema. Eles podem ser carregados na inicializa c ao do sistema atrav es do arquivo rc.modules. Este arquivo e muito bem documentado e oferece exemplos para a maior parte dos componentes de hardware. Para ver a lista dos m odulos atualmente ativos, utilize o comando lsmod (1): <code> # lsmod Module Size Used by parport pc 7220 0 parport 7844 0 [parport pc] </code> Voc e pode ver aqui que eu s o tenho o m odulo da porta paralela carregado. Para remover um m odulo, voc e usa o comando rmmod (1). Os m odulos podem ser carregados pelos comandos modprobe (1) ou insmod (1). modprobe e normalmente mais seguro porque ele ir a carregar qualquer m odulo dos dispon veis que possuam depend encias com o carregamento atual. V arios usu arios nunca tiveram que carregar ou descarregar m odulos de kernel na m ao. Eles utilizam o auto-carregamento do kernel para o gerenciamento de m odulos. Por padr ao, o Slackware inclui o kmod em seu kernel. O kmod e uma op c ao do kernel que habilita o kernel para carregar automaticamente os m odulos que s ao requisitados. Para maiores informa c oes sobre o kmod e como ele e congurado, veja o arquivo /usr/src/linux/Documentation/kmod.txt. Voc e ir a precisar do pacote de c odigo-fonte do kernel, ou baixar o c odigo-fonte do kernel de http://kernel.org. Maiores informa c oes podem ser encontradas nas p aginas de manual para cada um desses comandos, al em do arquivo rc.modules.

Cap tulo 5

Congura c ao de Rede
5.1 Introdu c ao: netcong e seu amigo.

Quando voc e instala inicialmente o Slackware, o programa setup chama o programa netcong. O netcong tem como objetivo realizar para voc e as seguintes fun c oes: Ele te pergunta o nome do seu computador e o nome do dom nio sob o qual o seu computador est a na rede. Ele faz uma breve explana c ao acerca dos v arios tipos de esquemas de endere camento, cita onde eles devem ser usados, e lhe pergunta qual esquema de endere camento IP voc e deseja usar para congurar sua placa de rede: IP est atico DHCP Loopback Ele ent ao se oferece para detectar alguma placa de rede para congur a-la. Em geral o netcong ir a realizar cerca de 80% do trabalho de congurar sua conex ao de rede LAN, se voc e permitir. Recomenda-se fortemente que voc e revise seus arquivos de congura c ao por duas raz oes: Voc e nunca deve conar que um programa de congura c ao ir a congurar corretamente seu computador. Se voc e usa um programa de congura c ao, voc e deve revisar a congura c ao pessoalmente. Se voc e ainda est a aprendendo o sistema operacional Linux ou o Slackware, olhar uma congura c ao funcional pode ser u til. Voc e vai saber no m nimo qual a apar encia da congura c ao. Isso permitir a que voc e possa corrigir posteriormente problemas provenientes de congura c oes erradas realizadas pelo sistema.

5.2

Congura c ao do Hardware de Rede

Uma vez que seu desejo e conectar sua m aquina com o Slackware em algum tipo de rede, a primeira coisa que voc e precisar a e de uma placa de rede compat vel com o Linux. Voc e precisa ter um pouco de cuidado e se certicar de que sua placa e verdadeiramente compat vel com o Linux (por favor, consulte o Projeto de Documenta c ao do Linux e/ou a documenta c ao do kernel para informa c oes sobre o status atual da placa de rede que voc e deseja utilizar). Via de regra voc e car a, provavelmente muito surpreso com o n umero de placas de rede suportadas sob os kernels mais modernos. Tendo dito isso, sugerimos ainda que voc e consulte algumas das v arias listas de hardwares compat veis com o Linux (como por exemplo The GNU/Linux
39

40

DE REDE CAP ITULO 5. CONFIGURAC AO

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

5.2.1

Carregando os M odulos de Rede

Os m odulos do kernel s ao carregados durante a inicializa c ao do sistema s ao carregados pelo arquivo rc.modules, /etc/rc.d, ou pelo carregador autom atico de m odulos do kernel iniciado pelo /etc/rc.d/rc.hotplug. O arquivo rc.modules padr ao inclui uma se c ao de suporte a perif ericos de rede. Se voc e abrir o rc.modules e procurar por esta se c ao, poder a notar que ele verica inicialmente a exist encia do arquivo execut avel rc.netdevice em /etc/rc.d/. Esse script e criado se a tentativa de auto-congura c ao do perif erico de rede executada pelo setup obteve sucesso durante a instala c ao. Abaixo do bloco do if est a uma lista de perif ericos de rede e linhas com o comando modprobe comentadas. Procure o seu perif erico e descomente a linha com o modprobe correspondente, e ent ao salve o arquivo. Rodar o rc.modules como root ir a, a partir de agora, carregar o driver do seu perif erico de rede (assim como qualquer outro m odulo listado e n ao comentado). Note que alguns m odulos (como o do driver ne2000) precisam de par ametros; tenha certeza que voc e selecionou a linha correta.

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 s ao acessados via m odulos carreg aveis do kernel conforme dito no par agrafo anterior. E poss vel que o /sbin/netcong tenha encontrado e congurado com sucesso sua placa no seu arquivo rc.netdevice. Se isso n ao ocorreu o problema mais prov avel deve ser o carregamento do m odulo incorreto para a placa em quest ao (n ao s ao conhecidos casos onde para diferentes gerac oes de um mesmo tipo/fam lia de placas de um mesmo fabricante sejam necess arios m odulos diferentes). Se voc e t em certeza que o m odulo que voc e quer carregar e o correto, sua pr oxima melhor a c ao seria consultar a documenta c ao do m odulo para vericar se o m odulo exige ou n ao algum(uns) par ametro(s) espec co(s) no momento em que o m odulo e iniciado.

5.2.3

Modems

Assim como as placas de redes locais, modems podem ter v arias op c oes de barramento suportadas. At e pouco tempo atr as a maioria dos modems eram placas com barramento ISA, de 8 ou 16 bits. Gra cas aos esfor cos da Intel e de fabricantes de placas-m ae de todo o mundo, 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 ent ao modems internos PCI. Se voc e deseja trabalhar com seu modem no Linux, e de VITAL import ancia perquisar o modem que voc e pretende comprar, particularmente se voc e tem inten c ao de comprar um modem PCI. Muitos, se n ao a maioria, dos modems PCI atualmente dispon veis nas prateleiras das lojas s ao WinModems. WinModems n ao possuem algumas fun c oes de hardware caracter sticas dos pr oprios modems: as fun c oes de responsabilidade desse hardware espec co

TCP/IP 5.3. CONFIGURAC AO

41

geralmente s ao descarregadas sobre a CPU pelo driver do modem e pelo sistema operacional Windows. Isso signica que eles n ao tem a interface serial padr ao que o PPPD estar a esperando quando voc e disca para o seu Provedor de Acesso ` a Internet. Se voc e deseja ter absoluta certeza de que o modem que voc e est a comprando ir a trabalhar com o Linux, compre um modem de hardware externo que se conecta ` a porta serial do seu PC. Com toda certeza esses ir ao trabalhar melhor e apresentar menos problemas para instalar e dar manuten c ao, em detrimento de precisarem de energia externa e tenderem a custar mais. H a v arios sites que oferecem drivers e assist encia para congura c ao de perif ericos baseados em WinModems. Alguns usu arios relatam sucessos na congura c ao e instala c ao de drivers para v arios Winmodems, incluindo os de chipset Lucent, Conexant e Rockwell. Como os softwares necess arios para esses perif ericos n ao fazem parte do Slackware, e variam de driver para driver, n os n ao iremos entrar em detalhes.

5.2.4

PCMCIA

Como parte da instala c ao do seu Slackware, voc e ter a a oportunidade de instalar o pacote pcmcia (na s erie A de pacotes). Esse pacote cont em as aplica c oes e arquivos de congura c ao necess arios para trabalhar com placas PCMCIA no Slackware. E importante notar que o pacote pcmcia instala apenas o software gen erico necess ario para trabalhar com placas PCMCIA instala qualquer driver ou m no Slackware. Ele NAO odulo. Os m odulos e drivers dispon veis podem ser encontrados no diret orio /lib/modules/uname -r/pcmcia. Voc e possivelmente precisar a de algumas experi encias para encontrar o m odulo que ir a trabalhar com sua placa de rede. Voc e precisar a editar o arquivo /etc/pcmcia/network.opts (para uma placa Ethernet) ou o /etc/pcmcia/wireless.opts (se voc e tem uma placa de rede sem o). Como a maioria dos arquivos de congura c ao do Slackware, esses dois arquivos s ao muito bem comentados e isso torna f acil a tarefa de determinar que modica c oes voc e precisa fazer.

5.3

Congura c ao TCP/IP

Nesse momento, sua placa de rede deve estar f sicamente instalada no seu computador, e os m odulos relevantes do kernel devem estar carregados. Voc e ainda n ao estar a pronto para se comunicar utilizando sua placa de rede, mas informa c oes a respeito do seu perif erico de rede 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

DE REDE CAP ITULO 5. CONFIGURAC AO

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 e digitar /sbin/ifcong, sem a op c ao -a, pode ser que voc e n ao veja a interface eth0, o que indica que sua placa de rede ainda n ao tem um endere co IP v alido ou uma rota. Uma vez que existem muitas formas diferentes de congurar uma rede, todas elas podem ser reduzidas a dois tipos: Est atica e Din amica. Redes est aticas s ao conguradas para que cada n o (nomenclatura geek para objetos que com um endere co IP) sempre tenha o mesmo endere co IP. Redes din amicas s ao conguradas de forma que o endere co IP para cada n o seja controlado por um u nico servidor, chamado de servidor DHCP.

5.3.1

DHCP

DHCP (Dynamic Host Conguration Protocol ou Protocolo de Congura c ao Din amica de Host), e um m etodo pelo qual um endere co IP pode ser atribu do a um computador quando esse e ligado. Quando o cliente e iniciado, ele envia uma requisi c ao na rede local para que um servidor DHCP lhe atribua um endere co IP. O servidor DHCP tem um conjunto (ou escopo ) de endere cos IP dispon veis. O servidor ir a responder a essa requisi c ao com um endere co IP do seu conjunto, durante um tempo de aloca c ao. Uma vez que o tempo de aloca c ao para o endere co IP dado expire, o cliente precisa contactar novamente o servidor e repetir a negocia c ao. Ent ao, o cliente aceitar a o endere co IP enviado pelo servidor e ir a congurar a interface que requireu com o endere co IP. Entretanto, h a ainda um macete manual que o cliente DHCP usa para negociar o endere co IP que ser a a ele atribu do. O cliente ir a lembrar seu u ltimo endere co IP a ele atribu do, e solicitar a ao servidor uma re-atribui c ao do mesmo endere co IP novamente na pr oxima negocia c ao. Se poss vel, o servidor ir a atender o pedido, mas se n ao for, um novo endere co ser a atribu do. Assim, a negocia c ao se parece com o que segue: Cliente: H a algum servidor DHCP dispon vel na rede local? Servidor: Sim, h a. Aqui estou eu. Cliente: Eu preciso de um endere co IP. Servidor: Voc^ e pode pegar o 192.168.10.10 por 19200 segundos. Cliente: Obrigado.

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

O cliente DHCP no Linux e o /sbin/dhcpcd. Se voc e carregar o /etc/rc.d/rc.inet1 em seu editor de texto favorito, voc e ir a notar que o /sbin/dhcpcd e chamado mais ou menos no meio do script. Isso ir a for car a o di alogo mostrado acima. O dhcpcd ir a tamb em controlar a quantidade de tempo de aloca c ao restante para o endere co IP atual, e ir a contactar automaticamente o servidor DHCP com uma requisi c ao para renova c ao da aloca c ao quando necess ario. O DHCP pode ainda controlar informa c oes relacionadas, como qual o servidor ntp usar, qual rota pegar, etc.

TCP/IP 5.3. CONFIGURAC AO

43

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

5.3.2

IP Est atico

Endere cos IP est aticos s ao endere cos xos que s o mudam se modicadas manualmente. Isso e usado em qualquer caso em que o administrador n ao deseje que as informa c oes relacionadas ao IP mudem, por exemplo para servidores internos de uma rede local, qualquer servidor conectado ` a Internet, e roteadores. Com o endere camento IP est atico, voc e atribui um endere co IP e esquece :). Outras m aquinas saber ao que voc e sempre ter a um certo endere co IP e poder ao contactar voc e no endere co de sempre. /etc/rc.d/rc.inet1.conf Se voc e planeja atribuir um endere co IP ao seu novo Slackware, voc e pode faz e-lo atrav es do script netcong, ou ent ao pode tamb em editar o /etc/rc.d/rc.inet1.conf. No /etc/rc.d/rc.inet1.conf, voc e ir a notar: # Primary network interface card (eth0) IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" E, mais abaixo: GATEWAY= Nesse caso, nossa tarefa ser a meramente colocar a informa c ao correta entre as aspas duplas. Essas vari aveis s ao chamadas pelo /etc/rc.d/rc.inet1 no momento do boot para congurar as placas de rede. Para cada placa de rede, apenas insira a informa c ao correta do IP, ou coloque a iniciar as interfaces com a informa c ao colocada na orYES no USE DHCP. O Slackware ir dem em que elas forem encontradas. A vari avel DEFAULT GW congura a rota padr ao para o Slackware. Todas as comunica c oes entre seu computador e outros computadores na Internet devem passar atrav es do gateway, no caso de nenhuma outra rota ser especicada para elas (as comunica c oes). Se voc e est a usando DHCP, em geral voc e n ao precisar a digitar nada aqui, pois seu servidor DHCP ir a especicar qual gateway usar. /etc/resolv.conf Muito bem. Ent ao voc e tem um endere co IP, voc e tem um gateway padr ao, voc e pode ter dez milh oes de reais (nos d e um pouco), mas o que voc e consegue fazer de bom se voc e n ao consegue traduzir nomes para endere cos IP? Ningu em merece digitar 72.9.234.112 no navegador para entrar no www.slackbook.org. Al em disso, quem, al em dos autores conseguiriam memori a zar esse endere co IP? N os precisamos congurar o DNS, mas como? E que o /etc/resolv.conf entra no jogo. Provavelmente voc e j a tem as op c oes apropriadas no /etc/resolv.conf. Se voc e congurar sua conex ao de rede usando o DHCP, o servidor DHCP pode se encarregar de atualizar esse arquivo para voc e. (Tecnicamente o servidor DHCP apenas diz ao dhcpcd o qu e colocar aqui, e ele obedece.) No entanto, se voc e precisa atualizar manualmente sua lista de servidores DNS,

44

DE REDE CAP ITULO 5. CONFIGURAC AO

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

# cat /etc/resolv.conf nameserver 192.168.1.254 search lizella.net A primeira linha e simples. A diretiva nameserver nos indica qual servidor DNS procurar. Por necessidade eles sempre s ao endere cos IP. Voc e pode ter v arios listados aqui, conforme seu gosto. O Slackware ir a alegremente checar um depois do outro at e um deles retornar a busca. A segunda linha e um pouco mais interessante. A diretiva search nos d a uma lista de dom nio de nomes para assumir quando nenhum DNS requisitado for encontrado. Isso lhe permite contactar outra m aquina tendo apenas a primeira parte da sua FQDN (Fully Qualied Domain Name, ou Dom nio de Nome Totalmente Qualicado). Por exemplo, se slackware.com estava indicado na sua diretiva search, voc e pode buscar http://store.slackware.com apenas apontando 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 n os temos um DNS trabalhando bem, o que podemos fazer se desejamos identicar nosso servidor DNS, ou adicionar uma entrade de DNS em uma m aquina que n ao est a no DNS? O Slackware inclui o arquivo salvador /etc/hosts, que cont em uma lista local de nomes DNS e endere cos IP para os quais eles apontam.

# cat /etc/hosts 127.0.0.1 localhost locahost.localdomain 192.168.1.101 redtail 172.14.66.32 foobar.slackware.com Nele voc e p ode notar que o localhost t em como endere co IP relativo o 127.0.0.1 (sempre reservado para o localhost), redtail e apontado para 192.168.1.101, e o foobar.slackware.com para 172.14.66.32.

5.4

PPP

A maioria das pessoas continuam se conectando ` a Internet atrav es de algum tipo de conex ao discada. O m etodo mais comum e o PPP, embora o SLIP seja ainda utilizado ocasionalmente. Congurar o seu sistema para utilizar chamar via PPP um servidor remoto e muito f acil. N os vamos abordar algumas poucas ferramentas para ajud a-lo(a) a congurar.

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 apar encia e parece muito semelhante ao nosso programa netcong. Para executar o programa, tenha certeza que voc e est a logado como root. Ent ao digite pppsetup para execut a-lo. Voc e ir a ver uma tela como essa: O programa apresentar a uma s erie de quest oes, as quais voc e precisar a responder apropriadamente. Coisas como o seu modem, a string de inicializa c ao do modem, e o n umero de telefone do seu provedor. Alguns itens ter ao um valor padr ao, que voc e poder a aceitar na maioria dos casos. Ap os rodar o programa, ele criar a um programa ppp-go e um programa ppp-o. Eles s ao usados para iniciar e parar, respectivamente, a conex ao PPP. Os dois programas est ao em /usr/sbin e precisam de privil egios de root para serem executados. /etc/ppp Para a maioria dos usu arios, rodar o pppsetup ser a o suciente. Entretanto, podem haver circunst ancias onde voc e precisar a preparar um conjunto de valores a serem usados pelo daemon do PPP. Todas as informa c oes de congura c ao cam em /etc/ppp. Aqui est a uma lista do que voc e pode encontrar para diferentes arquivos:

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

Esse script e executado pelo pppd ap os o encerramento da conex ao PPP. Esse script e executado pelo pppd quando ocorre sucesso em uma conex ao ppp. Coloq Op c oes gerais para congura c ao do pppd. Op c oes gerais de congura c ao do pppd quando executado no modo de discagem por de Os comandos enviados para o modem. Um log dos seus dados de entrada, quando executou o pppsetup.

NOTA: A maioria desses arquivos n ao estar ao l a at e depois da execu c ao do pppsetup.

5.5

Wireless

As redes sem o ainda s ao coisas relativamente novas no mundo dos computadores mesmo com o grande crescimento no n umero de pessoas que compram laptops e esperam encontrar redes por onde passem, sem se preocuparem com o seu velho cabo de par tran cado. E essa tend encia n ao parece estar diminuindo o ritmo. Infelizmente, as redes sem o n ao s ao ainda t ao bem suportadas no Linux, a exemplo das redes cabeadas tradicionais. Existem tr es passos b asicos no processo de congura c ao de uma placa de rede sem o: Suporte ao hardware das placas de rede sem o Congura c ao da placa para conectar um ponto de acesso sem o Congura c ao da rede 5.5.1 Suporte ao Hardware

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

46

DE REDE CAP ITULO 5. CONFIGURAC AO

via /etc/rc.d/rc.modules. O netcong pode n ao detectar sua placa de rede sem o. Nesses casos voc e provavelmente precisar a determinar pessoalmente qual o m odulo da sua placa. Procure mais informa c oes sobre drivers para o kernel de v arias placas de rede sem o, em http://www.hpl.hp.com/personal/Jean Tourrilhes/Linux/.

5.5.2

Congura c ao da rede sem o

A vasta maioria desse trabalho e feito pelo iwcong, como sempre voc e pode ler o manual (com poderes de root, digite man iwcong no terminal) do iwcong se voc e precisa de mais informa c oes. Antes de tudo, voc e precisar a congurar o seu ponto de acesso sem o. Pontos de acesso sem o possuem uma pequena varia c ao em suas terminologias, e formas de congura c ao, ent ao voc e talvez precise se mexer um pouco para se acostumar ao seu hardware. Em geral, voc e precisar a pelo menos das seguintes informa c oes: A ID do dom nios, ou o nome da rede (chamado de ESSID pelo iwcong ) O canal que o ponto de acesso utiliza As informa c oes relativas ` a criptograa, incluindo todas as chaves utilizadas (preferencialmente em hexadecimal) AVISO: UMA NOTA A RESPEITO DO WEP. O WEP e bastante fraco, mas e muito melhor do que n ao usar nada. Se voc e deseja um grau avan cado de seguran ca na sua rede sem o, voc e pode estudar VPNs ou IPSec. Ambos est ao fora do escopo deste documento. Voc e pode tamb em congurar seu ponto de acesso para n ao publicar sua ID de dom nio/ESSID. Uma discuss ao mais completa a respeito de pol ticas de redes sem o est a al em do escopo desta se c ao, mas uma busca r apida no Google retornar a mais do que voc e esperava aprender. Uma vez que voc e tenha coletado as informa c oes acima, e assumindo que voc e usou o modprobe para carregar o driver apropriado no kernel, voc e pode editar o rc.wireless.conf e adicionar suas informa c oes. O arquivo rc.wireless.conf e um pouco desorganizado. Um esfor co m nimo seria modicar a se c ao gen erica com a sua ESSID, KEY, e CHANNEL, se isso for necess ario ` a sua placa. (Tente n ao congurar o CHANNEL, e, se funcionar, otimo! Se n ao funcionar, congure o CHANNEL de forma apropriada.) Se voc e for audacioso pode modicar o arquivo de forma que apenas as vari aveis necess arias sejam utilizadas. Os nomes das vari aveis no rc.wireless.conf correspondem aos par ametros do iwcong. S ao lidos pelo rc.wireless e utilizados nos comandos iwcong apropriados. Se voc e tem sua chave em hexadecimal, o que e o ideal, ser a poss vel trabalhar de forma bastante condencial, uma vez que seu ponto de acesso e o iwcong estar ao com a chave acordada. Se voc e tem apenas uma sequ encia de caracteres, pode ter certeza que o seu ponto de acesso a traduzir a para uma chave em hexadecimal. Nesse caso pode ser necess ario algum trabalho para descobr -la (ou coloque sua chave do ponto de acesso em hexadecimal). Uma vez que voc e modicou o rc.wireless.conf, execute o rc.wireless como root, e ent ao rode o rc.inet1, novamente como root. Voc e pode testar sua rede sem o com as ferramentas padr oes de testes, como o ping, junto com o iwcong. Se voc e tem uma interfaces que usem cabo, pode usar, se desejar, o ifcong para desativ alas enquanto estiver testando sua rede sem o, para ter certeza de n ao estar havendo nenhuma

5.6. SISTEMAS DE ARQUIVO DE REDE

47

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

# 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 e feito exatamente da mesma maneira como era feito nas redes cabeadas. Simplesmente consulte a primeira parte desse cap tulo.

5.6

Sistemas de Arquivo de Rede

Nesse ponto, voc e j a deve ter uma conex ao TCP/IP trabalhando na sua rede. Voc e deve estar conseguindo enviar pings para outros computadores na sua rede interna e, se voc e congurou corretamente o gateway, deve tamb em conseguir pingar computadores da pr opria Internet. Como sabemos, o fator b asico que nos leva a ligar umcomputador em uma rede e a possibilidade de acessar informa c oes. Enquanto algumas pessoas podem colocar seu computador numa 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 e um bom inic o para tal, mas apenas com o TCP/IP instalado, as funcionalidades dispon veis ser ao muito rudimentares. Para compartilhar arquivos, n os precisaremos usar o FTP ou o SCP para tranfer -los para l a e para c a. N ao podemos 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, n os tamb em gostar amos de acessar arquivos em outras m aquinas Unix. Idealmente, n os gostar amos de poder usar um sistema de arquivos de rede que nos permitisse acessar transparentemente nossos arquivos em outros computadores. Os programas que n os usamos para interagir com informa c oes armazenadas em nosso computador n ao precisam, na verdade, saber em qual computador um dado arquivo est a armazenado; eles apenas preci responsabilidade do sistema operacional gerenciar o sam saber que ele existe e como peg a-lo. E acesso a arquivos atrav es do sistema de arquivos dispon vel e dos sistemas de arquivo de rede. Os dois sistemas de arquivo de rede utilizados mais comumente s ao o SMB (que e implementado pelo Samba) e o NFS.

48

DE REDE CAP ITULO 5. CONFIGURAC AO

5.6.1

SMB/Samba/CIFS

O SMB (de Server Message Block) e um descendente do antigo protocolo NetBIOS, que foi inicialmente utilizado pela IBM em seus produtos gerentes de redes locais. A Microsoft tamb em sempre se interessou bastante pelo NetBIOS e seus sucessores (NetBEUI, SMB e CIFS).O projeto Samba existe desde 1991, quando ele foi escrito originalmente para ligar um IBM PC rodando NetBIOS com um servidor Unix. Atualmente o SMB e o m etodo preferido para compartilhamento de arquivos e servi cos de impress ao sobre uma rede para, virtualmente, toda a popula c ao mundial, devido seu suporte ao Windows. O arquivo de congura c ao do Samba e o /etc/samba/smb.conf ; um dos mais arquivos de congura c ao mais bem comentado e documentado que voc e ir a encontrar em qualquer lugar. Exemplos de compartilhamento s ao congurados para sua visualiza c ao, e modica c ao, se necess ario. Se voc e precisa ter um controle preciso, o man (manual) do smb.conf e indispens avel. Uma vez que o Samba e t ao bem documentado, conforme mencionamos acima, n ao iremos reescrever a documenta c ao aqui. Iremos, no entanto, cobrir rapidamente os pontos b asicos. O smb.conf e repartido em m ultiplas se c oes: uma se c ao para compartilhamento, e uma se c ao global para op c oes de congura c ao que v alida para todo o escopo do Samba. Algumas op c oes s ao aceitas apenas na se c ao global; outras s ao v alidas apenas fora da se c ao global. Lembrese que a se c ao global pode ser sobreposta por qualquer outra se c ao. Consulte as p aginas do manual (man pages) para mais informa c oes. Voc e vai se sentir mais confort avel se editar seu smb.conf de forma a reetir as congura c oes da sua rede local. Sugerimos a modica c ao dos 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 e esteja usando localmente. # server string is the equivalent of the NT Description field server string = Samba Server< Esse ser a o nome do seu Slackware, quando mostrado na pasta de computadores vizinhos (ou 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 e vai querer implementar o n vel de seguran ca por usu ario no seu 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 n ao est ao ativadas, voc e n ao poder a usar o Samba com os Windows NT 4.0, 2000, XP, e 2003. A princ pio, o sistema operacional Windows n ao requer encripta c ao para compartilhamento de arquivos. O SMB e um protocolo de autentica c ao, o que signica que e necess ario a entrada de um usu ario e senha corretos, a m de usar este servi co. N os avisamos ao servidor samba que os usu arios e senhas v alidos est ao v alidos com o comando smbpasswd. O smbpasswd realiza um par de testes de verica c ao quando da adi c ao tradicional de usu arios, ou da adi c ao de usu arios da m aquina (o SMB requer que voc e adicione os nomes dos computadores com NETBIOS como m aquinas usu arias, restringindo que computares podem autenticar). Adicionando um usu ario ao arquivo /etc/samba/private/smbpasswd. # smbpasswd -a user Adicionando um nome de m aquina ao arquivo /etc/samba/private/smbpasswd. # smbpasswd -a -m machine importante notar que um dado usu E ario ou nome de m aquina precisam existir previamente no arquivo /etc/passwd. Voc e pode realizar isso de maneira simples, com o comando adduser. Note que quando usamos o comando adduser para adicionar um nome de m aquina precisamos p os-xar um sinal de d olar ($) ao nome da m aquina. Entretanto, isso n ao e feito com o smbpasswd.O pr oprio smbpasswd se responsabiliza pelo sinal de d olar p os-xo. Se houver falhas no processo de inser c ao do nome da m aquina com o adduser teremos como resultado um erro, quando adicionarmos o nome da m aquina no samba. # adduser machine 5.6.2 Network File System (NFS)

O NFS (ou Sistema de Arquivos de Redes) foi originalmente escrito pela Sun para sua implementa c ao do Unix, o Solaris. Ao mesmo tempo que ele e signicativamente mais f acil de adquirir e rodar, quando comparado ao SMB, tamb em e signicativamente menos seguro. A principal vunerabilidade no NFS e que ele e facilmente atingido por t ecnicas de spoof de usu arios ou identicadores de grupo de uma m aquina para outra. O NFS e um protocolo que n ao implementa autentica c ao. Vers oes futuras do protocolo NFS est ao elaborando melhorias de seguran ca, mas elas n ao s ao comuns at e a presente data. A congura c ao do NFS e controlada pelo arquivo /etc/exports. Se voc e carregar o /etc/exports padr ao em um editor, ver a um arquivo em branco com duas linhas comentadas na parte mais superior. Precisaremos adicionar uma linha no arquivo de exporta c ao para cada diret orio que quisermos exportar, com uma lista das esta c oes de trabalho clientes para as quais desejemos permitir o acesso aos arquivos. Por hora, se quisermos exportar o diret orio /home/diretorio para a esta c ao de trabalho pc1, podemos simplesmente adicionar a linha: /home/diretorio pc1(rw) no nosso /etc/exports. A seguir, voc e ver a um exemplo encontrado 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

DE REDE CAP ITULO 5. CONFIGURAC AO

Como voc e pode ver, h a v arias op c oes dispon veis, e a maioria delas est a representada claramente nesse exemplo. O NFS assume que um dado usu ario em uma m aquina tem o mesmo user ID (n umero interno ao sistema operacional, que identica um usu ario) em todas as m aquinas na rede. Quando uma consulta de leitura ou escrita de um cliente NFS para um servidor NFS, um UID (user ID) e passada como parte da requisi c ao de leitura/escrita. Esse UID e tratatada da mesma forma de uma requisi c ao de leitura/escrita originada na m aquina local. Como voc e pode ver, se algu em, 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 diret orio ario que alegue ser e montado com a op c ao root squash. Isso mapeia o UID para qualquer usu root para um UID diferente, prevenindo ent ao o acesso de root a arquivos ou pastas no diret orio exportado. A op c ao root squash para estar inicialmente habilitada como uma medida de seguran ca, mas os autores recomendam sua especica c ao individualmente para todos os diret orios no /etc/exports. Voc e pode tamb em exportar um diret orio diretamente utilizando a linha de comando no servidor usando o comando exportfs, como segue: # exportfs -o rw,no\_root\_squash pc1:/home/diretorio Essa linha exporta o diret orio /home/diretorio para o computador pc1 e concede acesso de leitura/escrita ` a m aquina de nome pc1. A t tulo de informa c ao o servidor NFS n ao invocar ao ario do pc1, com o UID igual a 0 (UID do root) root squash, o que signica que qualquer usu ter a os mesmo privil egios de root no servidor. A s ntaxe parece mesmo um pouco estranha (geralmente quando um diret orio e especicado na s ntaxe computador:/diretorio/arquivo, voc e est a se referindo a um arquivo em um diret orio, em um dado computador). Voc e pode obter mais informa c oes no manual (man page) do arquivo exports.

Cap tulo 6

Congurara c ao do X
Come cando com o Slackware-10.0, o Ambiente de Janelas X e fornecido pelo Xorg. O X eo respons avel por fornecer uma interface para o usu ario, a qual, diferentemente do Windows ou do MacOS, e independente do sistema operacional. O Sistema X Window e implementado atrav es de diversos programas executados no ambiente do usu ario. Os dois principais componentes s ao o servidor e o gerenciador de janelas. O servidor fornece as fun c oes de baixo n vel para interagir com seu dispositivo de v deo, sendo dessa forma espec co para cada sistema. O gerenciador de janelas est a acima do servidor e prov e a interface do usu ario. A vantagem disso e que voc e pode ter muitas interfaces de usu ario diferentes, simplesmente trocando o gerenciador de janelas que voc e usa. Congurar o X pode ser uma tarefa complexa. O motivo dessa complexidade e o grande n umero de dispostivos de v deo dispon veis para a arquitetura PC, os quais usam interfaces de programa c ao diferentes. Felizmente, muitas das placas, hoje em dia, suportam os padr oes b asicos de v deo, conhecidos como VESA e se sua placa est a entre essas, voc e ser a capaz de iniciar o X utilizando o comando startx, logo ap os a instala c ao. Caso isso n ao funcione ou voc e queira obter as vantagens das caracter sticas de alta-performance de sua placa, como acelera c ao ou renderiza c ao 3-D via hardware, ent ao ser a necess ario recongurar o X. Para congurar o X, ser a necess ario criar o arquivo /etc/X11/xorg.conf. Esse arquivo cont em muitos detalhes sobre seu dispositivo de v deo, mouse e monitor. E um arquivo de congura c ao muito complexo, mas, felizmente, existem programas para ajudar na cria c ao de um para voc e. Iremos mencionar alguns deles aqui.

6.1

xorgcong

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

52

DO X CAP ITULO 6. CONFIGURARAC AO

xorgcong - Congura c ao do Mouse

Selecione o seu mouse a partir do menu apresentado. Caso seu mouse serial n ao esteja listado, selecione o protocolo Microsoft e o mais comum e provavelmente funcionar a. Em seguida, xorgcong ir a lhe perguntar se deseja ativar as op c oes ChordMiddle e Emulate3Buttons ; essas op c oes estar ao descritas em detalhes na tela. Use-as caso o bot ao do meios de seu mouse n ao funcionse sob o X, ou caso seu mouse somente tenha dois bot oes (Emulate3Buttons permite a simula c ao do bot ao do meio atrav as do pressionamento de ambos os bot oes simultaneamente). Ent ao, entre com o nome do arquivos de dispositivo de seu mouse; a escolha padr ao, /dev/mouse, deve funcionar desde que a liga c ao tenha sido escolhida durante a congura c ao do Slackware. Se voc e estiver executando o GPM (o servidor de mouse do Linux) no modo de repeti c ao, voc e poder a congurar o tipo de seu mouse para /dev/gpmdata, de modo que o X obt em informa c oes de seu mouse atrav es do gpm (8). Em alguns casos (especialmente com o busmice) isso pode funcionar melhor, mas muitos dos usu arios n ao devem fazer isso.

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

6.1. XORGCONFIG

53

xorgcong - Sincronia Horizontal

Na pr oxima se c ao voc e informar a o intervalo de sincronia horizontal de seu monitor. Para iniciar a congura c ao de seu monitor, pressione ENTER. Voc e ver a uma lista de tipos de monitores escolha um deles. Tenha cautela para n ao exceder a especica c ao de seu monitor, isso poder a danic a-lo.

xorgcong - Sincronia Vertical

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

54

DO X CAP ITULO 6. CONFIGURARAC AO

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

6.2

xorgsetup

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

6.3

xinitrc

O xinit (1) e o programa que inicia o X; ele e chamado pelo startx (1), ent ao voc e n ao deve ter notado-o (e provavelmente nem precisava). Seu arquivo de congura c ao, no entanto, determina quais programas (incluindo especialmente os gerenciadores de janela) s ao executados quando o X inicia. xinit primeiramente verica seu diret orio pessoal em busca do arquivo .xinitrc. Caso

6.3. XINITRC

55

o arquivo seja encontrado, e executado; caso contr ario, /var/X11R6/lib/xinit/xinitrc (o padr ao global do sistema) e utilizado. Segue um exemplo simples do arquivo xinitrc : #!/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~ ao 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 ifs ao para mesclar v arias congura c oes de outros arquivos. A parte interessante do arquivo e o nal, onde v arios programas s ao executados. Esta sess ao do X vai come car com o gerenciador de janelas twm (1), um rel ogio e tr es terminais. Note que o exec antes do u ltimo xterm sobrep oe a shell em execu c ao, na qual est a executando este script xinitrc, com o comando xterm (1). Assim, quando o usu ario fechar o xterm, a sess ao do X ir a terminar. Para personalizar a incializa c ao do X, copie o arquivo padr ao /var/X11R6/lib/xinit/xinitrc para /.xinitrc e o edite, substituindo as suas linhas pelo que voc e desejar. O nal do meu e simples: # Inicia o gerenciador de janelas: exec startkde Note que existem diversos arquivos xinitrc.* em /var/X11R6/lib/xinit, os quais correspondem aos v arios gerenciadores de janela e interfaces do usu ario. Voc e pode usar qualquer um deles, caso deseje.

56

DO X CAP ITULO 6. CONFIGURARAC AO

6.4

xwmcong

Durante anos, o Unix foi usado, quase que exclusivamente, como sistema operacional para servidores, com a exce c ao das poderosas esta c oes de trabalho. Somente os t ecnicos estavam familiarizados com o uso de um sistema operacional Unix (e suas varia c oes) e as interfaces para o usu ario reetiam esse fato. As interfaces gr acas tendiam para ser, de longe, esqueletos, desenhados para executar poucas aplica c oes gr acas, tais como programas CAD e renderizadores 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 esta c oes que tentavam ter uma aparencia (look and feel) coesiva, mas a grande variedade de Toolkits (conjunto de componentes para uma interface gr aca) usadas por desenvolvedores levou para a dissolu c ao da uniformidade dos ambientes gr acos. Dessa forma, uma barra de rolagem pode n ao parecer igual em duas aplica c oes diferentes; menus podem aparecer em diferentes lugares; programas podem ter diferentes bot oes e caixas de checagem; havia um grande intervalo de cores e estas eram especicadas no c odigo de cada toolkit. Como os usu arios eram primariamente t ecnicos prossionais, isso n ao importava muito. Com o advento de sistemas operacionais gratuitos baseados no Unix e o crescente n umero e variedade de aplica c oes gr acas, o X recentemente ganhou uma grande base de usu arios no desktop. Muitos usu arios, obviamente, est ao acostumados com a apar encia consistente fornecida pelo Microsoft Windows ou pelo Apple MacOS; a falta de tal consist encia em aplica c oes baseadas no X se tornou uma barreira para sua aceita c ao. Em resposta, dois projetos de c odigo 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 aplica c oes, que v ao desde a barra de tarefas e gerenciadores de arquivo at e jogos e suites de escrit orio, escritas com os mesmos Toolkits da interface e integradas para prover uma area de trabalho uniforme e consistente. A diferen ca entre o KDE e GNOME s ao de longe, grandes. Eles se parecem diferente um do outro por causa da utiliza c ao de diferentes Toolkits. O KDE se baseia na biblioteca gr aca QT (da Trolltech AS) enquanto o GNOME usa a GTK, uma biblioteca gr aca originalmente desenvolvida para o GIMP (em portugu es, programa de manipula c ao de imagens GNU). Como projetos separados, o KDE e o GNOME t em seus pr oprios desenvolvedores e analistas. O resultado em cada caso, no entanto, tem sido fundamentalmente o mesmo: um ambiente consistente, uma area de trabalho integrada e uma grande cole c ao de aplicativos. A funcionalidade, usabilidade e detalhes de ambos n ao e rival de nenhum outro sistema operacional dispon vel. A melhor parte, no entando, e que esses ambientes avan cados s ao gratuitos. Isso signica que voc e pode ter um ou ambos (sim! ao mesmo tempo). A escolha e sua. Em adi c ao aos ambientes GNOME e KDE, o Slackware inclui uma grande cole c ao de gerenciadores de janela. Alguns s ao feitos para emular outros sistemas, outros para personaliza c ao e outros para se obter o m aximo de desempenho. Existe uma variedade um tanto quanto grande. Obviamente, voc e pode instalar quantos quiser e, mecher com todos e decidir qual voc e gostou mais. Para facilitar a sele c ao de ambientes de area de trabalho, O Slackware tamb em incluiu um programa chamado xwmcong que pode ser utilizado para selecionar o ambiente de area de trabalho ou gerenciador de janelas. Veja a seguir sua execu c ao:

$ xwmconfig

6.5. XDM

57

Voc e receber a uma lista de todos os ambientes de area de trabalho e gerenciadores de janelas dispon veis no sistema. Somente selecione da lista o qual deseja. Cada usu ario precisar a executar este programa, uma vez que diferentes usu arios podem usar diferentes ambientes de area de trabalho, e nem todos v ao querer o ambiente selecionado por voc e na instala c ao. Ent ao apenas inicie o X e estar a pronto.

6.5

xdm

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

58

DO X CAP ITULO 6. CONFIGURARAC AO

6 = reinicializa c~ ao

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

6.5. XDM

59

Qualquer linha precedida por um sustenido (#) s ao consideradas coment arios e o interpretador de comandos passa silenciosamente por elas. No entando, mesmo se o gdm est a instalado e e execut avel, o interpretador de comandos (nesse caso o bash ) n ao vai se importar em checar isso.

60

DO X CAP ITULO 6. CONFIGURARAC AO

Cap tulo 7

Processo de Boot
O processo de boot de seu sistema Linux pode tanto ser f acil quanto dif cil. Muitos usu arios instalam o Slackware em seus computadores e pronto. Eles simplesmente o ligam e j a est a pronto para ser usado. Para outros, o simples ato de dar boot na m aquina pode ser uma dor de cabe ca. Para a maioria dos usu arios, o LILO funciona melhor. O Slackware inclui o LILO e o LOADLIN para inicializar o Slackware Linux. O LILO funciona a partir de uma parti c ao de um disco r gido, da MBR de um disco r gido, ou de um disquete, o que o torna uma ferramenta vers atil. O LOADLIN funciona a partir de uma linha de comando DOS, substituindo o DOS e chamando o Linux. Outro utilit ario popular para inicializar o Linux e o GRUB. O GRUB n ao est a inclu do nem e suportado ocialmente pelo Slackware. O Slackware mant em o padr ao testado e aprovado em tudo o que e inclu do na distribui c ao. Apesar do GRUB funcionar bem e incluir algumas funcionalidades que o LILO n ao possui, o LILO realiza todas as tarefas essenciais de um sistema de boot de forma con avel e comprovada. Por ser mais recente, o GRUB ainda n ao conseguiu este legado. J a que n ao e inclu do no Slackware, n ao vamos discutir sobre ele aqui. Se voc e quiser usar o GRUB (talvez tenha vindo com outro sistema Linux e voc e queira us a-lo para dual boot), consulte a documenta c ao do GRUB. Esta sess ao cobre o uso do LILO e do LOADLIN, os dois gerenciadores de boot inclu dos no Slackware. Aqui tamb em vemos alguns cen arios t picos de dual boot e como congur a-los.

7.1

LILO

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

62

CAP ITULO 7. PROCESSO DE BOOT

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

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

7.2. LOADLIN

63

sitema usando este disquete. As falhas deste sistema s ao obvias. Os disquetes s ao conhecidos por serem fr ageis, propensos a dar defeitos. Al em disso, o gerenciador de boot n ao est a mais contido no computador. Se voc e perder o seu disquete, ter a que fazer outro para inicializar o o seu sistema. MBR Este m etodo e escolhido quando o Slackware e o u nico sistema operacional em seu computador, ou se o LILO for usado para escolher entre m ultiplos sistemas operacionais em seu computador. Este e o m etodo recomendado para a instala c ao do LILO e funciona em quase qualquer sistema. AVISO: Esta op c ao sobreescreve qualquer outro gerenciador de boot que porventura exista na MBR. Ap os a sele c ao do local de instala c ao, o lilocong cria o arquivo de congura c ao e instala o LILO. E pronto. Se escolher o modo expert, e apresentado um menu especial. Este menu permite fazer ajustes avan cados no arquivo /etc/lilo.conf, adiconar outros sistemas operacionais no seu menu de boot, e ajustar o LILO para passar par ametros especiais ao kernel durante o boot. O menu expert se parece com a gura abaixo:

lilocong - Menu Expert Qualquer que seja a congura c ao do seu sistema, e f acil congurar um gerenciador de boot que funcione. O lilocong torna essa tarefa uma moleza.

7.2

LOADLIN

A outra op c ao para a inicializa c ao que vem com o Slackware Linux e o LOADLIN. O LOADLIN e um execut avel DOS que pode ser usado para iniciar o Linux a partir de um sistema DOS em execu c ao. Ele requer que o kernel do Linux esteja na parti c ao DOS para que o LOADLIN possa carreg a-lo e inicializar o sistema adequadamente.

64

CAP ITULO 7. PROCESSO DE BOOT

Durante o processo de boot, o LOADLIN e copiado para o diret orio home do usu ario root como um arquivo .ZIP. N ao h a um processo de instala c ao autom atica para o LOADLIN. e necess ario copiar o kernel do Linux (geralmente /boot/vmlinuz ) e o arquivo LOADLIN do diret orio home do usu ario root para a parti c ao do DOS. O LOADLIN eu til quando se deseja fazer um menu de boot em sua parti c ao DOS. Pode-se adicionar um menu ao seu arquivo AUTOEXEC.BAT para permitir a escolha entre o Linux e o DOS. Escolhendo o Linux o LOADLIN e executado, assim inicializando o seu sistema Slackware. O exemplo abaixo do arquivo AUTOEXEC.BAT para o Windows 95 cria um menu de boot satisfat orio: @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 c~ ao root> RO GOTO END :END Especique a sua parti c ao root com o nome do dispositivo no Linux, tal como /dev/hda2 ou algo semelhante. Voc e tamb em pode usar o LOADLIN a partir da linha de comando. Simplesmente use-o como no exemplo acima. A documenta c ao do LOADLIN possui muitos exemplos sobre o seu uso.

7.3

Dual Boot

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

7.3.1

Windows

Provavelmente o cen ario mais comum de dual boot e com o MS Windows e o Linux. H a v arias maneiras de se congurar a inicializa c ao, mas esta sess ao abranger a duas delas.

7.3. DUAL BOOT

65

` vezes, ao congurar um sistema com dual boot se cria um plano perfeito em rela As c ao a onde tudo vai car, mas se confunde a ordem de instala c ao. e muito importante compreender 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, e gravado na MBR (Master Boot Record - Registro Principal de Inicializa c ao). Portanto, e aconselh avel instalar o Linux por u ltimo. O Windows deve ser instalado primeiro, j a que ele sempre grava seu gerenciador de boot na MBR, sobreescrevendo as congura c oes porventura gravadas pelo Linux. Usando o LILO A maioria dos usu arios preferem usar o LILO para escolher entre o Linux e o Windows. Como foi citado acima, instale primeiramente o Windows, e, ent ao, o Linux. Digamos que o u nico drive no seu sistema seja um disco r gido IDE de 40GB. Suponhamos tamb em que voc e queira deixar a metade do espa co para o Windows e a outra metade para o Linux. Haver a um problema ao tentar iniciar o Linux.

20GB 1GB 19GB

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

Voc e deve separar tamb em um espa co adequado para uma parti c ao de troca (swap) para o Linux. A regra geral e usar o dobro da quantidade de mem oria RAM. Um sistema com 64MB deve ter 128MB de swap, e assim por diante. O espa co de swap adequado e alvo de muitas discuss oes inamadas no IRC e na Usenet. Na verdade n ao h a uma forma correta de fazer, mas a regra acima deve ser satisfat oria. Com as suas parti c oes prontas, comece a instala c ao do Windows. Depois que estiver congurado e funcionando, instale o Linux. A instala c ao do LILO requer aten c ao especial. Talvez voc e prera escolher o modo expert para instalar o LILO. Inicie uma nova congura c ao do LILO. Prera instalar na MBR para que possa ser usado para escolher entre ambos os sistemas operacionais. No menu, adicione a sua parti c ao Linux e a sua parti c ao Windows (ou DOS). Assim que este passo estiver completo, pode instalar o LILO. 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 congura c ao do LILO). O LILO e um gerenciador de boot altamente congur avel. Ele n ao se limita a iniciar o Linux ou o DOS. Ele pode iniciar praticamente qualquer coisa. As p aginas de manual do lilo (8) e do lilo.conf (5) fornecem informa c oes mais detalhadas. E se o LILO n ao funcionar? H a casos onde o LILO n ao funciona em uma m aquina espec ca. Felizmente, h a outra maneira de fazer dual boot entre o Linux e o Windows. Usando o LOADLIN Este m etodo pode ser usado se o LILO n ao funcionar em seu sistema, ou se voc e n ao quiser congurar o LILO. Este m etodo tamb em e ideal para o usu ario que reinstala o Windows freq uentemente. A cada reinstala c ao do Windows, ele sobreescreve A MBR, assim destruindo

66

CAP ITULO 7. PROCESSO DE BOOT

a instala c ao do LILO. Com o LOADLIN, voc e n ao est a sujeito a esse problema. A maior desvantagem e que o LOADLIN somente pode ser usado para iniciar o Linux. Com o LOADLIN, os sistemas operacionais podem ser instalados em qualquer ordem. Cuidado para n ao fazer instala c oes na MBR, voc e n ao quer fazer isso. O LOADLIN depende de que a parti c ao do Windows seja inicializ avel. Ent ao, durante a instala c ao do Slackware, assegure-se de pular a congura c ao do LILO. Ap os a instala c ao dos sistemas operacionais, copie o arquivo loadlin X.zip (onde X e o n umero da vers ao, tal como 16a ) do diret orio home do usu ario root para a sua parti c ao Windows. Copie tamb em a imagem do seu kernel para a parti c ao do Windows. Para isso funcionar, e necess ario estar no Linux. O exemplo abaixo mostra como fazer isso: # # # # # # # # 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

criado um diret E orio C:\LINUX em sua parti c ao Windows (supondo que seja /dev/hda1 ) e tudo que e necess ario ao LOADLIN e copiado. Ap os isso, e necess ario reiniciar o Windows 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 n ao iniciar na interface gr aca. 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 e a que chama o LOADLIN. Dizemos qual kernel carregar, a parti c ao root do Linux, e que inicialmente queremos que seja montada somente para leitura. As ferramentas necess arias para esse m etodo s ao fornecidas com o Slackware Linux. H a v arios outros gerenciadores de boot no mercado, mas esses devem funcionar ma maioria das congura c oes de dual boot. Esta e a situa c ao de dual boot menos comum. Nos velhos tempos do o LILO n ao conseguia iniciar o Windows NT, o que requeria que os usu arios do Linux alterassem a NTLDR, que apresentava muito mais problemas do que o dual boot entre o Windows 9x e o Linux. Esteja ciente de que as instru c oes abaixo est ao ultrapassadas. O LILO j a consegue iniciar o Windows NT/2000/XP/2003 h a v arios anos. Contudo, se voc e estiver usando uma m aquina antiga, este procedimento pode ser necess ario. Instale o Windows NT Instale o Linux, assegurando-se de que o LILO seja instalado no superbloco da parti c ao do Linux Coloque os primeiros 512 bytes da parti c ao root do Linux na parti c ao do Windows NT Edite o C:\BOOT.INI sob o Windows NT para adicionar uma op c ao para o Linux A instala c ao do Windows NT deve ser bem direta, assim como deve ser a instala c ao do Linux. A partir desse ponto, ca mais complicado. Pegar os primeiros 512 bytes da parti c ao do Linux e mais f acil do que parece. Para isso, voc e precisa estar no Linux. Supondo que a sua parti c ao Linux seja /dev/hda2, digite o comando: # dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512 S o isso. Agora voc e precisa copiar o bootsect.lnx para a parti c ao do Windows NT. Aqui ocorre outro problema. O Linux n ao possui suporte est avel para grava c ao em sistemas NTFS. Se voc e tiver instalado o Windows NT e formatado o seu drive como NTFS, ser a necess ario copiar esse arquivo para um disquete com FAT e ent ao ler a partir dele no Windows NT. Se voc e tiver formatado o drive do Windows NT como FAT, pode simplesmente mont a-lo no Linux e copiar o arquivo. De qualquer modo, copie o /tmp/bootsect.lnx do Linux para C:\BOOTSECT.LNX no Windows NT. Ou ltimo passo e adicionar uma op c ao no menu de boot do Windows NT. No Windows NT, 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 altera c oes e saia do editor. Ao reiniciar o Windows NT, aparecer a uma op c ao para o Linux no menu. Selecione-a para iniciar o Linux.

7.3.2

Linux

Sim, isso realmente e feito. Denitivamente, este e o cen ario de dual boot mais simples. 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 gr aco, a interface e apresentada por um programa que cria janelas, barras de rolagem, menus, etc. Em um ambiente de linha de comando, a interface com o usu ario e apresentada por um shell, que interpreta os comandos e geralmente torna as coisas u teis. Imediatamente ap os entrar no sistema (o que e visto neste cap tulo), os usu arios s ao colocados em um shell e podem fazer o seu trabalho. Este cap tulo serve como uma introdu c ao ao shell, e ao shell mais comum entre os usu arios do Linux - o Bourne Again Shell (bash). Para maiores informa c oes sobre qualquer t opico deste cap tulo, veja a p agina de manual do bash (1).

8.1
8.1.1

Os Usu arios
Entrando no Sistema

Ent ao voc e iniciou o Linux, e est a olhando para algo que se parece com isso: Welcome to Linux 2.4.18 Last login: Wed Jan 1 15:59:14 -0500 2005 on tty6. darkstar login: H a... ningu em disse nada sobre um login. E o que e darkstar? N ao se preocupe; provavelmente voc e n ao abriu acidentalmente um link de comunica c ao espacial com a lua articial do Imp erio. (Infelizmente, o protocolo de link de comunica c ao espacial ainda n ao tem suporte no kernel do Linux. Talvez a s erie 2.8 do kernel nalmente tenha suporte a esse protocolo t ao esperado.) N ao, darkstar e apenas o nome de um dos nossos computadores, e seu nome aparece por padr ao. Se voc e tiver especicado um nome para o seu computador durante a congura c ao, ele deve ser exibido em vez de darkstar. Quanto ao login... Se for a sua primeira vez, voc e deve entrar como root. Ser a pedida uma senha; se voc e tiver criado uma durante o processo de congura c ao, e essa senha que ser a pedida. Se n ao, simplesmente pressione enter. Isso a - voc e entrou!

8.1.2

Root: O Super Usu ario

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

70

CAP ITULO 8. O SHELL

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

8.2
8.2.1

A Linha de Comando
Executando Programas

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

8.2. A LINHA DE COMANDO

71

8.2.2

Substitui c ao de Meta-Caracteres

Quase todo shell reconhece alguns caracteres como substitutos ou abrevia c oes que signicam que qualquer caracter encaixa aqui. Estes caracteres s ao chamados de meta-caracteres; os mais comuns s ao * e ?. Por conven c ao, o ? geralmente substitui qualquer caractere u nico. Por exemplo, suponha que esteja em um diret orio com tr es arquivos: ex1.txt, ex2.txt, e ex3.txt. c ao 10.5.1) para outro Voc e quer copiar todos estes arquivos (usando o comando cp visto na se diret orio, digamos /tmp. Bem, digitar cp ex1.txt ex2.txt ex3.txt /tmp e trabalhoso demais. E muito mais f acil digitar cp ex?.txt /tmp ; o ? combina com qualquer um dos caracteres 1, 2, e 3, e cada um, por sua vez, ser a substitu do. O que disse? Isto ainda d a muito trabalho? Voc e est a certo. Isto e assustador; temos leis trabalhistas para nos proteger deste tipo de coisa. Felizmente, tamb em temos o *. Como j a foi mencionado, o * substitui qualquer n umero de caracteres, inclusive 0. Ent ao se aqueles tr es arquivos fossem os u nicos no diret orio, poder amos simplesmente dizer cp * /tmp e pegar todos com um s o golpe. Suponha, contudo, que tamb em exista um arquivo chamado ex.txt e um chamado hejaz.txt. Queremos copiar o ex.txt, mas n ao o hejaz.txt ; O cp ex* /tmp faz isso para n os. O cp ex?.txt /tmp, somente iria, e claro, pegar os nossos tr es arquivos originais; n ao h a um caractere em ex.txt para combinar com o ?, ent ao ele caria de fora. Outro meta-caractere comum e o par de colchetes [ ]. Quaisquer caracteres dentro dos colchetes substituem de acordo com o padr ao informado em [ ] para encontrar combina c oes. Parece confuso? N ao e t ao ru m. Suponha, por exemplo, que um diret orio cont em os 8 seguintes arquivos: a1, a2, a3, a4, aA, aB, aC, e aD . Queremos encontrar apenas os arquivos que terminam com n umeros; o [ ] far a isso para n os. $ ls a[1-4] a1 a2 a3 a4 Mas o que realmente queremos e apenas os arquivos a1, a2 e a4 ? no exemplo anterior usamos - signicando todos os valores entre 1 e 4. Tamb em podemos separar entradas individuais usando v rgulas. $ ls a[1,2,4] a1 a2 a4 Sei que agora voc e est a pensando: - Bem, e quanto as letras? O Linux distingue entre mai usculas e min usculas, o que signica que a e diferente de A e que s o s ao relacionados em sua mente. As letras mai usculas sempre v em antes das letras min usculas, ent ao A e B v em antes de a e b. Dando continuidade ao nosso exemplo anterior, se quis essemos os arquivos a1 e A1, podemos encontr a-los rapidamente com o [ ]. $ ls [A,a]1 A1 a1 Observe que se inclu ssemos um h fen em vez de uma v rgula, obter amos resultados incorretos. $ ls [A-a]1 A1 B1 C1 D1 a1 Tamb em pode combinar h fen e v 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 da e Uso do Pipe

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

$ ps | less Este pega a sa da do ps e a manda atrav es do less, ent ao posso subir ou descer a p agina conforme a minha vontade.

$ ps >> blargh Este e o terceiro redirecionador mais usado; ele faz o mesmo que o >, exceto pelo fato de que o >> adiciona a sa da do ps ao nal do arquivo blargh, se este arquivo existir. Se n ao, assim como o >, ele ser a criado. (O > substitui o conte udo atual do arquivo blargh.) Tamb em h a o operador <, que signica pegue a entrada a partir do sa da, mas n ao e usado t ao freq uentemente.

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

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

8.3
8.3.1

O Bourne Again Shell (bash)


Vari aveis de Ambiente

Um sistema Linux e uma fera complexa, e h a muito para se lembrar, muitos pequenos detalhes que fazem diferen ca nas suas intera c oes normais com v arios programas (alguns dos quais voc e n ao deve nem ter ouvido falar). Ningu em precisa passar um monte de op c oes para cada programa que e executado, dizendo a ele que tipo de terminal est a sendo usado, o nome da m aquina, como o seu prompt deve ser... Exemplo: Listando as Vari aveis de Ambiente com o set

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 Ent ao, como um mecanismo de ajuda, os usu arios contam com o que se chama de ambiente. O ambiente dene as condi c oes nas quais os programas s ao executados, e algumas destas deni c oes s ao vari aveis; o usu ario pode alterar e brincar com elas, de forma que s o acontece em um sistema Linux. Praticamente qualquer shell possui vari aveis de ambiente (se n ao, provavelmente n ao e um shell muito u til). Daremos uma vis ao geral dos comandos do bash para a manipula c ao das suas vari aveis de ambiente. O set sozinho exibe todas as vari aveis de ambiente denidas atualmente, assim como seus valores. Como a maioria das fun c oes nativas do bash, tamb em pode fazer v arias outras coisas (com par amentros); deixaremos a p agina de manual do bash (1) cobrir esses detalhes, entretanto. O Exemplo acima mostra um trecho da sa da de um comando set executado em um dos computadores do autor. Observe nesse exemplo a vari avel PATH que foi discutida acima. Os programas de cada um destes diret orios podem ser executados simplesmente digitando-se o nome do arquivo. $ unset VARIAVEL O comando unset remove as vari aveis que voc e indicar, apagando tanto a vari avel quanto o seu conte udo; O bash esquece que a vari avel j a existiu. (N ao se preocupe. A n ao ser que seja algo que voc e deniu explicitamente naquela sess ao do shell, provavelmente ser a redenida em uma outra sess ao.) $ export \textbf{VARIAVEL=algum\_valor} O comando export e realmente pr atico. Usando-o, voc e d a` a vari avel de ambiente VARIAVEL o valor algum valor; se VARIAVEL n ao existia, passa a existir. Se VARIAVEL j a possuir um valor, bem, j a era. Isso n ao e t ao bom se voc e estiver apenas tentando adicionar um diret orio ` a sua vari avel PATH. Neste caso, voc e provavelmente quer fazer alguma coisa como: $ export PATH=\$PATH:\textbf{/um/novo/diretorio} Observe o uso de $PATH aqui: quando se quer que o bash interprete uma vari avel (substitu la por seu valor), adicione um $ ao in cio do nome da vari avel. Por exemplo, echo $PATH exibe 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 a trabalho. Ningu em gosta de trabalho. A partir dos itens 2 e 3, podemos determinar que (4) ningu em gosta de digitar. Felizmente, o bash nos salva do item (5) (Ningu em gosta de uma interface de linha de comando). Voc e est a perguntando como o bash consegue esta proeza maravilhosa? Al em da expans ao 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 e est a digitando o nome de um arquivo. Talvez esteja em seu PATH, talvez voc e esteja digitando explicitamente. Tudo que se precisa e digitar o suciente do nome do arquivo para identic a-lo de forma u nica. Ent ao pressione a tecla TAB. O bash descobre o que voc e quer e termina a digita c ao para voc e! Veja o exemplo. O /usr/src cont em dois subdiret orios: /usr/src/linux e /usr/src/sendmail. Quero ver o que est a em /usr/src/linux. Ent ao simplesmente digito ls /usr/src/l, pressiono a tecla TAB, e o bash me d a o comando ls /usr/src/linux. Agora, suponha que existam dois diret orios /usr/src/linux e /usr/src/linux-old ; Se eu 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 rela c ao de diret orios que combinam com o que j a digitei at e ent ao. Quer dizer, menos digita c ao (e ent ao, as pessoas podem gostar de interfaces de linha de comando). Eu disse que era legal.

8.4

Terminais Virtuais

Voc e est a no meio de um trabalho e decide que precisa fazer outra coisa. Voc e poderia simplesmente parar o que est a fazendo e alternar as tarefas, mas este sistema e multi-usu ario, n ao e? E voc e pode entrar no sistema quantas vezes quiser simultaneamente, n ao pode? Ent ao por que teria que fazer uma coisa de cada vez? N ao precisa. Nem todos n os podemos ter m ultiplos teclados, mouse e monitores para cada m aquina; provavelmente nem queremos ter. Obviamente, hardware n ao e a solu c ao. Sobra para o software, e o Linux se d a bem nesse caso, oferecendo terminais virtuais, ou VTs. Pressionando Alt e uma tecla de fun c ao, voc e pode alternar entre os terminais virtuais; cada tecla de fun c ao corresponde a um deles. Por padr ao, o Slackware tem logins em 6 terminais virtuais. Alt+F2 te leva ao segundo, Alt+F3 ao terceiro, etc. O restante das teclas de fun c ao s ao reservadas para sess oes do X. Cada sess ao do X usa seu pr oprio VT, come cando pelo s etimo (Alt+F7) e assim por diante. No X, a combina c ao

8.4. TERMINAIS VIRTUAIS

75

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

8.4.1

Screen

E quanto ` as situa c oes onde n ao h a terminais virtuais? E ent ao? Felizmente, o Slackware inclui um belo gerenciador de tela oportunamente chamado de screen. O screen e um emulador de terminal que possui capacidades semelhantes ` as de um terminal virtual. Ao executar o screen, uma breve apresenta c ao aparece, ent ao um terminal abre. Diferentemente dos terminais virtuais padr ao, o screen possui seus pr oprios comandos. Todos os comandos do screen s ao precedidos por Crtl+A. Por exemplo, Ctrl+A+C cria uma nova sess ao do terminal. Ctrl+A+N alterna para o pr oximo terminal. Ctrl+A+P alterna para o terminal anterior. O screen tamb em permite sair e retornar a sess oes do screen, o que e especialmente u til em sess oes remotas por ssh e telnet, (maiores detalhes abaixo). Ctrl+A+D sai da tela atualmente em execu c ao. O comando screen -r relaciona todas as sess oes atuais do screen ` as quais voc 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 ` a primeira sess ao listada. Mencionei anteriormente que isso era u til para sess oes remotas. Se eu tivesse logado em um servidor Slackware remoto por ssh, e a minha conex ao ca sse pro algum motivo como falta de energia local, o que quer que 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 sess ao se a minha conex ao cair. Assim que a minha conex ao for restaurada, posso retornar ` a minha sess ao do screen e reiniciar exatamente de onde parei.

76

CAP ITULO 8. O SHELL

Cap tulo 9

Estrutura do Sistema de Arquivos


N os j a discutimos previamente sobre a estrutura de diret orios no Slackware Linux. A partir deste ponto, voc e est a apto a encontrar arquivos e diret orios que precisar. Por em, h a mais sobre sistemas de arquivos que apenas a estrutura de diret orios. O Linux e um sistema operacional multi-usu ario. Todo o aspecto do sistema e multiusu ario, inclusive o sistema de arquivos. O sistema armazena informa c oes sobre quem possui um arquivo e quem pode ler este arquivo. Existem outras partes u nicas sobre o sistema de arquivos, como os links e a montagem de parti c oes NFS. Essa se c ao explica tudo isso, t ao bem quanto os aspectos multi-usu ario do sistema de arquivos.

9.1

Propriedade

O sistema de arquivos armazena informa c oes sobre o dono de cada arquivo e diret orio no sistema. Isso inclui qual usu ario e grupo possui um determinado arquivo. A maneira mais f acil de ver essa informa c ao e com o comando ls : $ ls -l /usr/bin/wc -rwxr-xr-x 1 root

bin

7368 Jul 30

1999 /usr/bin/wc

N os estamos interessados na terceira e quarta colunas (da esquerda para a direita). Essas colunas cont em o nome do usu ario e grupo que possui o arquivo. N os podemos ver que o usu ario root e o grupo bin s ao os propriet arios desse arquivo. N os podemos mudar facilmente os donos de um arquivo com os comandos chown (1) (que signica mudar o propriet ario) e chgrp (1) (que signica mudar o grupo). Para mudar o dono de um arquivo para daemon, n os podemos usar o comando chown :

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

# chgrp root /usr/bin/wc N os podemos utilizar o comando chown para especicar as propriedades de usu ario e grupo para um arquivo:

# chown daemon:root /usr/bin/wc

77

78

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

No exemplo acima, o usu ario poderia ter usado um ponto, no lugar do dois-pontos. O resultado teria sido o mesmo; entretanto, o dois-pontos e considerado a melhor forma. O uso do ponto e obsoleto e poder a ser removido em futuras vers oes do comando chown para permitir nomes de usu arios que contenham ponto. Esses nomes de usu ario tendem a ser muito populares com Servidores Windows Exchange e s ao encontrados com maior freq u encia em endere cos de ao alertados para evie-mail como: mr.jones@example.com. No Slackware, os administradores s tarem esses nomes de usu arios, porque alguns scripts utilizam o ponto para indicar o nome e o grupo de um arquivo ou diret orio. Em nosso exemplo, o comando chmod interpretaria mr.jones como usu ario mre grupo jones. A deni c ao de quem e o dono de um determinado arquivo e uma parte muito importante na utiliza c ao de um sistema Linux, mesmo que voc e seja o u nico usu ario do sistema. Algumas vezes voc e precisa corrigir as propriedades em arquivos e em n os de dispositivos (device nodes).

9.2

Permiss oes

As permiss oes s ao outra parte importante do aspecto multi-usu ario do sistema de arquivos. Com elas, voc e pode alterar quem l e, escreve, e executa arquivos. A informa c ao de permiss ao e armazenada na forma de quatro d gitos octais, cada um especicando diferentes conjuntos de permiss oes. S ao eles, permiss ao do propriet ario, permiss ao de grupo e, permiss ao do mundo. Os quatro d gitos octais s ao utilizados para armazenar informa c oes especiais como identica c ao de usu ario (user ID), identica c ao de grupo (group ID), e o bit controle. Os valores octais associados aos modos de permiss ao s ao (eles possuem letras associadas que s ao mostradas por programas como o comando ls e podem ser utilizadas pelo comando chmod ): Valores de Permiss ao Octais Tipo de Permiss ao bitcontrole identica c ao de usu ario identica c ao de grupo leitura escrita execu c ao Valor Octal Valor Letra 1 t 4 s 2 s 4 r 2 w 1 x

Voc e adiciona os valores octais para cada grupo de permiss oes. Por exemplo, se voc e quer que o grupo tenha permiss ao de leiturae escrita, voc e utilizar a 6na por c ao referente ` a permiss ao do grupo. As permiss oes padr oes do bash s ao: $ ls -l /bin/bash -rwxr-xr-x 1 root

bin

477692 Mar 21 19:57 /bin/bash

O primeiro tra co pode ser substitu do por um dse for um diret orio. As tr es permiss oes de grupo (propriet ario, grupo, e outros) s ao mostradas a seguir. N os vemos que o propriet ario possui permiss oes de leitura, escrita e execu c ao (rwx). O grupo possui apenas permiss ao de leitura e execu c ao (r-x). E todo o mundo possui permiss oes de leitura e escrita (r-x).

9.2. PERMISSOES

79

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

users

0 Apr 19 11:21 /tmp/exemplo

N os usaremos o comando chmod (1) (que signica mudar o modo) para alterar as permiss oes do arquivo exemplo. Acrescente os n umeros octais para a permiss ao que voc e quer. Para o propriet ario que possui permiss ao de leitura, escrita e execu c ao, n os ter amos o valor 7. Para permiss ao de leitura e execu c ao ter 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 e deve estar pensando, Por que n os n ao criamos o arquivo com essas permiss oes desde o in cio?Bem, a resposta e simples. O bash possui uma implementa c ao chamada umask. Este comando vem inclu do com a maioria dos shells do Unix, e controla quais permiss oes s ao designadas ` a arquivos criados recentemente. N os discutimos sobre as implementa c oes do bash c ao 8.3.1. O comando umask e utilizado de forma razo avel. Ele com maior profundidade na se funciona de maneira bastante similar ao chmod, s o que em modo reverso. Voc e especica os valores octais que voc e n ao deseja que estejam presentes nos arquivos rec em-criados. O seu valor padr ao e 0022. $ umask 0022 $ umask 0077 $ touch tempfile $ ls -l tempfile -rw-------- 1 david

users

0 Apr 19 11:21 tempfile

Olhe a p agina do manual do bash para maiores informa c oes. Para aplicar permiss oes especiais com o chmod, adicione os n umeros juntos e identique-os na primeira coluna. Por exemplo, para for car a identica c ao do usu ario (user ID) e a identica c ao de grupo (group ID), n os usamos o 6 na primeira coluna: $ 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 e, voc e pode usar letras com o chmod. Os grupos de permiss ao s ao representados como: Propriet ario Grupo Mundo Todas acima u g o a

80

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

Para fazer o descrito acima, n os precisamos utilizar v arias linhas de comando: $ chmod a+rx /tmp/exemplo $ chmod u+w /tmp/exemplo $ chmod ug+s /tmp/exemplo Algumas pessoas preferem utilizar as letras em vez dos n umeros. Ambas as maneiras ir ao gerar o mesmo resultado na aplica c ao das permiss oes. uentemente mais r apido, e o que voc e v e frequentemente sendo utiliO formato octal e freq zado em shell script. Em alguns casos as letras s ao mais poderosas. Por exemplo, n ao existe uma maneira f acil de alterar um grupo de permiss oes e preservar outros em arquivos e diret orios, quando voc e usa o formato octal. Isso e trivial utilizando as letras. $ 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

N os mencionamos as permiss oes de identica c ao de usu ario (user ID) e a identica c ao de grupo (group ID) em v arias partes acima. Voc e pode estar se perguntando o que s ao essas permiss oes. Normalmente, quando voc e roda um programa, este est a operando sob a sua conta de usu ario. Isto e, ele tem todas as permiss oes que o seu usu ario possui. O mesmo e verdade para o grupo. Quando voc e roda um programa, ele e executado sob o seu grupo atual. Com a permiss ao de identica c ao de usu ario, voc e pode for car o programa para sempre rodar como o propriet ario do programa (como o root). A permiss ao de identica c ao de grupo faz a mesma coisa, s o que para o grupo. Seja cuidadoso com isso, pois as permiss oes de identica c oes de usu ario e de grupo dos programas podem abrir brechas de seguran ca no seu sistema. Se voc e freq uentemente for ca as permiss oes de usu ario para os programas que pertencem ao usu ario root, voc e est a permitindo que qualquer um utilize o programa e o utilize como root. Como o usu ario root n ao possui restri c oes no sistema, voc e pode ver como isso cria um grande problema de seguran ca. Resumindo, n ao e ruim utilizar as permiss oes de identica c ao de usu ario e de grupo, apenas use o bom senso.

9.3

Links

Links s ao ponteiros entre arquivos. Com os links, voc e pode ter arquivos existindo em v arios locais e podendo ser acessados por v arios nomes. Existem dois tipos de links: est aticos e din amicos. Links est aticos s ao nomes para um arquivo em particular. Eles s o podem existir dentro de um u nico sistema de arquivos e s o s ao removidos quando o nome real e removido do sistema. Eles s ao u teis em alguns casos, por em muitos usu arios acham o link din amico muito mais vers atil.

9.4. MONTANDO DISPOSITIVOS

81

O link din amico, tamb em chamado de link simb olico, pode apontar para um arquivo fora do seu sistema de arquivos. Ele e na verdade um pequeno arquivo contendo apenas as informac oes que ele necessita. Voc e pode adicionar ou remover links simb olicos sem afetar o arquivo atual. E desde que um link simb olico e na verdade um arquivo pequeno contendo sua pr opria bastante comum ver o /var/tmp informa c ao, ele tamb em pode apontar para um diret orio. E atualmente como um link simb olico para /tmp por exemplo. Os links n ao possuem seu pr oprio conjunto de permiss oes ou propriedades, por em reetem os arquivos aos quais eles apontam. Os usu arios do Slackware usam mais os links din amicos. Aqui est a um exemplo comum: $ ls -l /bin/sh lrwxrwxrwx 1 root

root

4 Apr

6 12:34 /bin/sh -> bash

O shell sh sob o Slackware e atualmente o bash. A remo c ao de links e feita utilizando o comando rm. O comando ln e utilizado para criar links. Esses comandos ser ao discutidos com tulo 10. maior profundidade no Cap muito importante ter cuidado, em particular, com os links simb E olicos. Uma vez, eu estava trabalhando em uma m aquina que teimava em falhar nos backups em ta toda noite. Dois links simb olicos tinham sido feitos para dois diret orios, um embaixo do outro. O software para backup manteve anexado ` a ta esses mesmos diret orios, at e car sem espa co. Normalmente, uma s erie de verica c oes pr evias ir a prever a cria c ao de links simb olicos nessa situa c ao, mas o nosso era um caso especial.

9.4

Montando Dispositivos

Como foi pr eviamente discutido na se c ao 4.1.1, todos os drives e dispositivos em seu computador s ao um sistema de arquivos enorme. V arias parti c oes em seu disco r gido, CD-ROMs, e disquetes s ao todos alocados em uma mesma arvore. Ao anexar todos esses drives ao sistema de arquivos para que possam ser acessados, voc e precisa utilizar os comandos mount (1) e umount (1). Alguns dispositivos s ao montados automaticamente quando voc e inicializa o seu computador. Esses dispositivos est ao listados no arquivo /etc/fstab. Tudo o que voc e quiser que seja montado automaticamente precisa ter uma entrada neste arquivo. Para os outros dispositivos, voc e ter a que executar um comando toda vez que voc e quiser montar um dispositivo.

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 e o nome do dispositivo. Nesse caso, os dispositivos s ao cinco parti c oes espalhadas por dois discos r gidos SCSI, dois sistemas de arquivos que n ao precisam de dispositivos, um drive de disquete, e um drive de CD-ROM. A segunda coluna informa aonde o dispositivo ser a montado. Esse deve ser o nome de um diret orio, com exce c ao no caso de uma parti c ao swap. A terceira coluna e o tipo de sistema de arquivo do dispositivo. Para os sistemas de arquivos normais do Linux, estes ser ao ext2 (segundo sistema de arquivos extendido). Drives de CD-ROM s ao iso9660, e dispositivos baseados no Windows ser ao do tipo msdos ou vfat. A quarta coluna e uma listagem de op c oes que se aplicam ao sistema de arquivos montado. O padr ao (defaults) pode ser usado sem problemas com quase todos os dispositivos. Entretanto, para dispositivos de somente leitura voc e deve colocar a op c ao ro. Existem muitas op c oes que podem ser utilizadas. Verique o manual do fstab (5) para maiores informa c oes. As duas u ltimas colunas s ao utilizadas para o fsck e outros comandos que precisam manipular os dispositivos. Verique o manual para essas informa c oes. Quando voc e instala o Slackware Linux, o programa de instala c ao ir a criar a maior parte do arquivo fstab.

mount e umount

Anexar outro dispositivo ao seu sistema de arquivos e f acil. Tudo o que voc e tem que fazer e utilizar o comando mount, com algumas op c oes. Utilizar o comando mount pode ser mais 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 se c ao anterior. Eu poderia utilizar o comando mount desta forma:

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

$ mount -t iso9660 -o ro /dev/cdrom /cdrom Esta linha de comando inclui a mesma informa c ao que o exemplo do fstab tinha, mesmo assim n os iremos explicar todas as partes do comando. A op c ao <option>-t iso9660</option> e o tipo de sistema de arquivos do dispositivo a ser montado. Neste caso, ele seria o sistema de arquivos iso9660, que e usado normalmente pelos drivers de CD-ROM. A op c ao <option>-o ro</option> diz ao comando para montar o dispositivo com capacidade para apenas efetuar leituras. O caminho /dev/cdrom e o nome do dispositivo a ser montado, e o diret orio /cdrom e o local no sistema de arquivos onde o drive ser a montado. Antes que voc e possa remover um disquete, CD-ROM, ou outro dispositivo remov vel, que esteja atualmente montado, voc e ter a que desmont a-lo. Isto e feito utilizando o comando umount. N ao pergunte para onde o nfoi porque n os n ao poder amos te contar. Voc e pode utilizar, tanto 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 e quer desmontar o CD-ROM do exemplo anterior, ambos os comandos podem ser utilizados: # umount /dev/cdrom # umount /cdrom

9.5

Montagem NFS

NFS signica Network Filesystem (Sistema de arquivos de rede). Ele n ao e realmente parte 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 diret orios de usu arios, e o reposit orio de e-mail. O problema de pegar a mesma c opia para cada m aquina e resolvido pelo NFS. N os podemos utilizar o NFS para compartilhar um conjunto de diret orios de usu arios entre todas as esta c oes de trabalho. Ent ao as esta c oes de trabalho montam o diret orio que o NFS compartilhou como se estivesse nas suas pr oprias m aquinas. c ao 5.6.2 e as p aginas do manual para exports (5), nfsd (8), e mountd (8) para maiores Veja a se informa c oes.

84

CAP ITULO 9. ESTRUTURA DO SISTEMA DE ARQUIVOS

Cap tulo 10

Manipulando arquivos e diret orios


O Linux tenta ser o mais parecido com o Unix poss vel.Tradicionalmente, os sistemas ope claro que temos uma interface racionais Unix tem sido orientados pela linha de comando. E gr aca no Slackware, mas a linha de comando e ainda o principal n vel de controle do sistema. Portanto, e importante entender alguns dos comandos b asicos dos comandos de gerenciamento de arquivos. A se c ao a seguir explica os comandos corriqueiros do gerenciamento de arquivos e prov e exemplos de como eles s ao usados. Existem muitos outros comandos, mas estes ir ao ajudar voc e a come car. Al em disso, os comandos est ao explicados resumidamente. Voc e encontrar a mais detalhes nas man pages de cada comando.

10.1
10.1.1

Navega c ao: ls, cd, e pwd


ls

Esse comando lista arquivos em um diret orio. Usu arios DOS e Windows ir ao notar a similaridade com o comando dir. Ele mesmo, ls(1) ir a listar os arquivos no diret orio atual. Para ver o que existe em seu diret orio raiz, voc e poderia usar esses comandos: $ 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 da, do comando anterior, e que n ao se pode dizer facilmente o que e um diret orio e o que e um arquivo. Alguns usu arios preferem o ls adicionado 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

Diret orios t em uma barra (/) no nal do nome, arquivos execut aveis t em um asterisco no nal do nome, e assim por diante. O ls pode tamb em ser usado para conseguir outras informa c oes nos arquivos. Por exemplo, para ver a data de cria c ao, propriet ario, e permiss oes, voc e especicaria uma lista longa: $ 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 e queira uma lista dos arquivos ocultos no diret orio atual.O comando 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 comen cando com um ponto (chamados de arquivos ponto) s ao ocultados quando voc e executa o ls. Voc e somente ver a esses arquivos se passar a op c ao -a. Existem muitas outras op c oes que podem ser encontradas nos manuais online. N ao esque ca que pode combinar as op c oes que voc e passa para o ls.

10.1.2

cd

O comando cd e usado para mudar o diret orio de trabalho. Voc e simplesmente digita cd seguido do nome do caminho para mudar. Aqui est ao alguns exemplos: 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 come car com a barra (/) ele tenta mudar para um diret orio no diret orio atual. Tamb em executando o cd sem nenhuma op c ao mover a voc e para o seu diret orio pessoal. O comando cd n ao e igual a outros comandos. Ele e um comando integrado do shell. Coc ao 8.3.1. Isso pode n ao fazer nenhum sentido mandos integrados do shell ser ao discutidos na se pra voc e agora. Basicamente isso signica que n ao existe man page para esse comando. Ao

10.2. PAGINADORES: MORE, LESS E MOST

87

inv es disso, voc e tem que usar o help do shell. Como segue: $ help cd Ser ao mostradas as op c oes para o cd e como us a-las. 10.1.3 pwd

O comando pwd e usado para mostrar a sua localiza c ao atual. Para usar o comando pwd 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) e como chamamos um utilit ario de pagina c ao. Muitas vezes a sa da de um comando em particular e muito grande para caber em apenas uma tela. Os comandos individualmente n ao sabem como fazer caber as sa das em telas separadas. Eles deixam esse trabalho para os paginadores. O comando more quebra a sa da numa tela u nica e espera que voc e pressione a barra de espa cos antes de continuar na pr oxima p agina. Pressionando a tecla enter ir a avan car a sa da em uma linha. Aqui segue um bom exemplo: $ cd /usr/bin $ ls -l Isso deveria rolar a tela um pouco. Para parar a sa da tela por tela, pipe ( | ) seguido do more: $ ls -l $|$ more Esse e o caractere pipe (shift + \). O pipe e: pegue a sa da do ls e alimente o more. Voc e pode piparqualquer coisa atrav es do comando more, n ao apenas o ls. Pipe e tamb em visto na se c ao 8.2.3.

10.2.2

less

O comando more e mais simples, mas n ao permite que voc e volte para uma p agina j a exibida. O more n ao prov e um jeito de voc e voltar. O comando less (1) prove essa funcionalidade. Ele e usado do mesmo jeito que o comando more, ent ao o exemplo anterior serve aqui tamb em. Ent ao, o less e mais que o more. Just Krammer dene esses comandos com o seguinte trocadilho: 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 n ao conseguem ir, o most (1) vai al em. Se less e mais do que more, most e mais do que less. Enquanto os outros paginadores podem apenas mostrar um arquivo por vez, most e capaz de vizualizar qualquer n umero de arquivos, at e que cada janela de arquivo tenha pelo menos duas linhas aparecendo. O comando most tem muitas op c oes, conra as p aginas de manual para mais detalhes.

10.3
10.3.1

Sa da Simples: cat e echo


cat

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

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

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

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

10.3.2

echo

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

TOUCH E MKDIR 10.4. CRIAC AO:

89

10.4
10.4.1

Cria c ao: touch e mkdir


touch

O comando touch e usado para mudar a data de um arquivo. Voc e pode mudar a data de acesso e a data de modica c ao com esse comando. Se o arquivo especicado n ao existir, o comando touch criar a um arquivo vazio. Para marcar um arquivo com a data atual, voc 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 op c oes para o comando touch para especicar qual data que voc e quer modicar, qual hora usar, e muitas outras op c oes.A man-page mostra isso em detalhes.

10.4.2

mkdir

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

10.5
10.5.1

Copiar e mover
cp

O comando cp (1) copia arquivos. Usu arios do DOS ir ao notar a similaridade com o comando copy. Existem muitas op c oes para o comando cp, ent ao voc e deve dar uma olhada na p aginal de manual antes de us a-lo. Um uso comum e usar o cp para copiar um arquivo de uma localiza c ao para outra. Por exemplo: $ cp hejaz /tmp Isso copia o arquivo hejaz do diret orio atual para o diret orio /tmp. Muitos usu arios preferem manter a data do arquivo, para isso:

90

CAP ITULO 10. MANIPULANDO ARQUIVOS E DIRETORIOS

$ cp -a hejaz /tmp Isso assegura que a data n ao ser a modicada na c opia. Para c opia recursiva do conte udo de um diret orio para outro, voc e usaria esse comando: $ cp -R \textit{mydir} /tmp Isso copiar a o diret orio mydir para o diret orio /tmp. Tamb em se voc e quiser copiar um diret orio ou um arquivo e mante-lo com as permiss oes 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 op c oes que s ao mostradas em detalhes nas p aginas de manual.

10.5.2

mv

O comando mv (1) move os arquivos de um lugar para outro. Simples o bastante, n ao? $ mv oldfile /tmp/newfile O comando mv tem poucas op c oes na linha de comando que s ao detalhadas nas p aginas de manual Na pr atica, o comando mv e raramente usado com op c oes de linha de comando.

10.6
10.6.1

Exclus ao: rm e rmdir


rm

O comando rm (1) remove arquivos e arvores de diret orio. Os usu arios do DOS notar ao em ambos a similaridade com os comandos del e o deltree. O comando rm pode ser muito perigoso se voc e n ao se cuidar. Enquanto as vezes e poss vel recuperar um arquivo removido, isso pode ser uma tarefa complicada (e certamente cara) al em de estar fora do escopo desse livro. Para remover um u nico arquivo, especique o nome dele quando voc e executar o rm: $ rm file1 Se o arquivo tiver as permiss oes de grava c ao, voc e poder a ter uma mensagem de erro de permiss ao negada. Para for car a remo c ao do arquivo n ao importando com nada, passe a op c ao -f, como segue:

10.7. APELIDANDO ARQUIVOS COM LN

91

$ rm -f file1 Para remover um diret orio inteiro, voc e pode usar o -r e o -f juntos. Esse e um bom exemplo de como remover conte udos inteiros do seu hd. Voc e realmente n ao quer fazer isso. Mas existe um comando mesmo assim:

# rm -rf / Seja cauteloso com o comando rm ; voc e pode atirar no seu pr oprio p e. Existem v arias op c oes na linha de comando, que s ao discutidas nas p aginas de manual.

10.6.2

rmdir

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

$ rmdir $<$directory$>$ Esse exemplo ir a remover o subdiret orio hejaz no diret orio atual:

$ rmdir hejaz Se esse diret orio n ao existir, o rmdir dir a a voc e. Voc e tamb em pode especicar um caminho completo de um diret orio a ser removido, como esse exemplo mostra:

$ rmdir /tmp/hejaz Esse exemplo ir a tentar remover o diret orio hejaz dentro do diret orio /tmp. Voc e tamb em pode remover um diret orio e todos os diret orios pai passando a op c ao -p.

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

10.7

Apelidando arquivos com ln

O comando ln (1) e usado para criar links entre arquivos. Esses links podem ser hard links ou links simb olicos. A diferen ca entre os dois tipos de links ser ao discutidos na se c ao 9.3. Se voc e quiser fazer um link simb olico do diret orio /var/media/mp3 e colocar esse link no seu diret orio home, voc e faria isso:

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

92

CAP ITULO 10. MANIPULANDO ARQUIVOS E DIRETORIOS

A op c ao -s diz para o ln fazer um link simb olico. A pr oxima op c ao e o caminho do link, e a op c ao nal e como chamar o link. Nesse caso, o comando apenas ir a criar um arquivo chamado mp3 no seu diret orio home que aponta para o /var/media/mp3. Voc e pode chamar o link do que voc e quiser apenas mudando a u ltima op c ao. Fazer um hard link e t ao f acil quanto. Tudo que voc e tem que fazer e tirar a op c ao -s. Hard links normalmente n ao podem se referir a diret orios ou sistema de arquivos. Para criar um hard 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 a sendo executado e chamado de processo. Estes processos v ao desde o ambiente gr aco X at e programas de sistema (chamados daemons) que s ao iniciados durante o boot do computador. Cada processo pertence a um usu ario em particular. Processos que s ao iniciados no boot geralmente s ao executados como usu ario root ou nobody. Processos que voc e inicia pertencer ao ao seu usu ario. Processo iniciados por outros usu arios pertencer ao a eles. Voc e tem controle sobre todos os processos iniciados por voc e. Adicionalmente, o usu ario root tem controle sobre todos os processo do sistema, incluindo aqueles iniciados por outros usu arios. Processos podem ser controlados e monitorados atrav es de v arios programas, bem como de comandos do shell.

11.1

Segundo Plano (background)

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

93

94

CAP ITULO 11. CONTROLE DE PROCESSOS

Agora o processo suspenso est a rodando em segundo plano.

11.2

Primeiro plano (foregrounding)

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

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

vim amp man ps

Isto mostra uma lista de todos os processos que est ao em segundo plano. Como voc e pode ver, todos est ao parados. Isto signica que os processos est ao suspensos. O n umero e um tipo de ID para todos os processos em segundo plano. O ID seguido de um sinal de adi c ao (man ps ) e o processo que ser a trazido para primeiro plano se voc e apenas digitar fg. Se quiser trazer para primeiro plano o vim, voc e deve digitar: $ fg 1 e o vim rapidamente retornar a ` a console. Enviar processos para o segundo plano pode ser muito u til se voc e tiver apenas um terminal aberto em uma conex ao discada. Ser a poss vel executar diversos programas naquele u nico terminal, periodicamente alternando entre eles.

11.3

ps

Agora voc e sabe alternar entre v arios processos iniciados ` a partir da linha de comando. Sabe tamb em que existem muitos processos em execu c ao todo o tempo. Mas ent ao como listar todos esses programas? Bem, voc e pode utilizar o comando ps (1). Este comando tem uma por c ao de op c oes, mas iremos apresentar apenas algumas das mais importantes. Para uma listagem

11.3. PS

95

completa, veja as p aginas de manual do ps. Sobre as p aginas de manual veja detalhes em Se c oes das p aginas de Manual. Apenas digitando ps voc e ter a uma lista dos programas em execu c ao no seu terminal. Isto inclui os processos em primeiro plano (incluindo a qualquer shell que voc e esteja usando e, e claro, o pr oprio ps ). Tamb em s ao listados os processos que voc e est a executando em segundo plano. Muitas vezes essa lista ser a bem curta: Resultado padr ao do ps $ ps PID TTY TIME CMD 7923 ttyp0 00:00:00 bash 8059 ttyp0 00:00:00 ps Embora n ao sejam muitos processos, a informa c ao e interessante. Voc e ter a as mesmas colunas usando o ps sem par ametros, n ao importa quantos processos estejam em execu c ao. Ent ao, o que signica tudo aquilo? Bem, o PID e o ID do processo. Todos os processos em execu c ao t em um identicador u nico que vai de 1 at e 32767. Para cada processo e atribu do o pr oximo PID livre. Quando um processo e nalizado (ou interrompido, como voc e ver a na pr oxima se c ao), ele libera o PID. Quando o PID m aximo e alcan cado, o pr oximo ser a o menor valor que estiver livre. A coluna TTY indica em qual terminal o processo est a sendo executado. Executando o ps sem par ametros ser ao listados apenas os programas em execu c ao no terminal corrente, ent ao todos os processos ter ao a mesma informa c ao na coluna TTY. Como voc e pode ver, ambos processos listados s ao executados em ttyp0. Isso indica que est ao sendo executados remotamente ou a partir de alguma variedade de terminal X. A coluna TIME indica quanto tempo de CPU o processo tem consumido. Isso e diferente do tempo gasto para execu c ao do processo. Lembre-se que o Linux e um sistema operacional multi-tarefa. Existem muitos processos em execu c ao todo o tempo, e cada um desses utiliza uma pequena por c ao do tempo do processador. Ent ao, a coluna TIME deve mostrar muito menos tempo para cada processo do que ele atualmente necessita para ser executado. Se voc e notar mais do que v arios minutos na coluna TIME, isto pode signicar que algo est a errado. Finalmente, a coluna CMD mostra o que e o programa. Ele apenas lista o nome b asico do programa, sem nenhuma op c ao de linha de comando ou informa c ao similar. Para obter essa informa c ao ser a necess ario usar uma das muitas op c oes do ps. Iremos discuti-las brevemente. Voc e pode conseguir uma listagem completa do que est a em execu c ao no seu sistema usando a combina c ao adequada de op c oes. Isto provavelmente resultar a em uma longa lista de processos (cinq uenta e cinco no meu laptop enquanto escrevo esta senten ca), ent ao abreviarei a sa 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 s ao iniciados durante o boot na maioria dos sistemas. Eu z algumas poucas modica c oes no meu sistema, ent ao isso poder a variar dependendo da sua quilometragem. Entretanto, voc e ver a muitos desses processos no seu sistema tamb em. Como voc e pode ver, essas op c oes exibem as op c oes da linha de comando que originou o processo em execu c ao. Recentemente, uma vulnerabilidade do kernel no ptrace fez com que n ao seja permitida a exibic ao das op c oes de linha de comando de muitos processos em execu c ao. Estes s ao listados agora entre colchetes como dos PIDs 108 ao 110. Tamb em temos algumas colunas a mais e outros dados interessantes. Primeiro, voc e perceber a que muitos desses processos s ao listados como em execu c ao no tty ?. Esses n ao est ao anexados a nenhum terminal em particular. Isto e muito comum com processos executados pelo sistema (daemons), os quais n ao s ao vinculados a nenhum terminal. Daemonscomuns s ao sendmail, BIND, apache e NFS. Eles, de um modo em geral, aguardam pela requisi c ao de um cliente, retornando uma resposta assim que s ao demandados. Segundo, h a uma nova coluna: STAT. Ela mostra o status do processo. S corresponde a parado (sleeping): o processo est a esperando algo acontecer. Z corresponde a um processo zumbi. Um processo zumbi e aquele cujo pai (isto e, o processo que o originou) morreu, deixando o processo lho para tr as. Isso n ao e uma coisa boa. D corresponde a um processo que est a irreversivelmente parado. Freq uentemente esses processos recusam-se a morrer, mesmo quando recebem um SIGKILL. Voc e pode ler mais a respeito do SIGKILL na pr oxima se c ao sobre o kill. O W corresponde a esperando uma chamada. Um processo morto e indicado com um X. Um processo indicado por um T e rastreado ou parado. R signica que o processo e execut avel. Se voc e deseja ver ainda mais informa c oes sobre os processos em execu c ao, tente isto: $ 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 e que e quantidade de informa c ao! Basicamente foram inclu das informa c oes como qual o usu ario iniciou o processo, quanto o processo est a usando dos recursos do sistema (as colunas %CPU, %MEM, VSZ e RSS), e em qual data o processo foi iniciado. Obviamente, isso e uma grande quantidade de informa c ao que pode estar ` a m ao para um administrador de sistemas. Isso tamb em traz ` a tona outro ponto: a informa c ao exibida e limitada ` a largura da tela o que n ao permite que voc e a veja completamente. A op c ao -w ir a for car o ps a quebrar linhas longas. N ao e a coisa mais linda, mas funciona. Agora voc e tem uma lista de informa c oes completa para cada processo. Ainda h a mais informa c oes que podem ser mostradas para cada processo. Verique a profunda p agina de manual do ps. Entretanto as op c oes mostradas acima s ao as mais populares e ser ao usadas com mais freq u encia.

11.4

kill

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

$ kill 4747 Perceba que voc e ter a de ser o dono do processo para poder interromp e-lo. Isso e uma quest ao de seguran ca. Se voc e tivesse permiss ao para interromper processos iniciados por outros

98

CAP ITULO 11. CONTROLE DE PROCESSOS

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

$ killall vim Todo e qualquer processo vim que voc e estiver executando ser a interrompido. Fazendo isto como usu ario root ir a interromper todos os processos vim em execu c ao, independente do usu ario. Isso traz uma interessante maneira de derrubar todos usu arios (incluindo voc e) do sistema:

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

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

$ 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 n umero deve ser usado para o kill, enquanto o nome menos o prexo SIGpode ser usado com o killall. Aqui vai outro exemplo:

$ killall -KILL vim Um u ltimo uso para o kill e reiniciar um processo. Enviando um SIGHUP ir a fazer com que muitos processos releiam seus arquivos de congura c ao. Isso e especialmente u til para fazer com que os processos releiam seus arquivos de congura c ao rec em editados.

11.5. TOP

99

11.5

top

Finalmente, h a um comando que voc e pode usar para exibir informa c oes atualizadas sobre os processos em execu c ao no sistema. Esse comando e chamado top (1), e e iniciado assim: $ top Isto ir a exibir uma tela cheia com informa c oes sobre os processos em execu c ao no sistema, bem como algumas informa c oes gerais sobre o pr oprio sistema. Isso inclui a carga m edia, n umero de processos, o status da CPU, informa c oes sobre mem oria livre e detalhes dos processos incluindo PID, usu ario, prioridade, uso de CPU e mem oria, tempo de execu c ao e nome do 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 e chamado de top porque os programas que fazem uso intensivo da CPU ser ao listados no topo. Uma observa c ao interessante e que o pr oprio top ser a listado primeiro em muitos sistemas inativos (e alguns ativos) por causa da utiliza c ao de CPU. Entretanto, o top e muito u til para determinar qual programa est a se comportando mal e precisa ser interrompido. Mas suponha que voc e s o queira uma lista dos seus pr oprios processos, ou dos processos de algum outro usu ario. Os processos que voc e quer ver podem n ao estar entre os programas em execu c ao com maior consumo de CPU. A op c ao -u permite que voc e especique um nome de usu ario ou UID e monitore somente os processos pertencentes ` aquele UID.

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 e pode ver, atualmente estou executando X, top, um gnome-terminal (no qual estou escrevendo isto) e muitos outros processos relacionados ao ambiente gr aco X, os quais est ao tomando a maior parte do tempo da minha CPU. Isto e uma boa maneira de monitorar o qu ao duro seus usu arios est ao trabalhando no sistema. O top tamb em permite monitorar processos por seus PID, ignorando processos sem atividade e zumbis, e muitas outras op c oes. O melhor lugar para aprender a lidar com essas op c oes s ao as p aginas de manual para o top.

Cap tulo 12

O Essencial em Administra c ao de Sistema


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

12.1

Usu arios e Grupos

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

O modo mais f acil de gerenciar usu arios e grupos e com os scripts e programas fornecidos. O Slackware inclui os programas adduser, userdel (8), chfn (1), chsh (1), e passwd (1) para gerenciar usu arios. Os comandos groupadd (8), groupdel (8), e groupmod (8) s ao para gerenciar grupos. Com exce c ao de chfn, chsh, e passwd, esses programas s ao executados apenas pelo root, e est ao, portanto, localizados em /usr/sbin. chfn, chsh, e passwd podem ser executados por qualquer um e est ao localizados em /usr/bin. Usu arios podem ser adicionados com o comando adduser. Iniciaremos pelo procedimento completo, mostrando todas as perguntas que s ao solicitadas e uma breve descri c ao do que cada uma signica. A resposta padr ao est a entre colchetes e pode ser adotada para quase todas as perguntas, a menos que voc e realmente queira mudar alguma coisa. # adduser Login name for new user []: jellyd Este e o nome que o usu ario usar a para se logar. Tradicionalmente, login names possuem oito ou menos caracteres e todos min usculos (voc e pode usar mais que oito caracteres, inclusive num erico, mas evite fazer isso a menos que voc e tenha uma boa raz ao.)
101

102

DE SISTEMA CAP ITULO 12. O ESSENCIAL EM ADMINISTRAC AO

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

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 e ... se voc e quiser desistir, tecle Control+C. Caso contr ario, tecle ENTER para seguir em frente e criar a conta. Nesse momento, voc e v e todas as informa c oes digitadas para a nova conta e tem a oportunidade de abortar a cria c ao da conta. Se voc e entrou com algo incorreto, pode teclar Control+C e iniciar novamente. Caso contr ario, voc e pode teclar enter e a conta ser a criada.

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 informa c oes s ao opcionais. Voc e n ao tem que entrar com nenhuma dessas informa c oes se n ao quiser, e o usu ario pode mudar esses dados a qualquer hora usando o comando chfn. Entretanto, pode ser u til colocar pelo menos o nome completo e um n umero de telefone, no caso de voc e precisar entrar em contato com a pessoa em quest ao.

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 e ter a que entrar com uma senha para o novo usu ario. Geralmente, se o usu ario n ao estiver sicamente presente nesse momento, voc e apenas colocar a uma senha padr ao e avisar a o usu ario para mud a-la para uma senha mais segura. NOTA: Escolhendo uma senha : Ter uma senha segura e a primeira linha de defesa contra invas ao. Voc e n ao quer ter uma senha de f acil dedu c ao porque isto torna mais f acil algu em entrar em seu sistema. Uma senha ideal seria uma sequ encia aleat oria de caracteres, incluindo letras mai usculas e min usculas, n umeros e caracteres aleat orios. (Um caractere tab pode n ao ser uma boa escolha dependendo em qual tipo de computador voc e estar a logando.) H a muitos pacotes de softwares que geram senha aleat orias para voc e; procure na Internet por esses

104

DE SISTEMA CAP ITULO 12. O ESSENCIAL EM ADMINISTRAC AO

utilit arios. Em geral, use o bom senso: n ao coloque uma senha que seja a data de anivers ario de algu em, algo encontrado em sua mesa, ou qualquer coisa facilmente associada com voc e. Uma senha como seguro1ou qualquer outra senha que voc e ver impresso ou online tamb em e ruim. Remover usu arios n ao e uma tarefa complicada. Apenas execute userdel com o nome da conta para remov e-la. Voc e deve vericar se o usu ario n ao est a logado e se n ao h a processos do usu ario em execu c ao. E mais, lembre que uma vez excluido o usu ario, toda a informa c ao da senha do usu ario ter a sido apagada permanentemente. # userdel jellyd Este comando remove o usu ario jellyd do seu sistema. O usu ario e removido dos arquivos /etc/passwd, /etc/shadow, e /etc/group, mas n ao remove o diret orio home do usu ario. Se voc e deseja tamb em remover o diret orio home, voc e deve usar este comando: # userdel -r jellyd Desabilitar temporariamente uma conta ser a tratada na pr oxima se c ao sobre senhas, uma vez que uma mudan ca tempor aria envolve mudar a senha do usu ario. Mudar outra informa c ao da conta e tratada na se c ao 12.1.3. Os programas para adicionar e remover grupos s ao bem simples. groupadd adicionar a outra entrada no arquivos /etc/group com um ID de grupo u nico, enquanto groupdel remover a poss o grupo especicado. E vel editar o arquivo /etc/group para adicionar usu arios em um grupo espec co. Por exemplo, para adicionar um grupo chamado cvs : # groupadd cvs E remov e-lo: # groupdel cvs 12.1.2 Mudando senhas

O comando passwd muda as senhas modicando o arquivo /etc/shadow. Este arquivo cont em todas as senhas do sistema em formato criptografado. Para mudar sua senha, voc e digitaria: $ 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 e e solicitado para entrar com sua senha antiga. Ela n ao aparecer a na tela quando voc e digit a-la, o mesmo ocorre quando voc e se loga. Ent ao, voc e e solicitado para entrar com a nova senha. passwd realiza v arias verica c oes em sua nova senha e avisar a se ela n ao passar nas verca c oes. Voc e pode ignorar esses avisos caso queira. Voc e ser a solicitado

12.1. USUARIOS E GRUPOS

105

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

12.1.3

Mudando a Informa c ao do Usu ario

H a dois tipos de informa c ao que os usu arios podem mudar a qualquer hora: o shell e o nger. O Slackware Linux usa chsh (change shell) e chfn (change nger) para modicar esses valores. Um usu ario pode denir qualquer shell que est a listado no arquivo /etc/shells. Para a maioria das pessoas, /bin/bash ser a adequado. Outros podem estar familiarizados com um shell encontrado nos seus sistemas, no trabalho ou na escola e desejam usar aquele que eles j a conhecem. 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 a listado no arquivo /etc/shells (5). O usu ario root pode mudar o shell de qualquer usu ario executando chsh utilizando o nome do usu ario como argumento. A informa c ao de nger e a informa c ao opcional como nome completo, n umeros de telefone e de sala. Estas informa c oes podem ser mudadas usando chfn, e segue o mesmo procedimento feito na cria c ao da conta. Como sempre, o usu ario root pode mudar a informa c ao de nger de qualquer um.

106

DE SISTEMA CAP ITULO 12. O ESSENCIAL EM ADMINISTRAC AO

12.2

Usu arios e Grupos, o modo dif cil

Naturalmente, e poss vel adicionar, modicar e remover usu arios e grupos sem usar os scripts e programas que v em com o Slackware. N ao e muito dif cil, embora depois de ler este processo, voc e provavelmente achar a muito mais f acil usar os scripts. Entretanto, e importante conhecer como realmente a informa c ao de sua senha e armazenada, no caso de voc e precisar recuperar esta informa c ao e n ao ter as ferramentas do Slackware dispon vel. Primeiro, n os adicionaremos um novo usu ario nos arquivos /etc/passwd (5), /etc/shadow (5) e /etc/group (5). O arquivo passwd cont em algumas informa c oes sobre os usu arios do seu sistema, mas (bastante estranho) n ao t em as senhas deles. Isto n ao era assim, mas foi alterado tempos atr as por quest oes de seguran ca. O arquivo passwd deve ser leg vel para todos os usu arios, mas voc e n ao deseja senhas criptografadas leg veis, pois intrusos poderiam usar as senhas criptografadas como ponto inicial para descriptografar as senhas dos usu arios. Ao inv es disto, as senhas criptografadas s ao mantidas no arquivo shadow, que e leg vel apenas para o root, e a senha de todos aparecem no arquivo passwd simplesmente com um x. O arquivo group lista todos os grupos e quem est a em cada um deles. Voc e pode usar o comando vipw para editar o arquivo /etc/passwd de modo seguro, e o comando vigr para editar o arquivo /etc/group tamb em de modo seguro. Use vipw -s para editar o arquivo /etc/shadow. (Modo seguro neste contexto signica que ningu em mais ser a capaz de modicar o arquivo que voc e est a editando no momento. Se voc e eou nico administrador do seu sistema, voc e provavelmente est a em seguran ca, mas e melhor pegar bons h abitos no in cio.) Vamos examinar o arquivo /etc/passwd e ver como adicionar um novo usu ario. Uma t 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 usu ario e os campos de cada linha s ao separados pelo caracter dois pontos. Os campos s ao o nome de login, senha criptografada (um xpara todos em um sistema Slackware, sendo que o Slackware usa senhas mascaradas), ID do usu ario, ID do grupo, informa c oes adicionais (separadas por v rgula), diret orio home e o shell. Para adicionar um novo usu ario manualmente, adicione uma nova linha no nal do arquivo preenchendo as informa c oes apropriadas. As informa c oes que voc e adicionar precisam atender alguns requisitos, ou seu novo usu ario poder a ter problemas ao se logar. Primeiro, tenha certeza que o campo da senha e um x, e que o nome do usu ario e seu ID sejam u nicos. Atribua um grupo para o usu ario, ou 100 (o grupo usersno Slackware) ou seu grupo padr ao (use o n umero do grupo, n ao o nome). D e ao usu ario um diret orio home v alido (que voc e criar a mais tarde) e o shell (lembre-se, os shells v alidos est ao listados em /etc/shells ). Em seguida, precisaremos adicionar uma entrada no arquivo /etc/shadow, que cont em as 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 s ao (em ordem) nome de login, senha criptografada, dias deste a epoca (01 de janeiro de 1970) que a senha foi mudada pela u ltima vez, dias antes da senha poder ser alterada, dias depois que a senha deve ser alterada, dias que o usu ario e noticado antes da

12.3. DESLIGANDO O SISTEMA APROPRIADAMENTE

107

senha expirar, dias depois da senha expirar que a conta e desabilidada, dias deste a epoca que a conta est a desabilidada e um campo reservado. Como voc e pode ver, a maioria dos campos s ao para informa c oes de validade de contas. Se voc e n ao est a usando uma informa c ao deste, voc e precisa apenas preencher uns poucos campos com alguns valores em especial. Caso contr ario, voc e precisar a calcular e tomar decis oes antes de poder preencher esses campos. Para um novo usu ario, apenas coloque algum lixo aleat orio no campo de senha. N ao se preocupe se a senha est a correta agora, porque voc e ir a mud a-la em um minuto. O u nico caractere que voc e n ao pode incluir no campo da senha e o dois pontos. Deixe o campo dias desde que a senha foi alteradaem branco. Preencha com 0,99999, e 7 como voc e viu no exemplo acima e deixe os outros campos em branco.. (Para aqueles que pensam que vendo minha senha criptograda acima acreditam que t em uma brecha para entrar em meu sistema, ent ao sigam em frente. Se voc e decifrar aquela senha, voc e saber a a senha para um teste de rewall do sistema. Isto e muito u til. :) ) Todos os usu ario comuns s ao membros do grupo users num sistema t picamente Slackware. Entretanto, se voc e deseja criar um novo grupo, ou adicionar o usu ario em grupos adicionais, voc e precisar a modicar o arquivo /etc/group. Aqui est a uma t pica entrada:

cvs::102:chris,logan,david,root Os campos s ao nome do grupo, senha do grupo, ID do grupo e membros do grupos, separados por v rgulas. Criar um novo grupo e simples como adicionar uma nova linha com um n umero de ID u nico e listar todos os usu arios que voc e quer no grupo. Qualquer usu ario que est a no novo grupo e est a logado ter a que logar novamente para que as mudan cas tenham efeito. Neste ponto, pode ser uma boa id eia usar os comandos pwck e grpck para vericar se as mudan cas que voc e fez s ao consistentes. Primeiro, use pwck -r e grpck -r : a op c ao -r n ao faz as altera c oes, mas lista as altera c oes que voc e teria feito se voc e executasse o comando sem aquela op c ao. Voc e pode usar a sa da do comando para decidir se precisa modicar mais algum arquivo, executando pwck ou grpck sem a op c ao-r, ou simplesmente deixar as mudan cas como est ao. Neste ponto, voc e deve usar o comando passwd para criar uma senha apropriada para o usu ario. Ent ao, use o comando mkdir para criar o diret orio home do novo usu ario no local que voc e entrou no arquivo /etc/passwd e o comando chown para mudar o propriet ario do novo diret orio. Remover um usu ario e uma simples quest ao de excluir todas as entradas que existem do usu ario. Remova a entrada do usu ario dos arquivos /etc/passwd e /etc/shadow, e remova o nome de login dos grupos no arquivo /etc/group. Se voc e desejar, apagar o diret orio home, o arquivo de spool de mail (se eles existirem). Remover grupos e similar: remova as entradas do arquivo /etc/group.

12.3

Desligando o sistema apropriadamente

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

108

DE SISTEMA CAP ITULO 12. O ESSENCIAL EM ADMINISTRAC AO

h a muitos processos rodando em segundo plano o tempo todo. Esses processos s ao gerenciados pelo sistema e mant em v arios arquivos abertos. Quando o sistema e desligado pelo bot ao de energia, esses arquivos n ao s ao fechados apropriadamente e podem car corrompidos. Dependendo de quais arquivos s ao corrompidos, o sistema pode car completamente inutilizado! Em qualquer caso, voc e ter a que passar por um processo longo de checagem do sistema de arquivos na pr oxima inicializa c ao. NOTA: Se voc e congurou seu sistema com um sistema de arquivos com journalling, como ext3 ou reiserfs, voc e est a parcialmente protegido contra estragos no sistema de arquivos, e a checagem do sistema de arquivos e mais curta se voc e usa um sistema de arquivo sem journalling, como ext2. Entretanto, esta seguran ca n ao e desculpa para desligar seu sistema de modo inapropriado! Um sistema de arquivos com journalling e uma tentativa de proteger seus arquivos de eventos al em de seu controle, n ao contra sua pr opria indol encia. Em todo caso, quando voc e quiser reinicializar ou desligar seu computador, e importante faz e-lo corretamente. H a v arios meios de se fazer isso; voc e pode usar o que achar mais divertido (ou menos trabalhoso). Sendo que desligar e reinicializar s ao procedimentos similares, a maioria dos meios de desligar o sistema tamb em podem ser aplicados para reinicializ a-lo. O primeiro m etodo e atrav es do comando shutdown (8), e e provavelmente o mais popular. shutdown pode ser usado para reinicializar ou desligar o sistema em um dado tempo e pode mostrar uma mensagem a todos os usu arios logados no sistema dizendo que est a sendo desligado. O modo mais b asico de desligar o computador e: # shutdown -h now Neste caso, n ao ser a enviada uma mensagem personalizada para os usu arios; eles ver ao a mensagem padr ao de shutdown. now e o tempo que voc e quer desligar e o -h signica terminar o sistema. N ao e um modo muito amig avel de se fazer em um sistema multiusu arios, mas funciona adequadamente em seu computador de casa. Um m etodo melhor em um sistema multiusu ario e dar a todos um aviso antecipado: # shutdown -h +60 Isto desligar a o sistema em uma hora(60 minutos), que e adequado em um sistema multiusu ario normal. Sistemas essenciais devem ter a sua hora de desligar agendada antecipadamente, e voc e deve colocar avisos sobre a hora de desligar em quaisquer lugares usados apropriadamente para notica c oes do sistema (email, quadro de aviso, /etc/motd, ou qualquer outro). Para reinicializar o sistema, usa-se o mesmo comando, mas substitui-se -h por -r : # shutdown -r now Voc e pode usar a mesma nota c ao de tempo com shutdown -r que voc e usuaria com shutdown -h. H a muitas outras coisas que voc e pode fazer com o comando shutdown para controlar quando desligar ou reinicializar a m aquina; veja a p agina de manual para mais detalhes. O segundo modo de desligar ou reinicializar o computador e usar os comandos halt (8) e reboot (8). Como os nomes indicam, halt terminar a imediatamente a opera c ao do sistema e reboot reinicializar a o sistema. (reboot e na verdade apenas um link simb olico para o comando

12.3. DESLIGANDO O SISTEMA APROPRIADAMENTE

109

halt.) Eles s ao executados como: # halt # reboot Um meio de baixo n vel de reinicializar ou desligar o sistema e usar diretamente o comando init. Todos os outros m etodos s ao simplesmente meios convenientes de usar init, mas voc e pode dizer diretamente ao init o que fazer usando telinit (8) . Usar telinit dir a ao init que n vel de execu c ao (runlevel) acionar, o que far a um script especial ser executado. Este script matar a ou ressusitar a processos necess arios para aquele n vel de execu c ao. Isto funciona para reinicializar e desligar porque ambos s ao n veis especiais de execu c ao. # telinit 0 O n vel de execu c ao 0 e o modo de desligar. Dizer ao init para entrar neste n vel far a todos os processos serem terminados, o sistema de arquivos ser a desmontado e a m aquina ser a desligada. Isto e um modo perfeitamente aceit avel de desligar o sistema. Em muitos laptops e computadores desktops modernos, isso far a com que a m aquina seja desligada. # telinit 6 O n vel de execu c ao 6 e o modo de reinicializa c ao. Todos os processos ser ao terminados, o sistema de arquivo ser a desmontado e a m aquina ser a reinicializada. Isto e um modo perfeitamente aceit avel de reinicializar o sistema. Para os curiosos, quando muda-se para os n veis de execu c ao 0 ou 6, seja usando shutdown, halt, ou reboot, o script /etc/rc.d/rc.6 e executado. (O script /etc/rc.d/rc.0 um link simb olico para /etc/rc.d/rc.6.) Voc e pode personalizar este arquivo a seu gosto mas esteja certo de testar suas mudan cas cuidadosamente! H a um u ltimo m etodo de reinicializar o sistema. Todos os outros m etodos requerem que voc e esteja logado como root. Entretanto, e poss vel reinicializar a m aquina mesmo se voc e n ao eo adminstrador, contanto que voc e tenha acesso f sico ao teclado. Teclar Control+Alt+Delete (a sauda c ao de tr es dedos) far a a m aquina reinicializar imediatamente. (Por tr as deste cen ario, o comando shutdown e chamado para voc e quando usa Control+Alt+Delete.) Isto nem sempre funciona quando se est a usando o X Windows voc e pode precisar usar Control+Alt+F1 (ou outra tecla de fun c ao) para alternar para um terminal em modo texto antes. Finalmente, o arquivo que efetivamente controla cada aspecto da inicializa c ao e do desligamento e o arquivo /etc/inittab (5). Em geral, voc e n ao deve modicar este arquivo, mas ele pode dar a voc e no c oes de como algumas coisas funcionam. Como sempre, veja as p aginas de manual para mais detalhes.

110

DE SISTEMA CAP ITULO 12. O ESSENCIAL EM ADMINISTRAC AO

Cap tulo 13

Comandos de rede b asicos


Uma rede consiste em v arios computadores conectados entre si. A rede pode ser t ao simples quanto alguns computadores ligados em casa ou no escrit orio, ou t ao complicada quanto uma rede de uma grande universidade ou a Internet. Quando seu computador e parte de uma rede, voc e tem acesso a esses sistemas diretamente ou atrav es de servi cos como o correio eletr onico ou a web. Existe uma variadade de programas para redes que voc e pode usar. Alguns s ao u teis para realizar diagn osticos como vericar se a rede est a funcionando corretamente. Outros (como leitores de e-mail e navegadores) s ao u teis para trabalhar ou manter contato com outras pessoas.

13.1

ping

O ping (8) envia um pacote ICMP ECHO REQUEST para o host especicado. Se o host responde, voc e recebe o pacote ICMP de volta. Parece estranho? Bom, voc e pode dar um pingem um endere co IP para saber se a m aquina est a conectada. Se n ao obtiver resposta, voc e sabe que alguma coisa est a errada. Aqui est a um exemplo de conversa entre dois usu arios Linux: Usu ario A: A m aquina Loki est a desligada de novo. Usu ario B: Voc^ e tem certeza? Usu ario A: Sim, eu tentei ping a-la, mas n~ ao obtive resposta. S ao circunst ancias como essas que fazem o ping ser um comando muito u til no dia a dia. Ele prov e uma forma muito r apida de ver se uma m aquina est a ligada e conectada ` a rede. A sintaxe b asica e: $ ping www.slackware.com Existem, obviamente, v arias op c oes que podem ser especicadas. Olhe a p agina de manual de ping(1) para maiores informa c oes.

13.2

traceroute

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

112

CAP ITULO 13. COMANDOS DE REDE BASICOS

tem do seu computador at e o site do Slackware com esse comando: $ traceroute www.slackware.com Cada host vai ser mostrado, assim como o tempo de resposta de cada host. Aqui est a um 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 e similar ao ping, j a que o mesmo usa pacotes ICMP tamb em. Existem v arias op c oes que voc e pode especicar para o traceroute. Essas op c oes s ao explicadas em detalhes na respectiva p agina de manual.

13.3

Ferramentas DNS

O Domain Name Service (abreviado por DNS) e o protocolo m agico que permite a seu comcos IP 64.57.102.34. putador converter nomes de dom nio como www.slackware.com em endere Computadores n ao podem rotear pacotes para www.slackware.com, mas eles podem rotear pacotes para o endere co IP desse dom nio. Isso nos d a uma forma conveniente de lembrarmos de m aquinas. Sem o DNS ter amos que manter um banco de dados mental de qual endere co IP pertence a qual computador, e assumindo que o endere co IP e sempre o mesmo. Claramente usar nomes para computadores e melhor, mas como n os mapeamos nomes em endere cos IP?

13.3.1

host

um O host (1) pode fazer isso por n os. host e usado para mapear nomes em endere cos IP. E utilit ario muito r apido e simples, sem muitas fun c oes. $ 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 raz ao n os queremos mapear um endere co IP para um nome de dom nio; e ent ao? 13.3.2 nslookup

nslookup e um programa que tem resistido ao tempo. nslookup est a depreciado e pode ser removido de lan camentos futuros. N ao existe nem mesmo uma p agina de manual para este 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, e o programa que pega informa c oes DNS. dig pode pegar qualquer informa c ao de um servidor DNS incluindo reverse lookups, A, CNAME, MS, SP, e registros TXT. dig possui muitas op c oes de linha de comando e se voc e n ao e familiar com eles, leia a extensiva p agina de manual da ferramenta. $ 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 id eia de como o dig funciona. @192.168.1.254especica o e o nome de dom nio que eu estou vericando, servidor dns a ser usado. www.slackware.com e mx e o tipo de verica c ao que eu estou fazendo. A query acima me diz que quando enviar um e-mail para www.slackware.com ele ser a enviado na verdade, para mail.slackware.com.

114

CAP ITULO 13. COMANDOS DE REDE BASICOS

13.4

nger

O nger (1) ir a retornar informa c oes sobre o usu ario especicado. Voc e utiliza o nger em um username ou em um endere co de e-mail e ele ir a tentar contactar o servidor necess ario e retornar o username, escrit orio, n umero de telefone, e outras informa c oes. Aqui est a um exemplo: $ finger johnc@idsoftware.com O nger pode retornar o username, status de e-mail, n umero de telefones, e o conte udo dos arquivos .plane .project. Claro que a informa c ao retornada varia conforme cada servidor nger. Aquele que est a incluso no Slackware retorna as seguintes informa c oes por padr ao: Username Room number Home phone number Work phone number Login status Email status Conte udo do arquivo .plan dentro do diret orio home do usu ario Conte udo do arquivo .project dentro do diret orio home do usu ario Os primeiros quatro itens podem ser congurados com o comando chfn. Ele guarda essas informa c oes no arquivo /etc/passwd. Para mudar a informa c ao no seu arquivo .plan ou .project, basta editar esses arquivos com seu editor de texto favorito. Esses arquivos precisam estar no seu diret orio home e precisam ser chamados .plan e .project obrigatoriamente. Muitos usu arios utilizam nger na sua pr opria conta de uma m aquina remota para ver rapidamente se possuem novos e-mails. Voc e tamb em pode utiliz a-lo para ver os planos de um usu ario ou o seu projeto atual. Como muitos comandos, nger possui op c oes. Olhe a p agina de manual dele para maiores informa c oes sobre op c oes que voc e pode usar.

13.5

telnet

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

13.5. TELNET

115

$ telnet <hostname> Se o host responder, voc e receber a o prompt de login. Digite seu usu ario e sua senha. Pronto. Voc e agora possui uma shell. Para sair da sua sess ao telnet, use o comando exit ou o comando logout. AVISO: telnet n ao encripta a informa c ao que transmite. Tudo e transmitido em texto puro, at e mesmo senhas. N ao e recomendado usar telnet atrav es da Internet. Para tal, considere usar o ssh (Secure Shell). Ele encripta todo o tr afego e est a dispon vel gratuitamente.

13.5.1

Outras utilidades do telnet

Agora que n os convencemos voc e a n ao utilizar o protocolo telnet para logar em uma m aquina remota, n os iremos mostrar algumas outras utilidades do telnet. Voc e tamb em pode usar o telnet para conectar em um host em uma certa porta. $ telnet <hostname> [port] Isso pode ser bem u til quando voc e precisa rapidamente testar um certo servi co, e voc e precisa de total controle sobre os comandos, al em de ver precisamente o que est a acontecendo. Voc e pode testar interativamente ou usar um servidor SMTP, um servidor POP3, um servidor HTTP, etc. dessa forma. Na pr oxima gura voc e ver a como voc e pode usar telnet em um servidor HTTP na porta 80, e conseguir algumas informa c oes b asicas dele: 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 e pode fazer a mesma coisa para qualquer outro protocolo que seja de texto puro, desde que saiba em que porta conectar e quais s ao seus comandos.

116

CAP ITULO 13. COMANDOS DE REDE BASICOS

13.6

O ssh (Secure Shell)

Hoje, o ssh desfruta da adora c ao que o telnet desfrutou uma vez. ssh (1) nos permite realizar conex oes em uma m aquina remota e executar programas como se voc e estivesse sicamente presente; contudo, o ssh encripta todos os dados transferidos entre os dois computadores. Dessa forma, mesmo que outras pessoas interceptem a comunica c ao, eles n ao ser ao capazes de entend ela. Uma conex ao ssh t pica est a abaixo:

$ 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 e pode perceber que eu estou fazendo uma conex ao ssh em carrier.lizella.net, e checando as permiss oes do arquivo MANIFEST.

13.7

email

O correio eletr onico e uma das coisas mais populares que voc e pode fazer na Internet. Em 1998 descobriu-se que mensagens eletr onicas eram mais utilizadas que o correio normal. Ele e certamente muito comum e u til. No Slackware, n os fornecemos um servidor de email padr ao, e muitos clientes de email. Todos os clientes discutidos abaixo s ao utilizados em modo texto. Muitos dos usu arios Windows podem ser contra isso, mas voc e descobrir a que um cliente utilizado em modo texto e muito conveniente, especialmente quando voc e est a checando email remotamente. N ao tema pois existem diversos clientes gr acos como o Kmail do KDE. Se voc e deseja usar um desses, verique o menu de ajuda dos mesmos.

13.7.1

pine

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

13.7. EMAIL

117

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

13.7.2

elm

elm (1) e outro cliente de email em modo texto bastante popular. Apesar de n ao possuir uma interface t ao amig avel quanto o pine, est a por a h a muito mais tempo.

118

CAP ITULO 13. COMANDOS DE REDE BASICOS

Por padr ao voc e est a na sua caixa de entrada. As mensagens s ao listadas com o n umero 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 a marcar a mensagem para exclus ao. E a tecla r ir a responder a mensagem que voc e est a atualmente lendo. Todas essas teclas s ao mostradas na parte de baixo da tela com um prompt. A p agina de manual apresenta o elm mais detalhadamente, ent ao voc e provavelmente ir a consult a-lo antes de utilizar o elm.

13.7.3

mutt

Todos os clientes de email s ao ruins. Este e apenas menos ruim. A interface original do 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 v arios formatos de caixa de correio (mbox, MMDF, MH, maildir) Altamente personaliz avel Tela principal do Mutt

13.7. EMAIL

119

Se voc e est a procurando por um cliente de email que ir a permitir que voc e tenha total controle sobre tudo, ent ao voc e ir a gostar do mutt. Todas as congura c oes padr ao podem ser customizadas, associa c oes de teclas mudadas. Se voc e quiser adicionar uma macro, voc e tamb em pode. Voc e provavelmente ir a querer dar uma olhada na p agina de manual do muttrc, que ir a explicar como congurar tudo isso. Ou d e uma olhada no exemplo de arquivo de congura c ao muttrc.

13.7.4

nail

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

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

120

CAP ITULO 13. COMANDOS DE REDE BASICOS

13.8

Navegadores

A primeira coisa que as pessoas pensam quando ouvem a palavra Internet e navegar na internet. Em outras palavras, navegar em sites usando um navegador web. Esse e provavelmente de longe o uso mais popular da Internet para o usu ario m edio. O Slackware fornece navegadores web que s ao gr acos na s erie XAP, bem como navegadores web em modo texto na s erie N. N os iremos dar uma r apida olhada nas op c oes mais comuns. 13.8.1 lynx

uma forma bem r lynx (1) e um navegador web em modo texto. E apida de olhar alguma coisa na Internet. Para iniciar o lynx, apenas digite lynx no prompt: $ lynx P agina inicial padr ao do Lynx

Voc e pode querer especicar um site para o lynx abrir: $ 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 atrav es do documento, Enter seleciona o link destacado, e a seta da esquerda volta ` a p agina anterior. Digitando d ir a fazer o download do arquivo selecionado. O comando g traz o prompt de endere co, para voc e digitar uma URL para o lynx abrir. Existem muitos outros comandos no lynx. Voc e pode consultar a p agina de manual ou digitar h para que a tela de ajuda apare ca para maiores informa c oes. 13.8.2 links

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

13.8. NAVEGADORES

121

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

13.8.3

wget

wget (1) e uma ferramenta de linha de comando que ir a fazer o download de arquivos de uma URL espec ca. Como n ao e na verdade um navegador web, o wget e usado principalmente para fazer o download de sites inteiros ou parte deles para visualiza c ao oine dos mesmos, ou para o download de arquivos de servidores HTTP ou FTP. A sintaxe b asica e: $ wget <url> Voc e tamb em pode passar op c oes. Por exemplo, a op c ao abaixo ir a fazer o download do site do Slackware: $ wget --recursive www.slackware.com O wget ir a criar um diret orio chamado www.slackware.com e ir a guardar os arquivos dentro dele, assim como o site o faz. O wget tamb em pode fazer o download de sites FTP; apenas especique uma URL FTP ao inv es de uma HTTP. $ 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 op c oes, o que o torna muito bom para scripts espec cos para sites (como espelhamento e assim por diante). A p agina de manual deve ser consultado para mais informa c oes.

13.9

Clientes FTP

O FTP e o protocolo de transfer encia de arquivos. Ele permite que voc e envie e receba arquivos entre dois computadores. Existe o servidor FTP e o cliente FTP. N os iremos falar sobre os clientes nesta se c ao. Para os curiosos, o cliente e voc e. O servidor e o computador que responde suas requisi c oes FTP e aceita o seu login. Voc e ir a fazer o download de arquivos do servidor e ir a fazer upload de arquivos para o servidor. O cliente n ao pode aceitar conex oes FTP, ele pode apenas conectar ` a servidores FTP.

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 a pedir um username e um password. Voc e poder a logar como voc e mesmo ou como an onimo(anonymous). Sites FTP an onimos s ao bastante populares para reposit orio de arquivos. Por exemplo, para fazer o download do Slackware Linux por FTP, voc e deve usar FTP an onimo. Uma vez conectado, voc e estar a no prompt ftp>. Existem comandos especiais para FTP, mas eles s ao similares aos comandos padr ao. A lista seguinte mostra alguns dos comandos b asicos e o que eles fazem:

Comandos ftp

13.9. CLIENTES FTP

123

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

Fun c ao Lista arquivos Muda de diret orio Dene modo de transfer encia bin ario Dene modo de transfer encia ASCII Faz o download de um arquivo Faz o upload de um arquivo Liga/Desliga a impress ao de #para cada buer transferido Mostra/Esconde contador de bytes Entra/Sai modo interativo para downloads Faz o download de um arquivo ou um grupo de arquivos; coringas s ao permitidos Faz o upload de um arquivo ou um grupo de arquivos; coringas s ao permitidos Sai do servidor FTP

Voc e tamb em pode usar os seguintes comandos, que s ao auto-explicativos: chmod, delete, rename, rmdir. Para uma lista completa de todos os comandos e seus signicados, apenas digite help ou ? e voc e ver a a lista completa na sua tela. FTP e um programa razoavelmente simples de ser usado, mas falta a interface que muitos de n os est ao acostumados hoje em dia. A p agina de manual discute algumas das op c oes de 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) e uma alternativa ao tradicional cliente ftp que vem com o Slackware. Ele e ainda um programa em modo texto, mas oferece algumas vantagens em rela c ao ao ftp, incluindo:

124

CAP ITULO 13. COMANDOS DE REDE BASICOS

Tab completion Arquivo de favoritos(Bookmark) Uso mais liberal de coringas Hist orico de comandos Por padr ao, ncftp ir a tentar logar anonimamente ao servidor que voc e especicar. Voc e pode for car o ncftp a apresentar o prompt de login com a op c ao -u . Uma vez no sistema, voc e pode usar os mesmos comandos usados no ftp, voc e ir a apenas notar uma interface melhor, que se 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) e uma forma r apida de escrever uma mensagem para os usu arios em um sistema. A sintaxe b asica e: $ wall [file] Isso ir a fazer com que o conte udo do arquivo seja mostrado no terminal de todos os usu arios atualmente logados no sistema. Se voc e n ao especicar uma mensagem, wall ir a ler da entrada padr ao, ent ao voc e pode simplesmente digitar sua mensagem e no nal digitar Ctrl+d. wall n ao possui muitos recursos, tirando o fato de servir para avisar a seus usu arios que voc e est a prestes a fazer alguma manuten c ao s eria no sistema, ou at e mesmo reinici a-lo, para que eles salvem seus trabalhos e fa cam logo =)

13.10.2

talk

O talk (1) permite que dois usu arios conversem entre si. Ele divide a tela no meio, horizontalmente. Para requisitar um chat com outro usu ario, use o comando:

13.10. CONVERSANDO COM OUTRAS PESSOAS

125

$ talk <pessoa> [ttyname]

Se voc e especicar apenas o usu ario, o talk assume que a requisi c ao e local, ent ao apenas usu arios locais s ao requisitados. O nome do terminal e requerido se voc e deseja chamar um usu ario em um terminal espec co (se o usu ario est a logado em mais de um). A informa c ao requerida para a conversa pode ser obtida com o comando w (1). O talk tamb em pode chamar usu arios em hosts remotos. Para o username voc e simplesmente especica um endere co de email. talk ir a tentar contactar aquele usu ario remoto naquele host. talk e um pouco limitado. Ele somente suporta dois usu arios e e half-duplex.

13.10.3

ytalk

ytalk (1) e uma reposi c ao do talk. Ele vem com o Slackware como sendo o comando ytalk. A sintaxe e similar, mas existem algumas diferen cas:

$ ytalk <username>[#ttyname]

126

CAP ITULO 13. COMANDOS DE REDE BASICOS

O usu ario e o terminal s ao especicados da mesma forma que no talk, com a diferen ca que voc e deve coloc a-los juntos com o caractere (#). ytalk oferece v arias vantagens: Ele suporta mais de dois usu arios. Um menu de op c oes pode ser ativado a qualquer momento com a tecla Esc. Voc e pode utilizar o shell enquanto estiver em uma conversa. E muito mais... Se voc e e um administrador de servidores, voc e deve se certicar que a porta do ntalk est a habilitada em /etc/inetd.conf. ytalk precisa disso para funcionar corretamente.

Cap tulo 14

Seguran ca
Seguran ca em um sistema e uma caracter stica muito importante: ela pode prevenir que pessoas ataquem sua m aquina, e tamb em proteger dados sigilosos. Esse cap tulo inteiro e dedicado a como proteger sua m aquina Slackware contra script kiddies, crackers e outros ladr oes de informa c oes. Tenha em mente de que esse e s o o come co de como proteger um sistema; seguran ca e um processo, n ao um estado.

14.1

Desabilitando Servi cos

O primeiro passo ap os instalar o Slackware deve ser desabilitar todos os servi cos que voc e n ao vai precisar. Qualquer servi co pode ser um risco de seguran ca, ent ao e importante deixar habilitado o m nimo de servi cos poss veis (ou seja, s o os que s ao necess arios). Os servi cos s ao iniciados a partir de duas ferramentas principais o inetd e os scripts de inicializa c ao (init scripts). 14.1.1 Servi cos iniciados com o inetd

Muitos daemons que vem com o Slackware s ao iniciados a partir do inetd (8). O inetd e um daemon que escuta em todas as portas usadas pelos servi cos congurados para serem iniciados por ele e inicia uma est ancia do daemon relevante quando uma tentativa de conex ao 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 e ver a linhas similares a essa:

$telnet stream

tcp

nowait

root

/usr/sbin/tcpd

in.telnetd

Voc e pode desabilitar esse servi co, e qualquer outro que n ao seja necess ario para voc e, comentado-os (ou seja, incluindo um # (sustenido) ao in cio da linha). A linha acima caria assim:

#telnet stream

tcp

nowait

root

/usr/sbin/tcpd

in.telnetd

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

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

127

128

CAP ITULO 14. SEGURANCA

14.1.2

Servi cos iniciados pelos scripts de inicializa c ao (init scripts)

Os outros servi cos iniciados durante o boot da m aquina s ao iniciados a partir dos scripts contidos em /etc/rc.d/. Esses podem ser desabilitados de duas maneiras: a primeira seria remover a permiss ao de execu c ao do script de inicializa c ao desejado e a segunda seria comentar as linhas relevantes no script de inicializa c ao. Por exemplo, o SSH e iniciado pelo seu pr oprio script /etc/rc.d/rc.sshd. Voc e pode desabilit alo usando: # chmod -x /etc/rc.d/rc.sshd Para os servi cos que n ao possuem seu pr oprio script de inicializa c ao, voc e precisar a comentar as linhas relativas a eles em algum outro script de inicializa c ao para desabilit a-los. Por exemplo, o daemon portmap e iniciado pelas seguintes linhas do arquivo /etc/rc.d/rc.inet2 : # 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 servi co pode ser desabilitado adicionando um # ao inicio das linhas que ainda n ao come cam com #, assim: # 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 mudan cas apenas ter ao efeito ap os um reboot ou mudando para o runlevel 3 ou 4. Voc e pode fazer isso digitando o seguinte em um console (voc e precisar a se logar novamente ap os mudar para o runlevel 1): # telinit 1 # telinit 3

14.2
14.2.1

Controle de Acesso ao Host


iptables

O iptables e o programa de congura c ao de ltros de pacotes para o Linux 2.4 e superior. O kernel 2.4 (2.4.5, para ser exato) foi introduzido no Slackware (como uma op c ao) na vers ao 8.0 e tornou-se o padr ao no Slackware 8.1. Essa se c ao cobre apenas o b asico de sua utiliza c ao e voc e pode acessar o site http://www.netlter.org/ para mais detalhes. Esses comandos podem ser colocados no arquivo /etc/rc.d/rc.rewall, o qual deve ter permiss ao de execu c ao para que essas regras tenham efeito na inicializa c ao. Note que comandos incorretos do iptables podem at e mesmo te impedir de acessar sua pr opria m aquina. A menos que voc e esteja 100% conante de suas habilidades, sempre tenha certeza de que voc e tem acesso local a m aquina.

14.2. CONTROLE DE ACESSO AO HOST

129

A primeira coisa que a maior parte das pessoas devem fazer e congurar a politica padr ao para cada m etodo de entrada para DROP: # iptables -P INPUT DROP # iptables -P FORWARD DROP Quando tudo e barrado, voc e pode come car a liberar coisas. A primeira coisa a liberar eo trafego para se c oes que j a estavam estabelecidas: # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT$ E para n ao impedir qualquer aplica c ao que use o endere co de loopback, e inteligente adicionar 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 tr afego para e a partir do endere co 127.0.0.0/8 (127.0.0.0 127.255.255.255) na interface de loopback (lo ). Quando for criar regras, e uma boa id eia ser o mais espec co poss vel, para ter cereza de que suas regras n ao v ao permitir inadvertidamente algo malicioso. Dito isso, regras que permitem pouco resultam em mais regras e mais digita c ao. O pr oximo passo seria permitir o acesso a servi cos espec cos que rodem em sua m aquina. Se, por exemplo, voc e quisesse rodar um servidor web na sua m aquina, voc e usaria uma regra similar a essa: # iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT$ Isso permitir a o acesso de qualquer m aquina ` a porta 80 da sua m aquina atrav es da interface ppp0. Voc e pode querer restringir o acesso a esse servi co para que apenas certas m aquinas possam acess a-lo. Essa regra permite o acesso ao seu servidor web a partir do endere co 64.57.102.34: # iptables -A INPUT -p tcp -s 64.57.102.34 --dport 80 -i ppp0 -j ACCEPT$ Permitir o tr afego ICMP pode ser u til para efeitos de diagn ostico. Para fazer isso, voc e usuaria uma regra como essa: # iptables -A INPUT -p icmp -j ACCEPT$ Muitas pessoas tamb em v ao querer congurar o servi co de Tradu c ao de Endere cos de Rede (Network Address Translation - NAT) em suas m aquinas que atuem como gateway, para que outras m aquinas na sua rede possam acessar a Internet atrav es dela. Voc e pode usar a seguinte regra para fazer isso: # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE$ Voc e tamb em precisar a habilitar o IP forwarding. Voc e pode fazer isso temporariamente, 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 mudan ca seja mantida ap os o reboot), voc e precisar a abrir o arquivo /etc/rc.d/rc.inet2 em seu editor de textos favorito e mudar a seguinte linha:

130

CAP ITULO 14. SEGURANCA

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

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

14.3
14.3.1

Mantendo-se Atualizado
Lista de emails slackware-security

Sempre que um problema de seguran ca afeta o Slackware, um email e mandado a todos os assinantes da lista atrav es do endere co slackware-security@slackware.com. Relat orios s ao enviados sobre vulnerabilidades em qualquer parte do Slackware, menos as relativas aos pacotes contidos no /extra ou no /pasture. Esses emails de notica c ao de seguran ca incluem detalhes sobre como obter as vers oes atualizadas dos pacotes do Slackware ou work-arounds, se existirem. Informa c oes sobre como se inscrever nas listas de email do Slackware podem ser encontradas na Se c ao 2.7.

14.3. MANTENDO-SE ATUALIZADO

131

14.3.2

O diret orio /patches

Sempre que s ao liberados pacotes atualizados para uma vers ao do Slackware (normalmente para corrigir um problema de seguran ca, no caso de vers oes do Slackware j a liberadas), eles s ao colocados no diret orio /patches. O caminho completo para esses patches vai depender do mirror que voc e estiver utilizando, mas ter ao a seguinte forma /caminho/para/slackware-x.x/patches/. Antes de instalar esses pacotes, e uma boa id eia vericar o md5sum do pacote. O md5sum (1) e um utilit ario de linha de comando que cria uma chavematem atica unicapara o arquivo. Se um u nico bit do arquivo tiver sido modicado, ele gerar a um valor diferente de md5sum para o arquivo. $ md5sum package-<ver>-<arch>-<rev>.tgz 6341417aa1c025448b53073a1f1d287d package-<ver>-<arch>-<rev>.tgz Voc e dever a comparar esse valor com o valor contido no arquivo CHECKSUMS.md5 na raiz do diret orio slackware-$VERSION (tamb em contido no diret orio /patches para os patches) ou no email da lista slackware-security para o pacote em quest ao. Se voc e tiver um arquivo com os valores md5sum nele, voc e pode usa-lo como fonte dos md5sum com a op c ao -c do comando md5sum. # 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 e pode ver, qualquer arquivo com o md5sum correto e listado como OK enquanto os arquivos que est ao com o md5sum incorreto s ao listados como FAILED . (Sim, isso foi um insulto a sua intelig encia. Porque voc e mexeu comigo?)

132

CAP ITULO 14. SEGURANCA

Cap tulo 15

Arquivos Agrupados e Compactados


15.1 gzip

O gzip (1) e o programa de compress ao da GNU. Ele recebe um arquivo e ent ao o comprime. Seu uso b asico e como a seguir: $ gzip nome_do_arquivo

a menor que O nome do arquivo resultante ser a nome do arquivo.gz// e ele geralmente ser o arquivo de entrada. Observe que nome do arquivo ser a substitu do por nome do arquivo.gz. ao existir a mais, somente existir a sua c opia comprimida. Isto signica que nome do arquivo n Arquivos texto regulares ser ao bem compactados, enquanto que imagens jpeg, arquivos mp3 e outros arquivos como estes n ao ser ao t ao compactados, pois eles j a est ao em um formato compactado. Esta forma b asica de usar o programa de compress ao mant em um balanceamento entre o tamanho nal do arquivo e o tempo de compress ao. A compress ao m axima pode ser obtida da seguinte maneira: $ gzip -9 nome_do_arquivo}

Desta maneira a compress ao do arquivo ser a mais lenta, mas o arquivo resultante ser a t ao pequeno quanto ogzip e capaz de comprim -lo. Usando valores mais baixos na op c ao do comando, a compress ao ser a mais r apida, mas o arquivo n ao ser a t ao compactado. Para descomprimir arquivos compactados com o gzip podem ser usados dois comandos, que s ao na verdade um mesmo programa. gzip ir a descomprimir qualquer arquivo com um extens ao reconhecida. As extens oes reconhecidas s ao: .gz, -gz, .z, -z, .Z, ou -Z. A primeira maneira e executar gunzip (1) sobre um arquivo, da seguinte forma: $ gunzip nome_do_arquivo.gz

Isto ir a deixar, no diret orio corrente, uma vers ao descomprimida do arquivo de entrada, e a extens ao .gz ser a retirada do nome do arquivo. gunzip e de fato parte do gzip e e id entico a gzip -d. Dessa forma, gzip e geralmente pronunciado gunzip, uma vez que o nome soa mais legal assim. :)

15.2

bzip2

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

134

CAP ITULO 15. ARQUIVOS AGRUPADOS E COMPACTADOS

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

15.3

tar

tar (1) e o arquivador em ta da GNU (as tas j a foram a principal m dia para armazenar grandes volumes de dados!). Neste contexto, arquivar signicar agrupar e comprimir um conjunto de arquivos para transfer encia ou armazenamento. O tar recebe como entrada v arios arquivos ou diret orios e cria um u nico grande arquivo, tamb em chamado de pacote. Isto lhe permite comprimir uma arvore de diret orio inteira, o que e imposs vel apenas utilizando gzip ou bzip2. O tar tem muitas op c oes de linha de comando, que s ao explicadas na p agina de manual correspondente. Esta se c ao ir a abordar apenas os casos mais comuns de uso do tar. O uso mais comum para o tar e extrair (descomprimir e desagrupar) um pacote que voc e copiou de um servidor WEB ou FTP. A maioria desses pacotes ter ao a extens ao .tar.gz. Um pacote e comumente conhecido como um tarball. Isto signica que v arios arquivos foram agrupados utilizando-se o tar e ent ao compactados com o gzip. Voc e tamb em poder a encontrar tais pacotes com a extens ao .tar.Z. Esta extens ao signica a mesma coisa, mas e geralmente encontrada em sistemas Unix mais antigos. Por outro lado, voc e pode encontrar um pacote com a extens ao .tar.bz2 em algum lugar. O c odigo fonte do kernel (n ucleo do sistema operacional) e distribu do desta forma, pois o pacote resultante e menor. Como voc e pode ter imaginado, esse pacote resulta de v arios arquivos compactados com o bzip2 e agrupados com o tar. Voc e pode obter todos os arquivos neste pacote utilizando o tar com alguns par ametros. Para se desempacotar um tarball utiliza-se a op c ao -z como par ametro, o que signica que o gunzip ser a utilizado para descomprimir os arquivos. A maneira mais comum para descomprimir e separar os arquivos de tais pacotes e a seguinte: $ tar -xvzf nome_do_arquivo.tar.gz

S ao absolutamente poucas op c oes. Ent ao o que elas signicam? A op c ao -x signica extrair. Ela e importante, uma vez que diz exatamente para o tar o que fazer com o arquivo de entrada. Neste caso, n os dividiremos o pacote separando de volta os arquivos que foram agrupados. O -v signica ser detalhado, ao inv es de ser resumido. Dessa forma, ser ao listados todos os arquivos perfeitamente aceit que est ao sendo desagrupados. E avel n ao usar esta op c ao se ela for algo que lhe incomoda. De outra forma, voc e poderia usar -vv para a execu c ao ser muito mais detalhada e listar ainda mais informa c oes sobre cada arquivo sendo extra do. A op c ao -z diz ao tar para primeiro descomprimir o pacote nome do arquivo.tar.gz com o gunzip. E nalmente, a op c ao -f indica ao tar que a pr oxima seq uencia de caracteres na linha de comando representa o nome do arquivo sobre o qual ele executar a as opera c oes. Existem algumas outras maneiras de se escrever este comando. Em sistemas mais antigos carentes de uma c opia decente do GNU tar, voc e pode encontr a-lo expresso assim:

15.3. TAR

135

gunzip nome_do_arquivo.tar.gz | tar -xvf -

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

importante notar que o tar colocar E a os arquivos extra dos no diret orio corrente. Ent ao, se voc e tem um pacote em /tmp que voc e quer extrair no seu diret orio pessoal, existem poucas op c oes. Primeiro, poderia-se mover o pacote para o seu diret orio pessoal e ent ao executar o tar sobre ele. Segundo, voc e poderia especicar o caminho para o pacote na linha de comando. Terceiro, voc e pode usar a op c ao -C para explodir o pacote em um determinado diret orio. $ $ $ $ $ $ $ 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 s ao equivalentes. Em cada caso, os arquivos do pacote s ao extra dos em seu diret orio pessoal e o pacote original compactado permanecer a em seu lugar inicial. Sendo assim, o que adiante ser capaz de extrair estes pacotes se voc e n ao e capaz de criar um deles? Bem, o comando tar tamb em cuida disso. Na maioria dos casos isto e t ao f acil quanto remover a op c ao -x e substitu -la pela op c ao -c. $ tar -cvzf nome_do_arquivo.tar.gz .

Neste comando, a op c ao -c diz ao tar para agrupar os arquivos criando um pacote, enquanto que a op c ao -z executa o gzip sobre o pacote para comprim -lo. nome do arquivo.tar.gz ser ao nome do pacote que voc e quer criar. N ao e sempre necess ario especicar a op c ao -f, mas de qualquer maneira e uma boa pr atica faz e-lo. Sem isso, o comando tar envia sua sa da para a sa da padr ao, o que e geralmente desej avel para redirecionamento da sa da do tar para outro programa, como a seguir. $ tar -cv . | gpg --encrypt

Este comando cria um pacote n ao compactado que agrupa o conte udo do diret orio corrente e ent ao redireciona esse pacote para o gpg que criptografa e comprime o pacote, fazendo com que seja praticamente imposs vel sua leitura por outra pessoa al em daquela que conhece a chave secreta.

136

CAP ITULO 15. ARQUIVOS AGRUPADOS E COMPACTADOS

15.4

zip

Por m, existem dois utilit arios que podem ser usados em arquivos zip. Estes arquivos s ao muito comuns no mundo Windows, de maneira que o Linux tem programas para lidar com eles. O arquivo de compress ao e denominado zip (1), e o de descompress ao e denominado unzip (1). $ zip teste *

Isto criar a o arquivo teste.zip, que ir a conter todos os arquivos do diret orio corrente. O zip adicionar a a extens ao .zip automaticamente, de forma que n ao h a necessidade de inclu -la no nome do arquivo. Voc e tamb em pode recursivamente comprimir os subdiret orios existentes: $ zip -r teste *

Bem como, descomprimir arquivos tamb em e f acil. $ unzip teste.zip

Isto ir a extrair todos os arquivos e diret orios no arquivo teste.zip. Os utilit arios zip t em v arias op c oes avan cadas para criar pacotes que podem se extrair automaticamente, excluir arquivos, controlar o tamanho do arquivo compactado, mostrar o que acontecer a e muito mais. Veja as p aginas de manual dos comandos zip e unzip para descobrir como usar essas op c oes.

Cap tulo 16

Vi
O vi (1) e o programa editor de texto padr ao do Unix, e apesar de que domin a-lo n ao seja t ao essencial quanto j a foi, e ainda algo que vale a pena. H a algumas vers oes (ou clones) do vi dispon veis, incluindo vi, elvis,vile, e o vim. Ao menos um destes est a dispon vel em qualquer vers ao do Unix, assim como no Linux. Todas estas vers oes incluem os mesmos recursos e comandos b asicos, logo, aprender a usar um clone deve facilitar o aprendizado de outro. Com a variedade de editores de texto inclusos nas distribui c oes do Linux e variantes do Unix atualmente, muitas pessoas n ao utilizam mais o vi. De qualquer maneira, ele permanece sendo o editor de texto mais universal do Unix e sistemas derivados. Dominar o vi signica que voc e nunca mais se sentar a diante de uma m aquina Unix e n ao se sentir a confort avel com pelo menos um poderoso editor de texto. O vi inclui diversos recursos como o destaque de sintaxe, formata c ao de c odigo, um poderoso mecanismo de busca e substiui c ao, macros e outros. Estes recursos o fazem especialmente atrativo para programadores, desenvolvedores web e ans. Administradores de sistema v ao apreciar a poss vel automa c ao e integra c ao com o shell. No Slackware Linux, a vers ao padr ao do vi dispon vel e o elvis. Outras vers oes - incluindo o vim e o gvim - est ao dispon veis se voc e tiver os pacotes apropriados instalados. O gvim e uma vers ao gr aca do vim que inclui barras de tarefas, menus destac aveis e caixas de di alogo.

16.1

Iniciando o vi

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

$ vi

Uma sess ao do vi.

137

138

CAP ITULO 16. VI

Isto ir a iniciar o vi com um buer vazio. Neste ponto, voc e ver a uma tela com quase nada escrito. O vi est a agora no modo de comando, esperando alguma a c ao sua. Para uma discuss ao dos diversos modos do vi, veja a se c ao 16.2. Para nalizar a sess ao e sair do vi, digite o seguinte: :q Assumindo que n ao tenha havido modica c oes no arquivo, este comando ir a fechar o vi. Se houve modica c oes, este comando ir a adverti-lo e lhe dizer como ignor a-las. Ignorar modicac oes usualmente signica anexar um ponto de exclama c ao ap os o q resultando em: :q! O ponto de exclama c ao usualmente signica for car alguma a c ao. N os discutiremos esta e outras combina c oes mais adiante. Voc e tamb em pode inciar o vi com um arquivo pr e-existente. Por exemplo, o arquivo /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 e especialmente u til para programadores quando uma mensagem de erro inclui a linha na qual houve o erro. Por exemplo, voc e poderia iniciar o vi na linha 47 do arquivo /usr/src/linux/init/main.c da seguinte maneira:

16.2. MODOS

139

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

16.2

Modos

O vi opera em v arios modos, que s ao usados para cumprir v arias tarefas. Quando voc e inicia o vi, voc e e colocado dentro do modo de comando. Deste ponto, voc e pode lan car diversos comandos para manipular texto, mover-se pelo arquivo, salvar, sair, e alternar entre os outros modos. A edi c ao de texto e feita em modo de inser c ao. Voc e pode rapidamente alternar entre os modos com uma variedade de combina c oes de teclas, que s ao explicadas abaixo. 16.2.1 Modo de Comando

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

Simplesmente pressione uma tecla para mover-se. Como voc e ver a posteriormente, estas teclas podem ser combinadas com um n umero para mover-se de forma mais eciente. Muitos dos comandos que voc e usar a no modo de comando iniciam-se com dois-pontos. Por 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 sess ao e sair. Outros comandos s ao formados por um n umero opcional, seguido por uma letra. Estes comandos n ao tem dois-pontos antes deles, e geralmente s ao usados para manipular o texto. Por exemplo, para apagarmos uma linha de um arquivos digitamos dd. Isto ir a remover a linha na qual est a o cursor. Lan cando o comando 4dd diria ao vi para remover a linha na qual est a o cursor e as 3 seguintes. Em geral, o n umero diz ao vi quantas vezes executar o comando dado. Voc e pode combinar um n umero com as teclas de movimento para mover-se por v arios caracteres de uma s o vez. Por exemplo, 10k moveria o cursor 10 linhas acima na tela. O modo de comando tamb em pode ser usado para copiar e colar, inserir texto e ler outros 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 n umero para extrair mais linhas. Ent ao, mova-se para o local para o qual o texto extraido deve ser copiado e pressione a tecla p. O texto e colado na linha posterior ` a linha corrente. 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 e um procedimento simples. Apenas digite :r, seguido por um espa co e o nome do arquivo que cont em o texto a ser inserido. O conte udo do arquivo ser a colado no buer corrente na linha ap os a que se encontra o cursor. Os clones mais sosticados do vi tamb em cont em complementa c ao de nome de arquivo similiar a do shell. ` O uso nal que ser a mostrado e a pesquisa. O modo de comando permite pesquisas simples, assim como comandos complicados de busca e substitui c ao que usufruem de uma poderosa vers ao de express oes regulares. Uma completa discuss ao sobre express oes regulares est a al em do escopo deste cap tulo, logo, esta se c ao cobrir a somente simples meios de pesquisa. Uma simples busca e feita pressionando-se a tecla /, seguida do texto pelo qual voc e est a procurando. O vi ir a fazer a pesquisa do ponto em que est a o cursor at e o m do arquivo, parando no momento em que a pesquisa for satisfeita. Note que buscas inexatas ir ao fazer com que o vi pare. Por exemplo, uma busca por the ir a fazer com que o vi pare em then, therefore, e em outras palavras. Isto acontece porque todas estas palavras cont em o trecho de pesquisa the. Ap os o vi encontrar o primeiro termo que casa com o termo de pesquisa, voc e pode continuar pesquisando pelo termo simplesmente pressionando a tecla / seguida de um enter. Voc e tamb em pode pesquisar se o termo de pesquisa existe em algum trecho anterior ` a localiza c ao do cursor substituindo a barra pelo caractere ?. Por exemplo, para procurar por the em algum ponto anterior ao cursor, digitamos ?the. 16.2.2 Modo de inser c ao

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

16.3

Abrindo Arquivos

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

16.4. SALVANDO ARQUIVOS

141

e do nome do arquivo. Em geral, as advert encias do vi podem ser suprimidas adicionando-se um ponto de exclama c ao no nal do comando. Se voc e quiser reabrir o arquivo corrente, voc e pode faz e-lo simplesmente digitando e!. Isto e particularmente u til caso voc e tenha bagun cado o arquivo de alguma maneira e queira reabri-lo. Alguns clones do vi (por exemplo, o vim ) permitem que m ultiplos buers sejam abertos ao mesmo tempo. Por exemplo, para abrir o arquivo 09-vi.sgml que est a no meu diret orio home enquanto outro arquivo est a aberto, eu poderia digitar: :split \~{}/09-vi.sgml O novo arquivo e exibido na metade superior da tela, e o arquivo que j a estava aberto e exibido na metade inferior da tela. H a v arios comandos para manipula c ao da tela dividida, e muitos destes comandos lembram o Emacs O melhor lugar para procurar por estes comandos seria a p agina de manual do seu clone do vi. Note que muitos clones n ao suportam a id eia de divis ao de tela, ent ao voc e pode n ao estar apto a utiliz a-la.

16.4

Salvando Arquivos

H a algumas maneiras de se salvar arquivos no vi. Se voc e quiser salvar o buer corrente para o arquivo bah, voc e poderia digitar: :w bah Uma vez que voc e tenha salvado o arquivo pela primeira vez, para salv a-lo novamente basta digitar :w. Qualquer altera c ao ser a gravada no arquivo. Ap os voc e ter salvado o arquivo, voc e e jogado de volta para dentro do modo de comando. Se voc e quiser salvar o arquivo e encerrar o vi (uma opera c ao muito comum), voc e podeira digitar :wq. Que diz ao vi para salvar o buer corrente para o arquivo e encerrar a sess ao, voltando ao shell. Se por acaso, voc e quiser salvar um arquivo cujas permiss oes sejam apenas de leitura, voc e poderia faz e-lo adicionando um ponto de exclama c ao ap os o comando de grava c ao, da seguinte forma: :w! Entretanto, haver a casos em que voc e n ao poder a gravar no arquivo (por exemplo, caso voc e esteja tentando editar um arquivo que seja de outro usu ario). Quando isto acontecer, o vi ir a lhe dizer que n ao foi poss vel salvar o arquivo. Se voc e realmente quiser editar o arquivo, voc e ter a que edit a-lo como usu ario root ou (de prefer encia) como o usu ario dono do arquivo.

16.5

Encerrando o vi

Uma maneira de encerrar o vi e atrav es do comando :wq, que ir a salvar o buer corrente para o arquivo antes de encerrar a sess ao. Voc e tamb em pode encerrar a sess ao sem salvar as altera c oes feitas no arquivo com o comando :q ou (mais comum) com o comando :q!. A segunda maneira e utilizada quando voc e tiver modicado o arquivo, mas n ao desejar salvar as altera c oes feitas. Pode acontecer da sua m aquina ou o vi travarem. Entretanto, ambos elvis e o vim tentam minimizar os danos. Ambos os editores salvam ocasionalmente o buer aberto para um aquivo tempor ario. Este arquivo e usualmente nomeado de forma similar ao arquivo aberto, mas com um ponto no in cio do nome. Isto faz com que o arquivo seja oculto. Este arquivo tempor ario e removido uma vez que o editor e encerrado sob condi c oes normais. Isto signica que a c opia tempor aria existir a para o caso de haver algum problema. Quando voc e voltar a editar o arquivo novamente, voc e ser a questionado sobre qual a c ao tomar. Na maioria dos casos, uma larga quantia do seu trabalho n ao salvo pode ser recuperada. O elvis tamb em lhe enviar a um e-mail informando da exist encia de uma c opia de backup.

142

CAP ITULO 16. VI

16.6

Congura c ao do vi

O seu clone do vi pode ser congurado de v arias maneiras. Uma variedade de comandos podem ser dados no modo de comando para congurar o vi do jeito que voc e gosta. Dependendo do seu editor, voc e pode habilitar recursos para facilitar a programa c ao (como o destaque de sintaxe, auto-identa c ao, e outros mais), congurar macros para automatizar tarefas, habilitar substitui c oes textuais, e muito mais. Quase todos estes comandos podem ser colocados dentro de um arquivo de congura c ao no seu diret orio home. No elvis seria o arquivo .exrc, enquanto que no vim seria o arquivo .vimrc. A maioria dos comandos de congura c ao que podem ser digitados no modo de comando, podem ser colocados no arquivo de congura c ao. Isto inclui informa c oes de congura c ao, substitui c oes textuais, macros, e mais. A discuss ao de todas essas op c oes e as diferen cas entre os editores e um assunto muito complicado. Para maiores informa c oes, verique a p agina de manual ou o site do seu editor vi predileto. Alguns editores (como o vim ) possuem uma extensa documenta c ao dentro do editor que pode ser acessada com o comando :help, ou algo similar. Voc e tamb em pode checar o livro da OReilly chamado Learning the //vi Editor// escrito por Lamb e Robbins. Muitos programas comuns do Linux carregar ao um arquivo texto no vi por padr ao. Por exemplo, ao se editar as tarefas agendadas do sistema (crontabs) ser a iniciado o vi por padr ao. Se voc e n ao gosta do vi e gostaria que outro editor fosse iniciado ao inv es dele, tudo o que voc e precisa fazer e setar a vari avel de ambiente VISUAL para o editor de sua prefer encia. Para maiores informa c oes sobre como setar vari aveis de ambiente, veja a se c ao chamada Vari aveis de Ambiente no cap tulo 8. Se voc e deseja ter certeza de que o seu editor ser a o padr ao toda vez que voc e logar-se, adicione sete a vari avel VISUAL dentro dos seus arquivos .bash prole ou .bashrc.

16.7

Comandos do Vi

Esta se c ao e uma refer encia r apida aos comandos mais comuns do vi. Alguns destes j a foram discutidos anteriormente no cap tulo, enquanto outros n ao. Movimento Opera c ao Tecla esquerda, abaixo, acima, direita h, j, k, l Para o m da linha $ Para o in cio da linha Para o m do arquivo G Para o in cio do arquivo :1 Para a linha 47 :47 Editando Opera c ao Removendo uma linha Removendo cinco linhas Substituindo um caractere Removendo um caractere Removendo dez caracteres Defazer a u ltima a c ao 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

Opera c ao Procurar por asdf Procurar atr as por asdf Repetir a u ltima busca para frente Repetir a u ltima busca para tr as Repetir a u ltima busca, na mesma dire c ao Repetir a u ltima busca, na dire c ao oposta Salvando e Saindo Opera c ao 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 da do comando ls dentro do buer

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) e sem d uvida o editor mais presente em sistemas derivados do Unix, O Emacs vem em segundo lugar. Ao inv es de usar diferentes modos, como o vi, ele utiliza combina c oes das teclas Control e Alt para dar comandos, da mesma forma que voc e pode usar combina c oes das teclas Control e Alt em um outro processador de textos e em muitas outras aplica c oes am de executar certas fun c oes. (Apesar de ser not avel que os comandos raramente se correspondem; ent ao enquanto muitas aplica c oes modernas utilizam Ctrl C / X/ V para copiar, recortar e colar, o Emacs utiliza teclas diferentes e atualmente um mecanismo um tanto quanto diferente para isto.) Tamb em diferentemente do vi, que e um (excelente) editor e nada mais, o Emacs e um programa com quase innitas capacidades. O Emacs e (em sua maior parte) escrito em linguagem Lisp, que e uma linguagem de programa c ao muito poderosa que tem a caracter stica peculiar de que todo programa escrito nela e automaticamente um compilador Lisp em si. Isto signica que o usu ario pode estender o Emacs, e de fato escrever programas inteiramente novos no Emacs. Como resultado disto, o Emacs n ao e mais somente um editor. H a muitos pacotes adicionais para o Emacs dispon veis (o c odigo fonte do programa vem com o programa) que prov eem todas as esp ecies de funcionalidades. Muitos destas s ao relacionados ` a edi c ao de texto, que e dentre todas as demais, a tarefa b asica do Emacs mas que n ao se limitam a isto. Existem por exemplo alguns programas de planilhas eletr onicas para o Emacs, base de dados, jogos, clientes de e-mail e not cias (sendo o Gnus o mais famoso deles), etc. Existem duas vers oes principais do Emacs: O GNU Emacs (que e a vers ao que vem com o Slackware) e o XEmacs. O u ltimo n ao e uma vers ao do Emacs para rodar sob o X. De fato, ambos Emacs e XEmacs rodam no console assim como sob o X. O XEmacs foi iniciado como um projeto para limpar e arrumar o c odigo fonte do Emacs. Atualmente, ambas as vers oes est ao sendo ativamente desenvolvidas, e h a de fato muita intera c ao entre os dois times de desenvolvimento. Para o cap tulo presente, e indiferente se voc e usa o Emacs ou o XEmacs, as diferen cas entre eles n ao s ao relevantes para o usu ario nal.

17.1

Iniciado o Emacs

O Emacs pode ser inciado no shell simplesmente digitando-se emacs. Se voc e estiver rodando o X, o Emacs ir a (normalmente) surgir com sua pr opria janela, usualmente com uma barra de menu no topo, onde voc e pode encontrar as fun c oes mais importantes. Na inicializa c ao, o Emacs ir a primeiramente mostrar uma mensagem de boas vindas, e ent ao ap os alguns segundos ele ir a jog a-lo no *scratch* buer. (veja se c ao 17.2).
145

146

CAP ITULO 17. EMACS

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

Como mencionado acima, o Emacs utiliza combina c oes das teclas Control e Alt para comandos. A conven c ao usual e escrever estes com C letra e M- letra, respectivamente. Ent ao C x signica Control x, e M- x signica Alt x. (A letra M- e usada ao inv es de A porque originalmente n ao existia a tecla Alt e sim a tecla Meta. A tecla Meta desapareceu dos teclados dos computadores, e no Emacs a tecla Alt tomou ent ao a sua fun c ao.) Muitos comandos do Emacs consistem de sequ encias e combina c oes de teclas. Por exemplo, C x C c (que e Control x seguida de Control c) encerra o Emacs, C x C ssalva o arquivo atual. Mantenha em mente que C x C b n ao e o mesmo que C x b. A primeira signica 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 e essencial. Todo arquivo que voc e abre e carregado em seu pr oprio buer. Al em disto, o Emacs possui alguns buers especiais, que n ao cont em um arquivo, mas s ao usados para outras coisas. Tais buers especiais usualmente t em um nome que come ca e termina com um asterisco. Por exemplo, o buer que o Emacs mostra quando e primeiramente inciado, e o t ao famoso *scratch* buer. No *scratch* buer, voc e pode digitar texto normalmente, mas o texto que e digitado n ao e salvo quando o Emacs e fechado. H a um outro buer especial sobre o qual voc e precisa saber, e este e o minibuer. Este buer consiste de apenas uma linha, e est a sempre na tela: ele eau ltima linha da janela do Emacs, abaixo da barra de status para o buer em uso. O minibuer e onde o Emacs mostra mensagens para o usu ario, e e tamb em o lugar onde os comandos, que requerem alguma entrada do usu ario, s ao executados. Por exemplo, quando voc e abre um arquivo, o Emacs ir a perguntar pelo nome do arquivo no minibuer. A Mudan ca de um buer para outro pode ser feita com

17.3. MODOS

147

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

17.3

Modos

Todo buer no emacs tem a si associado, um modo. Este modo e muito diferente da id eia de modos do vi : um modo lhe diz em que tipo de buer voc e se encontra. Por exemplo, existe o modo texto (text-mode) para arquivos normais de texto, por em existem tamb em modos tais como o modo c (c-mode) para edi c ao de programas escritos em C, modo sh (sh-mode) para edi c ao de shell scripts, modo latex (latex-mode) para edi c ao de arquivos latex, modo mail (mail-mode) para edi c ao de e-mail, not cias, mensagens e etc. Um modo prov e customiza c oes e funcionalidades especiais que s ao u teis para o tipo de arquivo que voc e est a editando. Tamb em e poss vel para um modo, a redeni c ao de teclas e comandos. Por exemplo, no modo texto, a tecla Tab simplesmente pula para a pr oxima tabula c ao e p ara, mas em muitos modos de linguagens de programa c ao, a tecla Tab identa a linha atual de acordo com a pronfundidade do bloco no qual a linha se encontra. Os modos mencionados acima s ao chamados de modos principais. Cada buer tem exatamente um modo principal. Adicionalmente, um buer pode ter um ou mais modos secund arios. Um modo secund ario prov e recursos adicionais que podem ser u teis para certas tarefas de edi c ao. Por exemplo, se voc e pressiona a tecla INSERT, voc e invoca o modo de subscri c ao (overwrite-mode), que faz o que voc e sup oe que fa ca. H a tamb em um modo de auto preenchimento (auto-ll-mode), que eu til em combina c ao com o modo texto (text-mode) ou com o modo latex (latex-mode): ele far a com que cada linha que voc e digita seja automaticamente embalada, uma vez que a linha alcance um certo n umero de caracteres. Sem o modo de auto preenchimento (auto-ll-mode), voc e teria que digitar M- q para preencher um par agrafo. (Que voc e pode tamb em utilizar para reformatar um par agrafo ap os ter editado algum texto e ele tenha deixado de ser preenchido.) 17.3.1 Abrindo Arquivos

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

148

CAP ITULO 17. EMACS

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

17.4

Edi c ao B asica

Quando voc e tiver aberto um arquivo, voc e obviamente poder a mover-se ele com o cursor. As teclas do cursor e PgUp, PgDn fazem o que voc e possa supor. Home e End pulam para o in cio e nal da linha. (Em vers oes mais antigas, elas podem pular para o in cio e m do buer.) Entretanto, h a tamb em a combina c ao das teclas Control e Meta (Alt) para mover o cursor. Porque voc e n ao precisa mover suas m aos para outra parte do teclado para utiliz a-las, elas s ao muito mais facilmente acess veis uma vez que voc e se acostume com elas. Os mais importantes comandos semelhantes est ao listados na tabela abaixo. Comandos B asicos de Edi c ao 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 avan ca um caractere vai para a linha abaixo vai para a linha acima vai para o in cio da linha vai para o m da linha vai para a palavra anterior vai para a palavra seguinte vai para o par agrafo seguinte vai para o par agrafo anterior vai para a senten ca anterior vai para a senten ca seguinte apaga o caractere sob o cursor apagar at e o m da palavra atual abaixa uma tela (assim como a tecla., PgDn) sobe uma tela (assim como a tecla., PgUp) vai para o in cio do buer vai para o m do buer desfaz a u ltima altera c ao (pode ser repetido); note que voc e realmente tem que digitar Shif apaga at e o m da linha atual efetua uma busca ` a frente do cursor at e o m do arquivo efetua uma busca anteriormente ao cursor at e o in cio do arquivo

17.5. SALVANDO ARQUIVOS

149

Note que muitos comandos com a tecla Meta s ao paralelos aos comandos com a tecla Control exceto pelo fato de que eles operam em amplas unidades: enquanto C-f avan ca um caractere, M-f avan ca em uma palavra inteira, etc. Tamb em note que M-<** e M-> requerem que voc e digite Shift Alt comma e Shift Alt dot respectivamente, desde que &lt; e &gt; estejam ligadas Shift comma e Shift dot.(A menos e claro que voc e tenha um teclado em condi c oes diferentes (layout), do teclado padr ao US.) Note que C k apagar (apaga, como e freq uentemente chamada) todo o texto ap os o cursor at e o m da linha, por em n ao apaga a linha em si (por exemplo, n ao apaga a indica c ao de nova linha). Ele apenas apaga a linha se n ao houver texto ap os o cursor. Em outras palavras, para apaga uma linha completamente, voc e tem que posicionar o cursor no in cio e pressionar C k 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 e deve digitar C-x C-s O Emacs n ao ir a lhe solicitar um nome para o arquivo, o buer atual apenas ser a salvo para o arquivo que foi carregado inicialmente nele. Se voc e deseja salvar o seu texto em outro arquivo, digite C-x C-w Quando voc e salva o arquivo pela primeira vez nesta sess ao, o Emacs ir a normalmente salvar a antiga vers ao do seu arquivo em uma c opia de seguran ca (arquivo de backup), que possui o mesmo nome acompanhado de um sinal de til (): ent ao se voc e est a editando um arquivo //cars.txt//, o Emacs criar a uma c opia de seguran ca chamada //cars.txt//. Esta c opia de seguran ca e uma c opia do arquivo que voc e abriu. Enquanto voc e estiver trabalhando, o Emacs ir a regularmente criar automaticamente uma c opia do trabalho que voc e est a fazendo, para um arquivo nomeado com sinais de hash: #cars.txt#. Esta c opia de seguran ca e apagada quando voc e salva o arquivo com C-x C-s. Quando voc e tesiver nalizado a edi c ao de um arquivo, voc e poder a matar o buer que cont em o arquivo digitado C-x k O Emacs ir a perguntar a voc e qual buer voc e deseja matar, com o buer atual como padr ao, o qual voc e pode selecionar simplesmente pressionando a tecla ENTER. Se voc e n ao estiver salvado seu arquivo ainda, o Emacs ir a lhe perguntar se realmente deseja matar o buer. 17.5.1 Saindo do Emacs

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

150

CAP ITULO 17. EMACS

Cap tulo 18

Gerenciamento de Pacotes do Slackware


Um pacote de software e um conjunto de arquivos que est ao prontos para que voc e possa instalar. Quando voc e faz o download de um c odigo fonte, voc e precisa congurar, compilar, e instalar tudo manualmente. Um pacote de software j a est a pronto para voc e utilizar. Tudo o que voc e precisa fazer e instalar o pacote. Outras caracter sticas do uso de pacotes de softwares s ao a facilidade na remo c ao e atualiza c ao do pacote, se voc e assim o desejar. Slackware possui programas para voc e gerenciar seus pacotes. Voc e pode instalar, remover, atualizar, criar, e examinar o conte udo de um pacote muito facilmente. Existe um mito sobre o gerenciador de Pacotes da Red Hat, e que o slackware n ao possui nenhuma ferramenta de gerenciamento de Pacotes. Isto simplesmente n ao e verdade, pois o Slackware possui uma ferramenta de gerenciamento de pacotes antes mesmo do RedHat existir. N ao possui tantas caracter stics como um rpm (ou como um pacote deb), o pkgtool e seus programas derivados s ao t ao bons quanto os instaladores de pacotes rpm. A verdade e que o pkgtool n ao faz nenhuma verica c ao de depend encia. Aparentemente muitas pessoas da comunidade Linux acham que a deni c ao do gerenciamento de pacotes e a de vericar depend encias. Isto e muito simples e n ao e o caso, no Slackware certamente voc e n ao ter a isso. Isso n ao signica que os pacotes do Slackware n ao possuem depend encias, mas o gerenciador de pacotes n ao verica se existe uma depend encia. Gerenciamento de depend encia e responsabilidade do Administrador de Sistemas, e isso n ao cabe a n os resolver.

18.1

Vis ao Geral do Formato de um Pacote

Antes de aprender os utilit arios de pacotes do Slackware, voc e precisa se familiarizar com o formato do pacote do Slackware. No Slackware, um pacote e simples como um arquivo tar compactado com gzip. Os pacotes s ao feitos para serem extra dos no diret orio raiz. Veja um programa ct cio como um exemplo de um pacote do Slackware: ./ 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 a extra do no diret orio ra z na instala c ao. Um registro do pacote e adicionado no banco de dados de pacotes onde conter a informa c oes sobre o pacote e ser a utilizado para atualizar ou remover o pacote posteriormente. Informa c oes sobre o subdiret orio install/. Este e um diret orio especial que cont em um script de p os-instala c ao chamado doinst.sh. Se o sistema encontrar esse arquivo no pacote, ele ser a executado ap os a instala c ao do pacote. Outros scripts podem ser adicionados no pacote mas ser ao discutidos com maiores detalhes logo em seguida.

18.2

Utilit arios de Pacotes

Existem quatro utilit arios principais para o gerenciamento de pacotes. Eles s ao respons aveis pela instala c ao, remo c ao e atualiza c ao dos pacotes.

18.2.1

pkgtool

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

A instala c ao e realizada a partir do diret orio atual, outro diret orio, ou a partir de disquetes. Basta simplesmente selecionar o tipo de instala c ao que o pkgtool ir a procurar pacotes v alidos para serem instalados no local selecionado. Voc e tamb em pode visualizar uma lista de todos os pacotes instalados como e mostrado na gura abaixo. Modo de visualiza c ao Pkgtool

18.2. UTILITARIOS DE PACOTES

153

Caso voc e desejar remover algum pacote, escolha a op c ao remover e ent ao ser ao apresentados todos os pacotes instalados cada um com um checklist. Selecione os pacotes que deseja remover e ent ao selecione OK. O pkgtool remover a os pacotes. Alguns usu arios preferem o utilit ario em linha de comando. Entretanto, deve-se notar que cada linha de comando oferece muito mais op c oes. Al em disso, a capacidade para atualizar pacotes somente e poss vel atrav es de utilit arios de linha de comando. 18.2.2 installpkg

O installpkg (8) permite instalar um novo pacote no sistema. A sintaxe e mostrada abaixo: # installpkg op c~ oes nome_pacote Tr es op c oes podem ser utilizadas com o installpkg. Por em somente uma op c ao pode ser utilizada por vez. Op c oes do installpkg

Op c ao Descri c ao -m Executa o makepkg no diret orio atual. -warn Mostra o que aconteceria se voc e instalar o pacote especicado. Isto eu til para sistemas em pr -r Instala todos os pacotes recursivamente a partir do diret orio atual. Pode-se utilizar coringas no Caso voc e especique antes a vari avel de ambiente ROOT installpkg, utilizar a o caminho especicado. Isso eu til na congura c ao de novos drives para o seu diret orio raiz. Eles ser ao montados tipicamente em /mnt ou em algum outro lugar diferente de /. O banco de dados com os pacotes instalados e armazenado em /var/log/packages. O registro e um arquivo texto, sendo um para cada pacote. Se o pacote possui um script de p os-instala c ao, este e escrito em /var/log/scripts/. Voc e tamb em pode especicar multiplos pacotes ou utilizar coringas no nome do pacote. O installpkg n ao o avisar a em caso de reinstala c ao do pacote existente. Simplesmente instalar ao novo pacote sobre o pacote antigo. Caso voc e queira remover com toda a seguran ca os arquivos antigos do pacote enterior voc e dever a utilizar o comando upgradepkg.

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 e mostrada abaixo: # removepkg option package_name Quatro op c oes podem ser utilizadas com o removepkg. Por em somente uma op c ao pode ser utilizada por vez. Op c oes do removepkg

Op c ao A c ao criado uma -copy E arvore de diret orios do pacote preservando o pacote original enquanto e removi -keep S ao criados arquivos tempor arios durante a remo c ao. Possuem a nalidade de debug. -preserve O pacote e removido, mas uma c opia e realizada para preservar o pacote durante a remo c ao. -warn Exibe informa c oes sobre a remo c ao do pacote. Se voc e passar a vari avel de ambiente ROOT antes do removepkg, tal caminho ser a utilizado como diret orio raiz. Isso eu til na congurar c ao de novos drives para o seu diret orio raiz. Eles ser ao montados tipicamente em /mnt ou em algum outro lugar diferente de /. O removepkg procura os pacotes instalados e somente remove os arquivos referentes ao pacote que voc e especicou. Tamb em ir a procurar por um script de p os-instala c ao para o pacote especicado e remover a os links simb olicos que foram criados pelo pacote. Durante o processo de remo c ao, um status e mostrado. Ap os a remo c ao, o registro no banco de dados de pacote e movido para o arquivo /var/log/removed pacotes e o script de p os-instala c ao e movido para /var/log/removed scripts. Assim como o installpkg, voc e pode especicar os pacotes pelo nome ou utilizando os coringas para o nome do pacote. 18.2.4 upgradepkg

O upgradepkg (8) atualiza um pacote instalado do Slackware package. A sintaxe e mostrada 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 n ao car ao no sistema. Caso o nome do pacote tenha sido alterado, utilize a sintaxe do sinal de porcentagem para informar o pacote antigo (aquele que est a instalado) e o novo pacote (aquele que voc e est a atualizando). Se voc e passar a vari avel de ambiente ROOT antes do upgradepkg, tal caminho ser a utilizado como diret orio raiz. Isso eu til na congura c ao de novos drives para o seu diret orio raiz. Eles ser ao montados tipicamente em /mnt ou em algum outro lugar diferente de /. O upgradepkg n ao e livre de falhas. Voc e sempre dever a realizar um backup dos seus arquivos de congura c ao. Caso eles sejam removidos ou substitu dos, voc e ter a uma c opia dos arquivos originais caso necessite de algum reparo no sistema. Assim como o installpkg e removepkg, voc e pode especicar os pacotes pelo nome ou utilizando 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 e o sistema mais popular. Muitos softwares s ao distribu dos no formato RPM. Mas este formato n ao e o nosso padr ao, n os n ao recomendamos que as pessoas conem neles. Entretanto, algumas coisas s o est ao dispon veis em pacotes RPM (at e mesmo o c odigo fonte). N os temos um programa que converte pacotes RPM em nosso formato padr ao .tgz. Isto e realizado, extra ndo o pacote (talvez com o explodepkg ) para um diret orio tempor ario e examinando o seu conte udo. rpm2tgz e o programa utilizado para criar um pacote Slackware com a extens ao .tgz enquanto que rpm2targz cria um arquivo com a extens ao .tar.gz.

18.3

Criando Pacotes

Criar um pacote para o Slackware pode ser uma tarefa f acil ou dif cil. N ao ser a especicado um m etodo para a constru c ao de um pacote. O u nico requisito para um pacote e ser um arquivo gzipado e, se houver algum script de p os-instala c ao, este deve estar no arquivo /install/doinst.sh. Se voc e e interessado em criar pacotes para o seu sistema ou para a rede que voc e gerencia, voc e dever a dar uma olhada nos diversos build scripts na arvore fonte do Slackware. Existem diversos m etodos que podem ser utilizados para criar pacotes. 18.3.1 explodepkg

O explodepkg (8) faz a mesma coisa que o installpkg para extrair os arquivos do pacote, por em n ao instala e n ao registra o pacote no banco de dados. Apenas extrai os arquivos no diret orio atual. Se voc e vericar a arvore de fontes do Slackware, voc e ver a que pode-se utilizar o comando para alicer car os pacotes. Estes pacotes possuem um esqueleto que criar a o pacote nal. Ele cont em todos os nomes de arquivos (tamanho-zero), permiss oes, e donos. O build script criar a um pacote a partir do diret orio fonte do pacote . 18.3.2 makepkg

O makepkg (8) cria um pacote v alido para o Slackware a partir do diret orio atual. Ele buscar a na arvore de diret orio por links simb olicos, adicionar a e criar a um script de p os-instala c ao durante a cria c ao do pacote. Avisar a por arquivos de tamanho zero na sua arvore de pacotes. Este comando e usado ap os voc e criar sua arvore de pacotes. 18.3.3 SlackBuild Scripts

Pacotes Slackware s ao criados de muitas maneiras diferentes de acordo com a necessidade. Nem todos os pacotes s ao criados pelos pr oprios programadores que os criaram. Muitos compilam com op c oes que n ao s ao inclusas nos pacotes do Slackware. Caso necessite de alguma funcionalidade da qual o pacote n ao foi compilado, voc e dever a criar seu pr oprio pacote. Felizmente para muitos pacotes do Slackware, voc e pode encontrar scripts SlackBuild no c odigo fonte do pacote. Mas o que e um script SlackBuild? Scripts SlackBuild s ao shell scripts execut aveis que voc e executa como root para congurar, compilar, e criar pacotes Slackware. Voc e pode modicar 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 congura c ao)

O programa de congura c ao do Slackware gerencia a instala c ao dos pacotes no seu sistema. Existem arquivos que dizem ao programa de congura c ao quais pacotes devem ser instalados, quais s ao opcionais, e quais s ao selecionados por padr ao pelo programa de congura c ao. Um tagle est a no diret orio do primeiro conjunto de software e e chamado de tagle. Ele lista os pacotes daquele disco em particular e o status, que pode ser: Status das Op c oes do Tagle Op c ao ADD SKP REC OPT O O O O Caracter stica

pacote e necess ario para a execu c ao necess aria do sistema pacote ser a automaticamente pulado pacote n ao e necess ario, mas recomendado pacote e opcional

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

Cap tulo 19

ZipSlack
19.1 O que e o ZipSlack?

O ZipSlack e uma vers ao especial do Slackware Linux. Ele e uma vers ao j a instalada do uma Slackware que est a pronta para rodar a partir da sua parti c ao DOS ou Windows. E instala c ao b asica, e n ao tem todos os recursos do Slackware. O ZipSlack tem esse nome porque e distribu do em um grande arquivo .ZIP. Usu arios de DOS e Windows provavelmente ter ao mais familiaridade com esse tipo de arquivo. Eles s ao arquivos compactados. O arquivo do ZipSlack cont em tudo que voc e precisa para utilizar o Slackware. importante notar que o ZipSlack E e signicativamente diferente de uma instala c ao normal. Apesar de funcionarem da mesma maneira e terem os mesmos programas, o p ublico alvo e a suas fun c oes s ao diferentes. As principais vantagens e desvantagens do ZipSlack s ao discutidas abaixo. Uma u ltima dica, voc e deve sempre consultar a documenta c ao inclu da no diret orio do ZipSlack. Ela cont em as u ltimas informa c oes relativas a instala c ao, boot e uso do produto. 19.1.1 Vantagens

N ao requer o reparticionamento do seu disco rigido. Uma otima maneira de se aprender a utilizar o Slackware sem ter que passar pelo processo de instala c ao. 19.1.2 Desvantagens

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

19.2

Obtendo o ZipSlack

Obter o ZipSlack e f acil. Se voc e comprou a caixa de CDs ocial do Slackware, ent ao voc e j a tem o ZipSlack. Apenas encontre o CD que cont em o diret orio zipslack e coloque-o no seu drive de CD-ROM. Esse CD costuma ser o terceiro ou o quarto disco, mas sempre cone mais nas etiquetas do que nessa documenta c ao j a que o disco em que ele est a pode mudar. Se voc e quiser fazer o download do ZipSlack, voc e deve primeiro vistar nossa p agina Get Slack para obter as u ltimas informa c oes referentes a downloads: http://www.slackware.com/getslack
157

158

CAP ITULO 19. ZIPSLACK

O ZipSlack faz parte de todas as vers oes do Slackware. Localize a vers ao que voc e quer e v a para o diret orio da mesma no FTP. A u ltima vers ao pode ser encontrada no seguinte endere co: ftp://ftp.slackware.com/pub/slackware/slackware/ Voc e encontrar a o ZipSlack no subdiret orio /zipslack. Ele e distribu do como um grande arquivo .ZIP ou em partes do tamanho de um disquete. As partes est ao no diret orio /zipslack/split. N ao que apenas com os arquivos .ZIP. Voc e tamb em pode fazer o download da documenta c ao e qualquer imagem de boot que estiver no diret orio do ZipSlack. 19.2.1 Instala c ao

Ap os ter feito o download dos componentes necess arios, voc e precisar a extrair o arquivo .ZIP. Assegure-se que est a usando um descompactador 32-bit. O tamanho e os nomes dos arquivos s ao muito grandes para um descompactador de 16-bit. Exemplos de descompactadores 32-bit s ao o WinZip e o PKZIP para Windows. O ZipSlack e desenvolvido para ser descompactado no diret orio raiz de uma unidade (tal como C: ou D: ). Um diret orio \LINUX onde estar a a instala c ao do Slackware ser a criado. Voc e tamb em encontrar a os arquivos necess arios para iniciar (bootar) o sistema nesse diret orio. Ap os descompactar os arquivos, voc e ter a um diret orio \LINUX na unidade que voc e escolheu (n os usaremos C: a partir de agora).

19.3

Bootando o ZipSlack

H a varias maneiras de se bootar o ZipSlack. A mais comum e usar o arquivo LINUX.BAT 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 a-lo. Comece abrindo o arquivo //C:\LINUX\LINUX.BAT // em seu editor de textos favorito. No topo do arquivo voc e ver a um grande coment ario. Ele explica o que voc e precisa editar nesse arquivo (e tamb em o que fazer se voc e estiver bootando atrav e de um Zip drive externo). N ao se preocupe se voc e n ao entender o param etro <literal>root=</literal>. H a v arios exemplos, sinta-se a vontade para escolher um e test a-lo. Se n ao funcionar, voc e pode editar o arquivo novamente, comentar a linha que voc e usou, e escolher outra. Ap os habilitar a linha que voc e quiser, removendo a palavra rem do come co da linha, salve o arquivo e saia do editor de textos. Reboot sua m aquina em modo DOS. Um prompt do DOS no Windows 9x NAO e suciente. Digite C:\LINUX\LINUX.BAT para bootar o sistema. Se tudo correr bem, voc e dever a ver um prompt de login. Logue como root, sem senha. Voc e provavelmente vai querer denir uma senha para root, assim como adicionar uma conta para voc e. A partir desse ponto voc e pode consultar outras se c oes desse livro sobre a utiliza c ao do sistema. Se voc e n ao conseguir bootar o sistema usando o arquivo LINUX.BAT, voc e dever a consultar o arquivo C:\LINUX\README.1ST incluso sobre outras formas de boot.

Cap tulo 20

Gloss ario
Ambiente gr aco Uma interface gr aca para o usu ario (GUI - Graphical User Interface) que e executado sobre o sistema de janelas X e prov e as funcionalidades dos aplicativos instalados, interface coerente entre programas e componentes, gerenciadores de janelas e arquivos, etc. Um passo a frente de um simples gerenciador de janelas. Area de troca (Swap) Espa co do disco r gido que e utilizado pelo kernel como uma mem oria RAM virtual. E mais lento que a mem oria RAM, mas como espa co em disco e mais barato, a area de troca (swap) pode ser mais abundante. A area de troca eu til para o kernel manter dados n ao muito utilizados e como op c ao quando a mem oria RAM est a sendo toda utilizada. Arquivo oculto (Dot le) No Linux, os nomes de arquivos ocultos come cam com um ponto (.). Biblioteca Uma cole c ao de fun c oes que podem ser compartilhadas entre programas. Carregador din amico Quando programas s ao compilados no Linux, eles geralmente usam peda cos de c odigo (func oes) de bibliotecas externas. Quando estes programas executam, estas bibliotecas devem ser encontradas e as fun c oes requeridas devem ser carregadas na mem oria. Esta e a fun c ao do carregador din amico. C odigo fonte O c odigo (mais ou menos) leg vel aos humanos com o qual a maioria dos programas s ao escritos. C odigos fontes s ao compilados em c odigo bin ario. Comandos internos do interpretador de comandos Um comando do interpretador de comandos, ao inv es de ser fornecido por um programa externo. Por exemplo, o bash tem o comando interno cd. Compilar Converter um c odigo fonte em c odigo bin ario. Conjunto de ferramentas GUI Um conjunto de ferramentas GUI, e uma cole c ao de bibliotecas que permite ao programador, a partir de c odigos, desenhar componentes gr acos como barras de rolagem, checkboxes, etc. e construir uma interface gr aca. O conjunto de ferramentas GUI usado por um programa, geralmente dene seu aspecto. Conta Todas informa c oes de um usu ario, incluindo login, senha, informa c oes para o nger, UID, GID e diret orio base. Criar uma conta e adicionar um usu ario e criar suas deni c oes. Daemon Um programa designado para exectar em segundo plano e, sem a interven c ao de usu arios, desempenha uma tarefa espec ca (geralmente provendo um servi co). Darkstar
159

160

CAP ITULO 20. GLOSSARIO

O hostname padr ao do Slackware; seu computador ter a o nome de darkstar se voc e n ao especicar outro. Um dos computadores de desenvolvimento de Patrick Volkerding, nomeado depois de Dark Star, uma m usica de Grateful Dead Diret orio base O diret orio base home de um usu ario e o diret orio em que o usu ario e colocado imediatamente ap os registrar-se no sistema. Os usu arios tem permiss oes totais e, mais ou menos, um reino livre em seu diret orio base. Diret orio ra z Representado por /, o diret orio ra z existe no topo do sistema de arquivos, com todos os outros diret orios se ramicando abaixo dele em uma arvore de arquivos. Diret orio de trabalho O diret orio em que um programa se considera estar enquanto est a executando. Disco de inicializa c ao Um disquete contendo um sistema operacional (no nosso caso, o kernel do Linux) com o qual e poss vel iniciar um computador. Disco ra z (rootdisk) O disco (geralmente xo) no qual o diret orio ra z est a armazenado. Disco suplementar No Slackware, e um disquete usado durante a instala c ao que n ao cont em nem o kernel (que est a no disco de inicializa c ao), nem o sistema de arquivos raiz (que est a no disco raiz), mas contem arquivos adicionais necess arios como m odulos para rede ou suporte para PCMCIA. DNS Domain Name Service (Sistema de Nomes de Dom nios). Um sistema que traduz nomes para endere cos num ericos em uma rede de computadores. Dotted quad Formato do endere co IP, e assim chamado pois consiste em quatro n umeros (na faixa decimal 0-255) separados por pontos. Drivers de dispositivos Um peda co de c odigo no kernel que controla diretamente uma parte do hardware. Entrada padr ao (stdin) A entrada de dados padr ao do Unix. Dados podem ser redirecionados ou concatenados para a stdin dos programas, vindos de qualquer fonte. Epoca Um per odo da hist oria; em Unix, a Epoca come ca ` as 00:00:00 UTC Janeiro 1, 1970. Esta e considerada a alvorada do tempo pelo Unix e sistemas operacionais Unix-like, e todas outras datas s ao calculadas em rela c ao a esta. Framebuer Um tipo de dispositivo gr aco; no Linux, geralmente se refere ao programa framebuer, o qual prov e uma interface framebuer padr ao para as aplica c oes enquanto mant em drivers espec cos ocultos. Esta camada de abstra c ao libera os programas de falarem com v arios drivers de dispositivos. FTP O protocolo de transfer encia de arquivos (File Transfer Protocol). FTP e um m etodo bastante utilizado para transferir dados entre computadores. Gateway Um computador que repassa dados de uma rede para outra. Gerenciador de janelas Um programa gr aco (ambiente X) que prov e uma interface gr aca al em do simples desenho retangular do Sistema de janelas X. Gerenciadores de janelas geralmente prov eem barras de t tulo, menus para os programas em execu c ao, etc. GID

161

Identicador de grupo (Group IDentier). O GID e um n umero u nico atribu do a um grupo de usu arios. Grupo Usu arios em Unix pertencem a grupos, que podem conter v arios usu arios e s ao utilizados para controles de acessos mais generalizados, que e bem mais pr atico que dar permiss oes para cada usu ario individualmente. GUI Interface gr aca do usu ario (Graphical User Interface). Uma interface de programas que utiliza elementos gr acos como bot oes, barras de rolagem, janelas, etc. ao inv es de somente entrada e sa da de textos. HOWTO Um documento descrevendo como fazer (how to) algo, como congurar um rewall ou gerenciar usu arios e grupos. Existe uma vasta cole c ao deste tipo de documento dispon vel no projeto de documenta c ao Linux (LDP - Linux Documentation Project). HTTP O protocolo de transfer encia de hiper-texto (HyperText Transfer Protocol). HTTP e o protocolo prim ario, no qual, a World Wide Web (WWW) opera. ICMP Protocolo de controle de mensagens na Internet (Internet Control Message Protocol). Um protocolo muito b asico, utilizado geralmente para pings. Interface de Rede Uma representa c ao virtual de um dispositivo de rede, provido pelo kernel. Interfaces de rede permitem usu arios e programas comunicarem com dispositivos de rede. Interpretador de comandos (shell) Os interpretadores de comandos prov eem uma interface de linha de comando para o usu ario. Quando voc e estiver olhando para uma tela em modo texto, voc e est a em um interpretador de comandos. LILO O carregador do Linux (LInux LOader). O LILO e o gerenciador de inicializa c ao (boot) mais utilizado com o Linux. Link simb olico Um arquivo especial que simplesmente aponta para a localidade de um outro arquivo. Links simb olicos s ao usados para evitar duplica c ao de dados quando e necess ario ter um determinado arquivo em v arios locais. LOADLIN LOADLIN e um programa que e executado no MS-DOS ou Windows e inicializa um sistema geralmente usado em computadores com m Linux. E ultiplos sistemas operacionais (incluindo Linux e DOS/Windows, e claro). MBR O registro mestre de inicializa c ao (Master Boot Record). Um espa co reservado no disco r gido onde est ao armazenadas as informa c oes sobre o que fazer durante a inicializa c ao. LILO e outros gerenciadores de inicializa c ao podem ser gravados aqui. M odulo do kernel Um peda co do c odigo do kernel, geralmente um tipo de driver, que pode ser carregado ou descarregado da mem oria separadamente do corpo principal do kernel. M odulos s ao u teis para atualizar drivers ou testar congura c oes do kernel, porque eles podem ser carregados e descarregados sem reiniciar. MOTD Mensagem do dia (Message Of The Day). O motd (armazenado no Linux em /etc/motd ) e um arquivo de texto que e exibido a todos usu arios durante seu registro no sistema (login). Tradicionalmente, e utilizado pelo administrador de sistemas como um quadro de avisos para se comunicar com os usu arios.

162

CAP ITULO 20. GLOSSARIO

Motif Um conjunto de ferramentas de programa c ao popularmente utilizado em muitos programas 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 m etodo transparente de compartilhamento de arquivos. N o de Dispositivo (Device Node) 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 ucleo (Kernel) O cora c ao do sistema operacional. O n ucleo e a parte que prov e controle b asico de processos e interfaces com o hardware do computador. Octal Sistema de n umeros de Base-8, com d gitos de 0-7. Pacote de programas Um programa e os arquivos a ele associados, empacotados e comprimidos em um u nico arquivo, junto com os scripts ou informa c oes necess arias para ajudar no gerenciamento da instala c ao, atualiza c ao e remo c ao destes arquivos. Pacote de senhas Shadow O pacote de senhas shadow permite que senhas criptografadas sejam escondidas dos usu arios, enquanto o resto das informa c oes do arquivo /etc/passwd permanecem vis veis para todos. Isto ajuda a prevenir ataques de brute-force para quebrar senhas. Pager Um programa gr aco (X) que permite aos usu arios visualisar e alternar entre v arias areas de trabalho. Parti c ao Uma divis ao do disco r gido. Sistemas de arquivos residem sobre as parti c oes. Ponto de montagem Um diret orio vazio em um sistema de arquivos onde um outro sistema de arquivos pode ser montado ou anexado. PPP Protocolo Ponto-a-Ponto (Point-to-Point Protocol). PPP e utilizado principalmente para conectar, via modem, a um provedor de servi cos de Internet (ISP - Internet Service Provider). Primeiro plano Um programa que aceita entrada de um terminal e dito que est a sendo executado em primeiro plano. Processo Um programa em execu c ao. Processo suspenso Um processo que foi congelado at e que seja morto ou reiniciado. Programa wrapper Um programa cuja a u nica nalidade e executar outros programas, mas que as vezes muda 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 e o modo monousu ario, runlevel 4 e o login em modo gr aco, etc. Existem 6 runlevels dispon veis em um sistema Slackware. Sa da padr ao (stdout)

163

A sa da padr ao de informa c oes no Unix. Textos normais de sa da s ao reportados na stdout, que e separada das mensagens de erro, reportadas na stderr, e podem ser concatenadas ou redirecionadas para a stdin de outros programas ou para um arquivo. Sa da padr ao de erro (stderr) O padr ao Unix para reportar erros. Os programas reportam qualquer mensagem de erro na stderr, desta forma esta pode ser separa de uma sa da normal. Se c ao Man P aginas no padr ao de manuais online do Unix (man) s ao agrupadas em se c oes para facilitar refer encias. Todas as p aginas sobre programa c ao em C est ao na se c ao 3, p aginas sobre administra c ao de sistemas est ao na se c ao 5, etc. Segundo plano (Background) Qualquer processo que esteja executando e n ao aceite entradas ou controles do terminal e dito que est a sendo executado em segundo plano. S eries de programas Uma cole c ao de pacotes de softwares relacionados no Slackware. Todos os pacotes do KDE est ao na s erie kde, pacotes de rede est ao na s erie n, etc. Servi co O compartilhamento de informa c oes e/ou dados entre programas ou computadores de um u nico servidor para m ultiplos clientes. HTTP, FTP, NFS, etc. s ao servi cos. Servidor de nomes Um servidor de informa c oes DNS. Servidores de nomes traduzem nomes DNS em endere cos IP num ericos. Servidor X Um programa no Sistema de Janelas X que faz a interface com o hardware gr aco e abriga os programas gr acos que est ao em execu c ao. Shell seguro (SSH - Secure SHell) Um m etodo encriptado (assim seguro) de se conectar remotamente a um computador. Muitos programas de shell seguro est ao dispon veis; ambos cliente e servidor s ao necess arios. Sinal Programas Unix podem comunicar uns com os outros atrav es de simples sinais, os quais s ao enumerados e geralmente possuem signicados espec cos. kill -l listar a os sinais dispon veis. Sistema de arquivos Uma representa c ao dos dados armazenados onde arquivos de dados s ao mantidos organizados em diret orios. O sistema de arquivos e a forma de representa c ao, mais pr oxima da universal, de dados armazenados em discos (tanto xos como remov veis). Sistema de janelas X Interface gr aca com suporte a rede usada na maioria dos sistemas operacionais Unix-like, incluindo o Linux. SLIP Protocolo de interface de linha serial (Serial Line Interface Protocol). SLIP e um protocolo similar ao PPP e e utilizado para conectar duas m aquinas via interface serial. Sub-rede Uma faixa de endere cos IP que e parte de uma faixa maior. Por exemplo, 192.168.1.0 e uma sub-rede de 192.168.0.0 (onde 0 e uma mascara indenida ); e, na verdade, a sub-rede .1. Superbloco No Linux as parti c oes s ao denidas em blocos. Um bloco possui 512 bytes. O superbloco s ao os primeiros 512 bytes de uma parti c ao. Tabela de roteamento Um conjunto de informa c oes que o kernel utiliza para rotear dados ao redor da rede. Possui informa c oes como: onde est a o seu gateway default, qual interface de rede est a conectada a determinada rede, etc. Tagle

164

CAP ITULO 20. GLOSSARIO

Um arquivo usado pelo programa de congura c ao (setup ) do Slackware durante a instala c ao, o qual descreve um conjunto de pacotes a serem instalados. Terminal Uma interface homem-m aquina que consiste de pelo menos uma tela (ou tela virtual) e de algum m etodo de entrada de dados (geralmente um teclado). Terminal virtual O uso de programas para simular m ultiplos terminais enquanto utiliza um simples conjunto de dispositivos de entrada/sa da (teclado, monitor, mouse). Um conjunto especial de teclas, ao serem pressionadas, alterna entre os terminais virtuais a partir de um u nico terminal f sico. UID Identicador de usu ario (User IDentier). Um n umero u nico que identica um usu ario no sistema. UIDs s ao usados pela maioria dos programas ao inv es dos nomes de usu ario, uma vez que n umeros s ao mais f aceis de manejar; nomes de usu ario geralmente s ao usados somente quando o usu ario precisa ver as coisas acontecendo. Vari avel de ambiente Uma vari avel congurada no shell do usu ario que pode ser referenciada pelo usu ario ou por programas executados por este usu ario nesta shell. Vari aveis de ambiente s ao geralmente utilizadas para armazenar prefer encias e par ametros padr ao. VESA Associa c ao de padr oes eletr onicos de video (Video Electronics Standards Association). O termo VESA e geralmente usado para denotar um padr ao especicado por esta associa c ao. Atualmente todos os adaptadores de v deo modernos s ao compat 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 Portugu es do Brasil


Tradu c ao Tradu c ao Revis ao Tradu c ao Tradu c ao Tradu c ao Tradu c ao Tradu c ao Compila c ao Tradu c ao Tradu c ao Tradu c ao Tradu c ao Revis ao Revis ao Reposit orio SVN Revis ao Revis ao Revis ao Revis ao Revis ao Revis ao Revis ao Revis ao Revis ao Site Site

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

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

171

You might also like