<chapt id="deb">A distribuição Debian GNU/Linux
 <p>
Este capítulo traz algumas características sobre a distribuição 
<prgn>Debian GNU/Linux</prgn>, programas de configuração e 
particularidades. A maioria dos trechos aqui descritos, também 
se aplicam a distribuições baseadas na <prgn>Debian</prgn>, como o 
<em>Kurumin</em> e o <em>Ubuntu</em>. 
 <p>
Você deve estar se perguntando <tt>mas porque um capítulo falando 
sobre a distribuição Debian se eu uso outra?</tt>. Bem, a partir 
da versão <em>Intermediário</em> do <em>Foca Linux</em> existem 
algumas partes que são especificas de algumas distribuições Linux e 
que não se aplicam a outras, como a localização dos arquivos de 
configuração, nomes dos programas de configuração e outros detalhes 
específicos e esta versão é a baseada na <prgn>Debian</prgn>. Pegue 
na página do Foca Linux (<url id="&url-manual-www;">) 
uma versão Intermediário<![ %AVANCADO [ /Avançado ]]> do guia específico 
para sua distribuição. 


    <![ %INTERMEDIARIO [ 

<sect id="deb-carac">Porque usar a Debian?
 <p>
A <prgn>Debian</prgn> é a distribuição que mais cresce no mundo, cada 
versão é somente lançada após rigorosos testes de segurança e correção 
de falhas fazendo desta a mais segura e confiável dentre todas as 
outras distribuições Linux. É reconhecida como a mais segura, maior e 
atualizada mais freqüentemente entre as outras distribuições <prgn>
Linux</prgn>, além de ser a única sem fins comerciais. 
 <p>
É a única que adota o estilo de desenvolvimento aberto e não é mantida 
por uma empresa comercial (note que o endereço do WebSite da 
<prgn>Debian</prgn> termina com <file>.org</file>), ao invés disso é 
mantida por programadores, hackers e especialistas de segurança 
espalhados ao redor do mundo, seguindo o estilo de desenvolvimento do 
Linux. Possui suporte a mais de 12 arquiteturas e 15 sub-arquiteturas 
(entre elas, Intel x86, Alpha, VMS, Sparc, Macintosh (m68k), Power Pc, 
ARM, etc). 
 <p>
Suas atualizações são constantes e não é necessário adquirir um novo 
CD para fazer upgrades. Meu sistema é atualizado semanalmente e de 
forma segura através de 2 simples comandos. Veja <ref id="dpkg-apt"> 
as instruções de como fazer isto. 
 <p>
Cada pacote da distribuição é mantida por uma pessoa, o que garante 
uma boa qualidade, implementações de novos recursos e rápida correção de 
falhas. Qualquer pessoa com bons conhecimentos no sistema e inglês pode 
se tornar um <em>Debian Developer</em>, para detalhes consulte a lista 
de discussão <em>debian-user-portuguese</em> (veja <ref id="ajuda-listas">) 
ou veja a página oficial da <prgn>Debian</prgn>: <url id="&url-debian-www;">. 
 <p>
A distribuição apresenta compatibilidade com outros sistemas a partir da 
instalação até a seleção de programas e execução do sistema, sua 
instalação está até mesmo disponível desde computadores 386 que 
utilizam unidades de disquetes de 5 1/4 polegadas até para 
computadores UDMA66, instalando através de DVD e pen drives. Com a 
Debian é possível iniciar a instalação usando um pen drive e continuar
usando a internet.
 <p>
É a distribuição mais indicada para uso em servidores devido ao seu 
desempenho, segurança e programas úteis de gerenciamento e monitoração 
da rede, recomendados por especialistas que participam de seu 
desenvolvimento.  
 <p>
Não existem versões separadas da Debian para servidores, uso pessoal, etc, 
ao invés disso a distribuição usa perfis de usuário (dependendo da função 
do usuário) e perfis de computador (dependendo do que deseja fazer), podendo 
ser selecionado mais de um perfil de usuário/computador. 
 <p>
Os perfis selecionam automaticamente os pacotes mais úteis para a 
instalação. Os pacotes existentes em cada perfil foram escolhidos 
através de debates entre usuários que trabalham ativamente naquela 
área, resultando em uma seleção de pacotes de alta produtividade. 
 <p>
Para os usuários avançados e exigentes, também é possível selecionar os 
pacotes individualmente via <prgn>dselect</prgn>, o que resultará em uma 
instalação somente com pacotes úteis e melhor configurada. 


<sect id="deb-pacotes">Pacotes existentes na Debian
 <p>
O número de pacotes existentes na distribuição atual da 
<prgn>Debian</prgn> (<em>Etch</em> - 4.0) é de &DEBNUMPACKAGES;. 
 <p>
A <prgn>Debian</prgn> (como a <prgn>Red Hat</prgn>) usa um formato 
próprio para armazenar os programas: o formato <file>.deb</file>. 
Este formato permite a declaração, resolução e checagem automática de 
dependências, pacotes sugeridos, opcionais e outras características 
que o torna atraente para o desenvolvimento, gerenciamento e manutenção 
do sistema. 
 <p>
Estes pacotes são gerenciados através do programa <prgn>dpkg</prgn> 
(<em>Debian Package</em>) ou através de front-ends como o 
<prgn>dselect</prgn> ou <prgn>apt</prgn> (para detalhes veja 
<ref id="dpkg">). 


<sect id="deb-suf">O que é sid/testing/frozen/stable?
 <p>
Para o lançamento de uma nova distribuição <prgn>Debian</prgn>, o seguinte 
processo ocorre:
<tt>sid => testing => stable</tt>
(sendo a <em>stable</em> sempre o lançamento oficial e sem bugs da distribuição).

<taglist>
 <tag>sid</tag>
 <item>
Durante o desenvolvimento de uma nova distribuição <prgn>Debian</prgn>, 
ela é chamada de <em>sid</em>. A <em>sid</em> é a versão <em>Unstable</em>,
isto não significa instabilidade, mas sim que a distribuição esta sofrendo 
modificações para se tornar uma versão estável, recebendo novos pacotes, etc. 
 <p>
Quando os pacotes não são modificados após um determinado período, os scripts 
da Debian copiam estes pacotes (novos ou atualizados) para a <em>testing</em>. 
 <p>
Não use a distribuição <em>sid</em> (<em>unstable</em>) ao menos que tenha 
experiência no <prgn>Linux</prgn> para corrigir problemas, que certamente 
aparecerão. 


 <tag>testing</tag>
 <item>
A <em>testing</em> recebe os pacotes que não são modificados durante algum 
tempo da <em>unstable</em>, isto significa que eles possuem alguma 
estabilidade.
 <p>
A <em>testing</em> é uma espécie de congelamento permanente (freeze) 
durante o desenvolvimento da <em>Unstable</em>. 
 <p>
Os novos pacotes que entram na <em>unstable</em> também caem na 
<em>testing</em> após certo tempo.
 <p>
Mesmo assim, podem existir falhas graves na <em>testing</em>, se você 
precisa de um ambiente realmente livre de falhas, use a <em>stable</em>.


 <tag>frozen (congelada)</tag>
 <item>
Na data programada pela equipe de lançamento da <prgn>Debian</prgn>, a 
distribuição <em>testing</em> é congelada: nenhum pacote novo da 
<em>unstable</em> cai na <em>testing</em> e começa a procura de falhas 
na distribuição <em>testing</em>. Nenhuma nova característica
é implementada nos pacotes (a não ser que seja extremamente necessário)
e os developers se dedicam a correção de erros nos pacotes. 
 <p>
A distribuição <em>testing</em> congelada se tornará a futura 
<em>stable</em> após todas as falhas serem corrigidas.
É considerado seguro usar a <em>frozen</em> após 1 mês de 
"congelamento". 
 <p>
Quando a <em>testing</em> é congelada, o ciclo de desenvolvimento da 
<em>unstable</em> continua para que a próxima distribuição da 
<prgn>Debian</prgn> seja lançada. 


 <tag>stable</tag>
 <item>
Quando todos os bugs da <em>testing</em> congelada são eliminados, ela é 
lançada como <em>stable</em>, a nova <em>versão Oficial</em> da 
<prgn>Debian</prgn>.  
 <p>
A <em>stable</em> é o resultado final do desenvolvimento, das correção 
de falhas/segurança e que passou por todos os ciclos de testes para ser 
lançada. Resumindo é a distribuição pronta para ser usada com toda a 
segurança. 

</taglist>

    ]]>


