apostila de so de arquitetura aberta

223
1 CETAM SUMÁRIO 1. INTRODUÇÃO........................................................................................................ 7 1.1. O LINUX .......................................................................................................... 7 1.2. ALGUMAS CARACTERÍSTICAS DO LINUX................................................... 9 1.3. DISTRIBUIÇÕES LINUX ............................................................................... 10 1.3.1. Características de algumas distribuições: ............................................. 11 1.4. O ADMINISTRADOR DE SISTEMAS ............................................................ 14 2. INSTALAÇÃO DO SISTEMA ................................................................................ 15 3. ARQUITETURA DO SISTEMA ............................................................................. 30 3.1. ARQUIVOS.................................................................................................... 30 3.2. ARQUIVOS ESPECIAIS ................................................................................ 31 3.2.1. Links ...................................................................................................... 32 3.2.1.1. Links diretos ................................................................................ 32 3.2.1.2. Links Simbólicos ......................................................................... 32 3.2.2. Dispositivos ........................................................................................... 32 3.3. EXTENSÃO DE ARQUIVOS ......................................................................... 33 3.4. DIRETÓRIO................................................................................................... 34 3.4.1. Estrutura básica de diretórios do Sistema Linux.................................... 34 3.5. COMANDOS NO LINUX................................................................................ 35 3.5.1. Comandos Internos ............................................................................... 35 3.5.2. Comandos Externos .............................................................................. 36 3.5.3. Aviso de comando (Prompt) .................................................................. 36 3.5.4. Interpretador de comandos.................................................................... 36 3.5.4.1. Interativa ..................................................................................... 37 3.5.4.2. Não-interativa.............................................................................. 37 4. COMANDOS INICIAIS .......................................................................................... 38 5. DOCUMENTAÇÃO DO LINUX ............................................................................. 44 5.1. PÁGINAS DE MANUAL ................................................................................. 44 5.2. DOCUMENTOS HOWTO'S ........................................................................... 45 5.3. PÁGINAS INTERNET DE REFERÊNCIA ...................................................... 45 5.4. LISTAS DE DISCUSSÃO .............................................................................. 46 6. METACARACTERES E REDIRECIONADORES ................................................. 47

Upload: mariojsm32

Post on 24-Jul-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

1 SUMRIO

1. INTRODUO........................................................................................................ 7 1.1. O LINUX .......................................................................................................... 7 1.2. ALGUMAS CARACTERSTICAS DO LINUX................................................... 9 1.3. DISTRIBUIES LINUX ............................................................................... 10 1.3.1. Caractersticas de algumas distribuies: ............................................. 11 1.4. O ADMINISTRADOR DE SISTEMAS............................................................ 14 2. INSTALAO DO SISTEMA ................................................................................ 15 3. ARQUITETURA DO SISTEMA ............................................................................. 30 3.1. ARQUIVOS.................................................................................................... 30 3.2. ARQUIVOS ESPECIAIS................................................................................ 31 3.2.1. Links ...................................................................................................... 32 3.2.1.1. Links diretos................................................................................ 32 3.2.1.2. Links Simblicos ......................................................................... 32 3.2.2. Dispositivos ........................................................................................... 32 3.3. EXTENSO DE ARQUIVOS ......................................................................... 33 3.4. DIRETRIO................................................................................................... 34 3.4.1. Estrutura bsica de diretrios do Sistema Linux.................................... 34 3.5. COMANDOS NO LINUX................................................................................ 35 3.5.1. Comandos Internos ............................................................................... 35 3.5.2. Comandos Externos .............................................................................. 36 3.5.3. Aviso de comando (Prompt) .................................................................. 36 3.5.4. Interpretador de comandos.................................................................... 36 3.5.4.1. Interativa ..................................................................................... 37 3.5.4.2. No-interativa.............................................................................. 37 4. COMANDOS INICIAIS.......................................................................................... 38 5. DOCUMENTAO DO LINUX ............................................................................. 44 5.1. PGINAS DE MANUAL................................................................................. 44 5.2. DOCUMENTOS HOWTO'S........................................................................... 45 5.3. PGINAS INTERNET DE REFERNCIA...................................................... 45 5.4. LISTAS DE DISCUSSO .............................................................................. 46 6. METACARACTERES E REDIRECIONADORES ................................................. 47 CETAM

2 6.1. METACARACTERES .................................................................................... 47 6.2. REDIRECIONAMENTOS E PIPE .................................................................. 48 7. COMANDOS TEIS ............................................................................................. 51 8. PERMISSES DE ACESSO A ARQUIVOS E DIRETRIOS .............................. 56 8.1. DONOS, GRUPOS E OUTROS USURIOS................................................. 56 8.3. TIPOS DE PERMISSES DE ACESSO ....................................................... 57 8.3.1. Modo de permisso octal....................................................................... 57 8.3.2. Permisses de Acesso Especiais.......................................................... 58 8.4. COMANDOS PARA MANIPULAR PERMISSES ........................................ 59 9. GERENCIAMENTO DE USURIOS E GRUPOS................................................. 62 9.1 COMANDOS PARA GERNCIA USURIOS ................................................ 62 10. LOCALIZAO DE ARQUIVOS......................................................................... 67 11. SISTEMA DE ARQUIVOS .................................................................................. 69 11.1. JOURNALING ............................................................................................. 70 11.2. IDENTIFICAO DE DISCOS E PARTIES EM SISTEMAS LINUX ...... 70 11.3 COMANDOS DE MANIPULAO DE SISTEMAS DE ARQUIVOS............. 71 11.4. O ARQUIVO FSTAB.................................................................................... 75 12. SISTEMA DE GERENCIAMENTO DE PACOTES ............................................. 78 12.1. PACOTES ................................................................................................... 78 12.1.1. Instalar pacotes ................................................................................... 78 12.1.2. Listar pacotes existentes no sistema ................................................... 79 12.1.3. Removendo pacotes do sistema ......................................................... 79 12.1.4. Mostrar descrio do pacote ............................................................... 80 12.1.5. Procura de pacotes atravs do nome de um arquivo .......................... 80 12.1.6. Status do pacote.................................................................................. 80 12.1.7. Procurando pacotes com problemas de instalao ............................. 81 12.1.8. Mostrando a lista de pacotes do sistema............................................. 81 12.1.9. Obtendo uma lista de pacotes para instalar no sistema ...................... 81 12.1.10. Configurando pacotes desconfigurados ............................................ 82 12.1.11. Listando arquivos de um pacote........................................................ 82 12.2 APT............................................................................................................... 82 12.2.1. O arquivo /etc/apt/sources.list ............................................................. 83 12.2.2. Utilizando CDs oficiais/no-oficiais/terceiros com o apt ...................... 85 CETAM

3 12.2.2.1. Instalando novos pacotes ......................................................... 86 12.2.2.2. Removendo pacotes instalados ................................................ 86 12.2.2.3. Atualizando sua distribuio ..................................................... 87 12.2.2.4 A escolha da distribuio a ser usada ....................................... 88 12.2.2.5. Removendo pacotes baixados pelo apt .................................... 89 12.2.2.6. Verificando pacotes corrompidos.............................................. 89 12.2.2.7. Corrigindo problemas de dependncias e outros erros............. 89 12.3. PROCURANDO UM PACOTE QUE CONTM DETERMINADO ARQUIVO ............................................................................................................................. 89 12.4. COMPILAO DO CDIGO FONTE PARA A DEBIAN ............................. 91 13. EDITOR DE TEXTO ........................................................................................... 92 13.1. VI ................................................................................................................. 92 13.2. MODO DE COMANDO................................................................................ 92 13.3. MODO DE INSERO................................................................................ 93 13.3.1. Comandos de edio........................................................................... 93 13.3.2. Copiar, colar e excluir.......................................................................... 93 13.3.3. Movimentao por caractere ............................................................... 94 13.3.4. Salvar e sair......................................................................................... 94 14. PROCESSO DE INICIALIZAO....................................................................... 95 14.1 ETAPAS DO BOOT ...................................................................................... 95 14.2. O PROCESSO INIT..................................................................................... 96 14.3. NVEIS DE EXECUO.............................................................................. 96 14.4. ARQUIVOS DE INICIALIZAO ................................................................. 98 14.5. PERSONALIZANDO O PROCESSO DE INICIALIZAO.......................... 98 14.6. GERENCIANDO SCRIPTS DE INICIALIZAO......................................... 99 15. GERENCIADORES DE PARTIDA .................................................................... 101 15.1. LILO........................................................................................................... 101 15.1.1. Criando o arquivo de configurao do LILO ...................................... 101 15.1.3. Opes usadas no LILO.................................................................... 105 15.1.4. Um exemplo do arquivo de configurao lilo.conf ............................. 108 15.2. GRUB ........................................................................................................ 109 15.2.1. Como o GRUB trabalha com discos e parties ............................... 109 15.2.2. Instalando o GRUB............................................................................ 110 CETAM

