<!-- -*- mode: sgml; mode: fold -*- --> <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!ENTITY % aptent SYSTEM "apt.ent.pt_BR"> %aptent; ]> <refentry lang="pt_BR"> &apt-docinfo; <refmeta> <refentrytitle>apt_preferences</> <manvolnum>5</> </refmeta> <!-- Man page title --> <refnamediv> <refname>apt_preferences</> <refpurpose>Arquivo de controle de prefer�ncias para o APT</> </refnamediv> <RefSect1> <Title>Descri��o</Title> <para> O arquivo de prefer�ncias do APT <filename>/etc/apt/preferences</> pode ser usado para controlar quais vers�es de pacotes ser�o selecionadas para instala��o. </para> <para> Diversas vers�es de um pacote podem estar dispon�veis para instala��o quando o arquivo &sources-list; cont�m refer�ncias para mais de uma distribui��o (por exemplo, <literal>stable</literal> e <literal>testing</literal>). O APT atribui uma prioridade para cada vers�o que esteja dispon�vel. Sujeito a obst�culos de depend�ncias, o <command>apt-get</command> seleciona para instala��o a vers�o com a maior prioridade. O arquivo de prefer�ncias do APT sobrepoe as prioridades que o APT atribui a cada vers�o de pacote por padr�o, dando assim ao usu�rio controle sobre qual vers�o do pacote � selecionada para instala��o. </para> <para> Diversas inst�ncias da mesma vers�o de um pacote pode estar dispon�veis quando o arquivo &sources-list; cont�m refer�ncias a mais de uma fonte. Nesse caso, o <command>apt-get</command> faz o download da inst�ncia listada antes no arquivo &sources-list; . O arquivo de prefer�ncias do APT n�o afeta a escolha da inst�ncia. </para> <RefSect2><Title>Atribui��es de Prioridade Padr�o do APT</> <para> Caso n�o exista um arquivo de prefer�ncias ou caso n�o exista uma entrada no arquivo que se aplique a uma inst�ncia em particular, a prioridade atribu�da a essa inst�ncia � a prioridade da distribui��o para a qual a inst�ncia pertence. � poss�vel selecionar uma distribui��o, conhecida como "a vers�o alvo" (the target release), que recebe uma prioridade maior do que as outras distribui��es. A vers�o alvo pode ser definida na linha de comando do <command>apt-get</command> ou no arquivo de configura��o do APT <filename>/etc/apt/apt.conf</filename>. Por exemplo, <programlisting> <command>apt-get install -t testing <replaceable>algum-pacote</replaceable></command> </programlisting> <programlisting> APT::Default-Release "stable"; </programlisting> </para> <para> Caso uma vers�o alvo tenha sido especificada o APT usar� o seguinte algoritmo para definir as prioridades das inst�ncias de um pacote. Atribuir� : <variablelist> <varlistentry> <term>prioridade 100</term> <listitem><simpara>para a inst�ncia que j� esteja instalada (caso exista).</simpara></listitem> </varlistentry> <varlistentry> <term>prioridade 500</term> <listitem><simpara>para as inst�ncias que n�o est� instaladas e que n�o pertencem a vers�o alvo.</simpara></listitem> </varlistentry> <varlistentry> <term>prioridade 990</term> <listitem><simpara>para as inst�ncias que n�o estejam instaladas e perten�am a vers�o alvo.</simpara></listitem> </varlistentry> </variablelist> </para> <para> Caso nenhuma vers�o alvo tenha sido especificada, o APT simplesmente ir� atribuir a prioridade 100 para todas as inst�ncias de pacotes instaladas e a prioridade 500 para todas as inst�ncias de pacotes n�o instaladas. </para> <para> O APT aplica as regras a seguir, listadas em ordem de preced�ncia, para determinar qual inst�ncia de um pacote instalar. <itemizedlist> <listitem><simpara>Nunca faz um downgrade a menos que a prioridade de uma inst�ncia dispon�vel exceda 1000. (Fazer um "downgrade" � instalar uma vers�o menos recente de um pacote no lugar de uma vers�o mais recente. Note que nenhuma das prioridades padr�o do APT excede 1000; prioridades altas como essa podem ser definidas somente no arquivo de prefer�ncias. Note tamb�m que fazer um "downgrade" pode ser arriscado.)</simpara></listitem> <listitem><simpara>Instala a inst�ncia de prioridade mais alta.</simpara></listitem> <listitem><simpara>Caso duas ou mais inst�ncias possuam a mesma prioridade, instala a inst�ncia mais recente (ou seja, aquela com o maior n�mero de vers�o).</simpara></listitem> <listitem><simpara>Caso duas ou mais inst�ncias possuam a mesma prioridade e n�mero de vers�o mas os pacotes sejam diferentes em alguns de seus metadados ou a op��o <literal/--reinstall/ seja fornecida, instala aquela desinstalada.</simpara></listitem> </itemizedlist> </para> <para> Em uma situa��o t�pica, a inst�ncia instalada de um pacote (prioridade 100) n�o � t�o recente quanto uma das vers�es dispon�veis nas fontes listadas no arquivo &sources-list; (prioridade 500 ou 990). Ent�o o pacote ser� atualizado quando os comandos <command>apt-get install <replaceable>algum-pacote</replaceable></command> ou <command>apt-get dist-upgrade</command> forem executados. </para> <para> Mais raramente, a vers�o instalada de um pacote � <emphasis/mais/ recente do que qualquer uma das outras vers�es dispon�veis. O dowgrade do pacote n�o ser� feito quando os comandos <command>apt-get install <replaceable>algum-pacote</replaceable></command> ou <command>apt-get upgrade</command> forem executados. </para> <para> Algumas vezes a vers�o instalada de um pacote � mais recente que a vers�o que pertence a vers�o alvo, mas n�o t�o recente quanto a vers�o que pertence a alguma outra distribui��o. Um pacote como esse ser� na verdade atualizado quando os comandos <command>apt-get install <replaceable>algum-pacote</replaceable></command> ou <command>apt-get upgrade</command> forem executados, devido a pelo menos <emphasis/uma/ das vers�es dispon�veis possuir uma prioridade maior do que a vers�o instalada. </para> </RefSect2> <RefSect2><Title>O Efeito das Prefer�ncias do APT</> <para> O arquivo de prefer�ncias do APT permite ao administrador do sistema personalizar prioridades. O arquivo consiste de um ou mais registros de m�ltiplas linhas separados por linhas em branco. Registros podem possuir uma das duas formas, uma forma espec�fica e uma forma geral. <itemizedlist> <listitem> <simpara> A forma espec�fica atribui uma uma prioridade (uma "Pin-Priority") para um pacote e vers�o ou faixa de vers�o especificados. Por exemplo, o registro a seguir atribui uma prioridade alta para todas as vers�es do pacote <filename/perl/ os quais tenham seus n�meros de vers�o iniciando com "<literal/5.8/". </simpara> <programlisting> Package: perl Pin: version 5.8* Pin-Priority: 1001 </programlisting> </listitem> <listitem><simpara> O forma geral atribui uma prioridade para todas as vers�es de pacotes em uma dada distribui��o (isto �, para toda as vers�es de pacotes que estejam em um certo arquivo <filename/Release/) ou para todas as vers�es de pacotes que provenientes de um site Internet em particular, como identificado pelo nome de dom�nio totalmente qualificado do site Internet. </simpara> <simpara> Essa entrada de forma geral no arquivo de prefer�ncias do APT aplica-se somente a grupos de pacotes. Por exemplo, o registro a seguir faz com que o APT atribua uma prioridade alta para todas as vers�es de pacotes dispon�veis no site local. </simpara> <programlisting> Package: * Pin: origin "" Pin-Priority: 999 </programlisting> <simpara> Uma nota de aviso : a palavra-chave usada aqui � "<literal/origin/". Esta palavra n�o deve ser confundida com a origem ("Origin:") de uma distribui��o como especificado em um arquivo <filename/Release/. O que segue a tag "Origin:" em um arquivo <filename/Release/ n�o � um endere�o de site Internet mas sim nome de autor ou distribuidor (vendor), como "Debian" ou "Ximian". </simpara> <simpara> O registro a seguir atribui uma prioridade baixa para todas as vers�es de pacote que perten�am a qualquer distribui��o cujo nome do Reposit�rio seja "<literal/unstable/". </simpara> <programlisting> Package: * Pin: release a=unstable Pin-Priority: 50 </programlisting> <simpara> O registro a seguir atribui uma prioridade alta para todas as vers�es de pacotes que perten�am a qualquer vers�o cujo nome do Reposit�rio seja "<literal/stable/" e cujo n�mero de vers�o seja "<literal/3.0/". </simpara> <programlisting> Package: * Pin: release a=unstable, v=3.0 Pin-Priority: 50 </programlisting> </listitem> </itemizedlist> </para> </RefSect2> <RefSect2> <Title>Como o APT Interpreta Prioridades</Title> <para> Prioridades (P) atribu�das no arquivo de prefer�ncias do APT devem ser n�meros inteiros positivos ou negativos. Eles s�o interpretados como a seguir (a grosso modo): <variablelist> <varlistentry> <term>P > 1000</term> <listitem><simpara>faz com que uma inst�ncia seja instalada mesmo caso isso constitua um dowgrade do pacote</simpara></listitem> </varlistentry> <varlistentry> <term>990 < P <=1000</term> <listitem><simpara>faz com que uma vers�o seja instalada mesmo caso a mesma n�o venha de uma vers�o alvo, a menos que a vers�o instalada seja mais recente</simpara></listitem> </varlistentry> <varlistentry> <term>500 < P <=990</term> <listitem><simpara>faz com que uma vers�o seja instalada a menos que exista uma vers�o dispon�vel pertencente a vers�o alvo ou a vers�o instalada seja mais recente</simpara></listitem> </varlistentry> <varlistentry> <term>100 < P <=500</term> <listitem><simpara>faz com que uma vers�o seja instalada a menos que exista uma vers�o dispon�vel pertencente a alguma outra distribui��o ou a vers�o instalada seja mais recente</simpara></listitem> <varlistentry> <term>0 <= P <=100</term> <listitem><simpara>faz com que uma vers�o seja instalada somente caso n�o exista uma vers�o instalada do pacote</simpara></listitem> </varlistentry> <varlistentry> <term>P < 0</term> <listitem><simpara>impede a vers�o de ser instalada</simpara></listitem> </varlistentry> </variablelist> </para> <para> Caso um dos registro de forma espec�fica descritos acima case (match) com uma vers�o dispon�vel do pacote ent�o o primeiro desses registros encontrados determinar� a prioridade da vers�o do pacote. Na falha desse cen�rio, caso quaisquer registros de forma gen�rica casem (match) com uma vers�o do pacote dispon�vel ent�o o primeiro desses registros encontrado determinar� a prioridade da vers�o do pacote. </para> <para> Por exemplo, suponha que o arquivo de prefer�ncias do APT contenha os tr�s registros apresentados anteriormente : <programlisting> Package: perl Pin: version 5.8* Pin-Priority: 1001 Package: * Pin: origin "" Pin-Priority: 999 Package: * Pin: release unstable Pin-Priority: 50 </programlisting> Ent�o : <itemizedlist> <listitem><simpara>A vers�o mais recente dispon�vel do pacote <literal/perl/ ser� instalado, contanto que esse n�mero de vers�o da vers�o inicie com "<literal/5.8/". Caso <emphasis/qualquer/ vers�o 5.8* de <literal/perl/ esteja dispon�vel e a vers�o instalada seja 5.9*, ser� feito um downgrade do <literal/perl/. </simpara></listitem> <listitem><simpara>Uma vers�o de qualquer pacote diferente de <literal/perl/ que esteja dispon�vel no sistema local possui prioridade sobre outras vers�es, mesmo vers�es pertencentes a vers�o alvo. </simpara></listitem> <listitem><simpara>Uma vers�o de um pacote cuja origem n�o seja o sistema local mas sim algum outro site listado no arquivo &sources-list; e que perten�a a uma distribui��o <literal/unstable/ � instalada somente caso a mesma seja selecionada para instala��o e nenhuma vers�o do pacote j� esteja instalada. </simpara></listitem> </itemizedlist> </para> </RefSect2> <RefSect2> <Title>Determina��o da Vers�o do Pacote e Propriedades da Distribui��o</Title> <para> As localidades listadas em um arquivo &sources-list; devem fornecer arquivos <filename>Packages</filename> e <filename>Release</filename> para descrever os pacotes dispon�veis nessas localidades. </para> <para> O arquivo <filename>Packages</filename> � normalmente encontrado no diret�rio <filename>.../dists/<replaceable>nome-distribui��o</replaceable>/<replaceable>componente</replaceable>/<replaceable>arquitetura</replaceable></filename> : por exemplo, <filename>.../dists/stable/main/binary-i386/Packages</filename>. O arquivo consiste de uma s�rie de registros de m�ltiplas linhas, uma para cada pacote dispon�vel no diret�rio. Somente duas linhas em cada registro s�o relevantes para definir prioridades do APT : <variablelist> <varlistentry> <term>a linha <literal/Package:/</term> <listitem><simpara>informa o nome do pacote</simpara></listitem> </varlistentry> <varlistentry> <term>a linha <literal/Version:/</term> <listitem><simpara>informa o n�mero de vers�o do pacote</simpara></listitem> </varlistentry> </variablelist> </para> <para> O arquivo <filename>Release</filename> � normalmente encontrado no diret�rio <filename>.../dists/<replaceable>nome-distribui��o</replaceable></filename> : por exemplo, <filename>.../dists/stable/Release</filename>, ou <filename>.../dists/woody/Release</filename>. O arquivo consiste de um registro de m�ltiplas linhas o qual se aplica a <emphasis/todos/ os pacotes na �rvore de diret�rios abaixo de seu diret�rio pai. Diferente do arquivo <filename/Packages/, quase todas as linhas em um arquivo <filename/Release/ s�o relevantes para a defini��o de prioridades do APT : <variablelist> <varlistentry> <term>a linha <literal/Archive:/</term> <listitem><simpara>d� nome ao reposit�rio para o qual todos os pacotes na �rvore de diret�rio pertencem. Por exemplo, a linha "Archive: stable" especifica que todos os pacotes na �rvore de diret�rio abaixo do diret�rio pai do arquivo <filename/Release/ est�o no resposit�rio <literal/stable/. Especificar esse valor no arquivo de prefer�ncias do APT iria requerer a linha : </simpara> <programlisting> Pin: release a=stable </programlisting> </listitem> </varlistentry> <varlistentry> <term>a linha <literal/Version:/</term> <listitem><simpara>d� nome a vers�o da distribui��o. Por exemplo, os pacote na �rvore podem pertencer a distribui��o Debian GNU/Linux vers�o 3.0. Note que normalmente n�o existe n�mero de vers�o para as distribui��es <literal/testing/ e <literal/unstable/ devido as mesmas n�o terem sido lan�adas ainda. Especificar isso no arquivo de prefer�ncias do APT iria requerer uma das linhas a seguir. </simpara> <programlisting> Pin: release v=3.0 Pin: release a=stable v=3.0 Pin: release 3.0 </programlisting> </listitem> </varlistentry> <varlistentry> <term>a linha <literal/Component:/</term> <listitem><simpara>d� nome ao componente de licenciamento associado com os pacotes na �rvore de diret�rio do arquivo <filename/Release/. Por exemplo, a linha "Component: main" especifica que todos os pacotes na �rvore de diret�rio s�o do componente <literal/main/, o que significa que as mesmas est�o licenciadas sob os termos da Linhas Guias Debian para o Software Livre (a DFSG). Especificar esse componente no arquivo de prefer�ncias do APT iria requerer a linha : </simpara> <programlisting> Pin: release c=main </programlisting> </listitem> </varlistentry> <varlistentry> <term>a linha <literal/Origin:/</term> <listitem><simpara>d� nome ao produtor dos pacotes na �rvore de diret�rio do arquivo <filename/Release/. O mais comum � esse valor ser <literal/Debian/. Especificar essa origem no arquivo de prefer�ncias do APT iria requerer a linha : </simpara> <programlisting> Pin: release o=Debian </programlisting> </listitem> </varlistentry> <varlistentry> <term>a linha <literal/Label:/</term> <listitem><simpara>d� nome ao r�tulo (label) dos pacotes na �rvore de diret�rio. O mais comum � esse valor ser <literal/Debian/. Especificar esse r�tulo (label) no arquivo de prefer�ncias do APT iria requerer a linha : </simpara> <programlisting> Pin: release l=Debian </programlisting> </listitem> </varlistentry> </variablelist> </para> <para> Todos os arquivos <filename>Packages</filename> e <filename>Release</filename> obtidos das localidades listadas no arquivo &sources-list; s�o mantidos no diret�rio <filename>/var/lib/apt/lists</filename> ou no arquivo indicado pela vari�vel <literal/Dir::State::Lists/ no arquivo <filename/apt.conf/. Por exemplo, o arquivo <filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release</filename> cont�m o arquivo <filename>Release</filename> obtido do site <literal/debian.lcs.mit.edu/ para a arquitetura <literal/binary-i386/, arquivos do componente <literal/contrib/ da distribui��o <literal/unstable/. </para> </RefSect2> <RefSect2> <Title>Linhas Opcionais em um Registro de Prefer�ncias do APT</Title> <para> Cada registro em um arquivo de prefer�ncias do APT pode opcionalmente iniciar com uma ou mais linhas iniciadas com a palavra <literal/Explanation:/. Isto oferece um local para inserir coment�rios. </para> <para> A linha <literal/Pin-Priority:/ em cada registro de prefer�ncias do APT � opcional. Caso omitida, o APT atribuir� uma prioridade de 1 menos o �ltimo valor especificado em uma linha iniciando com <literal/Pin-Priority: release .../. </para> </RefSect2> </RefSect1> <RefSect1> <Title>Exemplos</Title> <RefSect2> <Title>Acompanhando a Stable</Title> <para> O arquivo de prefer�ncias do APT a seguir far� com que o APT atribua uma prioridade maior do que a prioridade padr�o (500) para todas as vers�es de pacotes pertencentes a distribui��o <literal/stable/ e uma prioridade proibitivamente baixa para vers�es de pacotes pertencentes a outras distribui��es <literal/Debian/. <programlisting> Explanation: Desinstala ou n�o instala nenhuma vers�o de pacote originada Explanation: do Debian a n�o ser aquelas na distribui��o stable Package: * Pin: release a=stable Pin-Priority: 900 Package: * Pin: release o=Debian Pin-Priority: -10 </programlisting> </para> <para> Com um arquivo &sources-list; apropriado e o arquivo de prefer�ncias acima, quaisquer um dos comandos a seguir far�o com que o APT atualize para a(s) ul�tma(s) vers�o(�es) <literal/stable/. <programlisting> apt-get install <replaceable>nome-pacote</replaceable> apt-get upgrade apt-get dist-upgrade </programlisting> </para> <para> O comando a seguir far� com que o APT atualize o pacote especificado para a �ltima vers�o da distribui��o <literal/testing/; o pacote n�o serpa atualizado novamente a menos que esse comando seja executado novamente. <programlisting> apt-get install <replaceable>pacote</replaceable>/testing </programlisting> </RefSect2> <RefSect2> <Title>Acompanhando a Testing</Title> <para> O arquivo de prefer�ncias do APT a seguir far� com que o APT atribua uma prioridade maior para vers�es de pacote da distribui��o <literal/testing/, uma prioridade menor para vers�es de pacotes da distribui��o <literal/unstable/ e uma prioridade proibitivamente baixa para vers�es de pacotes de outras distribui��es <literal/Debian/. <programlisting> Package: * Pin: release a=testing Pin-Priority: 900 Package: * Pin: release a=unstable Pin-Priority: 800 Package: * Pin: release o=Debian Pin-Priority: -10 </programlisting> </para> <para> Com um arquivo &sources-list; adequado e o arquivo de prefer�ncias do APT acima, quaisquer dos comandos a seguir far�o com que o APT atualize para a(s) �ltima(s) vers�o(�es) <literal/testing/. <programlisting> apt-get install <replaceable>nome-pacote</replaceable> apt-get upgrade apt-get dist-upgrade </programlisting> </para> <para> O comando a seguir far� com que o APT atualize o pacote especificado para a �ltima vers�o da distribui��o <literal/unstable/. Assim, o comando <command>apt-get upgrade</command> ir� atualizar o pacote para a vers�o <literal/testing/ mais recente caso essa vers�o seja mais recente que a vers�o instalada, caso n�o seja, o pacote ser� atualizado para a vers�o <literal/unstable/ mais recente caso a mesma seja mais recente que a vers�o instalada. <programlisting> apt-get install <replaceable>pacote</replaceable>/unstable </programlisting> </para> </RefSect2> </RefSect1> <RefSect1> <Title>Consulte tamb�m</Title> <para> &apt-get; &apt-cache; &apt-conf; &sources-list; </para> </RefSect1> &manbugs; &manauthor; &ptbr-mantranslator;