<sect id="deb-obtendo">Como obter a Debian
 <p>
A instalação da distribuição pode ser obtida através de Download de 
<url id="&url-debian-ftp;/debian/dists/stable/main/disks-i386"> 
(para Intel x86), seus programas diversos estão disponíveis em 
<url id="&url-debian-ftp;/debian/dists/stable/main/binary-i386">. 
 

<sect id="deb-prgnconfig">Programas de configuração
 <p>
<list>
 <item>
<prgn>aptitude</prgn> - Seleciona pacote para instalação/desinstalação

 <item>
<prgn>pppconfig</prgn> - Configura o computador para se conectar a 
Internet usando conexão discada. Após isto, use <tt>pon</tt> para se 
conectar a Internet, <tt>poff</tt> para se desconectar e <tt>plog</tt> 
para monitorar a conexão. 

 <item>
<prgn>pppoeconf</prgn> - Configura o computador para conectar a internet
usando ADSL

 <item>
<prgn>modconf</prgn> - Permite selecionar os módulos que serão automaticamente 
carregados na inicialização do sistema. Se requerido pelos módulos os 
parâmetros I/O, IRQ e DMA também podem ser especificados. 

 <item>
<prgn>shadowconfig</prgn> - Permite ativar ou desativar o suporte a 
senhas ocultas (shadow password). Com as senhas ocultas ativadas, as 
senhas criptografadas dos usuários e grupos são armazenadas nos 
arquivos <file>shadow</file> e <file>gshadow</file> respectivamente, que 
somente podem ser acessadas pelo usuário root. 
 <p>