4 15.2.3. Opes do arquivo de configurao .................................................. 111 15.2.4. Parmetros enviados diretamente ao kernel ..................................... 115 16. GERENCIAMENTO DE PROCESSOS............................................................. 118 16.1. EXECUTANDO UM COMANDO/PROGRAMA.......................................... 118 16.1.1. Tipos de Execuo de comandos/programas.................................... 119 16.2. COMANDOS DE GERENCIAMENTO DE PROCESSOS ......................... 120 16.3 CONTROLE DE EXECUO DE PROCESSOS ....................................... 122 16.3.1. Interrompendo a execuo de um processo...................................... 122 16.3.2. Parando momentaneamente a execuo de um processo................ 122 16.3.3. Comandos para manipulao de processos...................................... 122 16.3.4. Sinais do Sistema .............................................................................. 125 17. O KERNEL........................................................................................................ 127 17.1. MDULOS ................................................................................................ 127 17.1.2. Adicionar suporte a Hardwares e outros dispositivos no kernel ........ 131 17.2. RECOMPILANDO O KERNEL .................................................................. 132 17.3. ARQUIVOS RELACIONADOS COM O KERNEL E MDULOS ............... 134 18. CONFIGURAO DE HARDWARE................................................................. 136 18.1. LISTANDO HARDWARES EM UM COMPUTADOR................................. 136 18.2. HARDWARES ESPECFICOS OU "FOR WINDOWS".............................. 136 18.3. CONFIGURAES DE DISPOSITIVOS................................................... 138 18.3.1. Configurando uma placa de rede ...................................................... 138 18.3.2. Configurando uma placa de SOM no GNU/Linux .............................. 139 18.3.3. Configurando uma placa de som usando o padro OSS .................. 139 19. X WINDOW....................................................................................................... 142 19.1. A ORGANIZAO DO AMBIENTE GRFICO X WINDOW...................... 142 19.2. EXEMPLO DO ARQUIVO XF86CONFIG-4 ............................................ 143 19.3. GERENCIADORES DE LOGIN GRFICO................................................ 147 20. GERENCIAMENTO DE QUOTA ...................................................................... 149 20.1. CRIANDO ARQUIVOS DE QUOTA........................................................... 149 20.2. HABILITANDO O SISTEMA DE QUOTA................................................... 150 20.2.1. Atribuido quotas a usurios ............................................................... 151 20.2.2. Listando as quotas ............................................................................ 151 21. CONFIGURAES DO TCP/IP ....................................................................... 153 CETAM

5 21.1. INTERFACE DE REDE ............................................................................. 153 21.2. CONFIGURANDO AS INTERFACES DE REDE ....................................... 153 21.2.1. A interface loopback .......................................................................... 153 21.2.2. Atribuindo um endereo de rede a uma interface (ifconfig) ............... 154 21.3. ROTEAMENTO ......................................................................................... 155 21.3.1. Configurando uma rota no Linux ....................................................... 156 21.4. ARQUIVOS DE CONFIGURAO DA REDE........................................... 157 21.5. COMANDOS TEIS EM REDES .............................................................. 160 22. NFS................................................................................................................... 165 22.1. CONCEITOS INICIAIS .............................................................................. 165 22.2. INSTALANDO O SERVIDOR NFS ............................................................ 166 22.2.1. O arquivo /etc/exports ....................................................................... 166 22.2.3. Configurao do cliente NFS............................................................. 167 22.3. OS COMANDOS MOUNT E UMOUNT ..................................................... 168 22.4. O ARQUIVO /ETC/FSTAB......................................................................... 168 23. SAMBA ............................................................................................................. 170 23.1. INSTALAO DO SAMBA ........................................................................ 170 23.2. CONHECENDO OS PARMETROS......................................................... 174 23.2.1. Seo [global].................................................................................... 174 23.2.2. Sees [shares]................................................................................. 178 24. CUPS................................................................................................................ 180 24.1. INSTALANDO O CUPS ............................................................................. 180 24.1.1. Configurando o arquivo "cupsd.conf" ................................................ 180 24.1.2. Configurando o CUPS pelo navegador ............................................. 182 24.1.2.1. Configurao de impressora ................................................... 184 25. NIS.................................................................................................................... 185 25.1. CONCEITOS INICIAIS .............................................................................. 185 25.2. CONFIGURAO DO SERVIDOR NIS .................................................... 185 25.2.1 Instalando o nis .................................................................................. 185 25.3 CONFIGURAO DO CLIENTE NIS......................................................... 186 25.3.1 Instalando o nis .................................................................................. 186 Definir o nome do domnio NIS. ............................................................. 186 26. LDAP (LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL) ......................... 188 CETAM

6 26.1. CARACTERISTICAS ................................................................................. 188 26.2. ESTRUTURA LDAP .................................................................................. 189 26.3. INSTALAO LDAP.................................................................................. 189 26.4. OPENLDAP ............................................................................................... 190 26.4.1. Arquivos de configurao do OPENLDAP......................................... 190 26.4.2. Configurao do Openldap................................................................ 190 26.4.3. Carregando o servio do Openldap................................................... 191 26.4.4. Como fazer a indexo da base LDAP ............................................... 191 26.5. AUTENTICANDO CLIENTE NO LDAP...................................................... 192 26.4.4.1. Criar arquivo ldap.auth com o conteudo. ................................ 193 26.5. FERRAMENTA DE ADMINISTRAO WEB PARA O OPENLDAP ......... 194 27. RESOLVEDOR DE NOMES (DNS) .................................................................. 195 27.1. O QUE UM NOME? ............................................................................... 195 27.2. INSTALAO............................................................................................ 197 27.2.1. O arquivo /etc/bind/named.conf......................................................... 197 27.2.2. Zona do DNS..................................................................................... 198 27.2.3 Zona reversa ...................................................................................... 199 28. SERVIDOR WEB.............................................................................................. 201 28.1. CARACTERSTICAS DO APACHE ........................................................... 201 28.2. INSTALAO............................................................................................ 202 28.2.1. Iniciando o servidor/reiniciando/recarregando a configurao........... 202 28.2.3. Adicionando uma pgina no Apache ................................................. 204 28.2.4. Virtual Hosts ...................................................................................... 205 29. SERVIDOR FTP ............................................................................................... 220 29.1. INSTALAO............................................................................................ 220

CETAM

7 1. INTRODUO

Em 1965, os laboratrios Bell da AT&T, juntamente com a companhia General Eletric e o projeto MAC do MIT (Massachusetts Institute of Technology), somaram esforos para desenvolver um novo sistema operacional chamado MULTICS. Como o MULTICS no atingiu seus propsitos, os Laboratrios Bell saram do projeto. Ken Thompson, cientista da AT&T e ex-membro do grupo MULTICS, comeou ento a desenvolver um novo sistema, aproveitando a experincia ganha. O novo sistema, inicialmente escrito em assembly num computador PDP-7, foi batizado de UNIX. No incio, o Unix era distribudo gratuitamente pela AT&T para as universidades, Mais tarde, porm, percebendo o sucesso do Unix no meio comercial, a AT&T logo passou a disponibiliz-lo por um preo muito alto. Aos longos dos anos, vrias verses do Unix surgiram, tanto comerciais como Solaris, IRIX, HP-UX, AIX, e livres, como FREEBSD e Linux. 1.1. O LINUX O Linux um clone de Unix criado como uma alternativa barata e funcional para quem no est disposto a pagar o alto preo de um sistema Unix comercial ou no tem um computador suficientemente rpido. Em 1983, Richard Stallman fundou a Free Software Foundation (FSF), cujo projeto, GNU, tinha por finalidade criar um clone melhorado e livre do sistema operacional Unix, mas que no utilizasse seu cdigo-fonte. O desafio do GNU era enorme. Havia a necessidade de desenvolver o kernel, utilitrios de programao, de administrao do sistema, de rede, comandospadro etc. Porm, no final da dcada de 1980, o projeto tinha fracassado: apenas os utilitrios de programao e os comandos-padro estavam prontos. Linux Benedict Torvalds era aluno da Universidade de Helsinque, na Finlndia, no final da dcada de 1980. Ele percebeu que o Intel 80386 era o nico microprocessador disponvel na poca capaz de executar um clone Unix. Alm disso, ainda que o 80386 no fosse barato, ele era o nico disponvel. A sua opo por esse microprocessador foi uma escolha correta, pois garantiu a ele, CETAM

