42
Instalando o GNU/Linux Debian 3.1 (Sarge) Apostila Elaborado por Edson Lima Monteiro ([email protected]) utilizando LATEX http://bonix.net Versão 0.2 Copyleft c° 2005 6 de dezembro de 2005 Copyright (c) 2005 Edson Lima Monteiro. É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Software Foundation, com as Seções Invariantes sendo os textos da Capa da Frente, isto é,“Instalando o GNU/Linux Debian 3.1 (Sarge) ” e “ Apostila”, e sem Textos da Quarta-Capa. Uma cópia da licença pode ser obtida em http://www.gnu.org/licenses/fdl.html. Sumário Introdução 1 1 GNU 5 2 Linux 7 3 O que é o GNU/Debian 9 3.1 Pronúncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Quando surgiu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3 Codinomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4 Stable, Testing e Unstable . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.5 Main, Contrib e Non-Free . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.6 Custo versus Benefício . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Identificar o Hardware 13 4.1 Fontes de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Meu hardware é compatível com o Linux? . . . . . . . . . . . . . . . . . 13 4.3 Meu hardware não é compatível com o Linux! . . . . . . . . . . . . . . . 15 4.4 Não compre equipamento sem suporte para Linux . . . . . . . . . . . . . 15 5 Instalação 17 5.1 Instalação do sistema básico . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2 Configuração do sistema básico . . . . . . . . . . . . . . . . . . . . . . . 19 6 Como instalar pacotes 23 6.1 Apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.2 Encontrar pacotes que contém determinado arquivo . . . . . . . . . . . . 25 6.3 Reconfigurar a lista de pacotes . . . . . . . . . . . . . . . . . . . . . . . . 26 6.4 Após reconfigurar a lista de pacotes . . . . . . . . . . . . . . . . . . . . . 28 6.5 Dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.6 Onde está a tal lista de pacotes para instalação? . . . . . . . . . . . . . . 29

Instalando o GNU/Linux Debian 3.1 Apostila · poderia ser encarado com uma forma de iniciar com o pé-direito no Linux. 1 2 Praticar, praticar e praticar. Este curso é baseado na

  • Upload
    dophuc

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Instalando o GNU/Linux Debian 3.1 (Sarge) Apostila Elaborado por Edson Lima Monteiro ([email protected]) utilizando LATEX http://bonix.net Versão 0.2 Copyleft c° 2005 6 de dezembro de 2005 Copyright (c) 2005 Edson Lima Monteiro. É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Software Foundation, com as Seções Invariantes sendo os textos da Capa da Frente, isto é,“Instalando o GNU/Linux Debian 3.1 (Sarge) ” e “ Apostila”, e sem Textos da Quarta-Capa. Uma cópia da licença pode ser obtida em http://www.gnu.org/licenses/fdl.html.

Sumário Introdução 1 1 GNU 5 2 Linux 7 3 O que é o GNU/Debian 9 3.1 Pronúncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Quando surgiu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3 Codinomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4 Stable, Testing e Unstable . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.5 Main, Contrib e Non-Free . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.6 Custo versus Benefício . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Identificar o Hardware 13 4.1 Fontes de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Meu hardware é compatível com o Linux? . . . . . . . . . . . . . . . . . 13 4.3 Meu hardware não é compatível com o Linux! . . . . . . . . . . . . . . . 15 4.4 Não compre equipamento sem suporte para Linux . . . . . . . . . . . . . 15 5 Instalação 17 5.1 Instalação do sistema básico . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2 Configuração do sistema básico . . . . . . . . . . . . . . . . . . . . . . . 19 6 Como instalar pacotes 23 6.1 Apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.2 Encontrar pacotes que contém determinado arquivo . . . . . . . . . . . . 25 6.3 Reconfigurar a lista de pacotes . . . . . . . . . . . . . . . . . . . . . . . . 26 6.4 Após reconfigurar a lista de pacotes . . . . . . . . . . . . . . . . . . . . . 28 6.5 Dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.6 Onde está a tal lista de pacotes para instalação? . . . . . . . . . . . . . . 29

i 7 Ajustes inicias 31 7.1 Parar serviços e fechar portas . . . . . . . . . . . . . . . . . . . . . . . . 32 7.2 Habilitar um firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.3 Referência de horário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7.4 Agendar a sincronização do relógio . . . . . . . . . . . . . . . . . . . . . 37 7.5 Horário de Verão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.6 Agendar a atualização do sistema operacional . . . . . . . . . . . . . . . 39 7.7 Verificar a integridade do sistema . . . . . . . . . . . . . . . . . . . . . . . 41 8 Amaciando o motor 43 8.1 Plugins do Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.2 Editor padrão: JED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.3 Administrar usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.4 Permitir gravar CDs, DVDs e diskets . . . . . . . . . . . . . . . . . . . . . 43 8.5 Temas e ícones para o GNOME . . . . . . . . . . . . . . . . . . . . . . . 43 8.6 Temas para o XMMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8.7 Configurando impressoras com o CUPS . . . . . . . . . . . . . . . . . . . 44 8.8 Tocar DVIX com o MPLAYER . . . . . . . . . . . . . . . . . . . . . . . . . 44 9 Compilando o Kernel 45 9.1 Preparando o sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 9.2 Qual hardware será habilitado? . . . . . . . . . . . . . . . . . . . . . . . . 45 9.3 Compilando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 10 Do console para as janelas 51 10.1 Apt-get: primeiros passos . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 10.2 Configurando o servidor gráfico . . . . . . . . . . . . . . . . . . . . . . . . 51 10.3 Reconfigurando o X Window: xserver-xfree86 . . . . . . . . . . . . . . . . 53 10.4 Como Reiniciar o Servidor Gráfico . . . . . . . . . . . . . . . . . . . . . . 53 10.5 Gerenciadores leves: fvwm, icewm e window maker . . . . . . . . . . . . 54 10.6 Gerênciadores de login: xdm, wdm, gdm e kdm . . . . . . . . . . . . . . . 54 10.7 Detectando o mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.8 Mouse do console: gpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.9 Reconfigurando o mouse do console . . . . . . . . . . . . . . . . . . . . . 56 10.10Acentuação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.11Reconfigurando a acentuação . . . . . . . . . . . . . . . . . . . . . . . . 57 10.12Reconfigurando o Mapa do Teclado . . . . . . . . . . . . . . . . . . . . . 58 11 Enxuto, mas nem tanto 59 11.1 Estação de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ii 12 Arquivos Importantes 65 12.1 Onde eles estão? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 12.2 Modelos de configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 A Fontes de Conhecimento 67 iii

Introdução

Este curso nasceu para ser simples, para mostrar como usar um computador com o sistema operacional GNU/Linux. Recebi o convite para trabalhar nele como uma oportunidade de ajudar mais pessoas a aprender como usar o GNU/Linux. O que era uma oportunidade transformou-se em um desafio pois, uma coisa é ter conhecimento sobre algo, outra é saber compartilhá-lo! Comecei com a idéia fixa de que “tinha que ser simples”. Comecei a escrever, escrever e escrever. O “simples” começou a ficar grande. Depois não cabia mais em um capítulo, nem em uma apostila, até chegarmos nesta versão que você está lendo. Já não é mais simples e não mostra muito “como usar”, mas sim, “como instalar”. Esta é a uma nova versão adaptada para o Debian 3.1 lançado em junho de 2005. Público Alvo O requisito inicial era apenas ser funcionário da USP. Éra para ser um curso simples, não deveria exigir quase nenhum conhecimento específico de informática. Nesta nova versão da apostila eu darei um foco maior no usuário que não é administrador de sistemas. Faremos uma instalação voltada para o uso como “Desktop". Com isso pretendo evitar algumas dificuldades encontradas nos outros cursos. Mesmo assim, o aluno ainda aprenderá algums conceitos de administração de servidores. O CCE fornece uma série de cursos da Cisco, dentre eles o de Unix. Este curso poderia ser encarado com uma forma de iniciar com o pé-direito no Linux. 1 2

Praticar, praticar e praticar. Este curso é baseado na prática e na repetição! Uma vez que você completou um estágio guiado pelo instrutor deverá conseguir refazê-lo novamente, de preferência sozinho. A aula utiliza esta apostila como base, mas nem tudo pode estar aqui. Mais detalhes podem ser apresentados durante as discussões e o conteúdo sempre fica mais rico. A tela do monitor do instrutor é projetada em um telão e todos podem ver o que cada passo deve produzir. Você deve vir para este curso sabendo que irá praticar muitas vezes. Por isso é muito importante conseguir equilibrar os conhecimentos mínimos. Se um aluno tem muitas dificuldades o instrutor vai parar a aula para que ele consiga chegar onde os outros estão. Se isso ocorrer muitas vezes, o curso fica truncado, e pode causar muitas frustações a toda a sala.

Este não é um curso para ouvir e, em casa ou no trabalho, tirar as dúvidas sobre os temas que não entendeu direito. Você receberá toda a ajuda para aprender o que não sabe, apenas certifique-se que está preparado para participar ativamente. São requisitos necessários: 1. Ter prática em digitação. 2. Alguma familiaridade com instalação de software (windows/linux). 3. Disposição para ajudar o seu colega de bancada. Se você já terminou a configuração do seu computador e seu parceiro não, ajude-o. 4. Leitura antecipada das apostilas do curso. Requisitos desejáveis: 1. Familiaridade com algum editor de texto que pode ser usando no console, por exemplo, o VI. Visite o site www.vim.org e baixe a versão para windows para praticar antes do curso. 2. Familiaridade com Unix. Utilização em outros cursos Use como quiser, respeitando a Licença! 3 Ficarei agradecido se me avisar do uso deste material em algum curso seu ou do qual tenha participado. Escreva-me um e-mail contando sua experiência e suas sugestões, assim como a data e o local em que o curso aconteceu. Isto não é uma obrigação, apenas uma gentileza. Novas Versões As atualizações podererão ser encontradas em: http://www.linorg.usp.br/ docs/curso-instalacao-linux/ ou em http://bonix.net . Correções Se você encontrou erros nesta apostila, por favor, me avise para que eu possa corrigí-los. Apenas tome o cuidado de verificar se o erro ainda existe no material que está disponível para “download". Ele pode ser mais recente do que o seu. Lista de Discussão Existe uma lista de discussão para os alunos do curso. Inscreva-se enviando um e-mail para [email protected]. A idéia é criar uma comunidade de usuários do GNU/Linux que participaram deste curso. Quando tiver uma dúvida você poderá procurar na lista. Lá você poderá encontrar mais pessoas que estão começando e dispostas a ajudá-lo. Orkut Também existe um grupo no Orkut (http://www.orkut.com) para tem conta neste sistema. A comunidade está em formação. O endereço é http://www.orkut.com/Community.aspx?cmm=3333105.