Isto aumenta consideravelmente a segurança do sistema pois os arquivos 
<file>passwd</file> e <file>group</file> contém dados de usuários que 
devem ter permissão de leitura de todos os usuários do sistema. 

 <item>
<prgn>tasksel</prgn> - Permite selecionar/modificar de forma fácil a 
instalação de pacotes em seu sistema através da função que sua máquina 
terá ou do seu perfil de usuário. 

 <item>
<prgn>tzconfig</prgn> - Permite modificar/selecionar o fuso-horário usado 
na distribuição. 

</list>
Além destes, a Debian conta com o sistema de configuração 
baseado no <tt>dpkg-reconfigure</tt> que permite configurar de forma 
fácil e rápida aspecto de pacotes: <tt>dpkg-reconfigure xserver-xorg</tt>. 


<sect id="deb-startup">Arquivos de inicialização
 <p>
Os arquivos de inicialização da distribuição <prgn>Debian</prgn> 
(e baseadas nela) estão localizados no diretório 
<file>/etc/init.d</file>. Cada daemon (programa residente na memória) 
ou configuração específica possui um arquivo de onde pode ser 
ativado/desativado. Os sistemas residentes neste diretório não são 
ativados diretamente, mas sim através de links existentes nos diretórios 
<file>/etc/rc?.d</file> onde cada diretório consiste em um nível de 
execução do sistema (veja também a <ref id="deb-runlevels">). 
 <p>
Por padrão, você pode usar as seguintes palavras chaves com os arquivos 
de configuração:
<list compact>
 <item><tt>start</tt> - Inicia o daemon ou executa a configuração 
 <item><tt>stop</tt> - Interrompe a execução de um daemon ou desfaz a configuração 
 feita anteriormente (se possível). 
 <item><tt>restart</tt> - Reinicia a execução de um daemon. É equivalente 
 ao uso de <tt>stop</tt> e <tt>start</tt> mas se aplicam somente a alguns 
 daemons e configurações, que permitem a interrupção de execução e reinicio. 
</list>

<![ %EXEMPLO [ 
 <p>
Por exemplo, para reconfigurar as interfaces de rede do computador, podemos 
utilizar os seguintes comandos:
<example>
cd /etc/init.d
./networking restart 
</example>
]]>


