'\" t
.\" Title: apt_preferences
.\" Author: Equipa do APT
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 22\ \&Agosto\ \&2024
.\" Manual: APT
.\" Source: APT 3.0.0
.\" Language: Portuguese
.\"
.TH "APT_PREFERENCES" "5" "22\ \&Agosto\ \&2024" "APT 3.0.0" "APT"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NOME"
apt_preferences \- Ficheiro de controle de prefer\(^encias para o APT
.SH "DESCRI\(,C\(~AO"
.PP
O ficheiro de prefer\(^encias do APT
/etc/apt/preferences
e os ficheiros fragmentados no direct\('orio
/etc/apt/preferences\&.d/
podem ser usados para controlar quais as vers\(~oes de pacotes ir\(~ao ser selecionadas para instala\(,c\(~ao\&.
.PP
V\('arias vers\(~oes de um pacote podem estar dispon\('iveis para instala\(,c\(~ao quando o ficheiro
\fBsources.list\fR(5)
cont\('em refer\(^encias a mais do que uma distribui\(,c\(~ao (por exemplo,
stable
e
testing)\&. O APT atribui uma prioridade a cada vers\(~ao que est\('a dispon\('ivel\&. Sujeito a constrangimentos de depend\(^encias, o
\fBapt\-get\fR
seleciona a vers\(~ao com a prioridade mais alta para instala\(,c\(~ao\&. As prefer\(^encias do APT sobrep\(~oem as prioridades que o APT atribui \(`as vers\(~oes de pacotes por predefini\(,c\(~ao, assim dando controle ao utilizador sobre qual \('e selecionado para instala\(,c\(~ao\&.
.PP
Podem estar dispon\('iveis v\('arias inst\(^ancias da mesma vers\(~ao de um pacote quando o ficheiro
\fBsources.list\fR(5)
cont\('em refer\(^encias a mais do que uma fonte\&. Neste caso o
\fBapt\-get\fR
descarrega a inst\(^ancia listada mais cedo no ficheiro
\fBsources.list\fR(5)\&. As prefer\(^encias do APT n\(~ao afectam a escolha da inst\(^ancia, apenas a escolha da vers\(~ao\&.
.PP
As prefer\(^encias s\(~ao um poder forte nas m\(~aos de um administrador de sistemas mas tamb\('em se podem tornar no seu maior pesadelo se forem usadas sem cuidado! O APT n\(~ao ir\('a questionar as prefer\(^encias, portanto as defini\(,c\(~oes erradas ir\(~ao acabar em pacotes n\(~ao instal\('aveis ou decis\(~oes erradas ao actualizar pacotes\&. Ir\(~ao surgir ainda mais problemas se forem misturadas m\('ultiplas distribui\(,c\(~oes sem o perfeito entendimento dos par\('agrafos seguintes\&. Os pacotes inclu\('idos num lan\(,camento espec\('ifico n\(~ao s\(~ao testados e por isso nem sempre funcionam como esperado nos lan\(,camentos mais antigos ou recentes ou em conjunto com outros pacotes de lan\(,camentos diferentes\&. Voc\(^e foi avisado\&.
.PP
Note que os ficheiros no direct\('orio
/etc/apt/preferences\&.d
s\(~ao analisados em ordem alfanum\('erica ascendente e precisam obedecer \(`a conven\(,c\(~ao de nomes seguinte: Os ficheiros ou n\(~ao t\(^em extens\(~ao ou t\(^em "pref" na extens\(~ao do nome de ficheiro e apenas cont\(^em caracteres alfanum\('ericos, tra\(,co (\-), underscore (_) e ponto (\&.)\&. Caso contr\('ario o APT ir\('a escrever um aviso de que ignorou um ficheiro, a menos que esse ficheiro corresponda a um padr\(~ao da lista de configura\(,c\(~ao
Dir::Ignore\-Files\-Silently
\- e neste caso ser\('a ignorado em sil\(^encio\&.
.SS "Atribui\(,c\(~oes de Prioridade Predefinidas do APT"
.PP
Sen\(~ao existir um ficheiro de prefer\(^encias ou se n\(~ao existe uma entrada no ficheiro que se aplique a uma vers\(~ao particular ent\(~ao a prioridade atribu\('ida a essa vers\(~ao \('e a prioridade da distribui\(,c\(~ao \(`a qual essa vers\(~ao pertence\&. \('E poss\('ivel definir uma distribui\(,c\(~ao singular, "o lan\(,camento de destino", a qual recebe uma prioridade mais alta que as outras distribui\(,c\(~oes por predefini\(,c\(~ao\&. O lan\(,camento de destino pode ser definido na linha de comandos do
\fBapt\-get\fR
ou no ficheiro de configura\(,c\(~ao do APT
/etc/apt/apt\&.conf\&. Note que isto tem preced\(^encias sobre qualquer prioridade geral que possa definir no ficheiro
/etc/apt/preferences
descrito mais tarde, mas n\(~ao sobre pacotes especificamente imobilizados\&. Por exemplo,
.sp
.if n \{\
.RS 4
.\}
.nf
\fBapt\-get install \-t testing \fR\fB\fIalgum\-pacote\fR\fR
.fi
.if n \{\
.RE
.\}
.sp
.sp
.if n \{\
.RS 4
.\}
.nf
APT::Default\-Release "stable";
.fi
.if n \{\
.RE
.\}
.PP
Se o lan\(,camento destinado foi especificado, ent\(~ao o APT usa o seguinte algoritmo para definir as prioridades das vers\(~oes de um pacote\&. Atribuir:
.PP
priority 1
.RS 4
para as vers\(~oes vindas de arquivos cujos ficheiros
Release
estejam marcados como "NotAutomatic: yes" mas
\fIn\(~ao\fR
como "ButAutomaticUpgrades: yes" como o arquivo
experimental
da Debian, assim como vers\(~oes que n\(~ao estejam faseadas nestes sistemas\&.
.RE
.PP
priority 100
.RS 4
para a vers\(~ao que j\('a est\('a instalada (se alguma) e para as vers\(~oes vindas de arquivos cujos ficheiros
Release
estejam marcados como "NotAutomatic: yes" e "ButAutomaticUpgrades: yes" como o arquivo backports da Debian desde
squeeze\-backports\&.
.RE
.PP
priority 500
.RS 4
para as vers\(~oes que n\(~ao pertencem ao lan\(,camento destinado\&.
.RE
.PP
priority 990
.RS 4
para as vers\(~oes que pertencem ao lan\(,camento destinado\&.
.RE
A mais alta dessas prioridades cuja descri\(,c\(~ao coincide com a vers\(~ao \('e especificada para a vers\(~ao\&.
.PP
Se o lan\(,camento de destino n\(~ao foi especificado, ent\(~ao o APT simplesmente atribui prioridade 100 a todas as vers\(~oes de pacotes instalados e prioridade 500 e todas as vers\(~oes de pacotes n\(~ao instalados, \(`a excep\(,c\(~ao de vers\(~oes que venham de arquivos cujos ficheiros
Release
estejam marcados como "NotAutomatic: yes" \- estas vers\(~oes ficam com prioridade 1 ou prioridade 100 se for marcado adicionalmente como "ButAutomaticUpgrades: yes"\&.
.PP
O APT ent\(~ao aplica as seguintes regras, listadas em ordem de preced\(^encia, para determinar qual vers\(~ao de um pacote deve instalar\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Nunca faz downgrade a menos que uma vers\(~ao dispon\('ivel exceda 1000\&. ("Downgrading" \('e instalar uma vers\(~ao menos recente de um pacote no lugar de uma vers\(~ao mais recente\&. Note que nenhuma das prioridades predefinidas do APT excede 1000; tais altas prioridades s\('o podem ser definidas no ficheiro de prefer\(^encias\&. Note tamb\('em que fazer o downgrade a um pacote pode ser arriscado\&.)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Instala a vers\(~ao de prioridade mais alta\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Se duas ou mais vers\(~oes tiverem a mesma prioridade, instala a mais recente (isto \('e, aquela com o n\('umero de vers\(~ao mais alto)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Se duas ou mais vers\(~oes t\(^em a mesma prioridade e o mesmo n\('umero de vers\(~ao mas ou os pacotes diferem em alguns dos seus metadados ou a op\(,c\(~ao
\-\-reinstall
\('e fornecida, instala a que foi desinstalada\&.
.RE
.PP
Numa situa\(,c\(~ao t\('ipica, a vers\(~ao instalada de um pacote (prioridade 100) n\(~ao \('e t\(~ao recente como uma das vers\(~oes dispon\('iveis nas fontes listadas no ficheiro
\fBsources.list\fR(5)
(prioridade 500 ou 990)\&. Ent\(~ao o pacote ser\('a actualizado quando for executado
\fBapt\-get install \fR\fB\fIalgum\-pacote\fR\fR
ou
\fBapt\-get upgrade\fR\&.
.PP
Mais raramente, a vers\(~ao instalada de um pacote \('e
\fImais\fR
recente que qualquer das outras vers\(~oes dispon\('iveis\&. O pacote n\(~ao ser\('a regredido para uma vers\(~ao inferior quando for executado
\fBapt\-get install \fR\fB\fIalgum\-pacote\fR\fR
ou
\fBapt\-get upgrade\fR\&.
.PP
Por vezes a vers\(~ao instalada de um pacote \('e mais recente que a vers\(~ao pertencente ao lan\(,camento de destino, mas n\(~ao t\(~ao recente que uma vers\(~ao pertencente a alguma outra distribui\(,c\(~ao\&. Tal pacote ser\('a de facto actualizado quando for executado
\fBapt\-get install \fR\fB\fIalgum\-pacote\fR\fR
ou
\fBapt\-get upgrade\fR, porque pelo menos
\fIuma\fR
das vers\(~oes dispon\('iveis tem uma prioridade mais alta que a vers\(~ao instalada\&.
.SS "Actualiza\(,c\(~oes Faseadas"
.PP
O APT compreende um campo chamado
Phased\-Update\-Percentage
que pode ser usado para controlar o lan\(,camento de uma nova vers\(~ao\&. \('E um n\('umero inteiro entre 0 e 100\&.
.PP
A elegibilidade do sistema para uma actualiza\(,c\(~ao faseada \('e determinada ao semear a gera\(,c\(~ao de n\('umero aleat\('orio com o nome do pacote fonte, o n\('umero de vers\(~ao, e /etc/id\-de\-m\('aquina, e depois calcular um inteiro na gama [0, 100]\&. Se este inteiro for maior que
Phased\-Update\-Percentage, a vers\(~ao \('e fixada a 1, e assim mantida retida\&. Caso contr\('ario, aplicam\-se as regras pol\('iticas normais\&.
.PP
No caso de voc\(^e ter v\('arios sistemas em que deseja receber o mesmo conjunto de actualiza\(,c\(~oes, voc\(^e pode definir
APT::Machine\-ID
para um UUID tal que eles todos faseem o mesmo, ou definir
APT::Get::Never\-Include\-Phased\-Updates
ou
APT::Get::Always\-Include\-Phased\-Updates
para verdadeiro de modo a que o APT nunca/sempre considere actualiza\(,c\(~oes faseadas\&.
.SS "O Efeito das Prefer\(^encias do APT"
.PP
O ficheiro de prefer\(^encias do APT permite ao administrador do sistema controlar a atribui\(,c\(~ao de prioridades\&. O ficheiro consiste em um ou mais registos de multi\-linhas separados por linhas vazias\&. Os registos podem ter um ou dois formatos, um formato espec\('ifico e um formato geral\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
O formato espec\('ifico atribui um prioridade (um "Pin\-Priority") a um ou mais pacotes espec\('ificos e vers\(~ao espec\('ifica ou s\('erie de vers\(~oes\&. Por exemplo, o seguinte registo atribui uma alta prioridade a todas as vers\(~oes do pacote
perl
cujo n\('umero de vers\(~ao come\(,ca com "5\&.32"\&. M\('ultiplos pacotes podem ser separados por espa\(,cos\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: perl
Pin: version 5\&.32*
Pin\-Priority: 1001
.fi
.if n \{\
.RE
.\}
.sp
Desde 2\&.9\&.9, voc\(^e tamb\('em pode fixar por uma vers\(~ao de fonte:
.sp
.if n \{\
.RS 4
.\}
.nf
Package: perl
Pin: source\-version 5\&.32*
Pin\-Priority: 1001
.fi
.if n \{\
.RE
.\}
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
O formato geral atribui uma prioridade a todas as vers\(~oes de pacotes numa dada distribui\(,c\(~ao (isto \('e, a todas as vers\(~oes de pacotes que est\(~ao listados num certo ficheiro
Release) ou a todas as vers\(~oes de pacotes vindos de um site de Internet particular, como identificado pelo nome de dom\('inio totalmente qualificado do site\&.
.sp
Esta entrada general\-form no ficheiro de prefer\(^encias do APT aplica\-se apenas a grupos de pacotes\&. Por exemplo, o seguinte registo atribui uma alta prioridade a todas as vers\(~oes de pacotes dispon\('iveis a partir de um site local\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: origin ""
Pin\-Priority: 999
.fi
.if n \{\
.RE
.\}
.sp
Uma nota de aten\(,c\(~ao: a palavra chave usada aqui \('e "origin" que pode ser usada para corresponder a um nome de m\('aquina\&. O seguinte registo ir\('a atribuir uma alta prioridade a todas as vers\(~oes dispon\('iveis do servidor identificadas pelo nome de m\('aquina "ftp\&.de\&.debian\&.org"
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: origin "ftp\&.de\&.debian\&.org"
Pin\-Priority: 999
.fi
.if n \{\
.RE
.\}
.sp
Isto
\fIn\(~ao\fR
deve ser confundido com a Origem de uma distribui\(,c\(~ao como especificada num ficheiro
Release\&. O que representa a etiqueta "Origin:" num ficheiro
Release
n\(~ao \('e um endere\(,co de Internet mas um nome de autor ou marca, tal como "Debian" ou "Ximian"\&.
.sp
O seguinte registo atribui uma baixa prioridade a todas as vers\(~oes de pacotes pertencentes a qualquer distribui\(,c\(~ao cujo nome de Arquivo \('e "unstable"\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: release a=unstable
Pin\-Priority: 50
.fi
.if n \{\
.RE
.\}
.sp
O seguinte registo atribui uma alta prioridade a todas as vers\(~oes de pacotes pertencentes a qualquer distribui\(,c\(~ao cujo nome de c\('odigo \('e "forky"\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: release n=forky
Pin\-Priority: 900
.fi
.if n \{\
.RE
.\}
.sp
O seguinte registo atribui alta prioridade a todas as vers\(~oes de pacotes pertencentes a qualquer lan\(,camento cujo nome de Arquivo \('e "stable" e cujo n\('umero de Vers\(~ao de lan\(,camento \('e "13"\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: release a=stable, v=13
Pin\-Priority: 500
.fi
.if n \{\
.RE
.\}
.RE
.sp
O efeito do operador v\('irgula \('e semelhante a um "e" l\('ogico\&. Todas as condi\(,c\(~oes t\(^em de ser satisfeitas para o pin corresponder\&. H\('a uma excep\(,c\(~ao: Para qualquer tipo de condi\(,c\(~ao (tal como duas condi\(,c\(~oes "a"), apenas a \('ultima de tais condi\(,c\(~oes \('e verificada\&.
.SS "Corresponder pacotes no campo Package"
.PP
O campo
Package
especifica o pacote ao qual uma prioridade de fixa\(,c\(~ao \('e aplicada\&. O campo pode ou conter um nome de pacote bin\('ario, um nome de pacote fonte (prefixado com "src:"), uma express\(~ao
\fBglob\fR(7)
ou uma express\(~ao regular (dentro de barras)\&. Podem ser listados v\('arios nomes de pacotes, express\(~oes
\fBglob\fR(7)
e express\(~oes regulares separados por espa\(,cos o que neste caso o registo ir\('a corresponder a qualquer um dos pacotes correspondentes\&.
.PP
Por predefini\(,c\(~ao, apenas pacotes da arquitectura nativa s\(~ao correspondidos\&. Para corresponder pacotes bin\('arios de qualquer arquitectura, adicione o sufixo
:any
ao nome do pacote\&. Voc\(^e pode tamb\('em limitar a correspond\(^encia a uma arquitectura espec\('ifica ao acrescentar o nome da arquitectura ao nome do pacote, separado pelo caractere dos dois pontos\&.
.PP
Por exemplo, o seguinte exemplo usa uma express\(~ao glob e uma express\(~ao regular para designar a prioridade 500 a todos os pacotes de experimental onde o nome come\(,ca com gnome (como uma express\(~ao tipo
\fBglob\fR(7)) ou cont\('em a palavra kde (como uma express\(~ao regular extensa do POSIX rodeada de barras)\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: gnome* /kde/
Pin: release a=experimental
Pin\-Priority: 500
.fi
.if n \{\
.RE
.\}
.PP
A regra para essas express\(~oes \('e que elas podem ocorrer em qualquer s\('itio onde uma string pode ocorrer\&. Assim, o seguinte pin designa a prioridade 990 a todos os pacotes de um lan\(,camento que come\(,ca com plucky\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: release n=plucky*
Pin\-Priority: 990
.fi
.if n \{\
.RE
.\}
.PP
Se ocorrer uma express\(~ao regular num campo
Package, o comportamento \('e o mesmo como se esta express\(~ao regular fosse substitu\('ida por uma lista de todos os nomes de pacotes a que ela coincide\&. No entanto n\(~ao est\('a decidido se isto ir\('a mudar no futuro; assim voc\(^e deve sempre listar os pins "wild\-card" primeiro, para que depois os pins espec\('ificos os sobreporem\&. O padr\(~ao "*" num campo Package n\(~ao \('e considerado uma express\(~ao
\fBglob\fR(7)
em si pr\('oprio\&.
.PP
Para fixar todos os bin\('arios produzidos pelo pacote fonte do apt desta vers\(~ao do APT para 990, voc\(^e pode fazer:
.sp
.if n \{\
.RS 4
.\}
.nf
Package: src:apt
Pin: version 3\&.0\&.0
Pin\-Priority: 990
.fi
.if n \{\
.RE
.\}
.PP
A fixa\(,c\(~ao de pacote fonte pode ser combinada com express\(~oes regulares e padr\(~oes glob, e tamb\('em podem tomar uma arquitectura bin\('aria\&.
.PP
Por exemplo, vamos fixar todos os bin\('arios para todas as arquitecturas produzidas por qualquer pacote fonte que contenha apt no seu nome para 990:
.sp
.if n \{\
.RS 4
.\}
.nf
Package: src:*apt*:any
Pin: version *
Pin\-Priority: 990
.fi
.if n \{\
.RE
.\}
.PP
O sufixo
:any
certifica a selec\(,c\(~ao de pacotes bin\('arios de qualquer arquitectura\&. Sem este sufixo, o apt assume implicitamente o sufixo
:native
o qual ir\('a apenas selecionar pacotes da arquitectura nativa\&.
.SS "Como o APT Interpreta as Prioridades"
.PP
As prioridades (P) atribu\('idas no ficheiro de prefer\(^encias do APT t\(^em de ser inteiros positivos ou negativos\&. Elas s\(~ao interpretadas como o seguinte (falando grosso):
.PP
P >= 1000
.RS 4
provoca que uma vers\(~ao seja instalada mesmo que isso constitua uma redu\(,c\(~ao na vers\(~ao do pacote (downgrade)
.RE
.PP
990 <= P < 1000
.RS 4
provoca que uma vers\(~ao seja instalada mesmo que n\(~ao venha do lan\(,camento de destino, a menos que a vers\(~ao instalada seja mais recente
.RE
.PP
500 <= P < 990
.RS 4
provoca que uma vers\(~ao seja instalada a menos que exista uma vers\(~ao dispon\('ivel pertencente ao lan\(,camento de destino ou se a vers\(~ao instalada \('e mais recente
.RE
.PP
100 <= P < 500
.RS 4
provoca que uma vers\(~ao seja instalada a menos que exista uma vers\(~ao dispon\('ivel pertencente a outra distribui\(,c\(~ao ou se a vers\(~ao instalada \('e mais recente
.RE
.PP
0 < P < 100
.RS 4
provoca que uma vers\(~ao seja instalada apenas se n\(~ao existir nenhuma vers\(~ao instalada do pacote
.RE
.PP
P < 0
.RS 4
previne a instala\(,c\(~ao da vers\(~ao
.RE
.PP
P = 0
.RS 4
tem comportamento n\(~ao definido, n\(~ao o utilize\&.
.RE
.PP
O primeiro registo de forma\-especifica que corresponda a uma vers\(~ao de pacote dispon\('ivel determina a prioridade da vers\(~ao do pacote\&. Falhando isso, a prioridade do pacote \('e definida como o m\('aximo de todas as prioridades definidas por registos de forma\-gen\('erica que correspondam \(`a vers\(~ao\&. Os registos definidos que usem padr\(~oes diferentes de "*" no campo Pin s\(~ao tratados como registos de forma\-especifica\&.
.PP
Por exemplo, suponha que o ficheiro de prefer\(^encias do APT cont\('em os tr\(^es registos apresentados atr\('as:
.sp
.if n \{\
.RS 4
.\}
.nf
Package: perl
Pin: version 5\&.32*
Pin\-Priority: 1001
Package: *
Pin: origin ""
Pin\-Priority: 999
Package: *
Pin: release unstable
Pin\-Priority: 50
.fi
.if n \{\
.RE
.\}
.PP
Ent\(~ao:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Ser\('a instalada a vers\(~ao mais recente dispon\('ivel do pacote
perl, desde que o n\('umero da vers\(~ao comece com "5\&.32"\&. Se
\fIqualquer\fR
vers\(~ao 5\&.32* do
perl
estiver dispon\('ivel e a vers\(~ao instalada for 5\&.36*, ent\(~ao ser\('a feito um downgrade ao
perl\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Uma vers\(~ao de qualquer pacote que n\(~ao seja o
perl
e que esteja dispon\('ivel a partir do sistema local tem prioridade sobre outras vers\(~oes, mesmo vers\(~oes que pertencem ao lan\(,camento de destino\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Uma vers\(~ao de um pacote cuja origem n\(~ao \('e o sistema local mas qualquer outro site listado em
\fBsources.list\fR(5)
e o qual pertence a uma distribui\(,c\(~ao
unstable
apenas \('e instalado se for selecionado para instala\(,c\(~ao e se nenhuma vers\(~ao do pacote j\('a estiver instalada\&.
.RE
.sp
.SS "Determina\(,c\(~ao da Vers\(~ao do Pacote e Propriedades da Distribui\(,c\(~ao"
.PP
As localiza\(,c\(~oes listadas no ficheiro
\fBsources.list\fR(5)
devem fornecer os ficheiros
Packages
e
Release
para descrever os pacotes dispon\('iveis nessa localiza\(,c\(~ao\&.
.PP
O ficheiro
Packages
\('e normalmente encontrado no direct\('orio
\&.\&.\&./dists/\fInome\-da\-distribui\(,c\(~ao\fR/\fIcomponente\fR/\fIarquitectura\fR: por exemplo,
\&.\&.\&./dists/stable/main/binary\-i386/Packages\&. Consiste numa s\('erie de registos de v\('arias linhas, um para cada pacote dispon\('ivel nesse direct\('orio\&. Apenas duas linhas em cada registo s\(~ao relevantes para definir prioridades do APT:
.PP
a linha Package:
.RS 4
fornece o nome do pacote
.RE
.PP
a linha Version:
.RS 4
fornece o n\('umero de vers\(~ao do pacote nomeado
.RE
.PP
O ficheiro
Release
fica normalmente no direct\('orio
\&.\&.\&./dists/\fInome da distribui\(,c\(~ao\fR: por exemplo,
\&.\&.\&./dists/stable/Release, ou
\&.\&.\&./dists/trixie/Release\&. Consiste num \('unico registo de v\('arias linhas que se aplica a
\fItodos\fR
os pacotes na \('arvore de direct\('orios sob o seu pai\&. Ao contr\('ario do ficheiro
Packages, quase todas as linhas num ficheiro
Release
s\(~ao relevantes para definir as prioridades do APT:
.PP
a linha Archive: ou Suite:
.RS 4
nomeia o arquivo ao qual pertencem todos os pacotes na \('arvore de direct\('orios\&. Por exemplo, a linha "Archive: stable" ou "Suite: stable" especifica que todos os pacotes na \('arvore de direct\('orios abaixo do pai do ficheiro
Release
est\(~ao num arquivo
stable\&. Especificar este valor no ficheiro de prefer\(^encias do APT ir\('a requerer a linha:
.sp
.if n \{\
.RS 4
.\}
.nf
Pin: release a=stable
.fi
.if n \{\
.RE
.\}
.RE
.PP
a linha Codename:
.RS 4
nomeia o nome de c\('odigo a qual todos os pacotes na \('arvore de direct\('orios pertencem\&. Por exemplo, a linha "Codename: forky" especifica que todos os pacotes na \('arvore de direct\('orios abaixo do pai do ficheiro
Release
pertencem a uma vers\(~ao chamada
forky\&. Especificar este valor no ficheiro de prefer\(^encias do APT requer a linha:
.sp
.if n \{\
.RS 4
.\}
.nf
Pin: release n=forky
.fi
.if n \{\
.RE
.\}
.RE
.PP
a linha Version:
.RS 4
nomeia a vers\(~ao de lan\(,camento\&. Por exemplo, os pacotes na \('arvore podem pertencer ao lan\(,camento de Debian vers\(~ao 13\&. Note que n\(~ao h\('a normalmente um n\('umero de vers\(~ao para as distribui\(,c\(~oes
testing
e
unstable\&. porque ainda n\(~ao foram lan\(,cadas\&. Especificar isto no ficheiro de prefer\(^encias do APT ir\('a requerer uma das seguintes linhas:
.sp
.if n \{\
.RS 4
.\}
.nf
Pin: release v=13
Pin: release a=stable, v=13
Pin: release 13
.fi
.if n \{\
.RE
.\}
.RE
.PP
a linha Component:
.RS 4
nomeia o componente de licenciamento associado com os pacotes na \('arvore de direct\('orios do ficheiro
Release\&. Por exemplo, a linha "Component: main" especifica que todos os pacotes na \('arvore de direct\('orios s\(~ao do componente
main, o que implica que est\(~ao licenciados sob os termos listados em Debian Free Software Guidelines\&. Especificar este componente no ficheiro de prefer\(^encias do APT ir\('a requerer a linha:
.sp
.if n \{\
.RS 4
.\}
.nf
Pin: release c=main
.fi
.if n \{\
.RE
.\}
.RE
.PP
a linha Origin:
.RS 4
nomeia a originador dos pacotes na \('arvore de direct\('orios do ficheiro
Release\&. Geralmente, isto \('e
Debian\&. Especificar esta etiqueta no ficheiro de prefer\(^encias do APT ir\('a requerer a linha:
.sp
.if n \{\
.RS 4
.\}
.nf
Pin: release o=Debian
.fi
.if n \{\
.RE
.\}
.RE
.PP
a linha Label:
.RS 4
nomeia a etiqueta dos pacotes na \('arvore de direct\('orios do ficheiro
Release\&. Geralmente, isto \('e
Debian\&. Especificar esta etiqueta no ficheiro de prefer\(^encias do APT ir\('a requerer a linha:
.sp
.if n \{\
.RS 4
.\}
.nf
Pin: release l=Debian
.fi
.if n \{\
.RE
.\}
.RE
.PP
Todos os ficheiros
Packages
e
Release
obtidos das localiza\(,c\(~oes listadas no ficheiro
\fBsources.list\fR(5)
s\(~ao armazenados no direct\('orio
/var/lib/apt/lists, ou no ficheiro nomeado pela vari\('avel
Dir::State::Lists
no ficheiro
apt\&.conf\&. Por exemplo, o ficheiro
debian\&.lcs\&.mit\&.edu_debian_dists_unstable_contrib_binary\-i386_Release
cont\('em o ficheiro
Release
obtido do site
debian\&.lcs\&.mit\&.edu
para ficheiros da arquitectura
binary\-i386
do componente
contrib
da distribui\(,c\(~ao
unstable\&.
.SS "Linhas Opcionais num Registo de Prefer\(^encias do APT"
.PP
Cada registo no ficheiro de prefer\(^encias do APT por come\(,car opcionalmente com uma ou mais linhas come\(,cadas com a palavra
Explanation:\&. Isto disponibiliza um espa\(,co para coment\('arios\&.
.SH "EXEMPLOS"
.SS "Acompanhando Stable"
.PP
O seguinte ficheiro de prefer\(^encias do APT ir\('a fazer com que o APT atribua uma prioridade mais alta que o predefinido (500) a todos as vers\(~oes de pacotes que pertencem a uma distribui\(,c\(~ao
stable
e uma prioridade proibitivamente baixa a vers\(~oes de pacotes pertencentes a outras distribui\(,c\(~oes
Debian\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Explica\(,c\(~ao: Desinstala ou n\(~ao instala quaisquer vers\(~oes de pacotes originais
Explica\(,c\(~ao: Debian para al\('em daquelas da distribui\(,c\(~ao stable
Package: *
Pin: release a=stable
Pin\-Priority: 900
Package: *
Pin: release o=Debian
Pin\-Priority: \-10
.fi
.if n \{\
.RE
.\}
.PP
Com um ficheiro
\fBsources.list\fR(5)
apropriado e o ficheiro de prefer\(^encias acima, qualquer dos seguintes comandos ir\('a fazer com que o APT actualize para as vers\(~oes
stable
mais recentes\&.
.sp
.if n \{\
.RS 4
.\}
.nf
apt\-get install \fInome\-do\-pacote\fR
apt\-get upgrade
apt\-get dist\-upgrade
.fi
.if n \{\
.RE
.\}
.PP
O seguinte comandos ir\('a fazer com que o APT actualize o pacote especificado para a vers\(~ao mais recente da distribui\(,c\(~ao
testing; o pacote n\(~ao ser\('a actualizado de novo a menos que seja executado este comando outra vez\&.
.sp
.if n \{\
.RS 4
.\}
.nf
apt\-get install \fIpacote\fR/testing
.fi
.if n \{\
.RE
.\}
.sp
.SS "Acompanhando Testing ou Unstable"
.PP
O seguinte ficheiro de prefer\(^encias do APT ir\('a fazer com que o APT atribua uma prioridade alta a vers\(~oes de pacotes da distribui\(,c\(~ao
testing, uma prioridade mais baixa a vers\(~oes de pacotes da distribui\(,c\(~ao
unstable, e uma prioridade proibitivamente baixa a vers\(~oes de pacotes de outras distribui\(,c\(~oes
Debian\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Package: *
Pin: release a=testing
Pin\-Priority: 900
Package: *
Pin: release a=unstable
Pin\-Priority: 800
Package: *
Pin: release o=Debian
Pin\-Priority: \-10
.fi
.if n \{\
.RE
.\}
.PP
Com um ficheiro
\fBsources.list\fR(5)
apropriado e o ficheiro de prefer\(^encias acima, qualquer dos seguintes comandos ir\('a fazer com que o APT actualize para as vers\(~oes
testing
mais recentes\&.
.sp
.if n \{\
.RS 4
.\}
.nf
apt\-get install \fInome\-do\-pacote\fR
apt\-get upgrade
apt\-get dist\-upgrade
.fi
.if n \{\
.RE
.\}
.PP
O comando seguinte ir\('a fazer com que o APT actualize o pacote especificado para a vers\(~ao mais recente da distribui\(,c\(~ao
unstable\&. Posteriormente, o
\fBapt\-get upgrade\fR
ir\('a actualizar o pacote para a vers\(~ao
testing
mais recente se essa for mais recente que a vers\(~ao instalada, caso contr\('ario, para a vers\(~ao
unstable
mais recente se essa for mais recente que a vers\(~ao instalada\&.
.sp
.if n \{\
.RS 4
.\}
.nf
apt\-get install \fIpacote\fR/unstable
.fi
.if n \{\
.RE
.\}
.sp
.SS "Acompanhando a evolu\(,c\(~ao de um nome de c\('odigo de lan\(,camento"
.PP
O seguinte ficheiro de prefer\(^encias do APT ir\('a fazer com que o APT atribua uma prioridade mais alta que a predefinida (500) a todas as vers\(~oes de pacotes pertencentes a um nome de c\('odigo especificado de uma distribui\(,c\(~ao com uma prioridade proibitivamente baixa a vers\(~oes de pacotes pertencentes a outras distribui\(,c\(~oes, nomes de c\('odigo ou arquivos
Debian\&. Note que com estas prefer\(^encias o APT ir\('a seguir a migra\(,c\(~ao de um lan\(,camento a partir do arquivo
testing
para
stable
e mais tarde
oldstable\&. Se voc\(^e que seguir por exemplo o progresso em
testing
n\(~ao obstante as altera\(,c\(~oes do nome de c\('odigo, voc\(^e deve usar as configura\(,c\(~oes exemplo acima\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Explica\(,c\(~ao: Desinstala ou n\(~ao instala nenhumas vers\(~oes de pacotes originais Debian
Explica\(,c\(~ao: para al\('em daquelas da distribui\(,c\(~ao com nome de c\('odigo forky ou sid
Package: *
Pin: release n=forky
Pin\-Priority: 900
Explica\(,c\(~ao: Debian unstable tem sempre o nome de c\('odigo sid
Package: *
Pin: release a=sid
Pin\-Priority: 800
Package: *
Pin: release o=Debian
Pin\-Priority: \-10
.fi
.if n \{\
.RE
.\}
.PP
Com um ficheiro
\fBsources.list\fR(5)
apropriado e o ficheiro de prefer\(^encias acima, qualquer dos seguintes comandos far\('a com que o APT actualize para a vers\(~ao mais recente no lan\(,camento com nome de c\('odigo
forky\&.
.sp
.if n \{\
.RS 4
.\}
.nf
apt\-get install \fInome\-do\-pacote\fR
apt\-get upgrade
apt\-get dist\-upgrade
.fi
.if n \{\
.RE
.\}
.PP
O seguinte comando ir\('a fazer com que o APT actualize o pacote especificado para a vers\(~ao mais recente da distribui\(,c\(~ao
sid\&. Posteriormente,
\fBapt\-get upgrade\fR
ir\('a actualizar o pacote para a vers\(~ao
forky
mais recente se essa for mais recente que a vers\(~ao instalada, caso contr\('ario, para a vers\(~ao
sid
mais recente se essa for mais recente que a vers\(~ao instalada\&.
.sp
.if n \{\
.RS 4
.\}
.nf
apt\-get install \fIpacote\fR/sid
.fi
.if n \{\
.RE
.\}
.sp
.SH "FICHEIROS"
.PP
/etc/apt/preferences
.RS 4
Ficheiro de prefer\(^encias de vers\(~ao\&. Isto \('e onde voc\(^e deve especificar "pinning", isto \('e, uma prefer\(^encia para obter certos pacotes A partir de uma fonte separada ou a partir duma vers\(~ao diferente de uma distribui\(,c\(~ao\&. Item de Configura\(,c\(~ao:
Dir::Etc::Preferences\&.
.RE
.PP
/etc/apt/preferences\&.d/
.RS 4
Ficheiros fragmentados para as prefer\(^encias de vers\(~ao\&. Item de Configura\(,c\(~ao:
Dir::Etc::PreferencesParts\&.
.RE
.SH "VEJA TAMB\('EM"
.PP
\fBapt-get\fR(8)
\fBapt-cache\fR(8)
\fBapt.conf\fR(5)
\fBsources.list\fR(5)
.SH "BUGS"
.PP
\m[blue]\fBp\('agina de bugs do APT\fR\m[]\&\s-2\u[1]\d\s+2\&. Se deseja reportar um bug no APT, por favor veja
/usr/share/doc/debian/bug\-reporting\&.txt
ou o comando
\fBreportbug\fR(1)\&.
.SH "TRADU\(,C\(~AO"
.PP
A tradu\(,c\(~ao Portuguesa foi feita por Am\('erico Monteiro
de 2009 a 2012\&. A tradu\(,c\(~ao foi revista pela equipa de tradu\(,c\(~oes portuguesas da Debian
\&.
.PP
Note que este documento traduzido pode conter partes n\(~ao traduzidas\&. Isto \('e feito propositadamente, para evitar perdas de conte\('udo quando a tradu\(,c\(~ao est\('a atrasada relativamente ao conte\('udo original\&.
.SH "AUTOR"
.PP
\fBEquipa do APT\fR
.RS 4
.RE
.SH "NOTAS"
.IP " 1." 4
p\('agina de bugs do APT
.RS 4
\%https://bugs.debian.org/src:apt
.RE