<!-- -*- mode: sgml; mode: fold -*- -->
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [

<!ENTITY % aptent SYSTEM "apt.ent.es">
%aptent;

]>

<!-- 
(c) 2003 Software in the Public Interest
Esta traducci�n ha sido realizada por Rub�n Porras Campo <nahoo@inicia.es>
y revisada por Javier Fern�ndez-Sanguino <jfs@computer.org> 
Est� basada en la p�gina de manual original:
versi�n 1.5 del CVS de
/cvs/debian-doc/manpages/english/apt/apt_preferences.5.sgml
 -->

<refentry lang=es>
 &apt-docinfo;

 <refmeta>
   <refentrytitle>apt_preferences</>
   <manvolnum>5</>
 </refmeta>

 <!-- Man page title -->
 <refnamediv>
    <refname>apt_preferences</>
    <refpurpose>Fichero de preferencias de APT</>
 </refnamediv>

<RefSect1>
<Title>Descripci�n</Title>
<para>
El fichero de preferencias de APT <filename>/etc/apt/preferences</>
se puede usar para controlar las versiones de los paquetes seleccionados.
</para>

<para>Cuando el fichero &sources-list; contiene referencias a m�s de una
distribuci�n (por ejemplo, <literal>estable</literal> y <literal>pruebas
</literal>). APT asigna una prioridad a cada versi�n disponible. 
Limitado por las dependencias, <command>apt-get</command> selecciona la versi�n
con mayor prioridad.
</para>

<para>El fichero de preferencias de APT modifica las prioridades asignadas por
APT, dando control al usuario sobre que ejemplar se seleccionar� para la
instalaci�n.
</para>
<para>
Puede est�n disponibles varios ejemplares de la misma versi�n de un paquete
cuando el fichero &sources-list; contenga referencias a m�s de una fuente. En
este caso <command>apt-get</command> descarga el ejemplar que aparezca listado
primero en el fichero &sources-list;. El fichero de preferencias de APT no
modifica la elecci�n del ejemplar, s�lo la elecci�n de la versi�n.
</para>
<RefSect2><Title>�C�mo asigna APT las prioridades?</>

<para>Si no existe el fichero de preferencias o no hay ninguna entrada en �ste
que se pueda aplicar a una determinada versi�n, se asigna a la versi�n la 
prioridad de la distribuci�n a la que pertenece. Es posible seleccionar una 
distribuci�n, &gt;&gt;distribuci�n objetivo&lt;&lt; 
(n. t. del ingl�s <emphasis>target release</emphasis>), que recibe
una prioridad mayor que el resto. La distribuci�n objetivo se puede definir
en la l�nea de �rdenes al ejecutar <command>apt-get</command> o en el fichero
de configuraci�n de APT (<filename>/etc/apt/apt.conf</filename>).
Por ejemplo,
<programlisting>
<command>apt-get install -t testing <replaceable>paquete</replaceable></command>
</programlisting>
<programlisting>
APT::Default-Release "stable";
</programlisting>
</para>

<para>
Si se ha especificado una distribuci�n objetivo, APT usa el siguiente
algoritmo para establecer las prioridades de cada versi�n de un paquete. 
Asigna:

<variablelist>
<varlistentry>
<term>prioridad 100</term>
<listitem><simpara>a la versi�n instalada (si existe).</simpara></listitem>
</varlistentry>
<varlistentry>
<term>prioridad 500</term>
<listitem><simpara>a la versi�n que ni est� instalada ni pertenece a la 
distribuci�n objetivo.</simpara></listitem>
</varlistentry>
<varlistentry>
<term>prioridad 990</term>
<listitem><simpara>a las versiones que no est�n instaladas pero que
pertenecen a la distribuci�n objetivo.</simpara></listitem>
</varlistentry>
</variablelist>
</para>

<para>
Si no se especifica ninguna distribuci�n objetivo APT asigna prioridad 100 a
todas las versiones de los paquetes instalados y 500 al resto.
</para>

<para>
APT aplica las siguientes normas, expuestas por orden de precedencia, 
para determinar qu� versi�n del paquete debe instalar.

