/[ddp]/manuals/trunk/apt-howto/apt-howto.es.sgml
ViewVC logotype

Contents of /manuals/trunk/apt-howto/apt-howto.es.sgml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6994 - (show annotations) (download) (as text)
Mon Nov 30 14:22:36 2009 UTC (3 years, 5 months ago) by osamu
File MIME type: text/x-sgml
File size: 63511 byte(s)
Mark Obsolete Documentation as such
1 <!doctype debiandoc system>
2 <debiandoc>
3 <book>
4
5 <title>APT HOWTO (Obsolete Documentation)</title>
6
7 <author>
8 <name>Gustavo Noronha Silva</name> <email>kov@debian.org</email>
9 </author>
10 <author>
11 <name>Hugo Mora</name> <email>h.mora@melix.com.mx</email>
12 </author>
13 <version>1.8.4 - April 2003</version>
14
15 <abstract> Este documento pretende proveer al usuario de conocimientos
16 sobre el programa para manejar la paquetería de Debian, el APT. El
17 propósito de este documento, es hacer la vida más fácil a los nuevos
18 usuarios de Debian y ayudar a aquellos que desean tener un conocimiento
19 más profundo de la administración de este sistema. Fue creado para el
20 proyecto Debian para mejorar y ayudar al soporte existente y también a los
21 usuarios de este sistema. </abstract>
22
23 <copyright>
24 <copyrightsummary>
25 Copyright &copy; 2001, 2002, 2003, 2004 Gustavo Noronha Silva
26 </copyrightsummary>
27 <copyrightsummary>
28 Traducción: Hugo Mora <email>h.mora@melix.com.mx</email>
29 </copyrightsummary>
30 <p>
31 This manual is free software; you may redistribute it and/or modify it
32 under the terms of the GNU General Public License as published by the
33 Free Software Foundation; either version 2, or (at your option) any
34 later version.
35 </p>
36
37 <p>
38 This is distributed in the hope that it will be useful, but without
39 any warranty; without even the implied warranty of merchantability or
40 fitness for a particular purpose. See the GNU General Public License
41 for more details.
42 </p>
43
44 <p>
45 A copy of the GNU General Public License is available as
46 /usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or
47 on the World Wide Web at the GNU General Public Licence. You can also
48 obtain it by writing to the Free Software Foundation, Inc., 59 Temple
49 Place - Suite 330, Boston, MA 02111-1307, USA.
50 </p>
51 </copyright>
52
53 <toc>
54
55 <chapt>Introducción
56 <p>
57 En el principio existían los .tar.gz. Los usuarios tenían que compilar
58 cada programa que quisieran usar en su sistema GNU/Linux. Cuando Debian fue
59 creado, fue imperante que el sistema incluyera un programa que se
60 encargara de manejar la paquetería instalada en la computadora.
61 Este programa se llamó <prgn>dpkg</prgn>. Así fue
62 como nació el primer "paquete" en el mundo GNU/Linux, aún antes de que
63 Red Hat decidiera crear su propio programa "rpm".
64 <p>
65 Rápidamente llegó un nuevo dilema a las mentes de los creadores de
66 GNU/Linux. Ellos necesitaban un modo fácil, rápido y eficiente de
67 instalar programas, que manejara automáticamente las dependencias y se
68 hiciera cargo de la configuración mientras se actualizan. Nuevamente
69 Debian fue pionero y creó el APT, Herramienta Avanzada de
70 Empaquetamiento (Advanced Packaging Tool), este programa ha sido adaptado por
71 Conectiva para usarse con rpm y ha sido adoptado por otras
72 distribuciones.
73 <p>
74 Este manual no cubre el apt-rpm, tal como se denomina a la adaptación de
75 Conectiva del APT, y tal vez algunos "parches" para este documento
76 aparecerán en algún tiempo.
77 <p>
78 Este capítulo está basado en la siguiente distribución de Debian <tt>Sarge</tt>.
79
80 </chapt>
81
82 <chapt id="basico">Configuración Básica
83
84 <sect id="sources.list">El archivo /etc/apt/sources.list
85 <p>
86 Como parte de su funcionamiento, APT utiliza un archivo que enlista las
87 "fuentes" en donde se encuentran los paquetes. Este archivo es:
88 <tt>/etc/apt/sources.list</tt>.
89 <p>
90 El contenido de este archivo, normalmente sigue este formato:
91
92 <p>
93 <example>
94 deb http://host/debian distribución sección1 sección2 sección3
95 deb-src http://host/debian distribución sección1 sección2 sección3
96 </example>
97
98 <p>
99 Por supuesto que los renglones arriba mencionados son ficticios y no
100 deberán ser usados. La primera palabra en cada línea, <tt>deb</tt> o
101 <tt>deb-src</tt>, indican el tipo del archivo: ya sea que contenga
102 paquetes binarios (<tt>deb</tt>), esto es, los paquetes pre-compilados que
103 normalmente se usan, o los paquetes fuente (<tt>deb-src</tt>), que son
104 los códigos originales, más el archivo de control de Debian (<tt>.dsc</tt>)
105 y el <tt>diff.gz</tt> que contienen los cambios necesarios para "debianizar"
106 el programa.
107 <p>
108 Generalmente se encuentra lo siguiente por defecto en el archivo sources.list:
109 <p>
110 <example>
111 # See sources.list(5) for more information, especialy
112 # Remember that you can only use http, ftp or file URIs
113 # CDROMs are managed through the apt-cdrom tool.
114 deb http://http.us.debian.org/debian stable main contrib non-free
115 deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
116 deb http://security.debian.org stable/updates main contrib non-free
117
118 # Uncomment if you want the apt-get source function to work
119 #deb-src http://http.us.debian.org/debian stable main contrib non-free
120 #deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
121 </example>
122
123 <p>
124 Éstas son las líneas necesarias para una instalación básica de Debian.
125 La primer línea <tt>deb</tt> apunta al archivo en el servidor oficial,
126 la segunda línea apunta hacia el archivo del servidor non-US y la
127 tercera línea apunta hacia el archivo del servidor de actualizaciones de
128 seguridad.
129 <p>
130 Las dos últimas líneas están deshabilitadas (con un "#" al inicio), así
131 que apt-get las ignora. Éstas son las líneas de <tt>deb-src</tt>, esto
132 es, apuntan hacia los paquetes fuente de Debian. Si frecuentemente
133 descarga paquetes fuente para probar o recompilar, habilítelas
134 (borrando el "#" al inicio de la línea).
135 <p>
136 El archivo <tt>/etc/apt/sources.list</tt> puede contener varios tipos de
137 líneas. APT sabe como interpretar líneas del tipo <tt>http</tt>,
138 <tt>ftp</tt>, <tt>file</tt> (archivos locales, p.e., un directorio que
139 contiene un CD-ROM) y <tt>ssh</tt>, según mis conocimientos.
140 <p>
141 No olvide ejecutar el comando <tt>apt-get update</tt> después de modificar
142 el archivo <tt>/etc/apt/sources.list</tt>. Debe hacer esto para permitir a APT
143 obtener la lista de paquetes de las fuentes que especificó.
144 </sect>
145
146 <sect id="dpkg-scanpackages">Cómo utilizar APT localmente
147 <p>
148 Algunas veces se pueden llegar a tener muchos paquetes .deb, los cuales
149 le gustaría instalar utilizando APT para que las dependencias fueran
150 resueltas automáticamente.
151 <p>
152 Para hacer esto, cree un directorio y coloque los .debs que quiera
153 señalar en el. Por ejemplo:
154 <p>
155 <example>
156 # mkdir /root/debs
157 </example>
158 <p>
159 Usted puede modificar la lista de definiciones en el archivo de control de
160 paquetes para su depósito con un archivo <tt>override</tt>.
161 Dentro de este archivo se pueden definir opciones para descartar las que
162 vienen por defecto en el paquete. Por ejemplo:
163 <example>
164 touch archivo
165 </example>
166 Dentro de este archivo se pueden definir opciones para descartar las que
167 vienen por defecto en el paquete. Por ejemplo:
168 <p>
169 <example>
170 paquete prioridad sección
171 </example>
172 <p>
173 Paquete es el nombre del paquete o programa, la prioridad puede ser
174 baja, media o alta y sección es la sección a donde pertenece. El nombre
175 de archivo no importa, deberá pasarlo como argumento después para <prgn>dbpkg-scanpackages
176 </prgn>. Si no desea escribir un archivo <tt>override</tt> entonces utilice <file>/dev/null</file> cuando ejecute <prgn>dbpkg-scanpackages</prgn>.
177 <p>
178 Continuando en el directorio /root se hace lo siguiente:
179 <p>
180 <example>
181 # dpkg-scanpackages debs <var>archivo</var> | gzip &gt; debs/Packages.gz
182 </example>
183 <p>
184 En la línea anterior, <var>archivo</var> es el archivo de <tt>override</tt>, el comando
185 genera un archivo <file>debs/Packages.gz</file> el cual contiene información acerca
186 de los paquetes, la cual es utilizada por APT. Para utilizar los
187 paquetes, finalmente agregue:
188 <p>
189 <example>
190 deb file:/root debs/
191 </example>
192 <p>
193 Después de eso, utilice los comandos de APT como siempre. También
194 podría generar un deposito de fuentes de paquetes. Para hacer eso,
195 haga exactamente lo mismo, pero recuerde que necesita tener los archivos
196 <tt>.orig.tar.gz</tt>, <tt>.dsc</tt> y <tt>.diff.gz</tt> en el
197 directorio y cambie <tt>Sources.gz</tt> por <tt>Packages.gz</tt>. El programa utilizado
198 también es diferente. Es el <prgn>dpkg-scansources</prgn>. El comando
199 completo se vería así:
200 <p>
201 <example>
202 # dpkg-scansources debs | gzip &gt; debs/Sources.gz
203 </example>
204 <p>
205 Observe que <prgn>dpkg-scansources</prgn> no necesita un archivo
206 <tt>override</tt>. La línea de sources.list es:
207 <example>
208 deb-src file:/root debs/
209 </example>
210 </sect>
211
212 <sect id="netselect">Decidiendo cual archivo sources.list es el mejor:
213 netselect, netselect-apt.
214 <p>
215 Una duda frecuente, principalmente entre los usuarios novatos es: "¿Cuál
216 servidor Debian debo incluir en el archivo <tt>sources.list</tt>?".
217 Hay muchas formas de decidir esto. Los expertos podrían tener un
218 script que determine el tiempo de un ping entre los distintos servidores.
219 Pero hay un programa que hace esto por nosotros: <strong>netselect</strong>.
220 <p>
221 Para instalar netselect, hágalo así:
222 <p>
223 <example>
224 # apt-get install netselect
225 </example>
226 <p>
227 Al ejecutarlo sin algún parámetro muestra la ayuda. Ejecutándolo con una
228 lista de servidores separada por un espacio, regresará una lista con
229 la puntuación del host. Esta lista considera el tiempo de ping y el número de
230 "saltos" (servidores por los cuales una petición de red debe pasar para
231 alcanzar su destino) y es inversamente proporcional a la velocidad de
232 descarga (la menor es la mejor). El servidor que regresa es aquel que
233 tiene una puntuación menor (se puede ver la lista completa
234 agregando la opción -vv). Ejemplo:
235 <p>
236 <example>
237 # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
238 365 ftp.debian.org.br
239 #
240 </example>
241 <p>
242 Esto significa que, de los servidores incluidos como parámetros en
243 netselect, <tt>ftp.debian.org.br</tt> fue el mejor, con una puntuación
244 de 365. (Atención, la puntuación depende de la localización geográfica,
245 la topología de red, la distancia entre la computadora y los servidores,
246 por lo tanto, dependiendo de la computadora en la que se ejecute el comando
247 podría ser otro el mejor servidor).
248 <p>
249 Ahora agregue el servidor más rápido encontrado por netselect en el
250 archivo <tt>/etc/apt/sources.list</tt> ( regresa a <ref
251 id="sources.list">) sigue los pasos en <ref id="apt-get">.
252 <p> <strong>Nota:</strong> la lista de los servidores se puede encontrar en
253 el archivo:<url id="http://www.debian.org/mirror/mirrors_full"
254 name="http://www.debian.org/mirror/mirrors_full">.
255 <p>
256 Iniciando con la versión 0.3, el paquete netselect incluye el script
257 <strong>netselect-apt</strong>, el cual realiza automáticamente el proceso mencionado
258 arriba. Sólo introduzca el árbol de la distribución como
259 parámetro (el cual, por defecto es "stable") y el archivo
260 <tt>sources.list</tt> será generado con los mejores servidores para main
261 y non-US y será guardado en el directorio actual. El siguiente ejemplo
262 genera un archivo sources.list de una distribución estable
263 <p>
264 <example>
265 # ls sources.list
266 ls: sources.list: File or directory not found
267 # netselect-apt stable
268 (...)
269 # ls -l sources.list
270 sources.list
271 #
272 </example>
273 <p>
274 <strong>Recuerde:</strong> el archivo <tt>sources.list</tt> se crea en
275 el directorio actual, y debe moverse al directorio <tt>/etc/apt</tt>
276 .
277 <p>
278 Después, siga los pasos de <ref id="apt-get">.
279 </sect>
280
281 <sect id="cdrom">Agregando un CD-ROM al archivo sources.list
282 <p>
283 Si prefiere utilizar el CD-ROM para instalar los paquetes o para actualizar
284 su sistema con APT, lo puede agregar a su archivo <tt>sources.list</tt>.
285 Para hacerlo, puede utilizar el programa <tt>apt-cdrom</tt> así:
286
287 <p>
288 <example>
289 # apt-cdrom add
290 </example>
291
292 <p>
293 con el CD-ROM de Debian en la unidad. Esta instrucción montará el CD-ROM,
294 y si es un CD válido de Debian buscará la información de los paquetes en
295 el CD. Si la configuración de su unidad de CD-ROM es inusual, tiene las
296 siguientes opciones:
297
298 <p>
299 <example>
300 -h - program help
301 -d directory - CD-ROM mount point
302 -r - Rename a recognized CD-ROM
303 -m - No mounting
304 -f - Fast mode, don't check package files
305 -a - Thorough scan mode
306 </example>
307
308 <p>
309 Por ejemplo:
310
311 <p>
312 <example>
313 # apt-cdrom -d /home/kov/mycdrom add
314 </example>
315
316 <p>
317 También puede identificar el CD-ROM sin agregarlo a su lista:
318
319 <p>
320 <example>
321 # apt-cdrom ident
322 </example>
323
324 <p>
325 Note que este programa sólo funcionará si el CD-ROM está configurado
326 adecuadamente en el archivo <tt>/etc/fstab</tt> de su sistema.
327
328 </sect>
329
330 </chapt>
331
332
333 <chapt id="apt-get">Trabajando con paquetes
334 <sect id="update">Actualizando la lista de paquetes disponibles
335 <p>
336 El sistema de paquetes utiliza una base de datos para llevar un
337 monitoreo de los paquetes instalados, los no instalados y cuales están
338 disponibles para su futura instalación. El programa <prgn>apt-get</prgn>
339 utiliza esta base de datos para averiguar como instalar los paquetes que
340 son requeridos por el usuario y para indagar sobre que paquetes
341 adicionales serán requeridos para que el paquete seleccionado funcione
342 correctamente.
343 <p>
344 Para actualizar la lista, se utiliza el comando <prgn>apt-get update</prgn>.
345 Este comando busca el paquete en los archivos listados en
346 <tt>/etc/apt/sources.list</tt>; para más información acerca de este
347 archivo, revise <ref id="sources.list">
348 <p>
349 Es una buena costumbre ejecutar este archivo regularmente para
350 mantenerse informado acerca de las posibilidades de actualización para
351 el sistema, particularmente las actualizaciones de seguridad.
352 </sect>
353
354 <sect id="install">Instalando paquetes
355 <p>
356 Finalmente, ¡el proceso que estaba esperando!. Con su archivo
357 sources.list listo y su lista de paquetes disponibles al día, todo lo
358 que necesita es ejecutar <tt>apt-get</tt> para tener el paquete que
359 quiera instalado. Por ejemplo, puede ejecutar:
360
361 <p>
362 <example>
363 # apt-get install xchat
364 </example>
365
366 <p>
367 APT buscará en su base de datos para encontrar la versión más reciente
368 del paquete y lo descargará del servidor correspondiente especificado en
369 <tt>sources.list</tt>. Si este paquete necesitara otro para funcionar --
370 como en este caso -- APT resolverá las dependencias e instalará los
371 paquetes necesarios. Observe este ejemplo:
372
373 <p>
374 <example>
375 # apt-get install nautilus
376 Reading Package Lists... Done
377 Building Dependency Tree... Done
378 The following extra packages will be installed:
379 bonobo libmedusa0 libnautilus0
380 The following NEW packages will be installed:
381 bonobo libmedusa0 libnautilus0 nautilus
382 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded.
383 Need to get 8329kB of archives. After unpacking 17.2MB will be used.
384 Do you want to continue? [Y/n]
385 </example>
386
387 <p>
388 El paquete <package>nautilus</package> necesita las librerías
389 compartidas mencionadas, así pues APT las descargará del servidor. Si
390 se especifican antes los nombres de esas librerías con el comando
391 <tt>apt-get</tt> APT no pregunta, si desea continuar o no;
392 supone automáticamente que se desean instalar esos paquetes.
393 <p>
394 Esto significa que APT sólo pregunta por confirmación cuando se van a
395 instalar paquetes que no fueron especificados en la línea de comando.
396 <p>
397 Las siguientes opciones de apt-get podrían ser útiles
398
399 <p>
400 <example>
401 -h This help text.
402 -d Download only - do NOT install or unpack archives
403 -f Attempt to continue if the integrity check fails
404 -s No-act. Perform ordering simulation
405 -y Assume Yes to all queries and do not prompt
406 -u Show a list of upgraded packages as well
407 </example>
408
409 <p>
410 Pueden seleccionarse varios paquetes para instalar en una sola
411 línea. Los archivos descargados son almacenados en el directorio
412 <tt>/var/cache/apt/archives</tt> para su instalación posterior.
413 <p>
414 Puede especificar también que paquetes serán eliminados en la misma
415 línea. Sólo agregue un "-" inmediatamente después del nombre del paquete
416 que quiere eliminar, por ejemplo:
417
418 <p>
419 <example>
420 # apt-get install nautilus gnome-panel-
421 Reading Package Lists... Done
422 Building Dependency Tree... Done
423 The following extra packages will be installed:
424 bonobo libmedusa0 libnautilus0
425 The following packages will be REMOVED:
426 gnome-applets gnome-panel gnome-panel-data gnome-session
427 The following NEW packages will be installed:
428 bonobo libmedusa0 libnautilus0 nautilus
429 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.
430 Need to get 8329kB of archives. After unpacking 2594kB will be used.
431 Do you want to continue? [Y/n]
432 </example>
433
434 <p>
435 Consulte la sección <ref id="remove"> para más detalles acerca de la
436 eliminación de paquetes.
437 <p>
438 Si de alguna forma daña un paquete instalado, o simplemente
439 desea reinstalar la versión más nueva disponible del paquete, puede utilizar
440 la opción <tt>--reinstall</tt> como se muestra:
441
442 <p>
443 <example>
444 # apt-get --reinstall install gdm
445 Reading Package Lists... Done
446 Building Dependency Tree... Done
447 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not
448 upgraded.
449 Need to get 0B/182kB of archives. After unpacking 0B will be used.
450 Do you want to continue? [Y/n]
451 </example>
452
453 <p>
454 La versión de APT al crear este documento es la 0.5.3, la cual forma
455 parte de la versión inestable de Debian (<tt>sid</tt>) al momento de
456 escribir. Si tiene esta versión instalada, tiene algunas opciones más a
457 su alcance: Puede utilizar un comando como <tt>apt-get install
458 paquete/distribución</tt> para instalar paquetes de una distribución en
459 específico, o <tt>apt-get install package=versión</tt>. por ejemplo:
460
461 <p>
462 <example>
463 # apt-get install nautilus/unstable
464 </example>
465
466 <p>
467 Esta instrucción instalará nautilus de la distribución inestable aun si
468 está utilizando la estable. Los valores aceptados para distribución son
469 <tt>stable</tt>, <tt>testing</tt> y <tt>unstable</tt>.
470 <p>
471 Podría preferir utilizar el modificador <tt>-t</tt> para especificar
472 una distribución destino, dejando a <prgn>apt-get</prgn> la oportunidad de
473 resolver a favor de esa distribución las dependencias.
474 <p>
475 <em>IMPORTANTE</em>: La versión "unstable" de Debian es la versión a la
476 cual se le agregan las nuevas versiones de los paquetes de Debian. Esta
477 distribución tiene todos los cambios por los cuales atraviesan muchos de
478 los paquetes, ya sean cambios pequeños o grandes que afecten a unos
479 paquetes o a todo el sistema. Por esta razón, esta versión de la
480 distribución <em>no</em> deberá ser usada por usuarios novatos o por
481 aquellos que necesitan de estabilidad.
482 <p>
483 La distribución "testing" (de prueba) es un poco mejor que la inestable,
484 con algo de estabilidad, pero para sistemas en producción la que se debe
485 usar es la estable.
486 </sect>
487
488 <sect id="remove">Eliminando paquetes
489 <p>
490 Si ya no necesita utilizar cierto paquete, puede eliminarlo de su
491 sistema utilizando APT. Para realizar esta tarea sólo escriba:
492 <tt>apt-get remove paquete</tt>.
493 por ejemplo:
494
495 <p>
496 <example>
497 # apt-get remove gnome-panel
498 Reading Package Lists... Done
499 Building Dependency Tree... Done
500 The following packages will be REMOVED:
501 gnome-applets gnome-panel gnome-panel-data gnome-session
502 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
503 Need to get 0B of archives. After unpacking 14.6MB will be freed.
504 Do you want to continue? [Y/n]
505 </example>
506
507 <p>
508 Como se puede apreciar en el ejemplo anterior, APT se hace cargo de
509 eliminar los paquetes dependientes del paquete eliminado. No
510 hay manera de eliminar un paquete utilizando APT sin eliminar los
511 paquetes que éste necesitaba.
512 <p>
513 Ejecutando <prgn>apt-get</prgn> como en el ejemplo causará que los
514 paquetes sean eliminados, pero sus archivos de configuración, si
515 existían, permanecerán intactos en el sistema.
516 Para una eliminación completa del paquete, ejecute:
517
518 <p>
519 <example>
520 # apt-get --purge remove gnome-panel
521 Reading Package Lists... Done
522 Building Dependency Tree... Done
523 The following packages will be REMOVED:
524 gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
525 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
526 Need to get 0B of archives. After unpacking 14.6MB will be freed.
527 Do you want to continue? [Y/n]
528 </example>
529
530 <p>
531 Observe el "*" después de los nombres. Esto indica que los archivos
532 de configuración de cada paquete serán eliminados también.
533 <p>
534 Al igual que en el caso de la <tt>instalación</tt>, puede utilizar un
535 símbolo con la opción de <tt>"remove"</tt> para invertir el significado
536 de un paquete en especial. En el caso de la eliminación, si agrega un
537 <tt>"+"</tt> después del nombre del paquete, el paquete será instalado
538 en vez de eliminarlo.
539
540 <p>
541 <example>
542 # apt-get --purge remove gnome-panel nautilus+
543 Reading Package Lists... Done
544 Building Dependency Tree... Done
545 The following extra packages will be installed:
546 bonobo libmedusa0 libnautilus0 nautilus
547 The following packages will be REMOVED:
548 gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
549 The following NEW packages will be installed:
550 bonobo libmedusa0 libnautilus0 nautilus
551 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.
552 Need to get 8329kB of archives. After unpacking 2594kB will be used.
553 Do you want to continue? [Y/n]
554 </example>
555
556 <p>
557 Observe que <prgn>apt-get</prgn> enlista los paquetes que serán
558 instalados aparte de los seleccionados (esto es, aquellos que su
559 instalación es necesaria para el funcionamiento de aquellos que son
560 seleccionados), aquellos que serán eliminados, y aquellos que serán
561 instalados (incluyendo los paquetes adicionales otra vez).
562 </sect>
563
564 <sect id="upgrade">Actualizando paquetes
565 <p>
566 Las actualizaciones de los paquetes son un gran éxito de APT. Pueden
567 realizarse con tan sólo un comando: <tt>apt-get upgrade</tt>. Puede
568 utilizar esa opción para actualizar los paquetes de la distribución
569 actual, o bien para actualizar a una nueva distribución, aunque el
570 comando <tt>apt-get dist-upgrade</tt> es una mejor opción; para mayor
571 información, consulte la sección <ref id="dist-upgrade">.
572 <p>
573 Es muy útil utilizar este comando con la opción <tt>-u</tt>. Esta opción
574 muestra la lista completa de paquetes que APT actualizará. Sin ella, se
575 estaría actualizando a ciegas. APT descargará las versiones más
576 recientes de cada paquete y las instalará de la manera más apropiada. Es
577 muy importante ejecutar siempre <tt>apt-get update</tt> antes de probar
578 esto. Consulte la sección <ref id="update">. Observe este ejemplo:
579
580 <p>
581 <example>
582 # apt-get -u upgrade
583 Reading Package Lists... Done
584 Building Dependency Tree... Done
585 The following packages have been kept back
586 cpp gcc lilo
587 The following packages will be upgraded
588 adduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indent
589 ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev
590 libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0
591 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc
592 29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
593 Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used.
594 Do you want to continue? [Y/n]
595 </example>
596
597 <p>
598 El proceso es muy fácil. Note que en las primeras líneas
599 <tt>apt-get</tt> menciona que algunos paquetes fueron <tt>conservados</tt>.
600 Esto significa que hay versiones nuevas de estos paquetes mas no fueron
601 actualizados por alguna razón. Algunas razones pueden ser dependencias
602 fallidas (el paquete del cual depende no tiene una versión nueva para
603 actualizar) o nuevas dependencias (el paquete ahora depende de nuevos
604 paquetes que la versión anterior).
605 <p>
606 No hay una solución clara para el primer caso. Para el segundo, es
607 suficiente con ejecutar <tt>apt-get install</tt> para el paquete
608 en cuestión, ya que con esto se descargarán las nuevas
609 dependencias. Una solución aún mejor es utilizar <tt>dist-upgrade</tt>.
610 Consulte la sección <ref id="dist-upgrade">.
611 </sect>
612
613 <sect id="dist-upgrade">Actualizando a una nueva versión
614 <p>
615 Esta opción de APT permite actualizar un sistema debian en un solo paso,
616 ya sea desde Internet o por CDs (comprado o descargado como una imagen
617 ISO).
618 <p>
619 También es utilizado cuando son realizados cambios entre las relaciones
620 de los paquetes instalados. Con <tt>apt-get upgrade</tt>, estos paquetes
621 permanecerían sin modificación (<tt>conservados</tt>).
622 <p>
623 Por ejemplo, supongamos que está utilizando la revisión 0 de la versión
624 estable de Debian, y compra el CD con la revisión 3. Puede utilizar APT
625 para actualizar el sistema al de el CD. Para lograr esto, utilice
626 <prgn>apt-cdrom</prgn> (consulte la sección <ref id="cdrom">) para
627 agregar el CD al archivo <tt>/etc/apt/sources.list</tt> y ejecute
628 <tt>apt-get dist-upgrade</tt>
629 <p>
630 Es muy importante mencionar que APT siempre busca la versión más
631 reciente de los paquetes. Así pues, si en su archivo
632 <tt>/etc/apt/sources.list</tt> se encontrara alguna otra fuente que
633 tuviera una versión más reciente que la del CD, APT descargaría esta
634 versión.
635 <p>
636 En el ejemplo mostrado en la sección <ref id="upgrade">, observamos que
637 algunos paquetes eran <tt>conservados</tt>. Solucionaremos este problema
638 ahora con el programa <tt>dist-upgrade</tt>:
639
640 <p>
641 <example>
642 # apt-get -u dist-upgrade
643 Reading Package Lists... Done
644 Building Dependency Tree... Done
645 Calculating Upgrade... Done
646 The following NEW packages will be installed:
647 cpp-2.95 cron exim gcc-2.95 libident libopenldap-runtime libopenldap1
648 libpcre2 logrotate mailx
649 The following packages have been kept back
650 lilo
651 The following packages will be upgraded
652 adduser ae apt autoconf cpp debhelper dpkg-dev esound esound-common ftp gcc
653 indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0
654 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev
655 liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit
656 procps psmisc
657 31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded.
658 Need to get 0B/7098kB of archives. After unpacking 3118kB will be used.
659 Do you want to continue? [Y/n]
660 </example>
661
662 <p>
663 Observe que los paquetes ahora serán actualizados, y que nuevos paquetes
664 serán instalados (las nuevas dependencias de los paquetes). Observe
665 también que lilo sigue siendo <tt>conservado</tt>. Probablemente tiene
666 un problema aún más serio que una dependencia. Esto lo podemos saber si
667 ejecutamos:
668
669 <p>
670 <example>
671 # apt-get -u install lilo
672 Reading Package Lists... Done
673 Building Dependency Tree... Done
674 The following extra packages will be installed:
675 cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2
676 logrotate mailx
677 The following packages will be REMOVED:
678 debconf-tiny
679 The following NEW packages will be installed:
680 cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2
681 logrotate mailx
682 The following packages will be upgraded
683 lilo
684 1 packages upgraded, 9 newly installed, 1 to remove and 31 not upgraded.
685 Need to get 225kB/1179kB of archives. After unpacking 2659kB will be used.
686 Do you want to continue? [Y/n]
687 </example>
688
689 <p>
690 Como se observa arriba, lilo tiene un nuevo conflicto con el paquete
691 <package>debconf-tiny</package>, lo cual significa que no podrá ser
692 instalado (o actualizado) sin antes eliminar debconf-tiny
693
694 <p>
695 Para saber que guarda o elimina un paquete puede utilizar:
696
697 <p>
698 <example>
699 # apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
700 Reading Package Lists... Done
701 Building Dependency Tree... Done
702 Calculating Upgrade... Starting
703 Starting 2
704 Investigating python1.5
705 Package python1.5 has broken dep on python1.5-base
706 Considering python1.5-base 0 as a solution to python1.5 0
707 Holding Back python1.5 rather than change python1.5-base
708 Investigating python1.5-dev
709 Package python1.5-dev has broken dep on python1.5
710 Considering python1.5 0 as a solution to python1.5-dev 0
711 Holding Back python1.5-dev rather than change python1.5
712 Try to Re-Instate python1.5-dev
713 Done
714 Done
715 The following packages have been kept back
716 gs python1.5-dev
717 0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
718 </example>
719
720 <p>
721 De este modo, es fácil notar que el paquete python1.5-dev no puede ser
722 instalado debido a una dependencia: python1.5.
723 </sect>
724
725 <sect id="clean">Eliminando archivos de paquete no utilizados: apt-get clean y autoclean.
726 <p>
727 Cuando APT instala un paquete, descarga los archivos necesarios de los servidores
728 enlistados en /etc/apt/sources, estos a su vez son guardados en un depósito local
729 (<file>/var/cache/apt/archives/</file>), y de ahí se procede con la instalación,
730 consulte <ref id="install">.
731 <p>
732 Con el tiempo el depósito puede crecer y ocupar mucho espacio en disco.
733 Afortunadamente, APT provee de herramientas para manejar su depósito local:
734 <prgn>apt-get</prgn>, <tt>clean</tt> y <tt>autoclean</tt>.
735 <p>
736 <prgn>apt-get clean</prgn> elimina todo excepto los archivos "lock" de
737 <file>/var/cache/apt/archives/</file> y
738 <file>/var/cache/apt/archives/partial/</file>. Así, si necesita reinstalar
739 un paquete APT, lo descargará de nueva cuenta.
740 <p>
741 <prgn>apt-get autoclean</prgn> elimina sólo los archivos que no pueden ser
742 descargados de nuevo.
743 <p>
744 EL siguiente ejemplo muestra como funciona la autolimpieza de apt-get:
745
746 <p>
747 <example>
748 # ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm*
749 logrotate_3.5.9-7_i386.deb
750 logrotate_3.5.9-8_i386.deb
751 gpm_1.19.6-11_i386.deb
752 </example>
753
754 <p>
755 En /var/cache/apt/archives hay dos archivos para el paquete
756 <package>logrotate</package>y uno para
757 <package>gpm</package>.
758
759 <p>
760 <example>
761 # apt-show-versions -p logrotate
762 logrotate/stable uptodate 3.5.9-8
763 # apt-show-versions -p gpm
764 gpm/stable upgradeable from 1.19.6-11 to 1.19.6-12
765 </example>
766
767 <p>
768 <prgn>apt-show-versions</prgn> muestra que
769 <file>logrotate_3.5.9-8_i386.deb</file> provee la versión actualizada de
770 of <package>logrotate</package>, así pues
771 <file>logrotate_3.5.9-7_i386.deb</file> es innecesario. También
772 <file>gpm_1.19.6-11_i386.deb</file> no es necesario debido a que una versión mas reciente
773 puede ser descargada.
774
775 <p>
776 <example>
777 # apt-get autoclean
778 Reading Package Lists... Done
779 Building Dependency Tree... Done
780 Del gpm 1.19.6-11 [145kB]
781 Del logrotate 3.5.9-7 [26.5kB]
782 </example>
783
784 <p>
785 Finalmente, <tt>apt-get autoclean</tt> elimina los archivos viejos.
786 Consulte <ref id="apt-show-versions"> para más información sobre
787 apt-show-versions.
788 </sect>
789 <sect id="dselect-upgrade">Utilizando APT con dselect
790 <p>
791 <prgn>dselect</prgn> es un programa que ayuda a los usuarios a
792 seleccionar paquetes de Debian para su instalación. Es considerado como
793 algo complicado y un poco aburrido, pero con practica podrás utilizar su
794 interfaz basada en consola-ncurses.
795 <p>
796 dselect se caracteriza por ser un programa que sabe como explotar
797 la capacidad de los paquetes Debian para "recomendar" y "sugerir"
798 otros paquetes para su instalación. Para utilizar el programa,
799 ejecuta <tt>'dselect'</tt> como root. Selecciona 'apt' como el método
800 de acceso. Esto no es verdaderamente necesario, pero si no está
801 utilizando un CD ROM y quiere descargar los paquetes de Internet,
802 la mejor opción es utilizar dselect.
803 <p>
804 Para entender mejor el uso de dselect, lea la
805 documentación que se encuentra en la página de Debian <url
806 id="http://www.debian.org/doc/ddp" name="http://www.debian.org/doc/ddp">
807 <p>
808 Después de seleccionar los paquetes con dselect, utilice:
809
810 <p>
811 <example>
812 # apt-get -u dselect-upgrade
813 </example>
814
815 <p>
816 Como en el siguiente ejemplo:
817
818 <p>
819 <example>
820 # apt-get -u dselect-upgrade
821 Reading Package Lists... Done
822 Building Dependency Tree... Done
823 The following packages will be REMOVED:
824 lbxproxy
825 The following NEW packages will be installed:
826 bonobo console-tools-libs cpp-3.0 enscript expat fingerd gcc-3.0
827 gcc-3.0-base icepref klogd libdigest-md5-perl libfnlib0 libft-perl
828 libgc5-dev libgcc300 libhtml-clean-perl libltdl0-dev libsasl-modules
829 libstdc++3.0 metamail nethack proftpd-doc psfontmgr python-newt talk tidy
830 util-linux-locales vacation xbill xplanet-images
831 The following packages will be upgraded
832 debian-policy
833 1 packages upgraded, 30 newly installed, 1 to remove and 0 not upgraded.
834 Need to get 7140kB of archives. After unpacking 16.3MB will be used.
835 Do you want to continue? [Y/n]
836 </example>
837
838 <p>
839 Compárelo con lo que pasa al ejecutar apt-get dist-upgrade en el mismo
840 sistema:
841
842 <p>
843 <example>
844 # apt-get -u dist-upgrade
845 Reading Package Lists... Done
846 Building Dependency Tree... Done
847 Calculating Upgrade... Done
848 The following packages will be upgraded
849 debian-policy
850 1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
851 Need to get 421kB of archives. After unpacking 25.6kB will be freed.
852 Do you want to continue? [Y/n]
853 </example>
854
855 <p>
856 Observe que muchos paquetes de arriba están siendo instalados porque
857 otros paquetes los sugirieron o recomendaron. Otros están siendo
858 instalados o eliminados (en el caso de lbxproxy, por ejemplo) por las
859 selecciones que realizamos por medio de la lista de dselect. Dselect
860 puede ser una herramienta poderosa al usarse en conjunción con APT.
861 </sect>
862 <sect id="default-version">Cómo mantener un sistema Híbrido.
863 <p>
864 La gente frecuentemente utiliza la distribución de prueba, ya que es
865 más estable que la inestable y más al día que la estable. Sin embargo,
866 los usuarios que quieren la última versión de algunos paquetes mas sin
867 embargo no confian en cambiar su sistema completo, tienen la opción de
868 utilizar una mezcla de un sistema prueba/inestable. Por otro lado, los
869 mas conservadores querrán utilizar una mezcla de estable/prueba.
870 <p>
871 Para hacer esto, agrega la siguiente línea en <file>/etc/apt/apt.conf</file>:
872
873 <p>
874 <example>
875 APT::Default-Release "testing";
876 </example>
877
878 <p>
879 Después, cuando esté listo a instalar paquetes de inestable, sólo
880 utilice el modificador <tt>-t</tt>:
881
882 <p>
883 <example>
884 # apt-get -t unstable install <var>packagename</var>
885 </example>
886
887 <p>
888 No olvide que para utilizar paquetes de una versión de Debian,
889 necesita agregar una línea de apt source a la lista en
890 <file>/etc/apt/sources</file>. En el ejemplo, necesitamos
891 líneas de <tt>unstable</tt>en vez de <tt>testing</tt>.
892
893 </sect>
894
895 <sect id="apt-show-versions">Cómo actualizar paquetes de versiónes específicas
896 de Debian.
897 <p>
898 <prgn>apt-show-versions</prgn> provee una amnera segura de actualizar
899 los sistemas híbridos sin tener que instalar más de la distribución
900 menos estable de la que tenían en mente. Por ejemplo, es posible
901 actualizar solo los paquetes inestables ejecutando:
902 <p>
903 <example>
904 # apt-get install `apt-show-versions -u -b | grep unstable`
905 </example>
906 </sect>
907
908 <sect id="pin">Cómo mantener versiones específicas de paquetes
909 instalados
910 <p>
911 Usted puede modificarle algo a un programa, y no tener tiempo o
912 no querer portar los cambios hacia una nueva versión del mismo.
913 O tal vez haya actualizado su sistema a la versión 3.0 de
914 Debian, pero quiere continuar con cierta versión de un programa de
915 Debian 2.2. Puede marcar la versión que tiene instalada así ésta no
916 será actualizada.
917 <p>
918 Utilizar este recurso es simple. Sólo se necesita editar el archivo
919 <tt>/etc/apt/preferences</tt>.
920 <p>
921 El formato es simple:
922 <p>
923 <example>
924 Package: &lt;package&gt;
925 Pin: &lt;pin definition&gt;
926 Pin-Priority: &lt;pin's priority&gt;
927 </example>
928 <p>
929 Por ejemplo, para mantener el paquete <package>sylpheed</package> el
930 cual he modificado para utilizar "reply-to-kist" en la versión 0.4.99,
931 agrego:
932 <p>
933 <example>
934 Package: sylpheed
935 Pin: version 0.4.99*
936 </example>
937 <p>
938 Observe que utilizo un <tt>*</tt> (asterisco). Este es un "comodín";
939 este específica que yo quiero que este "pin" sea válido para todas las
940 versiones que empiecen con 0.4.99. Esto es así porque Debian numera sus
941 paquetes con una "revisión Debian" y yo no quiero entorpecer la
942 instalación de esas revisiones. Así pues, las versiones 0.4.99-1 y
943 0.4.99-10 serán instaladas tan pronto como estén disponibles. Observe
944 que si modificó un programa no querrá hacer esto.
945 <p>
946 El campo <tt>Pin-Priority</tt> es opcional; si no se especifica algo,
947 el valor por omisión es 989
948 <p>
949 Veamos como trabajan las prioridades de "pin". Una prioridad menor que 0
950 indica que el paquete jamás deberá ser instalado. Prioridades de 0 a 100
951 denotan paquetes que no están instalados y que no hay versiones
952 disponibles. Esto no vendrá en el proceso de escoger-versión. La
953 prioridad de 100 es asignada a los paquetes instalados - para la versión
954 instalada de un paquete que será reemplazado por una versión diferente,
955 el reemplazo deberá tener una prioridad mayor a 100.
956 <p>
957 Prioridades mayores a 100 indican que el paquete debe ser instalado.
958 Típicamente, la versión instalada del paquete cambia sólo con las
959 actualizaciones a una versión más nueva. Cualquier prioridad entre
960 100 y 1000 (incluyéndolos) indica este comportamiento típico.
961 Un paquete con tal prioridad no se reemplazará por una versión anterior.
962 Por lo tanto, si yo tuviera sylpheed 0.5.3 instalado y definiera un pin
963 en sylpheed 0.4.99 con prioridad 999, el paquete 0.4.99 este <tt>no</tt>
964 se instalaría para satisfacer el pin. Para hacer un programa que pueda
965 reemplazarse por una versión anterior, necesita poseer una prioridad
966 mayor a 1000.
967 <p>
968 Un "pin" puede ser especificado en una <tt>versión</tt>, <tt>sub-versión</tt>
969 o al <tt>origen</tt> de un paquete.
970 <p>
971 Estableciendo un "pin" en una <tt>versión</tt>, como hemos visto,
972 pueden ser especificadas utilizando números y comodines,
973 varias versiones al mismo tiempo.
974 <!-- what's available? standard shell globs? ?*[] or more? -->
975 <p>
976 La opción <tt>"release"</tt> depende de el archivo "Release" de un
977 servidor o CD. Esta opción podría no ser de mucha utilidad si está
978 utilizando servidores que no ofrezcan este archivo. Puede ver los
979 contenidos de este archivo que tiene en <tt>/var/lib/apt/lists/</tt>.
980 Los parámetros para un "release" son:
981 <tt>a</tt> (archive), <tt>c</tt> (components), <tt>v</tt> (version),
982 <tt>o</tt> (origin) and <tt>l</tt> (label).
983 <p>
984 Un ejemplo:
985 <example>
986 Package: *
987 Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian
988 Pin-Priority: 1001
989 </example>
990 <p>
991 En este ejemplo, escogimos la versión 2.2* de Debian (la cual puede ser
992 2.2r2, 2.2r3 -- esto es un "point release" que típicamente incluyen
993 parches de seguridad y otras actualizaciones importantes), el servidor
994 <tt>estable</tt>, sección <tt>principal</tt> etiqueta y origen Debian.
995 Origen(o=) define quien creó el archivo "Release", la etiqueta (l=)
996 define el nombre d la distribución: Debian para Debian como si mismo y
997 "Progeny" para "Progeny", por ejemplo:
998 <p>
999 <example>
1000 $ cat
1001 /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_Relea
1002 se
1003 Archive: stable
1004 version: 2.2r3
1005 Component: main
1006 Origin: Debian
1007 Label: Debian
1008 Architecture: i386
1009 </example>
1010 </sect>
1011 <chapt id="helpers">Ayudantes muy útiles.
1012 <sect id="equivs">Cómo instalar paquetes localmente compilados: equivs
1013 <p>
1014 Algunas veces, la gente quiere utlilizar una versión específica de un programa
1015 disponible sólo en código fuente, sin un paquete Debian. Para el sistema
1016 de empaquetamiento puede ser problemático el hacer esto. Suponga que
1017 quiere compilar una nueva versión de un servidor de correo. Todo
1018 esta bien, pero varios paquetes de Debian dependen de un MTA (Mail
1019 Transport Agent). Desde que instala algo que compila, el sistema
1020 de adminstración de paquetes no sabe nada al respecto.
1021 <p>
1022 Aquí es donde <package>equivs</package> entra a la escena. Para
1023 utilzarlo, instale el paquete con ese nombre. Lo que hace es crear
1024 un paquete vacio que posibilita el satisfacer las dependencias, haciendo
1025 que el sistema de administración de paquetes crea que las dependencias
1026 han sido satisfechas.
1027 <p>
1028 Antes de iniciar, es bueno recordarle que hay maneras más seguras
1029 de compilar un programa que esta ya empaquetedo para Debian con
1030 diferentes opciones, y que no se debería utilizar equivs para
1031 reemplazar dependencias si no sabe lo que hace.
1032 Consulte <ref id="sourcehandling"> para mas informacion.
1033 <p>
1034 Continuemos con el ejemplo del MTA, usted acaba de instalar su
1035 <prgn>postfix</prgn> recién compilado y ahora instalará
1036 <package>mutt</package>. De repente descubre que <package>mutt</package>
1037 quiere instalar otro MTA. Pero usted ya tiene el suyo.
1038 <p>
1039 Vaya a algún directorio (<file>/tmp</file>, por ejemplo) y ejecute:
1040
1041 <p>
1042 <example>
1043 # equivs-control <var>name</var>
1044 </example>
1045
1046 <p>
1047 Sustituya <var>name</var> por el nombre del archivo de control que quiera
1048 crear. El archivo será creado como se muestra:
1049
1050 <p>
1051 <example>
1052 Section: misc
1053 Priority: optional
1054 Standards-Version: 3.0.1
1055
1056 Package: &lt;enter package name; defaults to equivs-dummy&gt;
1057 Version: &lt;enter version here; defaults to 1.0&gt;
1058 Maintainer: &lt;your name and email address; defaults to username&gt;
1059 Pre-Depends: &lt;packages&gt;
1060 Depends: &lt;packages&gt;
1061 Recommends: &lt;packages&gt;
1062 Suggests: &lt;package&gt;
1063 Provides: &lt;(virtual)package&gt;
1064 Architecture: all
1065 Copyright: &lt;copyright file; defaults to GPL2&gt;
1066 Changelog: &lt;changelog file; defaults to a generic changelog&gt;
1067 Readme: &lt;README.Debian file; defaults to a generic one&gt;
1068 Extra-Files: &lt;additional files for the doc directory, comma separated&gt;
1069 Description: &lt;short description; defaults to some wise words&gt;
1070 long description and info
1071 .
1072 segundo párrafo
1073 </example>
1074
1075 <p>
1076 Nosotros sólo necesitamos modificar esto para hacer lo que queremos.
1077 Eche un vistazo al formato del campo y a sus descripciones,
1078 no hay necesidad de explicar cada una, vamos a hacer lo que se necesita:
1079
1080 <p>
1081 <example>
1082 Section: misc
1083 Priority: optional
1084 Standards-Version: 3.0.1
1085
1086 Package: mta-local
1087 Provides: mail-transport-agent
1088 </example>
1089
1090 <p>
1091 Si, eso es todo. <package>mutt</package> depende de
1092 <package>mail-transport-agent</package>, este es un paquete
1093 virtual provisto por todos los MTA, yo podría simplemente
1094 nombrar el paquete <package>mail-transport-agent</package>,
1095 pero prefiero usar el esquema de paquetes virtuales, utilizando
1096 "Provides".
1097
1098 <p>
1099 Ahora sólo necesita crear el paquete:
1100
1101 <p>
1102 <example>
1103 # equivs-build <var>name</var>
1104
1105 dh_testdir
1106 touch build-stamp
1107 dh_testdir
1108 dh_testroot
1109 dh_clean -k
1110 # Add here commands to install the package into debian/tmp.
1111 touch install-stamp
1112 dh_testdir
1113 dh_testroot
1114 dh_installdocs
1115 dh_installchangelogs
1116 dh_compress
1117 dh_fixperms
1118 dh_installdeb
1119 dh_gencontrol
1120 dh_md5sums
1121 dh_builddeb
1122 dpkg-deb: building package `<var>name</var>' in `../<var>name</var>_1.0_all.deb'.
1123
1124 The package has been created.
1125 Attention, the package has been created in the current directory,
1126 </example>
1127
1128 <p>
1129 E instalar el <tt>.deb</tt> creado.
1130 <p>
1131 Como se puede ver, hay muchos usos para <prgn>equivs</prgn>. Se puede
1132 crear un paquete <tt>my-favorites</tt> el cual dependiera en los
1133 paquetes que usted usualmente instala, por ejemplo. Sólo deje volar
1134 su imaginación, pero sea cuidadoso.
1135
1136 <p>
1137 Es importante recalcar que hay archivos de control ejemplo en
1138 <file>/usr/share/doc/equivs/examples</file>. Revíselos.
1139 </sect>
1140
1141 <sect id="localepurge">Eliminando archivos de localización no utilizados: localepurge
1142 <p>
1143 Muchos Debianeros utilizan sólo un "locale". Un usuario Mexicano de Debian,
1144 por ejemplo, usualmente utulizará el <tt>es_MX</tt> todo el tiempo y
1145 no le importará el <tt>de</tt>.
1146 <p>
1147 <package>localepurge</package> es una herramienta muy útil para estos
1148 usuarios. Puede liberar mucho espacio dejando sólo instalados
1149 los que realmente necesita. Sólo ejecuta <tt>apt-get install localepurge</tt>.
1150
1151 <p>
1152 Es muy fácil de configurar, las preguntas de debconf guían al usuario
1153 en una configuración paso a paso. Sea cuidadoso en contestar la primer
1154 pregunta, una respuesta errónea podría eliminar todos los archivos de
1155 localización, aún aquellos que necesitas. La única manera de recuperarlos
1156 es reinstalando todos lo paquetes que los proveen.
1157 </sect>
1158
1159 <sect id="helper-show-versions">Cómo saber que paquetes pueden ser actualizados.
1160 <p>
1161 <prgn>apt-show-versions</prgn> es un programa que muestra que paquetes
1162 en el sistema pueden ser actualizados y mucha información mas.
1163 La opción <tt>-u</tt> muestra una lista de paquetes actualizables:
1164
1165 <p>
1166 <example>
1167 $ apt-show-versions -u
1168 libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
1169 libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
1170 </example>
1171 </sect>
1172
1173 </chapt>
1174
1175 <chapt id="search">Obteniendo información de los paquetes.
1176 <p>
1177 Existen algunas interfaces para el APT que lo hacen más fácil de
1178 utilizar.
1179 <p>
1180 Pero nuestro objetivo aquí es aprender a manejar APT puro. Así que, ¿cómo
1181 podría saber el nombre de un paquete que quiere instalar?
1182 <p>
1183 Tenemos numerosos recursos para realizar esa tarea. Empezaremos con
1184 <tt>apt-cache</tt>. Este programa es utilizado por APT para mantener su
1185 base de datos. Nosotros sólo veremos un poco de sus aplicaciones.
1186
1187 <sect id="cache">Descubriendo nombres de paquetes
1188 <p>
1189 Por ejemplo, supongamos que usted quiere revivir la gloria de la época
1190 dorada del Atari 2600. Quiere utilizar APT para instalar un emulador de
1191 Atari, y después bajar algunos juegos, puede hacer lo siguiente:
1192
1193 <p>
1194 <example>
1195 # apt-cache search atari
1196 atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
1197 circuslinux - The clowns are trying to pop balloons to score points!
1198 madbomber - A Kaboom! clone
1199 tcs - Character set translator.
1200 atari800 - Atari emulator for svgalib/X/curses
1201 stella - Atari 2600 Emulator for X windows
1202 xmess-x - X binaries for Multi-Emulator Super System
1203 </example>
1204
1205 <p>
1206 Hemos encontrado muchos paquetes relacionados con lo que estamos
1207 buscando. Para obtener mayor información de un paquete específico,
1208 hacemos lo siguiente:
1209
1210 <p>
1211 <example>
1212 # apt-cache show stella
1213 Package: stella
1214 Priority: extra
1215 Section: non-free/otherosfs
1216 Installed-Size: 830
1217 Maintainer: Tom Lear &lt;tom@trap.mtview.ca.us&gt;
1218 Architecture: i386
1219 version: 1.1-2
1220 Depends: libc6 (&gt;= 2.1), libstdc++2.10, xlib6g (&gt;= 3.3.5-1)
1221 Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
1222 Size: 483430
1223 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
1224 Description: Atari 2600 Emulator for X windows
1225 Stella is a portable emulator of the old Atari 2600 video-game console
1226 written in C++. You can play most Atari 2600 games with it. The latest
1227 news, code and binaries for Stella can be found at:
1228 http://www4.ncsu.edu/~bwmott/2600
1229 </example>
1230
1231 <p>
1232 En este desplegado tiene muchos detalles sobre paquete seleccionado
1233 así como su descripcion. Si el paquete estuviera instalado y hubiera una
1234 versión más reciente, vería la información de las dos versiones, por
1235 ejemplo:
1236
1237 <p>
1238 <example>
1239 # apt-cache show lilo
1240 Package: lilo
1241 Priority: important
1242 Section: base
1243 Installed-Size: 271
1244 Maintainer: Russell Coker &lt;russell@coker.com.au&gt;
1245 Architecture: i386
1246 version: 1:21.7-3
1247 Depends: libc6 (&gt;= 2.2.1-2), debconf (&gt;=0.2.26), logrotate
1248 Suggests: lilo-doc
1249 Conflicts: manpages (&lt;&lt;1.29-3)
1250 Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
1251 Size: 143052
1252 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
1253 Description: LInux LOader - The Classic OS loader can load Linux and others
1254 This Package contains lilo (the installer) and boot-record-images to
1255 install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
1256 .
1257 You can use Lilo to manage your Master Boot Record (with a simple text screen)
1258 or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
1259
1260 Package: lilo
1261 Status: install ok installed
1262 Priority: important
1263 Section: base
1264 Installed-Size: 190
1265 Maintainer: Vincent Renardias &lt;vincent@debian.org&gt;
1266 version: 1:21.4.3-2
1267 Depends: libc6 (&gt;= 2.1.2)
1268 Recommends: mbr
1269 Suggests: lilo-doc
1270 Description: LInux LOader - The Classic OS loader can load Linux and others
1271 This Package contains lilo (the installer) and boot-record-images to
1272 install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
1273 .
1274 You can use Lilo to manage your Master Boot Record (with a simple text screen)
1275 or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
1276 </example>
1277
1278 <p>
1279 Observe que el primero en la lista es el paquete disponible y el segundo
1280 es el instalado. Para mayor información sobre un paquete puede
1281 utilizar:
1282
1283 <p>
1284 <example>
1285 # apt-cache showpkg penguin-command
1286 Package: penguin-command
1287 versions:
1288 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_b
1289 inary-i386_Packages)(/var/lib/dpkg/status)
1290
1291 Reverse Depends:
1292 Dependencies:
1293 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0)
1294 libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3)
1295 Provides:
1296 1.4.5-1 -
1297 Reverse Provides:
1298 </example>
1299
1300 <p>
1301 Y sólo para saber de que paquetes depende:
1302
1303 <example>
1304 [root]@[/] # apt-cache depends penguin-command
1305 penguin-command
1306 Depends: libc6
1307 Depends: libpng2
1308 Depends: libsdl-mixer1.1
1309 Depends: libsdl1.1
1310 Depends: zlib1g
1311 </example>
1312
1313 <p>
1314 En resumen, tenemos una gran variedad de armas que podemos utilizar para
1315 averiguar el nombre del paquete que queramos.
1316 </sect>
1317
1318 <sect id="dpkg-search">Utilizando dpkg para conocer los nombres de
1319 paquetes
1320 <p>
1321 Uno de los caminos para conocer el nombre de un paquete es saber el
1322 nombre de un archivo importante que sea contenido por ese
1323 paquete. Por ejemplo, para conocer el paquete que ofrece ciertos
1324 archivos <tt>".h"</tt> puede ejecutar:
1325
1326 <p>
1327 <example>
1328 # dpkg -S stdio.h
1329 libc6-dev: /usr/include/stdio.h
1330 libc6-dev: /usr/include/bits/stdio.h
1331 perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
1332 </example>
1333
1334 <p>
1335 o:
1336
1337 <p>
1338 <example>
1339 # dpkg -S /usr/include/stdio.h
1340 libc6-dev: /usr/include/stdio.h
1341 </example>
1342
1343 <p>
1344 Para averiguar los nombres de paquetes instalados en su sistema, lo cual
1345 es útil por ejemplo, si planea limpiar su disco duro, ejecuta:
1346
1347 <p>
1348 <example>
1349 # dpkg -l | grep mozilla
1350 ii mozilla-browse 0.9.6-7 Mozilla Web Browser
1351 </example>
1352 <p>
1353 El problema con este comando radica en que puede "truncar" el nombre del
1354 programa. En el ejemplo anterior, el nombre completo del paquete es
1355 <tt>mozilla-browser</tt>. Para arreglar esto, puede utilizar las
1356 variables de ambiente <tt>COLUMNS</tt> de este modo:
1357
1358 <p>
1359 <example>
1360 [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
1361 ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser
1362 </example>
1363
1364 <p>
1365 O la descripción del paquete, o parte de ella para encontrar el nombre
1366 completo. Como se muestra a continuación:
1367
1368 <p>
1369 <example>
1370 # apt-cache search "Mozilla Web Browser"
1371 mozilla-browser - Mozilla Web Browser
1372 </example>
1373 </sect>
1374
1375 <sect id="auto-apt">Cómo instalar programas "en demanda"
1376 <p>
1377 Está compilando un programa, y de repente, boom!, hay un error porque
1378 necesita cierto archivo <tt>".h"</tt> que no tiene. El programa
1379 <prgn>auto-apt</prgn> puede salvarlo de esas situaciones. Le pregunta si
1380 instala ciertos programas que son requeridos, deteniendo los procesos
1381 relevantes y continuando una vez que el paquete es instalado.
1382 <p>
1383 Lo que hace, es básicamente ejecutar:
1384
1385 <p>
1386 <example>
1387 # auto-apt run command
1388 </example>
1389
1390 <p>
1391 Dónde "command" es el comando que al ser ejecutado, necesita ciertos
1392 archivos, por ejemplo:
1393
1394 <p>
1395 <example>
1396 # auto-apt run ./configure
1397 </example>
1398
1399 <p>
1400 Le preguntará entonces si desea instalar los paquetes necesarios y llamará
1401 automáticamente a apt-get. Si está en modo gráfico, una interfáz gráfica
1402 remplazará la interfáz de texto que aparece normalmente.
1403 <p>
1404 Auto-apt mantiene las bases de datos que necesitan estar al día
1405 para lograr que esto funcione. Esto se realiza con los comandos
1406 <tt>auto-apt update</tt>, <tt>auto-apt updatedb</tt> y
1407 <tt>auto-apt update-local</tt>.
1408 </sect>
1409 <sect id="apt-file">Cómo descubrir a que paquete peretenece un archivo.
1410 <p>
1411 Si usted quiere instalar un paquete, y no puede saber como se llama al
1412 buscarlo con <prgn>apt-cache</prgn>, pero sabe el nombre de un archivo
1413 que pertenece al paquete, entonces puede utilizar <prgn>apt-file</prgn> para
1414 encontrar el nombre del paquete que busca. Esto se hace de la siguiente manera:
1415
1416 <p>
1417 <example>
1418 $ apt-file search <var>filename</var>
1419 </example>
1420
1421 <p>
1422 Trabaja de manera similar a <tt>dpkg -S</tt>, pero tambien le muestra
1423 paquetes sin instalar que contengan ese archivo. Puede también ser utilizado
1424 para saber que paquetes contiene archivos de inclusión para la compilación de
1425 ciertos programas, aunque <prgn>auto-apt</prgn> es una mejor solución para
1426 estos casos, consulte <ref id="auto-apt">.
1427 <p>
1428 También puede enlistar el contenido de un paquete ejecutando:
1429
1430 <p>
1431 <example>
1432 $ apt-file list <var>packagename</var>
1433 </example>
1434
1435 <p>
1436 <prgn>apt-file</prgn> mantiene una base de datos sobre
1437 que archivos tiene cada paquete, tal como auto-apt lo hace
1438 y necesita estar al día. Esto se hace asi:
1439
1440 <example>
1441 # apt-file update
1442 </example>
1443
1444 <p>
1445 Por omisión, <prgn>apt-file</prgn> utiliza la misma base de datos
1446 que <prgn>auto-apt</prgn> utiliza, consulte <ref id="auto-apt">.
1447
1448 </sect>
1449
1450 <sect id="apt-listchanges">Cómo mantenerse informado de los cambios en
1451 los paquetes.
1452 <p>
1453 Cada paquete instala en su directorio de documentación
1454 (<tt>/usr/share/doc/packagename</tt>) un archivo llamado
1455 <tt>changelog.Debian.gz</tt> el cual contiene una lista de cambios
1456 realizados al paquete desde la última versión. Puede leer estos
1457 archivos con <tt>zless</tt>, por ejemplo, pero no es muy fácil estar
1458 buscando estos archivos después de una instalación de un sistema
1459 completo.
1460 <p>
1461 Existe una forma de automatizar esta tarea por medio de una herramienta
1462 llamada <prgn>apt-listchanges</prgn>. Para iniciar, primero necesita
1463 instalar el paquete <package>apt-listchanges</package>. Durante la
1464 instalación del paquete, Debconf lo configurará. Conteste a las
1465 preguntas sobre la configuración como desee.
1466 <p>
1467 La opción: "Apt-listchanges deberá ser automáticamente ejecutada por APT"
1468 esto es muy útil porque muestra los cambios que han sido hechos al paquete
1469 que está siendo instalado por apt durante una actualización y le deja
1470 analizarlos antes de continuar. La opción: "Debe apt-listchanges
1471 preguntar por autorización después de mostrar los cambios" es útil
1472 porque le pregunta si desea continuar la instalación después de leer
1473 los cambios. Si decide no continuar con la instalación apt-listchanges
1474 regresará con un error y apt abortará la instalación.
1475 <p>
1476 Después que apt-listchanges sea instalado, tan pronto como los paquetes
1477 sean descargados por apt, mostrará las listas de los cambios realizados
1478 a estos paquetes antes de instalarlos.
1479 </sect>
1480 </chapt>
1481
1482 <chapt id="sourcehandling">Trabajando con los paquetes fuente
1483 <sect id="source">Descargando los paquetes fuente
1484 <p>
1485 Es muy común en el mundo del software libre estudiar el código fuente
1486 o corregir código erróneo. Para lograr esto, necesita descargar el
1487 código fuente del programa. El sistema APT provee de una manera fácil de
1488 obtener código fuente de muchos programas contenidos en la distribución,
1489 incluyendo todos los archivos necesarios para crear un .deb para el
1490 programa.
1491 <p>
1492 Otro uso común de las fuentes de Debian es el de adaptar la versión más
1493 reciente de un programa, de la versión inestable. Compilar un programa
1494 en la versión estable generará .debs con las dependencias ajustadas para
1495 acoplarse a los paquetes en la distribución.
1496 <p>
1497 Para lograr esto una entrada <tt>deb-src</tt> en el archivo
1498 <tt>/etc/apt/sources.list</tt> debe apuntar hacia "unstable". Esta línea
1499 debe estar habilitada (sin comentar). Vea a la sección <ref
1500 id="sources.list">.
1501 <p>
1502 Para descargar un paquete fuente, haga lo siguiente:
1503
1504 <p>
1505 <example>
1506 $ apt-get source packagename
1507 </example>
1508 <p>
1509 Esto descargará tres archivos: un <tt>.orig.tar.gz</tt>, un
1510 <tt>.dsc</tt> y un <tt>.diff.gz</tt>. En el caso de paquetes especiales
1511 para Debian, el último de estos archivos no es descargado y el primero
1512 generalmente no tendrá el <tt>"orig"</tt> en el nombre.
1513 <p>
1514 El archivo <tt>.dsc</tt> es utilizado por dbpkg-source para descomprimir
1515 el paquete en el directorio <var>packagename-version</var>. Con cada
1516 paquete descargado existe un directorio <tt>debian/</tt> que contiene
1517 los archivos necesarios para crear un paquete .deb.
1518 <p>
1519 Para automáticamente compilar el paquete cuando está siendo descargado,
1520 sólo agrega <tt>-b</tt> a la línea de comando así.
1521
1522 <p>
1523 <example>
1524 $ apt-get -b source packagename
1525 </example>
1526
1527 <p>
1528 Si decide no crear el archivo .deb mientras descarga el paquete,
1529 puede crearlo después ejecutando:
1530
1531 <p>
1532 <example>
1533 $ dpkg-buildpackage -rfakeroot -uc -b
1534 </example>
1535
1536 en el directorio que se ha creado después de descargar el paquete.
1537 Para instalar el paquete que ha sido creado por los comandos
1538 anteriores, hay que usar el sistema de administración de paquetes
1539 directamente como aquí:
1540
1541 <p>
1542 <example>
1543 # dpkg -i <var>archivo.deb</var>
1544 </example>
1545
1546 <p>
1547 Hay una diferencia entre el <prgn>apt-get</prgn> <tt>source</tt>
1548 y las otras opciones. La opción <tt>source</tt> puede ser utilizada por
1549 usuarios normales, sin necesitar de poderes especiales de root. Los
1550 archivos son descargados a un directorio desde el cual el comando
1551 <tt>apt-get source package</tt> es ejecutado.
1552 </sect>
1553
1554 <sect id="build-dep">Paquetes necesarios para la compilación de un
1555 paquete fuente
1556 <p>
1557 Normalmente, librerías compartidas y ciertos encabezados son necesarios
1558 para lograr una compilación exitosa. Todos los paquetes fuente tienen un
1559 campo en sus archivos de control llamado "Build-Depends:" el cual indica
1560 que paquetes son necesarios adicionalmente para que el paquete sea
1561 compilado.
1562
1563 <p>
1564 APT tiene un método sencillo para descargar estos paquetes. Sólo ejecuta
1565 <tt>apt-get build-dep package</tt>, donde "package" es el nombre del
1566 paquete que vas a compilar, por ejemplo:
1567
1568 <p>
1569 <example>
1570 # apt-get build-dep gmc
1571 Reading Package Lists... Done
1572 Building Dependency Tree... Done
1573 The following NEW packages will be installed:
1574 comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
1575 libgpmg1-dev
1576 0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
1577 Need to get 1069kB of archives. After unpacking 3514kB will be used.
1578 Do you want to continue? [Y/n]
1579 </example>
1580
1581 <p>
1582 Los paquetes que serán instalados son los paquetes necesarios para que
1583 <package>gmc</package> sea compilado correctamente. Es importante
1584 observar que este comando no busca el paquete fuente del programa a ser
1585 compilado. Necesitará entonces ejecutar <tt>apt-get source</tt> para
1586 obtenerlo.
1587
1588 <p>
1589 Si quiere solamente saber cuales paquetes se requieren para crear un
1590 cierto paquete, hay una variante del comando <tt>apt-cache show</tt>
1591 (vease <ref id="search">, que enseña, entre otra información, la
1592 línea <tt>Build-Depends</tt> que enlista estos paquetes.
1593
1594 <p>
1595 <example>
1596 # apt-cache showsrc
1597 <var>package</var>
1598 </example>
1599
1600 </sect>
1601 </chapt>
1602
1603 <chapt id="erros">Cómo lidiar con los errores
1604 <sect id="erros-comuns">Errores comunes
1605 <p>
1606 Los errores siempre existirán, muchos de ellos son provocados por usuarios
1607 que no ponen atención. Lo siguiente es una lista de algunos de los
1608 errores más comunes y cómo corregirlos.
1609 <p>
1610 Si recibe un mensaje que se parece al mostrado a continuación cuando
1611 trate de ejecutar <tt>apt-get install package</tt>
1612
1613 <p>
1614 <example>
1615 Reading Package Lists... Done
1616 Building Dependency Tree... Done
1617 W: Couldn't stat source package list 'http://people.debian.org unstable/
1618 Packages'
1619 (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) - stat
1620 (2 No such file or directory)
1621 W: You may want to run apt-get update to correct these missing files
1622 E: Couldn't find package penguineyes
1623 </example>
1624
1625 <p>
1626 Olvidó ejecutar <tt>apt-get update</tt> después del último cambio al
1627 archivo <tt>/etc/apt/sources.list</tt>
1628 <p>
1629 Si el error se ve como este:
1630
1631 <p>
1632 <example>
1633 E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
1634 E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
1635 </example>
1636
1637 <p>
1638 Cuando ejecuta <tt>apt-get</tt> con cualquier opción diferente de
1639 <tt>source</tt> , es porque no tiene permisos de root, esto es, lo
1640 está ejecutando como usuario normal.
1641
1642 <p>
1643 Hay un error similar al de arriba el cual pasa cuando usted ejecuta dos
1644 copias de <prgn>apt-get</prgn> al mismo tiempo, o aun cuando trata de
1645 ejecutar <prgn>apt-get</prgn> mientras un proceso <prgn>dpkg</prgn> está
1646 activo. La única opción que puede ser utilizada simultáneamente es
1647 <tt>source</tt>.
1648 <p>
1649 Si una instalación se termina abruptamente en la mitad del proceso, y
1650 averigua que ya no es posible instalar o eliminar el paquete, intente
1651 con estos dos comandos:
1652
1653 <p>
1654 <example>
1655 # apt-get -f install
1656 # dpkg --configure -a
1657 </example>
1658
1659 <p>
1660 Después inténtalo nuevamente. Tal vez sea necesario ejecutar el segundo
1661 comando más de una vez. Ésta es una lección importante para aquellos
1662 aventureros que utilizan la versión "unstable".
1663
1664 <p>
1665 Si recibe el error "E: Dynamic MMap ran out of room" al ejecutar
1666 <tt>apt-get update</tt>, agregue la siguiente línea a
1667 <file>/etc/apt/apt.conf</file>:
1668
1669 <example>
1670 APT::Cache-Limit 10000000;
1671 </example>
1672
1673 </sect>
1674
1675 <sect id="help">¿Dónde puedo encontrar ayuda?
1676 <p>
1677 Si está lleno de dudas, consulte la extensa documentación
1678 disponible para el sistema de paquetes de Debian. <tt>--help</tt>,
1679 las páginas de manual (man-pages) que pueden ser una enorme ayuda ,
1680 así como la documentación incluida en los directorios de <tt>/usr/share/doc</tt>
1681 tal como <tt>/usr/share/doc/apt</tt>.
1682 <p>
1683 Si esta documentación no quita sus miedos, pregunte en las listas de
1684 correo de Debian. Puede encontrar más información sobre listas
1685 específicas en el sitio de Debian: <url id="http://www.debian.org"
1686 name="http://www.debian.org">.
1687 <p>
1688 Recuerde que estas listas y recursos sólo deberán ser utilizados por
1689 usuarios de Debian, usuarios de otros sistemas encontrarán un mejor
1690 soporte de las comunidades de sus distribuciones.
1691 </sect>
1692 </chapt>
1693 <chapt id="distros">Que distribuciónes soporten APT.
1694 <p>
1695 Estos son los nombres de algunas distribuciones que utilizan APT:
1696 <p>
1697 Debian GNU/Linux (<url id="http://www.debian.org" name="http://www.debian.org">)
1698 - Fue por esta distribución que APT fue desarrollado.
1699 <p>
1700 Conectiva (<url id="http://www.conectiva.com.br" name="http://www.conectiva.com.br">)
1701 - Esta fue la primer distribución en portar APT con rpm.
1702 <p>
1703 Mandrake (<url id="http://www.mandrake.com" name="http://www.mandrake.com">)
1704 <p>
1705 PLD (<url id="http://www.pld.org.pl" name="http://www.pld.org.pl">)
1706 <p>
1707 Vine (<url id="http://www.vinelinux.org" name="http://www.vinelinux.org">)
1708 <p>
1709 APT4RPM (<url id="http://apt4rpm.sf.net" name="http://apt4rpm.sf.net">)
1710 <p>
1711 Alt Linux (<url id="http://www.altlinux.ru/" name="http://www.altlinux.ru/">)
1712 <p>
1713 Red Hat (<url id="http://www.redhat.com/" name="http://www.redhat.com/">)
1714 <p>
1715 Sun Solaris (<url id="http://www.sun.com/" name="http://www.sun.com/">)
1716 <p>
1717 SuSE (<url id="http://www.suse.de/" name="http://www.suse.de/">)
1718 <p>
1719 Yellow Dog Linux (<url id="http://www.yellowdoglinux.com/"
1720 name="http://www.yellowdoglinux.com/">)
1721 </chapt>
1722 <chapt id="agradecimientos">Créditos
1723 <p>
1724 Gracias a mis amigos del proyecto Debian-BR, y a Debian mismo, quienes
1725 están ayudándome constantemente y siempre me dan fuerza para continuar
1726 trabajando para el beneficio de la humanidad, así como el ayudarme en
1727 mi meta de salvar al mundo. :)
1728 <p>
1729 También agradezco a la enorme ayuda brindada por CIPSGA a nuestro
1730 proyecto y a todos los proyectos libres que dan nuevas ideas.
1731 <p>
1732
1733 Y un agradecimiento especial a:
1734 <p>
1735 Yooseong Yang &lt;yooseong@debian.org&gt;
1736 <p>
1737 Michael Bramer &lt;grisu@debian.org&gt;
1738 <p>
1739 Bryan Stillwell &lt;bryan@bokeoa.com&gt;
1740 <p>
1741 Pawel Tecza &lt;pawel.tecza@poczta.fm&gt;
1742 <p>
1743 Hugo Mora &lt;h.mora@melix.com.mx&gt;
1744 <p>
1745 Luca Monducci &lt;luca.mo@tiscali.it&gt;
1746 <p>
1747 Tomohiro KUBOTA &lt;kubota@debian.org&gt;
1748 <p>
1749 Pablo Lorenzzoni &lt;spectra@debian.org&gt;
1750 <p>
1751 Steve Langasek &lt;vorlon@netexpress.net&gt;
1752 <p>
1753 Arnaldo Carvalho de Melo &lt;acme@conectiva.com.br&gt;
1754 <p>
1755 Erik Rossen &lt;rossen@freesurf.ch&gt;
1756 <p>
1757 Ross Boylan &lt;RossBoylan@stanfordalumni.org&gt;
1758 <p>
1759 Matt Kraai &lt;kraai@debian.org&gt;
1760 <p>
1761 Aaron M. Ucko &lt;ucko@debian.org&gt;
1762 <p>
1763 Jon Åslund &lt;d98-jas@nada.kth.se&gt;
1764 </chapt>
1765
1766 <chapt id="novas">Nuevas versiónes de este tutorial:
1767 <p>
1768 Este manual fue creado para el proyecto <url
1769 id="http://www.debian-br.org"
1770 name="Debian-BR">,con el propósito de ayudar al uso diario de Debian.
1771 <p>
1772 Nuevas versiónes de este documento estarán disponibles en la página de
1773 proyectos de documentos de Debian, en:
1774 <url id="http://www.debian.org/doc/ddp"
1775 name="http://www.debian.org/doc/ddp">.
1776 <p>
1777 Comentarios y críticas pueden ser enviadas directamente a mi por email
1778 en:
1779 <email>kov@debian.org</email>.
1780 </chapt>
1781
1782 </book>
1783
1784 </debiandoc>
1785

  ViewVC Help
Powered by ViewVC 1.1.5