Sunteți pe pagina 1din 118

LINUX

Administrador de Sistemas

GOINIA 2000

NDICE
1- Introduo.............................................................................................. 01 1.1- Histrico............................................................................................. 01 1.2- Linux x UNIX.................................................................................... 01 1.3- Free Software Foundation e GNU...................................................... 02 1.3.1- Free Software Foundation........................................................ 02 1.3.2- Projeto GNU............................................................................ 02 1.4- Outras Iniciativas................................................................................ 03 2- Kernel..................................................................................................... 05 2.12.22.32.4Definio............................................................................................ Esquema de Numerao de Verses.................................................. Desenvolvimento do Kernel............................................................... Funes e Bom Uso do Kernel.......................................................... 05 05 06 06

3- Sistema de Arquivos no Linux............................................................. 08 3.13.23.33.43.53.6Introduo.......................................................................................... Arquivos............................................................................................. Diretrios........................................................................................... Tipos de Arquivos.............................................................................. Atributos dos Arquivos...................................................................... Hierarquia de Arquivos e Diretrios.................................................. 08 08 08 09 09 10

4- Comandos e Ferramentas Importantes............................................... 14 4.14.24.34.44.5Introduo.......................................................................................... Consideraes Iniciais........................................................................ Comandos Bsicos............................................................................. Comandos Avanados........................................................................ Utilitrios Importantes....................................................................... 4.3.1- dd.............................................................................................. 4.3.2- tar............................................................................................. 4.3.3- rpm........................................................................................... 4.3.4- gunzip/gzip............................................................................... 4.3.5- find.......................................................................................... 4.3.6- fdformat................................................................................... 4.3.7- mkfs......................................................................................... 4.3.8- fsck.......................................................................................... 4.3.9- mtools...................................................................................... 14 14 15 18 22 22 23 23 24 24 25 25 25 25

5- Instalao do Sistema............................................................................ 27 5.15.25.35.45.55.65.75.85.95.105.115.125.135.145.155.165.17Usando o Teclado para Navegar........................................................ Carregando o Programa de Instalao................................................ Instalando Sem o Uso do Disquete de Inicializao.......................... Iniciando a Instalao......................................................................... Classes de Instalao.......................................................................... Criando as Parties........................................................................... 5.6.1- Usando o Disk Druid............................................................... 5.6.2- Usando o fdisk........................................................................ Configurao do Sistema de Arquivos............................................... Selecionando e Instalando Pacotes.................................................... 5.8.1- Dependncias Entre Pacotes.................................................... 5.8.2- Instalao de Pacote................................................................. Instalando o Mouse............................................................................ Instalando a Rede............................................................................... Configurando o Relgio..................................................................... Selecionando Servios Inicializados Automaticamente..................... Instalando a Impressora..................................................................... Definindo a Senha do Super Usurio................................................. Criando um Disquete de Inicializao do Sistema............................. Instalando o LILO.............................................................................. Instalando o Servidor Grfico............................................................ 27 28 29 29 31 32 32 35 36 37 38 38 39 39 39 40 40 41 41 42 43

6- Ambiente Grfico.................................................................................. 45 6.1- Introduo.......................................................................................... 45 6.2- Servidor Grfico (X11) ..................................................................... 45 6.3- General User Interface (GUI)............................................................. 45 6.3.1- MOTIFF.................................................................................. 46 6.3.2- QT........................................................................................... 46 6.3.3- GTK........................................................................................ 47 6.4- Gerenciadores de Janela..................................................................... 48 6.4.1- KDE........................................................................................ 48 6.4.2- Enlightenment......................................................................... 48 6.4.3- Window Maker....................................................................... 48 6.5- GNOME............................................................................................. 49 7- Interpretador de Comandos................................................................. 50 7.17.27.37.47.5Introduo.......................................................................................... Shell x Prompt.................................................................................... Scripts x Arquivos batch................................................................... Exemplos de Shell.............................................................................. Programao em Shell (csh).............................................................. 7.5.1- Operadores.............................................................................. 7.5.2- Caracteres Especiais................................................................ 7.5.3- Variveis Locais...................................................................... 7.5.4- Passagem de Parmetros......................................................... 7.5.5- Variveis Globais.................................................................... 7.5.6- Comandos Condicionais e em Lao........................................ 50 50 50 51 51 52 52 53 53 54 54

8- Configurao do Sistema...................................................................... 57 8.1- Introduo.......................................................................................... 57 8.2- O Teclado........................................................................................... 57 8.2.1- O que um mapa de teclado? ................................................ 57 8.2.2- Comandos do Pacote KBD..................................................... 57 8.2.3- Configurando o Teclado no Console...................................... 58 8.2.4- Configurando o Teclado no Ambiente Grfico....................... 59 8.3- As Portas de Comunicao................................................................ 59 8..3.1- setserial.................................................................................. 60 8.4- O Mouse............................................................................................. 61 8.5- A Impressora...................................................................................... 61

8.6- O Modem........................................................................................... 62 8.6.1- Problemas de IRQ................................................................... 62 9- Administrao do Sistema.................................................................... 64 9.19.29.39.4Introduo.......................................................................................... Partida e Parada (Os Nveis de Execuo) ........................................ Arquivos Importantes do Diretrio /etc............................................. Administrao de Usurios................................................................ 9.4.1- Etapas de Criao de um Usurio.......................................... 9.4.2- Arquivos de Inicializao de Login........................................ 9.4.3- Poder para o Usurio............................................................... 9.4.4- O Comando sudo.................................................................... 9.5- Gerenciamento de Processos.............................................................. 9.5.1- Atributos de um Processo....................................................... 9.5.2- Desenvolvimento de um Processo.......................................... 9.4.3- Tipos de Processos.................................................................. 9.5.4- Monitoramento e Controle de Processos................................ 9.6- Administrao e Controle de Tarefas................................................. 9.7- Alguns Daemons Importantes............................................................ 9.7.1- O Daemon atd......................................................................... 9.7.2- O Daemon crond.................................................................... 9.7.3- O Daemon lpd......................................................................... 9.7.4- O Daemon syslogd.................................................................. 64 64 66 69 69 70 70 70 71 72 72 73 74 75 76 76 77 78 79

10- Linux e Redes........................................................................................ 81 10.110.210.310.410.5Introduo.......................................................................................... Comandos teis para Configurao de Redes................................... Arquivos Importantes......................................................................... Point-to-Point Protocol (PPP)............................................................ Network File System (NFS)............................................................... 10.5.1- Configuraes Iniciais........................................................... 10.5.2- Nvel Servidor........................................................................ 10.5.3- Nvel Cliente.......................................................................... 10.6- File Transfer Protocol (FTP).............................................................. 10.6.1- Nvel Servidor........................................................................ 10.6.2- Nvel Cliente.......................................................................... 10.7- Telnet................................................................................................. 81 81 83 85 85 85 86 87 87 88 89 90

11- Conectando-se Internet por Acesso Discado................................... 91 11.1- Introduo.......................................................................................... 11.2- Conexo usando o programa Minicom.............................................. 11.3- Conexo Automatizada - Dial UP...................................................... 11.4- Conexo usando Gnome-PPP............................................................ 91 91 92 93

12- Bibliografia............................................................................................ 95 APNDICE 1 Conceitos Importantes Sobre Sistemas Operacionais.. APNDICE 2 Sobre as Diversas Distribuies de Linux.................... APNDICE 3 - Preparao para o Linux................................................ APNDICE 4 O Editor vi....................................................................... APNDICE 5 Compilao do Kernel.................................................... APNDICE 6 A Gnu Public License..................................................... 96 97 99 101 103 105

Agradecemos a todos os nossos colaboradores, os quais, como ns, acreditam em liberdade de idias e de escolha.

Esse material distribudo como um produto que obedece GNU PUBLIC LICENSE.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

1- Introduo
1.1- Histrico
O Linux foi, originalmente, escrito por Linus Torvalds do Departamento de Cincia da Computao da Universidade de Helsinki, Finlndia, com a ajuda de vrios programadores voluntrios atravs da Internet. Linus Torvalds iniciou promovendo o kernel como um projeto particular, inspirado em seu interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew Tanenbaum. Ele se limitou a criar, em suas prprias palavras, um Minix melhor que o Minix. E depois de algum tempo de trabalho em seu projeto, sozinho, ele enviou a seguinte mensagem para a Internet: Voc suspira pelos bons dias do Minix-1.1, quando homens eram homens e escreviam seus prprios drivers de dispositivos? Voc est sem um bom projeto e morrendo de vontade de ter uma primeira experincia com um sistema operacional que voc possa modificar para se adequar s suas necessidades? Voc est achando frustrante que tudo funcione no Minix? No agenta mais noites trabalhando para colocar bons programas em funcionamento? Ento esta mensagem pode ser exatamente para voc. Como mencionei h um ms atrs, estou trabalhando em um sistema operacional gratuito similar ao Minix para computadores AT-386. Ele finalmente alcanou um estgio em que pode ser utilizado (pode tambm no ser dependendo do que voc deseja), e eu desejo colocar os arquivos fonte para ampla distribuio. Est apenas na verso 0.02...mas obtive sucesso utilizando bash, gcc, gnu-make, gnu-sed, compress, etc. No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira verso oficial do Linux, verso 0.02. Desde ento muitos programadores tm respondido ao seu chamado e tm ajudado a fazer do Linux o Sistema Operacional que hoje.

1.2- Linux x UNIX


Sendo um assunto ainda recente, muito se especula a respeito do que seria o Linux, e um erro freqente categorizar o Linux como se fosse UNIX. Portanto, torna-se importante frisar: Linux no UNIX. Na verdade, o Linux um sistema operacional concebido segundo os padres UNIX. Contudo, no possui sequer uma linha de cdigo do UNIX. O UNIX TM uma marca registrada do Unix Lab. Todos os sistemas baseados naqueles cdigos so chamados de uma forma geral de UNIX. O Linux, estritamente falando, o kernel, ou seja, a parte central do sistema, responsvel por intermediar a relao entre aplicativos e hardware. Desenvolvido inicialmente pelo programador finlands Linus Torvalds, hoje conta com alguns milhares de colaboradores ativos, espalhados pelo mundo inteiro. Muitas contribuies vm de fontes diferentes: o gcc

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

(compilador C), gmake (ferramenta utilizada na otimizao de compilaes), bison, flex, e outros programas provm da Free Software Foundation e seus colaboradores, normalmente liberadas com licena estilo GNU, a qual abordaremos no prximo tpico desse material. Grande parte dos utilitrios de rede, so provenientes de distribuies da Universidade de Berkeley, com licenas mais restritivas que o GNU, conhecidas como BSD (Berkeley Software Design). O sistema de gerenciamento da interface grfica baseado em janelas, tambm conhecido como X-Windows, foi desenvolvido originalmente pelo MIT (Massachusetts Institute of Technologies), com contrato envolvendo a Xerox Corporation e hoje mantido por uma associao, a X-Open. A verso usada com o Linux normalmente provm de uma outra organizao com nome XFree, mas tambm existem servidores comerciais, tais como o MetroX e o AcceleratedX.

1.3- Free Software Foundation e GNU


1.3.1- Free Software Foundation
A expresso Free Software se refere liberdade do usurio de executar, copiar, distribuir, estudar, alterar e melhorar o software. Mais precisamente, se refere a quatro nveis de liberdade:

A liberdade de executar um programa, para qualquer finalidade; A liberdade de estudar como o programa funciona e adapt-lo s suas necessidades; A liberdade de distribuir cpias para qualquer pessoa; A liberdade de melhorar programas e liberar suas modificaes ao pblico para que todos se beneficiem.

Portanto, voc tem a liberdade de distribuir cpias de programas, com ou sem modificaes, grtis ou cobrando uma taxa de distribuio, para qualquer um, em qualquer lugar. Voc tambm tem a liberdade de fazer modificaes e utiliz-las em benefcio prprio, sem nem mesmo mencionar que elas existem. Se voc resolver publicar suas modificaes, no tem a obrigao de notificar ningum em particular.

1.3.2- Projeto GNU


O projeto GNU foi concebido em 1983 como um modo de trazer de volta o esprito cooperativo que prevalecia no mundo da computao em anos anteriores. Em 1971, quando Richard Stallman comeou sua carreira no MIT, ele trabalhou em um grupo que utilizava exclusivamente o software livre. At mesmo companhias de computao distribuam esse tipo de software. Os programadores tinham a liberdade de colaborar uns com os outros, o que geralmente acontecia. J no incio da dcada de 80, quase todo o software havia se tornado proprietrio. Nessa realidade surgiu o projeto GNU.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

A idia inicial do projeto idealizado por Stallman era a de construir um sistema operacional completo e compatvel com o padro UNIX, o qual atendesse a toda e qualquer necessidade do usurio comum, sem que esse precisasse recorrer ao software proprietrio. O objetivo inicial foi alcanado j no incio dos anos 90, com a implementao da grande maioria dos componentes do sistema GNU. A exceo era o kernel do sistema. Foi justamente nesse perodo que surgiu um promissor projeto de kernel com o cdigo fonte aberto para distribuio, produzido por um jovem estudante finlands, o qual mais tarde foi combinado ao software GNU, dando origem a um sistema operacional completo e eficiente.

1.4- Outras Iniciativas


Apesar de ser o sistema operacional aberto com padro UNIX de maior destaque no momento, o Linux no a nica iniciativa do gnero. Um bom exemplo disso o sistema BSD em suas diversas vertentes de desenvolvimento. Desenvolvido inicialmente pela Universidade de Berkeley, esse sistema se divide em vrios outros, em sua maioria gratuitos e com o cdigo fonte aberto. Dentre os diversos BSD existentes, podemos destacar o FreeBSD, o OpenBSD, o NetBSD e o BSDI. O BSDI a verso comercial do BSD. o nico deles pelo qual se cobra e que no possui cdigo fonte aberto. Possui uma proposta bem definida: desenvolvimento de ferramentas para redes, contando para isso com aliados poderosos, tais como US Robotics, Sun Microsystems, Bay Networks, Netscape, Secure Computing, Air Touch Cellular, Digital Equipment Corporation, NEC, AT&T e Motorola. Apesar de inicialmente desenvolvido para a plataforma PC, so grandes os incentivos, principalmente destes aliados, no sentido de se portar o sistema para outras plataformas, como por exemplo PowerPC e Sparc. Quanto aos trs outros sistemas citados, podemos dizer que as diferenas so poucas. Todos eles so distribudos gratuitamente. A maior desvantagem do FreeBSD que ele s comporta a plataforma PC, enquanto que o OpenBSD e o NetBSD comportam outras plataformas. Em contrapartida, o FreeBSD possui um melhor tratamento para a memria virtual quando comparado com os outros dois sistemas em questo. Quanto compatibilidade, os programas desenvolvidos em qualquer tipo de BSD normalmente no ter maiores problemas para funcionar nos outros. Mas se a pergunta o porqu de tais sistemas no fazerem o mesmo sucesso do Linux, a resposta simples. O BSD e suas diversas vertentes foram desenvolvidos em meio altamente cientfico: uma Universidade. Deste modo, a filosofia do sistema um pouco mais, digamos, formal, que a do Linux. O objetivo desenvolver ferramentas mais poderosas e robustas, principalmente no que diz respeito a segurana e a redes de computadores. O pblico alvo do sistema so muito mais os grandes servidores de redes que o usurio comum.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

Na verdade, essa proposta vem sendo bem aceita na medida que diversos servidores de redes vm adotando um dos sistemas BSD como seu sistema operacional padro.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

2- Kernel
2.1- Definio
O kernel nada mais , de uma maneira bem simples, que o ncleo de um sistema operacional. ele o responsvel de estabelecer a comunicao entre software e hardware. Tambm aqui existe uma confuso bastante freqente: ao contrrio do que muitos pensam, o kernel no uma exclusividade do Linux. Ele existe em qualquer sistema operacional. O assunto kernel na comunidade Linux bastante comum devido as freqentes atualizaes que ele sofre, o que geralmente no ocorre em outros sistemas. O kernel a parte do sistema operacional responsvel pelo gerenciamento do hardware. ele cabe o gerenciamento de memria, dos dispositivos de sistema (tais como discos rgidos, placas de som, portas seriais), e do kernel tambm a responsabilidade de fazer a interface entre os aplicativos do sistema e o hardware, impedindo que os aplicativos faam um acesso direto ao hardware, o que considerada uma falha de segurana grave. De uma maneira mais objetiva, poderamos dizer que o kernel o sistema operacional em si, da forma mais pura.

2.2- Esquema de Numerao de Verses


O desenvolvimento contnuo e extremamente rpido do kernel do Linux criou a necessidade de um esquema de numerao bem definido, a fim de manter a organizao e a qualidade do sistema. Deste modo, ficou estabelecido que as verses do kernel seriam numeradas num esquema de trs grupos de dgitos separados por ponto, seguindo o seguinte critrio:

primeiro grupo indica a verso do kernel propriamente dita; segundo grupo diz respeito ao tipo de desenvolvimento, cabendo s verses estveis os nmeros pares e s verses de desenvolvimento os nmeros mpares; terceiro grupo diz respeito ao nvel de desenvolvimento dentro daquela verso.

Exemplos : 2.2.10 | | | | | verso dez deste kernel | verso estvel verso dois do kernel do linux

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

2.3.9 | | | | | verso nove deste kernel | verso de desenvolvimento verso dois do kernel do linux

2.3- Desenvolvimento do Kernel


Apesar de sofrer modificaes promovidas por um grande nmero de pessoas em todo o mundo, a conciso e eficincia do sistema no , de maneira alguma, comprometida. Toda modificao s efetivamente incorporada ao kernel oficial mediante aprovao de um grupo de pessoas especificamente designadas para esta tarefa. So pessoas que conhecem cada linha de cdigo do projeto. Esse grupo de pessoas gerenciado pelo americano Allan Cox, pago pela RedHat Organization especificamente para esta funo. dele a ltima palavra nas decises a respeito do kernel.

2.4- Funes e Bom Uso do Kernel


Um kernel bem configurado fundamental para o bom funcionamento de seu sistema, mas uma tarefa um tanto perigosa e complicada para um usurio iniciante. Basicamente, a instalao ou atualizao do kernel feita de modo a atender as necessidades do sistema e de seus usurios. Os motivos dessa atualizao podem ser vrios, tais como, correo de alguma falha de segurana ou bug (termo usado para designar algum erro ou falha de programao), personalizao do sistema, ou adio de algum novo recurso ou driver de dispositivo ao sistema. De uma maneira bem simplificada, o kernel o responsvel direto por fazer o reconhecimento de cada componente do computador. Mais que isso, ele desempenha as funes de tradutor e de intrprete dos componentes de hardware da mquina, deixando a cargo do usurio tarefas mais simples de serem entendidas e executadas. Enfim, o kernel o responsvel pela integrao entre usurio e mquina. De uma maneira mais tcnica, o kernel do Linux comumente distribudo na forma de cdigo fonte, cabendo ao prprio usurio a tarefa de mold-lo s suas necessidades e ao perfil de sua mquina. Como era de se esperar, ele pode ser obtido em seu cdigo fonte em vrios sites ao redor de todo mundo. claro que, para a utilizao do kernel, os arquivos fonte devem passar por alguns estgios de transformao. O kernel do Linux, na forma bruta, nada mais que um

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

amontoado de arquivos texto escritos em linguagem de programao C, geralmente compactados em um padro tpico do Linux. Ele construdo de forma a atender a maior quantidade possvel de tipos de hardware e de arquiteturas de computadores. Na prtica, em geral se aproveita muito pouco de sua capacidade, ou seja, aquilo que se aplica realidade da mquina em que o kernel ser utilizado. Definimos tudo que compe o computador e a nossa necessidade e, aps um processo de compilao, temos o nosso produto final, denominado em geral de imagem do kernel, um arquivo que carregado na inicializao do sistema, e que guarda em si tudo o que precisamos para utilizar o nosso sistema.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

3- Sistema de Arquivos no Linux


3.1- Introduo
O Linux suporta muitas dezenas de sistemas de arquivos, inclusive os nativos de outros sistemas operacionais. Esta propriedade d um flexibilidade espantosa ao sistema. possvel, por exemplo, utilizando-se verses mais recentes do kernel, copiar um arquivo gravado em partio do tipo NTFS (nativa do Windows NT) para uma partio do tipo FAT32 (Windows 95/98) sem com isso experimentar qualquer tipo de problema. Dentre os diversos sistemas de arquivos compatveis com o Linux, o mais utilizado no momento como nativo o chamado second extended file system, ou simplesmente ext2, substituto do antigo Minix file system, utilizado nas primeiras verses do Linux. prtica comum no processo de instalao do sistema a criao de no apenas uma partio, mas sim de vrias, processo que facilita a manuteno do sistema e pode at mesmo otimizar a mquina. Outra peculiaridade interessante do sistema Linux a utilizao de uma partio inteira, ao invs de um arquivo, para a memria virtual do sistema. Essa partio especial, tambm denominada rea de troca ou simplesmente partio swap, otimiza a execuo de programas muito grandes e que exijam grande quantidade de memria, auxiliando a memria principal neste processo.

3.2- Arquivos
Arquivos so mecanismos de abstrao que fornecem uma forma de armazenar e recuperar informaes em disco. As informaes so mantidas de forma permanente em memria fsica. O sistema de arquivos ext2, utilizado no Linux, faz distino entre nomes maisculos e minsculos. Isso significa que, por exemplo, um arquivo de nome Leia-me.txt no poder ser acessado a partir de uma partio do tipo ext2 se for digitado leia-me.txt para tal. Normalmente um arquivo composto de um nome e uma extenso, separados por ponto, mas isto no obrigatrio. Um arquivo em Linux pode, por exemplo, ter mais de uma extenso (Ex.: linux-2.2.11.tar.gz) ou pode nem mesmo ter uma extenso (Ex.: README). O limite do nmeros de caracteres utilizados para dar nome aos arquivos muito grande: 256 caracteres. O sistema operacional olha o arquivo como uma sequncia de bytes, sem nenhuma estrutura.

3.3- Diretrios

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

Para tratar da organizao dos arquivos, o sistema operacional lana mo dos diretrios, que representam meios de oferecer endereos aos arquivos, de maneira que eles possam ser acessados rpida e facilmente. No fundo, os diretrios nada mais so que um tipo de arquivo. No Linux, todos os arquivos fazem parte de um diretrio, onde eles so mantidos e organizados. Existe uma certa hierarquia para o relacionamento entre arquivos e diretrios. Esse assunto ser abordado mais futuramente.

3.4- Tipos de Arquivos


Podemos dividir os arquivos em cinco grupos distintos: os arquivos regulares, os arquivos de diretrio, os arquivos especiais de caracteres, os arquivos especiais blocados e os arquivos de referncia. Os arquivos regulares so aqueles que contm as informaes dos usurios do sistema. Um arquivo texto, um executvel qualquer, um arquivo que contenha uma foto, entre outros, exemplificam este tipo de arquivo. Os arquivos de diretrio so utilizados na manuteno e organizao do sistema de arquivos. So representados pelos diretrios ou pastas, podendo ser criados por um usurio comum. Os arquivos especiais de caracteres so utilizados por dispositivos de entrada e sada que trabalham com os dados na forma mais simples, ou seja, caracter por caracter. So utilizados no reconhecimento e utilizao de dispositivos como terminais, impressoras, mouse, etc. O arquivo /dev/ttyS0, por exemplo, representa a porta serial COM1 da mquina. Os arquivos especiais blocados, por sua vez, trabalham com os dados na forma de blocos de dados de tamanhos fixos. So usados para modelar e possibilitar o acesso a dispositivos de hardware como placas de rede, placas de som, etc. O arquivo /dev/dsp utilizado para acesso placa de som da mquina, se existente. Os arquivos de referncia servem como um atalho para um dos outros tipos de arquivo j mencionados ou at mesmo para si prprio. Essa ligao pode ser simblica ou efetiva. Se for simblica, tudo que acontece ao arquivo de referncia vale apenas para ele. Se for efetiva, tudo que acontece ao arquivo de referncia vale tambm para o arquivo apontado.

3.5- Atributos dos Arquivos


No sistema de arquivos ext2, cada arquivo tem necessariamente um nome e um conjunto de dados. Alm disso, o sistema associa algumas outras informaes a cada arquivo, o que nos permite definir nveis de acesso ao mesmo, distribudos a diferentes grupos de usurios. Deste modo, possvel restringir o acesso a arquivos e diretrios permitindo que somente determinados usurios possam acess-los, e de maneiras as mais variadas possveis. Existem trs nveis de acesso a arquivos no Linux:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

10

r = acesso de leitura w = acesso de escrita x = acesso de execuo

Estes trs nveis de acesso so distribudos entre trs grupos distintos de usurios: permisses para o dono do arquivo permisses para os usurios pertencentes ao grupo do dono do arquivo permisses para os outros usurios

Associando estes dois conceitos possvel definir um grande nmero de combinaes que determinam quais usurios podem ler, escrever (alterar) e executar um arquivo. No caso dos diretrios a permisso de execuo significa o poder de realizar buscas dentro daquele diretrio.

3.6- Hierarquia de Arquivos e Diretrios


A rvore de diretrios do Linux segue um padro estabelecido pelo UNIX durante a maior parte de sua existncia, mas controlada por um conjunto de regras estabelecidas pelo Linux Filesystem Standard, ou FSSTND, que atualmente se encontra na verso 2.0. O FSSTND tenta seguir a tradio UNIX, tornando o Linux semelhante grande maioria dos sistemas UNIX presentes. Seu particionamento escolhido em ramificaes menores de forma a permitir o uso de vrios dispositivos fsicos em cada ramo principal, ou mesmo tipos de dispositivos diferentes como CDROM e redes. Partes comuns, por exemplo, podem ser compartilhadas via NFS (Networking File System) entre vrias mquinas, mantendo uma parte independente em cada mquina. Em sntese, esta a organizao hierrquica tpica em relao aos diretrios no Linux:

dev

home

bin

proc

usr

lib

etc

var