8 posteriormente, o grande nmero de voluntrios que tornou o desenvolvimento do Linux vivel at hoje. Em 1991, Linus iniciou seu projeto particular, inspirado no seu interesse pelo Minix. Ele limitou-se a criar, em suas prprias palavras, um Minix melhor que o Minix. E depois de algum tempo de trabalho em seu projeto solitrio, conseguiu criar um kernel capaz de executar os utilitrios de programao e os comandospadro do Unix clonados pelo projeto GNU. Reconhecendo que no conseguiria continuar a desenvolver sozinho o Linux, ele enviou a seguinte mensagem para a lista de discusso comp.os.minix: Voc suspira por melhores dias do Minix-1.1, quando homens sero homens e escrevero seus prprios device drivers? Voc est sem um bom projeto e est morrendo por colocar as mos em um S.O. no qual voc possa modificar de acordo com suas necessidades? Voc est achando frustrante quando tudo trabalha em Minix? Chega de atravessar noites para obter programas que trabalhem corretos? Ento esta mensagem pode ser exatamente para voc. Como mencionei h um ms, estou trabalhando em uma verso independente de um S.O. similar ao Minix para computadores AT-386. Ele est, finalmente, prximo do estgio em que poder ser utilizado (embora possa no ser o que voc esteja esperando), e eu estou disposto a colocar as fontes para ampla distribuio. Ele est na verso 0.02... contudo, eu tive xito rodando bash, gcc, gnumake, gnu-sed, compresso etc. nele. Em 5 de outubro de 1991, Linus Torvalds lanou a primeira verso oficial do Linux: o Linux 0.02. A partir dessa data, muitos programadores no mundo inteiro tm colaborado e ajudado a fazer do Linux o sistema operacional que atualmente. O Linux um sistema operacional de cdigo aberto distribudo gratuitamente pela Internet. Seu cdigo fonte liberado como Free Software (software livre) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele est proibido de fazer a comercializao do sistema. Isto quer dizer que voc no precisa pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores, ns inclusive incentivamos voc a fazer isto. Ser um sistema de cdigo aberto pode explicar o desempenho, estabilidade e velocidade em que novos recursos so adicionados ao sistema. O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita dificuldade

CETAM

9 em operar um sistema do tipo UNIX, FREEBSD, HPUX, SUNOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija alguma problema ou faa alguma sugesto sobre sua melhoria, esse um dos motivos de seu rpido crescimento, do aumento da compatibilidade de perifricos (como novas placas sendo suportadas logo aps seu lanamento) e de sua estabilidade. Outro ponto em que ele se destaca o suporte que oferece a placas, CDRoms e outros tipos de dispositivos de ltima gerao e mais antigos (a maioria deles j ultrapassados e sendo completamente suportados pelo sistema

operacional). Este um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com as mquinas que possui. O suporte ao sistema tambm se destaca como sendo o mais eficiente e rpido do que qualquer programa comercial disponvel no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Voc pode se inscrever em uma lista de discusso e relatar sua dvida ou alguma falha, e sua mensagem ser vista por centenas de usurios na Internet e algum ir te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo.

1.2. ALGUMAS CARACTERSTICAS DO LINUX Multitarefa real; Multiusurio; Suporte a nomes extensos de arquivos e diretrios (255 caracteres); Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc; Proteo entre processos executados na memria RAM; Modularizao - O GNU/Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo finalizado; Devido modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a CETAM

10 qualquer momento. Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo); No h a necessidade de se reiniciar o sistema aps a modificar a configurao de qualquer perifrico ou parmetros de rede. Somente necessrio reiniciar o sistema no caso de uma instalao interna de um novo perifrico, falha em algum hardware (queima do processador, placa me, etc.); Acessa sem problemas discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SUNOS, Amiga, Atari, Mac, etc; Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM; Rede TCP/IP mais rpida que no Windows e tem sua pilha

constantemente melhorada. O GNU/Linux tem suporte nativo a redes TCP/IP e no depende de uma camada intermediria como o Winsock. Em acessos via modem a Internet, a velocidade de transmisso 10% maior; Suporte a dispositivos infravermelho; Suporte a rede via rdio amador; Suporte a dispositivos Plug-and-Play; Suporte a dispositivos USB; Vrios tipos de firewalls de alta qualidade e com grande poder de segurana de graa; Roteamento esttico e dinmico de pacotes; Ponte entre Redes; Pode ser executado em 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.).

1.3. DISTRIBUIES LINUX

S o kernel GNU/Linux no suficiente para se ter um sistema funcional, mas o principal. CETAM

11 Existem grupos de pessoas, empresas e organizaes que decidem distribuir o Linux junto com outros programas essenciais (como por exemplo, editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, firewalls, etc.). Este o significado bsico de distribuio. Cada distribuio tem sua caracterstica prpria, como o sistema de instalao, o objetivo, a localizao de programas, nomes de arquivos de configurao, etc. A escolha de uma distribuio pessoal e depende das necessidades de cada um. Algumas distribuies bastantes conhecidas so: Slackware, Debian, Red Hat, Mandriva, Suse, Monkey, todas usando o SO Linux como kernel principal (o Debian uma distribuio independente de kernel e pode ser executada sob outros kernels, como o GNU hurd). A escolha de sua distribuio deve ser feita com muita ateno, no adianta muita coisa perguntar em canais de IRC sobre qual a melhor distribuio, ser levado pelas propagandas, pelo vizinho, etc. O melhor caminho para a escolha da distribuio, acredito eu, seria perguntar as caractersticas de cada uma e porque essa pessoa gosta dela ao invs de perguntar qual a melhor, porque quem lhe responder isto estar usando uma distribuio que se encaixa de acordo com suas necessidades e esta mesma distribuio pode no ser a melhor para lhe atender.

1.3.1. Caractersticas de algumas distribuies:Debian

http://www.debian.org - Distribuio desenvolvida e atualizada atravs do esforo de voluntrios espalhados ao redor do mundo, seguindo o estilo de desenvolvimento GNU/Linux. Por este motivo, foi adotada como a distribuio oficial do projeto GNU. Possui suporte a lngua Portuguesa, a nica que tem suporte a 10 arquiteturas diferentes (i386, Alpha, Sparc, PowerPc, Macintosh, Arm, etc.) e aproximadamente 15 sub-arquiteturas. A instalao da distribuio pode ser feita tanto atravs de disquetes, cd-rom, ftp, nfs ou atravs da combinao de vrios destes em cada etapa de instalao.

CETAM

12 Acompanha mais de 4350 programas distribudos em forma de pacotes divididos em 14 CDs ou 2 DVDs, entre binrios e cdigo fonte , cada um destes programas so mantidos e testados pela pessoa responsvel por seu