<sect id="deb-runlevels">Níveis de Execução 
 <p>
Os <em>Níveis de execução</em> (run levels) são diferentes modos de 
funcionamento do <prgn>GNU/Linux</prgn> com programas, daemons e recursos 
específicos. Em geral, os sistemas <prgn>GNU/Linux</prgn> possuem sete 
níveis de execução numerados de 0 a 6. O daemon <prgn>init</prgn> é 
o primeiro programa executado no <prgn>GNU/Linux</prgn> (veja através 
do <tt>ps ax|grep init</tt>) e responsável pela carga de todos daemons 
de inicialização e configuração do sistema. 
 <p>
O nível de execução padrão em uma distribuição <prgn>GNU/Linux</prgn> é 
definido através do arquivo de configuração do <file>/etc/inittab</file> 
<![ %INTERMEDIARIO [ (<ref id="etc-inittab">) ]]> através da linha 
<example>
id:2:initdefault:
</example>


<sect1 id="deb-runlevels-e">Entendendo o funcionamento dos níveis de execução 
do sistema (runlevels) 
 <p>
Os nível de execução atual do sistema pode ser visualizado através do comando 
<prgn>runlevel</prgn> e modificado através dos programas 
<prgn>init</prgn> ou <prgn>telinit</prgn>. Quando é executado, o 
<prgn>runlevel</prgn> lê o arquivo <file>/var/run/utmp</file> e 
adicionalmente lista o nível de execução anterior ou a letra <tt>N</tt> em 
seu lugar (caso ainda não tenha ocorrido a mudança do nível de execução do 
sistema). 
 <p>
Na <prgn>Debian</prgn>, os diretórios <file>/etc/rc0.d</file> a 
<file>/etc/rc6.d</file> contém os links simbólicos para arquivos 
em <file>/etc/init.d</file> que são acionados pelo nível de execução 
correspondente. 
 <p> 
Por exemplo, o arquivo <file>S10sysklogd</file> em <file>/etc/rc2.d</file>, 
é um link simbólico para <file>/etc/init.d/sysklogd</file>. 
 <p>
O que aconteceria se você removesse o arquivo <file>/etc/rc2.d/S10sysklogd</file>? 
Simplesmente o daemon <prgn>sysklogd</prgn> deixaria de ser executado 
no nível de execução 2 do sistema (que é o padrão da <prgn>Debian</prgn>). 
 <p>
A <prgn>Debian</prgn> segue o seguinte padrão para definir se um link 
simbólico em <file>/etc/rc[0-6].d</file> iniciará ou interromperá 
a execução de um serviço em <file>/etc/init.d</file>, que é o seguinte: 

<list compact>
 <item>
Se um link é iniciado com a letra <tt>K</tt> (kill), quer dizer que o 
serviço será interrompido naquele nível de execução. O que ele faz é 
executar o daemon em <file>/etc/init.d</file> seguido de <tt>stop</tt>. 

 <item>
Se um link é iniciado com a letra <tt>S</tt> (start), quer dizer que o 
serviço será iniciado naquele nível de execução (é equivalente a executar 
o daemon seguido de <tt>start</tt>). 
</list>

Primeiro os links com a letra <tt>K</tt> são executado e depois os <tt>S</tt>. 
A ordem que os links são executados dependem do valor numérico que acompanha o 
link, por exemplo, os seguintes arquivos são executados em seqüência: 
<example>
S10sysklogd
S12kerneld
S20inetd
S20linuxlogo
S20logoutd
S20lprng
S89cron
S99xdm
</example>
Note que os arquivos que iniciam com o mesmo número (<tt>S20*</tt>) são 
executados alfabeticamente. O nível de execução do sistema pode ser modificado 
usando-se o comando <prgn>init</prgn> ou <prgn>telinit</prgn>. Os seguinte 
níveis de execução estão disponíveis na <prgn>Debian</prgn>: 
<list compact>
 <item><tt>0</tt> - Interrompe a execução do sistema. todos os programas e 
