<!-- -*- 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</> <para> O arquivo de prefer�ncias do APT <filename>/etc/apt/preferences</> pode ser usado para controlar qual vers�o de um pacote ser� selecionada 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>); al�m disso, diversas inst�ncias da mesma vers�o de um pacote podem estar dispon�veis quando o arquivo cont�m refer�ncias para mais de um site para download para uma distribui��o espec�fica. O APT atribui uma "prioridade" para cada inst�ncia que esteja dispon�vel. (No que se segue, uma "inst�ncia" ser� uma inst�ncia de um pacote que esteja dispon�vel de acordo com o arquivo &sources-list;.) Sujeito a obst�culos de depend�ncias, o <command>apt-get</command> instala a inst�ncia com a prioridade mais alta. Caso duas inst�ncias possuam a mesma prioridade o APT ir� instalar a inst�ncia mais recente, ou seja, aquela com o maior n�mero de vers�o. </para> <para>O arquivo de prefer�ncias do APT sobrep�e as prioridades que o APT atribui por padr�o a inst�ncias de pacote, dando portanto ao usu�rio controle sobre qual pacote � eslecionado para instala��o. </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" (target release), a qual 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> # Comando para instalar a vers�o <literal/testing/ do pacote <replaceable>algum-pacote</replaceable> <command>apt-get install -t testing <replaceable>algum-pacote</replaceable></command> </programlisting> <programlisting> # Configura��o que torna <literal/stable/ a vers�o alvo APT::Default-Release "stable"; </programlisting> </para> <para>Caso um avers�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��m 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 todos as inst�ncias de pacotes instalados e a prioridade 500 para todas as inst�ncias de pacotes n�o instalados. </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 "dowgrade" � 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.) </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, instalar a inst�ncia mais recente. </simpara></listitem> <listitem><simpara>Caso duas ou mais inst�ncias possuam o mesmo n�mero de vers�o, instalar a inst�ncia a qual a fonte esteja listada no &sources-list;. (A inst�ncia instalada, caso exista, � sempre a preferida em uma compara��o como essa a menos que o comando <command>apt-get --reinstall</command> seja usado.) </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 inst�ncias dispon�veis nas fontes listadas no arquivo &sources-list; (prioridade 500 ou 990). Ent�o o pacote ser� atualizado com o comando : <command>apt-get install</command> ou <command>apt-get dist-upgrade</command>. </para> <para>Raramente, a inst�ncia instalada de um pacote � <emphasis/mais/ recente do que qualquer uma das outras inst�ncias dispon�veis. O dowgrade do pacote n�o ser� feito. </para> <para>Algumas vezes a inst�ncia instalada de um pacote � mais recente que a vers�o que pertence a vers�ao alvo, mas n�o t�o recente quanto a vers�o que pertence a alguma outra distribui��o. Um pacote como esse ser� realmente atualizado, devido a pelo menos <emphasis/uma/ das inst�ncias dispon�veis possuir uma prioridade maior do que a inst�ncia 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 as prioridades. O arquivo consiste de um ou mais registro de m�ltiplas linhas separados por linhas em branco. Registros podem possuir uma ou duas formas, uma forma espec�fica e uma forma geral. <itemizedlist> <listitem> <simpara>A forma "espec�fica" pina uma prioridade (um "Pin-Priority") para um pacote e vers�o ou faixa de vers�o especificados. Por exemplo, o registro a seguir pina uma prioridade alta para todas as vers�es do pacote <filename/perl/ as quais o n�mero de vers�o inicia com <literal/5.8/". </simpara> <programlisting> Package: perl Pin: version 5.8* Pin-Priority: 1001 </programlisting> </listitem> <listitem><simpara> O forma "geral" pina uma prioridade para todas as vers�es de pacotes em uma dada distribui��o (isto �, para toda as vers�es de pacotes que est�o em um certo arquivo <filename/Release/) ou para todas as inst�ncias de pacotes que v�m de um site Internet em particular, como identificado por seu nome de dom�nio totalmente qualificado. </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 inst�ncias 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 n�o deve ser confundida com 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/ normalmente 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 faz com que o APT atribua uma prioridade baixa para todas as vers�es de pacote que perten�am a qualquer distribui��o a qual o nome do "Archive" (<literal/a/) seja "<literal/unstable/". </simpara> <programlisting> Package: * Pin: release a=unstable Pin-Priority: 50 </programlisting> <simpara>O registro a seguir faz com que o APT atribua uma prioridade alta para todas as vers�es de pacotes que pertencem a qualquer vers�o a qual o nome do reposit�rio ("Archive") (<literal/a/) seja "<literal/stable/" e a qual o n�mero de vers�o ("Version") (<literal/v/) 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 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 inst�ncia seja instalada mesmo caso a mesma n�o venha de uma vers�o alvo, a menos que a inst�ncia instalada seja mais recente </simpara></listitem> </varlistentry> <varlistentry><term>500 < P <=990</term> <listitem><simpara>faz com que uma inst�ncia seja instalada a menos que exista uma inst�ncia 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 inst�ncia seja instalada a menos que exista uma inst�ncia 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 inst�ncia seja instalada somente caso n�o exista uma inst�ncia instalada do pacote </simpara></listitem> </varlistentry> <varlistentry><term>P < 0</term> <listitem><simpara>impede a inst�ncia de ser instalada </simpara></listitem> </varlistentry> </variablelist> </para> <para>Caso um dos registro de forma espec�fica descritos acima caso com uma inst�ncia dispon�vel de pacote, tal registro determina a prioridade da inst�ncia. Caso dois registros de forma espec�fica casem com uma inst�ncia dispon�vel, o primeiro registro encontrado determina a prioridade. Caso dois registros de forma geral casem com uma inst�ncia dispon�vel, o primeiro registro encontrado determina a prioridade. </para> <para>Por exemplo, suponha que o arquivo de prefer�ncias do APT contenha os tr�s registrsos 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 inst�ncia de qualquer pacote que n�o <literal/perl/ que esteja dispon�vel no sistema local possui prioridade sobre outras inst�ncias, mesmo inst�ncias pertencentes a vers�o alvo. </simpara></listitem> <listitem><simpara>Uma inst�ncia de um pacote a qual a origem n�o seja o sistema local mas sim algum outro site listado n &sources-list; e a qual perten�a a uma distribui��o "<literal/unstable/" � instalada somente caso a mesma seja selecionada para instala��o e nenhuma inst�ncia do pacote j� esteja instalada. </simpara></listitem> </itemizedlist> </para> </RefSect2> <RefSect2><Title>Determina��o da Vers�o do Pacote e Propriedades de Distribui��o</Title> <para>As localidades listadas em um arquivo &sources-list; de um sistema devem fornecer arquivos <filename>Package</filename> e <filename>Release</filename> para descrever as inst�ncias de pacote dispon�veis nestas localidades. </para> <para>O arquivo <filename>Packages</filename> � nromalmente 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/todas/ as inst�ncias de pacote 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 as inst�ncias de pacote na �rvore de diret�rio pertencem. Por exemplo, a linha <literal/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, as inst�ncias de pacote na �rvore podem pertencer a distribui��o Debian GNU/Linux vers�o 3.0. Normalmente n�o existe n�mero de vers�o para as distribui��es "testing" e "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 as inst�ncias de pacote na �rvore de diret�rio do arquivo <filename/Release/. Por exemplo, a linha <literal/Component: main/ especifica que todas as inst�ncias 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 das inst�ncias de pacote 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>parece redundante. seems redundant. 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 uma oportunidade de se comentar sobre o registro. </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</> <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 todos as vers�es de pacote pertencentes a distribui��o <literal/stable/ e uma prioridade proibitivamente baixa para vers�es de pacotes pertencentes a outras distribui��es <literal/Debian/. <programlisting> Package: * Pin: release a=stable Pin-Priority: 900 Explanation: Desinstala ou n�o instala nenhuma inst�ncia originada do Explanation: Debian a n�o ser aquelas na distribui��o stable 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/; por�m, atualiza��es futuras n�o ir�o ocorrer automaticamente. <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 o arquivo de prefer�ncias o 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 dist-upgrade</command> e os outros <emphasis/far�o/ com que o pacote seja atualizado para a �ltima vers�o <literal/unstable/. <programlisting> apt-get install <replaceable>pacote</replaceable>/unstable </programlisting> </para> </RefSect2> </RefSect1> <RefSect1><Title>Consulte tamb�m</> <para> &apt-get; &apt-cache; &apt-conf; &sources-list; </RefSect1> &manbugs; &manauthor; &ptbr-mantranslator; </refentry>