empacotamento. Os pacotes so divididos em diretrios de acordo com sua categoria e gerenciados atravs de um avanado sistema de gerenciamento de pacotes (o dpkg) facilitando a instalao e atualizao de pacotes. Possui tanto ferramentas para administrao de redes e servidores quanto para desktops, estaes multimdia, jogos, desenvolvimento, web, etc. A atualizao da distribuio ou de pacotes individuais pode ser feita facilmente atravs de dois comandos, no requerendo adquirir um novo CD para usar a ltima verso da distribuio. a nica distribuio no comercial onde todos podem contribuir com seu conhecimento para o seu desenvolvimento. Para gerenciar os voluntrios, conta com centenas de listas de discusso envolvendo determinados desenvolvedores das mais diversas partes do mundo. So feitos extensivos testes antes do lanamento de cada verso para atingir um alto grau de confiabilidade. As falhas encontradas nos pacotes podem ser relatadas atravs de um sistema de tratamento de falhas que encaminha a falha encontrada diretamente ao responsvel para avaliao e correo. Qualquer um pode receber a lista de falhas ou sugestes sobre a distribuio cadastrando-se em uma das listas de discusso que tratam especificamente da soluo de falhas encontradas na distribuio (disponvel na pgina principal da distribuio). Os pacotes podem ser instalados atravs de tarefas contendo selees de pacotes de acordo com a utilizao do computador (servidor Web, desenvolvimento, TeX, jogos, desktop, etc.), Perfis contendo selees de pacotes de acordo com o tipo de usurio (programador, operador, etc.), ou atravs de uma seleo individual de pacotes, garantindo que somente os pacotes selecionados sero instalados fazendo uma instalao enxuta. Existe um time de desenvolvedores com a tarefa especfica de monitorar atualizaes de segurana em servios (apache, sendmail, e todos os outros pacotes) que possam comprometer o servidor, deixando-o vulnervel a ataques. Assim que uma falha descoberta, enviada uma alerta (DSA - Debian Security Alert) e disponibilizada uma atualizao para correo das diversas verses da Debian. Isto geralmente feito em menos de 48 horas desde a descoberta da falha CETAM

13 at a divulgao da correo. Como quase todas as falhas so descobertas nos programas, este mtodo tambm pode ser usado por administradores de outras distribuies para manterem seu sistema seguro e atualizado. O suporte ao usurio e desenvolvimento da distribuio feitos atravs de listas de discusses e canais IRC. Existe uma lista de consultores habilitados a dar suporte e assistncia a sistemas Debian ao redor do mundo na rea consultores do site principal da distribuio.

Slackware

http://www.slackware.com - Distribuio desenvolvida por Patrick Volkerding, desenvolvida para alcanar facilidade de uso e estabilidade como prioridades principais. Foi a primeira distribuio a ser lanada no mundo e costuma trazer o que h de mais novo enquanto mantm uma certa tradio, provendo simplicidade, facilidade de uso e com isso flexibilidade e poder. Desde a primeira verso lanada em Abril de 1993, o Projeto Slackware Linux tem buscado produzir a distribuio Linux mais UNIX-like, ou seja, mais parecida com UNIX. O Slackware segue os padres Linux como o Linux File System Standard, que um padro de organizao de diretrios e arquivos para as distribuies. Enquanto as pessoas diziam que a Red Hat era a melhor distribuio para o usurio iniciante, o Slackware o melhor para o usurio mais experientes, ou seja programadores, administradores, etc.

Suse

http://www.suse.com - Distribuio comercial Alem com a coordenao sendo feita atravs dos processos administrativos dos desenvolvedores e de seu brao norte-americano. O foco da Suse o usurio com conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux. Possui suporte as arquiteturas Intel x86 e Alpha. Sua instalao pode ser feita via CD-ROM ou DVD (foi a primeira distribuio com instalao atravs de DVD).

CETAM

14 Uma mdia de 1500 programas distribudos em cinco CD-ROMs. O sistema de gerenciamento de pacotes o RPM padronizado. A seleo de pacotes durante a instalao pode ser feita atravs da seleo do perfil de mquina (developer, estao kde, grficos, estao gnome, servidor de rede, etc.) ou atravs da seleo individual de pacotes. A atualizao da distribuio pode ser feita atravs do CD-ROM de uma nova verso ou baixando pacotes de ftp://ftp.suse.com/. Usurios registrados ganham direito a suporte de instalao via e-mail. A base de dados de suporte tambm excelente e est disponvel na web para qualquer usurio independente de registro.

1.4. O ADMINISTRADOR DE SISTEMAS

O administrador de sistemas o tcnico responsvel por instalar, configurar e manter funcionando um ou mais servidores. Sua funo vital para o andamento normal do trabalho em qualquer empresa que tenha computadores em rede local. Apesar de quase nunca aparecer, sem o cuidado e dedicao de um administrador, uma empresa pode simplesmente parar. A responsabilidade de um administrador imensa: dados, aplicativos, usurios e conectividade. Tudo o que a empresa precisa para funcionar est sob seu comando. Tudo tem que simplesmente funcionar, todos os dias da semana, o ano todo, a obrigao do administrador. Por isso esse mantenedor da infra-estrutura corporativa geralmente lembrado apenas quando algo falha, e nessas horas preciso ter calma para lidar com a impacincia e irritao alheia. Um administrador precisa compreender o funcionamento e dominar as ferramentas de gerenciamento e configurao do sistema. ele o responsvel tanto pela configurao inicial como, principalmente, pela manuteno do bom funcionamento do sistema.

CETAM

15 2. INSTALAO DO SISTEMA

Neste mdulo iremos utilizar como ferramenta didtica o sistema operacional Linux e a distribuio adotada ser o Debian. Neste captulo iremos demonstrar a instalao deste sistema operacional de arquitetura aberta. Antes de iniciar o processo de instalao propriamente dito, muito importante tomar alguns cuidados, de forma a garantir a integridade da instalao. Em primeiro lugar deve-se conhecer bem o hardware onde o sistema ser instalado, o ideal ter uma lista de todos os dispositivos (monitor, teclado, mouse, placa de vdeo, etc.), possuir os manuais seria o ideal. Se j houver outro sistema operacional na mquina e houver interesse em mant-lo, deve-se ter extremo cuidado no momento de criar as parties para o Linux, um erro pode comprometer definitivamente a partio onde j existe o outro sistema operacional, por isso altamente recomendvel fazer backup dos arquivos mais importantes antes de iniciar a instalao. Checar o tamanho em disco outro fator importante. O Debian pode ser obtido direto da internet, porm mais conveniente ter os CDs de instalao. A forma mais comum de iniciar a instalao iniciar a mquina j com o disco 1 na unidade de CD-ROM, dessa forma, ao ligar a mquina o instalador j se iniciar automaticamente.

Figura 1: Tela inicial de instalao

CETAM

16 Na figura 1, verificamos a tela inicial de instalao onde poderemos apenas pressionar a tecla enter, e instalar o kernel 2.4, ou apertar F1 para mais opes.

Figura 2: Mais opes

Na figura 2, temos mais opes como modo expert, neste mdulo ir digitar linux26 e pressionar enter para instalarmos com o kernel 2.6.

Figura 3: Escolha da lngua.

Na figura 3, temos a opo de escolhermos a linguagem que utilizaremos para realizar a instalao do sistema.

CETAM

17

Figura 4: Escolha do layout do teclado

Na figura 4, temos a opo de escolhermos o layout do teclado que iremos utilizar (Dica: teclados com geralmente so abnt2 e sem Americano ).

Figura 5: Escolha o nome da mquina

Na figura 5, se o seu instalador chegou nesta tela, porque sua rede deve ter um servidor DHCP, caso no haja, voc dever entrar em contato com o seu administrador de rede e verificar as configuraes necessrias para sua mquina. Caso voc no consiga estas informaes na hora da instalao, voc poder continuar sem configurar a rede.

CETAM

18

Figura 6: Digite o seu domnio

Na figura 6, Nesta tela voc entra com o domnio que sua mquina pertence.

Figura 7: Escolha do modo de particionar o disco

Na figura 7, nesta tela iremos escolher o tipo de particionamento, se formos utilizar o disco completo, caso no haja nada instalado em nosso disco rgido, caso contrrio melhor utilizar a edio manual da tabela de parties.

CETAM

19

Figura 8: Tela de particionamento do disco

Na figura 8, nesta tela iremos comear o particionamento do nosso disco rgido, muito cuidado com esta etapa, pois se voc estiver com outro sistema operacional instalado na mquina, poder apag-lo acidentalmente, caso voc tenha dvidas poder usar o particionamento assistido. No nosso caso iremos selecionar o nosso disco rgido como demonstra a figura e pressionaremos a tecla enter.

Figura 9: Tela de criar partio

Na figura 9, iremos criar uma nova partio.

CETAM

20

Figura 10: Tela definir tamanho da partio

Na figura 10, iremos definir o tamanho da nossa partio.

Figura 11: Tela definir tipo de partio.

Na figura 11, iremos definir o tipo da nossa partio.