daemons finalizados. É acionado pelo comando 
 <tt>shutdown -h</tt>
 <item><tt>1</tt> - Modo monousuário, útil para manutenção dos sistema. 
 <item><tt>2</tt> - Modo multiusuário (padrão da Debian)
 <item><tt>3</tt> - Modo multiusuário 
 <item><tt>4</tt> - Modo multiusuário 
 <item><tt>5</tt> - Modo multiusuário com login gráfico
 <item><tt>6</tt> - Reinicialização do sistema. Todos os programas e 
 daemons são encerrados e o sistema é reiniciado. É acionado pelo comando 
 <tt>shutdown -r</tt> e o pressionamento de <tt>CTRL</tt>+<tt>ALT</tt>+<tt>DEL</tt>. 
</list>
<![ %EXEMPLO [
 <p>
Por exemplo, para listar o nível de execução atual do sistema digite: 
<tt>runlevel</tt>. O <prgn>runlevel</prgn> deverá listar algo como: 
<example>
N 2
</example>
Agora para mudar para o nível de execução 1, digite: <tt>init 3</tt>. Agora 
confira a mudança digitando: <tt>runlevel</tt>. Você deverá ver este resultado: 
<example>
2 3 
</example>
Isto quer dizer que o nível de execução anterior era o <tt>2</tt> e o atual é o 
<tt>3</tt>. ]]>


<sect id="deb-rede">Rede no sistema Debian
 <p>
O local que contém as configurações de rede em um sistema <prgn>Debian</prgn> 
é o <file>/etc/network/interfaces</file>. <![ %INTERMEDIARIO [ O formato deste 
arquivo é descrito em <ref id="etc-network-interfaces">. ]]>


<sect id="deb-bts">Bug tracking system
 <p>
É o sistema para relatar bugs e enviar sugestões sobre a distribuição. 
Para relatar um bug primeiro você deve saber inglês (é a língua 
universal entendida pelos desenvolvedores) e verificar se o bug já 
foi relatado. O Debian <em>Bug tracking system</em> pode ser acessado 
pelo endereço: <url id="&url-debian-bts-www;">. 
 <p>
Para relatar uma falha/sugestão, envie um e-mail para: 
<email>submit@bugs.debian.org</email>, com o assunto referente a 
falha/sugestão que deseja fazer e no corpo da mensagem:
<example>
Package: pacote
Severity: normal/grave/wishlist
Version: versão do pacote

E o relato do problema
</example>
O bug será encaminhado diretamente ao mantenedor do pacote que 
verificará o problema relatado. Os campos <tt>Package</tt> e 
<tt>Severity</tt> são obrigatórios para definir o nome do pacote 
(para endereçar o bug para a pessoa correta) e versão do pacote 
(esta falha pode ter sido relatada e corrigida em uma nova versão). 


<sect id="deb-download">Onde encontrar a Debian para Download?
 <p>
No endereço <url id="&url-debian-ftp;">. Outros endereços podem ser 
obtidos na página oficial da <prgn>Debian</prgn> 
(<url id="&url-debian-www;">) clicando no link <tt>Download</tt> e 
<tt>mirrors</tt>. 
 <p>
