Documente Academic
Documente Profesional
Documente Cultură
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.
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.
(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.
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.
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.
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.
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.
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
2.3.9 | | | | | verso nove deste kernel | verso de desenvolvimento verso dois do kernel do linux
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.
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
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.
10
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.
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, /)
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
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
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.
14
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.
16
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
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:
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.
18
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:
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)
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.
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:
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.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
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:
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:
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
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.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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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].
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
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.
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.
38
da descrio, pressione Ok e a caixa desaparecer, podendo prosseguir na seleo de pacotes e na visualizao das descries.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
48
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.
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.
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.
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.
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.
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
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.
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.
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
O contedo dessas variveis pode ser visto a qualquer momento bastando para isso digitar o comando set no prompt de comando.
if-then-else
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
56
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.
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
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
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:
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
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
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.
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.
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.
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
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.
Kernel
getty / mgetty
Init
/etc/rc.d
passwd
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).
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
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.
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.
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.
72
Running
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.
73
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
74
ativados, os daemons so completamente gerenciados pelo prprio sistema, sem qualquer ao de usurios.
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
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
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.
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
77
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.
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.
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.
mail,news.=info /var/log/info Mensagens com prioridade maior ou igual a alert para o administrador e para o usurio germ:
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:
user.*;user.!=notice /dev/console
81
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
82
finger: mostra informaes relativas a um usurio. Uso: finger [opes] nome-do-usurio Atributos:
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
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
83
hosts.deny
Define a proibio de servios de rede a nvel de host Sintaxe:
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:
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.
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
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.
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.
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.
87
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.
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
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.
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.
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.
91
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 .
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 .
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.
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
96
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.
97
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.
99
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.
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
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
103
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)
Para resolver as dependncias de cada um dos mdulos do kernel escolhidos: make dep
Para construir a imagem do kernel, nosso produto final make zImage (imagens de at 512 Kb)
104
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).
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.
105
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.
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;
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,
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.
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
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.