manual debian

272
MANUAL DEBIAN GNU/LINUX

Upload: jorgetbastos

Post on 24-Jun-2015

529 views

Category:

Documents


1 download

TRANSCRIPT

MANUAL DEBIAN GNU/LINUX

ResumoEsta Referncia Debian dedica-se a fornecer uma viso ampla do sistema Debian como um guia do usurio ps-instalao. Ela abrange muitos aspectos de administrao do sistema atravs de exemplos de comando shell. So proporcionados tutoriais bsicos, dicas, e outras informaes para temas incluindo conceitos fundamentais do sistema Debian, sugestes de instalao de sistema, administrao de pacotes Debian, o kernel Linux sob o Debian, ajustes do sistema, construo de um gateway, editores de texto, CVS, programao, e GnuPG para no-desenvolvedores.

Nota de CopyrightCopyright 20012005 por Osamu Aoki . Copyright (Captulo 2) 1996-2001 por Software in the Public Interest.Este documento pode ser usado sob os termos da GNU General Public License verso 2 ou superior.

concedida a permisso para fazer e distribuir cpias literais deste documento contanto que o aviso de direito de cpia (copyright) e este aviso de permisso sejam preservados em todas as cpias. garantida a permisso para copiar e distribuir verses modificadas deste documento sob as condies da cpia literal, contanto que o trabalho derivado resultante seja totalmente distribudo sob os termos de um aviso de permisso idntico a este. garantida a permisso para copiar e distribuir tradues deste documento em outro idioma sob as condies acima para verses modificadas, exceto que este aviso de permisso pode ser includo em tradues aprovadas pela Free Software Foundation em vez de no ingls original.

Contedo

1 Prefcio o 1.1 Documento Oficial o 1.2 Convenes do documento o 1.3 Scripts de exemplo o 1.4 Configurao bsica o 1.5 Bsico das distribuies Debian 2 Fundamentos Debian o 2.1 Os repositrios Debian 2.1.1 Estruturas de diretrio 2.1.2 Distribuies Debian 2.1.3 A distribuio stable 2.1.4 A distribuio testing 2.1.5 A distribuio unstable 2.1.6 A distribuio frozen 2.1.7 Codinomes das distribuies Debian 2.1.8 Codinomes usados no passado 2.1.9 A origem dos codinomes 2.1.10 O diretrio pool 2.1.11 Notas histricas sobre a Sid 2.1.12 Pacotes enviados para incoming/ 2.1.13 Obtendo um pacote antigo 2.1.14 Sees de Arquiteturas 2.1.15 O cdigo-fonte o 2.2 O sistema de gerenciamento de pacotes Debian 2.2.1 Viso Geral dos pacotes Debian 2.2.2 Formato de pacotes Debian 2.2.3 Convenes de nomenclatura para nomes de arquivos de pacotes Debian 2.2.4 Preservao da configurao local 2.2.5 Scripts de manuteno Debian 2.2.6 Prioridade de pacotes 2.2.7 Pacotes virtuais 2.2.8 Dependncias de pacotes 2.2.9 O significado de Pr-dependncias 2.2.10 Estado do pacote 2.2.11 Evitando que pacotes sejam atualizados 2.2.12 Pacotes fonte 2.2.13 Construindo pacotes binrios a partir de um pacote fonte 2.2.14 Criando novos pacotes Debian o 2.3 Atualizando um sistema Debian 2.3.1 Mtodos para atualizar um sistema Debian 2.3.2 Viso geral das ferramentas de gerenciamento de pacotes 2.3.3 dpkg 2.3.4 APT

2.3.5 dselect 2.3.6 Atualizando um sistema em execuo 2.3.7 Arquivos .deb baixados e em cache 2.3.8 Mantendo registros para atualizaes o 2.4 O processo de inicializao Debian 2.4.1 O programa init 2.4.2 Nveis de execuo 2.4.3 Personalizando o processo de inicializao o 2.5 Suportando diversidades o 2.6 Internacionalizao o 2.7 Debian e o kernel 2.7.1 Compilando um kernel a partir de um fonte no Debian 2.7.2 Ferramentas para construir kernels personalizados 2.7.3 Condies especiais para lidar com mdulos 2.7.4 Desinstalao de um kernel antigo 3 Dicas para instalao do Sistema Debian o 3.1 Dicas para instalao de sistemas Linux em geral 3.1.1 O bsico sobre a compatibilidade de hardware 3.1.2 Determinando hardware e chip set de um PC 3.1.3 Determinando o hardware de um PC via Debian 3.1.4 Determinando o hardware de um PC por meio de outros SO's 3.1.5 Um mito sobre o Lilo 3.1.6 GRUB 3.1.7 Escolha dos disquetes de inicializao 3.1.8 Instalao 3.1.9 Hosts e IP a usar para LAN 3.1.10 Contas de usurio 3.1.11 Criando sistemas de arquivo 3.1.12 Guia sobre memria DRAM 3.1.13 Espao de troca (swap) o 3.2 Configurao do bash o 3.3 Configurao do mouse 3.3.1 Mouses PS/2 3.3.2 Mouses USB 3.3.3 Touch pad o 3.4 Configurao de NFS o 3.5 Configurao do Samba o 3.6 Configurao da Impressora 3.6.1 lpr/lpd 3.6.2 CUPS o 3.7 Outras dicas de instalao no host 3.7.1 Instalar mais alguns pacotes aps a instalao inicial 3.7.2 Mdulos 3.7.3 Configurao bsica de CD-RW 3.7.4 Memria grande e autodesligamento 3.7.5 Estranhos problemas de acesso a alguns websites

3.7.6 Configurao Dialup PPP 3.7.7 Outros arquivos de configurao para fuar em /etc/ 4 Tutoriais do Debian o 4.1 Comeando 4.1.1 Login em um prompt shell como root 4.1.2 Configurar um ambiente mnimo para novato 4.1.3 Adicionar uma conta de usurio 4.1.4 Alternar entre consoles virtuais 4.1.5 Como desligar 4.1.6 Hora do jogo o 4.2 Midnight Commander (MC) 4.2.1 Melhorar o MC 4.2.2 Iniciar o MC 4.2.3 Gerenciador de arquivos no MC 4.2.4 Truques de linha de comando no MC 4.2.5 Editor no MC 4.2.6 Visualizador no MC 4.2.7 Recursos de auto incio no MC 4.2.8 Sistema de arquivo virtual FTP no MC o 4.3 Ambiente de trabalho semelhante ao Unix 4.3.1 Comandos de teclado especiais 4.3.2 Comandos Unix bsicos 4.3.3 A execuo de comando 4.3.4 Comando simples 4.3.5 Execuo de comando e varivel de ambiente 4.3.6 Caminho de busca de comando 4.3.7 Opes de linha de comando 4.3.8 Curingas (wildcards) de shell 4.3.9 Valor de retorno do comando 4.3.10 Seqncias de comando tpicas 4.3.11 Apelido (alias) de comando o 4.4 Processamento de texto em similares a Unix 4.4.1 Expresses regulares 4.4.2 Expresses de substituio o 4.5 Sistema de arquivos em similares ao Unix 4.5.1 Bsico de arquivos Unix 4.5.2 O conceito de sistema de arquivos no Debian 4.5.3 Permisses de acesso de arquivos e diretrios 4.5.4 Marcas de tempo 4.5.5 Ligaes (links) 4.5.6 Pipes nomeados (FIFOs) 4.5.7 Soquetes 4.5.8 Arquivos de dispositivos 4.5.9 Sistema de arquivo /proc o 4.6 Sistema X Window 4.6.1 Iniciar o Sistema X Window

4.6.2 Menu no Sistema X Window 4.6.3 Seqncia de teclado para o Sistema X Window o 4.7 Estudos adicionais 5 Atualizando uma distribuio para a testing o 5.1 Transio do APT para a verso Woody o 5.2 Preparao para a transio (stable para testing) o 5.3 Atualizar o sistema Debian 5.3.1 Melhor prtica de atualizao usando o dselect 5.3.2 Prtica ruim de atualizao com o apt-get 6 Gerenciamento de pacotes Debian o 6.1 Introduo 6.1.1 Ferramentas principais 6.1.2 Ferramentas teis o 6.2 Bsico do gerenciamento de pacotes Debian 6.2.1 Instalar tarefa com o tasksel ou aptitude 6.2.2 Configure o sistema APT 6.2.3 dselect 6.2.4 aptitude 6.2.5 Comandos apt-cache e apt-get 6.2.6 Seguindo um tipo da distribuio Debian 6.2.7 Rebaixando todos os pacotes para a estvel 6.2.8 Viso geral do arquivo /etc/apt/preferences o 6.3 Comandos de sobrevivncia do Debian 6.3.1 Verificar bugs no Debian e procurar ajuda 6.3.2 Resolvendo problemas com atualizao pelo APT 6.3.3 Resgate usando o dpkg 6.3.4 Recuperao dos dados de seleo de pacotes 6.3.5 Resgate do sistema aps quebrar /var 6.3.6 Instalar um pacote em um sistema no inicivel 6.3.7 O que fazer se o comando dpkg estiver quebrado o 6.4 Comandos de nirvana do Debian 6.4.1 Informao sobre um arquivo 6.4.2 Informao sobre um pacote 6.4.3 Instalao com APT sem acompanhamento 6.4.4 Reconfigurar pacotes instalados 6.4.5 Remover e eliminar (purge) pacotes 6.4.6 Mantendo pacotes antigos 6.4.7 Sistema hbrido stable/testing/unstable 6.4.8 Descartar arquivos de pacote em cache 6.4.9 Gravar/copiar a configurao do sistema 6.4.10 Portar um pacote para o sistema stable 6.4.11 Repositrio local de pacotes 6.4.12 Converter ou instalar um pacote binrio alien 6.4.13 Verificar arquivos de pacotes instalados 6.4.14 Otimizando o arquivo sources.list o 6.5 Outras peculiaridades do Debian

6.5.1 O comando dpkg-divert 6.5.2 O pacote equivs 6.5.3 Comandos alternativos 6.5.4 init System-V e nveis de execuo (runlevels) 6.5.5 Servios daemon desabilitados 7 O kernel Linux no Debian o 7.1 Recompilao do Kernel 7.1.1 Mtodo Debian padro 7.1.2 Mtodo clssico 7.1.3 Cabealhos do kernel o 7.2 O kernel 2.4 modularizado 7.2.1 PCMCIA 7.2.2 SCSI 7.2.3 Funo de rede 7.2.4 Sistema de arquivos EXT3 ( > 2.4.17) 7.2.5 Suporte Realtek RTL-8139 no kernel 2.4 7.2.6 Suporte a porta paralela o 7.3 Ajustando o kernel pelo sistema de arquivos proc 7.3.1 Muitos arquivos abertos 7.3.2 Intervalos de sincronizao (flush) de disco 7.3.3 Mquinas de pouca memria antigas e lerdas 8 Dicas Debian o 8.1 Iniciando o sistema 8.1.1 "Eu esqueci a senha do root !" (1) 8.1.2 "Eu esqueci a senha do root !" (2) 8.1.3 No posso iniciar o sistema 8.1.4 "Deixe-me desabilitar o X na inicializao !" 8.1.5 Outros truques de inicializao com o prompt de inicializao 8.1.6 Definindo parmetros de inicializao do GRUB o 8.2 Gravando atividades 8.2.1 Gravando atividades shell 8.2.2 Gravando atividades no X o 8.3 Copiar e arquivar um subdiretrio inteiro 8.3.1 Comandos bsicos para copiar um subdiretrio inteiro 8.3.2 cp 8.3.3 tar 8.3.4 pax 8.3.5 cpio 8.3.6 afio o 8.4 Backups diferenciais e sincronizao de dados 8.4.1 Backup diferencial com rdiff 8.4.2 Backup dirio com pdumpfs 8.4.3 Backup diferencial regular com RCS o 8.5 Recuperao de sistema paralizado 8.5.1 Matar um processo 8.5.2 Alt-SysRq