<itemizedlist>
<listitem><simpara>Nunca instalar una versi�n anterior de un paquete en lugar 
de la instalada a menos que la prioridad de la versi�n disponible supere 1000 
(Dese cuenta que ninguna de las prioridades que asigna APT por omisi�n superan
1000, �stas prioridades s�lo se pueden establecer mediante el fichero de 
preferencias. Tenga en consideraci�n que instalar una versi�n anterior del
paquete puede ser peligroso).
</simpara></listitem>
<listitem><simpara>Instalar la versi�n de mayor prioridad.
</simpara></listitem>
<listitem><simpara>Si dos o m�s versiones tienen la misma prioridad, 
instala la m�s reciente (esto es, la que tiene un n�mero de versi�n mayor).
</simpara></listitem>
<listitem><simpara>Si dos o m�s versiones tienen la misma prioridad y n�mero de
versi�n, pero o bien difieren en su meta-informaci�n o se ha proporcionado la
opci�n <literal/--reinstall/ se instala la que no est� instalada.
</simpara></listitem>
</itemizedlist>
</para>

<para>
T�picamente, la versi�n instalada del paquete (prioridad 100)
no es tan reciente como la disponible a trav�s de &sources-list; 
(prioridad 500 o 990). Entonces el paquete se actualizar� cuando se ejecute
<command>apt-get install <replaceable>alg�n-paquete</replaceable></command> o
<command>apt-get upgrade</command>.
</para>

<para>Rara vez la versi�n instalada de un paquete es <emphasis/m�s/ reciente
que cualquiera de las versiones disponibles. En �ste caso no se instalar� la
versi�n anterior del paquete cuando se ejecute <command>apt-get install
<replaceable>alg�n-paquete</replaceable></command> o <command>apt-get
upgrade</command>.
</para>

<para>
A veces la versi�n instalada de un paquete es m�s reciente que la 
versi�n perteneciente a la distribuci�n objetivo, pero no tan reciente como la 
versi�n de otra distribuci�n. Este tipo de paquetes se actualizar�n cuando se
ejecute <command>apt-get install
<replaceable>alg�n-paquete</replaceable></command> o <command>apt-get 
upgrade</command> porque al menos <emphasis/uno/ de los ejemplares disponibles
tiene una prioridad mayor que la versi�n instalada.
</para>

</RefSect2>

<RefSect2><Title>El efecto de las preferencias sobre APT</>

<para>
El fichero de preferencias de APT permite al administrador del sistema controlar
las asignaciones de prioridades. El fichero consiste en uno o m�s registros de
varias l�neas separados entre s� por espacios en blanco. Los registros pueden
tener una o dos formas: una espec�fica y otra general.
<itemizedlist>
<listitem>
<simpara>
La forma espec�fica asigna una prioridad ("Pin-Priority") a un paquete
concreto y se aplica a una versi�n o rango de versiones. Por ejemplo,
el siguiente registro asigna una prioridad alta a todas las versiones del
paquete <filename/perl/ cuyo n�mero de versi�n empiece con "<literal/5.8/".
</simpara>

<programlisting>
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
</programlisting>
</listitem>

<listitem><simpara>
La forma general asigna una prioridad a todas las versiones de los paquetes
en una distribuci�n (esto es, a todas las versiones de paquetes provenientes
de un fichero <filename/Release/), o a todos las versiones de un paquete
que provienen de un sitio concreto en internet, identificado por su
nombre de dominio.
</simpara>

<simpara>
Esta forma general del fichero de preferencias de APT s�lo se aplica a grupos de
paquetes. Por ejemplo, el siguiente registro hace que asigne una prioridad alta
a todas las versiones disponibles desde un sitio local.
</simpara>

<programlisting>
Package: *
Pin: origin ""
Pin-Priority: 999
</programlisting>

<simpara>
Un aviso acerca de la palabra clave usada en "<literal/origin/": no debe de
confundirse con el origen ("Origin:") de una distribuci�n tal y como se
especifica en el fichero <filename/Release/. Lo que sigue a "Origin:" en un
fichero <filename/Release/ no es una direcci�n de un sitio de internet, sino el
autor o el nombre del proveedor, tales como "Debian" o "Ximian".
</simpara>

<simpara>
El siguiente registro asigna una prioridad baja a todas las versiones de los
paquetes pertenecientes a cualquier distribuci�n que tenga como nombre de
Archivo "<literal/unstable/".
</simpara>

<programlisting>
Package: *
Pin: release a=unstable
Pin-Priority: 50
</programlisting>

