The Debian GNU/Linux FAQ

31 de maio de 2022

The Debian GNU/Linux FAQ
Published Janeiro 2021
Copyright © 1996-2021 Software in the Public Interest

É dada permissão para fazer e distribuir cópias textuais deste documento desde que o avido de copyrighte este aviso de permissão seja preservado em todas as cópias.
É dada permissão para copiar e distribuir versões modificadas deste documento sob as condições para
copyright textual, desde que todo o trabalho derivado resultante seja distribuído sob os termos de um
aviso de permissão idêntico a este.
É dada permissão para copiar e distribuir traduções deste documento em outra linguagem, sob ascondições em cima para versões modificadas, excepto se este aviso de permissão possa estar incluído
em traduções aprovadas pela Free Software Foundation em vez do Inglês original.

ii

Conteúdo
1 Definições e visão geral
1.1 O que é esta FAQ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 O que é Debian GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 OK, Agora Eu sei o que é Debian... o que é Linux?! . . . . . . . . . . . . . . . . . . . . . .
1.4 Debian apenas faz GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Qual é a diferença entre Debian GNU/Linux e outras distribuições de Linux? Porque devo
escolher Debian sobre outra distribuição? . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Como é que o projecto Debian encaixa ou se compara com o projecto GNU da Free Software Foundation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Como é que se pronuncia Debian e o que significa a palavra? . . . . . . . . . . . . . . . .

1
1
1
2
2

2 Obter e instalar Debian GNU/Linux
2.1 Qual é a versão mais recente de Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
̀
2.2 Existem actualizações de pacotes em stable’?
. . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Onde/como posso Eu obter as imagens de instalação de Debian? . . . . . . . . . . . . . .
2.4 Como é que Eu instalo Debian a partir de CD-ROMs? . . . . . . . . . . . . . . . . . . . . .
̀
2.5 Porque é que o CD-ROM de lançamento stable oficial contêm links simbólicos para frozen’̀̀
e unstable’? Pensei que este CD continha apenas stable’! . . . . . . . . . . . . . . . . . .
2.6 Posso obter e instalar Debian directamente a partir de um site remoto de Internet? . . . .
2.7 Existem algumas estratégias alternativas para arrancar o instalador do sistema? . . . . . .

5
5
5
6
6

2
3
3

6
6
6

3 Escolher uma distribuição Debian7
3.1 Qual distribuição Debian (stable/testing/unstable) é melhor para mim? . . . . . . . . . .
7
3.1.1 Você pediu-me para instalar stable, mas em stable algum hardware não é detetado/não funciona. O que devo fazer? . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.1.2 Irão existir diferentes versões de pacotes em diferentes distribuições? . . . . . . .
8
3.1.3 As distribuições stable realmente contêm pacotes antigos. Basta olhar para Kde,
Gnome, Xorg ou até mesmo o kernel. São muito antigos. Porquê? . . . . . . . . .
8
3.1.4 Se Eu decidir mudar para outra distribuição, posso fazê-lo? . . . . . . . . . . . . .
8
3.1.5 Pode dizer-me se devo instalar stable, testing ou unstable? . . . . . . . . . . . . .
8
3.1.6 Você está a falar que testing tem quebras. O que quer dizer com isso? . . . . . . .
9
3.1.7 Porque é que a testing pode ficar quebrada durante meses? As correcções introduzidas em unstable não fluem directamente para testing? . . . . . . . . . . . . .
9
3.1.8 A partir do ponto de vista do administrador, qual distribuição requer mais atenção? 10
3.1.9 O que acontece quando é feito um novo lançamento? . . . . . . . . . . . . . . . . 10
3.1.10 Eu tenho um computador/grupo a funcionar com Debian instalado. Como é que
sei qual distribuição estou a correr? . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.11 Eu estou actualmente a segui stable. Posso mudar para testing ou unstable? Se
sim, como? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.12 Eu estou actualmente a seguir testing (bookworm). O que vai acontecer quando
for feito um lançamento? Irei continuar a seguir testing ou a minha máquina irá
correr a nova distribuição stable? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.13 Ainda estou confuso. O que disse que Eu deveria instalar? . . . . . . . . . . . . . . 12
3.2 Mas então e Knoppix, Linux Mint Debian Edition, Ubuntu, e outros? . . . . . . . . . . . . 12
3.2.1 Eu sei que Knoppix/Linux Mint Debian Edition/Ubuntu/... são baseadas em Debian. Portanto, após instalar uma no disco rijo, posso usar as ferramentas depacotes do ’apt’ nela? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Eu instalei Knoppix/Linux Mint Debian Edition/Ubuntu/... no meu disco rijo.
Agora tenho um problema. O que devo fazer? . . . . . . . . . . . . . . . . . . . . 12
3.2.3 Estou a usar Knoppix/LMDE/Ubuntu/... e agora quero usar Debian. Como é que
Eu migro? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
iii

CONTEÚDO
4 Problemas de compatibilidade
4.1 Em quais arquitecturas/sistemas de hardware Debian GNU/Linux corre? . . . . . . . . . .
4.2 Quais kernels Debian GNU/Linux corre? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Quanto é compatível Debian com outras distribuições de Linux? . . . . . . . . . . . . . .
4.4 Quanto compatível é Debian em código fonte com outros sistemas Unix? . . . . . . . . .
4.5 Posso usar pacotes Debian (ficheiros ”.deb”) no meu sistema Linux Red Hat/Slackware/...?
Posso usar pacotes Red Hat (ficheiros ”.rpm”) no meu sistema Debian GNU/Linux? . . . .
4.6 Como devo Eu instalar um programa não-Debian? . . . . . . . . . . . . . . . . . . . . . .

15
15
16
16
16

5 Software disponível no sistema Debian
5.1 Que tipos de aplicações e software de desenvolvimento estão disponíveis para Debian
GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Quem escreveu todo esse software? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Como posso obter a lista actual de programas que foram empacotados para Debian? . . .
5.4 Como posso instalar um ambiente de desenvolvedor para compilar pacotes? . . . . . . . .
5.5 O que está a falar em Debian GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Porque é que Me aparecem mensagens ”ld: cannot find -lfoo” ao compilar programas?
Porque não existem nenhuns ficheiros libfoo.so nos pacotes binários de Debian? . . . . .
5.7 (Como) Debian suporta Java? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8 Com é que Eu verifico que estou a usar um sistema Debian, e qual versão é? . . . . . . .
5.9 Como é que Debian suporta linguagens não-Inglês? . . . . . . . . . . . . . . . . . . . . . .
5.10 Onde está ezmlm/djbdns/qmail? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.11 Onde está o reprodutor para Flash (SWF)? . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.12 Onde está o Google Earth? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.13 Onde está o software VoIP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.14 Eu tenho uma placa de rede sem fios que não funciona com Linux. Que devo fazer? . . .

19

6 Os arquivos Debian
6.1 Quantas distribuições Debian existem? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 O que são esses nomes como etch, lenny, etc.? . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Quais outros nomes de código foram usados no passado? . . . . . . . . . . . . . .
6.2.2 De onde estes nomes de código vieram? . . . . . . . . . . . . . . . . . . . . . . . .
6.3 E acerca de ”sid”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 O que é que directório stable contém? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5 O que é que a distribuição testing contém? . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.1 Então e a ”testing”? Como é ’congelada’? . . . . . . . . . . . . . . . . . . . . . . .
6.6 O que é que a distribuição unstable contém? . . . . . . . . . . . . . . . . . . . . . . . . .
6.7 O que são todos aqueles directórios nos arquivos Debian? . . . . . . . . . . . . . . . . . .
6.8 O que são esses directórios dentro de dists/stable/main? . . . . . . . . . . . . . . . .
6.9 Onde está o código fonte? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.10 O que é o directório pool? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.11 O que é ”incoming”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.12 Como é que Eu configuro o meu próprio repositório apropriado ao apt? . . . . . . . . . .

23
23
23
23
23
24
25
25
25
26
26
26
26
27
27
27

7 Básicas do sistema de gestão de pacotes Debian
7.1 O que é um pacote Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Qual é o formato de um pacote binário Debian? . . . . . . . . . . . . . . . . . . . . . . .
7.3 Porque são os nomes dos ficheiros de pacotes Debian tão longos? . . . . . . . . . . . . . .
7.4 O que é um ficheiro de controle Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5 O que é um conffile Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6 O que é um script Debian preinst, postinst, prerm, e postrm? . . . . . . . . . . . . . . . .
7.7 O que é um pacote Essential, Required, Important, Standard, Optional, ou Extra? . . . . . .
7.8 O que é um Pacote Virtual? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.9 O que significa dizer que um pacote Depends, Recommends, Suggests, Conflicts, Replaces,
Breaks ou Provides outro pacote? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.10 O que significa Pre-Depends? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.11 O que significa unknown, install, remove, purge e hold no status do pacote? . . . . . . . . .
7.12 Como pôr um pacote em hold? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.13 Como é que Eu instalo um pacote fonte? . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29
29
30
30
30
31
31
32
32

iv

17
17

19
19
20
20
20
20
20
21
21
21
22
22
22
22

33
33
34
34
34

CONTEÚDO
7.14 Com é que Eu compilo pacotes binários a partir de um pacote fonte? . . . . . . . . . . . . 35
7.15 Como é que Eu crio eu próprio pacotes Debian? . . . . . . . . . . . . . . . . . . . . . . . . 35
8 As ferramentas de gestão de pacotes Debian37
8.1 Que programas Debian disponibiliza para gestão dos seus pacotes? . . . . . . . . . . . . . 37
8.1.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.1.2 APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.1.3 aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.1.4 synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.1.5 tasksel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.1.6 Outras ferramentas de gestão de pacotes . . . . . . . . . . . . . . . . . . . . . . . . 40
8.1.6.1 dpkg-deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.2 Debian afirma ser capaz de atualizar um programa a correr, como é que isto é conseguido? 41
8.3 Como é que Eu posso saber que pacotes já estão instalados num sistema Debian? . . . . . 41
8.4 Como mostro os ficheiros de um pacote instalado? . . . . . . . . . . . . . . . . . . . . . . 41
8.5 Como posso descobrir qual pacote produziu um determinado ficheiro? . . . . . . . . . . . 41
̀̀
8.6 Porque foo-data’não é removido quando Eu desinstalo foo’?
Como é que garanto que
os pacotes binários antigos e não usados são purgados? . . . . . . . . . . . . . . . . . . . 42
9 Manter o seu sistema Debian actualizado
9.1 Como é que Eu consigo manter o meu sistema Debian actual? . . . . . . . . . . . . . . . .
9.1.1 aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.2 apt-get e apt-cdrom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2 Tenho que ir para modo de único-utilizador para a actualizar um pacote? . . . . . . . . .
9.3 Tenho que manter todos aqueles ficheiros arquivo .deb no meu disco? . . . . . . . . . . .
9.4 Como é que Eu mantenho um registo dos pacotes que Eu adiciono ao sistema? EU gostava
de saber quando as actualizações e remoções ocorreram e em quais pacotes! . . . . . . .
9.5 Posso actualizar automaticamente o sistema? . . . . . . . . . . . . . . . . . . . . . . . . .
9.6 Eu tenho várias máquinas, como posso Eu descarregar as actualizações apenas uma vez?

43
43
43
44
44
44

10 Debian e o kernel.
10.1 Posso instalar e compilar um kernel sem os ajustes específicos de Debian? . . . . . . . . .
10.2 Que ferramentas Debian fornece para compilar kernels personalizados? . . . . . . . . . .
10.3 Que provisões especiais Debian fornece para lidar com módulos? . . . . . . . . . . . . . .
10.4 Posso desinstalar em segurança um pacote antigo de kernel, e se sim, como? . . . . . . .
10.5 Onde posso obter mais informação acerca de pacotes Linux para Debian? . . . . . . . . .

47
47
47
47
47
48

45
45
45

11 Personalizar o seu sistema Debian GNU/Linux
49
11.1 Como posso certificar-me que todos os programas usam o mesmo tamanho de papel? . . 49
11.2 Como posso Eu fornecer acesso a periféricos de hardware, sem comprometer a segurança? 49
11.3 Como é que Eu carrego no arranque um tipo de letra na consola à maneira Debian? . . . 49
11.4 Como posso Eu configurar as predefinições de aplicações de programas do X11? . . . . . 49
11.5 Como é que o sistema Debian arranca? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.6 E então acerca de Debian e o init System V tradicional? . . . . . . . . . . . . . . . . . . . 50
11.7 E ainda existem outras maneiras de arrancar um sistema Debian? . . . . . . . . . . . . . . 51
11.8 Como é que o sistema de gestão de pacotes lida com pacotes que contêm ficheiros deconfiguração para outros pacotes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.9 Como é que Eu sobreponho um ficheiro instalado por um pacote, para que possa ser usada
uma versão diferente? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.10Como é que Eu posso ter o meu pacote localmente compilado na lista de pacotes disponíveis que o sistema de gestão de pacotes conhece? . . . . . . . . . . . . . . . . . . . . . . 52
11.11Alguns utilizadores gostam de mawk, outros gostam de gawk; alguns gostam de vim,
outros gostam de elvis; alguns gostam de trn, outros de tin; como é que Debian suporta
diversidade? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53v

CONTEÚDO
12 Obtendo suporte para Debian GNU/Linux12.1 Que outra documentação existe para o sistema Debian? . . . . . . . . . . . . . . . . . . .
12.2 Existem recursos on-line para discutir Debian? . . . . . . . . . . . . . . . . . . . . . . . .
12.2.1 Listas de Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.1.1 Qual é o código de conduta para as listas de mail? . . . . . . . . . . . . .
12.2.2 Fórum Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.3 Wiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.4 Responsáveis de manutenção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.5 newsgroups da Usenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.3 Existe um modo rápido para procurar informação em Debian GNU/Linux? . . . . . . . .
12.4 Existem relatórios de bugs conhecidos? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.5 Como é que Eu reporto um bug em Debian? . . . . . . . . . . . . . . . . . . . . . . . . . .

55
55
56
56
56
56
57
57
57
57
57
57

13 Contribuir para o Projecto Debian13.1 Como posso Eu tornar-me em membro de Debian/desenvolvedor de Debian? . . . . . . .
13.2 Como posso Eu contribuir com recursos para o projecto Debian? . . . . . . . . . . . . . .
13.3 Como posso Eu contribuir financeiramente para o projecto Debian? . . . . . . . . . . . .
13.3.1 Software in the Public Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3.2 Outras organizações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59
59
59
59
60
60

14 Redistribuindo Debian GNU/Linux num produto comercial
14.1 Posso criar e vender CDs de Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2 Pode Debian ser empacotado com software não-livre? . . . . . . . . . . . . . . . . . . . .
14.3 Eu estou a criar uma distribuição Linux especial para um ”mercado vertical”. Posso usar
Debian GNU/Linux para as entranhas dum sistema Linux e adicionar as minhas próprias
aplicações em cima disso? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.4 Posso colocar o meu programa comercial num ”pacote” Debian para que ele instale sem
esforço em qualquer sistema Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61
61
61

15 Alterações esperadas no próximo grande lançamento de Debian15.1 Endurecer o sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 Suporte extenso para utilizadores não-Ingleses . . . . . . . . . . . . . . . . . . . . . . . .
15.3 Melhoramentos no instalador de Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4 Mais arquitecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.5 Mais kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63
63
63
64
64
64

16 Informação geral acerca da FAQ
16.1 Autores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.2 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.3 Disponibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.4 Formato de documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65
65
65
65
66

Índice

61
62

67

vi

Resumo
Este documento responde a perguntas frequentemente feitas acerca de Debian GNU/Linux.

Capítulo 1

Definições e visão geral
1.1

O que é esta FAQ?

Este documento dá as perguntas feitas frequentemente (com as suas respostas) acerca da distribuição
Debian (Debian GNU/Linux e outras) a sobre o projecto Debian. Quando aplicável, serão dados indicadores para outros documentos: nós não mencionamos grandes partes de documentação externa neste
documento. Você vai perceber que algumas respostas assumem algum conhecimento sobre sistemas operativos do tipo Unix. Nós vamos tentar assumir o mínimo possível de pré-conhecimentos: as respostas
às perguntas gerais de principiantes serão mantidas simples.
Se no conseguir encontrar o que procura nesta FAQ, assegure-se que verifica Secção 12.1. Se mesmo
isso não ajudar, apoie-se em Secção 16.2.

1.2

O que é Debian GNU/Linux?