8.6 Belos pequenos comandos para se lembrar 8.6.1 Paginador 8.6.2 Memria livre 8.6.3 Definir a hora (BIOS) 8.6.4 Definir a hora (NTP) 8.6.5 Como controlar recursos de console como o protetor de tela 8.6.6 Procurar na base de dados administrativa 8.6.7 Desabilitar o som (beep) 8.6.8 Mensagens de erro na tela do console 8.6.9 Definir o console para o tipo correto 8.6.10 Voltar o console ao estador normal 8.6.11 Converter um arquivo texto DOS para o estilo Unix 8.6.12 Substituio de expresses regulares 8.6.13 Editar arquivo no local usando um script 8.6.14 Extrair diferenas e juntar atualizaes para os arquivos fonte 8.6.15 Converter um arquivo grande em arquivos pequenos 8.6.16 Extrair dados de uma tabela em arquivo texto 8.6.17 Pequenos scripts para ligar comandos 8.6.18 Pequenos scripts para fazer loop para cada arquivo 8.6.19 Loucura de script Perl curto 8.6.20 Obter texto ou arquivo de lista de discusso de uma pgina web 8.6.21 Imprimir de forma bonita uma pgina web 8.6.22 Imprimir de forma bonita uma pgina de manual 8.6.23 Juntar dois arquivos PostScript ou PDF 8.6.24 Contar o tempo de um comando 8.6.25 Comando nice 8.6.26 Agendar atividade (cron, at) 8.6.27 Mudana de console com screen 8.6.28 Testes de rede bsicos 8.6.29 Fazer flush em mensagens do spool local 8.6.30 Remover mensagens congeladas do spool local 8.6.31 Reentregar contedo mbox 8.6.32 Limpar contedo de arquivo 8.6.33 Arquivos Falsos 8.6.34 chroot 8.6.35 Como checar ligaes diretas (hard) 8.6.36 Usar mount em um arquivo de uma imagem de disco rgido 8.6.37 Samba 8.6.38 Utilitrios para sistemas de arquivos no nativos o 8.7 Erros tpicos a serem notados 8.7.1 rm -rf .* 8.7.2 rm /etc/passwd 9 Ajustando um sistema Debian o 9.1 Inicializao do sistema 9.1.1 Personalizando os scripts inito

o

o

o

o

o

9.1.2 Personalizando o log do sistema 9.1.3 Otimizando o hardware 9.2 Restringindo o acesso 9.2.1 Restringindo logins com PAM 9.2.2 "Por que o GNU su no suporta o grupo wheel" 9.2.3 Propsitos de grupos padres 9.2.4 Trabalhando de forma mais segura sudo 9.2.5 Restringindo acesso a servios 9.2.6 Centralizando a autenticao LDAP 9.3 Gravadores de CD 9.3.1 Introduo 9.3.2 Alternativa 1: mdulos + lilo 9.3.3 Alternativa 2: recompilar o kernel 9.3.4 Passos posteriores configurao 9.3.5 Arquivo imagem de CD (inicializvel) 9.3.6 Gravar CDs (R, RW): 9.3.7 Fazer um arquivo imagem de um CD 9.3.8 Imagens de CD do Debian 9.3.9 Fazer cpia de segurana do sistema em CD-R 9.3.10 Copiar um CD de msicas para CD-R 9.4 X 9.4.1 Pacotes do X 9.4.2 Deteco de hardware para o X 9.4.3 O servidor X 9.4.4 Clientes X 9.4.5 Sesses X 9.4.6 Usando o X sobre TCP/IP 9.4.7 Conectando a um servidor X remoto xhost 9.4.8 Conectando a um servidor X remoto ssh 9.4.9 O emulador de terminal X xterm 9.4.10 Recursos do X 9.4.11 Mapas de teclado e funes de botes do apontador no X 9.4.12 Obtendo root no X 9.4.13 Fontes TrueType no X 9.4.14 Navegadores Web no X 9.5 SSH 9.5.1 Bsico do SSH 9.5.2 Redirecionamento de porta para tunelamento SMTP/POP3 9.5.3 Conectando com menos senhas RSA 9.5.4 Lidando com clientes SSH estranhos 9.5.5 Configurando o ssh-agent 9.5.6 Resoluo de problemas de SSH 9.6 Correio 9.6.1 Agentes de transporte de correio (MTAs) 9.6.2 Baixando mensagens Fetchmail 9.6.3 Processando mensagens Procmail

9.6.4 Lendo mensagens Mutt 9.7 Localizao 9.7.1 Bsico da localizao 9.7.2 Locales 9.7.3 Introduo a locales 9.7.4 Ativando suporte a locale 9.7.5 Ativando um locale especfico 9.7.6 Locale de formato de data ISO 8601 9.7.7 Exemplo para os Estados Unidos (ISO-8859-1) 9.7.8 Exemplo para a Frana com o sinal de Euro (ISO-8859-15) 9.7.9 Exemplo para um sistema X window multi-idiomas 9.7.10 Mtodos de entrada X alternativos 9.7.11 Emuladores de terminal no X 9.7.12 Exemplo para UTF-8 no X 9.7.13 Exemplo para UTF-8 em um console framebuffer 9.7.14 Alm dos locales 10 Configurao de rede o 10.1 Bsico de rede IP o 10.2 Configurao de rede de baixo nvel 10.2.1 Configurao de rede de baixo nvel ifconfig e route 10.2.2 Configurao de rede de baixo nvel ip 10.2.3 Configurando uma interface Wi-Fi 10.2.4 Configurando uma interface PPP o 10.3 Nomeando o computador 10.3.1 Nome do sistema (Hostname) 10.3.2 Nome de correio (Mailname) o 10.4 Domain Name Service (DNS) (Servio de Nome de Domnio) 10.4.1 O resolvedor (resolver) 10.4.2 Gerenciando informao do resolvedor de nomes o resolvconf

o o

o o

o

10.4.3 Colocando em cache nomes consultados dnsmasq 10.4.4 Fornecendo Servio de Nome de Domnio bind 10.5 Configurando interfaces de rede usando DHCP 10.6 Configurao de rede de alto nvel no Debian 10.6.1 Configurando uma interface com um endereo IP esttico 10.6.2 Configurando uma interface usando DHCP 10.6.3 Configurando uma interface Wi-Fi 10.6.4 Configurando uma interface PPP 10.6.5 Configurando uma interface PPPoE 10.6.6 Configurando mltiplas interfaces Ethernet para um gateway 10.6.7 Configurando interfaces virtuais 10.7 Reconfigurao de rede 10.8 Reconfigurao mgica de rede 10.8.1 guessnet 10.8.2 laptop-net 10.9 Gatilhando a reconfigurao de rede

10.9.1 Gatilhando a configurao de rede durante a inicializao 10.9.2 Gatilhando configurao de rede hotplug 10.9.3 Gatilhando a configurao de rede ifplugd 10.9.4 Gatilhando a configurao de rede waproamd 10.9.5 Configurao de rede e PCMCIA o 10.10 Configurao de servio de rede o 10.11 Resoluo de problemas com rede o 10.12 Construindo um roteador gateway 10.12.1 Configurao do Netfilter 10.12.2 Gerenciar mltiplas conexes de rede 11 Editores o 11.1 Editores populares o 11.2 Editores de recuperao o 11.3 Emacs e Vim 11.3.1 Dicas para o Vim 11.3.2 Dicas para o Emacs 11.3.3 Iniciando o editor 11.3.4 Resumo de comandos do Editor (Emacs, Vim) 11.3.5 Configurao do Vim 11.3.6 Ctags 11.3.7 Converter uma tela com sintaxe destacada em fonte HTML 11.3.8 Dividir a tela com o vim 12 Sistemas de Controle de Verso o 12.1 Concurrent Versions System (CVS) (Sistema de Verses Concorrentes) 12.1.1 Instalando um servidor CVS 12.1.2 Exemplos de sesso CVS 12.1.3 Resolvendo problemas do CVS 12.1.4 Comandos CVS o 12.2 Subversion 12.2.1 Instalando um servidor Subversion 12.2.2 Movendo um repositrio CVS para Subversion 12.2.3 Exemplos de uso do Subversion 13 Programao o 13.1 Onde comear o 13.2 Shell 13.2.1 Bash o shell interativo padro do GNU 13.2.2 Shells POSIX 13.2.3 Parmetros shell 13.2.4 Redirecionamento shell 13.2.5 Condicionais de shell 13.2.6 Processamento de linha de comando o 13.3 Awk o 13.4 Perl o 13.5 Python o 13.6 Make o 13.7 C

13.7.1 Programa C simples (gcc) 13.7.2 Depurando 13.7.3 Flex um Lex melhor 13.7.4 Bison um Yacc melhor 13.7.5 Autoconf o 13.8 Preparao de documentos 13.8.1 Processamento de texto roff 13.8.2 SGML 13.8.3 TeX/LaTeX 13.8.4 Programao Letrada (Literate Programming) o 13.9 Empacotamento 13.9.1 Empacotando um binrio simples 13.9.2 Empacotando com ferramentas 14 GnuPG o 14.1 Instalando GnuPG o 14.2 Usando GnuPG o 14.3 Gerenciando GnuPG o 14.4 Usando GnuPG com aplicaes 14.4.1 Usando GnuPG com Mutt 14.4.2 Usando GnuPG com o Vim 15 Suporte para o Debian o 15.1 Referncias o 15.2 Descobrindo o significado de uma palavra o 15.3 Descobrindo a popularidade de um pacote Debian o 15.4 O sistema de gerenciamento de bugs Debian o 15.5 Listas de discusso o 15.6 Internet Relay Chat (IRC) o 15.7 Mecanismos de busca o 15.8 Stios Web A Apndice o A.1 Autores o A.2 Garantias o A.3 Retorno o A.4 Formato do documento o A.5 O labirinto do Debian o A.6 As citaes do Debian

Referncia Debian Captulo 1 - PrefcioEsta Referncia Debian tem como objetivo oferecer uma ampla viso do sistema Debian como um guia do usurio ps-instalao. O leitor alvo algum que esteja disposto a ler scripts shell. Espero que o leitor tenha conhecimentos anteriores em sistemas Unix-like antes de ler este documento. Tomei uma deciso consciente de no explicar tudo em detalhes caso tais detalhes possam ser encontrados em uma pgina de manual, uma pgina info ou um documento HOWTO. Ao invs de explicaes completas, eu tentei oferecer informao prtica mais diretamente fornecendo as sequncias de comandos exatas no texto principal ou scripts de exemplo em examples/ como uma referncia. Voc deve entender o contedo dos exemplos antes de execut-los. Seu sistema pode requerer sequncias de comandos ligeiramente diferentes. Muita informao includa consiste de lembranas ou apontadores para as referncias oficiais listadas em Referncias, Seo 15.1. Isto devido parcialmente a este documento ter sido originado como uma "referncia rpida". Matenha-o pequeno e simples (KISS) meu princpio guia. Para ajuda com manuteno de emergncia do sistema, pule imediamente para o Comandos de sobrevivncia do Debian, Seo 6.3.

1.1 Documento OficialO ltimo documento oficial est nos repositrios Debian com o nome de pacote debianreference-pt-br e est tambm disponvel em http://www.debian.org/doc/manuals/debian-reference/. A ltima verso de desenvolvimento http://qref.sourceforge.net/Debian/. O projeto hospedado em http://qref.sourceforge.net/, onde este documento est disponvel para download nos formatos texto puro, HTML, PDF, SGML e PostScript.

1.2 Convenes do documento

Este documento "Referncia Debian" fornece informaes atravs de pequenos comandos do shell Bash. Aqui esto algumas convenes usadas :# comando na conta root $ comando na conta do usurio ... descrio de ao

Consulte Bash o shell interativo padro do GNU, Seo 13.2.1 para maiores informaes sobre Bash. Referncia para:

uma pgina de manual Unix indicada na forma bash(1). uma pgina GNU TEXINFO indicado na forma info libc. um livro indicado na forma A linguagem de Programao C. uma URL indicada na forma http://www.debian.org/doc/manuals/debianreference/. um arquivo no sistema indicado na forma /usr/share/doc/Debian/reference/.

As seguintes abreviaes so usadas :

