Você está na página 1de 145

Introduo ao Linux

O Linux um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlndia. um sistema Operacional de cdigo aberto distribudo gratuitamente pela Internet. Seu cdigo fonte liberado como software livre, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele no pode fechar o sistema para que seja usado apenas comercialmente. Isto quer dizer que voc no precisa pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores. Ser um sistema de cdigo aberto pode explicar a performance, estabilidade e velocidade em que novos recursos so adicionados ao sistema. Para rodar o Linux voc precisa, no mnimo, de um computador 386 SX com 2 MB de memria (para um kernel at a srie 2.2.x) ou 4MB (para kernels 2.4 e superiores) e 40MB disponveis em seu disco rgido para uma instalao bsica e funcional. O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita dificuldade 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. Hoje o Linux desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuio ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e tambm ajuda na coordenao entre os desenvolvedores. O suporte ao sistema tambm se destaca como sendo o mais 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 ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo.

Algumas Caractersticas do Linux livre e desenvolvido voluntariamente por programadores experientes e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuio para a melhoria e crescimento deste sistema operacional.

Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador. Multitarefa real Multiusurio Suporte a nomes extensos de arquivos e diretrios (255 caracteres) Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc. Proteo entre processos executados na memria RAM Suporte a mais de 63 terminais virtuais (consoles) Modularizao - O GNU/Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo finalizado Devido a modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento. Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo) No h a necessidade de reiniciar o sistema aps 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 ou falha em algum hardware No precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memria RAM (sem rodar o sistema grfico X, que recomendado 8MB de RAM) O crescimento e novas verses do sistema no provocam lentido, pelo contrrio, a cada nova verso os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos teis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.4.x para 2.6.x) No requerida uma licena para seu uso. O GNU/Linux licenciado de acordo com os termos da GPL (Gnu Public License) Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, 2

SunOS, Amiga, Atari, Mac, etc.

Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM O LINUX NO VULNERVEL A VRUS! Devido a separao de privilgios entre processos e respeitadas as recomendaes padro de poltica de segurana e uso de contas privilegiadas (como a de root, como veremos adiante), programas como vrus tornam-se inteis pois tem sua ao limitada pelas restries de acesso do sistema de arquivos e execuo. Freqentemente so criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para danificar o sistema. Erroneamente este tipo de ataque classificado como vrus por pessoas mal informadas e so resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuio que tenha um bom sistema de atualizao resolve em 99.9% os problemas com exploits. Qualquer programa (nocivo ou no) poder alterar partes do sistema que possui permisses. 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. Roda aplicaes DOS atravs do DOSEMU, QEMU, BOCHS. Para se ter uma idia, possvel dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema. Roda aplicaes Windows atravs do WINE Suporte a dispositivos Plug-and-Play Suporte a dispositivos USB Suporte a Fireware Dispositivos Wireless Vrios tipos de firewalls de alta qualidade e com grande poder de segurana gratuitos Roteamento esttico e dinmico de pacotes. Ponte entre Redes. Proxy Tradicional e Transparente. Possui recursos para atender a mais de um endereo IP na mesma placa de rede, sendo muito til para situaes de manuteno em servidores de redes ou para a emulao de "mais computadores" virtualmente. 3

O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usurio que se conecta tem a impresso que a rede possui servidores diferentes.

O sistema de arquivos usado pelo GNU/Linux (Ext2, Ext3 ou Reiserfs) organiza os arquivos de forma inteligente evitando a fragmentao e fazendo-o um poderoso sistema para aplicaes multi-usurias exigentes e gravaes intensivas. Permite a montagem de um servidor Web, E-mail, News, etc, com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, distribudo gratuitamente junto com a maioria das distribuies Linux. O mesmo acontece com o Sendmail. Por ser um sistema operacional de cdigo aberto, voc pode ver o que o cdigo fonte (instrues digitadas pelo programador) e adapta-lo as suas necessidades ou de sua empresa. Esta caracterstica uma segurana a mais para empresas srias e outros que no querem ter seus dados roubados (voc no sabe o que um sistema sem cdigo fonte faz na realidade enquanto esta processando o programa). Consultores tcnicos especializados no suporte ao sistema espalhados por todo o mundo. Entre muitas outras caractersticas que voc descobrir durante o uso do sistema.

1. DISTRIBUIES DO LINUX
S o kernel GNU/Linux no suficiente para se ter uma sistema funcional, mas o principal. 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 bastante conhecidas so: Slackware, Debian, Red Hat, Conectiva, Suse, Mandrake, todas usando o SO Linux como kernel principal (a Debian uma distribuio independente de kernel e pode ser executada sob outros kernels, como o GNU hurd). 4

A escolha de sua distribuio deve ser feita com muita ateno. O melhor caminho para a escolha da distribuio, seria perguntar as caractersticas de cada uma e porque uma determinada 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 necessidade e esta mesma distribuio pode no ser a melhor para lhe atender. Segue abaixo as caractersticas de algumas distribuies seguidas do site principal e endereo ftp:

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, Tftp, Ftp, NFS ou atravs da combinao de vrios destes em cada etapa de instalao. Acompanha mais de 8710 programas distribudos em forma de pacotes divididos em 14 CDs binrios e 14 de cdigo fonte (uma instalao padro ocupa em torno de 1.5Gbytes), 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 2 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 relatados 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 5

lista de falhas ou sugestes sobre a distribuio cadastrando-se em uma das lista 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, 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 8000 pacotes) que possam comprometer o servidor, deixando-o vulnervel a ataques. Assim que uma falha descoberta, enviado 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 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 so feitos atravs de listas de discusses e canais IRC. Existem 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. ftp://ftp.debian.org/ - Endereo Ftp para download.

Conectiva http://www.conectiva.com.br/ - um sistema tipicamente para pc e notebooks, com muitos pacotes de escritrio e desenho. necessrio um conhecimento razovel do hardware que voc possui, pois ele "tenta" detectar sua placa de vdeo e rede, monitor e teclado, mas nem sempre a escolha acertada. A verso 10.0 saiu graficamente maravilhosa, mas com 3 cds. Existe um gerenciador grfico de pacotes, o Synaptic, que muito bom, principalmente pra quem est comeando. A instalao muito simples e intuitiva, com todo o gerenciamento centralizado. Alm de ter a maioria dos manuais online e traduzidos para portugus. ftp://ftp.conectiva.com.br/ - Ftp da distribuio Conectiva. 6

Libranet http://www.libranet.com/ Distribuio

baseada na Debian GNU/Linux oferecendo as principais caractersticas da distribuio Debian. So empacotadas os aplicativos mais utilizados da Distribuio Debian em um nico CD, voc pode ter um desktop completo sendo executado em pouco tempo. As atualizaes de softwares so feitas gratuitamente. O sistema de gerenciamento de pacotes Debian permite o gerenciamento de atualizaes automaticamente. ftp://ftp.libranet.com/ - Ftp da distribuio.

Slackware http://www.slackware.com/ Distribuio desenvolvida por Patrick Volkerding, com o objetivo de 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 existe um consenso de que a Red Hat a melhor distribuio para o usurio iniciante, o Slackware o melhor para usurios avanados, ou seja programadores, administradores, etc. ftp://ftp.slackwarebrasil.org/linux/slackware/ - Ftp da distribuio Slackware. SuSE http://www.suse.com/ - Distribuio comercial Alem com a coordenao sendo feita atravs dos processos administrativos dos desenvolvedores e de seu brao norteamericano. O foco da Suse o usurio com conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux (at a verso 6.2). A distribuio possui suporte ao idioma e teclado Portugus, mas no inclui (at a verso 6.2) a documentao em Portugus. Eis a lista de idiomas suportados pela

distribuio: English, Deutsch, Franais, Italiano, Espanhol, Portugus, Portugus Brasileiro, Polski, Cesky, Romanian, Slovensky, Indonsia. Possui suporte as arquiteturas Intel x86 e Alpha. Sua instalao pode ser feita via CD-ROM ou CD-DVD (foi a primeira distribuio com instalao atravs de DVD). Uma mdia de 1500 programas acompanham a verso 6.3 distribudos em 6 CDROMs. 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. ftp://ftp.suse.com/ - Ftp da distribuio SuSE.

Red Hat Enterprise Linux http://www.redhat.com/ - Distribuio comercial suportada pela Red Hat e voltada a servidores de grandes e medias empresas. Tambm conta com uma certificao chamada RHCE especfica desta distro. Ela no est disponvel para download, apenas vendida a custos a partir de 179 dlares (a verso workstation) at 1499 dlares (advanced server).

Fedora http://fedora.redhat.com/ - O Fedora Linux a distribuio de desenvolvimento aberto patrocinada pela RedHat e pela comunidade, originada em 2002 e baseada em verso da antiga linha de produtos RedHat Linux, a distribuio mais utilizada do mundo. Esta distribuio no suportada pela Red Hat como distribuio oficial (ela suporta apenas a linha Red Hat Enterprise Linux), devendo obter suporte atravs da comunidade ou outros meios. A distribuio Fedora d prioridade ao uso do computador como estao de trabalho. Alm de contar com uma ampla gama de ferramentas de escritrio possui funes de servidor e aplicativos para produtividade e desenvolvimento de softwares. Considerado um dos sistemas mais fceis de instalar e utilizar, inclui traduo para portugs do Brasil e suporte s plataformas Intel e 64 bits. 8

Por basear-se no RedHat. o Fedora conta com o up2date, um software para manter o sistema atualizado e utiliza pacotes de programas no formato RPM, um dos mais comuns. Por outro lado, no possui suporte a MP3, Video Players ou NTFS (Discos do Windows) em virtude de problemas legais sendo necessrio o download de alguns plugins para a utilizao destas funes. O Fedora no distribuido oficialmente atravs de mdias ou CDs, se voc quiser obte-lo ter de procurar distribuidores independentes ou fazer o download dos 4 CDs atravs do site oficial. http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/iso/ - Download da distribuio Fedora. Mandrake http://www.mandrakelinux.com/ - Uma distribuio francesa que se instala praticamente sozinha. Boa auto-deteco de perifricos, inclusive web-cams. ftp://mandrake.mirrors.pair.com/Mandrakelinux/official/iso/move/2.0/i586/ - Download da distribuio.

Kurumin http://guiadohardware.net/kurumin/index.php/ Uma distribuio baseada em Debian que roda diretamente a partir do CD, sendo ideal para quem deseja testar uma distribuio Linux. Caso gosto, pode ser instalada diretamente no disco rgido. Distribuda a partir do CD, suporta boa quantidade de hardwares disponveis. A verso instalada possui suporte a maioria dos winmodens mais encontrados no Brasil. http://fisica.ufpr.br/kurumin/ - Download da distribuio.

2. ARQUIVOS
O GNU/Linux Case Sensitive ou seja, ele diferencia letras maisculas e minsculas nos arquivos. O arquivo historia completamente diferente de Historia. Esta regra tambm vlido 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 incio 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. 2.1 Extenso de arquivos Abaixo temos exemplos de extenses caractersticas de sistemas Linux:

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.tar Arquivos agrupados pelo utilitrio tar. 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 precisaremos usar para abri-lo. 2.2 Diretrio Diretrio o local utilizado para armazenar conjuntos de arquivos para melhor organizao e localizao. O diretrio, como o arquivo, tambm "Case Sensitive" (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. Para detalhes sobre como criar um diretrio, veja o comando mkdir. 2.2.1 Diretrio Raz Este o diretrio principal do sistema. Dentro dele esto todos os diretrios do sistema. O diretrio Raz representado por uma "/", assim se voc digitar o comando cd / voc estar acessando este diretrio. Nele esto localizados outros diretrios como o /bin, /sbin, /usr, /mnt, /tmp, /var, /home, etc. Estes so chamados de sub-diretrios pois esto dentro do diretrio "/". A estrutura de diretrios e sub-diretrios pode ser identificada da seguinte maneira: 10

/ /bin /sbin /usr /usr/local /mnt /tmp /var /home A estrutura de diretrios tambm chamada de rvore de Diretrios porque

parecida com uma rvore de cabea para baixo. Cada diretrio do sistema tem seus respectivos arquivos que so armazenados conforme regras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padro do Sistema de Arquivos) verso 2.0, definindo que tipo de arquivo deve ser armazenado em cada diretrio. 2.2.2 Estrutura bsica de diretrios do Sistema Linux O sistema GNU/Linux possui a seguinte estrutura bsica de diretrios organizados segundo o FHS (Filesystem Hierarchy Standard): /bin Contm arquivos executveis do sistema que so usados com freqncia pelos usurios. /boot Contm arquivos necessrios para a inicializao do sistema. /cdrom Ponto de montagem da unidade de CD-ROM. /dev Contm arquivos usados para acessar dispositivos existentes no computador. /etc Arquivos de configurao de seu computador local. /floppy Ponto de montagem de unidade de disquetes

11

/home Diretrios contendo os arquivos dos usurios. /lib Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel. /lost+found Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. Cada partio possui seu prprio diretrio lost+found. /mnt Ponto de montagem temporrio. /proc Sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e 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 usurio root. /sbin Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema. /tmp Diretrio para armazenamento de arquivos temporrios criados por programas. /usr Contm maior parte de seus programas. Normalmente acessvel somente como leitura. /var Contm maior parte dos arquivos que so gravados com freqncia pelos programas do sistema, e-mails, spool de impressora, cache, etc. 2.3 Nomeando Arquivos e Diretrios Os programas executveis do GNU/Linux, ao contrrio dos programas de DOS e Windows, no so executados a partir de extenses .exe, .com ou .bat. O GNU/Linux (como todos os sistemas POSIX) usa a permisso de execuo de arquivo para identificar se um arquivo pode ou no ser executado.

12

No exemplo anterior, nosso trabalho de histria pode ser identificado mais facilmente caso fosse gravado com o nome trabalho.txt. Tambm permitido gravar o arquivo com o nome Trabalho de Historia.txt mas no recomendado gravar nomes de arquivos e diretrios com espaos. Porque ser necessrio colocar o nome do arquivo entre "aspas" para acessa-lo (por exemplo, cat "Trabalho de Historia.txt") ou isolar os espaos por barras invertidas (por exemplo, cat Trabalho\ de\ Historia.txt). Ao invs de usar espaos, prefira capitalizar o arquivo (usar letras maisculas e minsculas para identifica-lo): TrabalhodeHistoria.txt ou usar underline Trabalho_de_Historia.txt. 2.4 Comandos Comandos so ordens que passamos ao sistema operacional para executar uma determinada tarefa. Cada comando tem uma funo especfica, devemos saber a funo de cada comando e escolher o mais adequado para fazer o que desejamos, por exemplo:

ls - Mostra arquivos de diretrios cd - Para mudar de diretrio sempre usado um espao depois do comando para separ-lo de uma opo ou

parmetro que ser passado para o processamento. Um comando pode receber opes e parmetros: opes As opes so usadas para controlar como o comando ser executado, por exemplo, para fazer uma listagem mostrando o dono, grupo, tamanho dos arquivos voc deve digitar ls -l. Opes podem ser passadas ao comando atravs de um "-" ou "--": Opo identificada por uma letra. Podem ser usadas mais de uma opo com um nico hfen. O comando ls -l -a a mesma coisa de ls -la -Opo identificada por um nome. O comando ls --all equivalente a ls -a. Pode ser usado tanto "-" como "--", mas h casos em que somente "-" ou "--" esta disponvel.

13

parmetros Um parmetro identifica o caminho, origem, destino, entrada padro ou sada padro que ser passada ao comando. Se voc digitar: ls /usr/doc/copyright, /usr/doc/copyright ser o parmetro passado ao comando ls, neste caso queremos que ele liste os arquivos do diretrio /usr/doc/copyright. normal errar o nome de comandos, mas no se preocupe, quando isto acontecer o sistema mostrar a mensagem command not found (comando no encontrado) e voltar ao aviso de comando. No GNU/Linux, voc tem a possibilidade de criar comandos personalizados usando outros comandos mais simples (isto ser visto mais adiante). Os comandos se encaixam em duas categorias: Comandos Internos e Comandos Externos. Exemplo: "ls -la /usr/doc", ls o comando, -la a opo passada ao comando, e /usr/doc o diretrio passado como parmetro ao comando ls. 2.4.1 Comandos Internos So comandos que esto localizados dentro do interpretador de comandos (normalmente o Bash) 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 2.4.2 Comandos Externos So comandos que esto localizados no disco. Os comandos so procurados no disco usando o path e executados assim que encontrados. 2.5 Aviso de comando (Prompt) Aviso de comando (ou Prompt), a linha mostrada na tela para digitao de comandos que sero passados ao interpretador de comandos para sua execuo.

14

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 um "#" (sustenido), e o aviso de comando de usurios identificado pelo smbolo "$". Isto padro em sistemas UNIX. e Voc pode retornar comandos j digitados pressionando as teclas Seta para cima / 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. 2.6 Interpretador de comandos Tambm conhecido como "shell". o programa responsvel em interpretar as instrues enviadas pelo usurio e seus programas ao sistema operacional (o kernel). Ele que executa comandos lidos do dispositivo de entrada padro (teclado) ou de um arquivo executvel. a principal ligao entre o usurio, os programas e o kernel. O GNU/Linux possui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash, csh, tcsh, sh, etc. Entre eles o mais usado o bash. O interpretador de comandos do DOS, por exemplo, o command.com.

15

Os comandos podem ser enviados de duas maneiras para o interpretador: interativa e no-interativa: Interativa Os comandos so digitados no aviso de comando e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usurio para executar uma tarefa, ou prximo comando. No-interativa So usados arquivos de comandos criados pelo usurio (scripts) para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um e dependendo do trmino do comando, o script pode checar qual ser o prximo comando que ser executado e dar continuidade ao processamento. Este sistema til quando temos que digitar por vrias vezes seguidas um mesmo comando ou para compilar algum programa complexo.

16

O shell Bash possui ainda outra caracterstica interessante: O complemento dos nomes. Isto feito pressionando-se a tecla TAB. Por exemplo, se digitar "ls tes" e pressionar <tab>, o Bash localizar todos os arquivos que iniciam com "tes" e completar o restante do nome. Caso o complemento 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. O complemento de nomes funciona sem problemas para comandos internos. Exemplo: ech (pressione TAB). ls /vm(pressione TAB) Comando echo, arquivo /vmlinuz 2.7 Terminal Virtual (console) Terminal (ou console) o teclado e tela conectados em seu computador. O GNU/Linux faz uso de sua caracterstica multi-usuria usando os "terminais virtuais". Um terminal virtual uma segunda seo de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente via telnet, ssh, etc. No GNU/Linux, em modo texto, voc pode acessar outros terminais virtuais segurando a tecla ALT e pressionando F1 a F6. Cada tecla de funo corresponde a um nmero de terminal do 1 ao 6 (o stimo usado por padro pelo ambiente grfico X). O GNU/Linux possui mais de 63 terminais virtuais, mas apenas 6 esto disponveis inicialmente por motivos de economia de memria RAM. Se estiver usando o modo grfico, voc deve segurar CTRL+ ALT enquanto pressiona uma tela de <F1> a <F6>. Um exemplo prtico: Se voc estiver usando o sistema no Terminal 1 com o nome "joao" e desejar entrar como "root" para instalar algum programa, segure ALT enquanto pressiona <F2> para abrir o segundo terminal virtual e faa o login como "root". Ser aberta uma nova seo para o usurio "root" e voc poder retornar a hora que quiser para o primeiro terminal pressionando ALT+<F1>. 2.8 Curingas Curingas (ou referncia global) um recurso usado para especificar um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc

17

faa a filtragem do que ser listado, copiado, apagado, etc. So usados 3 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 a intervalo de caracteres de a at z ou 1 ou 0 naquela posio.