CETAM

21

Figura 12: Tela definir onde a partio ser criada.

Na figura 12, iremos definir onde a partio ser criada.

Figura 13: Tela definir o tipo de arquivos

Na figura 13, iremos definir tipo de arquivos que iremos utilizar em nossa partio (iremos usar ext3).

CETAM

22

Figura 14: Tela finalizao da criao de parties.

Na figura 14, nesta tela finalizaremos a criao das parties, notem que deveremos criar no mnimo duas parties, sendo uma de swap e outra para o sistema propriamente dito.

Figura 15: Tela instalao do GRUB.

Na figura 15, nesta tela responderemos sim para instalao do GRUB na MBR do disco rgido.

CETAM

23

Figura 16: Tela de inicio da segunda parte da instalao.

Figura 16 nos informa que o nosso sistema operacional j est instalado e agora iremos concluir a configurao bsica do mesmo.

Figura 17: Tela de configurao do fuso horrio

A figura 17, onde iremos definir se iremos configurar o nosso sistema operacional para usar o horrio baseado no horrio mundial (GMT), ou se usaremos o horrio local.

CETAM

24

Figura 18: Continuao da configurao do fuso horrio

A figura 18, escolha o fuso horrio mais adequado a sua realidade.

Figura 19: Tela onde voc define a senha do superusurio

A figura 19, nesta tela onde definir a senha do superusurio (root).

CETAM

25

Figura 20: Tela para criar conta de usurio comum

Figura 20, nesta tela o sistema ir perguntar se voc deseja criar uma conta de usurio comum, para utilizar o sistema pois usar conta de superusurio para tarefas rotineiras no aconselhvel.

Figura 21: Tela continuao da criao de usurio

Figura 21, nesta tela voc entrar com o nome completo do usurio que ser cadastrado.

CETAM

26

Figura 22: Tela continuao da criao de usurio

Figura 22, nesta tela voc entrar com o login do usurio que ser cadastrado.

Figura 23: Tela continuao da criao de usurio

Figura 23, nesta tela voc entrar com a senha do usurio que ser cadastrado.

CETAM

27

Figura 24: Tela de escolha de perfis

Figura 24, O Debian trs na sua instalao alguns perfis pr-configurados, como exemplo: Desktop, Servidor Web e outros, se voc estiver instalando um desktop aconselho a voc escolher somente os perfis de Ambiente Desktop e servidor de impresso, caso voc esteja instalando um servidor escolha somente o perfil do servidor que voc deseja instalar, por exemplo: Servidor DNS., est opo s ir instalar o necessrio para seu servidor DNS funcionar, assim poupando recursos de hardware.

Figura 25: Tela de configurao do ambiente grfico

Figura 25, Se voc optou por instalar o Ambiente Desktop, ser necessria a configurao do ambiente grfico, nesta tela voc deve escolher o drive compatvel com sua placa de vdeo. (Dica: se estiver duvida na sua escolha opte por escolher o

CETAM

28 driver vesa, a maioria das placas de vdeo mais nova funciona com esse driver, porm os recursos sero limitados).

Figura 26: Continuao da configurao do ambiente grfico

Figura 26, O sistema pergunta se voc deseja que seja detectado o mouse automaticamente, por padro responda sim.

Figura 27: Continuao da configurao do ambiente grfico

Figura 27, O sistema pergunta se voc deseja que seja detectado o monitor automaticamente, por padro responda no.

CETAM

29

Figura 28: Continuao da configurao do ambiente grfico

Figura 28, O sistema pergunta se voc est usando um monitor LCD, se voc estiver usando notebook ou um monitor de cristal liquido, responda sim.

Figura 29: Continuao da configurao do ambiente grfico

Figura 29, Voc deve escolher o mtodo para selecionar as caractersticas de seu monitor. Aconselhvel usar o mtodo simple. Escolha a opo mais prxima da sua realidade e continue. A partir daqui sua instalao dever ocorrer normalmente, caso o sistema pergunte se voc deseja configurar o servidor de e-mail exim, responda que sem configurao no momento e deixe o sistema terminar a instalao, caso ocorra tudo bem, seu sistema operacional Debian GNU/Linux iniciar o ambiente grfico e estar pronto para ser utilizado.

CETAM

30 3. ARQUITETURA DO SISTEMA 3.1. ARQUIVOS

O GNU/Linux Case Sensitivo, ou seja, ele diferencia letras maisculas e minsculas nos arquivos. O arquivo historia completamente diferente de Historia. Esta regra tambm vlida para os comandos e diretrios. Prefira, sempre que possvel, usar letras minsculas para identificar seus arquivos, pois quase todos os comandos do sistema esto em minsculas. Um arquivo oculto no GNU/Linux identificado por um "." no inicio do nome (por exemplo, .bashrc). Arquivos ocultos no aparecem em listagens normais de diretrios, deve ser usado o comando ls -a para tambm listar arquivos ocultos. Quando um novo arquivo criador, o sistema de arquivos do Linux guarda suas informaes em um inode (estrutura particular do sistema operacional), que conter informaes como: Proprietrio e grupo do arquivo; Tipo do arquivo; Permisso do arquivo; Data e hora da criao, e tambm da ltima modificao; Nmero de links deste arquivo; Tamanho do arquivo; Um endereo, definido a localizao real dos dados do arquivo.

A nica informao que no includa no inode o nome do arquivo/diretrio, que armazenado em diretrios de arquivos especiais. Comparando os nomes dos arquivos e o nmero dos inodes, o sistema pode construir uma estrutura em rvore, na qual o usurio pode compreender. A maioria dos arquivos do sistema so chamados de arquivos regulares. Eles contm dados convencionais, como por exemplo, arquivos texto, arquivos de programas e imagens. Entretanto, outros arquivos so diferenciados dentro do sistema, dependendo da sua funo: Diretrios: arquivos que so listas de outros arquivos;

CETAM

31 Arquivos especiais: arquivos que so usados como mecanismo para a conexo com dispositivos (portas de I/O, discos e etc). A maioria destes arquivos reside em /dev;

Links: um sistema GNU/Linux pode fazer um arquivo (regular) ou diretrio ficar visvel em vrios locais na rvore de diretrios do sistema, criando links. Os arquivos especiais e links sero tratados com detalhes mais adiante, devido a sua importncia.

Sockets: so mecanismos usados como forma de comunicao entre processos de rede, protegido pelo controle de acesso do sistema de arquivos.

Pipes: similares aos sockets, fornecendo maneiras dos processos se comunicarem uns com os outros, porm no utilizam o conceito de rede.

Com o comando ls -l, podemos verificar o tipo de arquivos, analisando o primeiro caractere no conjunto de caracteres iniciais. Atributos de arquivos d l b Arquivo regular Diretrio Link simblico Dispositivos orientados a bloco (disco, memria, CDROM). Dispositivos orientados a caracteres (modem, porta serial) Socket Pipe

Descrio

c s p

3.2. ARQUIVOS ESPECIAIS

Como j mencionado, no GNU/Linux praticamente tudo representado por arquivos. Entretanto, alguns tipos de arquivos so tratados de modo especial, no CETAM

32 sentido de que so diferentes do que geralmente se encontra em outros sistemas operacionais diferentes do Unix/Linux. Sero vistos dois tipos de arquivos especiais, bastante particulares: links e arquivos de dispositivos.

3.2.1. Links

Links so referncias, atalhos ou conexes lgicas entre arquivos ou diretrios. Atravs de um link, possvel ter diferentes referncias a um mesmo arquivo. Eles so criados para que possam ficar visveis em vrios locais na estrutura de diretrios do sistema, dependendo da necessidade de sua criao. Estas referncias podem ser de dois tipos: links diretos (hard links) ou links simblicos (symbolic links ou symlinks).

3.2.1.1. Links diretos So nada mais, nada menos, do que diferentes nomes para um mesmo arquivo. Em outras palavras, uma determinada poro de dados em disco pode ter vrios nomes apontando para ela. Qualquer modificao em um deles refletida em todos os outros. No possvel criar hard links para diretrios, e tambm impossvel criar hard links entre sistemas de arquivos, devido ao esquema de inodes usados por eles.