LDP : Projeto de Documentao Linux (http://www.tldp.org/) DDP : Projeto de Documentao Debian (http://www.debian.org/doc/)

Neste documento somente URLs so exibidas para documentos LDP, mas estes podem tambm ser obtidos como um pacote e instalados em /usr/share/doc/HOWTO/. Consulte Referncias, Seo 15.1.

1.3 Scripts de exemploScripts de exemplo esto disponveis no subdiretrio de exemplos instalado em /usr/share/doc/Debian/reference/; para arquivos ocultos, o "." inicial no nome do arquivo convertido para caixa baixa "_". Uma extenso extra foi adicionada quando existem vrios scripts de exemplo alternativos.

1.4 Configurao bsicaCaso o sistema esteja instalado com o mnimo de pacotes, certifique-se de executar os seguintes comandos para instalar alguns pacotes essenciais e alguns documentos chave :# aptitude install mc less ssh vim kernel-package \ manpages-dev doc-debian doc-linux-text \ debian-policy developers-reference maint-guide \

apt-howto harden-doc debian-reference \ libpam-doc glibc-doc samba-doc exim4-doc-html

1.5 Bsico das distribuies DebianO Debian oferecido em 3 "sabores" de distribuies :

stable: Boa para usar em um servidor de produo. Chato para uma estao de trabalho (WS). Consulte A distribuio stable, Seo 2.1.3. testing: Boa para usar em uma WS. Consulte A distribuio testing, Seo 2.1.4. unstable: Nunca use-a cegamente. Consulte A distribuio unstable, Seo 2.1.5.

Leia pelo menos a lista de discusso chave [email protected] para atualizaes sobre o estado do Debian. Em Maro de 2002, estas trs verses de distribuies correspondiam s verses de codinomes Potato (qualidade de produo), Woody (beta-teste, j bastante estvel quando o lanamento era iminente), e Sid (alfa-teste). Em Agosto de 2002, logo aps o lanamento do Woody, as distribuies correspondiam a Woody (qualidade de produo), Sarge (betateste, teria algumas arestas ruins por um tempo) e Sid (sempre alfa-teste). Quando os pacotes na unstable no possuem bugs crticos ao lanamento (RC) cadastrados para eles aps a primeira semana ou mais, eles so automaticamente promovidos para a testing. Consulte Os repositrios Debian, Seo 2.1; H duas maneiras de habilit-lo a executar as ltimas verses de software em um sistema.

Atualizando uma distribuio para a testing, Captulo 5 (principalmente para prpositos de WS) Portar um pacote para o sistema stable, Seo 6.4.10 (principalmente para prsitos de servidor)

Seguir o sabor testing do Debian tem o efeito colateral de obter correes de segurana muito lentamente. Ento fique alerta. Se voc misturar sabores do Debian, usando partes de testing ou unstable na stable, voc comumente ser atualizado em muitos pacotes chaves de forma no intencional a partir da testing ou unstable que podem ter bugs. Ento fique alerta. Executar os sabores testing ou unstable do Debian envolve um risco aumentado de encontrar bugs srios. Esse risco pode ser gerenciado implementando um esquema de multi-inicializao com um sabor mais estvel do Debian, ou implementando o truque legal

de usar o chroot com o mais estvel como descrito em chroot, Seo 8.6.34. Esse ltimo possibilitar executar diferentes sabores do Debian simultaneamente em consoles diferentes. Aps explicar alguns fundamentos sobre a distribuio Debian em Fundamentos Debian, Captulo 2, apresentarei alguma informao bsica para ajud-lo a viver alegremente com o ltimo software, tirando vantagem das distribuies testing e unstable do Debian. Os impacientes devem pular imediatamente para Comandos de sobrevivncia do Debian, Seo 6.3. Feliz atualizao !

Referncia Debian Captulo 2 - Fundamentos DebianEste captulo fornece informao fundamental sobre o sistema Debian para nodesenvolvedores. Para informao oficial, consulte :

Manual de Polticas Debian Referncia do Desenvolvedor Debian Guia do Novo Desenvolvedor Debian

listados em Referncias, Seo 15.1. Caso voc esteja procurando por explicaes "como-fazer" menos detalhadas, pule diretamente para Gerenciamento de pacotes Debian, Captulo 6 ou para outros captulos relevantes. Este captulo baseado em documentos obtidos da "FAQ Debian", altamente reorganizados para permitir que o administrador de sistemas Debian comum possa comear.

2.1 Os repositrios Debian2.1.1 Estruturas de diretrioO software que foi empacotado para o Debian est disponvel em uma das diversas rvores de diretrios em cada site espelho Debian atravs de FTP ou HTTP. Os seguintes diretrios podem ser encontrados em cada site espelho Debian sob o diretrio debian :dists/:

Este diretrio contm as "distribuies" e era a maneira cannica de acessar pacotes atuais disponveis nas distribuies e pr-distribuies Debian. Alguns pacotes antigos, arquivos Contents-*.gz, e arquivos Packages.gz ainda esto aqui.pool/:

A nova localizao fsica para todos os pacotes das distribuies e pr-distribuies Debian.tools/:

Utilitrios DOS para criao de discos de partida, particionamento de seu disco, compactao/descompactao de arquivos e inicializao do Linux.doc/:

A documentao bsica do Debian, como o FAQ, instrues do sistema de relatos de bugs, etc.indices/:

O arquivo Maintainers e os arquivos override.project/:

em sua maioria materiais somente para desenvolvedores, como :project/experimental/:

Este diretrio contm pacotes e ferramentas que ainda esto sendo desenvolvidos, e ainda esto em estgio alpha. Os usurios no deveriam estar usando pacotes daqui porque os mesmos podem ser perigosos e causarem danos mesmo para os mais experientes.project/orphaned/:

Pacotes que foram abandonados por seus antigos mantenedores e retirados da distribuio.

2.1.2 Distribuies DebianNomalmente existem trs distribuies Debian no diretrio dists. Elas so nomeadas a distribuio stable, a distribuio testing e a distribuio unstable. Algumas vezes existe tambm uma distribuio frozen. Cada distribuio definida como uma ligao simblica para a diretrio real com um codinome no diretrio dists.

2.1.3 A distribuio stableAs entradas de pacotes para a distribuio stable, Debian Sarge (3.1r0), so mantidas no diretrio stable (ligao simblica para sarge/): stable/main/:

Este diretrio contm os pacotes que formalmente constituem a verso lanada mais recente do sistema Debian.

Estes pacotes todos seguem as Linhas Guias Debian para o Software Livre (DFSG) (tambm disponvel como /usr/share/doc/debian/social-contract.txt instalado por debian-doc) e so todos livremente utilizveis e livremente distribudos. stable/non-free/:

Este diretrio contm pacotes da distribuio que so restritos de alguma forma que requer que os distribuidores tenham cuidado especial com requerimentos de direitos de cpia especificados. Por exemplo, alguns pacotes possuem licenas que probem sua distribuio comercialmente. Outros podem ser redistribudos mas so de fato shareware e no software livre. As licenas de cada um desses pacotes devem ser estudadas, e possivelmente negociadas, antes que estes pacotes possam ser includos em qualquer redistribuio (por exemplo, em um CD-ROM).

stable/contrib/:

Este diretrio contm pacotes que atendem aos requerimentos da DFSG e podem ser livremente distribudos, mas de alguma forma dependem de um pacote que no livremente distribuvel e portanto disponvel somente na seo non-free.

Agora, alm das localizaes acima, os pacotes fsicos novos so localizados sob o diretrio pool (O diretrio pool, Seo 2.1.10). O estado atual dos bugs da distribuio stable relatado na pgina web Problemas da Stable.

2.1.4 A distribuio testingAs entradas de pacotes para a distribuio testing, Debian Etch, so gravadas no diretrio testing (ligao simblica para etch/) depois que os mesmos tenham passado por um certo nvel de testes na unstable. Agora, alm das localizaes acima, novos pacotes fsicos esto localizados sob o diretrio pool (O diretrio pool, Seo 2.1.10). Existem tambm os subdirettios main, contrib, e non-free na testing, que tm as mesmas funes como na stable. Estes pacotes devem estar sincronizados em todas as arquiteturas onde eles foram compilados e no devem ter dependncias que faam com que no seja possvel instal-los; eles tambm tm que possuir menos bugs crticos ao lanamento do que as verses atualmente na unstable. Dessa forma, esperamos que a testing esteja sempre perto de ser uma candidata ao lanamento. Maiores detalhes sobre o mecanismo da testing esto disponveis em http://www.debian.org/devel/testing. O ltimo estado da distribuio testing est relatado nestes sites :

desculpas de atualizao

problemas da testing bugs crticos ao lanamento bugs do sistema bsico bugs em pacotes standard e em tarefas outros bugs e notas sobre festas de matana de bugs

2.1.5 A distribuio unstableAs entradas de pacotes para a distribuio unstable, sempre com o codinome "Sid", so gravadas no diretrio unstable (ligao simblica para sid/) depois que feito o upload dos mesmos para o repositrio Debian, e permanecem por l at que so movidos para testing/. Novos pacotes fsicos esto localizados sob o diretrio pool (O diretrio pool, Seo 2.1.10). Existem tambm subdiretrios main, contrib e non-free em unstable/, que tm as mesmas funes como na stable/. A distribuio unstable contm um snapshot do sistema de desenvolvimento mais recente. Os usurios podem usar e testar estes pacotes, mas so alertados de seu estado de preparao. A vantagem de usar a distribuio unstable que voc est sempre em dia no projeto de software Debian mas se ele quebra, voc tem que arrumar as coisas voc mesmo :-) O estado atual dos bugs da distribuio unstable relatado na pgina web Problemas da Unstable.

2.1.6 A distribuio frozenQuando a distribuio testing est madura o bastante, ela congelada, o que significa que nenhum cdigo novo aceito, somente correes de bugs, caso necessrio. Uma nova rvore testing tambm criada no diretrio dists e lhe atribudo um novo nome. A distribuio frozen passa por alguns meses de testes, com atualizaes intermitentes e congelamentos profundos chamados "ciclos de testes". Mantemos um registro dos bugs na distribuio frozen que podem atrasar o lanamento de um pacote ou bugs que possam atrasar o lanamento por completo. Uma vez que essa contagem de bugs seja minimizada at um valor aceitvel, a distribuio frozen se torna estvel, lanada, e a distribuio stable anterior se torna obsoleta (e movida para o repositrio).

2.1.7 Codinomes das distribuies DebianNomes fsicos de diretrios no diretrio dists/, como sarge/ e etch/, so somente "codinomes". Quando uma distribuio Debian est no estgio de desenvolvimento, ela no possui nmero de verso e sim um codinome. O propsito destes codinomes tornar o

espelhamento das distribuies Debian mais fcil (caso um diretrio como unstable seja de repente mudado para stable/, o download de uma poro de coisas teria que ser feito de novo desnecessariamente). Atualmente, stable uma ligao simblica para sarge/ e testing uma ligao simblica para etch/. Isto significa que Sarge a atual distribuio estvel e Etch a atual distribuio de testes. uma ligao simblica permanente para sid/, uma vez que Sid sempre a distribuio instvel.unstable

2.1.8 Codinomes usados no passadoOutros codinomes que j foram usados so : "Buzz" para a verso 1.1, "Rex" para a verso 1.2, "Bo" para as verses 1.3.x, "Hamm" para a verso 2.0, "Slink" para a verso 2.1, "Potato" para a verso 2.2, "Woody" para a verso 3.0, e "Sarge" para a verso 3.1.

2.1.9 A origem dos codinomesAt agora eles foram personagens tirados do filme Toy Story feito pela Pixar.

Buzz (Buzz Lightyear) era o homem do espao, Rex era o tiranossauro, Bo (Bo Peep) era a garota que cuidava do rebanho, Hamm era o porquinho cofre, Slink (Slinky Dog) era o cachorro de brinquedo, Potato era, claro, o Sr. Cabea de Batata, Woody era o cowboy, Sarge era o lder dos Homens do Exrcito de Plstico Verde, Etch (Etch-a-Sketch) era o blackboard, Sid era o garoto da porta ao lado que destrua os brinquedos.