<simpara>
El siguiente registro asigna una prioridad alta a todas las versiones de los
paquetes pertenecientes a la distribuci�n que tiene como nombre de Archivo
"<literal/stable/" y como n�mero de versi�n "<literal/3.0/".
</simpara>

<programlisting>
Package: *
Pin: release a=unstable, v=3.0
Pin-Priority: 50
</programlisting>
</listitem>
</itemizedlist>
</para>

</RefSect2>

<RefSect2>
<Title>�C�mo interpreta APT las prioridades?</Title>

<para>
Las prioridades (P) asignadas en el fichero de preferencias deben ser
n�meros enteros. Se interpretan (en general) del siguiente modo:

<variablelist>
<varlistentry>
<term>P &gt; 1000</term>
<listitem><simpara>la versi�n se instala incluso si es una versi�n
anterior a la instalada en el sistema.</simpara></listitem>
</varlistentry>
<varlistentry><term>990 &lt; P &lt;=1000</term>
<listitem><simpara>la versi�n se instala aunque no venga de la distribuci�n
objetivo, a menos que la versi�n instalada sea m�s reciente.
</simpara></listitem> 
</varlistentry>
<varlistentry><term>500 &lt; P &lt;=990</term>
<listitem><simpara>la versi�n se instala a menos que exista otro ejemplar
disponible perteneciente a la distribuci�n objetivo o bien la versi�n 
instalada sea m�s reciente.</simpara></listitem>
</varlistentry>
<varlistentry><term>100 &lt; P &lt;=500</term>
<listitem><simpara>la versi�n se instala a menos que exista un ejemplar
perteneciente a otra distribuci�n o la versi�n instalada sea m�s reciente.
</simpara></listitem>
<varlistentry><term>0 &lt; P &lt;=100</term>
<listitem><simpara>la versi�n s�lo se instala si no hay ninguna versi�n 
del paquete instalado.</simpara></listitem>
</varlistentry>
<varlistentry><term>P &lt; 0</term>
<listitem><simpara>la versi�n nunca se instala.
</simpara></listitem>
</varlistentry>
</variablelist>
</para>

<para>
Si uno de los registros de forma espec�fica descritos arriba coinciden con una
versi�n disponible de un paquete, el registro determina la prioridad de la
versi�n. En caso de que esto no sea as�, si cualquier n�mero de registros de
forma general coinciden con una versi�n, el primero determina la prioridad de la
versi�n del paquete.
</para>

<para>
Por ejemplo, suponga que el fichero de preferencias de APT 
contiene los tres registros antes mencionados:

<programlisting>
Package: perl
Pin: version 5.8*
Pin-Priority: 1001

Package: *
Pin: origin ""
Pin-Priority: 999

Package: *
Pin: release unstable
Pin-Priority: 50
</programlisting>

Entonces:

<itemizedlist>
<listitem><simpara>La versi�n m�s reciente disponible del paquete
<literal/perl/ se instala mientras que el n�mero de versi�n empieze 
con "<literal/5.8/". Si se encuentra disponible <emphasis/cualquier/ 
versi�n 5.8* de <literal/perl/ y la versi�n instalada es 5.9*, entonces 
se instala la versi�n5.8*.
</simpara></listitem><listitem><simpara>Cualquier otra versi�n de un paquete
distinto de 
<literal/perl/ disponible desde el sistema local tiene prioridad sobre el
resto de las versiones, incluso sobre los pertenecientes a la distribuci�n 
objetivo.
</simpara></listitem>
<listitem><simpara>Otras versiones que tengan un origen distinto al sistema
local listadas en &sources-list; y que pertenezcan a la distribuci�n
<literal/inestable/ s�lo se instalar�n si se seleccionan para instalar y no hay
ninguna versi�n del paquete instalado.
</simpara></listitem>
</itemizedlist>
</para>
</RefSect2>

<RefSect2>
<Title>Determinaci�n de la versi�n del paquete y de las propiedades de la
distribuci�n</Title>

<para>
Los recursos del fichero &sources-list; deben proporcionar los ficheros
<filename>Packages</filename> y <filename>Release</filename>. �stos describen
los paquetes disponibles en cada uno de los sitios.
</para>