Debian GNU/Linux é uma distribuição particular do sistema operativo Linux, e numerosos pacotes que
correm nele.
Debian GNU/Linux é:• cheia de recursos: Presentemente Debian inclui mais de 59100 pacotes de software. Os utilizadores pode seleccionar quais pacotes instalar; Debian disponibiliza uma ferramenta para este
propósito. Você pode encontrar uma lista e descrições dos pacotes presentemente disponíveis
em Debian em qualquer dos mirror sites (https://www.debian.org/distrib/ftplist) de
Debian.
• livre de usar e re-distribuível: Não há nenhuma filiação a consórcio ou pagamento necessáriopara participar na sua distribuição e desenvolvimento. Todos os pacotes que são formalmente
parte de Debian GNU/Linux são livres para re-distribuir, normalmente sob o termos especificados
pela GNU General Public License.
Os arquivos Debian também carregam aproximadamente 1000 pacotes de software (nas secções
non-free e contrib), os quais são distribuídos sob termos específicos incluídos em cada pacote.

• dinamismo: Com cerca de 1012 voluntários constantemente contribuindo código novo e melhorado, Debian está a evoluir rapidamente. Os arquivos são actualizados duas vezes por dia.
A maioria dos utilizadores de Linux correm uma distribution específica de Linux, como Debian GNU/Linux. No entanto, os utilizadores podem obter o kernel Linux via Internet ou de qualquer outro lado, ecompilá-lo eles próprios. Eles pode depois obter código fonte para muitas aplicações do mesmo modo,compilar os programas, e depois instalá-los nos seus sistemas. Para programas complicados, este processo pode ser não só consumidor de tempo como também propenso a error. Para o evitar, os utilizadores
muitas vezes escolhem obter o sistema operativo e os pacotes de aplicações a partir de um dos distribuidores de Linux. O que distingue as várias distribuições de Linux são o software, protocolos, e as praticas
que usam para empacotar, instalar, e acompanhar pacotes de aplicações nos sistemas dos utilizadores,
combinado com ferramentas de instalação e manutenção, documentação,e outros serviços.
Debian GNU/Linux é o resultado de um esforço voluntário para criar um sistema operativo livre, dealta qualidade, compatível com Unix, completo com um conjunto de aplicações. A ideia de um sistema1CAPÍTULO 1. DEFINIÇÕES E VISÃO GERAL

1.3. OK, AGORA EU SEI O QUE É DEBIAN... O …

livre tipo Unix teve origem no projecto GNU, e muitas das aplicações que fazem Debian GNU/Linux tãoútil foram desenvolvidas pelo projecto GNU.
Para Debian, free tem o significado à GNU (veja o Debian Free Software Guidelines (https://www.debian.org/social_contract#guidelines)). Quando falamos de free software, estamos areferir a liberdade, e não grátis. Free software significa que você tem a liberdade de distribuir cópias desoftware livre, de que você recebeu código fonte ou pode obtê-lo se o desejar, e que o pode modificar osoftware ou usar pedaços dele em novos programas livres; e que você sabe que pode fazer estas coisas.
O projecto Debian foi criado por Ian Murdock em 1993, inicialmente sob o patrocínio do projecto
GNU da Free Software Foundation. Hoje, os desenvolvedores de Debian pensam nele como um descendente directo do projecto GNU.
Apesar da própria Debian GNU/Linux ser software livre, é uma base na qual distribuições de Linuxde valor-adicionado podem ser construídas. Ao disponibilizar um sistema base com todas as funcionalidades e confiável, Debian fornece aos utilizadores de Linux compatibilidade melhorada, e permite
aos criadores de distribuições de Linux eliminarem a duplicação de esforço e focarem-se nas coisas que
tornam as suas distribuições especiais. Veja Secção 14.3 para mais informação.

1.3 OK, Agora Eu sei o que é Debian... o que é Linux?!
Em resumo, Linux é o kernel de um sistema operativo tipo Unix. Foi feito originalmente para PCs 386 (emelhores). Hoje Linux também corre numa dúzia de outros sistemas. Linux é escrito por Linus Torvalds
e muitos cientistas de computadores de todo o mundo.
Além do seu kernel, um sistema ”Linux” normalmente tem:
• um sistema de ficheiros que segue o Linux Filesystem Hierarchy Standard https://www.pathname.
com/fhs.
• um grande leque de utilitários Unix, muitos dos quais foram desenvolvidos pelo projecto GNU e aFree Software Foundation.
A combinação do kernel Linux, o sistema de ficheiros, os utilitários GNU e FSF, e outros utilitários
são desenhados para alcançar a conformidade com o standard POSIX (IEEE 1003.1), veja Secção 4.4.
Para mais informação sobre Linux, veja What is Linux (https://www.linux.org/info/) por
Linux Online (https://www.linux.org/).

1.4 Debian apenas faz GNU/Linux?
Actualmente, Debian está apenas disponível para Linux, mas com Debian GNU/Hurd e Debian em kernels BSD, nos começamos a oferecer também Sistemas Operativos baseados em não-Linux como plataformas de desenvolvimento, servidores, e de ambiente de trabalho. No entanto, estes portes não-Linuxainda não são lançados oficialmente.
O esforço de porte mais antigo é o Debian GNU/Hurd.
O Hurd é um conjunto de servidores que correm em cima do microkernel Mach do GNU. Todos juntos
eles constroem a base para o sistema operativo GNU.
Por favor veja https://www.gnu.org/software/hurd para mais informação acerca de GNU/Hurdem geral, e https://www.debian.org/ports/hurd/ para mais informação acerca de Debian GNU/Hurd.
Um segundo esforço é o porte para um kernel BSD. Pessoas estão a trabalhar com o kernel FreeBSD.
Veja https://www.debian.org/ports/#nonlinux para mais informação acerca destes portes
não-linux.

1.5 Qual é a diferença entre Debian GNU/Linux e outras distribuições de Linux? Porque devo escolher Debian sobre outra
distribuição?
Estas funcionalidade chave distinguem Debian de outras distribuições de Linux:2CAPÍTULO 1. DEFINIÇÕES E VISÃO GERAL

1.6. COMO É QUE O PROJECTO DEBIAN …

Liberdade: Como afirmado no Debian Social Contract (https://www.debian.org/social_contract),
Debian irá permanecer 100% livre. Debian é muito estrito acerca de empacotar verdadeiro software livre. As directrizes usadas para determinar se um trabalho é ”livre” são dadas em The DebianFree Software Guidelines (DFSG) (https://www.debian.org/social_contract#guidelines).
O sistema de manutenção de pacotes Debian: O sistema completo, ou qualquer componente individual dele, pode ser actualizado no lugar sem reformatar, sem perder ficheiros de configuração
personalizados, e (na maioria dos casos) sem reiniciar o sistema. A maioria das distribuições deLinux disponíveis actualmente têm algum tipo de sistema de manutenção de pacotes, o sistema depacotes de Debian é único e particularmente robusto (veja Capítulo 7).
Desenvolvimento aberto: Enquanto que muitas outras distribuições de Linux são desenvolvidas por
indivíduos, pequenos grupos fechados, ou marcas comerciais, Debian é uma grande distribuição
de Linux que tem sido desenvolvida por uma associação de indivíduos que têm como objectivo
comum a criação de um sistema operativo livre, no mesmo espírito do Linux e outro software livre.
Mais de 1012 voluntários de manutenção de pacotes estão a trabalhar em mais de 59100 pacotes ea melhorar Debian GNU/Linux. Os desenvolvedores de Debian contribuem para o projecto não ao
escrever novas aplicações (na maioria dos casos), mas ao empacotar software existente de acordo
com os standards do projecto, ao comunicar relatórios de bugs aos desenvolvedores originais e ao
disponibilizar suporte aos utilizadores. Veja também informação adicional sobre como se tornar
um contribuinte em Capítulo 13.

O Sistema Operativo Universal: Debian vem com mais de 59100 pacotes (http://packages.debian.
org/stable/) e corre em 9 arquitecturas (http://www.debian. org/ports/). Isto é muito
mais do que está disponível para qualquer outra distribuição de GNU/Linux. Veja Secção 5.1 parauma visão geral do software disponibilizado e veja Secção 4.1 para uma descrição das plataformasde hardware suportadas.
O Sistema de Acompanhamento de Bugs: A dispersão geográfica dos desenvolvedores de Debian preciso de ferramentas sofisticadas e de comunicação rápida de bugs e correcções de bug para aceleraro desenvolvimento do sistema. Os utilizadores são encorajados a enviar os bugs num estilo formal,
os quais são acessíveis rapidamente por arquivos WWW ou via e-mail. Veja informação adicional
nesta FAQ na gestão do relatório de bug Secção 12.4.
A Política Debian: Debian tem uma especifica extensiva dos nossos standards de qualidade, a Politica
Debian. Este documento define as qualidades e standards nos quais mantemos os pacotes Debian.
Para informação adicional acerca disto, por favor veja a nossa página web acerca de razões paraescolher Debian (https://www.debian.org/intro/why_debian).

1.6

Como é que o projecto Debian encaixa ou se compara com oprojecto GNU da Free Software Foundation?

O sistema Debian é construído nos ideais do software livre defendidos pela Free Software Foundation(https://www.gnu.org/) e em particular por Richard Stallman (https://www.stallman.org/).
As poderosas ferramentas de desenvolvimento de sistema da FSF, utilitários, e aplicações, são também
peça chave do sistema Debian.
O projecto Debian é uma entidade separada da FSF, no entanto nós comunicamos regularmente e
cooperamos em vários projectos. A FSF pediu explicitamente que nós chamássemos ao nosso sistema”Debian GNU/Linux”, e estamos felizes por obedecer a esse pedido.
O objectivo de longa data da FSF é desenvolver um novo sistema operativo chamado GNU, baseado em Hurd (https://www.gnu.org/software/hurd). Debian está a trabalhar com a FSF neste
sistema, chamado Debian GNU/Hurd (https://www.debian.org/ports/hurd/).

1.7

Como é que se pronuncia Debian e o que significa a palavra?

O nome do projecto é pronunciado Deb’-ee-en, com um e curto em Deb, e ênfase na primeira sílaba. Esta
palavra é um contracção dos nomes de Debra e Ian Murdock, que fundaram o projecto. (Nos dicionários
aparece muitas vezes alguma ambiguidade na pronúncia de Ian (!), mas o Ian prefere ee’-en.)3Capítulo 2

Obter e instalar Debian GNU/LinuxO documento oficial que fornece instruções de instalação é o Guia de Instalação de Debian GNU/Linux(https://www.debian.org/releases/stable/installmanual). Aqui nós vamos dar algumas
notas adicionais acerca de obter e instalar Debian GNU/Linux.

2.1

Qual é a versão mais recente de Debian?

Actualmente existem três versões de Debian GNU/Linux:
̀
lançamento 11, também conhecida pela distribuição stable’
ou bullseye Isto é software estável e bem
testado. É alterado se forem incorporadas grande correções de segurança e usabilidade.
̀a distribuição testing’,
actualmente chamada bookworm Isto é onde são colocados os pacotes que sèrão lançados no próximo stable’;
eles tiveram alguns testes em unstable mas podem não estar ainda
completamente aptos para lançamento. Esta distribuição é actualizada mais frequentemente què̀stable’,mas não mais frequentemente que unstable’.
̀a distribuição unstable’
Esta é a versão presentemente sob desenvolvimento; é actualizada continuà
mente. Você pode obter pacotes do arquivo unstable’
em qualquer site espelho Debian e usa-lospara actualizar o seu sistema a qualquer altura, mas não pode esperar que o sistema fique tãòutilizável e estável como antes - é por isso que é chamada unstable(instável)’!
Por favor veja Secção 6.1 para mais informação.

2.2

̀
Existem actualizações de pacotes em stable’?

Nenhuma nova funcionalidade é adicionada ao lançamento estável. Assim que uma versão Debian é̀lançada e etiquetada stable’
apenas irá receber actualizações de segurança. Isto é, apenas pacotespara os quais foi descoberta uma vulnerabilidade de segurança após o lançamento e serão actualizados.
Todas as actualizações de segurança são servidas através de security.debian.org (https://security.
debian.org).
As actualizações de segurança servem um objectivo: fornecer uma correcção para uma vulnerabilidade de segurança. Elas não são um método de embutir alterações adicionais no lançamento estável sem
passarem pelo procedimento de lançamento normal. Como consequência, correções para pacotes com
problemas de segurança não irão actualizar o software. O Debian Security Team irá aplicar as correções
̀necessárias à versão do software distribuído em stable’
em vez das versões mais recentes.
Para mais informação relacionada com suporte de segurança, por favor leia Security FAQ (https://www.debian.org/security/faq) ou Manual de Segurança Debian (https://www.debian.org/
doc/manuals/securing-debian-howto/).
5CAPÍTULO 2. OBTER E INSTALAR DEBIAN …

2.3. ONDE/COMO POSSO EU OBTER AS …

2.3 Onde/como posso Eu obter as imagens de instalação de Debian?
Você pode obter as imagens de instalação ao descarregar os ficheiros apropriados a partir de Debian
website (https://www.debian.org/distrib/).
Por favor consulte Debian GNU/Linux on CDs (https://www.debian.org/CD) para mais informação sobre imagens de CD (e DVD).

2.4 Como é que Eu instalo Debian a partir de CD-ROMs?
Instalar Debian a partir de CD é direto: configure o seu sistema para arrancar a partir de CD, insira oCD, e reinicie. O seu sistema irá agora estar a correr o Instalador Debian. Veja Guia de Instalação de
Debian GNU/Linux (https://www.debian.org/releases/stable/installmanual) para mais
informação.

2.5 Porque é que o CD-ROM de lançamento stable oficial contêm
̀̀links simbólicos para frozen’e unstable’?
Pensei que este CD̀continha apenas stable’!
Imagens de CD Debian oficiais contêm de facto symlinks como:/dists/frozen -> bullseye//dists/stable -> bullseye//dists/testing -> bullseye//dists/unstable -> bullseye/para que funcionem quando o seu sources.list tem uma entrada comodeb cdrom:[<name as on cd label>]/ unstable main [...].
̀̀
O facto destes symlinks estarem presentes não significa que a imagem seja unstable’ou testing’ououtra coisa. Leia a etiqueta do CD em /.disk/info para descobrir que versão de Debian contem. Esta
informação está também presente em /README.txt no CD.
̀Leia https://www.debian.org/releases para descobrir o que os lançamentos actuais stable’̀
e testing’são.

2.6 Posso obter e instalar Debian directamente a partir de um site
remoto de Internet?
Sim. Você pode arrancar o sistema de instalação de Debian a partir de um conjunto de ficheiros que
pode descarregar do nosso site arquivo e dos seus espelhos.
Você pode descarregar um pequeno ficheiro de imagem de CD, criar um CD de arranque a partirdela, instalar o sistema básico com ela e o resto pela rede. ara mais informação por favor veja https://www.debian.org/CD/netinst/.

2.7 Existem algumas estratégias alternativas para arrancar o instalador do sistema?
Sim. Para além de CD ou DVD, você pode instalar Debian GNU/Linux ao arrancar de uma caneta
de memória USB, directamente do disco rijo, ou usando o arranque de rede TFTP. Para instalação em
múltiplos computadores é possível instalações totalmente automáticas . De notar: nem todos os métodos
são suportados por todas as arquitecturas de computadores. Após o instalar arrancar, o resto do sistema
pode ser descarregado por rede, ou instalado a partir dum suporte local. Veja Guia de Instalação de
Debian GNU/Linux (https://www.debian.org/releases/stable/installmanual) para mais
informação.
6

Capítulo 3

Escolher uma distribuição DebianExistem muitas distribuições Debian diferentes. Escolher a distribuição Debian apropriada é uma decisão
importante. Esta secção cobre alguma informação útil para utilizadores que querem fazer a melhor
escolha apropriada para o seu sistema e também responde a perguntas possíveis que pode surgir durante
o processo. Não lida com ”porque deve escolher Debian” mas em vez disso ”qual distribuição de Debian”.
Para mais informação sobre as distribuições disponíveis leia Secção 6.1.

3.1

Qual distribuição Debian (stable/testing/unstable) é melhor
para mim?

A resposta é um pouco complicada. Depende realmente daquilo que pretende fazer. Uma solução seria
perguntar a um amigo que corre Debian. Mas isso não significa que você não pode ter uma decisão
independente. De facto, você deverá ser capaz de decidir assim que acabar de ler este capítulo.
• Se a segurança ou a estabilidade são tudo o que é importante para si: Instale a stable. ponto final.
Este é o método mais preferido.
• Se você é um novo utilizador a instalar numa máquina de secretária, comece com stable. Algum
do software é antigo, mas é o ambiente com menos bugs para trabalhar. Você pode facilmentepara o mais moderno unstable (ou testing) assim que estiver um pouco mais confiante.
• Se você é um utilizador com muita experiência no sistema operativo e não se importa com um bug
estranho de vez em quando, ou atém mesmo com quebra geral do sistema, use a unstable. Tem omelhor e mais recente software, e os bugs são geralmente corrigidos com rapidez.
• SE você está a correr um servidor, especialmente se for um com fortes requerimentos de estabilidade ou esteja exposto à Internet, instale stable. Esta é de longe a escolha mais forte e segura.
As seguintes questões fornecem (esperamos) mais informação nestas escolhas. Após ler esta FAQ
completa, e se ainda não conseguir tomar uma decisão, fique pela distribuição stable.

3.1.1Você pediu-me para instalar stable, mas em stable algum hardware nãoé detetado/não funciona. O que devo fazer?

Tente pesquisar na web usando um motor de busca e veja se alguém foi capaz de o pôr a funcionar em
stable. A maioria do hardware deve funcionar bem com stable. Mas se você possuir algum hardware
criado muito recentemente, esse pode não funcionar com stable. Se for este o caso, poderá querer
instalar/actualizar para testing ou unstable.
Para portáteis, http://www.linux-on-laptops.com/ é uma boa página web para ver de maisalguém consegue fazê-lo funcionar sob Linux. Esta página web não é específica a Debian, mas mesmo
assim é um tremendo recurso. Desconhecemos se existe tal página web para computadores de secretária.
Outra opção seria perguntar na lista de mail utilizador-debian ao enviar um email para debianuser@lists.debian.org. As mensagens podem ser postadas na lista mesmo sem a subscrever. Os arquivos
podem ser lidos através de https://lists.debian.org/debian-user/. A informação sobre subscrição à lista pode ser encontrada na localização dos arquivos. Você é fortemente encorajado a postar
7CAPÍTULO 3. ESCOLHER UMA DISTRIBUIÇÃO …

3.1. QUAL DISTRIBUIÇÃO DEBIAN …

as suas questões na lista de mail em vez de em irc (https://www.debian.org/support). As mensagens na lista de mail são arquivadas, assim a solução para o seu problema pode ajudar outros com o
mesmo problema.

3.1.2 Irão existir diferentes versões de pacotes em diferentes distribuições?
Sim. Unstable tem as versões mais recentes (últimas). Mas os pacotes em unstable não estão bem
testados e podem ter bugs.
Por outro lado, stable contém versões antigas de pacotes. Mas estes pacotes estão bem testados e émenos provável que contenham bugs.
Os pacotes em testing ficam entre estes dois extremos.

3.1.3 As distribuições stable realmente contêm pacotes antigos. Basta olhar
para Kde, Gnome, Xorg ou até mesmo o kernel. São muito antigos. Porquê?
Bem, você pode estar certo. A idade dos pacotes em stable dependem de quando o último lançamento
foi feito. Como existi tipicamente mais de 1 ano entre lançamentos você pode descobrir que a stable
contém versões antigas dos pacotes. No entanto, foram testados por dentro e por fora. Pode-se dizer com
confiança que os pacotes não têm bugs severos conhecidos, buracos de segurança, etc... Os pacotes em
stable integram-se perfeitamente com outros pacotes stable. Estas características são muito importantes
para servidores de produção que têm de trabalhar 24 horas por dia, 7 dias por semana.
Por outro lado, os pacotes em testing ou unstable podem ter bugs escondidos, buracos de segurança
etc. Mais ainda, alguns pacotes em testing e unstable podem nem trabalhar como se pretende. Geralmente as pessoas que trabalham só num computador preferem ter o conjunto de pacotes mais recente e
mais moderno. Unstable é a solução para este grupo de pessoas.
Como pode ver, estabilidade e inovação são dois opostos do espectro. Se for necessário estabilidade:instale a distribuição stable. Se quer trabalhar com os pacotes mais recentes, então instale unstable.

3.1.4 Se Eu decidir mudar para outra distribuição, posso fazê-lo?
Sim, mas é um processo sem retorno. Você pode mudar de stable --> testing --> unstable. Mas a
direcção inversa não é ”possível”. Portanto é melhor ter certezas se está a planear a instalar/actualizar
para unstable.
Na verdade, se você for um ”expert” e estiver disposto a gastar algum tempo e se for realmente
cuidadoso e se souber o que está a fazer, então poderá ser possível ir de unstable para testing e depois
para stable. OS scripts do instalador não foram desenvolvidos para fazer isso. Portanto no processo, osseus ficheiros de configuração poderão ser perdidos e ....

3.1.5 Pode dizer-me se devo instalar stable, testing ou unstable?
Não. Este é um problema muito subjetivo. Não existe resposta perfeita pois ela depende das suasnecessidades de software, da sua aceitação de lidar com possíveis defeitos, e da sua experiência em
administração de sistemas. Aqui estão algumas dicas:• Stable é uma rocha. Não tem quebras e tem suporte de segurança completo. Mas pode não trazer
suporte para o software mais recente.
• Testing tem software mais actualizado que Stable, e tem quebras menos frequentes que Unstable. Mas quando quebra, pode demorar muito tempo até que as coisas sejam retificadas. Porvezes podem ser dias e podem ser meses noutras alturas. Também não tem suporte de segurança
permanente.
• Unstable tem o software mais recente e muita muitas vezes. Como consequência, pode quebrar aqualquer altura. No entanto, as correções são retificadas em muitos casos em poucos dias e tem
sempre os lançamentos mais recentes do software empacotado para Debian.
Quando decidir entre testing e unstable tenha em mente que podem existir alturas que seguir testingpode ser benéfico em oposto a unstable. Um dos autores deste documento experimentou tal situação
devido à transição do gcc de gcc3 para gcc4. Ele estava a tentar instalar o pacote labplot numa
8CAPÍTULO 3. ESCOLHER UMA DISTRIBUIÇÃO …

3.1. QUAL DISTRIBUIÇÃO DEBIAN …

máquina que seguia unstable e não podia ser instalado em unstable pois algumas das suas dependências
tinham feito a transição para gcc4 e outras não. Mas o pacote em testing podia ser instalado pois os
pacotes de transição de gcc4 ainda não tinham passado para testing.

3.1.6Você está a falar que testing tem quebras. O que quer dizer com isso?

Por vezes, um pacote pode não dar para instalar através das ferramentas de gestão de pacotes. Por vezes,
um pacote pode nem sequer estar disponível, talvez tenha sido removido (temporariamente) devido abugs ou dependências não satisfeitas. Por vezes, um pacote instala mas não se comporta da maneira
apropriada.
Quando estas coisas acontecem, diz-se que a distribuição está quebrada (pelo menos para esse pacote).

3.1.7

Porque é que a testing pode ficar quebrada durante meses? As correcções
introduzidas em unstable não fluem directamente para testing?

As correcções de bugs e melhoramentos introduzidos na distribuição unstable passam para testing apósum certo número de dias. Digamos que este limiar é de 5 dias. Os pacotes em unstable vão para testing
apenas quando não existem bugs RC reportados a eles. Se existir um bug RC aberto ao pacote em
unstable, ele não irá para testing após 5 dias.
A ideia é que, se um pacote tem problemas, eles serão descobertos por pessoas que usam unstablee serão corrigidos antes de entrar em testing. Isto mantêm testing num estado utilizável na maioria do
tempo. Em geral é um conceito brilhante, se mo perguntar. Mas as coisas não são sempre tão simples.
Considere a seguinte situação:• Imagine que está interessado no pacote XYZ.
• Vamos assumir que a 10 de Junho, a versão em testing é XYZ-3.6 e em unstable é XYZ-3.7.
• Após 5 dias, XYZ-3.7 de unstable migra para testing.
• Assim a 15 de Junho, ambos testing e unstable têm XYZ-3.7 nos seus repositórios.
• Digamos que, o utilizador da distribuição testing vê que um novo pacote XYZ está disponível e
actualiza o XYZ-3.6 para XYZ-3.7.
• Agora a 25 de Junho, alguém a usar testing ou unstable descobre um bug RC no XYZ-3.7 e reporta-ono BTS.
• O responsável de XYZ corrige este bug e e envia para unstable digamos em 30 de Junho. Aqui é
assumido que o responsável demora 5 dias a corrigir o bug e a enviar a nova versão. O número
5 não deve ser tomado literalmente. Pode ser menos ou mais, dependendo da severidade do bug
RC com que lidamos.
• Esta nova versão em unstable, XYZ-3.8 é agendada para entrar em testing a 5 de Julho.
• Mas a 3 de Julho outra pessoa descobre outro bug RC em XYZ-3.8.
• Digamos que o responsável do XYZ corrige este novo bug RC e lança a nova versão do XYZ após
5 dias.
• Assim a 8 de Julho, testing tem XYZ-3.7 enquanto unstable tem XYZ-3.9.
• Esta nova versão XYZ-3.9 é agora re-agendada para entrar em testing a 13 de Julho.
• Agora como você está a correr testing, e como o XYZ-3.7 tem bug, você pode provavelmente usaro XYZ apenas após 13 de Julho. Isto é, essencialmente você ficou com um XYZ quebrado cerca deum mês.
A situação pode ficar muito mais complicada. Se por exemplo, XYZ depender de outros 4 pacotes.
Isto pode levar a uma distribuição testing não utilizável durante meses. Apesar do cenário em cima ser
imaginário, coisas semelhantes podem ocorrer na realidade, apesar de serem raras.
9CAPÍTULO 3. ESCOLHER UMA DISTRIBUIÇÃO …

3.1. QUAL DISTRIBUIÇÃO DEBIAN …

3.1.8 A partir do ponto de vista do administrador, qual distribuição requer maisatenção?
Uma das principais razões de muita gente escolher Debian sobre outras distribuições de Linux é que
requer muito pouca administração. As pessoas querem um sistema que apenas trabalhe. Em geral,
pode-se dizer que stable requer muito pouca administração, enquanto que testing e unstable requerem
constante manutenção pelo administrador. Se você está a correr stable, tudo o que precisa se preocuparé acompanhar as actualizações de segurança. Se estiver a correr testing ou unstable é boa ideia estar
consciente de novos bugs descobertos nos pacotes instalados, novas correções bugs/funcionalidades
introduzidas, etc.

3.1.9 O que acontece quando é feito um novo lançamento?
Esta questão não irá ajudá-lo a escolher uma distribuição Debian. Mas mas cedo ou mais tarde você irá
enfrentar esta questão.
A distribuição stable é actualmente bullseye; A próxima distribuição stable será chamada bookworm.
Vamos considerar o caso particular do que acontece quando bookworm é lançada como a nova versão
stable.
• oldstable = buster; stable = bullseye; testing = bookworm; unstable = sid• Unstable é sempre referida como sid independentemente se foi feito um lançamento ou não.
• Pacotes migram constantemente de sid para testing (i.e. bookworm). Mas os pacotes em stable(i.e. bullseye) permanecem os mesmos excepto para actualizações de segurança.
• Após algum tempo testing fica congelada. Mas mesmo assim é chamada de testing. Neste ponto
nenhum novo pacote de unstable pode migrar para testing a menos que inclua correções de bugs
RC (release-critical).
• Quando a testing está congelada, todas as novas correções de bugs introduzidas têm de ver verificadas manualmente pelos membros da equipa de lançamento. Isto é feito para assegurar que não
existirão nenhuns problemas severos desconhecidos na testing congelada.
• Os bugs RC em ’testing congelada’ são reduzidos para zero ou, se maior que zero, os bugs são
marcados como ignorados para o lançamento ou são diferidos para um lançamento pontual.
• A ’testing congelada’ sem bugs será lançada como a nova versão stable. No nosso exemplo, este
novo lançamento stable será chamado bookworm.
• Neste estado oldstable = bullseye, stable = bookworm. Os conteúdos de stable e ’frozen testing’são iguais neste ponto.
• Uma nova testing é baseada na testing antiga.
• Os pacotes começam a vir de sid para testing e a comunidade Debian irá trabalhar no sentido decriar o próximo lançamento stable.

3.1.10 Eu tenho um computador/grupo a funcionar com Debian instalado. Como
é que sei qual distribuição estou a correr?
Na maioria das situações isto é muito fácil de descobrir. Veja no ficheiro /etc/apt/sources.list.
Deverá existir uma entrada semelhante a isto:
deb http://ftp.us.debian.org/debian/ unstable main contrib

O terceiro campo (’unstable’ no exemplo acima) indica a distribuição Debian que o sistema estápresentemente a acompanhar.
Você também pode usar lsb_release (disponível no pacote lsb-release). Se você correr este
programa num sistema unstable irá obter:10CAPÍTULO 3. ESCOLHER UMA DISTRIBUIÇÃO …

3.1. QUAL DISTRIBUIÇÃO DEBIAN …

$ lsb_release -a
LSB Version:
core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32: ←core-3.0-ia32:core-3.1-ia32
Distributor ID: Debian
Description:
Debian GNU/Linux unstable (sid)Release:unstable
Codename:sid

No entanto, isto não é sempre tão fácil. Alguns sistemas podem ter ficheiros sources.list com
múltiplas entradas correspondendo a diferentes distribuições. Isto pode acontecer se o administrador
estiver a seguir pacotes diferentes de distribuições Debian diferentes. Isto é frequentemente referidocomo apt-pinning. Estes sistemas podem correr uma mistura de distribuições.

3.1.11

Eu estou actualmente a segui stable. Posso mudar para testing ou unstable? Se sim, como?

Se você está actualmente a correr stable, então no ficheiro /etc/apt/sources.list o terceiro camposerá ou ’bullseye’ ou ’stable’. Você precisa de mudar isto para a distribuição que quer correr. Se desejacorrer testing, então mude o terceiro campo de /etc/apt/sources.list para ’testing’. Se desejacorrer unstable, então mude o terceiro campo para ’unstable’.
Actualmente testing é chamada bookworm. Assim, se você mudar o terceiro campo de /etc/apt/sources.list para ’bookworm’, então também irá estar a correr testing. Mas mesmo quando bookworm se tornar stable, você ainda vai estar a seguir bookworm.
Unstable é sempre chamada Sid. Assim, se você mudar o terceiro campo de /etc/apt/sources.
list para ’sid’, então você vai estar a seguir unstable.
Presentemente Debian oferece actualizações de segurança para testing mas não para unstable, pois ascorreções em unstable são feitas directamente no arquivo principal. Assim se você está a correr unstable
certifique que remove as linhas relativas a actualizações de segurança em /etc/apt/sources.list.
Se existir um documente ”release notes” para a distribuição que você está a actualizar (mesmo que
ainda não tenha sido lançada) será inteligente revê-lo, pois pode fornecer informação sobre como se
deve actualizar para ela.
No entanto, assim que fizer as alterações de cima, você pode correr aptitude update e depois
instalar os pacote que quiser. Note que instalar um pacote duma distribuição diferente pode actualizar
automaticamente metade do seu sistema. Se você instalar pacotes individuais vai acabar com um sistema
que corre uma mistura de distribuições.
Poderá ser melhor em certas situações fazer uma actualização total para a nova distribuição correndo
apt full-upgrade, aptitude safe-upgrade ou aptitude full-upgrade. Leia os manuais do apt e aptitude
para mais informação.

3.1.12

Eu estou actualmente a seguir testing (bookworm). O que vai acontecer
quando for feito um lançamento? Irei continuar a seguir testing ou aminha máquina irá correr a nova distribuição stable?

Depende das entradas no ficheiro /etc/apt/sources.list. Se você está actualmente a seguir testing, estas entradas são semelhantes a:
deb http://ftp.us.debian.org/debian/ testing mainou a
deb http://ftp.us.debian.org/debian/ bookworm main

Se o terceiro campo em /etc/apt/sources.list for ’testing’ então você vai estar a seguir testing
mesmo após o lançamento ser feito. Assim após bookworm for lançada, você irá correr uma nova
distribuição Debian a qual irá ter um nome de código diferente. As mudanças podem não ser aparentes
no princípio mas serão evidentes assim que novos pacotes da unstable passem para a distribuição testing.
Mas se o terceiro campo conter ’bookworm’ então você vai estar a acompanhar stable (pois bookworm
irá ser a nova distribuição stable).
11CAPÍTULO 3. ESCOLHER UMA DISTRIBUIÇÃO …

3.2. MAS ENTÃO E KNOPPIX, LINUX MINT …

3.1.13 Ainda estou confuso. O que disse que Eu deveria instalar?
Um caso de duvida, a melhor aposta será a distribuição stable.

3.2 Mas então e Knoppix, Linux Mint Debian Edition, Ubuntu, eoutros?
Elas não são Debian; elas são baseadas em Debian. Apesar de terem muitas semelhanças e coisas comuns
entre elas, também há diferenças cruciais.
Todas estas distribuições têm os seus próprios méritos e são apropriadas para um conjunto específico
de utilizadores. Para mais informação, leia Distribuições de Software baseadas em Debian (https://www.debian.org/misc/children-distros) disponível no sítio web de Debian.

3.2.1 Eu sei que Knoppix/Linux Mint Debian Edition/Ubuntu/... são baseadas
em Debian. Portanto, após instalar uma no disco rijo, posso usar as ferramentas de pacotes do ’apt’ nela?
Estas distribuições são baseadas em Debian. Mas não são Debian. Você vai poder usar as ferramentas
de pacotes do apt ao apontar o ficheiro /etc/apt/sources.list para os repositórios destas distribuições. Mas depois você não estará a correr Debian, você vai estar a correr uma distribuição diferente.
Elas não são o mesmo.
Na maioria das situações se você ficar com uma distribuição você deve usar isso e não misturar pacotes de outras distribuições. Muitos problemas comuns surgem a pessoas que correm uma distribuição
e tentam instalar pacotes Debian de outras distribuições. O facto de eles usarem o mesmo formato enome (.deb), não os torna imediatamente compatíveis.
Por exemplo, Knoppix é uma distribuição Linux desenhada para arrancar como um live CD enquanto
Debian é desenhada para ser instalada no disco rijo. Knoppix é ótimo se desejar saber se determinada
peça de hardware funciona, ou se deseja experimentar como ”se sente” um sistema GNU/Linux’ etc.,
Knoppix é bom para objectivos de demonstração enquanto Debian é desenhada para correr 24/7. Maisdo que o número de pacotes disponíveis, o número de arquitecturas suportadas por Debian são muito
mais do que no Knoppix.
Se você quer Debian, é melhor instalar Debian a partir de Debian e siga. Apesar de ser possível
instalar Debian através de outras distribuições, como a Knoppix, o procedimento requer conhecimentos
de expert. Se você está a ler esta FAQ, Eu presumo que você é novato em ambos Debian e Knoppix.
Neste caso poupe-se de montes de sarilhos depois e instale Debian desde o princípio.

3.2.2 Eu instalei Knoppix/Linux Mint Debian Edition/Ubuntu/... no meu disco
rijo. Agora tenho um problema. O que devo fazer?
Você é aconselhado a não usar os fóruns Debian (sejam listas de mail ou IRC) a pedir ajuda pois as
pessoas lá podem basear as suas sugestões assumindo que você está a correr um sistema Debian. Estas”correções” podem não ser apropriadas para o que você está a correr, e podem até tornar o problemapior.
Use primeiro os fóruns da distribuição específica que está a usar. Se não obter ajuda ou a ajuda
que obter não corrigir o problema você pode querer tentar perguntar em fóruns Debian, mas tenha oconselho do parágrafo anterior em mente.

3.2.3 Estou a usar Knoppix/LMDE/Ubuntu/... e agora quero usar Debian. Como
é que Eu migro?
Considere a mudança de uma distribuição baseada em Debian para Debian tal como uma mudança deum sistema operativo para outro. Você deve fazer uma cópia de salvaguarda de todos os seus dados
e re-instalar o sistema operativo do zero. Você não deve tentar ”actualizar” para Debian usando as
ferramentas de gestão de pacotes pois pode acabar com um sistema não utilizável.
Se todos os seus dados de utilizador (isto é, a sua /home) está sob uma partição separada, migrar
para Debian é bastante simples, você apenas precisa de dizer ao sistema de instalação para montar (mas12CAPÍTULO 3. ESCOLHER UMA DISTRIBUIÇÃO …

3.2. MAS ENTÃO E KNOPPIX, LINUX MINT …

não re-formatar) essa partição ao reinstalar. Mesmo assim é recomendado fazer salvaguardas dos seus
dados, assim como da configuração do seu sistema anterior (isto é /etc/ e, talvez /var/).

13

Capítulo 4

Problemas de compatibilidade
4.1

Em quais arquitecturas/sistemas de hardware Debian GNU/Linux corre?

Debian GNU/Linux inclui o código fonte completo para todos os programas incluídos, portanto deverá
funcionar em todos os sistemas que são suportados pelo kernel Linux, veja o Linux FAQ (http://en.
tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER) para detalhes.
O actual lançamento Debian GNU/Linux, 11, contém uma distribuição binária, completa para as
seguintes arquitecturas.
• amd64: isto cobre sistemas baseados em AMD 64bit CPUs com extensão AMD64 e todos os CPUs
Intel coma extensão EM64T, e um espaço de utilizador de 64bit comum.
• arm64: suporta os dispositivos com motor 64-bit ARM mais recentes.
• armel: máquinas little-endian ARM.
• armhf : uma alternativa para armel para máquinas ARMv7 com hard-float.
• i386: isto cobre sistemas baseados em Intel e processadores compatíveis, incluindo os 386, 486,
Pentium, Pentium Pro, Pentium II (ambos Klamath e Celeron), e Pentium III da Intel, e a maioria
dos processadores compatíveis da AMD, Cyrix e outros.
• ia64: Computadores Intel IA-64 (”Itanium”).
• mips: sistemas SGI’s big-endian MIPS, Indy e Indigo2; mipsel: máquinas little-endian MIPS, Digital
DECstations.
• powerpc: isto cobre algumas máquinas IBM/Motorola PowerPC, incluindo os modelos Apple Macintosh PowerMac, e as máquinas de arquitectura aberta CHRP e PReP.
• ppc64el: porte para 64-bit little-endian PowerPC, suporta vários processadores recentes PowerPC/POWER.
• s390x: porte de 64-bit para máquinas IBM System z, substituiu s390.
O desenvolvimento de distribuições binárias de Debian para hurd-i386 (para kernel GNU Hurd em
PCs i386 32-bit), mipsel64 (para MIPS 64 bit em modo little-endian), powerpcspe (porte para hardware”Signal Processing Engine”), sparc64 (para processadores SPARC 64 bit), sh (para processadores Hitachi SuperH), e x32 (para CPUs amd64/x86_64 que usam ponteiros de 32-bit) está presentemente em
andamento.
O suporte para a arquitectura m68k foi abandonado no lançamento Etch (Debian 4.0), porque nãoobedecia aos critérios definidos pelos Gestores de Lançamentos de Debian. Esta arquitectura cobre
Amigas e ATARIs que têm um processador Motorola 680x0 para x>=2; com MMU. No entanto, o porteainda está activo e disponível para instalação mesmo que não faça parte deste lançamento stable oficial
e poderá ser reativado em lançamentos futuros.
15CAPÍTULO 4. PROBLEMAS DE COMPATIBILIDADE

4.2. QUAIS KERNELS DEBIAN GNU/LINUX …

Suporte para hppa (máquinas Hewlett-Packard’s PA-RISC) e alpha (sistemas Compaq/Digital’s Alpha)foram abandonados no lançamento Squeeze (Debian 6.0) por razões semelhantes. O arm foi abandonado
também neste lançamento, pois foi substituído pela arquitectura armel.
O suporte para o porte de 32-bit s390 (s390) foi descontinuado e substituído pelo s390x em Jessie(Debian 8). Adicionalmente, os portes para IA-64 e Sparc foram removidos deste lançamento devido a
insuficiente suporte de desenvolvimento.
Para mais informação sobre os portes disponíveis veja páginas de portes no sítio web (https://www.debian.org/ports/).
Para mais informação sobre arrancar sistema, particionar o seu disco, activar dispositivos PCMCIA(PC Card) e dificuldades semelhantes, por favor siga as instruções fornecidas no Manual de Instalação, o qual está disponível a partir do nosso site WWW em https://www.debian.org/releases/
stable/installmanual.

4.2 Quais kernels Debian GNU/Linux corre?
Para além de Linux, Debian fornece uma distribuição binária completa para os seguintes kernels desistema operativo:• FreeBSD: disponibilizado através dos portes kfreebsd-amd64 e kfreebsd-i386, para PCs de 64-bit e
32-bit respetivamente. Estes portes foram lançados a primeira vez em Debian 6.0 Squeeze comouma previsão tecnológica. No entanto, não fizeram parte do lançamento de Debian 8 Jessie.
Adicionalmente a estes, há trabalho em progresso nas seguintes adaptações:• avr32, porte para a arquitectura RISC de 32 bit da Atmel.
• hurd-i386, um porte para PC de 32-bit. Este porte irá usar GNU Hurd, o novo sistema operativo
que está a ser completado pelo grupo GNU,• sh, porte para processadores SuperH da Hitachi
Existiram tentativas de portar a distribuição para o kernel NetBSD, fornecendo netbsd-i386 (paraPCs de 32-bit) e netbsd-alpha (para máquinas Alpha) mas estes portes nunca foram lançados e estão
actualmente abandonados.
Para mais informação sobre os portes disponíveis veja páginas de portes no sítio web (https://www.debian.org/ports/).

4.3 Quanto é compatível Debian com outras distribuições de Linux?
Os desenvolvedores de Debian comunicaram com outros criadores de distribuições Linux num esforço
de manterem a compatibilidade de binários por entre distribuições Linux. 1 A maioria dos produtos
Linux comerciais tão bem sob Debian como correm no sistema no qual foram compilados.
Debian GNU/Linux adere ao Linux Filesystem Hierarchy Standard (https://www.pathname.com/fhs). No entanto, existe lugar para interpretação em algumas das regras dentro deste standard, assim
podem haver pequenas diferenças entre um sistema Debian e outros sistemas Linux.

4.4 Quanto compatível é Debian em código fonte com outros sistemas Unix?
Para a maioria das aplicações o código fonte de Linux é compatível com outros sistemas Unix. Suporta
quase tudo que está disponível em sistemas System V Unix e os sistemas livres e comerciais derivados
1 A Linux Standard Base (https://wiki.linuxfoundation.org/lsb/start/) é uma especificação para permitir que

um mesmo pacote binário seja usado em várias distribuições. Após Jessie (Debian 8) ser lançada, Debian abandonou (https://sources.debian.org/src/lsb/9.20170808/debian/README.Debian/) o objectivo da compatibilidade LSB. Veja aJulho 3, 2015 mensagem de Didier Raboud (https://lists.debian.org/4526217.myWFlvm1rM@gyllingar) e a discussão seguinte para informação básica.

16CAPÍTULO 4. PROBLEMAS DE COMPATIBILIDADE

4.5. POSSO USAR PACOTES DEBIAN …

do BSD. No entanto, no negócio do Unix tal afirmação quase não tem valor porque não há modo deo provar. Na área de desenvolvimento de software é requerida completa compatibilidade em vez decompatibilidade ”na maioria” dos casos. Assim anos atrás surgiu a necessidade de standards, e nos diasde hoje POSIX.1 (IEEE Standard 1003.1-1990) é um dos maiores standards para compatibilidade de
código fonte em sistemas operativos do tipo Unix.
Linux pretende aderir ao POSIX.1, mas os standards de POSIX custam dinheiro real e a certificação
POSIX.1 (e FIPS 151-2) é muito cara; isto torna mais difícil para os desenvolvedores de Linux trabalharem numa conformidade completa de POSIX. Os custos da certificação fazem com seja improvável
que Debian obtenha uma certificação de conformidade oficial mesmo que passe completamente a suitede validação. (A suite de validação está agora livremente disponível, assim espera-se que mais pessoas
trabalhem nos problemas do POSIX.1.)
Unifix GmbH (Braunschweig, Germany) desenvolveu um sistema Linux que foi certificado para conformidade com FIPS 151-2 (um superconjunto de POSIX.1). Esta tecnologia esteve disponível na distribuição própria da Unifix chamada Unifix Linux 2.0 e em Lasermoon’s Linux-FT.

4.5

Posso usar pacotes Debian (ficheiros ”.deb”) no meu sistema
Linux Red Hat/Slackware/...? Posso usar pacotes Red Hat (ficheiros ”.rpm”) no meu sistema Debian GNU/Linux?

Diferentes distribuições de Linux usam formatos diferentes de pacotes e diferentes programas de gestão
de pacotes.
Você provavelmente pode: Está disponível um programa para desempacotar um pacote Debian numa
máquina Linux que foi compilado de uma distribuição ’alienígena’, e irá geralmente funcionar, nosentido que os ficheiros serão desempacotados. A conversa é provavelmente também verdade, istoé, um programa para desempacotar um pacote de Red Hat ou Slackware numa máquina baseada em
Debian GNU/Linux irá provavelmente ter sucesso ao desempacotar o pacote e colocar a maioria dos
ficheiros nos seus directórios de destino. Isto é fortemente uma consequência da existência do (eda ampla adesão a) Linux Filesystem Hierarchy Standard. O pacote Alien (https://packages.
debian.org/alien) é usado para conversão entre diferentes formatos de pacotes.
Você provavelmente não vai querer: A maioria dos gestores de pacotes escrevem ficheiros administrativos quando são usados para desempacotar um arquivo. Estes ficheiros administrativos nãosão geralmente standarizados, Assim, o efeito de desempacote um pacote Debian numa máquina’estrangeira’ irá ter efeitos imprevisíveis (e certamente não úteis) na gestão de pacotes desse sistema. Do mesmo modo, utilitários de outras distribuições pode ter sucesso ao desempacotar os
seus arquivos em sistemas Debian, mas irão provavelmente fazer com que o sistema de gestão
de pacotes Debian falhar quando chegar a hora de actualizar ou remover alguns pacotes, ou até
mesmo ao reportar exactamente que pacotes estão presentes num sistema.
Um modo melhor: O Linux File System Standard (e assim Debian GNU/Linux) requer que os subdirectórios sob /usr/local/ estejam inteiramente sob a descrição dos utilizadores. Assim sendo,
os utilizadores podem desempacotar pacotes ’estrangeiros’ neste directório, e depois gerir a sua
configuração, actualizar e remover individualmente.

4.6

Como devo Eu instalar um programa não-Debian?

Os ficheiros sob o directório /usr/local/ não estão sob o controlo do sistema de gestão de pacotes Debian. Assim, é uma boa prática colocar o código fonte para o seu programa em /usr/local/src/. Por exemplo, você pode extrair os ficheiros para um pacote chamado ”foo.tar” para o directório/usr/local/src/foo. Após os compilar, coloque os binários em /usr/local/bin/, as bibliotecas
em /usr/local/lib/, e os ficheiros de configuração em /usr/local/etc/.
Se os seus programas e/ou ficheiros precisam mesmo de ser colocados em algum outro directório,você pode mesmo assim armazena-los em /usr/local/, e criar os links simbólicos apropriados desdea localização necessária para a sua localização em /usr/local/, ex, você pode criar o link
ln -s /usr/local/bin/foo /usr/bin/foo

17CAPÍTULO 4. PROBLEMAS DE COMPATIBILIDADE

4.6. COMO DEVO EU INSTALAR UM …

Em qualquer caso, se você obter um pacote cujo copyright permite redistribuição, você deve considerar criar um pacote Debian a partir dele, e envia-lo para o sistema Debian. As guias para se tornar
um desenvolvedor de pacotes estão incluídas no manual Debian Policy (veja Secção 12.1).

18

Capítulo 5

Software disponível no sistema
Debian5.1

Que tipos de aplicações e software de desenvolvimento estão
disponíveis para Debian GNU/Linux?

Como a maioria das distribuições Linux, Debian GNU/Linux disponibiliza:• a maioria das aplicações GNU para desenvolvimento de software, manipulação de ficheiros, e
processamento de texto, incluindo gcc, g++, make, texinfo, Emacs, a shell Bash e vários utilitários
Unix actualizados,• Perl, Python, Tcl/Tk e vários programas relacionados, módulos e bibliotecas para cada um deles,• TeX (LaTeX) e Lyx, dvips, Ghostscript,• o sistema de janelas Xorg, que disponibiliza uma interface em rede gráfica de utilizador para Linux,
e inúmeras aplicações X incluindo os ambientes de trabalho GNOME, KDE e Xfce,• um conjunto completo de aplicações de rede, incluindo servidores para protocolos de Internet
como HTTP (WWW), FTP, NNTP (noticias), SMTP e POP (mail) e DNS (servidores de nomes);
bases de dados relacionais como PostgreSQL, MySQL; também disponibilizados estão navegadores
web incluindo os vários produtos da Mozilla,• um completo conjunto de aplicações de escritório, incluindo o conjunto de produtividade LibreOffice, o Gnumeric e outras folhas de cálculo, editores WYSIWYG, calendários.
Mais de 58100 pacotes, que vão desde servidores e leitores de notícias a suporte de som, programase FAX, programas de base de dados e folha de cálculo, programas de processamento de imagem, comunicações, rede, e utilitários de mail. Servidores web,e até programas de rádio amador estão incluídos
na distribuição. Outros conjuntos de software 1000 estão disponíveis como pacotes Debian, mas nãosão formalmente parte de Debian devido a restrições de licença.

5.2

Quem escreveu todo esse software?

Para cada pacote os autores dos programas são creditados no ficheiro /usr/share/doc/PACOTE/copyright,
onde PACOTE deve para ser substituído pelo nome do pacote.
Os Maintainers que empacotam este software para o sistema Debian GNU/Linux estão listados noficheiro de controle Debian (veja Secção 7.4) que vem com cada pacote. O registo de alterações Debian, em /usr/share/doc/PACKAGE/changelog.Debian.gz, menciona as pessoas que também
trabalharam no empacotamento Debian.
19CAPÍTULO 5. SOFTWARE DISPONÍVEL NO …

5.3. COMO POSSO OBTER A LISTA ACTUAL …

5.3 Como posso obter a lista actual de programas que foram empacotados para Debian?
Uma lista completa está disponível a partir de qualquer Debian mirrors (https://www.debian.org/
distrib/ftplist), no ficheiro indices/Maintainers. Esse ficheiro inclui os nomes dos pacotes
e os nomes e e-mails dos seus respectivos responsáveis.
Em WWW interface para pacotes Debian (https://packages.debian.org/) há um sumário
conveniente dos pacotes em cerca de trinta ”secções” do arquivo Debian.

5.4 Como posso instalar um ambiente de desenvolvedor para compilar pacotes?
Se você deseja compilar pacotes no seu sistema Debian irá precisar de ter uma ambiente de desenvolvimento básico, incluindo um compilador de C/C++ e alguns outros pacotes essenciais. De modo a
instalar este ambiente você só precisa de instalar o pacote build-essential. Este é um meta-pacoteou pacote marcador-de-posição que depende das ferramentas de desenvolvimento standard que são precisas para compilar um pacote Debian.
Algum software pode, no entanto, precisar de software adicional para ser re-compilado, incluindo
cabeçalhos de bibliotecas ou ferramentas adicionais como autoconf ou gettext. Debian fornece muitas
das ferramentas necessárias para compilar outro software como pacotes Debian.
Descobrir qual software é precisamente o requerido é difícil, no entanto, a menos que você esteja
a planear em recompilar pacotes Debian. Esta última tarefa é bastante fácil de fazer, pois os pacotes
oficiais têm de incluir uma lista do software adicional (para além dos pacotes em build-essential)
precisos para compilar o pacote, isto é conhecido como Build-Dependencies. Para instalar todos
os pacotes necessários para compilar um determinado pacote fonte e então compilar o referido pacote
fonte basta você correr:# apt-get build-dep foo# apt-get source --build foo

Note que se você quer compilar os kernels de Linux distribuídos por Debian, você vai querer também
instalar o pacote kernel-package. Para mais informação veja Secção 10.2.

5.5 O que está a falar em Debian GNU/Linux?
Existe uma lista de pacotes que ainda precisam de ser empacotados para Debian, o Work-Needing andProspective Packages list (https://www.debian.org/devel/wnpp/).
Para mais detalhes sobre adicionar coisas em falta, veja Capítulo 13.

5.6 Porque é que Me aparecem mensagens ”ld: cannot find -lfoo”
ao compilar programas? Porque não existem nenhuns ficheiros libfoo.so nos pacotes binários de Debian?
A Política Debian requer que tais links simbólicos (para libfoo.so.x.y.z ou semelhante) sejam colocados
em pacotes de desenvolvimento separados. Esses são geralmente chamados libfoo-dev ou libfooX-dev(assumindo que o pacote de biblioteca é chamado libfooX, e X é um número inteiro).

5.7 (Como) Debian suporta Java?
Várias implementações livres da tecnologia Java está disponível em pacotes Debian, fornecendo ambos
Kits de Desenvolvimento Java como também Ambientes Runtime. Você pode escrever, depurar e correr
programas Java usando Debian.
Correr um aplicativo Java requer um navegador web com a capacidade de o reconhecer e o executar.
Vários navegadores web disponíveis em Debian, como o Mozilla ou o Konqueror, suportam plug-ins Javaque permitem correr aplicativos Java neles.
20CAPÍTULO 5. SOFTWARE DISPONÍVEL NO …

5.8. COM É QUE EU VERIFICO QUE ESTOU A …

Por favor consulte o Debian Java FAQ (https://www.debian.org/doc/manuals/debian-java-faq/)
para mais informação.

5.8

Com é que Eu verifico que estou a usar um sistema Debian, equal versão é?

De modo a certificar-se que o seu sistema foi instalado a partir de discos Debian base reais, use o comando
lsb_release -a. Este irá mostrar o nome da distribuição (no campo Distributor ID) e a versão do sistema (noscampos Release e Codename). O seguinte é um exemplo corrido num sistema Debian:$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:
Debian GNU/Linux 7.4 (wheezy)Release:7.4
Codename:wheezyVocê também pode verificar a existência do ficheiro /etc/debian_version, que contém umaúnica linha que fornece o número de versão do lançamento, como definido pelo pacote base-files.
No entanto, os utilizadores devem ter em conta que o sistema Debian consiste de muitas partes, cadauma das quais pode ser actualizada (quase sempre) independentemente. Cada ”lançamento” de Debiancontém conteúdos bem definidos e que não mudam. As actualizações estão disponíveis separadamente.
Para uma descrição de uma-linha do estado de instalação do pacote foo, use o comando dpkg --list
foo. Para uma descrição mais detalhada, use:
dpkg --status foo

Para ver as versões do todos os pacotes instalado, corra:
dpkg -lNote que a existência do programa dpkg mostra que deverá ser capaz de instalar pacotes Debianno seu sistema. No entanto, como o programa foi portado para muitos outros sistemas operativos
e arquitecturas, isto não é mais um método de confiança para determinar se um sistema é Debian
GNU/Linux.

5.9

Como é que Debian suporta linguagens não-Inglês?

• Debian GNU/Linux é distribuído com mapas de teclados para quase duas dúzias de teclados, e com
utilitários (no pacote kbd) para instalar, visualizar e modificar as tabelas.
A instalação pede ao utilizador para especificar o teclado a usar.

• Praticamente todo o software em Debian suporta UTF-8 como conjunto de caracteres. Os conjuntos
de caracteres antigos, como ISO-8859-1 ou ISO-8859-2, devem ser considerados obsoletos.
• Actualmente, o suporte para manuais em Alemão, Espanhol, Francês, Húngaro, Italiano, Japonês,Coreano, Holandês, Polaco, Português, Russo, Turco, e Chinês é disponibilizado pelos pacotes
manpages-LANG (onde LANG é o código de país ISO de duas letras). Para aceder a um manual
NLS, o utilizador tem de definir a variável de shell LC_MESSAGES para a string apropriada.

Por exemplo, no caso dos manuais em linguagem Italiana, LC_MESSAGES precisa de ser definidopara ’italian’. o programa man ira então procurar por manuais em Italiano sob /usr/share/man/it/.

5.10 Onde está ezmlm/djbdns/qmail?
Dan J. Bernstein costumava distribuir todo o software que escreveu (https://cr.yp.to/software.
html) com uma licença restrita a qual não permitia que se distribuíssem binários modificados. Em
21CAPÍTULO 5. SOFTWARE DISPONÍVEL NO …

5.11. ONDE ESTÁ O REPRODUTOR PARA …

novembro de 2007 no entanto, Bernstein disse ”[...] Eu decidi colocar todo o meu software futuro e [...]
passado no domínio público”. Veja FAQ de distribuidores (https://cr.yp.to/distributors.
html) para os seus termos de distribuição.
à data desta escrita (2016-03), ezmlm-idx está disponível apenas em experimental (mlmmj semelhante, e lançado com o Debian jessie); djbdns está disponível em sid (unstable) apenas, veja Bug#516394 (https://bugs.debian.org/516394) e Bug #796118 (https://bugs.debian.org/
796118) para detalhes e veja dbndns para uma alternativa semelhante; o software publicfile ainda
é software não livre, está disponível um pacote publicfile-installer a partir da secção contrib de
Debian.
Outro software de Dan J. Bernstein (qmail, daemontools, ucspi-tcp) é lançado juntamente com
Debian.

5.11 Onde está o reprodutor para Flash (SWF)?
Debian embarca ambos gnash e swfdec: dois reprodutores de vídeo SWF livres.

5.12 Onde está o Google Earth?
Google Earth está disponível para GNU/Linux a partir do site web da Google, mas não apenas não é Software Livre, como é completamente não-distribuível por terceiros. No entanto, googleearth-package(na secção contrib) pode ajudar a usar este software.

5.13 Onde está o software VoIP?
Dois protocolos principais abertos usados para Voice Over IP: SIP e H.323. Ambos estão implementados
numa grande variedade de software no arquivo main de Debian. ekiga é um dos clientes populares.

5.14 Eu tenho uma placa de rede sem fios que não funciona com
Linux. Que devo fazer?
Compre uma que funcione :)Em alternativa, use o ndiswrapper para usar uma driver para Windows (se tiver uma) no seu
sistema Linux. Veja Debian Wiki ndiswrapper page (https://wiki.debian.org/NdisWrapper)
para mais informação.

22

Capítulo 6

Os arquivos Debian
6.1

Quantas distribuições Debian existem?

Existem três distribuições principais: a distribuição ”stable”, a distribuição ”testing”, e a distribuição
”unstable”. A distribuição ”testing” é por vezes ’congelada’ (veja Secção 6.5.1). A parte destas. existe a
distribuição ”oldstable” (que é aquela anterior a ”stable”), e a distribuição ”experimental”.
Experimental é usada para pacotes que ainda estão em desenvolvimento, e com um alto risco dequebrar o seu sistema. É usada por desenvolvedores que gostam de estudar e testar software de ponta.
Os utilizadores não devem usar pacote de lá,pois podem ser perigosos e causar danos até às pessoas com
muita experiência.
Veja Capítulo 3 para ajuda a escolher uma distribuição Debian.

6.2

O que são esses nomes como etch, lenny, etc.?

Eles são apenas ”nomes-de-código”. Quando uma distribuição Debian está em estado de desenvolvimento, não tem um número de versão mas apenas um nome de código. O objectivo destes nomes decódigo é facilitar o espelhar das distribuições Debian (se o directório real como unstable subitamentemudasse o seu nome para stable, muita coisa teria de ser desnecessariamente descarregada de novo).
Actualmente, stable é um link simbólico para bullseye (isto é, Debian GNU/Linux 11) e testingé um link simbólico para bookworm. Isto significa que bullseye é a distribuição estável actual ebookworm é a distribuição de testes actual.
unstable é uma ligação simbólica para sid, pois sid é sempre a distribuição instável (veja Secção 6.3).

6.2.1

Quais outros nomes de código foram usados no passado?

Para além de bullseye e bookworm, outros nomes de código já foram usados e são: buzz para lançamento 1.1, rex para lançamento 1.2, bo para lançamento 1.3.x, hamm para lançamento 2.0, slink paralançamento 2.1, potato para lançamento 2.2, woody para lançamento 3.0, sarge para lançamento
3.1, etch para lançamento 4.0, lenny para lançamento 5.0, squeeze para lançamento, 6.0 wheezypara lançamento 7, jessie para lançamento 8, stretch para lançamento 9, buster para lançamento
10.

6.2.2

De onde estes nomes de código vieram?

Até agora têm sido personagens retiradas dos filmes ”Toy Story” da Pixar.
• buzz (Debian 1.1) era o homem espacial Buzz Lightyear,• rex (Debian 1.2) era o tiranossauro,• bo (Debian 1.3) era Bo Peep, a rapariga que cuidava do carneiro,• hamm (Debian 2.0) era o porco mealheiro,
23CAPÍTULO 6. OS ARQUIVOS DEBIAN

6.3. E ACERCA DE ”SID”?

• slink (Debian 2.1) era Slinky Dog, o cão brinquedo,• potato (Debian 2.2) era, pois claro, o Sr. Batata,• woody (Debian 3.0) era o cowboy,• sarge (Debian 3.1) era o sargento do Exército de Homens Verdes de Plástico,• etch (Debian 4.0) era o brinquedo quadro-branco (Etch-a-Sketch),• lenny (Debian 5.0) era os binóculos de brincar,• squeeze (Debian 6) era o nome dos aliens de três-olhos,• wheezy (Debian 7) era o pinguim de borracha com o laço vermelho,• jessie (Debian 8) era a cowgirl cantora,• stretch (Debian 9) era o polvo de borracha com ventosas nos oito tentáculos,• buster (Debian 10) era o cão de estimação do Andy.
• bullseye (Debian 11) era o cavalo de maneira do Woody.
• bookworm (Debian 12) era a minhoca verde brinquedo com uma lanterna embutida que adora lerlivros.
• trixie (Debian 13) era o triceratop azul de plástico.
• sid era o rapaz mau, vizinho do lado que partia todos os brinquedos.
The decisão (https://lists.debian.org/debian-devel/1996/06/msg00515.html) de usar
nomes do Toy Story foi tomada (https://lists.debian.org/debian-user/1997/04/msg00011.
html) por Bruce Perens que era, na altura, o líder do Projecto Debian e estava também a trabalhar na
Pixar, a companhia que produziu os filmes.

6.3 E acerca de ”sid”?
sid ou unstable é o local onde a maioria dos pacotes são inicialmente colocados. Nunca será lançada
directamente, porque os pacotes que estão para ser lançados terão que primeiro ser incluídos em testing,de modo a serem lançados em stable mais tarde. A sid contêm pacotes para ambas arquitecturas lançadas
e não lançadas.
O nome ”sid” também vem do filme de animação ”Toy Story”: Sid era o rapaz vizinho que destruía
os brinquedos :-)1

1 Quando a sid do presente não existia, a organização dos sites FTP tinha uma falha grave: assumia-se que quando uma arquitectura é criada na unstable actual, iria ser lançada quando essa distribuição se tornasse a nova stable. Para muitas arquitecturas
isso não é o caso, com o resultado que esses directórios tinham de ser movidos na data do lançamento. Isto era impraticável
porque esse movimento comia imensa largura de banda.
Os administradores de arquivo contornaram este problema durante vários anos ao colocar os binários para arquitecturas não
lançadas num directório especial chamado ”sid”. Para essas arquitecturas ainda não lançadas, na primeira vez que foram lançadas
existiu um link da stable actual para sid, e a partir daí elas foram criadas dentro da árvore unstable como normal. Esta disposição
foi um pouco confusa para os utilizadores.
Com o advento de pools de pacotes (veja Secção 6.10), os pacotes binários começaram a ser armazenados numa localização
canónica na pool, independentemente da distribuição, assim lançar uma distribuição já não causava grandes consumos de largura de banda nos servidores espelho (existe, no entanto, muito consumo de largura de banda gradual durante o processo dedesenvolvimento).

24CAPÍTULO 6. OS ARQUIVOS DEBIAN

6.4

6.4. O QUE É QUE DIRECTÓRIO STABLE …

O que é que directório stable contém?

• stable/main/: Este directório contém os pacotes que constituem formalmente o lançamento mais
recente do sistema Debian GNU/Linux .
Este pacotes todos cumprem com as Debian Free Software Guidelines (https://www.debian.
org/social_contract#guidelines), e são utilizáveis e distribuíveis livremente.
• stable/non-free/: Este directório contém pacotes cuja distribuição é restrita num modo que requerque os distribuidores tenham em conta os requerimentos de copyright especificados.
Por exemplo, alguns pacotes têm licenças que proíbem a distribuição comercial. Outros podem
ser distribuídos mas são de facto shareware e não software livre. As licenças de cada um destes
pacotes têm de ser analisadas, e possivelmente negociadas, antes dos pacotes serem incluídos em
qualquer meio de distribuição (ex, num CD-ROM).
• stable/contrib/: Este directório contêm pacotes que são DFSG-free e eles próprios distribuíveis
livremente, mas de qualquer modo dependem de um pacote que não é distribuível livremente e
assim está apenas disponível na secção non-free.

6.5

O que é que a distribuição testing contém?

̀
Os pacotes são instalados no directório testing’após terem passado algum grau de teste em unstable.
Têm de estar em sincronismo com todas as arquitecturas para onde foram compilados e não podem ter dependências que os tornem não-instaláveis; também precisam ter ter menos bugs críticos-delançamento que as versões actualmente em unstable. Deste modo, nós esperamos que a ’testing’ esteja
sempre perto de ser candidata a lançamento.
Mais informação sobre o estado de ”testing” em geral e dos pacotes individuais está disponível em
https://www.debian.org/devel/testing.

6.5.1

Então e a ”testing”? Como é ’congelada’?

Quando a distribuição ”testing” está suficiente madura, o gestor de lançamentos começa a ’congelala’. Os atrasos de propagação normais são aumentados para assegurar que mínimo possível de bugs de”unstable” entrem em ”testing”.
Após algum tempo, a distribuição ”testing” fica verdadeiramente ’congelada”. Isto significa que
todos os novos pacotes que estão para ser propagados para ”testing” são impedidos, a menos que incluam
correções para bugs críticos-de-lançamento. A distribuição ”testing” também pode permanecer em tal
profunda congelação durante os chamados ’ciclos-de-teste’, quando o lançamento está eminente.
Quando um lançamento ”testing” se torna ’congelado’, ”unstable” tende a parcialmente congelar
também. Isto porque os desenvolvedores ficam relutantes em enviar software radicalmente novo para
unstable, no caso do software congelado em testing precisar de actualizações menores e para corrigir
bugs críticos de lançamento que impedem a testing de se tornar ”stable”.
Nós mantemos um registo dos bugs na distribuição ”testing” que podem travar um pacote de serlançado, ou bugs que podem travar o lançamento inteiro. Para detalhes, por favor veja informação delançamento de testing actual (https://www.debian.org/releases/testing/).
Assim que essa contagem de bugs desce para valores máximos aceitáveis, a distribuição ”testing”
congelada é declarada ”stable” e lançada com um número de versão.
A contagem de bugs mais importante é a contagem ”Release Critical”, a qual pode ser seguida em Página de estado de bugs críticos-de-lançamento (https://bugs.debian.org/release-critical/).
Um objectivo comum de lançamento é NoRCBugs (https://wiki.debian.org/ReleaseGoals/
NoRCBugs) o que significa que a distribuição não deve ter nenhuns bugs de severidade crítica, grave
ou séria. A lista completa de problemas considerados críticos pode ser encontrada em Documento depolítica RC (https://release.debian.org/testing/rc_policy.txt).
Com cada novo lançamento, a distribuição ”stable” anterior torna-se obsoleta e é movida para o arquivo. Para mais informação por favor veja Arquivo Debian (https://www.debian.org/distrib/
archive).
25

CAPÍTULO 6. OS ARQUIVOS DEBIAN

6.6. O QUE É QUE A DISTRIBUIÇÃO …

6.6 O que é que a distribuição unstable contém?
̀O directório unstable’contém um instantâneo do actual sistema em desenvolvimento. Os utilizadores
são bem vindos a usarem e testarem estes pacotes. mas são avisados sobre o seu estado de prontidão.
A vantagem de usar a distribuição unstable é que você está sempre actualizado com o mais recente daindústria de software de GNU/Linux, mas se quebrar você fica com ambas as partes :-)̀Existem também os sub-directórios main, contrib e non-free em unstable’,separados no mesmòcritério como em stable’.

6.7 O que são todos aqueles directórios nos arquivos Debian?
O software que foi empacotado para Debian GNU/Linux está disponível em uma das várias árvores dedirectórios em cada site de mirror Debian.
O directório dists é uma abreviatura para ”distribuições”, e é o modo canónico de aceder aos
lançamentos de Debian actualmente disponíveis (e aos pré-lançamentos).
O directório pool contém os pacotes reais, veja Secção 6.10.
Estes são os seguintes directórios suplementares:/tools/: Utilitários de DOS para criar discos de arranque, particionar o seu disco rijo, comprimir/descomprimir ficheiros, e arrancar o Linux.
/doc/: A documentação básica de Debian, tal como esta FAQ, as instruções do sistema de reporte debugs, etc.
/indices/: vários indices do site (o ficheiro Maintainers e os ficheiros de sobreposição).
/project/: na maioria materiais apenas para desenvolvedores, e alguns ficheiros de conteúdos variados.

6.8 O que são esses directórios dentro de dists/stable/main?
Dentro cada uma das árvores de directórios maiores 2 , existe três conjuntos de sub-directórios quecontêm ficheiros de índice.
Existe um conjunto de sub-directórios binary-qualquer coisa que contêm ficheiros índice parapacotes binários de cada arquitectura de computador disponível, por exemplo binary-i386 para pacotes que executam em máquinas PC Intel x86 ou binary-sparc para pacotes que executam em Sun
SPARCStations.
A lista completa de arquitecturas disponíveis para cada lançamento está disponível em a página web
dos lançamentos (https://www.debian.org/releases). Para o lançamento actual, por favor vejaSecção 4.1.
Os ficheiro de índice em binary-* são chamados Packages(.gz, .bz2) e eles incluem um sumário decada pacote binário que é incluído nessa distribuição. Os pacotes binários reais residem no directório
pool de nível de topo.
Mais ainda, existe um sub-directório chamado source/ que contém ficheiros de índice para pacotes
fonte incluídos na distribuição.. O ficheiro de índice é chamado Sources(.gz, .bz2).
Por último mas não menos importante, existe um conjunto de sub-directórios destinados aos ficheirosde índice do sistema de instalação, eles estão em debian-installer/binary-arquitectura.

6.9 Onde está o código fonte?
É incluído código fonte para tudo num sistema Debian. Mais ainda, os termos de licença da maioria dos
programas no sistema requerem que o código fonte seja distribuído juntamente com os programas, ou
uma oferta para fornecer o código fonte a acompanhar os programas.
O código fonte é distribuído no directório pool (veja Secção 6.10) juntamente com todos os directórios de binários específicos da arquitectura. Para obter o código fonte sem sem ter que estar familiarizado
com a estrutura do arquivo, tente um comando como apt-get source nome-do-pacote.
2 dists/stable/main, dists/stable/contrib, dists/stable/non-free, e dists/unstable/main/, etc.

26CAPÍTULO 6. OS ARQUIVOS DEBIAN

6.10. O QUE É O DIRECTÓRIO POOL?

Devido a restrições nas suas licenças, o código fonte pode ou pode não estar disponível para pacotes
nas áreas ”contrib” e ”non-free”, as quais não são partes formais do sistema Debian. Em alguns casos apenas podem ser distribuídos ”bolhas binários” sem fonte (veja por exemplo firmware-misc-nonfree);em outros casos a licença proíbe a distribuição de binários pré-compilados, mas permite pacotes de código fonte que os utilizadores podem compilar localmente (veja broadcom-sta-dkms).

6.10 O que é o directório pool?
̀Os pacotes são mantidos numa grande pool’,
estruturada de acordo com o nome do pacote fonte. Parà̀̀
tornar isto gerível, a pool é sub-dividida por secção ( main’,
contrib’
e non-free’)e pela primeira letra
do nome do pacote fonte. Estes directórios contêm vários ficheiros: os pacotes binários para cadaarquitectura, e os pacotes fonte de onde os pacotes binários foram gerados.
Você pode encontrar onde cada pacote está colocado ao executar um comando como apt-cachèshowsrc nome-do-pacote e olhar para a linha Directory:’.
Por exemplo, os pacotes apache estão
armazenados em pool/main/a/apache/.
Adicionalmente, como existem tantos pacotes lib*, estes são tratados de modo especial: por exemplo, os pacotes libpaper são guardados em pool/main/libp/libpaper/.
3

6.11 O que é ”incoming”?
Após um desenvolvedor enviar um pacote, este fica durante um curto espaço de tempo no directório”incoming” antes de ser verificado de que é genuíno e é permitido entrar no arquivo.
Normalmente ninguém deve instalar coisas deste local. No entanto, em casos raros de emergência,
o directório incoming está disponível em https://incoming.debian.org/. Você pode obter os
pacotes manualmente, verificar a assinatura GPG e MD5sums nos ficheiros .changes e .dsc, e depois
instala-los.

6.12 Como é que Eu configuro o meu próprio repositório apropriado ao apt?
Se você compilou alguns pacotes Debian privados que gostaria de instala-los usando as ferramentas
standard de gestão de pacotes Debian, você pode configurar o seu próprio arquivo de pacotes aptcompatível. Isto também é útil se desejar partilhar os seus pacotes Debian enquanto estes não são
distribuídos pelo projeto Debian. Instruções de como fazer isto são dadas em Debian Wiki (https://wiki.debian.org/HowToSetupADebianRepository).

3 Historicamente, os pacotes eram mantidos no sub-directório de dists correspondente a qual distribuição os continham.
Isto tornou-se a causa de vários problemas, tal como grande consumo de largura de banda nos mirrors quando se faziam grandes
alterações. Isto foi corrigido com a introdução da pool de pacotes.
Os directórios dists ainda são usados para os ficheiros de índice usados por programas como o apt.

27

Capítulo 7

Básicas do sistema de gestão depacotes DebianEste capítulo toca em alguns intervalos de baixo nível da gestão de pacotes Debian. Se você está interessado principalmente na utilização da ferramentas relevantes, salte para os capítulos Capítulo 8 e/ou
Capítulo 9.

7.1

O que é um pacote Debian?

Os pacotes geralmente contêm todos os ficheiros necessários a implementar um conjunto de comandos
ou funcionalidades relacionadas. Existem dois tipos de pacotes Debian.
• Pacotes Binários, que contêm executáveis, ficheiros de configuração, manuais/paginas de informação, informação de copyright , e outra documentação. Estes pacotes são distribuídos num formato
de arquivo específico de Debian (veja Secção 7.2); são geralmente caracterizados ao terem uma
extensão de ficheiro ’.deb’. Pacotes binários podem ser desempacotados usando o utilitário Debiandpkg (possivelmente via um frontend como o aptitude); os detalhes são dados no seu manual.
• Pacotes Fonte, que consistem de um ficheiro .dsc que descreve o pacote fonte (incluindo os nomes
dos seguintes ficheiros), um ficheiro .orig.tar.gz que contém a fonte original não modificada
em formato tar comprimido com gzip e geralmente um ficheiro .diff.gz que contém as alterações específicas de Debian à fonte original. O utilitário dpkg-source empacota e desempacota
arquivos fonte Debian, os detalhes são fornecidos no seu manual. (O programa apt-get pode ser
usado como um frontend para o dpkg-source.)
A instalação de software pelo sistema de pacotes usa ”dependências” que são designadas cuidadosamente pelos responsáveis dos pacotes. Estas dependências estão documentadas no ficheiro control
associado a cada pacote. Por exemplo, o pacote que contém o compilador GNU C (gcc) ”depende” dopacote binutils o qual inclui o vinculador e assemblador. Se um utilizador tentar instalar o gcc sem
ter primeiro instalado o binutils, o sistema de gestão de pacotes (dpkg) irá enviar uma mensagem deerro de que também precisa do binutils, e pára a instalação do gcc. (No entanto, esta funcionalidade
pode ser sobreposta por um utilizador insistente, veja dpkg(8).) Veja mais em Secção 7.9 em baixo.
As ferramentas de empacotamento de Debian podem ser usadas para:• manipular e gerir pacotes ou partes de pacotes,• administrar sobreposições locais de ficheiros num pacote,• ajudar desenvolvedores na construção de arquivos de pacotes, e• ajudar utilizadores na instalação de pacotes que residem num site arquivo remoto.
29CAPÍTULO 7. BÁSICAS DO SISTEMA DE …

7.2. QUAL É O FORMATO DE UM PACOTE …

7.2 Qual é o formato de um pacote binário Debian?
Um ”pacote” Debian, ou um ficheiro de arquivo Debian, contém os ficheiros executáveis, bibliotecas, e
documentação associada a uma suite de programa particular ou a um conjunto de programas relacionados. Normalmente, um ficheiro de arquivo Debian tem um nome de ficheiro que termina em .deb.
O mecanismo interno deste formato de pacotes binários Debian está descrito no manual deb(5). Este
formato interno está sugeito a alterações (entre grandes lançamentos de Debian GNU/Linux), assim por
favor use sempre o dpkg-deb(1) se precisar fazer manipulações de baixo nível em ficheiros .deb.

7.3 Porque são os nomes dos ficheiros de pacotes Debian tão longos?
Os nomes dos ficheiros de pacotes binários Debian estão em conformidade coma seguinte convenção:<foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
Note que foo é suposto ser o nome do pacote. Verificar o nome de pacote associado a um ficheiro
de arquivo Debian particular (ficheiro .deb) pode ser feito de uma destas maneiras:• inspecionar o ficheiro ”Packages” no directório onde foi armazenado num site de arquivo Debian.
Este ficheiro contém uma estrofe que descreve cada pacote; o primeiro campo de cada estrofe é onome formal do pacote.
• usar o comando dpkg --info foo_VVV-RRR_AAA.deb (onde VVV, RRR e AAA são a versão,revisão e arquitectura do pacote em questão, respetivamente). Isto mostra, entre outras coisas, onome do pacote correspondente ao ficheiro de arquivo a ser desempacotado.
O componente VVV é o número de versão especificado pelo desenvolvedor original. Não existem standards aqui, assim o número de versão pode ter formatos tão diferentes como ”19990513” e ”1.3.8pre1”.
O componente RRR é o número de revisão Debian, e é especificado pelo desenvolvedor Debian (oupor um utilizador que escolheu recompilar o pacote localmente). Este número corresponde ao nível derevisão do pacote Debian, assim, um novo nível de revisão geralmente significa alterações no Makefile deDebian (debian/rules), no ficheiro de controle Debian (debian/control), nos scripts de instalação
ou remoção (debian/p*), ou nos ficheiros de configuração usados com o pacote.
O componente AAA identifica o processador para o qual o pacote foi compilado. Isto é geralmente
amd64, que se refere a chips AMD64, Intel 64 ou VIA Nano. Para outras possibilidades reveja a estrutura
de directórios do arquivo de Debian em Secção 6.7. Para detalhes, veja a descrição de ”arquitectura de
Debian” no manual dpkg-architecture(1).

7.4 O que é um ficheiro de controle Debian?
Especificações respeitantes ao conteúdo de um ficheiro de controle Debian são fornecidas no Manual
Debian Policy, secção 5, veja Secção 12.1.
Abreviadamente, um exemplo de ficheiro de controle é mostrado em baixo para o pacote Debian
hello:
Package: hello
Version: 2.9-2+deb8u1
Architecture: amd64
Maintainer: Santiago Vila <sanvila@debian.org>
Installed-Size: 145
Depends: libc6 (>= 2.14)
Conflicts: hello-traditional
Breaks: hello-debhelper (<< 2.9)
Replaces: hello-debhelper (<< 2.9), hello-traditional
Section: devel
Priority: optional
Homepage: https://www.gnu.org/software/hello/
Description: example package based on GNU hello
The GNU hello program produces a familiar, friendly greeting. It
allows non-programmers to use a classic computer science tool which30CAPÍTULO 7. BÁSICAS DO SISTEMA DE …

7.5. O QUE É UM CONFFILE DEBIAN?

would otherwise be unavailable to them.
.
Seriously, though: this is an example of how to do a Debian package.
It is the Debian version of the GNU Project’s ‘hello world’ program(which is itself an example for the GNU Project).

O campo Package dá o nome do pacote. Este é o nome pelo qual o pacote pode ser manipulado pelas
ferramentas de pacotes, e é geralmente semelhante mas não necessariamente igual à primeira string decomponente no nome de ficheiro no arquivo Debian.
O campo Version fornece ambos o número de versão do desenvolvedor original e (no último componente) o nível de revisão do pacote Debian deste programa como explicado em Secção 7.3.
O campo Architecture especifica o chip para o qual este binário particular foi compilado.
O campo Depends dá uma lista de pacotes que têm de ser instalados de modo a se instalar este pacotecom sucesso.
O Installed-Size indica quanto espaço de disco irá consumir o pacote instalado. Isto destina-se a
ser usado por programas front-end de instalação de modo a mostrar se há espaço de disco disponível
suficiente para instalar o programa.
A linha Section dá a ”secção” onde este pacote Debian está armazenado nos sites arquivo Debian.
Priority indica quão importante é este pacote para instalação, para que software semi-inteligente
como o apt ou o aptitude possam ordenar o pacote numa categoria de, por exemplo, pacotes instalados
opcionalmente. Veja Secção 7.7.
O campo Maintainer dá o endereço de e-mail da pessoa que é o actual responsável pela manutenção
deste pacote.
O campo Description dá um sumário breve das funcionalidades do pacote.
Para mais informação sobre todos os campos possíveis que um pacote pode ter, por favor veja oManual de Política Debian, secção 5, ”Ficheiros de controle e seus campos”, veja Secção 12.1.

7.5

O que é um conffile Debian?

Conffiles é uma lista de ficheiros de configuração (geralmente colocados em /etc) que o sistema de gestão de pacotes não irá sobrescrever quando o pacote é actualizado. Isto assegura que valores locais nos
conteúdos destes ficheiros serão preservados, e é uma funcionalidade crítica que permite a actualização
de pacotes no-local num sistema em funcionamento.
Para determinar exactamente quais ficheiros são preservados durante uma actualização, corra:
dpkg --status package

E veja sob ”Conffiles:”.

7.6

O que é um script Debian preinst, postinst, prerm, e postrm?

Estes ficheiros são scripts executáveis que são corridos automaticamente antes ou depois de um pacote
ser instalado ou removido. Juntamente com um ficheiro chamado control, todos estes ficheiros fazem
parte da secção ”control” de um ficheiro de arquivo Debian.
Os ficheiros individuais são:preinst Este script é executado antes do pacote a que pertence ser desempacotado do seu ficheiro(*.deb) de arquivo Debian. Muitos scripts ’preinst’ param serviços para pacotes que estão a ser
actualizados até que a sua instalação ou actualização esteja completa (seguindo a execução com
sucesso do script ’postinst’).
postinst Este script tipicamente completa qualquer configuração requerida do pacote foo onde foo
foi desempacotado do seu ficheiro de arquivo Debian (”.deb”). Muitas vezes, os scripts ’postinst’
pedem aos utilizadores para inserirem dados, e/ou avisa-los que se aceitaram valores predefinidos
devem lembrar-se de voltar atrás e re-configurar o pacote se necessário. Muitos scripts ’postinst’então executam quaisquer comandos necessários para iniciar ou reiniciar um serviço assim que
um novo pacote foi instalado ou actualizado.
prerm Este script tipicamente pára quaisquer daemons que estão associados com um pacote. É executado antes da remoção de ficheiros associados ao pacote.
31CAPÍTULO 7. BÁSICAS DO SISTEMA DE …

7.7. O QUE É UM PACOTE ESSENTIAL, …

postrm Este script tipicamente modifica links ou outros ficheiros associados com foo, e/ou remove
ficheiros criados pelo pacote (Veja também Secção 7.8.)
Actualmente todos estes ficheiros de controle podem ser encontrados no directório /var/lib/dpkg/info.
Os ficheiros relevantes ao pacote foo começam com o nome ”foo” e têm as extensões de ficheiro de”preinst”, ”postinst”, etc., como apropriado. O ficheiro foo.list nesse directório lista todos os ficheiros que foram instalados com o pacote foo. (Note que esta localização destes ficheiros é interna do
dpkg; você não deve confiar nela.)

7.7 O que é um pacote Essential, Required, Important, Standard,
Optional, ou Extra?
A cada pacote Debian é atribuída uma priority pelos responsáveis da distribuição, como uma ajuda ao
sistema de gestão de pacotes. Estas prioridades são:• Required: pacotes que são necessários para o funcionamento correcto do sistema.

Isto inclui todas as ferramentas que são necessárias para reparar defeitos do sistema. Você não deve
remover estes pacotes ou o seu sistema pode tornar-se totalmente avariado e pode provavelmente
nem ser possível usar o dpkg para repor as coisas. Sistemas com apenas os pacotes Required sãoprovavelmente inúteis, mas têm funcionalidades suficientes para permitir ao administrador desistema arrancar e instalar mais software.

• Important pacotes que devem ser encontrados em qualquer sistema tipo Unix.

Estarão aqui outros pacotes sem os quais o sistema não funcionará bem ou não será utilizável.
Isto NÃO inclui Emacs ou X ou TeX ou qualquer outra grande aplicação. Estes pacotes apenas
constituem a infraestrutura nua.

• Standard pacotes que são standard em qualquer sistema Linux, incluindo um sistema de modode-caracteres relativamente pequeno mas não muito limitado. Estão incluídas ferramentas para
ser capaz de enviar um e-mail (com o mutt) e descarregar ficheiros de servidores de arquivo.

Isto é o que será instalado por predefinição se os utilizadores não selecionarem mais nada. Não inclui muitas grandes aplicações, mas inclui o interpretador de Python e algum software de servidor
como OpenSSH (para administração remota) e o Exim (para entrega de mail, apesar de poder ser
configurado apenas para entrega local). Também inclui alguma documentação comum genérica
que a maioria dos utilizadores irá achar uma ajuda.

• Optional pacotes que incluem todos aqueles que você pode ter razões para querer instalar se vocêsouber o que eles são, ou que não têm requerimentos especializados.
Isto inclui o X, uma distribuição TeX completa, e muitas outras aplicações.

• Extra: pacotes que ou fazem conflito com outros com prioridades maiores, e geralmente são apenasúteis se você já souber o que eles são, ou têm requerimentos especializados que os tornam não
apropriados para ”Optional”.
Se você fizer uma instalação Debian predefinida, todos os pacotes de prioridade Standard ou superiorserão instalados no sue sistema. Se você selecionar tarefas pré-definidas irá também obter pacotes deprioridade mais baixa.
Adicionalmente, alguns pacotes são marcados como Essential pois são absolutamente necessários
para o funcionamento apropriado do sistema. As ferramentas de gestão de pacotes irão recusar removerestes.

7.8 O que é um Pacote Virtual?
Um pacote virtual é um nome genérico que se aplica a qualquer um de um grupo de pacotes, onde todos
os quais fornecem uma funcionalidade básica semelhante. Por exemplo, ambos programas konqueror
e firefox-esr são navegadores de web, e devem por isso satisfazer qualquer dependência de um
programa que requeira um navegador web no sistema, de modo a funcionar ou a ser útil. São assim
ambos ditos de providenciar o ”pacote virtual” chamado www-browser.
32CAPÍTULO 7. BÁSICAS DO SISTEMA DE …

7.9. O QUE SIGNIFICA DIZER QUE UM …

De modo semelhante, exim4 e sendmail ambos fornecem a funcionalidade de agente de transportede mail. Assim é dito que ambos fornecem o pacote virtual ”mail-transport-agent”. Se um deles for
instalado, então qualquer programa que dependa da instalação de um mail-transport-agent irá
ficar satisfeito com a presença deste pacote virtual.
Debian fornece um mecanismo para que, se mais do que um pacote que forneça o mesmo pacote virtual esteja instalado num sistema, então os administradores de sistema podem definir um como o pacotepreferido. O comando relevante é update-alternatives, e está melhor descrito em Secção 11.11.

7.9

O que significa dizer que um pacote Depends, Recommends,
Suggests, Conflicts, Replaces, Breaks ou Provides outro pacote?

O sistema de pacotes de Debian tem uma gama de ”dependências” de pacotes que são desenhadaspara indicar (numa única bandeira) o nível que cada programa A pode operar independentemente daexistência de programa B num dado sistema:• Pacote A depends (depende) de Pacote B se B tiver absolutamente de ser instalado de modo a
A correr. Em alguns casos, A não depende apenas de B, mas duma versão de B. Neste caso, adependência de versão é geralmente um limite inferior, no sentido que A depende de qualquerversão de B mais recente que alguma versão especificada.
• Pacote A recommends (recomenda) Pacote B, se o responsável do pacote achar que a maioria dos
utilizadores não vão querer A sem terem a funcionalidade fornecida por B.
• Pacote A suggests (sugere) Pacote B Se B conter ficheiros que estão relacionados com (e geralmente
melhoram) as funcionalidades de A.
• Pacote A conflicts (faz conflito) com Pacote B quando A não irá operar se B estiver instalado nosistema. Mais comum, conflitos são casos onde A contém ficheiros que são uma melhoria sobre
aqueles em B. ”Conflicts” são muitas vezes combinados com ”replaces”.
• Pacote A replaces (substitui) Pacote B quando ficheiros instalados por B são removidos e (em alguns
casos) sobrepostos por ficheiros em A.
• Pacote A breaks (quebra) Pacote B quando ambos pacotes não podem ser configurados em simultâneo num sistema. O sistema de gestão de pacotes irá recusar instalar um se o outro já estiver
instalado e configurado no sistema.
• Pacote A provides (fornece) Pacote B quando todos os ficheiros e funcionalidades de B estão incorporados em A. Este mecanismo fornece uma maneira dos utilizadores que têm espaço de disco
constrangido obterem aquela parte do pacote A que realmente precisam.
Mais informação detalhada sobre o uso de cada um destes termos pode ser encontrada no manual
Debian Policy, secção 7.2, ”Binary Dependencies”, veja Secção 12.1.

7.10 O que significa Pre-Depends?
”Pre-Depends” é uma dependência especial. No caso da maioria dos pacotes, o dpkg irá desempacotaro ficheiro de arquivo de um pacote (isto é, o seu ficheiro .deb) independentemente em se sim ou não
os ficheiros de que depende existem no sistema. De forma simplista, desempacotar significa que o dpkg
irá extrair os ficheiros do ficheiro de arquivo que é suposto ser instalado no seu sistema de ficheiros,e coloca-los nos seus lugares. Se esses pacotes dependerem na existência de outros pacotes pacotes noseu sistema, o dpkg irá recusar completar a instalação (ao executar a sua acção ”configure”) até que osoutros pacotes estejam instalados.
No entanto, para alguns pacotes, o dpkg irá recusar até desempacota-los até que certas dependências
estejam resolvidas. Tais pacotes diz-se que ”Pré-dependem” da presença de alguns outros pacotes. O
projeto Debian forneceu este mecanismo para suportar a actualização segura de sistemas do formato
a.out para formato ELF, onde a ordem na qual os pacotes são desempacotados é crítica. Existem outras
situações de grandes actualizações onde este método é útil, por exemplo, os pacotes com prioridade
requerida e a sua dependência na LibC.
Como antes, mais informação detalhada sobre isto pode ser encontrada no manual de Política.
33CAPÍTULO 7. BÁSICAS DO SISTEMA DE …

7.11. O QUE SIGNIFICA UNKNOWN, INSTALL, …

7.11 O que significa unknown, install, remove, purge e hold no status do pacote?
Estas bandeiras ”quero” dizem o que o utilizador quer fazer com um pacote (como indicado por invocações directas do utilizador do dpkg/apt/ aptitude).
Os seus significados são:• unknown - o utilizador nunca indicou se o pacote é desejado.
• install - o utilizador quer o pacote instalado ou actualizado.
• remove - o utilizador quer o pacote removido, mas não quer remover qualquer ficheiro de configuração existente.
• purge - o utilizador quer o pacote removido completamente, incluindo os seus ficheiros de configuração.
• hold - o utilizador não quer que este pacote seja processado, isto é, quer manter a versão actual
com o estado actual seja ele qual for.

7.12 Como pôr um pacote em hold?
Existem três modos de manter pacotes em versões anteriores, com dpkg, apt ou aptitude.
Com o dpkg você tem de exportar a lista de selecção de pacotes, com:
dpkg --get-selections \* > selections.txt

Depois edite o ficheiro resultante selections.txt, altere a linha que contém o pacote que deseja
manter a versão, ex. libc6, de isto:
libc6

installpara isto:
libc6

hold

Grave o ficheiro, e recarregue-o na base de dados do dpkg com:
dpkg --set-selections < selections.txt

Com o apt, você pode seleccionar um pacote para manter versão usando
apt-mark hold nome_do_pacotee remover o hold com
apt-mark unhold nome_do_pacote

Com o aptitude, você pode manter a versão dum pacote usando
aptitude hold nome_do_pacotee remover o hold com
aptitude unhold nome_do_pacote

7.13 Como é que Eu instalo um pacote fonte?
Os pacotes fonte Debian não podem ser verdadeiramente ”instalados”, são apenas desempacotados em
qualquer directório que deseje para compilar os pacotes binários que produzem.
Pacotes fonte são distribuídos na maioria nos mesmos espelhos onde você pode obter os pacotes
binários. Se você configurar o seu sources.list(5) do APT para incluir as linhas ”deb-src” apropriadas,você irá ser capaz de facilmente descarregar qualquer pacote fonte ao correr
34CAPÍTULO 7. BÁSICAS DO SISTEMA DE …

7.14. COM É QUE EU COMPILO PACOTES …

apt-get source foo

Para o ajudar a realmente compilar o pacote fonte, os pacotes fonte de Debian fornecem o chamado
mecanismo de dependências de compilação. Isto significa que o responsável pelo pacote fonte mantém
uma lista dos outros pacotes que são requeridos para compilar o seu pacote. Para ver como isto é útil,corra
apt-get build-dep foo

antes de compilar a fonte.

7.14 Com é que Eu compilo pacotes binários a partir de um pacote
fonte?
O modo preferido de fazer isto é usando várias ferramentas invólucro. Vamos mostrar como isto é feito
usando as ferramentas devscripts. Instale este pacote se ainda não o fez.
Agora, primeiro obtenha o pacote fonte:
apt-get source foo

e mude para a árvore fonte:
cd foo-*Depois instale as dependências de compilação necessárias (se existirem):sudo apt-get build-dep foo

Depois crie uma versão dedicada da sua própria compilação (para que não fique confuso mais tarde
quando a própria Debian lançar uma nova versão):dch -l local ’Bla bla bla’

E finalmente compile o seu pacote:debuild -us -uc

Se tudo funcionou bem, você deve agora ser capaz de instalar o seu pacote ao correr
sudo dpkg -i ../*.deb

Se preferir fazer as coisas manualmente, e não desejar usar devscripts, siga este procedimento:
Se você precisar de todos os foo_*.dsc, foo_*.tar.gz e foo_*.diff.gz para compilar a fonte (nota: nãoexiste .diff.gz para alguns pacotes que são nativos a Debian).
Assim que os tiver ( xref linkend=”sourcepkgs”/>) e se tiver o pacote dpkg-dev instalado, o seguinte comando:
dpkg-source -x foo_versão-revisão.dsc

irá extrair o pacote para um directório chamado foo-versão.
Se você apenas deseja compilar o pacote, pode fazer cd para o directório foo-versão e chamar ocomandodpkg-buildpackage -rfakeroot -b

para compilar o pacote (note que isto requer também o pacote fakeroot), e depois
dpkg -i ../foo_versão-revisão_arquitectura.deb

para instalar os pacote(s) acabados de compilar.

7.15 Como é que Eu crio eu próprio pacotes Debian?
Para uma descrição mais detalhada disto, leia New Maintainers’ Guide, disponível no pacote maint-guideou em https://www.debian.org/doc/devel-manuals#maint-guide, ou o Guia para Debian
Maintainers, disponível no pacote debmake-doc ou em https://www.debian.org/doc/devel-manuals#
debmake-doc.
35

Capítulo 8

As ferramentas de gestão de pacotes
Debian8.1

Que programas Debian disponibiliza para gestão dos seus pacotes?

Existem várias ferramentas que são usadas para gerir pacotes Debian, desde interfaces gráficas ou baseadas em texto até ferramentas de baixo nível usadas para instalar pacotes. Todas as ferramentas
disponíveis contam com as ferramentas de baixo nível para funcionarem apropriadamente e são aquiapresentadas num nível de complexidade decrescente.
É importante perceber que as ferramentas de alto nível de gestão de pacotes como o aptitude ou
synaptic fiam-se no apt, o qual fia-se no dpkg para gerir os pacotes no sistema.
Veja Capítulo 2. Gestão de pacotes Debian (https://www.debian.org/doc/manuals/debian-reference/
ch02.en.html) de Debian reference (https://www.debian.org/doc/manuals/debian-reference/)
para mais informação acerca de utilitários de gestão de pacotes Debian. Este documento está disponível
em vários idiomas e formatos, veja a entrada Debian Reference na vista geral do Manual de Utilizadoresde DDP (https://www.debian.org/doc/user-manuals#quick-reference).

8.1.1

dpkg

Este é o principal programa de gestão de pacotes. dpkg pode ser invocado com muitas opções. Alguns
usos mais comuns são:• Descobrir todas as opções: dpkg --help.
• Escreve o ficheiro de controle (e outra informação) para um pacote especificado: dpkg --info
foo_VVV-RRR.deb.
• Instala um pacote (incluindo descompactar e configurar) no sistema de ficheiros do disco rijo:
dpkg --install foo_VVV-RRR.deb.
• Desempacota (mas não configura) um arquivo Debian para o sistema de ficheiros no disco rijo:
dpkg --unpack foo_VVV-RRR.deb. Note que esta operação não deixa necessariamente o pacote no estado utilizável; alguns ficheiros podem precisar de mais personalização para funcionarem
de modo apropriado. Este comando remove qualquer versão já instalada do programa e corre o
script preinst (veja Secção 7.6) associado ao pacote.
• Configura um pacote que já foi desempacotado: dpkg --configure foo. Entre outras coisas,
esta acção corre o script postinst (veja Secção 7.6) associado ao pacote. Também actualiza os
ficheiros listados em conffiles para este pacote. Note que a operação ’configure’ toma comoprimeiro argumento um nome de pacote (ex. foo), e não o nome do ficheiro de arquivo Debian(ex. foo_VVV-RRR.deb).
• Extrai um ficheiro único chamado ”blurf” (ou um grupo de ficheiros chamado ”blurf*”) de um
arquivo Debian: dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - ’blurf*’.
37CAPÍTULO 8. AS FERRAMENTAS DE GESTÃO …

8.1. QUE PROGRAMAS DEBIAN …

• Remove um pacote (mas não os seus ficheiros de configuração): dpkg --remove foo.
• Remove um pacote (incluindo os seus ficheiros de configuração): dpkg --purge foo.
• Lista o estado de instalação de pacotes que contêm a string (ou expressão regular) ”foo*”: dpkg--list ’foo*’.

8.1.2 APTAPT é a Advanced Package Tool, uma interface avançada para o sistema de empacotamento Debian que
fornece o programa apt-get. Fornece ferramentas de linha de comandos para procurar e gerir pacotes, epara pesquisar informação sobre eles, assim como acesso de baixo nível a todas as funcionalidades da biblioteca libapt-pkg. Para mais informação, veja o Guia de Utilizador em /usr/share/doc/apt-doc/guide.html/index(terá de instalar o pacote apt-doc).
A partir do Debian Jessie, alguns comandos frequentemente usados do apt-get e apt-cache têm um
equivalente via novo binário apt. Isto significa que alguns comandos populares como apt-get update,apt-get install, apt-get remove, apt-cache search, ou apt-cache show agora podem também ser
chamados simplesmente via apt, digamos apt update, apt install, apt remove, apt search, ou apt
show. O seguinte é uma visão geral dos comandos antigos e novos.
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get install package
apt-get remove package
apt-get autoremove
apt-cache search string
apt-cache policy package
apt-cache show package
apt-cache showpkg package

->
->
->
->
->
->
->
->
->
->

apt update
apt upgrade
apt full-upgrade
apt install package
apt remove package
apt autoremove
apt search string
apt list -a package
apt show package
apt show -a package

A ferramenta apt funde a funcionalidade do apt-get e apt-cache e por predefinição tem um formato
colorido e bonito para os resultados, tornam-do-o mais agradável para humanos. Para utilização em
scripts ou casos de utilização avançada, ainda é preferido ou necessário o apt-get.
O apt-get fornece um modo simples de obter e instalar pacotes a partir de múltiplas fontes usando
a linha de comandos. Ao contrário do dpkg, o apt-get não compreende ficheiros .deb, trabalha com onome próprio dos pacotes e só consegue instalar arquivos .deb a partir de uma fonte especificada em/etc/apt/sources.list. o apt-get irá chamar o dpkg diretamente após descarregar os arquivos.deb 1 a partir das fontes configuradas.
Algumas maneiras comuns de usar o apt-get são:• Para actualizar a lista de pacotes conhecida pelo seu sistema, você pode correr:
apt update(você deve executar isto regularmente para actualizar as suas listas de pacotes)• Para instalar o pacote foo e todas as suas dependências, corra:
apt install foo• Para remover o pacote foo do seu sistema, corra:
apt remove foo• Para remover o pacote foo e os seus ficheiros de configuração do seu sistema, execute:
apt purge foo• Para listar todos os pacotes para os quais estão disponíveis novas versões, execute:
1 Note que há portes que tornam esta ferramenta disponível com outros sistemas de gestão de pacotes, como a gestão depacotes do Red Hat, também conhecida como rpm

38CAPÍTULO 8. AS FERRAMENTAS DE GESTÃO …

8.1. QUE PROGRAMAS DEBIAN …

apt list --upgradable• Para atualizar todos os pacotes no seu sistema (sem instalar pacotes extra nem remover pacotes),
execute:apt upgrade• Para atualizar todos os pacotes no seu sistema, e, se necessário para a atualização dum pacote,instalar pacotes extra ou remover pacotes, execute:
apt full-upgrade(O comando upgrade mantém um pacote na sua versão obsoleta instalada se a actualização precisar da instalação de um pacote extra, para que seja satisfeita uma nova dependência. O comando
full-upgrade é menos conservativo.)
Note que você precisa de ser root para executar quaisquer comandos que modificam pacotes.
Note que o apt-get agora também instala pacotes recomendados por predefinição, e graças à sua
robustez é o programa preferido para gestão de pacotes a partir da consola para executar a instalação
do sistema e as grandes actualizações.
A suite de ferramentas do apt também inclui a ferramenta apt-cache para analisar as listas de pacotes.
Você pode usa-la para encontrar pacotes que fornecem funcionalidades específicas através de texto
simples ou expressões regulares e através de consultas de dependências no sistema de gestão de pacotes.
Algumas maneiras comuns de usar o apt-cache são:• Para encontrar pacotes cuja descrição contenha palavra:
apt search palavra• Para mostrar a informação detalhada de um pacote:
apt show pacote• Para escrever quais os pacotes de que um determinado pacote depende:apt-cache depends pacote• Para escrever informação detalhada das versões disponíveis de um pacote e dos pacotes que dereverso dependem dele:apt-cache showpkg pacote

Para mais informação, instale o pacote apt e leia apt(8), apt-get(8), sources.list(5) e instale o pacote
apt-doc e leia /usr/share/doc/apt-doc/guide.html/index.html.

8.1.3

aptitudeO aptitude é um gestor de pacotes para sistemas Debian GNU/Linux que fornece um frontend para a
estrutura de gestão de pacotes apt. O aptitude é uma interface baseada em texto que usa a biblioteca
curses. As acções podem ser executadas a partir duma interface visual ou a partir da linha de comandos.
O aptitude pode ser usado para executar tarefas de gestão num modo rápido e fácil. Permite aoutilizador ver a lista de pacotes e executar tarefas de gestão de pacotes como instalar, actualizar, eremover pacotes.
O aptitude fornece a funcionalidade do apt-get, assim como muitas funcionalidades adicionais:• O aptitude oferece acesso fácil a todas as versões de um pacote.
• O aptitude facilita a detecção de software obsoleto ao lista-lo sob ”Pacotes Obsoletos ou Criados
Localmente”.
39CAPÍTULO 8. AS FERRAMENTAS DE GESTÃO …

8.1. QUE PROGRAMAS DEBIAN …

• O aptitude inclui um sistema bastante poderoso para procurar pacotes particulares e limitar aamostragem dos pacotes. Os utilizadores familiarizados com o mutt irão aprender depressa, poiso mutt foi a inspiração para a sintaxe de expressão.
• O aptitude pode ser usado para instalar as tarefas predefinidas disponíveis. Para mais informação
veja Secção 8.1.5.
• O aptitude em modo de ecrã completo tem a funcionalidade su embebida e pode ser corrido por
um utilizador normal. Ele irá chamar su (e pedir a palavra passe do root, se existir) quando vocêrealmente precisar de privilégios administrativos.
Você pode usar o aptitude através da interface visual (simplesmente corra aptitude) ou directamente da linha de comandos. A sintaxe de linha de comandos usada é muito semelhante a aquela usada
no apt-get. Por exemplo, para instalar o pacote foo, você pode correr aptitude install foo.
Note que o aptitude é o programa preferido para gestão diária de pacotes a partir da consola.
Para mais informação, leia o manual do aptitude(8) e instale o pacote aptitude-doc.

8.1.4 synaptic
O synaptic é um gestor de pacotes gráfico. Permite-lhe instalar, actualizar e remover pacotes de software num modo amigável ao utilizador. Juntamente com a maioria das funcionalidades oferecidas
pelo aptitude, também tem a funcionalidade de editar a lista de repositórios usados, e suporta navegar em toda a documentação disponível relativa a um pacote. Veja o Sitio do Synapti (https://www.nongnu.org/synaptic/) para mais informação.

8.1.5 tasksel
Quando você deseja executar uma tarefa específica pode ser difícil encontrar a suite de pacotes apropriada que você precisa. Os desenvolvedores de Debian definiram tasks, uma task é uma coleção devários pacotes Debian individuais todos relacionados com uma atividade específica. As tasks podem serinstaladas através do programa tasksel ou através do aptitude.
Tipicamente, o instalador de Debian irá automaticamente instalar a task associada a um sistema
standard e um ambiente de desktop. O ambiente de desktop específico instalado irá depender do meiode CD/DVD usado, mais comum será o GNOME desktop (gnome-desktop task). Também, dependendo
das suas selecções através do processo de instalação, podem ser instaladas tasks automaticamente no seu
sistema. Por exemplo, se você selecionar um idioma diferente de Inglês, a task associada será também
instalada automaticamente.

8.1.6 Outras ferramentas de gestão de pacotes
8.1.6.1 dpkg-deb
Este programa manipula ficheiros de arquivo Debian (.deb). Algumas utilizações comuns são:• Descobrir todas as opções: dpkg-deb --help.
• Determinar que ficheiros estão contidos num ficheiro de arquivo Debian dpkg-deb --contents
foo_VVV-RRR.deb)• Extrair os ficheiros contidos num arquivo Debian nomeado para um directório especificado pelo
utilizador: dpkg-deb --extract foo_VVV-RRR.debtmp extrai cada um dos ficheiro em foo_VVV-RRR.deb
para o directório tmp/. Isto é conveniente para examinar o conteúdo de um pacote num directório
localizado, sem instalar o pacote no sistema de ficheiros raiz.
• Extrair os ficheiros de informação de controlo de um pacote: dpkg-deb --control foo_VVV-RRR.deb
tmp.
Note que quaisquer pacotes que foram meramente desempacotados usando dpkg-deb --extractirão ficar incorretamente instalados, em vez disto você deve usar dpkg --install.
Mais informação é fornecida no manual dpkg-deb(1).
40CAPÍTULO 8. AS FERRAMENTAS DE GESTÃO …

8.2

8.2. DEBIAN AFIRMA SER CAPAZ DE …

Debian afirma ser capaz de atualizar um programa a correr,
como é que isto é conseguido?

O kernel (sistema de ficheiros) em sistemas Debian GNU/Linux suporta substituir ficheiros mesmo
quando estes estão a ser usados.
Também disponibilizamos um programa chamado start-stop-daemon o qual é usado para arrancar
daemons durante o arranque da máquina ou para parar daemons quando o runlevel muda (ex. de multiutilizador para único-utilizador ou parar). O mesmo programa é usado por scripts de instalação quandoé instalado um novo pacote que contém um daemon, para parar daemons em execução, e reinicia-losquando necessário.

8.3

Como é que Eu posso saber que pacotes já estão instalados
num sistema Debian?

Para conhecer o estado de todos os pacotes instalados num sistema Debian execute o comando
dpkg --list

Isto escreve um sumário de uma linha para cada pacote, dando um símbolo de estado de 2 (explicado
no cabeçalho), o nome do pacote, a versão que está instalada, e uma breve descrição.
Para conhecer o estado de pacotes cujos nome correspondem a qualquer padrão começado com ”foo”,
corra o comando:
dpkg --list ’foo*’

Para obter um relatório mais detalhado para um determinado pacote, execute o comando:
dpkg --status nome-do-pacote

8.4

Como mostro os ficheiros de um pacote instalado?

Para listar todos os ficheiros fornecidos pelo pacote instalado foo execute o comando
dpkg --listfiles foo

Note que não são mostrados os ficheiros criados pelos scripts de instalação.

8.5

Como posso descobrir qual pacote produziu um determinado
ficheiro?

Para identificar o pacote que produziu o ficheiro com nome foo execute um destes:• dpkg --search foo

Isto procura por foo em pacotes instalados. (Isto é (actualmente) o equivalente a procurar em
todos os ficheiros que têm a extensão .list no directório /var/lib/dpkg/info/, e ajustar os
resultados para escrever os nomes de todos os pacotes que o contêm, e diversões.)Uma alternativa mais rápida de fazer isto é a ferramenta dlocate.

dlocate -S foo• zgrep foo Contents-ARCH.gz

Isto procura por ficheiros que contêm a sub-string foo nos seus nomes de caminho completos.
Os ficheiros Contents-ARCH.gz (onde ARCH representa a arquitectura desejada) residem nos
maiores directórios de pacotes (main, non-free, contrib) num site de arquivo Debian (isto é, sob/debian/dists/bullseye). Um ficheiro Contents refere-se apenas ao pacote na árvore de
sub-directório onde reside. Assim, um utilizador pode ter que procurar em mais do que um ficheiro
Contents para encontrar o pacote que contém o ficheiro foo.
41

̀
8.6. PORQUE FOO-DATA’NÃO É REMOVIDO …

CAPÍTULO 8. AS FERRAMENTAS DE GESTÃO …

Este método tem vantagem sobre dpkg --search no modo que irá encontrar ficheiros em pacotes
que não estão actualmente instalados no seu sistema.
• apt-file search foo

Se você instalar o pacote apt-file, à semelhança de cima, procura ficheiros que contêm a substring ou expressão regular foo nos seus nomes de caminho completos. A vantagem sobre o
exemplo em cima é que não há necessidade de obter os ficheiros Contents-ARCH.gz pois irá
fazer isto automaticamente para todas as fontes definidas em /etc/apt/sources.list quandovocê corre (como root) apt-file update.

̀̀
8.6 Porque foo-data’não é removido quando Eu desinstalo foo’?
Como é que garanto que os pacotes binários antigos e não usados são purgados?
̀̀̀Alguns pacotes estão divididos em programa ( foo’)
e dados ( foo-data’)(ou em ’foo’ e foo-doc’).
Isto é
verdade para muitos jogos, aplicações multimédia e dicionários em Debian e foi introduzido porque alguns utilizadores podem querer aceder aos dados crus sem instalarem o programa ou porque o programa
pode correr sem os próprios dados, tornando ’foo-data’ opcional.
Situações semelhantes ocorrem quando se lida com bibliotecas: geralmente estas são instaladas porque os pacotes que contêm aplicações dependem delas. Quando o pacote da aplicação é purgado, opacote da biblioteca pode permanecer no sistema. Ou: quando o pacote-aplicação já não depende maisde, por exemplo, libdb4.2, mas de libdb4.3, o pacote libdb4.2 pode ficar quando o pacote-aplicação é
actualizado.
̀̀̀
Nestes casos, foo-data’não depende de foo’,
assim quando você remove o pacote foo’
ele não seráremovido automaticamente pela maioria das ferramentas de gestão de pacotes. O mesmo é verdadeiro
para os pacotes de bibliotecas. Isto é necessário para evitar dependências circulares. No entanto, sevocê usar apt-get (veja Secção 8.1.2) ou aptitude (veja Secção 8.1.3) como a sua ferramenta de gestão
de pacotes, ela irá acompanhar automaticamente os pacotes instalados e dar-lhe a possibilidade de as
remover, quando nenhum pacote que as usa restar no seu sistema.

42

Capítulo 9

Manter o seu sistema Debian
actualizado
Um dos objectivos de Debian é fornecer um caminho de actualização consistente e um processo deactualização seguro. Nós fazemos sempre o nosso melhor para tornar a actualização para novos lançamentos um processo suave. Nos casos em que existe alguma nota importante a adicionar ao processo deactualização, os pacotes irão alertar o utilizador, e muitas vezes fornecer uma solução para um possível
problema.
Você deve também ler o documento Release Notes que descreve os detalhes de actualizações específicas. Está disponível no sitio web de Debian em https://www.debian.org/releases/stable/
releasenotes e é também lançado com os CDs, DVDs e discos Blu-ray de Debian.

9.1

Como é que Eu consigo manter o meu sistema Debian actual?

Pode simplesmente visitar um sítio de arquivo Debian, depois percorrer os directórios até encontrar oficheiro desejado, depois obter-lo, e finalmente instala-lo usando o dpkg. Note que o dpkg irá instalar
ficheiros de actualização no lugar, mesmo num sistema a correr. Por vezes, um pacote revisão poderá
requerer a instalação duma nova versão revisada de outro pacote, e neste caso a irá falhar a menos ou
até que que o outro pacote seja instalado.
Muitas pessoas acham este método muito consumidor de tempo, pois Debian evolui muito rapidamente -- tipicamente, uma dúzia ou mais de pacotes são enviados todas as semanas. Este número émaior logo antes dos grandes lançamentos. Para lidar come esta avalanche, muita gente prefere usar
um método mais automatizado. Estão disponíveis vários pacotes diferentes para este propósito.

9.1.1

aptitudeaptitude é o gestor de pacotes recomendado para sistemas Debian GNU/Linux, e está descrito em Secção 8.1.3.
Antes de você poder usar o aptitude para fazer uma actualização, você tem de editar o ficheiro/etc/apt/sources.list para o configurar. Se você deseja actualizar para a versão stable de Debian,você irá provavelmente querer usar uma fonte como esta:
http://ftp.us.debian.org/debian stable main contribVocê pode substituir ftp.us.debian.org (o espelho nos Estados Unidos) pelo nome de um espelho
Debian mais rápido perto de si. Veja a lista de espelhos em https://www.debian.org/mirror/
list para mais informação.
Ou você pode usar o serviço de re-direção httpredir.debian.org cujo objectivo é resolver o problemasde escolher um espelho Debian. Usa a localização geográfica do utilizador e outras informações paraescolher o melhor espelho que possa servir os ficheiros. Para usufruir dele use uma linha de fonte comoesta:
http://httpredir.debian.org/debian stable main contrib

Mais detalhes sobre isto pode ser encontrados no manual sources.list(5)Para actualizar o seu sistema a partir da linha de comandos, corra
43CAPÍTULO 9. MANTER O SEU SISTEMA …

9.2. TENHO QUE IR PARA MODO DE …

aptitude update

seguido por
aptitude full-upgrade

Responda a quaisquer questões que possam aparecer, e o seu sistema será actualizado.
Note que o aptitude não é a ferramenta recomendada para fazer actualizações de um lançamento
Debian GNU/Linux para outro. Em vez deste use o apt-get. Para actualizações entre lançamentos vocêdeve ler as Release Notes (https://www.debian.org/releases/stable/releasenotes). Este
documento descreve em detalhe os passos recomendados para actualizações a partir de lançamentos
anteriores assim como problemas conhecidos que deve considerar antes de actualizar.
Para detalhes, veja o manual do aptitude(8), e o ficheiro /usr/share/aptitude/README.

9.1.2 apt-get e apt-cdrom
Uma alternativa ao aptitude é o apt-get o qual é um,a ferramenta de linha de comandos baseada no
APT (descrita previamente em Secção 8.1.2).
apt-get, a ferramenta de linha de comandos baseada no APT para lidar com pacotes, fornece uma
maneira simples e segura de instalar e actualizar pacotes.
Para usar o apt-get, edit o ficheiro /etc/apt/sources.list para o configurar, tal como para oSecção 9.1.1.
Depois corra
apt-get update

seguido por
apt-get dist-upgrade

Responda a quaisquer perguntas que possam surgir, e o seu sistema ficará actualizado. Veja tambémo manual apt-get(8), assim como o Secção 8.1.2.
Se você desejar usar CDs/DVDs/BDs para instalar pacotes, você pode usar o apt-cdrom. Para detalhes, por favor veja as Notas de Lançamento, secção ”Adicionar fontes APT a partir de meios óticos”.
Por favor note que quando você obtém e instala os pacotes, você vai continuar a manter-los na sua
hierarquia do directório /var. Para impedir que a sua partição fique sem espaço, lembre-se de apagar os
ficheiros extra usando apt-get clean e apt-get autoclean, ou então move-los para outro local(dica: use apt-move).

9.2 Tenho que ir para modo de único-utilizador para a actualizar
um pacote?
Não. Os pacotes podem ser actualizados no local, mesmo em sistemas a correr. Debian tem um programa
start-stop-daemon que é invocado para parar, depois reiniciar os processos a correr se necessário
durante a actualização dum pacote.

9.3 Tenho que manter todos aqueles ficheiros arquivo .deb no
meu disco?
Não. Se você descarregou os ficheiros para o seu disco então após ter instalado os pacotes, pode removelos do seu sistema, por exemplo, ao correr aptitude clean.
44CAPÍTULO 9. MANTER O SEU SISTEMA …

9.4

9.4. COMO É QUE EU MANTENHO UM …

Como é que Eu mantenho um registo dos pacotes que Eu adiciono ao sistema? EU gostava de saber quando as actualizações
e remoções ocorreram e em quais pacotes!

Passar a opção --log- ao dpkg faz com que o dpkg registe alterações de estados, actualizações e acções.
Ele regista ambos, a invocação do dpkg (ex.
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4) e os resultados (ex.
2005-12-30 18:10:35 status installed hello 2.1.1-4) Se você desejar registar todas as suas invocações do dpkg (mesmo aquelas feitas usando frontends
como o aptitude), você pode adicionar
log /var/log/dpkg.log

ao seu ficheiro /etc/dpkg/dpkg.cfg. Certifique que o logfile é rodado periodicamente. Se vocêestá a usar logrotate, isso pode ser conseguido ao criar o ficheiro /etc/logrotate.d/dpkg com as
seguintes linhas/var/log/dpkg {missingok
notifempty}

Mais detalhes sobre os relatórios do dpkg podem ser encontrados no manual do dpkg(1)aptitude regista as instalações, remoções e actualizações de pacotes que pretende executar em /var/
log/aptitude. Note que os resultados dessa acções não são gravados neste ficheiro!
Outro modo de gravar as suas acções é correr a sua sessão de gestão de pacotes dentro do programa
script(1)9.5

Posso actualizar automaticamente o sistema?

Sim. Você pode usar o cron-apt; esta ferramenta actualiza o sistema em intervalos regulares usando
uma rotina do cron. Por predefinição apenas actualiza a lista de pacotes e e descarrega os novos pacotes,
mas sem os instalar.
Nota: A actualização automática de pacotes NÃO é recomendada em sistemas testing ou unstable pois
isso pode trazer comportamentos inesperados e remover pacotes sem avisar.

9.6

Eu tenho várias máquinas, como posso Eu descarregar as actualizações apenas uma vez?

Se você tem mais do que uma máquina Debian na sua rede, é útil usar o apt-cacher para manter todos
os seus sistemas Debian actualizados.
O apt-cacher reduz os requerimentos na largura de banda dos espelhos Debian ao restringir afrequência de actualizações dos ficheiros Packages, Releases e Sources a partir do servidor e apenas
obtendo uma única vez cada ficheiro, independentemente do pedido real a partir do proxy. O aptcacher automaticamente cria um espelho HTTP Debian baseado nos pedidos que passam pelo proxy.
Claro que, você pode obter o mesmo benefício se já estiver a usar um proxy de caching standard e
se todos os seus sistemas estiverem configurados para o usar.

45

Capítulo 10

Debian e o kernel.
10.1 Posso instalar e compilar um kernel sem os ajustes específicos de Debian?
Sim.
Só existe uma situação comum: As bibliotecas C Debian são compiladas com o lançamento stablemais recente dos cabeçalhos de kernel. Se você precisar de compilar um programa com cabeçalhos dekernel mais recentes que aqueles do ramo stable, então você deve ou actualizar o pacote que contém
os cabeçalhos (linux-libc-dev), ou usar os novos cabeçalhos de uma árvore desempacotada do
novo kernel. Isto é, se as fontes do kernel estiverem em /usr/src/linux, então você deve adicionar-I/usr/src/linux/include/ à sua linha de comandos quando compilar.

10.2 Que ferramentas Debian fornece para compilar kernels personalizados?
Os utilizadores que desejem (ou precisem) de compilar um kernel personalizado são encorajados a usaro alvo de pacote Debian incluído com as versões recentes do sistema de compilação de kernel. Apósconfigurar o kernel, simplesmente corra o seguinte comando:
make deb-pkg

O novo pacote de kernel será criado no directório um nível acima da árvore fonte do kernel, e podeser instalado usando dpkg -i.
Os utilizadores têm de descarregar separadamente o código fonte do kernel mais recente (ou do
kernel da sua escolha) a partir do seu site de arquivo de Linux favorito, a menos que um pacote
linux-source-versão esteja disponível (onde versão representa a versão do kernel).

10.3 Que provisões especiais Debian fornece para lidar com módulos?
Um ficheiro de configuração que contem módulos a serem carregados manualmente durante o arranquedo sistema é mantido em /etc/modules. No entanto, raramente é necessário editar este ficheiro.
Outras configurações de módulos são mantidas no directório /etc/modprobe.d/. Mais informação
acerca do formato desses ficheiro pode ser encontrada no manual de modprobe.conf(5).

10.4 Posso desinstalar em segurança um pacote antigo de kernel,
e se sim, como?
Sim . O script linux-image-NNN .prerm verifica se o kernel que está actualmente a correr é o mesmo kernel que está a querer desinstalar. Assim você pode remover pacotes de imagem de kernel não desejados
usando este comando:
47CAPÍTULO 10. DEBIAN E O KERNEL.

10.5. ONDE POSSO OBTER MAIS …

dpkg --purge linux-image-NNN(substitua NNN pela sua versão de kernel e número de revisão, claro)

10.5 Onde posso obter mais informação acerca de pacotes Linuxpara Debian?
Mais informação é mantida em Debian Linux Kernel Handbook (https://kernel-team.pages.
debian.net/kernel-handbook/).

48

Capítulo 11

Personalizar o seu sistema Debian
GNU/Linux
11.1 Como posso certificar-me que todos os programas usam omesmo tamanho de papel?
Instale o pacote libpaper1, e ele vai-lhe perguntar por um tamanho de papel predefinido para todo
os sistema. A definição será guardada no ficheiro /etc/papersize.
Utilizadores podem sobrepor a definição de tamanho de papel usando a variável de ambiente PAPERSIZE.
Para detalhes, veja o manual papersize(5).

11.2 Como posso Eu fornecer acesso a periféricos de hardware,
sem comprometer a segurança?
Muitos ficheiros de dispositivo no directório /dev pertencem a alguns grupos predefinidos. Por exemplo, /dev/sr0 pertence ao grupo cdrom.
Se desejar que um certo utilizador tenha acesso a um destes dispositivos, basta adicionar o utilizador
ao grupo a que o dispositivo pertence, isto é, faça:
adduser utilizador grupo

Deste modo você não tem de alterar as permissões de ficheiros no dispositivo.
Se você fizer isto de dentro de uma shell de utilizador ou num ambiente GUI, você tem de sair e
iniciar sessão de novo para se tornar num membro efectivo desse grupo. Para verificar a que grupos
pertence corra groups.
Note que, desde a introdução do udev se você mudar as permissões de um hardware periférico,elas podem ser ajustadas para alguns dispositivos quando o sistema arranca; se isto acontecer com ohardware periférico que lhe interessa, você terá que ajustar as regras em /etc/udev.

11.3 Como é que Eu carrego no arranque um tipo de letra na consola à maneira Debian?
O pacote kbd suporta isto, edite o ficheiro /etc/kbd/config.

11.4 Como posso Eu configurar as predefinições de aplicações deprogramas do X11?

Os programas X de Debian irão instalar os seus dados de recurso de aplicação no directório /etc/X11/app-defaults
Se deseja personalizar as aplicações X, ponha a sua personalização nesses ficheiros. Eles são marcadoscomo ficheiros de configuração, assim o seu conteúdo será preservado durante as actualizações.
49

CAPÍTULO 11. PERSONALIZAR O SEU SISTEMA …

11.5. COMO É QUE O SISTEMA DEBIAN …

11.5 Como é que o sistema Debian arranca?
Como todos os Unices, Debian arranca ao executar o programa init. Como a maioria das distribuições
Linux, um sistema Debian predefinido usa systemd como a implementação de init. O init estilo
System-V tradicional e outros métodos são também suportados. 1
Para controlar a ordem pela qual os serviços são arrancados, os sistemas Unix estilo System-V tradicional usam runlevels. Estes foram substituídos por targets sob systemd. Para mostrar o target (alvo)predefinido no qual o systemd trará o sistema, corra o comando:
systemctl get-default

Durante p arranque, o systemd arranca os serviços ou outros alvos listados no ficheiro alvo predefinido /lib/systemd/system/default.target. Os ficheiros para estes serviços e alvos estão
instalados e o serviço é activado durante a instalação do pacote Debian. Se você especificamente desejarnão arrancar um serviço durante o arranque da máquina, em vez de remover o pacote correspondente,
pode correr o comando
systemctl disable serviço.service

usando o nome do ficheiro de serviço instalado em /lib/systemd/system (geralmente baseado
no nome do pacote).
O ficheiro de serviço /lib/systemd/system/rc-local.service fornece um modo fácil de correr scripts personalizados no ficheiro /etc/rc.local após o arranque do sistema, semelhante ao queé oferecido em sistemas Debian que correm init estilo System-V. Tenha atenção: este script irá falhar setentar interagir com a consola como ao pedir uma palavra passe de utilizador ou tentar limpar o ecrã..
Você pode verificar o estado de qualquer serviço com o comando
service pacote status. Para arrancar ou parar um serviço, corra
service pacote starte
service pacote stop

. O comando service funciona com qualquer sistema de init suportado num sistema Debian, nãoapenas com systemd. Se por acaso você preferir usar o mesmo comando em qualquer sistema Linux com
suporte de systemd, para verificar o estado corra
systemctl status pacote.service

para obter a mesma informação.
Para mais informação sobre systemd para Debian, veja https://wiki.debian.org/systemd.

11.6 E então acerca de Debian e o init System V tradicional?
Debian suporta arrancar usando init System V tradicional, via pacote sysvinit-core. O ficheiro de configuração para System V init (o qual é /etc/inittab) especifica que o primeiro script a ser executado deve ser /etc/init.d/rcS. Este script corre todos os scripts em /etc/rcS.d/ ao bi-forcar
sub-processos para executar a inicialização tais como verificar e montar sistemas de ficheiro, carregar
módulos, arrancar os serviços de rede, definir o relógio, e executar outras inicializações.
1 Em 2014, Debian mudou o seu sistema init predefinido de System V init para systemd. Debian 8 ”jessie” em April 2015
foi o primeiro lançamento a vir com systemd como init predefinido. Quatro decisões (https://www.debian.org/devel/tech-ctte#status) do Debian Technical Committee estiveram envolvidas: Bug #727708 (https://lists.debian.org/
20140211193904.GX24404@rzlab.ucr.edu) 2014-02-11: ”The committee decided that the default init system for Linux architectures in jessie should be systemd.” Bug #746715 (https://lists.debian.org/20140801023630.GF12356@
teltox.donarmstrong.com) 2014-08-01: ”The technical committee expects maintainers to continue to support the multiple
available init systems”, e fundir as contribuições razoáveis. Bug #746578 (https://lists.debian.org/20141116001628.
GO32192@teltox.donarmstrong.com) 2014-11-15: ”The committee decided that systemd-shim should be the first listed
alternative dependency of libpam-systemd instead of systemd-sysv.” Esta decisão facilitou o manter a funcionar um sistema
Debian não-systemd, Bug #762194 (https://lists.debian.org/21592.61064.527547.410074@chiark.greenend.
org.uk)2017-11-04: ”On automatic init system switching on upgrade”

50CAPÍTULO 11. PERSONALIZAR O SEU SISTEMA …

11.7. E AINDA EXISTEM OUTRAS MANEIRAS …

Após completar o processo de arranque, init executa todos os scripts de arranque num directório
especificado pelo runlevel predefinido (este runlevel é dado pela entrada para id em /etc/inittab).
Como a maioria dos Unices compatíveis com System V, Linux tem 7 runlevels:• 0 (pára o sistema),• 1 (modo de único-utilizador),• 2 até 5 (vários modos de multi-utilizador), e• 6 (reinicia o sistema).
Os sistemas Debian vêm com id=2, o que indica que o runlevel predefinido será ’2’ quando se entra
no estado de multi-utilizador, e os scripts em /etc/rc2.d/ serão corridos.
Debian usa ordem de arranque baseada-em-dependências através de insserv, usando os cabeçalhos
LSB em cada script sob /etc/init.d/, assim como arranque concorrente paralelo através do uso destartpar para acelerar o processo de arranque da máquina.
Os scripts em qualquer dos directórios, /etc/rcN.d/ são apenas links simbólicos que apontam
para scripts em /etc/init.d/. No entanto, os nomes dos ficheiros em cada um dos directórios
/etc/rcN.d/ são selecionados para indicar o modo em que os scripts em /etc/init.d/ irão correr. Especificamente, antes de entrar em qualquer runlevel, são corridos todos os scripts começados
com ’K’; estes scripts matam serviços. Depois são corridos todos os scripts começados por ’S’; estes
scripts arrancam serviços. O número de dois-dígitos que se seguem ao ’K’ ou ’S’ indicam a ordem naqual o script corre. Os scripts com números inferiores são executados primeiro.
Este método funciona porque os scripts em /etc/init.d/ todos recebem um argumento que pode
̀
̀
̀
̀
̀
ser um de start’,
stop’,
reload’,restart’ou force-reload’e irão então fazer a tarefa indicada pelo
argumento. Estes scripts podem ser usados mesmo depois de um sistema ter arrancado, para controlar
vários processos.
̀Por exemplo, com o argumento reload’
o comando/etc/init.d/sendmail reload

envia ao daemon do sendmail um sinal para re-ler o seu ficheiro de configuração.
Note que invoke-rc.d não deve ser usado para chamar os scripts /etc/init.d/, em vez disto deve
ser usado service.

11.7 E ainda existem outras maneiras de arrancar um sistema Debian?
Se você gosta do init System V, mas não gosta dos links /etc/rc?.d/*, você pode instalar o pacote
file-rc. Isso irá converter os links num único ficheiro de configuração em /etc/runlevel.conf.
Se você não gosta de System V nem systemd, pode gostar de openrc ou runit ou daemontools.

11.8 Como é que o sistema de gestão de pacotes lida com pacotes
que contêm ficheiros de configuração para outros pacotes?
Alguns utilizadores desejam criar, por exemplo, um novo servidor ao instalarem um grupo de pacotes
Debian e um pacote gerado localmente consistindo de ficheiros de configuração. Geralmente isto não é
uma boa ideia, porque o dpkg não irá saber acerca desses ficheiros de configuração se eles estiverem num
pacote diferente, e pode escrever configurações em conflito quando um do ”grupo” inicial de pacotes é
actualizado.
Em vez disso, crie um pacote local que modifica os ficheiros de configuração do ”grupo” de pacotes
Debian que interessa. Então o dpkg e o resto do sistema de gestão de pacotes irá ver que os ficheiros
foram modificados pelo ”sysadmin” local e não os irá tentar sobrescrever quando esses pacotes forem
actualizados.
51CAPÍTULO 11. PERSONALIZAR O SEU SISTEMA …

11.9. COMO É QUE EU SOBREPONHO UM …

11.9 Como é que Eu sobreponho um ficheiro instalado por um
pacote, para que possa ser usada uma versão diferente?
Supondo que um administrador de sistema ou um utilizador local deseja usar um programa ”login-local”
em vez do programa ”login” fornecido pelo pacote Debian login.
Não faça:• Sobrepor /bin/login com login-local.
O sistema de gestão de pacotes não irá saber desta alteração, e irá simplesmente sobrescrever o seu/bin/login personalizado sempre que login (ou qualquer pacote que forneça /bin/login) seja
instalado ou actualizado.
Em vez disso, faça
• Execute:dpkg-divert --divert /bin/login.debian /bin/login

De modo a fazer com que todas as instalações futuras do pacote Debian login escreva o ficheiro/bin/login.debian em vez de /bin/login.
• Depois execute:cp login-local /bin/loginpara mover o seu programa compilado localmente para o seu lugar.
Corra dpkg-divert --list para ver quais desvios estão actualmente activos no seu sistema.
Detalhes são fornecidos no manual dpkg-divert(8).

11.10 Como é que Eu posso ter o meu pacote localmente compilado na lista de pacotes disponíveis que o sistema de gestão
de pacotes conhece?
Execute o comando:
dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages

onde:• BIN-DIR é um directório onde ficheiros de arquivo Debian (que geralmente têm a extensão ”.deb”)
são armazenados.
• OVERRIDE_FILE é um ficheiro que é editado pelos responsáveis da distribuição e é geralmentearmazenado num arquivo Debian em indices/override.main.gz para os pacotes Debian na
distribuição main”. Você pode ignorar isto para pacotes locais.
• PATHPREFIX é uma string opcional que pode prefixada no ficheiro my_Packages a ser produzido.
Após você ter compilado o ficheiro my_Packages, diga ao sistema de gestão de pacotes que ele
existe usando o comando:
dpkg --merge-avail my_Packages

Se você está a usar o APT, você também pode adicionar o repositório local ao seu ficheiro sources.list(5).
52CAPÍTULO 11. PERSONALIZAR O SEU SISTEMA …

11.11

11.11. ALGUNS UTILIZADORES GOSTAM DE …

Alguns utilizadores gostam de mawk, outros gostam de gawk;
alguns gostam de vim, outros gostam de elvis; alguns gostam de trn, outros de tin; como é que Debian suporta diversidade?

Há vários casos onde dois pacotes fornecem duas versões diferentes de um programa, que dos quais
ambos fornecem a mesma funcionalidade central. Os utilizadores podem preferir um sobre o outro por
hábito, ou porque a interface e utilizador de um é mais agradável que a do outro. Outros utilizadoresno mesmo sistema podem fazer uma escolha diferente.
Debian usa um sistema de pacotes ”virtuais” que permitem aos administradores de sistemas escolher(ou deixar os utilizadores escolher) as suas ferramentas favoritas quando existem duas ou mais que
fornecem a mesma funcionalidade básica, no entanto satisfazendo os requisitos de dependências depacotes sem especificar um pacote específico.
Por exemplo, podem existir duas versões diferentes de leitor-de-notícias num sistema. O pacote deservidor de notícias pode ’recomendar’ que existe algum leitor de noticias no sistema, mas a escolhade tin ou trn é deixada ao utilizador individual. Isto é satisfeito ao ter ambos pacotes tin e trn afornecer o pacote virtual news-reader. Qual programa é invocado é determinado por um link que
aponta parta um ficheiro com o nome do pacote virtual /etc/alternatives/news-reader para oficheiro selecionado, ex. /usr/bin/trn.
Um link único é insuficiente para suportar a utilização total de um programa alternativo, normalmente, os manuais, e possivelmente outros ficheiros de suporte têm também de ser selecionados. O
script Perl update-alternatives fornece um modo de assegurar que todos os ficheiros associados aum pacote específico são selecionados como uma predefinição de sistema.
̀Por exemplo, para verificar que executáveis fornecem x-window-manager’,corra:
update-alternatives --display x-window-manager

Se desejar alterar, corra:
update-alternatives --config x-window-manager

E siga as instruções no ecrã (basicamente, pressione o número próximo da entrada que você mais
gosta).
Se um pacote não se auto-registar como um gestor de janelas por alguma razão (reporte um bug sefor um erro), ou se você usar um gestor de janelas do directório /usr/local, as seleções no ecrã não irãoconter a sua entrada preferida. Você pode actualizar o link através de opções de linha de comandos,
assim:
update-alternatives --install /usr/bin/x-window-manager \x-window-manager /usr/local/bin/wmaker-cvs 50

̀O primeiro argumento para a opção --install’é o link simbólico que aponta para /etc/alternatives/NOME, onde NOME é o segundo argumento. O terceiro argumento é o programa para o qual /etc/alternatives/NOME deve apontar, e o quarto argumento é a prioridade (uma valor maior significa que aalternativa terá maior probabilidade de ser escolhida automaticamente.
Para remover uma alternativa que você adicionou, simplesmente corra:
update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs

53

Capítulo 12

Obtendo suporte para Debian
GNU/Linux
12.1 Que outra documentação existe para o sistema Debian?
• Instruções de instalação para o lançamento actual, veja https://www.debian.org/releases/
stable/installmanual.
• O Debian GNU/Linux reference cobre muitos aspectos de administração de sistema através deexemplos de comandos de shell. Lições básicas, dicas, e outras informações são disponibilizadas
para muitos tópicos diferentes desde administração do sistema até à programação.

Obtenha-o do pacote debian-reference, ou em https://www.debian.org/doc/user-manuals#
quick-reference.

• O manual Debian Policy documenta os requerimentos de política para a distribuição, isto é, aestrutura e conteúdos do arquivo Debian, vários problemas de desenho do sistema operativo etc.
Também inclui os requerimentos técnicos que cada pacote deve satisfazer para ser incluído na
distribuição, e documenta os aspectos técnicos básicos dos pacotes Debian binários e fonte.

Obtenha-o a partir do pacote debian-policy, ou em https://www.debian.org/doc/devel-manuals#
policy.

• Documentação desenvolvida pelo Debian Documentation Project. Está disponível em https://www.debian.org/doc e inclui guias de utilizador, guias de administrador e guias de segurança
para o sistema operativo Debian GNU/Linux.
• Documentação sobre pacotes Debian instalados. A maioria dos pacotes têm ficheiros que sãodesempacotados em /usr/sh/PACOTE.
• Documentação do projeto Linux: O pacote Debian doc-linux instala todas as versões mais recentes dos HOWTOs e mini-HOWTOs a partir do Linux Documentation Project (http://www.
tldp.org/).
• Páginas ’man’ estilo-Unix: A maioria dos comandos têm manuais escritos no estilo dos ficheiros ’man’ originais do Unix. Por exemplo, para ver o manual do comando ’ls’, execute man ls.
Execute man man para mais informação em encontrar e visualizar páginas de manual.
Os novos utilizadores de Debian devem perceber que os manuais ’man’ de muitos comandos gerais
do sistema só estão disponíveis após instalarem estes pacotes:– man-db, o qual contém o próprio programa man, e outros programas para manipular aspáginas de manual.
– manpages, o qual contém os manuais do sistema. (veja Secção 5.9).

̀• Páginas info’estilo-GNU: Documentação de utilizador para muitos comandos, em particular fer̀̀ramentas GNU, não estão disponíveis em páginas man’,mas em ficheiros info’
os quais podem serlidos pela ferramenta GNU info, ao correr M-x info dentro do GNU Emacs, ou com qualquer
outro visualizador de páginas Info.
55

CAPÍTULO 12. OBTENDO SUPORTE PARA …

12.2. EXISTEM RECURSOS ON-LINE PARA …

̀
A sua principal vantagem sobre as páginas man’originais é que é um sistema de hypertext. Nãorequer WWW, no entanto; info pode correr a partir de uma consola de texto simples. Foi desenhado por Richard Stallman e precedeu o WWW.
Note que você pode aceder a muita documentação no seu sistema ao usar um navegador WWW,̀
através dos comandos encontrados nos respectivos pacotes, ou ao usar yelp’.

12.2 Existem recursos on-line para discutir Debian?
Sim. De facto, o principal método de suporte a Debian fornecido aos nossos utilizadores é pela via dee-mail. Vamos dar alguns detalhes sobre isso, e mencionar alguns outros recursos úteis. Ainda maisrecursos estão listados em Página Web de Suporte Debian (https://www.debian.org/support).

12.2.1 Listas de Mail
Existem imensas Lista de Mail relacionadas com Debian (https://www.debian.org/MailingLists/).
Num sistema com o pacote doc-debian instalado existe uma lista completa das listas de mail em/usr/share/doc/debian/mailing-lists.txt.
As listas de mail de Debian são nomeadas segundo o padrão debian-lista-assunto. Exemplos são
debian-announce, debian-user, debian-news. Para subscrever a qualquer lista debian-lista-assunto,
envie um mail para debian-lista-assunto-request@lists.debian.org com a palavra ”subscribe” no cabeçalho de Assunto:. Certifique-se de adicionar -request ao endereço de e-mail quando usa este método
de subscrever ou retirar--subscrição. Caso contrário o seu e-mail irá para a própria lista, o que pode serembaraçoso ou chato, dependendo do seu ponto de vista.
Você pode subscrever as listas de mail usando o formulário WWW (https://www.debian.org/
MailingLists/subscribe). Você também pode remover a subscrição usando um formulário WWW(https://www.debian.org/MailingLists/unsubscribe).
O endereço de e-mail do gestor da lista é listmaster@lists.debian.org, no caso de você ter dificuldades.
As listas de mail são fóruns públicos. Todos os e-mails enviados para as listas são também copiados
para o arquivo público, para que todos (mesmo os não-subscritores) possam navegar ou pesquisar. Por
favor certifique-se que nunca manda nenhum material confidencial ou não licenciado para as listas. Isto
inclui coisas como endereços de e-mail. De nota particular é o facto que os spammers são conhecidos
por abusar dos endereços de e-mail postados nas nossas listas de mail. Veja Política de Privacidade das
Listas de Mail (https://www.debian.org/MailingLists/#disclaimer) para mais informação.
Arquivos das listas de mail de Debian estão disponíveis em https://lists.debian.org/.
12.2.1.1 Qual é o código de conduta para as listas de mail?
Quando usar as listas de mail de Debian, por favor siga estas regras:• Não envie spam. Veja a Debian mailing list advertising policy (https://www.debian.org/
MailingLists/#ads).
• Não ataque os outros; não é educado. As pessoas que desenvolvem Debian são todos voluntários,
doando o seu tempo, energia e dinheiro numa tentativa de se conseguir trazer a todos o projeto
Debian.
• Não use linguagem rude; além disso, algumas pessoas recebem as listas via rádio de bolso, onde
praguejar é ilegal.
• Certifique-se que está a usar a lista apropriada. Nunca poste os seus pedidos de (de)subscrição na
própria lista de mail. 1• Veja a secção Secção 12.5 para notas sobre reportar bugs.

12.2.2 Fórum Web
Debian User Forums (http://forums.debian.net/) fornece fóruns web nos quais você pode submeter questões sobre Debian e obter respostas de outros utilizadores. (Não faz parte oficial do projecto
Debian.)1 Use o endereço debian-lista-assunto-REQUEST@lists.debian.org para isso.

56CAPÍTULO 12. OBTENDO SUPORTE PARA …

12.2.312.3. EXISTE UM MODO RÁPIDO PARA …

WikiSoluções para problemas comuns, howtos, guias, dicas e outra documentação podem ser encontradosno Debian Wiki (https://wiki.debian.org/) que está sempre em constante actualização.

12.2.4

Responsáveis de manutenção

Os utilizadores podem endereçar questões a responsáveis de pacotes individuais usando o e-mail. Pare
contactar um responsável do pacote chamado xyz, envie um e-mail para xyz@packages.debian.org.

12.2.5

newsgroups da Usenet

Os utilizadores devem postar questões não-específicas-de-Debian em um dos grupos USENET de Linux,
os quais são chamados comp.os.linux.* ou linux.*. Existem várias listas de newsgroups Usenet de Linux eoutros recursos relacionados na WWW, ex. nos sites Linux Online (https://www.linux.org/docs/
usenet.html) e LinuxJournal (http://www.linuxjournal.com/helpdesk.php).

12.3 Existe um modo rápido para procurar informação em Debian
GNU/Linux?
Existe uma variedade de motores de busca que servem documentação relacionada com Debian:• Debian WWW search site (https://search.debian.org/).
• Google Groups (https://groups.google.com/): um motor de busca para newsgroups.

Por exemplo, para descobrir que experiências pessoas já tiveram com o encontrar drivers para
placas gráficas NVIDIA sob Debian, tente pesquisar com a frase NVIDIA Linux driver. Isto irá
mostrar-lhe todos os posts que contêm estas strings, isto é, aqueles onde pessoas discutiram estes
tópicos. Se adicionar Debian a essas strings de pesquisa, irá também obter os posts relacionados
especificamente com Debian.

• Qualquer dos motores de busca comuns da web, como o DuckDuckGo (https://duckduckgo.
com/) ou Google (https://www.google.com/), desde que você use os termos de pesquisa
certos.

Por exemplo, procurar com a string ”evince” dá uma explicação mais detalhada deste pacote queo campo da breve descrição no seu ficheiro de controle.

12.4 Existem relatórios de bugs conhecidos?
Relatórios sobre problemas não resolvidos (e fechados) estão disponíveis ao público. Debian prometeu fazê-lo ao afirmar ”Nós não escondemos problemas” no Debian Social Contract (https://www.
debian.org/social_contract).
A distribuição Debian GNU/Linux tem um sistema de acompanhamento de bugs (BTS) o qual tem
ficheiros dos bugs reportados por utilizadores e desenvolvedores, Cada bug recebe um número, e émantido em ficheiro. Assim que é lidado, é marcado como tal.
Copias desta informação estão disponíveis em https://www.debian.org/Bugs/.
Um servidor de mail fornece acesso à base de dados do sistema de acompanhamento de bugs via email. De modo a obter instruções, envie um e-mail para request@bugs.debian.org com ”help” no corpo
da mensagem.

12.5 Como é que Eu reporto um bug em Debian?
Se você descobriu um bug em Debian, por favor leia as instruções para reportar um bug em Debian.
Estas instruções podem ser obtidas em um de vários modos:• A partir da WWW. Uma cópia das instruções é mostrada em https://www.debian.org/Bugs/
Reporting.
57CAPÍTULO 12. OBTENDO SUPORTE PARA …

12.5. COMO É QUE EU REPORTO UM BUG EM …

• Em qualquer sistema Debian com o pacote doc-debian instalado. As instruções estão no ficheiro/usr/share/doc/debian/bug-reporting.txt.
Você pode usar o pacote reportbug que o irá guiar pelo processo de reportar e enviar a mensagem
por mail para o endereço apropriado, com alguns detalhes extra sobre o seu sistema adicionados automaticamente. Irá também mostrar-lhe uma lista de bugs já reportados ao pacote contra o qual você estáa reportar no caso do seu bug ter sido reportado anteriormente, para que possa acrescentar informação
adicional ao relatório de bug existente.
Espere receber um reconhecimento automático do seu relatório de bug. Será também dado automaticamente um número de acompanhamento de bug, inserido no relatório de bug e reencaminhado paraa lista de mail debian-bugs-dist.

58

Capítulo 13

Contribuir para o Projecto DebianDonativos (https://www.debian.org/donations) de tempo (para desenvolver novos pacotes, manter pacotes existentes, o fornecer suporte a utilizadores), recursos, (para espelhos de arquivos de pacotes
e WWW), e dinheiro (para pagar novas máquinas de teste assim como hardware para os arquivos) podem
ajudar o projecto. Veja também Como posso ajudar Debian? (https://www.debian.org/intro/help).

13.1 Como posso Eu tornar-me em membro de Debian/desenvolvedor de Debian?
O desenvolvimento de Debian está aberto a todos, e novos utilizadores com as habilidades certas e/ou
a vontade de aprender são precisos para manter pacotes existentes que ficaram ”órfãos” pelos seus responsáveis anteriores, para desenvolver novos pacotes, para escrever documentação, para fazer trabalho
de tradução, para ajudar com o site web de Debian, para fornecer suporte a utilizadores, etc.
A descrição de como se tornar um membro de Debian pode ser encontrada em New Member’s Corner(https://www.debian.org/devel/join/newmaint) no site web de Debian.

13.2 Como posso Eu contribuir com recursos para o projecto Debian?
Como o projeto aponta a criar um corpo de software rapidamente e facilmente acessível por todo o globo,são precisos mirrors. É desejável mas não absolutamente necessário que espelhem todo o arquivo. Por
favor visite a página Tamanho de mirror Debian (https://www.debian.org/mirror/size) para
informação sobre os requisitos de espaço de disco.
A maioria do ”espelhar” é conseguida inteiramente automaticamente por scripts, sem nenhuma interação. No entanto, ocorrer uma falha ocasional ou mudança de sistema que requer intervenção humana.
Se você tem uma ligação à Internet de alta velocidade, os recursos para espelhar toda ou parte dadistribuição, e está disposto a ter tempo (ou encontrar alguém) para fornecer manutenção regular dosistema, então por favor contacte debian-admin@lists.debian.org.

13.3 Como posso Eu contribuir financeiramente para o projecto
Debian?
Donativos de patrocinadores permitem a Debian ter máquinas, assim como outro hardware, organizar
conferências e sprints de desenvolvimento, entre outras coisas. Para mais informação por favor visite
Donativos a Debian (https://www.debian.org/donations). A página também lista os diferentes
métodos que podem ser usados para doar.
Pode-se fazer donativos individuais a organizações que são críticas para o desenvolvimento do projeto Debian. A principal organização é a Software in the Public Interest, incorporada nos Estados Unidos,
mas existem outras.
59CAPÍTULO 13. CONTRIBUIR PARA O …

13.3. COMO POSSO EU CONTRIBUIR …

13.3.1 Software in the Public Interest
Software in the Public Interest (SPI) é uma organização IRS 501(c)(3) não-lucrativa baseada nos Estados
Unidos. O objectivo da organização é desenvolver e distribuir software livre.
Encoraja os programadores a usarem a GNU General Public License ou outras licenças que permitem
livre redistribuição e uso de software, e os desenvolvedores de hardware a distribuir documentação que
irá permitir que sejam escritas drivers de dispositivo para os seus produtos.
SPI actua como um patrocinador fiscal para muitos projetos livres e de código aberto. O projeto
Debian tem sido um projeto associado desde a criação da organização.
SPI pode ser alcançado em: https://www.spi-inc.org/.

13.3.2 Outras organizações
Existe um número de organizações criadas em diferentes países que mantêm ativos em confiança para
Debian. A página de doações (https://www.debian.org/donations) lista as organizações deconfiança para onde se podem fazer doações individuais. à data desta escrita existiam duas delas:a Debian France Association (https://france.debian.net/) (em França), e debian.ch (https://debian.ch/) (Switzerland and the Principality of Liechtenstein). Organizações afiliadas adicionais em outros países estão listadas na página Organizações (https://wiki.debian.org/Teams/
Auditor/Organizations) na Debian Wiki.

60

Capítulo 14

Redistribuindo Debian GNU/Linuxnum produto comercial
14.1 Posso criar e vender CDs de Debian?
Faça favor. Você não precisa de permissão para distribuir qualquer coisa que nós tenhamos lançado,então você pode criar o seu CD assim que acabam os testes-beta. Você não tem que nos pagar nada.
Claro que, todos os criadores de CD têm de honrar as licenças dos programas em Debian. Por exemplo,
muitos dos programas estão licenciados sob GPL, o que requer que você também distribua o seu código
fonte.
E também, nós iremos publicar uma lista de criadores de CD quem doam dinheiro, software, e tempo
ao projeto Debian, e vamos encorajar os utilizadores a comprar dos criadores que fazem donativos, assim
é uma boa publicidade fazer donativos.

14.2 Pode Debian ser empacotado com software não-livre?
Sim. Apesar de todos os componentes principais de Debian serem software livre, nós disponibilizamos
um directório non-free para programas que não são distribuíveis livremente.
Os criadores de CD podem distribuir os programas que nós colocamos nesse directório, dependendo
dos termos de licença ou dos seus acordos privados com os autores desses pacotes de software. Os
criadores de CD podem também distribuir o software não-livre que obterem a partir de outras fontes no
mesmo CD. Isto não é nada de novo: software livre e comercial são distribuídos no mesmo CD por muitos
criadores agora. Claro que nós sempre encorajamos os autores de software a lançarem os programas
que escrevem como software livre.

14.3 Eu estou a criar uma distribuição Linux especial para um”mercado vertical”. Posso usar Debian GNU/Linux para as
entranhas dum sistema Linux e adicionar as minhas próprias
aplicações em cima disso?
Sim. Distribuições derivadas-de-Debian estão a ser criadas tanto em cooperação próxima com o próprio
projeto Debian e por partes externas. Pode-se usar a estrutura Debian Pure Blends (https://www.
debian.org/blends/) para trabalhar juntamente com Debian; DebianEdu/Skolelinux (https://wiki.debian.org/DebianEdu/) é um projeto desses.
Existem várias outras distribuições derivadas-de-Debian já no mercado, tais como grml, LMDE (Linux
Mint Debian Edition), Knoppix e Ubuntu, que são destinadas a um tipo diferente de audiência que o
Debian GNU/Linux original é, mas usam a maioria dos nossos componentes no seu produto.
Debian também fornece um mecanismo que permite a desenvolvedores e administradores de sistemas
instalarem versões locais de ficheiros selecionados de tal maneira que não serão sobrescritos quando
outros pacotes forem actualizados. Isto está mais discutido na questão em Secção 11.9.
61CAPÍTULO 14. REDISTRIBUINDO DEBIAN …

14.4. POSSO COLOCAR O MEU PROGRAMA …

14.4 Posso colocar o meu programa comercial num ”pacote” Debian para que ele instale sem esforço em qualquer sistema
Debian?
Faça favor. A ferramenta de empacotamento é software livre, o pacote pode ser ou não ser software
livre, ela consegue instala-los a todos.

62Capítulo 15

Alterações esperadas no próximo
grande lançamento de Debian
Com cada novo lançamento, o projeto Debian tenta focar-se num conjunto de tópicos. Estes são conhecidos como ”Objectivos de Lançamento” e estão todos descritos em https://wiki.debian.org/
ReleaseGoals/. Por favor note que as secções seguintes podem não estar totalmente actualizadas,
por favor consulte a Wiki para mais informação e o estado actualizado destes objectivos.

15.1 Endurecer o sistema
É um objectivo do projecto Debian assegurar que qualquer sistema instalado é forte e seguro contra
ataques. Existem vários modos para conseguir isto, os quais incluem:• Melhorar a segurança dos programas ao compila-los com Bandeiras de Compilação de Endurecimento de Segurança (https://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags)de modo a activar várias proteções contra problemas de segurança conhecidos.
• Melhorar a configuração predefinida do sistema para o tornar menos vulnerável a ataques (ambos
locais e remotos).
• Activar funcionalidades de segurança entregues por novas versões do kernel.
Tudo isto é feito numa base progressiva. Para o primeiro item, é usado um conjunto de bandeirasde compilação de endurecimento de segurança que tentam prevenir ataques tal como stack smashing,localizações previsíveis de valores em memória, etc. O objectivo é cobrir pelo menos todos os pacotes
que fazem parte da instalação básica assim como pacotes que tiveram de ser actualizados através dum
Conselho de Segurança desde 2006. Até à data deste texto, mais de 400 pacotes foram modificados desdeque este esforço foi iniciado. Todos os problemas são seguidos no BTS (https://bugs.debian.org/
cgi-bin/pkgreport.cgi?tag=goal-hardening;users=hardening-discuss@lists.alioth.
debian.org).

15.2 Suporte extenso para utilizadores não-Ingleses
Debian já tem um suporte muito bom para utilizadores não Ingleses, veja Secção 5.9.
Esperamos encontrar pessoas que providenciem suporte para ainda mais linguagens, e traduzam
programas e documentos. Muitos programas e documentos específicos de Debian já suportam internacionalização, assim nós precisamos tradutores de catálogos de mensagens. No entanto, ainda faltam
alguns programas serem apropriadamente internacionalizados.
O Projeto de Tradução GNU ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS trabalha na internacionalização os programas de GNU e de projetos diferentes, tal como os ambientes de Desktop GNOME
ou KDE têm as suas próprias equipas de tradução. Os objectivo de Debian não é substituir nem repetiro trabalho feito por estes projetos, de facto, Debian beneficia do trabalho feito pelos tradutores destes
projetos. No entanto, ainda há muitos programas que não estão na objetiva desses projetos e os quais
são traduzidos dentro de Debian.
Lançamentos anteriores de Debian focaram-se em tópicos como:63CAPÍTULO 15. ALTERAÇÕES ESPERADAS NO …

15.3. MELHORAMENTOS NO INSTALADOR DE …

• Suporte I18n em todos os pacotes que usam debconf: Pacotes que usam a gestão de configuração
de Debian devem permitir a tradução de todas as mensagens mostradas ao utilizador durante a
configuração do pacote.
• Suporte I18n para descrições de pacotes. Actualize os frontends de gestão de pacotes para usar as
descrições traduzidas dos pacotes.
• Colocar em UTF-8 debian/changelog e debian/control. Deste modo, por exemplo, nomes de pessoas de países asiáticos podem ser escritos de maneira correta nos registos de alterações.
• Suporte I18n no Instalador Debian incluindo suporte completo para algumas linguagens que requerem o uso da interface gráfica.

15.3 Melhoramentos no instalador de DebianMuito trabalho tem sido feito no Debian Installer, resultando em grandes melhoramentos. Vamos mencionar apenas dois deles aqui.
Arrancar o instalador a partir do Microsoft Windows: Agora é possível arrancar o instalador diretamente a partir do Microsoft Windows sem a necessidade de mudar configurações da BIOS. Após ainserção de um CD-ROM, DVD-ROM ou caneta USB, será iniciado um programa autorun, oferecendoum processo passo-a-passo para iniciar o instalador de Debian.

15.4 Mais arquitecturas
Sistema Debian completo em outras arquitecturas. Note que mesmo quando algumas arquitecturas são
abandonadas em determinado lançamento, ainda pode ser um modo de instalar e actualizar usando a
sid mais recente.

15.5 Mais kernels
Adicionalmente a Debian GNU/Hurd, Debian está a ser também portada para kernels de BSD, nomeadamente para FreeBSD (https://www.debian.org/ports/kfreebsd-gnu/). Este porte corre em
ambos AMD64 (”kfreebsd-amd64”) e Intel tradicional (”kfreebsd-i386”).

64

Capítulo 16

Informação geral acerca da FAQ
16.1 Autores
A primeira edição desta FAQ foi feita e mantida por J.H.M. Dassen e Chuck Stickelman. Os autores da
rescrição da FAQ Debian GNU/Linux são Susan G. Kleinmann e Sven Rudolph. Depois deles, a FAQ foi
mantida por Santiago Vila e, mais tarde por Josip Rodin. Actualmente é mantida por Javier FernandezSanguino.
Partes da informação vêm de:• O anúncio de lançamento de The Debian-1.1, por Bruce Perens (https://perens.com/),• a Linux FAQ, por Ian Jackson (https://www.chiark.greenend.org.uk/~ijackson/),• Debian Mailing Lists Archives (https://lists.debian.org/),• o manual dos programadores de dpkg e o manual de Política Debian (veja Secção 12.1),• muitos desenvolvedores, voluntários, e testadores beta.
• as memórias estranhas dos seus autores. :-)• e o Choosing a Debian distribution FAQ (http://KamarajuKusumanchi.github.io/choosing_debian_distribution/choosing_debian_distribution.html), que Kamaraju Kusumanchi graciosamente lançou sob GPL, para que pudesse ser incluído como novo capítulo (veja Capítulo 3).
Os autores gostariam de agradecer a todos aqueles que ajudaram a tornar este documento possível.
Todas as garantias são negadas. Todas as marcas registadas são de propriedade de seus respectivos
donos.

16.2 Feedback
Comentários e adições a este documento são sempre bem vindos. Por favor envie e-mail para docdebian@packages.debian.org, ou submeta um ”wishlist bug report” para o pacote debian-faq (https://bugs.debian.org/debian-faq).

16.3 Disponibilidade
A versão mais recente deste documento pode ser vista na página WWW de Debian em https://www.
debian.org/doc/FAQ/.
Está também disponível para descarga nos formatos de texto simples, HTML, e PDF em https://www.debian.org/doc/user-manuals#faq. Há também várias traduções lá.
Este documento está disponível no pacote debian-faq. Estão disponíveis traduções em debian-faq-de,
debian-faq-fr e em outros pacotes.
Os ficheiros XML originais usados para criar este documento estão também disponíveis no pacote
fonte do debian-faq. ou em GIT em: git@salsa.debian.org:ddp-team/debian-faq.git e
https://salsa.debian.org/ddp-team/debian-faq.
65CAPÍTULO 16. INFORMAÇÃO GERAL ACERCA …

16.4. FORMATO DE DOCUMENTO

16.4 Formato de documento
Este documento foi escrito usando DocBook XML DTD. Este sistema permitem-nos criar ficheiros emvários formatos a partir de uma fonte, ex, este documento pode ser visualizado em HTML, texto simples,
TeX DVI, PostScript, PDF, ou GNU info.

66

ÍndicePpackages
apt, 39
apt-doc, 38, 39
apt-file, 42
apt-move, 44
aptitude-doc, 40
binutils, 29
build-essential, 20
daemontools, 22, 51
dbndns, 22
debian-faq, 65
debian-faq-de, 65
debian-faq-fr, 65
debian-policy, 55
debian-reference, 55
debmake-doc, 35
djbdns, 22
doc-debian, 56, 58
doc-linux, 55
dpkg-dev, 35
ekiga, 22ezmlm-idx, 22
fakeroot, 35
file-rc, 51
gcc, 29
gnash, 22googleearth-package, 22kbd, 49
kernel-package, 20
labplot, 8
libc6, 34
libpaper1, 49
linux-libc-dev, 47
linux-source-versão, 47
login, 52
lsb-release, 10
maint-guide, 35
mlmmj, 22
ndiswrapper, 22
news-reader, 53
openrc, 51
publicfile-installer, 22
qmail, 22reportbug, 58
runit, 51
swfdec, 22
tin, 53trn, 53
ucspi-tcp, 2267