2.1.10 O diretrio poolHistoricamente, os pacotes eram mantidos em um subdiretrio de dists correspondendo distribuio que os continha. Isso acabou trazendo vrios problemas, como um alto consumo de banda nos espelhos quando mudanas maiores eram feitas. Os pacotes so agoras mantidos em uma grande "piscina" (pool), estruturada de acordo com o nome do pacote fonte. Para que isso seja gerencivel, a piscina subdividida por sees (main, contrib e non-free) e pela primeira letra do nome do pacote fonte. Estes diretrios contm diversos arquivos: os pacotes binrios para cada arquitetura, e os pacotes fontes a partir dos quais os pacotes binrios foram gerados.

Voc pode descobrir onde cada pacote colocado executando um comando como aptcache showsrc nomemeupacote e olhando na linha "Directory:". Por exemplo, os pacotes do apache esto armazenados em pool/main/a/apache/. Como h muitos pacotes lib*, esses so tratados especialmente: por exemplo, os pacotes libpaper esto armazenados em pool/main/libp/libpaper/. Os diretrios dists ainda so usados pelos arquivos de ndice usados por programas como o apt. Alm disso, no momento que escrevo, distribuies antigas no foram convertidas para usar piscinas portanto voc ver caminhos contendo nomes de distribuies como potato ou woody no campo "Diretrio" do cabealho. Normalmente, voc no ter que se preocupar com isto, uma vez que o novo apt e provavelmente o antigo dpkg-ftp (consulte Mtodos para atualizar um sistema Debian, Seo 2.3.1) iro gerenciar isso sem problemas. Caso voc queira mais informaes, veja a RFC: implementation of package pools.

2.1.11 Notas histricas sobre a SidQuando a atual Sid no existia, a organizao do site do repositrio Debian tinha uma grande falha: existia uma pressuposio de que quando uma arquitetura era criada no unstable/ atual, ela seria lanada quando esta distribuio virasse a nova stable. Para muitas arquiteturas esse no era o caso, e como resultado todos aqueles diretrios tiveram de ser movidos na poca de lanamento. Isto era impraticvel pois a movimentao comeria muita banda. Os administradores do repositrio resolveram este problema por diversos anos colocando binrios para arquiteturas no lanadas em um diretrio especial chamado sid. Para aquelas arquiteturas ainda no lanadas, a primeira vez que as mesmas foram lanadas existia uma ligao do atual stable/ para sid/, e a partir de ento elas eram criadas dentro da rvore unstable/ como de costume. Este layout era de certa forma confuso para os usurios. Com o advento das piscinas de pacotes (consulte O diretrio pool, Seo 2.1.10) durante o desenvolvimento da distribuio Woody, pacotes binrios comearam a ser armazenados em uma localizao cannica na piscina, no importando a distribuio, assim lanar uma distribuio no mais causava grade consumo de banda nos espelhos (existe, porm, uma poro de consumo gradual de banda durante o processo de desenvolvimento).

2.1.12 Pacotes enviados para incoming/Os pacotes enviados esto primeiro localizados em http://incoming.debian.org/ antes de serem checados para assegurar que eles realmente vieram de um desenvolvedor Debian (e so colocados no subdiretrio DELAYED caso tenham sido enviados por um no-

desenvolvedor (Non-Mantainer Upload - NMU)). Uma vez por dia, eles so movidos de incoming/ para unstable/. Em uma emergncia, voc pode querer instalar pacotes de incoming/ antes que eles atinjam unstable/.

2.1.13 Obtendo um pacote antigoEnquanto a maioria das distribuies Debian atuais so mantidas sob o diretrio debian em cada site espelho Debian, repositrios para distribuies Debian mais antigas como a Slink so mantidos em http://archive.debian.org/ ou sob o diretrio debian-archive em cada site espelho Debian. Os pacotes antigos da testing e da unstable podem ser encontrados em http://snapshot.debian.net/.

2.1.14 Sees de ArquiteturasDentro de cada rvore maior de diretrios (dists/stable/main, dists/stable/contrib, dists/stable/non-free, dists/unstable/main/, etc.), as entradas do pacote binrio residem em subdiretrios cujos nomes indicam a arquitetura do chip para o qual eles foram compilados. binary-all/,

para pacotes que so independentes de arquitetura. Estes incluem, por exemplo, scripts Perl ou documentao pura.binary-plataforma/,

para pacotes que executam em uma plataforma binria

particular. Por favor note que os pacotes binrios atuais para a testing e unstable no mais residem nestes diretrios, mas em um diretrio de alto nvel pool. Os arquivos de ndice (Packages e Packages.gz) foram mantidos, porm, para compatibilidade anterior. Para conhecer as arquiteturas binrias suportadas atualmente, consulte as Notas de Lanamento para cada distribuio. Elas podem ser localizadas nos sites das Notas de Lanamento para a stable e para a testing.

2.1.15 O cdigo-fonteO cdigo-fonte est includo para tudo no sistema Debian. Alm disso, os termos das licenas da maioria dos programas no sistema requerem que o cdigo-fonte seja distribudo junto com os programas, ou que uma oferta para fornecer o cdigo-fonte acompanhe os programas.

Normalmente o cdigo-fonte distribudo nos diretrios source, os quais so paralelos a todos os diretrios de binrios para arquiteturas especficas ou, mais recentemente, no diretrio pool (consulte O diretrio pool, Seo 2.1.10). Para obter o cdigo-fonte sem ter estar familiarizado com a estrutura do repositrio Debian , tente um comando como aptget source meunomedepacote. Alguns pacotes, notavelmente pine, esto somente disponveis como pacotes fonte devido a suas limitaes de licenciamento. (Recentemente o pacote pine-tracker foi fornecido para facilitar a instalao do Pine.) Os procedimentos descritos em Portar um pacote para o sistema stable, Seo 6.4.10 e Empacotamento, Seo 13.9 fornecem meios para construir um pacote manualmente. O cdigo-fonte pode ou no estar disponvel para pacotes nos diretrios contrib e nonfree, os quais no so formalmente parte do sistema Debian.

2.2 O sistema de gerenciamento de pacotes Debian2.2.1 Viso Geral dos pacotes DebianPacotes geralmente contm todos os arquivos necessrios para implementar um conjunto de comandos relacionados ou recursos. Existem dois tipos de pacotes Debian :

Pacotes binrios, os quais contm executveis, arquivos de configurao, pginas de manual/info, informao de copyright e outra documentao. Estes pacotes so distribudos em um formato de arquivo especfico Debian (consulte Formato de pacotes Debian, Seo 2.2.2); eles so normalmente identificados por terem uma extenso de arquivo .deb. Pacotes binrios podem ser desempacotados usando o utilitrio Debian dpkg; detalhes so dados em sua pgina de manual. Pacotes fonte, os quais consistem de um arquivo .dsc descrevendo o pacote fonte (incluindo os nomes dos arquivos a seguir), um arquivo .orig.tar.gz que contm o fonte original no modificado em formato tar e compactado com o gzip, e normalmente um arquivo .diff.gz que contm as mudanas especficas do Debian feitas em relao ao fonte original. O utilitrio dpkg-source empacota e desempacota arquivos fonte Debian; detalhes so fornecidos em sua pgina de manual.

A instalao de software pelo sistema de pacotes utiliza "dependncias" que so cuidadosamente especificadas pelos mantenedores dos pacotes. Estas dependncias esto documentadas no arquivo control associado a cada pacote. Por exemplo, o pacote contendo o compilador GNU C (gcc) "depende" do pacote binutils que inclui o ligador e o montador. Caso um usurio tente instalar o gcc sem ter instalado primeiro o binutils, o sistema de gerenciamento de pacotes (dpkg) emitir uma mensagem de erro dizendo que

ele precisa tambm do binutils e parar de instalar o gcc. (Porm, esta facilidade pode ser circulada pelo usurio insistente, consulte dpkg(8).) Para detalhes adicionais, consulte Dependncias de pacotes, Seo 2.2.8 abaixo. As ferramentas de empacotamento Debian podem ser usadas para :

manipular e gerenciar pacotes ou partes de pacotes, auxiliar o usurio na separao de pacotes que devem ser transmitidos atravs de uma mdia de tamanho limitado, como disquetes, auxiliar desenvolvedores na construo de repositrios de pacotes, e auxiliar usurios na instalao de pacotes que se encontram em um site repositrio Debian.

2.2.2 Formato de pacotes DebianUm "pacote" Debian, ou um arquivo Debian, contm os arquivos executveis, bibliotecas e documentao associada a um programa em particular ou a uma sute ou conjunto de programas relacionados. Normalmente, um arquivo Debian tem um nome de arquivo finalizando em .deb. [1] Os detalhes do formato de pacote binrio Debian esto descritos na pgina de manual deb(5). Devido a este formato interno estar sujeito a mudanas (entre verses maiores do Debian), sempre utilize o dpkg-deb(1) para manipular arquivos .deb. Pelo menos para a distribuio Sarge, todos os arquivos Debian so manipulveis pelos comandos Unix padres ar e tar, mesmo quando comandos dpkg no esto disponveis.

2.2.3 Convenes de nomenclatura para nomes de arquivos de pacotes DebianOs nomes de arquivos de pacotes Debian seguem a seguinte conveno :foo_NmeroDeVerso-NmeroDeRevisoDebian.deb

onde foo representa o nome do pacote. Como uma checagem, pode-se determinar o nome do pacote associado a um arquivo Debian em particular (arquivo .deb) em uma das seguintes maneiras :

inspecione o arquivo "Packages" no diretrio onde o mesmo foi armazenado em um site repositrio Debian . Este arquivo contm uma estrofe descrevendo cada pacote; o primeiro campo de cada estrofe o nome formal do pacote.

use o comando dpkg --info foo_VVV-RRR.deb (onde VVV e RRR so a verso e a reviso do pacote em questo, respectivamente). Isto exibe, entre outras coisas, o nome do pacote do arquivo sendo desempacotado.

O componente VVV o nmero de verso especificado pelo desenvolvedor original (upstream). No existem padres ditando nmeros de verso, portanto eles podem ter formatos to diferentes como "19990513" e "1.3.8pre1". O componente RRR um nmero de reviso Debian e especificado pelo desenvolvedor Debian (ou um usurio individual caso o mesmo escolha construir o pacote ele mesmo). Este nmero corresponde ao nvel de reviso do pacote Debian; portanto, um novo nvel de reviso geralmente significa mudanas no Makefile Debian (debian/rules), no arquivo de controle Debian (debian/control), nos scripts de instalao ou remoo (debian/p*) ou nos arquivos de configurao usados pelo pacote.

2.2.4 Preservao da configurao localA preservao dos arquivos configurveis pelo usurio habilitada atravs do mecanismo "conffiles" do Debian. Arquivos de configurao do usurio (normalmente colocados em /etc/) so especificados no conffiles dentro do sistema de pacotes Debian. O sistema de gerenciamento de pacotes garante a no sobreescrita destes arquivos quando o pacote atualizado. Para determinar exatamente quais arquivos so preservados durante uma atualizao, execute :dpkg --status pacote

e olhe em "Conffiles:". Detalhes sobre o contedo de um arquivo confffiles Debian so fornecidos no Manual de Polticas Debian, seo 11.7 (consulte Referncias, Seo 15.1).

2.2.5 Scripts de manuteno DebianOs scripts de manuteno Debian so scripts executveis que so automaticamente executados antes ou depois que um pacote instalado. Junto com um arquivo de nome control, todos esses arquivos so parte da seo "control" de um arquivo Debian. Os arquivo individuais so: preinst