3.2.1.2. Links Simblicos Um link simblico ou simlink como um atalho para um arquivo. Ele consiste de um arquivo pequeno, contento apenas um apontador para um nome de arquivo, ou seja, ao invs de apontar para uma poro de dados em disco, o link simblico aponta para um nome de arquivo, incluindo seu caminho.

3.2.2. DispositivosOs dispositivos, geralmente anexados em sua mquina ou includos na CPU, so apresentados pelo sistema como uma entrada do diretrio /dev. A vantagem CETAM

33 desta maneira como o sistema Linux trata dispositivos que nem o usurio, nem o sistema precisam se preocupar muito sobre a especificao dos dispositivos. interessante que o usurio tenha uma idia dos principais arquivos de dispositivos presentes no diretrio /dev e portanto, alguns deles esto descritos a seguir. Arquivo cdrom console cua* Dispositivo acessado Drive de CD-ROM Entrada especial para o console atualmente usado Portas seriais Entradas para a maioria dos drives de disquete, sendo fd* que o padro /dev/fd0H1440 (drive para disquetes de 1.44 MB) hd[a-t][1-16] lp* mem midi* modem mouse usb/ Suporte a HDs IDE, indicando o tipo de disco IDE [a-t] e o nmero da partio [1-16] Impressoras Memria Entrada para MIDI player Modens Mouse, incluindo suporte a mouses PS2 e seriais. Diretrio para acesso a dispositivos USB.

3.3. EXTENSO DE ARQUIVOS A extenso serve para identificar o tipo do arquivo. A extenso so as letras aps um ." no nome de um arquivo, explicando melhor: relatrio.txt - O .txt indica que o contedo um arquivo texto. script.sh - Arquivo de Script (interpretado por /bin/sh). system.log - Registro de algum programa no sistema. arquivo.gz - Arquivo compactado pelo utilitrio gzip. index.html - Pgina de Internet (formato Hypertexto). A extenso de um arquivo tambm ajuda, a saber, o que precisamos fazer para abri-lo. Por exemplo, o arquivo relatrio.txt um texto simples e podemos ver CETAM

34 seu contedo atravs do comando cat, j o arquivo index.html contm uma pgina de Internet e precisaremos de um navegador para poder visualiz-lo (como o lynx, Mozilla ou o Firefox). A extenso (na maioria dos casos) no requerida pelo sistema operacional GNU/Linux, mas conveniente o seu uso para determinarmos facilmente o tipo de arquivo e que programa precisar usar para abri-lo.

3.4. DIRETRIO Diretrio o local utilizado para armazenar conjuntos arquivos para melhor organizao e localizao. O diretrio, como o arquivo, tambm " Case Sensitivo" (diretrio /teste completamente diferente do diretrio /Teste). No podem existir dois arquivos com o mesmo nome em um diretrio, ou um subdiretrio com um mesmo nome de um arquivo em um mesmo diretrio. Um diretrio nos sistemas Linux/UNIX so especificados por uma " /" e no uma "\" como feito no DOS ou Windows.

3.4.1. Estrutura bsica de diretrios do Sistema LinuxO sistema GNU/Linux possui a seguinte estrutura bsica de diretrios: /bin Contm arquivos e programas do sistema que so usados com freqncia pelos usurios. Contm arquivos necessrios para a inicializao do sistema. Ponto de montagem da unidade de CD-ROM Contm arquivos usados para acessar dispositivos (perifricos) existentes no computador. Arquivos de configurao de seu computador local. Ponto de montagem de unidade de disquetes. Diretrios contendo os arquivos dos usurios.

/boot /cdrom /dev /etc /floppy /home

/lib

Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel. CETAM

35 /mnt Diretrio para pontos de montagem temporrios. Sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e /proc usado por diversos programas que fazem sua leitura, verificam configuraes do sistema ou modificar o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos. /root Diretrio do superusurio Diretrio de programas usados pelo superusurio (root) /sbin para administrao e controle do funcionamento do sistema. /tmp Diretrio para armazenamento de arquivos temporrios criados por programas. Contm maior parte de seus programas. Normalmente acessvel somente como leitura. Contm maior parte dos arquivos que so gravados com /var frequncia pelos programas do sistema, e-mails, spool de impressora, cache, etc.

/usr

3.5. COMANDOS NO LINUX

3.5.1. Comandos Internos

So comandos que esto localizados dentro do interpretador de comandos (normalmente o shell usado) e no no disco. Eles so carregados na memria RAM do computador junto com o interpretador de comandos. Quando executa um comando, o interpretador de comandos verifica primeiro se ele um comando interno caso no seja verificado se um comando externo.

Exemplos de comandos internos so: cd, exit, echo, bg, fg, source, help

CETAM

36

3.5.2. Comandos ExternosSo comandos que esto localizados no disco. Os comandos so procurados no disco usando a varivel PATH e executados assim que encontrados.

3.5.3. Aviso de comando (Prompt)Aviso de comando a linha mostrada na tela para digitao de comandos que sero passados ao interpretador de comandos para sua execuo. A posio onde o comando ser digitado marcado um "trao" piscante na tela chamado de cursor. Tanto em shells texto como em grficos necessrio o uso do cursor para sabermos onde iniciar a digitao de textos e nos orientarmos quanto a posio na tela. O aviso de comando do usurio root identificado por uma "#" (tralha), e o aviso de comando de usurios identificado pelo smbolo "$". Isto padro em sistemas UNIX. Voc pode retornar comandos j digitados pressionando as teclas seta para cima ou seta para baixo. A tela pode ser rolada para baixo ou para cima segurando a tecla SHIFT e pressionando PGUP ou PGDOWN. Isto til para ver textos que rolaram rapidamente para cima.

3.5.4. Interpretador de comandosTambm conhecido como "shell". o programa responsvel em interpretar as instrues enviadas pelo usurio e seus programas ao sistema operacional (o kernel). Ele que executa comandos lidos do dispositivo de entrada padro (teclado) ou de um arquivo executvel. a principal ligao entre o usurio, os programas e o kernel. O GNU/Linux possui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash, csh, tcsh, sh, etc. Entre eles o mais usado o bash. O interpretador de comandos do DOS, por exemplo, o command.com.

CETAM

37 Os comandos podem ser enviados de duas maneiras para o interpretador:

3.5.4.1. Interativa

Os comandos so digitados no aviso de comando e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usurio para executar uma tarefa, ou prximo comando.

3.5.4.2. No-interativa

So usados arquivos de comandos criados pelo usurio (scripts) para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um e dependendo do trmino do comando, o script pode checar qual ser o prximo comando que ser executado e dar continuidade ao processamento. Este sistema til quando temos que digitar por vrias vezes seguidas um mesmo comando ou para compilar algum programa complexo. O shell bash possui ainda outra caracterstica interessante: A completao dos nomes. Isto feito pressionando-se a tecla TAB. Por exemplo, se digitar "ls tes" e pressionar , o bash localizar todos os arquivos que iniciam com "tes" e completar o restante do nome. Caso a completao de nomes encontre mais do que uma expresso que satisfaa a pesquisa, ou nenhuma, emitido um beep. Se voc apertar novamente a tecla TAB imediatamente depois do beep, o interpretador de comandos ir listar as diversas possibilidades que satisfazem a pesquisa, para que voc possa escolher a que lhe interessa. A completao de nomes funciona sem problemas para comandos internos.

Exemplo: ech (pressione TAB), ls /vm (pressione TAB).

CETAM

38 4. COMANDOS INICIAIS

Neste captulo, iremos revisar alguns comandos visto em mdulos anteriores.

ls - Lista os arquivos de um diretrio. ls [opes] [caminho/arquivo] ... Caminho/arquivo - Diretrio/arquivo que ser listado. Opes: -a, --all = Lista todos os arquivos (inclusive os ocultos) de um diretrio. -d, --directory = Lista os nomes dos diretrios ao invs do contedo. -F = Insere um caractere aps arquivos executveis ('*'), diretrios ('/'), soquete ('='), link simblico ('@') e pipe ('|'). Seu uso til para identificar de forma fcil tipos de arquivos nas listagens de diretrios. -h, --human-readable = Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes. -l = Usa o formato longo para listagem de arquivos. Lista as permisses, data de modificao, donos, grupos, etc.

Exemplos do uso do comando ls: ls - Lista os arquivos do diretrio atual. ls /bin /sbin - Lista os arquivos do diretrio /bin e /sbin ls -la /bin - Listagem completa (vertical) dos arquivos do diretrio /bin inclusive os ocultos.

