summaryrefslogtreecommitdiff
path: root/doc/es/apt_preferences.es.5.sgml
blob: 5506a450ee498e910a2c8af143d3f99c616b83d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
<!-- -*- 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>