Este script executado antes que seu pacote seja desempacotado de seu arquivo Debian (.deb). Muitos scripts "preinst" param servios para os pacotes que esto sendo atualizados at que sua instalao ou atualizao esteja completa (seguindo a execuo com sucesso do script "postinst"). postinst Este script tipicamente completa qualquer configurao requerida de um pacote uma vez que o mesmo tenha sido desempacotado de seu arquivo Debian (.deb). Geralmente, scripts 'postinst' fazem perguntas aos usurios e/ou avisam o usurio que caso o mesmo aceite valores padres ele dever se lembrar de voltar e reconfigurar o pacote conforme a necessidade. Muitos scripts "postinst" executam ento quaisquer comandos necessrios para iniciar ou reiniciar um servio uma vez que o novo pacote foi instalado ou atualizado. prerm Este script tipicamente pra quaisquer daemons que esto associados com um pacote. Ele executado antes da remoo de arquivos associados com um pacote. postrm Este script tipicamente modifica ligaes ou outros arquivos associados com um pacote e/ou remove arquivos criados pelo pacote. (Consulte tambm Pacotes virtuais, Seo 2.2.7.) Atualmente todos os arquivos de controle podem ser encontrados no /var/lib/dpkg/info. Os arquivos relevantes ao pacote foo iniciam com o nome "foo" e possuem extenses de arquivos "preinst", "postinst", etc, de acordo. O arquivo foo.list neste diretrio lista todos os arquivos que foram instalados com o pacote foo. (Note que a localizao destes arquivos algo interno do dpkg, e pode estar sujeita a mudanas.)

2.2.6 Prioridade de pacotesA cada pacote Debian atribudo uma prioridade pelos mantenedores da distribuio, como um auxlio ao sistema de gerenciamento de pacotes. As prioridades so :

Pacotes Required so necessrios para o funcionamento correto do sistema. Isso inclui todas as ferramentas necessrias para reparar defeitos no sistema. Voc no deve remover esses pacotes ou seu sistema pode vir a se tornar completamente quebrado e voc poder provavelmente no ser capaz de usar o dpkg para colocar as coisas de volta em seus lugares. Sistemas somente com pacotes Required so provavelmente inutilizveis para muitos propsitos, mas possuem funcionalidade o

suficiente para permitir que o administrador do sistema inicie o sistema e instale mais software.

Pacotes Important devem ser encontrados em qualquer sistema parecido com Unix. Outros pacotes sem os quais o sistema no funcionar bem ou no ser muito til se encaixam aqui. Isso no inclui o Emacs ou X11 ou TeX ou quaisquer outras grandes aplicaes. Esses pacotes constituem somente a infraestrutura mnima.

Pacotes Standard so padro em qualquer sistema Linux, incluindo um sistema em modo caracter razoavelmente pequeno mas no muito limitado. Isso o que ser instalado por padro caso os usurios no selecionem mais nada. Isso no inclui muitas grandes aplicaes, mas inclui o Emacs (ele mais uma pea da infraestrutura do que uma aplicao) e um subconjunto razovel do Tex e LaTeX (caso isso seja possvel sem o X).

Pacotes Optional incluem todos aqueles pacotes que voc poderia razoavelmente querer instalar mesmo caso no esteja familiarizado com eles e caso voc no possua requerimentos especializados. Isso inclui X11, uma distribuio completa TeX e uma poro de aplicaes.

Pacotes Extra so pacotes que conflitam com outros pacotes com prioridades mais altas provavelmente, tero pouco uso para usurios que no so familiarizados a eles, ou tm requerimentos especiais que no os deixam ser encaixados em "Optional".

2.2.7 Pacotes virtuaisUm pacote virtual um nome genrico que se aplica a qualquer um de um grupo de pacotes, todos os quais oferecem funcionalidade bsica similar. Por exemplo, os programas tin e trn so leitores de notcias e devem portanto satisfazer quaisquer dependncias de um programa que requer um leitor de notcias no sistema para que funcione ou seja til. portanto dito que eles fornecem um "pacote virtual" chamado news-reader. Similarmente, o exim e o sendmail oferecem ambos a funcionalidade de um agente de transporte de mensagens, portanto dito que eles fornecem o pacote virtual mailtransport-agent. Caso um dos dois esteja instalado, ento qualquer programa que depende da instalao de um agente de transporte de mensagens estar satisfeito pela existncia desse pacote virtual. O Debian possui um mecanismo que, se mais de um pacote que fornece o mesmo pacote virtual estiver instalado em um sistema, o administrador do sistema pode definir um como o

pacote preferido. O comando relevante update-alternatives e descrito mais adiante em Comandos alternativos, Seo 6.5.3.

2.2.8 Dependncias de pacotesO sistema de pacotes Debian possui uma faixa de "dependncias" de pacotes que desenvolvida para indicar (com uma sinalizao nica) o nvel no qual o Programa A pode operar independentemente da existncia do Programa B em um dado sistema :

O Pacote A depende do Pacote B se B precisar absolutamente estar instalado para que A possa ser executado. Em alguns casos, A depende no somente de B, mas de uma verso especfica de B. Nestes casos, a dependncia da verso normalmente um limite mnimo, no sentido de que A depende em qualquer verso de B mais recente do que alguma verso especificada. O Pacote A recomenda o Pacote B caso o mantenedor do pacote julgue que a maioria dos usurios no iriam querer A sem tambm ter a funcionalidade fornecida por B. O Pacote A sugere o Pacote B caso B contenha arquivos que estejam relacionados a (e normalmente melhorem) a funcionalidade de A. O Pacote A conflita com o Pacote B quando A no funciona caso B esteja instalado no sistema. Na maioria das vezes, conflitos so casos onde A contm arquivos que so uma melhora daqueles em B. "Conflicts" (conflita) so normalmente combinados com "replaces" (substitui). O Pacote A substitui o Pacote B quando arquivos instalados por B so removidos e (em alguns casos) sobrescritos por arquivos em A. O Pacote A fornece o Pacote B quando todos os arquivos e as funcionalidades de B esto incorporadas em A. Este mecanismo oferece uma maneira para usurios com pouco espao em disco obterem somente aquela parte do pacote A que realmente precisam.

Informao mais detalhada sobre o uso de cada um desses termos pode ser encontrada no Manual de Empacotamento e no Manual de Polticas. Note que o dselect possui um controle mais refinado sobre os pacotes especificados por recomendaes e sugestes do que o apt-get, o qual simplesmente pega todos os pacotes especificados como dependncias e deixa para trs os pacotes especificados como recomendados e sugestes. Ambos os programas em sua forma moderna usam o APT como motor.

2.2.9 O significado de Pr-dependncias"Pre-depends" (pr-dependncias) uma dependncia especial. No caso de um pacote comum, o dpkg ir desempacotar seu arquivo (ou seja, seu arquivo .deb) independentemente dos arquivos dos quais este depende existirem ou no no sistema. Desempacotar significa que o dpkg ir extrair os arquivos de seu arquivo que foi criado para ser instalado em seu sistema e coloc-los nos lugares. Caso estes pacotes dependam da existncia de outros pacotes em seu sistema, o dpkg se recusar a completar a instalao (executando sua ao "configure") at que os outros pacotes sejam instalados. Porm, para alguns pacotes, o dpkg se recusar at mesmo a desempacot-los at que certas dependncias estejam resolvidas. dito que tais pacotes "pr-dependem" da presena de outro(s) pacote(s). O projeto Debian forneceu este mecanismo para suportar a atualizao segura do formato a.out para o formato ELF, onde a ordem na qual os pacotes eram desempacotados era crtica. Existem outras situaes de grandes atualizaes onde este mtodo til, por exemplo, para pacotes com prioridade "required" e sua dependncia libc. Novamente, informao mais detalhada sobre isso pode ser encontrada no Manual de Empacotamento.

2.2.10 Estado do pacoteO estado do pacote pode ser "unknow", "install", "remove", "purge" ou "hold". Estas flags "want" dizem o que o usurio quis fazer com o pacote (como indicado pelas aes do usurio na seo "Selecionar" do dselect ou pelas invocaes diretas do dpkg). Seus significados so :

unknown - o usurio nunca indicou se ele queria o pacote. install - o usurio quer o pacote instalado ou atualizado. remove - o usurio quer o pacote removido, mas no quer remover quaisquer arquivos de configurao. purge - o usurio quer que o pacote seja removido completamente, incluindo os arquivos de configurao. hold - o usurio quer que esse pacote no seja processado, ou seja, ele quer manter a verso atual no estado atual seja este qual for.

2.2.11 Evitando que pacotes sejam atualizadosExistem dois mecanismos para evitar que pacotes sejam atualizados : atravs do dpkg ou, comeando no Woody, atravs do APT. Com o dpkg, exporte primeiro a lista de selees de pacotes :

dpkg --get-selections \* > selections.txt

Edite ento o arquivo resultante selections.txt mudando a linha contendo o pacote que voc desejaria evitar que fosse atualizado, por exemplo, libc6, disso:libc6 install

para isso :libc6 hold

Salve o arquivo e recarregue-o na base de dados do dpkg usando :dpkg --set-selections < selections.txt

Ou, caso voc conhea o nome do pacote a ser mantido (hold), simplesmente execute :echo libc6 hold | dpkg --set-selections

Este processo mantm pacotes no processo de instalao de cada arquivo de pacote. O mesmo efeito pode ser obtido atravs do dselect. Simplesmente entre na tela [S]elecionar, encontre o pacote que voc deseja manter em seu estado atual e pressione a tecla `=' (ou `H'). As modificaes sero vlidas imediatamente depois que voc sair da tela [S]elecionar. O sistema APT na distribuio Woody possui um novo mecanismo alternativo para manter pacotes durante o processo de obteno do arquivo usando Pin-Prioriry. Consulte a pgina de manual apt_preferences(5), e tambm http://www.debian.org/doc/manuals/apt-howto/ ou o pacote apt-howto; Viso geral do arquivo /etc/apt/preferences, Seo 6.2.8 tambm contm uma explicao breve.

2.2.12 Pacotes fontePacotes fonte so distribudos em um diretrio chamado source e voc pode fazer o download dos mesmos manualmente ou useapt-get source foo

para obt-los (consulte a pgina de manual apt-get(8) para maiores informaes sobre como configurar o APT para fazer isso).

2.2.13 Construindo pacotes binrios a partir de um pacote fontePara um pacote foo, voc precisar de todos os arquivos foo_*.dsc, foo_*.tar.gz e foo_*.diff.gz para compilar o fonte (nota: no existe .diff.gz para um pacote nativo Debian). Uma vez que voc os tenha, caso voc possua o pacote dpkg-dev instalado, o comandodpkg-source -x foo_verso-reviso.dsc

ir extrair o pacote em um diretrio chamado foo-verso. Execute os seguintes comandos para criar o pacote binrio:$ cd foo-verso $ su -c "apt-get update ; apt-get install fakeroot" $ dpkg-buildpackage -rfakeroot -us -uc

E ento,# su -c "dpkg -i ../foo_verso-reviso_arquit.deb"

para instalar o novo pacote construdo. Veja Portar um pacote para o sistema stable, Seo 6.4.10.

2.2.14 Criando novos pacotes DebianPara uma descrio mais detalhada, leia o Guia dos Novos Mantenedores, disponvel no pacote maint-guide ou em http://www.debian.org/doc/manuals/maint-guide/.

2.3 Atualizando um sistema DebianUm dos objetivos do Debian oferecer um caminho de atualizao consistente e um processo de atualizao seguro, e ns sempre fazemos o mximo possvel para que uma nova verso seja facilmente atualizvel para quem atualiza da verso anterior. Pacotes iro alertar o usurio quando existirem notcias importantes durante o processo de atualizao e iro frequentemente oferecer uma soluo para um possvel problema. Voc deve tambm ler as Notas de Lanamento, o documento que descreve os detalhes de atualizaes especficas, fornecido em todos os CDs Debian e disponvel na WWW em http://www.debian.org/releases/stable/releasenotes ou http://www.debian.org/releases/testing/releasenotes.

Um guia prtico para atualizaes est disponvel em Gerenciamento de pacotes Debian, Captulo 6. Esta seo descreve os detalhes fundamentais.

2.3.1 Mtodos para atualizar um sistema Debian possvel simplesmente executar uma chamada FTP annima ou usar o wget em um repositrio Debian, procurar atentamente at que seja encontrado o arquivo desejado, fazer o download do mesmo e finalmente instal-lo usando o dpkg. Note que o dpkg ir instalar arquivos de atualizao em seus lugares, mesmo em um sistema em execuo. Algumas vezes, um pacote revisado ir requerer a instalao de uma nova verso revisada de outros pacotes e neste caso a instalao ir falhar at que/a menos que os outros pacotes sejam instalados. Muitas pessoas acham que este mtodo consome muito tempo, uma vez que o Debian se desenvolve to rapidamente tipicamente, uma dzia ou mais pacotes so disponibilizados toda semana. Este nmero maior logo antes de um lanamento de uma verso maior. Para lidar com esta avalanche, muitas pessoas preferem usar um programa automatizado para atualizar. Diversas ferramentas de gerenciamento de pacotes especializadas esto disponveis para este propsito.

