<chapt id="software">Software disponível no sistema Debian.

<sect id="apps">Que tipos de aplicativos e software de desenvolvimento estão
disponíveis para o &debian;?

<p>Assim como na maioria das distribuições Linux, o &debian; oferece:
<list>
  <item>os principais aplicativos GNU para desenvolvimento de software,
    manipulação de arquivos e processamento de texto, incluindo gcc,
    g++, make, texinfo, Emacs, o shell (interpretador de comandos) Bash e vários
    utilitários Unix atualizados;
  <item>Perl, Python, Tcl/Tk e vários programas correlatos, módulos e
    bibliotecas para cada um deles;
  <item>TeX (LaTeX) e Lyx, dvips, Ghostscript;
  <item>O sistema X Window, que oferece uma interface gráfica em rede
    para o Linux, e inumeráveis aplicativos X, incluindo o GNOME;
  <item>um conjunto completo de outros aplicativos de rede, incluindo servidores para
    protocolos internet como o HTTP (WWW), FTP, NNTP (news), SMTP e POP
    (mail) e servidores de nomes; também disponíveis estão navegadores internet (web
    browsers) e ferramentas de desenvolvimento.
</list>

<p>Mais de &main-pkgs; pacotes, variando de servidores de notícias e leitores a
suporte de som, programas de FAX, programas de banco de dados e planilha eletrônica,
programas de processamento de imagens, comunicação, rede, e utilidades de correio,
servidores de rede (Web servers), e até programas de rádio-amadorismo são incluídos
na distribuição. Outros &contrib-nonfree-pkgs; conjuntos de softwares estão disponíveis
como pacotes Debian, mas não são formalmente parte do Debian devido as suas restrições
de licença.

<sect id="softwareauthors">Quem escreveu todos esses programas?

<p>Para cada pacote, os <em>autores</em> do respectivo programa são creditados
no arquivo <tt>/usr/doc/PACOTE/copyright</tt>, onde PACOTE deve ser
substituído pelo nome do pacote.

<p><em>Mantenedores</em> que empacotam esses programas para o sistema &debian;
são listados no arquivo de controle Debian (veja <ref id="controlfile">) que
vem com cada pacote.

<sect id="pkglist">Como posso conseguir uma lista atual dos programas que foram
empacotados para o projeto Debian?

<p>Uma lista completa está disponível a partir de qualquer um dos <url name="espelhos"
id="http://www.br.debian.org/distrib/ftplist"> do Debian.

<p>O arquivo <tt>indices/Packages-Master-i386.gz</tt> contém uma lista,
incluindo descrições curtas, de todos os pacotes que estão disponíveis
para computadores com processadores ix86 (e compatíveis).
Existem arquivos semelhantes, em <tt>indices/Packages-Master-ARCH.gz</tt>, onde
ARCH deve ser substituído pela arquitetura apropriada, que provê uma lista semelhante
de pacotes que estão disponíveis para tais computadores/arquiteturas.

<p>A <url name="interface WWW para os pacotes Debian"
id="http://packages.debian.org/"> resume convenientemente os pacotes em cada uma das
vinte "seções" do arquivo Debian.

<sect id="no-devs">Por que eu obtenho a mensagem "ld: cannot find -lfoo" quando
compilo programas? Por que não existe nenhum arquivo libfoo.so nos pacotes de
bibliotecas Debian?

<p>A política do Debian requer que as ligações simbólicas (para libfoo.so.x.y.z ou
semelhante) sejam colocados em separado, pacotes de desenvolvimento. Estes pacotes
normalmente são nomeados libfoo-dev ou libfooX-dev (presumindo que o pacote de
biblioteca seja nomeado libfooX, e X seja um número inteiro).

<sect id="missing">O que está faltando no &debian;?

<p>Uma lista de pacotes que ainda precisam ser empacotados para o Debian existe,
a lista "Work-Needing and Prospective Packages". Para mais detalhes,
veja <ref id="contrib">.

<sect id="java">(Como) O Debian suporta Java?

<p>O Kit de Desenvolvimento Java da Sun (JDK) está disponível atualmente na
forma de pacote Debian (<tt>jdk_VVV-RRR.deb</tt>). O JDK permite a você
rodar programas e applets Java, além de escrever os seus próprios programas
e applets. Se seu kernel está configurado corretamente (veja abaixo), o JDK
permitirá a você <em>rodar</em> programas Java da mesma maneira que você
roda outros executáveis. O pacote JDK também inclui alguns programas de
demonstração.

<!-- XXX general "how to load a module" section ? -->
<!-- XXX isn't binfmt_java deprecated, in favor of CONFIG_BINFMT_MISC? -->
<p>O kernel do Debian está configurado com suporte a Java como módulo (isto é,
CONFIG_BINFMT_JAVA=m). Os usuários que desejarem construir seus próprios kernels
(veja <ref id="customkernel">) podem omitir este suporte se desejarem. Uma vez
que haja suporte a módulos no kernel, tenha certeza de que o módulo foi carregado.
Você pode fazer isso durante a inicialização colocando a linha <tt>binfmt_java</tt>
no arquivo <tt>/etc/modules</tt>.

<p>Alternativamente, você pode instalar o módulo a partir da linha de comando
executando o comando <tt>insmod NOMEDIR/binfmt_java.o</tt>, onde <tt>NOMEDIR</tt>
é o nome do diretório em que se encontram os módulos construídos para a
versão do kernel que está sendo executado. Em um sistema com a versão 2.2.17
do kernel, <tt>NOMEDIR</tt> provavelmente será <tt>/lib/modules/2.2.17/fs/</tt>.
Você pode verificar se um módulo está carregado usando o comando <tt>lsmod</tt>.