A distribuição Etch (4.0) completa, com 18830 pacotes ocupa em torno 
de 10 GB. Você também pode optar por fazer a instalação dos pacotes 
opcionais via Internet através do método apt. Para detalhes veja o 
guia do dselect ou envie uma mensagem para a lista de discussão 
<email>debian-user-portuguese@lists.debian.org</email> 
<![ %INTERMEDIARIO [ (veja <ref id="ajuda-listas"> para detalhes). ]]>


    <![ %INTERMEDIARIO [ 

<sect id="deb-lista-pacotes">Lista de pacotes para uma instalação rápida e manual 
 <p>
Esta seção contém uma lista de pacotes necessários que atendem a 
maioria dos usuários normais da <prgn>Debian</prgn> em um 
<strong>sistema padrão</strong> sem desperdício de espaço e 
sabendo exatamente o que está instalando. 
 <p>
Estou assumindo que você concluiu a instalação da <prgn>Debian</prgn> 
3.0 (Woody) mas preferiu pular o passo de seleção de pacotes 
do <prgn>dselect</prgn> e fazer uma instalação manual. 
 <p>
A lista de pacotes está dividida por categorias e você precisa ter o 
programa <prgn>apt</prgn> configurado corretamente para que os 
comandos funcionem (veja <ref id="dpkg-apt"> para detalhes). 
 <p>
Se pretende usar a lista de pacotes para fazer a instalação da 
<prgn>Debian</prgn> em muitos computadores, você tem duas opções: 
<enumlist compact>
 <item>
Copiar o conteúdo das seções que seguem e fazer um script de instalação 
personalizado para automatizar a instalação de pacotes da 
<prgn>Debian</prgn> em outras máquinas

 <item>
Após a instalação dos pacotes no computador, utilize o comando 
<tt>dpkg --get-selections &gt;Lista-Pacotes.txt</tt> para 
gerar o arquivo <file>Lista-Pacotes.txt</file> contendo a lista 
de pacotes instalados. 
 <p>
Então no computador que pretende fazer a instalação de pacotes, use 
o comando <tt>dpkg --set-selections &lt;Lista-Pacotes.txt</tt> e então 
digitar <tt>apt-get -f install</tt> ou escolher a opção 
<tt>Install</tt> no <prgn>dselect</prgn>. 
</enumlist>
Para mais detalhes veja <ref id="dpkg-get-selections"> e a 
<ref id="dpkg-set-selections">. 
É importante usar o comando <tt>apt-get clean</tt> após a instalação de 
pacotes para remover os pacotes baixados pelo <prgn>apt</prgn> de 
<file>/var/cache/apt/archives</file> (exceto na instalação de pacotes 
através do disco rígido local). 


<sect1>Pacotes Básicos (Altamente Recomendado)
 <p>
<example>
apt-get install cpio info libident libncurses4 man-db manpages whois nvi 
                hdparm mc exim linuxlogo less kbd mutt bzip2 
                cron gpm libstdc++2.10
</example> 
 

<sect1>Compilação do Kernel e programas em linguagem C 
 <p>
<example>
apt-get install perl, gcc libc6-dev bin86 make
</example>
Se pretender utilizar o <package>kernel-package</package> para compilar 
o kernel mais facilmente, então você precisará dos seguintes pacotes:
<example>
apt-get install kernel-package dpkg-dev 
</example>
Veja <ref id="kern-recompilando"> para entender como compilar seu próprio 
kernel. 


<sect1>X11 (básico)
 <p>
<example>
apt-get install xbase-clients xserver-xorg xfonts-75dpi xfonts-base 
                xserver-common xterm xfstt xdm
</example>
Caso suas fontes sejam mostradas em tamanho exagerado, remova o pacotes 
<package>xfonts-100dpi</package> ou ajuste a seção <tt>Files</tt> do 
arquivo <file>/etc/X11/xorg.conf</file> apropriadamente. 


<sect1>Window Managers para o X
 <p>
<example>
apt-get install wmaker wmakerconf wmaker-data wmavload 
                eterm enlightenment enlightenment-theme-bluesteel asclock
		afterstep
</example>
<![ %OBS [ 
 <p>
OBS: Existem também gerenciadores de seção como o 
<prgn>gnome</prgn>, <prgn>kde</prgn>, ocupam bastante espaço em disco
]]>


<sect1>Impressão (texto e gráfico com sistema de spool)
 <p>
<example>
apt-get install lprng magicfilter gs gsfonts
</example>


<sect1>Som (mixer, mp3, Midi, wav, CD-Player)
 <p>
<example>
xmms playmidi cam aumix alsa-base alsa-oss alsamixergui xmcd sox
</example>


<sect1>Programas de Internet (clientes)
 <p>
<example>
apt-get install xchat gaim firefox fetchmail procmail mime-support 
</example>


<sect1>Acessórios
 <p>
<example>
apt-get install gimp gimp-nonfree gnotepad openoffice freefont
</example>

		
<sect1>Rede
 <p>
<example>
apt-get install finger, talk, talkd, telnet
</example>

    ]]> 