2.3.2 Viso geral das ferramentas de gerenciamento de pacotesO sistema de gerenciamento de pacotes possui dois objetivos : a manipulao do arquivo de pacote propriamente dito e obteno de arquivos de pacotes do repositrio Debian. O dpkg executa a primeira tarefa e o APT e o dselect a ltima.

2.3.3 dpkgEste o principal programa para manipular arquivos de pacotes; leia dpkg(8) para um descrio completa. O dpkg fornecido com diversos programas suplementares primitivos.

dpkg-deb: Manipula arquivos .deb. dpkg-deb(1) dpkg-ftp: Um antigo comando de obteno de arquivos de pacotes. dpkg-ftp(1) dpkg-mountable: Um antigo comando de obteno de arquivos de pacotes. dpkgmountable(1)

dpkg-split: Divide um pacote grande em arquivos menores. dpkg-split(1)

O dpkg-ftp e dpkg-mountable ficaram obsoletos com a introduo do sistema APT.

2.3.4 APTO APT (Advanced Packaging Tool) uma avanada interface para o sistema de gerenciamento de pacotes Debian, consistindo de vrios programas cujos nomes tipicamente comeam com "apt-". O apt-get, apt-cache e o apt-cdrom so ferramentas de linha de comando para gerenciar pacotes. Eles tambm funcionam como programas "back-end" do usurio para outras ferramentas, como o dselect e o aptitude. Para maiores informaes, instale o pacote apt e leia apt-get(8), apt-cache(8), aptcdrom(8), apt.conf(5), sources.list(5), apt_preferences(5) (Woody), e /usr/share/doc/apt/guide.html/index.html. Uma fonte alternativa de informao o APT HOWTO. Este pode ser instalado pelo pacote apt-howto em /usr/share/doc/Debian/apt-howto/. apt-get upgrade e apt-get dist-upgrade instalam apenas os pacotes listados em "Depends:" e ignoram os pacotes listados em "Recommends:" e "Suggests:". Para evitar isso use o dselect.

2.3.5 dselectEste programa uma interface de usurio baseada em menus para o sistema de gerenciamento de pacotes Debian. Ele particularmente til para primeiras instalaes e atualizaes em larga escala. Veja dselect, Seo 6.2.3 Para maiores informaes, instale o pacote install-doc e leia/usr/share/doc/install-doc/dselect-beginner.en.html

ou Documentao para

Iniciantes do dselect.

2.3.6 Atualizando um sistema em execuoO kernel (sistema de arquivos) em sistemas Debian suporta a troca de arquivos mesmo quando estes esto sendo usados. Oferecemos tambm um programa chamado start-stop-daemon que usado para iniciar daemons em tempo de inicializao da mquina ou para parar daemons quando o nvel de execuo do kernel mudado (exemplo, de multiusurio para usurio nico ou para halt). O mesmo programa usado pelos scripts de instalao quando um novo pacote contendo um daemon instalado, para parar daemons em execuo, e reinici-los quando necessrio. Note que o sistema Debian no requer o uso do modo de usurio nico para atualizar um sistema em execuo.

2.3.7 Arquivos .deb baixados e em cacheCaso voc tenha feito o download de arquivos para seu disco (o que no absolutamente necessrio, veja acima a descrio de dpkg-ftp ou APT), depois de instalar os pacotes voc pode remov-los de seu sistema. Caso o APT seja usado, esses arquivos so colocados em cache no diretrio /var/cache/apt/archives/. Voc pode apag-los depos da instalao (apt-get clean) ou copi-los para o diretrio /var/cache/apt/archives/ de outra mquina para economizar tempo de download durante instalaes subseqentes.

2.3.8 Mantendo registros para atualizaesO dpkg mantm um registro dos pacotes que foram desempacotados, configurados, removidos e/ou expurgados, mas no mantm (atualmente) um log da atividade do terminal que ocorreu enquanto um pacote esteve sendo manipulado. A maneira mais simples de contornar isso executar suas sesses dpkg, dselect, apt-get, etc., dentro do programa script(1).