<para>El fichero <filename>Packages</filename> se encuentra normalmente en
el directorio <filename>.../dists/<replaceable>nombre-dist</replaceable>/
<replaceable>componente</replaceable>/<replaceable>arquitectura</replaceable>
</filename>,
por ejemplo, <filename>.../dists/stable/main/binary-i386/Packages</filename>.
El fichero consiste en una serie de registros de varias l�neas, uno por cada
paquete disponible en ese directorio. Para montar un repositorio de APT s�lo
son significativas dos de las l�neas de cada registro:
<variablelist>
<varlistentry>
<term>La l�nea <literal/Package:/ </term>
<listitem><simpara>Indica el nombre del paquete</simpara></listitem>
</varlistentry>
<varlistentry>
<term>La l�nea <literal/Version:/ </term>
<listitem><simpara>Indica el n�mero de versi�n del paquete</simpara></listitem>
</varlistentry>
</variablelist>
</para>

<para>El fichero <filename>Release</filename> normalmente se encuentra en el
directorio 
<filename>.../dists/<replaceable>nombre-dist</replaceable></filename>,
por ejemplo, <filename>.../dists/stable/Release</filename>,
o <filename>.../dists/woody/Release</filename>.
El fichero consiste en registros de una sola l�nea que se aplican a 
<emphasis/todos/ los paquetes por debajo del directorio 
padre. Al contrario que el fichero <filename/Packages/, casi todas las 
l�neas del fichero <filename/Release/ son relevantes para las prioridades de 
APT: 

<variablelist>
<varlistentry>
<term>La l�nea <literal/Archive:/ </term>
<listitem><simpara>Indica el nombre del archivo al que pertenecen todos los
paquetes del �rbol de directorios. Por ejemplo, la l�nea 
"Archive: stable" especifica que todos los paquetes en el �rbol de 
directorios por debajo del directorio ra�z marcado en el fichero 
<filename/Release/ est�n en un archivo de <literal/estable/. Para
especificar una preferencia de acuerdo con este par�metro
tendr� que poner la siguiente l�nea en el fichero de preferencias de APT:
</simpara>
<programlisting>
Pin: release a=stable
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La l�nea <literal/Version:/ </term>
<listitem><simpara>Indica la versi�n de la distribuci�n. Por ejemplo, los 
paquetes en �rbol pueden pertenecer a la versi�n 3.0 de Debian GNU/Linux. Dese
cuenta de que <literal/pruebas/ e <literal/inestable/ no tienen una versi�n
asignada porque no han sido liberadas. Para especificar una preferencia de
acuerdo con este par�metro tendr� que poner una de las siguientes l�nea en el
fichero de preferencias de APT:
</simpara>

<programlisting>
Pin: release v=3.0
Pin: release a=stable, v=3.0
Pin: release 3.0
</programlisting>

</listitem>
</varlistentry>

<varlistentry>
<term>La l�nea <literal/Component:/ </term>
<listitem><simpara>Indica la licencia asociada a los paquetes en el �rbol 
de directorios correspondiente al fichero <filename/Release/. Por ejemplo, 
la l�nea <literal/Component: main/ especifica que todos los ejemplares son 
de la secci�n <literal/main/, �sto asegura que su licencia se ajusta a las
DFSG. Para especificar una preferencia de acuerdo con este par�metro tendr� 
que poner la siguiente l�nea en el fichero de preferencias de APT:
</simpara>
<programlisting>
Pin: release c=main
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La l�nea <literal/Origin:/ </term>
<listitem><simpara>Indica la procedencia de los paquetes en el �rbol de
directorios del fichero <filename/Release/. La procedencia m�s com�n es
<literal/Debian/. Para especificar una preferencia de acuerdo con este 
par�metro tendr� que poner la siguiente l�nea en el fichero de preferencias 
de APT:
</simpara>
<programlisting>
Pin: release o=Debian
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La l�nea <literal/Label:/ </term>
<listitem><simpara>nombra la etiqueta de los paquetes en los �rboles de
directorios del fichero <filename/Release/. Normalmente es
<literal/Debian/. Para especificar una preferencia de acuerdo con este par�metro
tendr� que poner la siguiente l�nea en el fichero de preferencias de APT:
</simpara>
<programlisting>
Pin: release l=Debian
</programlisting>
</listitem>
</varlistentry>
</variablelist>
</para>