<p>Rodar um applet Java exige um navegador com capacidade para reconhecê-lo e
executá-lo. O navegador da Netscape, que pode ser instalado como um pacote
Debian, roda applets Java. (O código fonte do navegador da Netscape não está
disponível publicamente. O pacote Debian do navegador fornece um wrapper (envelope)
que auxilia a instalação e o gerenciamento do Netscape em um sistema Debian. Esse
é um bom exemplo da integração de programas comerciais com o sistema Debian).

<!-- META:  Check whether/how Netscape can run Java programs. -->

<p>Uma nota final com boas e más notícias:
A política de licenciamento da Sun sobre o JDK está ficando cada vez mais
restritiva, portanto em pouco tempo esse pacote pode não estar disponível
como parte do Debian. É possível que ele possa estar disponível da mesma
maneira que o Netscape. Uma notícia melhor é que estão sendo desenvolvidos
vários programas que poderão oferecer alternativas atraentes e que estarão
publicamente disponíveis.

<sect id="isitdebian">Como posso verificar se estou usando um sistema Debian,
e que versão é esta?

<p>Para ter certeza de que seu sistema foi instalado a partir dos discos
base do Debian, verifique a existência do arquivo <tt>/etc/debian_version</tt>,
que contém apenas uma linha, dando o número da versão, como definido pelo
pacote <tt>base-files</tt>.

<p>A existência do programa <prgn>dpkg</prgn> mostra que você pode instalar
pacotes Debian em seu sistema, mas como o programa tem sido utilizado por
vários outros sistemas operacionais e arquiteturas, esse não é mais um
método confiável para se determinar se o sistema é &debian;.

<p>Os usuários devem estar cientes, de que o sistema Debian consiste de
muitas partes, cada uma das quais podem ser atualizadas de forma
(quase) independente. Cada "versão" do Debian possui conteúdo bem
definido e imutável. As atualizações ficam disponíveis separadamente.
Para uma descrição de uma linha do status de instalação do pacote
<package>foo</package>, use o comando <tt>dpkg --list foo</tt>.
(Sem argumentos, esse comando mostra as versões de todos os pacotes
instalados). Para ver as versões dos pacotes instalados, execute:
  <example>dpkg -l</example>
Para uma descrição mais completa, use:
  <example>dpkg --status foo</example>

<sect id="nonenglish">Como o Debian suporta idiomas diferentes do Inglês?

<p><list>
  <item>O &debian; é distribuído com mapas de teclado para quase duas dúzias
    de teclados e com utilitários (no pacote <tt>kbd</tt>) para
    instalar, ver e modificar esses mapas.
    <p>O processo de instalação pede ao usuário para especificar o
    teclado que ele usará.
  <item>A grande maioria dos programas que empacotamos, suportam a
    entrada de caracteres não US-ASCII usados em outros idiomas
    latinos (e.g.  ISO-8859-1 ou ISO-8859-2), e um grande número de
    pacotes suportam idiomas "multi-byte" como japonês e chinês.
  <item>Atualmente, o suporte para páginas de manual nos idiomas alemão,
    espanhol, finlandês, francês, húngaro, italiano, japonês, coreano
    e polonês é oferecido através dos pacotes `manpages-LANG' (onde
    LANG é o código ISO de duas letras do país).  Para acessar uma
    página de manual NLS, o usuário precisa ajustar a variável do
    `shell' LC_MESSAGES para o valor apropriado.
    <p>Por exemplo, no caso de páginas de manual em italiano, LC_MESSAGES
    deve ser ajustado para 'italian'. O programa <prgn>man</prgn> irá então
    procurar por páginas de manual em italiano sob <tt>/usr/share/man/it/</tt>.
</list>

<sect id="usexports">E as limitações de exportação dos EUA?

<p>As leis dos EUA restringem a exportação de artigos de defesa, o que
inclui alguns tipos de programas de criptografia.  PGP e ssh, entre
outros, entram nessa categoria.

<p>Para prevenir que alguém corra riscos legais desnecessários, alguns
pacotes do Debian GNU/Linux estão disponíveis apenas a partir de um
site fora dos EUA <url id="ftp://non-US.debian.org/debian-non-US/">.
Existem numeroso sites espelhos, todos os quais, fora dos EUA, veja
<url id="ftp://non-US.debian.org/debian-non-US/README.non-US"> para uma
lista completa.

<sect id="pine">Onde está o <prgn>Pine</prgn>?

<p>Devido à sua licença restritiva, ele está na área non-free.  Além
disso, como sua licença não permite nem mesmo que binários modificados
sejam distribuídos, você deve compilá-lo por conta própria a partir do
código-fonte e dos patches Debian.  Para maior conveniência dos usuários
que usam o <prgn>dselect</prgn>, o código-fonte para a versão Debian do
pine está disponível nos pacotes <package>pine396-src</package> e
<package>pine396-diffs</package>, ou <package>pine4-src</package> e
<package>pine4-diffs</package> para a versão 4.*.

<p>Note que existem muitos substitutos tanto para o <prgn>pine</prgn>
quanto para o <prgn>pico</prgn>, como o <package>mutt</package> e
<package>nano</package>, ambos localizados na seção <file>main</file>.