fd0

ttyS0

bin

local

lib

man

log

spool

Segue abaixo uma breve explanao sobre o significado, a funo e o contedo dos principais diretrios da figura anterior:

Raiz (root, /)

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

11

especfico para cada mquina, geralmente armazenado localmente, mas tambm em rede ou ramdisk, que um disco de armazenamento temporrio criado na memria RAM. Contm os arquivos para a carga do sistema, de forma a permitir a montagem dos outros sistemas de arquivos.

/usr
Contm comandos, bibliotecas, manpages (manual eletrnico), grande parte dos binrios e outros arquivos estveis. Em sntese, possui arquivos que no precisem ser modificados durante a operao normal do sistema, podendo ser montados com permisso apenas para leitura. A idia desta restrio permitir aos arquivos serem compartilhados via rede sem maiores perigos. Evidentemente, isto no se aplica quando programas novos esto sendo instalados no sistema. Neste caso, o acesso para escrita obviamente imprescindvel.

/var
Contm em geral os arquivos que sofrem modificaes durante a sesso, tais como arquivos informativos da entrada de usurios no sistema, arquivos de impresso, manpages formatadas, bem como arquivos temporrios.

/home
Contm os diretrios dos usurios do sistema. De certa forma, podemos dizer que a se localizam todos os dados reais dos usurios. Quando este diretrio se torna excessivamente grande, ele pode ser quebrado em vrios, introduzindo uma camada de nomes adicional (grupos de usurios), como por exemplo: /home/suporte ou /home/clientes. O super usurio (root) geralmente a exceo a essa conveno. Seu diretrio fica a parte dos demais usurios e denominado em geral /root.

/bin
Contm programas e ferramentas indispensveis na inicializao do sistema.

/dev
Contm os arquivos do tipo especial blocado e de caracter, ou seja, os arquivos referentes s portas e aos dispositivos de entrada e sada da mquina. No so arquivos de dados no sentido explcito, mas que podem ser acessados, conforme o caso, por programas que usualmente os edita, filtra ou processa de maneira adequada. Todo cuidado com estes arquivos pouco. Por exemplo, a cpia de um texto para um dispositivo como /dev/hda1 (o disco rgido), pode deixar o sistema inoperante.

/mnt
um diretrio utilizado para montagem de dispositivos de bloco, como, por exemplo, disquetes, CDROMS, etc. Representa muito mais uma conveno que uma obrigao. Na

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

12

prtica, costuma-se optar por diretrios quaisquer criados pelo usurio para executar a utilizao destes dispositivos.

/proc
Um diretrio virtual, mantido pelo kernel, mas de extrema utilidade. Nele encontramos arquivos com a configurao atual do sistema, dados estatsticos, dispositivos j montados, interrupes, endereos e estados das portas fsicas, dados sobre as redes, etc. Alm disso, contm subdiretrios com o nome que corresponde ao nmero identificador de cada processo correntemente existente na mquina, onde se encontram informaes detalhadas sobre o estado do processo, linha de comando, ambiente, etc.

/tmp
Local destinado aos arquivos temporrios. Observe a duplicidade aparente deste diretrio com o /var. Na realidade o /tmp no necessariamente precisa ser salvo entre uma sesso e outra, enquanto que o /var normalmente fica com os dados salvos. Programas executados aps o inicializao do sistema, devem preferencialmente usar o diretrio /var/tmp, que provavelmente ter mais espao disponvel, mas nem sempre essa regra seguida.

/sbin
Executveis e ferramentas para a administrao do sistema.

/etc
Este diretrio um dos mais importantes. Contm uma infinidade de dados de configurao, principalmente no subdiretrio /etc/rc.d, onde esto os arquivos de inicializao do sistema em seus vrios nveis. Alm disso, contm os arquivos de grande importncia para o funcionamento do sistema.

/lib
Contm algumas bibliotecas do sistema e os mdulos do kernel.

/usr/local
Apesar de ser um subdiretrio de /usr, este diretrio importante porque aonde residem os programas instalados aps o pacote bsico do sistema operacional, isto , aps a distribuio Linux ser instalada no seu computador. Alguns programas podem ser instalados em /usr/local numa distribuio e em /usr numa outra, o que no fundo no imprime diferenas significativas. Portanto, lembre-se de conferir os dois locais para verificar onde o programa desejado est instalado.

/var/spool

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

13

Outro diretrio importante, onde geralmente ficam os e-mails de todos os usurios, arquivos submetidos impresso, faxes recebidos, bem como tarefas programadas para execuo em um determinado instante futuro.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

14

4- Comandos e Ferramentas Importantes


4.1- Introduo
Neste captulo estaremos abordando os comandos e ferramentas mais importantes utilizados no sistema Linux. Os comandos geralmente representam a maior proximidade de um usurio comum em relao ao sistema operacional. principalmente atravs deles que obtemos comunicao com o sistema e, consequentemente, com a prpria mquina. O Linux segue o padro dos sistemas UNIX no que diz respeito a comandos. Deste modo, um usurio Linux provavelmente poder utilizar qualquer sistema UNIX com o qual possa ter contato, sem maiores dificuldades. Os comandos tendem a ser de certa forma instintivos, a fim de que a memorizao dos mesmos seja facilitada. Temos, por exemplo, o comando ls (do ingls list) para executarmos a listagem dos arquivos em determinado diretrio. Outros comandos j no so to instintivos assim, como por exemplo o pwd (do ingls present work directory), utilizado a ttulo de informao a respeito do diretrio em que se encontra o usurio no momento. Sendo o Linux um sistema realmente multi-usurio, temos aqui a possibilidade de restries para o uso de alguns comandos. Em outras palavras, isso significa que nem todos eles estaro disponveis para um usurio comum, de acordo com o conjunto de permisses atribudas ao mesmo. Procuraremos ilustrar abaixo os comandos e ferramentas de maior aplicao e utilidade no sistema Linux, com a preocupao de frisar alguns de seus parmetros importantes. Para informaes bem detalhadas a respeito de cada um deles, basta consultar o manual eletrnico (manpage). A descrio de uso dos comandos e ferramentas feita nos prximos sub-tens segue os padres da WFF (Well-Formed Formula), do mesmo modo que acontece no manuais eletrnicos, com o claro intuito de familiarizar desde j o usurio em relao ao mesmo. Em suma, as regras utilizadas foram as seguintes: tudo que estiver entre colchetes opcional, e o que no estiver obrigatrio.

4.2- Consideraes Iniciais


Antes de darmos incio ao estudo dos comandos, cabe fazer algumas consideraes que podem ser bastante teis, principalmente para um usurio iniciante. O Linux um sistema case-sensitive (sensvel ao caso). Isso significa que ele faz diferenciao entre letras maisculas e minsculas. Em outras palavras, ele no reconhecer comandos se estes no forem escritos exatamente da maneira com que foram definidos. Uma nica letra maiscula far diferena. Alis, vale dizer que os comandos Linux, por conveno, so naturalmente definidos em letras minsculas, assim como as variveis de ambiente so em geral definidas com todas as letras maisculas.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

15

Um outro detalhe interessante que o espao entre os comandos e os parmetros deve ser sempre respeitado. Por ltimo, cabe dizer que as barras delimitadoras de diretrios so sempre convencionais, e no invertidas. Esses detalhes podem causar de incio alguma confuso aos iniciantes no sistema Linux, mas simples questo de costume.

4.3- Comandos Bsicos


cd: mudana de diretrio. Uso: cd [diretrio-destino] ls : listagem de arquivos. Uso: ls [opes][arquivo] Atributos comuns: -a = mostra arquivos ocultos -l = mostra bytes, permisses, diretrio, etc rm: remove arquivos. Uso: rm [opes] arquivo Atributos comuns: -r = recursivo (exclui diretrios, subdiretrios e arquivos) -f = fora a excluso rmdir: remove diretrios. Uso: rmdir [opes] diretrio cp: copia arquivos

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

16

Uso: cp arquivo diretrio cp arquivo1 arquivo2

Atributos: -r = recursivo (usado para copiar diretrios) -f = remove arquivos do diretrio de destino -i = interativo (pede confirmao de excluso de arquivos) -p = preserva permisses mv: move e/ou muda nomes de arquivos

Uso: mv origem destino

Atributos: -i = interativo (pede confirmao para mover/renomear arquivo) cat: mostra o contedo ou concatena arquivos.

Uso: cat arquivo cat arquivo1 arquivo2 arquivo3 ... more: exibe o contedo de um arquivo pgina a pgina.

Uso: more arquivo less: exibe o contedo de um arquivo com a flexibilidade de uma barra de rolagem.

Uso: less arquivo pwd: exibe o diretrio atual. mkdir: cria diretrio.

Uso:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

17

mkdir nome-do-diretrio clear: limpa a tela. who: mostra quem est utilizando a mquina no momento. whoami: mostra quem voc (til quando voc esquece com que login entrou) df: mostra o espao usado, livre e a capacidade das parties do HD. Uso: df [atributos] Atributos: -k = mostra espao em disco em kbytes free: exibe a memria livre, a usada, e os buffers da memria RAM. exit: termina o processo atual. logout: encerra sesso. shutdown: reinicia a mquina. Uso: shutdown [opes] Atributos: -h = paralisa o sistema depois de terminar os processos -f = reinicializao rpida -t = estabelece um tempo antes de reinicializar o sistema now = reinicializa sem esperar cal: exibe um calendrio. diff: compara dois arquivos e imprime a diferena entre eles. Uso: diff arquivo1 arquivo2 date: visualiza/muda configuraes de data/hora no sistema.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

18

Uso: date [atributos]

Atributos: -s string= ajusta data/hora de acordo com a string fornecida

4.4 Comandos Avanados


mount: serve para montar um diretrio ou partio. Por exemplo, se voc quiser visualizar o contedo de um disquete, voc o monta com esse comando. Uso: mount [atributos] dispositivo diretrio Atributos: -t = tipo do sistema de arquivos a ser montado. iso9660 para CDROM vfat para Windows Compat. Nomes Longos msdos para DOS ext2 para Linux -a = monta todas as parties mencionadas no fstab umount: serve para desmontar um diretrio ou partio. Se voc montar qualquer coisa e no quiser mais us-la, voc ter que "desmonta-la". Uso: umount dispositivo | partio du: visualiza espao ocupado pelos arquivos do diretrio. Uso: du [diretrio] [arquivo] [atributos] Atributos: -a = mostra espao ocupado por todos os arquivos -k = mostra o tamanho dos arquivos em kbytes -s = mostra os totais, inclusive dos arquivos apontados -S = mostra o espao utilizado por cada diretrio separadamente

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

19

grep: comando usado para identificar uma string em um arquivo. Uso: grep [string] [atributos] arquivos* * se nenhum arquivo for especificado o comando l do stdin. Atributos: -i = desconsidera diferenciao entre letras maisculas e minsculas head: usado para mostrar as dez primeiras linhas (default) de um certo arquivo. Uso: head [atributos] arquivo*

* se nenhum arquivo for especificado o comando l do stdin. Atributos: -n N = mostra as primeiras N linhas do arquivo especificado -c N = mostra os primeiros N bytes do arquivo especificado tail: verifica as 10 ltimas (padro) linhas dum certo arquivo. Uso: tail [atributos] arquivo* * se nenhum arquivo for especificado o comando l do stdin. Atributos: -n N = mostra as ltimas N linhas do arquivo especificado -c N = mostra os ltimos N bytes do arquivo especificado -f = espera infinitamente por atualizao do arquivo ln: serve para fazer um arquivo de atalho de um diretrio ou arquivo. Uso: ln [atributos] objeto_a_ser_linkado nome_do_link Atributos:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

20

-s = faz links simblicos -i = pede confirmao antes de criar o link su: comando usado para trocar de usurio sem precisar dar um logout. Uso: su [nome do usurio] touch: cria um arquivo vazio ou atualiza um arquivo existente. Uso: touch arquivo uname: exibe informaes do sistema. Uso: uname [atributos] Atributos: -m = imprime informaes sobre o hardware -r = imprime a verso do kernel -s = imprime o nome do sistema -a = imprime todas as informaes do sistema chmod: modifica as permisses de um arquivo ou diretrio. Voc deve ser o proprietrio de um arquivo ou diretrio (ou ser super usurio) para modificar as permisses. Uso: chmod permisses arquivo As permisses podem ser especificadas de vrias maneiras. Aqui est uma das formas mais simples de realizarmos esta operao: 1- Use uma ou mais letras indicando os usurios envolvidos: - u (para o usurio) - g (para o grupo) - o (para "outros") - a (para todas as categorias acima)

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

21

2- Indique se as permisses sero adicionadas (+) ou removidas (-). Use uma ou mais letras indicando as permisses envolvidas: - r (para leitura) - w (para escrita) - x (para execuo) Uma outra forma de se especificar o tipo de permisso atravs de nmeros, onde: 0 = nenhuma permisso 1 = permisso para executar 2 = permisso para gravar 3 = permisso para gravar e executar 4 = permisso para ler 5 = permisso para ler e executar 6 = permisso para ler e gravar 7 = permisso para ler, gravar e executar A sintaxe a seguinte: chmod XXX [nome do arquivo]

O primeiro X se refere ao tipo de permisso do dono do arquivo/diretrio O segundo X se refere ao tipo de permisso dos usurios do grupo ao qual pertence o dono do arquivo. O terceiro X se refere ao tipo de permisso dos outros usurios. file: informa qual o tipo do arquivo especificado.

Uso: file [atributos] arquivo

Atributos:

-f = especifica um arquivo contendo uma lista dos nomes dos arquivos a serem pesquisados (com - entra-se na opo de input (teclado) chgrp: modifica o grupo a que pertence um arquivo ou diretrio. Uso: chgrp [atributos] gid arquivo Onde gid o nmero identificador do grupo ou o nome do grupo (que pode ser encontrado em /etc/groups. Atributos:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

22

-h = se o arquivo for um link simblico, modifica o grupo do link simblico. Sem esta opo, o grupo do arquivo referenciado pelo link simblico modificado -R = recursiva. Percorre o diretrio e os subdiretrios, modificando o gid medida em que prossegue chown: modifica o proprietrio de um arquivo ou diretrio Uso: chown [atributos] proprietrio arquivo O argumento "proprietrio" especifica o novo proprietrio do arquivo. Este argumento deve ser ou um nmero decimal especificando o identificador do usurio ou o nome dele. Atributos:

- h = se o arquivo for um link simblico, modifica o proprietrio do link simblico. Sem esta opo, o proprietrio do arquivo referenciado pelo link simblico modificado. -R = recursiva. Percorre o diretrio e os subdiretrios, modificando as propriedades medida em que prossegue.

4.5- Utilitrios Importantes


Certas vezes um comando se especializa tanto em alguma tarefa que chega a nveis de sofisticao superiores. A esses super comandos, os quais se utilizam de parmetros numerosos, abrangentes e minuciosos para executar tarefas em geral especficas, facilitando a vida do usurio, damos o nome de utilitrios. Segue abaixo uma lista com alguns dos utilitrios mais importantes existentes no sistema Linux. Para maiores informaes, favor consultar o manual eletrnico (manpage).

4.5.1- dd
O dd um utilitrio que copia um arquivo com o tamanho de bloco definido pelo usurio e com a opo de promover converses no contedo do arquivo. Sintaxe:

dd if=arquivo1 of=arquivo2 [ibs=N] [obs=N] [bs=N] [cbs=N] [skip=N] [seek=N] [count=N] [conv=converso] Atributos comuns: if = define o arquivo de leitura

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

23

of = define o arquivo de sada ibs = l N bytes por vez obs = grava N bytes por vez bs = l e grava N bytes por vez, tendo predominncia sobre os dois anteriores cbs = converte N bytes por vez skip = ignora os N primeiros blocos definidos no atributo ibs na entrada de dados seek = ignora os N primeiros blocos definidos no atributo obs na sadia de dados count = copia somente os primeiros N blocos de entrada definidos no atributo ibs para a sada de dados conv = converte o arquivo como especificado por converso Algumas possveis converses: ascii = converte o contedo do arquivo de entrada para o padro ascii ebcdic = converte o contedo do arquivo de entrada para o padro ebcdic lcase = converte o contedo do arquivo de entrada para letras minsculas ucase = converte o contedo do arquivo de entrada para letras maisculas swab = troca cada par dos bytes de entrada noerror = continua a operao mesmo aps encontrar erros notrunc = ano trunca o arquivo de sada sync = protege os blocos de entrada com nulos

4.5.2- tar
O tar programa utilizado para empacotamento e extrao de arquivos. Sintaxe: tar [opes] arquivo(s) Atributos comuns: c = cria o arquivo que ira conter vrios outros f = usa os arquivos especificados para o empacotamento ou desempacotamento v = mostra a ao do programa na tela z = compacta os arquivos no padro gzip x = extrai os arquivos t = lista o contedo de um arquivo pacote na tela r = adiciona novos arquivos a um arquivo pacote C = especifica o destino do desempacotamento u = s substitui arquivos de um arquivo pacote se estes forem mais recentes

4.5.3- rpm
Gerenciador de pacotes, que pode ser utilizados para criar, instalar, requerer, verificar, atualizar e desinstalar pacotes individuais de software. Sintaxe:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

24

rpm [opes] arquivo(s) Atributos comuns: i = instala o pacote U = instala pacote mais recente, atualizando o sistema e = desinstala pacote v = mostra a ao do programa na tela

4.5.4- gunzip/gzip
O gzip um compactador de arquivos, que utiliza o mesmo algoritmo de compactao usado no zip e PKZIP. Atualmente o gzip capaz de descompactar arquivos no formato zip, compress ou pack. A deteco do formato do arquivo de entrada automtica. O no pacote do gzip encontramos ainda o utilitrio gunzip utilizado apenas para extrao de arquivos. Sintaxe:

gzip [opes] arquivo(s) gunzip [opes] arquivo(s) Atributos comuns:

d = descompacta o arquivo (gzip) f = fora a compactao ou descompactao mesmo que o arquivo de sada correspondente j exista. l = cria uma lista a partir do arquivo compactado no seguinte formato: tamanho compactado - tamanho descompactado - taxa de compresso - nome (gzip) r = utilizado para compactar diretrios e seus subdiretrios. t = testa o arquivo compactado (gzip) v = mostra a ao do programa na tela c = mostra o contedo do arquivo na tela ao invs de descompact-lo

4.5.5- find
O utilitrio find pode ser considerado o verdadeiro canivete suo do usurio Linux. capaz de encontrar arquivos sob qualquer condio que o usurio imaginar. Possui uma quantidade imensa de atributos, possibilitando a localizao de um arquivo com um mnimo de informaes disponveis. Uso: find local_de_procura [opes] Atributos comuns: name NOME: especifica o nome a ser procurado

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

25

group GRUPO: especifica o grupo a que pertence o(s) arquivo(s) procurado(s) iname: faz procura desconsiderando diferenciao entre letras maisculas e minsculas user USER: especifica o dono do(s) arquivo(s) procurado(s)

4.5.6- fdformat
Este um utilitrio bastante especfico. Sua funo a de fazer formatao fsica em discos flexveis. Ele configurado segundo padres do arquivo /etc/fdprm, que ainda ser visto neste material, e que na prtica define como se deve proceder na formatao dos tipos mais comuns de discos flexveis existentes. Uso: fdformat dispositivo

4.5.7- mkfs (mke2fs ou mkfs.ext2)


Utilitrio utilizado na criao de parties do sistema de arquivo ext2. De simples uso e muita utilidade. Uso: mkfs partio

4.5.8- fsck (fsck.ext2)


Mais uma ferramenta para trabalho com o disco. Possibilita uma checagem de erros nas parties do sistema. Uso: fsck partio

4.5.9- mtools
O mtools uma coleo de ferramentas de domnio pblico que permite aos sistemas Unix manipular arquivos MS-DOS: leitura, gravao e movimentao de arquivos em sistemas de arquivos MS-DOS (tipicamente disquetes). Sempre que possvel o comando tenta simular o comando equivalente no MS-DOS. Por outro lado, as restries do MS-DOS no so implementadas. Por exemplo, possvel mover ou renomear subdiretrios. Estas ferramentas so suficientes para fornecer todo o acesso necessrio a sistemas de arquivos MS-DOS. Por exemplo, comandos como mdir a: funcionam na unidade de disquetes a: sem qualquer montagem ou inicializao prvia (assumindo que o

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

26

padro /etc/mtools.conf est configurado). Com o mtools, pode-se mudar os disquetes sem a necessidade de mont-los e desmont-los. Lista de comandos pertencentes ao pacote mtools: matrib, mbadblocks, mcd, mcopy, mdel, mdeltree, mdir, mdu, mformat, minfo, mlabel, mmd, mmount, mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype, mwrite, mzip.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

27

5- Instalao do Sistema
Nessa parte da apostila estaremos ensinando o processo de instalao passo a passo do Conectiva Linux/Intel 5.0. Como seria invivel cobrir a instalao de todas as distribuies de Linux, dado o grande nmero existente das mesmas, resolvemos optar pelo Conectiva Linux por ser um produto nacional, j com o sistema traduzido, alm de possuir pacotes de software atuais. A instalao padro deste sistema toda feita em ambiente grfico. Porm, trata-se de uma instalao pouco flexvel, fato que nos levou a optar pelo mtodo antigo, ainda em modo grfico de caracter, bem mais flexvel e interessante. Para se optar por este tipo de instalao, basta utilizar a imagem contida no diretrio imagens\text, do CD de instalao. O programa de instalao realizado em modo caracter e no suporta mouse. Isso se deve ao fato de o programa poder ser executado em uma grande variedade de computadores, alguns dos quais podem no ter sequer um mouse. A seo seguinte descreve as teclas necessrias para a interao com o programa de instalao. importante frisar que todo o contedo deste captulo foi retirado integralmente do manual oficial do Conectiva Linux/Intel 5.0.

5.1- Usando o Teclado Para Navegar


Pode-se navegar durante a instalao usando um conjunto simples de teclas. Em muitas caixas de dilogo h um cursor ou um realce que pode ser utilizado usando-se as setas. Tab e Alt-Tab so usados na navegao atravs dos elementos (botes, janelas, etc.). Adicionalmente os atalhos de teclas de funo so apresentados no rodap de cada tela. Para pressionar um boto, posicione o realce usando Tab e tecle Espao ou Enter. Para selecionar um item de uma lista, basta mover o realce sobre o item que se deseje selecionar e teclar Enter. Para selecionar o item caixa de verificao, mova o realce at a caixa de verificao e tecle Espao. Para cancelar a seleo, tecle Espao novamente. Teclando-se F12 os valores atuais so aceitos e prossegue-se at o prximo dilogo, o que equivalente ao boto OK. Nota: A menos que uma caixa de dilogo esteja esperando por informaes, no se deve pressionar qualquer tecla durante o processo de instalao - isso pode gerar resultados indesejveis. O sistema de instalao do Conectiva Linux contm mais que caixas de dilogo para guiar o processo. Na verdade o sistema de instalao apresenta diferentes mensagens de diagnsticos enquanto est sendo executado, possibilitando a entrada de comandos atravs de uma linha de interao.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

28

Podem ser apresentadas caixas de dilogo, linhas de comandos e mensagens em cinco diferentes consoles virtuais, as quais podem ser alteradas mediante a utilizao de teclas especiais. Estes consoles virtuais podem ser muito teis caso seja detectado algum problema durante a instalao, pois as mensagens de instalao ou o arquivo de histrico podem ser acessados utilizando-se um dos consoles disponveis. Console 1 2 3 4 5 Teclas Alt + F1 Alt + F2 Alt + F3 Alt + F4 Alt + F5 Contedo Dilogos de Instalao Linha de Comandos Mensagens da instalao Mensagens do Sistema Outras Mensagens

Em geral, no h razes para se deixar o console virtual #1 a menos que se esteja tentando diagnosticar problemas de instalao. Mas se voc faz o tipo curioso, fique vontade para visitar os outros consoles.

5.2- Carregando o Programa de Instalao


Para iniciar a instalao do Conectiva Linux, insira o disquete de inicializao (ou o CDROM, caso seu BIOS aceite inicializao do sistema via CDROM), no dispositivo e reinicialize o computador. Aps algum tempo, uma tela contendo a mensagem boot: aparecer. A tela contm informaes sobre uma variedade de opes de inicializao. Cada opo tem uma ou mais telas de ajuda associadas. Para acessar uma tela de ajuda, pressione a tecla listada na linha no rodap da tela. Deve-se manter duas coisas em mente: A tela inicial automaticamente iniciar o programa de instalao, caso nenhuma ao seja tomada em um minuto. Para evitar isto, aperte uma das teclas de funo da tela de ajuda. Caso se pressione alguma tecla de ajuda, levar certo tempo at que as informaes sejam lidas a partir do disquete (ou do CDROM). Normalmente, basta apertar Enter para reinicializar. Observe as mensagens de inicializao e veja se o kernel do Linux detecta seu hardware. Se ele no detectar, pode-se reiniciar a instalao no modo expert. Este modo desativa a maioria dos hardwares investigados, e d a opo para selecionar os arquivos de controle de dispositivos carregados durante a instalao. Nota: As mensagens iniciais de inicializao no contero quaisquer referncias a SCSI nem a placas de rede. Estes dispositivos suportam mdulos que so carregados durante o processo de instalao.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

29

Depois de definidas as opes, tecle Enter para reinicializar o sistema. Se for necessrio especificar as opes de inicializao para identificar o hardware, anote-as pois sero necessrias mais tarde.

5.3- Instalando Sem o Uso do Disquete de Inicializao


Existe uma outra possibilidade de se instalar sem o uso de disquetes. Se voc tem MSDOS instalado em seu computador, voc pode iniciar o sistema de instalao diretamente do CD, sem o uso de disquetes. Para tanto inicialize o Windows em modo MSDOS, e use os seguintes comandos: d: cd dosutils autoboot Note que este mtodo no funcionar se for executado em uma janela DOS do Windows, porque o arquivo autoboot.bat deve ser executado somente no sistema operacional DOS. Caso o seu sistema no possa ser iniciado pelo CDROM, nem possa executar o autoboot.bat, a nica forma de iniciar o processo de instalao ser atravs do disquete de inicializao.

5.4- Iniciando a Instalao


Aps a inicializao, o processo de instalao perguntar se um monitor colorido est sendo utilizado. Sim o padro. Se no for possvel distinguir o cursor ou uma rea iluminada, pressione Tab uma vez e ento Enter para prosseguir. O prximo passo uma mensagem de boas vindas. Pressione Enter para iniciar a instalao. Feito isso o programa de instalao pedir informaes sobre o idioma a ser usado e tipo de teclado. Escolha os valores corretos e pressione Enter. A seguir o processo ir testar o sistema para determinar se o suporte a PCMCIA (tambm conhecido como carto PC) requerido. Caso seja encontrada uma controladora PCMCIA, o sistema indagar se necessrio o suporte a PCMCIA durante a instalao. Caso esteja sendo utilizado um equipamento com interface PCMCIA (por exemplo, uma placa de rede para instalao via NFS ou um carto PCMCIA SCSI para instalao do CDROM), responda Sim. O programa de instalao solicitar a insero do segundo disco (disquete suplementar). Ser necessrio aguardar at que a prxima caixa de dilogo aparea, antes de selecionar o carto PCMCIA. O programa apresentar uma barra de indicao do progresso assim que o disquete complementar for carregado. A seguir o Conectiva Linux perguntar qual o mtodo de instalao que dever ser utilizado.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

30

Realce a opo desejada e pressione Enter. Voc pode instalar o sistema atravs de dois mtodos bsicos: CDROM Disco Rgido

Se voc for instalar a partir de um CDROM, selecione CDROM e selecione Ok. O programa de instalao ento solicitar a insero do CDROM Conectiva Linux na unidade de CDROM. Aps selecione Ok e pressione Enter. O programa de instalao investigar seu sistema, e tentar identificar sua unidade de CDROM. Iniciar pelo teste de um CDROM IDE (ATAPI). Caso seja encontrado, o processo de instalao prosseguir. Se no puder, ser questionado o tipo de CDROM que est instalado. Voc pode escolher a partir das seguintes opes: - SCSI Selecione este se o CDROM est conectado a um adaptador SCSI; o programa de instalao solicitar ento a escolha do programa de controle de dispositivo. Escolha o programa que mais se aproxima do adaptador instalado. Pode-se especificar opes para o dispositivo se necessrio; ainda que a maioria dos arquivos de controle podem detectar adaptadores SCSI automaticamente. - Outros Caso o CDROM no seja nem IDE nem um CDROM SCSI, ento deve ser assinalada a opo Outro. Placas de som com interfaces proprietrias de CDROM so bons exemplos deste tipo de CDROM. O programa de instalao apresenta uma lista de dispositivos de CDROM suportados - escolha um arquivo de controle de dispositivos e se necessrio informe as opes desejadas. Note que uma lista de parmetros de CDROM pode ser encontrada no Apndice D em [CL4]. Caso se tenha um CDROM ATAPI e o programa de instalao no conseguiu instal-lo (em outras palavras, o programa pergunta qual o tipo de CDROM disponvel), a instalao deve ser reinicializada, e aps deve ser informado linux hdX=cdrom, onde x uma das seguintes letras, dependendo da unidade aonde se esteja conectado e a forma como est configurado: a - Primeira controladora IDE, mestre b - Primeira controladora IDE, escravo c - Segunda controladora IDE, mestre d - Segunda controladora IDE, escravo Caso se tenha uma terceira ou quarta controladora, simplesmente continue, alterando as letras na ordem alfabtica, indo de controladora em controladora, e de mestre e escravo). Uma vez que os dispositivos CDROM sejam identificados, ser solicitada a insero do CD do Conectiva Linux na unidade de CDROM. Selecione Ok ao finalizar. Aps uma pequena espera, a prxima caixa de dilogo ser apresentada.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

31

A prxima caixa de dilogo pergunta se est sendo feita uma instalao do sistema ou uma atualizao. Clique em instalar. Normalmente o Conectiva Linux instalado em um disco vazio, sobre outras instalaes de Linux ou uma partio disponvel em um equipamento com outro sistema operacional. Nota: instalar o Conectiva Linux sobre outras instalaes de Linux no preserva qualquer informao das instalaes prvias. Nestes casos indicado verificar a necessidade de salvar e guardar dados importantes. O processo de instalao do Conectiva Linux inclui a habilidade de atualizao de verses anteriores do Red Hat Linux (2.0, 2.1,3.0.3, 4.0, 4.1, 4.2, 5.0, 5.1 e 5.2) e do Conectiva Linux Parolin e Marumbi, as quais so baseadas na tecnologia RPM. A atualizao instala no sistema o kernel mais atualizado, o qual modular, alm de atualizar as verses dos pacotes j instalados. O processo de atualizao preserva os arquivos de configurao utilizando a extenso .rpmsave (por exemplo sendmail.cf.rpmsave) e cria um arquivo de informaes com a descrio das aes efetuadas em /tmp/upgrade.log. Mudanas de formato de arquivos de configurao podem ocorrer, logo as comparaes entre novos e arquivos antigos devem ser feitos de maneira cuidadosa. Nota: observe que algumas atualizaes podem depender de outros programas que podem no estar instalados no seu sistema. O processo de atualizao cuida dessas dependncias, mas pode ser necessria a instalao daqueles programas para que a atualizao seja processada normalmente.

5.5- Classes de Instalao


Aps a opo de atualizao ou instalao completa, o programa de instalao ir solicitar a opo de classe de instalao. Pode-se optar entre as seguintes classes de instalao. Estao de trabalho - uma instalao deste tipo ir automaticamente apagar todas as parties Linux do disco rgido instalado na mquina; Servidor - uma instalao deste tipo ir automaticamente apagar todas as parties do disco rgido instalado na mquina; Personalizada - uma classe de instalao que fornece total controle sobre temas relacionados com o particionamento. Caso se tenha instalado o Conectiva Linux anteriormente, esta classe de instalao ser muito similar disponvel em outras verses anteriores. Nota: Caso se tenha escolhido Estao de Trabalho ou Servidor, parte ou a totalidade dos dados armazenados no computador podero ser apagados. Esta deciso dever ser confirmada,

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

32

porm tenha em mente que aps o programa de instalao receber a confirmao, a remoo dos dados ser irreversvel. Aps optar pela classe de instalao a ser utilizada, o processo de instalao verificar se h algum adaptador SCSI no sistema, e em alguns casos ir perguntar ao usurio sobre a existncia de tais dispositivos. Caso a opo seja SIM, ser apresentada uma lista dos programas de controles de dispositivos SCSI disponveis. Escolha o mais prximo do seu adaptador SCSI. O processo de instalao possibilitar a informao de opes e parmetros do programa de controle selecionado. A maioria dos drivers SCSI detecta o hardware automaticamente.

5.6- Criando as Parties


Neste ponto, necessrio informar ao programa de instalao onde deve ser instalado o Conectiva Linux. Isto feito atravs da definio dos pontos de montagem definidos para uma ou mais parties nas quais o Conectiva Linux ser instalado. Pode-se ainda criar e/ou remover parties simultaneamente. Nota: Caso voc no tenha planejado ainda como configurar as parties, No mnimo ser necessrio uma partio raiz de tamanho apropriado e uma rea de troca de no mnimo 16 Mb. O programa de instalao apresenta uma caixa de dilogo que permite optar por duas ferramentas de particionamento: Disk Druid - um utilitrio do Conectiva Linux de gerenciamento de disco durante a instalao. Ele pode criar e remover parties de acordo com os requisitos do usurio, alm de administrar os pontos de montagem para cada partio. fdisk - a tradicional ferramenta de particionamento do Linux. Embora seja mais flexvel que o Disk Druid, o fdisk supe que se tenha alguma experincia com parties. Selecione a ferramenta de particionamento que se deseja utilizar, e tecle Enter.

5.6.1- Usando o Disk Druid


Cada linha na seo Parties Atuais representa uma partio. Note que esta seo tem uma barra de rolagem direita, que significa que pode-se ter mais parties do que as exibidas em uma nica tela. Ao usar as teclas e , pode-se verificar a existncia de parties adicionais. Cada linha nesta seo tem cinco campos diferentes: Ponto de Montagem - Este campo indica onde a partio ser montada quando o Conectiva Linux estiver sendo executado. Dispositivo - Este campo exibe o nome do dispositivo das parties. Requisitado - O campo requisitado mostra o tamanho mnimo requerido quando a partio for definida.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

33

Real - O campo real mostra o espao atualmente atribudo partio. Tipo - Este campo mostra o tipo da partio.

Ao rolar a tela na seo Parties Atuais, pode-se ver uma barra de ttulo Parties Solicitadas No Alocadas, seguido por uma ou mais parties. Como o ttulo explica, estas so parties que foram definidas, mas, por uma razo ou outra, no foram criadas com algum espao. Uma razo comum para ter uma partio no atribuda a falta de espao livre suficiente para a partio. Cada linha na seo dos Sumrio dos Dispositivos representa um disco rgido no sistema. Cada linha tem o seguintes campos: Dispositivo - Este campo mostra o nome de dispositivo do disco rgido. Geom [C/H/S] - Este campo mostra a geometria do disco rgido. A geometria composta por trs nmeros que representam o nmero de cilindros, cabeas e setores do disco rgido. Total - O campo Total mostra o espao total disponvel no disco rgido. Usado - Este campo mostra quanto de espao do disco rgido atualmente est atribudo s parties. Livre - O campo Livre mostra quanto de espao do disco rgido ainda est livre. Barra - Este campo apresenta um representao visual do espao atualmente usado no disco rgido. Quanto mais sinais de libra so apresentados menos espao livre.

Nota: a seo Resumo do Disco Rgido utilizada somente para indicar a configurao do disco do computador. Ela no foi desenvolvida para ser usada para especificar o disco rgido de uma determinada partio.

Botes do Disk Druid


Estes botes controlam aes do Disk Druid. So usados para adicionar e remover parties e mudar seus atributos. Alm disso, h botes que so usados para aceitar ou descartar as mudanas realizadas ou sair do Disk Druid. Add - usado para criar uma nova partio. Quando selecionado, aparecer uma caixa de dilogo contendo os campos que devem ser preenchidos. [F2] Add NFS - usado para incluir um sistema de arquivos somente para leitura a partir de um servidor NFS. Quando selecionado, aparecer uma caixa de dilogo contendo os campos que devem ser preenchidos. Edit - usado para mudar atributos da partio atual, realado na seo Parties Atuais. Ao selecionar este boto, surgir uma caixa de dilogo. Alguns ou todos os campos da

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

34

caixa de dilogo podem ser mudados, dependendo se a informao da partio j foi gravada no disco ou no. Delete - usado para remover a partio atualmente destacada na seo Parties Atuais. Quando selecionado, aparecer uma caixa de dilogo solicitando a confirmao da remoo da partio. [F5] Reset - usado para descartar todas as alteraes feitas pelo Disk Druid, e retornar lista de parties, forando a leitura da tabela de parties residente no disco rgido. Quando selecionado, pede a confirmao. Note que qualquer ponto de montagem especificado ser perdido e precisar ser reinformado. Ok - provoca a gravao das mudanas. Ser solicitada a confirmao das mudanas antes da gravao. Qualquer ponto de montagem que tenha sido definido ser passado ao programa de instalao, e eventualmente ser usado pelo CL para definir o layout dos sistemas de arquivos. Cancelar - este boto aborta o Disk Druid sem salvar qualquer mudana feita. Quando este boto selecionado, o programa de instalao apresentar uma caixa de dilogo que permite escolher qual deciso deve ser tomada.

Adicionado Uma partio


Para adicionar uma nova partio, selecione o boto Adicionar e tecle Espao ou Enter. Surgir uma caixa de dilogo intitulada Edio de Nova Partio. Ela contm os seguintes campos: Ponto de Montagem - este campo informa o ponto de montagem da partio. Por exemplo, se esta partio deve ser a partio raiz, digite /, digite /usr para a partio de usr e assim por diante. Tamanho (Mb) - este campo informa o tamanho (em megabytes) da partio. Note que este campo comea com "1", quer dizer que a menos que seja alterado ser criada uma partio com apenas 1 MB. Extensvel? - verifica se o tamanho digitado no campo anterior o tamanho exato da partio, ou seu tamanho mnimo. Tecle Espao para selecionar ou para cancelar a seleo. Quando selecionada, a partio poder crescer at preencher todo o espao disponvel no disco rgido. Neste caso, o tamanho da partio expandir e contrair medida que outras parties sejam modificadas. Tipo - este campo contm uma lista de diferentes tipos de partio. Discos Possveis - este campo contm uma lista de discos rgidos instalados no sistema, com uma caixa de seleo para cada um. Se uma caixa de seleo no for ativada, ento esta partio nunca ser criada naquele disco rgido. Atravs do uso de diversas caixas de seleo, pode-se definir a localizao das parties ou deixar o Disk Druid decidir a sua melhor localizao.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

35

Ok - selecione este boto e tecle Espao quando tiver concludo e deseje efetivamente criar a partio. Cancelar - selecione este boto e tecle Espao quando no quiser criar a partio.

Para apagar uma partio, realce a partio na seo Parties de Discos Atuais, selecione o boto Apague, e tecle [Espao]. Dever ser confirmada ou no a remoo. Para alterar as configuraes da partio, realce a partio na seo Parties de Discos Atuais, selecione o boto Edite, e tecle Espao. Faa as alteraes apropriadas, selecione Ok e tecle Espao. Caso se deseje abandonar qualquer alterao feita pelo Disk Druid, basta selecionar o boto Limpar, e teclar [Espao]. Voc dever confirmar esta ao. Caso se selecione SIM, o Disk Druid ler as tabelas de parties (se existir alguma) de cada disco rgido, e as exibir. Uma vez terminada a configurao das parties e pontos de montagem. Selecione Ok e tecle [Espao].

5.6.2- Usando o fdisk


Uma vez selecionado fdisk, ser apresentada uma caixa de dilogo intitulada Particionamento de Discos. Nesta caixa esto listados todos os discos disponveis. Mova o realce para o disco que se deseje particionar, selecione Edite e tecle [Espao]. Informe fdisk e poder particionar o disco selecionado. Repita este processo para cada disco que quiser particionar. Quando estiver pronto, selecione Pronto. O utilitrio fdisk inclui auxlio on-line de extrema utilidade. Seguem algumas indicaes: O comando de ajuda : m Para listar a partio corrente: p Para adicionar novas parties: n

O fdisk cria parties nativas do Linux por padro. Ao criar-se uma partio para troca, necessrio alterar o tipo da partio, usando o comando t. Use o comando l para uma lista dos tipos de parties e seus valores. Linux permite at quatro parties em um disco. Caso se deseje mais parties, uma daquelas pode ser alterada para uma partio de modo estendido, a qual pode conter uma ou mais parties lgicas. aconselhvel anotar as parties e os seus respectivos sistemas de arquivos, assim que forem criadas. Nota: Observe que nenhuma das mudanas tero efeito at que sejam salvas e voc saia do utilitrio fdisk utilizando o comando w. Pode-se sair do fdisk sem salvar as opes utilizandose o comando q.

Numerando as Parties

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

36

O Conectiva Linux referencia-se s parties de disco utilizando uma combinao de letras e nmeros que podem parecer um pouco confusas para usurios menos experientes. Segue um pequeno sumrio: Letras:

Denominam o equipamento em que a partio est configurada, por exemplo /dev/hda (o primeiro disco IDE) ou /dev/sdb (o segundo disco SCSI). Nmeros:

Denominam a partio. As primeiras das quatro (primrias ou estendidas) parties so numeradas de 1 at 4. Parties lgicas iniciam em 5. Por exemplo /dev/hda3 a terceira partio primria ou estendida no primeiro disco IDE; /dev/sdb6 a segunda partio lgica no segundo disco SCSI.

Alterando a Tabela de Parties


Aps particionar o disco rgido, selecione Pronto, quando ento surgir a mensagem indicando que o processo de instalao necessita reinicializar o sistema. um procedimento normal aps a alterao dos dados de partio do disco rgido. Isso normalmente acontece se foi criada, alterada ou excluda alguma partio. Aps pressionar Ok, o sistema ser reinicializado. Siga os passos de instalao realizados at o momento da definio das parties do disco rgido, bastando ento pressionar Pronto.

5.7- Configurao do Sistema de Arquivos


Como o Conectiva Linux pode estar distribudo por diversas parties, necessrio definir a localizao dos sistemas de arquivos nas parties. Se estiver executando uma instalao total, o processo apresenta uma lista das parties Conectiva Linux encontradas e solicita a indicao da partio raiz. Na partio raiz residem os dados necessrios para inicializar o Conectiva Linux. Ela montada no / quando o sistema carrega. Selecione a partio raiz desejada e pressione Enter. Se estiver executando uma atualizao, o processo de instalao tentar localizar a partio raiz automaticamente. Caso seja encontrada o processo ir para o prximo passo. A prxima caixa de dilogo apresenta uma lista das demais parties do disco rgido (incluindo parties MS-DOS e outras que possam ser lidas pelo Conectiva Linux), permitindo relacionar essas parties com outros sistemas de arquivos do CL. As parties relacionadas sero automaticamente montadas quando o Conectiva Linux for inicializado. Selecione a partio desejada, pressione Enter e informe o ponto de montagem para aquela partio, por exemplo /usr. Adicionalmente o Conectiva Linux permite que sejam montados volumes NFS quando o sistema inicializado, o que permite que a rvore de diretrios seja compartilhada atravs

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

37

da rede. Escolha Adicionar NFS, informe o nome do servidor NFS, o caminho do volume NFS e o ponto de montagem para o volume. Aps criar as parties para o Conectiva Linux, o processo de instalao procura por parties de troca. Caso sejam localizadas, ele solicita que sejam inicializadas. Selecione a partio desejada utilizando Espao. aconselhvel acionar a caixa para verificao de blocos defeituosos. Escolha Ok. Caso o processo de instalao no encontre a partio de troca, esteja seguro que a partio tenha sido criada. O prximo dilogo apresenta uma lista de parties para formatao. Muitas parties devem ser formatadas, especialmente as recm criadas, porm parties como /home ou /usr/local no necessitam ser formatadas caso se deseje manter os dados l gravados. Selecione cada uma das parties a formatar e pressione Espao. aconselhvel acionar o boto verificar para verificao de blocos defeituosos. Escolha Ok.

5.8- Selecionando e Instalando Pacotes


Aps a configurao e formatao das parties, os pacotes podem ser instalados. Pode-se selecionar os componentes do sistema: de acordo com as funes dos grupos de pacotes, pacotes individualmente ou uma combinao dos dois. Grupos de pacotes de componentes do sistema esto agrupados de acordo com as funes que o Conectiva Linux pode executar. Por exemplo Desenvolvimento em Linguagem C, Estao de Trabalho em Rede ou Servidor Web. Selecione cada componente que deseje instalar e pressione Espao. Selecionando Tudo instalar todos os pacotes disponveis no Conectiva Linux. Caso se deseje selecionar ou cancelar a seleo de pacotes individuais assim como de componentes do sistema, escolha Seleo Individual de Pacotes. Aps selecionar os componentes que se deseje instalar, possvel a seleo ou cancelamento individual de pacotes. O programa de instalao apresenta uma lista de grupos de pacotes disponveis. Selecione um grupo para examinar e pressione Enter. O processo de instalao apresenta uma lista de pacotes daquele grupo, que podem ser selecionados ou cuja seleo pode ser cancelada utilizando-se a tecla de Espao. Pode-se ainda ser visualizada uma descrio completa dos pacotes pressionando-se F11. Quando a seleo estiver completa, basta pressionar Ok na caixa de dilogo Selecionando Grupo. Observe que alguns itens (tais como o kernel e certas bibliotecas) so necessrios para toda a instalao do Conectiva Linux, no podendo ser selecionados ou cancelados. Pode-se obter uma descrio completa do pacote realado ao se pressionar [F1]. Uma caixa de dilogo aparecer contendo a descrio do pacote. Pode-se usar as setas de direo para paginar a descrio caso os dados no caibam em uma nica tela. Ao finalizar a leitura

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

38

da descrio, pressione Ok e a caixa desaparecer, podendo prosseguir na seleo de pacotes e na visualizao das descries.

5.8.1- Dependncias Entre Pacotes


Muitos softwares, para funcionarem perfeitamente, dependem de outros softwares ou bibliotecas instalados no sistema. Por exemplo, muitas das ferramentas grficas de administrao do Conectiva Linux necessitam dos pacotes python e pythonlib. Para assegurarse da existncia de todos os pacotes necessrios ao funcionamento do software, o Conectiva Linux verifica todas as dependncias a cada instalao ou desinstalao de um pacote. Aps concluir a seleo dos pacotes a instalar, o processo de instalao verificar a lista de softwares selecionados e suas dependncias. Caso tenha sido selecionado um software cuja dependncia no tenha sido selecionada, ser apresentada uma lista das dependncias no resolvidas, proporcionando a possibilidade de resolv-las. Caso seja selecionado Ok, o programa resolver automaticamente as dependncias selecionando os pacotes necessrios da lista de softwares disponveis.

5.8.2- Instalao de Pacote


Aps resolver todas as dependncias, o programa de instalao inicia a instalao dos pacotes e cria um arquivo de mensagens informativas em /tmp/install.log com as mensagens de instalao do Conectiva Linux. Selecione Ok e tecle Espao para continuar. Neste ponto, o programa de instalao formatar cada partio que voc selecionar. Isto pode levar vrios minutos (e levar mais tempo se voc selecionar a verificao para blocos defeituosos). Em seguida, o programa de instalao comea a instalar os pacotes. Uma janela intitulada como Status da Instalao exibida com a seguinte informao: Pacote - O nome do pacote em instalao. Tamanho - O tamanho do pacote (em Kbytes). Resumo - Uma descrio sucinta do pacote. Barra de Progresso de Instalao do Pacote - Uma barra que mostra o progresso da instalao do pacote atual. Estatsticas - Esta seo possui trs linhas: Total, Completos e Restante. Como se pode supor, estas linhas contm as estatsticas do nmero total de pacotes que sero instalados, a estatstica do nmero de pacotes j instalados e a estatstica dos pacotes que ainda no foram instalados. A informao nestas trs filas inclui: Pacotes - O nmero de pacotes. Bytes - O tamanho. Tempo - O tempo gasto. Barra Progresso Total - Esta barra muda a cor mostrando o andamento da instalao como um todo.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

39

Neste ponto no h nada que voc possa fazer at que todos os pacotes sejam instalados. O tempo necessrio depende do nmero de pacotes que voc selecionou e da velocidade do computador.

5.9- Instalando o Mouse


A seguir, o programa de instalao ir testar o sistema e tentar encontrar um mouse. Caso algum mouse seja detectado, uma caixa de dilogo apresentada, definindo a porta em que o dispositivo foi encontrado. Pressione Espao para continuar. Caso sejam necessrias, informaes adicionais como protocolo, nmero de botes, emulao de mouse trs botes, etc., sero solicitadas. A melhor opo encontrada pelo programa de instalao em seu sistema, estar realada. Caso o tipo de mouse no seja o mais adequado, pode-se usar as teclas e para navegar entre os diversos tipos disponveis. Caso seja encontrado exatamente o mouse do sistema, realce a sua entrada na lista. Caso seja encontrado um mouse, que voc tenha certeza que compatvel com o instalado no sistema, realce a sua entrada. E caso contrrio, selecione a entrada Genrica, baseado no nmero de botes do mouse e na sua interface. A caixa de verificao Emulao de 3 Botes permite usar um mouse de dois botes como se ele tivesse trs. Em geral mais simples usar o ambiente grfico caso se tenha um mouse com trs botes. Caso esta caixa seja selecionada, pode-se emular o terceiro boto atravs da utilizao dos dois botes simultaneamente como se fossem o boto do meio.

5.10- Instalando a Rede


Aps a configurao do Servidor X, o processo de instalao apresentar a opo de configurao (ou reconfigurao) da rede. Se a instalao estiver sendo realizada a partir de um disco rgido local ou de um CD-ROM, o processo perguntar se o suporte rede deve ser instalado. Caso se escolha No o Conectiva Linux ser executado em modo isolado. Responda ento a todas as perguntas, fornecendo as informaes pertinentes sua rede.

5.11- Configurando o Relgio


O processo de instalao apresentar uma caixa de dilogo que auxiliar na configurao do sistema de horrios do Conectiva Linux. possvel ajustar o relgio do hardware (CMOS) para GMT, tambm conhecido como UTC, selecionando Ajuste do Relgio de Hardware para GMT. Adequar o relgio para GMT significa que o Conectiva Linux se ajustar automaticamente ao horrio de vero, caso a zona de horrio selecionada o utilize. Muitas redes utilizam o GMT. Selecione a zona de horrio a partir da lista e pressione Enter.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

40

Se desejar alterar a configurao de zona de horrio, aps a inicializao do Conectiva Linux, utilize o comando /usr/sbin/timeconfig. Note que se seu computador possui algum outro sistema operacional instalado, configurar o relgio para GMT pode causar a apresentao incorreta de horrio, ao executar esse sistema. Mantenha sempre em mente que, se mais de um sistema operacional puder alterar o sistema para horrio de vero, possivelmente o sistema ser configurado erroneamente.

5.12- Selecionando Servios Inicializados Automaticamente


Logo aps ser apresentada uma caixa de dilogo intitulada Servios. Esta caixa contm uma lista de servios com uma caixa de verificao para cada um. Pagine esta lista e verifique cada servio que voc gostaria que fosse iniciado automaticamente junto com seu sistema Conectiva Linux. Se voc no est seguro sobre um servio em particular, mova o realce at ele e tecle F1, quando ser apresentada uma breve descrio do servio. Note que se pode rodar /usr/sbin/ntsysv ou sbin/chkconfig aps a instalao e alterar os servios que sero iniciados automaticamente junto com o sistema.

5.13- Instalando a Impressora


Aps configurar a rede, o processo de instalao apresentar a opo de instalao de impressoras. As seguintes opes estaro disponveis: Impressora local: a impressora est conectada diretamente ao sistema. Impressora remota: uma impressora est conectada rede local (atravs de uma estao ou diretamente) e capaz e comunicar-se via lpr/lpd. LAN Manager: uma impressora est conectada a outra mquina que utiliza uma rede LAN Manager ou SMB.

Aps a seleo de um tipo de impressora, ser apresentada uma caixa de dilogo intitulada Opes de Impressora Padro. Entre com o nome da fila e o diretrio de tarefas de impresso que deseja usar, ou aceite a informao padro. A seguir ser apresentada uma caixa de dilogo intitulada Configurao de Impressora. Selecione uma impressora compatvel com a sua. Selecione Prximo e tecle Espao para continuar. Aps selecionar o tipo de impressora, ser apresentada uma caixa de dilogo. Informe o tamanho do papel e resoluo desejados. A caixa de verificao do campo Ajuste de

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

41

Retorno dever ser acionada, caso a impressora no execute o retorno do carro aps cada quebra de linha. Finalmente, ser apresentada a caixa de dilogo contendo todas as informaes referentes impressora. Realize a conferncia e se tudo estiver correto, selecione Ok. Caso mudanas sejam necessrias selecione Editar. Pode-se selecionar ainda Cancelar, para sair da configurao sem efetivar as alteraes. Caso a opo Ok seja selecionada, surgir a possibilidade de configurar uma nova impressora ou ainda de continuar com o processo de instalao.

5.14- Definindo a Senha do Super Usurio


O processo de instalao solicitar a informao de senha do usurio root, a qual ser utilizada no primeiro acesso ao Conectiva Linux. A senha dever ser informada duas vezes e ter no mnimo 6 caracteres, que no sero ecoados na tela. Caso as senhas informadas no coincidam, o processo de instalao solicitar que a senha seja informada novamente. importante lembrar que as senhas so sensveis a maisculas e minsculas, ou seja A diferente de a. Anote a senha e guarde em local seguro. Nota: importante lembrar que se est em um sistema realmente multi-usurio e o super usurio tem acesso total ao sistema. Por esta razo este usurio deve ser utilizado exclusivamente para executar tarefas de administrao e manuteno do sistema; evitando-se assim que arquivos fundamentais no sejam alterados ou removidos inadvertida ou acidentalmente.

5.15- Criando um Disquete de Inicializao do Sistema


Imediatamente aps a definio da senha do super usurio poder ser gerado um disquete de inicializao do seu sistema Conectiva Linux. Um disquete de inicializao pode ser til em diversos casos: Em Substituio ao LILO - Isso pode ser til quando se queira utilizar o Conectiva Linux pela primeira vez e voc se sentir mais confortvel caso o sistema de inicializao de seu computador no seja alterado. Com um disquete de inicializao, para retornar ao sistema anterior, basta retir-lo da unidade e reinicializar o sistema. Em Emergncias - Pode ser usado em conjunto com o disquete de emergncia, o qual fornecer as ferramentas necessrias para se ter o sistema funcionando novamente. Para fazer isso, ser necessrio criar um disquete de emergncia a partir do arquivo rescue.img disponvel no diretrio images no CD do Conectiva Linux.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

42

Quando um Outro Sistema Sobrescreveu o LILO - Outros sistemas operacionais podem no ser to flexveis quanto o Linux e podem no ter suporte a mltiplos mtodos de inicializao. Freqentemente, instalando ou atualizando outro sistema operacional pode causar a regravao do registro master de inicializao (MBR), impossibilitando a utilizao do Linux. O disquete de inicializao pode ser usado para carga do Linux e reinstalao do LILO.

A criao de um disquete de inicializao deve ser seriamente considerada, devido s razes acima. Para criar o disquete basta selecionar Sim e pressionar Espao. A seguir ser apresentada uma caixa de dilogo, solicitando a insero de um disquete no dispositivo. Selecione Ok e pressione Espao quando estiver pronto. Aps um pequeno espao de tempo, o disquete de inicializao estar pronto. Aps retirar do dispositivo, identifique-o e faa um teste, reinicializando o sistema com o disquete na unidade e verificando se a carga efetuada normalmente.

5.16- Instalando o LILO


Para inicializar o Conectiva Linux, normalmente necessrio instalar o LILO (LInux LOader). possvel instalar o LILO em uma das seguintes reas:

Registro Mestre de Inicializao (MBR)


o local indicado para a instalao do LILO, a menos que outro sistema de inicializao j esteja instalado nessa rea. Este registro uma rea especial no disco rgido, que automaticamente carregado pelo BIOS do computador. Caso o LILO esteja instalado na MBR, quando o sistema for inicializado, o LILO apresentar a linha de comandos "LILO boot:" quando ento podero ser inicializados o Conectiva Linux ou outros sistemas operacionais configurados. Tecle Tab para verificar os sistemas disponveis.

O primeiro setor da partio Raiz


a rea recomendada, caso j esteja instalado outro sistema de inicializao, como por exemplo o Boot Manager do OS/2. necessrio ento configurar aquele sistema de inicializao para inicializar o LILO e o Conectiva Linux. Uma caixa de dilogo aparecer para selecionar o tipo da instalao do LILO desejada. Selecione o local que voc deseja instalar o LILO e tecle Ok. Se voc no deseja instalar o LILO, tecle Ignore. Finalmente, o processo de instalao apresentar a opo de adicionar opes padro inicializao do sistema pelo LILO. Quaisquer opes sero sempre passadas ao kernel do Linux toda vez que o sistema for inicializado. Caso se esteja utilizando o modo LBA, assinale Use modo linear, selecione Ok e pressione [Espao] ao terminar. Ser apresentada uma tela onde cada partio que possa ser inicializvel estar presente na lista. A coluna "Identificao da Inicializao" ser preenchida com a palavra Linux na partio que contenha o sistema de arquivos raiz. Outras parties tambm podero

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

43

ter "Identificao de Inicializao". Caso se deseje adicionar tais identificaes a outras parties (ou alterar alguma existente), utilize as setas de direo para realar as parties desejadas. Use ento a tecla Tab e selecione o boto Editar, e pressione Espao. Ser apresentada ento uma pequena caixa de dilogo permitindo a modificao ou entrada da Identificao da Partio de Inicializao. Pressione Ok ao terminar. Nota: O contedo da coluna Identificao da Partio ser o valor a ser informado no linha de comando Boot: do LILO, para especificar o sistema operacional desejado. De qualquer forma, caso se tenha esquecido das identificaes definidas, pode-se pressionar ? ou Tab na linha de Boot: para visualizar uma relao das opes disponveis. H ainda uma coluna denominada "Padro". Somente uma partio pode conter um asterisco sob essa coluna. A partio marcada como padro ser a utilizada pelo LILO caso nenhuma opo seja informada pelo usurio ou este pressione Enter na linha de comando Boot:. Para mudar o a opo padro, realce a opo desejada atravs do uso das setas de direo e pressione F2. O asterisco dever mover-se para a partio selecionada. Ao final selecione Ok e pressione Espao. Aps concluir a instalao do LILO, o processo de instalao ir preparar o sistema para a reinicializao do sistema. Remova o disco de instalao da unidade (a menos que no se esteja utilizando o LILO). Assim estar finalizada a instalao do sistema.

5.17- Instalando o Servidor Grfico


Caso se deseje utilizar o Xfree86, o processo de instalao iniciar a execuo do utilitrio Xconfigurator. O Xconfigurator inicialmente tentar detectar o tipo de placa disponvel no sistema. Caso no consiga, ser apresentada uma lista de placas de vdeo. Selecione uma placa de vdeo da lista e pressione Enter. Se a placa de vdeo do sistema no aparecer na lista, o Xfree86 pode no suport-la. Porm se voc tiver conhecimento tcnico suficiente sobre sua placa de vdeo, pode-se escolher a opo de Placa Ausente da Listas e tentar configur-la. Uma vez que a placa de vdeo esteja selecionada, o processo instalar o servidor Xfree86 apropriado e o Xconfigurator apresentar uma lista de monitores suportados. Caso o monitor disponvel esteja presente na lista, selecione-o e pressione Enter. Caso contrrio pressione Personalizado. Neste caso o Xconfigurator solicitar informaes sobre as faixas de sincronismo horizontal e vertical. Nota: no recomendado selecionar um monitor similar ao disponvel, a menos que se esteja completamente seguro de que o monitor selecionado no excede s capacidades do equipamento disponvel. Caso isso seja feito possvel sobrecarregar o monitor e danific-lo ou mesmo inutiliz-lo definitivamente. A seguir, o Xconfigurator solicitar a informao de quantidade de memria de vdeo instalada na placa de vdeo. Se no estiver seguro, por favor consulte a documentao que

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

44

acompanha a placa de vdeo. Se for escolhida mais memria do que a disponvel, o Xfree86 poder no funcionar corretamente. Se a placa de vdeo selecionada tiver um chip com relgio, o Xconfigurator apresentar uma lista de chips disponveis. Recomendamos a opo de Sem Configurao de Clockship, uma vez que o Xfree86 pode detectar o chip automaticamente na maior parte dos casos. Finalmente o Xconfigurator solicitar o modo de vdeo que se deseja utilizar. Selecione um ou mais modos pressionando Espao. O Xconfigurator ento criar um arquivo de configurao em /etc/X11/XF86Config com as opes selecionadas.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

45

6- Ambiente Grfico
6.1- Introduo
O ambiente grfico no Linux tem como carro chefe o X11, que proporciona uma interface grfica completa para sistemas UNIX e semelhantes. Foi originalmente desenvolvido pelo Projeto Athena no MIT e pela companhia Digital Equipment Corporation. O X11 hoje em dia o servidor grfico padro para o UNIX e desenvolvido e distribudo comercialmente pela X Consortium. De qualquer modo, uma licena de liberao permite a existncia de implementaes de cdigo aberto tais como o Xfree86 e o XSuSE e comerciais como o MetroX e o AcceleratedX. O ambiente grfico no Linux se divide em duas partes distintas: o servidor grfico e as aplicaes do cliente. Apesar de representarem partes distintas do ambiente grfico, com funcionamento independente, ficam, aos olhos do usurio, como se fossem uma s.

6.2- O Servidor Grfico


O servidor grfico a parte do ambiente grfico que efetivamente gerencia os grficos e perifricos de entrada e de sada, permitindo ao usurio interagir com estes componentes. importante frisar a seguinte separao: apesar de o servidor grfico ser designado para gerenciar grficos, ele no reconhece mtodos para manipular janelas e objetos grficos. Este papel cabe aos gerenciadores de janela. Essa uma opo muito poderosa do X11. Diferentemente de outros ambientes grficos, ele separa o gerenciamento de janelas do gerenciamento do vdeo. Existe a possibilidade de se mudar a interao das janelas com o usurio e a maneira como elas se apresentam: barras de ttulo, menus, botes, etc, podem possuir diversas apresentaes, de acordo com o gosto do usurio.

6.3- Interface Grfica do Usurio (GUI)


Uma GUI nada mais que uma interface grfica de programao. Em outras palavras, uma GUI aquilo que vemos no ambiente grfico do nosso sistema operacional. O termo se tornou necessrio devido ao fato de as primeiras interfaces interativas para o usurio no terem sido grficas: elas eram orientadas a texto e a teclado e geralmente consistiam de comandos dos quais voc tinha que se lembrar e de breves respostas dos computadores. A interface de comando do sistema operacional MS-DOS (a qual voc ainda pode experimentar do prompt do DOS de seu Windows) um exemplo tpico desse tipo de interface.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

46

Um estgio intermedirio entre as interfaces de linhas de comando e a GUI foi a interface no grfica baseada em menus, que permitia ao usurio interagir com o sistema utilizando o mouse e/ou setas de navegao ao invs de digitar linhas de comando. Hoje em dia a maioria dos sistemas operacionais oferecem uma interface grfica de usurio. Os aplicativos tipicamente se utilizam dos elementos da GUI que vm junto com o sistema operacional e adicionam suas prprias idias e elementos de interface. Uma GUI s vezes utiliza uma ou mais metforas para objetos comuns na vida real, como a vista atravs de uma janela. Os elementos de uma GUI incluem: janelas, menus, botes, barras de rolagem, imagens em cones, entre outras coisas. Com o aumento da multimdia como parte da GUI, interfaces de som, voz, vdeo e realidade virtual se tornam parte da GUI para muitos aplicativos. A GUI mais familiar maioria dos usurios a dos sistemas Windows e Macintosh, originadas do Laboratrio de Pesquisa da Xerox em Palo Alto no final da dcada de 70. A Apple utilizou a GUI em seu primeiro computador. Mais tarde, a Microsoft utilizou-se de muitas dessas mesmas idias para a primeira verso do Windows para PCs fabricados pela IBM. Dentro de uma GUI, temos as ferramentas orientadas a objeto, as quais facilitam a escrita de interfaces grficas. Cada elemento da GUI definido como uma classe com a qual voc pode criar eventos para a sua aplicao. Voc pode aproveitar o que j existe ou modificar ou criar mtodos que os objetos de seu aplicativo utilizaro para responder aos estmulos do usurio. Veremos a seguir exemplos das GUIs mais tradicionais utilizadas em Linux.

6.3.1- Motif
O Motif uma bem sucedida GUI desenvolvida pela Open Source Foundation por volta de 1989 para o sistema X. utilizado em vrios sistemas UNIX e inclusive no Linux. Exemplos importantes de aplicativos que utilizam essa GUI so Netscape e Corel WordPerfect. Por ter sido escrito a um tempo considervel, o Motif apresenta ferramentas (widgets) rsticas para os padres atuais. Apesar disso, sua grande e sucedida aplicao fazem dele uma das GUI preferidas, principalmente por grandes empresas de software, para as quais um produto j em estgio maduro de desenvolvimento bastante importante.

6.3.2- qt
O qt a GUI desenvolvida pela Troll Technologies para a plataforma X. uma GUI altamente moderna e poderosa, utilizada inclusive na construo do sistema de janelas e desktop KDE, o mais estvel e desenvolvido do momento em termos de Linux. O qt foi escrito em C++ e completamente orientado a objeto, contendo tudo o que voc possa precisar na criao de aplicativos grficos profissionais, tudo isso com muita rapidez.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

47

Alm disso, o qt tambm multiplataforma, podendo ser utilizado em sistemas UNIX, no Linux e inclusive no Windows.

6.3.3- GTK
O GTK a GUI criada inicialmente para atender s necessidades do programa grfico GIMP. Prova disso o significado da sigla que lhe d nome: Gimp Tool Kit. Com o passar do tempo, porm, essa GUI cresceu tanto em recursos e funcionalidade, que acabou se tornando a GUI de maior futuro no mundo grfico do Linux. Escrita nos padres de cdigo aberto e software livre, o GTK objetiva a criao de softwares, livres ou comerciais, em ambiente grfico com a maior liberdade possvel e sem a necessidade de preocupao com licenas de utilizao. O modelo de desenvolvimento do GTK prev a distribuio de seu cdigo fonte, habilitando o usurio a modific-lo de acordo com sua necessidade. O nico compromisso desse usurio o de manter o cdigo modificado aberto para a utilizao de terceiros. Hoje em dia, o sistema Linux possui vrios padres de ambiente grfico interessantes e diferentes. Segundo o modelo GTK, voc no deve ficar satisfeito com apenas um padro. Foi com essa filosofia que surgiu o projeto GTK Themes. Integrado ao GTK, ele prev a modificao da aparncia dos diversos objetos que compe o kit de ferramentas do GTK. Deste modo, possvel personalizar por completo seu ambiente grfico, fazendo com que ele se parea com qualquer coisa que o agrade. possvel, por exemplo, transformar os objetos do GTK, tais como botes, padres de janelas, caixas de checagem, etc., a fim de que seu sistema fique idntico (em aparncia!!) ao Windows. Voc mesmo pode criar seu Theme! Outro ponto bastante interessante desta GUI que no se fica preso a uma linguagem de programao. Apesar de ser escrito em C, programadores de todo o mundo tm contribudo com ligaes de outras linguagens para o GTK, incluindo C++, Guile, Perl, Python, TOM, Ada95, Free Pascal, Eiffel, entre outras. Desta forma, independentemente da linguagem utilizada, todos os programas tero a mesma aparncia e recursos provenientes do GTK. A flexibilidade no para por a. O GTK tem um poderoso sistema de sinais, vrias tcnicas diferentes para layout de objetos e muitos objetos. Voc pode fazer um novo objeto a partir de um j existente ou at mesmo combinar vrios objetos existentes para a criao de um novo. Apesar de ter sido inicialmente desenvolvido para o sistema X11, j existe um projeto que intenta portar o GTK para a plataforma Microsoft Windows. Deste modo, num futuro prximo o GTK ser uma soluo vivel para a criao de programas que funcionem tanto em sistemas baseados em UNIX quanto aqueles baseados em Microsoft Windows. Por ltimo, o GTK, apesar de ainda recente, j foi bastante testado e utilizado, com larga aprovao de seu potencial. Prova disso a utilizao desta GUI em outros projetos de grande importncia e prestgio, como o GIMP e o GNOME. Segundo os responsveis pelo projeto, o modelo de software livre o grande responsvel por tanta flexibilidade e versatilidade, e o que assegura o futuro do GTK.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

48

6.4- Gerenciadores de Janelas


6.4.1- KDE
O KDE um poderoso ambiente grfico de desktop para estaes UNIX. Ele combina facilidade de uso, funcionalidade e um belo design com a superioridade tecnolgica dos sistemas UNIX. O KDE um projeto totalmente aberto. Seu desenvolvimento feito por pessoas ao redor do mundo atravs da Internet, e todos so convidados para ajudar em seu desenvolvimento, j que o KDE est de acordo com as licenas GNU. O KDE um projeto maduro composto por um vasto e crescente nmero de aplicaes. Possui um design modular e orientado a objetos, o que traz uma interoperabilidade poderosa entre seus componentes. compatvel com outros padres da indstria de cdigo aberto, tais como X11 e CORBA. O sistema KDE a base da sute de aplicativos KOffice, composta por ferramentas de escritrio, tais como editor de texto e planilha.

6.4.2- Enlightenment
O Enlightenment o gerenciador de janelas do X11 mais trabalhado em termos grficos. No foi feito com o intuito apenas de gerenciar janelas, mas para proporcionar um ambiente grfico til e ao mesmo tempo agradvel. Possui uma interface bastante malevel e, segundo os prprios autores, foi feito para proporcionar uma pequena obra de arte em seu vdeo, e no apenas um simples desktop. O sistema ainda se encontra em estgio de desenvolvimento, o que segundo os prprios autores pode causar uma pequena instabilidade. criao de um dos mais famosos desenvolvedores do Linux, Carsten Haitzler, popularmente conhecido como Raster.

6.4.3- Window Maker


O Window Maker um gerenciador de janelas do X11 criado com a inteno de dar suporte adicional s aplicaes GNUstep. Ele pretende emular o visual elegante da GUI NeXTSTEP. relativamente rpido, poderoso e de fcil configurao e uso. O sistema foi criado pelo brasileiro Alfredo Kojima, da Universidade Federal do Rio Grande do Sul, que inicialmente trabalhava no desenvolvimento do gerenciador de janelas Afterstep. Aps alguns desentendimentos com o pessoal do projeto, decidiu sair e criar seu prprio gerenciador de janelas.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

49

O Window Maker hoje conta com a ajuda de muitos programadores ao redor do mundo em seu desenvolvimento, tornando-se um dos mais populares gerenciadores de janela para Linux, juntamente com o KDE e o Enlightenment.

6.5- GNOME
O GNOME um projeto que pretende proporciornar aos usurios um fcil uso e configurao de seus ambientes de desktop. Inclui um painel, um desktop, e um conjunto de ferramentas, aplicativos e convenes que faz com que as vrias aplicaes cooperem e sejam consistentes entre si. compatvel com inmeras verses de UNIX e com Linux. GNOME o acrnimo de GNU Network Object Model Environment, e desenvolvido por inmeros programadores ao redor do mundo. O Painel hoje o aplicativo principal da interface GNOME. Ele age como repositrio de todos os outros aplicativos, applets e do menu principal. altamente configurvel como todos os aplicativos GNOME. O gerenciador de arquivos GNOME, ou GMC - GNU Midnight Commander permite ao usurio um fcil e poderoso controle de seus arquivos em modo grfico. baseado no gerenciador de arquivo, para console, Midnight Commander. Sua interface se parece com a do Windows Explorer, no entanto, possui ferramentas que permitem ao usurio um controle melhor do desktop. Permite ainda acesso a sistemas de arquivos remotos via FTP, como se estes fossem locais. O centro de controle GNOME uma poderosa ferramenta, a qual permite ao usurio a configurao de vrias partes do sistema. composto de vrias ferramentas chamadas capplets, onde cada ferramenta, ou capplet, responsvel pela configurao de uma determinada parte do sistema. Pode-se configurar desde o desktop aos perifricos do sistema, como teclado e mouse, bem como efeitos sonoros e grficos do ambiente.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

50

7- Interpretador de Comandos
7.1- Introduo
O interpretador de comandos, ou shell, o nome genrico que recebe uma classe de programas que servem ao mesmo propsito: fornecer uma interface interativa, no visual, ao usurio ou operador, onde comandos podem ser digitados, tarefas podem ser controladas e manipuladas, tudo isso em um ambiente onde a configurao da aparncia e parmetros de alguns programas podem ser modificados interativamente. Por outro lado, o interpretador de comandos tambm funciona como linguagem de programao (interpretada), configurando uma forma relativamente eficiente e menos complexa de se executar tarefas. Cada interpretador de comandos tem um ambiente, que um simples banco de dados em forma de texto, relacionando nomes de variveis com os seus valores. Algumas variveis so muito importantes, pois controlam onde o interpretador de comandos ir procurar programas para executar, qual o tipo de terminal que estamos usando, e outras propriedades relacionadas com o nosso ambiente particular. Na entrada do sistema, o shell executa alguns arquivos, definindo assim o ambiente inicial do usurio.

7.2- Shell x Prompt


A essa altura fica inevitvel ao leitor uma dvida tpica: e o prompt do MS-DOS? No seria ele tambm uma shell? A resposta no to exata assim. Na verdade, o prompt uma shell no contexto do Windows, mas no possui nem metade dos recursos e da funcionalidade de uma shell em Linux. A questo que no Windows a integrao e interdependncia do sistema torna o desenvolvimento dessa ferramenta meio que desinteressante. O sistema limitado e a liberdade pouca. A proposta do prompt do MS-DOS possibilitar ao usurio a execuo de comandos de uma maneira mais interativa. No Linux, a proposta vai bem alm disso. Existem ferramentas sofisticadas que permitem ao usurio uma interao completa com o sistema, inclusive em termos de programao.

7.3- Scripts x Arquivos batch


Aqui temos duas ferramentas que, apesar de possurem a mesma finalidade, nem se comparam em termos de potencial. Tanto os famosos arquivos de extenso .bat do Windows quanto os scripts (programas) em shell tm como finalidade automatizar tarefas para o usurio. Em outras

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

51

palavras, tudo o que voc faria em linha de comando voc pode reunir em um desses arquivos de uma s vez, de modo a agilizar o processo. Deste modo, fica fcil entender a diferena entre esses dois tipos de arquivos. Se eles dependem da linha de comando, a diferena se encontra justamente na limitao do prompt do MS-DOS frente a um shell.

7.4- Exemplos de Shell


Diferentemente do prompt do MS-DOS, que nico, no Linux existe um grande nmero de shell, que se diferenciam basicamente no tipo e nmero de recursos oferecidos ao usurio. Os mais conhecidos shells so: bash, zsh, tcsh, ksh e csh, sendo o bash conhecido e utilizado. mais

A deciso sobre qual delas utilizar est intimamente ligada s necessidades do usurio. Se voc um programador da linguagem C, certamente se sentir bem vontade utilizando o csh, um shell que incorpora muitas das peculiaridades desta linguagem.

7.5- Programao em Shell (csh)


Uma das principais qualidades do shell o fato de este alm de ser um eficiente interpretador de comandos, tambm ser uma poderosa e simplificada linguagem de programao. Os scripts so interpretados, e em sua estrutura se parecem muito com programas desenvolvidos em outras linguagens, pois possuem variveis e construes condicionais e interativas. Alguns estudos indicam que um programador pode at mesmo triplicar sua produtividade utilizando-se dos recursos de programao do shell afim de automatizar tarefas recursivas. Os scripts em shell so geralmente usados em situaes onde necessrio interagir com um comando, realizar procedimentos complexos usando muitas linhas de comando, ou procedimentos do qual todos os usurios podero beneficiar-se, uma tarefa numa data planejada e para integrar informaes de vrios sistemas existentes. Em nossos estudos de programao em shell usaremos o c-shell (csh) por ser um shell facilmente encontrado e por aceitar e possuir algumas caractersticas da linguagem de programao C. O c-shell foi originalmente escrita por Bill Joy da Universidade de Berkeley, e tem como caractersticas a similaridade com a linguagem C, controle de tarefas em primeiro e segundo plano, uso de histrico e alliasing (definio de nomes simblicos para nomes de comandos), estruturas de controle, variveis locais e globais e operadores condicionais.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

52

7.5.1- Operadores
Aqui esto alguns operadores vlidos em c-shell, usados para o redirecionamento de sada e entrada de arquivos e aplicativos: - > - redireciona a sada - < - redireciona a entrada - >> - redireciona sada sem perda de contedo - << - redireciona entrada sem perda de contedo - | - pipe (conduto), funciona como uma ligao entre dois arquivos ou aplicativos, fazendo com que a sada de um se torne a entrada do outro. Existem ainda outros tipos de operadores, tais como matemticos e lgicos: + - adio - - subtrao * - multiplicao / - diviso == - igual != - diferente && - e || - ou =~ - igual (somente usado para strings) !~ - diferente(somente usado para strings) >, <, >=, <= - maior, menor, maior ou igual, menor ou igual

7.5.2- Caracteres Especiais


Existem alguns caracteres especiais no csh que so de muita utilidade em scripts, vejamos quais so eles: Aspas duplas (string) mostra a string e substitui as variveis em seu interior pelos seus respectivos contedos. Aspas simples (string) o mesmo que as aspas duplas, porm no substitui as variveis pelos seus contedos. Crase (comando(s)) o resultado do comando utilizado na sada Barra invertida (\) transforma um caracter especial em caracter normal.

Existem ainda outro tipo de caracteres especiais chamado de metacaracteres: Ponto-e-vrgula (;) separador de comandos sequenciais Interrogao (?) expande a ? substituindo-a por qualquer caracter vlido Asterisco (*) expande o * substituindo-o por qualquer cadeia de caracteres.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

53

Colchetes ([ ]) faz substituio dos smbolos, ou intervalo de smbolos contidos entre os colchetes na palavra. Ex. ls casa[1-5].txt

Lista todos os arquivos iniciados pela palavra casa e que aps essa palavra tenham um numero contido entre 1 e 5 e que sejam terminados em .txt, como casa3.txt.

7.5.3- Variveis Locais


A criao e atribuio de valores variveis muito simples. Temos em csh dois tipos de variveis, as strings e numricas. Para se criar e atribuir um valor a uma varivel local(que s valem durante a execuo do script) do tipo string usamos o comando set. set msg = Ola!!! set titulo = Curso Basico de Linux Um exemplo de matriz de caracteres: set nomes = ( Giuliano Rodrigo Marcelo) Para se criar e atribuir valor a uma varivel local do tipo numrica usa-se o smbolo @: @ numero = 10 @ ano = 1999 Obs.: necessrio que haja um espao em branco entre o @ e o nome da varivel. Para se trabalhar com o valor de uma varivel, qualquer que seja seu tipo, utiliza-se o smbolo $: echo Estamos no ano : $ano produz na sada : Estamos no ano : 1999 echo Bem vindos ao $titulo sada : Bem vindos ao Curso Basico de Linux echo Nome : $nomes[2] sada : Nome : Rodrigo

7.5.4- Passagem de Parmetros

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

54

Um recurso muito til e poderoso a passagem de parmetros para um script na linha de comando. Em csh os parmetros recebidos por um script da linha de comando so armazenados em uma matriz de nome argv, e podem ser acessados por seus respectivos nmeros, onde: argv[0] = o nome do script argv[n] = o n-simo parmetro recebido, ou seja, argv[1] o primeiro parmetro, argv[2] o segundo e assim sucessivamente.

Uma outra maneira de referenciar os parmetros usando simplesmente o numero que o identifica: set param1 = $1 set param = $2 Pode-se ainda obter algumas outras informaes referentes aos parmetros recebidos usando os seguintes comandos: $#argv mostra o numero de parmetros passados ao script $* - referencia todos os parmetros $$ - mostra o numero do processo do comando corrente

7.5.5- Variveis Globais


Existem ainda variveis globais, ou seja, variveis que mantm seus valores independentemente de nosso script estar ou no rodando. Essas variveis so tambm conhecidas como variveis de ambiente. Algumas das variveis de ambiente mais importantes so: $USER : Contedo do resultado do comando whoami (quem o usurio da conta) $CWD : Contedo do resultado do comando pwd (diretrio corrente) $PATH : Lista de diretrios a serem procurados pelo meus executveis $HOME : Mostra qual o diretrio home $PROMPT : Mostra o que est ajustado como prompt $SHELL : Mostra o shell que est sendo utilizada $TERM : Mostra qual o tipo de terminal que est sendo utilizado $HOSTNAME: Nome do computador que estou utilizando no momento

O contedo dessas variveis pode ser visto a qualquer momento bastando para isso digitar o comando set no prompt de comando.

7.5.6- Comandos Condicionais e em Lao


No csh assim como em linguagem C temos comandos de estruturas condicionais e em lao, estes comandos em csh possuem uma sintaxe e funcionamento bem parecidos aos seus similares da linguagem C.

if-then-else

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

55

Utilizado quando se deseja executar um comando ou um conjunto de comandos mediante uma determinada condio. A sintaxe deste comando bem rgida: if(condio) then comandos else comandos endif then, obrigatoriamente, tem que estar na mesma linha de comando if e no pode haver outro comando na mesma linha. Na linha do else no pode haver comandos

Este comando executa o(s) comando(s) existentes entre o if e o else caso a condio seja satisfeita, e o(s) comando(s) entre o else e o endif caso contrrio.

foreach
Este comando em lao executa um determinado comando, quantas vezes forem necessrias afim de atender a expresso a ele passada. foreach varivel (condio) comando $varivel end Exemplos: Utilizando array: set tabela = (maria joo) foreach pessoa ($tabela[*]) echo $pessoa end Utilizando o resultado de um comando foreach arquivo ( `ls -l | cat $3, $4,$8) echo $arquivo end

while
O comando em lao while executa um bloco de comandos enquanto uma determinada condio for verdadeira. while (condio) bloco de comandos

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

56

end Exemplo: while (a <= 10) echo valor = $a $a++ end

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

57

8- Configurao do Sistema
8.1- Introduo
Veremos neste item como configurar e utilizar os equipamentos mais comuns que em geral esto disponveis ao sistema. Melhor ainda, buscaremos entender o funcionamento destes equipamentos no contexto do Linux. Estes equipamentos foram distribudos de acordo com a proximidade dos mesmos com o usurio, em uma ordem completamente sugestiva e que imaginamos ser a ideal ao aprendizado. Vale lembrar, contudo, que a inteno fornecer ao leitor subsdios para um contato mais natural com a configurao do sistema. No estaremos preocupados, nesta seo, com detalhes de configurao de equipamentos especficos. Seria at mesmo um desperdcio de tempo tal posicionamento, visto que existe na Internet um nmero incontvel de fontes de informao em relao aos mais variados assuntos que possam representar fuga de padro no Linux.

8.2- O Teclado
A configurao do teclado conseguida redefinindo as tabelas de traduo de cdigos gerados pelas teclas em caracteres e carregando fontes de caracteres que contenham smbolos especiais peculiares ao idioma em questo. A configurao da fonte de caracteres e mapa de teclado feita usando o pacote KBD, o qual encontrado em todas as distribuies de Linux.

8.2.1- O que um mapa de teclado?


Cada tecla do PC possui um cdigo numrico. Ao pressionarmos uma tecla, o processador controlador do teclado envia ao computador esse cdigo de varredura, tambm conhecido como scancode (cdigo de leitura), junto com um sinal de que a tecla foi pressionada ou solta. Essas seqncias de eventos so ento processadas pelo driver de teclado e armazenadas em uma fila de caracteres (buffer) que lida pelas aplicaes por meio da chamada de funes do sistema operacional. Um mapa de teclado um arquivo texto onde se colocam as correspondncias entre o cdigo de varredura de cada tecla e o caractere (ou seqncia de caracteres) que ser gerado quando ela for pressionada.

8.2.2- Comandos do Pacote KBD O Comando loadkeys

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

58

O comando loadkeys permite especificar a equivalncia entre a tecla que se pressiona no teclado e o cdigo (keycode) que os programas recebem. Isto conseguido atravs do carregamento de um mapa de teclado. Sintaxe: loadkeys mapa-a-ser-carregado O mapa no precisa obrigatoriamente definir todas as teclas, apenas aquelas cujo tratamento deve ser feito de modo diferente do normal. Ao atribuirmos um caractere no padro a uma tecla, precisamos definir tambm o efeito de todos os modificadores (Shift, Alt, Ctrl). Podemos ainda definir regras de composio de caracteres, recurso que pode ser usado para permitir que o fosse gerado pela seqncia C.

O Comando setfont
O comando setfont permite o carregamento de uma fonte de caracteres, possibilitando o uso de smbolos especiais. Sintaxe: setfont arquivo-de-fonte

O Comando showfont (showcfont)


O comando showfont mostra todos os caracteres existentes na fonte que est atualmente em uso no console. Sintaxe: showfont (showcfont)

8.2.3- Configurando o Teclado no Console


Para configurar o teclado no console, voc vai precisar de um mapa de teclado do idioma correspondente e de um arquivo de fontes. No caso do Brasil, utiliza-se o arquivo lat1u-16.psf como arquivo de fonte. Quanto ao mapa, este pode ser encontrado em diversos sites da Internet, isso se voc no estiver disposto a fazer o seu. De posse desses dois arquivos, execute os seguintes passos: 1) Copie o mapa para o diretrio de mapas de teclado

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

59

2) Inclua as seguintes linhas no arquivo /etc/profile: LC_CTYPE=ISO-8859-1 export LC_CTYPE OBS: Essa sintaxe varia de acordo com a distribuio. Voc deve se basear nas outras atribuies feitas nesse mesmo arquivo. 3) Inclua as linhas seguintes no arquivo rc.local: loadkeys arquivo-do-mapa setfont lat1u-16.psf

8.2.4- Configurando o Teclado no Ambiente Grfico


O ambiente grfico vem equipado com um utilitrio destinado configurao do teclado, chamado xmodmap, que cumpre uma funo idntica ao comando loadkeys, ou seja, l um arquivo texto de mapa de teclado, especificando as equivalncias entre os cdigos de varreduras e respectivos caracteres de resposta. A configurao do ambiente grfico no interfere de forma alguma com a configurao do console. De fato, possvel ter o seu ambiente grfico configurado e no realizar qualquer tipo de configurao no console, e vice-versa. Outro ponto importante a se observar que os cdigos de varredura das teclas no X no correspondem aos cdigos de varreduras das mesmas teclas no console. Outra diferena que no ambiente grfico no necessrio carregar um arquivo de fonte com smbolos peculiares ao idioma. Para configurar o teclado para o padro brasileiro no ambiente grfico, voc tambm precisar de ter em mos um mapa devidamente ajustado. So necessrios os seguintes passos: 1) Copie o mapa para seu diretrio /etc/X11/xinit, renomeando-o para .Xmodmap. 2) Caso o sistema j inicie em ambiente grfico, crie/modifique as linhas seguintes no arquivo /etc/X11/xdm/Xsetup_0: sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi

8.3- As Portas de Comunicao

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

60

As portas de comunicao no Linux so referenciadas por arquivos especiais de caracter localizados no diretrio /dev. Para as portas seriais, temos a seguinte correspondncia:

COM1 = ttyS0 COM2 = ttyS1 COM3 = ttyS2 COM4 = ttyS3


Existe uma antiga conveno no Linux que utilizava dispositivos distintos para a entrada e sada de dados. Nessa conveno, utilizava-se os arquivos de nome cua0, cua1, etc., para os dispositivos de sada de dados e os arquivos de nome ttyS0, ttyS1, etc., para a entrada. A partir do kernel 2.2.0, os dispositivos do tipo cuaX deixaram de existir. possvel definir todas as variveis de portas seriais atravs do utilitrio setserial, o qual veremos a seguir. Quanto aos dispositivos paralelos, estes so representados pelos arquivos de caracter lp0, lp1, lp2, at no mximo lp6. Os arquivos lp0, lp1, lp2 correspondem aos endereos das portas 0x03bc, 0x0378, 0x0278. Essas portas podem ou no utilizar IRQ, sendo que seu uso recomendado quando o trfego pela porta for muito grande. importante ressaltar que, para podermos utilizar a porta paralela, preciso habilit-la no kernel.

8.3.1- setserial
O setserial um programa que tem como objetivo ajustar e/ou reportar informaes sobre a configurao associadas as portas seriais. Essas informaes incluem, entre outras coisas, intervalo de entrada e sada (E/S), IRQ e UART que a porta est utilizando. Durante o processo de inicializao, somente as portas de COM1 at COM4 so inicializadas, com seus valores de Entrada e Sada padres. O setserial pode inicializar outras portas seriais ou mudar as configuraes das portas seriais usuais. Sintaxe: setserial [atributos] dispositivo(s) [parmetros] Atributos: g = define uma lista de dispositivos dos quais se quer informaes a = imprime todas as informaes sobre um ou mais dispositivos

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

61

Parmetros:

port = ajusta o intervalo de E/S da porta (especificado em hexadecimal) irq = ajusta IRQ da porta uart = ajusta o tipo de UART autoconfigure = tenta autoconfigurar a porta. Deve ser utilizada juntamente aos parmetros auto_irq, port e skip_test autoirq = tenta determinar um IRQ para a porta durante a configurao ^auto_irq = no tenta determinar um IRQ para a porta durante a configurao skip_test = durante a configurao, no realiza o teste de UART

8.4- O Mouse
O mouse no Linux referenciado pelo arquivo /dev/mouse. Portanto, a primeira coisa a fazer criar esse arquivo como link simblico apontando para o arquivo da porta onde seu mouse se encontra conectado: ln s /dev/ttySX /dev/mouse Onde o X deve ser substitudo pelo nmero da porta correta, caso seu mouse seja serial. Caso seu mouse seja PS/2 deve-se substituir /dev/ttySX por /dev/psaux. No Linux, possvel utilizar o mouse tanto no console quanto no ambiente grfico. A utilizao do mouse no ambiente grfico ser tratada na parte referente ao mesmo deste material. Quanto utilizao do mouse no console, o programa mais utilizado para tal o gpm. Ele permite selecionar e colar textos no shell do sistema, utilizando-se os dois botes do mouse: o da esquerda para selecionar e o da direita para colar. O gpm est geralmente presente como pacote de software em todas as distribuies de Linux. Usa-se carreg-lo logo na inicializao do sistema, atravs do arquivo rc.local.

8.5- A Impressora
A configurao de impressoras no Linux feita de maneira bastante simplificada. Qualquer que seja a distribuio utilizada, dois detalhes devem sempre ser verificados: A habilitao para uso de porta paralela no kernel. Isso se sua impressora utilizar este dispositivo, que o comum. A habilitao da porta paralela feita na seo de Dispositivos de Caracter do kernel a ser compilado. A inicializao de um servidor de impresso. Em geral, o lpd, que ser visto em detalhes na seo referente administrao do sistema.

Este segundo passo, apesar de opcional, merece ser implementado por questes de praticidade do usurio. A bem da verdade, o sistema por si s capaz de se comunicar com a

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

62

impressora de maneira, digamos, crua, a partir da(s) porta(s) de comunicao a que a impressora estiver ligada. O sistema enxerga o equipamento como uma extenso da porta referenciada e faz o seu tratamento a partir dessa porta. Contudo, este contato cru bastante rstico e pode resultar em impresses indesejveis, especialmente quando se utiliza padres de arquivos no reconhecidos pela impressora. Para estes casos, torna-se necessria a utilizao dos chamados filtros de impresso, utilizados para tratar os diferentes tipos de arquivo, tais como: GIF, JPEG, TIFF e outros formatos grficos e de texto. O filtro de impresso geralmente um script que, conforme o tipo de arquivo (imagem gif, jpeg, texto, postscript, etc) converte o arquivo para uma linguagem especfica. Estes scripts tradutores so divididos em duas categorias: os filtros de entrada e os filtros de sada. Os filtros de entrada funcionam como tradutores do formato original da solicitao de impresso para o formato que o sistema operacional entende. aplicado na primeira etapa da impresso, com o objetivo de possibilitar ao sistema trabalhar com as informaes a serem impressas de maneira adequada e rpida, fazendo as formataes e a organizao necessria. Os filtros de sada participam da segunda etapa da impresso, convertendo o formato utilizado pelo sistema para o formato no qual a impressora trabalha. Estes filtros, em alguns casos, so dispensveis. Se utilizarmos uma impressora a laser, por exemplo, usualmente a sada em postscript j , em geral, a sua linguagem nativa, que a mesma do sistema operacional. Mas com impressoras jato de tinta, por outro lado, precisaremos converter de postscript para o formato usado por essa impressora. O postscript universalmente usado como linguagem intermediria para impresso em sistemas UNIX. Devido sua difuso, portabilidade, e disponibilidade de aplicaes para manipular e reformatar o contedo das pginas a serem impressas, esse formato utilizado como estgio intermedirio pelos filtros de impresso. Os filtros de impresso so geralmente fornecidos pelo fabricante do programa que utiliza aquele formato de arquivos.

8.6- O Modem
A configurao do modem no Linux muito simples pois no necessrio nenhum tipo de driver ou programa de instalao, voc simplesmente precisa saber em que porta ele se encontra. Aps se certificar em que porta seu modem esta crie para ele um link simblico. Para isso, entre no diretrio /dev de digite no shell: ln -s /dev/ttyS1 /dev/modem Substitua o ttyS1 pela porta correspondente de seu modem.

8.6.1- Problemas de IRQ

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

63

Se voc possui um modem 28800 ou superior e esta tendo problemas de lentido excessiva na inicializao do modem e na discagem, alem de quedas constantes da conexo, seu modem pode estar tendo problema de conflito de IRQs. A soluo para este problema simples, bastando mudar a IRQ de seu modem. Isso pode ser feito usando-se o programa setserial, da seguinte maneira: setserial /dev/ttyS2 irq 11 spd_vhi A opo spd_vhi faz com que a porta trabalhe em velocidade otimizada, o que gera um melhor desempenho do modem. Para que esta configurao seja feita automaticamente todas as vezes que o sistema for iniciado acrescente a linha referente ao comando setserial no arquivo /etc/rc.d/rc.local.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

64

9- Administrao do Sistema
9.1- Introduo
Esta seo ser dedicada ao estudo de aspectos administrativos do sistema operacional Linux. Veremos servios de extrema importncia para o bom funcionamento da nossa mquina, assim como aspectos referentes ao monitoramento e ao bom uso dos recursos que nos so oferecidos pelo sistema. Cabe dizer neste momento que as solues apresentadas nesta parte do material no so nicas. Deve ficar claro ao usurio que cada uma das distribuies de Linux se encarregar de oferecer ferramentas mais simples e intuitivas para a execuo das mesmas tarefas descritas nesta seo. Ocorre que a preocupao deste material no a de formar usurios especialistas em uma ou outra distribuio de Linux, e sim formar pessoas que possuam uma viso universal a respeito de como o sistema montado, independentemente da distribuio adotada. Mais uma vez desempenha importncia crucial para o sucesso do leitor nesta seo um bom domnio de lgica de programao e de scripts, pois ele so responsveis pela configurao de quase que a totalidade dos servios e recursos que utilizamos no Linux.

9.2 - Partida e Parada (Os Nveis de Execuo)


Nesta parte da apostila tentaremos abordar, de forma bastante simplificada, aquilo que acontece quando ligamos e desligamos uma mquina que possui Linux. Logo que a mquina ligada (ou aps um reset), a BIOS o primeiro programa a ser carregado, fazendo suas checagens de rotina e procurando por aquilo que est pr-configurado em relao a discos, portas, perifricos, etc. Logo em seguida, hora de passar a vez para algum sistema operacional. A BIOS procura por alguma informao referente a sistemas operacionais. Essa busca se inicia no primeiro setor do disco selecionado para carga, o chamado Master Boot Record (MBR). Se tudo estiver correto, nessa hora entra em ao o LILO, nosso carregador de sistemas operacionais. O LILO pode ser configurado para carregar mais de um sistema operacional ou vrias verses do mesmo sistema. comum colocarmos vrias imagens de kernel com configuraes diferentes, por exemplo, e usar o LILO para escolher qual delas carregar. Depois de carregado o kernel, normalmente comprimido, ele se expande antes de iniciar a sua execuo. Isso ocorre atravs de um pequeno programa colocado no incio da imagem. Em seguida, voc ver uma srie de mensagens emitidas pelo kernel, referentes deteco e configurao do seu hardware:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

65

Console: 16 point font, 400 scans Console: colour VGA+ 80x25, 1 virtual console (max 63) pcibios_init : BIOS32 Service Directory structure at 0x000fdae0 pcibios_init : BIOS32 Service Directory entry at 0xfdaf0 pcibios_init : PCI BIOS revision 2.10 entry at 0xfdb11 Probing PCI hardware. Calibrating delay loop.. ok - 59.80 BogoMIPS Memory: 31068k/32768k available (600k kernel code, 384k reserved, 716k data) Swansea University Computer Society NET3.035 for Linux 2.0 NET3: Unix domain sockets 0.13 for Linux NET3.035. Swansea University Computer Society TCP/IP for NET3.034 IP Protocols: ICMP, UDP, TCP Checking 386/387 coupling... Ok, fpu using exception 16 error reporting. Checking 'hlt' instruction... Ok. Linux version 2.0.30 (root@percproj) (gcc version 2.7.2) #6 Tue Apr 28 15:19:15 EST 1998 Este contedo certamente ser diferente na sua mquina, dependendo dos seus dispositivos de hardware, verso do kernel, entre outras coisas. O prximo passo montar o sistema de arquivos raiz (diretrio /). Feito isso, o kernel encerra a sua configurao em si. A prxima etapa definir a configurao de servios do sistema. hora do programa /sbin/init entrar em ao. O init troca os nveis ou run levels do sistema. Essas trocas so resumidas em: monousurio para multi-usurio, modo console para modo grfico. Isso feito atravs da leitura do arquivo /etc/inittab, que conter os sub-processos que o kernel dever criar para tratar as linhas de terminal, locais ou remotas. O nveis ou run levels definem a configurao do sistema. So divididos em 7, numerados de 0 a 6. Os nveis 0, 1 e 6 so sempre reservados para parada do sistema (halt, nvel 0), para a entrada em modo mono-usurio (single, nvel 1) e para recarga do sistema (reboot, nvel 6). Os outros nveis tm significados que variam de acordo com a distribuio utilizada. Definem a entrada do sistema inicialmente para o modo multi-usurio e em seguida para o modo grfico. O init tambm tem a funo de iniciar daemons atravs dos scripts que ele executa. A localizao desses scripts varia de acordo com a distribuio utilizada. De qualquer forma, o diretrio padro para a localizao desses scripts o /etc/rc.d. Quanto sequncia de execuo dos scripts, cada distribuio de Linux elabora um conjunto de regras e padres a ser seguido. No Conectiva Linux e outras distribuies derivadas do RedHat, existe um arquivo principal chamado /etc/rc.d/rc que recebe o nvel do init como parmetro e escolhe o subdiretrio correspondente a este nvel (run level) para ser executado. No Slackware, todos os scripts esto no mesmo diretrio (/etc/rc.d) e a terminao (rc.0, rc.1, etc.) determina o nvel ou run level do sistema. Como voc j deve ter

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

66

percebido, as variaes so muitas, e o melhor a fazer procurar por informaes sobre isto na documentao da sua distribuio. Dessa forma, aps a execuo de todos os scripts do init, o sistema est pronto para ser utilizado. Entra em ao o getty (ou o mgetty) que tm a funo de validar sua conta e entreg-lo sua shell padro. Pronto: voc entrou no sistema! Para a parada do sistema, nunca deve se utilizar o RESET ou POWER a fim de se realizar tal tarefa. Em vez disso, temos vrias alternativas, tais como o comando init com parmetro 0 ou 6, o comando shutdown, ou mesmo um Ctrl+Alt+Del. Isso evita danos ao seu sistema de arquivos. Quando requisitamos a parada, ocorre o processo inverso ao do boot. Todos os processos iniciados no boot do sistema so terminados, numa sequncia regressiva em relao aos nveis do sistema. Os daemons iniciados pelo init so terminados, os dispositivos montados so desmontados, e o sistema entra em modo de parada.

Bootstrap Loader (LILO) Shell (bash, csh, tcsh)

Kernel

getty / mgetty

Init

/etc/rc.d

9.3- Arquivos Importantes do Diretrio /etc


O diretrio /etc possui arquivos relacionados com a configurao dos vrios aspectos do sistema. Muitos programas usualmente no presentes nas distribuies de Linux tambm se utilizam desse diretrio para colocar seus arquivos de configurao global.

passwd

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

67

O arquivo passwd o banco de dados de usurios existentes no sistema. Tem um formato de vrios campos, separados pelo caracter : (dois pontos) e sempre na mesma ordem: nome de login do usurio; senha criptografada (caso no se utilize shadow); id do usurio (identificao nica, semelhante a um nmero de carteira de identidade); grupo primrio deste usurio (o usurio poder participar de vrios grupos); nome completo (nome normal, sem ser de login); diretrio home deste usurio; shell inicial.

Quando estamos utilizando shadow password (um pacote que evita o acesso de usurios no autorizados ao contedo das senhas, mesmo criptografadas, para dificultar a tentativa de quebra de senha), o segundo campo substitudo por um * e a senha armazenada em outro arquivo, normalmente inacessvel, que geralmente se chama shadow.

fstab
O arquivo fstab contm uma tabela de parmetros para a montagem de parties quando da inicializao do sistema. O seu formato : dispositivo diretrio tipo opes

O dispositivo algum dos dispositivos de bloco do /dev/ (/dev/hda1, /dev/fd0, /dev/hdd3, etc). Opcionalmente, para dispositivos remotos (via nfs), o dispositivo toma a forma de servidor:diretrio (servidor e diretrio separados por :). O diretrio dado no fstab, o local onde a partio ser montada. O tipo o tipo do sistema de arquivos. As opes so vrias, separadas por vrgulas: ro (read-only), user (acessvel por um usurio normal), noauto (no monta automaticamente na carga do sistema). Para todas as demais, consulte a manpage do fstab.

group
Define os grupos aos quais os usurios pertencem. Seu contedo so linhas da forma: nome-do-grupo:passwd:GID:lista-de-usurio Um usurio pode pertencer a qualquer nmero de grupos, e herdar todas as permisses de acesso a arquivos desses grupos. Opcionalmente, um grupo pode ter uma senha (campo passwd). O GID (group id) um cdigo relativo ao grupo. A lista de usurios apresenta todos os usurios pertencentes ao grupo em questo (os nomes devem ser separados por vrgula).

inittab
O arquivo inittab define quais processos so iniciados durante a inicializao do sistema e durante operaes normais (e.g. /etc/init.d/boot, /etc/init.d/rc, gettys).

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

68

issue
Contm a mensagem de bem-vindo ao sistema, ou outras informaes apresentadas ao usurio antes do seu login.

fdprm
Parmetros relativos aos formatos dos discos flexveis.

motd
Mensagem do dia, apresentada ao usurio logo depois do seu login.

magic
Assinaturas de arquivos, ou seja, primeiros bytes contidos em um arquivo, usualmente suficientes para determinar o formato dos dados desses arquivos. usado principalmente pelo programa file, que gera informaes sobre os arquivos desejados.

mtab
Tabela dos dispositivos correntemente montados. O seu formato semelhante ao de fstab. Note que este arquivo modificado dinamicamente, medida que montamos ou desmontamos discos no sistema.

shadow
Arquivo usado para as senhas, quando a opo shadow password est instalada.

securetty
Relao de terminais que esto permitidos a entrar no sistema como super usurio. Indica as linhas que so seguras, isto , no esto conectadas a um modem, por exemplo, o que deixaria o sistema vulnervel a ataques externos. O seu formato simplesmente uma linha com cada nome de dispositivo seguro.

shells
Relao de shells consideradas seguras, para serem usadas durante um login. Eventualmente, outros shells podero ser usados, mas como um programa normal, no durante o login dos usurios. A finalidade evitar shells que, devido a uma implementao defeituosa, admitam brechas que comprometam a segurana do sistema.

lilo.conf

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

69

Arquivo de configurao do LILO (Linux Loader). Ser discutido com detalhes na seo sobre o LILO.

ld.so.conf
Arquivo com a configurao do daemon ld.so (carregador dinmico de bibliotecas), contendo a relao de diretrios onde as bibliotecas formato DLL ou ELF devem ser procuradas. O comando ldconfig -p mostra quais as bibliotecas que atualmente esto no cache (arquivo /etc/ld.so.cache), enquanto que ldconfig (sem o flag -p) faz uma atualizao do cache.

syslog.conf
Configurao do daemon syslogd, que gera mensagens de log para vrios arquivos, usualmente localizados no diretrio /var/log.

9.4- Administrao de Usurios


Em um sistema multi-usurio, necessrio existir mecanismos para proteger os usurios e o sistema. A privacidade do usurio deve ser assegurada, de forma que seus arquivos fiquem inacessveis a terceiros. Outro aspecto em relao aos recursos reservados do sistema: no deve ser possvel a um usurio criar arquivos que ocupem todo o espao do disco, por exemplo, e assim, indiretamente, proibir todos os outros usurios de salvarem seus prprios arquivos. Atingimos esse objetivo criando contas, que representam todos os recursos e informaes pertencentes a um determinado usurio. A origem do nome conta, depende muito da histria da computao, quando o espao em disco e tempo de uso da mquina tinha que ser cobrado de acordo com o seu uso, de forma semelhante a uma conta telefnica. A cada usurio destinado um nome de login e senha, como j vimos anteriormente, bem como um UID (identificador do usurio), GID (identificador do grupo do usurio), nome do diretrio home e shell inicial. Um usurio pode pertencer a vrios grupos, para isso bastando o seu nome estar presente em vrias linhas do arquivo /etc/group. Este arquivo tem o seguinte formato: nome_do_grupo:passwd:GID:usurio1,usurio2,... Onde o ltimo argumento uma lista dos nomes de login dos usurios separados por vrgulas.

9.4.1- Etapas de Criao de um Usurio


Bom, esses so os passos a serem seguidos na criao manual de um usurio:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

70

incluso do nome em /etc/passwd e /etc/groups atribuio de senha incluso no arquivo /etc/shadow (se em uso) mkdir /home/<usurio> cpia dos arquivos /etc/skel -> /home/<user> chown + chgrp dos arquivo do novo usurio adio do diretrio de mail /var/spool/mail/<usurio>

Existem programas que automatizam todas essas etapas, como adduser e useradd. Cada distribuio Linux tem alguns procedimentos particulares que devem ser seguidos. As etapas acima so apenas um guia. Existe tambm um pacote chamado shadow suite, que um conjunto de utilitrios que retiram as senhas (mesmo criptografadas) do arquivo /etc/passwd, e assim obtm-se um grau maior de segurana.

9.4.2- Arquivos de Inicializao de Login


Quando o usurio efetua o seu login no shell bash, o arquivo /etc/profile carregado. Este arquivo contm definio de variveis para o shell, comandos para configurar a sesso do usurio, programas como o fortune, para enviar uma frase do dia ao usurio, etc. Se existir o arquivo ~/.bash_profile (no diretrio home deste usurio), este carregado em seguida, com as configuraes preferidas deste usurios particular. Se no existir, o bash procura por ~/.bash_login e finalmente por ~/.profile, nessa ordem, carregando o primeiro encontrado. Um destes arquivos usualmente colocado no diretrio /etc/skel, para servir de modelo na abertura de conta dos usurios do sistema.

9.4.3- Poder para o Usurio


Alguns usurios, quando merecem a sua confiana, podem lhe auxiliar nas tarefas administrativas. Para que um usurio tenha acesso aos arquivos protegidos, ele poderia: 1) Saber a senha do super usurio e se logar como ele, o que pode ser perigoso, pois ele teria controle total do sistema. 2) Pertencer a um ou mais grupos que tenha acesso a determinadas partes do sistema, conforme seu critrio (supondo que voc seja o administrador principal do sistema). 3) Ter acesso liberado a alguns programas com o setuid ligado (com chmod +s <programa>). Essa alternativa apresenta brechas para crackers e deve ser usada com cuidado. Nem todos os programas podem ter o setuid ligado, pois podem ser modificados e fazer qualquer coisa com o sistema. Por exemplo, jamais ligue o setuid de um script (shell). 4) Receber um privilgio especial de se tornar root temporariamente, atravs do comando sudo, o qual veremos a seguir.

9.4.4- O Comando sudo

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

71

Com o sudo, um usurio pode executar programas privilegiados sem a necessidade de conhecer a senha do super usurio. A diferena que tudo o que ele executar com essa possibilidade ser comunicado ao root, na forma de um syslog . Para executar um programa como root, o usurio entra no sistema com a sua prpria senha e executa o comando privilegiado colocando sudo no incio da linha de comandos. Aps receber uma mensagem de advertncia, o usurio deve prosseguir com o comando. A cada 5 minutos aproximadamente, ele tem que reintroduzir sua senha para executar novamente comandos prefixados com sudo. O arquivo /etc/sudoers controla quem tem acesso, e os programas que estes usurios esto permitidos de executar. O formato desse arquivo bem simples: nome_de_login hostname=comando onde hostname o nome da mquina onde o usurio se encontra. Quando a mquina local, usa-se o nome localhost para descrev-la. O campo comando pode conter um ou mais comandos separados por vrgulas.

9.5- Gerenciamento de Processos


Um processo , simplesmente falando, um programa sendo executado. Mais especificamente, do ponto de vista do sistema operacional, uma coleo de instrues (programa) mais os dados necessrios sua execuo. Armazenados juntamente com o processo esto o seu contexto, ou seja, o contador de instrues, e o conjunto de todos os registradores da CPU. Processos so entidades independentes, cada um com suas permisses de acesso, e tm atribudos propriedades como o identificador do usurio que o criou e do grupo. Grande parte de sua execuo se processa em modo de usurio (user-mode), quando o processador no admite a execuo de instrues privilegiadas. Estas ocorrem durante chamadas de sistema, quando ele executa em modo kernel (kernel-mode) para conseguir o acesso a partes do hardware que de outra forma seriam inacessveis. Cada processo identificado pelo seu identificador, que simplesmente um nmero inteiro. responsabilidade do sistema operacional gerenciar os processos do sistema, de forma a maximizar a utilizao da CPU, que usualmente s uma. Portanto, se um processo tenta ler ou escrever em um disco, por exemplo, ele ficar em modo de espera at que a operao de entrada/sada seja completada. Nesse nterim, outro processo ser habilitado a rodar, desperdiando assim o mnimo do tempo da CPU, memria e demais perifricos. O diretrio /proc contm, como vimos anteriormente, um subdiretrio com o nome do identificador de cada processo. Os pseudo arquivos cmdline, environ e status, tm informaes detalhadas sobre esse processo. Outra forma de obter informaes sobre os processos que esto rodando no sistema atravs do comando ps.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

72

9.5.1- Atributos de um Processo


Um processo tem vrios atributos que controlam sua execuo. O PID identifica unicamente este processo. O PPID indica qual o processo pai desse processo. O nice number controla a prioridade desse processo. Processos de maior prioridade tm a preferncia na utilizao da CPU. O UID e GID indicam o usurio e grupo que criou esse processo. Somente o super usurio pode destruir processos criados por outros usurios. O EUID e o EGID so formas de se rodar um processo criado por um usurio no privilegiado de forma que ele se comporte como privilegiado, com acesso a outros recursos que normalmente o usurio no o teria.

9.5.2- Desenvolvimento de um Processo


medida que vai sendo executado, um processo passa por vrios estados. Logo que iniciado ele colocado no estado ready, isto , pronto para executar. O scheduler, uma das partes do kernel, decide, de acordo com a prioridade e a ordem das suas filas, quando dar a CPU para esse processo, quando ele passa ao estado running.

Running

Zombie Start Ready Stopped

Dead

Waiting

Se este processo esgota sua fatia de tempo da CPU (TIMEOUT), ele novamente colocado na fila ready e fica aguardando uma nova escalao. Quando o processo tenta efetuar alguma operao de entrada e sada, ele pode ser bloqueado e passa ao estado waiting, at que a operao de E/S seja completada. Se o processo est sendo, por exemplo, monitorado ou controlado por outro programa, ele poder ser enviado ao estado stopped, at que o programa que o controla retorne-o ao estado ready novamente. No final da execuo, o processo pode ser morto. Processos que terminam sem que o seu pai seja informado, podem ficar num estado zombie, que na realidade nada mais que um processo morto, mas rfo.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

73

9.5.3- Tipos de Processos


Existem basicamente trs tipos de processos no Linux: Processos Interativos Processos em Lote (batch) Processos Servidores (daemons)

Processos interativos so iniciados a partir de uma sesso de terminal e por ele controlados. Quando executamos um comando do shell, estamos rodando um processo em foreground. Um programa em foreground recebe diretamente sua entrada (stdin) do terminal que o controla, e por outro lado, toda sua sada (stdout e stderr) vai para esse mesmo terminal. Digitando Ctrl-Z, suspendemos esse processo e recebemos uma mensagem informativa. Uma outra forma de execuo do processo chamada de execuo em background. Neste tipo de execuo, no existe a interao entre sistema e usurio. Em outras palavras, o sistema recebe as informaes necessrias para a execuo mas no retorna nenhuma informao para a sada. Trabalha silenciosamente. A maioria das shells tm comandos para controle de processos. Pode-se mudar o estado de um processo parado para background, listar os processos em background, retornar um processo de background para o foreground. Na bash o comando jobs mostra os processos ativos, o bg passa um processo para background e o comando fg retorna um processo rodando em background para foreground. Processos em lote so como tarefas agendadas, ou seja, processos iniciados automaticamente e gerenciados por algum aplicativo. Estas tarefas podem ser de duas naturezas distintas: Execuo por um nica vez num momento futuro. Nesta categoria, os processos so colocados em uma espcie de fila para execuo com data e hora marcadas. Depois de sua execuo, o processo eliminado normalmente pelo sistema. O aplicativo mais comum para o gerenciamento deste tipo de processo no Linux o at (ou batch, em algumas distribuies). Execuo peridica com frequncias fixas no futuro. Neste tipo de processo, a execuo ocorre repetidamente com frequncias de tempo que variam entre segundos at meses. No Linux, o aplicativo de controle mais comum deste tipo de processo o cron.

Ambos os tipos de processos em lote so controlados por aplicativos que, a nvel de processos, representam daemons, o terceiro tipo de processo do Linux, o qual veremos a seguir. Daemons ou processos servidores so aqueles processos que permanecem ativos em background enquanto o sistema estiver no ar. So especialistas em algum dos servios fornecidos pelo sistema, fazendo o gerenciamento e o monitoramento da atividade a que se referem. Deste modo, existem daemons para o gerenciamento de impresso, para o agendamento de tarefas, para os servios de rede, enfim, para qualquer dos servios que tenha natureza de servidor disponvel na mquina. Assim como os processos em lote, depois de

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

74

ativados, os daemons so completamente gerenciados pelo prprio sistema, sem qualquer ao de usurios.

9.5.4- Monitoramento e Controle de Processos


Agora que j conhecemos as principais questes que cercam o conceito de processo, precisamos de subsdios para poder trabalhar com o mesmo. Na verdade, existem vrias operaes que podemos realizar com os processos, operaes estas que vo desde seu controle e monitoramento at a sua finalizao. Nesta seo, veremos alguns comandos que nos possibilitam fazer o tratamento total dos processos.

O Comando ps
O comando ps a ferramenta utilizada no monitoramento de processos no Linux. Atravs deste comando, recebemos informaes a respeito de todos os detalhes do processo. Estas informaes incluem identificador do processo (PID), proprietrio, estado atual, tempo de permanncia no sistema, uso do processador, uso da memria, nome do processo, entre outras. Sintaxe: ps [atributos] Atributos: l = listagem completa u = somente processos do usurio f = processos em forma de arvore a = processos de todos os usurios x = todos os processos sem fazer o controle dos terminais r = somente processos em estado running txx = somente processos no terminal xx

O Comando kill
O comando kill envia um sinal especfico para o processo identificando-o pelo seu PID. Esse sinal determina a nova situao do processo. possvel termin-lo, reinici-lo, deix-lo em estado de espera, entre vrias outras operaes. Sintaxe: kill [atributos] PID Atributos: l = imprime uma lista com nomes de possveis sinais

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

75

s = especifica o tipo do sinal a ser enviado, podendo ser nome ou nmero p = mostra o identificador dos processos nomeados

O Comando killall
O comando killall executa funo semelhante a do comando kill. A grande vantagem que os sinais podem ser especificados por nome ao invs do PID. Contudo, kill e killall so comandos equivalentes quanto aos resultados. Sintaxe: killall [atributos] [sinal] nome_do_processo Sinal:

Pode ser especificado por nome ou nmero. O sinal 0 (checa se o processo existe) s pode ser especificado por nmero. Atributos: l = lista nomes de possveis sinais /arquivo = processos executando o arquivo so terminados e = requer exatido em nomes de processos longos (mais de 15 caracteres) i = modo interativo v = informa se o sinal foi enviado com sucesso w = espera por trmino de todos os processos especificados, no caso do sinal de KILL

9.6- Administrao e Controle de Atividades


A administrao de um sistema vai muito alm de instalar programas e cadastrar ou remover usurios. Esta tarefa exige meios para total controle sobre o que ocorre no sistema. Deste modo, informaes sobre o andamento das atividades do sistema, o que est funcionando, quanto tempo foi gasto com determinadas tarefas, quais usurios que rodaram determinadas aplicaes, entre vrios outros detalhes so de importncia vital para a prpria segurana do sistema. Se algo der errado, saberemos as causas para que o erro no se repita. Felizmente o sistema nos oferece alguns recursos para serem utilizados com esta finalidade. O primeiro deles diz respeito identificao e reconhecimento do equipamentos de hardware e servios pelo kernel. o chamado kernel ring buffer, que coleciona mensagens emitidas pelo sistema, geralmente relativas instalao e retirada de mdulos. O comando dmesg permite-nos fazer o controle deste recurso. Com este comando, possvel listar as interfaces reconhecidas pelo kernel, de modo que no fique nenhuma dvida a respeito de uma possvel no identificao de algum recurso que desejarmos utilizar no sistema.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

76

O segundo recurso a identificao de todos os usurios que iniciaram e terminaram sesses em nossa mquina at um determinado momento, baseado nas informaes do arquivo /var/log/wtmp. Todos os logins e logouts so registrados com data, hora e terminal. Alm, disso, o sistema tambm marca todas a reinicializaes feitas atravs do usurio reboot. O princpio deste recurso bastante simples, e se baseia na incrementao do arquivo /var/log/wtmp, a qual controlada pelos programas login e o init. As informaes so guardadas em formato binrio. Para verificar os ltimos N logins, basta utilizar o comando last: last -N onde o parmetro N o nmero de ltimos registros que voc deseja visualizar. O terceiro recurso oferecido pelo sistema o mais completo e interessante deles. Diz respeito ao monitoramento de todas as atividades do sistema em diversos nveis. Este monitoramento feito atravs da leitura de mensagens enviadas pelo kernel (dispositivo /dev/klogd) e por outros dispositivos. Isso permite o controle total a respeito de tudo que ocorre no sistema, possibilitando a identificao de muitos erros. O recurso em questo controlado pelo daemon syslogd, o qual veremos com detalhes a seguir.

9.7- Alguns Daemons Importantes


9.7.1- O Daemon atd
O atd o daemon de controle dos processos em lote que no possuam carter peridico de execuo. Ele controla o agendamento e a execuo de processos com esta caracterstica. Uma vez disparado, o daemon controlado basicamente por trs comandos diferentes: at, atrm e atq.

O Comando at
O comando at utilizado para se fazer a construo dos processos batch, , ou seja, o agendamento de tarefas. Sintaxe:

at [data] [comandos]
Para a especificao de datas, valem vrios curingas, os quais chamaremos de wildcards. Os principais so: tomorrow

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

77

now + x [days, h, min,weeks] + x days midnight noon teatime (4pm)

Como a tarefa a ser executada quase sempre longa em termos de linha de comando, vale a pena utilizar um arquivo texto, atravs do parmetro -f.

O Comando atq
O comando atq lista todas as tarefas pendentes. A sada do comando at ser enviado por e-mail para o usurio, quando a execuo estiver completa.

O Comando atrm
O comando atrm, para finalizar, apaga a fila de tarefas agendadas, ou seja, funciona como agente de cancelamento para a execuo de processos em lote.

9.7.2- O Daemon crond


Muitas tarefas como obter os jornais na Internet diariamente, checar e-mail a cada 30 minutos, elaborar relatrios com horas de acesso dos usurios, entre outras, possuem esta natureza de serem realizadas com datas e horrios preestabelecidos. Seria muito tedioso deixar um operador executar manualmente cada uma delas, alm de sujeito a falhas. Para automatizar tarefas que sejam realizadas em datas e horas determinadas, ou a cada segundafeira por exemplo, ou mesmo no dia 31 de dezembro de cada ano, o daemon crond o especialista. Alm das tarefas do administrador, estas mesmas facilidades esto disponveis para cada um dos demais usurios do sistema, bastando para isso ele editar o seu prprio crontab, ou usar um dos muitos utilitrios para fazer isso. Mas o que h no crontab? Como na maioria dos arquivos de configurao do Linux, somente texto! Vejamos o seu formato: minutos horas dia-do-ms ms dia-da-semana comando Onde: minutos = 0-59 horas = 0-23 dia-do-ms = 1-31 ms = 1-12 ou as iniciais em ingls dia-da-semana = 0-6 (onde 0 o domingo) ou as iniciais em ingls Um asterisco pode ser usado para indicar qualquer valor permitido para esse campo. Um campo pode ter vrios valores, separados por vrgulas para admitir cada um dos valores para a varivel. Por exemplo, se colocarmos 1,11,21 na coluna dia-do-ms, a tarefa ser

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

78

realizada nesses trs dias dos meses. Podemos tambm entrar uma faixa usando um hfen separando os dois valores: <inicio>-<fim>. Por exemplo, se quisermos os jornais todos os dias, exceto aos sbados e domingos, entraremos na coluna de dias-da-semana 1-5. Outra notao que possibilita repetir o comando a cada N unidades numa determinada faixa : <faixa>/<passo>. Por exemplo: realizar um comando das 8 s 19 horas, a cada 2 horas: na coluna de horas, teremos 8-20/2.

9.7.3- O Daemon lpd


O lpd o daemon de controle de impressoras no Linux. O daemon geralmente inicializado no boot do sistema, lendo o arquivo /etc/printcap para configurar impressoras, entre outros parmetros. Em seguida, ele se utiliza de algumas chamadas do sistema para receber requerimento para a impresso de arquivos, transferir arquivos para a rea de impresso, mostrar o requerimento de impresso ou remover requerimentos da fila de impresso. Como qualquer outro daemon, a partir desse momento fica em modo de espera at receber um novo requerimento de impresso. Portanto, o arquivo printcap configura o arquivo de configurao do daemon lpd. Ele possui uma sintaxe simples, como mostra o exemplo abaixo: lp|djet500|djet500-a4 with lprMagic Universal Filter:\ :lp=/dev/lp1:\ :sd=/usr/spool/djet500:\ :lf=/usr/spool/djet500/log:\ :af=/usr/spool/djet500/acct:\ :if=/usr/local/lprMagic/unifilter:\ :mx#0:\ :sh: Os parmetros definidos acima tm o seguinte significado: lp = dispositivo conectado impressora sd = spool directory: local aonde sero colocados os arquivos para imprimir lf = logging file: arquivo para colocar as mensagens de tudo que foi impresso af = accounting file: semelhante ao anterior, mas indicando tempo, usurio, etc, para contabilizar o uso da impressora if = input filter: programa que ser executado para transformar a entrada em algo reconhecvel pela impressora mx#N = tamanho mximo em blocos do arquivo que poder ser impresso, aps filtrado. Se for colocado zero, o tamanho ser ilimitado of = output filter: filtro de sada, semelhante ao if mas durante a impresso sh = suprime a impresso do banner, pgina de rosto com o nmero do job, usurio, etc. til somente quando queremos executar tarefas de impresso para vrios usurios, para identificao do usurio que o dono do documento impresso O controle de acesso ocorre por dois meios. Primeiro: a requisio de impresso deve vir de uma mquina que consta no arquivo hosts.equiv ou hosts.lpd. Segundo: o usurio que requer a impresso deve possuir uma conta no servidor.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

79

O arquivo minfree de cada diretrio spool (se existir) define o nmero de blocos de disco a serem deixados livres a fim de que no haja lotao do disco.

9.7.4- O Daemon syslogd


Muitas informaes, avisos, alertas e outros tipos de mensagens vm do kernel, de daemons e de outros dispositivos do sistema. O syslogd usado para filtrar e classificar estas mensagens. Seu arquivo de configurao o /etc/syslog.conf. Este daemon inicializado na carga do sistema. Como opes, temos: -f = indica o arquivo de configurao (caso no seja o default) -p = para indicar o socket substituto de /dev/log -m = para especificar o intervalo entre mensagens de marcao, tendo o valor default de 20 minutos. Estas mensagens aparecem com o texto "-- MARK --", mesmo que no haja atividade no sistema. O arquivo de configurao do syslogd organizado em linhas contendo um campo seletor e um campo de ao, separados por espaos. O campo seletor formado por duas parte, separadas por um ponto: facilidade e prioridade. O campo de ao indica para onde queremos enviar a mensagem escolhida pelo campo seletor. Pode ser um nome de arquivo (Exemplo: /var/log/messages), um dispositivo (Exemplo: /dev/console), ou um host, isto , uma outra mquina, que tambm esteja com syslogd rodando. Neste caso usamos um smbolo @ prefixando o nome da mquina (Exemplo: @magico, onde magico o nome da outra mquina). Podemos tambm colocar no campo de ao listas de usurios, separados por vrgulas (Exemplo: pedatella, germ). Note que os arquivos so diferenciados dos usurios por possurem o path completo, ou seja, comeam sempre com a barra "/". Na prioridade, podemos adicionalmente usar o smbolo "=" para indicar mensagens somente com esta prioridade determinada, e o smbolo "!" para tirar mensagens com esta prioridade ou maior. Mltiplos seletores podem ser concatenados com ";". A palavra none numa prioridade exclui todas as prioridades. Vejamos alguns exemplos. Todas as mensagens do kernel para /var/log/kernel: kern.* /var/log/kernel Todas as mensagens mail e news para o arquivo info:

mail,news.=info /var/log/info Mensagens com prioridade maior ou igual a alert para o administrador e para o usurio germ:

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

80

*.alert root, germ Todas as mensagens para a mquina magico, para serem processadas remotamente:

*.* @magico Todas as mensagens com prioridade (exatamente) warning, para o arquivo /var/log/warn, exceto as de mail e news:

*.=warning;mail,news.none Mensagens dos usurios (user), exceto notice, no console

user.*;user.!=notice /dev/console

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

81

10- Linux e Redes


10.1- Introduo
Aqui sem dvidas se encontra o campo de maior aplicao do Linux nos dias de hoje. A fama de segurana e eficincia que acompanha o sistema plenamente correspondida. Trata-se de uma alternativa barata e altamente eficiente, o que torna o Linux bastante atraente para exercer a funo de servidor de redes.

10.2- Comandos teis para Configurao de Rede


ifconfig: comando usado para configurar a interface de rede. Uso: ifconfig [interface] ifconfig interface opes Atributos:

interface = o nome da interface de rede. Em geral, eth0. up = ativa a interface de rede especificada. o valor padro. down = desativa a interface de rede especificada. netmask = configura a mscara de rede para a interface especificada. irq = configura a interrupo a ser utilizada pela interface. broadcast = configura o endereo de broadcast. inet = endereo IP para a interface de rede especificada.

- Exemplos:
ifconfig eth0 inet 200.0.0.2 configura a interface eth0 com o endereo 200.0.0.2. ifconfig eth0 down desativa a interface eth0, considerando que a mesma estava ativa. ping: envia pacotes de informaes a uma outra mquina na tentativa de localiz-la na rede. Uso: ping endereo

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

82

finger: mostra informaes relativas a um usurio. Uso: finger [opes] nome-do-usurio Atributos:

-s = mostra informaes detalhadas do usurio.


route: configura rotas para a rede ou mostra rotas existentes Uso: route [opes] Opes:

add = adiciona uma nova rota. del = apaga rota existente. -net = especifica a rede a que se refere a rota em questo. netmask = especifica a mscara de rede a ser usada. gw (Gw) = especifica o gateway da rede. dev = especifica a interface a que se refere a rota em questo. Exemplos:

route add net 192.56.76.0 netmask 255.255.255.0 dev eth0 cria uma rota para a rede 192.56.76.X via interface eth0 route add 200.40.193.1 net 192.57.66.0 netmask 255.255.255.0 gw

cria uma rota para a rede 192.57.66.x atravs do gateway de IP 200.40.193.1

traceroute: traa a rota de uma informao direcionada a uma mquina B, a partir da mquina de origem, passando por todas as rotas especificadas. Uso: traceroute endereo ou nome do host

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

83

10.3- Arquivos Importantes


Quando se trata de rede, o diretrio /etc do Linux desempenha importncia fundamental. ele que guarda os arquivos de configurao dos diversos servios de rede disponveis no sistema. Representam arquivos de grande importncia:

hosts.deny
Define a proibio de servios de rede a nvel de host Sintaxe:

servio: IP (ou grupo de IPs) Exemplo:

in.fingerd:200.0.0.1 Significa que o host de endereo 200.0.0.1 no poder utilizar o servio finger

hosts.allow
Define a permisso para o uso de servios de rede a nvel de host Sintaxe:

servio: IP (ou grupo de IPs) Exemplo:

in.fingerd: 200.1.1.1 Significa que o host de endereo 200.1.1.1 poder utilizar o servio finger. Obs1: Podemos usar alguns Wildcards em ambos os arquivos, como ALL ou LOCAL Exemplo:

in.fingerd: ALL Significa que nenhum IP poder acessar o servio em questo. Obs2: Esses dois arquivos trabalham interativamente. Portanto, restries diferentes sobre o mesmo servio no dois arquivos so bastante teis. Se essas restries forem idnticas, prevalece o arquivo hosts.deny, ou seja, a proibio.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

84

Exemplo:

No arquivo hosts.deny: in.telnetd: ALL No arquivo hosts.allow: in.telnetd: LOCAL O efeito final dessas duas linhas seria a permisso do uso do telnet a nvel local.

hosts
Define os nomes dos hosts a serem reconhecidos diretamente, sem o uso de um servidor de nomes. Exemplo: wako earth 200.137.197.32 200.137.197.192

wako.inf.org earth.inf.ufg.br

Essas duas linhas colocadas dentro do arquivo em questo definem correspondncias entre os endereos especificados e os nomes da mquinas.

resolv.conf
Define o IP da mquina a ser utilizada com servidor de DNS, alm do domnio a que pertence essa mquina. Exemplo:

nameserver 200.137.197.3 domain inf.ufg.br Essas linhas definem que o servidor de nomes a ser utilizado nesta mquina possui o endereo IP 200.137.197.3 e pertence ao domnio inf.ufg.br.

HOSTNAME
Define o valor da varivel de ambiente de mesmo nome, varivel esta que vai guardar o nome da mquina. OBS: No Conectiva Linux e em outras distribuies provenientes do Red Hat, o valor da varivel global HOSTNAME no definido neste arquivo, e sim em um outro de nome

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

85

/etc/sysconfig/network, que alm de definir o nome da mquina, tambm define outros parmetros de rede a partir de outras variveis globais.

services
Responsvel pela definio de quais servios de rede estaro disponveis para uso no computador como servidor, definindo, inclusive, as portas default de cada um deles.

inetd.conf
Responsvel pela inicializao do daemon inetd, que controla diversos servios de rede.

10.4- Point-to-Point Protocol (PPP)


O protocolo ponto-a-ponto uma ferramenta que proporciona a transferncia de direta de dados entre duas mquinas atravs de uma linha serial. Como o leitor pode perceber, so muitas as possveis aplicaes do PPP, das quais podemos destacar a conexo a um provedor de Internet e a ligao de sub-redes. Falaremos com maiores detalhes sobre o PPP no captulo Conectando-se Internet por Acesso Discado deste material.

10.5- Network File System (NFS)


O NFS um sistema de arquivos distribudo criado originalmente pela Sun Microsystems e que prov acesso transparente a discos remotos. Em outras palavras, o NFS torna possvel montar parties de um outro computador via rede e utiliz-la como se ela fosse local. Uma vantagem evidente deste recurso a possibilidade de centralizao da administrao de discos. Outra caracterstica atraente a possibilidade de acesso aos arquivos do usurio de qualquer host que seja um servidor NFS, bem como qualquer outro tipo de arquivo ou diretrio. Vejamos como ocorre a configurao desse servio na plataforma Linux.

10.5.1- Configuraes Iniciais


Bom, a primeira coisa a se fazer habilitar a opo de NFS no kernel do sistema. Ela se encontra na parte de File Systems e geralmente por default j vem habilitada. Por via das dvidas, convm checar.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

86

O NFS faz grande uso do servio de chamada a procedimentos remotos (RPC) atravs do portmap. Portanto, o prximo passo colocar o daemon do portmap para funcionar. Para fazer isso, utilize a ferramenta de configurao de sistema da sua distribuio, ou ento edite o script destinado a esse servio, geralmente localizado no diretrio /etc/rc.d ou subdiretrio deste. possvel verificar o seu funcionamento atravs do comando rpcinfo -p. Em seguida preciso habilitar o daemon do NFS em si para funcionar. Isso tambm geralmente pode ser feito atravs da ferramenta de configurao de seu sistema. Se esta no existir, procure pelo script de configurao do servio no diretrio /etc/rc.d ou subdiretrio deste. Feito isso, estamos prontos para configurar o servio a nvel cliente/servidor.

10.5.2- Nvel Servidor


O papel de um servidor NFS fornecer seus arquivos para uso comum em uma rede. So dois os daemons que controlam o servio NFS a nvel de servidor: o rpc.nfsd e o rpc.mountd. O rpc.nfsd controla basicamente as requisies de utilizao do servio tratando de valid-las ou no. O rpc.mountd vem logo em seguida, e responsvel pelo tratamento da operao de montagem do diretrio requisitado. Dito isso, necessrio definir quais so os arquivos que sero disponibilizados para a rede. Isso feito atravs do arquivo /etc/exports. A sintaxe desse arquivo muito simples: diretrio host(opes de acesso) Entre as opes de acesso, devemos destacar: rw ro Limita os hosts que podem escrever para o file system Previne qualquer host de escrever p/ o file system

Exemplos: /usr/stuff -ro Permite o acesso apenas de leitura e para qualquer host /usr/stuff byron.pedatella.org(rw), 200.137.197.1(ro)

Permite acesso completo a byron.pedatella.org e apenas de leitura para o host de IP 200.137.197.1 Depois de todas estas etapas satisfatoriamente cumpridas, seu hosts estar pronto para funcionar.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

87

Regras para exportar Sistemas de Arquivos


1) Qualquer sistema de arquivos ou subproduto de um sistema de arquivos pode ser exportado de um servidor 2) No possvel exportar qualquer subdiretrio de um sistema de arquivos exportado a menos que o subdiretrio esteja em device fsico diferente 3) No possvel exportar qualquer diretrio pai de um sistema de arquivos exportado a menos que este pai esteja num device fsico diferente

10.5.3- Nvel Cliente


Utilizar o NFS como cliente significa montar os diretrios de um servidor remotamente. Para a realizao desta tarefa, utilizamos o comando mount: mount -t nfs host(opes):diretrio-alvo ponto-de-montagem Exemplo: mount -t nfs wahoo:/usr/local /usr/local Monta o diretrio /usr/local de wahoo em /usr/local.

10.6- File Transfer Protocol (FTP)


O ftp, juntamente com o telnet, configura uma das ferramentas de comunicao mais utilizadas no Linux e outros sistemas UNIX. A sigla ftp quer dizer file transfer protocol, ou seja, protocolo para transferncia de arquivos. Deste modo, o ftp tem a misso de definir um conjunto regras e padres para comunicao entre mquinas de forma a permitir a transferncia de arquivos entre as mesmas. Por uma questo de simplicidade, convencionou-se chamar a aplicao ou programa que utiliza o ftp por esse mesmo nome. Existem dois tipos diferentes de ftp: o ftp em si e o tftp (trivial ftp), que um ftp mais simples, com menos recursos, mas que pode ser utilizado basicamente para as mesmas tarefas. Tambm existem duas maneiras diferentes de se utilizar o servio: por linha de comando ou por ambiente grfico, sendo que ambos os mtodos so equivalentes quanto a recursos de utilizao.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

88

Sistemas operacionais multitarefa, como o Linux, geralmente vm com um servidor de ftp incluso como parte bsica da distribuio. No Linux, o servidor ftp carregado automaticamente na inicializao do sistema a menos que o servio seja explicitamente desabilitado. Vejamos como funciona a utilizao do servio de ftp a nvel servidor e a nvel cliente no Linux.

10.6.1- Nvel Servidor


Como j foi dito anteriormente, todos os pacotes de software ftp, nvel cliente ou servidor, so geralmente inclusos como parte bsica da distribuio Linux. Mas se sua distribuio no possuir tais pacotes, possvel consegui-los na Internet. Desta forma, o primeiro passo na configurao do servidor certificar-se de que o pacote do ftp foi selecionado na instalao do sistema. Considerando que ele foi selecionado, podemos partir para a etapa de habilitao do servio. A habilitao do ftp feita por dois arquivos do diretrio /etc: o inetd.conf e o services. O arquivo inetd.conf responsvel pelos parmetros de configurao do ftp, e o faz com uma linha semelhante a que se segue: ftp stream tcp nowait root /etc/ftpd ftpd

O primeiro argumento representa o nome do servio. O segundo representa o tipo de socket utilizado. O terceiro define o protocolo utilizado. O quarto argumento define as flags do servio. O quinto define o usurio responsvel pelo servio. O sexto argumento define o daemon a ser executado. Ele vai variar de acordo com o servidor utilizado. Finalmente, o stimo parmetro define parmetros do daemon, que tambm vo variar de acordo com o servidor escolhido. Se essa linha do arquivo em questo no existir, voc deve cri-la. Se existir e estiver comentada (iniciada por #) , descomente-a. O arquivo services define a utilizao ou no do servio, juntamente com a porta e o protocolo que ele deve utilizar, em uma linha semelhante a que se segue: ftp21/tcp Realize o mesmo procedimento para esse arquivo em relao ao inetd.conf. Feito tudo isso, o prximo passo reiniciar a mquina. O servidor est pronto para ser utilizado. Existem vrios outros arquivos de configurao do servidor ftp, os quais definem, entre outras coisas, os usurios proibidos de utilizar o servio, mensagens, mximo de usurios permitidos simultaneamente a nvel local ou remoto, arquivos no autorizados para

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

89

transferncia, comandos proibidos, entre outras coisas. Esses arquivos, porm, variam muito de acordo com o servidor utilizado. Por esse motivo no entraremos nesse tipo de detalhe.

10.6.2- Nvel Cliente


No importa qual a mquina que est sendo utilizada, quando voc utiliza o comando ftp, voc est executando um cliente ftp. A sintaxe do comando muito simples, bastando ser passado como parmetro o IP da mquina servidora ou o seu nome. O cliente ftp realiza as requisies de transferncia e consulta de arquivos no servidor. Para isso, pode utilizar vrios comandos. Para visualizar quais so esses comandos, digite uma ? no prompt do ftp. Abaixo segue uma lista dos comandos normalmente encontrados e significado de cada um deles: Comando FTP ascii binary cd close del dir det help lcd mget mput open put pwd quit Descrio Transferncia em modo ascii Transferncia em modo binrio Muda diretrio no servidor Fecha a conexo Apaga um arquivo no servidor Mostra contedo de um diretrio do servidor Requer um arquivo do servidor Mostra informaes de ajuda muda diretrio no cliente Requer vrios arquivos do servidor envia vrios arquivos para o servidor abre conexo com um servidor envia um arquivo ao servidor Mostra o diretrio corrente no servidor fecha a sesso ftp

As permisses de arquivos so sempre consideradas dentro de um servidor ftp. Portanto, se voc tentar acessar alguns arquivo ou diretrio ao qual voc no tem acesso ou realizar operaes sem permisso, no ter sucesso.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

90

10.7- Telnet
O telnet um servio que habilita um usurio a acessar um terminal na sua mquina remotamente. Com esta ferramenta possvel realizar qualquer tarefa que voc faria se estivesse de frente para o computador, s que remotamente. Todo esse potencial do servio pode deixar o sistema vulnervel ao dos hackers, fato que leva alguns administradores de sistemas a deixarem o telnet desabilitado. Existe, contudo, uma ferramenta til para que possamos habilitar o telnet com certa segurana: o ttysnoop. Essa ferramenta nos possibilita ver tudo o que est acontecendo nos terminais. Se existir alguma coisa errada, voc ter o controle da situao.

Configurando o ttysnoop
1) Edite o arquivo inetd.conf para que possamos desabilitar o in.telnetd. Comente a linha: #telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd 2) Agora, no mesmo arquivo, habilite o in.telnetsnoopd, descomentando a linha: telnet stream tcp /usr/sbin/in.telnetsnoopd nowait root /usr/sbin/tcpd

3) Agora vamos definir em quais terminais o acesso vai ser monitorado. Para isso, edite o arquivo /etc/snooptab e inclua as seguintes linhas: # tty ttyp0 ttyp2 snoopdev /dev/tty6 /dev/tty5 type execpgm login /bin/login login /bin/login

Neste exemplo acima, foram definidos 2 terminais para o monitoramento. Quando algum acessar o servidor telnet de sua mquina, simplesmente o snoopdev ser direcionado para os consoles /dev/tty6 (ALT+F6) e /dev/tty5 (ALT+F5), onde voc ver tudo o que est acontecendo.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

91

11- Conectando-se Internet por Acesso Discado


11.1- Introduo
A Internet tem uma grande importncia na histria do Linux. Afinal, desde o surgimento do sistema, a Internet tem sido o principal meio de divulgao, distribuio e intercmbio de informaes do Linux atravs de seus diversos servios, tais como Web, FTP, chat, newsgroups, etc. Isso significa que ter acesso Internet importante para manter-se sempre a par das novidades no mundo do Linux. Mostraremos aqui alguns mtodos de configurar seu sistema para o acesso Internet.

11.2- Conexo usando o programa Minicom


O Minicom um programa que faz uso do modem para estabelecer conexes remotas a outros computadores. No nosso caso ele ser usado para estabelecermos conexo com o provedor. Porm, antes de discarmos para nosso provedor, precisamos de configurar nosso sistema de modo a prepar-lo para o acesso Internet. O primeiro passo ser editar o arquivo resolv.conf que se encontra no diretrio /etc. Deve-se adicionar ao arquivo as seguintes linhas : domain servidor.com.br nameserver 200.255.0.97 nameserver 200.255.67.1 Onde servidor.com.br deve ser substitudo pelo domnio de seu provedor, e as linhas nameserver indicam o DNS primrio e secundrio do provedor. O prximo passo ser editar o arquivo options contido no diretrio etc/ppp, para especificar as opes a serem usadas pelo pppd na hora da conexo, com o seguinte contedo: # /etc/ppp/options # -detach 0.0.0.0: modem crtscts defaultroute asyncmap 0 mtu 552 mru 552 # # END OF SAMPLE /etc/ppp/options

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

92

Maiores detalhes a respeito de cada uma das opes vlidas a serem acrescentadas no arquivo options podem ser encontrados no manual do pppd. Aps esses passos voc poder entrar no programa Minicom, apenas digitando minicom no shell. Dentro do programa digite a seguinte linha: ATDP2345678: para linhas de pulso ATDT2345678: para linhas de tom. Substituindo os nmeros 2345678 pelo nmero do telefone de seu provedor. Aps estabelecida a conexo, o processo de login se iniciar. Digite ento seu login e senha assim que estes forem requisitados. Aps isso, alguns caracteres estranhos aparecero na tela, indicando que a conexo foi estabelecida. Aperte ento a combinao de teclas ALT + A + Q de modo a sair do minicom sem reiniciar o modem. Agora, de volta ao shell, ser necessrio invocar o pppd para que o processo de conexo seja completado. O pppd o daemon do PPP o protocolo ponto-a-ponto necessrio para que a conexo com seu provedor seja estabelecida. atravs dele que voc recebe um nmero IP vlido para que possa ento estar apto a navegar pela Web. Para tanto, digite na shell: pppd -d -detach /dev/modem & Para desconectar, apenas digite killall pppd na shell .

11.3- Conexo Automatizada - Dial UP


Um outro mtodo mais prtico de conexo Internet a criao de um script que automatize o acesso Internet, evitando que voc sempre tenha que digitar login e senha. Mostraremos nesta seo um exemplo de script que automatiza a conexo usando o pppd. Primeiro deve-se editar os arquivos resolv.conf e options como j mencionado. Aps estes passos, iremos editar o arquivo pap-secrets, localizado no diretrio etc/ppp e acrescentaremos a ele o seguinte contedo: username * password Substituindo username pelo seu username e password por sua senha. Feito isso, iniciaremos a criao de nosso script de conexo, que ser composto por trs arquivos. Todos os arquivos sero criados no diretrio etc/ppp. O primeiro arquivo chamado connect e ter o seguinte contedo: echo "---" >> ~/extrato-de-uso.log hora=`/bin/date`

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

93

echo "Inicio: $hora" >> ~/extrato-de-uso.log /usr/sbin/pppd /dev/cua1 19200 connect ~/for-connect detach debug crtscts modem defaultroute noipdefault user <seuusername>

Observe que as trs primeiras linhas de comando so para registrar, no arquivo extrato-de-uso.log, a data e hora de incio da conexo. Um outro detalhe importante a ser observado que todo o texto contido entre /usr/sbin/pppd e o <seu-username> deve estar na mesma linha. O prximo passo a criao do arquivo for-connect que conter a seguinte linha: /usr/sbin/chat -v -f ~/chat-script O programa /usr/sbin/chat ir discar para o seu provedor de acesso, levando em conta os parmetros que voc ir colocar no arquivo chat-script. O arquivo chat-script, no nosso caso, conter a seguinte linha : ""+++ATH OK ATZ OK ATDT2721220 CONNECT "" TIMEOUT 10 Por ltimo, criaremos o arquivo disconnect que ir finalizar a conexo com o provedor: killall pppd killall -9 /usr/sbin/chat hora=`/bin/date` echo "Fim : $hora" >> ~/extrato-de-uso.log echo "---" >> ~/extrato-de-uso.log Observe que as trs ultimas linhas de comando so para registrar, no arquivo "extratode-uso.log", a data e hora de final da conexo. Portanto, sempre que quiser conectar-se a seu provedor, basta digitar no shell connect &. Para desconectar, basta digitar disconnect .

11.4- Conexo usando Gnome-PPP


At agora vimos maneiras de conexo Internet usando apenas o console. Existe, porm, um mtodo muito prtico e rpido de fazermos isso usando o ambiente grfico. o programa Gnome-PPP. O programa pertence ao pacote gnome-network, mas tambm pode-se obt-lo isoladamente. Sua instalao simples, bastando seguir os mesmos passos utilizados na instalao de qualquer outro programa. O uso do programa fcil e prtico. Ele iniciado atravs do menu do gnome panel clicando-se na opo Internet/PPP Dialup utility ou digitando-se gnome-ppp num Xterminal.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

94

Aps iniciado o programa, clique no menu Account e selecione a opo New, aparecer ento uma outra tela onde voc entrara com os dados pertinentes conexo, como login, senha, telefone, servidor de DNS e dados do nome. Um recurso interessante se encontra na orelha PPP, onde voc pode configurar o programa para abrir e fechar outros aplicativos quando a conexo iniciada ou encerrada. Aps a criao da conta, clique no boto Connect e divirta-se pela Web.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

95

12- Bibliografia
Livros e Apostilas:
[Rpragana99] Pragana, Rildo, Curso de Administrao de Sistemas, http://members.xoom.com/rpragana, Work in Progress. [Kernel-HowTo] Vrios Autores, Linux Kernel HOWTO, http://metalab.unc.edu/ LDP/HOWTO/Kernel-HOWTO.html, Work in Progress. [Linux Unleashed] PARKER,Tim. Ed. SAMS. 3 Edio. [ChrisMunhoz] Munhoz, Christiana E., Palermo, Lillian, Programao em C-Shell, CCUEC, Work in Progress. [Tanenbaum] - Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall, 1992. [CL4] Conectiva Consultoria e Desenvolvimento de Sistemas, Conectiva Linux/Intel 4.0 Verso Ipanema, 1999.

Sites de Internet:
www.gnome.org www.enlightenment.org www.kde.org www.windowmaker.org www.x11.org ano2001.sti.com.br www.netdados.com.br/tlm member.xoom.com.br/rpragana www.gnu.org www.troltech.com www.gtk.org

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

96

APNDICE 1 CONCEITOS IMPORTANTES SOBRE SISTEMAS OPERACIONAIS


Hardware:
Parte fsica dos computadores. Todo equipamento eletrnico contido no interior do computador ou utilizado junto ao mesmo.

Software:
Termo genrico que rene todo e qualquer programa utilizado no computador.

Sistema Operacional:
O sistema operacional o programa que controla todos os recursos do computador e fornece a base sobre a qual os outros programas so escritos. Ele isola o usurio dos detalhes de comunicao com o hardware, fornecendo-lhe uma interface bastante simples. Alm disso, o sistema operacional o responsvel pela gerncia dos recursos deste hardware.

Drivers:
Arquivos utilizados para interagir com um dispositivo particular ou com algum tipo de programa especial. Os drivers contm o conhecimento estrutural sobre o dispositivo ou programa a que servem, a fim de poderem intermediar o uso dos mesmos.

Chamadas ao Sistema:
Instrues utilizadas pelos programas para realizar operaes importantes, tais como a criao e a destruio de diversos objetos gerenciados pelo sistema operacional.

Processos:
Os processos so, em sntese, programas em execuo, sendo constitudos de cdigo executvel, dados referentes ao cdigo, pilha de execuo, alm de um conjunto de outras informaes necessrias execuo do programa.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

97

APNDICE 2 SOBRE AS DIVERSAS DISTRIBUIES DE LINUX


Uma peculiaridade interessante e que pode causar confuso a um usurio iniciante a existncia das chamadas distribuies do Linux. Por vezes pode parecer complicado a um usurio Linux menos informado responder sobre as especificaes do sistema que utiliza. RedHat? Slackware? SuSe? Conectiva Linux? Afinal, existem vrios tipos diferentes de Linux? Tal confuso, apesar de parecer complicada, possui razes simples de serem entendidas. Antes de responder a esta pergunta, devemos ter em mente algumas informaes importantes. Estamos tratando de um sistema operacional com filosofia completamente diferente do usual, no que diz respeito ao mercado comercial. O Linux foi concebido sob conceitos de liberdade extremamente flexveis. Como seu cdigo fonte aberto, qualquer pessoa pode modific-lo a fim de satisfazer seu interesse prprio. Alm disso, o sistema completamente gratuito para qualquer pessoa. Mas o fato de maior importncia que o Linux em si apenas o kernel do sistema operacional. Existe a necessidade de complementar o kernel com ferramentas, utilitrios e programas que facilitem a vida do usurio, tais como compiladores, depurados, ferramentas de redes, editores de texto, e outros tantos. Esse conjunto formaria um sistema completo. J de conhecimento do leitor a existncia de alguns movimentos que seguem a mesma linha de desenvolvimento do Linux, tais como o GNU, o gnome, entre outros. Se temos um kernel interessante e eficiente, ferramentas e programas igualmente interessantes e, melhor ainda, tambm gratuitos, por que no fazer a unio dos dois em um s? exatamente este o papel das distribuies. Elas so em geral organizadas por grupos de pessoas que realizam a tarefa de seleo, unio e teste de uma grande quantidade de softwares, geralmente gratuitos, utilizando o kernel do Linux como base do sistema. claro que eles seguiro uma certa tendncia, de acordo com o pblico que desejam alcanar. Se o alvo so os administradores de redes, interessante a existncia de ferramentas rpidas e simples. Neste caso no h sentido em se utilizar ferramentas grficas para se configurar uma placa de rede, por exemplo. Este o caso do Slackware. Mas se o pblico alvo so os usurios comuns, a maior preocupao a de facilitar ao mximo a vida deste usurios. Neste caso, a existncia de ferramentas grficas se justifica. Podemos citar o RedHat como tpico representante desta classe de distribuies. Peculiaridades a parte, importante frisar que no existem grandes diferenas entre as distribuies. Todas elas utilizam software GNU em grande quantidade e so capazes de fazer

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

98

as mesmas coisas. Apresentam apenas, digamos, caminhos diversos para a resoluo de um mesmo problema. Existem grandes corporaes envolvidas no desenvolvimento das distribuies, assim como tambm existem aquelas que so desenvolvidas por um nmero pequeno de pessoas, sem maiores pretenses. Deste modo, fcil perceber que existe um nmero muito grande de distribuies Linux em todo mundo, as quais podem inclusive nascer de uma j existente. As possibilidades so muitas. Mas se as possibilidades de escolha so tantas, qual deciso tomar na hora de escolher uma distribuio Linux? Esta uma questo bastante particular. Cabe ao leitor analisar com cuidado vrias distribuies ou mesmo experimentar algumas delas para tomar uma deciso inteligente sobre qual utilizar. O preo que se paga por um CD que contenha uma distribuio Linux nfimo. Alis, ela quase sempre pode ser obtida gratuitamente pela Internet.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

99

APNDICE 3 PREPARAO PARA O LINUX


Comprei um novo computador e ele no veio com Linux instalado. Como proceder para instal-lo em meu micro? A primeira preocupao que devemos ter em mente a respeito do disco rgido. Obviamente o Linux vai precisar de algum espao no seu disco para que o sistema seja instalado. Quase sempre surge a o primeiro problema. Na verdade, o pacote de um novo computador quase sempre inclui a instalao de alguns softwares. Se voc est lendo este texto, com certeza o Linux no estava presente neste pacote de softwares. O fato que quando da instalao do sistema operacional que acompanha a mquina, em geral, o que se faz tomar todo o espao em disco para uma ou mais parties que utilizem um sistema de arquivos nativo daquele sistema operacional, ou seja, no nativo do Linux. Neste caso, mesmo que voc no esteja utilizando toda a capacidade de seu disco, a(s) partio(es) l estabelecida(s) estar(o), o que impossibilitar a criao de novas parties com sistemas de arquivos apropriados para o Linux. O kernel do Linux suporta um grande nmero de sistemas de arquivos diferentes. Ocorre que ele precisa de pelo menos uma partio com sistema de arquivos nativo. Hoje em dia, utilizado o ext2. O kernel do Linux at suporta parties no nativas em sua instalao. Contudo, voc precisaria de uma imagem de kernel especial com este detalhe habilitado entre as opes do kernel. Mesmo assim, voc estaria perdendo vrios recursos que o sistema de arquivos nativo oferece. Em outras palavras, no nada recomendado instalar o Linux neste contexto. Como descobrir se o quadro descrito no pargrafo acima o caso do meu computador? muito simples. Pode-se fazer uso do utilitrio de gerenciamento de disco (em geral, fdisk) de seu sistema operacional j instalado para se obter tal informao, entre outras, como qual o tipo da partio, por exemplo. Alm disso, a prpria instalao do sistema Linux ir solicitar a criao de uma partio com sistema de arquivos apropriado, o que obviamente ser impossvel, fato que paralisar o processo de instalao. E se esse for realmente o caso, o que se pode fazer para resolver o problema? Existem duas possveis solues para o problema. A primeira soluo um tanto quanto drstica. Voc pode simplesmente excluir as parties existentes em seu disco e criar novas parties. Esta operao pode ser realizada com as ferramentas fornecidas no prprio pacote de instalao (o fdisk, por exemplo) do Linux. Entretanto, depois de efetuada a operao, todas as informaes de seu disco sero perdidas. Afinal, voc estar promovendo uma reorganizao do seu disco. Da a natureza drstica desta primeira soluo. Uma segunda soluo seria a utilizao de aplicativos que promovam a reorganizao do disco sem a necessidade de excluso das parties existentes. Em outras palavras, estes utilitrios promovem um encolhimento das parties, possibilitando assim a criao de novas parties a serem utilizadas no Linux. Obviamente, seu disco dever possuir espao livre nas parties existentes para que a operao seja possvel. Para a plataforma DOS/Windows, so bons representantes deste tipo de aplicativo o Partition Magic TM e o fips. O primeiro tem a vantagem de apresentar uma interface grfica intuitiva, enquanto que o

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

100

segundo trabalha em linha de comando. Por outro lado, o fips de manipulao e transporte mais simples, pois bem menor que o Partition Magic TM. O fips em geral est presente no pacote de instalao da maioria das distribuies de Linux. Resolvida a parte inicial no que diz respeito a espao livre em disco, a prxima preocupao deve ser a respeito da organizao das novas parties que estaremos criando. Cada distribuio de Linux traz um ou mais utilitrios para realizar esta funo. Na maioria dos casos, o fdisk est presente como uma das opes. No Linux, as operaes de troca de contexto entre memria principal e disco, que configura a chamada memria virtual, feita a partir de uma partio inteira dedicada a esta funo, a qual chamamos de partio de troca ou simplesmente swap. bastante aconselhvel a criao de uma partio para realizar exclusivamente esta funo, principalmente se o usurio deseja utilizar programas de ambiente grfico no sistema. Em relao ao tamanho desta partio, recomendado que seja o dobro da quantidade de memria principal disponvel na mquina. Uma quantidade inferior poderia ser insuficiente em algumas situaes, ocasionando um desempenho ruim do sistema, principalmente se ele for muito exigido em termos de memria. Por outro lado, uma quantidade superior aconselhada provavelmente no seria aproveitada pelo sistema, ocasionando uma situao de desperdcio de disco. Obviamente, esta apenas uma regra padro para a criao da partio swap. Situaes especiais com certeza merecem anlises mais cuidadosas. Em relao (s) partio(es) nativa(s), no existe uma regra de criao muito rgida, a no ser a de que sempre deve haver uma partio para ser aproveitada a partir do diretrio raiz (o diretrio /). De qualquer maneira, aconselhvel a separao do sistema no maior nmero de parties possveis, a partir dos vrios diretrios que compe o sistema, como por exemplo, o /home, o /var e o /usr. Tal prtica assegura maior desempenho para o sistema, j que os dados, se localizados em parties distintas, podem ser tratados de forma paralela. Alm disso, a segurana para o contedo das informaes tambm aumenta, dado que as mesmas estaro espalhadas em vrios pontos fisicamente distintos do disco. No caso de um defeito, voc no necessariamente perder todas as informaes do disco. O limite de parties primrias que podem ser criadas so quatro, numeradas de 1 a 4. Se precisarmos de extrapolar este limite, torna-se necessria a utilizao de uma partio estendida a partir da qual podem ser criadas vrias parties lgicas, numeradas de 5 em diante. Depois de criarmos adequadamente todas as parties a serem utilizadas no Linux, estamos aptos a iniciar a instalao de pacotes. Se voc no os conhece com alguma intimidade, busque seguir padres que com certeza o pacote de instalao ir lhe oferecer. Sente-se e aguarde o final da instalao.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

101

APNDICE 4 O EDITOR VI
O conhecido e, por vezes, preterido editor vi pode ser considerado o editor de textos padro do Linux. Com uma apresentao pouco amigvel, comandos estranhos e de manipulao rstica, este pequeno editor de texto esconde grande eficincia e funcionalidade. largamente utilizado no s no Linux, mas na grande maioria de sistemas UNIX, e representa quase sempre a salvao do administrador de redes quando este se encontra em apuros. Segue abaixo uma relao dos comandos mais comuns encontrados nas diversas implementaes deste polmico editor de textos.

Modos de Utilizao
Existem dois modos de utilizao do editor vi: O modo texto: usado para realizar a edio do texto

O modo comando: usado para realizar a movimentao pelo texto e sua alterao Cancelar Edio ou Qualquer Sub-Comando:
Esc = cancela edio ou qualquer comando

Modo Texto Sub-Comandos do Modo Texto:


i (INSERT) = edita documento em modo de insero a partir do cursor R (REPLACE) = edita documento em modo de substituio a partir do cursor a = edita documento em modo de insero a partir do primeiro caracter aps cursor A = edita documento em modo de insero a partir do ltimo caracter da linha

Modo Comando Sub-Comandos para Movimentao pelo Texto:


Ctrl+f = passa para a tela seguinte Ctrl+b = passa para a tela anterior H = move o cursor para a primeira linha da tela M = move o cursor para o meio da tela L = move o cursor para a ltima linha da tela h = move cursor para caracter a esquerda j = move cursor para linha abaixo k = move o cursor para linha acima

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

102

l = move cursor para caracter a direita w = move cursor para incio da prxima palavra (no ignora pontuao) W = move cursor para incio da prxima palavra (ignora pontuao) b = move cursor para incio da palavra anterior (no ignora pontuao) B = move cursor para incio da palavra anterior (ignora pontuao) 0 (zero) = move cursor para incio da linha corrente $ = move cursor para o fim da linha corrente nG = move cursor para linha n G = move cursor para ltima linha do arquivo

Sub-Comandos para Localizao de Texto:


/palavra = procura por ocorrncias de palavra em linhas abaixo do cursor ?palavra = procura por ocorrncias de palavra em linhas acima do cursor n = repete o ltimo comando / ou ? N = repete o ultimo comando / ou ? na direo reversa Ctrl+g = mostra nome do arquivo, n da linha corrente, total de linhas e coluna corrente

Sub-Comandos para Alterao de Texto:


x = apaga caracter que estiver sobre o cursor dw = apaga palavra, do inicio da posio do cursor at encontrar espao em branco dd = deleta linha inteira onde o cursor estiver D = deleta linha a partir da posio do cursor em diante rx = substitui caracter sobre o cursor pelo especificado x ( opcional indicar o caracter) cw = apaga palavra corrente e entra em modo de insero cc = apaga linha corrente e entra em modo de insero C = apaga linha corrente a partir do cursor e entra em modo de insero u = desfaz a ltima modificao U = desfaz todas as modificaes feitas na linha do cursor (se o cursor no mudou de linha) J = une linha corrente que vem a seguir :s/velho/novo = substitui ocorrncias de velho por novo na linha do cursor

Sub-Comandos para Salvar o Texto:


:wq = salva mudanas feitas no arquivo e sai do editor :w nome-arq = salva o arquivo corrente com o nome especificado e continua programa normalmente :w! nome-arq = salva (de modo forado) o arquivo corrente com o nome especificado :q = sai do editor. Se mudanas no foram salvas apresentada mensagem de advertncia :q! = sai do editor sem salvar as mudanas realizadas

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

103

APNDICE 5 COMPILAO DO KERNEL


Neste apndice, daremos uma viso prtica de como instalar um novo kernel em seu sistema. Abaixo segue uma sequncia de passos a serem seguido para uma instalao bsica de um novo kernel. Estes so os passos vlidos para a compilao do kernel do sistema operacional Linux, e assume que voc tem instaladas todas as ferramentas necessrias para se efetuar esta instalao, ou seja, as bibliotecas bsicas do sistema (glibc), e as ferramentas de desenvolvimento make e compilador gcc. Antes de comear, conveniente que se prepare uma lista de todos os modelos de placas (vdeo, disco, pci, memria, etc) existente na sua mquina. Estes passos assumem que voc tem conscincia do perfil de hardware de seu computador. Depois de obtidos os fontes do kernel, estes so os passos para processar a sua instalao: Descompactar o kernel no lugar adequado, ou seja, no diretrio /usr/src e criar o link simblico de nome linux dentro de /usr/src, apontando para o diretrio resultante da descompactao do kernel; Entrar no diretrio do link: cd linux

Configurar todas as opes do kernel, utilizando uma das opes abaixo: make config (modo texto) make menuconfig (modo grfico de caracter) make xconfig (modo grfico com motor grfico)

Depois de definido o perfil do kernel, partimos para a compilao:

Para resolver as dependncias de cada um dos mdulos do kernel escolhidos: make dep

Para remover produtos resultantes de possveis compilaes anteriores: make clean

Para construir a imagem do kernel, nosso produto final make zImage (imagens de at 512 Kb)

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

104

make bzImage (imagens maiores que 512 Kb)

Para compilar os mdulos (se estiverem sendo utilizados): make modules

Para instalar os novos mdulos: make modules_install

Se for necessrio um disco de boot: make zdisk

Depois disso, deve-se informar ao sistema da existncia de uma nova imagem de kernel. Usa-se copiar o arquivo de imagem gerado: /usr/src/linux/arch/i386/boot/zImage ou /usr/src/linux/arch/i386/boot/bzImage para um diretrio apropriado, que em geral /boot, apesar de ser apenas uma conveno. Para tanto, devemos editar o arquivo /etc/lilo.conf com a entrada correspondente ao novo arquivo de imagem do kernel. prudente manter a imagem antiga como um outro label (linux.old, por exemplo).

Por ltimo, necessrio reinstalar o LILO, atravs do simples comando: lilo

A compilao do kernel pode gerar resultados nem sempre agradveis. Deste modo, torna-se extremamente importante a tomada de certas precaues, como a de se manter a imagem antiga do kernel como uma das opes de inicializao, pois esta temos certeza que ir funcionar.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

105

APNDICE 6 A GNU PUBLIC LICENSE


Segue abaixo uma traduo no oficial da GPL para o portugus. Esta verso no foi publicada pela Free Software Foudation e no declara legalmente os termos de distribuio para o software padro GPL apenas a verso em ingls possui essa condio. De qualquer modo, espera-se que essa verso traduzida do GPL seja til aos interessados em GNU que falem o idioma portugus.

Licena pblica GNU GNU GENERAL PUBLIC LICENSE Version 2, June 1991
permitido a qualquer pessoa copiar e distribuir cpias tal desse documento de licena, sem a implementao de qualquer mudana. F.3.1 Introduo As licenas de muitos softwares so desenvolvidas para cercear a liberdade de uso, compartilhamento e mudanas. A GNU Licena Pblica Geral ao contrrio, pretende garantir a liberdade de compartilhar e alterar softwares de livre distribuio - tornando-os de livre distribuio tambm para quaisquer usurios. A Licena Pblica Geral aplica-se maioria dos softwares da Free Software Foundation e a qualquer autor que esteja de acordo de utiliz-la (alguns softwares da FSF so cobertos pela GNU Library General Public License). Quando nos referimos a softwares de livre distribuio, referimo-nos liberdade e no ao preo. Nossa Licena Pblica Geral foi criada para garantir a liberdade de distribuio de cpias de softwares de livre distribuio (e cobrar por isso caso seja do interesse do distribuidor), o qual recebeu os cdigos fonte, o qual pode ser alterado ou utilizado em parte em novos programas. Para assegurar os direitos dos desenvolvedores, algumas restries so feitas, proibindo a todas as pessoas a negao desses direitos ou a solicitao de sua abdicao. Essas restries aplicam-se ainda a certas responsabilidades sobre a distribuio ou modificao do software. Por exemplo, ao se distribuir cpias de determinado programa, por uma taxa determinada ou gratuitamente, deve-se informar sobre todos os direitos incidentes sobre esse programa, assegurando-se que os fontes estejam disponveis assim como a Licena Pblica Geral GNU. A proteo dos direitos envolve dois passos: (1) copyright do software e (2) licena que d permisso legal para cpia, distribuio e/ou modificao do softwares. Ainda para a proteo da FSF e do autor importante que todos entendam que no h garantias para softwares de livre distribuio. Caso o software seja modificado por algum e passado adiante, este software no mais refletir o trabalho original do autor no podendo portanto ser garantido por aquele.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

106

Finalmente, qualquer programa de livre distribuio constantemente ameaado pelas patentes de softwares. Buscamos evitar o perigo de que distribuidores destes programas obtenham patentes individuais, tornado-se seus donos efetivos. Para evitar isso foram feitas declaraes expressas de que qualquer solicitao de patente deve ser feita permitindo o uso por qualquer indivduo, sem a necessidade de licena de uso. Os termos e condies precisas para cpia, distribuio e modificao seguem abaixo: F.3.2 Licena Pblica Geral GNU TERMOS E CONDIES PARA CPIA, DISTRIBUIO E MODIFICAO 0 Esta licena se aplica a qualquer programa ou outro trabalho que contenha um aviso colocado pelo detentor dos direitos autorais dizendo que aquele poder ser distribudo nas condies da Licena Pblica Geral. O Programa, abaixo refere-se a qualquer software ou trabalho e a um trabalho baseado em um Programa e significa tanto o Programa em si como quaisquer trabalhos derivados de acordo com a lei de direitos autorais, o que significa dizer, um trabalho que contenha o Programa ou uma parte deste, na sua forma original ou com modificaes ou traduzido para uma outra lngua (traduo est includa sem limitaes no termo modificao). Atividades distintas de cpia, distribuio e modificao no esto cobertas por esta Licena, estando fora de seu escopo. O ato de executar o Programa no est restringido e a sada do Programa coberta somente caso seu contedo contenha trabalhos baseados no Programa (independentemente de terem sidos gerados pela execuo do Programa). Se isso verdadeiro depende das funes executadas pelo Programa. 1 O cdigo fonte do Programa, da forma como foi recebido, pode ser copiado e distribudo, em qualquer media, desde que seja providenciada um aviso adequado sobre os copyrights e a negao de garantias, e todos os avisos que se referem Licena Pblica Geral e ausncia de garantias estejam inalterados e que qualquer produtos oriundo do Programa esteja acompanhado desta Licena Pblica Geral. permitida a cobrana de taxas pelo ato fsico de transferncia ou gravao de cpias, e podem ser dadas garantias e suporte em troca da cobrana de valores. 2 Pode-se modificar a cpia ou cpias do Programa de qualquer forma que se deseje, ou ainda criar-se um trabalho baseado no Programa, e copi-la e distribuir tais modificaes sob os termos da seo 1 acima e do seguinte: 1. Deve existir aviso em destaque de que os dados originais foram alterados nos arquivos e as datas das mudanas;

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

107

2. Deve existir aviso de que o trabalho distribudo ou publicado , de forma total ou em parte derivado do Programa ou de alguma parte sua, e que pode ser licenciado totalmente sem custos para terceiros sob os termos desta Licena. 3. Caso o programa modificado seja executado de forma interativa, obrigatrio, no incio de sua execuo, apresentar a informao de copyright e da ausncia de garantias (ou de que a garantia corre por conta de terceiros), e que os usurios podem redistribuir o programa sob estas condies, indicando ao usurio como acessar esta Licena na sua ntegra. Esses requisitos aplicam-se a trabalhos de modificao em geral. Caso algumas sees identificveis no sejam derivadas do Programa, e podem ser consideradas como partes independentes, ento esta Licena e seus Termos no se aplicam quelas sees quando distribudas separadamente. Porm ao distribuir aquelas sees como parte de um trabalho baseado no Programa, a distribuio como um todo deve conter os termos desta Licena, cujas permisses estendem-se ao trabalho como um todo, e no a cada uma das partes independentemente de quem os tenha desenvolvido. Mais do que tencionar contestar os direitos sobre o trabalho desenvolvido por algum, esta seo objetiva propiciar a correta distribuio de trabalhos derivados do Programa. Adicionalmente, a mera adio de outro trabalho ao Programa, porm no baseado nele nem a um trabalho baseado nele, a um volume de armazenamento ou media de distribuio no obriga a utilizao desta Licena e de seus termos ao trabalho. 3 So permitidas a cpia e a distribuio do Programa (ou a um trabalho baseado neste) na forma de cdigo objeto ou executvel de acordo com os termos das Sees 1 e 2 acima, desde que atendido o seguinte: 1. Esteja acompanhado dos cdigos fonte legveis, os quais devem ser distribudos na forma da Sees 1 e 2 acima, em mdia normalmente utilizada para manuseio de softwares ou 2. Esteja acompanhado de oferta escrita, vlida por, no mnimo 3 anos, de disponibilizar a terceiros, por um custo no superior ao custo do meio fsico de armazenamento , uma cpia completa dos cdigos fonte em meio magntico, de acordo com as Sees 1 e 2 acima. 3. Esteja acompanhada com a mesma informao recebida em relao oferta da distribuio do cdigo fonte correspondente. (esta alternativa somente permitida para distribuies no comerciais e somente se o programa recebido na forma de objeto ou executvel tenha tal oferta, de acordo com a subseo 2 acima). O cdigo fonte de um trabalho a melhor forma de produzirem-se alteraes naquele trabalho. Cdigos fontes completos significam todos os fontes de todos os mdulos, alm das definies de interfaces associadas, arquivos, scripts utilizados na compilao e instalao do executvel. Como uma exceo excepcional, o cdigo fonte distribudo poder no incluir alguns componentes que no se encontrem em seu escopo, tais como compilador, kernel, etc... para o SO onde o trabalho seja executado. Caso a distribuio do executvel ou objeto seja feita atravs de acesso a um determinado ponto, ento oferta equivalente de acesso deve ser feita aos cdigos fonte,

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

108

mesmo que terceiros no sejam obrigados a copiarem os fontes juntos com os objetos simultaneamente. 4 No permitida a cpia, modificao, sublicenciamento ou distribuio do Programa, exceto sob as condies expressas nesta Licena. Qualquer tentativa de cpia, modificao, sublicenciamento ou distribuio do Programa proibida, e os direitos descritos nesta Licena cessaro imediatamente. Terceiros que tenham recebido cpias ou direitos na forma desta Licena no tero seus direitos cessados desde que permaneam dentro das clusulas desta Licena. 5 No necessria aceitao formal desta Licena, apesar de que no haver documento ou contrato que garanta permisso de modificao ou distribuio do Programa ou seus trabalhos derivados. Essas aes so proibidas por lei, caso no se aceitem as condies desta Licena. A modificao ou distribuio do Programa ou qualquer trabalho baseado neste implica na aceitao desta Licena e de todos os termos desta para cpia, distribuio ou modificao do Programa ou trabalhos baseados neste. 6 Cada vez que o Programa seja distribudo (ou qualquer trabalho baseado neste), o recipiente automaticamente recebe uma licena do detentor original dos direitos de cpia, distribuio ou modificao do Programa objeto deste termos e condies. No podem ser impostas outras restries nos recipientes. 7 No caso de decises judiciais ou alegaes de uso indevido de patentes ou direitos autorais, restries sejam impostas que contradigam esta Licena, estes no isentam da sua aplicao. Caso no seja possvel distribuir o Programa de forma a garantir simultaneamente as obrigaes desta Licena e outras que sejam necessrias, ento o Programa no poder ser distribudo. Caso esta Seo seja considerada invlida por qualquer motivo particular ou geral, o seu resultado implicar na invalidao geral desta licena na cpia, modificao, sublicenciamento ou distribuio do Programa ou trabalhos baseados neste. O propsito desta seo no , de forma alguma, incitar quem quer que seja a infringir direitos reclamados em questes vlidas e procedentes, e sim proteger as premissas do sistema de livre distribuio de software. Muitas pessoas tm feito contribuies generosas ao sistema, na forma de programas, e necessrio garantir a consistncia e credibilidade do sistema, cabendo a estes e no a terceiros decidirem a forma de distribuio dos softwares. Esta seo pretende tornar claro os motivos que geraram as demais clusulas destas Licena.

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

109

8 Caso a distribuio do Programa dentro dos termos desta Licena tenha restries em algum Pas, quer por patentes ou direitos autorais, o detentor original dos direitos autorais do Programa sob esta Licena pode adicionar explicitamente limitaes geogrficas de distribuio, excluindo aqueles Pases, fazendo com que a distribuio somente seja possvel nos Pases no excludos. 9 A Fundao de Software de Livre Distribuio (FSF - Free Software Foundation) pode publicar verses revisadas ou novas verses desta Licena Pblica Geral de tempos em tempos. Estas novas verses mantero os mesmos objetivos e o esprito da presente verso, podendo variar em detalhes referentes a novas situaes encontradas. A cada verso dada um nmero distinto. Caso o Programa especifique um nmero de verso especfico desta Licena a qual tenha em seu contedo a expresso - ou verso mais atualizada-, possvel optar pelas condies daquela verso ou de qualquer verso mais atualizada publicada pela FSF. 10 Caso se deseje incorporar parte do Programa em outros programas de livre distribuio de softwares necessria autorizao formal do autor. Para softwares que a FSF detenha os direitos autorais, podem ser abertas excees desde que mantido o esprito e objetivos originais desta Licena. 11 AUSNCIA DE GARANTIAS UMA VEZ QUE O PROGRAMA LICENCIADO SEM NUS, NO H QUALQUER GARANTIA PARA O PROGRAMA. EXCETO QUANDO TERCEIROS EXPRESSEM-SE FORMALMENTE O PROGRAMA DISPONIBILIZADO EM SEU FORMATO ORIGINAL, SEM GARANTIAS DE QUALQUER NATUREZA, EXPRESSAS OU IMPLCITAS, INCLUINDO MAS NO LIMITADAS, A GARANTIAS COMERCIAIS E DO ATENDIMENTO DE DETERMINADO FIM. A QUALIDADE E A PERFORMANCE SO DE RISCO EXCLUSIVO DOS USURIOS, CORRENDO POR SUAS CONTA OS CUSTOS NECESSRIOS A EVENTUAIS ALTERAES, CORREES E REPAROS JULGADOS NECESSRIOS. EM NENHUMA OCASIO, A MENOS QUE REQUERIDO POR DECISO JUDICIAL OU POR LIVRE VONTADE, O AUTOR OU TERCEIROS QUE TENHAM MODIFICADO O PROGRAMA, SERO RESPONSVEIS POR DANOS OU PREJUZOS PROVENIENTES DO USO OU DA FALTA DE HABILIDADE NA SUA UTILIZAO (INCLUINDO MAS NO LIMITADA A PERDA DE DADOS OU DADOS ERRNEOS), MESMO QUE TENHA SIDO EMITIDO AVISO DE POSSVEIS ERROS OU DANOS. FIM DA LICENA

Linux Administrador de Sistemas Copyleft Rodrigo Neiva Pedatella

110

F.3.3 Apndice Como aplicar estes termos a novos softwares? Caso se tenha desenvolvido um novo programa e se deseje a sua ampla distribuio para o pblico, a melhor forma de consegui-lo torn-lo um software de livre distribuio, o qual qualquer um possa distribu-lo nas condies desta Licena. Para tanto basta anexar este aviso ao programa. aconselhvel indicar ainda no incio de cada arquivo fonte a ausncia de garantias e um apontamento para um arquivo contendo o texto geral desta Licena, como por exemplo: <nome do programa e funo> Copyright (C) 199X <Autor> Este programa um software de livre distribuio, que pode ser copiado e distribudo sob os termos da Licena Pblica Geral GNU, conforme publicada pela Free Software Foundation, verso 2 da licena ou (a critrio do autor) qualquer verso posterior. Este programa distribudo na expectativa de ser til aos seus usurios, porm NO TEM NENHUMA GARANTIA, EXPLCITAS OU IMPLCITAS, COMERCIAIS OU DE ATENDIMENTO A UMA DETERMINADA FINALIDADE. Consulte a Licena Pblica Geral GNU para maiores detalhes. Deve haver uma cpia da Licena Pblica Geral GNU junto com este software em ingls ou portugus. Caso no haja escreva para Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Autor@mail.com.br Endereo Caso o programa seja interativo, apresente na sua sada um breve aviso quando de seu incio como por exemplo: Gnomovision verso 69, Copyright 199a Yoyodine Softwares NO POSSUI NENHUMA GARANTIA; para detalhes digite mostre garantia. Este um software de livre distribuio e voc est autorizado a distribui-lo dentro de certas condies. Digite mostre condio para maiores detalhes. Os comandos hipotticos mostre garantia e mostre condio apresentaro as partes apropriadas da Licena Pblica Geral GNU. Evidentemente os comandos podem variar ou serem acionado por outras interfaces como clique de mouse, etc.

S-ar putea să vă placă și