2.4 O processo de inicializao Debian2.4.1 O programa initComo todos os Unices, o Debian inicia executando o programa init. O arquivo de configurao para o init (que /etc/inittab) especifica que o primeiro script a ser executado deve ser o /etc/init.d/rcS. Esse script executa todos os scripts em /etc/rcS.d/ atravs do source ou fork de subprocessos, dependendo de sua extenso de arquivo, para executar a inicializao como a checagem e a montagem de sistemas de arquivos, carregamento de mdulos, incio de servios de rede, configurao do relgio, etc. Ento, por compatibilidade, ele tambm executa os arquivos (exceto aqueles com um `.' em seu nome) em /etc/rc.boot . Quaisquer scripts no diretrio posterior so normalmente reservados para o uso do administrador do sistema e us-los em pacotes obsoleto. Veja Inicializao do sistema, Seo 9.1 e Nveis de execuo de Sistema e scripts init.d no Manual de Polticas Debian para maiores informaes.

2.4.2 Nveis de execuoDepois de completar o processo de inicializao, o init executa todos os scripts de inicializao em um diretrio especificado pelo nvel de execuo padro (este nvel de

execuo dado pela entrada para o id em /etc/inittab. Como a maioria dos Unices compatveis com System V, o Linux possui 7 nveis de execuo :

0 (parar o sistema), 1 (modo de usurio nico), 2 through 5 (vrios modos multiusurio), e 6 (reinicia o sistema).

Sistemas Debian vm com o valor id=2, o que indica que o nvel de execuo padro ser 2 quando o estado multiusurio for iniciado e que os scripts em /etc/rc2.d/ sero executados. De fato, os scripts em quaisquer dos diretrios em /etc/rcN.d/ so apenas ligaes simblicas que apontam para scripts em /etc/init.d/. Porm, os nomes dos arquivos em cada um dos diretrios /etc/rcN.d/ so selecionados para indicar a maneira que os scripts em /etc/init.d/ sero executados. Especificamente, antes de entrar em qualquer nvel de execuo, todos os scripts iniciados com `K' so executados; esses scripts matam (param) servios. Ento todos os scripts iniciados com `S' so executados; esses scripts iniciam servios. O nmero de dois dgitos seguido de `K' ou `S' indica a ordem na qual o script executado. Scripts de menor valor numrico so executados primeiro. Esse mtodo funciona porque todos os scripts em /etc/init.d/ aceitam um argumento que pode ser "start" (iniciar), "stop" (parar), "reload" (recarregar), "restart" (reiniciar) ou "force-reload" (forar-recarregar) e iro portanto cumprir a tarefa indicada pelo argumento. Esses scripts podem ser usados mesmo depois que um sistema tenha sido iniciado para controlar vrios processos. Por exemplo, com o argumento "reload" o comando# /etc/init.d/exim4 reload

envia ao daemon exim4 um sinal para que o mesmo releia seu arquivo de configurao.

2.4.3 Personalizando o processo de inicializaoO Debian no utiliza o diretrio rc.local no estilo BSD para personalizar o processo de inicializao; ao invs disso ele fornece o seguinte mecanismo de personalizao. Suponha que um sistema precisa executar o script foo na inicializao da mquina ou ao entrar em um nvel de execuo (System V) em especifco. O administrador do sistema dever ento : 1. Colocar o script foo dentro do diretrio /etc/init.d/.

2. Executar o comando Debian update-rc.d com os argumentos apropriados para criar as ligaes entre os diretrios (especificados na linha de comando) rc?.d e /etc/init.d/foo. Aqui, ? um nmero de 0 a 6 que corresponde a um dos nveis de execuo System V. 3. Reiniciar o sistema. O comando update-rc.d criar as ligaes entre os arquivos nos diretrios rc?.d e o script em /etc/init.d/. Cada ligao iniciar com um `S' ou um `K', seguido por um nmero, seguido pelo nome do script. Quando o sistema entra em um nvel de execuo N, scripts que iniciam com `K' em /etc/rcN.d/ so executados com stop como seu argumento, seguido por aqueles comeando com `S' em /etc/rcN.d com start como seu argumento. Algum poderia, por exemplo, fazer com que o script foo seja executado na inicializao do sistema colocando-o em /etc/init.d/ e instalando as ligaes com o comando update-rc.d foo defaults 19. O argumento defaults se refere aos nveis de execuo padres, que so do nvel 2 at o nvel 5. O argumento 19 assegura que foo seja chamado antes de quaisquer scripts contendo nmeros 20 ou superiores.

2.5 Suportando diversidadesO Debian suporta diversas maneiras de acomodar os desejos do administrador do sistema sem prejudicar o sistema. dpkg-divert, equivs,

veja O comando dpkg-divert, Seo 6.5.1.

veja O pacote equivs, Seo 6.5.2. veja Comandos alternativos, Seo 6.5.3. de inicializao. Consulte make-

update-alternative,

make-kpkg pode acomodar muitos gerenciadores kpkg(1) e Mtodo Debian padro, Seo 7.1.1.

Quaisquer arquivos sob /usr/local/ pertencem ao administrador do sistema e o Debian no ir toc-los. A maioria (ou todos) dos arquivos sob /etc so conffiles e o Debian no ir sobrescrev-los em atualizaes a menos que o administrador do sistema explicitamente pea isso.

2.6 Internacionalizao

O sistema Debian internacionalizado e oferece suporte para a exibio e entrada de caracteres em muitos idiomas, seja no console ou sob o X. Muitos documentos, pginas de manual e mensagens do sistema foram traduzidos para um nmero crescente de idiomas. Durante a instalao o Debian pede ao usurio para escolher um idioma para ser usado na instalao (e algumas vezes o variante local do idioma). Caso seu sistema instalado no suporte todos os recursos do idioma que voc precisa ou caso voc precise mudar entre idiomas ou instalar um teclado diferente para suportar seu idioma, consulte Localizao, Seo 9.7.

2.7 Debian e o kernelConsulte O kernel Linux no Debian, Captulo 7.

2.7.1 Compilando um kernel a partir de um fonte no DebianVoc precisa entender o poltica Debian em relao a cabealhos. As bibliotecas C Debian so construdas com as verses estveis mais atuais dos cabealhos do kernel. Por exemplo, a verso Debian-1.2 usou a verso 5.4.13 dos cabealhos. Esta prtica contrasta com os pacotes fontes do kernel Linux distribudos em todos os repositrios de sites FTP Linux, que usam as verses mais recentes at mesmo dos cabealhos. Os cabealhos do kernel distribudos com os fontes do kernel esto localizados em /usr/include/linux/include/. Caso voc precise compilar um programa com cabealhos de kernel que sejam mais novos do que aqueles fornecidos pelo pacote lib6-dev, voc deve ento adicionar -I /usr/src/linux/include/ a sua linha de comando quando compilar. Isto ocorreu em um momento, por exemplo, com o empacotamento do daemon automounter (amd). Quando novos kernels mudaram internamente em relao a lidar com NFS, o amd precisava saber disso. Para isso foi necessrio incluir os ltimos cabealhos do kernel.

2.7.2 Ferramentas para construir kernels personalizadosUsurios que desejam (ou precisam) construir um kernel personalizado so encorajados a fazer o download do pacote kernel-package. Este pacote contm o script para construir o pacote do kernel e oferece a capacidade de criar um pacote kernel-image Debian somente executando o comando# make-kpkg kernel_image

no diretrio de nvel principal dos fontes do kernel. Ajuda fornecida executando o comando# make-kpkg --help

e atravs da pgina de manual make-kpkg(1) e O kernel Linux no Debian, Captulo 7. Os usurios devem fazer o download separadamente do cdigo fonte do kernel mais atual (ou o kernel de sua escolha) a partir de seu site repositrio Linux favorito, a menos que um pacote kernel-source-verso esteja disponvel (onde verso significa a verso do kernel). O script de inicializao initrd Debian requer um patch de kernel especial chamado initrd; consulte http://bugs.debian.org/149236. Informaes detalhadas para o uso do pacote kernel-package so fornecidas no arquivo /usr/doc/kernel-package/README.

2.7.3 Condies especiais para lidar com mdulosO pacote Debian modconf oferece um script shell (/usr/sbin/modconf) que pode ser usado para personalizar a configurao dos mdulos. Este script apresenta uma interface baseada em menus, perguntando ao usurio por detalhes sobre os controladores de dispositivos carregveis em seu sistema. As respostas so usadas para personalizar o arquivo /etc/modules.conf (que lista apelidos e outros argumentos que devem ser usados em conjunto com outros mdulos) atravs de arquivos em /etc/modutils/ e /etc/modules (que listam os mdulos que devem ser carregados em tempo de inicializao da mquina). Como os (novos) arquivos Configure.help que esto agora disponveis para suportar a construo de kernels personalizados, o pacote modconf vem com uma srie de arquivos de ajuda (em /usr/share/modconf/) que oferecem informaes detalhadas para cada um dos mdulos. Consulte O kernel 2.4 modularizado, Seo 7.2 para ver exemplos.

2.7.4 Desinstalao de um kernel antigoO script kernel-image-NNN.prerm checa se o kernel que est em execuo atualmente o mesmo que o kernel que voc est tentando desinstalar. Portanto voc pode remover pacotes de imagens kernel indesejveis com segurana usando esse comando :# dpkg --purge --force-remove-essential kernel-image-NNN

( claro, substitua NNN pela verso de seu kernel e seu nmero de reviso)

Referncia Debian Captulo 3 - Dicas para instalao do Sistema DebianA documentao oficial para instalao da Debian se encontra em http://www.debian.org/releases/stable/, e http://www.debian.org/releases/stable/installmanual. As verses em desenvolvimento so encontradas em http://www.debian.org/releases/testing/, ehttp://www.debian.org/releases/testing/installmanual

(trabalho em progresso,

pode algumas vezes no existir). Embora este captulo tenha sido inicialmente escrito nos dias do lanamento do instalador da Potato, a maior parte dos seus contedos foi atualizada para o instalador do Woody e so instaladores muito similares. Como o Sarge usar um instalador totalmente novo, por favor, use isso como ponto de referncia para o instalador do Sarge.

3.1 Dicas para instalao de sistemas Linux em geralNo esquea de conferir http://www.debian.org/CD/netinst/ se voc est procurando uma imagem de CD compacto para o instalador Debian. Usar os sabores testing ou unstable do Debian aumenta o risco de ter bugs srios. O risco pode ser gerenciado implementando um esquema de multi-inicializao com um sabor mais estvel do Debian ou implementando o truque legal do chroot com o mais estvel como descrito em chroot, Seo 8.6.34. O ltimo permitir que voc execute diferentes sabores do Debian simultaneamente em consoles diferentes.

3.1.1 O bsico sobre a compatibilidade de hardwareLinux compatvel com o hardware de muitos PC's e pode ser instalado frequentemente em qualquer sistema. Para mim foi to fcil quanto instalar Windows 95/98/Me. E a lista de hardwares compatveis parece continuar crescendo. Se voc tem um PC porttil (laptop), confira Linux on Laptops para instalao dos ponteiros (pointers) por marca e modelo. Minha recomendao sobre hardware para PC de mesa (desktop) "Apenas seja conservador":

SCSI ao invs de IDE para o trabalho, disco rgido IDE/ATAPI para uso privado. IDE/ATAPI CD-ROM (ou CD-RW). PCI ao invs de ISA, especialmente para placas de rede (NIC). Use uma placa de rede barata. Tulip para PCI, NE2000 para ISA so boas escolhas. Evite PCMCIA (porttil) em sua primeira instalao Linux. Sem teclados USB, mouse ... a menos que voc queira aventurar-se.

Se voc tem uma mquina lenta, tirar fora o disco rgido e coloc-lo em outra mquina mais rpida uma boa idia.

3.1.2 Determinando hardware e chip set de um PCDurante a instalao, lhe ser pedido que identifique o hardware ou chip set do PC. s vezes esta informao pode no parecer fcil de encontrar. Aqui vai um mtodo: Abra o gabinete de seu PC e d uma olhada dentro. Anote os cdigos de identificao dos chips grandes na placa de vdeo, placa de rede, chip prximo s portas seriais, chip prximo s portas IDE. Anote o nmero de cartes impressos no verso das placas PCI e ISA.

3.1.3 Determinando o hardware de um PC via DebianOs comandos a seguir devem dar alguma idia da configurao e hardware presentes num sistema Linux.$ $ $ $ $ lspci pager pager pager pager -v |pager /proc/pci /proc/interrupts /proc/ioports /proc/bus/usb/devices

Estes comandos podem ser rodados durante o processo de instalao num terminal virtual teclando Alt-F2. Usos tpicos de interrupes:

IRQ0: sada do temporizador (8254) IRQ1: controlador de teclado IRQ2: cascata para IRQ8IRQ15 no PC-AT IRQ3: porta serial secundria (io-port=0x2F8) (/dev/ttyS1) IRQ4: porta serial primria (io-port=0x3F8) (/dev/ttyS0) IRQ5: livre (era a interrupo do HD no XT) IRQ6: controlador de disquetes (io-port=0x3F0) (/dev/fd0, /dev/fd1)

IRQ7: porta paralela (io-port=0x378) (/dev/lp0) IRQ8: rtc IRQ9: interrupo de software (int 0x0A), redireciona para IRQ2 IRQ10: livre IRQ11: livre IRQ12: Mouse PS/2 IRQ13: livre (era do co-processador matemtico 80287) IRQ14: controlador IDE primrio (/dev/hda, /dev/hdb) IRQ15: controlador IDE secundrio (/dev/hdc, /dev/hdd)

Para dispositivos USB, as classes de dispositivos so listadas em /proc/bus/usb/devices como Cls=nn:

Cls=00 : Sem uso Cls=01 : Audio (alto-falante etc.) Cls=02 : Comunicao (MODEM, NIC, ...) Cls=03 : HID (Dispositivo de interface humana: teclado, mouse, joystick) Cls=07 : Impressora Cls=08 : Armazenamento de massa (FDD, drive CD/DVD, HDD, Flash, ...) Cls=09 : Hub (hub USB) Cls=255 : Especfico de fabricante

Se a classe de um dispositivo no for 255, o Linux tem suporte ao dispositivo.

3.1.4 Determinando o hardware de um PC por meio de outros SO'sA informao sobre o hardware pode ser obtida a partir de outros SO's: Instale outra distribuio comercial Linux. A deteco de hardware tende, por ora, a ser melhor nestas do que na Debian. (Esta situao deve mudar assim que o debianinstaller for introduzido com a Sarge. Instale Windows. A configurao do hardware pode ser obtida pressionando o boto direito do mouse em "My Computer" para obter Propriedades / Gerenciador de Dispositivos. Anote todas as informaes sobre os recursos tais como IRQ, endereo de porta I/O e DMA. Algumas placas ISA antigas podem precisar ser configuradas sob o DOS e usadas em conformidade.

3.1.5 Um mito sobre o Lilo"O Lilo est limitado a 1024 cilindros." Errado!

O lilo mais recente, usado aps a Debian Potato tem suporte a lba32. Se o BIOS de sua placa me suficientemente recente para suportar lba32, o lilo deve ser capaz de carregar alm da limitao do cilindro 1024. Apenas certifique-se de adicionar a linha "lba32" em algum lugar prximo ao incio de seu arquivo lilo.conf se voc tem mantido um lilo.conf. antigo. Confira/usr/share/doc/lilo/Manual.txt.gz

3.1.6 GRUBO novo carregador de inicializao grub do projeto GNU HURD pode ser instalado no sistema Debian Woody:# apt-get update # apt-get install grub-doc # mc /usr/share/doc/grub-doc/html/ ... leia o contedo # apt-get install grub # pager /usr/share/doc/grub/README.Debian.gz ... leia-o :)

Para editar o menu do GRUB, edite /boot/grub/menu.lst. Veja Definindo parmetros de inicializao do GRUB, Seo 8.1.6 para saber como configurar os parmetros de inicializao durante esta, pois ligeiramente diferente da configurao do lilo.

3.1.7 Escolha dos disquetes de inicializaoPara Potato, gostava do conjunto de discos IDEPCI para instalao normal em um computador de mesa (desktop). Para Woody, gosto do conjunto de discos de inicializao bf2.4. Ambos usam uma verso de boot-floppies para criar os disquetes de inicializao. Se voc tem uma placa de rede PCMCIA, voc precisa usar o conjunto padro de discos de inicializao (o maior nmero de disquetes mas todos os mdulos disponveis) e configurar a NIC na configurao PCMCIA; no tente configurar uma placa NIC no dilogo de configurao padro da rede. Para sistemas especiais, voc pode precisar criar um disco de recuperao otimizado. Isto pode ser feito substituindo a imagem do kernel denominada "linux" no disco de recuperao Debian sobrescrevendo-a com outra imagem comprimida do kernel compilada para a mquina fora do stio (off-site). Detalhes so documentados em readme.txt no disco de recuperao. O disquete de recuperao usa o sistema de arquivos MS-DOS, assim voc pode usar qualquer sistema para l-lo e edit-lo. Isto deve tornar mais fcil a vida das pessoas com uma placa de rede especial, etc. Para o Sarge, espera-se usar o debian-installer e/ou pgi para criar os disquetes de inicializao.

3.1.8 InstalaoSiga as instrues oficiais encontradas emhttp://www.debian.org/releases/stable/installmanual ou http://www.debian.org/releases/testing/installmanual (trabalho

em progresso;

pode, s vezes, no existir). Se voc est instalando um sistema usando os boot-floppies da distribuio testing, voc pode precisar abrir um terminal durante a instalao pressionando Alt-F2 e edite manualmente as entradas de /etc/apt/sources.list, substituindo "stable" por "testing" para ajustar as fontes do APT. Costumo instalar o lilo em lugares como /dev/hda3, e instalo mbr em /dev/hda. Isto diminui o risco de sobrescrever a informao de inicializao. Aqui est o que escolho durante o processo de instalao.

MD5 passwords "yes" shadow passwords "yes" Install "advanced" (dselect **) e selecione o Exclua emacs (se selecionado), nvi, tex, telnet, talk(d); o Inclua mc, vim e nano-tiny ou elvis-tiny. Veja dselect, Seo 6.2.3. Mesmo que voc seja f do Emacs, evite-o por enquanto e se contente com nano durante a instalao. Evite tambm instalar grandes pacotes tais como TeX (Potato fazia isto) nesta fase. Veja Editores de recuperao, Seo 11.2 para entender as razes que justificam instalar nano-tiny ou elvis-tiny aqui.

Para todas as perguntas de configurao durante o dilogo de instalao de cada pacote: "y" (substitua verso atual). exim: seleciono 2 para a mquina pois envio correio eletrnico atravs do servidor SMTP de meu provedor de internet.

Para mais informaes sobre dselect, veja dselect, Seo 6.2.3.

3.1.9 Hosts e IP a usar para LANExemplo de configurao de uma LAN (C subnet: 192.168.1.0/24):Internet | +--- ISP externo fornece servio POP (acessado pelo fetchmail) | ISP de ponto de acesso fornece servio DHCP e retransmisso SMTP

| : Cable modem (Dialup) | : Porta externa da mquina gateway da LAN: eth0 (IP dado pelo DHCP do ISP) use PC porttil antigo (IBM Thinkpad, 486 DX2 50 MHz, 20MB RAM) rode kernel Linux 2.4 com sistema de arquivos ext3. rode o pacote "ipmasq" (com as correes (patch) mais fortes, NAT e firewall) rode o pacote "dhcp-client" configurado para eth0 (sobrescreve a configurao de DNS) rode o pacote "dhcp" configurado para eth1 rode "exim" como e modo de host auxiliar (smarthost, mode 2) rode "fetchmail" em longos perodos (fallback) rode "bind" como o cache do servidor de nomes para a Internet a partir da LAN como servidor de nomes autoritativo para o domnio da LAN a partir da LAN rode "ssh" na porta 22 e 8080 (conecte de qualquer lugar) rode "squid" como o servido de cache para o arquivo Debian (para APT) Porta interna da mquina gateway da LAN: eth1 (IP = 192.168.1.1, fixo) | +--- LAN Switch (100base T) ---+ | | Alguns clientes de IP fixos na LAN Alguns clientes DHCP na LAN (IP = 192.168.1.2-127, fixo) (IP = 192.168.1.128-200, dinmico)

Veja Configurao de rede, Captulo 10 para detalhes de configurao da rede. Veja Construindo um roteador gateway, Seo 10.12 para detalhes de configurao do servidor gateway da LAN.

3.1.10 Contas de usurioPara manter a consistncia entre diferentes mquinas, as primeiras contas so sempre as mesmas em meu sistema. Sempre crio a primeira conta de usurio com um nome como "admin" (uid=1000). Eu reenvio todo email para o root para l. Esta conta est associada ao grupo adm (veja "Por que o GNU su no suporta o grupo wheel", Seo 9.2.2), para o qual pode ser dado um grande nmero de privilgios root atravs do programa su usando PAM ou o comando sudo. Veja Adicionar uma conta de usurio, Seo 4.1.3 para detalhes.

3.1.11 Criando sistemas de arquivo

3.1.11.1 Partio do disco rgidoEu prefiro usar parties diferentes em diferentes rvores de diretrio para limitar o estrago numa eventual quebra do sistema. Por exemplo,/ == == /tmp == /var == /home == /usr == /usr/local == (/ + /boot + /bin + /sbin) 50MB+ 100MB+ 100MB+ 100MB+ 700MB+ com X 100MB

O tamanho do diretrio /usr depende muito das aplicaes do sistema X Window e da documentao. /usr/ pode ter 300MB se rodamos apenas um terminal console, enquanto 2GB3GB no um tamanho incomum se temos muitas aplicaes Gnome instaladas. Quando /usr ficar muito grande, mover /usr/share/ para uma partio diferente o remdio mais efetivo. Com os novos grandes kernels Linux 2.4 pr-empacotados, pode ser necessrio mais do que 200MB. Por exemplo, o estado atual de minha mquina gateway para Internet o seguinte (sada do comando df -h):Filesystem /dev/hda3 /dev/hda7 /dev/hda8 /dev/hda6 /dev/hda9 /dev/hda10 /dev/hda11 Size 300M 100M 596M 100M 596M 596M 1.5G Used Avail Use% Mounted on 106M 179M 38% / 12M 82M 13% /home 53M 513M 10% /var 834k 94M 1% /var/lib/cvs 222M 343M 40% /usr 130M 436M 23% /var/cache/apt/archives 204M 1.2G 14% /var/spool/squid

(A grande rea reservada para /var/spool/squid/ para um proxy cache dos pacotes baixados.) Segue abaixo a sada de fdisk -l que fornece uma idia da estrutura de particionamento:# fdisk -l /dev/hda # comentrio /dev/hda1 /dev/hda2 usada) /dev/hda3 /dev/hda4 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 /dev/hda10 1 42 * 85 127 127 144 158 172 254 336 41 84 126 629 143 157 171 253 335 417 309928+ 325080 317520 3802680 128488+ 105808+ 105808+ 619888+ 619888+ 619888+ 6 83 83 5 82 83 83 83 83 83 FAT16 # DOS Linux # (no Linux # Principal Extended Linux swap Linux Linux Linux Linux Linux

/dev/hda11

418

629

1602688+

83

Linux

H poucas parties no usadas. So para instalao de uma segunda distribuio Linux ou para expandir rvores de diretrios crescentes.

3.1.11.2 Montar sistema de arquivosA montagem do sistema de arquivos acima realizada corretamente com o seguinte /etc/fstab:# /etc/fstab: informao de sistema de arquivos esttico # # file system mount point type options /dev/hda3 / ext2

pass 1

dump

defaults,errors=remount-ro 0 0 0 0 0 0 0 0 0

/dev/hda5 none swap sw proc /proc proc defaults /dev/fd0 /floppy auto defaults,user,noauto /dev/cdrom /cdrom iso9660 defaults,ro,user,noauto # # manter parties separadas /dev/hda7 /home ext2 defaults /dev/hda8 /var ext2 defaults /dev/hda6 /var/lib/cvs ext2 defaults # noatime aumentar velocidade de acesso a arquivo para leitura /dev/hda9 /usr ext2 defaults,noatime /dev/hda10 /var/cache/apt/archives ext2 defaults # partio muito grande para cache do proxy /dev/hda11 /var/spool/squid ext2 rw

0 2 0 2 0 2 0 2 0 2 0 2

# DOS inicializvel de segurana (backup) /dev/hda1 /mnt/dos vfat rw,noauto 0 0 # sistema Linux inicializvel de segurana (backup) (no feito) /dev/hda2 /mnt/linux ext2 rw,noauto 0 0 # # montagens nfs mickey:/ /mnt/mickey nfs ro,noauto,intr 0 0 goofy:/ /mnt/goofy nfs ro,noauto,intr 0 0 # minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2

Para NFS, uso noauto,intr combinada com a opo padro hard. Deste modo, possvel safar-se de um processo congelado devido a uma conexo morta usando Ctrl-C. Para uma mquina Windows conectada com Samba (smbfs), rw,auto,soft,intr pode ser uma boa idia. Veja Configurao do Samba, Seo 3.5.

Para os disquetes, noauto,rw,sync,user,exec ao contrrio previne contra a corrupo de arquivos aps a ejeo acidental do disquete antes de desmont-lo, mas isto retarda o processo de escrita.

3.1.11.3 Montagem autofsPontos chave para a montagem automtica:

Carregue o mdulo vfat para permitir que /etc/auto.misc contenha -fstype=auto:# modprobe vfat # antes da tentativa de acesso ao disquete ... ou, para automatizar esta configurao, # echo "vfat" >> /etc/modules ... e reinicialize o sistema. Configure /etc/auto.misc como se segue: floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0 ... onde gid=100 "users". Crie os links cdrom e floppy em /home/usuario, que apontem para /var/autofs/misc/cdrom e /var/autofs/misc/floppy respectivamente.

Adicione o usuario um membro do grupo "users".

3.1.11.4 Montagem NFSO servidor NFS Linux (goofy) fica atrs de um firewall (gateway). Eu tenho uma poltica de segurana bastante aberta em minha LAN j que sou eu o nico usurio. Para permitir acesso NFS, o lado do servidor precisa adicionar a /etc/exports o seguinte:be # /etc/exports: the access control list for file systems which may # / exported to NFS clients. (rw,no_root_squash) See exports(5).

Isto necessrio para ativar o servidor NFS, alm de instalar e ativar os pacotes de servidor e cliente NFS. Por simplicidade, normalmente crio uma partio nica de 2GB para uma instalao experimental ou secundria de Linux. Opcionalmente, compartilho a partio de troca (swap) e a partio /tmp para estas instalaes. Um esquema multipartio tambm usado nestes casos. Se necessrio apenas um simples sistema console, 500MB pode ser mais do que suficiente.

3.1.12 Guia sobre memria DRAMO que se segue um guia grosseiro sobre DRAM.4MB: 16MB: 32MB: 64MB: 128MB: 256MB: barata. Mnimo para Mnimo para Mnimo para Mnimo para Confortvel Por que no o kernel Linux funcionar. um sistema console razovel. um sistema X simples. o sistema X com GNOME/KDE. para o sistema X com GNOME/KDE. se voc pode se dar ao luxo disto? DRAM

Usando a opo de inicializao mem=4m (ou lilo append="mem=4m") mostrar como o sistema funcionaria com 4MB de memria instalada. necessrio o parmetro de inicializao do lilo para sistemas que contm mais do que 64 MB de memria e um BIOS antigo.

3.1.13 Espao de troca (swap)Eu uso o seguinte guia para o espao de troca:

Cada partio de troca < 128MB (antigo kernel 2.0), < 2GB (em kernels recentes) Total = ou 1 a 2 vezes a RAM instalada ou de 128MB a 2GB como orientao Espalhe-as nos diferentes discos e monte-as com as opes sw,pri=1 em /etc/fstab. Isto garante que o kernel faa um striping RAID das parties de troca (swap) e oferea o mximo de performance na troca. Use uma poro central do disco rgido, quando possvel.

Mesmo que voc nunca precise disto, algum espao de troca (128MB) desejvel pois assim o sistema ficar lento antes de congelar com um programa que consuma a memria.

3.2 Configurao do bashEu modifico os scripts shell de inicializao a meu gosto no sistema:/etc/bash.bashrc /etc/profile /etc/skel/.bashrc /etc/skel/.profile /etc/skel/.bash_profile ~/.bashrc contas ~/.profile contas ~/.bash_profile contas Utilize sua cpia privada Mantenha a cpia da distribuio ( \w -> \W) Utilize sua cpia privada Utilize sua cpia privada Utilize sua cpia privada Utilize sua cpia privada para todas as Utilize sua cpia privada para todas as Utilize sua cpia privada para todas as

Veja detalhes nos meus scripts de exemplo. isto configuro umask para 002 ou 022. PATH

Gosto de um sistema transparente, por

configurado pelos seguintes arquivos de configurao, nesta ordem:/etc/login.defs /etc/profile ~/.bash_profile - antes o shell configura PATH (pode chamar /etc/bash.bashrc) (pode chamar ~/.bashrc)

3.3 Configurao do mouse3.3.1 Mouses PS/2No caso de um mouse com conector do tipo PS/2 em uma placa me ATX, o fluxo do sinal deveria ser:mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X

Aqui, um link simblico para /dev/mouse criado e aponta para /dev/gpmdata para tornar alguns utilitrios de configurao felizes e mais a reconfigurao mais fcil. (Por exemplo, se voc decide no usar o daemon gpm, apenas aponte o link simblico /dev/mouse para /dev/psaux aps livrar-se do daemon gpm.) Este fluxo de sinal permite que o teclado e o mouse sejam desplugados e reinicializados com o gpm sendo rodado novamente na reconexo. O X permanecer vivo! O protocolo do fluxo de sinal entre a sada do gpm e a entrada do X pode ser implementado de dois modos, mutuamente exclusivos, como "ms3" (usa o protocolo Microsoft 3-button serial mouse) ou "raw" (usa o mesmo protocolo do mouse que est conectado), e esta escolha determina a escolha do protocolo usado na configurao do X. Abaixo, mostrarei os exemplos de configurao usando um mouse Logitech 3-button (mouse Unix-style tradicional) PS/2 como modelo. Se voc um dos desafortunados cuja placa de vdeo no suportada pelo novo X4 e precisa usar o antigo X3 (algumas placas ATI 64 bit), configure /etc/X11/XF86Config ao invs de /etc/X11/XF86Config-4 nos exemplos a seguir e instale os pacotes X3.

3.3.1.1 A perspectiva do protocolo ms3/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=ms3 | Driver "mouse"

type=autops2 append="" sample_rate=

| Option | Option | Option | EndSection

"CorePointer" "Device" "/dev/mouse" "Protocol" "IntelliMouse"

Se esta perspectiva usada, o ajuste do tipo de mouse feito apenas editando gpm.conf e a configurao do X permanece a mesma. Veja meus scripts de exemplo.

3.3.1.2 A perspectiva do protocolo raw/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "MouseManPlusPS/2" | EndSection

Se esta perspectiva usada, o ajuste do tipo de mouse feito editando gpm.conf assim como ajustando a configurao do X.

3.3.1.3 Como ajustar um mice diferenteO tipo de dispositivo do gpm autops2 provavelmente autodetecta muitos dos mouses PS/2 no mercado. Infelizmente, nem sempre funciona e no est disponvel nas verses prWoody. Para tais casos, tente usar ps2, ou imps2 em gpm.conf ao invs de autops2. Para descobrir quais tipos de mouse o gpm reconhece: gpm -t help. Veja gpm(8). Se um mouse PS/2 de 2 botes usado, configure o X para habilitar Emulate3Buttons. A diferena de protocolo entre o mouse de 2 botes e o mouse de 3 botes autodetectada a auto-ajustada para o gpm aps apertar o boto central uma vez. Para o protocolo X com A per