# Software disponível no sistema Debian.

## Que tipos de aplicativos e software de desenvolvimento estão disponíveis para o Debian GNU/Linux?

Assim como na maioria das distribuições Linux, o Debian GNU/Linux oferece:

- 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;

- Perl, Python, Tcl/Tk e vários programas correlatos, módulos e bibliotecas para cada um deles;

- TeX (LaTeX) e Lyx, dvips, Ghostscript;

- O sistema X Window, que oferece uma interface gráfica em rede para o Linux, e inumeráveis aplicativos X, incluindo o GNOME;

- 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.

Mais de 42304 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 696 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.

## Quem escreveu todos esses programas?

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

Mantenedores que empacotam esses programas para o sistema Debian GNU/Linux são listados no arquivo de controle Debian (veja controlfile) que vem com cada pacote.

## Como posso conseguir uma lista atual dos programas que foram empacotados para o projeto Debian?

Uma lista completa está disponível a partir de qualquer um dos espelhos do Debian.

O arquivo `indices/Packages-Master-i386.gz` 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 `indices/Packages-Master-ARCH.gz`, 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.

A interface WWW para os pacotes Debian resume convenientemente os pacotes em cada uma das vinte "seções" do arquivo Debian.

## 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?

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).

## O que está faltando no Debian GNU/Linux?

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

## (Como) O Debian suporta Java?

O Kit de Desenvolvimento Java da Sun (JDK) está disponível atualmente na forma de pacote Debian (`jdk_VVV-RRR.deb`). 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ê rodar programas Java da mesma maneira que você roda outros executáveis. O pacote JDK também inclui alguns programas de demonstração.

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 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 `binfmt_java` no arquivo `/etc/modules`.

Alternativamente, você pode instalar o módulo a partir da linha de comando executando o comando `insmod NOMEDIR/binfmt_java.o`, onde `NOMEDIR` é 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, `NOMEDIR` provavelmente será `/lib/modules/2.2.17/fs/`. Você pode verificar se um módulo está carregado usando o comando `lsmod`.

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).

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.

## Como posso verificar se estou usando um sistema Debian, e que versão é esta?

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

A existência do programa `dpkg` 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 GNU/Linux.

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 `foo`, use o comando `dpkg --list foo`. (Sem argumentos, esse comando mostra as versões de todos os pacotes instalados). Para ver as versões dos pacotes instalados, execute:

    dpkg -l

Para uma descrição mais completa, use:

    dpkg --status foo

## Como o Debian suporta idiomas diferentes do Inglês?

- O Debian GNU/Linux é distribuído com mapas de teclado para quase duas dúzias de teclados e com utilitários (no pacote `kbd`) para instalar, ver e modificar esses mapas.

  O processo de instalação pede ao usuário para especificar o teclado que ele usará.

- 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.

- 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.

  Por exemplo, no caso de páginas de manual em italiano, LC_MESSAGES deve ser ajustado para 'italian'. O programa `man` irá então procurar por páginas de manual em italiano sob `/usr/share/man/it/`.

## E as limitações de exportação dos EUA?

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.

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 ftp://non-US.debian.org/debian-non-US/. Existem numeroso sites espelhos, todos os quais, fora dos EUA, veja ftp://non-US.debian.org/debian-non-US/README.non-US para uma lista completa.

## Onde está o `Pine`?

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 `dselect`, o código-fonte para a versão Debian do pine está disponível nos pacotes `pine396-src` e `pine396-diffs`, ou `pine4-src` e `pine4-diffs` para a versão 4.*.

Note que existem muitos substitutos tanto para o `pine` quanto para o `pico`, como o `mutt` e `nano`, ambos localizados na seção `main`.