A procura de caracteres "Case Sensitive" assim se voc deseja que sejam localizados todos os caracteres alfabticos voc deve usar [a-zA-Z]. Caso a expresso seja precedida por um ^, faz referncia a qualquer caracter exceto o da expresso. Por exemplo [^abc] faz referncia a qualquer caracter exceto a, b e c. Devemos lembrar 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: cd /usr/teste e ls * ou ls /usr/teste/*. No tem muito sentido usar o comando ls com "*" porque todos os arquivos sero listados se o ls for usado sem nenhum Coringa. Agora para listar todos os arquivos teste1.txt, teste2.txt, teste3.txt com excesso de teste4.new, teste5.new, podemos usar inicialmente 3 mtodos: 1. Usando o comando ls *.txt que pega todos os arquivos que comeam com qualquer nome e terminam com .txt. 2. Usando o comando ls teste?.txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter no lugar do coringa ? e terminem com .txt. Com o exemplo acima teste*.txt tambm faria a mesma coisa, mas se tambm tivssemos um arquivo chamado teste10.txt este tambm seria listado. 18

3. Usando o comando ls teste[1-3].txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter entre o nmero 1-3 no lugar da 6a letra e terminem com .txt. Neste caso se obtm uma filtragem mais exata, pois o coringa ? especifica qualquer caracter naquela posio e [] especifica nmeros, letras ou intervalo que ser usado. 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.

3. MIGRANDO DO DOS/WINDOWS PARA O LINUX


Este captulo explica as diferenas e particularidades do sistema GNU/Linux comparado ao DOS/Windows e uma lista de equivalncia entre comandos e programas DOS e GNU/Linux, que pode servir de comparao para que o usurio possa conhecer e utilizar os comandos/programas GNU/Linux que tem a mesma funo no ambiente DOS/Windows.

3.1 Quais as diferenas iniciais Quando entrar pela primeira vez no GNU/Linux (ou qualquer outro UNIX, a primeira coisa que ver ser a palavra login: escrita na tela. Voc deve ser uma pessoa cadastrada no sistema (ter uma conta) para que poder entrar. No login voc digita seu nome (por exemplo, rodrigo) e pressiona Enter. Agora ser lhe pedida a senha, repare que a senha no mostrada enquanto digitada, para algum que esteja observando no perceba quantas letras possui a senha. Caso cometa erros durante a digitao da senha, basta pressionar a tecla Back Space para apagar o ltimo caracter digitado e terminar a entrada da senha. Pressione Enter, se tudo ocorrer bem voc estar dentro do sistema e ser presenteado com o smbolo # (caso tenha entrado como usurio root) ou $ (caso tenha entrado como um usurio normal).

19

Existe um mecanismo de segurana que te alerta sobre eventuais tentativas de entrada no sistema por intrusos usando seu login, faa um teste: entre com seu login e digite a senha errada, na segunda vez entre com a senha correta no sistema. Na penltima linha das mensagens aparece uma mensagem "1 failure since last login", o que quer dizer "1 falha desde o ltimo login". Isto significa que algum tentou entrar 1 vez com seu nome e senha no sistema, sem sucesso.

A conta root no tem restries de acesso ao sistema e pode fazer tudo o que quiser, equivalente ao usurio normal do DOS e Windows. Use a conta root somente para manutenes no sistema e instalao de programas, qualquer movimento errado pode comprometer todo o sistema. No GNU/Linux os diretrio so identificados por uma barra simples (/) e no por uma barra invertida (\) como acontece no DOS. Para entrar no diretrio /bin, voc deve usar cd /bin. Os comandos so case-sensitive, o que significa que ele diferencia as letras maisculas de minsculas em arquivos e diretrios. O comando ls e LS so completamente diferentes. A multitarefa lhe permite usar vrios programas simultaneamente (no pense que multitarefa somente funciona em ambientes grficos, pois isto errado). Os dispositivos tambm so identificados de uma forma diferente que no DOS, por exemplo: DOS/Windows A: B: C: LPT1 LPT2 LPT3 COM1 COM2 COM3 COM4 Linux /dev/fd0 /dev/fd1 /dev/hda1 /dev/lp0 /dev/lp1 /dev/lp2 /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Os recursos multiusurio lhe permite acessar o sistema de qualquer lugar sem instalar nenhum driver, ou programa gigante, apenas atravs de conexes TCP/IP, como a Internet. Tambm possvel acessar o sistema localmente com vrios 20

usurios (cada um executando tarefas completamente independente dos outros) atravs dos Terminais Virtuais. Faa um teste: pressione ao mesmo tempo a tecla ALT e F2 e voc ser levado para o segundo Terminal Virtual, pressione novamente ALT e F1 para retornar ao anterior.

Para reiniciar o computador, voc pode pressionar CTRL+ALT+DEL (como usurio root), digitar shutdown -r now ou usar o comando reboot. Para desligar o computador, digite shutdown -h now ou halt e espere o aparecimento da mensagem Power Down para apertar o boto LIGA/DESLIGA do computador (No caso de fontes ATX o sistema desligar a fonte). 3.2 Comandos equivalentes entre DOS e Linux Esta seo contm os comandos equivalentes entre estes dois sistemas e a

avaliao entre ambos. Grande parte dos comandos podem ser usados da mesma forma que no DOS, mas os comandos Linux possuem avanos para utilizao neste ambiente multiusurio/multitarefa. O objetivo desta seo permitir as pessoas com experincia em DOS fazer rapidamente no GNU/Linux as tarefas que fazem no DOS. A primeira coluna tem o nome do comando no DOS, a segunda o comando que possui a mesma funo no GNU/Linux e na terceira coluna as diferenas.

DOS
cls dir

LINUX
clear ls -la

DIFERENAS
Sem diferenas. A listagem no Linux possui mais campos (as permisses de acesso) e o total de espao ocupado no diretrio e livre no disco deve ser visto separadamente usando o comando du e df. Permite tambm listar o contedo de diversos diretrios com um s comando (ls /bin /sbin /...)

dir/s dir/od cd

ls -lR ls -tr cd

Sem diferenas. Sem diferenas. Poucas diferenas. cd sem parmetros retorna ao diretrio de usurio e tambm permite o uso de "cd -" para retornar ao

21

DOS
del

LINUX
rm

DIFERENAS
diretrio anteriormente acessado. Poucas diferenas. O rm do Linux permite especificar diversos arquivos que sero apagados (rm arquivo1 arquivo2 arquivo3). Para ser mostrados os arquivos apagados, deve-se especificar o parmetro "-v" ao comando, e "-i" para pedir a confirmao ao apagar arquivos.

md

mkdir

Uma s diferena: No Linux permite que vrios diretrios sejam criados de uma s vez (mkdir /tmp/a /tmp/b...).

copy

cp

Poucas diferenas. Para ser mostrados os arquivos enquanto esto sendo copiados, deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j existente, deve-se usar a opo "-i".

echo path

echo path

Sem diferenas. No Linux deve ser usado ":" para separar os diretrios e usar o comando "export PATH=caminho1:/caminho2:/caminho3:" para definir a varivel de ambiente PATH. O path atual pode ser visualizado atravs do comando "echo $PATH".

ren

mv

Poucas diferenas. No Linux no possvel renomear vrios arquivos de uma s vez (como "ren *.txt *.bak"). necessrio usar um shell script para fazer isto.

type ver date time attrib

cat uname -a date date chmod

Sem diferenas. Poucas diferenas (o uname tem algumas opes a mais). No Linux mostra/modifica a Data e Hora do sistema. No Linux mostra/modifica a Data e Hora do sistema. O chmod possui mais opes por tratar as 22

DOS

LINUX

DIFERENAS
permisses de acesso de leitura, gravao e execuo para donos, grupos e outros usurios.

scandisk doskey edit

fsck.ext2 ----vi, vim, ae, emacs

O fsck mais rpido e extensivo na checagem. A edio de teclas feita automaticamente pelo bash. O edit mais fcil de usar, mas usurio experientes apreciaro os recursos do vi ou o emacs (programado em lisp).

fdisk

fdisk, cfdisk

Os particionadores do Linux trabalham com praticamente todos os tipos de parties de diversos sistemas de arquivos diferentes.

format

mkfs.ext2 mkfs.ext3 mkfs.reiserfs

Poucas diferenas, precisa apenas que seja especificado o dispositivo a ser formatado como "/dev/fd0" ou "/dev/hda10" (o tipo de identificao usada no Linux), ao invs de "A:" ou "C:"

help interlnk

man, info plip

Sem diferenas. O plip do Linux permite que sejam montadas redes reais a partir de uma conexo via Cabo Paralelo ou Serial. A mquina pode fazer tudo o que poderia fazer conectada em uma rede (na realidade uma rede e usa o TCP/IP como protocolo) inclusive navegar na Internet, enviar emails, irc, etc

keyb

loadkeys

Sem diferenas (somente que a posio das teclas do teclado pode ser editado. Desnecessrio para a maioria dos usurios)

label mem

e2label cat /proc/meminfo

necessrio especificar a partio que ter o nome modificado; Mostra detalhes sobre a quantidade de dados em buffers, cache e memria virtual (disco). 23

DOS
taskmgr more

LINUX
top more, less

DIFERENAS
Gerenciador de processos. O more equivalente a ambos os sistemas, mas o less permite que sejam usadas as setas para cima e para baixo, o que torna a leitura do texto muito mais agradvel.

move

mv

Poucas diferenas. Para ser mostrados os arquivos enquanto esto sendo movidos, deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j existente deve-se usar a opo "-i".

scan

-----

No existem vrus no Linux devido as restries do usurio durante execuo de programas.

backup

tar

O tar permite o uso de compactao (atravs do parmetro -z) e tem um melhor esquema de recuperao de arquivos corrompidos que j segue evoluindo h 30 anos em sistemas UNIX.

print

lpr

O lpr mais rpido e permite at mesmo impresses de grficos ou arquivos compactados diretamente caso seja usado o programa magicfilter. o programa de Spool de impressoras usados no sistema Linux/Unix.

vol xcopy

e2label cp -R

Sem diferenas. Pouca diferena, requer que seja usado a opo "-v" para mostrar os arquivos que esto sendo copiados e "-i" para pedir confirmao de substituio de arquivos.

3.3 Arquivos de configurao Os arquivos config.sys e autoexec.bat so equivalentes aos arquivos do diretrio /etc especialmente o /etc/inittab e arquivos dentro do diretrio /etc/init.d. 24

3.4 Usando a sintaxe de comandos DOS no Linux Voc pode usar os comandos do pacote mtools para simular os comandos usados pelo DOS no GNU/Linux, a diferena bsica que eles tero a letra m no inicio do nome. Os seguintes comandos so suportados: mattrib - Ajusta modifica atributos de arquivos mcat - Mostra os dados da unidade de disquete em formato RAW mcd - Entra em diretrios mcopy - Copia arquivos/diretrios mdel - Exclui arquivos mdeltree - Exclui arquivos, diretrios e sub-diretrios mdir - Lista arquivos e diretrios mdu - Mostra o espao ocupado pelo diretrio do DOS mformat - Formatador de discos minfo - Mostra detalhes sobre a unidade de disquetes mlabel - Cria um volume para unidades DOS mmd - Cria diretrios mmount - Monta discos DOS mmove - Move ou renomeia arquivos/subdiretrios mpartition - Particiona um disco para ser usado no DOS mrd - Remove um diretrio mren - Renomeia arquivos mtype - Visualiza o contedo de arquivos (equivalente ao cat) mtoolstest - Exibe a configurao atual do mtools mshowfat - Mostra a FAT da unidade mbadblocks - Procura por setores defeituosos na unidade mzip - Altera modo de proteo e ejeta discos em unidades Jaz/ZIP mkmanifest - Cria um shell script para restaurar nomes extensos usados no UNIX mcheck - Verifica arquivos na unidade

25

3.5 Programas equivalentes entre Windows/DOS e o Linux Esta seo contm programas equivalentes para quem est vindo do DOS e Windows e no sabe o que usar no GNU/Linux. Esta seo tambm tem por objetivo permitir ao usurio que ainda no usa GNU/Linux decidir se a passagem vale a pena vendo se o sistema tem os programas que precisa. DOS/Windows MS Word Linux Diferenas

Open Office Writer, O Open Office Writer possui todos os Corel Word Perfect recursos do Word alm de ter a interface grfica igual, menus e teclas de atalho idnticas ao Word, o que facilita a migrao. Tambm trabalha com arquivos no formato Word97/2000 e no vulnervel a vrus de macro. distribudo gratuitamente e no requer pagamento de licena podendo ser instalado em quantos computadores voc quiser (tanto domsticos como de empresas).

MS Excel MS PowerPoint MS Access

Open Office Calc

Mesmos pontos do acima e tambm abre arquivos Excel97/2000.

Open Office Impress Mesmos pontos do acima. Open Office SQL, Oracle, etc Existem diversas ferramentas de conceito para bancos de dados corporativos no Linux. Todos produtos compatveis com outras plataformas.

MS Outlook

Mozilla Thunderbird, Centenas de programas de E-Mail tanto em Pine, Mutt, sylpheed modo texto como em modo grfico. Instale, avalie e escolha.

MS Internet Explorer

Mozilla Firefox, Netscape, Arena, konqueror, Mozilla, lynx

Os cinco primeiros para modo grfico e o lynx opera em modo texto.

ICQ

LICQ, GAIM, SIM

Programas muito prticos e fceis de operar. Possibilitam a mudana completa da aparncia do programa atravs de 26

DOS/Windows

Linux

Diferenas Skins. A organizao dos menus destes programas outro ponto de destaque.

MSN

AMSN, GAIM

O AMSN permite conversar diretamente com usurios do Microsoft MSN. Ainda, o pacote Gaim multi-plataforma.

Photo Shop

The Gimp

Fcil de usar, possui muitos scripts que permitem a criao rpida e fcil de qualquer tipo de efeito profissional pelo usurio mais leigo. Acompanha centenas de efeitos especiais e um belo manual em html com muitas fotos (aproximadamente 20MB) que mostra o que possvel se fazer com ele.

Corel Photo Paint winamp

Corel Photo Paint xmms

Corel Photo-Paint para Linux Possui todos os recursos do programa para Windows alm de filtros que permite acrescentar efeitos digitais da msica (em tempo real), eco, etc.

Windows media player, bsplayer

mplayer,playmidi, xwave, kaffeine

Programas para execuo de arquivos de msica e vdeos multimdia. Existem outras alternativas, a escolha depende de seu gosto e da sofisticao do programa.

Agente de Sistema

cron

Pouca diferena. O cron da mais liberdade na programao de tarefas a serem executadas pelo Linux.

Mixer (Volume) Bate-Papo

aumix, cam, alsamixer talk, ytalk

Sem diferenas O talk e o ytalk permite a conversa de dois usurios no s atravs de uma rede local, mas de qualquer parte do planeta, pois usa o protocolo tcp/ip para comunicao. Muito til e fcil de usar

MIRC IIS, Pers, Web Server Apache

Bitchx, xchat

Clientes IRC para Linux mundo (em torno de 75% das empresas), 27

Web Server Apache O apache o servidor WEB mais usado no

DOS/Windows Exchange, NT Mail

Linux Sendmail, Postfix, Exim, Qmail, Xmail

Diferenas muito rpido e flexvel de se configurar. 72% da base de servidores de e-mails no mundo atualmente roda em software livre. Os mais recomendados so o Postfix e sendmail, devido a segurana, velocidade e integridade de mensagem.

Wingate, MS Proxy

Squid, Apache, ip masquerade, nat, diald, exim

A migrao de um servidor proxy para Linux requer o uso de vrios programas separados para que se tenha um resultado profissional. Isto pode parecer incomodo no comeo, mas voc logo perceber que a diviso de servios entre programas mais produtivo. Quando desejar substituir um deles, o funcionamento dos outros no sero afetados. O squid um servidor proxy Web (HTTP e HTTPS) completo e tambm apresenta um excelente servio FTP. Possui outros mdulos como dns, ping, restries de acesso, limites de tamanho de arquivos, cache, etc

MS Frontpage

Netscape Composer Todas so ferramentas para a gerao de e muitas outras ferramentas para Web (como zope, php3, php4, wdm, htdig) grandes Web Sites. O wdm usado na gerao do site da distribuio Debian diferentes.

gerao de contedo (http://www.debian.org) em 27 idiomas

MS Winsock

Sem equivalente

O Linux tem suporte nativo a tcp/ip desde o comeo de sua existncia e no precisa de nenhuma camada de comunicao entre ele e a Internet. A performance aproximadamente 10% maior em conexes Internet via fax-modem e outras redes tcp/ip.

28

DOS/Windows PC-Cillin, Nod32, AVG, Avast, etc

Linux F-prot, Bitdefender

Diferenas No existem vrus no Linux devido as restries ao usurio durante a execuo de programas. No entanto, existem antivrus para o servidor poder retirar vrus de arquivos que estejam em seu disco rgido, devido a servidores de e-mail, ftp, etc.

4. DISCOS E PARTIES
Este captulo traz explicaes de como manipular discos rgidos e parties no sistema GNU/Linux e como acessar seus discos de CD-ROM e parties DOS, Windows 95/98 no GNU/Linux. 4.1 Parties So divises existentes no disco rgido que marcam onde comea onde termina um sistema de arquivos. Por causa destas divises, ns podemos usar mais de um sistema operacional no mesmo computador (como o GNU/Linux e o Windows), ou dividir o disco rgido em uma ou mais partes para ser usado por um nico sistema operacional. 4.2 Formatando disquetes As subsees seguintes explicaro maneiras de formatar seus disquetes para serem usados no GNU/Linux e DOS/Windows. 4.2.1 Formatando disquetes para serem usados no Linux Para formatar disquetes para serem usados no GNU/Linux use o comando: mkfs.ext2 [-c] [/dev/fd0] Em alguns sistemas voc deve usar mke2fs no lugar de mkfs.ext2. A opo -c faz com que o mkfs.ext2 procure por blocos danificados no disquete e /dev/fd0 especifica a 29

primeira unidade de disquetes para ser formatada (equivalente a A: no DOS). Mude para /dev/fd1 para formatar um disquete da segunda unidade. OBS: Este comando cria um sistema de arquivos ext2 no disquete que nativo do GNU/Linux e permite usar caractersticas como permisses de acesso e outras. Isto tambm faz com que o disquete NO possa ser lido pelo DOS/Windows. Para formatar um disquete no GNU/Linux usando o FAT12 (compatvel com o DOS/Windows) veja prxima seo. Exemplo: mkfs.ext2 -c /dev/fd0 4.2.2 Formatando disquetes compatveis com o DOS/Windows A formatao de disquetes DOS no GNU/Linux feita usando o comando superformat que geralmente includo no pacote mtools. O superformat formata (cria um sistema de arquivos) um disquete para ser usado no DOS e tambm possui opes avanadas para a manipulao da unidade, formatao de intervalos de cilindros especficos, formatao de discos em alta capacidade e verificao do disquete. superformat [opes] [dispositivo] dispositivo Unidade de disquete que ser formatada. Normalmente /dev/fd0 ou /dev/fd1 especificando respectivamente a primeira e segunda unidade de disquetes. opes -v [num] Especifica o nvel de detalhes que sero exibidos durante a formatao do disquete. O nvel 1 especifica um ponto mostrado na tela para cada trilha formatada. Veja a pgina de manual do superformat para detalhes. -superverify Verifica primeiro se a trilha pode ser lida antes de formata-la. Este o padro. --dosverify, -B Verifica o disquete usando o utilitrio mbadblocks. Usando esta opo, as trilhas defeituosas encontradas sero automaticamente marcadas para no serem utilizadas.

30

--verify_later, -V Verifica todo o disquete no final da formatao. --noverify, -f No faz verificao de leitura. Na primeira vez que o superformat executado, ele verifica a velocidade de rotao da unidade e a comunicao com a placa controladora, pois os discos de alta densidade so sensveis a rotao da unidade. Aps o teste inicial ele recomendar adicionar uma linha no arquivo /etc/driveprm como forma de evitar que este teste seja sempre executado. OBS: Esta linha calculada de acordo com a rotao de usa unidade de disquetes, transferncia de dados e comunicao com a placa controladora de disquete. Desta forma ela varia de computador para computador Note que no necessrio montar a unidade de disquetes para formata-la. Exemplo de como formatar seus disquetes com o superformat:

superformat /dev/fd0 - Formata o disquete na primeira unidade de disquetes. superformat -v 1 /dev/fd0 - Faz a formatao da primeira unidade de disquetes (/dev/fd0) e especifica o nvel de detalhes para 1, exibindo um ponto aps cada trilha formatada. 4.2.3 Programas de Formatao Grficos Alm de programas de formatao em modo texto, existem outros para ambiente

grfico (X11) que permitem fazer a mesma tarefa. Entre os diversos programas existentes, podemos destacar o gfloppy (aplicativo do pacote gnome-utils) que alm de permitir selecionar se o disquete ser formatado para o GNU/Linux (ext2) ou DOS (FAT12), permite selecionar a capacidade da unidade de disquetes e formatao rpida do disco. 4.3 Pontos de Montagem O GNU/Linux acessa as parties existente em seus discos rgidos e disquetes atravs de diretrios. Os diretrios que so usados para acessar (montar) parties so chamados de Pontos de Montagem. No DOS cada letra de unidade (C:, D:, E:) identifica uma partio de disco, no GNU/Linux os pontos de montagem fazem parte da estrutura do sistema de arquivos raiz.

31

4.4 Identificao de discos e parties em sistemas Linux No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identificados por um arquivo referente a este dispositivo no diretrio /dev. A identificao de discos rgidos no GNU/Linux feita da seguinte forma: /dev/hda1 Nmero que identifica o nmero da partio no disco rgido. Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xt=XT). Diretrio onde so armazenados os dispositivos existentes no sistema. Abaixo algumas identificaes de discos e parties em sistemas Linux:

/dev/fd0 - Primeira unidade de disquetes. /dev/fd1 - Segunda unidade de disquetes. /dev/hda - Primeiro disco rgido na primeira controladora IDE do micro (primary master). /dev/hda1 - Primeira partio do primeiro disco rgido IDE. /dev/hdb - Segundo disco rgido na primeira controladora IDE do micro (primary slave). /dev/hdb1 - Primeira partio do segundo disco rgido IDE. /dev/sda Primeira controlador de porta USB do sistema. /dev/sda1 Primeiro dispositivo USB conectado a porta USB. /dev/sr0 - Primeiro CD-ROM SCSI. /dev/sr1 - Segundo CD-ROM SCSI. As letras de identificao de discos rgidos podem ir alm de hdb. Por exemplo,

uma unidade de CD-ROM poderia estar localizada em /dev/hdg (Primeiro disco - quarta controladora IDE). importante entender como os discos e parties so identificados no sistema, pois ser necessrio usar os parmetros corretos para monta-los.

32

4.5 Montando (acessando) uma partio de disco Voc pode acessar uma partio de disco usando o comando mount. mount [dispositivo] [ponto de montagem] [opes] Onde: dispositivo Identificao da unidade de disco/partio que deseja acessar (como /dev/hda1 (disco rgido) ou /dev/fd0 (primeira unidade de disquetes). ponto de montagem Diretrio de onde a unidade de disco/partio ser acessado. O diretrio deve estar vazio para montagem de um sistema de arquivo. Normalmente usado o diretrio /mnt para armazenamento de pontos de montagem temporrios. -t [tipo] Tipo do sistema de arquivos usado pelo dispositivo. So aceitos os sistemas de arquivos:

ext2 - Para parties GNU/Linux usando o Extended File System verso 2 (a mais comum). ext3 - Para parties GNU/Linux usando o Extended File System verso 3, com suporte a journaling. reiserfs - Para parties reiserfs, com suporte a journaling. vfat - Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios. msdos - Para parties DOS normais. iso9660 - Para montar unidades de CD-ROM. o padro. umsdos - Para montar uma partio DOS com recursos de parties EXT2, como permisses de acesso, links, etc. ntfs - Para parties NT File System.

Para mais detalhes sobre opes usadas com cada sistema de arquivos, veja a pgina de manual mount. -r Caso for especificada, monta a partio somente para leitura. 33

-w Caso for especificada, monta a partio como leitura/gravao. o padro. Existem muitas outras opes que podem ser usadas com o comando mount, para mais opes, veja a pgina de manual do mount. Caso voc digitar mount sem parmetros, sero mostrados os sistemas de arquivos atualmente montados no sistema. Esta mesma listagem pode ser vista em /etc/mtab. A remontagem de partio tambm muito til, especialmente aps reparos nos sistema de arquivos do disco rgido. Veja alguns exemplos de remontagem abaixo. necessrio permisses de root para montar parties, a no ser que tenha especificado a opo user no arquivo /etc/fstab Exemplo de Montagem:

Montar uma partio Windows (vfat) de /dev/hda1 em /mnt somente para leitura: mount /dev/hda1 /mnt -r -t vfat Montar a primeira unidade de disquetes /dev/fd0 em /floppy: mount /dev/fd0 /floppy -t vfat Montar uma partio DOS localizada em um segundo disco rgido /dev/hdb1 em /mnt: mount /dev/hdb1 /mnt -t msdos. Remontar a partio raz como somente leitura: mount -o remount,rw / Remontar a partio raz como leitura/gravao (a opo -n usada porque o mount no conseguir atualizar o arquivo /etc/mtab devido ao sistema de arquivos / estar montado como somente leitura atualmente: mount -n -o remount,rw /. 4.5.1 fstab O arquivo /etc/fstab permite que as parties do sistema sejam montadas

facilmente especificando somente o dispositivo ou o ponto de montagem. Este arquivo contm parmetros sobre as parties que so lidos pelo comando mount. Cada linha deste arquivo contm a partio que desejamos montar, o ponto de montagem, o sistema de arquivos usado pela partio e outras opes. fstab tem a seguinte forma: Sistema de arquivos /dev/hda1 /dev/hda2 Ponto de Montagem / /boot ext2 ext2 defaults defaults 0 0 1 2 34 Tipo Opes dump ordem

Sistema de arquivos /dev/hda3 /dev/hdg Onde:

Ponto de Montagem /dos /cdrom

Tipo msdos iso9660

Opes defaults,noauto,rw defaults,noauto

dump 0 0

ordem 0 0

Sistema de Arquivos Partio que deseja montar. Ponto de montagem Diretrio do GNU/Linux onde a partio montada ser acessada. Tipo Tipo de sistema de arquivos usado na partio que ser montada. Para parties GNU/Linux use ext2, para parties DOS (sem nomes extensos de arquivos) use msdos, para parties Win 95 (com suporte a nomes extensos de arquivos) use vfat, para unidades de CD-ROM use iso9660. Opes Especifica as opes usadas com o sistema de arquivos. Abaixo, algumas opes de montagem para ext2/3 (a lista completa pode ser encontrada na pgina de manual do mount):

defaults - Utiliza valores padres de montagem. noauto - No monta os sistemas de arquivos durante a inicializao (til para CD-ROMS e disquetes). ro - Monta como somente leitura. user - Permite que usurios montem o sistema de arquivos (no recomendado por motivos de segurana). sync recomendado para uso com discos removveis (disquetes, zip drives, etc) para que os dados sejam gravados imediatamente na unidade (caso no seja usada, voc deve usar o comando sync antes de retirar o disquete da unidade.

35

dump Especifica a freqncia de backup feita com o programa dump no sistema de arquivos. 0 desativa o backup. Ordem Define a ordem que os sistemas de arquivos sero verificados na inicializao do sistema. Se usar 0, o sistema de arquivos no verificado. O sistema de arquivos raz que dever ser verificado primeiro o raz "/" . Aps configurar o /etc/fstab, basta digitar o comando mount /dev/hdg ou mount /cdrom para que a unidade de CD-ROM seja montada. Voc deve ter notado que no necessrio especificar o sistema de arquivos da partio pois o mount verificar se ele j existe no /etc/fstab e caso existir, usar as opes especificadas neste arquivo. Para maiores detalhes veja as pginas de manual fstab e mount. 4.6 Desmontando uma partio de disco Para desmontar um sistema de arquivos montado com o comando mount, use o comando umount. Voc deve ter permisses de root para desmontar uma partio. umount [dispositivo/ponto de montagem]

Voc pode tanto usar umount /dev/hda1 como umount /mnt para desmontar um sistema de arquivos /dev/hda1 montado em /mnt. Observao: O comando umount executa o sync automaticamente no momento da desmontagem para garantir que todos os dados ainda no gravados sero salvos.

5. EXECUO DE PROGRAMAS
Este captulo explica como executar programas no GNU/Linux e o uso das ferramentas de controle de execuo dos programas.

36

5.1 Executando um comando/programa Para executar um comando, necessrio que ele tenha permisses de execuo e que esteja no caminho de procura de arquivos. No aviso de comando #(root) ou $(usurio), digite o nome do comando e tecle Enter. O programa/comando executado e receber um nmero de identificao (chamado de PID - Process Identification), este nmero til para identificar o processo no sistema e assim ter um controle sobre sua execuo (ser visto mais adiante neste captulo). Todo o programa executado no GNU/Linux roda sob o controle das permisses de acesso. Exemplos de comandos: ls, df, pwd 5.2 path Path o caminho de procura dos arquivos/comandos executveis. O path (caminho) armazenado na varivel de ambiente PATH. Voc pode ver o contedo desta varivel com o comando echo $PATH. Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 significa que se voc digitar o comando ls, o interpretador de comandos iniciar a procura do programa ls no diretrio /usr/local/bin, caso no encontre o arquivo no diretrio /usr/local/bin ele inicia a procura em /usr/bin, at que encontre o arquivo procurado. Caso o interpretador de comandos chegue at o ltimo diretrio do path e no encontre o arquivo/comando digitado, mostrada a seguinte mensagem: bash: ls: command not found (comando no encontrado). O caminho de diretrios vem configurado na instalao do Linux, mas pode ser alterado no arquivo /etc/profile. Caso deseje alterar o caminho para todos os usurios, este arquivo o melhor lugar, pois ele lido por todos os usurios no momento do login. Caso um arquivo/comando no esteja localizado em nenhum dos diretrios do path, voc deve executa-lo usando um ./ na frente do comando. Se deseja alterar o path para um nico usurio, modifique o arquivo .bash_profile em seu diretrio de usurio (home).

37

5.3 Tipos de Execuo de comandos/programas Um programa pode ser executado de duas formas: 1. Primeiro Plano - Tambm chamado de foreground. Quando voc deve esperar o trmino da execuo de um programa para executar um novo comando. Somente mostrado o aviso de comando aps o trmino de execuo do comando/programa. 2. Segundo Plano - Tambm chamado de background. Quando voc no precisa esperar o trmino da execuo de um programa para executar um novo comando. Aps iniciar um programa em background, mostrado um nmero PID (identificao do Processo) e o aviso de comando novamente mostrado, permitindo o uso normal do sistema. O programa executado em background continua sendo executado internamente. Aps ser concludo, o sistema retorna uma mensagem de pronto acompanhado do nmero PID do processo que terminou. Para iniciar um programa em primeiro plano, basta digitar seu nome normalmente. Para iniciar um programa em segundo plano, acrescente o caracter "&" aps o final do comando. OBS: Mesmo que um usurio execute um programa em segundo plano e saia do sistema, o programa continuar sendo executado at que seja concludo ou finalizado pelo usurio que iniciou a execuo (ou pelo usurio root). Exemplo: find / -name boot.b & O comando ser executado em segundo plano e deixar o sistema livre para outras tarefas. Aps o comando find terminar, ser mostrada uma mensagem. 5.4 Executando programas em seqncia Os comandos podem ser executados em seqncia (um aps o trmino do outro) se os separarmos com ";". Por exemplo: echo primeiro;echo segundo;echo terceiro.

38

5.5 ps Algumas vezes til ver quais processos esto sendo executados no computador. O comando ps faz isto, e tambm nos mostra qual usurio executou o programa, hora que o processo foi iniciado, etc. ps [opes] Onde: opes a Mostra os processos criados por voc e de outros usurios do sistema. x Mostra processos que no so controlados pelo terminal. u Mostra o nome de usurio que iniciou o processo e hora em que o processo foi iniciado. m Mostra a memria ocupada por cada processo em execuo. f Mostra a rvore de execuo de comandos (comandos que so chamados por outros comandos). e Mostra variveis de ambiente no momento da inicializao do processo. w Mostra a continuao da linha atual na prxima linha ao invs de cortar o restante que no couber na tela. As opes acima podem ser combinadas para resultar em uma listagem mais completa. Ao contrrio de outros comandos, o comando ps no precisa do hfen "-" para especificar os comandos. Isto porque ele no utiliza opes longas e no usa parmetros. Exemplos: ps, ps ax|grep inetd, ps auxf, ps aux.

39

5.6 top Mostra os programas em execuo ativos, parados, tempo usado na CPU, detalhes sobre o uso da memria RAM, Swap, disponibilidade para execuo de programas no sistema, etc. top um programa que continua em execuo mostrando continuamente os processos que esto rodando em seu computador e os recursos utilizados por eles. Para sair do top, pressione a tecla q. top [opes] Onde: -d [tempo] Atualiza a tela aps o [tempo] (em segundos). -s Diz ao top para ser executado em modo seguro. -i Inicia o top ignorando o tempo de processos zumbis. -c Mostra a linha de comando ao invs do nome do programa. A ajuda sobre o top pode ser obtida dentro do programa pressionando a tecla h ou pela pgina de manual (man top). Abaixo algumas teclas teis:

espao - Atualiza imediatamente a tela. CTRL+L - Apaga e atualiza a tela. h - Mostra a tela de ajuda do programa. mostrado todas as teclas que podem ser usadas com o top. i - Ignora o tempo ocioso de processos zumbis. q - Sai do programa. k - Finaliza um processo - semelhante ao comando kill. Voc ser perguntado pelo nmero de identificao do processo (PID). Este comando no estar disponvel caso esteja usando o top com a opo -s. n - Muda o nmero de linhas mostradas na tela. Se 0 for especificado, ser usada toda a tela para listagem de processos. 40

5.7 Controle de execuo de processos Abaixo algumas comandos e mtodos teis para o controle da execuo de processos no GNU/Linux. 5.7.1 Interrompendo a execuo de um processo Para cancelar a execuo de algum processo rodando em primeiro plano, basta pressionar as teclas CTRL+C. A execuo do programa ser cancelada e ser mostrado o aviso de comando. Voc tambm pode usar o comando kill para interromper um processo sendo executado. 5.7.2 Parando momentaneamente a execuo de um processo Para parar a execuo de um processo rodando em primeiro plano, basta pressionar as teclas CTRL+Z. O programa em execuo ser pausado e ser mostrado o nmero de seu job e o aviso de comando. Para retornar a execuo de um comando pausado, use fg ou bg. O programa permanece na memria no ponto de processamento em que parou quando ele interrompido. Voc pode usar outros comandos ou rodar outros programas enquanto o programa atual est interrompido. 5.7.3 jobs O comando jobs mostra os processos que esto parados ou rodando em segundo plano. Processos em segundo plano so iniciados usando o smbolo "&" no final da linha de comando. jobs O nmero de identificao de cada processo parado ou em segundo plano (job), usado com os comandos fg e bg. Um processo interrompido pode ser finalizado usandose o comando kill %[num], onde [num] o nmero do processo obtido pelo comando jobs.

41

5.7.4 fg Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Voc deve usar o comando jobs para pegar o nmero do processo rodando em segundo plano ou interrompida, este nmero ser passado ao comando fg para ativa-lo em primeiro plano. fg [nmero] Onde nmero o nmero obtido atravs do comando jobs. Caso seja usado sem parmetros, o fg utilizar o ltimo programa interrompido (o maior nmero obtido com o comando jobs). Exemplo: fg 1. 5.7.5 bg Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Para fazer um programa em primeiro plano rodar em segundo, necessrio primeiro interromper a execuo do comando com CTRL+ Z, ser mostrado o nmero da tarefa interrompida, use este nmero com o comando bg para iniciar a execuo do comando em segundo plano. bg [nmero] Onde: nmero = nmero do programa obtido pressionando-se as teclas CTRL+Z ou atravs do comando jobs. 5.7.6 kill Permite enviar um sinal a um comando/programa. Caso seja usado sem parmetros, o kill enviar um sinal de trmino ao processo sendo executado. kill [opes] [sinal] [nmero]

42

Onde: nmero o nmero de identificao do processo obtido com o comando ps. Tambm pode ser o nmero aps o sinal de % obtido pelo comando jobs para matar uma tarefa interrompida. sinal Sinal que ser enviado ao processo. Se omitido usa -15 como padro. opes -9 Envia um sinal de destruio ao processo ou programa. Ele terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporrios criados por ele. Voc precisa ser o dono do processo ou o usurio root para termina-lo ou destrulo. Voc pode verificar se o processo foi finalizado atravs do comando ps. Exemplo: kill 500, kill -9 500, kill %1. 5.7.7 killall Permite finalizar processos atravs do nome. killall [opes] [sinal] [processo] Onde: processo Nome do processo que deseja finalizar sinal Sinal que ser enviado ao processo (pode ser obtido usando a opo -i). opes -i Pede confirmao sobre a finalizao do processo.

43

-l Lista o nome de todos os sinais conhecidos. -q Ignora a existncia do processo. -v Retorna se o sinal foi enviado com sucesso ao processo. -w Finaliza a execuo do killall somente aps finalizar todos os processos. Exemplo: killall -HUP inetd 5.7.8 killall5 Envia um sinal de finalizao para todos os processos sendo executados. killall5 [sinal] 5.7.9 Sinais do Sistema Retirado da pgina de manual signal. O GNU/Linux suporta os sinais listados abaixo. Alguns nmeros de sinais so dependentes de arquitetura. Primeiro, os sinais descritos no POSIX 1:
Sinal HUP INT QUIT ILL ABRT FPE KILL SEGV PIPE ALRM TERM USR1 Valor 1 2 3 4 6 8 9 11 13 14 15 30,10,16 Ao A A C C C C AEF C A A A A Comentrio Travamento detectado no terminal de controle ou finalizao do processo controlado Interrupo atravs do teclado Sair atravs do teclado Instruo Ilegal Sinal de abortar enviado pela funo abort Exceo de ponto Flutuante Sinal de destruio do processo Referncia Invlida de memria Pipe Quebrado: escreveu para o pipe sem leitores Sinal do Temporizador da chamada do sistema alarm Sinal de Trmino Sinal definido pelo usurio 1

---------------------------------------------------------------------------

44

USR2 CHLD CONT STOP TSTP TTIN TTOU

31,12,17 20,17,18 19,18,25 17,19,23 18,20,24 21,21,26 22,22,27

A B DEF D D D

Sinal definido pelo usurio 2 Processo filho parado ou terminado Continuar a execuo, se interrompido Interromper processo Interromper digitao no terminal Entrada do terminal para o processo em segundo plano Sada do terminal para o processo em segundo plano

As letras da coluna Ao tem o seguinte significado:


A - A ao padro terminar o processo. B - A ao padro ignorar o sinal. C - A ao padro terminar o processo e mostrar o core. D - A ao padro parar o processo. E - O sinal no pode ser pego. F - O sinal no pode ser ignorado. 5.8 Fechando um programa quando no se sabe como sair Muitas vezes quando se esta iniciando no GNU/Linux voc pode executar um

programa e talvez no saber como fecha-lo. Isto pode tambm ocorrer com programadores que esto construindo seus programas e por algum motivo no implementam uma opo de sada. Em nosso exemplo vou supor que executamos um programa em desenvolvimento com o nome contagem que conta o tempo em segundos a partir do momento que executado, mas que o programador esqueceu de colocar uma opo de sada. Siga estas dicas para finaliza-lo: 1. Normalmente todos os programas UNIX (o GNU/Linux tambm um Sistema Operacional baseado no UNIX) podem ser interrompidos pressionando-se as teclas <CTRL> e <C>. Tente isto primeiro para finalizar um programa. Isto provavelmente no vai funcionar se estiver usando um Editor de Texto (ele vai entender como um comando de menu). Isto normalmente funciona para comandos que so executados e terminados sem a interveno do usurio. Caso isto no der certo, vamos partir para a fora. 2. Mude para um novo console (pressionando <ALT> e <F2>), e faa o login como usurio root. 45

3. Localize o PID (nmero de identificao do processo) usando o comando: ps ax, aparecero vrias linhas cada uma com o nmero do processo na primeira coluna, e a linha de comando do programa na ltima coluna. Caso aparecerem vrios processos voc pode usar ps ax|grep contagem, neste caso o grep far uma filtragem da sada do comando ps ax mostrando somente as linhas que tem a palavra "contagem". 4. Feche o processo usando o comando kill PID, lembre-se de substituir PID pelo nmero encontrado pelo comando ps ax acima. O comando acima envia um sinal de trmino de execuo para o processo (neste caso o programa contagem). O sinal de trmino mantm a chance do programa salvar seus dados ou apagar os arquivos temporrios que criou e ento ser finalizado, isto depende do programa. 5. Alterne para o console onde estava executando o programa contagem e verifique se ele ainda est em execuo. Se ele estiver parado mas o aviso de comando no est disponvel, pressione a tecla <ENTER>. Freqentemente acontece isto com o comando kill, voc finaliza um programa mas o aviso de comando no mostrado at que se pressione <ENTER>. 6. Caso o programa ainda no foi finalizado, repita o comando kill usando a opo -9: kill -9 PID. Este comando envia um sinal de DESTRUIO do processo, fazendo ele terminar em qualquer circunstncia. Uma ltima dica: todos os programas estveis (todos que acompanham as boas distribuies GNU/Linux) tem sua opo de sada. Lembre-se que quando finaliza um processo todos os dados do programa em execuo podem ser perdidos (principalmente se estiver em um editor de textos), mesmo usando o kill sem o parmetro -9. Procure a opo de sada de um programa consultando o help on line, as pginas de manual, a documentao que acompanha o programa, info pages. 5.9 Eliminando caracteres estranhos As vezes quando um programa mal comportado finalizado ou quando voc visualiza um arquivo binrio atravs do comando cat, possvel que o aviso de comando (prompt) volte com caracteres estranhos. Para fazer tudo voltar ao normal, basta digitar reset e teclar ENTER. No se preocupe, o comando reset no reiniciar seu computador (como o boto reset do seu

46

computador faz), ele apenas far tudo voltar ao normal. Note que enquanto voc digitar reset aparecero caracteres estranhos ao invs das letras. No se preocupe! Basta digitar corretamente e teclar ENTER e o aviso de comando voltar ao normal.

6. COMANDOS PARA MANIPULAO DE DIRETRIO


Abaixo comandos teis para a manipulao de diretrios. 6.1 ls Lista os arquivos de um diretrio. ls [opes] [caminho/arquivo] [caminho1/arquivo1] ... onde: caminho/arquivo Diretrio/arquivo que ser listado. caminho1/arquivo1 Outro Diretrio/arquivo que ser listado. Podem ser feitas vrias listagens de uma s vez. opes -a, --all Lista todos os arquivos (inclusive os ocultos) de um diretrio. -B, --ignore-backups No lista arquivos que terminam com ~ (Backup). --color=? Mostra os arquivos em cores diferentes, conforme o tipo de arquivo. O ? pode ser:

never - Nunca lista em cores (mesma coisa de no usar o parmetro --color). always - Sempre lista em cores conforme o tipo de arquivo. auto - Somente colore a listagem se estiver em um terminal.

-d, --directory Lista os nomes dos diretrios ao invs do contedo. 47

-f No classifica a listagem. -F Insere um caracter aps arquivos executveis ('*'), diretrios ('/'), soquete ('=') e link simblico ('@'). Seu uso til para identificar de forma fcil tipos de arquivos nas listagens de diretrios. -G, --no-group Oculta a coluna de grupo do arquivo. -h, --human-readable Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes. -H Faz o mesmo que -h, mas usa unidades de 1000 ao invs de 1024 para especificar Kbytes, Mbytes, Gbytes. -l Usa o formato longo para listagem de arquivos. Lista as permisses, data de modificao, donos, grupos, etc. -n Usa a identificao de usurio e grupo numrica ao invs dos nomes. -o Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG). -p Mesma coisa que -F, mas no inclui o smbolo '*' em arquivos executveis. Esta opo tpica de sistemas Linux. -R Lista diretrios e sub-diretrios recursivamente. Uma listagem feita com o comando ls -l normalmente mostrada da seguinte maneira:

48

Abaixo as explicaes de cada parte (escolhendo o arquivo wine.txt): -rwxr-xr-- 1 gleydson user -rw-r--r-So as permisses de acesso ao arquivo wine.txt. A primeira letra (da esquerda) identifica o tipo do arquivo, se tiver um d um diretrio, se tiver um "-" um arquivo normal. 1 Se for um diretrio, mostra a quantidade de sub-diretrios existentes dentro dele. Caso for um arquivo, ser 1 (no diretrio install, por exemplo, podemos ver que existem 13 sub-diretrios em seu interior). gustavo Nome do dono do arquivo wine.txt gustavo Nome do grupo que o arquivo wine.txt pertence. 151 Tamanho do arquivo (em bytes). 2005-10-29 Dia da criao/ ltima modificao do arquivo. 49 8192 nov 4 16:00 teste

06:54 Hora em que o arquivo foi criado/modificado. Se o arquivo foi criado h mais de um ano, em seu lugar mostrado o ano da criao do arquivo. wine.txt Nome do arquivo. Exemplos do uso do comando ls:

ls - Lista os arquivos do diretrio atual. ls /bin /sbin - Lista os arquivos do diretrio /bin e /sbin ls -la /bin - Listagem completa (vertical) dos arquivos do diretrio /bin inclusive os ocultos. 6.2 cd Entra em um diretrio. Voc precisa ter a permisso de execuo para entrar no

diretrio. cd [diretrio] onde: diretrio - diretrio que deseja entrar. Exemplos:

Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio de usurio (diretrio home). cd /, retornar ao diretrio raz. cd -, retornar ao diretrio anteriormente acessado. cd .., sobe um diretrio. cd ../[diretrio], sobe um diretrio e entra imediatamente no prximo (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin).

50

6.3 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). 6.4 mkdir Cria um diretrio no sistema. Um diretrio usado para armazenar arquivos de um determinado tipo. O diretrio pode ser entendido como uma pasta onde voc guarda seus papis (arquivos). Como uma pessoa organizada, voc utilizar uma pasta para guardar cada tipo de documento, da mesma forma voc pode criar um diretrio vendas para guardar seus arquivos relacionados com vendas naquele local. mkdir [opes] [caminho/diretrio] [caminho1/diretrio1] onde: caminho Caminho onde o diretrio ser criado. diretrio Nome do diretrio que ser criado.

opes --verbose Mostra uma mensagem para cada diretrio criado. As mensagens de erro sero mostradas mesmo que esta opo no seja usada. Para criar um novo diretrio, voc deve ter permisso de gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste que ser usado para gravar arquivos de teste, voc deve usar o comando "mkdir /tmp/teste". Podem ser criados mais de um diretrio com um nico comando (mkdir /tmp/teste /tmp/teste1 /tmp/teste2).

51

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

7. COMANDOS PARA MANIPULAO DE ARQUIVOS


Abaixo se encontram os comandos mais utilizados para manipulao de arquivos. 7.1 cat Mostra o contedo de um arquivo binrio ou texto. cat [opes] [diretrio/arquivo] [diretrio1/arquivo1] diretrio/arquivo Localizao do arquivo que deseja visualizar o contedo.

52

opes -n, --number Mostra o nmero das linhas enquanto o contedo do arquivo mostrado. -s, --squeeze-blank No mostra mais que uma linha em branco entre um pargrafo e outro. O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente arquivos compactados com gzip. Exemplo: cat /usr/doc/copyright/GPL 7.2 tac Mostra o contedo de um arquivo binrio ou texto (como o cat) s que em ordem inversa. tac [opes] [diretrio/arquivo] [diretrio1/arquivo1] diretrio/arquivo Localizao do arquivo que deseja visualizar o contedo opes : -s [string] Usa o [string] como separador de registros. Exemplo: tac /usr/doc/copyright/GPL. 7.3 rm Apaga arquivos. Tambm pode ser usado para apagar diretrios e sub-diretrios vazios ou que contenham arquivos. rm [opes][caminho][arquivo/diretrio] [caminho1][arquivo1/diretrio1]

53

onde: caminho Localizao do arquivo que deseja apagar. Se omitido, assume que o arquivo esteja no diretrio atual. arquivo/diretrio Arquivo que ser apagado. opes -i, --interactive Pergunta antes de remover, esta ativada por padro. -v, --verbose Mostra os arquivos na medida que so removidos. -r, --recursive Usado para remover arquivos em sub-diretrios. Esta opo tambm pode ser usada para remover sub-diretrios. -f, --force Remove os arquivos sem perguntar. 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.

54

7.4 cp Copia arquivos. cp [opes] [origem] [destino] onde: origem Arquivo que ser copiado. Podem ser especificados mais de um arquivo para ser copiado usando "Curingas". 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. -f, --force No pergunta, substitui todos os arquivos caso j exista. -p, --preserve Preserva os atributos do arquivo, como dono do arquivo, permisses, entre outros. -r Copia arquivos dos diretrios e subdiretrios da origem para o destino. recomendvel usar -R ao invs de -r. -R, --recursive Copia arquivos e sub-diretrios (como a opo -r) e tambm os arquivos especiais FIFO e dispositivos. -v, --verbose Mostra os arquivos enquanto esto sendo copiados. O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos origem e destino tero o mesmo contedo aps a cpia.

55

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. 7.5 mv Move ou renomeia arquivos e diretrios. O processo semelhante ao do comando cp mas o arquivo de origem apagado aps o trmino da cpia. mv [opes] [origem] [destino] Onde: origem Arquivo/diretrio de origem. destino Local onde ser movido ou novo nome do arquivo/diretrio.

56

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. 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.

8. COMANDOS DIVERSOS
Comandos de uso diversos no sistema. 8.1 clear Limpa a tela e posiciona o cursor no canto superior esquerdo do vdeo. clear

57

8.2 date Permite ver/modificar a Data e Hora do Sistema. Voc precisa estar como usurio root para modificar a data e hora. date MesDiaHoraMinuto[AnoSegundos] Onde: MesDiaHoraMinuto[AnoSegundos] So respectivamente os nmeros do ms, dia, hora e minutos sem espaos. Opcionalmente voc pode especificar o Ano (com 2 ou 4 dgitos) e os Segundos. +[FORMATO] Define o formato da listagem que ser usada pelo comando date. Os seguintes formatos so os mais usados:

%d - Dia do Ms (00-31). %m - Ms do Ano (00-12). %y - Ano (dois dgitos). %Y - Ano (quatro dgitos). %H - Hora (00-24). %I - Hora (00-12). %M - Minuto (00-59). %j - Dia do ano (1-366). %p - AM/PM (til se utilizado com %d). %r - Formato de 12 horas completo (hh:mm:ss AM/PM). %T - Formato de 24 horas completo (hh:mm:ss). %w - Dia da semana (0-6).

Outros formatos podem ser obtidos atravs da pgina de manual do date. Para maiores detalhes, veja a pgina de manual do comando date. Para ver a data atual digite: date Se quiser mudar a Data para 25/12 e a hora para 08:15 digite: date 12250815 Para mostrar somente a data no formato dia/ms/ano: date +%d/%m/%Y

58

8.3 df Mostra o espao livre/ocupado de cada partio. df [opes] onde: opes -a Inclui sistemas de arquivos com 0 blocos. -h, --human-readable Mostra o espao livre/ocupado em MB, KB, GB ao invs de blocos. -H Idntico a -h mas usa 1000 ao invs de 1024 como unidade de clculo. -k Lista em Kbytes. -m Lista em Mbytes (equivalente a block-size=1048576). Exemplos: df, df -h 8.4 ln Cria links para arquivos e diretrios no sistema. O link um mecanismo que faz referncia a outro arquivo ou diretrio em outra localizao. O link em sistemas GNU/Linux faz referncia reais ao arquivo/diretrio podendo ser feita cpia do link (ser copiado o arquivo alvo), entrar no diretrio (caso o link faa referncia a um diretrio), etc. ln [opes] [origem] [link] Onde: origem Diretrio ou arquivo de onde ser feito o link. link Nome do link que ser criado.

59

opes -s Cria um link simblico. Usado para criar ligaes com o arquivo/diretrio de destino. -v Mostra o nome de cada arquivo antes de fazer o link. -d Cria um hard link para diretrios. Somente o root pode usar esta opo. Existem 2 tipos de links: simblicos e hardlinks.

O link simblico cria um arquivo especial no disco (do tipo link) que tem como contedo o caminho para chegar at o arquivo alvo (isto pode ser verificado pelo tamanho do arquivo do link). Use a opo -s para criar links simblicos. O hardlink faz referncia ao mesmo inodo do arquivo original, desta forma ele ser perfeitamente idntico, inclusive nas permisses de acesso, ao arquivo original. Ao contrrio dos links simblicos, no possvel fazer um hardlink para um diretrio ou fazer referncia a arquivos que estejam em parties diferentes. Observaes:

Se for usado o comando rm com um link, somente o link ser removido. Se for usado o comando cp com um link, o arquivo original ser copiado ao invs do link. Se for usado o comando mv com um link, a modificao ser feita no link. Se for usado um comando de visualizao (como o cat), o arquivo original ser visualizado. Exemplos:

ln -s /dev/ttyS1 /dev/modem - Cria o link /dev/modem para o arquivo /dev/ttyS1. ln -s /tmp ~/tmp - Cria um link ~/tmp para o diretrio /tmp. 8.5 du Mostra o espao ocupado por arquivos e sub-diretrios do diretrio atual. du [opes]

60

onde: opes -a, --all Mostra o espao ocupado por todos os arquivos. -b, --bytes Mostra o espao ocupado em bytes. -c, --total Faz uma totalizao de todo espao listado. -D No conta links simblicos. -h, --human Mostra o espao ocupado em formato legvel por humanos (Kb, Mb) ao invs de usar blocos. -H Como o anterior mas usa 1000 e no 1024 como unidade de clculo. -k Mostra o espao ocupado em Kbytes. -m Mostra o espao ocupado em Mbytes. -S, --separate-dirs No calcula o espao ocupado por sub-diretrios. Exemplo: du -h, du -hc. 8.6 find Procura por arquivos/diretrios no disco. find pode procurar arquivos atravs de sua data de modificao, tamanho, etc atravs do uso de opes. find, ao contrrio de outros programas, usa opes longas atravs de um "-". find [diretrio] [opes/expresso] Onde: diretrio Inicia a procura neste diretrio, percorrendo seu sub-diretrios.

61

opes/expresso -name [expresso] Procura pelo nome [expresso] nos nomes de arquivos e diretrios processados. -depth Processa os sub-diretrios primeiro antes de processar os arquivos do diretrio principal. -maxdepth [num] Faz a procura at [num] sub-diretrios dentro do diretrio que est sendo pesquisado. -mindepth [num] No faz nenhuma procura em diretrios menores que [num] nveis. -mount, -xdev No faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi executado. -size [num] Procura por arquivos que tiverem o tamanho [num]. [num] pode ser antecedido de "+" ou "-" para especificar um arquivo maior ou menor que [num]. A opo -size pode ser seguida de:

b - Especifica o tamanho em blocos de 512 bytes. o padro caso [num] no seja acompanhado de nenhuma letra. c - Especifica o tamanho em bytes. k - Especifica o tamanho em Kbytes.

-type [tipo] Procura por arquivos do [tipo] especificado. Os seguintes tipos so aceitos:

b - bloco c - caracter d - diretrio p - pipe f - arquivo regular l - link simblico s - sockete

A maior parte dos argumentos numricos podem ser precedidos por "+" ou "-". Para detalhes sobre outras opes e argumentos, consulte a pgina de manual.

62

Exemplo:

find / -name grep - Procura no diretrio raz e sub-diretrios um arquivo/diretrio chamado grep. find / -name grep -maxdepth 3 - Procura no diretrio raz e sub-diretrios at o 3o. nvel, um arquivo/diretrio chamado grep. find . -size +1000k - Procura no diretrio atual e sub-diretrios um arquivo com tamanho maior que 1000 kbytes (1Mbyte). 8.7 free Mostra detalhes sobre a utilizao da memria RAM do sistema. free [opes]

Onde: opes -k Mostra o resultado em Kbytes. -m Mostra o resultado em Mbytes. -o Oculta a linha de buffers. -t Mostra uma linha contendo o total. -s [num] Mostra a utilizao da memria a cada [num] segundos. O free uma interface ao arquivo /proc/meminfo. Exemplo do uso do comando free -m:

63

8.8 grep Procura por um texto dentro de um arquivo(s) ou no dispositivo de entrada padro. grep [expresso] [arquivo] [opes] Onde: expresso palavra ou frase que ser procurada no texto. Se tiver mais de 2 palavras voc deve identifica-la com aspas "" caso contrrio o grep assumir que a segunda palavra o arquivo. arquivo Arquivo onde ser feita a procura. opes -A [nmero] Mostra o [nmero] de linhas aps a linha encontrada pelo grep. -B [nmero] Mostra o [nmero] de linhas antes da linha encontrada pelo grep. -f [arquivo] Especifica que o texto que ser localizado, esta no arquivo [arquivo]. -h, --no-filename No mostra os nomes dos arquivos durante a procura. -i, --ignore-case Ignora diferena entre maisculas e minsculas no texto procurado e arquivo. -n, --line-number Mostra o nome de cada linha encontrada pelo grep. -U, --binary Trata o arquivo que ser procurado como binrio. Se no for especificado o nome de um arquivo ou se for usado um hfen "-", grep procurar a string no dispositivo de entrada padro. O grep faz sua pesquisa em arquivos texto. Use o comando zgrep para pesquisar diretamente em arquivos compactados com gzip, os comandos e opes so as mesmas.

64

Exemplos: grep "capitulo" texto.txt, ps ax|grep inetd. 8.9 head Mostra as linhas iniciais de um arquivo texto. head [opes] Onde: -c [numero] Mostra o [numero] de bytes do inicio do arquivo. -n [numero] Mostra o [numero] de linhas do inicio do arquivo. Caso no for especificado, o head mostra as 10 primeiras linhas. Exemplos: head teste.txt, head -n 20 teste.txt. 8.10 nl Mostra o nmero de linhas junto com o contedo de um arquivo. nl [opes] [arquivo] Onde: -f [opc] Faz a filtragem de sada de acordo com [opc]: a Numera todas as linhas. t No numera linhas vazias. n Numera linhas vazias. texto Numera somente linhas que contm o [texto].

65

-v [num] Nmero inicial (o padro 1). -i [num] Nmero de linhas adicionadas a cada linha do arquivo (o padro 1). Exemplos: nl /etc/passwd, nl -i 2 /etc/passwd. 8.11 more Permite fazer a paginao de arquivos ou da entrada padro. O comando more pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o more efetua uma pausa e permite que voc pressione Enter ou espao para continuar avanando no arquivo sendo visualizado. Para sair do more pressione q. more [arquivo] Onde: arquivo o arquivo que ser paginado. Para visualizar diretamente arquivos texto compactados pelo gzip .gz use o comando zmore. Exemplos: more /etc/passwd, cat /etc/passwd|more. 8.12 less Permite fazer a paginao de arquivos ou da entrada padro. O comando less pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o less efetua uma pausa (semelhante ao more) e permite que voc pressione Seta para Cima e Seta para Baixo ou PgUP/PgDown para fazer o rolamento da pgina. Para sair do less pressione q. less [arquivo] Onde: arquivo o arquivo que ser paginado.

66

Para visualizar diretamente arquivos texto compactados pelo utilitrio gzip (arquivos .gz), use o comando zless. Exemplos: less /etc/passwd, cat /etc/passwd|less 8.13 sort Organiza as linhas de um arquivo texto ou da entrada padro. sort [opes] [arquivo] Onde: arquivo o nome do arquivo que ser organizado. Caso no for especificado, ser usado o dispositivo de entrada padro (normalmente o teclado ou um "|"). opes -b Ignora linhas em branco. -d Somente usa letras, dgitos e espaos durante a organizao. -f Ignora a diferena entre maisculas e minsculas. -r Inverte o resultado da comparao. -n Caso estiver organizando um campo que contm nmeros, os nmeros sero organizados na ordem aritmtica. Por exemplo, se voc tiver um arquivo com os nmeros 100 10 50 Usando a opo -n, o arquivo ser organizado desta maneira: 10 50 100

67

Caso esta opo no for usada com o sort, ele organizar como uma listagem alfabtica (que comeam de a at z e do 0 at 9) 10 100 50 -c Verifica se o arquivo j esta organizado. Caso no estiver, retorna a mensagem "disorder on arquivo". -o arquivo Grava a sada do comando sort no arquivo. Abaixo, exemplos de uso do comando sort:

sort texto.txt - Organiza o arquivo texto.txt em ordem crescente. sort texto.txt -r - Organiza o contedo do arquivo texto.txt em ordem decrescente. cat texto.txt|sort - Faz a mesma coisa que o primeiro exemplo, s que neste caso a sada do comando cat redirecionado a entrada padro do comando sort. sort -f texto.txt - Ignora diferenas entre letras maisculas e minsculas durante a organizao. 8.14 tail Mostra as linhas finais de um arquivo texto. tail [opes]

Onde: -c [numero] Mostra o [numero] de bytes do final do arquivo. -n [numero] Mostra o [numero] de linhas do final do arquivo. Exemplos: tail teste.txt, tail -n 20 teste.txt.

68

8.15 time Mede o tempo gasto para executar um processo (programa). time [comando] Onde: comando o comando/programa que deseja medir o tempo gasto para ser concludo. Exemplo: time ls, time find / -name crontab. 8.16 touch Muda a data e hora que um arquivo foi criado. Tambm pode ser usado para criar arquivos vazios. Caso o touch seja usado com arquivos que no existam, por padro ele criar estes arquivos. touch [opes] [arquivos] Onde: arquivos Arquivos que tero sua data/hora modificados. opes -t MMDDhhmm[ANO.segundos] Usa Minutos (MM), Dias (DD), Horas (hh), minutos (mm) e opcionalmente o ANO e segundos para modificao do(s) arquivos ao invs da data e hora atual. -a, --time=atime Faz o touch mudar somente a data e hora do acesso ao arquivo. -c, --no-create No cria arquivos vazios, caso os arquivos no existam. -m, --time=mtime Faz o touch mudar somente a data e hora da modificao. -r [arquivo] Usa as horas no [arquivo] como referncia ao invs da hora atual.

69

Exemplos:

touch teste - Cria o arquivo teste caso ele no existir. touch -t 10011230 teste - Altera da data e hora do arquivo para 01/10 e 12:30. touch -t 120112301999.30 teste - Altera da data, hora ano, e segundos do arquivo para 01/12/1999 e 12:30:30. 8.17 uptime Mostra o tempo de execuo do sistema desde que o computador foi ligado. uptime Exemplo de resposta do comando uptime:

Onde mostrada a hora atual, o tempo de execuo do sistema, quantos usurios esto logados atualmente e a media de utilizao do sistema nos ltimos, 1 minuto, 5 minutos e 15 minutos. 8.18 dmesg Mostra as mensagens de inicializao do kernel. So mostradas as mensagens da ltima inicializao do sistema. dmesg|less 8.19 mesg Permite ou no o recebimentos de requisies de talk de outros usurios. mesg [y/n] Onde: y permite que voc receba "talks" de outros usurios. 70

Digite mesg para saber se voc pode ou no receber "talks" de outros usurios. Caso a resposta seja "n" voc poder enviar um talk para algum mas o seu sistema se recusar em receber talks de outras pessoas. interessante colocar o comando mesg y em seu arquivo de inicializao .bash_profile para permitir o recebimento de "talks" toda vez que entrar no sistema. 8.20 echo Mostra mensagens. Este comando til na construo de scripts para mostrar mensagens na tela para o usurio acompanhar sua execuo. echo [mensagem] A opo -n pode ser usada para que no ocorra o salto de linha aps a mensagem ser mostrada. 8.21 su Permite o usurio mudar sua identidade para outro usurio sem fazer o logout. til para executar um programa ou comando como root sem ter que abandonar a seo atual. su [usurio] Onde: usurio o nome do usurio que deseja usar para acessar o sistema. Se no digitado, assumido o usurio root. Ser pedida a senha do superusurio para autenticao. Digite exit quando desejar retornar a identificao de usurio anterior. 8.22 sync Grava os dados do cache de disco na memria RAM para todos os discos rgidos e flexveis do sistema. O cache um mecanismo de acelerao que permite que um arquivo seja armazenado na memria ao invs de ser imediatamente gravado no disco, quando o sistema estiver ocioso, o arquivo gravado para o disco. O GNU/Linux procura utilizar toda memria RAM disponvel para o cache de programas acelerando seu desempenho de leitura/gravao. 71

sync O uso do sync til em disquetes quando gravamos um programa e precisamos que os dados sejam gravados imediatamente para retirar o disquete da unidade. Mas o mtodo recomendado especificar a opo sync durante a montagem da unidade de disquetes. 8.23 uname Retorna o nome e verso do kernel atual. uname 8.24 reboot Reinicia o computador. 8.25 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] [hora] [mensagem]

hora Momento que o computador ser desligado. Voc pode usar HH:MM para definir a hora e minuto, MM para definir minutos, +SS para definir aps quantos segundos, ou now para imediatamente (equivalente a +0). O shutdown criar o arquivo /etc/nologin para no permitir que novos usurios faam login no sistema (com excesso do root). Este arquivo removido caso a execuo do shutdown seja cancelada (opo -c) ou aps o sistema ser reiniciado.

72

mensagem Mensagem que ser mostrada a todos os usurios alertando sobre o reinicio/desligamento do sistema. opes -h Inicia o processo para desligamento do computador. -r Reinicia o sistema -c Cancela a execuo do shutdown. Voc pode acrescentar uma mensagem avisando aos usurios sobre o fato. O shutdown envia uma mensagem a todos os usurios do sistema alertando sobre o desligamento durante os 15 minutos restantes e assim permite que finalizem suas tarefas. Aps isto, o shutdown muda o nvel de execuo atravs do comando init para 0 (desligamento), 1 (modo monousurio), 6 (reinicializao). recomendado utilizar o smbolo "&" no final da linha de comando para que o shutdown seja executado em segundo plano. Quando restarem apenas 5 minutos para o reinicio/desligamento do sistema, o programa login ser desativado, impedindo a entrada de novos usurios no sistema. O programa shutdown pode ser chamado pelo init atravs do pressionamento da combinao das teclas de reinicializao CTRL+ALT+DEL alterando-se o arquivo /etc/inittab. Isto permite que somente os usurios autorizados (ou o root) possam reinicializar o sistema. Exemplos:

"shutdown -h now" - Desligar o computador imediatamente. "shutdown -r now" - Reinicia o computador imediatamente. "shutdown 19:00 A manuteno do servidor ser iniciada s 19:00" - Faz o computador entrar em modo monousurio (init 1) s 19:00 enviando a mensagem A manuteno do servidor ser iniciada s 19:00 a todos os usurios conectados ao sistema. "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. 73

shutdown -r 20 - Faz o sistema ser reiniciado aps 20 minutos. shutdown -c - Cancela a execuo do shutdown. 8.26 wc Conta o nmero de palavras, bytes e linhas em um arquivo ou entrada padro. Se

as opes forem omitidas, o wc mostra a quantidade de linhas, palavras, e bytes. wc [opes] [arquivo] Onde: arquivo Arquivo que ser verificado pelo comando wc. opes -c, --bytes Mostra os bytes do arquivo. -w, --words Mostra a quantidade de palavras do arquivo. -l, --lines Mostra a quantidade de linhas do arquivo. A ordem da listagem dos parmetros nica, e modificando a posio das opes no modifica a ordem que os parmetros so listados. Exemplo:

wc /etc/passwd - Mostra a quantidade de linhas, palavras e letras (bytes) no arquivo /etc/passwd. wc -w /etc/passwd - Mostra a quantidade de palavras. wc -l /etc/passwd - Mostra a quantidade de linhas. wc -l -w /etc/passwd - Mostra a quantidade de linhas e palavras no arquivo /etc/passwd. 8.27 seq Imprime uma seqncia de nmeros comeando em [primeiro] e terminando em

[ltimo], utilizando [incremento] para avanar. 74

seq [opes] [primeiro] [incremento] [ltimo] Onde: primeiro Nmero inicial da seqncia. incremento Nmero utilizado para avanar na seqncia. ltimo Nmero final da seqncia. opes -f, --format=[formato] Formato de sada dos nmeros da seqncia. Utilize o estilo do printf para ponto flutuante (valor padro: %g). -s, --separator=[string] Usa [string] para separar a seqncia de nmeros (valor padro: \n). -w, --equal-width Insere zeros na frente dos nmeros mantendo a seqncia alinhada. Observaes:

Se [primeiro] ou [incremento] forem omitidos, o valor padro 1 ser utilizado. Os nmeros recebidos so interpretados como nmeros em ponto flutuante. [incremento] deve ser positivo se [primeiro] for menor do que o ltimo, e negativo caso contrrio. Quando utilizarmos a opo --format, o argumento deve ser exatamente %e, %f ou %g. Exemplos: seq 0 2 10, seq -w 0 10, seq -f%f 0 10, seq -s", " 0 10

9. COMANDOS DE REDE
Este captulo traz alguns comandos teis para uso em rede e ambientes multiusurio.

75

9.1 who Mostra quem est atualmente conectado no computador. Este comando lista os nomes de usurios que esto conectados em seu computador, o terminal e data da conexo. who [opes] onde: opes -H, --heading Mostra o cabealho das colunas. -i, -u, --idle Mostra o tempo que o usurio est parado em Horas:Minutos. -m, i am Mostra o nome do computador e usurio associado ao nome. equivalente a digitar who i am ou who am i. -q, --count Mostra o total de usurios conectados aos terminais. -T, -w, --mesg Mostra se o usurio pode receber mensagens via talk (conversao).

+ O usurio recebe mensagens via talk - O usurio no recebe mensagens via talk. ? No foi possvel determinar o dispositivo de terminal onde o usurio est conectado.

76

9.2 Telnet Permite acesso a um computador remoto. mostrada uma tela de acesso correspondente ao computador local onde deve ser feita a autenticao do usurio para entrar no sistema. Muito til, mas deve ser tomado cuidados ao disponibilizar este servio para evitar riscos de segurana. telnet [opes] [ip/dns] [porta] onde: ip/dns Endereo IP do computador de destino ou nome DNS. porta Porta onde ser feita a conexo. Por padro, a conexo feita na porta 23. opes -8 Requisita uma operao binria de 8 bits. Isto fora a operao em modo binrio para envio e recebimento. Por padro, telnet no usa 8 bits. -a Tenta um login automtico, enviando o nome do usurio lido da varivel de ambiente USER. -d Ativa o modo de debug. -r Ativa a emulao de rlogin. -l [usurio] Faz a conexo usando [usurio] como nome de usurio. Exemplo: telnet 192.168.1.1, telnet 192.168.1.1 23. 9.3 finger Mostra detalhes sobre os usurios de um sistema. Algumas verses do finger possuem bugs e podem significar um risco para a segurana do sistema. recomendado desativar este servio na mquina local.

77

finger [usurio] [usurio@host] Onde: usurio Nome do usurio que deseja obter detalhes do sistema. Se no for digitado o nome de usurio, o sistema mostra detalhes de todos os usurios conectados no momento. usurio@host Nome do usurio e endereo do computador que deseja obter detalhes. -l Mostra os detalhes de todos os usurios conectados no momento. Entre os detalhes, esto includos o nome do interpretador de comandos (shell) do usurio, diretrio home, nome do usurio, endereo, etc. -p No exibe o contedo dos arquivos .plan e .project Se for usado sem parmetros, mostra os dados de todos os usurios conectados atualmente ao seu sistema. Exemplo: finger, finger root. 9.4 ftp Permite a transferncia de arquivos do computador remoto/local e vice versa. O file transfer protocol o sistema de transmisso de arquivos mais usado na Internet. requerida a autenticao do usurio para que seja permitida a conexo. Muitos servidores ftp disponibilizam acesso annimo aos usurios, com acesso restrito. Uma vez conectado a um servidor ftp, voc pode usar a maioria dos comandos do GNU/Linux para oper-lo. ftp [ip/dns] Abaixo alguns dos comandos mais usados no FTP: ls Lista arquivos do diretrio atual. cd [diretrio] Entra em um diretrio.

78

get [arquivo] Copia um arquivo do servidor ftp para o computador local. O arquivo gravado, por padro, no diretrio onde o programa ftp foi executado. hash [on/off] Por padro esta opo est desligada. Quando ligada, faz com que o caracter "#" seja impresso na tela indicando o progresso do download. mget [arquivos] Semelhante ao get, mas pode copiar diversos arquivos e permite o uso de curingas. send [arquivo] Envia um arquivo para o diretrio atual do servidor FTP (voc precisa de uma conta com acesso a gravao para fazer isto). prompt [on/off] Ativa ou desativa a pergunta para a cpia de arquivo. Se estiver como off assume sim para qualquer pergunta. Exemplo: ftp ftp.br.debian.org. OBS: Atualmente os servidores ou computadores que desejam utilizar sistemas de transmisso de arquivos ou permitir acesso a outros computadores procuram utilizar um protocolo seguro. Neste caso, a melhor opo existente o sistema SSH (Secure Shell). Por este protocolo / sistema, possvel utilizar funes semelhantes as de telnet e ftp, com a proteo de uma codificao de 128 bits. 9.5 whoami Mostra o nome que usou para se conectar ao sistema. til quando voc usa vrias contas e no sabe com qual nome entrou no sistema. whoami 9.6 dnsdomainname Mostra o nome do domnio de seu sistema.

79

9.7 hostname Mostra ou muda o nome de seu computador na rede. 9.8 talk Inicia conversa com outro usurio em uma rede local ou Internet. Talk um programa de conversao em tempo real onde uma pessoa v o que a outra escreve. talk [usurio] [tty] ou talk [usurio@host] Onde: usurio Nome de login do usurio que deseja iniciar a conversao. Este nome pode ser obtido com o comando who. tty O nome de terminal onde o usurio est conectado, para iniciar uma conexo local. usurio@host Se o usurio que deseja conversar estiver conectado em um computador remoto, voc deve usar o nome do usurio@hosname do computador. Aps o talk ser iniciado, ele verificar se o usurio pode receber mensagens, em caso positivo, ele enviar uma mensagem ao usurio dizendo como responder ao seu pedido de conversa. Para poder fazer a rolagem para cima e para baixo no talk, pressione CTRL+P(Previous - Tela anterior) e CTRL+N (Next - Prxima tela). Voc deve autorizar o recebimento de talks de outros usurios para que eles possam se comunicar com voc.

80

10. COMANDOS PARA MANIPULAO DE CONTAS


Este captulo traz comandos usados para manipulao de conta de usurios e grupos em sistemas GNU/Linux. Entre os assuntos descritos aqui esto adicionar usurios ao sistema, adicionar grupos, incluir usurios existente em novos grupos, etc. 10.1 adduser Adiciona um usurio ou grupo no sistema. Por padro, quando um novo usurio adicionado, criado um grupo com o mesmo nome do usurio. Opcionalmente o adduser tambm pode ser usado para adicionar um usurio a um grupo. Ser criado um diretrio home com o nome do usurio (a no ser que o novo usurio criado seja um usurio do sistema) e este receber uma identificao. A identificao do usurio (UID) escolhida ser a primeira disponvel no sistema especificada de acordo com a faixa de UIDS de usurios permitidas no arquivo de configurao /etc/adduser.conf. Este o arquivo que contm os padres para a criao de novos usurios no sistema. adduser [opes] [usurio/grupo] Onde: usurio/grupo Nome do novo usurio que ser adicionado ao sistema. opes -disable-passwd No executa o programa passwd para escolher a senha e somente permite o uso da conta aps o usurio escolher uma senha. --force-badname Desativa a checagem de senhas ruins durante a adio do novo usurio. Por padro o adduser checa se a senha pode ser facilmente adivinhada. --group Cria um novo grupo ao invs de um novo usurio. A criao de grupos tambm pode ser feita pelo comando addgroup. -uid [num] Cria um novo usurio com a identificao [num] ao invs de procurar o prximo UID disponvel. 81

-gid [num] Faz com que o usurio seja parte do grupo [gid] ao invs de pertencer a um novo grupo que ser criado com seu nome. Isto til caso deseje permitir que grupos de usurios possam ter acesso a arquivos comuns. Caso estiver criando um novo grupo com adduser, a identificao do novo grupo ser [num]. --home [dir] Usa o diretrio [dir] para a criao do diretrio home do usurio ao invs de usar o especificado no arquivo de configurao /etc/adduser.conf. --ingroup [nome] Quando adicionar um novo usurio no sistema, coloca o usurio no grupo [nome] ao invs de criar um novo grupo. --quiet No mostra mensagens durante a operao. --system Cria um usurio de sistema ao invs de um usurio normal. Os dados do usurio so colocados no arquivo /etc/passwd aps sua criao e os dados do grupo so colocados no arquivo /etc/group. OBSERVAO: Caso esteja usando senhas ocultas (shadow passwords), as senhas dos usurios sero colocadas no arquivo /etc/shadow e as senhas dos grupos no arquivo /etc/gshadow. Isto aumenta mais a segurana do sistema porque somente o usurio root pode ter acesso a estes arquivos, ao contrrio do arquivo /etc/passwd que possui os dados de usurios e devem ser lidos por todos. 10.2 addgroup Adiciona um novo grupo de usurios no sistema. As opes usadas so as mesmas do adduser. addgroup [usurio/grupo] [opes]

82

10.3 passwd Muda a senha do usurio ou grupo. Um usurio somente pode alterar a senha de sua conta, mas o superusurio (root) pode alterar a senha de qualquer conta de usurio, inclusive a data de validade da conta, etc. Os donos de grupos tambm podem alterar a senha do grupo com este comando. Os dados da conta do usurio como nome, endereo, telefone, tambm podem ser alterados com este comando. passwd [usurio/grupo] [opes] Onde: usurio Nome do usurio/grupo que ter sua senha alterada. opes -g Se especificada, a senha do grupo ser alterada. Somente o root ou o administrador do grupo pode alterar sua senha. A opo -r pode ser usada com esta para remover a senha do grupo. A opo -R pode ser usada para restringir o acesso do grupo para outros usurios. Procure sempre combinar letras maisculas, minsculas, e nmeros ao escolher suas senhas. No recomendado escolher palavras normais como sua senha pois podem ser vulnerveis a ataques de dicionrios cracker. Outra recomendao utilizar senhas ocultas em seu sistema (shadow password). Voc deve ser o dono da conta para poder modificar a senhas. O usurio root pode modificar/apagar a senha de qualquer usurio. Exemplo: passwd root. 10.4 newgrp Altera a identificao de grupo do usurio. Para retornar a identificao anterior, digite exit e tecle Enter. Para executar um comando com outra identificao de grupo de usurio, use o comando sg.

83

newgrp [grupo] Onde: Se usado, inicia um novo ambiente aps o uso do comando newgrp (semelhante a um novo login no sistema), caso contrrio, o ambiente atual do usurio mantido. grupo Nome do grupo ou nmero do grupo que ser includo. Quando este comando usado, pedida a senha do grupo que deseja acessar. Caso a senha do grupo esteja incorreta ou no exista senha definida, a execuo do comando negada. A listagem dos grupos que pertence atualmente pode ser feita usando o comando id. 10.5 userdel Apaga um usurio do sistema. Quando usado, este comando apaga todos os dados da conta especificado dos arquivos de contas do sistema. userdel [-r] [usurio] Onde: -r Apaga tambm o diretrio HOME do usurio. OBS: Note que uma conta de usurio no poder ser removida caso ele estiver no sistema, pois os programas podem precisar ter acesso aos dados dele (como UID, GID) no /etc/passwd. 10.6 groupdel Apaga um grupo do sistema. Quando usado, este comando apaga todos os dados do grupo especificado dos arquivos de contas do sistema. groupdel [grupo]

84

OBS: Voc no pode remover o grupo primrio de um usurio. Remova o usurio primeiro. 10.7 sg Executa um comando com outra identificao de grupo. A identificao do grupo de usurio modificada somente durante a execuo do comando. Para alterar a identificao de grupo durante sua seo shell, use o comando newgrp. sg [-] [grupo] [comando] Onde: Se usado, inicia um novo ambiente durante o uso do comando (semelhante a um novo login e execuo do comando), caso contrrio, o ambiente atual do usurio mantido. grupo Nome do grupo que o comando ser executado. comando Comando que ser executado. O comando ser executado pelo bash. Quando este comando usado, pedida a senha do grupo que deseja acessar. Caso a senha do grupo esteja incorreta ou no exista senha definida, a execuo do comando negada. Exemplo: sg root ls /root 10.8 Adicionando o usurio a um grupo extra Para adicionar um usurio em um novo grupo e assim permitir que ele acesse os arquivos/diretrios que pertencem quele grupo, voc deve estar como root e editar o arquivo /etc/group com o comando vigr. Este arquivo possui o seguinte formato: NomedoGrupo:senha:GID:usurios

85

Onde: NomedoGrupo o nome daquele grupo de usurios. senha Senha para ter acesso ao grupo. Caso esteja utilizando senhas ocultas para grupos, as senhas estaro em /etc/gshadow. GID Identificao numrica do grupo de usurio. usuarios Lista de usurios que tambm fazem parte daquele grupo. Caso exista mais de um nome de usurio, eles devem estar separados por vrgula. Deste modo para acrescentar o usurio "joao" ao grupo audio para ter acesso aos dispositivos de som do Linux, acrescente o nome no final da linha: "audio:x:100:joao". Pronto, basta digitar logout e entrar novamente com seu nome e senha, voc estar fazendo parte do grupo audio (confira digitando groups ou id). Exemplo de arquivo /etc/group:

86

Outros nomes de usurios podem ser acrescentados ao grupo audio bastando separar os nomes com ":". Voc tambm pode usar o comando adduser da seguinte forma para adicionar automaticamente um usurio a um grupo: 87

adduser joao audio Isto adicionaria o usurio "joao" ao grupo audio da mesma forma que fazendo-se a edio manualmente. 10.9 chfn Muda os dados usados pelo comando finger. chfn [usurio] [opes] Onde: usurio Nome do usurio. opes -f [nome] Muda o nome completo do usurio. -r [nome] Muda o nmero da sala do usurio. -w [tel] Muda o telefone de trabalho do usurio. -h [tel] Muda o telefone residencial do usurio. -o [outros] Muda outros dados do usurio. Caso o nome que acompanha as opes (como o nome completo) contenha espaos, use "" para identific-lo. Exemplo: chfn -f "Nome do Usurio root" root 10.10 id Mostra a identificao atual do usurio, grupo primrio e outros grupos que pertence.

88

id [opes] [usurio] Onde: usurio o usurio que desejamos ver a identificao, grupos primrios e complementares. opes -g, --group Mostra somente a identificao do grupo primrio. -G, --groups Mostra a identificao de outros grupos que pertence. -n, --name Mostra o nome do usurio e grupo ao invs da identificao numrica. -u, --user Mostra somente a identificao do usurio (user ID). -r, --real Mostra a identificao real de usurio e grupo, ao invs da efetiva. Esta opo deve ser usada junto com uma das opes: -u, -g, ou -G. Caso no sejam especificadas opes, id mostrar todos os dados do usurio. Exemplo: id, id --user, id -r -u. Exemplo do uso do comando id:

10.11 logname Mostra seu login (username). logname 89

10.12 users Mostra os nomes de usurios usando atualmente o sistema. Os nomes de usurios so mostrados atravs de espaos sem detalhes adicionais. Users Os nomes de usurios atualmente conectados ao sistema so obtidos do arquivo /var/log/wtmp. 10.13 groups Mostra os grupos que o usurio pertence. groups [usurio] Exemplo: groups, groups root

11. PERMISSES DE ACESSO A ARQUIVOS E DIRETRIOS


A permisso de acesso protege o sistema de arquivos Linux do acesso indevido de pessoas ou programas no autorizados. A permisso de acesso do GNU/Linux tambm impede que um programa mal intencionado, por exemplo, apague um arquivo que no deve, envie arquivos para outra pessoa ou fornea acesso da rede para que outros usurios invadam o sistema. O sistema GNU/Linux muito seguro e como qualquer outro sistema seguro e confivel impede que usurios iniciantes (ou mal intencionados) instalem programas enviados por terceiros sem saber para que eles realmente servem e causem danos irreversveis em seus arquivos, seu micro ou sua empresa. Esta seo pode se tornar um pouco difcil de se entender, ento recomendo ler e ao mesmo tempo pratica-la para uma tima compreenso.

90

11.1 Donos, grupos e outros usurios O princpio da segurana no sistema de arquivos GNU/Linux definir o acesso aos arquivos por donos, grupos e outros usurios: dono a pessoa que criou o arquivo ou o diretrio. O nome do dono do arquivo/diretrio o mesmo do usurio usado para entrar no sistema GNU/Linux. Somente o dono pode modificar as permisses de acesso do arquivo. As permisses de acesso do dono de um arquivo somente se aplicam ao dono do arquivo/diretrio. A identificao do dono tambm chamada de user id (UID). A identificao de usurio e o nome do grupo que pertence so armazenadas respectivamente nos arquivos /etc/passwd e /etc/group. Estes so arquivos textos comuns e podem ser editados em qualquer editor de texto, mas tenha cuidado para no modificar o campo que contm a senha do usurio encriptada (que pode estar armazenada neste arquivo caso no estiver usando senhas ocultas). grupo Para permitir que vrios usurios diferentes tivessem acesso a um mesmo arquivo (j que somente o dono poderia ter acesso ao arquivo), este recurso foi criado. Cada usurio pode fazer parte de um ou mais grupos e ento acessar arquivos que pertenam ao mesmo grupo que o seu (mesmo que estes arquivos tenham outro dono). Por padro, quando um novo usurio criado, o grupo a que ele pertencer ser o mesmo de seu grupo primrio. A identificao do grupo chamada de gid (group id). Um usurio pode pertencer a um ou mais grupos. Para detalhes de como incluir o usurio em mais grupos veja detalhes na seo 10.8. outros a categoria de usurios que no so donos ou no pertencem ao grupo do arquivo. Cada um dos tipos acima possuem trs tipos bsicos de permisses de acesso que sero vistas na prxima seo.

91

11.2 Tipos de Permisses de acesso Quanto aos tipos de permisses que se aplicam ao dono, grupo e outros usurios, temos 3 permisses bsicas:

r - Permisso de leitura para arquivos. Caso for um diretrio, permite listar seu contedo (atravs do comando ls, por exemplo). w - Permisso de gravao para arquivos. Caso for um diretrio, permite a gravao de arquivos ou outros diretrios dentro dele. Para que um arquivo/diretrio possa ser apagado, necessrio o acesso a gravao. x - Permite executar um arquivo (caso seja um programa executvel). Caso seja um diretrio, permite que seja acessado atravs do comando cd. As permisses de acesso a um arquivo/diretrio podem ser visualizadas com o uso

do comando ls -la. As 3 letras (rwx) so agrupadas da seguinte forma: -rwxrwxr-- gleydson users teste O significado das 10 letras pode ser visto abaixo (da esquerda para a direita):

A primeira letra diz qual o tipo do arquivo. Caso tiver um "d" um diretrio, um "l" um link a um arquivo no sistema, um "-" quer dizer que um arquivo comum, etc. Da segunda a quarta letra (rwx) dizem qual a permisso de acesso ao dono do arquivo. Neste caso o usurio gleydson tem a permisso de ler (r - read), gravar (w - write) e executar (x - execute) o arquivo teste. Da quinta a stima letra (rwx) diz qual a permisso de acesso ao grupo do arquivo. Neste caso todos os usurios que pertencem ao grupo users tem a permisso de ler (r), gravar (w), e tambm executar (x) o arquivo teste. Da oitava a dcima letra (rwx) diz qual a permisso de acesso para os outros usurios. Neste caso todos os usurios que no so donos do arquivo teste tem somente permisso para ler o arquivo. Veja o comando chmod na seo 11.7 para detalhes sobre a mudana das

permisses de acesso de arquivos/diretrios.

92

11.3 Etapas para acesso a um arquivo/diretrio O acesso a um arquivo/diretrio feito verificando primeiro se o usurio que acessar o arquivo o seu dono, caso seja, as permisses de dono do arquivo so aplicadas. Caso no seja o dono do arquivo/diretrio, verificado se ele pertence ao grupo correspondente, caso pertena, as permisses do grupo so aplicadas. Caso no pertena ao grupo, so verificadas as permisses de acesso para os outros usurios que no so donos e no pertencem ao grupo correspondente ao arquivo/diretrio. Aps verificar aonde o usurio se encaixa nas permisses de acesso do arquivo (se ele o dono, pertence ao grupo, ou outros usurios), verificado se ele ter permisso acesso para o que deseja fazer (ler, gravar ou executar o arquivo), caso no tenha, o acesso negado, mostrando uma mensagem do tipo: "Permission denied" (permisso negada). O que isto quer dizer que mesmo que voc seja o dono do arquivo e definir o acesso do dono (atravs do comando chmod) como somente leitura (r) mas o acesso dos outros usurios como leitura e gravao, voc somente poder ler este arquivo mas os outros usurios podero ler/grava-lo. As permisses de acesso (leitura, gravao, execuo) para donos, grupos e outros usurios so independentes, permitindo assim um nvel de acesso diferenciado. 11.4 Exemplos prticos de permisses de acesso Abaixo dois exemplos prticos de permisso de acesso. Os dois exemplos so explicados passo a passo para uma perfeita compreenso do assunto. 11.4.1 Exemplo de acesso a um arquivo Abaixo um exemplo e explicao das permisses de acesso a um arquivo no GNU/Linux (obtido com o comando ls -la): -rwxr-xr-- 1 gleydson user 8192 nov 4 16:00 teste -rwxr-xr-Estas so as permisses de acesso ao arquivo teste. Um conjunto de 10 letras que especificam o tipo do arquivo, permisso do dono do arquivo, grupo do arquivo e outros usurios. Veja a explicao detalhada sobre cada uma abaixo: 93

-rwxr-xr-A primeira letra (do conjunto das 10 letras) determina o tipo do arquivos. Se a letra for um d um diretrio, e voc poder acessa-lo usando o comando cd. Caso for um l um link simblico para algum arquivo ou diretrio no sistema. Um - significa que um arquivo normal. -rwxr-xr-Estas 3 letras (da segunda a quarta do conjunto das 10 letras) so as permisses de acesso do dono do arquivo teste. O dono (neste caso gleydson) tem a permisso para ler (r), gravar (w) e executar (x) o arquivo teste. -rwxr-xr-Estas 3 letras (da quinta a stima do conjunto das 10 letras) so as permisses de acesso dos usurios que pertencem ao grupo user do arquivo teste. Os usurios que pertencem ao grupo user tem a permisso somente para ler (r) e executar (x) o arquivo teste no podendo modifica-lo ou apaga-lo. -rwxr-xr-Estas 3 letras (da oitava a dcima) so as permisses de acesso para usurios que no so donos do arquivo teste e que no pertencem ao grupo user. Neste caso, estas pessoas somente tero a permisso para ver o contedo do arquivo teste. gleydson Nome do dono do arquivo teste. user Nome do grupo que o arquivo teste pertence. teste Nome do arquivo. 11.4.2 Exemplo de acesso a um diretrio Abaixo um exemplo com explicaes das permisses de acesso a um diretrio no GNU/Linux: drwxr-x--- 2 gleydson user 1024 nov 4 17:55 exemplo drwxr-x--Permisses de acesso ao diretrio exemplo. um conjunto de 10 letras que

94

especificam o tipo de arquivo, permisso do dono do diretrio, grupo que o diretrio pertence e permisso de acesso a outros usurios. Veja as explicaes abaixo: drwxr-x--A primeira letra (do conjunto das 10) determina o tipo do arquivo. Neste caso um diretrio porque tem a letra d. drwxr-x--Estas 3 letras (da segunda a quarta) so as permisses de acesso do dono do diretrio exemplo. O dono do diretrio (neste caso gleydson) tem a permisso para listar arquivos do diretrio (r), gravar arquivos no diretrio (w) e entrar no diretrio (x). drwxr-x--Estas 3 letras (da quinta a stima) so as permisses de acesso dos usurios que pertencem ao grupo user. Os usurios que pertencem ao grupo user tem a permisso somente para listar arquivos do diretrio (r) e entrar no diretrio (x) exemplo. drwxr-x--Estas 3 letras (da oitava a dcima) so as permisses de acesso para usurios que no so donos do diretrio exemplo e que no pertencem ao grupo user. Com as permisses acima, nenhum usurio que se encaixe nas condies de dono e grupo do diretrio tem a permisso de acessa-lo. gleydson Nome do dono do diretrio exemplo. user Nome do grupo que diretrio exemplo pertence. exemplo Nome do diretrio. Para detalhes de como alterar o dono/grupo de um arquivo/diretrio, veja os comandos chmod (seo 11.6), chgrp (seo 11.7) e chown (seo 11.8). OBSERVAES:

O usurio root no tem nenhuma restrio de acesso ao sistema. Se voc tem permisses de gravao no diretrio e tentar apagar um arquivo que voc no tem permisso de gravao, o sistema perguntar se voc confirma a excluso do arquivo apesar do modo leitura. Caso voc tenha permisses de

95

gravao no arquivo, o arquivo ser apagado por padro sem mostrar nenhuma mensagem de erro (a no ser que seja especificada a opo -i com o comando rm).

Por outro lado, mesmo que voc tenha permisses de gravao em um arquivo mas no tenha permisses de gravao em um diretrio, a excluso do arquivo ser negada. Isto mostra que levado mais em considerao a permisso de acesso do diretrio

do que as permisses dos arquivos e sub-diretrios que ele contm. Este ponto muitas vezes ignorado por muitas pessoas e expem seu sistema a riscos de segurana. Imagine o problema que algum usurio que no tenha permisso de gravao em um arquivo mas que a tenha no diretrio pode causar em um sistema mal administrado. 11.5 A conta root Esta seo foi retirada do Manual de Instalao da Debian. A conta root tambm chamada de super usurio, este um login que no possui restries de segurana. A conta root somente deve ser usada para fazer a administrao do sistema, e usada o menor tempo possvel. Qualquer senha que criar dever conter de 6 a 8 caracteres (em sistemas usando crypto) ou at frases inteiras (caso esteja usando MD5, que garante maior segurana), e tambm poder conter letras maisculas e minsculas, e tambm caracteres de pontuao. Tenha um cuidado especial quando escolher sua senha root, porque ela a conta mais poderosa. Evite palavras de dicionrio ou o uso de qualquer outros dados pessoais que podem ser adivinhados. Se qualquer um lhe pedir senha root, seja extremamente cuidadoso. Voc normalmente nunca deve distribuir sua conta root, a no ser que esteja administrando um computador com mais de um administrador do sistema. Utilize uma conta de usurio normal ao invs da conta root para operar seu sistema. Porque no usar a conta root? Bem, uma razo para evitar usar privilgios root por causa da facilidade de se cometer danos irreparveis como root. Outra razo que voc pode ser enganado e rodar um programa Cavalo de Tria -- que um programa que obtm poderes do super usurio para comprometer a segurana do seu sistema sem que voc saiba.

96

11.6 chmod Muda a permisso de acesso a um arquivo ou diretrio. Com este comando voc pode escolher se usurio ou grupo ter permisses para ler, gravar, executar um arquivo ou arquivos. Sempre que um arquivo criado, seu dono o usurio que o criou e seu grupo o grupo do usurio. chmod [opes] [permisses] [diretrio/arquivo] Onde: diretrio/arquivo Diretrio ou arquivo que ter sua permisso mudada. opes -v, --verbose Mostra todos os arquivos que esto sendo processados. -f, --silent No mostra a maior parte das mensagens de erro. -c, --change Semelhante a opo -v, mas s mostra os arquivos que tiveram as permisses alteradas. -R, --recursive Muda permisses de acesso do diretrio/arquivo no diretrio atual e sub-diretrios. ugoa+-=rwxXst

ugoa - Controla que nvel de acesso ser mudado. Especificam, em ordem, usurio (u), grupo (g), outros (o), todos (a). +-= - + coloca a permisso, - retira a permisso do arquivo e = define a permisso exatamente como especificado. rwx - r permisso de leitura do arquivo. w permisso de gravao. x permisso de execuo (ou acesso a diretrios).

chmod no muda permisses de links simblicos, as permisses devem ser mudadas no arquivo alvo do link. Tambm podem ser usados cdigos numricos octais para a mudana das permisses de acesso a arquivos/diretrios.

97

DICA: possvel copiar permisses de acesso do arquivo/diretrio, por exemplo, se o arquivo teste.txt tiver a permisso de acesso r-xr----- e voc digitar chmod o=u, as permisses de acesso dos outros usurios (o) sero idnticas ao do dono (u). Ento a nova permisso de acesso do arquivo teste.txt ser r-xr--r-x Exemplos de permisses de acesso: chmod g+r * Permite que todos os usurios que pertenam ao grupo dos arquivos (g) tenham (+) permisses de leitura (r) em todos os arquivos do diretrio atual. chmod o-r teste.txt Retira (-) a permisso de leitura (r) do arquivo teste.txt para os outros usurios (usurios que no so donos e no pertencem ao grupo do arquivo teste.txt). chmod uo+x teste.txt Inclui (+) a permisso de execuo do arquivo teste.txt para o dono e outros usurios do arquivo. chmod a+x teste.txt Inclui (+) a permisso de execuo do arquivo teste.txt para o dono, grupo e outros usurios. chmod a=rw teste.txt Define a permisso de todos os usurios exatamente (=) para leitura e gravao do arquivo teste.txt. 11.7 chgrp Muda o grupo de um arquivo/diretrio. chgrp [opes] [grupo] [arquivo/diretrio] Onde: grupo Novo grupo do arquivo/diretrio.

98

arquivo/diretrio Arquivo/diretrio que ter o grupo alterado. opes -c, --changes Somente mostra os arquivos/grupos que forem alterados. -f, --silent No mostra mensagens de erro para arquivos/diretrios que no puderam ser alterados. -v, --verbose Mostra todas as mensagens e arquivos sendo modificados. -R, --recursive Altera os grupos de arquivos/sub-diretrios do diretrio atual. 11.8 chown Muda dono de um arquivo/diretrio. Opcionalmente pode tambm ser usado para mudar o grupo. chown [opes] [dono.grupo] [diretrio/arquivo] Onde: dono.grupo Nome do dono.grupo que ser atribudo ao diretrio/arquivo. O grupo opcional. diretrio/arquivo Diretrio/arquivo que o dono.grupo ser modificado. opes -v, --verbose Mostra os arquivos enquanto so alterados. -f, --supress No mostra mensagens de erro durante a execuo do programa. -c, --changes Mostra somente arquivos que forem alterados. -R, --recursive Altera dono e grupo de arquivos no diretrio atual e sub-diretrios.

99

O dono.grupo pode ser especificado usando o nome de grupo ou o cdigo numrico correspondente ao grupo (GID). Voc deve ter permisses de gravao no diretrio/arquivo para alterar seu dono/grupo.

chown joao teste.txt - Muda o dono do arquivo teste.txt para joao. chown joao.users teste.txt - Muda o dono do arquivo teste.txt para joao e seu grupo para users. chown -R joao.users * - Muda o dono/grupo dos arquivos do diretrio atual e subdiretrios para joao/users (desde que voc tenha permisses de gravao no diretrios e sub-diretrios). 11.9 Modo de permisso octal Ao invs de utilizar os modos de permisso +r, -r, etc, pode ser usado o modo octal

para se alterar a permisso de acesso a um arquivo. O modo octal um conjunto de oito nmeros onde cada nmero define um tipo de acesso diferente. mais flexvel gerenciar permisses de acesso usando o modo octal ao invs do comum, pois voc especifica diretamente a permisso do dono, grupo, outros ao invs de gerenciar as permisses de cada um separadamente. Abaixo a lista de permisses de acesso octal:

0 - Nenhuma permisso de acesso. Equivalente a -rwx. 1 - Permisso de execuo (x). 2 - Permisso de gravao (w). 3 - Permisso de gravao e execuo (wx). 4 - Permisso de leitura (r). 5 - Permisso de leitura e execuo (rx). 6 - Permisso de leitura e gravao (rw). 7 - Permisso de leitura, gravao e execuo. Equivalente a +rwx. O uso de um deste nmeros define a permisso de acesso do dono, grupo ou

outros usurios. Um modo fcil de entender como as permisses de acesso octais funcionam, atravs da seguinte tabela: 1 = Executar 2 = Gravar 4 = Ler 100

* Para Dono e Grupo, multiplique as permisses acima por x100 e x10. Basta agora fazer o seguinte:

Somente permisso de execuo, use 1. Somente a permisso de leitura, use 4. Somente permisso de gravao, use 2. Permisso de leitura/gravao, use 6 (equivale a 2+4 / Gravar+Ler). Permisso de leitura/execuo, use 5 (equivale a 1+4 / Executar+Ler). Permisso de execuo/gravao, use 3 (equivale a 1+2 / Executar+Gravar). Permisso de leitura/gravao/execuo, use 7 (equivale a 1+2+4 / Executar+Gravar+Ler). Vamos a prtica com alguns exemplos: "chmod 764 teste" Os nmeros so interpretados da direita para a esquerda como permisso de

acesso aos outros usurios (4), grupo (6), e dono (7). O exemplo acima faz os outros usurios (4) terem acesso somente leitura (r) ao arquivo teste, o grupo (6) ter a permisso de leitura e gravao (w), e o dono (7) ter permisso de leitura, gravao e execuo (rwx) ao arquivo teste. Outro exemplo: "chmod 40 teste" O exemplo acima define a permisso de acesso dos outros usurios (0) como nenhuma, e define a permisso de acesso do grupo (4) como somente leitura (r). Note que como foi usado somente dois nmeros, ento a permisso de acesso do dono do arquivo no modificada (leia as permisses de acesso da direita para a esquerda). Para detalhes veja a lista de permisses de acesso em modo octal no inicio desta seo. "chmod 751 teste" O exemplo acima define a permisso de acesso dos outros usurios (1) para somente execuo (x), o acesso do grupo (5) como leitura e execuo (rx) e o acesso do dono (7) como leitura, gravao e execuo (rwx). 101

11.10 umask A umask (user mask) so 3 nmeros que definem as permisses iniciais do dono, grupo e outros usurios que o arquivo/diretrio receber quando for criado ou copiado. Digite umask sem parmetros para retornar o valor de sua umask atual. A umask tem efeitos diferentes caso o arquivo que estiver sendo criado for binrio (um programa executvel) ou texto. Veja a tabela a seguir para ver qual a mais adequada a sua situao:
--------------------------------------------| | | | | | | | | | 0 1 2 3 4 5 6 7 | | | | | | | | | | ARQUIVO Binrio r-x r-r-x r---x ----x --| | | | | | | | | Texto rwrwr-r--w-w----| DIRETRIO | | | | | | | | | rwx rwr-x r--wx -w--x --| | | | | | | | | | | | UMASK |----------------------|

|------------------------------|------------|

---------------------------------------------

Um arquivo texto criado com o comando umask 012;touch texto.txt receber as permisses -rw-rw-r--, pois 0 (dono) ter permisses rw-, 1 (grupo), ter permisses rw- e 2 (outros usurios) tero permisses r--. Um arquivo binrio copiado com o comando umask 012;cp /bin/ls /tmp/ls receber as permisses -r-xr--r-x (confira com a tabela acima). Por este motivo preciso um pouco de ateno antes de escolher a umask, um valor mal escolhido poderia causar problemas de acesso a arquivos, diretrios ou programas no sendo executados. O valor padro da umask na maioria das distribuies atuais 022. A umask padro no sistema Debian a 022. A umask de grande utilidade para programas que criam arquivos/diretrios temporrios, desta forma pode-se bloquear o acesso de outros usurios desde a criao do arquivo, evitando recorrer ao chmod.

102

12. IMPRESSO
Este capitulo descreve como imprimir em seu sistema GNU/Linux e as formas de impresso via spool, rede, grfica, etc. Antes de seguir os passos descritos neste captulo, tenha certeza que seu kernel foi compilado com o suporte a impressora paralela ativado, caso contrrio at mesmo a impresso direta para a porta de impressora falhar. 12.1 Portas de impressora Uma porta de impressora o local do sistema usado para se comunicar com a impressora. Em sistemas GNU/Linux, a porta de impressora identificada como lp0, lp1, lp2 no diretrio /dev, correspondendo respectivamente a LPT1, LPT2 e LPT3 no DOS e Windows. 12.2 Imprimindo diretamente para a porta de impressora Isto feito direcionando a sada ou o texto com > diretamente para a porta de impressora no diretrio /dev. Supondo que voc quer imprimir o texto contido do arquivo trabalho.txt e a porta de impressora em seu sistema /dev/lp0, voc pode usar os seguintes comandos:

cat trabalho.txt >/dev/lp0 - Direciona a sada do comando cat para a impressora. cat -n trabalho.txt >/dev/lp0 - Numera as linhas durante a impresso. head -n 30 trabalho.txt >/dev/lp0 - Imprime as 30 linhas iniciais do arquivo. cat trabalho.txt|tee /dev/lp0 - Mostra o contedo do cat na tela e envia tambm para a impressora. Os mtodos acima servem somente para imprimir em modo texto (letras, nmeros

e caracteres semi-grficos). 12.3 Imprimindo via spool A impresso via spool tem por objetivo liberar logo o programa do servio de impresso deixando um outro programa especfico tomar conta. Este programa chamado de daemon de impresso, normalmente o lpr ou o lprng (recomendado) em sistemas GNU/Linux. 103

Logo aps receber o arquivo que ser impresso, o programa de spool gera um arquivo temporrio (normalmente localizado em /var/spool/lpd) que ser colocado em fila para a impresso (um trabalho ser impresso aps o outro, em seqncia). O arquivo temporrio gerado pelo programa de spool apagado logo aps concluir a impresso. Antes de se imprimir qualquer coisa usando os daemons de impresso, preciso configurar os parmetros de sua impressora no arquivo /etc/printcap. Um arquivo /etc/printcap para uma impressora local padro se parece com o seguinte: lp|Impressora compatvel com Linux :lp=/dev/lp0 :sd=/var/spool/lpd/lp :af=/var/log/lp-acct :lf=/var/log/lp-errs :pl#66 :pw#80 :pc#150 :mx#0 :sh OBS: As instrues de configurao deste arquivo podem ser obtidas usando-se o comando man printcap. Usando os exemplos anteriores da seo Imprimindo diretamente para uma porta de impressora, vamos acelerar as coisas:

cat trabalho.txt |lpr - Direciona a sada do comando cat para o programa de spool lpr. cat -n trabalho.txt |lpr - Numera as linhas durante a impresso. head -n 30 trabalho.txt |lpr - Imprime as 30 linhas iniciais do arquivo. A fila de impresso pode ser controlada com os comandos:

lpq - Mostra os trabalhos de impresso atuais lprm - Remove um trabalho de impresso Ou usado o programa de administrao lpc para gerenciar a fila de impresso (veja

a pgina de manual do lpc ou digite ? ao iniciar o programa para detalhes).

104

12.4 Impresso em modo grfico A impresso em modo grfico requer que conhea a marca e modelo de sua impressora e os mtodos usados para imprimir seus documentos. Este guia abordar somente a segunda recomendao. 12.4.1 Ghost Script O mtodo mais usados pelos aplicativos do GNU/Linux para a impresso de grficos do Ghost Script. O Ghost Script (chamado de gs) um interpretador do formato Pos Script (arquivos .ps) e pode enviar o resultado de processamento tanto para a tela como impressora. Ele est disponvel para diversas plataformas e sistema operacionais alm do GNU/Linux, inclusive o DOS, Windows, OS/2, etc. O formato .ps esta se tornando uma padronizao para a impresso de grficos em GNU/Linux devido a boa qualidade da impresso, liberdade de configurao, gerenciamento de impresso feito pelo gs e por ser um formato universal, compatveis com outros sistemas operacionais. Para imprimir um documento via Ghost Script, voc precisar do pacote gs, gsfonts (para a distribuio Debian e distribuies baseadas, ou outros de acordo com sua distribuio Linux) e suas dependncias. A distribuio Debian vem com vrios exemplos Pos Script no diretrio /usr/share/doc/gs/example que so teis para o aprendizado e testes com o Ghost Script. Vamos analisar como ele funciona:

Copie

os

arquivos

tiger.ps.gz

alphabet.ps.gz

do

diretrio

/usr/share/doc/gs/examples (sistemas Debian) para /tmp e descompacte-os com o comando gzip -d tiger.ps.gz e gzip -d alphabet.ps.gz.

O Ghost Script requer um monitor EGA, VGA ou superior para a visualizao dos seus arquivos. Para visualizar os arquivos na tela digite: gs tiger.ps gs alphabet.ps Para sair do Ghost Script pressione CTRL+C. Neste ponto voc deve ter visto um desenho de um tigre e (talvez) letras do alfabeto. Se o comando gs alphabet.ps mostrou somente uma tela em branco, voc se esqueceu de instalar as fontes do Ghost Script (esto localizadas no pacote gsfonts na distribuio Debian). 105

Para imprimir o arquivo alphabet.ps use o comando: gs -q -dSAFER -dNOPAUSE -sDEVICE=epson -r240x72 -sPAPERSIZE=legal -sOutputFile=/dev/lp0 alphabet.ps O arquivo alphabet.ps deve ser impresso. Caso aparecerem mensagens como Error: /invalidfont in findfont no lugar das letras, voc se esqueceu de instalar ou configurar as fontes do Ghost Script. Instale o pacote de fontes (gsfonts na Debian) ou verifique a documentao sobre como configurar as fontes. Cada uma das opes acima descrevem o seguinte:

-q, -dQUIET - No mostra mensagens de inicializao do Ghost Script. -dSAFER - uma opo para ambientes seguros, pois desativa a operao de mudana de nome e deleo de arquivo e permite somente a abertura dos arquivos no modo somente leitura. -dNOPAUSE - Desativa a pausa no final de cada pgina processada. -sDEVICE=dispositivo - Dispositivo que receber a sada do Ghost Script. Neste local pode ser especificada a marca de sua impressora ou um formato de arquivo diferente (como pcxmono, bmp256) para que o arquivo .ps seja convertido para o formato designado. Para detalhes sobre os dispositivos disponveis em seu Ghost Script, digite gs --help|less ou veja a pgina de manual. Normalmente os nomes de impressoras e modelos so concatenados, por exemplo, bjc600 para a impressora Canon BJC 600, epson para impressoras padro epson, stcolor para Epson Stylus color, etc. O Hardware-HOWTO contm referncias sobre hardware suportados pelo GNU/Linux, tal como impressoras e sua leitura pode ser til. -r<ResH>x<ResV> - Define a resoluo de impresso (em dpi) Horizontal e Vertical. Os valores dependem de sua impressora. -sPAPERSIZE=tamanho - Tamanho do papel. Podem ser usados a4, legal, letter, etc. Veja a pgina de manual do gs para ver os outros tipos suportados e suas medidas. -sOutputFile=dispositivo Dispositivo que receber a sada de

processamento do gs. Voc pode especificar:

arquivo.epson - Nome do arquivo que receber todo o resultado do processamento. O arquivo.epson ter toda a impresso codificada no formato entendido por impressoras epson e poder ser impresso com o comando cat arquivo.epson >/dev/lp0. 106

impressao%d.epson - Nome do arquivo que receber o resultado do processamento. Cada pgina ser gravada em arquivos separados como impressao1.epson, impressao2.epson. Os arquivos podem ser impressos usando os mesmos mtodos acima. /dev/lp0 para uma impressora em /dev/lp0 - para redirecionar a sada de processamento do gs para a sada padro. \|lpr - Envia a sada do Ghost Script para o daemon de impresso. O objetivo deixar a impresso mais rpida.

Existem muitas outras opes alm das mostradas acima, veja o manual do gs. 12.5 Magic Filter O Magic Filter um filtro de impresso inteligente. Ele funciona acionado pelo spool de impresso (mais especificamente o arquivo /etc/printcap) e permite identificar e imprimir arquivos de diversos tipos diretamente atravs do comando lpr arquivo. um timo programa e altamente recomentado se voc deseja apenas clicar no boto imprimir e deixar os programas fazerem o resto. A inteno do programa justamente automatizar os trabalhos de impresso e spool. A maioria dos programas para ambiente grfico X11, incluindo o Netscape, Word Perfect, Gimp e Star Office trabalham nativamente com o magicfilter. 12.5.1 Instalao e configurao do Magic Filter O Magic Filter encontrado no pacote magicfilter da distribuio Debian e baseadas. Sua configurao pode ser feita com o programa magicfilterconfig que torna o processo de configurao rpido e fcil para quem no conhece a sintaxe do arquivo /etc/printcap ou no tem muitas exigncias sobre a configurao detalhada da impressora. Aps instalar o magicfilter reinicie o daemon de impresso (se estiver usando a Debian, entre no diretrio /etc/init.d e como usurio root digite ./lpr restart ou ./lprng restart). Para testar o funcionamento do magicfilter, digite lpr alphabet.ps e lpr tiger.ps, os 107

arquivos sero enviados para o magicfilter que identificar o arquivo como Pos Script, executar o Ghost Script e retornar o resultado do processamento para o daemon de impresso. O resultado ser visto na impressora. Se tiver problemas, verifique se a configurao feita com o magicfilterconfig est correta. Caso precise re-configurar o magicfilter, digite magicfilterconfig --force (lembre-se que a opo --force substitui qualquer configurao personalizada que tenha adicionado ao arquivo /etc/printcap). 12.5.2 Outros detalhes tcnicos sobre o Magic Filter Durante a configurao do magicfilter, a seguinte linha adicionada ao arquivo /etc/printcap: :if=/etc/magicfilter/epson9-filter A linha que comea com :if no magicfilter identifica um arquivo de filtro de impresso. O arquivo /etc/magicfilter/epson9-filter criado usando o formato do magicfilter, e no difcil entender seu contedo e fazer algumas modificaes: #! /usr/sbin/magicfilter # # Magic filter setup file for 9-pin Epson (or compatible) printers # # This file is in the public domain. # # This file has been automatically adapted to your system. # # wild guess: native control codes start with ESC 0 \033 cat

# PostScript 0 %! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit 0 \004%! filter -sOutputFile=- - -c quit /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson

108

# PDF 0 %PDF fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- $FILE -c quit # TeX DVI 0 \367\002 fpipe /usr/bin/dvips -X 120 -Y 72 -R -q -f # compress'd data 0 \037\235 pipe /bin/gzip -cdq

# packed, gzipped, frozen and SCO LZH data 0 \037\036 pipe 0 \037\213 pipe 0 \037\236 pipe 0 \037\240 pipe 0 BZh pipe /bin/gzip -cdq /bin/gzip -cdq /bin/gzip -cdq /bin/gzip -cdq /usr/bin/bzip2 -cdq

# troff documents 0 .\?\?\040 0 .\\\" 0 '\\\" 0 '.\\\" 0 \\\" fpipe `/usr/bin/grog -Tps $FILE` fpipe `/usr/bin/grog -Tps $FILE` fpipe `/usr/bin/grog -Tps $FILE` fpipe `/usr/bin/grog -Tps $FILE` fpipe `/usr/bin/grog -Tps $FILE`

Voc deve ter notado que para cada tipo de arquivo existe o respectivo programa que executado, basta voc modificar as opes usadas nos programas neste arquivo (como faria na linha de comando) para afetar o comportamento da impresso. Por exemplo, modificando a resoluo para -r240x72 no processamento de arquivos Pos Script (gs), a impressora passar a usar esta resoluo. 12.6 Servidor CUPS e o Spool de Impresso do KDE Existem diversas maneiras para configurar uma impressora e imprimir um documento no linux, mas como pode-se perceber, nenhuma delas muito simples. No

109

entanto, o ambiente grfico KDE (ser estudado a seguir), em conjunto com o servidor de impresso CUPS, apresenta uma forma muito simples e eficiente de gerenciamento impressoras. Um dos mtodos mais simples de configurar uma impressora no servidor de impresso CUPS atravs de seu gerenciamento via WEB, obtido atravs de um browser via endereo http://localhost:631/, como pode ser visto na figura abaixo:

Abaixo ainda podemos verificar algumas telas da adio de uma impressora atravs do CUPS:

110

Como podemos ver na figura acima, as marcas de impressora mais comuns, como Epson e HP j possuem drivers por padro no servidor de impresso CUPS. As impressoras no cobertas por estes drivers devem adicionar drivers externos. Uma boa opo o driver multi impressoras turboprint (http://www.turboprint.de/english.html), que ao adicionar a impressora j configura o servidor CUPS. Aps adicionada a impressora, podemos gerencia-la atravs do gerenciador de 111

impresso do KDE. O gerenciador de impresso do KDE torna-se acessvel atravs do comando kcmshell printmgr. Abaixo temos o gerenciador de impresso do KDE.

O spool de impresso do KDE pode ser acessado atravs do comando kprinter. Abaixo observamos a interface de controle do spool.

112

Note que se voc deseja que seus programas utilizem o gerenciamento de impresso do KDE, necessrio configura-lo no aplicativo. A tela abaixo mostra a sua configurao no browser Mozilla Firefox.

113

Os aplicativos grficos mostrados acima para o gerenciamento de impresso surgiram a medida que usurios de sistemas Desktop comearam a migrar para o Linux. Esses usurios desejavam um sistema grfico semelhante ao Windows, o que criou a demanda para que estes aplicativos fossem desenvolvidos. Note que o servidor de impresso CUPS poderia ser utilizado a parte do gerenciador de impresso do KDE, pois nem sempre utilizamos esse ambiente grfico, como ser mostrado a seguir.

13. X WINDOW (AMBIENTE GRFICO)


Este captulo traz explicaes sobre o ambiente grfico X Window System.

114

13.1 O que X Window? um sistema grfico de janelas que roda em uma grande faixa de computadores, mquinas grficas e diferentes tipos de mquinas e plataformas Unix. Pode tanto ser executado em mquinas locais como remotas atravs de conexo em rede. 13.2 A organizao do ambiente grfico X Window Em geral o ambiente grfico X Window dividido da seguinte forma:

O Servidor X - o programa que controla a exibio dos grficos na tela, mouse e teclado. Ele se comunica com os programas cliente atravs de diversos mtodos de comunicao. O servidor X pode ser executado na mesma mquina que o programa cliente esta sendo executado de forma transparente ou atravs de uma mquina remota na rede. O gerenciador de Janelas - o programa que controla a aparncia da aplicao. Os gerenciadores de janelas (window managers) so programas que atuam entre o servidor X e a aplicao. Voc pode alternar de um gerenciador para outro sem fechar seus aplicativos. Existem vrios tipos de gerenciadores de janelas disponveis no mercado entre os mais conhecidos posso citar o Window Maker (feito por um Brasileiro), o After Step, Gnome, KDE, twm (este vem por padro quando o servidor X instalado), Enlightenment, IceWm, etc. A escolha do seu gerenciador de janelas pessoal, depende muito do gosto de cada pessoa e dos recursos que deseja utilizar. A aplicao cliente - o programa sendo executado. Esta organizao do ambiente grfico X traz grandes vantagens de gerenciamento

e recursos no ambiente grfico UNIX. Uma vez que estes recursos esto disponveis, voc pode executar seus programas em computadores remotos, mudar totalmente a aparncia de um programa sem ter que fecha-lo (atravs da mudana do gerenciador de janelas), etc.

115

13.3 Iniciando o X O sistema grfico X pode ser iniciado de duas maneiras:

Automtica - Usando os programas xdm, kdm, wdm (existem diversos aplicativos para este fim) que so programas que rodam no ambiente grfico X e apresentam uma tela pedindo nome e senha para entrar no sistema (login). Aps entrar no sistema, o X executar um dos gerenciadores de janelas configurados. Manual - Atravs do comando startx, ou xinit . Neste caso o usurio deve entrar com seu nome e senha para entrar no modo texto e ento executar um dos comandos acima. Aps executar um dos comandos acima, o servidor X ser iniciado e executar um dos gerenciadores de janelas configurados no sistema. 13.4 Servidor X Como dito acima, o servidor X controla o teclado, mouse e a exibio dos grficos

em sua tela. Para ser executado, precisa ser configurado atravs do arquivo /etc/X11/XF86Config quando o servidor o xfree86 ou atravs do arquivo /etc/X11/xorg.conf quando o servidor o XORG. Abaixo temos um exemplo de configurao do arquivo XF86Config para um sistema com teclado ABNT2 e mouse PS/2.
# XF86Config-4 (XFree86 X Window System server configuration file) # # # # # # # # # # # # # # # # # This file was generated by dexconf, the Debian X Configuration tool, using values from the debconf database. Edit this file with caution, and see the XF86Config-4 manual page. (Type "man XF86Config-4" at the shell prompt.) This file is automatically updated on xserver-xfree86 package upgrades *only* if it has not been modified since the last upgrade of the xserver-xfree86 package. If you have edited this file but would like it to be automatically updated again, run the following commands as root: cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum dpkg-reconfigure xserver-xfree86

Section "Files" FontPath "unix/:7100" # local font server # if the local font server has problems, we can fall back on these FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"

116

FontPath FontPath FontPath FontPath FontPath FontPath EndSection

"/usr/lib/X11/fonts/75dpi/:unscaled" "/usr/lib/X11/fonts/Type1" "/usr/lib/X11/fonts/CID" "/usr/lib/X11/fonts/Speedo" "/usr/lib/X11/fonts/100dpi" "/usr/lib/X11/fonts/75dpi"

Section "Module" Load "GLcore" Load "bitmap" Load "dbe" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" Load "speedo" Load "type1" Load "vbe" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "br" Option "XkbModel" "pc104" Option "XkbLayout" "abnt2" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "Emulate3Buttons" "true" Option "ZAxisMapping" "4 5" EndSection Section "Device" Identifier Driver EndSection "Placa de Vdeo Genrica" "ati"

Section "Monitor" Identifier "SyncMaster" HorizSync 30-60 VertRefresh 56-75 Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "Placa de Vdeo Genrica" Monitor "SyncMaster" DefaultDepth 16 SubSection "Display" Depth 1 Modes "1024x768" "800x600" "640x480"

117

EndSubSection SubSection "Display" Depth 4 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection

"800x600" "640x480"

"800x600" "640x480"

"800x600" "640x480"

"800x600" "640x480"

"800x600" "640x480"

Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection Section "DRI" Mode 0666 EndSection

Vamos realizar uma anlise parcial do arquivo de configurao, buscando somente os pontos principais. Na seo Files so cadastradas as fontes utilizadas pelo sistema. Geralmente essa configurao feita automaticamente pelo pacote. A seo Input Devices contm os dispositivos de entrada do sistema X. Um deles o teclado ABNT2, onde temos a configurao de um teclado de 104 teclas, para lngua br (portugus do Brasil) com layout ABNT2. O outro dispositivo de entrada o mouse, onde vimos no arquivo de configurao a seleo do protocolo PS/2 e do uso do terceiro boto. Ainda, a configurao "ZaxisMapping" habilita o boto de rolagem do mouse. Na seo Monitor so configuradas as freqencias horizontais e verticais do monitor (normalmente a deteco automtica). Finalizando a configurao do monitor, na seo Screen so definidas as possveis configuraes de cores e resoluo da tela. O arquivo de configurao do servidor X Xorg (o Xorg surgiu a partir da base do Xfree86, mas atualmente mais utilizado e sofre mais atualizaes) basicamente o mesmo, tendo uma pequena diferena para teclados ABNT2, vista abaixo: 118

Section "InputDevice" Identifier Driver Option Option Option Option Option Option EndSection "Generic Keyboard" "keyboard" "CoreKeyboard" "XkbRules" "XkbModel" "XkbLayout" "XkbVariant" "XkbOptions"

"xorg" "abnt2" "br" "abnt2" "abnt2"

Estando estes arquivos configurados, s partir para a utilizao do sistema grfico do sistema Linux e seus aplicativos. A finalizao do servidor X feita atravs do pressionamento simultneo das teclas CTRL, ALT, Back Space. O servidor X imediatamente terminado e todos os gerenciadores de janelas e programas clientes so fechados. CUIDADO: Sempre utilize a opo de sada de seu gerenciador de janelas para encerrar normalmente uma seo X11 e salve os trabalhos que estiver fazendo antes de finalizar uma seo X11. A finalizao do servidor X deve ser feita em caso de emergncia quando no se sabe o que fazer para sair de um gerenciador de janelas ou de um programa mal comportado. 13.5 Gerenciadores de Janela Como j foi dito anteriormente, existem diversos gerenciadores de janela, alguns muito simples e leves, como o Window Maker ou ICEwm e outros complexos e mais exigentes com relao a memria e processamento, como o KDE ou GNOME. O gerenciador de janela que mais se tornou mais popular foi o KDE. Para instala-lo no Debian, a forma mais simples instalar o pacote kdebase, que contem a base do gerenciador de janelas KDE (as formas de instalao de pacotes sero vistas na seqncia desta apostila). A maioria das distribuies j possuem pacotes do KDE em suas instalaes, devido a este gerenciador de janelas ser muito popular. O KDE totalmente personalizvel, podendo ser configurado para ser muito parecido visualmente e em seu uso com o sistema operacional Windows. Abaixo temos um tela do ambiente de trabalho de um gerenciador de janelas KDE.

119

Note que prximo aos cones de inicializao rpida do sistema, no canto inferior esquerdo, se encontram trs janelas numeradas, que so os trs ambientes de trabalho habilitados. uma caracterstica de sistemas linux possuir mais de um ambiente de trabalho, podendo ter vrias aplicaes sendo executadas em cada ambiente. Esta funcionalidade tem como uma de suas principais funes diminuir a poluio visual na tela de trabalho. Da mesma forma que o Windows possui um Painel de Controle, o KDE possui o seu Centro de Controle. O Centro de Controle possibilita diversas configuraes visuais e funcionais do gerenciador de janelas. No entanto, as configuraes de hardware so, na sua maioria, executadas a parte (tenha em vista que a maior parte da deteco de hardware feita pelo prprio kernel). Abaixo podemos observar o centro de controle do KDE.

120

Existem diversos aplicativos especialmente criados para KDE, como o Konqueror, que alm de browser ainda um gerenciador de arquivos semelhante ao Explorer do Windows, o K3b para gravao de Cds, entre outros. Este um dos principais motivos pelo qual este gerenciador de janelas se tornou to popular. Quando o KDE se encontra instalado em seu sistema, por padro assume como o gerenciador de janelas a ser utilizado. Poderamos falar de muitas outras caractersticas do KDE e outros gerenciadores de janela, no entanto, este no o escopo desta apostila.

14. SISTEMA DE SOM E GERENCIAMENTO DE HARDWARE


Normalmente o kernel de um sistema linux capaz de detectar a maioria do hardware instalado na mquina, como placa de som, placa de rede, placa de vdeo, chipset da placa-me, entre outros. No entanto, dispositivos como webcam, scanner, entre outros preciso ser configurados.

121

14.1 Configurando a Placa de Som com Mixer Avanado A deteco de som pelo kernel faz com que o mesmo instale um mixer para controle da placa de som que no permite mltiplos sons, como tambm muito ultrapassado em recursos, comparado com o mixer existente no Windows. Este controlador conhecido como OSS (Open System Sound). Uma das maneiras de remediar esta situao instalar o controlador de placas de som ALSA (Advanced Linux Sound Architecture), muito mais avanado, e que permite mltiplas execues de sons. Para instala-lo no Debian, basta instalar o pacote alsa-base. Ao terminar a instalao, ser executado o aplicativo alsaconf, que permite a escolha da placa de som, muito embora o prprio aplicativo j faa uma pr-seleo. Depois de instalado o ALSA alguns programas o detectaro automaticamente, em outros ser necessrio a seleo do ALSA como o mixer padro. 14.2 Verificando o Hardware Tendo instalado o mixer para controle de som, vamos partir para a anlise do restante do hardware. Para verificarmos o hardware da mquina que estamos trabalhando, podemos utilizar o aplicativo lspci. Um exemplo de sada do lspci mostrado abaixo.
0000:00:00.0 Host bridge: VIA Technologies, Inc. P4M266 Host Bridge 0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP] 0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) 0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) 0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) 0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) 0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge 0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) 0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50) 0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74) 0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

Neste arquivo podemos observar os chipsets da placa-me (P4M266 e VT8633), os controladores USB, a ponte ISA (VT8235), o controlador de IDE, o controlador de udio (VT8233/A/8235/8237) AC97, a placa de rede (VT6102) Rhine-II e a controladora de vdeo (VT8375) ProSavage8. Todos os dispositivos acoplados ao computador podem ser verificados atravs deste arquivo. No caso em questo, todos os dispositivos foram 122

detectados pelo kernel. Caso contrrio, com a informaes do comando lspci, seria possvel procurar um driver especfico para estes dispositivos. Outro comando interessante o lsmod. Este comando demonstra quais mdulos esto carregados (um driver considerado um mdulo no linux estrutura modular). A resposta ao comando lsmod para o mesmo sistema mostrada abaixo.
Module Size Used by

sg 38944 0 ipv6 254720 8 lp 11780 2 autofs4 18724 0 parport_pc 35972 1 parport 36936 2 lp,parport_pc floppy 60176 0 pcspkr 3364 0 snd_seq_oss 34432 0 snd_seq_midi 8768 0 snd_seq_midi_event 7232 2 snd_seq_oss,snd_seq_midi snd_seq 52560 5 snd_seq_oss,snd_seq_midi,snd_seq_midi_event snd_via82xx 27872 5 snd_ac97_codec 78360 1 snd_via82xx snd_pcm_oss 53344 0 snd_mixer_oss 19872 2 snd_pcm_oss snd_pcm 92712 4 snd_via82xx,snd_ac97_codec,snd_pcm_oss snd_timer 24644 3 snd_seq,snd_pcm snd_page_alloc 10020 2 snd_via82xx,snd_pcm gameport 4480 1 snd_via82xx snd_mpu401_uart 7488 1 snd_via82xx snd_rawmidi 24032 2 snd_seq_midi,snd_mpu401_uart snd_seq_device 8652 4 snd_seq_oss,snd_seq_midi,snd_seq,snd_rawmidi snd 55300 17 snd_seq_oss,snd_seq,snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm ,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device soundcore 9664 2 snd i2c_viapro 7888 0 i2c_core 22320 1 i2c_viapro shpchp 102052 0 pci_hotplug 33136 1 shpchp via_agp 9568 1 agpgart 34792 1 via_agp ehci_hcd 34248 0 uhci_hcd 32400 0 usbcore 120312 3 ehci_hcd,uhci_hcd via_rhine 23172 0 mii 4992 1 via_rhine via_ircc 30836 0 irda 193468 1 via_ircc crc_ccitt 1984 1 irda dm_mod 61948 0 mousedev 11640 1 genrtc 8936 0 evdev 9568 0 tsdev 7776 0 capability 4712 0 commoncap 6880 1 capability psmouse 29320 0 ide_cd 41892 0

123

cdrom 41216 1 ide_cd isofs 36568 0 reiserfs 248496 2 ext2 68712 0 ext3 143368 0 jbd 58200 1 ext3 mbcache 9444 2 ext2,ext3 ide_disk 18048 4 ide_generic 1216 0 [permanent] siimage 12576 0 [permanent] aec62xx 7168 0 [permanent] trm290 4260 0 [permanent] alim15x3 12140 0 [permanent] hpt34x 5216 0 [permanent] hpt366 20064 0 [permanent] cmd64x 12028 0 [permanent] piix 10308 0 [permanent] rz1000 2496 0 [permanent] slc90e66 5792 0 [permanent] generic 3904 0 [permanent] cs5530 5248 0 [permanent] cs5520 4640 0 [permanent] sc1200 7296 0 [permanent] triflex 3712 0 [permanent] atiixp 5840 0 [permanent] pdc202xx_old 11296 0 [permanent] pdc202xx_new 9024 0 [permanent] opti621 4452 0 [permanent] ns87415 4264 0 [permanent] cy82c693 4708 0 [permanent] amd74xx 14332 0 [permanent] sis5513 16424 0 [permanent] via82cxxx 13820 0 [permanent] serverworks 9192 0 [permanent] ide_core 130384 28 ide_cd,ide_disk,ide_generic,siimage,aec62xx,trm290,alim15x3,hpt34x,hpt366,cmd64x ,piix,rz1000,slc90e66,generic,cs5530,cs5520,sc1200,triflex,atiixp,pdc202xx_old,p dc202xx_new,opti621,ns87415,cy82c693,amd74xx,sis5513,via82cxxx,serverworks sd_mod 19024 0 ata_piix 9572 0 libata 48452 1 ata_piix scsi_mod 137064 3 sg,sd_mod,libata unix 27476 280 fbcon 38656 0 font 8192 1 fbcon bitblit 5664 1 fbcon vesafb 8088 0 cfbcopyarea 4000 1 vesafb cfbimgblt 2944 1 vesafb cfbfillrect 3648 1 vesafb

No caso estudado, todos os mdulos necessrios para este sistema funcionar esto carregados (funo realizada pelo kernel). No entanto, dispositivos como webcams, winmodens e scanner no apresentam tamanha facilidade de configurao. Para o caso especfico das webcams, existe a possibilidade de instalar um driver a parte, que permitir o seu funcionamento. Atualmente o driver para webcam mais completo o Spcaxx, com suporte a 167 webcams e possibilidade de compilao no 124

kernel

2.4.x

no

2.6.x,

com

download

do

cdigo

fonte

no

endereo

http://mxhaard.free.fr/download.html. Aps o download voc poder compilar o driver para o seu kernel ( necessrio ter o pacote kernel-headers instalado). Como a webcam no um dispositivo pci, a informao sobre suas especificaes no obtida com o comando lspci. No entanto, podemos observar informaes com relao a elas no log do sistema, atravs do arquivo /var/log/syslog. Abaixo temos um exemplo de deteco de uma camera Labtec com o driver Spcaxx
Oct 31 18:13:45 Spawm kernel: usb 1-2: new full speed USB device using uhci_hcd and address 3 Oct 31 18:13:45 Spawm kernel: /home/gustavo/spca5xx-20051001/drivers/usb/spca5xx.c: USB SPCA5xx camera found. Type Labtec Webcam (unknown CCD) Oct 31 18:13:45 Spawm kernel: /home/gustavo/spca5xx-20051001/drivers/usb/spca5xx.c: spca5xx: already loaded [spca5xx_probe:8764] Camera type GBGR Oct 31 18:13:46 Spawm usb.agent[6800]:

Se o driver no estivesse instalado, no log haveria a informao de um dispositivo usb, com um verdor id e um product id, por onde a cmera poder ser reconhecida. Abaixo temos a informao do mdulo carregado como driver da webcam acima. Module spca5xx Size 687472 Used by 0

Outro caso complicado de instalao de hardware so os chamados winmodens. Atualmente o linux j possui um bom suporte a winmodens, mas da mesma forma que as webcams, seu driver deve ser instalado via compilao para um kernel especfico. Os winmodens mais comuns no Brasil e que possuem driver para linux so o Intel 537ep, 536ep, Lucent, AMR, 3Com, PCTel e o US Robotics. Atravs do comando lspci podemos verificar a existncia de um winmodem no sistema, como visto abaixo.
0000:00:0a.0 Modem: Intel Corporation FA82537EP 56K V.92 Data/Fax Modem PCI (rev 04)

No exemplo acima podemos ver o modem Intel 537ep instalado no sistema. Abaixo vemos o mdulo instalado como driver deste winmodem, ocupando praticamente 4Mb de memria RAM, caracterstica forte dos winmodens (grande consumo de processador e memria em relao a outros dispositivos).

125

Module Intel537

Size

Used by

4300132 0

Um outro dispositivo de difcil instalao o scanner. O ideal procurar a lista de compatibilidade do software XSane, o melhor Twain de aquisio de imagens para linux possui uma grande lista de scanners suportados, tanto na porta paralela quanto em uma porta USB. Outros dispositivos como cmeras digitais, mp3 players, memory key, podem ser facilmente montados como um disco rgido com sistema de arquivos vfat.

15. SERVIDORES
Devido ao sistema GNU/Linux ter suporte nativo a redes TCP/IP, esse sistema torna-se ideal para a implementao de servidores, sejam eles de e-mail, web, ftp,ssh, entre outros. O primeiro passo para que possamos implementar um servidor configurar a rede da mquina que servir de servidor. Normalmente este passo realizado na instalao do sistema, e a configurao armazenada no arquivo /etc/network/interfaces e no arquivo /etc/resolv.conf. Outra necessidade para a instalao de um servidor um IP fixo. Abaixo temos um exemplo do arquivo interfaces. # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.3 netmask 255.255.255.0 gateway 192.168.1.1 126

# dns-* options are implemented by the resolvconf package, if installed dns-nameservers 200.199.252.68 200.199.241.17 Onde tornam-se visveis algumas caractersticas. A linha "iface eth0 inet static" diz que est se usando a primeira interface de rede (primeira placa de rede = eth0) com um ip esttico. O segunda linha, address indica o ip do servidor, netmask a mascara da rede e, gateway o gateway da rede onde o servidor est conectado. dns-nameserves so os servidores de nomes que sero utilizados pelo servidor. O arquivo resolv.conf contem tambm os servidores de nomes utilizados pelo servidor. Est configurao a mesma que uma mquina desktop teria, a menos que ela utiliza-se DHCP. Abaixo um exemplo de arquivo resolv.conf. search nameserver 192.168.1.1 Neste caso o modem ADSL a qual o computador ADSL est conectado considerado o servidor de nomes. Tento configurado a interface de rede, partiremos agora para os servidores. 15.1 Servidor Web O servidor web mais famoso e utilizado no mundo todo conhecido como apache. Para instala-lo em um sistema Debian necessria a instalao do pacote apache. Ao terminar a instalao do pacote voc j ter um servidor web operando. O arquivo de configurao principal do apache o /etc/apache/httpd.conf, sendo que suas principais configuraes so (tenha em vista que estas configuraes so linhas em um arquivo de texto: ServerRoot /etc/apache - local onde esto as configuraes do apache PidFile /var/run/apache.pid - local onde o apache grava um arquivo com o pid do processo

MaxClients 150 - nmero mximo de clientes que podem acessar o servidor ao mesmo tempo. Port 80 - a porta TCI/IP que o servidor ir escutar. 127

ServerAdmin webmaster@localhost - e-mail do administrador do sistema. Caso o apache verifique instabilidade em suas operaes, um e-mail ser gerado e enviado ao administrador. ServerName new.host.name - No caso do servidor ter um nome, ele pode ser especificado aqui. ex: www.pb.cefetpr.br DocumentRoot /var/www - a pasta onde os documentos da pgina sero armazenados. <Directory /var/www/> - novamente deve conter a pasta onde os documentos da pgina esto armazenados. CustomLog /var/log/apache/access.log combined - local onde o log do servidor ser armazenado. As outras configuraes do servidor apache no preciso ser alteradas. 15.2 Servidor FTP (File Transfer Protocol) Existem diversos servidores ftp para Linux, no entanto um dos mais utilizados o

wu-ftp. Para instala-lo do Debian necessrio instalar o pacote wu-ftpd. As configuraes deste servidor se encontram na pasta /etc/wu-ftpd. Dentre as configuraes podemos destacar as mensagens de entrada e sada do servidor ftp, usurios permitidos, usurios bloqueados, entre outros. 15.3 Servidor SSH (Secure Shell) Para instalar um bom servidor ssh no Debian necessrio instalar o pacote sshd. As configuraes deste servidor se encontram na pasta /etc/ssh. No arquivo sshd_config podemos configurar se permitida a entrada com senhas vazias, se permitido usar o sistema grfico atravs de ssh, entre outros. A grande vantagem de um servidor ssh ao invs de um telnet / ftp, que todo a transmisso de dados controlada por uma encriptao de 128 bits. Devido a isto, o servidor ssh utiliza muito mais processamento matemtico que um servidor ftp, perdendo em performance de transferncia de dados.

128

15.4 Servidor de e-mail Existem diversos servidores de e-mail para linux, entre eles, sendmail, exim, postfix, xmail, cyrus, etc. Neste caso cada um deles tem suas particularidades, diferenas e configuraes. Para realmente entendermos um servidor de e-mail devemos estudar a fundo suas configuraes. No entanto, o servidor Xmail possui uma interface via portas tcp/ip, que torna fcil o seu gerenciamento e configurao, como adio e subtrao de usurios e configurao de cotas. Durante a instalao do pacote o nome do servidor pop3 e smtp ser definido. O Xmail tem a limitao de ser apenas pop3, enquanto que servidores como o exim, postfix, sendmail podem operar em modo imap.

16. SISTEMA DE GERENCIAMENTO DE PACOTES


Este captulo ensina a operao bsica do programa de manipulao de pacotes Debian, a instalao, remoo, consulta e checagem de arquivos .deb. 16.1 dpkg O dpkg (Debian Package) o programa responsvel pelo gerenciamento de pacotes em sistemas Debian. Sua operao feita em modo texto e funciona atravs de comandos, assim caso deseje uma ferramenta mais amigvel para a seleo e instalao de pacotes, prefira o dselect (que um front-end para o dpkg) ou o apt. dpkg muito usado por usurios avanados da Debian e desenvolvedores para fins de instalao, manuteno e construo de pacotes. 16.1.1 Pacotes Pacotes Debian so programas colocados dentro de um arquivo identificados pela extenso .deb incluindo arquivos necessrios para a instalao do programa, um sistemas de listagem/checagem de dependncias, scripts de automatizao para remoo parcial/total do pacote, listagem de arquivos, etc. Um nome de pacote tem a forma nome-verso_reviso.deb

129

16.1.2 Instalar pacotes Use o comando: dpkg -i [NomedoPacote] (ou --install) para instalar um pacote em seu sistema. possvel que seja requisitado um outro pacote, do qual o pacote original depende. preciso especificar o nome completo do pacote (com a verso e reviso). 16.1.3 Dependncias Dependncias so pacotes requeridos para a instalao de outro pacote. Na Debian cada pacote contm um programa com uma certa funo. Por exemplo, se voc tentar instalar o pacote de edio de textos supertext que usa o programa sed, voc precisar verificar se o pacote sed est instalado em seu sistema antes de tentar instalar o supertext, caso contrrio, o pacote supertext pedir o sed e no funcionar corretamente. Note que o pacote supertext apenas um exemplo e no existe. O programa dselect faz o trabalho de checagem de dependncias automaticamente durante a instalao dos pacotes. A colocao de cada programa em seu prprio pacote parece ser uma dificuldade a mais para a instalao manual de um certo programa. Mas para os desenvolvedores que mantm os mais de 8710 pacotes existentes na distribuio Debian, um ponto fundamental, porque no preciso esperar uma nova verso do supertext ser lanada para instalar a verso mais nova do pacote sed. Por este motivo tambm uma vantagem para o usurio. 16.1.4 Listar pacotes existentes no sistema Use o comando: dpkg -l [pacote] (--list) para isto. Na listagem de pacotes tambm ser mostrado o "status" de cada um na coluna da esquerda, acompanhado do nome do pacote, verso e descrio bsica. Caso o nome do [pacote] seja omitido, todos os pacotes sero listados. recomendado usar "dpkg -l|less" para ter um melhor controle da listagem (pode ser longa dependendo da quantidade de programas instalados).

130

16.1.5 Removendo pacotes do sistema Use o comando: dpkg -r NomedoPacote (--remove) para remover um pacote do sistema completamente. Somente necessrio digitar o nome e verso do pacote que deseja remover, no sendo necessrio a reviso do pacote. O comando dpkg -r no remove os arquivos de configurao criados pelo programa. 16.1.6 Removendo completamente um pacote Use o comando: dpkg [-P ou --purge] [NomedoPacote ou -a] para remover um pacote e todos os diretrios e arquivos de configurao criados. No necessrio especificar a reviso do pacote. O comando dpkg --purge pode ser usado aps uma remoo normal do pacote (usando dpkg -r). Caso voc usar diretamente o comando dpkg --purge, dpkg primeiro remover o pacote normalmente e aps removido apagar todos os arquivos de configurao. Caso especifique a opo -a (ou sua equivalente --pending) no lugar do nome do pacote, todos os pacotes marcados para remoo sero removidos completamente do sistema. Note que o dpkg --purge somente remove arquivos de configurao conhecidos pelo pacote. Em especial, os arquivos de configurao criados para cada usurio do sistema devem ser removidos manualmente. 16.1.7 Mostrar descrio do pacote Use o comando: dpkg -I NomedoPacote (--info) para mostrar a descrio do pacote. Entre a descrio so mostradas as dependncias do pacote, pacotes sugeridos, recomendados, descrio do que o pacote faz, tamanho e nmero de arquivos que contm. 16.1.8 Procura de pacotes atravs do nome de um arquivo Use o comando: dpkg -S arquivo (--search) para saber de qual pacote existente no sistema o arquivo pertence.

131

16.1.9 Status do pacote Use o comando: dpkg -s pacote (--status) para verificar o status de um pacote em seu sistema, se esta ou no instalado, configurado, tamanho, dependncias, maintainer, etc. Se o pacote estiver instalado no sistema, o resultado ser parecido com o do comando dpkg -c [pacote] (--contents). 16.1.10 Procurando pacotes com problemas de instalao A checagem de pacotes com este tipo de problema pode ser feita atravs do comando: dpkg -C (--audit)

Sero listados todos os pacotes com algum tipo de problema, verifique os detalhes do pacote com "dpkg -s" para decidir como corrigir o problema. 16.1.11 Mostrando a lista de pacotes do sistema Use o comando: dpkg --get-selections para obter uma lista de seleo dos pacotes em seu sistema. A listagem mostrada na sada padro, que pode ser facilmente redirecionada para um arquivo usando dpkg --get-selections >dpkg.lista. A listagem obtida com este comando muito til para repetir os pacotes usados no sistema usando o dpkg --set-selections. 16.1.12 Obtendo uma lista de pacotes para instalar no sistema Use o comando: dpkg --set-selections <arquivo

132

para obter a lista de pacotes que sero instalados no sistema. O uso do dpkg --getselections e dpkg --set-selections muito til durante uma necessidade de reinstalao do sistema GNU/Linux ou repetir a instalao em vrias mquinas sem precisar selecionar algumas dezenas entre os milhares de pacotes no dselect. Aps obter a lista com dpkg --get-selections, use dpkg --set-selections <arquivo e ento entre no dselect e escolha a opo INSTALL, todos os pacotes obtidos via dpkg -set-selections sero automaticamente instalados. 16.1.13 Configurando pacotes desconfigurados Pacotes esto desconfigurados quando, por algum motivo, a instalao do mesmo no foi concluda com sucesso. Pode ter faltado alguma dependncia, acontecido algum erro de leitura do arquivo de pacote, etc. Quando um erro deste tipo acontece, os arquivos necessrios pelo pacote podem ter sido instalados, mas os scripts de configurao psinstalao no so executados. Use o comando: dpkg --configure [NomedoPacote] Para configurar um pacote. O NomedoPacote no precisa conter a reviso do pacote e extenso. 16.1.14 Listando arquivos de um pacote Use o comando: dpkg -c arquivo (--contents) para obter a listagem dos arquivos contidos no pacote. necessrio digitar o nome completo do pacote. O comando dpkg -c til para listarmos arquivos de pacotes que no esto instalados no sistema. Para obter a listagem de arquivos de pacotes j instalados no sistema, use o comando: dpkg -L arquivo. necessrio digitar somente o nome do pacote (sem a reviso e extenso).

133

16.2 apt O apt sistema de gerenciamento de pacotes de programas que possui resoluo automtica de dependncias entre pacotes, mtodo fcil de instalao de pacotes, facilidade de operao que permite atualizar facilmente sua distribuio. Ele funciona atravs de linha de comando sendo bastante fcil de usar. Mesmo assim, existem interfaces grficas para o apt como o synaptic (modo grfico) e o aptitude (modo texto) que permitem poderosas manipulaes de pacotes sugeridos. O apt pode utilizar tanto com arquivos locais como remotos na instalao ou atualizao, desta maneira possvel atualizar toda a sua distribuio Debian via ftp ou http com apenas 2 simples comandos. recomendvel o uso do mtodo apt no programa dselect pois ele permite a ordem correta de instalao de pacotes e checagem e resoluo de dependncias, etc. Devido a sua facilidade de operao, o apt o mtodo preferido para os usurios manipularem pacotes da Debian. O apt exclusivo da distribuio Debian e distribuies baseadas nela e tem por objetivo tornar a manipulao de pacotes poderosa por qualquer pessoa e tem dezenas de opes que podem ser usadas em sua execuo ou configuradas no arquivo /etc/apt/apt.conf. Aqui sero explicadas as aes bsicas com o apt, portanto se desejar maiores detalhes sobre suas opes, veja a pgina de manual apt-get. 16.2.1 O arquivo /etc/apt/sources.list Este arquivo contm os locais onde o apt encontrar os pacotes, a distribuio que ser verificada (stable, testing, unstable, Woody, Sarge) e a seo que ser copiada (main, non-free, contrib, non-US). Woody(Debian 3.0) e Sarge(Debian 3.1) so os nomes das verses enquanto stable e unstable so links para as verses estvel e instvel respectivamente. Se desejar usar sempre uma distribuio estvel (como a Woody), modifique o arquivo sources.list e coloque Woody como distribuio. Caso voc desejar estar sempre atualizado mas uma pessoa cuidadosa e deseja ter sempre a ltima distribuio estvel da Debian, coloque stable como verso. Assim que a nova verso for lanada, os links que apontam de stable para Woody sero alterados apontando para Sarge e voc ter seu sistema atualizado. Abaixo um exemplo simples de arquivo /etc/apt/sources.list com explicao das sees:

134

deb http://http.us.debian.org/debian testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free Voc pode interpretar cada parte da seguinte maneira:

deb - Identifica um pacote da Debian. A palavra deb-src identifica o cdigo fonte. http://http.us.debian.org/debian - Mtodo de acesso aos arquivos da Debian, site e diretrio principal. O caminho pode ser http://, ftp://, file:/. testing - Local onde sero procurados arquivos para atualizao. Voc pode tanto usar o nome de sua distribuio (Woody, Sarge) ou sua classificao (stable, testing ou unstable. Note que unstable recomendada somente para desenvolvedores, mquinas de testes e se voc tem conhecimentos para corrigir problemas. Nunca utilize unstable em ambientes de produo ou servidores crticos, use a stable ou testing. main contrib non-free - Sees que sero verificadas no site remoto. Note que tudo especificado aps o nome da distribuio ser interpretado como

sendo as sees dos arquivos (main, non-free, contrib, non-US). As linhas so processadas na ordem que esto no arquivo, ento recomendvel colocar as linhas que fazem referncia a pacotes locais primeiro e mirrors mais perto de voc para ter um melhor aproveitamento de banda. O caminho percorrido pelo apt para chegar aos arquivos ser o seguinte: http://www.debian.org/debian/dists/testing/main/binary-i386 http://www.debian.org/debian/dists/testing/non-free/binary-i386 http://www.debian.org/debian/dists/testing/contrib/binary-i386 Voc notou que o diretrio dists foi adicionado entre http://www.debian.org/debian e stable, enquanto as sees main, non-free e contrib so processadas separadamente e finalizando com o caminho binary-[arquitetura], onde [arquitetura] pode ser i386, alpha, sparc, powerpc, arm, etc. dependendo do seu sistema. Entendendo isto, voc poder manipular o arquivo sources.list facilmente. OBS: Caso tenha mais de uma linha em seu arquivo sources.list de onde um pacote pode ser instalado, ele ser baixado da primeira encontrada no arquivo. recomendvel colocar primeiro repositrios locais ou mais perto de voc, como recomendado nesta seo. 135

16.2.1.1 Endereos de servidores e mirrors nacionais da Debian Segue abaixo uma relao de servidores que podem ser colocados em seu arquivo sources.list: Endereo -------ftp://ftp.debian.org.br ftp://ftp.br.debian.org ftp://ftp.debian.org ftp://download.sourceforge.net ftp://ftp.quimica.ufpr.br ftp://download.unesp.br Diretrio Principal -----------------/debian /debian /debian /debian /debian /linux/debian

16.2.1.2 Um modelo de arquivo sources.list Voc pode copiar o modelo do sources.list abaixo para ser usado em sua distribuio Stable ou personaliza-lo modificando a distribuio utilizada e servidores: ##Debian Testing(Etch)## deb http://http.us.debian.org/debian testing main contrib non-free ## Repositorio de segurana da distribuio testing## deb http://security.debian.org/ testing/updates main contrib non-free ##Driver para placas SiS## deb http://www.winischhofer.net/sis/debian/unstable ./ ##Mplayer&Etc...## deb ftp://ftp.nerim.net/debian-marillat/ unstable main ##Java## deb http://luon.net/debian unstable main deb http://www.linex.org/sources/linex/debian sarge linex ##Bootsplash & Skype## deb http://www.bootsplash.de/files/debian unstable main ##Opera## deb http://deb.opera.com/opera/ unstable non-free # Kde 1 e 2 deb ftp://kde.tdyc.com/pub/kde/debian woody main crypto optional qt1apps 136

16.2.2 O arquivo /etc/apt/apt.conf Voc pode especificar opes neste arquivo que modificaro o comportamento do programa apt durante a manipulao de pacotes (ao invs de especificar na linha de comando). Se estiver satisfeito com o funcionamento do programa apt, no necessrio modifica-lo. Para detalhes sobre o formato do arquivo, veja a pgina de manual do apt.conf. Na pgina de manual do apt-get so feitas referncias a parmetros que podem ser especificados neste arquivo ao invs da linha de comando. 16.2.3 Copiando a lista de pacotes disponveis O apt utiliza uma lista de pacotes para verificar se os pacotes existentes no sistema precisam ou no ser atualizados. A lista mais nova de pacotes copiada atravs do comando apt-get update. Este comando pode ser usado com alguma freqncia se estiver usando a distribuio stable e sempre se estiver usando a unstable (os pacotes so modificados com muita freqncia). Sempre utilize o apt-get update antes de atualizar toda a distribuio. 16.2.4 Utilizando CDs oficiais/no-oficiais/terceiros com o apt Para usar CDs da Debian ou de programas de terceiros, use o seguinte comando com cada um dos CDs que possui: apt-cdrom add Este comando adicionar automaticamente uma linha para cada CD no arquivo /etc/apt/sources.list e atualizar a lista de pacotes em /var/state/apt/lists. Por padro, a unidade acessada atravs de /cdrom usada. Use a opo -d /dev/scd? para especificar um outra unidade de CDs. Durante a instalao de um novo programa, o apt pede que o CD correspondente seja inserido na unidade e pressionado <Enter> para continuar. O mtodo acesso do apt atravs de CDs inteligente o bastante para instalar todos os pacotes necessrios daquele CD, instalar os pacotes do prximo CD e iniciar a configurao aps instalar todos os pacotes necessrios.

137

Observao: - CDs de terceiros ou contendo programas adicionais tambm podem ser usados com o comando "apt-cdrom add". 16.2.5 Instalando novos pacotes Use o comando apt-get install [pacotes] para instalar novos pacotes em sua distribuio. Podem ser instalados mais de um pacotes ao mesmo tempo separando os nomes por espaos. Somente preciso especificar o nome do pacote (sem a verso e reviso). Se preciso, o apt instalar automaticamente as dependncias necessrias para o funcionamento correto do pacote. Quando pacotes alm do solicitado pelo usurio so requeridos para a instalao, o apt mostrar o espao total que ser usado no disco e perguntar ao usurio se ele deseja continuar. Aps a instalao, o pacote ser automaticamente configurado pelo dpkg para ser executado corretamente em seu sistema. 16.2.6 Removendo pacotes instalado Use o comando apt-get remove [pacotes] para remover completamente um pacote do sistema. Podem ser removidos mais de um pacote ao mesmo tempo separando os nomes dos pacotes com espaos. O apt-get remove remove completamente o pacote mas mantm os arquivos de configurao, exceto se for adicionada a opo --purge. preciso especificar somente o nome do pacote (sem a verso e reviso). 16.2.7 Atualizando sua distribuio O apt tem uma grande caracterstica: Atualizar toda a sua distribuio de uma forma inteligente e segura. O apt l a listagem de pacotes disponveis no servidor remoto, verifica quais esto instalados e suas verses, caso a verso do pacote seja mais nova que a j instalada em seu sistema, o pacote ser imediatamente atualizado. A cpia dos arquivos pelo apt pode ser feita via FTP, HTTP ou atravs de uma cpia local dos arquivos no disco rgido (um mirror local). Em nenhuma circunstncia os pacotes existentes em seu sistema sero removidos ou sua configurao apagada durante um upgrade na distribuio. Os arquivos de configurao em /etc que foram modificados so identificados e

138

podem ser mantidos ou substitudos por verses existentes nos pacotes que esto sendo instalado, esta escolha feita por voc. Aps isto, a atualizao da distribuio Debian pode ser feita atravs de dois simples comandos: apt-get update apt-get -f dist-upgrade #Para atualizar a lista de pacotes (obrigatrio) #Para atualizar a distribuio

A opo -f faz com que o apt verifique e corrija automaticamente problemas de dependncias entre pacotes. A distribuio usada na atualizao pode ser:

Para a mesma verso que utiliza - Para quem deseja manter os pacotes sempre atualizados entre revises, copiar pacotes que contm correes para falhas de segurana (veja a pgina web em http://www.debian.org/ para acompanhar o boletim de segurana). Para uma distribuio stable - Mesmo que o acima, mas quando uma nova distribuio for lanada, o link simblico de stable ser apontado para prxima distribuio, atualizando instantaneamente seu sistema. Para a distribuio testing - Atualiza para a futura distribuio Debian que ser lanada, como a unstable, mas seus pacotes passam por um perodo de testes de 2 semanas na unstable antes de serem copiados para esta. unstable Verso em desenvolvimento, recomendada somente para

desenvolvedores ou usurios que conhecem a fundo o sistema GNU/Linux e saibam resolver eventuais problemas que apaream. A unstable uma distribuio em constante desenvolvimento e podem haver pacotes problemticos ou com falhas de segurana. Aps o perodo de desenvolvimento, a distribuio unstable se tornar frozen.

frozen - Verso congelada, nenhum pacote novo aceito e somente so feitas correes de falhas. Aps todas as falhas estarem corrigidas, a distribuio frozen se tornar stable A distribuio que ser usada na atualizao pode ser especificada no arquivo

/etc/apt/sources.list (veja a seo correspondente acima). Caso o mtodo de atualizao usado seja via HTTP ou FTP, ser necessrio usar o comando apt-get clean para remover os pacotes copiados para seu sistema (para detalhes veja a seo seguinte). 139

16.2.8 Removendo pacotes baixados pelo apt Use o comando apt-get clean para apagar qualquer arquivo baixado durante uma atualizao ou instalao de arquivos com o apt. Os arquivos baixados residem em /var/cache/apt/archives (download completo) e /var/cache/apt/archives/partial (arquivos sendo baixados - parciais). Este local de armazenamento especialmente usado com o mtodo http e ftp para armazenamento de arquivos durante o download para instalao (todos os arquivos so primeiro copiados para serem instalados e configurados). O apt-get clean automaticamente executado caso seja usado o mtodo de acesso apt do dselect. 16.2.9 Procurando por pacotes atravs da descrio O utilitrio apt-cache pode ser usado para esta funo. Ele tambm possui outras utilidades interessante para a procura e manipulao da lista de pacotes. Por exemplo, o comando apt-cache search clock mostrar todos os pacotes que possuem a palavra clock na descrio do pacote. 16.2.10 Procurando um pacote que contm determinado arquivo Suponha que algum programa esteja lhe pedindo o arquivo perlcc e voc no tem a mnima idia de que pacote instalar no seu sistema. O utilitrio auto-apt pode resolver esta situao. Primeiro instale o pacote auto-apt e execute o comando auto-apt update para que ele copie o arquivo Contents-i386.gz que ser usado na busca desses dados. Agora, basta executar o comando: auto-apt search perlcc para que ele retorne o resultado: usr/bin/perlcc interpreters/perl O pacote que contm este arquivo o perl e se encontra na seo interpreters dos arquivos da Debian. Para uma pesquisa que mostra mais resultados (como auto-apt search a2ps), interessante usar o grep para filtrar a sada:

140

auto-apt search a2ps|grep bin/ usr/bin/psmandup usr/bin/pdiff text/a2ps usr/bin/psset text/a2ps usr/bin/composeglyphs text/a2ps usr/bin/a2psj text/a2ps-perl-ja usr/bin/a2ps text/a2ps text/a2ps usr/bin/fixps text/a2ps usr/bin/ogonkify usr/bin/card usr/bin/fixnt text/a2ps text/a2ps usr/bin/texi2dvi4a2ps text/a2ps Sero mostrados somente os binrios, diretrios de documentao, manpages, etc. no sero mostradas. 16.2.11 Modos eficazes de compilao do cdigo fonte para a Debian O Debian como qualquer distribuio de Linux, possui o diretrio /usr/local que segundo a FHS o local apropriado para colocao de programas que no fazem parte da distribuio, que seria no caso o de fontes compilados manualmente. Um dos grandes trabalhos de quem pega o cdigo fonte para compilao a instalao de bibliotecas de desenvolvimento para a compilao ocorrer com sucesso. O auto-apt facilita magicamente o processo de compilao da seguinte forma: durante o passo ./configure no momento que pedida uma bibliotecas, dependncia, etc. o auto-apt para o processo, busca por pacotes no repositrio da Debian, pergunta qual pacote ser instalado (caso tenha mais de uma opo), instala e retorna o ./configure do ponto onde havia parado. Para fazer isso, execute o comando: auto-apt run ./configure E ele se encarregar do resto. text/a2ps

141

16.2.12 Verificando pacotes corrompidos Use o comando apt-get check para verificar arquivos corrompidos. A correo feita automaticamente. A lista de pacotes tambm atualizada quando utiliza este comando. 16.2.13 Corrigindo problemas de dependncias e outros erros Use o comando apt-get -f install (sem o nome do pacote) para que o apt-get verifique e corrija problemas com dependncias de pacotes e outros problemas conhecidos.

17. COMO OBTER AJUDA NO SISTEMA


Dvidas so comuns durante o uso do GNU/Linux e existem vrias maneiras de se obter ajuda e encontrar a resposta para algum problema. O GNU/Linux um sistema bem documentado, provavelmente tudo o que imaginar fazer ou aprender j esta disponvel para leitura e aprendizado. Abaixo segue algumas formas teis para encontrar a soluo de sua dvida, vale a pena conhece-las. 17.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] onde: seo a seo de manual que ser aberta, se omitido, mostra a primeira seo sobre o comando encontrada (em ordem crescente). 142

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 - Inicio 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). Exemplo, man ls, man 5 hosts_access. 17.2 Info Pages Idntico as pginas de manual, mas usada navegao entre as pginas. Se

pressionarmos <Enter> em cima de uma palavra destacada, a info pages nos levar a seo correspondente. A info pages til quando sabemos o nome do comando e queremos saber para o que ele serve. Tambm traz explicaes detalhadas sobre uso, opes e comandos. Para usar a info pages, digite: info [comando/programa] Se o nome do comando/programa no for digitado, a info pages mostra a lista de todos os manuais de comandos/programas disponveis. A navegao da info pages feita atravs de nomes marcados com um "*" (hipertextos) que se pressionarmos <Enter>, nos levar at a seo correspondente. A info pages possui algumas teclas de navegao teis:

q - Sai da info pages ? - Mostra a tela de ajuda (que contm a lista completa de teclas de navegao e muitos outras opes). 143

n - Avana para a prxima pgina p - Volta uma pgina u - Sobre um nvel do contedo (at checar ao ndice de documentos) m - Permite usar a localizao para encontrar uma pgina do info. Pressione m, digite o comando e tecle <Enter> que ser levado automaticamente a pgina correspondente. d - Volta ao ndice de documentos. Existem muitos outras teclas de navegao teis na info pages, mas estas so as

mais usadas. Para mais detalhes, entre no programa info e pressione ?. Exemplo, info cvs. 17.3 Help on line Ajuda rpida, til para sabermos quais opes podem ser usadas com o comando/programa. Quase todos os comandos/programas GNU/Linux oferecem este recurso que til para consultas rpidas (e quando no precisamos dos detalhes das pginas de manual). til quando se sabe o nome do programa mas deseja saber quais so as opes disponveis e para o que cada uma serve. Para acionar o help on line, digite: [comando] --help comando - o comando/programa que desejamos ter uma explicao rpida. O Help on Line no funciona com comandos internos (embutidos no Bash). Por exemplo, ls --help. 17.4 help Ajuda rpida, til para saber que opes podem ser usadas com os comandos internos do interpretador de comandos. O comando help somente mostra a ajuda para comandos internos, para ter uma ajuda similar para comandos externos. Para usar o help digite: 144

help [comando] Por exemplo, help echo, help exit Existem ainda diversar outras formas de se obter ajuda em um sistema linux, a maior parte delas obtidas via Web. A maioria dos sistemas linux possui sistemas de FAQ e Help online.

145