Licença Esta apostila é publicada sob a Licença de Documentação Livre GNU. Você pode obter uma cópia no seguinte site: http://www.gnu.org/licenses/fdl.html . 4

Agradecimentos Agradeço a paciência e compreensão de todos os meus alunos. A ajuda deles é muito importante na criação desta apostila. Edson Lima Monteiro

1 GNU Falar sobre o projeto GNU e Richard Stallman 5 6 GNU

2 Linux Falar sobre o Linux e Linus Benedictus Torvalds 7 8 Linux

3 O que é o GNU/Debian “O Debian é um sistema operacional (SO) livre para seu computador. Um sistema operacional é um conjunto de programas básicos e utilitários que fazem seu computador funcionar. O Debian usa o kernel1 Linux, mas grande parte das ferramentas do sistema operacional vêm do projeto GNU, daí o nome GNU/Linux.” O Debian GNU/Linux é mais que um simples SO: ele vem com mais de 15490 pacotes contendo softwares pré-compilados e distribuídos em um bom formato, que torna fácil a instalação deles na sua máquina.”2

3.1 Pronúncia A pronúncia oficial de Debian é débian. Surgiu a partir do nome do criador do Debian, Ian Murdock, e sua esposa, Debra. 3

3.2 Quando surgiu? O Projeto Debian foi oficialmente fundado por Ian Murdock em 16 de Agosto de 1993. Naquele tempo, o conceito de uma “distribuição” de Linux era novo. Ian pretendia que o Debian fosse uma distribuição criada abertamente, no mesmo espírito do Linux e

do GNU (leia seu manifesto fornecido como apêndice nesse documento para maiores detalhes). A criação do Debian teve o apoio do projeto GNU da FSF durante um ano (Novembro de 1994 a Novembro de 1995). 4 1Núcleo de um sistema operacional. 2Retirado do site http://www.br.debian.org . 3Retirado do site http://www.br.debian.org/doc/manuals/project-history/ch-intro.pt.html . 4Retirado do site http://www.br.debian.org/doc/manuals/project-history/ch-intro.pt.html . 9 10 Stable, Testing e Unstable

3.3 Codinomes Para saber sobre os nomes que cada uma das versões do Debian recebeu, leia esta referência: http://www.br.debian.org/doc/manuals/project-history/ch-releases.pt.html 3.4 Stable, Testing e Unstable O desenvolvimento da distribuição Debian segue um rígido controle de qualidade. A versão conhecida como estável (stable) é exaustivamente testada e corrigida. Quando o conjunto de pacotes atinge esta maturidade, eles são congelados (freeze) na versão em que estão, e uma nova versão estável é lançada. O intervalo de tempo entre o lançamento de duas versões estáves pode levar 1 ou até 2 anos. O compromisso é com a qualidade, ao contrário de outras distribuições que soltam “releases” incompletos, devido as pressões de mercado. Isto é motivo de alguma confusão para aqueles não habituados a utilizar o Debian. Quando uma nova versão de um pacote é lançada, digamos o Apache 2.0.55, ele não é incluído na versão estável, que disponibiliza o 2.0.54. Somente problemas graves, como um “bug” de segurança, é que permitem a alteração de um pacote da distribuição estável. Digamos que a versão estável do Debian esteja utilizando o Apache 1.3.26. Se um “bug” de segurança for encontrado neste pacote, o time de desenvolvimento do Apache vai lançar a versão corrigida com o número 1.3.27, por exemplo. O time de desenvolvimento do Debian também vai corrigir o pacote, mas o número versão dele será alterado para 1.3.26-1, por exemplo. Alguém não habituado com o Debian vai achar que está usando uma versão errada. Na estrutura de diretórios dos softwares a nova versão do Debian está nas “árvores”

teste e instável. O time de desenvolvimento coloca seus pacotes na árvore experimental. Em seguida os pacotes são migrados para a instável e, após algum tempo, eles são migrados para a árvore teste. Isto significa que ele já teve um tempo suficiente para testes e não apresentou problemas. É possível fazer a instalação de um sistema com a árvore teste, mas isso exige conhecimento para resolver problemas com pacotes “jovens”. A versão instável exige grande conhecimento e capacidade de resolver problemas de configuração e instalação. Custo versus Benefício 11

3.5 Main, Contrib e Non-Free Os pacotes podem ser classificados quanto ao tipo de Licença de Software que seguem. No site do Debian podemos encontrar a seguinte explicação: “Todos os pacotes incluídos a distribuição oficial do Debian são livres de acordo com a Definição Debian de Software Livre. Isso assegura uso livre e redistribuição de pacotes com seu código fonte completo. A distribuição oficial do Debian é a que está contida na seção main do repositório do Debian. Como um serviço para nossos usuários, provemos pacotes em seções separadas que não podem ser incluídas na distribuição main por causa de uma licença restritiva ou problemas legais. Eles incluem: Contrib Pacotes nessa área são livremente licenciados pelo detentor do copyright mas dependem de outros pacotes que não são livres. Non-Free Foram retirados a partir do Sarge. Note que os mesmos pacotes podem aparecer em muitas distribuições, mas com números de versão diferentes.”5

3.6 Custo versus Benefício Para evitarmos algums enganos ou incompreensões, precisamos falar acerca do elevado tempo entre novas versões do Debian. Quando uma versão estável é liberada, ela não é alterada a menos de algum bug. Quando isto ocorre, apenas o pacote problemático é corrigido e não atualizado para a versão mais recente. É muito importante que você tenha isso em mente quando for fazer uma instalação. Isso torna-se um incômodo pricipalmente quando se faz a instalação de uma estação de trabalho. Geralmente um usuário quer a versão mais recente de determinado programa, seja por melhorias no código, seja por novas características. Se você estiver

usando a versão estável, a única forma de conseguir isso é instalar a versão mais recente. Isso pode exigir desde a recompilação do próprio programa, até a recompilação dele e de seus pré-requisitos. Você não vai conseguir isso fazendo o “apt-get install”. Se a sua instalação for para um servidor, isso pode ser menos problemático. Na maior parte do tempo você estará suficientemente provido de bons pacotes. Um servidor também precisa de um administrador experiente e capaz de manter o sistema 5http://www.br.debian.org/distrib/packages 12 Custo versus Benefício funcionando. Teoricamente ele seria capaz de instalar um pacote que não está na distribuição Debian. Em alguns casos, o CD de instalação pode não conter um “drive” para uma versão nova de controladora SCSI. Isso vai exigir mais do administrador para que ele consiga fazer a instalação do sistema operacional. Eventualmente, ele poderá gerar um disket com os módulos necessários. Em casos como esse, as soluções começam a deixar de ser triviais. Com a intencão de utilizar versões mais novas de alguns pacotes, alguém pode ter a idéia de misturar a “árvore” estável com a teste ou pior, com a instável. Este procedimento pode gerar resultados imprevisíveis, e nem sempre você poderá encontrar ajuda por estar fazendo algo muito fora dos padrões. Você deve saber isso antes de instalar um servidor ou uma máquina “de mesa”. Se a versão estável pode ser “estável como uma rocha”, ela pode ser dão dura quanto se precisar de um programa novíssimo!

4 Identificar o Hardware Vamos descobrir se o sistema tem os pré-requisitos de hardware para a instalação. 4.1 Fontes de Informação As fontes de informações necesssárias para o conhecimento do hardware de que dispomos são: • Manuais de cada compontente do computador. • Na falta dos manuais, as caixas de embalagem dos compontes. • Informações fornecidas pela BIOS. • Outro sistema operacional que já esteja instalado no computador. • O administrador da sua rede local ou provedor de Internet.

A tabela 4.1 mostra as principais informações que devemos obter para cada compontente específico: 4.2 Meu hardware é compatível com o Linux? Agora que temos a descrição dos principais componentes instalados em nosso computador, precisamos saber se eles são compatíveis com o Linux. Além disso, é preciso saber se a versão do Linux que iremos instalar suporta este hardware. As versões que são desenvolvidas por grandes empresas como a Red Hat, Conectiva ou Suse, costumam ter os drives mais recentes. Outras versões, como a Debian, não contem estes drives em suas versões estáveis. 13 14 Meu hardware é compatível com o Linux? Informações para cada tipo de componente Componente Quantidades ou Ordem ou Tipo Descrição dos Itens Quantos discos existem A ordem em que estão instalados Disco Rígido Quais são as partições Capacidade (Gb) Modelo e fabricante Resoluções suportadas Taxa de atualização horizontal (opcional) Monitor Taxa de atualização vertical (opcional) Tamanho da Tela (Polegadas) Tipo: serial, ps2 ou usb Mouse Fabricante Número de Botões Modelo e Fabricante Taxa suportada (10 ou 100 Mb/s) Número IP 143.107. Placa de Rede Netmask 255.255.255. Gateway 143.107. Servidor DNS 143.107.253.3 Nome do computador (host) Domínio Placa de Vídeo Modelo e Fabricante Memória de vídeo disponível Placa de Som Modelo e Fabricante Modelo e Fabricante Memória Quantidade disponível Processador Modelo e Fabricante Frequência (Mhz) Tabela 4.1: Tabela com especificicação do hardware do computador. As fontes de informação sobre a compatibilidade do hardware com a versão do Linux, podem ser, entre outras, as seguintes:

• Linux Hardware Compatibility HOWTO (http://www.linorg.usp.br/LDP/HOWTO/Hardware-HOWTO/ ) • LinuxPrinting.org (http://www.linuxprinting.org/) • Site do Fabriante do Hardware • Grupos de Discussão da versão de Linux utilizada Não compre equipamento sem suporte para Linux 15 • Sites de Busca (http://www.google.com/) 4.3 Meu hardware não é compatível com o Linux! Neste caso, procure substituir o componente que não é compatível. Em geral, os componentes mais antigos ou que existem no mercado há alguns meses, funcionam facilmente e até podem ser reconhecidos automaticamente. Infelizmente, nem todos os fabricantes de hardware lançam drivers para o Linux! 4.4 Não compre equipamento sem suporte para Linux Se você tiver influência nas decisões de compra de sua unidade, alerte seus colaboradores. Na sua unidade de trabalho, explique os perigos da compra de hardware sem suporte para Linux. No futuro, se você for tentar utilizar aquele computador com o Linux, poderá ficar frustrado. Corre-se o risco de aprisionar-se duas vezes, uma quando comprar um software proprietário e, a outra, quando comprar hardware com suporte para apenas um sistema operacional proprietário. Imagine as seguintes possibilidades: • Não existem recursos para comprar um software proprietário e você decidiu que quer experimentar um similar, mas que só roda em Linux. • Um computador será substituído por outro mais novo, e você gostaria de utilizar o antigo com Linux. • O software mais adequado ou eficiente que você quer utilizar roda melhor no Linux (Apache por exemplo). Se você comprou a placa de rede novíssima no mercado, de um fabricante que não expecifica nenhuma versão de Linux em as plataformas suportadas, você está em uma armadilha. Só poderá utilizar os sistemas operacionais suportados, que provavelmente são os proprietários. “Em uma empresa pública essa questão é extremamente importante. O dinheiro público deve ser gasto da melhor forma possível! Se a melhor alternativa for um produto 16 Não compre equipamento sem suporte para Linux proprietário, tudo bem, que vença o melhor. Mas se a melhor alternativa for Livre, não fique aprisionado no hardware também1." . 1Nota do autor

5 Instalação A instalação pode ser dividida em duas parte. A primeira é aquela em que se faz o boot do computador com o CD de instalação. É nesta parte que o hardware do computador é detectado, o disco rígido é particionado e a rede é configurada. Na segunda parte serão criadas as contas de usuários, o horário do computador será configurado, os CDs de instalação serão “apresentados", será escolhido o tipo de instalação, o “video” será configurado e um servidor de e-mail local. 5.1 Instalação do sistema básico 1. Boot o computador e entre na BIOS para configurar o CDROM como o primeiro dispositivo a ser lido. Em caso de dificuldades chame o instrutor. 2. Ainda na BIOS, desative a opção Ctrl+Alt+Backspace como sequência de reboot do computador. 3. Tela inicial, digite : linux26 4. Choose language : Portuguese (Brazil) - Português do Brasil 5. Selecione um layout de teclado : Portugês Brasileiro (layout Americano) 6. O sistema de instalaçao tentará detectar o leitor de CDROM. Alguns componentes do programa instalador serão carregadas. 7. O instalador tentará detectar um servidor de DHCP para configurar a rede. 8. A configuração automática da rede vai falhar porque não encontrará um servidor DHCP. 9. Configurar a rede: 17 18 Instalação do sistema básico • Configurar a rede manualmente • Endereço IP • Máscara de rede • Gateway • Endereços dos servidores de nomes (DNS) • Nome da máquina • Nome do domínio 10. O instalador tentará detectar os HDs e todo o resto do hardware. 11. Particionar discos: • Editar manualmente a tabela de partições • IDE1 principal (hda) - escolha a partição indica pelo instrutor Usar como: sistema de arquivos com journaling ext3 Ponto de montagem: / Opções de montagem: defaults Rótulo: / Blocos reservados: 5%

Uso típico: padrão Flag Inicializável: desligado Tamanho: X GB • Finalizar a configuração da partição. • Escolha a partição “swap” (àrea de troca) existente. Ela deve ficar com a seguinte configuração: Usar como: àrea de troca Flag Inicializável: desligado Tamanho: Y MB • Finalizar a configuração da partição • Finalizar o particionamento e gravar as mudanças no disco • Gravar essas mudanças nos discos? Selecione: Sim . 12. O sistema básico do Debian será instalado. 13. Instalar o GRUB em um disco rígido: Sim . 14. Finalizar a instalação: • Escolha: Continuar. • O sistema vai rebootar Configuração do sistema básico 19

5.2 Configuração do sistema básico Após o reboot o sistema iniciará com um menu de fundo azul, é o grub. Deverão constar neste menu opções para iniciar pelo Linux e pelo Windows que já existia na máquina. 1. Bem-vindo ao seu novo sistema Debian? Pressione a tecla Enter. 2. Insira o primeiro CD de instalação no drive de CDROM. 3. Configuração de fuso horário: • O relógio de hardware está configurado para GMT : Não. • Selecione seu fuso horário: Leste 4. Configurando passwd: • Senha do root: xxxxx • Informe a senha novamente para verificação xxxx • Informe um nome completo para o novo usuário: Edson Lima Monteiro • Informe un nome de usuário para sua conta: killbill • Informe uma senha para o novo usuário: xxx • Informe a senha novamente para verificação: xxx 5. Configuração do apt1: • O instalador vai ler o primeiro CD. • Em seguida o instalador irá perguntar: Scanear outro CD? Retire o CD 1 e insira o CD 2 no drive de CDROM. Agora escolha SIM e pressione a tecla ENTER. • Repita o procedimento acima até chegar no último CD. Após scanear o último CD, escolha a opção NÃO. • O instalador fará um acesso ao servidor de atualizações para verificar se consegue alcançá-lo. • Método de acesso ao repositório para o apt. Escolha CDROM. • Arquivo de dispositivo do CD-ROM: /dev/cdrom • Adicionar outra fonte apt? Escolha NÃO.

• Utilizar atualizaçòes de segurança de security.debian.org ? Escolha NÃO. 20 Configuração do sistema básico 6. O instalador fará a instalação de dois pacotes chamados mdetect e read-edid. 7. Seleção de software Debian. Escolha a opção Ambiente Desktop e, com a tecla TAB, escolha OK e pressione a tecla Enter. Este paço vai isntalar 738 pacotes e precisa de 1566 Mb de espaço. 8. Dicitionares-common: Ispell dictionary. Escolha: portugues brasileiro (Brazilian Portuguese) 9. Configurando ssh: • Escolha: OK . • Permitir somente protocolo SSH versão 2: SIM • Deseja2que /usr/lib/ssh-keysign seja instalado SUID root: Não • Você deseja executar o servidor ssh ? Não. 10. Configurando libpango1.0-coomon: • OK • Deseja delgar o gerenciamento de fontes ao defoma: SIM . 11. Configurando cdrecord. Você deseja que os binários do cdrecord sejam instalados SUID root ? SIM. 12. Configurando cvs: • OK. • ignorar • OK • Não 13. Qual o tamanho de papel deverá ser o padrão do sistema3? Escolha: A4. 14. Configurando mozilla-browser: auto. 15. Configurando kpilot: Nenhuma. 16. Configurando xserver-xfree86 : 1Possível bug. No sistema em que estava simulando a instalação o procedimento de scanear os CDs teve que ser feito duas vezes. Em máquinas em que fiz uma instalação real eu nunca tive este problema. 2Bug de tradução: a palavra que aparece duas vezes. 3Outro bug de tradução. O correto seria "ser". Configuração do sistema básico 21 • Tentar autodetectar o hardware de vídeo: SIM. • OK • OK • Não digite nada, apenas use a opção OK. • Tentar autodetectar o dispositivo de mouse? SIM • OK • OK • Tentar autodetectar o monitor? SIM • Seu monitor é um dispositivo LCD? Não • OK • simples • Até 14 polegadas (355 mm) 15 polegadas (380 mm)

• Selecione as últimas 3 resoluções se o seu monitor for de 15”. • OK • 24 17. Configurando o Exim v4 (exim-config) : • Dividir a configuração em pequenos arquivos ? Não • Tipo geral de configuração de e-mail: somente entrega local ; fora de uma rede • Nome do sistema de entrega: debian.usp.br • Ok • 127.0.0.1 • debian.usp.br • Destinatário das mensagens para root e postmaster: killbill 18. FIM: OK. Caso sejam exibidas algumas telas com mensagens de erros, logo após entrar no Gnome pela primeira vez, instale os seguintes pacotes: xxkb e xkbsel 22 Configuração do sistema básico

6 Como instalar pacotes 6.1 Apt-get O principal instalador de pacotes que vamos utilizar é o apt-get. Será com ele que, na maior parte das vezes, iremos instalar ou remover um pacote. É frequente falarmos em pacotes ao invés de programas quando o assunto é instalação. Isso vem da idéia de “empacotamento” de programas, que é a forma como cada distribuição organiza os programas que a constituem. No Debian, cada pacote termina com a extensão “.deb”, nas distribuições derivadas do RedHat a extensão é “.rpm”. Alguns pontos sobre como usar o “apt-get” devem ser ressaltados: 1. Apenas o usuário root pode instalar ou remover pacotes. 2. Só uma instância do “apt-get” pode ser executada. A segunta tentativa de iniciar, simultaneamente, a instalação de um pacote, vai gerar uma mensagem de erro. Para instalar um pacote o “apt-get” segue a seguinte ordem: Baixa Ele acessa o mirror que você configurou e faz o “download” do pacote para o seu computador. O diretório /var/cache/apt/archives recebe os pacotes baixados. Abre o arquivo O pacote é “aberto” para iniciar a instalação. Configura Dependendo do pacote, antes de instalar, é necessário perguntar sobre algum tipo de preferência ao usuário. Instala Todos os componentes do pacote são copiados para os diretórios devidos. As principais acões que executaremos com este comando são:

23 24 Apt-get apt-get update Existe uma lista que contém uma descrição de todos os pacotes disponíveis para o Debian. O “apt-get” não é um advinho! Ele consulta esta lista para saber o que pode instalar. Este comando faz uma comparação entre a lista que você tem armazenada e a lista que está no servidor de pacotes. Se a sua lista for mais velha, ele faz o “download” da mais recente. A atualização de um único pacote provoca o lançamento de um nova lista. apt-get upgrade No caso de existir uma nova lista de pacotes, você deve verificar se, para algum programa que está instalado em seu sistema, existe uma versão mais recente. Ao executar o “apt-get upgrad”, se nenhum pacote for instalado, significa que o pacote que gerou a emissão da nova lista não está instalado em seu sistema. Caso contrário, a nova versão deste programa será instalada. Não é preciso dizer qual pacote você quer atualizar, independente de ser um ou dez, ele fará tudo sozinho. apt-get clean Após a instalação de um pacote, não precisamos mais manter o arquivo “.deb” em nosso sistema. O processo de instalação não remove os pacotes baixados! Se você não removê-los começará a acumulá-los no disco rígido. Com o passar do tempo isso pode causar um problema de falta de espaço. apt-get install NOME Executamos este comando para instalar um pacote chamado “NOME”. Se queremos instalar mais programas, basta escrever todos os nomes, separados por pelo menos um espaço. Se um pacote precisa de outros para ser instalado, isto é, se ele tem pré-requisitos, eles também serão selecionados para instalar. Quando você pede para instalar um pacote que não tem dependências, o “download” começa imediatamente. Caso existam dependências, elas são mostradas para você e o programa espera a sua confirmação (Y/n) para continuar. Existem vários motivos para ele esperar por uma confirmação: a lista de dependências pode ser muito grande e você não quer instalar todos os pacotes, você não tem espaço em disco suficiente para instalar o programa e/ou suas dependências, o pacote é incompatível com outro já instalado e ele exige que este seja removido. apt-get remove NOME Para remover um ou mais pacotes executamos este comando. Estaremos desfazendo a instalação, não removendo o pacote com a extensão “.deb” do disco rígido. Em alguns casos os arquivos de configuração do pacote são mantidos. Isso pode ser bom ou mal. Se você removeu um pacote por acidente, todo o seu trabalho de configuração dele ainda estará preservado. Preste atenção às mensagens mostradas durante a remoção de um pacote para saber o que está acontecendo.

apt-get –purge remove NOME Para remover um pacote e seus arquivos de configuração Encontrar pacotes que contém determinado arquivo 25 apt-get install –reinstall NOME Em algumas situações precisaremos reinstalar um pacotes já existente. Este é o comando que permite que isso aconteça. Tome o cuidade de fazer uma cópia dos seus arquivos de configuração para não ter surpresas. Esse comando será usado poucas vezes durante o curso. Se você seguir todos os passos nem precisará dele. Você deve estar se perguntando como fazer para saber o que instalar, ou qual o nome de um determinado programa no Debian. Para responder a essas dúvias vamos aprentá-los a três programas criados para resolver este problema. apt-cache search NOME Para procurar por um pacote chamado NOME executamos este comando. Ele faz uma pesquisa na lista de pacotes disponíveis para instalar. A saída apresenta todos os pacotes que apresentam a palavra que você forneceu como argumento. Existem formas mais complexas de busca que podem ser mais claras ou mais específicas, geralmente a utilzação do comando “grep” para filtrar a saída já é o suficiente. apt-cache show NOME Uma vez descoberto o nome correto do pacote no Debian, você pode querer uma descrição dele. gnome-apt Interface gráfica para o apt. Pode ser mais amigável para aqueles que não gostam do console como ambiente de trabalho. synaptic Outra interface gráfica. Ele também é utilizado em outras distribuições, a Conectiva é uma delas. 6.2 Encontrar pacotes que contém determinado arquivo Em algumas situações, tais como a compilação de um programa através do código fonte, faz-se necessário descobrir qual pacote possui determinado arquivo. Imagine a situação em que, durante a etapa de “configure” do programa que você for compilar, receba uma mensagens de erro apontando a falta do arquivo glibconfig.h. Como fazer para encontrar em qual, das centenas de pacotes, está aquele que contém o arquivo glibconfig.h? No “link” http://www.debian.org/distrib/packages, ao final da página, você encontrará dois formulários. O primeiro serve para procurarmos usando o nome, ou parte do nome, de um pacote. Você encontrará nomes de pacotes que contém o texto

que você forneceu ao formulário. Este tipo de pesquisa tem uma saída semelhante ao “apt-cache search NOME”. 26 Reconfigurar a lista de pacotes O segundo formulário procura por arquivos dentro de pacotes. Por exemplo, se eu quiser descobrir qual pacote possui o arquivo glibconfig.h na distribuição Sarge ou testing o preenchimento do formulário ficaria assim: Palavra chave glibconfig.h Mostrar pacotes que contém arquivos ou diretórios cujos nomes contém a palavra chave Sensível à casa não Distribuição sarge Arquitetura Intel x86 O resultado desta pesquisa retornaria: You have searched for glibconf in testing, architecture i386. Found 2 matching files/directories, displaying files/directories 1 to 2. FILE PACKAGE usr/lib/glib-2.0/include/glibconfig.h libdevel/libglib2.0-dev usr/lib/glib/include/glibconfig.h libdevel/libglib1.2-dev Agora você descobriu que existem dois pacotes com o arquivo glibconfig.h: libglib2.0- dev e libglib1.2-dev. Poderá instalar um deles e reiniciar a compilação. Se você instalar a versão 1.2, pode ser que a mensagem de erro ao invés de reclamar a falta do arquivo glibconfig.h, reclame da versão. Neste caso, bastaria instalar o pacote com da versão 2.0, isto é, o pacote libglib2.0-dev. 6.3 Reconfigurar a lista de pacotes Os pacotes que instalaremos em nosso sistema estão disponíveis em servidores ao redor do mundo. Estes servidores contém todos os pacotes disponíveis para o Debian. Eles são criados com uma técnica de espelhamento e, graças a isto, podemos baixar os pacotes do servidor mais próximo de nós, diminuindo o tempo de instalação. A qualquer momento podemos reconfigurar a lista de servidores que utilizaremos através de uma das duas possibilidades abaixo: 1. Editar o arquivo de configuração /etc/apt/sources.list 2. Executar o comando apt-setup. Reconfigurar a lista de pacotes 27 Com o passar do tempo você poderá achar que a edição do arquivo é mais rápida ou mais confortável, principalmente se você estiver usando o editor VI1. Neste curso nós iremos editar o arquivo para que ele fique igual ao mostrado na tabela abaixo: deb http://www.linorg.usp.br/debian sarge main contrib

deb http://www.linorg.usp.br/debian-security sarge/updates main contrib deb http://security.debian.org sarge/updates main contrib deb http://ftp2.de.debian.org/debian-volatile stable/volatile main Tabela 6.1: Apontando o apt-get para o Linorg. Na eventual falta do Linorg, outros servidores também podem ser utilizados: ftp.debian.org ftp.br.debian.org linux.iq.usp.br sft.if.usp.br ftp.de.debian.org Tabela 6.2: Servidores alternativos do apt-get. Para usarmos o primeiro servidor acima, no lugar do Linorg, o arquivo de configuração ficaria assim: deb ftp://ftp.br.debian.org/debian sarge main contrib deb http://security.debian.org/debian-security sarge/updates main contrib Tabela 6.3: Apontando o apt-get para o servidor principal do Brasil. Note que para os endereços de sites de FTP o início da linha é deb ftp:// e para os sites de HTTP o início é deb http://. Uma lista completa de servidores do projeto Debian pode ser encontrada no endereço http://www.debian.org/mirrors/list . A ordem das linhas faz diferença, o primeiro servidor a ser consultado é o da primeira linha e assim por diante. Assim, devemos colocar o que está mais próximo no início do arquivo. Também não pode haver espaço entre o início da linha e a palavra deb. 1Brincadeirinha! Você pode preferir o VIM. 28 Dpkg Cada linha representa uma lista que deverá ser copiada para o seu sistema. Se você encontrar alguma linha que comece com “deb-src”, poderá comentá-la, isto é, acrescentar o sinal “#” no início da linha. Este tipo de linha serve para baixar o código fonte de um programa. Lembre-se que os pacotes com extensão “.deb” já foram compilados para uma arquitetura específica, por isso, é só pegar e instalar. Quando você quer compilar um programa, precisa do seu código fonte. deb-src http://www.linorg.usp.br/debian sarge main Tabela 6.4: Exemplo de como baixar o código fonte. 6.4 Após reconfigurar a lista de pacotes Todas as vezes que você alterar o arquivo /etc/apt/sources.list deverá atualizar a(s) lista(s) existentes no seu sistema, fazendo:

# apt-get update Se não fizer isso e, tentar instalar um novo pacote, receberá uma mensagem de erro. 6.5 Dpkg É importante lembrar do comando dpkg. Ele também instala, remove e reconfigura pacotes. É menos usados para a instalação porque não traz as dependências. Se um pacote X tem os pacotes Y e Z como suas dependências, você teria que baixá-los em sua máquina e instalá-los antes do pacote X. Imagine o problema que você pode enfrentar se os pacotes Y e Z tem dependências. E se as dependências destes também tem suas próprias dependências? Já percebeu onde isso leva, não é? O RedHat e o Conectiva possuem o comando equivalente chamado rpm. A Conectiva portou o apt-get para a sua distribuição e o funcionamento é o mesmo do apt-get do Debian. O dpkg será importante quando quisermos reconfigurar o nosso servidor gráfico fazendo: Onde está a tal lista de pacotes para instalação? 29 dpkg-reconfigure xserver-xfree86 Podemos usar o dpkg para saber quais os pacotes temos instalados no sistema: dpkg -l Outro uso muito importante do “dpkg” é quando a instalação pára por algum problema de configuração. Este problema pode ter sido causado porque algum pacote em seu sitema está em um estado incorreto. Guarde-o bem em sua memória, ele poderá lhe ajudar muito. dpkg –configure -a Em outras palavras, você está pedindo para o “dpkg” verificar e corrigir a configuração de todos os pacotes. Se ele não conseguir “arrumar a casa” pode ajudar a identificar qual o pacote problemático. 6.6 Onde está a tal lista de pacotes para instalação? A esta altura você já sabe que devemos manter a lista de pacotes disponíveis para instalação atualizada. Sempre que um bug de segurança é descoberto, esta lista é atualizada. Somente após a atualização da lista seremos capazes de descobrir se é preciso atualizar um pacote já instalado usando o comando apt-get upgrade. Experimente ler a lista com o seguinte comando: less /var/lib/dpkg/available.

30 Onde está a tal lista de pacotes para instalação?

7 Ajustes inicias Neste ponto já temos o computador com uma instalação para “Desktop", isto é, com a maior parte dos programas que são usados pelos usuários. É uma instalação voltada para as tarefas do dia-a-dia como editar arquivos, navegar na internet, gravar CDs, ouvir musicas, editar imagens. O que vamos fazer agora são alguns ajustes à configuração padrão realizado pelo pelo programa de instalação. Ajustes após a instalação devem ser encarados como uma coisa normal e necessária. Os programas de instalação tentam ser flexíveis o suficiente para adaptarem-se ao maior número de usuários possíveis. Seria muito difícil habilitar em um programa de instalação muitos perfis diferentes entre si. Um usuário de “Desktop” tem um perfil diferente de outro que é administrador de sistemas, que é diferente do “designer gráfico”. Os procedimentos que estudaremos são: • Parar serviços “desnecessários” ou fechar portas. • Habilitar um firewall. • Referência de horário. • Agendar a sincronização do relógio. • Horário de verão. • Agendar a atualização do sistema operacional. • Veririficar a integridade do sistema. • Compilar o Kernel mais recente (próximo capítulo). 31 32 Parar serviços e fechar portas Ajustes devem ser realizados em qualquer máquina recém instalada. Encare isso como uma medida de segurança preventiva, vai beneficiar você e todos os outros usuários da sua rede. Em palestras sobre segurança de computadores é comum ouvir a frase: “Uma corrente é tão forte quanto o seu elo mais fraco”. Não importa que a sua rede tenha 100 computadores seguindo todas as normas da política de segurança1se 1 deles não está. Este único computador vai ser a porta de entrada para um invasor. Programas importantes deste capítulo: rcconf, nmap, netstat, lsof, chkrootkit Arquivos importantes deste capítulo:

/etc/services , /etc/inetd.conf 7.1 Parar serviços e fechar portas Alguns serviços são instalados por padrão nas instalações do GNU/Linux e, algumas vezes, não precisamos deles. Se estamos instalando um estação de trabalho certamente não precisamos de um servidor de e-mail, ou um servidor WEB rodando. Por isso é muito importante prestar atenção ao que instalarmos e, de tempos em tempos, verificar se nada está sendo executado sem que queiramos. Para checar se temos alguma porta aberta vamos instalar o pacote nmap: # apt-get install nmap Esta ferramenta pode ser uma faca de dois gumes se não tomarmos cuidados ao usá-la. Não devemos usar como teste uma máquina que não seja nossa ou que não tenhamos autorização para fazê-lo. Alguns sistemas de segurança podem interpretar um simples teste como um ataque hacker. Em caso de dúvida, consulte o administrador de sua rede. Vamos fazer um scan em nossa própria máquina: $ su - $ apt-get install nmap 1Quando ela existe. Parar serviços e fechar portas 33 $ nmap localhost Starting nmap 3.81 ( www.insecure.org/nmap/ ) at 2005-10-15 19:17 BRT Interesting ports on localhost.localdomain (127.0.0.1): (The 1657 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 110/tcp open rpcbind 113/tcp open auth 617/tcp open sco-dtmgr 627/tcp open unknow Nmap finished: 1 IP address (1 host up) scanned in 0.588 seconds A primeira pista para fecharmos as portas acima é procurar no arquivo /etc/inetd.conf. No arquivo da máquina usada para o exemplo acima, podemos encontrar uma linha que não está “comentada”, isto é, não começa com #: ident stream tcp ident /usr/sbin/identd identd Este e outros serviços listados pelo nmap são conhecidos como daemons e rodam constantemente, a partir da inicialização, em nosso computador. Os daemons são muito úteis em casos em que não podemos prever quando um serviço será solicitado. Podemos citar como exemplos os servidores de SMTP ou POP onde, a qualquer instante, alguém poderá usar para enviar um e-mail. Tais sistemas seriam impossíveis de

existir se tivéssemos que rodar o programa de smtp toda vez que quisessémos enviar uma mensagem. Os daemons que encontramos até o momento não são necessários em uma máquina de “desktop”. Para desabilitar o ident deveremos inserir o símbolo # no início da linha do arquivo /etc/inetd.conf . # ident stream tcp ident /usr/sbin/identd identd

O arquivo /etc/inetd.conf é utilizado pelo programa inetd. Agora precisarmos fazer com que o programa releia suas configurações. Teremos que descobrir o número do processo associado ao programa inetd e enviar o sinal HUP, forçando-o a reler suas configurações. # ps -ef | grep inetd UID PID PPID C STIME TTY TIME CMD root 224 1 0 Jul24 ? 00:00:00 /usr/sbin/inetd root 599 394 0 00:23 pts/3 00:00:00 grep inetd 34 Parar serviços e fechar portas Podemos ver que o programa inetd tem o número de processo (PID) 224. Para forçá-lo a reler suas configurações vamos usar o comando kill2: # kill -HUP 224 Agora vamos instalar o programa rcconf: # apt-get install rcconf

Ele vai nos ajudar a identificar quais são os programas que estão habilitados a iniciar com o “boot´´ do computador, em geral eles são “daemons”. Vamos procurar pelos programas com os mesmos nomes mostrados na saída do comando nmap, isto é, vamos procurar por ssh, smtp, rpcbind, auth, sco-dtmgr e unknow. Se encontrarmos algum deles deveremos usar as setas (para cima/para baixo) do teclado para selecioná-los e, para desabilitá-los, pressionar a barra de espaço. No final, pressionamos a tecla TAB para selecionarmos OK e finalizarmos a operação. Você notará que não aparece nenhum programa chamado smtp, isto porque este nome está associado à porta aberta. O programa que abre esta porta é o exim4, o servidor de e-mails que foi instalado automaticamente. Outros programas que você poderá desabilitar são o lpd, “deamon” de impressora, o nfs-common e o fam. Ainda resta um serviço que está atendendo na porta 111, faça um “scan´´ em sua máquina e verifique. Para desabilitarmos este serviço precisamos encontrar mais informações sobre ele. Nada foi encontrado sobre ele ao usarmos o comando rcconf e ele não aparece no arquivo /etc/inetd.conf. O programa que usaremos chama-se lsof. Para descobrirmos qual programa está “ouvindo” a porta 111 devemos executá-lo assim: # lsof -i:111 Vamos obter uma saída como esta:

COMMAND PID USER FD TYPE DEVICE SIZE NOE NAME portmap 1524 daemon 3u IPv4 3200 UDP *:sunrpc portmap 1524 daemon 4u IPv4 3201 TCP *:sunrpc (LISTEN) 2Muito cuidado ao usar este comando, como o próprio nome indica, ele também pode matar processos. Em uma máquina de “desktop” matar um processo por engando pode ser apenas em inconveniente. Se algum dia estiver trabalhando em um servidor isso poderá lhe custar a insatisfação de muitos usuários. Habilitar um firewall 35 A informação importante neste caso é o nome do programa: portmap. Agora vamos conhecer o diretório “habitado” pelos programas que iniciam quando o computador é ligado: /etc/init.d. Vamos até este diretório e saber algumas informações sobre os programas que estão lá: # cd /etc/init.d # ls -l Note que o programa portmat está lá e é um “executável”: # ls -l | grep portmap -rwxr-xr-x root root 1076 2005-03-20 03:04 portmap Para desabilitá-lo vamos ter que parar a sua execução e retirar a permissão de execução: # ./portmap stop # chmod 444 portmap Se fizermos um novo “scan” em nossa máquina vamos notar que ainda existe uma porta aberta e com o nome de unknow. Se você utilizar o lsof conseguirá descobrir o nome do programa. Vamos fazer um “reboot” e comprovar que, a partir de agora, os serviços que desabilitamos não vão mais iniciar. Com o comando nmap podemos constatar que não existem mais portas abertas. 7.2 Habilitar um firewall A configuração do firewall só é possível quando habilitamos no kernel a filtragem de pacotes de rede. Veremos isso no capítulo de compilação do kernel. Um firewall mínimo poderia ser este: #!/bin/sh echo "Habilitando o FIREWALL .......... :) " IP="/sbin/iptables" 36 Referência de horário # coloque o seu ip no lugar de x.x.x.x LH="x.x.x.x/32" # limpar regras atuais antes de colocar as novas $IP -F $IP -Z $IP -P FORWARD DROP # impede a conexão em qualquer porta aberta $IP -A INPUT -p tcp -s 0/0 -d $LH -m state --state NEW,INVALID -j DROP

$IP -A INPUT -p udp -s 0/0 -d $LH -m state --state NEW,INVALID -j DROP # ninguem consegue pingar a sua maquina $IP -A INPUT -p icmp -m icmp --icmp-type ping -j DROP Com o sitema operacional instalado e um kernel preparado, vamos utilizar o script de firewall que havíamos criado anteriormente, fazendo o seguinte: $ su - # cp firewall.sh /etc/init.d/ # chown root.root /etc/init.d/firewall.sh # chmod 750 /etc/init.d/firewall.sh # /etc/init.d/firewall.sh # nmap localhost Vamos instruir o sistema a rodar esse shell script toda vez que for ligado. Para isso utilizaremos o comando rcconf. Este script é realmente mínimo e, neste momento, ainda não temos portas abertas para proteger. Vamos utilizá-lo durante o curso quando precisarmos permitir que um endereço IP determinado tenha a capacidade de conectar-se em nossa máquina. 7.3 Referência de horário O acerto do relógio é feito por comparação com um relógio confiável, uma referência. Através do comando ntpdate faremos isso em uma linha de comando. Agendar a sincronização do relógio 37 $ date $ su - # apt-get install ntpdate Escolheremos como fornecedor de horário confiável o seguinte servidor: ntp.usp.br # ntpdate -s ntp.usp.br # date Quando instalamos o ntpdate, o nome do servidor que escolhemos é armazenado no arquivo /etc/default/ntp-servers. Também é criado um script, o /etc/init.d/ntpdate. Este script é executado toda vez que o sistema entra em operação. Para servidores que ficam muito tempo no ar, o horário pode ficar errado, nestes casos utilizamos o cron para corrigir a hora por nós. É exatamente isso que veremos a seguir. 7.4 Agendar a sincronização do relógio Sempre que quisermos que algumas tarefas sejam executadas automaticamente e com horário marcado, teremos que instruir o sistema a executá-las. Isso é possível através do programa cron. Antes de configuramos o cron precisamos definir qual será o nosso editor de textos padrão. Ao executarmos o comando crontab pela primeira vez, ele abre um editor de

textos disponível no sistema. O que faremos agora é definir que nosso editor padrão será o vim. Vamos editar o arquivo .bashrc que está localizado no diretório “home” do usuário. $ cd $ ls -a $ vi .bashrc Inclua a seguinte linha neste arquivo: export EDITOR=vim $ source .bashrc Agora faça o mesmo como usuário root. 38 Agendar a sincronização do relógio $ su - # ls -a # vi .bashrc Inclua a seguinte linha neste arquivo: export EDITOR=vim # source .bashrc O arquivo de configuração do programa cron tem uma sintaxe que deve ser aprendida. A sequência dos parâmetros deste arquivo é: minutos, hora, dia, mês, dia da semana e o comando a ser executado. Com relação ao comando, é recomendável colocar o caminho completo do comando. Para sabermos o “caminho completo do comando”, podemos usar o programa where is seguido do comando que queremos encontrar. Para o comando ls, temos: $ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz No caso acima, recebemos o caminho completo para o comando ls e para a página que contém o manual deste comando. O que chamamos de caminho completo do ls é /bin/ls. Crie o seguinte arquivo após digitar o comando crontab -e: # manter o relogio certo 0 * * * * /usr/sbin/ntpdate -s ntp.usp.br A sintaxe desta linha é, na ordem em que aparecem as instruções, a seguinte: minuto hora dia mês dia da semana comando 0 * * * * /usr/sbin/ntpdate -s ntp.usp.br Para executar o mesmo comando com um intervaldo de 4 horas entre cada execução, poderíamos fazer: minuto hora dia mês dia da semana comando 0 */4 * * * /usr/sbin/ntpdate -s ntp.usp.br Agendar a atualização do sistema operacional 39

7.5 Horário de Verão Quando chega a época do horário de verão um erro muito comum é achar que o servidor de NTP está atrasado.

No nosso caso, o servidor ntp.usp.br, só dá uma referência para a sincronização de horário, a conversão desta referência para o horário local é um trabalho da própria máquina. Por isso, tanto faz você utilizar o ntp.usp.br ou outro servidor ao redor do mundo. A referência sempre vai ser a mesma. Para acertar o relógio no horário de verão, instale o programa “zic”: apt-get install zic A cada ano, o início e o término do horário de verão mudam. Basta criar um arquivo texto semelhante a este: Rule Brazil 2005 only - Oct 16 00:00 1 D Rule Brazil 2006 only - Feb 19 00:00 0 S Zone Brazil/East -3:00 Brazil BR%sT Em seguida, supondo que o nome do arquivo acima é horario-de-verao.txt execute o seguinte comando: zic horario-de-verao.txt Em seguida, verifique se o link abaixo está assim: /etc/localtime -> /usr/share/zoneinfo/Brazil/East O novo horário deve ser corrigido sem a necessidade de um reboot. 7.6 Agendar a atualização do sistema operacional Vamos tornar nosso sistema capaz de fazer suas próprias atualizaçães automaticamente. Os pacotes que instalamos em nossa máquina podem ser atualizados por seus autores, ou devido a algum bug de segurança. Este script vai ajudar o seu trabalho de manter o sistema atualizado automaticamente. Apesar disso, você deve verificar o sistema sempre que possível executando 40 Agendar a atualização do sistema operacional os comandos: apt-get update e apt-get upgrade. Em alguns casos, a opção -y não satisfaz a todas as perguntas quando da atualização de alguns pacotes. Quando isso ocorre, o administrador deve executar o comando dpkg – configure -a . Com o procedimento abaixo, tornaremos nosso sistema mais seguro. Crie o shell script linux-update.sh . #!/bin/bash PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin export PATH # atualizar a lista de pacotes disponíveis apt-get update # fazer o upgrade dos pacotes apt-get -y upgrade # apagar os pacotes que foram baixados no # diretorio /var/cache/apt/archives/ apt-get clean Vamos colocar nosso shell script em um dos diretórios de executáveis, o diretório /usr/local/sbin. # chown root.root linux-update.sh

# chmod 750 linux-update.sh # chmod 750 linux-update.sh # mv linux-update.sh /usr/local/sbin Agora vamos configurar o cron a executar o nosso shell script linux-update.sh de hora em hora, sempre no minuto zero de cada hora ( 0:00h, 1:00h, 2:00h, ..., 22:00h, 23:00h). Para iniciar a edição do arquivo de configuração do cron execute: crontab -e O trecho abaixo deve ser acrescentado às linhas já criadas do cron. #manter o sistema atualizado 0 * * * * /usr/local/sbin/linux-update.sh 2&> 1> /dev/null Verificar a integridade do sistema 41

7.7 Verificar a integridade do sistema Vamos executar, pela primeira vez, uma verificação da integridade do sistema instalado. Neste momento é possível garantir que nosso computador não foi vítima de qualquer “craker”. No entanto, este procedimento deve fazer parte do seu dia-a-dia. Você é responsável pela segurança da sua máquina! Basta executá-lo como usuário root: # chkrootkit Fique atento para as mensagens que vão aparecer na sua tela. Em um computador não invadido você deve esperar pelas seguintes palavras: not found , not infected , nothing found e nothing deleted . 42 Verificar a integridade do sistema

8 Amaciando o motor 8.1 Plugins do Firefox Tratar da instalação de pluings do mozilla-firefox: java e flash. 8.2 Editor padrão: JED Configurar o editor padrão para JED. 8.3 Administrar usuários kuser 8.4 Permitir gravar CDs, DVDs e diskets Você pode utilizar o kuser para incluir um novo usuário nos seguintes grupos: lp, dialout, cdrom, floppy, audio, video, plugdev. Para gravar CDs ou DVDs instale o programa k3b. 8.5 Temas e ícones para o GNOME Para usar o tema chamado Experience adicione a linha abaixo no arquivo /etc/apt/sources.list : deb http://benjamin.sipsolutions.net/debian/ stable/

43 44 Tocar DVIX com o MPLAYER

8.6 Temas para o XMMS http://www.gnome-look.org 8.7 Configurando impressoras com o CUPS Instale os seguintes pacotes: cupsys hp-ppd hpijs hpoj ifhp cupsomatic-ppd foomaticfilters- ppds foomatic-db-hpijs foomatic-filters foomatic-db foomatic-db-gimp-print foomaticbin libgimpprint1 Em seguida, abra o navegador (firefox) e acesse o endereço http://localhost:631 . Será necessário entrar com o login root e a respectiva senha. 8.8 Tocar DVIX com o MPLAYER deb ftp://ftp.nerim.net/debian-marillat/ sarge main apt-get -y install mplayer-586 w32codecs

9 Compilando o Kernel O kernel é a parte do sistema operacional que sequer vemos ao utilizarmos o computador. Ele nada mais é do que um programa que aloca/disponibiliza o hardware da máquina para a utilização por outros programas. É um programa que possibilita que todo o resto funcione em harmonia utilizando o mesmo hardware. 9.1 Preparando o sistema Antes iniciarmos a compilação, vamos garantir que temos todos os pacotes necessários para o mesmo. Em outras distribuições, esses pacotes são classificados em “pacotes de desenvolvimento” ou Kernel. Faça o “login” no ambiente gráfico com o seu usuário normal, abra um terminal gráfico (xterm) e mude para o root (su -) e siga os passos abaixo. Eles só serão feitos a primeira vez em que você for compilar o kernel! • apt-get install gcc bin86 make automake1.4 autoconf wget • apt-get install tk8.4 cpio bc libc6-dev bzip2 libncurses5-dev Quando fazemos uma instalação “Desktop” a maior parte dos programas acima já está instalada. Em todo o caso, fica o registro do que você vai precisar se estiver em uma instalação mais enxuta. 9.2 Qual hardware será habilitado? Compilar um kernel exige familiaridade com todas as seções disponíveis. Durante o curso será apresentada uma parte do que é necessário para as máquinas do laboratório. 45

46 Qual hardware será habilitado? É nesta parte em que você gasta mais tempo para aprender a compiliar. Você tem que conhecer um pouco do hardware da máquina e saber identificar a opção correspondente no kernel. Você vai precisar praticar isso bastante para adquirir experiência. Sempre que sair uma nova versão do kernel atualize o seu sistema. É uma boa forma de praticar. • Processador (AMD ou Intel). • Placa de rede. • Placa de som. • Sistema de arquivos EXT3. • Sistema de arquivos VFAT e NTFS (enxergar o windows). • Firewall (iptables). • Interface USB (baixar fotos de câmeras digitais). • Habilitar o desligamento do computador quando fizermos um “shutdown”. • Gravar CDs. • Suporte ao idioma Português. • Otimização do disco rígido (hdparm). Para o kernel 2.6, segue um guia para saber onde procurar cada um dos itens acima: Processador Tela inicial -> Processor type and features -> Escolha o seu processador Prossessor family (Athlon/Duron/K7) Desative o SMP Symmetric multi-processing support Configure o modelo de Preempção Preemption Model (Voluntary Kernel Preemption (Desktop)) Desligar Tela inicial -> Power management options (ACPI, APM) -> primeira linha. Firewall Tela inicial -> Neworking -> Networking options -> Network packet filtering (replaces ipchains) -> Habilite Network packet filtering (replaces ipchains) -> IP: Netfilter Configuration -> Habilite tudo o que encontrar nesta tela. Placa de rede Tela inicial -> Device Drivers -> Network device support -> Ethernet (10 or 100Mbit) -> Habilite a sua placa de rede. Placa de som Tela inicial -> Device Drivers -> Sound -> Habilite Sound card support -> Advanced Linux Sound Architecture -> PCI devices -> Habilite sua placa de rede. Qual hardware será habilitado? 47 USB Tela inicial -> Device Drivers -> USB support -> Habilite: • Support for Host-side USB • USB device filesystem • USB suspend/resume (EXPERIMENTAL) • EHCI HCD (USB 2.0) support • Full speed ISO transactions (EXPERIMENTAL) • Root Hub Transaction Translators (EXPERIMENTAL) • OHCI HCD support • UHCI HCD (most Intel and VIA) support

• USB Mass Storage support • USB Mass Storage verbose debug • Datafab Compact Flash Reader support (EXPERIMENTAL) • USB Human Interface Device (full HID) support • HID input layer support • Force feedback support (EXPERIMENTAL) • PID Devices (Microsoft Sidewinder Force Feedback 2) • Logitech WingMan *3D support • ThrustMaster FireStorm Dual Power 2 support (EXPERIMENTAL) • /dev/hiddev raw HID device support EXT3 Tela inicial -> File systems -> Habilite: • Ext3 journalling file system suppor • Ext3 extended attributes • Ext3 POSIX Access Control Lists NTFS e VFAT Tela inicial -> File systems -> DOS/FAT/NT Filesystems -> Habilite: • MSDOS fs support • VFAT (Windows-95) fs support • (437) Default codepage for FAT • (iso8859-1) Default iocharset for FAT • NTFS file system support • NTFS debugging support • NTFS write support 48 Compilando Gravar CDs Tela inicial -> File systems -> CD-ROM/DVD Filesystems -> Habilite: • ISO 9660 CDROM file system suppor • Microsoft Joliet CDROM • Transparent decompression • UDF file system support Gravar CDs Tela inicial -> Device Drivers -> SCSI device support -> Habilite: • legacy /proc/scsi/ support • SCSI generic support Idioma Português e mais Tela inicial -> File systems -> Native Language Support -> Habilite: • Codepage 437 (United States, Canada) • NLS ISO 8859-1 (Latin 1; Western European Languages) • NLS UTF8 Otimizar HD com hdparm Tela inicial -> Device Drivers -> ATA/ATAPI/MFM/RLL support -> Habilite o chipset da sua placa-mãe. 9.3 Compilando Esta parte será feita todas as vezes que desejar compilar um novo kernel da série 2.6.x. É apenas uma sequência de comandos, é um procedimento mecânico. Toda vez que sair um kernel novo você deverá fazer o “download” dele e descompatar o arquivo, assim1:

1. cd /usr/src 2. wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.4.tar.bz2 3. bunzip2 linux-2.6.13.4.tar.bz2 4. tar -xvf linux-2.6.13.4.tar Agora vamos realizar os passos da compilação propriamente dita: 1. cd linux-2.6.13.4 1Os passos 3 e 4 poderiam ser feitos com apenas um comando: bunzip2 -c linux-2.6.13.4.tar.bz2 | tar -xf - Compilando 49 2. make mrproper2

3. cp arch/i386/defconfig .config 4. make menuconfig 5. make3

6. make modules_install 7. cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13.4 8. cp System.map /boot/System.map-2.6.13.4 9. cd /boot 10. ln -s System.map-2.6.13.4 System.map 11. vi /boot/grub/menu.lst 12. grub-install /dev/hda 13. reboot Vamos adicionar o novo kernel ao menu que aparece no “boot” do sistema. Edite o arquivo /boot/grub/menu.lst e, após a linha ## ## End Default Options ## acrescente o texto abaixo: title Debian GNU/Linux, kernel 2.6.13.4 root (hd0,4) kernel /boot/vmlinuz-2.6.13.4 root=/dev/hda5 ro savedefault boot Preste atenção ao parâmetro (hd0,4) e /dev/hda5 eles devem ser iguais ao que já existia no arquivo para o kernel “default” da instalação. Eles indicam em qual disco rígido está instalado o Linux e em qual partição. 3Este passo é realmente necessário a partir da segunda compilação, quando é necessário remover os arquivos resultantes da compilação anterior. 3Para ter uma idéia de quanto tempo a compilação vai demorar você poderia executar este passo assim: time make . Da próxima vez que for compilar saberá se terá tempo de abastecer a xícara com café ou ir almoçar. 50 Compilando

10 Do console para as janelas Vamos aprender como, a partir de uma instalação mínima, instalar o ambiente gráfico (gerenciador de janelas). É uma prática comum aos usuários do Gnu/Linux a personalização

da máquina. Em alguns casos pode ser desejável ter uma máquina instalada apenas "com o necessário”. Seja por limitações de hardware ou seja pelo uso que se pretende fazer do computador. 10.1 Apt-get: primeiros passos O GNU/Debian possui um poderoso gerenciador de instalação de programas: aptget. Ele será um dos comandos mais usados por você para instalar ou remover programas que, a partir de agora, chamaremos de pacotes. Vamos instalar alguns pacotes básicos que irão facilitar nossa interação com o sistema recém instalado: sistema X Window ou modo gráfico, gerenciador de janelas ou “window manager", mouse e um terminal gráfico como o xterm. 10.2 Configurando o servidor gráfico Vamos instalar e configurar o servidor gráfico. Pacote do sistema de janelas Descrição comando X Window apt-get install x-window-system A seguir, temos o procedimento para configurar o X. O número de opções que alteraremos é muito menor comparado ao total de passos. Por isso, vou destacar os itens : 3, 15, 21 e 29. 51 52 Configurando o servidor gráfico 1. Início da configuração. Selecione o “drive” da placa de vídeo. Se não encontrar um que corresponda ao da sua placa utilise o vesa. 2. Informe um identificador para sua placa de vídeo: Placa de Vídeo Genérica 3. OK 4. Por favor, informe o identificador do barramento da placa de vídeo. Não digite nada. 5. Informe a quantidade de memória (em kB) a ser usada por sua placa de vídeo: Não digite nada. 6. Por favor, selecione o conjunto de regras XKB a utilizar: xfree86 7. OK. 8. Por favor, selecione o modelo de seu teclado: pc105 9. OK. 10. Por favor, selecione o layout de seu teclado: br ou us_intl 11. OK 12. Por favor, selecione sua variante de teclado: us_intl 13. OK 14. Por favor, selecione suas opções de teclado: Não digite nada. 15. OK 16. Por favor, escolha a porta onde seu mouse está conectado: /dev/psaux 17. Por favor, escolha a entrada que melhor descreve seu mouse: PS/2 18. OK

19. Emular mouse de 3 botões: Sim ou Não . 20. OK 21. Habilitar eventos de rolagem da roda do mouse: SIM 22. Informe um identificador para seu monitor: Monitor Genérico. 23. Seu monitor é um dispositivo LCD: Não. 24. OK Como Reiniciar o Servidor Gráfico 53 25. Simple 26. Por favor escolha o tamanho aproximado de seu monitor: Até 14 polegadas (355 mm) 15 polegadas (380 mm) 27. Selecione os modos de vídeo que você gostaria que você seu servidor X usasse: 1024x768 , 800x600 , 640x480. 28. OK 29. Por favor selecione a profundidade de cores desejada em bits 24 30. OK 31. OK 32. Gravar seção padrão Files no arquivo de configuração: Sim 33. Gravar a seção DRI padrão no arquivo de configuração: Sim 10.3 Reconfigurando o X Window: xserver-xfree86 Se precisarmos executar os passos da seção anterior para reconfigurarmos nosso X Window, basta fazer: dpkg-reconfigure xserver-xfree86 Toda vez que fizer isso você deverá reiniciar o Servidor Gráfico. 10.4 Como Reiniciar o Servidor Gráfico Quando fazemos alguma alteração na configuração do Servidor Gráfico é preciso iniciar novamente o programa. Do contrário, ele continuará a usar a configuração existente no momento em que ele foi executado. Aqui precisa ficar bem claro que não precisamos reinicar todo o sistema através do reboot. Em sistemas “Unix-like”, basta que o programa que estamos reconfigurando seja parado e iniciado, forçando a leitura do novo arquivo de configuração dele. Se estivermos usando o wdm ou o xdm não é suficiente sair do Window Manager, teremos que fazer o uso da sequência de teclas Ctrl+Alt+Backspace. 54 Gerênciadores de login: xdm, wdm, gdm e kdm É preciso ter cuidado neste ponto pois, em alguns computadores, a BIOS pode estar configurada para reiniciar o computador após a execução da sequência de teclas Ctrl+Alt+Backspace. Se você executar esta sequência e o computador reiniciar, aproveite para desabilitar este comportamento na configuração da BIOS. Se não estiver usando o wdm ou o xdm bastará sair do Window Manager e chamálo

de novo com o comando startx. 10.5 Gerenciadores leves: fvwm, icewm e window maker No GNU/Linux temos a distinção entre Servidor Gráfico e a aparência da área de trabalho. Os gerenciadores de janela (“window managers”) são os responsáveis pela aparência gráfica do sistema. Cada “Window Manager” tem suas próprias características de configuração. Se você procura um gerenciador leve pode testar o fvwm2, o icewm ou window maker. Mais pacotes para utilizarmos o X Window Manager apt-get install fvwm fvwm-icons icewm wmaker Cada gerenciador de janelas tem um módo próprio de funcionamento. Minha intenção não é explicar como este ou aquele gerenciador trabalha. O uso de outros gerenciadores gera uma certa confusão no andamento da aula. Para citar um exemplo do problema gerado pelo uso de outros gerenciadores podemos citar o programa menu. Podemos ver este programa em ação quando “clicamos” no desktop com o botão esquerdo do mouse. Quando instalamos uma pacote novo no sistema, o menu de pacotes deve ser atualizado, e isso implica em fazer um restart do gerenciador de janelas1. 10.6 Gerênciadores de login: xdm, wdm, gdm e kdm Quando instalamos o pacote x-window-system, foi instalado também o programa xdm. Ele é um gerenciador gráfico de login básico. Existem outros gerenciadores que podem ser experimentados. Cada vez que você instala um deles será perguntado sobre qual deverá ser o padrão do sistema. Mais pacotes para utilizarmos o X Gerenciador de login apt-get install xdm wdm gdm kdm 1Não confunda restart do gerenciador de janelas com o reboot do sistema operacinal. Mouse do console: gpm 55

10.7 Detectando o mouse Para a configuração do mouse do console, precisamos saber três informações: em qual e que tipo de porta está ligado o mouse e qual o tipo do mouse. O programa mdetect nos dará estas informações. Detector de Hardware Detector de mouse apt-get install mdetect Executaremos este programa como usuáro root. Veja abaixo um exemplo de como executá-lo: # mdetect -o /dev/psaux ImPS/2

Neste exemplo, podemos dizer que o mouse está conectado na porta (“device”) /dev/psaux e o tipo de mouse usado é o ImPS/2. 10.8 Mouse do console: gpm Quando configuramos o X Window, configuramos também o mouse para a parte gráfica. O mouse do console é controlado por um programa a parte, com sua própria configuração. É importante saber que podemos usar o mouse do X sem termos instalado ou configurado o “mouse do console”. Apesar disso, a configuração do “mouse do console”, tem um parâmetro que pode interferir no comportamento do “mouse do modo gráfico”. A configuração do “mouse gráfico” não interfere no “mouse do console”. O instrutor irá demostrar durante a instalação que, a opção que deveremos remover da configuração do mouse do console é: ms3. Para mouses PS/2 o device escolhido será /dev/psaux. Para os mouses seriais serão ou /dev/ttyS0 ou /dev/ttyS1, respectivamente COM1 ou COM2. Mais pacotes para utilizarmos o X Mouse do Console apt-get install gpm Abaixo temos um exemplo das perguntas que serão feitas durante a configuração do programa gpm. Esta saída foi obtida para um mouse que já estava corretamente configurado e, por isso, nenhum parâmetro foi alterado. 56 Acentuação Current configuration: -m /dev/psaux -t autops2 Device: /dev/psaux Type: autops2 Do you want to change anything (Y/n)? Where is your mouse [/dev/psaux]? > What type is your mouse (or help) [autops2]? > Set the responsiveness (normally not needed) []? > Repeat protocol (enter ’none’ to turn repeating off) []? > Do you want to add any additional arguments []? > Do you want to test this configuration (y/N)? n Current configuration: -m /dev/psaux -t autops2 Device: /dev/psaux Type: autops2 Do you want to change anything (Y/n)? n Stopping mouse interface server: gpm. Starting mouse interface server: gpm.

10.9 Reconfigurando o mouse do console Para reconfigurar o mouse do console executaremos o comando:

# gpmconfig Lembrando que o sinal # significa que você deve executar esse comando como usuário root. 10.10 Acentuação Vamos instalar em nosso sistema o suporte ao idioma inglês norte-americano e ao português do Brasil. As opções que escolheremos ao instalar o pacote locales são: en_US, en_US (UTF-8) e pt_BR. O programa perguntará qual será, a partir de agora, o idoma “oficial” do sistema instalado. Escolheremos pt_BR. Reconfigurando a acentuação 57 Mais pacotes para utilizarmos o X Suporte a Idiomas apt-get install locales Para que a acentuação funcione, coloque o seguinte no .bashrc : LANG=pt_BR LC_ALL=pt_BR LC_CTYPE=ISO-8859-1 LESSCHARSET=latin1 export LANG LC_ALL LC_CTYPE LESSCHARSET Verifique se o conteúdo do arquivo /etc/locale.gen contém as seguintes linhas: en_US ISO-8859-1 en_US.UTF-8 UTF-8 pt_BR ISO-8859-1 Caso contrário, leia a próximo ítem da apostila. 10.11 Reconfigurando a acentuação Para reconfigurar o pacote locales executaremos o comando: # dpkg-reconfigure locales Atenção, escolha a opção OK em todas as telas. Se você só selecionar as opção que deseja e pressionar a tecla ENTER, o programa irá prosseguir, mas não executará o que você pediu2. Se sua configuração for bem sucedida, você deverá ter as seguintes linhas em seu arquivo /etc/locale.gen: en_US ISO-8859-1 en_US.UTF-8 UTF-8 pt_BR ISO-8859-1 2Isto era um bug do script de configuração do locales no Debian 3.0. 58 Reconfigurando o Mapa do Teclado

10.12 Reconfigurando o Mapa do Teclado Se você escolheu um modelo de teclado errado, ou trocou de teclado, para configurar um novo mapa de teclado, faça: # dpkg-reconfigure console-data 11

Enxuto, mas nem tanto Após realizar uma instalação mínima e acrescentar um gerenciador de janelas você pode querer mais. No início pode ser um pouco difícil descobrir o nome do pacote correspondente ao programa que você quer instalar. Este capítulo é para mostar alguns dos programas que você pode precisar. 11.1 Estação de trabalho Vamos conhecer alguns pacotes disponíveis para o GNU/Linux Debian. Eles estarão divididos por categorias, algumas reais, outras criadas pelo autor. Gerenciadoes de Pacotes: dpkg Um gerenciador de pacotes de nível médio para o Debian. dselect Frontend de gerenciamento de pacotes Debian. tasksel Ferramenta para instalar pacotes “por lote". aptitude Interface de gerenciamento de pacotes. apt-get Comando da Suíte APT. gnome-apt Interface gráfica da Suíte APT. stormpkg Interface gráfica para a Suíte APT. synaptic Interface gráfica para a Suíte APT. Gerenciadoes de Ambiente Gráfico: fvwm Gerenciador gráfico. fvwm-icons Ícones do gerenciador gráfico fvwm. 59 60 Estação de trabalho icewm Gerenciador gráfico. qvwm Gerenciador gráfico. sawfish Gerenciador gráfico. pwm Gerenciador gráfico. fluxbox Gerenciador gráfico. afterstep Gerenciador gráfico. wmaker Gerenciador gráfico. Editores para programadores: xwpe Editor para programação em C. anjuta Editor para programação em várias linguagens. Tocadores e Ripadores de músicas: mp3blaster Tocador de músicas no console. xmms Tocador de músicas gráfico. aumix-gtk Programa gráfico para controle das opções de som. oggenc Codificador de músicas para o formato ogg. abcde Codificador de músicas para os formatos ogg, mp3 e flac. cdrdao Utilizado para criar CDs de música e áudio no formato “disk-at-once". grip Um tocador/ripador/codificador baseado no GNOME. jack Ripador de Codificador de músicas. ripperx Ripador e Codificar de músicas baseado no GTK.

sox Utilizado para transformar arquivos de música de um formato pra outro. normalize Utilizado para ajustar o volume de um conjunto de arquivos de música. Gravação de CDs: eroaster cdrtoaster cdcontrol Estação de trabalho 61 gtoaster gcombust kreatecd cdrecord mp3burn mkisofs cdlabelgen Jogos e inutilitários: xpenguins xboard gnome-chess xbill xsoldier quake2 Administração: rcconf Utilizado para habilitar/desabilitar scripts que são executados durante o processo de boot/reboot/halt. modconf Interface para a instalação e configuração de módulos Configuração de Hardware: memtest86 Testes de memória. powerteak discover Utilizado para fazer a identificação de hardware. kudzu Utilizado para detectar, duante o boot, hardware que foi acrescentado/removido. mdetect Utilizado para detectar/identificar o mouse. Visualizadores de Vídeo e Imagens: totem 62 Estação de trabalho sinek vlc ogle gqview Visualizador de imagens. imagemagick A instalação deste pacote possibilita o uso do comandoi¯ mport. Útil para fazer screenshots. ksnapshot Utilizado para capturar a imagem da tela do computador (screenshot). Criação de imagens e gráficos: xfig sketch

sodipodi gimp Rede: nmap Utilziado para identificar, entre outras coisas, quais portas podem estar ativar em um computador. bwm Monitora a utilização da interface de rede (placa de rede). ethereal Monitorar o tráfego de rede. Impressora: lprngtool cups Monitoração do Estado do Computador: gkrellm xosview gmemusage Travar o ambiente gráfico ou o console: xtrlock Transforma o indicador do mouse em um cadeado. Trava o modo gráfico. xlock Trava o modo gráfico. Estação de trabalho 63 vlock Trava o console. Editores de Texto: vi vim emacs20 abiword ted Editores de Latex: kile Visualizadores de texto: xpdf gv xdvi Visualizadores de texto: evolution Leitor de e-mail. Muito parecido com o Outlook, só que melhor. mutt leitor de e-mail em modo texto. Navegadores WEB: galeon mozilla-firefox dillo lynx Navegador WEB em modo texto. lynx-ssl Navegador WEB em modo texto com suporte a sites que utilizam ssl. links Navegador WEB em modo texto. Ferramentas para download: gftp Utilizado para ftp e sftp. wget Utilizado para download. aget Utilizado para download. 64 Estação de trabalho

12 Arquivos Importantes Vamos conhecer agora alguns arquivos importantes. Você poderá precisar saber encontrá-los em caso de problemas. 12.1 Onde eles estão? Para uma localização rápida dos arquivos vamos listá-los abaixo: Configuração de Rede Interfaces de Rede /etc/network/interface Interfaces de Rede /etc/network/interfaces Atenção neste aqui /etc/hosts Configuração de DNS /etc/resolv.conf Script de start/stop da interface de rede /etc/init.d/networking Serviços controlados pelo inetd /etc/inetd.conf Tabela 12.1: Arquivos de configuração de rede. Administração de Usuários X Window 65 66 Modelos de configuração Arquivo que será criado após o uso do adduser /etc/skel/bashrc Arquivo que será criado após o uso do adduser /etc/skel/.bash_profile Usuários cadastrados /etc/passwd Grupos cadastrados /etc/group Tabela 12.2: Arquivos de configuração de usuários. Configuração do servidor gráfico /etc/X11/XF86Config-4 Gerenciador Gráfico Padrão (link) /etc/alternatives/x-window-manager /etc/alternatives/x-session-manager Tabela 12.3: Arquivo de configuração do X Window. Apt-get Configuração do apt-get /etc/apt/sources.list Tabela 12.4: Arquivo de configuração do apt-get. 12.2 Modelos de configuração

Caso você tenha apagado alguns dos arquivos acima e precisa de um modelo para configurar o sistema. Configução do apt-get /etc/apt/sources.list ooooo iiii

Apêndice A Fontes de Conhecimento Links e comentários sobre alguns sites e listas recomendados. Seguem algumas listas de discussão: Dicas-l Como o próprio nome já diz, a lista envia dicas. Os assuntos abordados são bem variados e interessantes, tanto para o usuário iniciante quanto para o experiente. Apenas uma mensagem por dia é enviada, todos os dias da semana. No site http://www.dicas-l.unicamp.br/ é possível ler as dicas e encontrar um formulário de inscrição. Para você não ter que acessar o site e correr o risco de esquecer, cadastre-se na lista. Todos os dias você vai receber uma ótima dica! Debian em Português Dedicada aos usuários do Debian que falam o idoma Portugês. É uma lista muito movimentada. Uma boa forma de encontrar suporte no próprio idioma, mas alguns cuidados devem ser tomados. Cadastre-se na lista e seja um observador do andamendo das discussões, pegue o espríto da coisa antes de sair perguntando. Procure pesquisar nos arquivos da lista antes de fazer uma pergunta. Quando se é um assinante por muito tempo, mensagens repetidas incomadam. Você pode levar uma bronca se o assunto foi exaustivamente discutido. O formulário para inscrição está aqui http://lists.debian.org/debian-userportuguese/ . Debian Weekly News Ótima pedida para aqueles que querem saber das novidades sobre o mundo Debian. Semanalmente 1 mensagem é enviada com um resumo dos principais pontos relativos a novas “releases", novos pacotes, artigos interessates. Você apenas recebe os boletins informativos, não envia perguntas. O formulário para inscrição está aqui http://lists.debian.org/debian-news/ . Security Advisories Todo usuário do sistema debian deve cadastrar-se nesta lista. Ela é utilizada apenas para enviar avisos de atualização de pacotes, principalmente aqueles com algum problema de segurança. Você não envia perguntas, 67 68 Fontes de Conhecimento apenas recebe os boletins. Sempre que receber uma notícia desta lista, execute o

“update/upgrade". O formulário para inscrição está aqui http://lists.debian.org/debiansecurity- announce/ . Curso de Linux É a lista deste curso. Não nenhuma pretensão de se igualar com as outras listas citadas. A função dela e servir de apoio para os alunos deste curso. Também serve para receber avisos de novos cursos e apostilas. Para inscreverse envie um e-mail, sem título e sem assunto, para o endereço [email protected] . Segue uma lista de sites: Site do Debian em Português http://www.br.debian.org About Debian http://www.aboutdebian.com/ Aurélio http://aurelio.net . Para aprender/descobrir sobre Expressões Regulares, Sed, AWK , Shel Script e sobre o próprio Aurélio. Bonix.NET Olha eu aqui também: http://bonix.net. Se precisar baixar novamente a apostila, procure primeiro lá. Screenshots da instalação Você pode encontrar os screenshots das telas de instalação do Debian 3.1 em http://librenix.com/?page=Debian ou http://shots.osdir.com/slideshows/slideshow.php? release=395&slide=36&title=debian+gnu/linux+3.1r0a+screenshots . Linux Basics Site voltado para o ensino de Linux com documentação em inglês: http://linuxbasics.org Segue uma lista de filmes: Revolution OS