<para>
Todos los ficheros <filename>Packages</filename> y <filename>Release</filename>
que se obtienen de los recursos de &sources-list; se guardan en el directorio
<filename>/var/lib/apt/lists</filename>, o en el directorio definido por la
variable <literal/Dir::State::Lists/, que puede estar definida en el fichero
<filename/apt.conf/. Por ejemplo, el fichero
<filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release
</filename> contiene los ficheros <filename>Release</filename> obtenidos de
<literal/debian.lcs.mit.edu/ para la arquitectura <literal/binary-i386/ de la
secci�n <literal/contrib/ de la distribuci�n <literal/inestable/.
</para>

</RefSect2>

<RefSect2>
<Title>L�neas opcionales en un registro de preferencias de APT</Title>

<para>
Cada registro en el fichero de preferencias de APT puede comenzar
con una o m�s l�neas que tengan como primera palabra
<literal/Explanation:/. �til para comentarios.
</para>

<para>
La l�nea <literal/Pin-Priority:/ es opcional. Si se omite, APT asigna
una prioridad un n�mero menor que la �ltima prioridad especificada en una l�nea
que empieze con <literal/Pin-Priority: release .../.
</para>
</RefSect2>
</RefSect1>

<RefSect1>
<Title>Ejemplos</Title>
<RefSect2>
<Title>Siguiendo la distribuci�n estable</Title>

<para>El siguiente fichero de preferencias de APT provoca que APT asigne una
prioridad mayor de la que asigna por omisi�n (500) a todos los ejemplares de
la distribuci�n <literal/estable/ y una prioridad m�s baja al resto de las
distribuciones <literal/Debian/.

<programlisting>
Explanation: Desinstalar o no instalar los ejemplares que no
Explanation: pertenecen a la distribuci�n estable
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10
</programlisting>
</para>

<para>
Con un fichero &sources-list; apropiado y el fichero de preferencias mostrado
anteriormente, cualquiera de las siguientes �rdenes de APT hace que o bien todo
el sistema o bien s�lo algunos paquetes se actualicen a la �ltima versi�n
<literal/estable/.

<programlisting>
apt-get install <replaceable>paquete</replaceable>
apt-get upgrade
apt-get dist-upgrade
</programlisting>
</para>

<para>La siguiente orden hace que APT actualice un paquete a la �ltima versi�n
de la distribuci�n de <literal/pruebas/, el paquete no se actualizar� de nuevo amenos que se ejecute de nuevo la orden.

<programlisting>
apt-get install <replaceable>paquete</replaceable>/testing
</programlisting>
</RefSect2>

<RefSect2>
<Title>Siguiendo la distribuci�n de pruebas o inestable</Title>

<para>El siguiente fichero de preferencias de APT provocar� que APT asigne
mayor prioridad a las versiones de la distribuci�n de <literal/pruebas/,
una prioridad menor a los paquetes de la distribuci�n <literal/inestable/,
y una prioridad prohibitiva a los paquetes de otras distribuciones de
<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>
Con un fichero &sources-list; adecuado y el fichero de preferencias anterior,
cualquiera de la �rdenes siguientes hace que APT actualice los paquetes a la
�ltima versi�n de la distribuci�n de <literal/pruebas/.

<programlisting>
apt-get install <replaceable>paquete</replaceable>
apt-get upgrade
apt-get dist-upgrade
</programlisting>
</para>

<para>La siguiente orden hace que APT actualice un determinado paquete a la
�ltima versi�n de la distribuci�n <literal/inestable/. M�s tarde,
<command>apt-get upgrade</command> actualizar�n el paquete a la �ltima versi�n
de la distribuci�n de <literal/pruebas/ si es m�s reciente que la versi�n
instalada, de otro modo, se instalar� la versi�n m�s reciente de la
distribuci�n<literal/inestable/ si es m�s reciente que la versi�n instalada.

<programlisting>
apt-get install <replaceable>paquete</replaceable>/unstable
</programlisting>
</para>

</RefSect2>
</RefSect1>

<RefSect1>
<Title>V�ase adem�s</>
<para>
&apt-get; &apt-cache; &apt-conf; &sources-list;
</para>
 </RefSect1>

 &manbugs;
 &manauthor;

  <refsect1>
    <title>TRADUCTOR</title>
    <para>
      Traducci�n de Rub�n Porras Campo
      &lt;debian-l10n-spanish@lists.debian.org&gt;
    </para>
  </refsect1>

</refentry>