cd - Entra em um diretrio. Voc precisa ter a permisso de execuo para entrar no diretrio. cd [diretrio] Diretrio - diretrio que deseja entrar.

Exemplos: Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio de usurio (diretrio home). CETAM

39 cd /, retornar ao diretrio raz. cd -, retornar ao diretrio anteriormente acessado. cd .., sobe um diretrio. cd ../[diretrio], sobe um diretrio e entra imediatamente no prximo (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin). shutdown - Desliga/reinicia o computador imediatamente ou aps determinado tempo (programvel) de forma segura. Todos os usurios do sistema so avisados que o computador ser desligado. Este comando somente pode ser executado pelo usurio root ou quando usada a opo -a pelos usurios cadastrados no arquivo /etc/shutdown.allow que estejam logados no console virtual do sistema. shutdown [opes] Opes: -h - Inicia o processo para desligamento do computador. -r - Reinicia o sistema

Exemplos: shutdown -h now - Desligar o computador imediatamente. shutdown -r now - Reinicia o computador imediatamente. shutdown -r 15:00 O sistema ser reiniciado s 15:00 horas - Faz o computador ser reiniciado (init 6) s 15:00 horas enviando a mensagem O sistema ser reiniciado s 15:00 horas a todos os usurios conectados ao sistema. shutdown -r 20 - Faz o sistema ser reiniciado aps 20 minutos. halt - Diz ao sistema que ele dever desligar imediatamente.

reboot - O comando reboot chama o comando shutdown e ao final deste reinicia o sistema. mkdir - Cria um diretrio no sistema. Um diretrio usado para armazenar arquivos de um determinado tipo. O diretrio pode ser entendido como uma pasta CETAM

40 onde voc guarda seus papeis (arquivos). Como uma pessoa organizada, voc utilizar uma pasta para guardar cada tipo de documento, da mesma forma voc pode criar um diretrio vendas para guardar seus arquivos relacionados com vendas naquele local. mkdir [opes] [caminho/diretrio] [caminho1/diretrio1] Caminho - Caminho onde o diretrio ser criado. Diretrio - Nome do diretrio que ser criado. Opes: --verbose - Mostra uma mensagem para cada diretrio criado. As mensagens de erro sero mostradas mesmo que esta opo no seja usada. Para criar um novo diretrio, voc deve ter permisso de gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste que ser usado para gravar arquivos de teste, voc deve usar o comando "mkdir /tmp/teste". Podem ser criados mais de um diretrio com um nico comando (mkdir /tmp/teste /tmp/teste1 /tmp/teste2).

rmdir - Remove um diretrio do sistema. Este comando faz exatamente o contrrio do mkdir. O diretrio a ser removido deve estar vazio e voc deve ter permisso de gravao para remov-lo. rmdir [caminho/diretrio] [caminho1/diretrio1] Caminho - Caminho do diretrio que ser removido. Diretrio - Nome do diretrio que ser removido. necessrio que esteja um nvel acima do diretrio(s) que ser(o) removido(s). Para remover diretrios que contenham arquivos, use o comando rm com a opo -r.

Por exemplo, para remover o diretrio /tmp/teste voc deve estar no diretrio tmp e executar o comando rmdir teste.

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

CETAM

41 rm - Apaga arquivos. Tambm pode ser usado para apagar diretrios e subdiretrios vazios ou que contenham arquivos. rm [opes][caminho][arquivo/diretrio] [caminho1][arquivo1/diretrio1] Caminho - Localizao do arquivo que deseja apagar. Se omitido, assume que o arquivo esteja no diretrio atual. Arquivo/diretrio - Arquivo que ser apagado. Opes: -i, --interactive - Pergunta antes de remover, esta ativada por padro. -v, --verbose - Mostra os arquivos na medida que so removidos. -r, --recursive - Usado para remover arquivos em subdiretrios. Esta opo tambm pode ser usada para remover subdiretrios. -f, --force - Remove os arquivos sem perguntar. Use com ateno o comando rm, uma vez que os arquivos e diretrios forem apagados, eles no podero ser mais recuperados.

Exemplos: rm teste.txt - Apaga o arquivo teste.txt no diretrio atual. rm *.txt - Apaga todos os arquivos do diretrio atual que terminam com .txt. rm *.txt teste.novo - Apaga todos os arquivos do diretrio atual que terminam com .txt e tambm o arquivo teste.novo. rm -rf /tmp/teste/* - Apaga todos os arquivos e sub-diretrios do diretrio /tmp/teste mas mantm o sub-diretrio /tmp/teste. rm -rf /tmp/teste - Apaga todos os arquivos e sub-diretrios do diretrio /tmp/teste, inclusive /tmp/teste.

cp - Copia arquivos. cp [opes] [origem] [destino] Origem - Arquivo que ser copiado. Podem ser especificados mais de um arquivo para ser copiado usando "Curingas" (veja Curingas, Seo 2.12). Destino - O caminho ou nome de arquivo onde ser copiado. Se o destino for um diretrio, os arquivos de origem sero copiados para dentro do diretrio. Opes -i, --interactive - Pergunta antes de substituir um arquivo existente. CETAM

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

Exemplos: cp teste.txt teste1.txt - Copia o arquivo teste.txt para teste1.txt. cp teste.txt /tmp - Copia o arquivo teste.txt para dentro do diretrio /tmp. cp * /tmp - Copia todos os arquivos do diretrio atual para /tmp. cp /bin/* . - Copia todos os arquivos do diretrio /bin para o diretrio em que nos encontramos no momento. cp -R /bin /tmp - Copia o diretrio /bin e todos os arquivos/sub-diretrios existentes para o diretrio /tmp. cp -R /bin/* /tmp - Copia todos os arquivos do diretrio /bin (exceto o

diretrio /bin) e todos os arquivos/sub-diretrios existentes dentro dele para /tmp. cp -R /bin /tmp - Copia todos os arquivos e o diretrio /bin para /tmp.

mv - Move ou renomeia arquivos e diretrios. O processo semelhante ao do comando cp, mas o arquivo de origem apagado aps o trmino da cpia. mv [opes] [origem] [destino] Origem - Arquivo/diretrio de origem. Destino - Local onde ser movido ou novo nome do arquivo/diretrio. CETAM

43 Opes: -f, --force - Substitui o arquivo de destino sem perguntar. -i, --interactive - Pergunta antes de substituir. o padro. -v, --verbose - Mostra os arquivos que esto sendo movidos. -u, --update - Move somente arquivos antigos, ou novos arquivos. O comando mv copia um arquivo da ORIGEM para o DESTINO (semelhante ao cp), mas aps a cpia, o arquivo de ORIGEM apagado.

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

CETAM

44 5. DOCUMENTAO DO LINUX

5.1. PGINAS DE MANUAL

As pginas de manual acompanham quase todos os programas GNU/Linux. Elas trazem uma descrio bsica do comando/programa e detalhes sobre o funcionamento de opo. Uma pgina de manual visualizada na forma de texto nico com rolagem vertical. Tambm documenta parmetros usados em alguns arquivos de configurao. A utilizao da pgina de manual simples, digite: man [seo] [comando/arquivo] seo - a seo de manual que ser aberta, se omitido, mostra a primeira seo sobre o comando encontrada (em ordem crescente). Comando/arquivo Comando/arquivo que deseja pesquisar. A navegao dentro das pginas de manual feita usando-se as teclas: q - Sai da pgina de manual PageDown ou f - Rola 25 linhas abaixo PageUP ou w - Rola 25 linhas acima SetaAcima ou k - Rola 1 linha acima SetaAbaixo ou e - Rola 1 linha abaixo r - Redesenha a tela (refresh) p ou g - incio da pgina h - Ajuda sobre as opes da pgina de manual s - Salva a pgina de manual em formato texto no arquivo especificado (por exemplo: /tmp/ls). Cada seo da pgina de manual contm explicaes sobre uma determinada parte do sistema. As sees so organizadas em diretrios separados e localizadas no diretrio /usr/man. Os programas/arquivos so classificados nas seguintes sees: Programas executveis ou comandos internos; Chamadas do sistema (funes oferecidas pelo kernel); Chamadas de Bibliotecas (funes dentro de bibliotecas do CETAM

45 sistema); do comando: Texto Negrito - Deve ser digitado exatamente como mostrado [bla bla bla] - Qualquer coisa dentro de [ ] so opcionais Arquivos especiais (normalmente encontrados no diretrio /dev); Formatos de arquivos e convenes (/etc/inittab, por exemplo); Jogos; Pacotes de macros e convenes (por exemplo, man); Comandos de Administrao do sistema (normalmente usados pelo root); Rotinas do kernel (no padres).

As pginas de manual contm algumas regras para facilitar a compreenso

Exemplo: man ls.

5.2. DOCUMENTOS HOWTO'S

So documentos em formato texto, html, etc, que explicam como fazer determinada tarefa ou como um programa funciona. Normalmente so feitos na linguagem SGML e convertidos para outros formatos (como o texto, HTML, Pos Script) depois de prontos. Estes trazem explicaes detalhadas desde como usar o bash at sobre como funciona o modem ou como montar um servidor internet completo. Os HOWTOs podem ser encontrados no diretrio do projeto de documentao do GNU/Linux (LDP) em ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/ ou traduzidos para o Portugus pelo LDP-BR em http://br.tldp.org/projetos/howto/traduzidos.php . Caso tenham optado por instalar o pacote de HOWTO's de sua distribuio GNU/Linux, eles podem ser encontrados em: /usr/doc/how-to.

5.3. PGINAS INTERNET DE REFERNCIA Existem boas pginas Internet Nacionais e Internacionais sobre o GNU/Linux e assuntos relacionados com este sistema. A maioria trazem documentos e CETAM

46 explicaes sobre configurao, instalao, manuteno, documentao, suporte, etc. Estas pginas podem ser encontradas atravs de ferramentas de busca. Entre outras pginas, posso citar as seguintes: http://www.linux.trix.net/ http://www.linuxsecurity.com.br/ http://br.tldp.org/ http://www.underlinux.com.br/ 5.4. LISTAS DE DISCUSSO

So grupos de usurios que trocam mensagens entre si, resolvem dvidas, ajudam na configurao de programas, instalao, etc. considerado o melhor suporte ao GNU/Linux pois qualquer participante pode ser beneficiar das solues discutidas. Existem milhares de listas de discusses sobre o GNU/Linux espalhadas pelo mundo, em Portugus existem algumas dezenas. Abaixo segue uma relao de listas de discusso em Portugus com endereo de inscrio, e o que voc deve fazer para ser cadastrado: [email protected]

Para se inscrever nesta lista, envie uma mensagem para: [email protected] contendo a palavra subscribe no assunto da mensagem e aguarde o recebimento da confirmao da inscrio. Apenas responda a mensagem de confirmao para se inscrever. Para se descadastrar envie uma mensagem para o mesmo endereo, mas use a palavra unsubscribe. [email protected]

Para se inscreve nesta lista de discusso, envie uma mensagem para: [email protected] contendo a palavra subscribe no corpo da mensagem e aguarde o recebimento da confirmao da inscrio. Apenas responda a mensagem de confirmao para confirmar sua inscrio na lista. Para se descadastrar envie uma mensagem para o mesmo endereo, mas use a palavra unsubscribe.

CETAM

47 6. METACARACTERES E REDIRECIONADORES

6.1. METACARACTERES

Metacaracteres ou curingas um recurso usado para especificar um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc faa a filtragem do que ser listado, copiado, apagado, etc. So usados 4 tipos de curingas no GNU/Linux: "*" - Faz referncia a um nome completo/restante de um arquivo/diretrio. "?" - Faz referncia a uma letra naquela posio. [padro] - Faz referncia a uma faixa de caracteres de um arquivo/diretrio. Padro pode ser: [a-z][0-9] - Faz referncia a caracteres de a at z seguido de um caracter de 0 at 9. [a,z][1,0] - Faz a referncia aos caracteres a e z seguido de um caracter 1 ou 0 naquela posio. [a-z,1,0] - Faz referncia aos caracteres de a at z ou 1 ou 0 naquela posio. A procura de caracteres "Case Sensitive" assim se voc deseja que sejam localizados todos os caracteres alfabticos voc deve usar [a-z,A-Z]. Caso a expresso seja seguida de um ^, faz referncia a qualquer caracter exceto o da expresso. Por exemplo, [^abc] faz referncia a qualquer caracter exceto a, b e c. {padres} - Faz referncia a diversos padres de um arquivo/diretrio. {ab,01} - Faz referncia a sequncia de caracteres ab ou 01 {a-z1,10} Faz referencia a sequncia de caracteres de a at z seguido do caractere 1 ou a sequncia de caracter 1 e 0. Lembrando que os 4 tipos de curingas ("*", "?", "[ ]", "{ }") podem ser usados juntos. Para entender melhor vamos a prtica: Vamos dizer que tenha 5 arquivo no diretrio /usr/teste: teste1.txt, teste2.txt, teste3.txt, teste4.new, teste5.new. Caso deseje listar todos os arquivos do diretrio /usr/teste voc pode usar o coringa "*" para especificar todos os arquivos do diretrio: CETAM

48 cd /usr/teste e ls * ou ls /usr/teste/*. No tem muito sentido usar o comando ls com "*" porque todos os arquivos sero listados se o ls for usado sem nenhum Curinga. Agora para listar todos os arquivos teste1.txt, teste2.txt, teste3.txt com exceo de teste4.new, teste5.new, podemos usar inicialmente 3 mtodos: Usando o comando ls *.txt que pega todos os arquivos que comeam com qualquer nome e terminam com .txt. Usando o comando ls teste?.txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caractere no lugar do coringa ? e terminem com .txt. Com o exemplo acima teste*.txt tambm faria a mesma coisa, mas se tambm tivssemos um arquivo chamado teste10.txt este tambm seria listado. Usando o comando ls teste[1-3].txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caractere entre o nmero 1-3 no lugar da 6a letra e terminem com .txt. Neste caso se obtm uma filtragem mais exata, pois o coringa ? especifica qualquer caractere naquela posio e [ ] especifica nmeros, letras ou intervalo que ser usado. Agora para listar somente teste4.new e teste5.new podemos usar os seguintes mtodos: ls *.new que lista todos os arquivos que terminam com .new ls teste?.new que lista todos os arquivos que comeam com teste, contenham qualquer caractere na posio do coringa ? e terminem com .new. ls teste[4,5].* que lista todos os arquivos que comeam com teste contenham nmeros de 4 e 5 naquela posio e terminem com qualquer extenso. Existem muitas outras formas de se fazer a mesma coisa, isto depende do gosto de cada um. O uso de curingas ser til ao copiar arquivos, apagar, mover, renomear, e nas mais diversas partes do sistema. Alias esta uma caracterstica do GNU/Linux: permitir que a mesma coisa possa ser feita com liberdade de vrias maneiras diferentes.

6.2. REDIRECIONAMENTOS E PIPE

> - Redireciona a sada de um programa/comando/script para algum dispositivo ou arquivo ao invs do dispositivo de sada padro (tela). Quando CETAM

49 usado com arquivos, este redirecionamento cria ou substitui o contedo do arquivo. Por exemplo, voc pode usar o comando ls para listar arquivos e usar ls > listagem para enviar a sada do comando para o arquivo listagem. Use o comando cat para visualizar o contedo do arquivo listagem. O mesmo comando pode ser redirecionado para o segundo console /dev/tty2 usando: ls >/dev/tty2, o resultado do comando ls ser mostrado no segundo console (pressione ALT e F2 para mudar para o segundo console e ALT e F1 para retornar ao primeiro). >> - Redireciona a sada de um programa/comando/script para algum dispositivo ou final de arquivo ao invs do dispositivo de sada padro (tela). A diferena entre este redirecionamento duplo e o simples, se caso for usado com arquivos, adiciona a sada do comando ao final do arquivo existente ao invs de substituir seu contedo. . Por exemplo, voc pode acrescentar a sada do comando ls ao arquivo listagem do captulo anterior usando ls / >>listagem. Use o comando cat para visualizar o contedo do arquivo listagem. < - Direciona a entrada padro de arquivo/dispositivo para um comando. Este comando faz o contrrio do anterior, ele envia dados ao comando. Voc pode usar o comando cat